μΈμμ surfing μ νλ κ²μ²λΌ μ¦κ²μ§λ§, suffering λν νΌν μ μλ€.
νΌν μ μλ€λ©΄ κΈ°λ‘νκ³ κ³΅μ νμ! Surf λ₯Ό ν΅ν΄ ππββοΈπππ»ββοΈ
Surfμ λ°±μλ λ ν¬μ λλ€ π
μ΅μΉμ | λ°μλΉ | λ°μ λ―Έ | μ ν¨ν¬ |
---|---|---|---|
νμ₯, κ°λ°μ | μ€ν¬λΌ λ§μ€ν°, κ°λ°μ | κ°λ°μ | κ°λ°μ |
μ΄μ¬ν λ¬λ €μ¨ λ μμ ! μ΄μ¬νλ νκ³ μλλ° λ΄κ° μΌλ§λ λ°μ νλμ§ κΈ°λ‘νλ 곡κ°μ μμκΉ? κ·Έλ₯ μΌκΈ°λ λ©λͺ¨μ₯μλΌλ μ μ μ μκ³ , λΈλ‘κ·Έλ μ΄λ―Έ 무μν μ‘΄μ¬νκ³ , μλ€λ₯Έ λ°©λ²μΌλ‘ λκΈ°λΆμ¬ λ°κ³ κΈ°λ‘νκ³ κ³΅μ νλ κ·Έλ° κ³΅κ°μ΄ νμν΄! πββοΈ
- μ±μ₯곑μ μΌλ‘ νλμ λ΄ μΈμμ λμ보기
- λ¨λ€μ μ±μ₯곑μ μ 보며 λκΈ°λΆμ¬λ λ°κΈ°
- 곑μ μ νΉμ ꡬκ°λ§λ€ κΈ°λ‘λ λ¨κΈ°κΈ°
- 곑μ μ΄ μλ κΈ°λ‘λ€λ§ λͺ¨μμ 보기
- νμνλ€λ©΄ ν¬νΈν΄λ¦¬μ€λ‘λ μ¬μ© κ°λ₯νκΈ°
κ°λ° νκ²½
- Springboot λ‘ μΉ μ΄ν리μΌμ΄μ μλ²λ₯Ό ꡬμΆνμ΄μ.
- λΉλλꡬλ Gradleμ μ¬μ©νμ΄μ.
- λ€μν κΈ°λ₯κ³Ό μμ μ±μ μν΄ LTS λ²μ μΈ Java 17 λ²μ μ μ¬μ©νμ΄μ.
- Spring Data JPA(Hibernate) λ‘ κ°μ²΄ μ§ν₯ λ°μ΄ν° λ‘μ§μ μμ±νμ΄μ.
- QueryDSL λ‘ μ»΄νμΌ μμ μ SQL μ€λ₯λ₯Ό κ°μ§ν΄μ. JPA μΈν°νμ΄μ€λ‘ ν΄κ²°νκΈ° νλ λμ μ΄κ³ 볡μ‘ν queryλ₯Ό 보μνκ³ λ κ°λ μ± λμ μ½λλ₯Ό μμ±ν μ μμ΄μ.
- λ°μ΄ν°λ² μ΄μ€λ MySQLμ μ¬μ©νμ΄μ.
Infrastructure
- AWS EC2λ₯Ό μ¬μ©ν΄ μλ²λ₯Ό ꡬμΆνμ΄μ.
- S3 λ‘ νμΌμ μ λ‘λνκ³ λ³΄κ΄ν΄μ.
νμ κ΄λ¦¬
- Github Issue μΌλ‘ μ΄μλ₯Ό κ΄λ¦¬ν΄μ.
- Git-flow μ λ΅μ μ¬μ©νμ¬ λΈλμΉλ₯Ό κ΄λ¦¬ν΄μ.
- Slack / Gather / Notion μΌλ‘ μν΅ν΄μ.
- Postman μΌλ‘ μμ±ν API λ¬Έμλ₯Ό ν΅ν΄ ν΄λΌμ΄μΈνΈμ μν΅ν΄μ.
CI/CD
- Github Actions λ‘ λΉλμ ν μ€νΈλ₯Ό κ²μ¬ν΄μ.
- Jenkins λ‘ λ°±μλ μ½λμ μ§μμ μΈ λ°°ν¬λ₯Ό μ§νν΄μ.
- Codacy λ‘ μ§μμ μΈ μ½λ νλ¦¬ν° κ°μ μ μ§νν΄μ.
- JACOCO λ‘ ν μ€νΈ 컀λ²λ¦¬μ§λ₯Ό κ²μ¬ν΄μ.
- Flyway λ‘ λ°μ΄ν°λ² μ΄μ€ λ²μ μ κ΄λ¦¬ν΄μ.
Security
- Spring Security λ₯Ό μ¬μ©νμ΄μ.
- λ‘κ·ΈμΈ μμλ JWT ν ν°μ λ°ννμ¬ μλ²μ λ³λ μ μ₯μ μμ΄ λ‘κ·ΈμΈμ μ μ§ν μ μμ΄μ.
- CertBot μΌλ‘ Letβs Encrypt SSL μΈμ¦μλ₯Ό λ°κΈλ°μμ΄μ.
- Nginx κ° νλ‘μλ‘ 8080 ν¬νΈλ₯Ό λ°λΌλ³΄κ² μ€μ νμ΄μ.
πMoSCoW ꡬ경κ°κΈ°
πSURF API μ€κ³ ꡬ경κ°κΈ°
πPostman API λͺ
μΈμ
λ‘κ·ΈμΈ | λ©μΈ νλ©΄ - Surf 첫 νμ΄μ§ | λ©μΈ νλ©΄ - νΉμ category μ ν |
---|---|---|
κ²μκΈ μμ± | 무ν μ€ν¬λ‘€ | λ§μ΄ νμ΄μ§ - λ΄ μ 보 μμ |
---|---|---|
λμ보λ | μΉ΄λ νμ΄μ§ | μΉ΄λ νμ΄μ§ - ν΄λΉ μλ³ κΈ°λ‘ λ¦¬μ€νΈ |
---|---|---|
λ§μ΄ νμ΄μ§μμ μ΄λ |
μ°λλ³ νν°λ§, ν΄λΉ λ¬μ μμ± μΌμ νμΈ κ°λ₯ |
μΉ΄λ μ νμ |