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

🌈 Chapter 9: 경맀 μŠ€λ‚˜μ΄νΌ 개발 의뒰

πŸ“š 맨 μ²˜μŒλΆ€ν„° μ‹œμž‘ν•˜κΈ°β€‹

온라인 경맀λ₯Ό κ°μ‹œν•˜λ‹€κ°€ 가격이 맀맀 μ§€μ‹œ 지정 가격에 λ„λ‹¬ν•˜κ±°λ‚˜ 경맀가 μ’…λ£Œλ˜κΈ° μ „κΉŒμ§€ 가격에 λ³€ν™”κ°€ 생길 λ•Œλ§ˆλ‹€ μ•½κ°„μ”© 더 λ†’κ²Œ μžλ™μœΌλ‘œ μž…μ°°μ„ λŒ€ν–‰ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ 의뒰

πŸ“š κ²½λ§€μ™€μ˜ μƒν˜Έ μž‘μš©β€‹

🎈 경맀 ν”„λ‘œν† μ½œβ€‹

  • μž…μ°°μžμ™€ 경맀μž₯의 λ©”μ‹œμ§€ ν”„λ‘œν† μ½œμ€ λ‹¨μˆœν•œλ°, μž…μ°°μžλŠ” λ‹€μŒκ³Ό 같은 λͺ…령을 보낸닀.
    1. Join
    • μž…μ°°μžκ°€ 경맀에 μ°Έμ—¬ν•œλ‹€. XMPP λ©”μ‹œμ§€λ₯Ό 보낸 μ‚¬λžŒμ€ μž…μ°°μžλ₯Ό λ‚˜νƒ€λ‚΄κ³ , μ±„νŒ… μ„Έμ…˜μ˜ 이름은 ν’ˆλͺ©μ„ λ‚˜νƒ€λ‚Έλ‹€.
    1. Bid
    • μž…μ°°μžκ°€ 경맀에 μž…μ°°κ°€λ₯Ό 보낸닀.
  • κ²½λ§€μ—μ„œλŠ” λ‹€μŒκ³Ό 같은 이벀트λ₯Ό 보낸닀.
    1. Price
    • κ²½λ§€μ—μ„œλŠ” ν˜„μž¬ 수락된 가격을 λ³΄κ³ ν•œλ‹€. κ²½λ§€μ—μ„œλŠ” 이 이벀트λ₯Ό μž…μ°°μžκ°€ 경맀에 μ°Έμ—¬ν•  λ•Œ μž…μ°°μžμ—κ²Œ, 그리고 μƒˆλ‘œμš΄ μž…μ°°μ΄ 수락될 λ•Œλ§ˆλ‹€ λͺ¨λ“  μž…μ°°μžμ—κ²Œ μ „λ‹¬ν•œλ‹€.
    1. Close
    • 경맀가 μ’…λ£ŒλμŒμ„ μ•Œλ¦°λ‹€. λ§ˆμ§€λ§‰ 가격 이벀트λ₯Ό μ œμ‹œν•œ μž…μ°°μžκ°€ ν•΄λ‹Ή 경맀λ₯Ό λ‚™μ°°λ°›λŠ”λ‹€.

🎈 XMPP λ©”μ‹œμ§€β€‹

  • λ©”μ‹œμ§€ ν˜•μ‹μ€ λͺ‡ 가지 이름과 κ°’μœΌλ‘œλ§Œ ꡬ성돼 있고, ν‚€/κ°’ 쌍으둜 단 ν•œ μ€„λ‘œ μ§λ ¬ν™”λœλ‹€. 각 쀄은 ν”„λ‘œν† μ½œ 버전 번호둜 μ‹œμž‘ν•œλ‹€. λ©”μ‹œμ§€ ν˜•νƒœλŠ” λ‹€μŒκ³Ό κ°™λ‹€.
SOLVersion: 1.1; Command: JOIN;
SOLVersion: 1.1; Event: PRICE; CurrentPrice: 192; Increment: 7; Bidder: Someone
else;
SOLVersion: 1.1; Command: BID; Price: 199;
SOLVersion: 1.1; Event: CLOSE;
  • 온라인 μƒμ—μ„œλŠ” 둜그인 이름을 μ΄μš©ν•΄ νŒλ§€ν•  각 ν’ˆλͺ©μ„ μ‹λ³„ν•˜λ―€λ‘œ μ‹λ³„μžκ°€ 12793인 ν’ˆλͺ©μ„ μƒλŒ€λ‘œ μž…μ°°ν•˜κΈ° μœ„ν•΄ ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„μ˜ auction-12793λΌλŠ” μ‚¬μš©μžμ™€ μ±„νŒ…μ„ μ‹œμž‘ν•  것이닀.

