본문으둜 κ±΄λ„ˆλ›°κΈ°

🌈 Chapter 8: 무결점과 κ²¬κ³ ν•œ 섀계

  • μ œν’ˆμ— 버그가 μ—†κ³  κ²¬κ³ ν•˜κ²Œ 섀계됐닀고 ν™•μ‹ ν•˜κΈ° μœ„ν•΄μ„œλŠ” ν›Œλ₯­ν•œ 기술 λŠ₯λ ₯을 ν‚€μ›Œμ•Ό ν•œλ‹€.

πŸ“š μ˜¬λ°”λ‘œ μž‘λ™ν•˜λŠ” ν”Όμ²˜λ₯Ό 늘렀 μ œν’ˆμ„ λ§Œλ“­λ‹ˆλ‹€.​

  • λ˜ν•œ μ œν’ˆμ€ μ μ§„μ μœΌλ‘œ λ°œμ „ν•˜λŠ” 섀계에 κΈ°λ°˜μ„ 두고 μžˆμ–΄μ•Ό ν•œλ‹€.
  • κ°œλ°œνŒ€μ€ ν”„λ‘œμ νŠΈμ˜ 진행 상황에 따라 섀계λ₯Ό ν™•μž₯ν•΄κ°€λ©° λͺ¨λ“  ν”Όμ²˜κ°€ μ œλŒ€λ‘œ μž‘λ™ν•  수 μžˆλ„λ‘ μœ μ§€ν•΄μ•Ό ν•œλ‹€.
  • λ˜ν•œ μ˜¬λ°”λ₯Έ μš°μ„ μˆœμœ„μ— 따라 ν”Όμ²˜ λ‹¨μœ„λ‘œ κ°œλ°œμ„ 진행해야 ν•œλ‹€.
  • ν•˜μ§€λ§Œ λ¬Έμ œκ°€ λͺ‡ 가지 μžˆλ‹€.

πŸ“š 결함은 ν”Όμ²˜μ˜ 완성도λ₯Ό λ–¨μ–΄λœ¨λ¦½λ‹ˆλ‹€.​

  • 결함을 μ œκ±°ν•΄ ν”„λ‘œμ νŠΈμ˜ 진행 상황을 λͺ…ν™•νžˆ ν•΄μ•Ό ν•œλ‹€.
  • ν”„λ‘œμ νŠΈλŠ” λ°˜λ“œμ‹œ ν”Όμ²˜λ₯Ό λ‹¨μœ„λ‘œ κ³„νšν•˜κ³  ν”Όμ²˜μ— μ˜ν•΄ μ„±μž₯ν•˜κ³  ν”Όμ²˜λ₯Ό λ‹¨μœ„λ‘œ 관리해야 ν•œλ‹€.
  • ν•˜λ‚˜μ˜ ν”Όμ²˜ 개발이 끝났닀면 κ·Έ ν”Όμ²˜λŠ” μ‹€μ œλ‘œ μž‘λ™ν•΄μ•Ό ν•œλ‹€.
  • ν”Όμ²˜μ— 결함이 μžˆλ‹€λ©΄ ν”Όμ²˜μ˜ 완성도가 떨어지고 ν”„λ‘œμ νŠΈμ˜ 진행을 λ°©ν•΄ν•œλ‹€.
  • 결함이 아직 λ°œκ²¬λ˜μ§€ μ•Šμ•˜λ‹€λ©΄ 더 μ‹¬κ°ν•œ 상황에 놓일 수 μžˆλ‹€. μƒνƒœλ₯Ό μ–Όλ§ˆλ‚˜ λ‚˜μœμ§€μ‘°μ°¨ μ•Œ 수 μ—†κΈ° λ•Œλ¬Έμ΄λ‹€.
  • ν”„λ‘œμ νŠΈκ°€ κ²°ν•¨μœΌλ‘œ λ‘˜λŸ¬μ‹Έμ΄λ©΄ 효율적으둜 μž‘μ—…μ„ 진행할 수 μ—†λ‹€.

