πŸ“Œ λ„€νŠΈμ›Œν¬μ™€ μ†Œν”„νŠΈμ›¨μ–΄ 곡학: μ΄λ‘ μ—μ„œ μ‹€λ¬΄κΉŒμ§€ πŸŒπŸš€

Jinil ParkΒ·2025λ…„ 4μ›” 19일
0

Computer Science

λͺ©λ‘ 보기
5/5

🌐 컴퓨터 λ„€νŠΈμ›Œν¬λž€?

컴퓨터 λ„€νŠΈμ›Œν¬λŠ” μ—¬λŸ¬ 컴퓨터가 데이터와 μžμ›μ„ κ³΅μœ ν•  수 μžˆλ„λ‘ μ—°κ²°λœ μ‹œμŠ€ν…œμž…λ‹ˆλ‹€. 인터넷, 둜컬 λ„€νŠΈμ›Œν¬(LAN), μ™€μ΄νŒŒμ΄ 등이 λŒ€ν‘œμ μΈ μ˜ˆμž…λ‹ˆλ‹€.


πŸ“‘ λ„€νŠΈμ›Œν¬ κΈ°λ³Έ κ°œλ…

πŸ“Œ μ£Όμš” μš©μ–΄ 정리

  • λ…Έλ“œ(Node): λ„€νŠΈμ›Œν¬μ— μ—°κ²°λœ 컴퓨터 λ˜λŠ” μž₯치
  • 링크(Link): λ…Έλ“œ κ°„μ˜ μ—°κ²°
  • ν”„λ‘œν† μ½œ(Protocol): λ„€νŠΈμ›Œν¬μ—μ„œ ν†΅μ‹ ν•˜κΈ° μœ„ν•œ κ·œμΉ™κ³Ό 절차 (예: TCP/IP, HTTP, FTP)

πŸ”— OSI 7계측 λͺ¨λΈ

OSI(Open Systems Interconnection)λŠ” λ„€νŠΈμ›Œν¬ ν†΅μ‹ μ˜ ν‘œμ€€ν™”λœ λͺ¨λΈμž…λ‹ˆλ‹€.

κ³„μΈ΅μ΄λ¦„μ—­ν• μ˜ˆμ‹œ
7μΈ΅μ‘μš© κ³„μΈ΅μ‚¬μš©μžμ—κ²Œ μ„œλΉ„μŠ€λ₯Ό 제곡HTTP, FTP
6μΈ΅ν‘œν˜„ 계측데이터 ν˜•μ‹ λ³€ν™˜, μ•”ν˜Έν™”SSL, TLS
5μΈ΅μ„Έμ…˜ 계측연결 관리Socket
4측전솑 계측데이터 전솑 관리TCP, UDP
3μΈ΅λ„€νŠΈμ›Œν¬ κ³„μΈ΅κ²½λ‘œ μ„€μ •κ³Ό 데이터 전솑IP, λΌμš°ν„°
2측데이터 링크 κ³„μΈ΅μ˜€λ₯˜ κ²€μΆœ 및 μˆ˜μ •μ΄λ”λ„·
1측물리 계측물리적 μž₯치 연결케이블, ν—ˆλΈŒ

🌍 TCP/IP ν”„λ‘œν† μ½œ

μΈν„°λ„·μ—μ„œ κ°€μž₯ 널리 μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€.

  • TCP (Transmission Control Protocol): μ‹ λ’°μ„± μžˆλŠ” 데이터 전솑 보μž₯
  • IP (Internet Protocol): 데이터 전솑 경둜 μ§€μ • (IP μ£Όμ†Œλ₯Ό 이용)

πŸ“¬ HTTP ν”„λ‘œν† μ½œ

μ›Ή νŽ˜μ΄μ§€μ™€ 같은 λ¦¬μ†ŒμŠ€λ₯Ό μ „μ†‘ν•˜κΈ° μœ„ν•œ ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€.

πŸ“Œ HTTP μš”μ²­ 방식

  • GET: 데이터 μš”μ²­
  • POST: 데이터 제좜
  • PUT: 데이터 μˆ˜μ •
  • DELETE: 데이터 μ‚­μ œ

πŸ”’ λ„€νŠΈμ›Œν¬ λ³΄μ•ˆ κ°œλ…