πŸ“š μ•ˆμ „ν•˜κ²Œ μ§„ν–‰ν•˜κΈ°β€‹

  • 점진적인 개발의 핡심 기법은 ν•œ λ²ˆμ— λ§Œλ“€ 수 μžˆλŠ” λ§ŒνΌμ— ν•΄λ‹Ήν•˜λŠ” κΈ°λŠ₯을 μͺΌκ°œλŠ” 방법을 μ΅νžˆλŠ” 것이닀. 각 쑰각은 μ€‘μš”ν•˜κ²Œ 닀뀄야 ν•˜κ³  νŒ€μ΄ μ–Έμ œ κΈ°λŠ₯ 개발이 μ™„λ£ŒλλŠ”μ§€ νŒλ‹¨ν•  수 μžˆμ„ 만큼 ꡬ체적이어야 ν•˜λ©°, ν•œ κ°œλ…μ— μ§‘μ€‘ν•˜κ³  μ‹ μ†νžˆ 달성할 수 μžˆμ„ μ •λ„λ‘œ μž‘μ•„μ•Ό ν•œλ‹€.
  • μž‘μ—…μ„ μž‘κ³ , 응집λ ₯ μžˆλŠ” λ©μ–΄λ¦¬λ‘œ λ‚˜λˆ„λ©΄ 개발 μœ„ν—˜μ„ κ΄€λ¦¬ν•˜λŠ” 데도 도움이 λœλ‹€. (ꡬ체적이고 주기적인 ν”Όλ“œλ°±)
  • μŠ€λ‚˜μ΄νΌ μ• ν”„λ¦¬μΌ€μ΄μ…˜μ—μ„  첫 번째 λ‹¨κ³„λŠ” λ§Œλ“€ 수 μžˆλŠ” κ°€μž₯ μž‘μ€ κΈ°λŠ₯에 ν•΄λ‹Ήν•˜λŠ” κ²ƒμœΌλ‘œ λ°”λ‘œ λ™μž‘ν•˜λŠ” 골격이닀. μ—¬κΈ°μ„œ 골격은 μŠ€μœ™, XMPP, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 이λ₯΄λŠ” μ΅œλ‹¨ 경둜λ₯Ό μ§€λ‚˜λ©°, μ΄λŸ¬ν•œ ꡬ성 μš”μ†Œμ˜ μ§œμž„μƒˆλ₯Ό 보여주기에 μΆ©λΆ„ν•˜λ‹€.
  • 단일 ν’ˆλͺ©: 경맀 μ°Έμ—¬, μž…μ°°ν•˜μ§€ λͺ»ν•œ μƒνƒœλ‘œ λ‚™μ°° μ‹€νŒ¨
    핡심 기반 κ΅¬μ‘°μ—μ„œλŠ” 이 경우둜 κ΅¬ν˜„μ„ μ‹œμž‘ν•œλ‹€.
  • 단일 ν’ˆλͺ©: 경맀 μ°Έμ—¬, μž…μ°°, λ‚™μ°° μ‹€νŒ¨
    κΈ°λ³Έ 연결에 μž…μ°°μ„ μΆ”κ°€ν•œλ‹€.
  • 단일 ν’ˆλͺ©: 경맀 μ°Έμ—¬, μž…μ°°, λ‚™μ°°
    λˆ„κ°€ λ‚™μ°° λ©”μ‹œμ§€λ₯Ό λ³΄λƒˆλŠ”μ§€ νŒλ‹¨ν•œλ‹€.
  • 가격 상세 ν‘œμ‹œ
    μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ±„μš°κΈ° μ‹œμž‘ν•œλ‹€.
  • μ—¬λŸ¬ ν’ˆλͺ©
    λ™μΌν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‚΄μ—μ„œ μ—¬λŸ¬ ν’ˆλͺ©μ˜ μž…μ°° κΈ°λŠ₯을 μ§€μ›ν•œλ‹€.
  • μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 ν’ˆλͺ©μ„ μΆ”κ°€
    μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 μž…λ ₯ κΈ°λŠ₯을 κ΅¬ν˜„ν•œλ‹€.
  • 맀맀 μ§€μ‹œ 지정 κ°€κ²©μ—μ„œ μž…μ°°μ„ 쀑단
    μŠ€λ‚˜μ΄νΌ μ•Œκ³ λ¦¬μ¦˜μ— μ’€ 더 지λŠ₯적인 μš”μ†Œλ₯Ό κ°€λ―Έν•œλ‹€.

πŸ“š 이건 μ§„μ§œκ°€ μ•„λ‹ˆμ•Όβ€‹

  • μ—¬νƒœκΉŒμ§€λŠ” 지면상 μ œμ•½μ€ κ·ΈλŒ€λ‘œ λ‘” 채 μ‹€μ œ ν”„λ‘œμ νŠΈκ°€ μ–΄λ–»κ²Œ λŒμ•„κ°€λŠ”μ§€ 감을 보이고자 ν”„λ‘œμ„ΈμŠ€μ™€ μ„€κ³„μ˜ μ΅œλ‹¨ 경둜λ₯Ό μ·¨ν–ˆλ‹€. λ‹€μŒκ³Ό 같은 사항에 μœ μ˜ν•œλ‹€.
    • 이것은 μ‹€μ œ μ•„ν‚€ν…μ²˜κ°€ μ•„λ‹ˆλ‹€. μ—¬κΈ°μ„œ μ„€λͺ…ν•˜λŠ” 핡심 기법은 기반 μ•„ν‚€ν…μ²˜μ™€ 상관없이 적용 κ°€λŠ₯ν•œ 것듀이닀.
    • 이것은 μ• μžμΌ κ³„νšν•˜κΈ°(Agile Planning)κ°€ μ•„λ‹ˆλ‹€.
    • 이것은 ν˜„μ‹€μ μΈ μ‚¬μš©μ„± 섀계가 μ•„λ‹ˆλ‹€.