U E D R , A S I H C RSS

Project Zephyrus/Client Journey

ν΄λΌμ΄μ–ΈνŠΈ νŒ€ λͺ¨μ—¬μ„œ ν•œ 일에 λŒ€ν•œ 정리. ν•œμΌ/λŠλ‚€μ /κ΅ν›ˆ(ThreeFs) 등을 생각해볼 수 μžˆλŠ” κΈ°νšŒκ°€ λ˜μ—ˆμœΌλ©΄ 함. (νŒ€μ›λ‚΄ 자유둜운 λΉ„λ°© ν—ˆμš©; μΉ˜μ™Έλ²•κΆŒμ„ ν¬;)


6.7

  • μž‘μ—…μƒν™©μ΄ 막바지인것을 싀감할 κ±° κ°™λ‹€. μ—„μ²­λ‚˜κ²Œ 길어진 μ½”λ“œλΌ λ³΄λ©΄ μ•Œ 수 μžˆλ‹€. λ‚΄κ°€ μ—†λŠ” 사이에 μ—„μ²­λ‚˜κ²Œ λ§Žμ€ λ³€ν™”κ°€ μžˆμ—ˆλ‹€. 주석이 μ—†λŠ” μ½”λ“œλΌμ„œ κ·ΈλŸ°μ§€ ν•΄μ„ν•˜λŠ” 데 μ• λ¨Ήμ—ˆλ‹€. 이ꢁ...CVS μ‚¬μš©μ„ λ©°μΉ  μ•ˆν•΄λ΄€λ‹€κ³  또 μžŠμ–΄λ¨Ήμ—ˆλ‹€. λ°”λΆ€..도움말 λ’€μ§€λŠ” 쀑이닀. μ•„λ§ˆ 이번 ν”„λ‘œμ νŠΈμ—μ„œ λ‚΄κ°€ κ°€μž₯ 크게 λŠλΌλŠ” 것은 μ˜μ„œμ™€ λΉ„μŠ·ν•  것 κ°™λ‹€. μžλ°” 언어에 λŒ€ν•œ κ³΅λΆ€λ³΄λ‹€λŠ” ν”„λ‘œμ νŠΈ 진행 방법, νŒ€ν”„λ‘œμ νŠΈμ—μ„œ 개인과 νŒ€μ˜ μ—­ν•  등을 κ°€μž₯ 크게 λ°°μš°λŠ” 것 κ°™λ‹€. μ˜ˆμ „μ— μΉœκ΅¬μ™€ ν•¨κ»˜ 뭐 ν•˜λ‚˜ ν•˜λ‹€κ°€ μ–΄μ„€ν”„κ²Œ λλ‚œ 적이 μžˆλŠ”λ° μ•„λ§ˆ λ‚΄κ°€ 그만큼 μ–΄μ„€ν”„κ²Œ μ§„ν–‰ν–ˆλ˜ 것 κ°™λ‹€. μ•„λ¬΄νŠΌ μ΄λ²ˆμ— κ°€μž₯ 크게 λŠλ‚€ 점이닀. 또 ν•˜λ‚˜ λŠλ‚€μ μ΄ μžˆλ‹€λ©΄ ν˜•ν•˜κ³  pair ν•˜λ €λ©΄ μ΄μ •λ„λ‘œ κ³΅λΆ€ν•˜κ³  λ…Έλ ₯ν•΄μ„œλŠ” λΆ€μ±ν•  것 κ°™λ‹€λŠ” 생각이닀. 아직 λ‚΄κ°€ 갈 길은 λ©€μ—ˆλ‹€λŠ” 생각이... -_-;; μ΄λ²ˆμ— ν™•μ‹€νžˆ λŠ˜μ–΄λ‚œ μ‹€λ ₯은 μ•„λ§ˆλ„ μ†ŒμΌ“μ˜ κ°œλ…μ΄ μ•„λ‹κΉŒ...-_-;;


  • 일이 거의 λ§‰λ§ˆμ§€μ— λ‹€λ‹€λ₯Έλ‹€. 12μ‹œ 이후 본격적 μž‘μ—…. μ΄ν‹€κ°„μ˜ μŠ€μΌ€μ„μ—μ„œ λ‘˜μ΄ μ°Έμ—¬λΌ ν•˜μ§€ μ•Šμ•˜μœΌλ€λ‘œ, μž‘μ—…μ€ 주둜 μ½”λ“œ μ„λͺ…이 μ£Όκ°€ 될 수 밖에 μ—†μ—ˆλ‹€. Pair둜 Refactoring ν•΄λ‚˜κ°€λ©° μ„λͺ…ν•˜κΈ°μ— λ‚΄κ°€ λ„ˆλ¬΄ 많이 μ½”λ“œλΌ κ³ μ³€λ‚˜. -_-; (λ‚˜λ„ ν• λ§μžˆλŠ”κ²ƒμ΄, κ°€μž₯ μ€‘μš”μ‚¬ν•­μ€‘ ν•˜λ‚˜μΈ νŒ¨ν‚· ν•Έλ“€λŸ¬ μ²˜λ¦¬λΆ€λΆ„ν• λ•Œ λ‹€λ“€λΉ μ§€λƒλŠ”κ²ƒμ΄λ‹€. -_-; 제일 얻을 것도 λ§Žμ€ 뢀뢄일건데 쩝. 개인적으둜 λ§Œλ“€λ©΄μ„œ 흐뭇(^^;) ν–ˆλ˜ 뢀뢄이고;)

  • μ†Œν”„νŠΈμ›¨μ–΄ 개발이 곡μž₯μŠ€νƒ€μΌμ΄ 될 수 μ—†λŠ” μ΄μœ λΌ ν•˜λ‚˜ λ“ λ‹€κ³  ν•œλ‹€λ©΄ κ°œλ°œμ€‘ κ°œλ°œμžκ°€ 계속 ν•™μŠ΅μ„ ν•΄λ‚˜κ°„λ‹€λŠ” 점에 μžˆμ§€ μ•Šμ„κΉŒ ν•œλ‹€. μ²˜μŒλΆ€ν„° λκΉŒμ§€ λͺ¨λ“  것을 λ‹€ μ˜ˆμƒν•˜κ³  κ°œλ°œν•  수 λŠ” μ—†μ„κ²ƒμ΄λ‹ˆ. (ν•„μš”ν•œ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 무엇인지, μ‹€μ œ κ·Έ 라이브러리의 μž₯단점이 무엇인지, μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λ©΄ λ°”λ‘œ μ•Œμˆ˜ μ—†λŠ” 버그가 λ˜μ–΄λ²„λ¦¬λŠ”μ§€ λ“±λ“±. 뭐 큰 μ†Œν”„νŠΈμ›¨μ–΄μΌ 경우 이것을 λ‹€ μ˜ˆμΈ‘ν•΄μ•Ό ν•œλ‹€λΌκ³  ν•˜λ©΄ ν• λ§μ—†μ§€λ§Œ. 이것도 λΉ„μš©μ„ κ³ λ €ν•΄μ„œ μ²˜μ‹ ν•΄μ•Όν•˜κ² μ§€. Cost Estimate μžμ²΄κ°€ Cost κ°€ λ“œλŠ”κ²ƒμΌκ±°λ‹ˆ.) μ•”νŠΌ μ•„μ‰¬μš΄κ±΄ 쀑간에 λ””μžμΈμ΄ λ°”λ€Œμ—ˆμ„λ•Œ (μ‹€μ œλ‘œ 처음 λ””μžμΈμ˜ ν΄λž˜μŠ€λ“€μ„ λͺ‡κ°œ 뺀것도 있고, μΈν„°νŽ˜μ΄μŠ€λ§Œ 맞좰본 것듀도 있고 κ·ΈλŸ¬ν•¨) λ°”μœ μ‚¬λžŒλ“€μ΄ 참석을 ν•˜μ§€ λͺ»ν•΄μ„œ μ²˜μŒλΆ€ν„° μ„λͺ…ν•΄μ•Ό ν•˜λŠ” κ²½μš°μ΄λ‹€.
    • ν•™κ΅μ—μ„œμ˜ μž‘μ—…μ˜ 단점쀑 ν•˜λ‚˜λŠ” κ³ μ •λœ μž₯μ†Œμ™€ κ³ μ •λœ μŠ€μΌ€μ„을 λ§Œλ“€κΈ°κ°€ 쉽지 μ•Šλ‹€λŠ” 점이닀. ν•™κ΅μ‹œκ°„ν‘œ 보고 빈 μ‹œκ°„λŒ€λΌ λ§žμΆ°μ•Ό ν•˜κ³ , κ·Έ μ‚¬λžŒμ€ 또 κ·Έ μ‚¬λžŒ λ‚˜λ¦„λŒ€λ‘œμ˜ μŠ€μΌ€μ„이 λ”°λ‘œ μ‘΄μž¬ν•œλ‹€. μ‹œν—˜μ΄λΌλ˜μ§€, 동아리 ν™œλ™μ΄λΌλ˜μ§€ λ“±λ“±. 이 경우 νŒ€μ›λ³„ μŠ€μΌ€μ„을 보고 νŒ€λ‚΄ κΈ°μ—¬λ„λΌ μ˜ˆμƒν•œλ‹€μŒ κ·Έ κΈ°μ—¬λ„λΌ μ„여주도둝 ν•΄μ•Ό μ„œλ‘œκ°€ 뢀담이 적을 것이닀. 단, μœ„μ—μ„œ μ–ΈκΈ‰ν•œλŒ€λ‘œ κ°œλ°œμ€‘ 지속적인 ν•™μŠ΅κ³Όμ •μ΄ μžˆλŠ” 이상, 쀑간 μ°Έμ—¬λŠ” 그만큼 μ–΄λ ΅κ²Œ λœλ‹€. CVSκ°€ μžˆμ„ 경우 ν•΄λ‹Ή μ½”λ“œμ˜ λ³€ν™”λΌ μ§€μ†μ μœΌλ‘œ κ΄€μ°°ν•΄λ‚˜κ°€μ•Ό ν•˜λ©°, 외뢀에 μžˆλŠ” μ‚¬λžŒμ€ λ‚΄λΆ€ μž‘μ—…μžμ—κ²Œ ν•„μš”μ— 따라 ν•΄λ‹Ή λ¬Έμ„œλΌ μš”κ΅¬ν•΄μ•Ό ν•œλ‹€. (λ‚΄λΆ€ μž‘μ—…μžκ°€ μ–΄λ–€ μš•μ„ ν•˜κ±΄ -_-; λ‚˜μ€‘μ— λ‹€μ‹œ μ°Έμ—¬μ‹œμ˜ λ¦¬μŠ€ν¬λΌ μ„이렀면) λ‚΄λΆ€ μž‘μ—…μžλŠ” κ·Έ 변화과정을 계속 기둝을 남겨야 ν•  것이닀. (Configuration Management κ°€ λ˜κ² μ§€.)

  • 이전에 NoSmok:InformationRadiator λΌ λΆ™μΌ 수 μžˆλŠ” λ²½κ³Ό ν™”μ΄νŠΈλ³΄λ“œκ°€ 그립닀; 방학쀑엔 ν”Όμ‹œμ‹€ 문짝에라도 λΆ™μ—¬λ³΄λ˜μ§€ ꢁ리λΌ;

  • νŒ€λ‚΄ 기여도에 λŒ€ν•΄μ„œλŠ” μ—¬λŸ¬κ°€μ§€λΌ μƒκ°ν•΄μ•Ό 할것 κ°™κΈ΄ ν•œλ°, 이것은 개인의 λͺ©μ κ³Ό νŒ€μ˜ λͺ©μ κ³Ό κ²°λΆ€μ§€μ–΄μ„œ 생각해봐야 할것도 κ°™λ‹€. 개인의 λͺ©μ κ³Ό νŒ€μ˜ λͺ©μ μ΄ μΌμΉ˜ν• λ•Œ κ·Έ μ‚¬λžŒμ€ μžμ‹ μ˜ κΈ°μ—¬λ„λΌ λ†’μ΄λ €κ³  ν•  것이닀 (이것은 μžμ‹ μ˜ 이읡과 μΌμΉ˜ν•˜λŠ” κ²ƒμΌν…Œλ‹ˆ).
    • 이번 ν”„λ‘œμ νŠΈμ˜ λͺ©μ μ€ Java Study + Team Project κ²½ν—˜μ΄λΌκ³  보아야 ν•  것이닀. μ•„μ‰½κ²Œλ„ μ²˜μŒμ— 곡뢀할 것을 λͺ©μ μœΌλ‘œ 이 νŒ€μ„ μ œμ•ˆν•œ μ‚¬λžŒλ“€μ€ μžμ‹ μ˜ λͺ©μ κ³Ό νŒ€μ˜ λͺ©μ μ„ μΌμΉ˜μ‹œν‚€μ§€ λͺ»ν–ˆκ³ , μ΄λŠ” 개인의 μŠ€μΌ€μ„κ΄€λ¦¬μ˜ μš°μ„ μˆœμœ„ μ •μ˜ μ‹€νŒ¨ (라고 μƒκ°ν•œλ‹€. νŒ€ μž…μž₯에선. 개인의 κ²½μš°μ•Ό μš°μ„ μˆœμœ„λ“€μ΄ λ‹€λΌν…Œλ‹ˆ ν• λ§μ—†μ§€λ§Œ, 그둜 μΈν•œ 손싀에 λŒ€ν•΄μ„œ μ•„μ‰¬μ›Œν• μ •λ„λΌλ©΄ 개인의 μ‹€νŒ¨μ™€λ„ 연결을 μ‹œμΌœμ•Όκ² μ§€)둜 μ΄μ–΄μ‘Œλ‹€κ³  λ³Έλ‹€. (μ™œ 초반 μ œμ•ˆμžλ“€λ³΄λ‹€ ν›„λ°˜ μ°Έμ—¬μžλ“€μ΄ 더 μ—΄μ‹¬νžˆ λ›°μ—ˆμ„κΉŒ) ν•œνŽΈ, μ„ λ°°μ˜ μž…μž₯μœΌλ‘œμ„  νŒ€μ˜ λͺ©μ μΈ 개개인의 μ‹€λ ₯ν–₯상뢀뢄을 κ°„κ³Όν•˜κ³  ν˜Όμžμ„œ λ„ˆλ¬΄ 많이 μ§„ν–‰ν–ˆλ‹€λŠ” 점에선 또 개인의 λͺ©μ κ³Ό νŒ€μ˜ λͺ©μ μ˜ λΆˆμΌμΉ˜λ‘œμ„œ 이 λ˜ν•œ μ‹€νŒ¨μ΄λ‹€. μ™„μ„±λœ ν”„λ‘œκ·Έλž¨λ§Œμ΄ μ€‘μš”ν•œκ±΄ 아닐것이닀. (ν•˜μ§€λ§Œ, λ‚˜μ˜ 경우 Java Study 와 Team Project κ²½ν—˜ ν–₯상도 λ‚΄ λͺ©μ μ€‘ ν•˜λ‚˜κ°€ 되λ€λ‘œ, λ‚΄ κΈ°μ—¬λ„λΌ μ˜¬λ¦¬λŠ” 것은 λ‚˜μ—κ²Œ 이읡이닀. Team Project κ²½ν—˜μ„ μœ„ν•΄ PairProgrammingλΌ ν–ˆκ³ , λŒ€ν™”λΌ μœ„ν•œ λͺ¨λΈλ§μ„ ν–ˆμœΌλ©°, CVS에 commit 을 ν–ˆκ³ , 쀑간에 λ°”μœ μ‚¬λžŒλ“€μ˜ μŠ€μΌ€μ„을 뺐닀.) μ•”νŠΌ, 슀슀둜 ν•œ 만큼 μ–»μ–΄κ°„λ‹€. Good Pattern 이건 Anti Pattern 이건.

  • μ•”νŠΌ. μ΄λ ‡κ²Œ ν•΄λ΄€μœΌλ‹ˆ, μ•žμœΌλ‘œλŠ” 더 μž˜ν• μˆ˜ μžˆλ„λ‘, λ”μš±λ” μž˜ν• μˆ˜ μžˆλ„λ‘. DoItAgainToLearn ν–ˆμœΌλ©΄ ν•œλ‹€. μ•žμœΌλ‘œ 더 ꢁ리해봐야 ν•  일듀이겠지. -- μ„μ²œ



  • 움.. μ•„λ¬΄λž˜λ„ λ‚œ 말빨 κΈ€λΉ¨ λ‹€ λ”Έλ¦¬λŠ”κ±°κ°™λ‹€.. μœ„μ—κΈ€μ²˜λŸΌ λ©‹μžˆκ²Œ 쓰고싢은데, κ·Έλƒ₯ λ‚΄μ‹λŒ€λ‘œ 써야겠닀.. κ°„λ§Œμ— λ‚΄κ°€ 또 ν˜•λ³΄λ‹€ 일찍왔닀. μ΄ν‹€λ™μ•ˆ λΉ μ§„κ²Œ 타격이 λ„ˆλ¬΄ μ»Έλ‚˜λ³΄λ‹€.. MainSource에 μƒˆλ‘œ μΆ”κ°€λœ νŒŒμΌλ„ 꽀되고 κΈ°μ‘΄νŒŒμΌλ„ μ—…λ°μ΄νŠΈλœ λ‚΄μš©μ΄ λ§Žμ•„μ„œ 이해가 μ•„λ‹ˆλΌ μ½μ–΄λ³΄λŠ”κ²ƒλ§Œν•΄λ„ μ—„μ²­λ‚œ μ‹œκ°„μ΄ λ“€μ—ˆλ‹€.. --;; 정톡뢀 회의겸 κΈ°μ§±ν„±λ•œμ— μΌμ°κ°”λŠ”λ° μ•„λ¬΄λž˜λ„ κΈˆμš”μΌλ‘œ μ™„λ£Œκ°€ 된 λͺ¨μ–‘이닀.. 이번이 λ‚˜λ‘œμ„  거의 처음 ν•΄λ³Έ ν”„λ‘œμ νŠΈμ˜€λŠ”λ°, λ‚΄κ°€ λ³„λ‘œ ν•œκ±΄μ—†μ§€λ§Œ, μ†”μ§νžˆ λ­”κ°€ λ§Œλ“ κ²ƒλ³΄λ‹¨ 배운게 더 λ§Žμ€κ±°κ°™λ‹€.. ν•˜κΈ΄ ν”„λ‘œμ νŠΈλΌ ν•΄λ³Έλ‹€λŠ”κ±° μžμ²΄κ°€ λ°°μš΄λ‹€λŠ”κ±°μ˜€μœΌλ‹ˆκΉ.. κΌ­ μžλ°”μ— λŒ€ν•΄μ„œ λ°°μš΄κ²ƒλ³΄λ‹€λ„ Designμ΄λΌλ˜μ§€ Architecture(λ§žλ‚˜?) 같은것에 λŒ€ν•΄μ„œλ„ λ°°μ› κ³ .. ν”„λ‘œμ νŠΈλž€ μ΄λ ‡κ²Œ 진행해야 ν•˜λŠ”κ±°κ΅¬λ‚˜λΌλŠ”κ²ƒλ„ λŠκΌˆλ‹€. λ­”κ°€ 많이 쓰고싢은데 머리속이 정리가 μ•ˆλœλ‹€.. μ΄λŸ΄λ•Œ 정말~~ γ… .γ…  μ•„μš°~ λ‚˜μ€‘μ— 더 써야겠닀..
    • (λ‚˜μ€‘) ν˜•μ˜ λ§λŒ€λ‘œ μ•„μ‰½λ‹€λŠ” 생각이 λ“ κ±Έλ‘œ λ΄μ„œλŠ” μ‹€νŒ¨λž€ 생각이 λ“€κΈ΄ν•œλ‹€.. κ·Έλž˜λ„ ν”„λ‘œμ νŠΈλΌ ν•˜λ©΄μ„œ μ—¬λŸ¬μ‚¬λžŒλ“€κ³Ό λ¨Έλ¦¬λΌ λ§žλŒ€λ³Έκ²ƒλ§ŒμœΌλ‘œλ„ 였랜 μ–΄λ‘μš΄ λ™κ΅΄μ—μ„œ 빛을 μ°Ύμ€κ²ƒμ²˜λŸΌ λŠκ»΄μ§„λ‹€.. λ‹€λ₯Έμ‚¬λžŒμ΄ λͺ¨λΌ 할지라도 κ·Έκ²ƒλ§ŒμœΌλ‘œλ„ λ‚˜μ—κ² 이번 ν”„λ‘œμ νŠΈκ°€ λ‚˜λ¦„λŒ€λ‘œ 큰 성곡이라고 μƒκ°ν•œλ‹€.. 근데 아직 λ©”μ‹ μ €λΌ λͺ»μ‹€ν–‰μ‹œμΌœλ΄€λ‹€.. μ–΄λ–»κ²Œ ν•΄μ•Όλ˜λŠ”μ§€ λͺ¨λ₯΄κ² λ‹€.. --;; μ„œλ²„μͺ½μ„ μ•ˆμ½μ–΄λ΄μ„œ κ·ΈλŸ°κ°€.. 이거 μ“°κ³  ν•œλ²ˆ λŒλ €λ΄μ•Όκ² λ‹€.. λ³„λ‘œ ν•œκ±΄ μ—†μ§€λ§Œ, μ•„λ‹ˆλ‹€ λ‚˜λ„ μ—„μ²­λ‚œ 역할을 ν–ˆκΈ°μ— 돌렀보면 λ„ˆλ¬΄ 기쁠꺼같닀.. ^^
      100% μ‹€νŒ¨μ™€ 100% 성곡 λ‘˜λ‘œ λ‚˜λˆ„κ³  싢지 μ•Šλ‹€. Output 이 μ–΄λŠμ •λ„ λ‚˜μ™”λ‹€λŠ” μ μ—μ„œλŠ” 성곡 70-80% κ² κ³ , κ·ΈλŒ€μ‹  ν”„λ‘œμ νŠΈμ˜ λͺ©μ μΈ Java Study 와 성곡적인 Team Play 의 μš΄μš©μ„ μƒκ°ν•΄λ΄€μ„λ•ŒλŠ” 성곡 40-50% 정도 λΌλŠ” 것이지. μ„±κ³΅ν–ˆλ‹€κ³  μƒκ°ν•œ 점에 λŒ€ν•΄μ„œλŠ” (이 λ˜ν•œ 개인의 성곡과 νŒ€μ˜ μ„±κ³΅μœΌλ‘œ λ‚˜λˆ„μ–΄μ„œ μƒκ°ν•΄λ΄€μœΌλ©΄ ν•œλ‹€.) κ·Έ 강점을 λ°œκ²¬ν•΄μ•Ό ν•˜κ² κ³ , μ‹€νŒ¨ν–ˆλ‹€κ³  μƒκ°ν•œ 점에 λŒ€ν•΄μ„  보완할 방법을 생각해야 겠지. --μ„μ²œ



