μ΄λ€ λ°©ν₯μΌλ‘ 곡λΆν΄μΌν μ§ λͺ¨λ₯΄λ λ°±μλ μ·¨μ€μλ€μ μν΄ λμμ μ£Όκ³ μ λ°±μλ λ‘λλ§΅μ μμ±νκ² λμμ΅λλ€. μ κ° κ°λ°μλ‘ μ»€λ¦¬μ΄λ₯Ό μκ³ κ³΅λΆνλ©΄μ μ»μ κ²½νκ³Ό μκ°μ λ°νμΌλ‘ λ‘λλ§΅μ μμ±νκΈ° λλ¬Έμ μ±ν₯μ λ°λΌ μλ§κ±°λ μ΄κ² μ λ΅μ΄ μλ μ μκΈ° λλ¬Έμ ν΄λΉ λ‘λλ§΅μ μ νν΄μ 곡λΆνλ κ²μ λ³ΈμΈ μ νμ λ°λΌμΌν©λλ€.
μΌλ¨ μ¬λ¬κ°μ Stepμ ν΅ν΄ λμ΄ν κ±΄λ° Stepμ μμλ₯Ό μλ―Ένκ³ μ΅λν μμμ λ°λΌ νλκ²μ κΆμ₯ν©λλ€. νμ§λ§ λ΄κ° ν΄λΉ λ΄μ©μ λν΄ μκ³ μκ±°λ νλ©΄ 건λλ°μ΄λ λ©λλ€.
νλ‘κ·Έλλ° μΈμ΄μ λν΄ μ μμ§λͺ»νκ±°λ μμ λͺ»νλ λΆλ€μ μν λ¨κ³μ λλ€. ν΄λΉ λ¨κ³μμλ νλ‘κ·Έλλ°μ μ΄λ»κ² ν μ μλμ§ μ΄ν΄νλκ² κ°μ₯ μ€μνκΈ° λλ¬Έμ κΈ°λ³Έμ μΈ λ¬Έλ²λ€μ λν΄ μ΄ν΄νκ³ νμ΄νμ΄ μ΅μν΄μ§ μ μλλ‘ μ± μ΄λ κ°μλ§ λ³΄κΈ°λ³΄λ¨ μ§μ μ½λλ₯Ό μμ±νλ κ²μ μ΅μν΄μ§ λ€μ ν΄λΉ λ¨κ³λ₯Ό λμ΄κ°μλκ²μ μΆμ²ν©λλ€.
- Python(κΆμ₯)
- νλ‘κ·Έλλ°μ΄ μ²μμ΄μλΌλ©΄ κ°μΈμ μΌλ‘ λΉκ΅μ μ¬μ΄ PythonμΌλ‘ μμνλ κ²μ κΆμ₯ν©λλ€.
- Java(κΆμ₯)
- Pythonμ νκ³ κ³΅λΆν΄λ³΄λ©΄ λ μ’μ΅λλ€.
- Kotlin(νν¨)
- λ΄κ° μ’ λ νν΄μ§κ³ μΆλ€λ©΄ 곡λΆνλ κ²μ μΆμ²ν©λλ€.
μ΄μ λ¨κ³λ₯Ό μ μμ νμ ¨λ€λ©΄ μ΄μ λλ μ΄λμ λ μ½λ©μ ν μ μλ€ ν μ μλλ°μ μ΄μ λ μ½λ©μ μ’ λ μνκΈ° μν λ°©λ²λ€μ νμ΅ν΄μΌν©λλ€.
ν΄λΉ λ¨κ³μμ μΆμ²νλ건 μλ£κ΅¬μ‘°, μκ³ λ¦¬μ¦μΈλ° λ¨Όμ μλ£κ΅¬μ‘°μ λν΄ νμ΅νκ³ μκ³ λ¦¬μ¦μ 곡λΆνλ κ²μ΄ μ’μ΅λλ€. μ¬κΈ°μλ λ€μν μλ£κ΅¬μ‘°μ λν΄ νμ΅νκ³ μ§μ ꡬνν΄λ³΄λ©΄μ μ΄λ»κ² μλ£κ΅¬μ‘°λ₯Ό λ§λ€ μ μλμ§ μ΄ν΄νκ³ κΈ°λ³Έμ μΈ μκ³ λ¦¬μ¦μ νμ΄λ³΄λ©΄μ ꡬνλ₯λ ₯μ λμ΄κΈ° μν λ¨κ³μ λλ€.
- κΈ°λ³Έμ μΈ μλ£κ΅¬μ‘°
- List
- Array
- HashTable
- LinkedList
- Queue, Stack
- Tree
- Heap
- μκ³ λ¦¬μ¦ κΈ°μ΄
νμ΄μ¬ μλ£κ΅¬μ‘°(Array, LinkedList, Stack, Queue, HashTable, Tree, Heap)
- λ§νλ κ³³ κΉμ§ μ΅λν νμ΄λ³΄κΈ°
νλ‘κ·Έλλ¨Έμ€ κΈ°μ΄μκ³ λ¦¬μ¦
- λ§νλ κ³³ κΉμ§ μ΅λν νμ΄λ³΄κΈ°
μ΄μ λ μ΄λμ λ κΈ°μ΄λ₯Ό μμκΈ° λλ¬Έμ μκ³ λ¦¬μ¦μ λ μ§μ€μ μΌλ‘ νμ΄λ³΄λ©΄μ λ¬Έμ ν΄κ²°λ₯λ ₯μ ν€μ°κ³ λ΄κ° μμ±ν μ½λμ μ±λ₯μ λμ΄κΈ° μν΄ μκ°λ³΅μ‘λμ 곡κ°λ³΅μ‘λ κ·Έλ¦¬κ³ λ€μν μκ³ λ¦¬μ¦μ λν΄ νμ΅ν©λλ€.
μκ³ λ¦¬μ¦μ λν΄ μ΅μν΄μ§κΈ° μν΄ ν μκ³ λ¦¬μ¦μ 곡λΆνκ³ ν΄λΉ μκ³ λ¦¬μ¦κ³Ό κ΄λ ¨λ λ¬Έμ λ₯Ό μ¬λ¬λ² νμ΄μ νλ κ²μ κΆμ₯ν©λλ€. μ²μμλ μ΅μνμ§ μμ λ§μ΄ μ΄λ ΅κ³ νλ€κ²λλ€. νμ§λ§ μ΅μνμ§ μκΈ° λλ¬Έμ μ΄λ €μ΄ κ²μ΄κ³ κΎΈμ€ννλ©΄ κΈλ°© 극볡ν μ μμκ±°μμ.
μ΅λν μ§μ μκ°ν΄μ λ΄κ° μκ³ μλ μκ³ λ¦¬μ¦μΌλ‘ ν μ μλμ§ κ³ λ―Όν΄λ³΄κ³ μ무리ν΄λ λͺ¨λ₯΄κ² λ€κ³ νλ©΄ λ΅μ΄ μ ν μ½λλ₯Ό λ³΄κΈ°λ³΄λ¨ λ΅μ λν μμ΄λμ΄λ§ μ΄ν΄νκ³ κ°μ Έμμ μ§μ ꡬνν΄λ³΄λ κ²μ μΆμ²ν©λλ€.
- (μκ°/곡κ°)볡μ‘λ
- μκ³ λ¦¬μ¦
- μκ° λ³΅μ‘λ
- λ°νΉλ μκ³ λ¦¬μ¦ κ°μ
- νλ‘κ·Έλλ¨Έμ€ 0~2λ 벨κΉμ§ νμ΄λ³΄κΈ°
- Solved AC Class 1~3κΉμ§ νμ΄λ³΄κΈ°
μ΄μ μλ£κ΅¬μ‘°λ μκ³ λ¦¬μ¦μ νλ©΄μ λ¬Έμ ν΄κ²°λ₯λ ₯μ΄λ ꡬνλ₯λ ₯μ λν΄ λ§μ΄ ν€μ μκ±°λΌκ³ μκ°ν©λλ€. μ΄μ λ μ½λλ₯Ό λ¨λ€μ΄ μ μ½μ μ μκ³ μ μ§λ³΄μλ₯Ό μν μ½λλ‘ λ°μ μν€κΈ° μν΄ κ°μ²΄μ§ν₯μ λν΄ μ΄ν΄νκ³ μ½λμ μ μ©ν μ μλλ‘ νμ΅νκ³ ν μ€νΈμ½λλ₯Ό μμ±νλ©΄μ λ¨λ€μ΄ μ μ΄ν΄ν μ μλ μ½λ λλ μ μ§λ³΄μμ μ©μ΄ν μ½λλ₯Ό μμ±ν μ μκ² ν©λλ€.
κ°μΈμ μΌλ‘ μ§μ μ½λλ₯Ό μ€κ³νλ©΄μ λ§μ΄ ν΄λ³΄λ©΄μ λ€λ₯Έ μ¬λμ μ΄λ»κ² μμ± νλμ§λ νμΈν©λλ€.
- κ°μ²΄μ§ν₯
- μ½λ μ€κ³ λ° κ΅¬ν
- ν μ€νΈ μ½λ μμ±
- κ°μ²΄μ§ν₯μ μ¬μ€κ³Ό μ€ν΄(μ ν)
- μ€λΈμ νΈ(κΆμ₯)
- μ€νλ§ μ λ¬Έμ μν μλ° κ°μ²΄ μ§ν₯μ μ리μ μ΄ν΄(κΆμ₯)
- μλ°μ JUnitμ νμ©ν μ€μ©μ£Όμ λ¨μ ν μ€νΈ(μ ν)
- git νμκ΄λ¦¬(κΆμ₯)
- μ°ν μ½ ν리μ½μ€(λ¨Όμ μΌλ¨ νΌμ μμ±ν΄λ³΄κ³ Pull Requestμ μ¬λΌμ¨ λ€λ₯Έμ¬λ μ½λλ νλ² λ΄λ³΄κΈ°) - κΆμ₯
Step 4λ₯Ό μ§ννλ©΄μ μ΄λμ λ κ°μ²΄μ§ν₯μ λν μ΄ν΄κ° μκΈ°μ ¨μκ²μ΄λΌ μκ°μ΄ λλλ€. μ΄μ μ½λ©μ μΈ λΆλΆμ μμ μ μ λκ³ μμΌλ‘ μ€μνκ²λ CSμ μ΄μ μ λ§μΆλ €κ³ ν©λλ€. κ°μ₯ μ€μν건 λ€νΈμν¬μ OSμΈλ° μ»΄ν¨ν° ꡬ쑰κ°μ κ²½μ°λ μ΄λ°μ λ무 κΉκ²νμ§ μκ³ μ€κ³½λ§ μ‘μΌλ©΄ μ’μ΅λλ€. μ κ° μΆμ²νλ μμλ 컴ꡬ κ°μ β OS β Network μ΄μμμ λλ€.
- μ»΄ν¨ν° ꡬ쑰μ λν κ°μ
- OS κΈ°λ³Έμ μΈ μ§μ
- Network OSI 7κ³μΈ΅μ λν κ°μ
- TCP/IP
- HTTP
- κΈ°μ΄ λ¦¬λ μ€
- νΌκ³΅ 컴ꡬ μ΄μ²΄
- μ»΄ν¨ν° λ°λ°λ₯μ λΉλ°
- OSTEP(μ΄μ체μ )
- KOCW μ΄μ체μ κ°μ
- μ¬μ΄ μ½λ μ΄μ체μ
- λλν κ°λ°μ λ€νΈμν¬ κ°μ
- λλν κ°λ°μ λ€νΈμν¬ μμ© κ°μ
- KOCW λ€νΈμν¬ κ°μ
- TCP/IP
- Hussein λ€νΈμν¬ κ°μ
- μ¬μ΄μ½λ λ€νΈμν¬ κ°μ
- μ±κ³΅κ³Ό μ€ν¨λ₯Ό κ²°μ νλ 1%μ λ€νΈμν¬ μ리
- μ»΄ν¨ν° λ€νΈμνΉ νν₯μ μ κ·Ό
- HTTP μλ²½ κ°μ΄λ
- 리λ μ€ μ λ¬Έμλ₯Ό μν λͺ λ Ήμ΄ μ¬μ
- λλ²κΉ μ ν΅ν΄ λ°°μ°λ 리λ μ€ μ»€λμ ꡬ쑰μ μ리
Step 5λ₯Ό μ λ§λ¬΄λ¦¬ νμ ¨λ€λ©΄ CSμ λν΄μλ μ΄λμ λλ μ μ μλ€κ³ ν μ μμ΅λλ€. μ΄λ₯Ό λ°νμΌλ‘ μ΄μ λ Spring Frameworkμ μ΅μν΄μ§κΈ° μν νμ΅μ νλλ‘ νκ² μ΅λλ€.
- Spring Framework
- DB κΈ°μ μμ΄ κ°λ¨ν κ²μν λ§λ€μ΄λ³΄κΈ° (tymeleaf + html + bootstrap μ΄μ©ν΄μ)
- νμκ°μ
(λΉλ°λ²νΈ λ¨λ°©ν₯ μνΈν μ μ©ν΄λ³΄κΈ°)
- μμ΄λ λΉλ°λ²νΈ λ°©μ
- λ‘κ·ΈμΈ (Spring Security μ¬μ© x)
- μΈμ λ°©μμΌλ‘ ꡬν
- κ²μκΈ μμ±
- κ²μκΈ κ²μ
- κ²μκΈ λͺ©λ‘ μ‘°ν
- κ²μκΈ μμΈ μ‘°ν
- νμκ°μ
(λΉλ°λ²νΈ λ¨λ°©ν₯ μνΈν μ μ©ν΄λ³΄κΈ°)
- μΈνλ° κΉμν
- Bootstrap
- Tymeleaf
- Spring μν νλ‘μ νΈ
- Spring κ²μν μν νλ‘μ νΈ
- Spring Validation
Step 6λ₯Ό μ§ννλ©΄μ Spring Frameworkμ λ§μ΄ μ΅μν΄μ‘μν λ° λ©λͺ¨λ¦¬μλ§ λ°μ΄ν°λ₯Ό μ μ₯νκ² λλ©΄ μλ²κ° λ€μ΄λλ©΄ λͺ¨λ λ°μ΄ν°λ₯Ό μκ²λ©λλ€. κ·Έλμ λ°μ΄ν°λ₯Ό λμ€ν¬μ μ μ₯νκΈ° μν κΈ°μ λ‘ λ°μ΄ν°λ² μ΄μ€κ° μ‘΄μ¬νλλ° λ°μ΄ν°λ² μ΄μ€μ λν΄ κ³΅λΆνκ³ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ λμ€ν¬μ μ μ₯νκ³ μ½μ μ μλλ‘ νμ΅ν©λλ€.
κΈ°μ‘΄μ λ©λͺ¨λ¦¬λ‘ λ§λ€μλ κ²μνμ DB κΈ°μ μ μ΄μ©ν λ°©μμΌλ‘ λ§μ΄κ·Έλ μ΄μ ν©λλ€. μΆμνλ₯Ό μ νμ ¨λ€λ©΄ ν¬κ² μ΄λ €μ μμ΄ μ μ₯μλ₯Ό λ°κΏ μ μμκ±°μμ.
- RDBMS
- ERD μ€κ³
- JPA Hibernate(μ ν)
- QueryDSL(μΆμ²)
- FLYWAY (μ ν)
- λ©λͺ¨λ¦¬λ‘ λ§λ€μλ κ²μν λ§μ΄κ·Έλ μ΄μ
- Spring Data JDBCλ₯Ό μ΄μ©ν΄μ κ°λ° (κΆμ₯) - λ³ΈμΈμ΄ μνλ κ²μΌλ‘ μ ν
- JPAλ₯Ό μ°κ³ μΆλ€λ©΄ Spring Data JPA νμ©
- MyBatisλ₯Ό μ΄λ€λ©΄ MyBatis νμ©
- DBλ MySQLμ μ¬μ©ν΄μ κ°λ°ν©λλ€.
- κ²μκΈ λͺ©λ‘ μ‘°ν νμ΄μ§λ€μ΄μ
μΆκ°
- Cusorbased pagination vs Offset pagination
- κ²μκΈ κ²μ κΈ°λ₯ μ±λ₯ ν₯μμ μν 리ν©ν λ§
- MySQL μ λ¬Έκ²μ Index νμ©ν΄λ³΄λλ‘
- μ’μμ μ‘°νμ κΈ°λ₯ μΆκ°
- λκΈ κΈ°λ₯ μΆκ°
- λλκΈ κΈ°λ₯ μΆκ°(μΆμ²)
- ERD μ€κ³
- Spring Data JDBCλ₯Ό μ΄μ©ν΄μ κ°λ° (κΆμ₯) - λ³ΈμΈμ΄ μνλ κ²μΌλ‘ μ ν
- μ¬μ΄μ½λ λ°μ΄ν°λ² μ΄μ€
- λ¬λ SQL
- μνμ½λ© κ΄κ³ν λ°μ΄ν° λͺ¨λΈλ§ κ°μ
- ERD CLOUD
- REAL MYSQL
- λ°μ΄ν°λ² μ΄μ€ μ νλΈ κ°μ
- Hussein λ°μ΄ν°λ² μ΄μ€ κ°μ
- FLYWAY (μ ν)
- μ€ν€λ§ νμ κ΄λ¦¬
- JPA (μ ν)
- μ±
- Spring Data JPA(JPAμ λν΄ μ λλ‘ μ΄ν΄νκ³ μ§ν μΌλ¨ Spring Data JPAλ₯Ό μ°μ§μκ³ νλ λ°©μμΌλ‘ λ¨Όμ μ§ν)
- Spring Data JDBC 곡μλ¬Έμ
- Spring Data JDBC κ΄λ ¨ κΈ
Step 7 μμ νλ‘μ νΈλ₯Ό μ΄μ μμ± νμΌλ λ°°ν¬λ₯Ό ν΄μΌνλλ° λ°°ν¬νλ κ³Όμ λ μ ν리μΌμ΄μ κ°λ°μκ° μμμΌνλ μμμ΄λΌκ³ μκ°ν©λλ€. κ°μΈμ μΌλ‘λ λ§μ΄ μ¬μ©νλ Github Actionκ³Ό AWS κΈ°λ°μΌλ‘ ν΄μ λ°°ν¬λ₯Ό νλ λ°©μμ λν΄ κ³΅λΆν©λλ€.
- CI/CD
- μ μ€ν¬λ¦½νΈ
- GIthub Action
- Load Balancer
- AWS
- S3
- EC2
- RDS
- VPC
- IAM
- ALB
- ECS(μ ν)
- Container νμ΅
- λ컀 μμ΄ μ»¨ν μ΄λ λ§λ€κΈ°
- AWS κ°μμ€ μ νλΈ
- Amazon Web Service μ½λ¦¬μ μ νλΈ
- AWS Certified Developer Associate κ°μ
μλ§ Stepμ μ λ°λΌμλ€λ©΄ μ΄μ μ΄λ€κ²μ λ ν΄μΌν μ§ λ³ΈμΈλ€μ΄ μ μλ μνκ° λμμν λ° μΆκ°μ μΌλ‘ μ κ°μΈμ μΌλ‘ νλ©΄ μ’μ κ² κ°μ κ²μ μΆμ²νλ €κ³ ν©λλ€.
- Go, Kotlin νλ‘κ·Έλλ°μΈμ΄
- λΆμ°μμ€ν
- NoSQL
- MongoDB
- Redis
- Apache Cassandra
- scylladb
- μμ€ν μ€κ³
- μννΈμ¨μ΄ μν€ν μ²
- μννΈμ¨μ΄ κ°λ° λ°©λ²λ‘
- DDD
- Agile
- λμμΈν¨ν΄
- JVM
- ν΅μ νλ‘ν μ½
- GRPC
- GraphQL
- WebSocket
- WebRTC
- μΈνλΌ
- ν΄λΌμ°λ
- Container
- λ‘κ·Έ μ€μν
- Container orchestration
- λ°μ΄ν° μ€μ¬ μ΄ν리μΌμ΄μ μ€κ³
- Design pattern
- Nosql - λ§ν΄ νμΈλ¬
- ν΄λ¦°μν€ν μ² - λ‘λ²νΈ λ§ν΄
- λ§λ€λ©΄μ λ°°μ°λ ν΄λ¦°μν€μ²΅μ² μ±
- MongoDB μλ²½κ°μ΄λ
- μννΈμ¨μ΄ μν€ν μ² λ° λκ·λͺ¨ μμ€ν μ€κ³ κ°μ
- μννΈμ¨μ΄ μν€ν μ² λ° μμ€ν μ€κ³ μ€μ μ¬λ‘ μ°κ΅¬ κ°μ
- κ°μ λ©΄μ μ¬λ‘λ‘ λ°°μ°λ λκ·λͺ¨ μμ€ν μ€κ³ κΈ°μ΄ 2
- 44bits
- μ λ‘ νΈλ¬μ€νΈ λ€νΈμν¬ μ±
- IBM Technology μ νλΈ
- MIT Distribute System μ νλΈ
- ByteByteGo μ νλΈ
- Tucker Programming μ νλΈ β GO μΈμ΄
- μ΅λ²κ· μ νλΈ
- Spanning Tree μ νλΈ
- Networking Class μ νλΈ
- Hussein Nasser μ νλΈ