λμ리μμ μ± κ°λ° νλ‘μ νΈμ μ°Έμ¬νκ² λμλλ°, λ΄κ° μ μμ μ°Έμ¬νκ³ μΆμ μμ΄λμ΄μ μ§μμλ₯Ό μ μΆνμ¬ λ½νλ λ°©μμΌλ‘ ν λΉλ©μ΄ μ΄λ£¨μ΄μ‘λ€.
μμ§ μ λλ‘ λ νλ‘μ νΈ κ²½νμ΄λΌκ³ ν λ§ν κ²μ΄ μμλ λλ 첫 λ²μ§Έ λͺ¨μ§μμ 맀μΉμ΄ λμ§λ λͺ»νμκ³ , λ λ²μ§Έ 맀μΉμμ SAVEλΌλ μ΄νμ λ§λλ νλ‘μ νΈμ μ°Έμ¬νκ² λμλ€.
ν¬κ² νλ‘ νΈμ λ°±μλ ννΈλ‘ ꡬμ±λμ΄ μμλλ°, κ·Έμ€μμ λλ λ°±μλ ννΈμ μνμ¬ κ°λ°μ μ§ννμλ€.
νλ‘μ νΈμ λͺ©μ
μλνλλ₯Ό μμ¬ν μ μλ μ ν©μ΄ μλλΌλ, μ¬λ¬ 볡μ‘ν μ΄μ λ‘ μ κ³ κΉμ§ μ΄μ΄μ§μ§ μλ μν©μ΄ μ‘΄μ¬ν μ μλ€.
μλνλλ₯Ό λͺ©κ²©νλ©΄ μ κ³ λ₯Ό ν μ μλ μ±μ μ΄λ―Έ μ‘΄μ¬νμ§λ§, μλνλκ° μμ¬λλ κ²½μ° κΈ°λ‘μ ν΄ λ μ μλ μ±μ μ‘΄μ¬νμ§ μμλ€.
λ°λΌμ μλνλκ° μμ¬λλ κ²½μ°μ κΈ°λ‘μ νκ³ μ κ³ κΉμ§ μ΄μ΄μ§ μ μλ κΈ°λ₯μ κ°μ§ μ΄νμ μ μνμ¬, μλνλ μμ¬ μ ν©μ΄ μλ€λ κ²λ§μΌλ‘λ μλ ꡬμΆλ‘ μ°κ²°λ μ μλ μμ€ν μ ꡬμΆνλ κ²μ λͺ©νλ‘ νμλ€.
μ¬μ©ν κΈ°μ μ€ν (λ°±μλ)
Java, Spring Boot
DB - MySql, RDS
μλ² - EC2, Nginx
κ·Έ μΈ - S3, CloudFront
λ°°μ΄ μ
λ‘컬μμλ λλλ°...
νλ‘μ νΈλ₯Ό μ§ννλ©΄μ κ°μ₯ μ΄λ €μ λ λΆλΆμ΄λ€. λλ₯Ό ν¬ν¨ν λ€λ₯Έ μλ² ννΈ λΆλ€μ λ‘컬 κ°λ°νκ²½μμλ μ λμν κ²μ νμΈν λ€μ μλ² λ°°ν¬λ₯Ό μ§ννλλ°, νμ μ¬λ¦¬λ©΄ λ‘컬μμλ λ°μνμ§ μμλ λ¬Έμ κ° λ°μνμλ€.
(μ²μμλ μλ²μ μ¬λ €μ λΉλνλ λ¨κ³μ‘°μ°¨λ μ λ₯Ό λ¨Ήμλ€..)
보μκ·Έλ£Ή μ€μ μ λΉΌλ¨Ήμ΄μ, μλ² μ체μ μ©λ λ¬Έμ λ± λ¬Έμ μμΈλ μ°Έ λ€μνλ€. λ‘컬μμλ§ νλ‘μ νΈλ₯Ό μ§ννκ³ μ€ννλ κ²λ§μΌλ‘λ μ λλ‘ λ κ²½νμ ν΄λ³Ό μ μλ€λ κ²μ λͺΈμ 체νν μ μμλ€.
Githubλ₯Ό μ΄μ©ν νμ
κΉνμΌλ‘ νμ μ ν΄λ³Έ κ²½νμ΄ κ±°μ μμλ λλ, νκ΅ κ³Όμ λ₯Ό μ¬λ¦°λ€κ±°λ μκ³ λ¦¬μ¦ λ¬Έμ λ₯Ό μ¬λ¦¬λ λ± μμΉ΄μ΄λΉ μ©λ μμ£Όλ‘ μ΄μ©ν΄μλλ°, μ΄λ² νλ‘μ νΈμ μ°Έμ¬νλ©΄μ κΉνμΌλ‘ νμ νλ©΄μ λ§μ κ²μ λ°°μΈ μ μμλ€.
컀λ°μ ν λλ μ무 λ©μμ§λ μ λ ₯νλ κ²μ΄ μλλΌ κΈ°λ₯ μΆκ°/λ‘μ§ μμ /리ν©ν λ§ λ±μ μΉ΄ν κ³ λ¦¬λ₯Ό μ λ ₯νλ λ±μ νμ κ·μΉμ λνμ¬ μλ Όν΄λ³΄κ³ ,
master λΈλμΉκ° μλ κ°λ°μ© λΈλμΉλ₯Ό λ§λ€μ΄μ λ΄ λΈλμΉμμ κ°λ°μ© λΈλμΉμ PRλ₯Ό μ¬λ €λ³΄κ³ ,
λ΄ λΈλμΉμ κ°λ°μ© λΈλμΉ κ° λ°μν μΆ©λμ ν΄κ²°ν΄λ³΄κ³ ,
λ€λ₯Έ νμμ PRμ μ½λ리뷰λ₯Ό λ¨κ²¨λ³΄λ λ± κΈ°μ΄μ μ΄μ§λ§ νμ νμ§ λͺ»νλ κ²½νλ€μ ν μ μμλ€.
λλ²κΉ
μ΄λ² νλ‘μ νΈμ μ°Έμ¬νλ©΄μ μ λ§ λ§μ΄ λ°°μ λ€κ³ μκ°νλ λΆλΆμ΄λ€.
κ°λ° κΈ°κ°λμ μ λ§ λ§μ μλ¬λ€μ λ§λ μ μμλλ°, κΈ°μ‘΄μλ μλ¬κ° λ°μνλ©΄ 무μμ μλ¬ λ¬Έμ₯μ 볡μ¬ν΄μ ꡬκΈλ§μ νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νλ €κ³ νμλ€.
νμ§λ§ μ΄λ μκ°λΆν°λ μ΄λ¬ν λ°©μμΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° νκ³κ° μμλ€. κ°μ μλ¬μ¬λ κ·Έ μμΈμ λ무λ λ€μνκ³ , νμ μλ¬λ₯Ό 볡λΆνμ¬ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° κΈκΈνκΈ° λλ¬Έμ λ¬Έμ λ₯Ό ν΄κ²°νκ³ λ μ»μ΄κ°λ κ²μ΄ μλ λλμ΄μλ€.
κ·Έλμ μ°μ μ΄λ€ μλ¬κ° λ°μνμλμ§ νμΈνκ³ , κ·Έ μλ¬λ₯Ό ν΄κ²°ν μ μλ μ€λ§λ¦¬κ° μκ°λμ§ μλλ€λ©΄ stack traceλ₯Ό 보면μ λλ²κΉ μ νμλ€.
λͺ¨λ traceλ₯Ό λΆμνμ§λ μμκ³ , λΉκ΅μ μ΅κ·Όμ μ€νλ ννΈλ₯Ό νμΈνλ©΄μ μ΄λ€ λΆκΈ°μ μμ μλ¬κ° λ°μνμλμ§ μ λλ₯Ό νμΈν¨μΌλ‘μ¨ λ¬Έμ μμΈμ μκ°ν΄λ³΄λ λ°©μμΌλ‘ μ§ννλ€.
λ§μ½ BaseResponse μ²λ¦¬λ‘ μΈνμ¬ μΈλΆμ μΌλ‘λ stack traceκ° μμ±λμ§λ μμ§λ§ λ΄λΆμ μΌλ‘ μλ¬κ° λ°μνλ κ²½μ° (λκ°λ jdbc λλ jpa κ΄λ ¨νμ¬ λ°μν λ¬Έμ μλ€) breakpointλ₯Ό μ°μ΄ ν΄λΉ μ€λ¨μ μμλΆν° μ΄λ€ λ¬Έμ κ° μλμ§ λ°λΌκ° 보λ λ°©μμΌλ‘ λλ²κΉ μ νμλ€.
λ¬Όλ‘ κ΅¬κΈλ§μ νμ ν¨κ»νμμ§λ§, μ΄μ μλ μλ¬λ₯Ό 볡λΆν΄μ λμ€λ ν΄κ²°μ± μ μ΄κ²μ κ² λ λκΉμ§ μλν΄λ³΄λ λ°©μμ΄μλ€λ©΄ νλ‘μ νΈλ₯Ό μ§ννλ©΄μ λ¬Έμ κ° λ°μν μμΈμ λν΄ μκ°ν΄λ³΄λ €κ³ λ Έλ ₯νλ€.
μμ¬μ λ μ
ꡬνμ νκ³
μ무λλ μ΄ν μ μμ μ°Έμ¬ν μ μλ μκ°μ΄ λλνμ§λ μμκ³ , μ°λ¦¬ νμ λͺ¨λ νλ‘μ νΈ κ²½νμ΄ λ§μ΄ μμκΈ° λλ¬Έμ ν΅μ¬ κΈ°λ₯μ μ°μ μ μΌλ‘ ꡬννλλ° κΈκΈνλ€.
κ·Έλ¬λ€ 보λ λ ν¨μ¨μ μΈ λ‘μ§μ μ½λλ₯Ό μμ±νλ€λκ° λ¦¬ν©ν λ§ κ΄μ μμ λ§μ μλλ₯Ό ν΄λ³΄μ§ λͺ»ν μ μ΄ μμ¬μ λ€.
ν¬μ€νΈλ§¨μμ APIλ₯Ό ν μ€νΈνμ λ μ€νμκ°μ΄ μ½κ° λλ Έλ λΆλΆμ΄ μμ¬μ λλ° μ΄λ»κ² νλ©΄ APIμ μ±λ₯μ λμΌ μ μμμ§, κΉλν μ½λλ μ΄λ»κ² μμ±ν΄μΌ ν μ§μ λνμ¬ κ³΅λΆν΄λ³΄μμΌκ² λ€λ μκ°μ΄ λ€μλ€.
μλνμ νμμ±
μμ λ§νλ€μνΌ νλ‘μ νΈ κ²½νμ΄ λ§μ΄ μλ μ°λ¦¬λ λ°°ν¬λ₯Ό μλννλ κ²μ λν΄ λλ΅μ μΌλ‘λ§ μκ³ μμμ§, μλν΄ λ³Έ μ¬λμ μμλ νμ μκ° μ¬μ κ° μμλ μ°λ¦¬λ κΈ°μ‘΄μ ν΄λ΄€λ λ°©λ² (jarνμΌμ μλ²μ μ¬λ €μ nohup + λ°±κ·ΈλΌμ΄λ μ€ν)μ κ³ μν μλ°μ μμλ€.
ν μ€νΈ μ½λ λν μμ±νμ§ λͺ»νμκ³ μΌμΌμ΄ APIλ₯Ό ν μ€νΈνμ¬ λ¬Έμ κ° μλ€κ³ νλ¨λ κ²½μ° μλ²μ μ¬λ¦¬λ λ°©λ²μ μ ννμλ€.
μ΄λ λ€ λ³΄λ λκ°μ κ³Όμ μ λ°λ³΅νκ² λμκ³ , κ³Όμ μμμ κ΅μ₯ν λΉν¨μ¨μ μ΄λΌλ μκ°μ΄ λ€μλ€.
μλμΌλ‘ μ½λλ₯Ό λ°°ν¬νλ©΄ ν¨μ¨μ μΌλ‘ μ΄μν μ μμμ ν λ°λΌλ μμ¬μμ΄ λ§μ΄ λ€μκ³ , κ°μΈμ μΌλ‘ κΌ κ³΅λΆν΄μ ꡬνν΄λ΄μΌκ² λ€λ μκ°μ΄ λ€μλ€.
λ§μΉλ©°
μ½ ν λ¬ λ° λμ μ§ννλ©΄μ νΌμμλ κ²½νν μ μμλ λ§μ κ²λ€μ λ°°μΈ μ μμλ€.
λΉλ‘ λ΄κ° λ§μ κΈ°λ₯μ ꡬνν κ²μ μλμ§λ§, νλμ λͺ©νλ₯Ό μνμ¬ μν΅μ νκ³ κ°λ°μ μ°Έμ¬ν μ μλ€λ κ²μ΄ κ½€λ λΆλ΄λλ©΄μλ μ¬λ―Έμμλ€.
νΉν λλ λ°±μλ ννΈμκΈ° λλ¬Έμ μ±κ³Όλ¬Όμ΄λΌκ³ ν΄μΌ APIλ₯Ό ν μ€νΈνμ λ μ±κ³΅μ μΌλ‘ μ€νλλ κ²μ΄μ§λ§, νλ‘ νΈμλμ ν¨κ» νμ μ νλ©° APIκ° μ΄ν λ΄μμ μ€νλλ κ²μ λ³Ό μ μμκΈ°μ λ€λ₯Έ λλμΌλ‘ λΏλ―ν κΈ°λΆμ΄ λ€κ³ μ’μλ€.
νλ‘μ νΈμ μ°Έμ¬νλ©΄μ λΆμ‘±ν μ λ λ§μ΄ λλ μ μμκ³ , μκ° μ μλν΄λ³΄μ§λ λͺ»νμ§λ§ ꡬνν΄λ³΄κ³ μΆμ λΆλΆλ μ겨μ μλ‘μ΄ μκ·Ήμ κ° λμλ€.
'νκ³ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ°ν μ½] ν리μ½μ€ 4μ£Όμ°¨ (0) | 2022.12.16 |
---|---|
[μ°ν μ½] ν리μ½μ€ 3μ£Όμ°¨ (0) | 2022.11.15 |
[μ°ν μ½] ν리μ½μ€ 2μ£Όμ°¨ (0) | 2022.11.14 |
[μ°ν μ½] ν리μ½μ€ 1μ£Όμ°¨ (0) | 2022.11.14 |