6.4, 6.5

  • 1002 ν˜Όμžμ„œ μž‘μ—…. μ§‘μ—μ„œ μž‘μ—…ν•΄μ„œ κ·ΈλŸ°μ§€ 쀑간에 λ‹€λ₯Έ 일을 μ€ λ§Žμ΄ ν–ˆλ‹€. (μ• λ‹ˆλ³΄κ³  좕ꡬ보고. -_-;) μž₯μ†Œκ°€ μ£ΌλŠ” μž₯단점이 ν™•μ‹€νžˆ μ‘΄μž¬ν•œλ‹€. 아무리 μ§‘μ˜ 컴퓨터가 λ‚˜μ—κ²Œ μ…‹νŒ…μ΄ λ§žμΆ°μ Έμžˆλ‹€κ³  ν•˜λ”λΌλ„, μ§‘μ—λŠ” λ„ˆλ¬΄ μœ ν˜Ήκ±°λ¦¬κ°€ λ§Žλ‹€.)
  • 쀑간 쀑간 ν…ŒμŠ€νŠΈλΌ μœ„ν•΄ μ„œλ²„μͺ½ μ†ŒμŠ€λΌ λ‹€μš΄λ°›μ•˜λ‹€. 상λΌμ΄κ°€ μ€λΉ„λΌ μ² μ €ν•˜κ²Œ ν•œ 것이 ν™•μ‹€νžˆ λŠκ»΄μ§€λŠ” 건 λΉŒλ“œμš©/μ‹€ν–‰μš© λ°°μΉ˜ν™”μΌ, λ„νλ¨ΌνŠΈμ— μžˆλ‹€. λ°°μΉ˜ν™”μΌμ€ μ‹€ν–‰ν•œλ²ˆλ§Œ ν•΄μ£Όλ©΄ μ„œλ²„μͺ½ μ»΄νŒŒμΌμ„ μ•Œμ•„μ„œ ν•΄μ£Όκ³  ν•œλ²ˆμ— μ‹€ν–‰ν•  수 μžˆλ‹€. (싀행을 μœ„ν•œ Interface λ©”μ†Œλ“œλΌ μ •μ˜ν•΄λ†“μ€κ²ƒμ΄λ‚˜ 닀름없ꡰ.) μ–΄λ–€ μ†ŒμŠ€μ—μ„œλ“ μ§€ Javadoc 이 λ‹€ λ‹¬λ €μžˆλ‹€. (Coding Standard둜 κ²°μ •ν•œ 사항이긴 ν•˜μ§€λ§Œ, 개인적으둜 μ½”λ“œμ˜ Javadoc 이 많이 λ‹¬λ €μžˆλŠ”κ±Έ μ‹«μ–΄ν•˜κΈ΄ ν•˜μ§€λ§Œ; μ½”λ“œ μ½λŠ”λ° λ°©ν•΄λ˜μ–΄μ„œ; ν•˜μ§€λ§Œ javadoc generator 둜 document λ§Œλ“€κ³  λ‚˜λ©΄ κ·Έ 이야기가 달라지긴 ν•˜λ‹€.)
  • TDD κ°€ μ•„λ‹ˆμ˜€λ‹€λŠ” 점은 μΆ”ν›„ λͺ¨λ“ˆκ°„ Interface λΌ κ²°μ •ν• λ•Œ κ³¨μΉ˜κ°€ μ•„νŒŒμ§„λ‹€. μ€‘κ°„μ½”λ“œμ— μ μš©ν•˜κΈ° λ­ν•΄μ„œ κΆμ—¬μ§€μ±…μœΌλ‘œ Main ν•¨μˆ˜λΌ hard coding ν•œλ’€ Refactoring 을 ν•˜λŠ” μŠ€νƒ€μΌλ‘œ ν•˜κΈ΄ ν•˜μ§€λ§Œ, TDD 만큼 Interfaceκ°€ κΉ”λ”ν•˜κ²Œ λ‚˜μ˜€μ§ˆ μ•ŠλŠ”λ‹€κ³  생각. 차라리 μ‘°κΈˆμ”©μ΄λΌλ„ UnitTest μ½”λ“œλΌ λΆ™μ΄λŠ”κ²Œ λ‚˜μ„κ²ƒ κ°™κΈ΄ ν•˜λ‹€. ν•˜μ§€λ§Œ, 마감이 2일인 κ΄€κ³„λ‘œ. -_- μŠ€νŽ™ μ™„λ£Œλ’€ κ³ λ €ν•˜λ˜μ§€, μ•„λ‹ˆλ©΄ μ²˜μŒλΆ€ν„° TDDλΌ μ—Όλ‘ν•΄λ‘κ³  ν•˜λ˜μ§€. μ€‘μš”ν•œκ±΄ λͺ¨λ“ˆμžμ²΄λ³΄λ‹€ λͺ¨λ“ˆμ„ μ΄μš©ν•˜λŠ” Client 의 관점이닀.


