Intergrated Developement Environment
-ν΅ν© κ°λ° νκ²½ κΈ°μ΄-
-ν΅ν© κ°λ° νκ²½ κΈ°μ΄-
πν΅ν© κ°λ° νκ²½(IDE)μ΄λ?
Β μννΈμ¨μ΄ κ°λ°μ μν κ°λ° νκ²½μ μ 곡νλ μννΈμ¨μ΄ μ ν리μΌμ΄μ μ λ§ν¨.Β
πν΅ν©κ°λ° νκ²½(IDE)μ κ΅¬μ± μμ
ν μ€νΈ νΈμ§κΈ°: IDEμλ μ½λλ₯Ό μμ±νλ λ° μ¬μ©ν μ μλ ν μ€νΈ νΈμ§κΈ°κ° ν¬ν¨λμ΄ μμ΅λλ€. μ΄λ¬ν νΈμ§κΈ°λ μ½λ νμ΄λΌμ΄ν , μλ μμ±, μ€λ₯ κ²μ¬ λ±κ³Ό κ°μ κΈ°λ₯μ μ 곡νμ¬ νλ‘κ·Έλλ¨Έκ° μ½λλ₯Ό μ½κ² μμ±ν μ μλλ‘ λμμ€λλ€.
μ»΄νμΌλ¬/μΈν°ν리ν°: λλΆλΆμ νλ‘κ·Έλλ° μΈμ΄λ μμ€ μ½λλ₯Ό μ€ν κ°λ₯ν ννλ‘ λ³νν΄μΌ ν©λλ€. IDEλ μ΄λ¬ν λ³ν κ³Όμ μ μλννλ λꡬλ₯Ό μ 곡ν©λλ€.
λλ²κΉ λꡬ: μννΈμ¨μ΄ λ²κ·Έλ₯Ό μ°Ύκ³ μμ νλ κ²μ μ€μν μμ μ λλ€. IDEμλ λλ²κΉ μ λλ λκ΅¬κ° ν¬ν¨λμ΄ μμ΄ νλ‘κ·Έλλ¨Έκ° μ½λ μ€ν μ€μ λ¬Έμ λ₯Ό μλ³νκ³ ν΄κ²°ν μ μμ΅λλ€.
νλ‘μ νΈ κ΄λ¦¬: ν° μννΈμ¨μ΄ νλ‘μ νΈλ₯Ό κ΄λ¦¬νκΈ° μν΄ IDEλ νλ‘μ νΈ νμΌμ μμ±νκ³ κ΄λ¦¬νλ κΈ°λ₯μ μ 곡ν©λλ€. μ΄λ₯Ό ν΅ν΄ μ¬λ¬ νμΌκ³Ό λͺ¨λμ μ‘°μ§ννκ³ νμ μ΄ μ©μ΄ν΄μ§λλ€.
λ²μ κ΄λ¦¬: λ§μ κ°λ° νμ μ½λλ₯Ό λ²μ κ΄λ¦¬ μμ€ν μΌλ‘ μΆμ ν©λλ€. IDEλ μ’ μ’ μ΄λ¬ν μμ€ν κ³Ό ν΅ν©λμ΄ μμ€ μ½λ λ³κ²½ μ¬νμ μΆμ νκ³ νμ μ μν΄ κ³΅μ ν μ μλλ‘ λμμ€λλ€.
νλ¬κ·ΈμΈ λ° νμ₯ κΈ°λ₯: λλΆλΆμ IDEλ νλ¬κ·ΈμΈμ μ§μνμ¬ κ°λ°μκ° νμν λꡬλ κΈ°λ₯μ μΆκ°ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ IDEλ₯Ό μ¬μ©μ μ μνκ³ νμ₯ν μ μμ΅λλ€.
πν΅ν©κ°λ° νκ²½(IDE) μ’ λ₯
λ€μν ν΅ν© κ°λ° νκ²½μ΄ μ‘΄μ¬νλ©°, κ°λ°μμ μ νΈλμ λ°λΌ μ¬μ©νλ IDEλ λ¬λΌμ§λλ€. μλλ μ κ° νμ΅νκ³ μ¬μ©νλ IDEμ’ λ₯ μ λλ€.
κ·Έλ¦Όμ ν΄λ¦νλ©΄ λ€μ΄μ΄ κ°λ₯ν©λλ€.
β«οΈPyCharm:
Pythonμ νΉνλ κΈ°λ₯: PyCharmμ Python κ°λ°μ μν μ λ¬Έμ μΈ κΈ°λ₯μ μ 곡νλ©°, μ½λ λΆμ, κ°μ νκ²½ κ΄λ¦¬, λλ²κΉ λ±μ κ°μ‘°ν©λλ€.
μ§λ₯ν μ½λ μμ±: μ½λ μΈν 리μ μ€μ μλ μμ± κΈ°λ₯μ ν΅ν΄ Python μ½λ μμ±μ λ ν¨μ¨μ μΌλ‘ λ§λ€μ΄μ€λλ€.
ν΅ν© ν μ€νΈ λ° νλ‘νμΌλ§: μ λ ν μ€νΈ λ° μ½λ νλ‘νμΌλ§ λꡬλ₯Ό μ 곡νμ¬ μ½λ νμ§μ ν₯μμν€κ³ λ²κ·Έλ₯Ό μ°Ύλ λ° λμμ μ€λλ€
πΉVisual Studio Code (VS Code):
λ€μν μΈμ΄ μ§μ: VS Codeλ λ€μν νλ‘κ·Έλλ° μΈμ΄λ₯Ό μ§μνλ©°, μ¬μ©μ μ§μ κ°λ₯ν νμ₯ κΈ°λ₯μ ν΅ν΄ μλ‘μ΄ μΈμ΄λ₯Ό μΆκ°ν μ μμ΅λλ€.
κ²½λ λ° λΉ λ₯Έ μμ: κ²½λ IDEλ‘ λΉ λ₯΄κ² μμν μ μμΌλ©°, λΉ λ₯Έ μ±λ₯μ μ 곡ν©λλ€.
κ°λ ₯ν νμ₯ μνκ³: μλ§μ νμ₯ κΈ°λ₯μ ν΅ν΄ μ¬μ©μκ° μνλ κΈ°λ₯μ μΆκ°νκ³ κ°μΈνν μ μμΌλ©°, Git ν΅ν© λ° λλ²κΉ κΈ°λ₯μ΄ κ°νλμ΄ μμ΅λλ€.
πΈJupyterLab:
λ€μν λ ΈνΈλΆ ν¬λ§· μ§μ: JupyterLabμ λ€μν λ ΈνΈλΆ ν¬λ§·μ μ§μνλ©°, μ½λ, ν μ€νΈ, κ·Έλ¦Ό, λΌν λ±μ ν΅ν©νμ¬ λ¬Έμλ₯Ό μμ±ν μ μμ΅λλ€.
νλΆν νμ₯ κΈ°λ₯: νλ¬κ·ΈμΈμ ν΅ν΄ κΈ°λ₯μ νμ₯νκ³ μ¬μ©μ μ μν μ μμΌλ©°, λνμ μκ°νμ λ€μν λ°μ΄ν° λΆμ λꡬλ₯Ό μ 곡ν©λλ€.
νμ λ° κ³΅μ κΈ°λ₯: λ ΈνΈλΆμ 곡μ νκ³ λ€λ₯Έ μ¬μ©μμ νμ ν μ μλ κΈ°λ₯μ μ 곡νμ¬ λ°μ΄ν° κ³Όν νκ³Όμ νμ μ μ©μ΄ν©λλ€.
β«οΈGoogle Colab:
ν΄λΌμ°λ κΈ°λ° Python νκ²½: Google Colabμ ν΄λΌμ°λμμ μ€νλλ©°, λΈλΌμ°μ λ₯Ό ν΅ν΄ μ κ·Ό κ°λ₯νλ―λ‘ μ€μΉλ ꡬμ±μ΄ νμνμ§ μμ΅λλ€.
GPU λ° TPU μ§μ: Colabμ 무λ£λ‘ μ 곡λλ GPU λ° TPU 리μμ€λ₯Ό μ¬μ©ν μ μμ΄, λ₯λ¬λ λ° λ¨Έμ λ¬λ μμ μ κ°μνν μ μμ΅λλ€.
Jupyter λ ΈνΈλΆ μΈν°νμ΄μ€: Jupyter λ ΈνΈλΆμ μ¬μ©νμ¬ μ½λ, ν μ€νΈ, κ·Έλν λ±μ νλμ λ¬Έμμ ν΅ν©νκ³ μ€νν μ μμ΅λλ€.
πκ°λ°μ μν νμ λꡬ 3λμ₯
β«οΈgit:
Gitμ λΆμ° λ²μ κ΄λ¦¬ μμ€ν (Distributed Version Control System, DVCS)μΌλ‘, μννΈμ¨μ΄ κ°λ° κ³Όμ μμ μμ€ μ½λμ λ³κ²½ μ΄λ ₯μ κ΄λ¦¬νλ λ° μ£Όλ‘ μ¬μ©λ©λλ€.Β
λΆμ° λ²μ κ΄λ¦¬: Gitμ κ° κ°λ°μμ λ‘컬 μ»΄ν¨ν°μ μ 체 μ½λ μ μ₯μμ 볡μ¬λ³Έμ μ μ§νλ©°, μ€μ μλ²κ° νμνμ§ μμ΅λλ€. μ΄λ‘μ¨ λμμ μ¬λ¬ κ°λ°μκ° λ 립μ μΌλ‘ μμ ν μ μμ΅λλ€.
λΈλμΉ: Gitμ λ€λ₯Έ λ²μ λλ κΈ°λ₯μ λ 립μ μΌλ‘ κ°λ°νκΈ° μν λΈλμΉλ₯Ό μ 곡ν©λλ€. μ΄λ₯Ό ν΅ν΄ μ¬λ¬ κΈ°λ₯μ λμμ κ°λ°νκ³ ν μ€νΈν μ μμ΅λλ€.
λ³κ²½ μ΄λ ₯ κ΄λ¦¬: Gitμ λͺ¨λ λ³κ²½ μ¬νμ μΈλ°νκ² μΆμ νλ©°, λ³κ²½ μ΄λ ₯μ μκ°μ μΌλ‘ νμΈνκ³ νμν κ²½μ° μ΄μ μνλ‘ λ‘€λ°±ν μ μμ΅λλ€.
μ격 μ μ₯μ μ°λ: Gitμ μ격 μ μ₯μ(μ: GitHub)μ ν΅ν©νμ¬ μ½λλ₯Ό 곡μ νκ³ νμ ν μ μμ΅λλ€.
β«οΈGitHub:
GitHubλ Git μ μ₯μ νΈμ€ν λ° νμ νλ«νΌμΌλ‘, κ°λ°μλ€μ΄ Gitμ μ¬μ©νμ¬ μννΈμ¨μ΄ νλ‘μ νΈλ₯Ό κ΄λ¦¬νκ³ νμ νλ λ° μ¬μ©λ©λλ€. GitHubμ μ£Όμ νΉμ§μ λ€μκ³Ό κ°μ΅λλ€:
μ격 μ μ₯μ νΈμ€ν : GitHubλ Git μ μ₯μλ₯Ό μ¨λΌμΈμΌλ‘ νΈμ€ν νμ¬ κ°λ°μλ€μ΄ μμ€ μ½λλ₯Ό μμ νκ² μ μ₯νκ³ κ³΅μ ν μ μλλ‘ ν©λλ€.
νμ κΈ°λ₯: GitHubλ λ€μμ κ°λ°μκ° νλ‘μ νΈμ μ°Έμ¬νκ³ , μ΄μλ₯Ό κ΄λ¦¬νλ©°, μ½λ 리뷰λ₯Ό μνν μ μλ νμ κΈ°λ₯μ μ 곡ν©λλ€.
μ΄μ νΈλνΉ: GitHubλ λ²κ·Έ, κΈ°λ₯ κ°μ , μμ λ±μ μ΄μλ₯Ό μΆμ νκ³ κ΄λ¦¬ν μ μλ ν΄μ μ 곡νλ©°, ν κ°μ μμ¬ μν΅μ μ©μ΄νκ² ν©λλ€.
μ§μμ ν΅ν©(CI) λ° μ§μμ λ°°ν¬(CD): GitHub Actionsμ κ°μ λꡬλ₯Ό μ¬μ©νμ¬ μννΈμ¨μ΄ κ°λ° νλ‘μΈμ€λ₯Ό μλννκ³ CI/CDλ₯Ό ꡬμΆν μ μμ΅λλ€.
β«οΈAnaconda:
Anacondaλ λ°μ΄ν° κ³Όν, λ¨Έμ λ¬λ, λ₯ λ¬λ, κ·Έλ¦¬κ³ κ³Όνμ μ»΄ν¨ν μ μν μ€ν μμ€ ν¨ν€μ§ κ΄λ¦¬ λ° νκ²½ κ΄λ¦¬ λꡬμ λλ€. μ£Όμ κΈ°λ₯μ λ€μκ³Ό κ°μ΅λλ€.
ν¨ν€μ§ κ΄λ¦¬μ: Anacondaλ CondaλΌκ³ λΆλ¦¬λ κ°λ ₯ν ν¨ν€μ§ κ΄λ¦¬μλ₯Ό μ 곡ν©λλ€. Condaλ₯Ό μ¬μ©νμ¬ Python ν¨ν€μ§ λ° νκ²½μ μ½κ² μ€μΉ, μ λ°μ΄νΈ, κ΄λ¦¬ν μ μμ΅λλ€. μ΄λ λ°μ΄ν° κ³Όν λ° λ¨Έμ λ¬λ λΌμ΄λΈλ¬λ¦¬, ν΄ν·, ν¨ν€μ§λ₯Ό μμ½κ² κ΄λ¦¬ν μ μκ² ν΄μ€λλ€.
κ°μ νκ²½ μ§μ: Anacondaλ₯Ό μ¬μ©νλ©΄ νλ‘μ νΈ λλ μμ μ λ§λ λ 립μ μΈ κ°μ νκ²½μ λ§λ€ μ μμ΅λλ€. κ° κ°μ νκ²½μ λ³λμ ν¨ν€μ§ λ° μμ‘΄μ±μ κ°μ§ μ μμΌλ―λ‘ νλ‘μ νΈ κ° μΆ©λμ λ°©μ§νκ³ νκ²½μ μ²κ²°νκ² μ μ§ν μ μμ΅λλ€.
ν¬λ‘μ€ νλ«νΌ μ§μ: Anacondaλ Windows, macOS, Linuxμ κ°μ λ€μν μ΄μ 체μ μμ μ¬μ©ν μ μμ΅λλ€. λ°λΌμ λμΌν κ°λ° νκ²½μ μ¬λ¬ νλ«νΌμμ μ μ§νκ±°λ νλ‘μ νΈλ₯Ό μ΄λνκΈ° μ©μ΄ν©λλ€.
λ€μν λΌμ΄λΈλ¬λ¦¬ ν¬ν¨: Anacondaμλ λ°μ΄ν° λΆμ λ° κ³Όνμ μ°κ΅¬λ₯Ό μν λ€μν λΌμ΄λΈλ¬λ¦¬μ ν¨ν€μ§κ° κΈ°λ³Έμ μΌλ‘ ν¬ν¨λμ΄ μμ΅λλ€. μλ₯Ό λ€μ΄, NumPy, pandas, Matplotlib, scikit-learn, Jupyter λ±μ΄ ν¬ν¨λ©λλ€.
Jupyter Notebook ν΅ν©: Anacondaλ Jupyter Notebookμ λ΄μ₯νκ³ μμ΄ λ°μ΄ν° λΆμ λ° μκ°ν μμ μ νΈλ¦¬νκ² μνν μ μμ΅λλ€.
λ°μ΄ν° κ³Όν μνκ³ μ§μ: Anacondaλ λ°μ΄ν° κ³Όν λ° λ¨Έμ λ¬λ μνκ³λ₯Ό μ§μνλ©°, λ°μ΄ν° κ³Όνμμ μμ§λμ΄κ° λ°μ΄ν°λ₯Ό νμνκ³ λͺ¨λΈμ κ°λ°νλ λ° νμν λꡬλ₯Ό ν΅ν©μ μΌλ‘ μ 곡ν©λλ€.
πνκ²½μ€μ κ³Ό μμ‘΄μ± κ΄κ³
μμ‘΄μ± μ€μ (Dependency Management): νλ‘κ·Έλ¨μ΄λ νλ‘μ νΈλ₯Ό κ°λ°ν λ, νμν μΈλΆ λΌμ΄λΈλ¬λ¦¬, ν¨ν€μ§, λͺ¨λ λ±μ λͺ μνκ³ κ΄λ¦¬νλ κ³Όμ μ μλ―Έν©λλ€. μ΄λ¬ν μΈλΆ 리μμ€λ₯Ό "μμ‘΄μ±"μ΄λΌκ³ νλ©°, μμ‘΄μ± μ€μ μ μ΄λ¬ν μμ‘΄μ±μ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νμ¬ νλ‘μ νΈκ° μννκ² λμνλλ‘ λ³΄μ₯ν©λλ€.
νκ²½ κ΄λ¦¬ (Environment Management): μ΄λ νλ‘μ νΈ λλ μ ν리μΌμ΄μ μ κ°λ°ν λ νμν μ€ν νκ²½μ ꡬμ±κ³Ό κ΄λ¦¬λ₯Ό μλ―Έν©λλ€. μ΄λ¬ν μ€ν νκ²½μ νΉμ λ²μ μ νλ‘κ·Έλλ° μΈμ΄, λΌμ΄λΈλ¬λ¦¬, μ€μ νμΌ λ±μΌλ‘ ꡬμ±λ©λλ€. νκ²½ κ΄λ¦¬λ₯Ό ν΅ν΄ νλ‘μ νΈκ° μ€νλλ νκ²½μ μΌκ΄λκ³ κ²©λ¦¬λ μνλ‘ μ μ§ν μ μμ΅λλ€.
πμμ‘΄μ± κ΄λ¦¬(Dependency Management)μ λν λνμ μ¬λ‘
μΈμ΄ λ²μ κ΄λ¦¬:
μΈμ΄μ λ²μ κ΄λ¦¬λ νλ‘κ·Έλλ° μΈμ΄μ μ κ·Έλ μ΄λ λλ λ€μ΄κ·Έλ μ΄λλ₯Ό μλ―Έν©λλ€. μλ₯Ό λ€μ΄, Python 3.7μμ Python 3.8λ‘ μ κ·Έλ μ΄λνκ±°λ, Java 8μμ Java 11λ‘ μ κ·Έλ μ΄λνλ κ²κ³Ό κ°μ΄ μΈμ΄μ λ²μ μ κ΄λ¦¬νλ κ²μ μ€μν©λλ€.
μ΄λ νλ‘κ·Έλ¨μ νΈνμ±κ³Ό μμ μ±μ μ μ§νκΈ° μν΄ νμν©λλ€. μΈμ΄μ μλ‘μ΄ λ²μ μ μλ‘μ΄ κΈ°λ₯κ³Ό κ°μ μ¬νμ μ 곡ν μ μμ§λ§, κΈ°μ‘΄ μ½λμ νΈνλμ§ μμ μλ μμ΅λλ€. λ°λΌμ νλ‘μ νΈκ° μ΄λ€ μΈμ΄ λ²μ μ μμ‘΄νλμ§ λͺ νν μ μνκ³ κ΄λ¦¬ν΄μΌ ν©λλ€.
λͺ¨λ μμ‘΄μ± κ΄λ¦¬:
νλ‘κ·Έλ¨μ μ’ μ’ μΈλΆ λΌμ΄λΈλ¬λ¦¬, ν¨ν€μ§, λͺ¨λ λ±μ μ¬μ©ν©λλ€. μ΄λ¬ν μΈλΆ μμμ νλ‘κ·Έλ¨μ΄ μννκ² λμνκ³ νμν κΈ°λ₯μ μννλ λ° μ€μν©λλ€.
μμ‘΄νλ λͺ¨λμ λ²μ κ΄λ¦¬λ μ€μν©λλ€. λ€λ₯Έ λ²μ μ λͺ¨λμ λ€λ₯Έ κΈ°λ₯, λ²κ·Έ μμ , 보μ μ λ°μ΄νΈλ₯Ό κ°μ§ μ μμΌλ©°, μ΄λ νλ‘κ·Έλ¨μ λμμ μν₯μ μ€ μ μμ΅λλ€. λ°λΌμ μ νν λ²μ μ λͺ¨λμ μ¬μ©νλ κ²μ΄ μ€μνλ©°, μ΄λ₯Ό μν΄ μ’ μ’ ν¨ν€μ§ κ΄λ¦¬μ (μ: pip, npm)λ₯Ό μ¬μ©νμ¬ μμ‘΄μ±μ κ΄λ¦¬ν©λλ€.
μ΄λ κ² 'μΈμ΄ λ²μ 'κ³Ό 'λͺ¨λ λ²μ 'μ κ΄λ¦¬ν¨μΌλ‘μ¨ νλ‘μ νΈμ μμ μ±μ μ μ§νκ³ νΈνμ± λ¬Έμ λ₯Ό λ°©μ§ν μ μμ΅λλ€. κ·Έλ¦¬κ³ μ΄λ¬ν κ΄λ¦¬λ "μμ‘΄μ± κ΄λ¦¬"μ μΌνμΌλ‘ κ°μ£Όλ©λλ€. μΌλ°μ μΈ νλ‘μ νΈλ νΉμ μΈμ΄μ νΉμ λ²μ κ³Ό νΉμ λͺ¨λ λ²μ μ μμ‘΄νλ©°, μ΄λ¬ν μμ‘΄μ±μ λͺ μμ μΌλ‘ κ΄λ¦¬νκ³ λ¬Έμννλ κ²μ΄ μ’μ κ°λ° κ΄νμ λλ€.Β
πGitHub μ€νμμ€ νλ‘μ νΈ νμ©νλ ν¨ν΄
GitHubμμ νλ‘μ νΈ κ²μ
README.md νμΌ μ½κΈ°
README.md νμΌμ μ°μ¬μλ λΌμ΄λΈλ¬λ¦¬ νμΈνκΈ°
Anacondaλ‘ κ°μνκ²½ λ§λ€κ³ μ€ννκΈ°
νλ‘μ νΈμ νμ©λ μΈμ΄, λͺ¨λ λ± λ²μ μ λ§κ² μ€μΉνκΈ°(μμ‘΄μ± κ΄λ¦¬)
URLμ νμ©νμ¬ git cloneμΌλ‘ νλ‘μ νΈ κ°μ§κ³ μ€κΈ°
μ€ννμ¬ λλ €λ³΄κΈ°
μ μ κ°μ μ΄λ³΄λ€μ λμ μΈμμμ νλνλ λλ¨ν κ°λ°μ λΆλ€μ μ½λ μ€κ³λ₯Ό λͺ¨λ μ΄ν΄ν μ μμΌλ―λ‘, μμ κ°μ ν¨ν΄μΌλ‘ νλ‘μ νΈλ₯Ό μ€νν΄λ³΄κ³ νμν μ½λλ§ μμ νλ λ°©λ²μΌλ‘ μ κ·Όνλ κ²μ μΆμ²ν©λλ€.Β
'Peace be with you.'
Β by Learnmore'