Java & Spring 63
- 빈 스코프
- 빈 생명주기 콜백
- 의존 관계 자동 주입
- 컴포넌트 스캔
- 싱글톤 컨테이너
- 스프링 컨테이너와 스프링 빈
- 스프링 핵심 원리 이해
- 객체 지향 설계와 스프링
- 함수형 프로그래밍
- 병렬 스트림
- default method
- Optional
- Stream API
- 메서드 참조
- 람다 vs 익명 클래스
- 함수형 인터페이스
- 람다
- 람다가 필요한 이유
- 어노테이션
- 리플렉션
- 채팅 프로그램
- 네트워크 프로그램
- I/O 기본
- 문자 인코딩
- 스레드 풀과 Executor 프레임워크
- 동시성 컬렉션
- CAS - 동기화와 원자적 연산
- 생산자 소비자 문제
- 고급 동기화 - concurrent.Lock
- 동기화 - synchronized
- 메모리 가시성
- 스레드 제어와 생명 주기
- 스레드 생성과 실행
- JVM 구조
- 프로세스와 스레드
- Comparable, Comparator
- Iterable, Iterator
- Stack, Queue, Deque
- Map
- Set
- 직접 구현하는 Hash Set
- equals and hashCode
- List
- 직접 구현하는 LinkedList
- 직접 구현하는 ArrayList
- 제네릭
- 예외 처리
- 중첩 클래스, 내부 클래스
- 날짜와 시간
- 열거형 - Enum
- 래퍼, Class, System, Math, Random
- String 클래스
- 불변 객체
- Object 클래스
- java.lang 패키지
- DateTime Format Response 일괄 적용
- URL과 매칭되는 Local Static Resources 읽어오기
- Jacoco와 Gradle을 사용한 테스트 커버리지 설정
- Spring Boot에서 Testcontainer 사용
- Spring Boot Swagger 3.0 사용법
- Logback으로 로그 관리하기
- 마이데이터 전체 연동 장애 해결 및 성능 개선
- Template Engine을 사용하여 PDF파일로 변환하기