πŸ“š 결함 μˆ˜μ •μ΄ 일정을 μ–Όλ§ˆλ‚˜ μ§€μ—°μ‹œν‚¬μ§€ μ•Œ 수 μ—†μŠ΅λ‹ˆλ‹€.​

  • κ·ΈλŸ¬λ‚˜ ν”„λ‘œμ νŠΈκ°€ μ–΄λ–»κ²Œ μ§„ν–‰λ˜λŠ”μ§€ λͺ…ν™•νžˆ μ•Œλ €λ©΄ λ°˜λ“œμ‹œ ν•΄μ•Ό ν•œλ‹€.
  • 버그 ν•˜λ‚˜λ₯Ό λ°œκ²¬ν–ˆλ‹€λŠ” 것은 이미 μˆ˜λ§Žμ€ 버그가 μžˆμ„ 수 μžˆλ‹€λŠ” 말이닀.
  • ν”„λ‘œμ νŠΈκ°€ λλ‚˜κΈ° μ „κΉŒμ§€ κ³ μΉ˜μ§€ μ•ŠμœΌλ©΄ μƒˆλ‘œμš΄ ν”Όμ²˜λ₯Ό μΆ”κ°€ν•˜λŠ” κ³„νšμ— 차질이 생긴닀.

πŸ“š 배포일이 λ‹€κ°€μ™”λŠ”λ°λ„ ν”Όμ²˜κ°€ μ–Όλ§ˆλ‚˜ μ™„μ„±λλŠ”μ§€ μ•Œμ§€ λͺ»ν•œλ‹€λ©΄μš”?​

  • 결함이 버젓이 보여도 λ‹€λ₯Έ 방법이 μ—†λ‹€. 일정에 맞좰 μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ°°ν¬ν•˜λŠ” 수 밖에.. λΉ„μ§€λ‹ˆμŠ€ μΈ‘λ©΄μ—μ„œλ„ 맀우 λ‚˜μœ 선택이닀.

μš°μ„ μˆœμœ„λ₯Ό 맀겨 버그λ₯Ό ν•œκΊΌλ²ˆμ— μˆ˜μ •ν•˜λŠ” 방법은 μ–΄λ–¨κΉŒμš”? ➑ ❌

  • ν”„λ‘œμ νŠΈλ₯Ό 진행할 λ•ŒλŠ” 결함이 κ°€λŠ₯ν•œ ν•œ 적게 생기도둝 ν•΄μ•Ό ν•œλ‹€.
  • 배포일을 μ•žλ‘κ³  결함 μˆ˜μ •μœΌλ‘œ 일정이 μ–Όλ§ˆλ‚˜ 지연될지 μ•Œ 수 μ—†κΈ° λ•Œλ¬Έμ΄λ‹€.
  • 일정은 μ§€μ—°λ˜κ³  λ²„κ·ΈλŠ” μˆ˜λ‘λ£©ν•˜λ‹€λ©΄ 슀슀둜λ₯Ό ν•œμ‹¬ν•˜κ²Œ μ—¬κΈ°κ²Œ 될 κ²ƒμ΄λ―€λ‘œ 이런 상황은 λ§Œλ“€λ©΄ μ•ˆλœλ‹€.

πŸ“š ν”Όμ²˜λŠ” 계속 μΆ”κ°€λ˜κ³  κ°œμ„ λ©λ‹ˆλ‹€.​

  • 섀계도 계속 λ³€ν™”ν•˜λ‹ˆ, κ·Έ κ³Όμ •μ—μ„œ μ‹€μˆ˜ν•  μˆ˜λ„ μžˆλ‹€. κ·Έλž˜μ„œ λŠμž„μ—†μ΄ μ’…ν•©μ μœΌλ‘œ ν…ŒμŠ€νŠΈν•΄μ•Ό ν•œλ‹€.
  • λ°˜λ“œμ‹œ 개발 μ£ΌκΈ°κ°€ 끝날 λ•Œλ§ˆλ‹€ κ°€λŠ₯ν•œ ν•œ 버그가 없도둝 μœ μ§€ν•΄μ•Ό ν•œλ‹€. 였직 ν…ŒμŠ€νŠΈλ§Œμ΄ 결함을 μ΅œμ†Œν™”ν•˜λŠ” 방법이닀.
  • ν”Όμ²˜λ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ κ°œμ„ ν•  λ•Œλ§ˆλ‹€ 더 많이 ν…ŒμŠ€νŠΈν•΄μ•Όλ§Œ 더 λ‚˜μ€ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ§Œλ“€ 수 μžˆλ‹€.
  • μƒˆλ‘œμš΄ ν”Όμ²˜λ₯Ό ν…ŒμŠ€νŠΈν•¨κ³Ό λ™μ‹œμ—, 이전에 있던 ν”Όμ²˜λ“€λ„ ν•¨κ»˜ ν…ŒμŠ€νŠΈν•¨μœΌλ‘œμ¨ λͺ¨λ“  ν”Όμ²˜κ°€ μ œλŒ€λ‘œ μž‘λ™ν•˜λŠ”μ§€ 확인할 수 μžˆλ‹€.
  • ν…ŒμŠ€νŠΈλŠ” λΉ„μ§€λ‹ˆμŠ€μ™€ 개발자 κ΄€μ μœΌλ‘œ λ‚˜λˆ  진행해야 ν•œλ‹€.

