24
node.js 를 를를를 를를를 를를를 를를를 를를 를를 를 를를 를를 (1/3) 前 前 前: OKJSP MySQL to CUBRID 前前 前 前 : 前前前前前前 DA,AA,TA,EA 前前前前 前: Glue1 Communications 前前 前: CUBRID 前前前 前 前前前前 前 : GliDer Wiki 前 Social Q&A 前前前 前前前 前 : OKJSP DB 前前前 前: Open Your Dream 前前 前 前 : 前前前 前前 前 前前 前 前 前: OKJSP 前前前 를 를를를 OKJSP 를를를를를를 를를 를를를 를를 를를 를 를를를를를 를를를를 를를를를 를 를를 를 를를를를 를를를를 를를를를 를를를 를를를를 를를를를 를를를 . 를 를 를를를를 를를를를 를를 를를를를를 를를를를를 를 , 를를를를 를를를 를를를를 ( 를를를를를 ) 를를를를 를를 를를를를 를를 를를를를 Creative Commons Licence 를 를를 . 前前前 前前 (Attribution; by) 를를를를 를를를 를를 를를를를를 를 를를를를 를를 . 前前前 (Noncommercial; nc) 를를를를 를를 를를를를 를를를 를 를를 .

Node.js 를 이용한 문서화 실전 사례 20130618

Embed Size (px)

Citation preview

Page 1: Node.js 를 이용한 문서화 실전 사례 20130618

node.js 를 활용한 개발과 문서화 자동화 방법 연구 실 사례 발표 (1/3)

前 前 前 : OKJSP MySQL to CUBRID 팀원前 前 : 비투엔컨설팅 DA,AA,TA,EA 아키텍트

前 : Glue1 Communications 대표

現 : CUBRID 컨설팅 팀 컨설턴트現 : GliDer Wiki 팀 Social Q&A 서비스 기획자

現 : OKJSP DB 운영자

後 : Open Your Dream 대표後 後 : 행복한 백수 겸 한량

後 後 後 : OKJSP 운영진

본 문서는 OKJSP 소모임용으로 작성 되었음발표 사례 및 소스코드의 저작권은 프로젝트중 발생 된 부분이며 저작권은 전직장인 비투엔 컨설팅과고객사에 귀속됨 . 그 중 일부분은 프로젝트 외에 개인적으로 작성하였음

단 , 소스코드 이외의 아이디어 ( 저작권없음 ) 발표자료 등은본인에게 귀속 되었으나 Creative Commons Licence 에 따름 .

저작자 표시 (Attribution; by) 저작물을 사용할 때에 원저작자를 꼭 표기해야 한다 .

비영리 (Noncommercial; nc) 저작물을 영리 목적으로 사용할 수 없다 .

Page 2: Node.js 를 이용한 문서화 실전 사례 20130618

웃긴다 메추리

Page 3: Node.js 를 이용한 문서화 실전 사례 20130618

당신의 직업은 ?

• Software Engineer• Software Architect• Software Modeler• Software Programmer• Software Developer• Coder

• And ?http://blog.utest.com/whats-the-difference-between-testers-and-developers/2013/03/

Page 4: Node.js 를 이용한 문서화 실전 사례 20130618

배경 ? 결과 ?

S/W 를 만드는 Maker 로 문서를 만들다 . 죽을 뻔 한적도 있고 문서가 중요하다고 하지만

문서 보다 중요한 게 뭔지 깨닫고 그에 대한 실천 방안을 연구 중임

문서 보다 중요한 건 ?만들면 끝나는 건지 ? 누군가의 이야기

S/W Maker 는 임산부와 같습니다 . 죽을 것 같이 애 낳고 죽을 것 같이 키워야 하겠습니까 ?만들었음 잘 크게 키워 줘야죠 .

물도 주고 밥도 주고 이용도 하고…

Page 5: Node.js 를 이용한 문서화 실전 사례 20130618

제일 중요한 건 ?

• 바로 태도 (Attitude) 와 자세 ( Mind)

• Why?• Coder 는 Code 로 말하고 Code 로 대화

