목록분류 전체보기 (168)
쌩로그
목록 포스팅 개요 본론 2-1. Entity 노출 하지 않기 2-2. 데이터 한 번 더 감싸기 2-3. 양방향 연관관계에 있는 두 Entity 외부에 노출시 한 쪽에서 연관관계 끊기 2-4. fetch 전략은 무적권 LAZY 2-5. 엔티티 조회 2-6. 프로퍼티는 Getter, Setter를 의미 2-7. Entity를 DTO로 변환해서 반환할 때 2-8. Hibernate 6 최적화 2-9. 컬렉션 페이징 경고 원인 2-10. 페이징 한계돌파 2-11. DTO로 뽑을 때는 new Operation을 사용한다. 2-12. OSIV 2-13. 내가 고쳐야되는 것 2-14. 내가 해봐야 하는 것 요약 1. 포스팅 개요 인프런에서 영한님의 실전! 스프링 부트와 JPA 활용 2편을 학습하고 정리한 포스팅이다...
목록 포스팅 개요 본론 2-1. 웹 서버, 웹 애플리케이션 서버 2-2. 서블릿 2-3. 동시 요청 - 멀티 쓰레드 2-4. HTML, HTTP API, CSR, SSR 2-5. 자바 백엔드 웹 기술 역사 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 MVC 1편 Section 01 웹 애플리케이션 이해를 학습하며 정리한 포스팅이다. 2. 본론 2-1. 웹 서버, 웹 애플리케이션 서버 지금은 HTTP 시대라고 말할 정도로 서버간에 데이터를 주고 받을 때 대부분 HTTP 프로토콜 기반으로 동작한다. 웹 서버(Web Server) HTTP 기반으로 동작한다. 정적 리소스를 제공한다. HTML, CSS, JS, 이미지, 영상 등 NGINX 혹은 APACHE가 대표적이다. 웹 애플리케이션 서버(WAS - W..
목록 포스팅 개요 본론 2-1. 환경 변수 지정 2-2. yml에 지정 요약 1. 포스팅 개요 해당 포스팅은 스프링부트에서 yml에 환경변수를 지정하고, 출력 테스트를 진행할 때 @Value 애너테이션의 동작에 대한 간단한 개요를 정리하려고 한다. 2. 본론 스프링 시큐리티를 통해 JWT를 적용하려고 하다가. yml에서 환경변수의 값을 지정하고, 출력 테스트를 하려고 할 때 null이 출력 됨을 확인했다. 2-1. 환경 변수 지정 먼저 값을 지정하려면, 윈도우 기준으로 시작 - '환경 변수'를 검색하면 시스템 시스템 환경 변수 편집이 나온다. 거기서 환경 변수 - 시스템 변수 - 새로 만들기 를 통해서 다음과 같이 변수 이름과 값을 넣으면 된다. 리눅스로 편하게 지정하려면 다음 명령어를 사..
목록 포스팅 개요 본론 2-1. Controller 에서의 코드 수정 2-2. 도메인 모델 패턴 적용 2-3. 서비스 계층 Transaction 적용 변경 2-4. Cascade 적극 활용 요약 1. 포스팅 개요 해당 포스팅은 2023년 6월의 프로젝트에 대한 코드를 Refactoring한 과정입니다. 여행 동행 도메인에서 생성에 대한 부분을 Refactoring 한 과정입니다. 고칠 것이 많지만 일단은 생성 로직만 Refactoring 했습니다. 2. 본론 2-1. Controller 에서의 코드 수정 @Slf4j @RequiredArgsConstructor @Validated @RestController @RequestMapping("/v1/accompany") public class Accompan..
목록 포스팅 개요 본론 2-1. TDD: Test Driven Development 2-1-1. TDD: Test Driven Development 2-2. 테스트는 [ ]다. 2-2-1. 테스트는 [ ]다. 2-2-2. DisplayName을 섬세하게 2-2-3. BDD 스타일로 작성하기 요약 1. 포스팅 개요 인프런에서 박우빈님의 Practical Testing: 실용적인 테스트 가이드 강의 섹션 3,4 TDD: Test Driven Development와 테스트는 [ ]다.를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. TDD: Test Driven Development 2-1-1. TDD: Test Driven Development TDD 프로덕션 코드보다 테스트 코드를 ..
목록 포스팅 개요 본론 2-1. 생각 정리 2-2. 개념 정리 2-3. 이후에 어떻게 뭘 해볼지 요약 1. 포스팅 개요 인프런에서 영한님의 실전! 스프링 부트와 JPA 활용 1편과 책 내용을 보고 생각 정리와 개념 정리, 그리고 이후에 어떻게 뭘 해볼지에 대한 내용을 기록 한 포스팅이다. | 참고 책 내용과 강의내용의 차이점은 다음과 같다. 책 : 스프링 + Maven + JSP + JUnit4 강의 : 스프링 부트 2.1 + gradle + Thymeleaf + JUnit4 (번외로 나는 : 스프링 부트 3.x + gradle + Thymeleaf + JUnit5) 2. 본론 2-1. 생각 정리 먼저 여기서는 생각 정리도 생각 정리지만, 강의 중에 봤던 노하우와 팁, 그리고 내가 의문점을 가졌던 것, ..
목록 포스팅 개요 본론 2-1. 빈 스코프란? 2-2. 프로토타입 스코프 2-3. 프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점 2-4. 프로토타입 스코프 - 싱글톤 빈과 함께 사용시 Provider로 문제 2-5. 웹 스코프 2-6. request 스코프 예제 만들기 2-7. 스코프와 Provider 2-8. 스코프와 프록시 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section09 빈 스코프를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 빈 스코프란? 스프링 빈은 스프링 컨테이너의 시작과 함께 생성되어서 스프링 컨테이너가 종료될 때까지 유지된다는 것을 알아보았다. 이것은 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 때문이다. 스코프는 빈이..
목록 포스팅 개요 본론 2-1. 빈 생명주기 콜백 시작 2-2. 인터페이스 InitializingBean, DisposableBean 2-3. 빈 등록 초기화, 소멸 메서드 2-4. 애너테이션 @PostConstruct, @PreDestroy 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section08 빈 생명주기 콜백을 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 빈 생명주기 콜백 시작 실무에서 데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요하다. 스프링을 통해 이러한 초기화 작업과 종료 작업을 어떻게 ..
목록 포스팅 개요 본론 2-1. 다양한 의존관계 주입 방법 2-2. 옵션 처리 2-3. 생성자 주입을 선택하라! 2-4. 롬복과 최신 트렌드 2-5. 조회 빈이 2개 이상 - 문제 2-6. @Autowired 필드명, @Qualifier, @Primary 2-7. 애노테이션 직접 만들기 2-8. 조회한 빈이 모두 필요할 때, List, Map 2-9. 자동, 수동의 올바른 실무 운영 기준 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section07 의존관계 자동 주입을 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 다양한 의존관계 주입 방법 의존관계 주입은 크게 4가지 방법이 있다. 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입 ..
새로운 프로젝트를 생성하고, 템플릿 엔진을 thymeleaf로 설정했다. static과 templates 폴더의 차이가 뭐지? 했지만, 굳이 찾아보진 않았다. 차이는 정적이냐 (쪼금은 ) 동적이냐의 차이다. static은 소스가 변하지 않는 html, css, js 파일이 될 것이다. templates는 서버사이드 렌더링을 통해서 소스가 동적으로 바뀌는 템플릿 엔진 파일들을 넣어두는 것. 각 파일에는 다음과 같이 index.html과 hello.html이 있는데 index.html은 로컬 기준 8080포트로 들어가면 나오는 home 페이지의 경우이고, hello.html은 타임리프 탬플릿 엔진 파일이다. 서버 실행에따라 소스가 바뀌기 때문에, templates 디렉터리에 넣어놨다. static과 temp..