πŸ“š 개발 μ£ΌκΈ°κ°€ 끝날 λ•Œλ§ˆλ‹€ λ°˜λ“œμ‹œ λΉ„μ§€λ‹ˆμŠ€ ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€.​

  • 개발 μ£ΌκΈ°κ°€ 끝날 λ•Œλ§ˆλ‹€ λ°˜λ“œμ‹œ λΉ„μ§€λ‹ˆμŠ€ κ΄€μ μ—μ„œ ν…ŒμŠ€νŠΈν•΄ μš”κ΅¬ 사항을 μ œλŒ€λ‘œ μΆ©μ‘±ν•˜λŠ”μ§€ 검증해야 ν•œλ‹€.
  • μ•½ 2주의 개발 μ£ΌκΈ°λ§ˆλ‹€ μ œν’ˆμ— μƒˆλ‘œμš΄ ν”Όμ²˜λ₯Ό μΆ”κ°€ν•΄μ•Ό ν•œλ‹€. μƒˆλ‘œμš΄ ν”Όμ²˜κ°€ 잘 μž‘λ™ν•˜λŠ”μ§€ 뿐만 μ•„λ‹ˆλΌ 이전에 있던 ν”Όμ²˜λ“€μ΄ λ¬Έμ œλŠ” μ—†λŠ”μ§€λ„ 확인해야 ν•œλ‹€.
  • 그러렀면 λ°˜λ“œμ‹œ λΉ„μ§€λ‹ˆμŠ€ κ΄€μ μ—μ„œ ν…ŒμŠ€νŠΈν•΄μ•Ό ν•˜λ©° μ œν’ˆμ΄ 마주칠 λ‹€μ–‘ν•œ ν™˜κ²½λ„ 확인해야 ν•œλ‹€.
  • ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•΄μ„œ μ‚¬μš©ν•˜λŠ” λΉ„μ§€λ‹ˆμŠ€ μš©μ–΄λ‘œ ν”Όμ²˜λ₯Ό μ„œμˆ ν•˜κ³ , κ·Έ ν…ŒμŠ€νŠΈκ°€ μžλ™μœΌλ‘œ μˆ˜ν–‰λ˜λ„λ‘ ν•˜μ—¬ ν•΄λ‹Ή ν”Όμ²˜κ°€ 잘 μž‘λ™ν•¨μ„ 보μž₯ν•  수 μžˆλ‹€λ©΄ μ’‹λ‹€.
  • 그런 방법 쀑 유λͺ…ν•œ 것이 λ°”λ‘œ μΈμˆ˜ν…ŒμŠ€νŠΈ 주도 개발(ATDD, Acceptance Test-Driven Development)이닀.

