- ν μ΄λ¦ : CodeCraft
- νλ‘μ νΈλͺ : λνμμ μν μΉ κΈ°λ°μ Project Management System(PMS)
- νλ‘μ νΈ κΈ°κ° : 2024-08-12 ~ 2025-05-27
- νλ‘μ νΈ νν : [3νλ 2νκΈ° ~ 4νλ 1νκΈ°] μ‘Έμ μν μΊ‘μ€ν€ λμμΈ ν νλ‘μ νΈ
- νλ‘μ νΈ μ€λͺ
- PMS(Project Management System)λ νλ‘μ νΈλ₯Ό 체κ³μ μΌλ‘ κ΄λ¦¬νκ³ μ±κ³΅μ μΌλ‘ μνν μ μλλ‘ λλ μννΈμ¨μ΄λ₯Ό μλ―Έν©λλ€.
- λ³Έ νλ‘μ νΈλ κΈ°μ‘΄μ PMSλ₯Ό λ²€μΉλ§νΉνμ¬ λνμμκ² νμμ μΈ κΈ°λ₯λ§ μΆμΆνκ³ , μ¬κΈ°μμ μ 곡 κ΅κ³Ό λ΄μ©κ³Ό μ΅κ·Ό λ μ€λ₯΄λ AI, ν΄λΌμ°λ/κ°μν λ±μ κΈ°μ μ λ°μνμ¬ λνμ λ§μΆ€ν PMSλ₯Ό κ°λ°νλ κ²μ λλ€.
- λ³Έ νλ‘μ νΈμμλ νλ‘ν νμ λ°©λ²λ‘ μ μ±ννμμΌλ©°, 1μ°¨ νλ‘ν νμ μμλ κΈ°λ³Έμ μΈ PMS κΈ°λ₯μ κ°λ°νκ³ , 2μ°¨ νλ‘ν νμ μμλ λνμ λ° κ΅μλ₯Ό μν μ°¨λ³νλ κΈ°λ₯μ μ£Όλ‘ κ°λ°νμμ΅λλ€.
- λνμμ λ³Έ PMSλ₯Ό ν΅ν΄ νλ‘μ νΈ μν, WBS λ° μ§μ² κ΄λ¦¬, κ°μ’ μ°μΆλ¬Ό μμ± λ° κ΄λ¦¬, νμ κ°μ νμ λ±μ ν¨μ¨μ μΌλ‘ μνν μ μμ΅λλ€.
- κ΅μλ κ΅μμ© κ³μ μ ν΅ν΄ νμλ€μ νλ‘μ νΈμ μ°μΆλ¬Ό λ±μ νμΈνκ³ νκ°ν μ μμ΅λλ€.
- Google Geminiλ₯Ό νμ©ν PMS Advisor κΈ°λ₯μ ν΅νμ¬ νλ‘μ νΈ μ§ν, μ°μΆλ¬Ό μμ± λ° κ΄λ¦¬ λ±μ λνμ¬ μ¬μ©μμκ² λμ λ° μ‘°μΈμ μ 곡ν©λλ€.
- μμ€μ PMSμ λ¬λ¦¬ μ°μΆλ¬Ό Docx λ³ν λ° λ€μ΄λ‘λ, μ¬μ©μλ³ κΆν λ° λ©λ΄ μ κ·Ό μ μ΄, νλ‘μ νΈ Import/Export λ° λ²μ κ΄λ¦¬, μ λ°° μν λ·°μ΄ κΈ°λ₯ λ±μ μ 곡ν©λλ€.
- κ°λ° λͺ©ν λ° μΆμ λ°°κ²½
- κ°λ° νκ²½
- μ¬μ© κΈ°μ μ€ν λ° μν€ν μ²
- νλ‘μ νΈ κΈ°κ°
- κ°λ° μ€μ μ¬ν
- νλ‘μ νΈ κ΄λ ¨ λͺ¨λ μ°μΆλ¬Ό λͺ©λ‘
- DB λͺ¨λΈλ§ λ° μ€κ³, μλ£ νλ¦λ(DFD)
- WBS λ° μ§μ²κ΄λ¦¬
- ν μ€νΈ λ° νμ§κ΄λ¦¬
- νμ λ° νμκ΄λ¦¬
- νΈλ¬λΈ μν
- νλ‘μ νΈ μ±κ³Ό λ° λλμ , ν₯ν μ°κ΅¬ κ°λ° λ°©ν₯
- PMS μμ° λͺ¨μ΅
- κ°λ° λͺ©ν : κΈ°μ‘΄μ PMSλ₯Ό λ²€μΉλ§νΉνμ¬ λνμμκ² νμμ μΈ κΈ°λ₯λ§ μΆμΆνκ³ , μ¬κΈ°μμ μ 곡 κ΅κ³Ό λ΄μ©κ³Ό μ΅κ·Ό λ μ€λ₯΄λ AI, ν΄λΌμ°λ/κ°μν λ±μ κΈ°μ μ λ°μνμ¬ λνμ λ§μΆ€ν PMSλ₯Ό κ°λ°νλ κ²μ λλ€.
- μ΄λ³΄μλ₯Ό μν
- νλ‘μ νΈλ₯Ό μ²μ νλ λνμμ μ΄λ»κ² μ§νν΄μΌ ν μ§ λͺ¨λ¦ λλ€. μ¦, νλ‘μ νΈλ₯Ό μ²μ νλ λνμμ μ΄λ€ 체κ³λ‘ νλ‘μ νΈλ₯Ό μ§νν΄μΌ ν μ§ λ§μ°νκ³ , νλ‘μ νΈ λ°©λ²λ‘ μ μ§μμ΄λ μ§μ² κ΄λ¦¬ λ±μ λ°©λ²μ λͺ¨λ₯΄λ κ²½μ°κ° λ§μ΅λλ€. κ·Έλμ, μ΄λ³΄μλ₯Ό μν PMSλ₯Ό λ§λ€μλΌλ μκ°μ νκ² λμμ΅λλ€.
- λνμμ μν
- λνμμ μν λ§μΆ€ν PMSκ° μμ΅λλ€. μμ€μ PMS(Trello, Asana, Jira, Notion λ±)λ κΈ°μ μ¬μ©μμκ² νΉνλμ΄ μκ³ λνμμ΄ μ¬μ©νκΈ°μλ λΆμ ν©νλ©°, μ§μλλ μ°μΆλ¬Ό μ’ λ₯κ° μ κ³ , AI λ±μ κΈ°μ μ΄ μ μ©λ κΈ°λ₯κ³Ό κ°μ΄λ/λμλ§μ΄ λΆμ‘±ν©λλ€. κ·Έλμ, λνμμ μν PMSλ₯Ό λ§λ€μλΌλ μκ°μ νκ² λμμ΅λλ€.
- κ΅μλ₯Ό μν
- κ΅μκ° νμλ€μ νλ‘μ νΈλ₯Ό νμΈνκ³ νκ°νλ κΈ°λ₯μ΄ μμ΅λλ€. κ·Έλμ, κ΅μλ₯Ό μν PMSλ₯Ό λ§λ€μλΌλ μκ°μ νκ² λμμ΅λλ€.
- Server : CPU : AMD Ryzen V1500B, RAM : 8GB, Storage : 128GB (VMware ESXi)
- OS : Ubuntu 24.04 LTS
- Container : Docker, Portainer
- κ°λ° μΈμ΄ : Python, TypeScript
- λΌμ΄λΈλ¬λ¦¬/νλ μμν¬ : React, Next.JS, Axios, FastAPI
- λ°μ΄ν°λ² μ΄μ€ : MySQL
- IDE : Microsoft Visual Studio Code, Code-Server
- λ²μ λ° νμ κ΄λ¦¬ : GitHub Desktop, VMware Snapshot Backup
- Server OS : Ubuntu 24.04 LTS
- Front-End : TypeScript, React, Next.JS, Axios
- Back-End : Python, FastAPI, Docker, Portainer
- DataBase : MySQL, μ μ°¨ν SQL(Procedure, Function), μ΅ν°λ§μ΄μ ννΈ λ° μΈλ±μ€
- LLM(AI) : Google Gemini 2.0 Flash
![]() μμ€ν μν€ν μ² (System Architecture) |
![]() μ ν리μΌμ΄μ μν€ν μ² (Application Architecture) |
- μ£Όμ νμ λ° μ μ : 2024-08-12 ~ 2024-09-30
- νλ‘μ νΈ κ³ν : 2024-09-30 ~ 2024-10-21
- μꡬμ¬ν λΆμ : 2024-10-09 ~ 2024-10-21
- νλ‘μ νΈ μ€κ³ : 2024-10-09 ~ 2024-10-30
- νλ‘μ νΈ κ°λ° : 2024-10-13 ~ 2025-04-13
- 1μ°¨ νλ‘ν νμ κ°λ° : 2024-10-13 ~ 2024-12-17
- 2μ°¨ νλ‘ν νμ κ°λ° : 2024-12-18 ~ 2025-04-13
- ν
μ€νΈ
- λ¨μ ν μ€νΈ : 2025-03-21 ~ 2025-04-10
- ν΅ν© ν μ€νΈ : 2025-04-25 ~ 2025-04-27
- μ‘Έμ μν μ¬μ¬ : 2025-04-29
- λ Όλ¬Έ μμ± λ° μ μΆ : 2025-05-09 ~ 2025-05-19
- μ‘Έμ μν μ μν : 2025-05-27
- λ€μκ³Ό κ°μ μ 곡 κ΅κ³Ό λ΄μ©μ λ°μνμ¬ νλ‘μ νΈλ₯Ό μ§ννμμ΅λλ€.
- μννΈμ¨μ΄ 곡ν : μννΈμ¨μ΄ μλͺ μ£ΌκΈ°(SDLC) λ° κ°λ° λ°©λ²λ‘ , μλ£ νλ¦λ(DFD), μ§μ² κ΄λ¦¬, νμ§ κ΄λ¦¬, νμ κ΄λ¦¬
- λ°μ΄ν° ν΅μ , μ»΄ν¨ν° λ€νΈμν¬ : μ¨-νλ λ―Έμ€ μλ² κ΅¬μΆ, OSI 7κ³μΈ΅, TCP/IP, HTTP/HTTPS, ν¬νΈ ν¬μλ©, SSH
- λ°μ΄ν°λ² μ΄μ€ : DB μ€κ³ λ° λ°μ΄ν° λͺ¨λΈλ§, SQL, μ μ°¨ν SQL(Procedure, Function), μ΅ν°λ§μ΄μ ννΈ λ° μΈλ±μ€λ₯Ό ν΅ν SQL νλ
- λ€μκ³Ό κ°μ μ΅μ κΈ°μ μ λ°μνμ¬ νλ‘μ νΈλ₯Ό μ§ννμμ΅λλ€.
- LLM(AI) : Google Gemini 2.0 Flash
- κ°μν 컨ν μ΄λ : Docker, Portainer
- νλ‘μ νΈλ₯Ό μ§ννλ©΄μ μμ±λ κ³ν, μꡬμ¬ν λΆμ, μ€κ³, ꡬν, ν μ€νΈ λ¨κ³μ μ¬λ¬ κ°μ§ κ°μ’ μ°μΆλ¬Όμ μμ±νκ³ κ΄λ¦¬νλλ‘ νμμ΅λλ€.
- WBS, νμλ‘ λ±μ ν΅ν΄ 체κ³μ μΈ μ§μ² κ΄λ¦¬κ° μ΄λ£¨μ΄μ§ μ μλλ‘ νμμ΅λλ€.
- λ¨μ ν μ€νΈμ ν΅ν© ν μ€νΈλ₯Ό μ§ννλ©°, κ°κ° ν μ€νΈ κ³νμμ ν μ€νΈ κ²°κ³Όμλ₯Ό μμ±νμ¬ νμ§ κ΄λ¦¬λ₯Ό μ§ννμμ΅λλ€.
- GitHubλ₯Ό ν΅νμ¬ νμ κ°μ νμ λ° μμ€ μ½λμ λ²μ μ κ΄λ¦¬νκ³ , κ°μ’ μ°μΆλ¬Ό νμΌλ λλ ν 리λ³λ‘ λ²μ μ κ΄λ¦¬νμ¬ μ²΄κ³μ μΈ νμ κ΄λ¦¬λ₯Ό μ§ννμμ΅λλ€.
- κ°λ° κ³Όμ μμ μ΄λ €μ λλ μ€λ₯κ° λ°μν μ νμ κ° μλ‘ νλ ₯νμ¬ ν΄κ²°νλ κ³Όμ μ κ°μ§ μ μλλ‘ νμμ΅λλ€.
- κ³ν
- νλ‘μ νΈ κ³νμ
- WBS
- νμλ‘(μ£ΌκΈ°μ μΌλ‘ μμ±)
- μꡬ λΆμ
- μꡬμ¬ν λͺ μΈμ
- SOW
- λ©λ΄ ꡬμ±λ
- System Architecture
- Application Architecture
- μλ£ νλ¦λ(DFD)
- μ€κ³
- API μ€κ³μ
- νλ©΄/λ μ΄μμ(UI) μ€κ³μ
- μ°μΆλ¬Ό ꡬ쑰 λͺ μΈμ
- μ¬μ©μ κΆν μΈλΆν μ€κ³μ
- νλ‘μ νΈ Import/Export λ²μ κ΄λ¦¬ κΈ°λ₯ μ€κ³μ
- DB μꡬμ¬ν λ° μ 무 λΆμ λͺ μΈμ
- ERD
- DB λλ©μΈ μ μμ
- DB ν μ΄λΈ μ μμ
- DB κΈ°λ₯λ³ ν¨μ μ 리
- ꡬν λ° ν
μ€νΈ
- μμ€ μ½λ
- λ¨μ ν μ€νΈ κ³νμ
- λ¨μ ν μ€νΈ κ²°κ³Όμ
- ν΅ν© ν μ€νΈ κ³νμ
- ν΅ν© ν μ€νΈ κ²°κ³Όμ
-
- DB μꡬμ¬ν λ° μ 무 λΆμ λͺ μΈμλ₯Ό λ°νμΌλ‘ κ°μ²΄, μμ±, κ΄κ³λ₯Ό λμΆνμ¬ ERDλ₯Ό μμ±νμμ΅λλ€.
-
- 컬λΌμ λ°μ΄ν° νμ , κΈ°λ³Έκ°, μ μ½ μ‘°κ±΄ λ±μ λͺ μΈν DB λλ©μΈ μ μμλ₯Ό μμ±νμμ΅λλ€.
- κ° ν μ΄λΈμ 컬λΌλͺ κ³Ό μ»¬λΌ μ€λͺ , λ°μ΄ν° νμ , Null νμ© μ¬λΆ, ν€(Key) λ±μ λͺ μΈν DB ν μ΄λΈ μ μμλ₯Ό μμ±νμμ΅λλ€.
![]() DB λλ©μΈ μ μμ |
![]() DB ν μ΄λΈ μ μμ |
![]() DFD - νμ λ‘κ·ΈμΈ λ° νμκ°μ |
![]() DFD - νλ‘μ νΈ κ΄λ¦¬ |
![]() DFD - μ§μ²λ κ΄λ¦¬ |
![]() DFD - κΆν κ΄λ¦¬ |
![]() DFD - νλ‘μ νΈ Export |
![]() DFD - νλ‘μ νΈ Import |
![]() DFD - PMS Advisor |
|
- νλ‘μ νΈλ₯Ό μμνκΈ° μ μ νλ‘μ νΈ κ³νμλ₯Ό μμ±νμμ΅λλ€.
- μ΄λ₯Ό λ°νμΌλ‘ μꡬμ¬ν λͺ μΈμμ UI λͺ μΈμ, λ©λ΄ ꡬμ±λ λ±μ μμ±νμμ΅λλ€.
- μν€ν μ² λ±μ κ°μ’ μ€κ³λ₯Ό μ§ννκ³ , μ΄λ₯Ό μ’ ν©νμ¬ SOWλ₯Ό μμ±νμμ΅λλ€.
- μμ λ΄μ©μ μ’ ν©νμ¬ WBSμμ κ³ν, μꡬμ¬ν λΆμ, μ€κ³, 1μ°¨ & 2μ°¨ νλ‘ν νμ κ°λ°, ν μ€νΈ λ° μ μ§λ³΄μ, μ‘Έμ μν μ¬μ¬/μ μν μ€λΉ, μ‘Έμ λ Όλ¬Έ μμ±κΉμ§μ μΌμ μ μ립νμμ΅λλ€.
- λ§€μ£Ό 1ν μ΄μ μ£Όκ° νμλ₯Ό ν΅ν΄ WBSμ Taskκ° μ μ§μ²λμλμ§ μ κ²νκ³ , λλ½λ μ¬νκ³Ό λ¬Έμ λ μμλμ§ νμΈνλ©° μ§μ² κ΄λ¦¬λ₯Ό μ§νν΄ ν΄μμ΅λλ€.
-
- μꡬμ¬ν λͺ μΈμμ λ΄μ©λλ‘ μ€κ³κ° λμλμ§ νμΈνκ³ νλ‘ νΈμλ, λ°±μλ, DB ννΈλ³λ‘ λ¨μ ν μ€νΈ κ³νμμ κ²°κ³Όμλ₯Ό μμ±νμ¬ νμ§ κ΄λ¦¬λ₯Ό μ§ννμ΅λλ€.
- ννΈλ³λ‘ λ¨μ ν μ€νΈλ₯Ό μ§ννμ¬ ν μ€νΈ μΌμ΄μ€ νλͺ©λ³λ‘ P/NP μ¬λΆλ₯Ό νμΈνκ³ , λ°κ²¬λ μ€λ₯/κ²°ν¨μ μ΄λ»κ² ν΄κ²°νμλμ§μ λνμ¬ μμΈνκ² κΈ°λ‘νμμ΅λλ€.
![]() λ°±μλ(API) - λ¨μ ν μ€νΈ κ³νμ |
![]() DB - λ¨μ ν μ€νΈ κ³νμ |
![]() λ¨μ ν μ€νΈ κ²°κ³Όμ |
![]() λ¨μ ν μ€νΈ κ²°κ³Όμ - κ²°ν¨ μ‘°μΉ λ΄μ© |
-
- μ¬μ©μμ κ΄μ μμ PMSμ μ λ°μ μΈ κΈ°λ₯μ μ κ²νκΈ° μν μλλ¦¬μ€ κΈ°λ°μΌλ‘ ν΅ν© ν μ€νΈ κ³νμμ κ²°κ³Όμλ₯Ό μμ±νμ¬ νμ§ κ΄λ¦¬λ₯Ό μ§ννμ΅λλ€.
- ν΅ν© ν μ€νΈλ₯Ό μ§ννμ¬ ν μ€νΈ μλλ¦¬μ€ νλͺ©λ³λ‘ P/NP μ¬λΆλ₯Ό νμΈνκ³ , λ°κ²¬λ μ€λ₯/κ²°ν¨μ μ΄λ»κ² ν΄κ²°νμλμ§μ λνμ¬ μμΈνκ² κΈ°λ‘νμμ΅λλ€.
![]() ν΅ν© ν μ€νΈ κ³νμ |
![]() ν΅ν© ν μ€νΈ κ²°κ³Όμ |
![]() ν΅ν© ν μ€νΈ κ²°κ³Όμ - κ²°ν¨ μ‘°μΉ λ΄μ© |
|
- GitHubλ₯Ό ν΅ν νμ : νμλ§λ€ κ°λ° λ° μμ ν μμ€ μ½λλ₯Ό GitHub μ μ₯μμμ Pull Request μμ±νκ³ , νμ₯μ΄ κ²ν λ° μΉμΈ ν Merge(λ³ν©)νλ λ°©μμΌλ‘ νμ μ μ§ννμμ΅λλ€.
- νμ κ΄λ¦¬ :
- μμ€ μ½λμ λ²μ κ΄λ¦¬λ GitHubλ₯Ό ν΅νμ¬ κ΄λ¦¬ν΄μμΌλ©°, κ°μ’ μ°μΆλ¬Ό νμΌλ λλ ν 리λ³λ‘ λ²μ μ κ΄λ¦¬νμ¬ μ²΄κ³μ μΈ νμ κ΄λ¦¬λ₯Ό μ§ννμμ΅λλ€.
- VMware ESXiμ Snapshot Backup κΈ°λ₯μ νμ©νμ¬ μ£ΌκΈ°μ μΈ 2μ€ λ°±μ μ μ§νν¨μΌλ‘μ¨, μ² μ ν λ°±μ 체κ³λ₯Ό ꡬμΆνμμ΅λλ€.
![]() νμ κ΄λ¦¬ - DB κ΄λ ¨ PR λ΄μ |
![]() νμ κ΄λ¦¬ - μ°μΆλ¬Ό |
![]() νμ κ΄λ¦¬ - PR λ³ν© κ·Έλν |
![]() νμ κ΄λ¦¬ - μ€λ μ· 2μ€ λ°±μ |
-
λ¬Έμ : PMS Advisor κΈ°λ₯μμ LLMμ μ 곡ν νλ‘μ νΈμ λͺ¨λ μ 보λ₯Ό μ΄λ»κ² μ λ¬ν κ²μΈμ§μ λν μ΄λ €μ
- κ³ λ―Ό : μ²μμλ νλ‘μ νΈμ μ§μ²λ, μ 무, κ°μ’ μ°μΆλ¬Ό ν μ΄λΈμ λͺ¨λ μ‘°μΈν΄μ νλμ κ²°κ³Ό ν μ΄λΈμ CSV νμΌλ‘ λ΄λ³΄λ΄λ €κ³ νμμ§λ§, μ‘°μΈλλ ν μ΄λΈμ΄ λ§μμ§μ λ°λΌ νμ μκ° κΈ°νκΈμμ μΌλ‘ λμ΄λλ©΄μ λ§€μ° λΉν¨μ¨μ μ΄κ³ LLMμκ² μ λ¬νκΈ°μλ μ΄λ €μμ΄ μμμ΅λλ€.
- ν΄κ²° : νλ‘μ νΈ λ²νΈλ₯Ό λ§€κ° λ³μλ‘ λ°μμ νλ‘μ νΈμ μ
무, μ§μ²λ, λͺ¨λ μ°μΆλ¬Ό ν
μ΄λΈμ κ°κ° μ‘°ννκ³ JSONμΌλ‘ κ°κ³΅νμ¬ λ°ννλ
fetch_project_for_LLM(pid)ν¨μλ₯Ό μ§μ μ μνμ¬ ν΄κ²°νμ΅λλ€.
-
λ¬Έμ : DB μ€κ³κ° μ΄λ―Έ μλ£λ μνμμ PMSμ μΆκ° κΈ°λ₯ ꡬνμ νμν ν μ΄λΈ λ° μ»¬λΌ, μΈλν€ μΆκ°λ‘ μΈν DB ꡬ쑰 λ³κ²½ λ¬Έμ
- ν΄κ²° : κ°μ²΄ κ°μ κ΄κ³λ₯Ό μ μ νκ² νμ νκ³ λ€λ₯Έ ν μ΄λΈμλ μν₯μ΄ μ λλ‘ DB ꡬ쑰λ₯Ό λ³κ²½νμμ΅λλ€. μ€μ μμ ν μ¬λ‘λ‘λ νκ³Όλ³ κ΅κ³Όλͺ© μ 보λ₯Ό μΆκ°ν΄μΌ νλ μν©μμ νκ³Ό ν μ΄λΈκ³Ό κ³Όλͺ© ν μ΄λΈμ 1:N κ΄κ³μ΄λ―λ‘, νκ³Ό λ²νΈλ₯Ό μΈλν€λ‘ μ€μ νμ¬ λΉμλ³ κ΄κ³λ‘ μ€μ νμμ΅λλ€. λν, νλ‘μ νΈ μ±μ ν μ΄λΈμ 1:1 κ΄κ³μ΄λ―λ‘, νλ‘μ νΈ λ²νΈλ₯Ό μΈλν€μ΄λ©΄μ λμμ κΈ°λ³Έν€λ‘ μ€μ νμ¬ μλ³ κ΄κ³λ‘ μμ±νλ λ± κ°μ²΄ κ°μ κ΄κ³λ₯Ό μ μ νκ² νμ νμ¬ DB ꡬ쑰λ₯Ό λ³κ²½νμμ΅λλ€.
-
λ¬Έμ : PMSμμ νλ‘μ νΈ Import/Export λ° λ²μ κ΄λ¦¬ κΈ°λ₯μ μ΄λ»κ² ꡬνν κ²μΈμ§μ λν μ΄λ €μ
- ν΄κ²° : MySQLμ CSV νμΌμ νμ©νμ¬ λ°μ΄ν°λ₯Ό λ΄λ³΄λ΄κ³ κ°μ Έμ€λ λ°©μμ μ¬μ©νμμ΅λλ€. λν, νλ‘μ νΈ λ²μ μ 보λ₯Ό μ μ₯νκΈ° μν λ³λμ ν μ΄λΈμ μμ±νκ³ , μ΄λ₯Ό ν΅ν΄ μ¬μ©μκ° μ΄μ λ²μ μΌλ‘ μ½κ² λ‘€λ°±ν μ μλλ‘ κ΅¬ννμμ΅λλ€.
-
λ¬Έμ : Oracleκ³Ό λ¬λ¦¬ MySQLμμ μνμ€ κΈ°λ₯ λ―Έμ§μμΌλ‘ μΈν νλ‘μ νΈλ³ μνμ€ λ²νΈ μ¬μ©μ΄ λΆκ°λ₯ν λ¬Έμ
- ν΄κ²° : λ³λμ μνμ€ ν μ΄λΈμ μμ±νκ³ , μ μ°¨ν SQLμ Procedureμ Functionμ νμ©νμ¬ νλ‘μ νΈλ³ μνμ€ κΈ°λ₯μ ꡬννμ¬ ν΄κ²°νμμ΅λλ€.
-
λ¬Έμ : PMSμμ WBSλ₯Ό μ‘°ννλ 쿼리μ μ€ν κ³νμμ λ³λμ Using filesortκ° λ°μνλ λ¬Έμ
- ν΄κ²° : ORDER BY μ μ μ¬μ©λ 컬λΌμ΄ μΈλ±μ€μ ν¬ν¨λμ§ μμ λ°μνλ λ¬Έμ μ΄λ©°, λ³΅ν© μ»¬λΌ μΈλ±μ€λ₯Ό μμ±ν νμ
/*+ INDEX(progress idx_progress_pno_group1to4) */μ΅ν°λ§μ΄μ ννΈλ‘ ν΄λΉ μΈλ±μ€λ₯Ό μ μ©ν¨μΌλ‘μ¨ Using filesortλ₯Ό μ κ±°νκ³ μΏΌλ¦¬ μ±λ₯μ κ°μ νμμ΅λλ€.
- ν΄κ²° : ORDER BY μ μ μ¬μ©λ 컬λΌμ΄ μΈλ±μ€μ ν¬ν¨λμ§ μμ λ°μνλ λ¬Έμ μ΄λ©°, λ³΅ν© μ»¬λΌ μΈλ±μ€λ₯Ό μμ±ν νμ
-
- DBλ₯Ό μ²μλΆν° μ§μ μꡬμ¬ν λΆμ, κ°λ
μ λ° λ
Όλ¦¬μ λͺ¨λΈλ§μ μ§ννλ©΄μ 1:1, 1:N, M:N κ΄κ³μΌ λμ λͺ¨λΈλ§ κ³Όμ μ μ§μ κ²½νν μ μμμ΅λλ€.
- νΉν, νμκ³Ό νλ‘μ νΈμ M:N κ΄κ³λ λ³λμ νλ‘μ νΈ μ°Έμ¬ ν μ΄λΈμ μμ±νκ³ κ° ν μ΄λΈμ κΈ°λ³Έν€λ₯Ό μΈλν€λ‘ κ°μ Έμ€λ©΄μ λμμ λ³΅ν© κΈ°λ³Έν€λ‘ μ€μ νλ κ²μ ν΅ν΄ M:N κ΄κ³λ₯Ό λͺ¨λΈλ§νλ λ°©λ²μ λ°°μΈ μ μμμ΅λλ€.
- μΈλ±μ€μ μ΅ν°λ§μ΄μ ννΈλ₯Ό νμ©νμ¬ SQL νλ λ° μ΅μ νλ₯Ό μ§ννλ©΄μ, μΈλ±μ€μ μ’
λ₯μ νΉμ§, μ΅ν°λ§μ΄μ ννΈ κ΅¬λ¬Έμ ν΅ν 쿼리 μ±λ₯ κ°μ λ°©λ² λ±μ λ°°μΈ μ μμμ΅λλ€.
- νΉν, PMSμμ WBSλ₯Ό μ‘°ννλ 쿼리μ μ€ν κ³νμμ λ³λμ Using filesortκ° λ°μνλ λ¬Έμ λ₯Ό μ΅ν°λ§μ΄μ ννΈλ₯Ό νμ©νμ¬ μΈλ±μ€λ₯Ό μ μ©ν¨μΌλ‘μ¨ Using filesortλ₯Ό μ κ±°νκ³ μΏΌλ¦¬ μ±λ₯μ κ°μ νλ κ²½νμ ν μ μμμ΅λλ€.
- μΉ κΈ°λ°μ PMSλ₯Ό κ°λ°νλ©΄μ, νλ‘ νΈμλ-λ°±μλ-DB κ°μ μ°λ λ° ν΅μ κ³Όμ μ μ΄ν΄νκ³ κ²½νν μ μμμ΅λλ€.
- νΉν, λ°±μλμ DBλ₯Ό μ°λνλ λ°©λ², μΈλΆ μΈν°λ·κ³Ό λ°±μλμ Docker 컨ν μ΄λ κ°μ ν΅μ μ μν ν¬νΈ ν¬μλ©, SSHλ‘ DB μ½μμ μ μνλ λ°©λ² λ±μ λ°°μΈ μ μμμ΅λλ€.
- νλ‘μ νΈλ₯Ό μ§ννλ©΄μ κ°λ° μμ
λΏλ§μ΄ μλλΌ, μ¬λ¬ κ°μ§μ κ°μ’
μ°μΆλ¬Ό μμ±κ³Ό μ§μ² κ΄λ¦¬, νμ§ κ΄λ¦¬, νμ κ΄λ¦¬κ° μ€μνλ€λ κ²μ κΉ¨λ¬μμ΅λλ€.
- WBSλ νλ‘μ νΈμ μ λ°μ μΈ κ°λ° μΌμ μ κ΄λ¦¬νλ λ° ν° λμμ΄ λμμΌλ©°, μ κΈ°μ μΈ νμλ₯Ό ν΅ν΄ νμ κ°μ μ§μ² μ¬νμ 곡μ νκ³ νΌλλ°±μ μ£Όκ³ λ°λ κ³Όμ μ΄ μ€μνλ€λ κ²μ λκΌμ΅λλ€.
- λ¨μ ν μ€νΈμ ν΅ν© ν μ€νΈλ₯Ό μ§ννλ©΄μ νμ§ κ΄λ¦¬μ μ€μμ±μ κΉ¨λ¬μμΌλ©°, ν μ€νΈ κ³νμμ κ²°κ³Όμλ₯Ό μμ±νμ¬ λ°κ²¬λ μ€λ₯/κ²°ν¨μ μ΄λ»κ² ν΄κ²°νμλμ§μ λν΄ μμΈνκ² κΈ°λ‘νλ κ²μ΄ νμ§ κ΄λ¦¬μ μ€μνλ€λ κ²μ κΉ¨λ¬μμ΅λλ€.
- GitHubλ₯Ό ν΅ν νμ μ νμ κ°μ μμ€ μ½λ λ²μ κ΄λ¦¬ λ° νμ κ΄λ¦¬λ₯Ό 체κ³μ μΌλ‘ μ§ννλ λ° ν° λμμ΄ λμμ΅λλ€.
- DBλ₯Ό μ²μλΆν° μ§μ μꡬμ¬ν λΆμ, κ°λ
μ λ° λ
Όλ¦¬μ λͺ¨λΈλ§μ μ§ννλ©΄μ 1:1, 1:N, M:N κ΄κ³μΌ λμ λͺ¨λΈλ§ κ³Όμ μ μ§μ κ²½νν μ μμμ΅λλ€.
-
- νκ΅μ μλ²λ₯Ό ν΅ν΄ μ€μ λ‘ μ΄μνλ€λ©΄, μ°λ¦¬ νκ΅λ§μ PMSκ° λλ¦¬λΌ κΈ°λν©λλ€.
- 곡λ κ³μ΄ νκ³Όκ° μλ λ€λ₯Έ κ³μ΄μ νκ³Όλ νκ³Ό μ 보, κ³Όλͺ© μ½λ λ±μ DBμλ§ μ λ ₯νλ©΄ λ°λ‘ μ¬μ©μ΄ κ°λ₯ν©λλ€. (λ³λ κΈ°λ₯ μΆκ° λ° κΈ°μ‘΄μ μμ€ μ½λλ₯Ό μμ ν νμκ° μμ΅λλ€.)
- μ¬μ©μμκ² λΆνΈν λΆλΆ, λΆμ‘±ν κΈ°λ₯, UI κ°μ λ±μ νΌλλ°±μ λ°μΌλ©΄μ 보μνλ€λ©΄, λ μ’μ PMSλ‘ λ°μ ν κ²μ λλ€.
- PMS Advisor κΈ°λ₯μμ λ λμ AI μΈκ³΅μ§λ₯ λ΅λ³μ μ 곡ν μ μλλ‘ LLM νλ λ° μ΅μ ννλ€λ©΄, λμ± μ’μ μλΉμ€λ₯Ό μ 곡ν μ μμ κ²μ λλ€.
- ν μ΄λΈ μ‘°μΈ λ°©μ λ° μμ μ§μ λ±μ λ€λ₯Έ μ΅ν°λ§μ΄μ ννΈ κ΅¬λ¬Έμ ν΅ν SQL νλ λ° μ΅μ νλ₯Ό μ§ννλ€λ©΄, μ‘°κΈ λ λΉ λ₯΄κ³ κ°μ©μ±μ΄ λμ PMSλ₯Ό μ§μμ μΌλ‘ μ΄μν μ μμ κ²μ λλ€.
Note
μμ° μμμ μ°μΈ‘μ λ§ν¬λ₯Ό μ°Έκ³ λΆνλ립λλ€. PMS μμ° μμ λ§ν¬

























