π λ°λ―Έμ μ κΉ&κΉνλΈ μ λ¬Έ
골λ λλΉ μΆνμ¬λ‘λΆν° μ± μ μ 곡λ°μ μμ±νμ΅λλ€.
βΉοΈBook Infoβ
μ± μ΄λ―Έμ§λ₯Ό ν΄λ¦νλ©΄ κ΅λ³΄λ¬Έκ³ μ¬μ΄νΈλ‘ μ΄λν©λλ€!
- μ λͺ©: λ°λ―Έμ μ κΉ&κΉνλΈ μ λ¬Έ
- μ μ: λ°λ―Έμ
- μΆνμ¬: 골λ λλΉ
- μΆκ°: 2021-09-13
π¬Introβ
μ΄ μ± μ μ μλ νμ΄μ€λΆ μΌλ(Early λλΌμ΄) κ·Έλ£Ήμ μ΄μνμλ μ΄μμ§ μ€ ν λΆμ΄λ©°, λ°°λ―Ό λ² νΈλ¨μ κ±°μ³ νμ¬ λ¬΄μ μ¬μ κ³μ λ°λ―Έμ λμ΄λ€. μ λ§ λ°°μΈ μ μ΄ λ§λ€κ³ μκ°νλ κ°λ°μ λΆ μ€ ν λΆμ΄λ€. κΈ°νκ° λλ€λ©΄ νμμμ **μ±μ₯νλ κ°λ°μμ '곡μ μ κΈ°μ '**μ΄λΌλ μ£Όμ λ‘ λ°ννμ μκ° μ½λ리뷰 ver_0.1: μ»€λ¦¬μ΄ μ±μ₯ CODEλ₯Ό 보λ κ²λ κ°λ°μλ‘μ μ±μ₯νλλ° λμμ΄ λ κ²μ΄λ€.
μ± μ΄ μΆκ°λκΈ° μ λ² ν리λλ₯Ό λͺ¨μ§νμ λ, μ μλ₯Ό ν₯ν κ°μΈμ μΈ ν¬μ¬μΌλ‘ μ μ²νμΌλ λ¨μ΄μ‘μλ€. κ·Έλ¬λ μΆκ°λ μ΄ν 골λ λλΉ μΆνμ¬μμ λΆμ€ν¬μΌλ¬λ₯Ό λͺ¨μ§νκ³ , μ§μνμ¬ μ΄ μ± μ μ½μ μ μκ² λλ€. μ΄λ²μλ κ°μΈμ μΈ ν¬μ¬ λλ¬Έμ΄ μλλΌ gitμ νμ©νμ¬ νμ ν μ€ μλ μ¬λμ΄ λκ³ μΆλ€λ λ§μμ΄ λ μ»Έλ€. λνμμ μ€νμμ€ κ΄λ ¨ μμ μ λ€μ΄ gitμ κΈ°λ₯μ μ΄λμ λ νμ©ν μ μμμ§λ§, λ¨μν commit, pushμ μ΅μν μ¬λμ΄ μλλΌ branch λ³κ²½, merge, pull request λ±μ κΈ°λ₯μ μΈ μ€ μλ νμ μ μ΅μν μ¬λμ΄ λκ³ μΆμλ€.
골λ λλΉ μΆνμ¬μμ λͺ¨μ§νλ λΆμ€ν¬μΌλ¬λ μ΄λ€ μ± μ΄ μ’μ μ± μΈμ§ μ§μνκ² μλ €μ€ λ μκ° μ’μ μ± μ μ νν μ μκ² λλ μ€ν¬μΌλ¬λ₯Ό μλ―Ένλ€. μ£Όλ‘ κ³¨λ λλΉ μΆνμ¬μ νμ΄μ€λΆ νμ΄μ§ λλ μ΄λ©μΌμ ν΅ν΄ λͺ¨μ§νλ―λ‘ μνλ μ£Όμ μ μ± μ΄λΌλ©΄ μ§μν΄λ³΄λ κ²μ μΆμ²νλ€.
πBook Reviewβ
μλ리μ€β
μ΄ μ± μ μλ리μ€λΌλ λ€λ₯Έ μ± κ³Ό ꡬλ³λλ μ¬λ°λ λΆλΆμ΄ μλ€. λ§ κ·Έλλ‘ κ°λ³Έμ΄λ€. μ΄μ μ λ°°μ΄ λ΄μ©μ κΈ°λ°μΌλ‘ νμ μμ μ§νλλ νλ‘μ νΈ νλ‘μΈμ€λ₯Ό κ·Έλλ‘ κ²½νν΄λ³Ό μ μλ λΆλΆμ΄λ€. λ κ°μ μλ리μ€κ° μ‘΄μ¬νλ©°, λ¨μν μ€μ΅μ΄ μλλΌ μ§μ§ νμ μμ μΌμ΄λ λ²ν μΌλ€μ΄μλ€. νΉν Node.jsμ Expressλ₯Ό μ¬μ©νλ λΆλΆμ΄ μΈμ κΉμλ€. λ¨μν λ§ν¬λ€μ΄ νμΌμ μμ νλ μ€μ΅μ΄ μλλΌμ "μλ리μ€μ μ§μ¬μ΄κ΅¬λ."λΌκ³ μκ°νλ€. λ¨μν μλ²λ₯Ό μΌκ³ localhostμμ μμ μ¬νμ νμΈνλ μ λλΌ Node.jsμ Expressμ κ²½νμ΄ μμ΄λ λ°λΌν μ μλ μμ λ‘ κ΅¬μ±λμ΄ μλ€.
κΉνλΈμ μ΄μλ νλ‘μ νΈ λ³΄λλ₯Ό μ¬μ©ν΄μ μ€μ μꡬμ¬νμ μ½λμ λ°μνλ κ³Όμ μ 보μ¬μ€μΌ νλλ° .md νμΌ μμ λ§μΌλ‘λ νκ³κ° μμ΅λλ€.
λ°°ν¬ λ° μλνβ
μμμλ μΈκΈνλ―μ΄ λ€λ₯Έ μ± λλ κ°μμμλ Git, GitHub μ€μ΅μ κ°λ¨ν νμΌ μμ μΌλ‘ μ§ννμ ν λ° μ΄ μ± μμλ Node.js κΈ°λ°μΌλ‘ μ§νλλ€. κ·Έ μ΄μ λ μλ§ 'GitHub Actionsλ₯Ό μ΄μ©ν΄λ³΄κΈ° μν΄μ'λΌλ μ΄μ λ μμμ§ μμμκΉ μΆμΈ‘ν΄λ³Έλ€. λλΆλΆμ μ± μμ GitHub ActionsκΉμ§ μ€λͺ νλ κ²½μ°λ λλ¬Όλ€κ³ μκ°νκΈ°μ μλΉν μΈμμ μ΄μλ€.
GitHub Actionsμ κ°λ¨ν μ¬μ©λ²μ λ°°μλ³΄κ³ AWS ECSμ Azure Web App Serviceμ λ°°ν¬ μλνλ₯Ό μ€μ ν΄λ³Έλ€. μ΄ λΆλΆμ μμΈνκ² μ€λͺ νμ§λ μκ³ , 'μ΄λ° λ°©λ²λ μλ€.'λΌλ λλμΌλ‘ μκ°νλ€. AWS, AzureκΉμ§ μμΈν μ€λͺ νλ κ²μ μ± μ μ·¨μ§μ λ§μ§ μκΈ°μ κ°λ¨νκ² μκ°λμ΄ μλ κ² κ°λ€.
VSCode κΈ°λ₯ μ¬μ©ν΄λ³΄κΈ°β
μμ μ λλ CLI(Command-Line Interface) νκ²½μμ Git λͺ λ Ήμ΄λ₯Ό μ§μ μ λ ₯νκ³ μ€ννλ κ²μ΄ λ무 λ²κ±°λ‘λ€κ³ μ¬κ²Όλ€. μ²μ 곡λΆνμ λλ "μ΄κ±Έ κ΅³μ΄ commandλ₯Ό λ€ μΈμ°κ³ μμ΄μΌ ν κΉ?"λΌλ μκ°μ νμ¬ Sourcetree, GitHub Desktop, TortoiseGit λ±κ³Ό κ°μ GUI(Graphical User Interface) ν΄μ μ¬μ©νμλ€. (κ·Όλ° κ²°κ΅ μμ£Ό μ°κ³ μ¬μ΄ λͺ λ Ήμ΄λ€μ λ€ μΈμ°κ² λλλΌ...π€¦ββοΈ) μ λ° ν΄λ€λ, commandλ λ€ μ’μ§λ§ μ΅κ·Όμ λλ VSCodeλ₯Ό μ μ©νλ€.
μ΄ μ± μ κΉ λͺ λ Ήμ΄λ₯Ό μ§μ μ€ννκ³ λ°λ³΅νλ©° κΉμ μ΅μν΄μ§λ κ²μ μ΄μ μ λ§μΆκ³ μμΌλ λΆλ‘μλ VSCodeλ₯Ό ν΅ν΄ μ΄λ»κ² commitκ³Ό pushλ₯Ό νλμ§ μκ°λμ΄ μλ€. λλ λκ³ λμ VSCodeμ μ μ°©νλλ° μ΄ μ± μ μ½λ μ¬λμ μ΄λ° κ°λ¨ν λ°©λ²μ λ°λ‘ μ¬μ©ν μ μλ€λ κ²μ΄ μκ°μ μΌλ‘ λ무 λΆλ¬μ λ€. μ΄λ° κ² μ± μ΄ μ£Όλ νμ΄ μλκ° μΆλ€. κ·Έλ λ€κ³ ν΄μ Git λͺ λ Ήμ΄λ₯Ό λͺ°λΌλ λλ€λ κ²μ μλλ€. μ΄λ ν κ°λ°μκ° λλ CLI νκ²½μ΄ μ΅μνλ©΄ λ μ 리ν μλ μλ€κ³ μκ°νλ€. κ·Έλ¬λ μ΄ μ± μ ν΅ν΄ μ°μ΅ν΄λ³΄κ³ 곡λΆν μ μλ κΈ°νκ° λκΈΈ λ°λλ€.
μ½κ² μ€λͺ λμ΄μ§ μ± β
λ μμ μ Gitμ μνμ½λ© κ°μμ Pro GitμΌλ‘ 곡λΆνμλ€. GitHubλ λ°λ‘ μΈν°λ·μμ λ¬Έμλ€μ λ§ μ°Ύμκ°λ©΄μ 곡λΆνμλ€. μ무 μκ° μμ΄ μ± μΌλ‘ Gitμ 곡λΆνλ€κ° λ λ² μ λ ν¬κΈ°νλ κ²½νλ μλ€. tracked, staged λ± κ΄κ³λ₯Ό μ΄ν΄νλ λ° λ¨Έλ¦¬κ° μν μλ€. μ΄ μ± μ μ½κ² μ€λͺ λμ΄ μμ΄ κ·Έλ΄ μΌμ΄ μλ€.
λν, λ μλ₯Ό λ°°λ €νλ μΈμΈν λΆλΆλ€μ΄ λ§μλ€. νΈμ§μμ΄μ μκ°μ΄ μ± μΌλ‘, λ°λ―Έμ μ κΉ&κΉνλΈ λ§ μ½μ΄λ΄λ μ μ μλ€. μ λ§ λ μλ₯Ό μνκ³ κΉλνκ² μ 리λμ΄ μλ μ± μ μ½μ΄ λ³΄κ³ μΆλ€λ©΄ μ΄ μ± μ μΆμ²νλ€.
π§βπ«λμ λ μβ
Gitκ³Ό GitHubλ κ°λ°μλΌλ©΄ λꡬλ μ§ μμμΌ νλ νμ μ§μμ΄ λμ΄λ²λ Έλ€. κΈ°μ μ΄ λ μ΄λ»κ² λ°λμ§λ μ λͺ¨λ₯΄κ² μ§λ§, GitHubλ κ°λ°μλ€μ μμ λ―Έλμ΄ κ°μ λλμ΄λΌ μ μ©ν μ 보μ μ½λκ° λ§μ΄ μ¬λΌμ¨λ€. κ°λ°μλ₯Ό λͺ©νλ‘ νλ€λ©΄ μΌμ° λ°°μ°λ©΄ λ°°μΈμλ‘ μ’λ€.
μ΄ μ± μ κ°μ₯ ν° μ₯μ μ μ λ¬Έμμ΄λ©΄μ μ€μ λ‘ νμ νλ κ² κ°μ νλ‘μΈμ€λ₯Ό κ²½νν΄λ³Ό μ μλ€λ μ μ΄λ€. Gitλ μ¬μ€ μ¬νμ μΈ λΆλΆμΌλ‘ λ€μ΄κ°λ©΄ submodule λ±μ λ΄μ©μ΄ μμ§λ§ κ·Έλ° λ΄μ©μ μ μΈνκ³ μ λ§ μ€μ λ‘ μμ£Ό μ°μ΄λ λ΄μ©λ§ λ΄κ²¨ μμΌλ Gitκ³Ό GitHubμ μ΅μνμ§ μμ μ λ¬Έμμκ² μΆμ²νλ€.