하고 Code 를 남긴다 .

• 마지막으로 Code 로 먹고 산다 .

Page 6: Node.js 를 이용한 문서화 실전 사례 20130618

Code 와 S/W 공학• 방법론의 분류

SW공학

SW공학개념

개요 SW위기

SW프로세스모델

폭포수모델프로토타이핑나선형모델점증적모델4GT 모델

SW개발방법론

객체지향

SW재사용

구조적방법론정보공학방법론객체지향방법론CBD방법론

개념

UML

추상화캡슐화상속성다형성정보은닉ViewDiagramRUP

componentCBD재공학역공학

SW프로젝트

프로젝트관리

계획수립

SW프로젝트추정

프로젝트정의 , ,유일성 한시적 점진적상세화

통합관리범위관리일정관리원가관리품질관리인력관리의사소통관리위험관리구매외주관리형상관리

프로젝트계획서제안프로세스

양적추정방식

양과질을고려한방식

변경관리

제안서

PPD,PPE,OCC

Initiation,SP,SD,SV,SCC

AD,AS,ADE,SD,SC

RP,CE,CB,CC

QP,QA,QC

OP,SA,TD

CP,ID,PR,AC

RMP,RI,QRA,QRA,RRP,RC

PP,SP,S,SS,CA,CC

LOCCOCOMO

FP

SW개발

분석

설계

개발

테스트

유지보수

추상화

단계적정제Devide&Conquer

델파이기법

데이터모델링

기능모델링

행위모델링

ERD

DFDDD

제어모델링이벤트모델링

모듈화

FAN- IN/OUT

결합도응집도

CASE Tool단계별목적별

Black box,White boxStub,Driver

SLASLM

ITILOutsourcing

SW품질

제품품질

프로세스품질

ISO9126ISO9000

ISO12207

CMM

CMMiSW- CMMSE- CMMP- CMM

IPD- CMMSA- CMM

SPICE

FTR

ReviewWaikthrough

Inspection신뢰도

감리감리보고서

SW이슈SW산업육성방안SI사업평가제

Page 7: Node.js 를 이용한 문서화 실전 사례 20130618

그렇다면 Code 와 문서는 ?

• 가능한 최대한 문서를 적게 만드는 게 좋다 .

하지만 , 방법론에서 제시하는 문서는 복잡한 프로세스와 산출물 , 샘플 , 가이드 , 체크리스트 등이 존재한다 . 그리고 품질 관리가 쪼아 댄고 감리가 지랄한다 .• Why? • Coding 하기 어렵게 계속 쓰잘데기 없는 걸

만들어야 하는 거지 ?

Page 8: Node.js 를 이용한 문서화 실전 사례 20130618

1. 소프트웨어 발전과정

2. 소프트웨어 위기 1) 하드웨어 기술의 급속한 발전 , 범용컴퓨터의 광범위한 보급 , S/W 엔지니어 위기 - 하드웨어 기술은 소프트웨어 개발 능력의 발전속도보다 휠씬 빠름 - 새로운 S/W 를 요구하는 시장의 수요를 감당할 수 없음 - 기존 정보기술로 개발된 S/W 의 유지보수가 어려워짐 - 무어의 법칙 :  마이크로칩에 저장할 수 있는 데이터량 / 속도가 매 18 개월마다 두 배씩 증가 한다는 법칙 깨질 정도로 빨라지고 있음 2) S/W 분야의 인건비 상승 , 우수한 S/W 의 부족 , S/W 생산성에 대한 위기의식 3) S/W 위기 도래 - 개발 예산초과 , 개발일정 지연 , 생산성 저하 , 품질 저하

1 세대 2 세대 3 세대 4 세대- 일괄처리- 주문형 S/W

- 멀티유저- 멀티프로그램- 실시간처리-DB 사용- 제품화 S/W

- 분산시스템- 내장된 “지능”- 저가의 H/W

- 고객중심- 마이크로프로세서 출현

- 강력한 DeskTop

- 객체지향기술- 전문가 시스템- 인공지능망- 병렬컴퓨팅-N/W 컴퓨터

