BootCamp 11day

GyeongNamΒ·2023λ…„ 11μ›” 28일
0

BootCamp

λͺ©λ‘ 보기
11/49
post-thumbnail

πŸ“… 2023λ…„ 11μ›” 28일

[SW 1일차]

μ†Œν”„νŠΈμ›¨μ–΄ 곡학 :
μ†Œν”„νŠΈμ›¨μ–΄μ™€ κ΄€λ ¨λœ 원리, 지식, 도ꡬ등을 ν™œμš©ν•˜μ—¬ μƒˆλ‘œμš΄ μ œν’ˆ, 도ꡬ등을 λ§Œλ“œλŠ” 것.


11일차: μ†Œν”„νŠΈμ›¨μ–΄ 개발 방법둠, Git


μ†Œν”„νŠΈμ›¨μ–΄ 개발 방법둠 :

Waterfall :

전톡적인 μ†Œν”„νŠΈμ›¨μ–΄ 곡학

Waterfall 단계 :

κ³„νš :
무엇을?, 타당성 쑰사, 일정(WBS)
μš”κ΅¬μ‚¬ν•­ 뢄석 :
μš”κ΅¬μ‚¬ν•­κ³Ό μ‹œμŠ€ν…œ κΈ°λŠ₯이 λ¬Έμ„œν™” λ˜μ–΄μ•Ό ν•˜λŠ” 단계
섀계 :
μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜ 섀계
μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ 섀계
κ΅¬ν˜„ :
μ‹€μ§ˆμ μΈ ν”„λ‘œκ·Έλž˜λ° 단계 (μ•½, 전체기간 쀑 20%)
μ‹œν—˜ :
μš”κ΅¬μ‚¬ν•­κ³Ό 섀계에 λ§žλŠ”μ§€ 점검 κ³Όμ • (μ•½, 전체기간 쀑 40%)

  • ν…ŒμŠ€νŠΈ μœ ν˜•
  • μœ λ‹› ν…ŒμŠ€νŠΈ (κΈ°λ³Έλ‹¨μœ„μΈ λͺ¨λ“ˆ)
  • 톡합 ν…ŒμŠ€νŠΈ (λͺ¨λ“ˆλ“€μ„ 톡합)
  • μ‹œμŠ€ν…œ ν…ŒμŠ€νŠΈ (μ†Œν”„νŠΈμ›¨μ–΄μ™€ λ‹€λ₯Έ μ‹œμŠ€ν…œ μš”μ†Œ)
  • 인수 ν…ŒμŠ€νŠΈ (고객이 μ°Έμ—¬)

μœ μ§€λ³΄μˆ˜ :
μ‚¬μš©μ€‘ λ°œμƒν•˜λŠ” 변경사항에 λŒ€ν•΄ μ μ‘ν•˜λŠ” ν™œλ™μœΌλ‘œ 변화에 λ”°λ₯Έ ν”„λ‘œκ·Έλž¨ μΆ”κ°€/μˆ˜μ •μ„ ν•˜λŠ” κ³Όμ •


ν•˜ν–₯식 μ ‘κ·Ό 방법
λͺ¨λ†€λ¦¬μ‹ μ‹œμŠ€ν…œ κ°œλ°œμ— 적합

  • μž₯점
    • 큰 ν”„λ‘œμ νŠΈμ˜ 진척과 인λ ₯ 관리가 용이
    • λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ ꡬ좕에 μžˆμ–΄ κ²½ν—˜ 좕적
    • man/month 기반의 λΉ„μš©μ‚°μ •κ³Ό μΌμ •μ‚°μ •μ˜ 용이
  • 단점
    • μš”κ΅¬μ‚¬ν•­μ„ μ΄ˆκΈ°μ— ꡬ체화 ν•˜κΈ° 어렀움
    • 순차적 개발이 ν˜„μ‹€μ μœΌλ‘œ 어렀움
    • ν›„λ°˜μ—λŠ” μ‹œμŠ€ν…œ 문제점 νŒŒμ•…κ³Ό μˆ˜μ •μ΄ 어렀움
    • man/month 기반의 λΉ„μš©μ‚°μ •μ˜ λΆˆν•©λ¦¬μ„±κ³Ό μΌμ •μ‚°μ •μ˜ 뢀정확함

λͺ¨λ†€λ¦¬μ‹ μ•„ν‚€ν…μ²˜ :

  • 단일 λŒ€κ·œλͺ¨ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ :
    λͺ¨λ“  κΈ°λŠ₯이 ν•˜λ‚˜μ˜ 큰 μ‹œμŠ€ν…œμœΌλ‘œ κ΅¬μΆ•λ˜λŠ” 방식
  • ν†΅ν•©λœ 개발 μ ‘κ·Ό :
    μ†ŒμŠ€μ½”λ“œκ°€ μ„œλ‘œ 영ν–₯을 λ°›κ³  배포 및 ν…ŒμŠ€νŠΈκ°€ λ³΅μž‘ν•˜κ³  μ–΄λ €μ›Œμ§
  • 관리 및 μœ μ§€λ³΄μˆ˜μ˜ λ³΅μž‘μ„± :
    • μƒν˜Έ 영ν–₯도
    • λ³΅μž‘λ„μ™€ 배포의 어렀움
    • μ‹œμŠ€ν…œ κ΅¬μ„±μ˜ λ³΅μž‘μ„±

