뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

17
사사사 사사 사사사 사사 사 Seong-ho Cho Gnome Korea Organizer 사사사사사사 사사사사 Nov 23 2013

description

This slide introduces about Backdrum fairy IRC Bot based on the PircBotX Framework written in Java.

Transcript of 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

Page 1: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

사용자 요구 반영의 나쁜 예

Seong-ho ChoGnome Korea Organizer

뒷북요정으로 알아보는

Nov 23 2013

Page 2: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

뒷북요정 ?• 뒷북요정 [email protected]

• CJK friendly modified PircBotX framework

• 그놈 한국 공식 IRC 봇

• 팬픽 없음 !

• http://github.com/mmx900/ManalithBot

• 개발 / 실험실 : #[email protected]

Page 3: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

왜 만들었나 ? (1)• 대화 중에 각자가 필요한 정보를 웹에서 찾기 귀찮아서

• 이전에 사용하던 IRC 봇에 잡다한 기능이 많이 들어감

• 공개된 기존의 IRC 봇 소스 코드에는 정작 필요한 기능에 대한 소스 코드가 공개되지 않음

• 구현한 단위 기능의 ( 거의 모든 ) 소스 코드를 공개하기로 함 ( 저작권 문제 최소화 전제 )

• 무엇보다 “ 그냥 재미로” , 단 다수에게 불편을 끼치지 않게 하는 것을 전제로 함

Page 4: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

왜 만들었나 ? (2)

Page 5: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

기능 목록

Page 6: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

개발 기반

• Maven -> Gradle• SpringFramework• Apache-commons• Selemium• Jsoup• Jackson• 그 외 잡다 …

Page 7: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

참여 인원

• Setzer(mmx900) – Maintainer

• DarkCircle

• Changwoo

• egogun ( to come )

Page 8: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

구성

MainMain

ManalithBotManalithBot

CommandParser

CommandParser

ApplicationContext (XML)

ApplicationContext (XML)

Plugins ……Plugins ……

EventLoggerEventLogger

PluginManager

PluginManager

Page 9: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

기능 반영하기

• http://stackoverflow.com/questions/84556/whats-your-favorite-programmer-cartoon

Page 10: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

누구나 뻔히 알고 있는 설계 3단계

• UI/UX Design

• Functional Design

• Algorithm Design

• 은 ( 는 ) 생략함

Page 11: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

WTH Program is?! – (1)

Page 12: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

WTH Program is? – (2)

Page 13: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

WTH Program is? – (3)

Page 14: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

What does curex for?

• curex : CURrency EXchange rate

• 환율 표시 , 환율 계산

• 그런데 ?

Page 15: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

Source Data Table

자료 제공 : 네이버 , 외환은행 . It will be changed to openexchange api due to license issue.

Page 16: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

기능 정리

• 데이터 테이블에 명시된 데이터를 모두 활용하여 금융권에서 사용하는 모든 항목에 대한 계산기능 지원을 의도함 .

• 대략 2 년 여간 사용추세를 지켜본 결과 , “ 매매기준율” 만 사용해도 됨 .

Page 17: 뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예

결론 및 향후 과제

• 수천 줄에 달하는 “ 오버킬” 완성 \-.-/

• 필요 없는 코드 제거 및 기능 단순화

• 기존 모듈 소스 코드 총 점검