다시 소프트웨어 공학으로…

Page 9: Node.js 를 이용한 문서화 실전 사례 20130618

4) S/W 위기의 원인 - S/W 특성에 대한 이해의 부족 - S/W 프로그래밍에만 치중하고 관리의 부재

무형 (intangible) : 사실은 집 짖는 일과 동일하나 형체가 없음 진화 (evolution) : 유기체와 같이 변하므로 효과적인 관리필요 비소멸성 : bathtub curve, 교환 불가 (patch pgm 으로 해결 ) 제조가 아닌 개발 (developed / not manufactured)

Failure Curve for S/W

Failu

re rate

Time

Change

Ideal curve

소프트웨어의 특성

. 소프트웨어공학 특성

Page 10: Node.js 를 이용한 문서화 실전 사례 20130618

Coder 는 잉여력을 이용하여 공부해야 하는가 ?

• 돈 많이 벌려면 그래야지• 그래야 소고기 사먹겠지• 소고기 사먹으면 또 공부 해야 겠지• 그래야 소고기 사먹겠지• 안 하면 닭고기 먹어야지• 그래도 안 하면 치킨집 열어야지 .

Page 11: Node.js 를 이용한 문서화 실전 사례 20130618

S/W 미래는 ?

• 생활 밀착형 지식 플랫폼으로 확장• 1 차 산업 혁명 자본을 시작으로 자생에서 협력으로 발전 분업으로 시작• 2 차 산업 혁명 증기기관 발명• 3 차 산업 혁명• 3D Printer 와 S/W 발명Makers

Page 12: Node.js 를 이용한 문서화 실전 사례 20130618

다음은 ? Next Plan

• Node.js 기술에 대하여• 개발 (coding) 과 문서화에 대한 생각의

변화• 개발 (coding) 방법의 변화 (Change) Model 기반 패턴 주도 개발법

Page 13: Node.js 를 이용한 문서화 실전 사례 20130618

오늘의 주제는• 기술 S/W 기술이 변화 하고 있다 .• 변화 생각이 변하면 행동이 변하고 사람이 변한다 .• 사람 우리는 이 세상에서 가장 창의적인 사람들이고 Cre-ative 를 위해선 놀아야 한다 . 일 하지 말고 놀자 . 놀면 된다 .

Page 14: Node.js 를 이용한 문서화 실전 사례 20130618

가합인족• 자강불식 후덕재물• http://hellodd.com/news/article.html?no=33270

• 중국 최고의 명문 대는 ?

Page 15: Node.js 를 이용한 문서화 실전 사례 20130618

시연• https://www.facebook.com/quark.woo• http://nodejs.org/• https://github.com/yui• http://yui.github.io/yuidoc/

Page 16: Node.js 를 이용한 문서화 실전 사례 20130618

1. Run

Page 17: Node.js 를 이용한 문서화 실전 사례 20130618

2. Process

Page 18: Node.js 를 이용한 문서화 실전 사례 20130618

3. Result( 프로그램 목록 )

Page 19: Node.js 를 이용한 문서화 실전 사례 20130618

4. API Documentation

• SQL, PL/SQL .xml (ibatis or mybatis)• Javadoc• Miplatform or Xplatform (X-internet)

Page 20: Node.js 를 이용한 문서화 실전 사례 20130618

5. API Documentaion(1/2)

Page 21: Node.js 를 이용한 문서화 실전 사례 20130618

5. API Documentaion(2/2)

Page 22: Node.js 를 이용한 문서화 실전 사례 20130618

6. 주석 달기

• http://yui.github.io/yuidoc/syntax/index.html

Page 23: Node.js 를 이용한 문서화 실전 사례 20130618

별첨 1. Node js 설치

Page 24: Node.js 를 이용한 문서화 실전 사례 20130618

별첨 2. Yuidoc 설치• Installation and

Usage• Download and install 

Node.js• Run npm -g install

yuidocjs.• Run yuidoc . at the

top of your JS source tree.

YUI Doc 사용법: http://yui.github.io/yuidoc/args/index.html