6.3 (μ›”)

  • λ‚΄κ°€ μ§€λ‚œλ²ˆκ³Ό 같이 5λΆ„ PairλΌ μ›ν•΄μ„œ μ΄λ²ˆμ—λ„ 5λΆ„PlayλΌ ν–ˆλ‹€.. μ—­μ‹œ λŠ₯λ₯ μ μ΄λ‹€.. ν˜•κ³Ό λ‚˜ λ‘˜λ‹€ μŠ€νŒ€νŒ©λ¨ΉμΈ λ§ˆλ¦°κ°™μ•˜λ‹€.. --;; λ‹¨λ²ˆμ— 1:1 Dialogμ°½ μ™„μ„±!! 근데 ν•œκ°€μ§€ 처리(Focus κ΄€λ ¨)λΌ μ œλŒ€λ‘œ λͺ»ν•œκ²Œ 아쉽닀.. λ ˆνΌλŸ°μŠ€λΌ μˆ˜μ—†μ΄ 뒀져봐도 κ²°κ΅­ μžλ°”μŠ€ν„°λ””κΉŒμ§€ 가봀어도 λͺ»ν–ˆλ‹€.. μ™œ 남듀은 λ‹€ λœλ‹€κ³  ν•˜λŠ”λ° μ΄κ²ƒλ§Œ μ•ˆλ˜λŠ”μ§€ λͺ¨λ₯΄κ² λ‹€.. μ‹ ν”Ό μ»΄ν„°κ°€ κ΅¬λ €μ„œκ·ΈλŸ°κ±°κ°™λ‹€.. μ–΄μ„œ 1.7G둜 λ°”κΏ”μ•Όν•œλ‹€. 였늘 듀은 좩격적인 말은 창섭이가 μ£Όμ κ΄€κ³„λ‘œ 거의 λͺ»ν• κΊΌκ°™λ‹€λŠ”λ§μ΄μ—ˆλ‹€.. κ·Έμ–˜κΈ΄ μ†ŒμΌ“μ„ λ‚˜λ„ ν•΄μ•Όλœλ‹€λŠ” 말인데.... λ‚˜μ—κ²Œ 더 λ§Žμ€ κ³΅λΆ€λΌ ν•˜κ²Œ ν•΄μ€ μ°½μ„­μ΄κ°€ 정말 고맙닀.. 정말 κ³ λ§ˆμ›Œμ„œ 눈물이 날지경이닀.. γ… .γ…  덕뢄에 μ†ŒμΌ“κΉŒμ§€ μ—΄μ‹¬νžˆ ν•΄μ•Όλœλ‹€.. λ°₯λ¨Ήκ³ μ™€μ„œ ν•œ λ„€νŠΈμ›Œν¬λΆ€λΆ„μ€ κ·Έλƒ₯ 고개만 λ„λ•μ˜€μ§€ 이해가 μ•ˆκ°”λ‹€.. κ·Έλ†ˆμ— Try CatchλŠ” 맨날 μ“΄λ‹€.. κΈ°λ³ΈκΈ°κ°€ μ•ˆλ˜μžˆμ–΄ ν• λ•Œλ§ˆλ‹€ κ΄€λ ¨λœκ²ƒλ§Œ λ³΄λ‹ˆ λΈμΉ˜κ² λ‹€.. μ—­μ‹œ κΈ°λ³ΈκΈ°κ°€ μΆ©μ‹€ν•΄μ•Όλœλ‹€. μ–΄μ„œ 책을 봐야겠닀.. μ•„μ›…~ 그럼 인제 ν΄λΌμ΄μ–ΈνŠΈλŠ” λ‚΄κ°€ μ™„μ„±ν•˜λŠ”κ²ƒμΈκ°€~~ -_-V (1002ν˜•μ„ Adviser라고 μƒκ°ν• λ•Œ... γ…‘_γ…‘;;) μ•”νŠΌ 빨리 μ™„μ„±ν•΄μ„œ μ‹œν—˜ν•΄λ³΄κ³ μ‹Άλ‹€.. 3일껀 λ‚΄κ°€ 저먼저썼닀.. λ‹€μ‹œν•œλ²ˆ -_-V - μ˜μ„œ
    μ–΄μ°¨ν”Ό 창섭이가 주점이 μ•„λ‹ˆλΌ ν•˜λ”λΌλ„ 자λ„λŠ” μ†ŒμΌ“μ„ 곡뢀해야 ν–ˆμ„κ±Έ. -_-v (μ™œλƒ. 쀑간에 μ°½μ„­μ΄λž‘ λ„ˆλž‘ Pair ν• κ²ƒμ΄μ˜€μœΌλ‹ˆκΉŒ. 창섭이도 Swing κ΄€λ ¨ κ³΅λΆ€λΌ ν•΄λ‘¬μ•Ό ν•˜κΈ΄ λ§ˆμ°¬κ°€μ§€) μ°Έ, 그리고 ν•΄λ‹Ή μ½”λ“œλŒ€λΉ„ μ™„μ„±μ‹œκ°„μ€ λ°˜λ“œμ‹œ μ²΄ν¬ν•˜λ„λ‘. 참고둜 1:1 Dialog λŠ” 1μ‹œκ°„ 10뢄정도 μ΄μš©ν–ˆμŒ. --μ„μ²œ

