- JVM ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
- ์์ ํ(String Pool)์ GC๊ฐ ๋ ๊น?
- Garbage collection(1)
- Garbage collection(2)
- ์๊ฐ ๋ณต์ก๋์ BiG-O ํ๊ธฐ๋ฒ
- Call by value์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ณผ์
- JVM๊ณผ ํ๋์จ์ด ์ํคํ ์ณ ๊ฐ์ ๊ด๊ณ
- ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)๊ณผ GC ์ฑ๋ฅ ํ๋
- ํ์ค ์ ์ถ๋ ฅ์คํธ๋ฆผ
- ๋ฐ์ดํธ ๋จ์ ์ ์ถ๋ ฅ ์คํธ๋ฆผ
- ๋ฌธ์ ๋จ์ ์ ์ถ๋ ฅ ์คํธ๋ฆผ, ๊ทธ ์ธ ์ ์ถ๋ ฅ ์คํธ๋ฆผ
- ๋ณด์กฐ ์คํธ๋ฆผ
- Serializable๊ณผ NIO
- Serializable, ๋ง์ปค ์ธํฐํ์ด์ค
- Collection
- ArrayList ๊น์ ๋ณต์ฌ, ์์ ๋ณต์ฌ
- ArrayList๋ ์ด๋ป๊ฒ ๋์ ์ผ๋ก ์ฌ์ด์ฆ๊ฐ ๋์ด๋๋๊ฐ? add() flow(๋์ ๋ฐฉ์)
- PriorityQueue(์ฐ์ ์์ ํ)์ ์ฉ๋ ๋ฐ ๋์๋ฐฉ์
- ConcurrentHashMap
- ์ผ๊ธ ์ปฌ๋ ์
- ArrayDeque
- ๋ธ๋กํน ํ(Blocking Queues)
- ์๋ฐ ๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ - ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ค์์ฑ (1)
- ์๋ฐ ๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ - ์ค๋ ๋ ์์ ์ฑ(Thread Safe) (2)
- ์ฐ๋ ๋
- ๋ฉํฐ ์ฐ๋ ๋
- ์ฐ๋ ๋๋ค์ ๋ํ ๋ณ์์ ๋ณ๊ฒฝ์ ๊ฐ์์ฑ์ ๋ณด์ฅํ๋ volatile ํค์๋
- ์ฐ๋ ๋ ์์ญ์ ๋ณ์๋ฅผ ์ค์ ํ์ฌ ํน์ ์ฐ๋ ๋๊ฐ ์คํํ๋ ์ฝ๋์์ ๊ทธ ์ฐ๋ ๋์ ์ค์ ๋ ๋ณ์ ๊ฐ์ ์ฌ์ฉํ ์ ์๋ ThreadLocal
- Fork Join Pool
- 64๋นํธ๋ ์ ์์์ ์ด์ง ์์๊น? ๋ฐ ์ฐ์ฐ์ ์์์ฑ์ ๊ดํ ๊ณ ์ฐฐ
- Blocking I/O, Non-Blocking I/O(NIO)์ ๋์ฉ๋ ํธ๋ ํฝ
- ํ ํ๋ฆฟ ๋ฉ์๋ ํจํด
- ํ ํ๋ฆฟ ๋ฉ์๋ ํ์ฉ ~ ing
- ์ฑ๊ธํค ํจํด(1)
- ๋ฐ์ฝ๋ ์ดํฐ ํจํด
- ์ ๋ต ํจํด
- ์ด๋ํฐ ํจํด
- ํ๋ก์ ํจํด
- ํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด
- ์คํ๋ง์ ์ํ ์๋ฐ ๊ฐ์ฒด ์งํฅ์ ์๋ฆฌ์ ์ดํด๋ฅผ ์ฝ์ผ๋ฉฐ ์ค์ํ ๊ฒ๋ค ์์ฃผ๋ก ์ ๋ฆฌ
- ๊ฐ์ฒด ์งํฅ ์ค๊ณ 5์์น - SOLID
- 2์ฅ, ๊ฐ์ฒด ์์ฑ๊ณผ ํ๊ดด
-
๊ธฐ๋ณธ ๊ฐ๋
- ๊ธฐ๋ณธ ๋ฌธ๋ฒ, ๋ณ์์ ์๋ฃํ, ํจ์, ์ฐ์ฐ์ ๊ฐ๋ ์ ๋ฆฌ
- ์ ์ด๋ฌธ -> IF๋ฌธ, When, ๋ฐ๋ณต๋ฌธ, break countinue return
- ๊ฐ์ฒด์งํฅ -> ์์ฑ์, ์์, ๋ชจ๋, ์ ๊ทผ์ ํ์, Property, ์ง์ฐ์ด๊ธฐํ, Overriding, Any, this์ super, ์ถ์ํด๋์ค, ์ธํฐํ์ด์ค
- kotlin์ ๋ค์ํ ํด๋์ค -> Companion, DataClass, Generic, ์ค์ฒฉํด๋์ค, ํ๋ณํ, null์ฒ๋ฆฌ ๋ฐ ์์ ์ฑ์ ์ํ ํ๋ณํ, ์ด๊ฑฐํ, Sealed Class, ๋ฆฌํ๋ ์ , ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ -> ์ต๋ช , ์ธ๋ผ์ธ, ํ์ฅ, Infix, ๊ณ ์ฐจ ํจ์
- kotlin์ ์ปฌ๋ ์
-
Kotlin + SptringBoot
- kotlin์์ Lombok๊ฐ ํ์ํ ๊น?
- ์ฝํ๋ฆฐ์์ ๋น๋๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์๊น?
- ์ ์ง๋ณด์ํ๊ธฐ ์ข์ ์ฝ๋๋? ๋ฐ ํ์ฅ์ฑ์ ๊ณ ๋ คํ ์ค๊ณ
- entity class์์ Id๋ฅผ ์ ์ธํ ๋, ์์ฑ์์ ํ๋ผ๋ฏธํฐ ์์ ์ ๊ฐ์ฅ ๋ฐ์ผ๋ก ๋๋ ๊ฒ์ด ์ข์ ์ด์
- ๊ฐ๋ณ์ฑ์ ์ ํํ๋ผ
- ์คํ๋ง์ด๋ ๋ฌด์?
- Spring์ด ์ Spring์ธ์ง? ์ SpringBoot VS Spring
- ๋ ์ด์ด ๊ตฌ์กฐ
- IntellJ๋ก Maven(Spring Boot) ํ๋ก์ ํธ ์์ฑํ๊ธฐ
- Spring Boot Devtools์ ์ด์ฉํ ์๋ํ
- ์์กด์ฑ ์ฃผ์ (DI)๊ณผ ์คํ๋ง ๋ฐ ํ ์คํธ์ฝ๋
- ํ๋์ฃผ์ ๋ณด๋ค ์์ฑ์ ์ฃผ์ ์ ๊ถํ๋ ์ด์ , Autowired์ 3๊ฐ์ง ๋ฐฉ๋ฒ
- ํ๋ก ํธ์ ๋ฐฑ์ด ์๋ก ๋ค๋ฅธ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ ๋ @CrossOrigin์ ์ด์ฉํ ํต์
- HTTP ๋ฐฉ์ ์ค URLConnection, HttpClient๋ณด๋ค RestTemplate๊ฐ ํจ์จ์ ์ธ ์ด์
- RestTemplate(2), xml -> json ๋ณํ ํ, jackson์ ์ด์ฉํ์ฌ DTO์ mapping
- Filter์ Interceptor
- Profile
- log4j vs Lockback vs log4j2, ํ๋ก์ ํธ์ ๋ฌด์์ ์ ์ฉํ๋๊ฒ ์ข์๊น?
- Log4j2์ Log Level๊ณผ ์ฑ๋ฅ ํฅ์์ ๊ดํ์ฌ
- opaque token์ ์ฌ์ฉํ์ฌ JWT ์์ฒด ๋ง๋ฃ์๊ฐ ๊ฐ์ ๋ฌดํจํ ํ๊ธฐ
- SMTP ๋ฉ์ผ ์ธ์ฆ ์, ๋ก์ปฌ์์๋ ์ ์๋ํ๋๋ฐ EC2์์๋ ์ FAIL์ด ๋ฐ์ํ ๊น?
- ์ํ ์ฃผ๋ฌธ ์, Pessimistic Lock์ผ๋ก ๋์์ฑ ์ ์ด
- ์ธํ๋ฐ, ์คํ๋ง ํต์ฌ์๋ฆฌ ๊ธฐ๋ณธํธ ์ ๋ฆฌ
- ๋จ์ํ ์คํธ & ํตํฉํ ์คํธ
- ๋จ์ํ ์คํธ์ ์ข ๋ ์ ํํ ํ ์คํธ๋ฅผ ์ํ์ฌ ๊ณ ๊ธ ๊ธฐ์ ArgumenMatcher
- checked exception์ unchecked exception์ผ๋ก ๋ณ๊ฒฝํด์ ๋์ ธ์ผ ํ๋ ๊ฒฝ์ฐ
- ์์ธ์ฒ๋ฆฌ๋ฅผ ์ํ ExceptionHandler ๋ฐ ์์ฃผ ๊ฐ๋จํ responseentity
- responseentity / ์์ฑ์ค
- ์์ธ์ฒ๋ฆฌ ํ ๋, controller ์ ์ญ์ ์ ์ฉ๋๋ ControllerAdvice annotation -> 1. @RestControllerAdvice
- ์์ธ์ฒ๋ฆฌ ํ ๋, controller ์ ์ญ์ ์ ์ฉ๋๋ ControllerAdvice annotation -> 2. @ControllerAdvice
- Junit4 -> Junit5 (๋ชฉ์ (์ฐ์์)์ ๊ฐ์ง๋ง 4 -> 5 ๋ก์ง ๋น๊ต)
- ์ธํ๋ฐ, ๋ ์๋ฐ
- Spring AOP์ AspectJ
- Spring AOP(Aspect)๋ฅผ ์ด์ฉํ ๋ฉ์๋ ์๊ฐ์ธก์ ๋ฐ @LogExecutionTime, JoinPoint ํ์ฉ
- ์คํ๋ง์ ์ํ ์๋ฐ ๊ฐ์ฒด ์งํฅ์ ์๋ฆฌ์ ์ดํด๋ฅผ ์ฝ์ผ๋ฉฐ ์ค์ํ ๊ฒ๋ค ์์ฃผ๋ก ์ ๋ฆฌ
- ๊ฐ์ฒด ์งํฅ ์ค๊ณ 5์์น - SOLID
ํ ๋น์ ์คํ๋ง (๋ฉด์ ์์ ๋ฌผ์ด๋ณผ๋งํ ํค์๋๋ค๋ก ์ ๋ฆฌ...๊ณต๋ถํ๋ฉฐ ๋ฐ ์ค์น ๋ฌธ์ฅ๋ค ์์ฃผ...)
- ๋ค์ด๊ฐ๋ฉฐ
- 1์ฅ, ์ค๋ธ์ ํธ์ ์์กด๊ด๊ณ
- 2์ฅ, ํ ์คํธ
- 3์ฅ, ํ ํ๋ฆฟ
- 4์ฅ, ์์ธ์ฒ๋ฆฌ
- 5์ฅ, ์๋น์ค์ ์ถ์ํ
- 6์ฅ, AOP
- ํธ๋ ํฝ ๋ถ์ฐ์ ์ํ Master/Slave DataSource ๋์ ๋ผ์ฐํ ์ค์
- ์ธ๋ํค(Foreign Key)์ ๋ฐ๋๋ฝ(DeadLock)
- MySQL ์คํ ๊ณํ ๋ถ์์ ํตํด ํ์ด์ง ์ฟผ๋ฆฌ ์ฑ๋ฅ ๊ฐ์
-
Real MySQL
-
Redis
- Web Server, WAS ์ฐจ์ด์ ์ด ๋ ๊ฐ๋ฅผ ๋ฐ๋ก ๋๋ ๊ฒฝ์ฐ
- Apache MPM vs Nginx
- HttpServlet์ Spring, Dispatcher-Servlet
- Proxy
- ์ปค๋ฅ์ ํ์ ์ฌ์ฉํ์ง ์์์๋ ๋ฐ์ํ๋ "๋น์ฉ"์ ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค ๋น์ฉ์ผ๊น? ๋คํธ์ํฌ์ ๊ด๋ จํ์ฌ ๋น์ฉ์ ๊ดํ ๊ณ ์ฐฐ
- HTTP Method
- HTTP Status Code
- HTTP vs HTTPS
- ํฐ์บฃ์ด ์ค๋ ๋๋ฅผ ๋ถ์ฌํ๋ ๊ณผ์
- ์ํ์น ํฐ์บฃ
- ์๋น์ค์ ๋ณด์์ ์ํด ์ด๋ป๊ฒ CIA๋ฅผ ์งํฌ ์ ์์๊น?
- ์๋น์ค์ ๋ณด์์ ์ํด ์ด๋ป๊ฒ CIA๋ฅผ ์งํฌ ์ ์์๊น?(2) - RSA๋ก ํด๊ฒฐ
- ์ธํฐ๋ฝํธ(interrupt)
- ๋ฌธ๋งฅ๊ตํ(context switching)
- ์ปค๋ ์์ค์ ์ฐ๋ ๋ vs ์ฌ์ฉ์ ์์ค์ ์ฐ๋ ๋
- ํ๋ก์ธ์ค ๊ฐ ํต์ (Inter-Process Communication,IPC)
์ง์์ ํตํฉ - CI๋ฅผ ์ด์ฉํ ์ ์์ผ - ์ ํจ์ค CI ๊ตฌ์ถ
- ์ง์์ ํตํฉ์ ๊ฐ๋ - ์ ์์ผ ๋ฐฉ๋ฒ๋ก ๊ณผ ํญํฌ์ ๋ชจ๋ธ
- CI๋?, ์ด๋ค CI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ๊น?
- ์ ํจ์ค๋? ์ ํจ์ค๋ฅผ ์ด์ฉํด CI ์๋ํํ๊ธฐ, ์ฌ๋ ์ฐ๋
- ์ ํจ์ค์ ์ฌ๋ ์ฐ๋ํ์ฌ ์๋๋ฐ๊ธฐ
์ฑ๋ฅ ํ ์คํธ
- ๋ฆฌ๋ ์ค ์๋ฒ์ ngrinder ์ค์นํ๊ธฐ
- nGrinder๋ฅผ ์ด์ฉํด Login API ์ฑ๋ฅ ํ ์คํธ ํ Scale-Out์ ์ ์ฉํ์ฌ ์ฑ๋ฅ ๊ฐ์ - (1)
- nGrinder๋ฅผ ์ด์ฉํด Login API ์ฑ๋ฅ ํ ์คํธ ํ Scale-Up์ ์ ์ฉํ์ฌ ์ฑ๋ฅ ๊ฐ์ - (2)
MSA(MicroService Architecture)
- MSA(MicroService Architecture)๋ ๋ฌด์์ธ๊ฐ?
- Spring cloud ์ ์ฉ์ ์ฌ์ฉ๋๋ ์ปดํฌ๋ํธ ์ค ํ๋์ธ Eureka
- MSA์ BFF ํจํด, ์ธ๋ถ ๊ตฌ์ฑ ์ ์ฅ์ ํจํด, ์ธ์ฆ ์ธ๊ฐ ํจํด์ด๋?
- ์ฅ์ ๋ฐ ์คํจ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ํท ๋ธ๋ ์ด์ปค ํจํด ๋ฐ ๋ชจ๋ํฐ๋ง๊ณผ ์ถ์ ํจํด ์ถ์ฒ
Kafka
k8s
- kubernetis(์ฟ ๋ฒ๋คํฐ์ค), ์ ์ฌ์ฉํ ๊น์?
- ์ฟ ๋ฒ๋คํฐ์ค(k8s) ์๋น์ค ๋ฉ์ ํจํด์ ๊ตฌํ์ฒด์ธ Istio๋?
- Docker์์ k8s Service mesh parttern ์ ๊ตฌํ์ฒด์ธ Istio ์ค์น
docker