์๋ํ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ์ํ ์ ์ ์ฌ์ ์ ๊ธฐ๋กํฉ๋๋ค.
ํ๋ฃจํ๋ฃจ ๋์์์ด ๋ฐฐ์์ ์ฐพ์ ํฌ๊ธฐํ์ง ์๊ณ ์ ์งํฉ๋๋ค.
๋งํฌ๋ค์ด์ผ๋ก ์์ฑํฉ๋๋ค. ๋จ์ ๋ณต๋ถ์ด ์๋ ๋ด์ฉ์ ์ ๋ถ ์ดํดํฉ๋๋ค.
- ์ธ์ฆ(Authentication), ์ธ๊ฐ(Authorization)
- Back-End ํจ์จ์ ์ธ API ๋ช ์ธ์ ์ค๊ณ๋ฐฉ๋ฒ
- Java Back-End ์น ๊ธฐ์ ์ญ์ฌ
- Clean Architecture
- OAuth 2.0 ๊ฐ๋ ๊ณผ ๊ถํ ๋ถ์ฌ ๋ฐฉ์ ์์๋ณด๊ธฐ
- 2023 ์ 3ํ ๋น๊ทผ๋ง์ผ SRE ๋ฐ์ ํ๊ธฐ
- IntelliJ ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง ํ์ธํ๊ธฐ
- SOLID ์์น๊ณผ ๊ฐ ์์น์ ์ฅ๋จ์
- Kotlin, JPA๊ฐ ์๋ก ์งํฅํ๋ ๋ฐฉํฅ์ ์ฐจ์ด
- Netty
- Reactive Programming ์ด๊ฒ๋งํผ์ ์๊ณ ๊ฐ์
- ์ฐ์ํํ ํฌ์ธ๋ฏธ๋ - ์ฐ์ํ์คํ๋ง๋ฐฐ์น by ์ด๋์ฑ
- Cache - Eviction, Expiration, Passivation
- Protocol Buffers
- Redis ๋ถ์ฐ๋ฝ + WebFlux ํ๋ก์ ํธ
- Kafka
- State Machine Pattern
- ๋ค์ค ํ๊ฒฝ์์ ์ธ์ ์ ์ด๋ป๊ฒ ๊ณต์ ํ๊ณ ๊ด๋ฆฌํ ๊น?
- ๋ถ์ฐ ํ๊ฒฝ ํฉ์ ์๊ณ ๋ฆฌ์ฆ Paxos
- Kernel
- Linux
- ๋ถ์ฐ ์์คํ ์์ ์๊ฐ ๋๊ธฐํ ๋ฌธ์ ์ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ
- ๋ถ์ฐ ์์คํ ๋ ผ๋ฆฌ์ ์๊ณ(๋ ํฌํธ ์๊ณ, ๋ฒกํฐ ์๊ณ)
- IDC ์ด์คํ ๊ตฌ์ฑ์ผ๋ก DRํ๊ธฐ + Kafka ์ด์คํ ์์
- DevOps Engineer
- ๋์ปค์ ์ฟ ๋ฒ๋คํฐ์ค
- IaaS, PaaS, SaaS ์ฐจ์ด
- CI/CD ํ์ดํ๋ผ์ธ๊ณผ ๊ตฌํ๊ณผ์
- ๊ฐ์๋จธ์ (Virtual Machine) vs ์ปจํ ์ด๋(Container)
- ๋ฐฐํฌ ์ ๋ต์ ์ข ๋ฅ(๋กค๋ง/๋ธ๋ฃจ ๊ทธ๋ฆฐ/์นด๋๋ฆฌ)
- ๋์ปค(Docker)
- ์ปจํ ์ด๋ ์ ์ด ๋ช ๋ น์ด
- ์ปจํ ์ด๋ ๊ด๋ฆฌ ๋ช ๋ น์ด
- ์ด๋ฏธ์ง ๊ด๋ จ ๋ช ๋ น์ด
- ๋์ปค ์ปจํ ์ด๋๋ฅผ ๋์๋ณด์
- ์ปจํ ์ด๋ ์ธ๋ถ ๋ ธ์ถ
- ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ
- ๋์ปค ๋ณผ๋ฅจ ์ด์ฉํ๊ธฐ
- ๋์ปค ๋คํธ์ํฌ ๊ตฌ์กฐ
- ์ปจํ ์ด๋ ๋ก๊น
- ์ปจํ ์ด๋ ์์ ์ ํ
- ๋์ปค ์ด๋ฏธ์ง ์์ฑ
- Docker Swarm
- spring boot ํ๋ก์ ํธ๋ฅผ Docker๋ฅผ ์ฌ์ฉํด ๋ฐฐํฌํ๊ธฐ
- permission denied while trying .. Docker demon socket ํธ๋ฌ๋ธ ์ํ
- Docker Engine LXC, libcontainer
- ์ฟ ๋ฒ๋คํฐ์ค
- Desired State
- ์ฟ ๋ฒ๋คํฐ์ค ๊ตฌ์ฑ์์
- ์ฟ ๋ฒ๋คํฐ์ค API ๋ฆฌ์์ค
- ์ฟ ๋ฒ๋คํฐ์ค์ ๋์ ํ๋ฆ
- ์ฟ ๋ฒ๋คํฐ์ค ๋์๋ณด๋ ํ ํฐ ๋ฐํ ๋ฐ ์ ์
- Kubernetes Cluster
- Control Plane
- Node Components
- Pod
- Pod LifeCycle(Phase, Condition)
- Pod์ ์๋ช ์ฃผ๊ธฐ, ์ฌ์์ ์ ์ฑ
- ๋ฉํฐ ์ปจํ ์ด๋ ํ๋ ๋์์ธ ํจํด
- Qos Classes
- Node Scheduling
- Probe
- Service - ClusterIP, NodePort, LoadBalancer
- Service - Headless, Endpoint, ExternalName
- ReplicaSet
- Deployment
- DaemonSet, Job, CronJob
- Volume
- ConfigMap, Secret
- Namespace, ResourceQuota, LimitRange
- Cluster Autoscaler, Karpenter
- ์ ์์ผ(Agile) ๋ฐฉ๋ฒ๋ก
- ํด๋ผ์ฐ๋ ์ํคํ ์ฒ Cloud Architecture
- ํ์ด๋ธ๋ฆฌ๋ ํด๋ผ์ฐ๋ Hybird Cloud
- ํ ์คํธ์ ์ข ๋ฅ ์์๋ณด๊ธฐ
- ์ํฌ์ค๋ฃจ์ ์ธ์คํ์
- TDD๋ (ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ)
- ๊นํ๋ธ ์ก์ GitHub Actions
- AWS(Amazon Web Service)
- EC2(Elastic Compute Cloud)
- EC2์ ๊ฐ๊ฒฉ ์ ์ฑ ๊ณผ ํ์ ์ข ๋ฅ
- IAM(Identity and Access Management)
- EBS, Instance Store, AMI
- AWS ๋ณด์ ๊ทธ๋ฃน Security Group
- AWS ELB (Elastic Load Balancer), Sticky Session
- ์คํ ์ค์ผ์ผ๋ง (Auto Scaling) ๊ตฌ์ฑ๊ณผ ์์๋
- VPC(Virtual Private Cloud)์ ๊ตฌ์ฑ์์
- NAT, NAPT ๊ทธ๋ฆฌ๊ณ AWS NAT Gateway
- AWS ๋ผ์ฐํ ํ ์ด๋ธ ๊ฐ๋ ๊ณผ ๊ตฌ์ฑ
- ๊ณ ๊ฐ์ฉ์ฑ๊ณผ ์ฅ์ ๋ด๊ตฌ์ฑ, ์ฌํด ๋ณต๊ตฌ, ํ์ฅ์ฑ๊ณผ ํ๋ ฅ์ฑ
- AWS RDS(Relation Database Service)
- Elastic IP, ENI(Elastic Network Interface)
- System Manager Session Manager
- Amazon Aurora, Aurora Architecture
- CloudWatch vs CloudTrail
- AWS SES(Simple Email Service)
- AWS SNS(Simple Notification Service)
- AWS SQS(Simple Queue Service), SNS์์ ์ฐจ์ด์
- AWS ํด๋ผ์ฐ๋ ํ๋ก ํธ CloudFront
- AWS ECR(Elastic Container Registry)
- AWS ELK(Elastic Search Logstash Kibana)
- Bastion ์๋ฒ๋ก Private EC2์ ์ ์ํ๋ ๋ฐฉ๋ฒ + Hi-v2 ํธ๋ฌ๋ธ ์ํ
- EKS
- ๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ (Monolithic Architecture)
- APM(Application Performance Management)
- gRPC, RPC, ์๋์๋ฆฌ, HTTP API ๋น๊ต
- RabbitMQ
- Blue/Green Deployment, Architecture
- Nginx
- ELK์ ๋ก๊น ๊ตฌ์ฑ
- Prometheus, Grafana
- Exporter - ๋ชจ๋ํฐ๋ง ์์ด์ ํธ
- ๋ธ๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ
- ์๋ฒ ์ด์คํ ๊ตฌ์กฐ
- GitOps
- HCL
- Java๋
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- JVM ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ์์๋ณด๊ธฐ
- JMM(Java Memory Model)
- JVM ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ธ
- JVM Garbage Collection ๊ตฌ์กฐ์ ๋์
- GC์ ์ข ๋ฅ์ ๊ฐ๊ฐ์ ์ฐจ์ด์
- ์ข ๋ฅ๋ณ Garbage Collector ๋์ ๋ฐฉ์
- G1GC - Garbage First Garbage Collector
- Java String Pool
- ๊ฐ์ฒด์งํฅ์ 4๊ฐ์ง ํน์ง
- ๊ฐ์ฒด์งํฅ ์ค๊ณ์ 5์์น(SOLID)
- ํด๋์ค์ ์ธ์คํด์ค ๊ฐ๋ ๊ณผ ์ฐจ์ด
- ์์ฑ์, new ๊ฐ์ฒด ์์ฑ
- ์ค๋ฒ๋ผ์ด๋ฉ๊ณผ ์ค๋ฒ๋ก๋ฉ
- ์ถ์๋ฉ์๋์ ์ถ์ํด๋์ค
- ๋คํ์ฑ (Polymorphism)
- Date, SimpleDateFormat ํ์ฌ ๋ ์ง, ์๊ฐ ์ถ๋ ฅ
- ์๋ฐ Object ํด๋์ค์ ๋ฉ์๋
- ์ปฌ๋ ์ ํ๋ ์์ํฌ ์ข ๋ฅ์ ์ฌ์ฉ๋ฒ
- ์์ธ ์ฒ๋ฆฌ (Exception)
- RuntimeException & Exception
- HashMap ๋ฉ์๋ ๋ฐ ์ฌ์ฉ๋ฒ
- ์ต์ ๋(Optional) ํด๋์ค ์์๋ณด๊ธฐ
- Web ์๋ธ๋ฆฟ(Servlet) ์ด๋?
- StringBuilder ์ฌ์ฉ๋ฒ๊ณผ ์ฃผ์ ๋ฉ์๋
- ๋ํผ ํด๋์ค(Wrapper Class), ๋ฐ์ฑ ์ธ๋ฐ์ฑ
- Java Generic
- SocketAdress ํด๋์ค & NetworkInterface ํด๋์ค
- Java String, StringBuilder, StringBuffer ์ฐจ์ด ์์๋ณด๊ธฐ
- POJO (Plain Old Java Object)
- ์๋ฐ ๋ฆฌํ๋์ Reflection ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฐฉ๋ฒ
- ์๋ฐ ์ต์คํํฐ java Executors
- java Callable, Future
- ์๋ฐ์์ finalize() ๋ฉ์๋์ ์ญํ ์ ๋ฌด์์ผ๊น์?
- ์๋ฐ Cleaner, PhantomReference Class
- ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ(์์ฑ, ์ฌ์ฉ, ์๋ฉธ)
- OutOfMemoryError๊ฐ ๋ฐ์ํ์ ๋ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ
- ์๋ฐ์ ๋ค ๊ฐ์ง ์ฐธ์กฐ ์ ํ(Strong, Weak, Soft, Phantom)
- Java 8 Functional Interface
- Java์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ์ ์ธ Functional Interface
- Reactive Streams API, back-pressure
- Cold Publisher & Hot Publisher
- Java AIO
- JDK Proxy, CGLib Proxy
- Hotspot VM, JIT Compiler ๊ทธ๋ฆฌ๊ณ ํ๊ณ
- GraalVM
- Native Image
- ๋ค์ดํฐ๋ธ ์ด๋ฏธ์ง์ ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ
- Reactive Stream, Backpressure, API Components
- Java์ ์์ธ ์์ฑ ๋น์ฉ, ๋น์ฉ ์ ๊ฐ ๋ฐฉ๋ฒ
- JVM Warm Up - ๋ฐฐํฌ ์งํ Latancy ์ฑ๋ฅ ์ ํ ์์ธ
- JVM Warm Up ์ ์ฉํ๊ธฐ
- ReentrantLock, Condition
- ์ฝํ๋ฆฐ์ด๋ ๋ฌด์์ด๋ฉฐ ์ ํ์ํ๊ฐ?
- Kotlin DSL, gradle.kts
- mapOf(), to๋ก Pair ์ธ์คํด์ค ์์ฑํ๊ธฐ
- ์ฝํ๋ฆฐ์์์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ์ฝํ๋ฆฐ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- ์ฝํ๋ฆฐ ์ปฌ๋ ์ ์ฆ ํ๋ ์์ํฌ
- ๋๋ฆฌ์ delegate, by, lazy
- ๊ณ ์ฐจ ํจ์ (High-order-function)
- ์ค์ฝํ ํจ์ (Scope Function)
- Kotlin ์ํ์ค์ ์ง์ฐ ๊ณ์ฐ (Sequences and Lazy Evaluation)
- Kotlin ํจ์ํ ์ธํฐํ์ด์ค์ SAM ์์ฑ์
- kapt์ annotation processor
- ์ฝํ๋ฆฐ์์๋ ์ Lombok ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์๊น?
- Kotlin์ผ๋ก Spring Framework ์ฌ์ฉํ๊ธฐ
- data ํด๋์ค๋ก persistence ๊ตฌํํ๊ธฐ
- @JvmField, @JvmStatic ์ด๋ ธํ ์ด์
- kotest๋ฅผ ์ฌ์ฉํด์ ํ ์คํธ ์ฝ๋ ์์ฑํ๊ธฐ
- Kotlin ์ฝ๋ฃจํด (Coroutine)๊ณผ ๋์์ฑ ํ๋ก๊ทธ๋๋ฐ
- ๋ด๊ฐ ์ ์ผ ์ข์ํ๋ Kotlin์ companion object โค๏ธ
- Kotlin Generics ๊ณต๋ณ์ฑ, ๋ฐ๊ณต๋ณ์ฑ, ๋ฌด๋ณ์ฑ
- Kotlin Generics ์คํ ํ๋ก์ ์ , reified ์๋ฃํ
- sortedWith, Comparator ์ ๋ ฌ ๋๋ค์ ์์
- Kotlin runCatching๊ณผ Result ํ์
- Kotlin์์ Unit๊ณผ Nothing์ ์ฐจ์ด์
- Kotlin์์ ์ฑ๊ธํค ํด๋์ค๋ฅผ ์ด๋ป๊ฒ ์์ฑํ ๊น์?
- companion object์ object์ ์ฐจ์ด์ ์ ๋ฌด์์ผ๊น์?
- ํด๋์ค ์ธ๋ถ์ ํจ์(A package-level/ Top-level ํจ์)
- Kotlin Class, Field vs Property
- Kotlin Delegation์ผ๋ก ๊ฒฐํฉ๋ ๋ฎ์ถ๊ธฐ
- lateinit๊ณผ Delegates.notNull<>()๋ก ์ ์ ํ null ์ฒ๋ฆฌํ๊ธฐ
- .close()๊ฐ ํ์ํ ํด๋์ค๋ฅผ ์ฌ์ฉํ ๋, use๋ก ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ
- infix, inline function
- Kotlin Sealed Class
- inline fun ํจ์๋ฅผ ์ฌ์ฉํด ๊ณ ์ฐจ ํจ์ ์ต์ ํ
- Coroutine
- Go Handle, Handler, HandleFunc ์ดํด
- Golang์์์ ํฌ์ธํฐ์ ์ญ์ฐธ์กฐ
- Go ๋ฐ์ดํฐ๋ฒ ์ด์ค Sqlite3 ์ฌ์ฉํ๊ธฐ
- gorilla/mux๋ฅผ ์ฌ์ฉํ REST API ์๋ฒ
- MVC ํจํด๊ณผ ์ฌ์ฉํ๋ ์ด์
- Controller, Service, Repository ์ญํ
- IoC ์ปจํ ์ด๋ (Inversion of Controll)
- ์คํ๋ง ๋น(Bean)๊ณผ ๋น ๋ฑ๋ก ๋ฐฉ๋ฒ
- Spring AOP (Aspect Oriented Programming) ๊ฐ๋
- Sprint AOP ๋ผ์ด๋ธ๋ฌ๋ฆฌ AspectJ
- Spring์ ๋ํ์ ์ธ @Annotation๊ณผ ์ญํ
- Spring JDBC์ DataSorce ์์๋ณด๊ธฐ
- ์คํ๋ง ํจํค์ง ๊ตฌ์กฐ(Spring Package Structure) - ๊ณ์ธตํ vs ๋๋ฉ์ธํ
- Lombok ๋ฐ๋์ ์๊ณ ์จ์ผํ๋ @Annotation ๋ชจ์
- Spring boot @Builder์ ๋ํ์ฌ
- (์คํ๋ง/Spring URL) Mapping ์์๋ณด๊ธฐ
- Spring Security Access Token & Refresh Token
- ๊ฐ๋ฐ์๋ผ๋ฉด ๊ผญ ํด์ผํ๋ Log ๊ด๋ฆฌ, Slf4j Logger
- Jwt (Json Web Token) ์์๋ณด๊ธฐ
- Spring Validation์ ์ด์ฉํ ์ ํจ์ฑ ๊ฒ์ฆ
- Spring boot @ExceptionHandler๋ฅผ ํตํ ์์ธ์ฒ๋ฆฌ
- (Spring boot + Security) SecurityConfig ์ค์ ํ๊ธฐ
- Swagger๋ฅผ ํ์ฉํ API ๋ฌธ์ ์๋ํ
- IoC, DI, Spring Container, Bean ์๋ฒฝํ๊ฒ ์์๋ณด์
- AOP(Aspect Oriented Programming) ๋์ฒด ๋ญ๊น?
- ๋์คํจ์ฒ ์๋ธ๋ฆฟ Dispatcher-Servlet์ ๊ฐ๋ ๊ณผ ๋์ ๊ณผ์ ์์๋ณด๊ธฐ
- Servlet Filter, Spring Intercepter ํน์ง๊ณผ ์ฐจ์ด ์ดํดํ๊ธฐ
- [Kotlin, Spring boot] copy() ๊น์๋ณต์ฌ, ์์๋ณต์ฌ ์ฑ๋ฅ์์ ์ด์
- [Kotlin, Spring boot] ๊ฒ์ api์์ find Query vs Internal Function ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํจ์จ
- Spring boot Actuator ์คํ๋ง ๋ถํธ ์ก์ถ์์ดํฐ API + Spring Cloud๋ฅผ ์ฌ์ฉํ ์์
- Spring WebFlux, Reactive Stream, R2DBC, Mono, Flux ์ ๋ณตํ๊ธฐ
- Springboot์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ฑ ํ๋ ๋ฐฉ๋ฒ
- Spring Test์์ Spring Security์ธ์ฆ์ ํ ์ ์๋ ์ด๋ ธํ ์ด์
- Spring ์์์ Connection Pool, HikariCP
- ์คํ๋ง ๋ถํธ ๋ฐฐ์น Spring boot Batch
- ControllerAdvice๋ AOP๋ก ๊ตฌํ๋์ด ์์๊น? ๋์ ๊ณผ์ ์ดํด๋ณด๊ธฐ
- ObjectMapper์ ๋์ ๋ฐฉ์๊ณผ Spring boot๊ฐ ์ ๊ณตํ๋ ์ถ๊ฐ ๊ธฐ๋ฅ๋ค
- ์ฝํ๋ฆฐ ํ ์คํธ ํ๋ ์์ํฌ mockk ์ฌ์ฉ๋ฒ
- Spring Data Binding, Converter, Formatter
- Spring Resource Interface, Resource ์ถ์ํ์ ๊ตฌํ์ฒด
- ResourceLoader, ResourcePatternResolver, ApplicationContext and Resources Paths
- SecurityContextHolderStrategy (ThreadLocal, InheritableThreadLocal, Global)
- Spring Security์ ์ฌ๋ฌ๊ฐ์ง Filter
- Mock ํ ์คํธ์ Stub ํ ์คํธ์ ์ฐจ์ด
- Koltin์์ Spring์ ์คํํ๊ธฐ ์ํ plugin, dependencies
- Spring boot ๋ด์ฅ ์น ์๋ฒ ํฐ์บฃ ์ค์ , ๋ค๋ฅธ ๋ด์ฅ ์น ์๋ฒ ์ค์ ํ๋ ๋ฐฉ๋ฒ
- Spring ArgumentResolver๋ฅผ ์ด์ฉํ ์ ์ฐ์ฑ ์๋ ํ๋ผ๋ฏธํฐ ์ฒ๋ฆฌ
- Spring Scheduler๋ฅผ ์ฌ์ฉํด ์ผ์ ์ฃผ๊ธฐ๋ก ๋์ ์ํ
- Spring boot ํ๋ก์ ํธ profile ์ค์ ํ๊ธฐ
- Bean Scope, DL(Dependency Lookup), Provider
- JDBC, DriverManager
- Spring AOP์ ๋ค์ด๋๋ฏน ํ๋ก์๋ฅผ ์ฌ์ฉํด ํธ๋์ญ์ ๋ถ๋ฆฌํ๊ธฐ
- ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง, ์ธํ๋ผ ๋น, ์ปจํ ์ด๋ ์ธํ๋ผ ๋น
- ๋น ์ค์ฝํ์ ๋ฐ์ํ ์ ์๋ ์ฌ๋ฌ ๋ฌธ์ ๋ค๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ
- Spring WebFlux vs MVC, ๋ด๋ถ ์๋ ๋ฐฉ์
- Spring Batch ๊ธฐ์ ์ ํธ๋ ์ด๋ ์คํ
- Spring Batch ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๊ด๋ฆฌ
- Spring Data JPA์ @Transactional
- Spring Data JPA ๋์ ์๋ฆฌ
- Spring AOP Advice ์์ ์ ์ด ๋ฐฉ๋ฒ
- Spring Data JPA @Modifiying
- ์์์ฑ ์ปจํ ์คํธ
- ํ๋ฌ์ (flush)
- ๊ฐ์ฒด์ ํ ์ด๋ธ ๋งคํ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ์๋ ์์ฑ
- Team.MSG GAuth-BackEnd ๋์ ๊ฒ์ API QueryDSL ์ ์ฉ ์ฌ๋ก
- Hibernate ํ์ด๋ฒ ๋ค์ดํธ, Spring Data JPA
- ์๋ฒ ๋๋ ํ์ , @Embedded, @Embeddable, @AttributeOverride
- @Query ์ด๋ ธํ ์ด์ ์์ FK๋ก ๊ฐ์ฒด๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ
- JPA N + 1 ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ ๋ฐ ์ค๋ฌด ์ ์ฉ
- ์ผ๋ฐ ์กฐ์ธ(Join)๊ณผ ํจ์น ์กฐ์ธ(Fetch Join)์ ์ฐจ์ด
- ์ผ๋ฐ ์กฐ์ธ Join์ ์ธ์ ์ฌ์ฉ๋ ๊น?
- JPA Propagation ํธ๋์ญ์ ์ ํ ๋จ๊ณ
- ํ๋ก์(Proxy)์ ์ง์ฐ ๋ก๋ฉ
- OSIV(Open Session In View)
- ๋ฒํฌ ์์ , ์ญ์ ์ฐ์ฐ๊ณผ ์์์ฑ ์ปจํ ์คํธ
- DDD(Domain Driven Design) ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ์์๋ณด๊ธฐ
- [Domain-Driven-Design] ๋ฐ์ด๋๋ ์ปจํ ์คํธ (Bounded-Context)
- ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ์ ๊ทธ๋ฆฌ๊ฑฐํธ(Aggregate) ์์๋ณด๊ธฐ
- ์์ฉ ์๋น์ค์ ํํ ์์ญ (presentation, application)
- ์ฌ๋ฌ ์ ๊ทธ๋ฆฌ๊ฑฐํธ๊ฐ ํ์ํ ๊ธฐ๋ฅ๊ณผ ๋๋ฉ์ธ ์๋น์ค(์์ฉ ์๋น์ค์์ ์ฐจ์ด)
- ์ ๊ทธ๋ฆฌ๊ฑฐํธ ํธ๋์ญ์ ๊ด๋ฆฌ (์ ์ ,๋น์ ์ ,์คํ๋ผ์ธ ์ ๊ธ)
- ๋๋ฉ์ธ ๋ชจ๋ธ๊ณผ ๋ฐ์ด๋๋ ์ปจํ ์คํธ
- ์์คํ ๊ฐ ๊ฐ๊ฒฐํฉ(high coupling) ๋ฌธ์
- ์ด๋ฒคํธ (Event), ํธ๋ค๋ฌ (Handler), ๋์คํจ์ฒ (Dispatcher)
- ๋๊ธฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ฌธ์ , ๋น๋๊ธฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ
- CQRS (Command Query Responsibility Segregation)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- What is DataBase?
- DataBase Mangement System
- MySQL Query๋ฌธ ์ ๋ฆฌ
- DDL(๋ฐ์ดํฐ ์ ์์ด)
- ํค(Key)์ ๊ฐ๋ ๋ฐ ์ข ๋ฅ
- ORM์ ๊ฐ๋ ๊ณผ ์ข ๋ฅ, ํ์ฉ ๋ฐฉ์
- ํธ๋์ญ์ ๊ณผ ACID
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ(Normalization)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ ์ํ Index์ ๋์์๋ฆฌ
- ๋ฆฌํ๋ฆฌ์ผ์ด์ (Replication) vs ํด๋ฌ์คํฐ๋ง(Clustering)
- DataBase Sharding (๋ถ์ฐ์ฒ๋ฆฌ)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค CAP ์ด๋ก
- ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง๊ณผ ๋ฐ์ดํฐ ์ฑ์ง์ ๋ฐ๋ฅธ DB ์ข ๋ฅ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ปค๋ฅ์ ํ (Connection Pool CP)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ตํฐ๋ง์ด์ Optimizer
- ์ตํฐ๋ง์ด์ ์ ์ต์ ํ์ ๋ชฉํ ๊ทธ๋ฆฌ๊ณ ํ๊ณ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ ํด๋ฌ์คํฐ (Cluster)
- Clustering (Active Clustering, Standby Clustering)
- SQLD
- ์ํฐํฐ(Entity), ์์ฑ(Attribute), ๊ด๊ณ(Relation)
- ์๋ณ์ Identifier ์ข ๋ฅ์ ๋ถ๋ฅ์ฒด๊ณ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ Normalization
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ์ ๊ทํ Denormalization
- DDL(CREATE, ALTER, DROP, TRUNCATE)
- DML(INSERT, UPDATE, DELETE, SELECT), TCL(COMMIT, ROLLBACK)
- DCL(GRANT, REVOKE) ์ค์ต, ์ฌ์ฉ์ ์์ฑ
- WHERE ์กฐ๊ฑด์ ์ง์ ์ค์ต
- ORDER BY๋ก ๋ฐ์ดํฐ ์ ๋ ฌํ๊ธฐ ์ค์ต
- GROUP BY, ์ง๊ณํจ์๋ก ๋ฐ์ดํฐ ๊ทธ๋ฃน๋ณ ์ง๊ณ
- Join ์ฐ์ฐ (INNER JOIN, OUTER JOIN)
- INNER JOIN & OUTER JOIN SQL
- ๋ ์ง(DATE) ํจ์๋ฅผ ์ฌ์ฉํ ์ค์ต + DUAL ํ ์ด๋ธ
- REPLACE() ํจ์๋ก ๋ฐ์ดํฐ ์์ ํ๊ธฐ ์ค์ต
- SUBSTR() ํจ์๋ฅผ ์ฌ์ฉํ ๋ฌธ์ ๋ฐ์ดํฐ ์๋ฅด๊ธฐ
- UPPER(), LOWER() ํจ์๋ฅผ ์ฌ์ฉํ ๋์๋ฌธ์ ๊ตฌ๋ถ
- ์ซ์ํจ์ ROUND(), TRUNC(), CEIL()
- SQL ์๋์ฐ ํจ์ (WINDOW FUNCTION)
- ๊ณ์ธตํ ์ฟผ๋ฆฌ(START WITH, CONNECT BY PRIOR, SIBLINGS BY)
- SQL NULL ๊ด๋ จ ํจ์ - NVL, NVL2, NULLIF, COALESCE
- ํ๋ก์์ ์ ํธ๋ฆฌ๊ฑฐ์ ์ฐจ์ด์
- NoSQL vs SQL
- MongoDB
- Redis
- Redis ํจ์จ์ ์ธ ์๋ฒ ๊ตฌ์ฑ
- Redis ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ์ต์ ํ ๋ฐฉ์
- Redis Fragmentation Ratio
- Redis Distributed Lock, RedLock
- Redis Cluster
- Redis Distributed Lock, Spring Boot Example
- Redis ๋ค์ค ๋ช ๋ น์ ๋ํ ์์์ฑ ๋ณด์ฅ ๋ฐฉ๋ฒ
- Redis Architecture
- Redis Replication
- Redis Failover์ ๋ฐ์ดํฐ ์์ค ๋ฐฉ์ง ๋ฐฉ๋ฒ
- Redis important fact about replication
- Redis INCR
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ถํ๋ถ์ฐ(ํํฐ์ ๋, ์ค๋ฉ, ๋ ํ๋ฆฌ์ผ์ด์ ) ๊ฐ๋
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํํฐ์ ๋
- ํํฐ์ ๋ ์ข ๋ฅ์ ๋ถํ ๊ธฐ์ค
- VARCHAR vs TEXT
- Transaction Serializability
- Transaction Recoverability
- ์ ๋ฌธ ๊ฒ์ ์ธ๋ฑ์ค
- ์ปค๋ฒ๋ง ์ธ๋ฑ์ค
- MMR, BKA
- MySQL 8.0 InnoDB Locking
- Pessmistic Lock, Optimistic Lock
- LSM Tree
- B+Tree
- LIKE ์ฟผ๋ฆฌ ๊ฒ์ ์ฑ๋ฅ ๊ฐ์ , Full-Text Search
- ๋ถ์ ํจ์๋ฅผ ํ์ฉํด ์ฟผ๋ฆฌ ์ฑ๋ฅ ๋ํ๊ธฐ
- ๋์์ธ ํจํด
- ์์ฑ ํจํด
- ํ๋ ํจํด
- ๊ตฌ์กฐ ํจํด
- ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ณ (MicroService Architecture)
- ํ์ฅ ํ๋ธ๋ก ๋ณด๋ ๋ง์ดํฌ๋ก์๋น์ค
- MA, MSA, SOA(Service Oriented Architecture), ESB, SOAP
- ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ๋ฅผ DNS, ๋ก๋ ๋ฐธ๋ฐ์ ๋ฐฉ์์ ์ฌ์ฉํ์ง ์๋ ์ด์
- ๋ง์ดํฌ๋ก์๋น์ค ํด๋ผ์ด์ธํธ ํ๋ณต์ฑ ํจํด
- MSA ํต์ฌ ๋์์ธ ํจํด
- ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ IPC
- ์๋น์ค ๋ฉ์ Service Mesh
- ๋ง์ดํฌ๋ก์๋น์ค์์ ๋ถ์ฐ ํธ๋์ญ์ ๊ด๋ฆฌํ๊ธฐ
- ์ธํฐ๋ท ๋คํธ์ํฌ
- URI์ ์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ
- HTTP ๊ธฐ๋ณธ
- HTTP ๋ฉ์๋, ํ์ฉ
- HTTP ์ํ์ฝ๋
- HTTP ํค๋ - ์ผ๋ฐ ํค๋
- HTTP ํค๋ - ์บ์์ ์กฐ๊ฑด๋ถ ์์ฒญ
- ๋คํธ์ํฌ์ ๊ธฐ์ด ์์๋ณด๊ธฐ
- ๋คํธ์ํฌ ํ๋กํ ์ฝ ์ ๋ฆฌ
- ์ธํฐ๋ท ์๋ ์๋ฆฌ
- HTTP์ ๋ํด ์์๋ณด๊ธฐ
- DNS์ ์๋ ์๋ฆฌ
- ๋๋ฉ์ธ ๋ค์์ด๋?
- ๋ธ๋ผ์ฐ์ ๋์ ์๋ฆฌ
- ํธ์คํ ์ด๋ ๋ฌด์์ผ๊น?
- HTTP ๋ฉ์๋ ์์๋ณด๊ธฐ
- RESTful API ์๋ฏธ์ ์ค๊ณ๊ท์น
- ๋คํธ์ํฌ ๊ณ์ธต๋ณ ํ๋กํ ์ฝ
- ์ํ์น ํฐ์บฃ (Apache Tomcat)
- ๋คํธ์ํฌ ์น ํต์ ์ ํ๋ฆ
- ์น ์บ์(ํ๋ก์ ์๋ฒ)
- CDN (Content Delivery Networks)
- P2P(peer-to-peer network)
- ์ค์์น์ ๋ผ์ฐํฐ, ์ค์์นญ๊ณผ ๋ผ์ฐํ
- ์ธ๋ฐ์ด๋(Inbound)์ ์์๋ฐ์ด๋(Outbound)
- ํ์ ๊ตํ ๋ฐฉ์๊ณผ ํจํท๊ตํ ๋ฐฉ์
- IP/IP Packet, ํจํท ์ ๋ฌ, ํ๊ณ
- OSI 7๊ณ์ธต๊ณผ TCP/IP 4๊ณ์ธต
- TCP/IP Packet, TCP vs UDP
- ์น ์บ์ Web Cache
- ์บ์ ๊ฒ์ฆ ํค๋(Last-Modified, If-Modified-Since)
- ์บ์ ๊ฒ์ฆ ํค๋(ETag, If-None-Match)
- L2, L3, L4 & L7 ์ค์์น
- ์น์์ผ(WebSocket), HTTP์์ ์ฐจ์ด
- SSL(Security Socket Layer), TLS(Transfer Layer Security)
- ๋ฉ์์ง ํ(Message Queue, MQ) ๊ฐ๋
- ์๋ธ๋ทํ & ์ํผ๋ทํ ๊ฐ๋ ๋ฐ ์ฌ์ด ๊ณ์ฐ ๋ฐฉ๋ฒ
- 3-way / 4-way Handshake
- VLAN ์ดํดํ๊ธฐ - VLAN, Trunk/AccessPort
- SSL Handshake
- ๋ผ์ฐํฐ Router
- DHCP(Dynamic Host Configuration Protocol)
- TCP Header
- TCP ์ธ์ ์ ์ง Keepalive
- TCP Flag, ECN
- QoS 3๊ฐ์ง ์ํ ๋ชจ๋ธ (Best Effort, IntServ, DiffServ)
- ๊ผญ ์์์ผ ํ ๊ธฐ๋ณธ CS ์ง์
- OS(์ด์์ฒด์ ) ๊ตฌ์กฐ์ ์๋ฆฌ
- ์ค๋ ๋์ ๋์์ฑ
- ๋ฉํฐ ์ค๋ ๋์ ๋ฉํฐ ํ๋ก์ธ์ค
- CPU ์ค์ผ์ค๋ง์ด๋
- Synchronize(๋๊ธฐํ)์ Deadlock
- ๋ฐํ์๊ณผ ์ปดํ์ผํ์
- OS์ ์ค์ํ Swapping
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ Virtual Memory System
- ๋ฎคํ ์ค(Mutex)์ ์ธ๋งํฌ์ด(Semaphore)
- ๋ฐ๋ชฌ(daemon) ํ๋ก์ธ์ค์ ์ ์
- ์ปดํจํ ์์คํ Computing System
- ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ FIFO, LRU, LFU, MFU, NUR
- ๋ฉ๋ชจ๋ฆฌ ๋จํธํ Fragmentation
- ํ์ดํผ๋ฐ์ด์ Hypervisor
- ์คํ๋ฝ, ๋ฎคํ ์ค, ์ธ๋งํฌ์ด + ๋ฎคํ ์ค vs ์ด์ง ์ธ๋งํฌ์ด
- ์ปดํ์ผ๋ฌ ์ต์ ํ
- IPC(Inter Process Comunication)
- Process Memory Structure
- ์บ์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ์๋ ๋ฐฉ์
- Memory - Address, Contiguous allocation, MMU
- Paging, Fragmentation, TLB
- UDS, 0000.sock
- ์ ํ ๊ตฌ์กฐ
- ๋น์ ํ ๊ตฌ์กฐ
- ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ
- ๋๋น ์ฐ์ ํ์(BFS)
- ๊น์ด ์ฐ์ ํ์(DFS)
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ
- ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ
- ๋ฒจ๋ง ํฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก์ด๋ ์์ฌ ์๊ณ ๋ฆฌ์ฆ
- ํจ์์ ํจ์์ ์ข ๋ฅ
- ๊ฐ์ฒด Object
- ํ๋กํ ํ์ ์ด๋?
- ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด๋?
- ๊ฐ์ฒด ๋ฉ์๋ ์ ๋ฆฌ
- ํด๋์ค๋ ๋ฌด์์ผ๊น?
- String Method
- Math ๋ฉ์๋ ์ ๋ฆฌ
- ๋ฐฐ์ด ๋ฉ์๋ ์ ๋ฆฌ
- ๋ฐฐ์ด ๋ฉ์๋ ์ ๋ฆฌ 2
- ๋ฐ์ดํฐ ๋ถ๋ณ์ฑ
- ๊ตฌ์กฐ ๋ถํด ํ ๋น
- export ์ฌ์ฉ๋ฒ ์ ๋ฆฌ
- import ์ฌ์ฉ๋ฒ ์ ๋ฆฌ
- Lodash๋ ๋ฌด์์ผ๊น?
- JSON ์์๋ณด๊ธฐ
- Storage LocalStorage
- ์ ๊ทํํ์ ๋ฌธ๋ฒ ์ ๋ฆฌ
- DOM ์ด๋ ๋ฌด์์ผ๊น?
- DOM API์ ์ข ๋ฅ
- Promise ์์๋ณด๊ธฐ
- ajax ์์๋ณด๊ธฐ
- fetch API ์์๋ณด๊ธฐ
- TypeScript
- Basic_Types ์ ๋ฆฌ
- Basic_Function ์ ๋ฆฌ
- ์์ฑ์์ ์ฌ์ฉ์์ ๊ด์ ์ผ๋ก ์ฝ๋ ๋ฐ๋ผ๋ณด๊ธฐ
- Structural Type System vs Nominal Type System
- ํ์ ํธํ์ฑ Type Compatibility
- ํ์ ๋ณ์นญ Type Alias
- TypeScript_Compiler
- constructor, Access Modifier, Getter & Setter
- ์ธํฐํ์ด์ค (interface)
- ์ธํฐํ์ด์ค2 (interface2)
- ํด๋์ค (class)
- Generic ์์๋ณด๊ธฐ
- Node.js ์์๋ณด๊ธฐ
- npm ๊ธฐ์ด ๋ช ๋ น์ด
- ํจํค์ง ์ค์น์ ์ญ์
- ๊ธฐํ ๋ช ๋ น์ด ๋ชจ์
- package.json ์์ฑ
- ์๋ฒ ๊ตฌ์ถํด๋ณด๊ธฐ
- Git
- Git ๋ฒ์ ํ์ธํ๊ธฐ
- git ๊ธฐ์ด ๋ฌธ๋ฒ ์ ๋ฆฌ
- branch์ ๋ฆฌํผ์งํ ๋ฆฌ ๊ด๋ฆฌ
- ๋ค๋ฅธ ์ฌ๋์ Repository ๊ฐ์ ธ์ค๊ธฐ
- commit๊ณผ ๋ฒ์ ๊ด๋ฆฌ
- ์๊ฒฉ์ ์ฅ์ ๋๊ธฐํํ๊ธฐ
- pull request ์์๋ณด๊ธฐ
- git log์ ์ฌ์ฉ๋ฒ
- ์ถฉ๋ ๋ฐฉ์งํ๊ธฐ
- GitHub ๊ฐ๊ฐ์ง ์ฉ์ด์ ๋ฆฌ
- git/github Issue๋?