목록분류 전체보기 (168)
쌩로그
목록 포스팅 개요 본론 2-1. 컴포넌트 스캔과 의존관계 자동 주입 시작하기 2-2. 탐색 위치와 기본 스캔 대상 2-3. 필터 2-4. 중복 등록과 충돌 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section06 컴포넌트 스캔를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 컴포넌트 스캔과 의존관계 자동 주입 시작하기 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의 등을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다. 하지만 스프링은 설정 정보 없이 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다. 또한 의존관계도 자동으로 주입하는 @Autowired 기능도 제공한다. 이를 코드로 하면 다음과 같다. @Configu..
목록 포스팅 개요 본론 2-1. 웹 애플리케이션과 싱글톤 2-2. 싱글톤 패턴 2-3. 싱글톤 컨테이너 2-4. 싱글톤 방식의 주의점 2-5. @Configuration과 싱글톤 2-6. @Configuration과 바이트코드 조작의 마법 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section05 싱글톤 컨테이너를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 웹 애플리케이션과 싱글톤 싱글톤 싱글톤은 객체가 프로젝트 생명주기에서 단 하나의 인스턴스만 존재하는 패턴을 의미한다. 스프링의 태생은 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 웹이 아닌 애플리케이션 개발도 가능하다. 웹 애플리케이션은 ..
목록 포스팅 개요 본론 2-1. 샘플 프로젝트 소개 & 개발 환경 안내 2-2. 프로젝트 세팅 2-3. 수동테스트 VS 자동화된 테스트 2-4. JUnit5로 테스트하기 2-5. 테스트 케이스 세분화하기 2-6. 테스트하기 어려운 영역을 분리하기 요약 1. 포스팅 개요 인프런에서 박우빈님의 Practical Testing: 실용적인 테스트 가이드 강의 섹션 2 단위 테스트를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2-1. 샘플 프로젝트 소개 & 개발 환경 안내 샘플 프로젝트 주문에 초점을 맞춘 초간단 카페 키오스크 시스템을 개발한다. 개발 환경 인텔리제이와 Vim(plugin)을 사용한다. 2-2. 프로젝트 세팅 Lombok Spring Web Spring Data JPA H2 Database..
목록 포스팅 개요 본론 2-1. 스프링 컨테이너 생성 2-2. 컨테이너에 등록된 모든 빈 조회 2-3. 스프링 빈 조회 - 기본 2-4. 스프링 빈 조회 - 동일한 타입이 둘 이상 2-5. 스프링 빈 조회 - 상속 관계 2-6. BeanFactory와 ApplicationContext 2-7. 다양한 설정 형식 지원 - 자바 코드, XML 2-8. 스프링 빈 설정 메타 정보 - BeanDefinition 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section04 스프링 컨테이너와 스프링 빈를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 스프링 컨테이너 생성 스프링 컨테이너가 생성되는 과정은 다음과 같다. ApplicationContext applicat..
목록 포스팅 개요 본론 2-1. 새로운 할인 정책 개발 2-2. 새로운 할인 정책 적용과 문제점 2-3. 관심사의 분리 2-4. AppConfig 리팩터링 2-5. 새로운 구조와 할인 정책 적용 2-6. 좋은 객체 지향 설계의 5가지 원칙의 적용 2-7. IoC, DI, 그리고 컨테이너 2-8. 스프링으로 전환하기 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section03 스프링 핵심 원리 이해2 - 객체 지향 원리 적용를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 새로운 할인 정책 개발 이전 내용에서 할인 정책을 정액 할인을 적용했지만, 비율에 따라 할인되는 정률 할인 정책으로 변경되었다고 하자. 이미 정액 할인으로 적용하도록 했지만, 유연한 설계가..
포스팅 개요 포스팅 개요 본론 2-1. 객체지향 쿼리 소개 2-2. JPQL 2-3. 객체지향 쿼리 심화(일부) 요약 1. 포스팅 개요 스압에 주의하시고 , 필요한 키워드를 검색해서 보시는 걸 추천합니다. 해당 포스팅은 인프런에서 영한님의 JPA기본 강의에서 JPQL 파트와 해당 파트에 맞는 책의 챕터를 보고 학습한 내용을 요약 및 정리하는 포스팅입니다. 참고로 강의로는 Section 2개가 걸쳐이어지는 내용지만, 책으로는 1챕터로 구성되어있습니다. 본론에 3개의 부제가 있지만, 책에서는 Criteria, QueryDSL, 네이티브 SQL 등 3개의 부제가 더 있습니다. 3개 Section을 제외한 이유는 다음과 같습니다. Criteria는 강의 중 소개할 때만 잠깐 보여주고 넘어가서 제외했습니다. Qu..
인텔리제이 2023-03 버전부터 Presentation Assistant가 내장되었다. (인텔리제이만 그런런지 JetBrain의 모든 툴이 그런지는 모르겠다. 일단 인텔리제이를 한정해서 얘기한다.) 현재 일자(12월13일)부터 인텔리제이 라이센스에 당장 학생메일을 사용할 수 없어서 (대학 다니던 사촌동생이 졸업해서 그런지 인증이 안된다.) 무료 30일을 사용할 수 있는 평가판을 새로 다운로드 받아 사용중인데 인텔리제이를 쓰는 대부분의 사용자가 단축키가 출력되는 Presentation Assistant 플러그인을 사용할 것이다. (단축키 사용시 연두색으로 리눅스, 맥OS, 윈도우의 단축키 알려주는 그것이다.) 나도 이를 사용하려고 알아보던 중이었다. 대부분의 블로그 포스팅을 보면 인텔리제이의 플러그인에서..
목록 포스팅 개요 본론 2-1. 비즈니스 요구사항과 설계 2-2. 회원 도메인 설계 2-3. 회원 도메인 개발 2-4. 회원 도메인 실행과 테스트 2-5. 주문과 할인 도메인 설계 2-6. 주문과 할인 도메인 개발 2-7. 주문과 할인 도메인 실행과 테스트 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section02 스프링 핵심 원리 이해1 - 예제 만들기를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 비즈니스 요구사항과 설계 요구 사항은 이와 같다. 미확정 혹은 나중에 변경되는 부분은 인터페이스로 역할만 정해놔야 한다는 느낌을 받을 수 있다. 2-2. 회원 도메인 설계 회원 요구사항에 따라 다음과 같이 설계할 수 있다. 도메인 협력 관계는 기획자들도 볼..
목록 포스팅 개요 본론 2-1. 스프링 탄생 2-2. 스프링이란? 2-3. 좋은 객체 지향 프로그래밍이란? 2-4. 좋은 객체 지향 설계의 5가지 원칙(SOLID) 2-5. 객체 지향 설계와 스프링 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section01 객체 지향 설계와 스프링을 학습하며 정리한 포스팅이다. 2. 본론 2-1. 스프링 탄생 당시 Java 진영에서는 EJB(Enterprise Java Beans)라는 기술을 사용하고 있었다. 당시 EJB는 비용을 지불해서 사용했는데, 비용이 만만치 않았다. 그에 반해 실행시키는 데도 오래 걸리고, 개발을 할 때는 EJB에 의존적으로 개발을 해야했다. 그래서 당시에 순수한 자바로 돌아가자는 의미로 POJO(Plain Old Ja..
목록 포스팅 개요 본론 요약 1. 포스팅 개요 해당 포스팅은 영한님의 자바 강의 입문 중 스코프의 존재 이유에 대한 강의를 듣고, 그동안 내가 코딩했던 부분의 문제점을 생각해보고 정리해보는 포스팅이다. 2. 본론 Scope는 말 그대로 범위이다. 코드를 작성할 때 Scope를 사용하면서 범위 안에 선언한 변수는 지역 변수로 그 범위 내에서만 사용가능한 건 당연히 알고 있었다. 다음과 같은 코드가 있다고 생각해보자. (참고로 모든 코드는 main 메서드 안에 있다고 가정한다.) int x = 0; int temp = 0; if(x == 0) { temp = 1; sout(temp) // System.out.println()을 줄인 것 } sout(x)(그냥 아무 의미 없는 코드이다.) x가 0이면 temp..