목록분류 전체보기 (198)
밤빵's 개발일지
SOLID 원칙에 대한 이해와 중요성오늘 개발일지에는 객체 지향 설계의 핵심 원칙 중 하나인 SOLID 원칙에 대해 정리해봤다! 정재님과 기술매니저님께 종종 듣던거라 공부해야지하면서 미루다미루다 지금 정리하게되었다. SOLID 원칙은 유지보수성과 확장성이 뛰어난 소프트웨어를 설계하기 위한 다섯 가지의 원칙을 의미하고, 초보 개발자라도 반드시 이해하고 있어야 하는 중요한 개념이다. 각 원칙의 개념과 실제 개발에 어떻게 적용할 수 있는지에 대해 예시와 함께 정리했다! ▶ SOLID 원칙이란?SOLID는 객체 지향 프로그래밍에서 소프트웨어 설계를 유연하고 확장 가능하며 유지보수하기 쉽게 만드는 다섯 가지 원칙의 약어이다. 이 원칙은 견고하고 이해하기 쉬운 코드를 작성하는 데 도움을 준다. SOLID 원칙은 ..
▶ ORM (Object-Relational Mapping)에 대한 이해와 사용 이유오늘 개발일지에서는 Java 개발에서 자주 사용되는 ORM (Object-Relational Mapping)에 대해 공부하고, ORM이 제공하는 장점과 단점, 그리고 어떤 상황에서 ORM을 사용하는 것이 좋은지에 대해서 정리해봤다. 웹 미니프로젝트 때 테이블을 만들 줄 몰라서 엄청나게 고생했던 기억이있는데 요즘은 그래도 조금 배웠다고 데이터베이스 연결이 어렵지않다! ▶ ORM(Object-Relational Mapping)이란 ?ORM(Object-Relational Mapping)은 객체 지향 프로그래밍 언어의 객체와 관계형 데이터베이스의 테이블 간의 매핑을 자동으로 처리해주는 기술이다. Java와 같은 객체 지향 언..
Stream()을 사용하는 이유? 그냥 강사님이 쓰셨고, 그래서 써보니 간략하고 좋아서 였는데 이렇게 대답하면 안되는거였다.사실 이게 어떻게 돌아가는건지 자바에서 듣고오지않아서 정말 하나도 모르는 상태라 그냥 반복문인가? 정도로만 알고있었어서 알아두기위해 오늘 개발일지의 주제로 정했다. (사실 스트림은 비슷한 작업을 할 수 있는거지 완전히 같은 개념도 아니였다.)이번 개발일지에서는 Java 8에서 도입된 Stream을 사용하는 이유와 그 장점, 단점에 정리해봤다. BookService 클래스의 getAllBooks() 메서드에서는 Stream을 사용하여 책 목록을 정렬하고 변환하는 작업을 수행한다. Stream을 사용하는 이유와 그 유용성, 주의해야 할 점에 대해 이해해보려고한다! ▶ Stream이란 ?..
과제코드리뷰를 받으면서 /api를 두는 이유에 대해서 기술매니저님이 질문하셨는데 당당히 모른다고 했다. 진짜 잘 몰라서애매하게도 대답을 못 하던 그 상황이 다시 오는게 싫어서 오늘 개발일지 주제로 정했다!웹 애플리케이션에서 RESTful API를 설계할 때 URI에 /api를 두는 이유와 그 중요성에 대해 공부했다. RESTful 원칙에 따라 API를 설계하는 과정에서 /api 경로를 사용하는 것은 단순한 관습 이상의 의미를 가지고, 다양한 측면에서 고려할 가치가 있다! ▶ URI(Uniform Resource Identifier)의 역할URI(Uniform Resource Identifier)는 웹 상에서 자원을 식별하는 표준화된 주소 형식이다. URI는 RESTful API의 기본 요소로, 특정 자원..
웹미니프로젝트를 같이하던 팀장님이 발표를 하면서 가장 많이 한 말이 RESTful 하지않다는 말이였다. 그때 알아본다알아본다 하면서 잊고있다가 주특기 주차에 와서 RESTful의 의미를 알아두면 좋을 것이라는 기술매니저님의 조언에 공부를 할 수 밖에 없었다... 어차피 앞으로 계속 써야하는 단어같은데, 이 참에 공부해두고 개발자처럼 써먹어야겠다. REST(Representational State Transfer)는 웹 서비스의 설계 원칙 중 하나로, RESTful은 이러한 REST 원칙을 준수하여 설계된 웹 서비스를 의미한다. 웹 애플리케이션의 설계 시 RESTful은 클라이언트-서버 구조를 더 효율적이고 일관성 있게 만들어 주기 때문에, 이를 이해하는 것은 매우 중요하다. ▶ REST란? REST(R..
나는 그냥 람다식이 좋은건데..!! 기술 매니저님이 질문하실 때 마다 강사님이 썼기때문에? 그거아니여도 코드가 간결해져서 좋다! 그거 하나 뿐이라 얼마전에 람다식에 대해서 개발일지를 썼지만, 내가 이 질문을 받게 된 서비스 계층 코드를 보면서 특정 ID로 조회한 단일 항목에 대해서도 람다표현식을 사용한 부분에 대해 이유를 생각하면서 이해를 위해 정리를 시작했다. (사실 gpt도 나한테 람다표현식만 주구장창 보여주는 이유도 있다..!) ▶ 람다 표현식 (Lambda Expression) 이란? 람다 표현식은 Java 8에서 도입된 함수형 프로그래밍의 한 기능으로, 익명 함수(Anonymous Function)를 간결하게 표현하는 방법이다. 람다 표현식을 사용하면 불필요한 코드 작성 없이 함수형 인터페이스를..
java 4주차를 날려들은 덕에 나는 제네릭에 대해서 잘 모르고 지나왔다. 코드리뷰를 받으면서 제네릭 와일드카드를 썼는 데 그에 대한 질문에 나는 매니저님께 대답하지 못 했다. 사실 그냥 되라고 쓴거였는데 그런 이유를 말할 순 없으니까... 명확한 이유를 알고싶기도했고, 제네릭에 대해서도 알아둬야해서 오늘은 그 내용을 정리했다. 제네릭에서 다형성을 적용하면 더욱 유연하고 확장이 가능한 코드를 작성할 수 있고, 코드의 재사용성과 유지보수성을 극대화 할 수있다...? 제네릭은 java에서 데이터 타입의 안정성을 보장하고, 코드 재사용성을 높이기 위해 도입된 중요한 기능 중 하나다. 특히 와일드카드는 제네릭 타입을 유연하게 사용할 수 있게 해준다. (그저 제네릭을 정도만 기억하고 있던 나 반성해..!) ▶..
이번주도 이렇게 지나갔다..! 손으로 적어가면서 과제를 진행하고, 강의를 들으면서 바쁜시간을 보내면서, 정재님이 알려주신 코드를 한줄한줄 주석처리하며 공부하는 방법이 정말 큰 도움이 많이되었다. 지금도 설명을 잘 할 수 있는건 아니지만 그래도 코드를 보는게 많이 달라졌기 때문에 이번 주는 그 코드들을 보면서 공부하는 시간을 많이 가진 것 같다. 개발자가 되기 위한 공부를 하면서 이 공부 방식이 코드의 동작 방식을 이해하고, 코드의 의도, 설계 등을 학습하는데 도움이 되었다!이 공부 방법은 내가 성장해가는 과정에서 단순히 코드를 작성하는 능력이 아니라 코드가 어떻게 작동하는지 이해하며, 더 나은 코드를 설계하고 유지보수 할 수 있는 역량을 기르는 일 같다. 그리고 이 방법이 코드에 대한 이해도를 높이는 ..
기술매니저님의 코드리뷰를 들으면 엔티티에 @Setter어노테이션을 쓰지말라고 하시고선 이유는 절!대! 안알려주신다. 직접 알아보라고 하시지... 진짜 명확한 이유를 듣고싶은데, 그래도 이런거 찾아보는게 공부니까.. 근데 매니저님.. 진짜 왜 안 알려주시는거에요....? 엔티티 클래스는 데이터베이스와의 매핑을 통해 데이터를 영구적으로 저장하고 관리하는 중요한 역할을 하기때문에 설계 시 주의할 점이 많다. 왜 @Setter 어노테이션을 사용하는 것이 좋지않은 이유는 뭘까? ▶ @Setter 어노테이션이란? @Setter 어노테이션은 Lombok 라이브러리가 제공하는 기능 중 하나로, 클래스의 필드에 대한 setter 메서드를 자동으로 생성해준다. 이 어노테이션을 사용하면 코드가 간결해지고, 수동으로 메서드..
과제를 진행하면서 엔티티를 만들어 사용하면서도 gpt에 의존하다보니 그 역할에 대해서는 명확히 알 지 못해서, 물음표를 잔뜩 가지고 있었다. 예전에 주특기주차 갓 시작하고 기술매니저님께서 강의를 해주신적이있었는데 그땐 스프링을 듣기 시작하지도 못해서 하나도 못 알아들었다...! 그래서 지금이라도 개념을 정리하기로 했다. 과제에서 엔티티를 사용하여 데이터베이스와의 상호작용을 관리했다. 엔티티는 애플리케이션의 데이터 모델링에서 중요한 역할을 하고, 데이터베이스 테이블과 매핑되어 데이터를 영구적으로 저장하고 조작하는 데 사용된다. 오늘은 엔티티의 개념과 설계방법 그리고 실제 과제에서 사용했던 엔티티 예시를 통해서 엔티티의 중요성과 역할을 정리해보았다! ▶ 엔티티(Entity)란? → Entity는 데이터베이..