Agile :

κ°œλ°œμžλ“€μ΄ 쒋은 것을 λΉ λ₯΄κ³  낭비없이 λ§Œλ“€κΈ° μœ„ν•΄ κ²½λŸ‰ν™”λœ κ°€λ²Όμš΄ κ°œλ°œλ°©λ²•λ‘ 

Agile 단계 :

  • 뢄석, 섀계, κ΅¬ν˜„, μ‹œν—˜μ΄ λŠμž„μ—†μ΄ μ§„ν–‰λ˜λŠ” 반볡 λ˜λŠ” μˆœν™˜μ  개발
  • 각 단계λ₯Ό 짧게 1-2μ£Ό μ •λ„μ˜ 짧은 κΈ°κ°„(sprint)을 작고 νŠΉμ • κΈ°λŠ₯이 λ™μž‘ν•˜λŠ” 데λͺ¨λ₯Ό 배포 ν›„ μ‹œμ—°ν•˜κ³  ν”Όλ“œλ°±μ„ 톡해 λ‹€μ‹œ 반볡적으둜 뢄석, 섀계, κ΅¬ν˜„, μ‹œν—˜μ„ λ°˜λ³΅ν•¨

μš”κ΅¬μ‚¬ν•­μ˜ λ³€ν™”κ°€ 자주 μΌμ–΄λ‚˜κ±°λ‚˜ κ°œλ°œμžκ°€ μ†Œκ·œλͺ¨μΈ μ†Œν˜• λ˜λŠ” 쀑간 μ‚¬μ΄μ¦ˆμ˜ λΉ„μ¦ˆλ‹ˆμŠ€ μ‹œμŠ€ν…œ, κ²Œμž„Β μ†Œν”„νŠΈμ›¨μ–΄ 개발이 적합

μ• μžμΌ 방법둠 쀑 ν•˜λ‚˜λ‘œ 슀크럼(SCRUM) 방식이 널리 μ‚¬μš©

  • 상ν–₯식 μ ‘κ·Ό 방식
  • PO, PM(PL), 기획자, 개발자, λ””μžμ΄λ„ˆ 등이 슀크럼의 μ°Έμ—¬μž
  • scrum회의라 ν•˜λ©΄ μš°μ„ μˆœμœ„λ³„λ‘œ λ°œν–‰λœ μ΄μŠˆμ— λŒ€ν•΄ λ…Όμ˜ν•˜κ³ , μŠ€ν”„λ¦°νŠΈ λ³„λ‘œ 진척 상황을 회고

MSA(Micro Service Architecture) :

  • API기반 톡신
  • 이벀트 기반 톡신 (비동기 or 독립적 처리λ₯Ό μœ„ν•œ μš©λ„)

MSA와 μ»¨ν…Œμ΄λ„ˆ ν™˜κ²½κ΅¬μ„± :

  • κ²½λŸ‰ν™”λœ μ•„ν‚€ν…μ²˜λ‘œμ„œ λΆ„μ‚° μ•„ν‚€ν…μ²˜λ‘œ ꡬ성
  • μ»¨ν…Œμ΄λ„ˆ 기반 μ•„ν‚€ν…μ²˜μ— 적합
  • ν™•μž₯에 μœ μ—°ν•˜κ³  μš©μ΄ν•œ 이미지 기반의 μ»¨ν…Œμ΄λ„ˆ
  • μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 기술 덕뢄에 λŒ€κ·œλͺ¨ μ»¨ν…Œμ΄λ„ˆ μ‹œμŠ€ν…œμ„ 효율적으둜 κ΄€λ¦¬ν• μˆ˜ 있음

μΏ λ²„λ„€ν‹°μŠ€(k8s)의 ν™œμš©κ³Ό MSA :

  • msa ν™˜κ²½μ—μ„œμ˜ λΉˆλ²ˆν•œ μˆ˜μ •κ³Ό 배포 κ°€λŠ₯
  • μžλ™ ν™•μž₯κ³Ό λ‘œλ“œ λ°ΈλŸ°μ‹±
  • μ„œλΉ„μŠ€ 검색과 λ„€νŠΈμ›Œν‚Ήλ₯Ό ν†΅ν•œ λ‚΄λΆ€ 톡신 용이
  • μžμ› 관리 및 μ΅œμ ν™”
  • health check μžλ™κ΄€λ¦¬

Git μ‹€μŠ΅:

λͺ…λ Ήμ–΄

git add .
git commit -m "git ν…ŒμŠ€νŠΈ" 
git push origin main
git branch 
git status
git log

μ‚¬μš©μž 인증 방식 :

  • Personal access token
  • Authorized OAuth Apps

github git μ‹€μŠ΅ λ‚΄μš©

profile
503 Service Unavailable Error

0개의 λŒ“κΈ€