λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

#6 자격증 πŸ—‚οΈ/5-1 μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬

[μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ ν•„κΈ°] μ†Œν”„νŠΈμ›¨μ–΄ 개발

μ†Œν”„νŠΈμ›¨μ–΄ 개발

  • μ†Œν”„νŠΈμ›¨μ–΄ ν˜•μƒ 관리
    • 버전에 λŒ€ν•œ 정보에 μ ‘κ·Ό κ°€λŠ₯ν•˜μ—¬ 배포본 관리 유용
    • λΆˆν•„μš”ν•œ μ‚¬μš©μžμ˜ μ†ŒμŠ€ μˆ˜μ • μ œν•œ
    • λ™μΌν•œ ν”„λ‘œμ νŠΈμ— λŒ€ν•΄ μ—¬λŸ¬ 개발자 λ™μ‹œ 개발 κ°€λŠ₯
    • sw개발 전체 λΉ„μš© 쀄이고 λ°©ν•΄ μš”μΈ μ΅œμ†Œν™”
    • μ£Όμš” κΈ°λŠ₯: 체크인, 체크아웃, 컀밋
  • ν…ŒμŠ€νŠΈ: 였λ₯˜ 찾음 / 디버깅: 였λ₯˜ μˆ˜μ •
  • λ‹¨μœ„ν…ŒμŠ€νŠΈ
    • μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ ν…ŒμŠ€νŠΈ κ°€λŠ₯ν•œ κ°€μž₯ μž‘μ€ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό μ‹€ν–‰ν•˜μ—¬ 확인
    • 도ꡬ
      • CppUnit
      • JUniut
      • Httpunit
    • λ°œκ²¬ν•  수 μžˆλŠ” 였λ₯˜
      • μ•Œκ³ λ¦¬μ¦˜ 였λ₯˜μ— λ”°λ₯Έ μ›μΉ˜ μ•ŠλŠ” κ²°κ³Ό
      • νƒˆμΆœκ΅¬κ°€ μ—†λŠ” 반볡문의 μ‚¬μš©
      • ν‹€λ¦° 계산 μˆ˜μ‹μ— μ˜ν•œ 잘λͺ»λœ κ²°κ³Ό
  • μ„±λŠ₯ ν…ŒμŠ€νŠΈ 도ꡬ(μ„±λŠ₯ λͺ©ν‘œ 달성 확인)
    • μ²˜λ¦¬λŸ‰, μ‘λ‹΅μ‹œκ°„, κ²½κ³Όμ‹œκ°„, μžμ›μ‚¬μš©λ₯ μ— λŒ€ν•΄ κ°€μƒμ˜ μ‚¬μš©μžλ₯Ό μƒμ„±ν•˜κ³  ν…ŒμŠ€νŠΈ
  • ν…ŒμŠ€νŠΈ λ“œλΌμ΄λ²„: ν•˜μœ„ λͺ¨λ“ˆ 호좜 ν›„ νŒŒλΌλ―Έν„° 전달, 가상 λͺ¨λ“ˆ 상ν–₯식 ν…ŒμŠ€νŠΈ
  • TEST CASE
    • 였λ₯˜/λΉ„μš© κ°μ†Œ, μ˜μ‚¬μ†Œν†΅
    • λͺ…μ„Έ, ꡬ쑰, κ²½ν—˜ 기반
    • λ‹¨μœ„: λΈ”λž™λ°•μŠ€, ν™”μ΄νŠΈλ°•μŠ€
    • 톡합: λΉ…λ±…, 상ν–₯식, ν•˜ν–₯식, μƒŒλ“œμœ„μΉ˜
    • μ‹œμŠ€ν…œ: κΈ°λŠ₯적, λΉ„κΈ°λŠ₯적
    • 인수: μ•ŒνŒŒ, 베타
  • ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€: μš”κ΅¬μ‚¬ν•­
  • μ‹œλ‚˜λ¦¬μ˜€: 절차 였라클: κ²°κ³Ό
  • ν…ŒμŠ€νŠΈ κ΅­μ œν‘œμ€€
    • ISO/IEC 12119
  • ISO/IEC 9126 μ†Œν”„νŠΈμ›¨μ–΄ ν’ˆμ§ˆ νŠΉμ„±
    • κΈ°λŠ₯μ„±
      • 적합성
      • μ •ν™•μ„±
      • μƒν˜Έμš΄μš©μ„±
      • λ³΄μ•ˆμ„±
  • DRM (λ””μ§€ν„Έ μ €μž‘κΆŒ 관리)
    • Contents Provider: μ½˜ν…μΈ  μ œκ³΅ν•˜λŠ” μ €μž‘κΆŒμž
    • DRM Controller: 배포된 μ½˜ν…μΈ μ˜ 이용 κΆŒν•œμ„ ν†΅μ œ
    • Packager: 배포 κ°€λŠ₯ν•œ λ‹¨μœ„λ‘œ 묢음
    • Contents Distributor: μ•”ν˜Έν™”λœ μ½˜ν…μΈ  μœ ν†΅
    • 였λ₯˜ 감지 및 λ³΅κ΅¬λŠ” λͺ»ν•¨!!
  • νž™ μ •λ ¬
    • μ •λ ¬ν•  μž…λ ₯ λ ˆμ½”λ“€λ‘œ νž™ ꡬ성, κ°€μž₯ 큰 κ°’ 제거λ₯Ό 반볡, μ™„μ „ μ΄μ§„νŠΈλ¦¬λ‘œ ꡬ성
    • μ΅œμ•…, 평균, 졜적 μˆ˜ν–‰μ‹œκ°„μ΄ λͺ¨λ‘ O(nlogn)
  • 퀡 μ •λ ¬
    • ν‚€λ₯Ό κΈ°μ€€μœΌλ‘œ μž‘μ€ κ°’ - μ™Όμͺ½, 큰 κ°’ - 였λ₯Έμͺ½μœΌλ‘œ λΆ„ν•΄
    • μ΅œμ•…μ˜ μ‹œκ°„ λ³΅μž‘λ„ n(n-1)/2
    • 평균 μ‹œκ°„ λ³΅μž‘λ„ nlogn
    • μˆœν™˜ μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•΄μ•Ό ν•˜λ―€λ‘œ μŠ€νƒ 곡간 ν•„μš”
    • 첫 번째 ν‚€ λ§Œμ„ λΆ„ν•  μ›μ†Œλ‘œ μ§€μ •
    • λ ˆμ½”λ“œμ˜ λ§Žμ€ 자료 이동을 μ—†μ• κ³  ν•˜λ‚˜μ˜ νŒŒμΌμ„ λΆ€λΆ„μ μœΌλ‘œ λ‚˜λˆ„μ–΄ κ°€λ©° μ •λ ¬
  • μΈν„°νŽ˜μ΄μŠ€ λ³΄μ•ˆ λ„€νŠΈμ›Œν¬ μ˜μ—­ μ†”λ£¨μ…˜
    • IPSec
    • SSL
    • SHTTP
  • μΈν„°νŽ˜μ΄μŠ€ κ°„ 톡신 데이터 포맷
    • JSON, XML, YAML
  • μ†ŒμŠ€ μ½”λ“œ ν’ˆμ§ˆ 뢄석 μ½”λ“œ
    • 정적g
      • pmd, cppcheck, SonarQube, checkstyle, ccm, cobertuna
    • 동적 (AV)
      • Avalanche, Valgrind
  • μ„ ν˜• ꡬ쑰
    • 큐, μŠ€νƒ, 데크
  • λΉ„μ„ ν˜• ꡬ쑰
    • 트리, κ·Έλž˜ν”„
  • μŠ€νƒμ„ μ΄μš©ν•œ μ—°μ‚°
    • μž¬κ·€ν˜ΈμΆœ
    • ν›„μœ„ν‘œν˜„
    • κΉŠμ΄μš°μ„ νƒμƒ‰
  • μ •λ ¬λœ N개의 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” μ‹œκ°„ O(Nlog2N) - 합병정렬
  • λΈ”λž™λ°•μŠ€ ν…ŒμŠ€νŒ…(μ‚¬μš©μž 관점)
    • μ†Œν”„νŠΈμ›¨μ–΄μ˜ λ‚΄λΆ€ κ΅¬μ‘°λ‚˜ μž‘λ™μ›λ¦¬ λͺ¨λ¦„
    • 좜λ ₯ κ°’μ—λ§Œ μ΄ˆμ μ„ 두고 ν…ŒμŠ€νŒ…
    • λͺ…μ„Έ 기반 ν…ŒμŠ€νŒ…
    • 경계값 뢄석
    • νŠΉμ§•, μš”κ΅¬ 사항 검사λ₯Ό μœ„ν•΄ 곡개된 섀계도 λ“±μ˜ λŒ€μ™Έμ μœΌλ‘œ 곡개된 사항듀을 톡해 검사λ₯Ό μ§„ν–‰
  • ν™”μ΄νŠΈλ°•μŠ€ ν…ŒμŠ€νŒ…(개발자 관점)
    • μ†Œν”„νŠΈμ›¨μ–΄μ˜ λ‚΄λΆ€ ꡬ쑰, λ™μž‘μ„ μ„Έλ°€ν•˜κ²Œ 검사
    • μ†ŒμŠ€ μ½”λ“œ λ‚΄ λͺ¨λ“  독립적인 경둜λ₯Ό μˆ˜ν–‰
    • ꡬ쑰 기반 ν…ŒμŠ€νŒ…
    • κΈ°λ³Έ 경둜(Basis Path) - 싸이클 ν—ˆμš©
    • 쑰건 검사, 기초 경둜 검사, 루프 검사
  • STAF
    • μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„ 검증 도ꡬ
      • xUnit, STAF, FitNesse, NTAF, Selenium, watir
    • λ‹€μ–‘ν•œ ν™˜κ²½μ„ μ§€μ›ν•˜λŠ” ν…ŒμŠ€νŠΈ ν”„λ ˆμž„μ›Œν¬
    • μ›Ή 기반 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€ 섀계, μ‹€ν–‰, κ²°κ³Ό 확인 등을 μ§€μ›ν•˜λŠ” ν…ŒμŠ€νŠΈ ν”„λ ˆμž„ μ›Œν¬
  • FEP : ν”„λ‘œμ„Έμ„œ 처리 μ‹œκ°„ μ€„μ—¬μ€Œ
  • EAI ꡬ좕 μœ ν˜• (ERPλž‘ λΉ„μŠ·)
    • point to point : 미듀웨어X
    • hub&spoke
    • message bus
    • hybrid : hub&spoke +message bus , 병λͺ© ν˜„μƒ μ΅œμ†Œν™”
  • Pareto 법칙
  • μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŠΈμ—μ„œ 였λ₯˜μ˜ 80%λŠ” 전체 λͺ¨λ“ˆμ˜ 20%λ‚΄μ—μ„œ λ°œκ²¬λœλ‹€λŠ” 법칙
  • μ†ŒμŠ€ μ½”λ“œ ν’ˆμ§ˆ 정적 뢄석 도ꡬ
    • pmd
    • cppcheck
    • checkstyle
  • Stub
  • ν•˜ν–₯식 톡합에 μžˆμ–΄ μž„μ‹œλ‘œ μ œκ³΅λ˜λŠ” μ‹œν—˜μš© λͺ¨λ“ˆ
  • ν•΄μ‹± ν•¨μˆ˜(Hashing Function) μ’…λ₯˜
    • μ œκ³±λ²•, μˆ«μžλΆ„μ„λ²•, μ œμ‚°λ²•
  •  
LIST