πŸ“Œ μ£Όμš” λ³΄μ•ˆ 기법

  • μ•”ν˜Έν™”(Encryption): 데이터 보호λ₯Ό μœ„ν•œ μ•”ν˜Έν™” 기법 (λŒ€μΉ­ν‚€, κ³΅κ°œν‚€ 방식)
  • λ°©ν™”λ²½(Firewall): λ„€νŠΈμ›Œν¬ 접근을 μ œμ–΄ν•˜κ³  차단
  • VPN(Virtual Private Network): μ™ΈλΆ€μ—μ„œλ„ μ•ˆμ „ν•œ λ„€νŠΈμ›Œν¬ μ ‘κ·Ό 제곡

πŸš€ μ†Œν”„νŠΈμ›¨μ–΄ κ³΅ν•™μ΄λž€?

μ†Œν”„νŠΈμ›¨μ–΄ 곡학(Software Engineering)은 μ†Œν”„νŠΈμ›¨μ–΄ 개발과 μœ μ§€λ³΄μˆ˜λ₯Ό μ²΄κ³„μ μœΌλ‘œ κ΄€λ¦¬ν•˜λŠ” λ°©λ²•λ‘ μž…λ‹ˆλ‹€. μš”κ΅¬μ‚¬ν•­ 뢄석, 섀계, κ΅¬ν˜„, ν…ŒμŠ€νŠΈ, μœ μ§€λ³΄μˆ˜λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€.


πŸ“Œ μ†Œν”„νŠΈμ›¨μ–΄ 개발 생λͺ…μ£ΌκΈ°(SDLC)

μ†Œν”„νŠΈμ›¨μ–΄ 개발 생λͺ…μ£ΌκΈ°λŠ” μ†Œν”„νŠΈμ›¨μ–΄κ°€ 개발, 배포, μœ μ§€λ³΄μˆ˜λ˜λŠ” 전체 과정을 μ˜λ―Έν•©λ‹ˆλ‹€.

βœ… μ£Όμš” 단계

  1. μš”κ΅¬μ‚¬ν•­ 뢄석

    • 고객 μš”κ΅¬μ‚¬ν•­ λͺ…ν™•ν™”
    • κΈ°λŠ₯ μ •μ˜ 및 λ¬Έμ„œν™”
  2. 섀계

    • μ‹œμŠ€ν…œ ꡬ쑰 μ •μ˜
    • UML λ‹€μ΄μ–΄κ·Έλž¨ ν™œμš©
  3. κ΅¬ν˜„

    • μ‹€μ œ ν”„λ‘œκ·Έλž˜λ° 및 μ½”λ”© μˆ˜ν–‰
  4. ν…ŒμŠ€νŠΈ

    • 결함 κ²€μΆœ 및 μˆ˜μ •
    • λ‹¨μœ„ ν…ŒμŠ€νŠΈ, 톡합 ν…ŒμŠ€νŠΈ, μ‹œμŠ€ν…œ ν…ŒμŠ€νŠΈ λ“± μˆ˜ν–‰
  5. 배포 및 μœ μ§€λ³΄μˆ˜

    • μ‹€μ œ ν™˜κ²½μ— 배포
    • 지속적인 κΈ°λŠ₯ κ°œμ„ κ³Ό μœ μ§€λ³΄μˆ˜ μˆ˜ν–‰

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

μ†Œν”„νŠΈμ›¨μ–΄ 개발 방법둠은 ν”„λ‘œμ νŠΈλ₯Ό μ„±κ³΅μ μœΌλ‘œ μ™„μ„±ν•˜κΈ° μœ„ν•œ μ ‘κ·Ό λ°©λ²•μž…λ‹ˆλ‹€.

πŸ“Œ μ£Όμš” 방법둠

  • 폭포수 λͺ¨λΈ(Waterfall Model): 단계별 순차적 μ ‘κ·Ό

    • λͺ…ν™•ν•œ μš”κ΅¬μ‚¬ν•­μ΄ μ‘΄μž¬ν•  λ•Œ 적합
  • μ• μžμΌ 방법둠(Agile Methodology): 짧은 μ£ΌκΈ°(iteration)둜 λΉ λ₯΄κ²Œ 개발 및 ν”Όλ“œλ°± 수렴

    • Scrum, Kanban, XP 등이 포함됨
    • 변화에 μœ μ—°ν•˜κ²Œ λŒ€μ‘ κ°€λŠ₯

πŸ“Š μ• μžμΌ 방법둠 상세 μ‚΄νŽ΄λ³΄κΈ°

πŸ”Έ Scrum(슀크럼)

  • 반볡적인 개발 사이클(μŠ€ν”„λ¦°νŠΈ)
  • λͺ…ν™•ν•œ μ—­ν•  λΆ„λ‹΄(Product Owner, Scrum Master, κ°œλ°œνŒ€)

