๊ธฐ์ ๋ธ๋ก๊ทธ๋ก ์ด์ ํ์์ต๋๋ค.
Study DevOps & Backend
๋ถ์กฑํ ๋ถ๋ถ ๋๋ ์คํ ๋ฐ๊ฒฌ์ ์ธ์ ๋ PR๋ ๋ ค์ฃผ์ธ์. ๐๐
๊ธฐ์ฌ์์๋ ๊ท์น์ ๋ฐ๋ผ ์์ฑ ๋ถํ๋๋ฆฝ๋๋ค๐
๋, ๊ด๋ จํด์ ์์์ผ๋ฉด ํ๋ ๊ธ์ด ์๋ค๋ฉด ์ด์๋ก ๋จ๊ฒจ์ฃผ์ ๋ ๋ฉ๋๋ค! (PR๋ ํ์ํฉ๋๋ค โค๏ธ)
Thanks goes to these wonderful people (emoji key):
์ ์ฐฌํ ๐ |
Kim Beom Jin ๐ |
Hanjunho ๐ ๐ |
ํ์ ํ ๐ |
๊นํ์ ๐ |
This project follows the all-contributors specification. Contributions of any kind welcome!
[TOC]
์ํํธ์จ์ด ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก
๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ(OOP)
-
HTTP -- ์ถ๊ฐ
-
API
-
REST API -- ์ถ๊ฐ
-
SOAP
-
REST vs SOAP
-
Proto3
-
Json vs Xml
-
๋ธ๋ผ์ฐ์ ์ ๋์ ์๋ฆฌ
-
DNS์ ์๋ ์๋ฆฌ
-
๋๋ฉ์ธ ๋ค์
-
ํธ์คํ
-
JWT
-
- CORS
- CSRF
-
ActiveMQ
-
RabbitMQ
-
- ํญํฌ์(waterfall) ๋ชจํ
- ๋์ ํ ๋ชจํ
- ํ๋กํ ํ์ ๋ชจํ
- ์ ์์ผ ๋ชจํ
- ์ปดํฌ๋ํธ ๊ธฐ๋ฐ(CBD) ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก
- ๊ตฌ์กฐ์ ๋ฐฉ๋ฒ๋ก
- ๊ฐ์ฒด์งํฅ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก
- ์ ๋ณด๊ณตํ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก
- EC2 ๋ณด์ ์ทจ์ฝ์
- VPC(Virtual Private Cloud)์ ์ค์ ์ ์ฉ ์ฌ๋ก
- S3 ํผ๋ธ๋ฆญ ์ก์ธ์ค
- ์ธ๋ถ๋ก๋ถํฐ ์์ ํ EC2, RDS๋ฅผ ๊ตฌ์ถํ๊ธฐ
- AWS ํค์๋ ์ ๋ฆฌ
- ECR private ์ ์ฅ์ pull ๋ฐ๋ ๋ฒ
- EC2 SSM ํ์ฉํ๊ธฐ
- Public subnet vs Private subnet
- ECR๊ณผ ๋๋ค๋ฅผ ํ์ฉํด CD ๊ตฌ์ถํ๊ธฐ
- S3์ ์ธ์ฆ์๊ฐ ์ฌ๋ฐ๋ฅด์ง ์๋ค๊ณ ๋ฐ ๋ ํด๊ฒฐ๋ฒ
- Monolithic(๋ชจ๋๋ฆฌ์)
- SOA
- SOA vs Monolithic
- MSA vs SOA
- MSA vs Monolithic
- CQRS
- ServerLess
- Event-driven architecture
- Coupling์ด๋
- ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ
- ๊ฐ์ฒด์งํฅ 5๋ ์์น
- ๋์ ์์ง๋์ ๋ฎ์ ๊ฒฐํฉ๋
- Service ๊ตฌํ์ฒด๋ฅผ ์ถ์ํ ํ๋๊ฒ์ ๋ํด
- DI๋
- IoC๋ -- ์ถ๊ฐ
- ์๋น์ค ๋ก์ผ์ดํฐ(SL)๋?
- DI vs IoC vs DIP
- ๋๋ฏธํฐ ๋ฒ์น์ด๋
- IoC vs Factory Pattern
- ๋ฌธ๋งฅ๊ตํ
- ํ๋ก์ธ์ค vs ์ค๋ ๋
- ๋ฉํฐ ํ๋ก์ธ์ค vs ๋ฉํฐ ์ค๋ ๋
- ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
- ๋์์ฑ vs ๋ณ๋ ฌ์ฑ
- ๋๊ธฐ vs ๋น๋๊ธฐ, ๋ธ๋กํน vs ๋ ผ๋ธ๋กํน
- TCP/UDP
- JVM
- ์๋ฐ ์ค๋ ๋
- GC ๊ตฌ๋์๋ฆฌ
- Reactive Stream
- SQL
- MySQL
- Oracle
- PostgreSQL
- NoSQL
- Redis
- MongoDB
- ELK๋?
- ELK Stack๋ฅผ ๋์ปค๋ก ๊ตฌ์ถํด๋ณด์!
- LogStash jdbc์์ ๊ฐ์ ์ค๋ณต์ผ๋ก ๊ฐ์ ธ์ฌ ๋
- ELK๋ก ๊ฒ์์์ง ๊ตฌ์ถํ๊ธฐ(mysql)
- FileBeat์์ ๋ก๊ทธํ์ผ ์ ๊ทผํ ๋ permission denied
- Spring Boot์์ Request Parameter๋ฅผ ๊ฐ์ฒด๋ก ๋ฐ๋ ๋ฒ
- @Query์์ FK๋ก ๊ฐ์ฒด๋ฅผ ์ฐพ๋ ๋ฒ
- ์์์์ @Builder ์ฌ์ฉํ๊ธฐ
- Spring Boot์์ UUID ์ฌ์ฉํ๊ธฐ
- ํ ์คํธ ์ Spring Security ์ธ์ฆํ ์ ์๋ ์ด๋ ธํ ์ด์
- ํ ์คํธ๋ฅผ ์ ์ธํ๊ณ Spring Buildํ๋ ๋ฒ
- ์ฐ๊ด๊ด๊ณ ํธ์ ๋ฉ์๋
- ๋์์ฑ ๋ฌธ์ ๋ฅผ ์ ์ดํ๋ ๋ฐฉ๋ฒ
- static ๋ณ์์ @Value ์ฌ์ฉํ๊ธฐ
- @Value๊ฐ์ด null๋ก ๋ค์ด๊ฐ ๋ ํด๊ฒฐ๋ฒ
- Random๊ณผ SecureRandom ์ฐจ์ด
- Security์์ Session ์ ์ฑ ์ค์ ํ๊ธฐ
- Request Dto์์ @Builder ์ฌ์ฉ ์ ์ด์ํ ์
- Properties ๋๋ Yml์์ ๊ธฐ๋ณธ๊ฐ ์ค์ ํ๋ ๋ฒ
- Jwt Filter๊ฐ ๋ ๋ฒ ํธ์ถ๋ ๋
- List์์ ๊ฐ์ Validation ํ๋ ๋ฒ
- Spring Bean์ ์ํ๋ฅผ ๊ฐ์ ธ๋ ๋๋๊ฐ
- Spring Boot Exception ํจ์จ์ ์ธ ์ฒ๋ฆฌ๋ฐฉ์
- Spring boot์์ CORS ์ค์ ์ ํด๋ CORS๊ฐ ๋จ๋ ๊ฒฝ์ฐ ํด๊ฒฐ๋ฒ
- Spring Boot ํตํฉ ํ ์คํธ ์ค์ ํ๊ธฐ
- Entity์์ @Id column์ ํ์ (Wrapper Type)
- Spring ์์ Aws ์์กด์ฑ์ฌ์ฉ ์ WARN ๋ฉ์ธ์ง
- Jackson์์ ๋ถํ์ํ ์ค๊ดํธ๋ฅผ ์์ ๋ ๋ฒ
- Jarํ์ผ ์ธ๋ถ์ ํ์ผ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ
- Entity์์ ์๋ณ๊ด๊ณ ๋งคํํ๊ธฐ
- Log4j vs Slf4j
- Request Wrapper๋ฅผ ๋ง๋๋ ์ด์
- Spring Boot์์ CORS ๋ฉ์๊ฒ ํด๊ฒฐํ๋ ๋ฒ
- Spring Boot SocketIO ์ฌ์ฉํ๊ธฐ
- ์ผ๋์ผ ์๋ฐฉํฅ ๋งคํ์ ํฐ ๋จ์
- @PrimaryKeyJoinColumn์ด๋
- Mockito when์์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ธ์ค๊ธฐ
- Spring Boot Admin ๊ตฌ์ถํ๊ธฐ
- Spring Boot์์ DB์ธ๋ฑ์ฑํ๊ธฐ
- @Transactional์ ์ข ๋ฅ
- Kopring ์์ ์ค์ ํ๊ธฐ
- ํด๋์ค ์์ ์ ๋ถ๋ชจ ํ๋ Builder
- JUnit5์์ ํ ์คํธ ์์ ์ ํ๊ธฐ
- Spring Unit Test
- JPA์์ Modifying์ฌ์ฉ ์ ์ฃผ์์
- Jpa์์ ๋ณตํฉํค ์ฟผ๋ฆฌ๋ฉ์๋ ๋ง๋๋๋ฒ
- Spring Boot Filter ํ ์คํธํ๊ธฐ
- sub-project jacoco report ํฉ์น๊ธฐ
- @SuperBuilder์ ํ์ํ ์์ฑ์
- @Query๋ก ๋ณ๊ฒฝ, ์ญ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ ๋ ๋ฐ์ํ๋ ์๋ฌ ํด๊ฒฐ๋ฒ
- Bean์ ์์ฑ ์์๋ฅผ ์ ํ๊ณ ์ถ์ ๋
- DB์์ ๊ฐ์ ๊ฐ์ง๊ณ ์ฌ ๋ "loaded object was of wrong class class"๊ฐ ๋ฐ์ํ ๋
- Dispatcher Servlet ์ด์ ์ ๋ฐ์ํ ์์ธ ์ฒ๋ฆฌ
- Embedded Redis Slf4j ์ค๋ฅ ํด๊ฒฐ
- Embedded Redis ์ฌ์ฉ ์ ์๋ฌ
- JPA์์ ์ปค์คํ delete... ํจ์๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ํ๋ ์์ธ ํด๊ฒฐ๋ฒ
- Mockito cannot mockspy because - final class ํด๊ฒฐ๋ฒ
- Querydsl ์ฌ์ฉ ์ Cannot find symbol ์ค๋ฅ ๋ฐ์
- ๋ถ๋ชจ ๊ฐ์ฒด์์ ์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ฌ ๋ no Session ์๋ฌ(parallelStream)
- ์์ฒญ์ ๋ณด๋์ ๋ Filter์์ ๋ฐ์ํ Exception ๋๋ฌธ์ CORS๊ฐ ๋ฐ ๋ ํด๊ฒฐ๋ฒ
- Spring ์์ธ ํธ๋ค๋ง
- NestJs ๋ฐฐํฌ ์๋ํํ๊ธฐ
- NestJs๋ก Jwt ์ธ์ฆํ๊ธฐ
- AdminJS(AdminBro)๋ก ์ด๋๋ฏผ ๊ตฌ์ถํ๊ธฐ
- Typeorm camelcase ๋งคํํ๊ธฐ
- NestJs์ MongoDB๋ก ์์น์ ๋ณด ์ฌ์ฉํ๊ธฐ
- NestJS์์ Strategy Pattern ์ ์ฉํ๊ธฐ
- ManyToOne ์กฐํ ์ undefined
- ํ๊ฒฝ๋ณ์ ๊น๋ํ๊ฒ ๊ด๋ฆฌํ๊ธฐ
- [์ฐ์์ฝ2020] ๋ฐฐ๋ฌ์๋ฏผ์กฑ ๋ง์ดํฌ๋ก์๋น์ค ์ฌํ๊ธฐ
- [ํตํด]์ฟ ํก ์ถ์ ๊ฐ๋ฐ์์ ์ฅ์ ๋ฆฌ์คํฌ ์์ด ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