π‘ Go μΈμ΄λ₯Ό μ²μ μμνλ©΄μ Goλ‘ μΉ μ΄ν리μΌμ΄μ μ λ§λλ κ²μ λͺ©μ μΌλ‘ λκ³ μμ΅λλ€. κ·Έλ°λ° Goλ νλ μ μν¬κ° λ€μνκ³ , μ νν λλκ² μμ΄ μν€ν μ³ λ΄μ©μ μ°Ύμ보λκ² νλλλ€. μ₯μ λ λ§μ§λ§ λ¨μ λ λΆλͺ μ‘΄μ¬νλ μΈμ΄μ λλ€.
κ²λ€κ° μΉ λ°±μλ κ°λ°μ μ΅μμΉ μμ μ¬λλ€μκ² μλ£κ° ν±μμ΄ λΆμ‘±ν κ²μ λλ€. μ΄ λ΄μ©μ λ°νμ μΌμ λμμ΄ λμμΌλ©΄ μ’κ² μ΅λλ€. μ λν 곡λΆμ€μ΄κΈ°μ..
β Presentation layer - μ΄λ»κ² λ°μ΄ν°κ° ν΄λΌμ΄μΈνΈμκ² λ³΄μ¬μ€ μ§μ λν μμ μ λ΄λΉ, ν΄λΌμ΄μΈνΈλ μ΄ κ³μΈ΅μ ν΅ν΄ μνΈμμ©μ ν©λλ€.
β Business/Domain layer - Presentation layerμ Data acess layer μ¬μ΄μ μμΉν΄ λΉμ§λμ€ λ£°κ³Ό κ·Έ λ£°μ λ°λ₯΄λ λΉμ§λμ€ λ‘μ§μ ꡬν. λ³΄ν΅ ServiceλΌκ³ νλ ν΄λμ€(νΉμ νμ λ±)κ° μμΉνλ€.
β Data Access Layer - DBμ μ κ·Όνλ μμ μ λ΄λΉ. DAO(Data Access Object, Respository)
λλΆλΆμ Web Applicationμ 3-Tier Architecture
λΌκ³ νλ κ΅¬μ‘°λ‘ κΈ°μ΄λ‘ νμ¬ κ°λ°λ©λλ€.
κ°λ° κ³Όμ μμ λ²κ±°λ‘μ΄ κΈ°λ₯λ€μ νλ μμν¬ or λΌμ΄λΈλ¬λ¦¬κ° μ 곡ν΄μ£Όλ κΈ°λ₯μΌλ‘ κ°μ Έλ€ μ¬μ©ν΄ μ’ λ μ μ§ λ³΄μνκΈ° μ¬μ΄ κ°λ°μ ν μ μμ΅λλ€.
Golangμλ Djangoμ JPA κ°μ DB κ΄λ¦¬ νλ μμν¬λ gorm
μ΄ μ‘΄μ¬νμ§λ§, μμ¦ μΆμΈλ₯Ό 보면 ent
λΌλ ν¨ν€μ§κ° μ«μμ€λ κ² κ°μ΅λλ€.
github star historyλ§ λ΄λ ent
λ 무μκ² μ±μ₯νκ³ μμ΅λλ€.
μ₯μ μ λμ΄νμλ©΄..