5.31 (금)

  • PairProgramming 을 ν• λ•Œ κ°€μž₯ λ‹΅λ‹΅ν•΄μ§€λŠ” 상황은 잘 이해 μ•ˆκ°€λ©΄μ„œ 넋놓고 μžˆμ„λ•Œλž‘, λ‘˜μ΄ 같이 μžˆμ–΄λ„ Solo Programming ν•˜λŠ μ‚¬λžŒ 마λƒ₯ ν˜Όμžμ„œ λ¬Έμ œλΌ λ™λ™κ±°λ¦¬λ©° ν’€λ €κ³  ν•˜λŠ” λͺ¨μŠ΅μ΄λ‹€. κΌ­ λ¬Έμ œλΌ μŠ€μŠ€λ‘œ μ‚½μ§ˆν•΄μ„œ ν’€μ–΄μ•Όλ§Œ μžκΈ°μ‹€λ ₯이 ν–₯μƒλ˜λŠ”κ²ƒμΌκΉŒ? λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ μ˜¬λ°”λ₯Έ μ§ˆλ¬Έμ„ ν•  수 μ—†λŠ” μ‚¬λžŒμ€ ν˜Όμžμ„œ 문제 ν‘ΈλŠ”λ°μ—λ„ 였래걸리게 λœλ‹€κ³  μƒκ°ν•œλ‹€. μƒλŒ€λ°©μ—κ²Œ μ§ˆλ¬Έμ„ ν•˜λ©΄μ„œ μžμ‹ μ΄ λͺ¨λ₯΄λŠ” 것 μžμ²΄λΌ κ΅¬μ²΄ν™”ν•˜κ³  (문제 μžμ²΄κ°€ λͺ¨ν˜Έν•œμƒνƒœ μžμ²΄κ°€ λ¬Έμ œλ‹€. 무엇이 λ¬Έμ œμΈμ§€, μžμ‹ μ΄ λͺ¨λ₯΄λŠ” 것이 ꡬ체적으둜 무엇인지 λͺ¨λ₯΄λ©΄μ„œ μ–΄λ–»κ²Œ λ¬Έμ œλΌ ν•΄κ²°ν• κΉŒ? μžμ‹ μ΄ λͺ¨λ₯΄λŠ”κ²Œ λ²„ν΄λ¦¬μ†ŒμΌ“ 전체 μ‚¬μš©κ³Όμ •μΈμ§€ μ†ŒμΌ“ API의 μΈμžλ“€μ„ λͺ¨λ₯΄λ©΄μ„œ λ„€νŠΈμ› ν”„λ‘œκ·Έλž˜λ°μ„ ν•  수 μžˆμ„κΉŒ. κ·ΈλŸ°μ‚¬λžŒλ“€μ—κ²Œ 'μ§€κΈˆ λͺ¨λ₯΄κ² λŠ”κ²Œ 뭐지?' 라고 물으면 80-90%λŠ” 'λ‹€ λͺ°λΌμš”' 이닀. λͺ¨λ₯΄κ² λŠ” 뢀뢄에 λŒ€ν•΄μ„œ ν•˜λ‚˜ν•˜λ‚˜ κ΅¬μ²΄ν™”μ‹œμΌœλ‚˜κ°€λΌ. κ΅¬μ²΄ν™”μ‹œν‚¨ μ˜ˆλ‘œμ„œ 생각을 해봐도 쒋을것이닀. μ‹œλ‚˜λ¦¬μ˜€λΌ λ§Œλ“€μ–΄λ³΄λ©΄μ„œ, 그림을 κ·Έλ €λ³΄λ©΄μ„œ, μ•„λ‹ˆλ©΄ 자기 μžμ‹ μ΄ κ·Έ μ‹œμŠ€ν…œμ˜ 일뢀가 λ˜μ–΄ λ³΄λ©΄μ„œ.) λ‹€λ₯Έ μ‚¬λžŒμ˜ μ•„μ΄λ””μ–΄λΌ μžμ‹ μ˜ 사고에 λΆ™μ—¬λ‚˜κ°€λ©΄μ„œ '더 쒋은 방법' 을생각해낼 μˆ˜λŠ” μ—†μ„κΉŒ? μ–Έμ œλ‚˜ 문제의 닡을 λ‚΄λŠ” 방법은 'μ΄μ‚¬λžŒμ˜ 방식' μ•„λ‹ˆλ©΄ 'μ €μ‚¬λžŒμ˜ 방식' 뿐일까.

  • PairProgramming 의 κ΅λŒ€μ‹œκ°„μ„ 5λΆ„μœΌλ‘œ ν•΄λ΄€λ‹€. ν•œ μ‚¬λžŒμ΄ 5λΆ„λ™μ•ˆ ν•΄λ‹Ή 뢀뢄을 ν”Œλ°ν•˜λ‹€κ°€ λ‹€ λͺ»μ§œλ©΄ λ‹€μŒμ‚¬λžŒμ΄ λ‹€μ‹œ 5λΆ„μ˜ μ‹œκ°„μ„ 가지고 μ΄μ–΄μ„œ 짜고 ν•˜λ©° κ΅λŒ€λ‘œ ν”„λ‘œκ·Έλž˜λ°μ„ μ΄μ–΄λ‚˜κ°€λŠ” (마치 λ¦΄λ ˆμ΄κ²½μ£Όμ™€λ„ κ°™λ‹€) 방법이닀. μ‚¬λžŒλ“€μ—κ²Œ μ œμ•ˆν–ˆμ„λ•Œ κ·Έ ν‘œμ •λ“€μ΄ μ‹¬μƒμΉ˜ μ•Šλ‹€;; 그래 λ„ˆν¬λ“€μ€ μ‹€ν—˜μš© λͺ¨λ₯΄λͺ¨νŠΈλ‹€;; 흐흐.

  • -_-; λŠλ‚€μ μ΄λ‚˜ μΌμ •μ΄λ‚˜... μ΄λΈ μ”Œμ–΄μžˆλŠ”λ°... --;;

  • 5λΆ„κ°„κ²©μœΌλ‘œ Pair Programming을 ν–ˆλ‹€.. μ§„μ§œ PairλΌ ν•œ 기뢄이 λ“ λ‹€.. Testκ°€ μ•„λ‹Œ Real Client UIλΌ λ§Œλ“€μ—ˆλŠ”λ°, ν•˜λ‹€λ³΄λ‹ˆ Testλ•Œ ν•œλ²ˆμ”© λ‹€ ν•΄λ³Έκ±°μ˜€λ‹€.. 그런데 μœ„μ™€ μ•„λž˜μ— 1002ν˜•μ΄ μ“΄κ±Έ λ³΄λ‹ˆ 얼꡴이 λ‹¬μ•„μ˜€λ₯Έλ‹€.. --;; μ•„μ›….. 3일전 일을 μ“°λ €λ‹ˆ λ„ˆλ¬΄ νž˜λ“€λ‹€.. μΌκΈ°λΌ λ°€λ €μ„œ 쓴기뢄이닀.. μƒμƒν•΄μ„œ 막 μ“°κ³ μ‹Άμ§€λ§Œ 내감정에 솔직해야겠닀.. κ·Έλƒ₯ μƒκ°λ‚˜λŠ”κ²ƒλ§Œ 써야지.. γ…‘.γ…‘++ ν™•μ‹€νžˆ 5λΆ„κ°„κ²©μœΌλ‘œ ν•˜λ‹ˆ 속도가 λ°°κ°€λœ 기뢄이닀.. λ§ˆμ•½μ„ ν•œμƒνƒœμ—μ„œ 코딩을 ν•˜λŠ” λŠλ‚Œμ΄μ—ˆλ‹€.. μ•”νŠΌ ν˜Όμžμ„œ ν•˜λ©΄ μ–Έμ œλλ‚ μ§€ μ•Œμˆ˜μ—†κ³  같이 해도 그거보단 더 걸렸을λ“ν•œλ°, 1μ‹œκ°„λ§Œμ— Loginκ΄€λ ¨ UIλΌ μ§°λ‹€λŠ”κ²Œ λ‚˜λ‘œμ„  μ‹ κΈ°ν•˜λ‹€.. 근데 ν˜Όμžμ„œ λ‚˜μ€‘μ— ν•œ Treeλ§Œλ“€λ• μ œλŒ€λ‘œ λͺ»ν–ˆλ‹€.. 아직 λ‚μ„ λ“ν•˜λ‹€. λ‚˜μ—κ²Œ μ§€κΈˆ ν”„λ‘œμ νŠΈλŠ” κΈ°μ΄ˆκ³΅μ‚¬κ°€ μ•ˆλœμƒνƒœμ—μ„œ λ°”λ‘œ 1측을 μ˜¬λΌκ°€λŠ” κ·ΈλŸ°κ±°κ°™λ‹€.. 머리속을 μ§œλ‚΄κ³ μžˆλŠ”λ° 생각이 μ•ˆλ‚œλ‹€ 그만 μ“°λ ¨λ‹€.. γ…‘γ…‘;; - μ˜μ„œ
    5λΆ„ ν”Œλ ˆμ΄λΌ μ‹œλ„ν•˜λ €κ³  ν• λ•Œ ν•™μŠ΅κ³Ό λŠ₯λ₯  μ‚¬μ΄λΌ μž˜ μ €μšΈμ§ˆ ν•  ν•„μš”κ°€ μžˆμ„λ“. μƒκ°μ„κ³±ν•˜λŠ”λͺ¨μž„μ˜ κΈ€μ—μ„œλ„ κ·Έλ ‡λ“, μ‚¬λžŒκ³Όμ˜ μ˜κ²¬κ΅ν™˜κ³Ό ν™€λ‘œ κ³΅λΆ€ν•˜κ³  μƒκ°ν•˜λŠ” 것 μ–‘μžκ°„μ˜ κ· ν˜•μ„ μž‘μ•„μ•Όκ² μ§€. ν•˜μ§€λ§Œ, μš°λ¦¬κ°€ λ§Œλ‚˜μ„œ ν”Œλ°ν• λ•Œ ν•΄λ‹Ή λΌμ΄λΈŒλŸ¬λ¦¬κ³΅λΆ€μ™€ ν”Œλ°μ„ λ‘˜ λ‹€ ν•˜κΈ°μ—” μ‹œκ°„μ΄ λͺ¨μžλ₯΄λ‹ˆ, ν•™μŠ΅λΆ€λΆ„μ€ 개인적으둜 μ–΄λŠμ •λ„ ν•΄μ•Ό 겠지. (λ‚˜λ„ JTree 보렀고 Graphic Java λž‘ Core Java, Professional Java 에 μžˆλŠ” JTree λ‹€ 읽어보고 μ§‘μ—μ„œ 개인적인 예제 μ½”λ“œ μž‘μ„±ν•˜κ³  κ·Έλž¬λ‹€. 그정도 ν–ˆμœΌλ‹ˆκΉŒ 자λ„λž‘ ν”Œλ°ν• λ•Œ 레퍼런슀 μ•ˆλ’€μ Έλ³΄μ§€. 뭐든지 κΈ°λ³Έ 밑바탕이 λ˜λŠ”κ±΄ ν•™μŠ΅λŸ‰μ΄λΌ 생각. ν•™μŠ΅λŸ‰ * 효율적 방법둠 = Output --μ„μ²œ

    μ²˜μŒμ—λŠ” μ˜μ„œμ™€ GUI Programming을 ν–ˆλ‹€. Main Frame class 의 메뉴뢙이고 λ¦¬μŠ€λ„ˆ μ—°κ²°ν•˜λŠ” 것뢀터 μ‹œμž‘, μž…λ ₯ λ‹€μ΄μ–Όλ‘œκ·ΈλΌ λ…Έκ°€λ‹€ μ½”λ”©ν•΄μ„œ λ§Œλ“œλŠ”λ° μ„œλ‘œ κ΅λŒ€ν•΄μ„œ 1μ‹œκ°„μ΄ κ±Έλ Έλ‹€. μ½”λ”© 속도도 μ €λ²ˆμ— λΉ„ν•΄ λ”μš± 빨랐고, λŒ€ν™”ν• λ•Œλ„ κ·Έ 질문이 κ°„λ‹¨ν–ˆλ‹€. (5λΆ„κ°„κ²©μ΄λ‹ˆ 아무리 ν”Œλ°μ΄ μ΅μˆ™ν•œ μ‚¬λžŒμ΄ 진행해도 κ·Έ 진행양이 λ§Žμ§€κ°€ μ•Šλ‹€. 그리고 μžμ‹ μ΄ κ·Έ μ‚¬λžŒμ˜ λΈμ™„μ„± μ½”λ“œλΌ μ™„μ„±ν•΄μ•Ό ν•˜κΈ°μ— λͺ¨λ₯΄λ©΄ λ°”λ‘œ μ§ˆλ¬Έμ„ ν•˜κ²Œ λœλ‹€.)
(κ·Έ 이후 창섭이가 μ™€μ„œ μ˜μ„œμ—κ²Œ JTreeκ΄€λ ¨ Solo Programming 을 μ‹œμΌ°λŠ”λ°, 말이 μ•ˆλ˜λŠ” ν”„λ‘œκ·Έλž˜λ°μ„ ν–ˆλ‹€. -_-; 아직 μ˜μ„œκ°€ Swing 에 μ΅μˆ™ν•˜μ§€ μ•Šμ•„μ„œ 그런데, μ•žμ˜ ν”„λ‘œκ·Έλž¨μ€ μ–΄λ–»κ²Œ λ§Œλ“€μ–΄μ‘Œμ„κΉŒ 의문이 λ“€ μ •λ„μ˜€λ‹€; μ•„λ§ˆ 5λΆ„ 간격 ν”Œλ°μ‹œμ—λŠ” μ„œλ‘œ μ•ž μ‚¬λžŒ μ†ŒμŠ€μž‘μ„±μ„ ν•œ 것을 κΈ°μ€μœΌλ‘œ λΆ™μ—¬λ‚˜κ°€λŠ” 방식이기에 κ·Έ 흐름을 작고 ν”„λ‘œκ·Έλž˜λ°μ„ ν•΄μ„œ Pair κ°€ 성립이 κ°€λŠ₯ν–ˆλ˜κ²ƒ κ°™λ‹€λŠ” 생각도 ν•΄λ³Έλ‹€. μ΄λŠ” 처음 ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λŠ” μ‚¬λžŒκ³Όμ˜ PairProgramming μ‹œ ꢁ리해봐야 ν•  사항인λ“)

λ‹€μŒλ²ˆμ— 창섭이와 Socket Programming 을 같은 λ°©λ²•μœΌλ‘œ ν–ˆλŠ”λ°, μ•žμ—μ„œμ™€ 같은 νš¨κ³Όκ°€ λ‚˜μ˜€μ§€ μ•Šμ•˜λ‹€. 쀑간에 μ™œκ·ΈλŸ΄κΉŒ μƒκ°ν•΄λ΄€λ”λ‹ˆ, μ•„κΉŒ GUI Programming 을 ν•˜κΈ° 전에 μ˜μ„œμ™€ UI Diagram 을 κ·Έλ Έμ—ˆλ‹€. 그러λ€λ‘œ, μ „μ²΄μ μœΌλ‘œ μ–΄λ””κΉŒμ§€ ν•΄μ•Ό ν•˜λŠ”μ§€ 눈으둜 ν™•μ‹€νžˆ λ³΄μ΄λŠ” κ²ƒμ΄μ˜€λ‹€. ν•˜μ§€λ§Œ, Socket Programming λ•ŒλŠ” μΌμ’…μ˜ LibraryλΌ λ§Œλ“œλŠ” μŠ€νƒ€μΌμ΄ λ˜μ–΄μ„œ 창섭이가 μ „μ²΄μ μœΌλ‘œ 무엇을 μž‘μ„±ν•΄μ•Όν•˜λŠ”μ§€ μžμ²΄λΌ λͺ¨λ₯΄λŠ” κ²ƒμ΄μ˜€λ‹€. κ·Έλž˜μ„œ μ€‘λ°˜μ에 Socketκ΄€λ ¨ ꡬ체적인 μ‹œλ‚˜λ¦¬μ˜€ (UserConnection Class λΌ μ΄μš©ν•˜λŠ” main 의 μž…μž₯κ³Ό κ΄€λ ¨ν•˜μ—¬ μ„œλ²„ 접속 & κ²°κ³Ό λ°›μ•„μ˜€λŠ” 것에 λŒ€ν•œ κ°„λ‹¨ν•œ sequence λΌ κ·Έλ Έλ‹€) λΌ λ§Œλ“€κ³ , 진행해 λ‚˜κ°€λ‹ˆκΉŒ 진행이 μ€ λ” μ›ν• ν–ˆλ‹€. μ‹œκ°„κ΄€κ³„μƒ 1μ‹œκ°„μ •λ„λ°–μ— μž‘μ—…μ„ ν•˜μ§€ λͺ»ν•œκ²Œ μ€ μ•„μ‰½κΈ΄ ν•˜λ‹€.

5.28 (ν™”)

μ˜μ„œμ—κ²Œ JTree κ΄€λ ¨ ν”„λ‘œκ·Έλž˜λ°μ— λŒ€ν•΄μ„œ μ„λͺ…을 ν–ˆλ‹€. JTree와 κ΄€λ ¨ν•˜μ—¬ λΈλ¦¬ κ³΅λΆ€ν•˜λΌκ³  ν•˜κΈ΄ ν–ˆλŠ”λ°, 아직은 νž˜λ“ κ°€ 보닀. 였늘 μž‘μ—…μ‹œκ°„μ΄ 5μ‹œ 30λΆ„λΆ€ν„° 9μ‹œ (저녁 30λΆ„κ°€λŸ‰), μ•½ 3μ‹œκ°„ κ°€λŸ‰μ΄ κ±Έλ Έλ˜κ²ƒμœΌλ‘œ κΈ°μ–΅λœλ‹€. νŒ€μœΌλ‘œ λͺ¨μΌ 수 μžˆλŠ” μ‹œκ°„μ΄ ν”ν•˜μ§€ μ•ŠμœΌλ€λ‘œ, 각 ν•„μš”ν•œ 뢀뢄에 λŒ€ν•œ ν•™μŠ΅κ³Ό 예제 μ½”λ“œλ“±μ˜ JDK에 λŒ€ν•œ SpikeSolution 에 λŒ€ν•΄μ„œλŠ” μ§‘μ—μ„œ ν•΄ 봐야 ν•  것이닀. μž‘μ—… μ‹œκ°„μ— ν•™μŠ΅μ‹œκ°„μ„ 같이 ν• μ•  ν•˜κΈ°μ—” μ‹œκ°„μ΄ 그리 λ„‰λ„‰μΉ˜ μ•Šλ‹€.

μ€‘λ°˜ μ–΄λŠμ •λ„ λŒ€λΆ€λΆ„μ˜ λͺ©ν‘œ μ½”λ“œκ°€ λ‚˜μ™€μ„œ λ‚˜λ¨Έμ§€λΌ μ±„μ›Œλ„£λŠ” 과정에 λŒ€ν•΄μ„œλŠ” Solo 둜 μ˜μ„œμ—κ²Œ μ‹œμΌ°λŠ”λ°, μ•„μ§κΉŒμ§„ ν”„λ‘œκ·Έλž˜λ°μ— μ΅μˆ™ν•˜μ§€ μ•Šμ€ λ“ μ‹Άλ‹€. 자꾸 ν•΄λ‹Ή 뢀뢄을 ν”Œλ°ν•˜λ €λŠ”λ°μ—μ„œ 같은 뢀뢄이 κ΅¬ν˜„λœ μ†ŒμŠ€μ½”λ“œκ°€ μžˆμŒμ—λ„ λΆˆκ΅¬ν•˜κ³  자꾸 책을 찾아보렀고 ν•œλ‹€. μžμ‹ κ°μ˜ μ°¨μ΄μ˜€μ„κΉŒ. ν•΄λ‹Ή 뢀뢄에 λŒ€ν•΄ κΌ­ μ½”λ“œλΌ μ™Έμ›Œμ„œ ν”Œλ°ν•˜λ € ν•˜μ§€ μ•Šμ•˜μœΌλ©΄ ν•œλ‹€. 'ν•˜λ €λŠ” 일' -> '각 언어별 κ΅¬ν˜„ 방법 μˆœμ„œ μž‘μ•„λ³΄κΈ°' -> 'κ΅¬ν˜„' 의 과정을 κ±°μΉ˜κ±°λ‚˜, ν•΄λ‹Ή 뢀뢄에 λŒ€ν•΄μ„œ μ‘μš©ν•  수 μžˆλŠ” 이전에 λ§Œλ“€μ–΄μ§„ μ½”λ“œ (μ±…μ˜ μ½”λ“œ 말고 ν˜„μž¬ 'μž‘μ„±λœ' μ½”λ“œ)λΌ λ“€μΆ°λ³΄κ³  μƒκ°ν•΄λ΄€μœΌλ©΄ ν•˜λŠ” 생각이 λ“ λ‹€.

κ·Έλž˜λ„ λ©”μ‹ μ €λ¦¬μŠ€νŠΈμ˜ μ‚¬μš©μž μΆ”κ°€/μ‚­μ œ 뢀뢄에 λŒ€ν•œ JTree λΆ€λΆ„ ν”Œλ°μ„ λΉ„μŠ·ν•œ 수μ€μœΌλ‘œ ν–ˆλ‹€λŠ” 것과 CVS 에 add & commit ν•˜λŠ” 전체 ν•œ 과정을 ν•΄λ³Έμ μ—μ„œ μ˜μ˜λΌ λ‘μ–΄λ³Έλ‹€.

  • PairProgrammingλΌ ν•˜λ©΄μ„œ SpikeSolution 으둜 ν•œλ²ˆ κ΅¬μ„±ν–ˆλ˜ μ†ŒμŠ€λΌ λ‹€μ‹œ λ§Œλ“€μ–΄λ³΄κ³ , μ—¬λŸ¬λ²ˆ 말둜 μ„λͺ…해보고, 더 μ‰¬μš΄ λ°©λ²•μœΌλ‘œ μ„λͺ…해보렀고 ν•˜λŠ” λ™μ•ˆ μ•Œκ³ μžˆλŠ”κ²ƒμ— λŒ€ν•΄ 생각이 빨리 μ •λ¦¬λœλ‹€.
  • λ‹€λ₯Έ MFCλ‚˜ wxPython λ“±μ˜ λ‹€λ₯Έ GUI Framework와 λ””μžμΈνŒ¨ν„΄ 에 μ΅μˆ™ν•˜λ©΄ μ΄λŸ¬ν•œ Swing 에 μ΅μˆ™ν•΄μ§€λŠ”λ°μ—λ„ 도움이 λ˜μ—ˆλ‹€. λŒ€λΆ€λΆ„μ˜ GUI 에선 CompositePattern 으둜 μœˆλ„μš°λ“€μ„ κ΅¬μ„±ν•˜κΈ°μ—. 그리고 Java APIλΌ κ³΅λΆ€ν•˜λŠ” λ™μ•ˆ IteratorPattern μ΄λ‚˜ DecoratorPattern, MVC 등에 λŒ€ν•΄μ„œλ„ μ΄ν•΄ν•˜κΈ° μš©μ΄ν–ˆλ‹€.
    DeleteMe) 참고둜 μžλ°”μ—μ„œλŠ” μˆœμˆ˜ν•œ ν˜•νƒœμ˜ MVC λͺ¨λΈμ„ μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ³€ν˜•λœ ν˜•νƒœμ˜ MVC λͺ¨λΈμ„ μ‚¬μš©ν•©λ‹ˆλ‹€ Introducing Swing Architecture. 이둠과 μ‹€μ œμ˜ μ°¨μ΄λž„κΉŒμš”. --μ΄μ„ μš°
    μˆœμˆ˜ν•œ ν˜•νƒœμ˜ MVC λͺ¨λΈμ„ ꡬ경해본적이 μ—†λŠ” κ΄€κ³„λ‘œ;; 저에겐 좔상적인 κ°œλ…μΌ 뿐인지라. ν•˜κΈ΄ JTree μ—μ„œ TreeModel λΆ€λΆ„κ³Ό TreeRender & UIManager λΆ€λΆ„, JTree 뢀뢄에 μ—°κ²°λœ λ¦¬μŠ€λ„ˆμ™€ κ΄€λ ¨ν• λ•Œ μ •ν™•νžˆ Control λΆ€λΆ„κ³Ό UI 뢀뢄이 λ”°λ‘œ 떨어지지 μ•Šκ³  경계가 μ€ λͺ¨ν˜Έν•˜κΈ΄ ν•˜λ‹€λŠ”. --μ„μ²œ

