|
|
|
|
|
|
π¦₯ κΉμ’ μ π¦₯ | π¬ μ μμ§ π¬ | π° νμλ―Ό π° | π»ββοΈ κΉνμ π»ββοΈ | π± μ΄μ§μ π± | πΉ μ΄μ£Όν¬ πΉ |
Team Leader | Backend | Backend | Backend | Backend | Backend |
ν΅κ³μ²μμ λ°νν μλ£μ λ°λ₯΄λ©΄ 2023λ 10μ μ¨λΌμΈ μΌν κ±°λμ‘μ μ λ λλΉ 11.8% μ¦κ°ν 20μ‘° 905μ΅ μμ λ¬νμ΅λλ€. μ΄λ¬ν μ±μ₯ μΆμΈμ λ°λ§μΆ°, Twofaangμ μ¬μ©μμκ² νΈλ¦¬νκ³ λΉ λ₯Έ μΌν κ²½νμ μ 곡νκΈ° μν΄ νμνμ΅λλ€. μ°λ¦¬λ μλΉμμ νλ§€μ λͺ¨λμκ² ννμ μ 곡ν μ μλ νλ«νΌμ λͺ©νλ‘ νκ³ μμ΅λλ€.
Twofaangμ μ¬νν μΈν°νμ΄μ€μ κ°λ ₯ν κΈ°λ₯μ μ 곡νλ μ¨λΌμΈ μΌνλͺ°μ λλ€. μ΄ νλ‘μ νΈλ λ°±μλ κΈ°μ μ νμ©ν΄ B2Cμ B2B κ±°λλ₯Ό ꡬννλ©°, λ€μκ³Ό κ°μ μ£Όμ κΈ°λ₯μ μ 곡ν©λλ€:
- π₯ νμ κ΄λ¦¬: νμ κ°μ ν, κ°μΈ λ§μΆ€ν μν μΆμ², ꡬ맀 λ΄μ μ‘°ν, 리뷰 μμ± λ±μ΄ κ°λ₯ν©λλ€.
- π λ€μν λ‘κ·ΈμΈ λ°©λ²: ꡬκΈ, λ€μ΄λ², μΌλ° λ‘κ·ΈμΈ κΈ°λ₯μ ν΅ν΄ κ°νΈνκ² μ κ·Όν μ μμ΅λλ€.
- β λ¬Έμ κΈ°λ₯: μν λ° λ°°μ‘μ κ΄ν λ¬Έμλ₯Ό ν΅ν΄ μ μν λ΅λ³μ λ°μ μ μμ΅λλ€.
- β 리뷰 κΈ°λ₯: μ νμ λν 리뷰λ₯Ό ν΅ν΄ λ€λ₯Έ μ¬μ©μμ κ²½νμ 곡μ ν μ μμ΅λλ€.
- νΈλ¦¬ν μ¬μ©μ κ²½ν μ 곡: μ¬μ©μ μΉνμ μΈ UI/UX μ€κ³
- ν¨μ¨μ μΈ λ¬Έμ ν΄κ²°: μ μν κ³ κ° μλΉμ€μ λ¬Έμ μ²λ¦¬
- μ λ’°μ± μλ μ 보 μ 곡: μμΈν μν μ 보μ 리뷰 μμ€ν
π¦₯κΉμ’ μ
λ°±μλ νλ‘μ νΈλ₯Ό μ§ννλ©΄μ νμλ€κ³Ό μν΅νκ³ μλ‘ λ°°μ°λ©° κ°λ₯΄μ³μ£Όλ κ³Όμ μ ν΅ν΄ μμ±ν μ μμμ΅λλ€. μ΄ κ³Όμ μ μ κ² ν° λμμ΄ λμμ΅λλ€. νΉν, λ‘κ·ΈμΈκ³Ό κ°μ νμ μΈμ¦ κΈ°λ₯μ ꡬνν΄λ³΄λ©° κ°λ°μ νμν μ’μ κ²½νμ μμμ΅λλ€. λν, GitHubμ ν΅ν νμ κ²½νμ΄ λΆμ‘±νμ§λ§, commit, push, pull, pull request λ±μ κ³Όμ μ λ°λ³΅νλ©΄μ Gitμ λ§μ΄ μ΄ν΄νκ² λμ΄ λΏλ―ν©λλ€. λΆμ‘±ν λΆλΆμ μλ‘ λ³΄μνλ©° μν΅νλ €κ³ λ Έλ ₯ν νμλ€μκ² κ°μ¬νκ³ , λ€μ νλ‘μ νΈμμλ λ λ€μν κΈ°μ κ³Ό νλ μμν¬λ₯Ό νμ©νμ¬ λ μμ±λ λμ μλΉμ€λ₯Ό λ§λ€μ΄λ³΄κ³ μΆμ΅λλ€.
π¬μ μμ§
νμλ€λ‘λΆν° λ§μκ±Έ λ°°μΈ μ μλ μμ€ν μκ°μ΄μμ΅λλ€. μμ€νΈλ¦¬λ₯Ό μ΄μ©ν΄μ pull, push λ±μ νμλ€κ³Ό νλ‘μ νΈμ μ¨λ³΄λ©΄μ μ΄λ»κ² μλ‘ μν΅νκ³ νμ νλ©΄μ μ½λλ₯Ό ν©μΉλμ§μ λν΄ λ°°μΈ μ μμμ΅λλ€. κ·Έλ¦¬κ³ λ€λ₯Έ νμμ μμ€μ½λλ₯Ό 보며 λ€λ₯Έ κΈ°λ₯λ€μ μ΄λ»κ² ꡬννλμ§ λ³΄λ©΄μ λ§μ λΆλΆλ€μ λ°°μ μ΅λλ€. κ³ μν μ°λ¦¬ νμλ€ λͺ¨λ κ°μ¬λ립λλ€. μκ³ νμ ¨μ΅λλ€.
π°νμλ―Ό
μ΄λ² λ°±μλ νλ‘μ νΈλ₯Ό νλ λμ μ€μ¨κ±°λ‘ ν μ€νΈ νλκ²λ μ’μ§λ§ νλ©΄μ΄ μμΌλ©΄ μ’ λ μ§κ΄μ μΌλ‘ 보μΌκ±°λΌλ μκ°μ μμ λ λ°°μ λ νμ리νλ₯Ό ν΅ν΄ νλ©΄μ λ§λ€μ΄ 보μλλ° μκ°λ³΄λ€ μκ°μ΄ λ§μ΄ λ€μ΄λͺ¨λ νλ©΄μ λ§λ€μ§ λͺ»νλκ² μ’ μμ¬μ λ€. λμ μ νλ©΄μ λͺ»λ§λ κΈ°λ₯μ κ²½μ°μλ RestAPIλ‘ λ§λ€μ΄μ μ€μ¨κ±°λ‘ ν μ€νΈλ₯Ό νμλ€. μ°μ΅νλ νλ‘μ νΈμμ λκ°μ§ κ²½μ°λ₯Ό λͺ¨λ μ°μ΅ν΄λ³΄λ κ±°λκΉ μ€νλ € μ’μμ§λ? λ¬΄νΌ μ λ§λ¬΄λ¦¬ν΄μ λ€νμ΄λ€.
π»ββκΉνμ
μ½ 1λ¬ κ°μ νλ‘μ νΈμμ μλ°, μ€νλ§, JPA, MariaDB λ± κΈ°μ μ μΌλ‘ λ§μ΄ νμ΅νκ³ μ μ©ν΄λ³Ό μ μλ μμ€ν μκ°μ΄μμ΅λλ€. κΈ°μ μ μΈ μ±μ₯λ μλ―Έ μμ§λ§ Gitμμ Originκ³Ό λ‘컬, Pullκ³Ό Push, Mergeμ Pull Requestμ λν νμ€ν μ΄ν΄κ° μκΈ΄ κ²μ΄ κ°μ₯ ν° μλ―Έλ₯Ό κ°μ§λ€κ³ μκ°λ©λλ€. μμΌλ‘ λ¨μ νλ‘ νΈ, λ°λΈμ΅μ€ κ·Έλ¦¬κ³ μ΅μ’ νλ‘μ νΈμμ μ΄λ² νλ‘μ νΈμμ λ°°μ΄ μ λ€μ μ κ·Ήμ μΌλ‘ νμ©ν΄μΌκ² λ€λ μκ°μ΄ λ€μμ΅λλ€.
πΊμ΄μ§μ
DBλ‘ μ§νν νλ‘μ νΈ λ³΄λ€ νμ€ν μ΄λ€μμΌλ‘ λμνλμ§ λμ 보μΈλ€λ μ μ΄ μ’μλ€. λΆμ‘±ν λΆλΆμ΄ λ§λ€κ³ μκ°μ΄ λ€κΈ΄ νμ§λ§ νμλ€ λλΆμ λ§μ μ΄λ €μμ κ²ͺμ§ μκ³ νλ‘μ νΈλ₯Ό μ§νν μ μμλ κ² κ°λ€. λν μμ μκ°μ λ°°μ΄ κ²μ μ΄λ² νλ‘μ νΈμμ μ΅λν λ§μ΄ μ¨λ³΄μ λ§νλ κ²μ²λΌ νλ‘μ νΈλ₯Ό μ§ννλ©΄μ μμ μμ λ°°μ λ λ΄μ©λ€μ λ€μ νλ² μ¨λ³Ό μ μμκ³ μ΄ν΄κ° κ°μ§ μμλ λΆλΆλ€λ ν΄κ²°λλ κ² κ°μ μ’μλ€.
πΉμ΄μ£Όν¬
μ΄λ² νλ‘μ νΈλ₯Ό ν΅ν΄ Swaggerμ Springμ λ€λ£¨λ κ²½νμ μμ μ μμκ³ , μμ μκ°μ νμ΅ν λ΄μ©μ μ€μ λ‘ μ μ©νλ κΈ°νλ₯Ό κ°μ‘μ΅λλ€. λλΆμ λ°±μλ κΈ°μ μ λν μ΄ν΄λκ° ν¬κ² ν₯μλμμΌλ©°, API λ¬Έμν λ° κ΄λ¦¬, λ°μ΄ν° μ²λ¦¬μ λν μ€μ§μ μΈ μ§μμ μ»μ μ μμμ΅λλ€. νλ‘μ νΈ μ§ν μ€ λΆμ‘±ν λΆλΆμ΄ λ§μλ μ μκ² μλμμ΄ μ§μμ 곡μ ν΄μ£Όμκ³ μ§μν΄μ£Όμ 2% νμλ€κ» κΉμ κ°μ¬λ₯Ό λ립λλ€. μ¬λ¬λΆ λλΆμ λ§μ κ²μ λ°°μΈ μ μμκ³ , νλ‘μ νΈλ₯Ό μ±κ³΅μ μΌλ‘ λ§λ¬΄λ¦¬ν μ μμμ΅λλ€. λͺ¨λκ° λ°€μκ°λ©° μ΄μ¬ν λ Έλ ₯ν λλΆμ μ’μ κ²°κ³Όλ₯Ό μ»μ μ μμμ΅λλ€. μ λ§ μκ³ λ§μΌμ ¨μ΅λλ€!
-
μν λ±λ‘ μν 'λκΈ°' μ€μ
- κ΄λ¦¬μκ° μνμ λ±λ‘ν λ, μνμ μνλ₯Ό 'λκΈ°'λ‘ μ€μ νμ¬ μλΉμ€ μμ μμλ§ λ±λ‘λλλ‘ ν΄μΌ ν¨.
- μ΄λ μν μ 보(μ: κΈμ‘) λ±λ‘ μ€μλ‘ μΈν΄ νμμ΄ μλͺ»λ μνμ ꡬ맀νλ κ²μ λ°©μ§νκΈ° μν¨.
-
μν μμ λ°©μ κ°μ
- κ΄λ¦¬μκ° μνμ μμ ν λ, μ¦μ μμ νμ§ λ§κ³ μνκ°μ λ³κ²½νμ¬ μν μ 보λ₯Ό νμΈν μ μλλ‘ ν΄μΌ ν¨.
-
API λͺ μΈμ μμ± κ°μ
- API λͺ μΈμ μμ± μ, URLμ IDλ DTOκ° νμν κ²½μ° ν΄λΉ DTOλ IDμ λν μ€λͺ μ λͺ μν΄μ£Όλ©΄ μ’μ.
-
μ€μΌμ€λ¬ λμ κ²ν
- νμ¬ μ€μΌμ€λ¬λ₯Ό μ¬μ© μ€μ΄λ, μ€νλ§ λ°°μΉλ₯Ό μ¬μ©νλ κ²μ κ³ λ €ν΄ λ³Ό κ².
-
λΉλ°λ²νΈ μ ν¨μ± κ²μ¬ κ°ν
- λΉλ°λ²νΈκ° λ무 μ§§μ κ²½μ° κ²½κ³ μ°½μ λμ°λλ‘ νκ³ , λλ―Έ λ°μ΄ν°λ‘ ν μ€νΈν λλ μ§§μ λΉλ°λ²νΈμ κΈ΄ λΉλ°λ²νΈλ₯Ό λͺ¨λ μλν΄ λ³Ό κ².