Back-End

QClass// import static com.~.~.~.~.QCustomer.*;QCustomer customer = QCustomer.customer;QCustomer customer = new QCustomer("myCustomer"); 실제 도메인 클래스의 질의 타입으로 정적으로 사용하거나 별칭을 붙여 사용할 수 있다. 쿼리 사용해 보기JPAQuery query = new JPAQuery(entityManager);HibernateQuery query = new HibernateQuery(session); JPA와 Hibernate API를 모두 지원하기 때문에 위와 같이 둘 다 사용 가능하고두 클래스 모두 JPQLQuery 인터페이스의 구현체다.QCustomer customer = QCusto..
· Back-End
개요우선 처음 사용해보고 느낀 점은 초기 셋팅할 때 햇갈린거만 빼면 생각보다 어렵지 않다는 것이다. 워낙 유명한 툴이다 보니 인터넷에 정보도 많고 다양한 플러그인과 GUI 덕분에 처음 사용해보는 사용자도어려움 없이 사용할 수 있는거 같다. 물론 어느 정도 스크립트를 작성하긴 해야한다. 아마 이전에 Github Actions를 사용해본 사람이라면 스크립트를 짜는 것이 어렵진 않을거다. CI/CD Pipeline당장은 EC2 인스턴스는 Jenkins 서버용과 SpringBoot 서버용으로 두 개만 사용 중이고프로젝트가 어느 정도 완성되어 가면 추후에 아키텍처를 수정할 생각이다. Jenkins는 도커를 사용해 환경을 구성하는게 편해 해당 방식을 사용했고이후에 도커 이미지 빌드와 푸쉬를 위해 Docker를 사용..
개요 스프링을 처음 배우면 누구나 IoC와 DI에 대해서 학습을 하지만 작성자처럼 개발자가 개발에만 집중할 수 있게 하기 위해 객체의 생성과 관계 설정 같은 번거로운 작업들을 컨테이너에 떠넘기는 것 혹은 이와 비슷하게 개념적으로만 그런가 보다 하고 넘어가는 일들이 많은 거 같다. (아님 말고...) 그래서 스터디에서 발표도 준비할 겸 토비의 스프링을 다시 정독하면서 DI가 무엇이고, 왜 필요한지, 적용함으로 얻을 수 있는 이득 등에 대해 최대한 간단하게 살펴보려 한다. (쓰다 보면 길어질 수도 있다) 객체 스스로 사용할 객체를 선택하고 생성하는 것이 맞을까? 클라이언트의 주문에 대한 처리를 담당하는 주문 서비스 객체의 관심사는 무엇일까라고 생각하면 당연히 요청에 맞게 주문을 처리하는 것이다. 하지만 만약..
개요 토비의 스프링을 다시 읽으며, 개념을 자세히 정리하기보다는 면접에 나올 만한 부분을 질의응답 형식으로 정리하려고 합니다. 책을 읽는 동안 지속적으로 업데이트되는 게시글입니다. 친절하게 설명을 해주시기 위해 분량이 많아진 것이라 생각하기 때문에, 입문자도 한 번 정도는 읽어보는 것도 좋다고 생각합니다. 내용의 순서는 가나다 순이 아닌 책의 흐름에 따라 진행됩니다. 전체 글 목록은 아래 페이지에서 확인할 수 있습니다. 토비의 스프링으로 면접 준비하기 질문 및 답변 1권의 3장인 템플릿 챕터에 대한 질답 목록입니다. 템플릿이란 변경이 거의 일어나지 않으며 일정한 패턴으로 유지되는 특성을 가진 부분을 자유롭게 변경되는 성질을 가진 부분으로부터 독립시켜 효과적으로 활용할 수 있도록 하는 방법이다. 즉, 고정..
개요 토비의 스프링을 다시 읽으며, 개념을 자세히 정리하기보다는 면접에 나올 만한 부분을 질의응답 형식으로 정리하려고 합니다. 책을 읽는 동안 지속적으로 업데이트되는 게시글입니다. 친절하게 설명을 해주시기 위해 분량이 많아진 것이라 생각하기 때문에, 입문자도 한 번 정도는 읽어보는 것도 좋다고 생각합니다. 내용의 순서는 가나다 순이 아닌 책의 흐름에 따라 진행됩니다. 전체 글 목록은 아래 페이지에서 확인할 수 있습니다. 토비의 스프링으로 면접 준비하기 질문 및 답변 1권의 2장인 테스트 챕터에 대한 질답 목록입니다. 테스트의 가치와 장점, 활용 전략, 스프링과의 관계에 대해 질답입니다. 테스트의 유용성 테스트는 코드가 예상하고 의도한 대로 정확히 동작하는지 확인하여 확신할 수 있게 해주는 작업으로, 이를..
개요 토비의 스프링을 다시 읽으며, 개념을 자세히 정리하기보다는 면접에 나올 만한 부분을 질의응답 형식으로 정리하려고 합니다. 친절하게 설명을 해주시기 위해 분량이 많아진 것이라 생각하기 때문에, 입문자도 한 번 정도는 읽어보는 것도 좋다고 생각합니다. 내용의 순서는 가나다 순이 아닌 책의 흐름에 따라 진행됩니다. 목차 [토비의 스프링으로 면접 준비하기] 1장:오브젝트와 의존관계 [토비의 스프링으로 면접 준비하기] 2장:테스트 [토비의 스프링으로 면접 준비하기] 3장:템플릿
문제 @Getter @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; } 위의 경우에는 name과 email 필드는 그저 평범한 문자열 데이터를 저장하는 역할만 수행하고 데이터의 검증이나 추가적인 처리는 포함하지 않고 있기 때문에 이를 위한 로직이 필요하다. 그렇다면 이러한 로직은 어디에 위치하는 것이 좋을지 생각해 보면 당장은 엔티티에 추가하는 것만 생각이 난다. 하지만 name과 email에 대한 로직이..
개요 토비의 스프링을 다시 읽으며, 개념을 자세히 정리하기보다는 면접에 나올 만한 부분을 질의응답 형식으로 정리하려고 합니다. 책을 읽는 동안 지속적으로 업데이트되는 게시글입니다. 친절하게 설명을 해주시기 위해 분량이 많아진 것이라 생각하기 때문에, 입문자도 한 번 정도는 읽어보는 것도 좋다고 생각합니다. 내용의 순서는 가나다 순이 아닌 책의 흐름에 따라 진행됩니다. 전체 글 목록은 아래 페이지에서 확인할 수 있습니다. 토비의 스프링으로 면접 준비하기 질문 및 답변 1권의 1장인 오브젝트와 의존관계 챕터에 대한 질답 목록입니다. 객체지향의 주요 개념과 디자인 패턴 그리고 IoC와 DI의 필요성과 원리 등에 대한 질답입니다. 관심사의 분리 원칙(Separation of Concerns, SoC) 변화는 보..
da9dac
'Back-End' 카테고리의 글 목록