5.27 (μ›”)

μ˜μ„œκ°€ 일이 μžˆμ—ˆλ˜ κ΄€κ³„λ‘œ 창섭이와 Socket κ΄€λ ¨ 예제 ν”Œλ°μ„ μ €λ²ˆμ— μ΄μ–΄μ„œ ν–ˆλ‹€. 창섭이가 κ³΅λΆ€λΌ ν•΄μ™”λŠ”μ§€ μ΄λ²ˆμ—λŠ” 코딩을 μžκΈ°κ°€ μž‘λŠ”λ‹€. 였 μžμ‹ κ°;

κ°„λ‹¨ν•œ μ—μ½”μ„œλ²„ κ΄€λ ¨ ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λŠ” 것인데, μΌλΆ€λŸ¬ 할일을 μ£Όμ„μœΌλ‘œ μ“΄ λ’€, ν•œλ‹¨κ³„μ”© λ„˜μ–΄κ°€λŠ” 방법을 써 λ³΄μ•˜λ‹€. TDD κΉŒμ§€λŠ” μ•„λ‹ˆμ§€λ§Œ, μž‘μ€ λ‹¨κ³„λ‹¨κ³„λΌ λ§Œλ“€κ³  ν™•μΈν•΄λ³΄λŠ” 것이 더 효과적인 것 κ°™λ‹€.