πŸ“š 개발 λ‹¨κ³„μ—μ„œλ„ 더 자주 ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰ν•΄μ•Όλ§Œ ν•©λ‹ˆλ‹€.​

  • κ°œλ°œμžλŠ” 맀일 μ½”λ“œλ₯Ό λ³€κ²½ν•˜κΈ°μ— μ‹œκ°„μ„ λ‚­λΉ„ν•˜μ§€ μ•ŠκΈ° μœ„ν•΄μ„œλŠ” 개발 λ‹¨κ³„μ—μ„œλ„ 더 자주 ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰ν•΄μ•Όλ§Œ ν•œλ‹€.
  • λΉ„μ§€λ‹ˆμŠ€ ν…ŒμŠ€νŠΈμ—μ„œλ„ 결함이 발견되기λ₯Ό κΈ°λŒ€ν•  수 μžˆλ‹€. ν•˜μ§€λ§Œ 보톡 λΉ„μ§€λ‹ˆμŠ€ ν…ŒμŠ€νŠΈλŠ” 맀우 였랜 μ‹œκ°„μ— 걸쳐 μ§„ν–‰λ˜λ©° λ¬Έμ œκ°€ λ°œμƒν•΄λ„ ꡬ체적인 μ—λŸ¬λ₯Ό μ•Œλ €μ£Όμ§€ μ•ŠλŠ”λ‹€.
  • λ”°λΌμ„œ κ°œλ°œμžλ„ μžλ™ν™”λœ 전체 ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•΄μ•Όλ§Œ 결함을 쑰기에 λ°œκ²¬ν•˜κ³  μˆ˜μ •ν•˜μ—¬ μ œν’ˆμ„ 더 μ•ˆμ •μ μœΌλ‘œ λ§Œλ“€ 수 μžˆλ‹€.
  • 이와 같은 ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•˜κΈ°μ— κ°€μž₯ 쒋은 방법은 κ°œλ°œμžμ—κ²Œ ν…ŒμŠ€νŠΈλ₯Ό λ¨Όμ € μž‘μ„±ν•˜κ²Œ ν•œ λ’€, κ·Έ ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•˜κ²Œλ” μ œν’ˆμ„ κ°œλ°œν•˜λŠ” 것이닀.
  • 이 방법이 ν…ŒμŠ€νŠΈ 주도 개발(TDD, Test-Driven Development)이닀.

πŸ“š ν…ŒμŠ€νŠΈ 주도 κ°œλ°œμ€ 개발 속도λ₯Ό 더 λ†’μ—¬μ€λ‹ˆλ‹€.​

  • μ‹€μˆ˜κ°€ 쀄어듀고 결함을 더 빨리 찾을 수 있기 λ•Œλ¬Έμ΄λ‹€.
  • 결함이 λ°œμƒν•œ 졜초 μ§€μ μœΌλ‘œλΆ€ν„° λ©€μ–΄μ§ˆμˆ˜λ‘ 결함을 μ°Ύμ•„λ‚΄κ³  μˆ˜μ •ν•˜λŠ” μž‘μ—…μ€ 였래 κ±Έλ¦°λ‹€.
  • 개발자 ν…ŒμŠ€νŠΈλ₯Ό ν•  λ•Œ 미리 λ§Œλ“€μ–΄λ‘” ν˜Ήμ€ μ½”λ”© κ³Όμ •μ—μ„œ μΆ”κ°€ν•œ λͺ¨λ“  ν…ŒμŠ€νŠΈκ°€ 성곡할 λ•ŒκΉŒμ§€ μ†Œν”„νŠΈμ›¨μ–΄μ˜ μ–΄λ–€ 뢀뢄도 λ°°ν¬ν•΄μ„œλŠ” μ•ˆ λœλ‹€.
  • 개발 쀑인 μ½”λ“œλ₯Ό ν…ŒμŠ€νŠΈν•˜λŠ” 일은 결함이 μ œν’ˆμœΌλ‘œ λ“€μ–΄κ°€λŠ” 것을 λ°©μ§€ν•œλ‹€.
  • 이 방법은 ν”Όμ²˜λ₯Ό λ‹€ κ΅¬ν˜„ν–ˆλ‹€κ³  생각될 λ•Œ ν…ŒμŠ€νŠΈν•˜λŠ” 것보닀 λΉ λ₯΄κ²Œ ν”Όμ²˜λ₯Ό κ°œλ°œν•  수 μžˆλ‹€.

