오늘 새롭게 배운 혹은 삽질한 경험을 간단한 글들을 마크다운 문서로 정리 해 보자! start - Dec 12 2020
- 소프트웨어 생명주기(software life cycle)
- 소프트웨어 테스트
- 직렬화(serialization)
- 동시성 & 병렬성 - Concurrency & Parallelism
- IPC - Inter process Comunication
2. 자료구조
1. JAVA
- annotation
- String
- Enumeration 와 Iterator
- Exception
- Wrapper Class
- try-with-resources
- 향상된 for 루프 - enhanced for loop
- 직렬화 - Serialization
- 가변인수 - varargs
1-4. JAVA 동시성 프로그래밍
- volatile - 가시성 이슈를 해결하는 키워드
- 경쟁상태를 해결하는 방법
- synchronized 키워드
- Atomic API
- Mutex, Semaphore
- Thread Local - 스레드 로컬
1-8. Java EE
- 디자인패턴?
- 전략패턴(Strategy Pattern)
- 어뎁터패턴(Adepter Pattern)
- 싱글톤패턴(Singleton Pattern)
- 프록시패턴(Proxy Pattern)
- 데코레이터 패턴(Decorator Pattern)
- 옵저버 패턴(Observer Pattern)
2. Kotlin
- Kotlin 키워드
- 엘비스 연산자 - Elvis Operation
- Java의 try-with-resource와 Kotlin의 use function
- 식(expression)과 문(statement)
- Docker
- Docker install - ubuntu
- container, image 삭제
- container root로 접속하기
List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
해결
- Jenkins install - ubuntu
2. SpringBoot
- Command Object - 커맨드 객체
- HTTP POST 메서드와 Content-Type
feat. Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported
- SpringMVC는 XML, JSON과 같은 데이터를 어떻게 반환할까? (작성중)
부제: ViewResolver와 MessageConverter
- Bean Validator에서 검증에 실패한 필드를 @RestControllerAdvice를 통해 알려주자!
- Gradle
- (SpringBoot Project) Maven에서 Gradle로 Build Tool migration!
- build.gradle plugins{...}방식 에러해결
only buildscript {} and other plugins {} script blocks are
allowed before plugins {} blocks, no other statements are allowed
애러해결 - (SpringBoot Project) 빌드후 생기는 Jar파일의 이름을 변경하는 방법
- (SpringBoot Project) plan jar 파일
- Entity
- JPA Auditing으로 생성일/수정일 자동화
- 비관적/낙관적 락
- QueryDSL?
- 01 JPA?
- 02 영속성 컨텍스트?
- 03 플러시(flush)
- 04 준 영속 상태
- 05 DB schema 자동 생성
- 06 객체와 테이블 매핑
- 07 기본키 매핑
- 08 연관관계 맵핑(기초)
- 09 다양한 연관관계
- 10 연관관계 맵핑(고급) - 상속관계 매핑
- 11 @MappedSuperclass
- 12 Proxy
- 13 Eager/LAZY loading
- 14 영속성 전이(cascade)
- 15 고아 객체(ORPAN)
- 16 JPA 데이터 타입
- 벌크 연산