μ‚¬λžŒλ“€ μž‘μ—… μ‹œκ°„μ„ λ§žμΆ”κΈ°κ°€ 쉽지 μ•Šμ€κ²Œ 아쉽닀. μ„œλ²„/ν΄λΌμ΄μ–ΈνŠΈ 전체 νšŒμ˜λΌ ν†΅ν•΄ 큰 그림듀을 닀같이 κ³΅μœ ν•΄μ•Ό 할텐데, μ‹œκ°„ν‘œλ“€μ΄ λ‹€λ₯΄λ‹ˆ, μ μ ˆν•˜κ²Œ λ¨Έλ¦¬λΌ μ“°κΈ΄ ν•΄μ•Όκ² λŠ”λ° μ€ νž˜λ“€κ΅°; --1002

μ΄νž›.. μ €λ²ˆ μ‹œκ°„μ— μ‘Έλ €μ„œ λ©ν•œ μƒνƒœμΈλ°λ‹€κ°€ μ˜ν˜ˆλ¬Έν™”μ œ 곡연μ€λΉ„ν•œλ‹€κ³  κ³΅λΆ€λΌ λ“±ν•œμ‹œν•œ μƒνƒœμ˜€λ‹€. μΉœκ΅¬λ“€κ³Ό 6μ‹œ μ˜ν™”λ³΄κΈ°λ‘œ ν–ˆλ˜ 것듀 μ·¨μ†Œν•¨μœΌλ‘œμ¨ λ”λ”μš± λ‚˜ μžμ‹ μ΄ 'λ„λŒ€μ²΄ μ–΄λ–€ 것이 μš°μ„ μΌκΉŒ... μ§€κΈˆ λ‚΄κ°€ 무엇을 ν•˜λŠ” 것이 κ°€μž₯ ν˜„λͺ…ν• κΉŒ..' 에 λŒ€ν•΄ κ³ λΌμ„ ν•˜λ©΄μ„œ λ°˜μ„±ν•˜κ³  μžˆμ—ˆλ‹€. 그런 λ‚˜μ—κ²Œ 화도 μ•ˆλ‚΄κ³  μ°¨λΆ„νžˆ μ„λͺ…ν•΄μ£ΌλŠ” ν˜•μ—κ²Œ λ„ˆλ¬΄ λΈμ•ˆν–ˆλ‹€. κ·Έλž˜μ„œ μ˜ν™”λ³΄λŠ”κ±Έ μ·¨μ†Œν–ˆλ‹€. λ‚΄κ°€ κ·Έ μžλ¦¬μ—μ„œ ν•  수 μžˆλŠ” μ΅œμ„ μ˜ λ°©μ•ˆμ΄μ—ˆκ³  ν›„νšŒν•˜μ§€ μ•ŠλŠ”λ‹€. 근데 λ‚¨λŠ”κ²Œ λ³„λ‘œ μ—†μ—ˆλ‹€. λ©ν•œ μƒνƒœμ—¬μ„œ..-_- μ˜€λŠ˜μ€ κ³΅λΆ€λΌ μ€ ν•œ μƒνƒœμ—¬μ„œκΈ° λ³΄λ‹€λŠ” κ°œλ…μ„ μ΄ν•΄ν•œ μƒνƒœμ—¬μ„œ μžμ‹ μ΄ μžˆμ—ˆλ‹€. κ°œλ…λ§Œ μ΄ν•΄ν•˜λ©΄ λ‚˜λ¨Έμ§€λŠ” 어렡지 μ•Šμ„ κ²ƒμ΄λΌλŠ” λ‚˜μ˜ λ³€ν•˜μ§€ μ•ŠλŠ” μƒκ°λ•Œλ¬Έμ—.. 이제 μžλ°” μˆ™μ œμ€ ν•˜κ³ λ‚˜μ„œ λ©”μ‹ μ € κΈ°λ³Έ 틀을 μ§œλ΄μ•Όκ² λ‹€. --μ°½μ„­