πŸ“š μ΄ˆκΈ°μ—λŠ” 맀우 μž‘μ€ ν”Όμ²˜λ“€λ§Œ μžˆμŠ΅λ‹ˆλ‹€. 섀계도 그만큼 κ°„κ²°ν•˜μ£ .​

  • μ μ§„μ μœΌλ‘œ μΌν•œλ‹€λŠ” 것을 κΈ°μ–΅ν•˜μž.
  • 개발 μ£ΌκΈ°λ§ˆλ‹€ μ‹€μ œλ‘œ μž‘λ™ν•˜λŠ” ν”Όμ²˜λ“€μ„ μ œν’ˆμ— μΆ”κ°€ν•œλ‹€.
  • μ΄ˆκΈ°μ—λŠ” μ„€κ³„λŠ” 잘 λ˜μ–΄ μžˆμ–΄μ•Ό ν•˜μ§€λ§Œ, λ‹Ήμž₯ ν•„μš”ν•œ ν”Όμ²˜λ“€μ„ μΆ”κ°€ν•  수 μžˆμ„ μ •λ„λ‘œλ§Œ μ’‹μœΌλ©΄ λœλ‹€.

πŸ“š μ„€κ³„λŠ” μ‰½κ²Œ λ¬΄λ„ˆμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.​

  • μ†Œν”„νŠΈμ›¨μ–΄μ— μ–΄λ–€ 것을 μΆ”κ°€ν•  λ•ŒλŠ” 자칫 섀계가 λ§κ°€μ§ˆ 수 μžˆλ‹€.
  • μ˜¬λ°”λ₯Έ 섀계도 ν•œμˆœκ°„μ˜ κ²°μ •μœΌλ‘œ λ‚˜λΉ μ§ˆ 수 μžˆλ‹€.
  • κ·ΈλŸ¬μ§€ μ•ŠμœΌλ €λ©΄ μ •κ΅ν•˜κ²Œ μ„€κ³„ν•˜κ³  고쳐 λ‚˜κ°€μ•Ό ν•œλ‹€.
  • μ‘°μž‘ν•œ μ„€κ³„λŠ” μž‘μ—… 속도λ₯Ό λ–¨μ–΄λœ¨λ¦°λ‹€. ν›Œλ₯­ν•œ 섀계λ₯Ό μœ μ§€ν•˜κΈ° μœ„ν•΄μ„œλŠ” μˆ™λ ¨λœ 기술과 κΎΈμ€€ν•œ 관리가 ν•„μš”ν•˜λ‹€.

πŸ“š ν”Όμ²˜ λ‹¨μœ„λ‘œ μ œν’ˆμ΄ μ„±μž₯ν• μˆ˜λ‘ 섀계도 ν•¨κ»˜ μ„±μž₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.​

  • μ œν’ˆμ€ 항상 μ˜¬λ°”λ₯Έ 섀계λ₯Ό μœ μ§€ν•΄μ•Όλ§Œ ν•œλ‹€.
  • λ‚˜μœ μ„€κ³„λŠ” 일정을 μ§€μ—°μ‹œν‚€λŠ”λ° 섀계λ₯Ό λ°”κΎΈκΈ° μ–΄λ ΅κΈ° λ•Œλ¬Έμ΄λ‹€.
  • ν”„λ‘œμ νŠΈκ°€ μ„±μž₯ν•˜κ³  ν”Όμ²˜κ°€ 좔가될 λ•Œλ§ˆλ‹€ 이λ₯Ό μ§€μ›ν•˜κΈ° μœ„ν•΄μ„œλŠ” 섀계도 μ„±μž₯ν•΄μ•Ό ν•œλ‹€.
  • 항상 졜고의 섀계λ₯Ό μœ μ§€ν•΄μ•Ό ν•œλ‹€.

πŸ“š ν”Όμ²˜λ₯Ό κ°œλ°œν•  λ•Œλ§ˆλ‹€ 섀계λ₯Ό κ°œμ„ ν•΄μ•Ό ν•©λ‹ˆλ‹€.​

  • κ°œλ°œνŒ€μ€ 각 ν”Όμ²˜λ₯Ό κ°œλ°œν•  λ•Œλ§ˆλ‹€ λ°˜λ“œμ‹œ κ·Έ ν”Όμ²˜λ₯Ό μ§€μ›ν•˜λ„λ‘ 섀계λ₯Ό κ°œμ„ ν•΄μ•Ό ν•œλ‹€.
  • 섀계λ₯Ό μ˜¬λ°”λ₯΄κ²Œ μœ μ§€ν•˜λ €λ©΄ μ§€μ†μ μœΌλ‘œ 섀계λ₯Ό κ°œμ„ ν•΄μ•Ό ν•œλ‹€.
  • μ˜¬λ°”λ₯Έ 섀계λ₯Ό μœ μ§€ν•˜λŠ” 일을 λ¦¬νŒ©ν† λ§μ΄λΌκ³  ν•œλ‹€.
  • λ¦¬νŒ©ν† λ§μ€ μ˜¬λ°”λ₯Έ 섀계λ₯Ό μœ μ§€ν•˜λŠ” 데 κΌ­ ν•„μš”ν•œ κΈ°μˆ μ΄λ‹€.

