일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 스프링 핵심 원리 이해
- 7장 고급매핑
- 백준
- 20055 컨베이어 벨트 위의 로봇
- 백준 13460 Python
- 스프링 핵심 원리 - 기본편
- 스프링 핵심 원리
- Kotlin in action 5장
- Kotlin in action 3장
- 싱글톤 컨테이너
- 기능개발 python
- 코틀린인액션
- Kotlin in action 10장
- Kotlin
- Python
- 13460 구슬탈출 2
- KotlinInAction
- 코틀린
- Kotlin in action 6장
- 스프링 컨테이너와 스프링 빈
- 자바 ORM 표준 JPA 프로그래밍 7장
- spring
- 백준 20055 컨베이어 벨트 위의 로봇
- Kotlin In Action
- 20055
- 컨베이어 벨트 위의 로봇 Python
- 객체 지향 설계와 스프링
- 코틸린인액션
- kotlin in action 정리
- 고급매핑
- Today
- Total
목록개발/Spring (22)
기록하는 습관

공부해볼 디자인 패턴 템플릿 메서드 패턴 전략 패턴 템플릿 콜백 패턴 디자인패턴 공부시, 가장 중요한 것은 바로 디자인패턴의 의도이다. 의도 생각하면서 공부할 것. 1. 템플릿 메서드 패턴 정의: 작업에서 알고리즘의 골격을 정의하고 일부 단계를 하위 클래스로 연기합니다. 템플릿 메서드를 사용하면 하위 클래스가 알고리즘의 구조를 변경하지 않고도 알고리즘의 특정 단계를 재정의할 수 있습니다. [GOF] 변하는 것과, 변하지 않는 것을 분리 단일 책임 원칙을 잘 지킨 패턴 Single Responsibility Principle 단일 책임 원칙은, 변경이 있을 때 가장 잘 드러나게 된다. (SRP를 잘 지켰다면 변경 최소) 템플릿 패턴은 변경 지점을 하나로 모아, 변경에 쉽게 대처하도록 함. 추상 클래스에 공..
스프링 핵심 디자인 패턴 템플릿 메서드 패턴 전략 패턴 템플릿 콜백 패턴 프록시 패턴 데코레이터 패턴 데이터 동기화 방법 Parameter 동기화 개념: 데이터를 함수 파라미터로 넘겨주어 동기화 시킴. 문제점: 동기화를 위해 관련 method의 모든 parameter를 수정해야 한다. (만약, 인터페이스가 있다면 인터페이스까지 모두 고쳐야 함) Field 동기화 개념: 객체 내의 필드로 초기화 시키고 값을 변경하면서 동기화 시킴. 문제점: 동시성 문제가 발생. 필드 객체가 singleton으로 등록된 spring bean이기 때문이다. 이 인스턴스의 필드를 여러 thread가 동시에 접근하게 되기 때문에 문제가 발생한다. 싱글톤 객체의 필드를 사용하면서 동시성 문제를 해결하려면? -> ThreadLoca..
1. java version 업그레이드 java 1.8 → 11 변경 2. 컴파일 오류 수정 java를 인식하지 못하는 에러 → JAVA_HOME 변경으로 해결 5. 테스트 수행 build & 실행 확인 api 호출 정상 동작 확인
1. gradle 업그레이드 5.0-all 버전에서 7.4.1 버전으로 업데이트 2. springboot version 및 라이브러리 버전 변경 spring-boot-starter 2.1.6.RELEASE로 변경 라이브러리 업데이트 의존성(2.6.4) : https://docs.spring.io/spring-boot/docs/2.6.4/reference/html/dependency-versions.html#appendix.dependency-versions 3. 라이브러리 교체 및 주요 변경사항 수정 참고: 2.4 부터 변경된 구성파일 처리방식 살펴보기 2.1.6.RELEASE 2.6.4 참고 application.yml spring.profiles.include spring.profiles.includ..

1. gradle 업그레이드 3.4.1 버전에서 5.0-all 로 교체 2. 마이그레이션 지원 라이브러리 의존성 추가 runtime("org.springframework.boot:spring-boot-properties-migrator") 3. springboot version 및 라이브러리 버전 변경 spring-boot-starter 2.1.6.RELEASE로 변경 라이브러리 업데이트 의존성(2.1.x) : https://docs.spring.io/spring-boot/docs/2.1.x/reference/html/appendix-dependency-versions.html 4. 라이브러리 교체 및 주요 변경사항 수정 5. bean overriding 설정 변경 스프링부트 2.1 부터는 overrid..
개요 java version (1.8 → 11) springboot (1.5.4.RELEASE → 2.6.4) 2.6.4 버전인 이유: 안정된 버전 중, 최신 버전. release 시기: 2022. 2. 24 release note gradle 7.4 7.4 버전인 이유: 최신 버전 release note 전략 spring boot 공식 가이드대로 진행 springboot 1.5.4.RELEASE → 2.1 → 2.6.4 순서로 진행 절차1. gradle & springboot gradle 7.4 업그레이드 (springboot를 2.6.4로 upgrade 하면 gradle을 최소 6.8 이상으로 진행해야 함.) 마이그레이션 지원 라이브러리 의존성 추가 springboot 2.1 업그레이드 (2번째 cy..

classpath: 클래스나 jar 파일이 존재하는 위치 compile-time classpath: 에러 없이 컴파일을 하기 위해 필요한 클래스와 jar들의 위치를 나타낸다. run-time classpath: 애플리케이션이 정상적으로 실행하기 위해 필요한 클래스들과 jar들의 경로이다. api vs implementation api: 의존 라이브러리 수정시 본 모듈을 의존하고 있는 모듈들 또한 재빌드 A(api) ← B ← C 의 경우 C 에서 A 를 접근할 수 있음 A 수정시 B 와 C 모두 재빌드 implementaion: 의존 라이브러리 수정시 본 모듈까지만 재빌드 의존성 옵션들 implementation: 의존 라이브러리 수정시 본 모듈까지만 재빌드 본 모듈을 의존하는 모듈은 해당 라이브러리의 ..

war vs jar (참고: https://hye0-log.tistory.com/27) 기본적으로 JAR, WAR 모두 Java의 jar 옵션 (java -jar)을 이용해 생성된 압축(아카이브) 파일로, 애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성 파일 등)을 패키징 한 것 JAR (Java Archive) JAVA 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일 Class (JAVA리소스, 속성 파일), 라이브러리 파일을 포함함 JRE(JAVA Runtime Environment)만 있어도 실행 가능함 (java -jar 프로젝트네임.jar) 구성 BOOT-INF: 개발자가 직접 작성한 클래스 파일들(classes)과, 의존성 주입을 통한 jar 파일(lib)..