μ•„μ›….. μ˜€λŠ˜μ€ μ œμ£Όλ„λ‘ λŒ€ν•™κ΅λΌ κ°„ κ³ λ”©λ•Œ μ € μΉœν•œμΉœκ΅¬κ°€ μ„λ‘œ μ˜¬λΌμ™€μ„œ μΉœκ΅¬λ§Œλ‚˜λŠλΌκ³  μ–Όκ΅΄λ§Œ 보고 λ‚˜μ™”λ‹€.. κ·Έλ‚˜λ§ˆ μ‹€λ ₯도 X같은데 곡뢀도 μ•ˆν•˜λ‹ˆ.. 1λ…„λ°˜μ„ λ†€μ€κ²Œ 수슡이 μ•ˆλœλ‹€.. λ§ˆμŒκ°€μ§λΆ€ν„° μž‘μ•„μ•Ό 뭐가 될꺼같은데... 아직 μ†”μ§ν•œ μ‹¬μ •μœΌλ‘œ λ§ˆμŒκ°€μ§λ„ μ•ˆμž‘νžŒλ‹€.. λ‚˜λ‘ 1002ν˜•κ»˜ κ·Έμ € μ£„μ†‘μŠ€λŸ΄λΏμ΄λ‹€. ν˜•μ˜ κ°ˆκ΅Όμ„ 기쁨으둜 λ°›μ•„λ“€μ—¬μ„œ λ§ˆμŒμ„ λ‹€μ‹œ λ‹€μž‘μ•„μ•Όκ² λ‹€.. 결둠은 였늘 곡뢀 μŒ©κΉ λ‹€.. γ… .γ…  μ•„μ°Έ ν˜•μ΄ 보라고 ν•œκ±° λ³΄κ³ μžμ•Όκ² λ‹€.. --μ˜μ„œ