πŸ“š μ˜¬λ°”λ₯Έ 섀계λ₯Ό μœ μ§€ν•˜μ§€ λͺ»ν•œλ‹€λ©΄ μ–΄λ–»κ²Œ λ κΉŒμš”?​

  • μ˜¬λ°”λ₯Έ 섀계λ₯Ό μœ μ§€ν•˜μ§€ λͺ»ν•œλ‹€λ©΄ 일정이 μ§€μ—°λ˜κ±°λ‚˜ ν”„λ‘œμ νŠΈλ₯Ό μ€‘λ‹¨μ‹œν‚¬ 수 μžˆλ‹€.
  • 섀계λ₯Ό κ°œμ„ ν•˜μ§€ μ•Šκ³  κ·ΈλŒ€λ‘œ λ‘”λ‹€λ©΄ μž‘μ—… μ†λ„λŠ” 떨어진닀.
  • ν”Όμ²˜λ₯Ό κ°œλ°œν•˜λŠ” 데 λ“œλŠ” μ‹œκ°„κ³Ό λΉ„μš©μ€ 더 μ»€μ§€κ²Œ λœλ‹€. μ˜¬λ°”λ₯Έ 섀계λ₯Ό μœ μ§€ν•˜μ§€ λͺ»ν•˜λ©΄ μž‘μ—… νš¨μœ¨μ€ 계속 떨어진닀.
  • ν”Όμ²˜ λ‹¨μœ„λ‘œ κ°œλ°œν•˜λ €λ©΄ ν…ŒμŠ€νŠΈμ™€ λ¦¬νŒ©ν† λ§μ„ ν•¨κ»˜ 진행해야 ν•œλ‹€. 이 개발 λ°©λ²•μ˜ 본질이 ν…ŒμŠ€νŠΈμ™€ λ¦¬νŒ©ν† λ§μ— 있기 λ•Œλ¬Έμ΄λ‹€.
  • μžλ™ν™”λœ ν…ŒμŠ€νŠΈλŠ” λͺ¨λ“  ν”Όμ²˜κ°€ μ œλŒ€λ‘œ μž‘λ™ν•˜λ„λ‘ 도와쀀닀.
  • 이 ν…ŒμŠ€νŠΈλŠ” λΉ„μ§€λ‹ˆμŠ€ 관점과 개발자 κ΄€μ μœΌλ‘œ λ‚˜λˆŒ λ•Œ κ°€μž₯ μœ μš©ν•˜λ‹€.
  • ν”Όμ²˜ λ‹¨μœ„ κ°œλ°œμ„ κ³„μ†ν•˜λ €λ©΄ 섀계λ₯Ό κΎΈμ€€νžˆ κ°œμ„ ν•΄μ•Όλ§Œ ν•˜κ³  이λ₯Ό μœ„ν•΄ λ¦¬νŒ©ν† λ§μ„ ν•΄μ•Ό ν•œλ‹€.
  • ν•˜μ§€λ§Œ κ°€μž₯ λ›°μ–΄λ‚œ λ¦¬νŒ©ν† λ§μ‘°μ°¨ 무언가λ₯Ό λ§κ°€λœ¨λ¦΄ λ•Œκ°€ μžˆλ‹€. μ΄λ•Œ λΉ„μ§€λ‹ˆμŠ€ ν…ŒμŠ€νŠΈμ™€ 개발자 ν…ŒμŠ€νŠΈκ°€ 섀계λ₯Ό μ˜¬λ°”λ₯΄κ²Œ κ°œμ„ ν•  수 μžˆλ„λ‘ μžμ‹ κ°μ„ 심어쀀닀.
  • μ ˆλŒ€ 이 λ‘˜ 없이 ν”Όμ²˜ λ‹¨μœ„ κ°œλ°œμ„ μ§„ν–‰ν•΄μ„œλŠ” μ•ˆ λœλ‹€.