πŸ”Έ Kanban(칸반)

  • μ‹œκ°μ μœΌλ‘œ μž‘μ—… 흐름 관리
  • μ—…λ¬΄μ˜ 병λͺ© ν˜„μƒ μ‹ μ†νžˆ νŒŒμ•… 및 ν•΄κ²° κ°€λŠ₯

βš™οΈ UML(Unified Modeling Language)

μ†Œν”„νŠΈμ›¨μ–΄ 섀계λ₯Ό μ‹œκ°μ μœΌλ‘œ λ‚˜νƒ€λ‚΄κΈ° μœ„ν•œ ν‘œμ€€ν™”λœ λͺ¨λΈλ§ μ–Έμ–΄μž…λ‹ˆλ‹€.

πŸ“Œ μ£Όμš” UML λ‹€μ΄μ–΄κ·Έλž¨

  • 클래슀 λ‹€μ΄μ–΄κ·Έλž¨(Class Diagram)
  • μœ μŠ€μΌ€μ΄μŠ€ λ‹€μ΄μ–΄κ·Έλž¨(Use Case Diagram)
  • μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨(Sequence Diagram)
  • μƒνƒœ λ‹€μ΄μ–΄κ·Έλž¨(State Diagram)

πŸ› οΈ CI/CD (지속적 톡합과 지속적 배포)

μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν”„λ‘œμ„ΈμŠ€λ₯Ό μžλ™ν™”ν•˜μ—¬ 생산성을 λ†’μ΄λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

πŸ“Œ CI/CD의 μž₯점

  • μ½”λ“œ ν’ˆμ§ˆ ν–₯상
  • λΉ λ₯Έ 문제 발견 및 ν•΄κ²°
  • μ‹ μ†ν•œ 배포 및 ν”Όλ“œλ°±

πŸ“Œ μ£Όμš” 도ꡬ

  • Jenkins, GitLab CI, GitHub Actions λ“±

πŸ“– μ½”λ“œ ν’ˆμ§ˆ 관리

πŸ”Έ μ½”λ“œ 리뷰

  • νŒ€ κ°„ μ½”λ“œ 곡유 및 ν”Όλ“œλ°± κ³Όμ •
  • μ½”λ“œ ν’ˆμ§ˆ ν–₯상 및 지식 곡유 효과

πŸ”Έ 정적 뢄석 도ꡬ

  • SonarQube, ESLint, Checkstyle λ“±μœΌλ‘œ μ½”λ“œμ˜ 잠재적 문제점 μžλ™ 탐지

πŸ“š λ§ˆλ¬΄λ¦¬μ™€ ν•™μŠ΅ λ°©ν–₯

λ„€νŠΈμ›Œν¬μ™€ μ†Œν”„νŠΈμ›¨μ–΄ 곡학을 깊이 있게 μ΄ν•΄ν•˜λ©΄ 효율적이고 μ•ˆμ •μ μΈ μ‹œμŠ€ν…œμ„ μ„€κ³„ν•˜κ³  관리할 수 μžˆμŠ΅λ‹ˆλ‹€. 이번 μž₯μ—μ„œ 배운 λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ μ‹€λ¬΄μ—μ„œ λ°”λ‘œ 적용 κ°€λŠ₯ν•œ κΈ°μˆ μ„ μ§€μ†μ μœΌλ‘œ ν•™μŠ΅ν•˜κ³  λ°œμ „μ‹œν‚€μ‹œκΈ° λ°”λžλ‹ˆλ‹€.


πŸ“– λ³Έ 글은 λ„€νŠΈμ›Œν¬μ™€ μ†Œν”„νŠΈμ›¨μ–΄ κ³΅ν•™μ˜ κ°œλ…κ³Ό 싀무 ν™œμš©λ²•μ„ μ‰½κ²Œ μ΄ν•΄ν•˜κ³  μ μš©ν•  수 μžˆλ„λ‘ κ΅¬μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

이둜써 자료ꡬ쑰, μ•Œκ³ λ¦¬μ¦˜, λ°μ΄ν„°λ² μ΄μŠ€, 컴퓨터 μ•„ν‚€ν…μ²˜μ™€ 운영체제, λ„€νŠΈμ›Œν¬μ™€ μ†Œν”„νŠΈμ›¨μ–΄ κ³΅ν•™μ˜ 핡심 λ‚΄μš©μ„ λͺ¨λ‘ λ§ˆμ³€μŠ΅λ‹ˆλ‹€. κΈ΄ κΈ€ μ½μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!🌟

0개의 λŒ“κΈ€