5.24 (금)

Client νŒ€μ€ 일단 메신저와 κ΄€λ ¨ν•œ μžμ‹ λ“€μ˜ λ””μžμΈμ„ μ„λͺ…ν•΄λ³΄λŠ” μ‹œκ°„μ„ κ°€μ‘Œλ‹€. μ‚¬λžŒλ“€μ€ ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜κΈ° 전에 μ–΄λ–€ μŠ€νƒ€μΌλ‘œ ꡬ상을 ν•˜κ²Œ 될까. Agile Modeling μ—μ„œ λ΄€λ˜κ°€. λͺ¨λΈ λ³΄λ‹€λŠ” λͺ¨λΈλ§μ΄ μ€‘μš”ν•˜λ‹€κ³  ν–ˆμ—ˆλ˜ 이야기. λͺ¨λΈλ§μ„ ν•΄ λ‚˜κ°€λ©΄μ„œ μžμ‹ μ˜ 생각을 μ •λ¦¬ν•˜κ³ , ν”„λ‘œκ·Έλž¨μ„ 이해해 λ‚˜κ°€λŠ” 것이 μ€‘μš”ν•˜κΈ°μ—.

1002의 경우 UML을 κ³΅λΆ€ν•œ κ΄€κ³„λ‘œ, μ€ λ” ꡬ쑰적으둜 μ„œμˆ  ν•  수 μžˆμ—ˆλ˜ 것 κ°™λ‹€. μ„λͺ…을 μœ„ν•΄ Conceptual Model 수μ€μ˜ Class Diagram κ³Ό Sequence, 그리고 거기에 Agile Modeling μ—μ„œ 잠깐 λ΄€μ—ˆλ˜ UI 에 λ”°λ₯Έ νŽ˜μ΄μ§€ μ „ν™˜ 관계에 λŒ€ν•œ 그림을 ν•˜λ‚˜ 더 κ·Έλ €μ„œ μ„λͺ…ν–ˆλ‹€. ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ— λŒ€ν•΄ μ—¬λŸ¬ κ°λ„μ—μ„œ λ°”λΌλ³΄λŠ” 것이 ν”„λ‘œκ·Έλž¨μ„ μ΄ν•΄ν•˜λŠ”λ° 더 νŽΈν–ˆλ˜ 것 κ°™λ‹€.

μ°½μ„­μ΄λŠ” ν”„λ‘œκ·Έλž¨μ˜ μž‘λ™ 원리에 λŒ€ν•œ μžμ„Έν•œ μ‹œλ‚˜λ¦¬μ˜€λΌ μ¨μ„œ μ„λͺ…을 ν–ˆλ‹€. μ˜μ„œκ°€ 'μ•„. λ¨Έλ¦Ώμ†μœΌλ‘œλŠ” λŒ€κ°• ꡬ상을 ν–ˆλŠ”λ°, 잘 정리가 μ•ˆλΌμš”' 라고 ν–ˆλ‹€. 머리둜만 생각해본 것과 κΈ€μ΄λ‚˜ λ„ν‘œλ‘œ ν•œλ²ˆ μ •λ¦¬λΌ ν•΄λ³Έ κ²ƒμ˜ 차이가 ν¬λ‹€λŠ” 것을 λŠκΌˆκ² μ§€.

1002λŠ” CVS μ‚¬μš©λ°©λ²•μ— λŒ€ν•œ μ˜ˆλΌ λ³΄μ΄κ³  μ„λͺ…을 ν–ˆλ‹€. wincvs μœˆλ„μš° 버전에 μ΅μˆ™ν•˜μ§€ μ•Šμ•˜λ˜ κ΄€κ³„λ‘œ command μž…λ ₯방법을 κ°€λ₯΄μ³μ€¬λ‹€. 그리고 μ˜μ„œμ™€λŠ” 주둜 Swingμͺ½μ„, μ°½μ„­κ³ΌλŠ” Java Socket Class 에 μ΅μˆ™ν•΄μ§€κΈ° μœ„ν•΄ Socket κ΄€λ ¨ SpikeSolution 을 ν–ˆλ‹€.

ν›„λ°°λ“€κ³Όμ˜ PairProgramming 이닀. μ—¬νƒœκ»μ˜ κ²½ν—˜μ— μ˜ν•˜λ©΄ μ–Έμ œλ‚˜ μ• λ§€ν•œ 것이 Junior : Expert λ¬Έμ œμ΄λ‹€. μ΄λ²ˆμ—λŠ” μ–΄μ°¨ν”Ό SpikeSolution 이λ€λ‘œ, λ‚΄κ°€ μ•„λŠ” ν•œλ„μ—μ„œ μ•½κ°„μ˜ μ˜ˆλΌ λ³΄μ΄κ³ , ν›„λ°°λ“€λ‘œ ν•˜μ—¬κΈˆ 해보도둝 ν•˜λŠ” μ‹μœΌλ‘œ ν–ˆλŠ”λ°, κ·Έ 덕에 λ‘˜μ΄ Pair λΌ ν•΄λ³΄λŠ” κΈ°νšŒκ°€ μ—†μ—ˆλ˜ 것 κ°™λ‹€. 쀑간에 λ‚΄κ°€ ν™”μž₯μ‹€ κ°”λ‹€μ˜¬λ•Œ μž μ‹œ λ‘˜μ΄μ„œ Pair λΌ ν•˜λŠ” λͺ¨μŠ΅μ„ λ΄€μ—ˆλŠ”λ°, 이 선은 λ‚΄κ°€ μ μ ˆν•˜κ²Œ μ§€μΌœλ‚˜κ°€μ•Όκ² λ‹€. λ„ˆλ¬΄ 멀리도, λ„ˆλ¬΄ κ°€κΉŒμ΄λ„ μ•„λ‹ˆλ„λ‘. --1002

λŒ€ν•™κ΅λ“€μ–΄μ™€μ„œ κ·Έμ •λ„λ‘œ μ—΄μ‹¬νžˆ(?)κ³΅λΆ€ν•œμ μ€ 별루 μ—†μ—ˆλ˜κ±°κ°™λ‹€.. κ·Έλ‚  μ΄μ–˜κΈ°λΌ λ“€μ€ 1002ν˜•μ€ λ†€λž€ν‘œμ •μ΄μ—ˆμ§€λ§Œ 사싀 κ·Έλž¬λ‹€.. κ·ΈλŸ¬λ‹ˆκΉ 학점이 κ·Έλ ‡κ²Œ λ‚˜μ™”κ² μ§€.. -_-;; μ•”νŠΌ 일주일전에 봀던 μžλ°” κΈ°λ³Έκ°œλ…μ„ λ°”νƒ•μœΌλ‘œ 남듀 λ‹€ ν•΄λ³Έ μŠ€μœ™ κΈ°λ³Έν‹€μ΄λ‚˜ 메뉴같은걸 μž‘μ„±ν•΄λ΄€λ‹€.. μ•„μ°Έ 그전에 CVSμ‚¬μš©λ²•μ„ 배우고, Architecture와 Design에 λŒ€ν•΄μ„œλ„ λ“€μ—ˆλ‹€.. μ‹ κΈ°ν•˜λ‹€.. 무슨 λ„λ©΄κ°™μ•˜λ‹€.. μ΄μ œμ„œμ•Ό λŠλ‚€κ±°μ§€λ§Œ ν”„λ‘œκ·Έλž¨μ— 코딩이 μ°¨μ§€ν•˜λŠ”λΉ„μ€‘μ€ 1/2도 μ•ˆλ˜λŠ”κ΅¬λ‚˜λΌλŠ”κ±Έ λŠκΌˆλ‹€.. (μ΄μ œμ„œμ•Ό? --;;) 여지껏 λ†€μ€μ‹œκ°„μ΄ λ„ˆλ¬΄ μ•„κΉŒμ› λ‹€.. -_-;; --μ˜μ„œ


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:06
Processing time 0.0831 sec