68
기업용 오픈소스 를 활용한 프로젝트 관리와 구현기술 http://www.gliderwiki.org https://github.com/gliderwiki/glider [email protected] http://www.facebook.com/groups/117097138465342/

Jco발표 글라이더위키-이남희 0222

  • Upload
    -

  • View
    6.778

  • Download
    2

Embed Size (px)

Citation preview

기업용 오픈소스 를 활용한

프로젝트 관리와 구현기술

http://www.gliderwiki.org

https://github.com/gliderwiki/glider

[email protected]

http://www.facebook.com/groups/117097138465342/

000. 목차

001. 글라이더 위키가 뭐에요?

002. 오픈 소스에 대한 고민, 그 결과 !!

003. 기술 구현 - 난관에 봉착한 문제들

004. 글라이더 위키의 대상 사용자

005. 실젂! 글라이더 위키를 활용한 팀 프로젝트 관리 하기

006. To Do List - 오픈소스 참여하기

+ 쉬운 설치 - 브라우저에서 Config 파일 생성 (On Browser Install)

+ 실시간 알람 - Node.js와 Redis를 활용한 서버 푸시

+ 원 클릭 패치 - RestTemplate 과 HttpClient를 활용한 서버 업데이트

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

복 업무는 자동화 하고 남는 시간에 기술

공부에 투자하고 싶은 게.으.른.개.발.자

9년차 자바 개발자

떻게 편하게 개발할까?

떻게 하면 오픈소스로 먹고 살 수 있을까? 를

고민하는 평.범.한. 자.바.개.발.자

2012 공개 소프트웨어 개발자 대회 은상 - GLiDER Wiki™

현재 프리랜서로 XX 전자 오픈 서비스 플랫폼 프로젝트에서 Application Architect로 근무중

반협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ |

Chapter. 1 글라이더 위키가 뭐예요?

001. 글라이더 위키가 뭐에요?

• HTML 문서를 빠르게 생성(마크업)

• 컨텎츠 생성, 공유, 참여

• 쉬운 설치, 쉬운 사용법, 쉬운 확장

• 사내 조직도, 사용자 그룹 별 권한 부여

• 문서 버젂 히스토리, 검색

• 사내 업무용 위키

• 지식 관리. 공유, 협업

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

뭐죠?

Wiki Markup 기반으로HTML 문서를 빠르게 생성, 공유하는지식 관리 협업 툴

001. 글라이더 위키가 뭐에요?

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

한마디로!

EasySimple Useful

001. 기능 스택

웹 설치 지원 원 클릭 패치 원 클릭 확장

조직, 사용자일괄등록

실시간 알람 문서 리비젂

마크업 에디터 PDF Export 템플릿

코드 하일라이터 차트 인쇄

프리젞테이션모드

다양한 문서 포맷지원

캘릮더 공유

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ |

Chapter. 2 오픈소스에 대한 고민, 그 결과

다년간의 스터디...

컨텐츠를 정리 하기 좋은 툴 뭐 없나?

블로그? 게시판? 카페? 홈피?

002. 오픈 소스에 대한 고민, 그 결과!

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

002. 오픈 소스에 대한 고민, 그 결과!

써보니 위키가 인데...甲왜 우리나라에서 잘 쓰이질 않지?

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

내 글을 왜 남이 수정하나?

수직적 조직 문화...

Learning Curve...

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

002. 오픈 소스에 대한 고민, 그 결과!

조직, 그룹 생성 - 권한관리쉬운 설치, 쉬운 확장, 쉬운 사용회사에서 쓸 수 있는 문서 정리도구

그래 결심했어!기업용 위키를 만들어 보자.

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

002. 오픈 소스에 대한 고민, 그 결과!

우리의 컨셉!

단순하고배우기 쉽고

유용한...

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ |

Chapter. 3 기술구현 – 난관에 봉착한 문제들

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 기술 구현 - 난관에 봉착한 문제들

인스톨쉴드 처럼손 쉬운 설치 지원

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 기술 구현 - 난관에 봉착한 문제들

좋아요! 를 구현하고 싶어요.

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 기술 구현 - 난관에 봉착한 문제들

버그 패치, 확장 기능의 자동화 지원?

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

요약하면...

003. 기술 구현 - 난관에 봉착한 문제들

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

1. 쉽게 설치 할 수 있는 방법을 적용해보자.

2. 패치, 확장 기능을 서버에서 원 클릭으로...

3. 서버 푸시, 실시간 알람 기능이 필요하다

One

Click

Easy

Install

Push &

Alarm

003. 기술스택Presentation Layer Business Component

Transaction Cache Custom Lib Logs SecurityHTML CSS

Node.JS Redis Java Virtual Machine *JDK 1.6) Tomcat 7.0JQuery DWR

Ajax Open Source Library JSTLJava EE Framewrok Spring 3.0, MyBatis 3.0

Database

Linux Unix WindowsMySQL HSQL

Module

문서검색 문서버전관리 PDF Viewer 조직관리웹표준에디터 Markup & 파서

권한관리 코드하이라이트 확장기능패치 실시간알림웹인스톨러 문서탬플릿

Development Environment

Test Case ER Master 팀협업도구Eclipse Google Code SVN & Github

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 쉬운 설치 - 브라우저에서 Config 파일 생성

config.xml

jdbc.properties

ftp전송

일반적인 배포 방식

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

Console

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 쉬운 설치 - 브라우저에서 Config 파일 생성

config.xml

jdbc.properties

글라이더 위키의 배포 방식

ftp전송

http://client-url/admin/install

JDBC 연동 정보

테이블 스키마

기본 데이터

메일젂송 정보

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 다시 봉착한 문제

!!! Spring 은 서버 기동시 관련 설정 Bean들이 로드되면서 에러가 발생한다.

에러 메세지는...Invalid bean definition with name 'datasource' defined in ServletContext...

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 다시 봉착한 문제

!!! 임의의 정보로 JDBC 연결을 시도할 경우에도 Exception 이 발생한다.

org.gliderwiki.framework.exception.GliderwikiException: Could not open JDBC Connection for transaction; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory(Could not create connection to database server. Attempted reconnect 3 times. Giving up.)

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 해결 방안

• HSQL DB를 활용한 Mock Connection 제공• 최초 기동시 jdbc.properties에 hsql 의 기본 Connection 정보를 연결

applicationContext-jdbc.xml

jdbc.properties 기본 설정

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 해결 방안

Creating shared instance of singleton bean 'hsqlDataSource'

Creating instance of bean 'hsqlDataSource'

Creating embedded database 'hsqlDataSource'

Creating new JDBC Driver Connection to [jdbc:hsqldb:mem:hsqlDataSource]

Executing SQL script from ServletContext resource [/WEB-INF/databases/hsql/init/schema.sql]

Executing SQL script from ServletContext resource [/WEB-INF/databases/hsql/init/test-

data.sql]

......

Done executing SQL script from ServletContext resource [/WEB-INF/databases/hsql/init/test-

data.sql] in 31 ms.

서버 기동시의 콘솔 메세지

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 해결 방안

application

application

applicationJDBC MockConnection

HSQL - jdbc.properties

※ HSQL은 JAVA 로 만들어짂 DBMS 엔짂으로굉장히 적은 용량으로 표준 SQL 구문을 지원하며메모리 및 디스크 기반의 테이블을 제공한다.

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

DB(HSQL)

003. 해결 방안

application

application

application

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

• Mail Config• SMTP 전송

• XML Config• Properties• Table 생성

• Data Insert• Shell CommandMySQL - jdbc.propertiesHSQL - jdbc.properties

Pool-EnabledDataSource DB

(MySQL)

003. 샘플 화면

http://14.63.225.165:9909/admin/install

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 소스 - JDBC Connection Test

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

입력된 JDBC 정보로 MySQL의커넥션을 테스트 한다.

003. 소스 - Properties 정보 생성

서버경로 : /WEB-INF/spring/로 Properties 파일 생성

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. SQL 실행

#지정된 경로의 .SQL 파일을읽어와 특정 패턴일 때 구문을실행한다.

# Drop table if exists … 구문으로 테이블을 삭제 한다.

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 테이블 스키마 & 기초 데이터 Setup

table_script_euc-kr.sql

한글 깨짐 여부를 판단하기 위하여 3가지 타입으로 테이블을 생성utf8_unicode_ci 나 utf8_general_ci는 정렬 혹은 성능상 선택하는옵션이지만 한글처리에 영향을 준다.

table_script_utf-8.sql

table_script_utf8-general-ci.sql

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

DB(MySQL)

table_script_utf8-unicode-ci.sql

003. 테이블 스키마 & 기초 데이터 Setup

CREATE TABLE ATTACHMENT (

WE_BBS_IDX INT(9) NOT NULL COMMENT '게시판순번 : 게시판순번',

WE_FILE_IDX INT(10) COMMENT '첨부파일순번',

USE_YN CHAR(1) character set utf8 collate utf8_general_ci COMMENT '한글'

) COMMENT = '첨부파일' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE TABLE ATTACHMENT (

WE_BBS_IDX INT(9) NOT NULL COMMENT '게시판순번 : 게시판순번',

WE_FILE_IDX INT(10) COMMENT '첨부파일순번',

USE_YN CHAR(1) COMMENT '사용여부'

) COMMENT = '첨부파일' DEFAULT CHARACTER SET utf8;

CREATE TABLE ATTACHMENT (

WE_BBS_IDX INT(9) NOT NULL COMMENT '게시판순번 : 게시판순번',

WE_FILE_IDX INT(10) COMMENT '첨부파일순번',

USE_YN CHAR(1) COMMENT '사용여부'

) COMMENT = '첨부파일' DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci;

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. Shell Command

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. Shell Command

ShellCommands.execute("chmod -R 755 " + svcPath);

String rtnCode = ShellCommands.execute("uname");

String rtnCode = ShellCommands.execute("cat

/proc/version");

String rtnCode = ShellCommands.execute("./copy.sh");

쉘 명령어 실행

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 실시간 알람 - Node.js 와 Redis를 이용한 푸시

서버 푸시란 서버측에서 클라이언트측으로 데이터를 젂송해주는 통싞 방식

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

Polling 일정 간격으로 서버에 Request를 보내 이벤트를 받는다. 서버 리소스, 네트워크의 낭비가 심하다

Long

Polling

클라이언트가 서버 접속 시 연결 상태를 유지하고 있다가 이벤트가발생하면 젂송한다클라이언트가 메시지를 받으면 다시 서버에 접속하여 연결 대기상태를 반복한다

Streaming클라이언트와 서버의 접속을 계속 유지한 채 서버에서 이벤트가발생할 때마다 메시지를 HTTP Chunked 방식으로 보낸다. (Ajax 구현시 IE에서 동작 안함)

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 실시간 알람 - Node.js 와 Redis를 이용한 푸시

WAS Node.js

NotificationController

NotificationService

NotificationComponent

http-connect

(Channel, Message)

※ http://www.gridshore.nl/2011/07/28/combining-java-and-node-js-through-redis-pubsub-and-a-json-remote-interface/ (gridshore 블로

그)

※ http://www.mimul.com/pebble/default/2012/06/14/1339620867407.html(하호짂님 블로그)협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

DB

Socket.IOExpress

Push PubRequest Sub

Rest

Biz

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

var socketCliConf = {

'connect timeout' : 3000,

'reconnect': false,

'sync disconnect on unload' : false

};

003. 개발 소스 - notification.js

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 개발 소스 - applicationContext-redis.xml

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 개발 소스 - NotificationComponent.java

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 개발 소스 - Remind... Redis Pub/Sub

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

byte[] message = ...;

byte[] channel = ...;

redisConnection.publish(message, channel);

RedisConnection

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

@Resource(name = "redisTemplate")

private RedisTemplate<String, String> redisTemplate;

...

redisTemplate.convertAndSend("Hello", "user channel");

RedisTemplate

003. 개발 소스 - Remind... Redis Pub/Sub

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

<script src="/socket.io/socket.io.js"></script>

<script>

var url = "http://www.gliderwiki.org:3000";

var socket = io.connect(url+"?channel="+사용자 채

널, socketConfig);

socket.on(사용자 채널, function(data) {

console.log(data.user_data);

});

</script>

클라이언트 - 브라우저

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. Redis & Node.js

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

• Node.js는 서버 사이드 자바스크립트이며 Google의

자바스크립트 엔짂인 V8 위에서 동작하며 이벤트

기반 non-blocking I/O를 지원한다.

(http://nodejs.org)

• Redis(Remote Dictionary Server)는 데이터형

자료구조 서버로 Memcached 시스템보다 빠르고

풍부한 데이터 형태와 자료 구조를 메모리에 저장할

수 있는 캐싱 솔루션.

젂통적인 데이터 저장 방식도 지원하고 노드간의

데이터 복제도 가능하다. (http://redis.io)

정리 좀…

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 원클릭 패치 - RestTemplate 서버 업데이트

Rest(Representational State Transfer) 스타일 아키텍처를 통하여자원에 대한 요청 및 응답을 젂송, 처리.Spring 프레임워크는 3.0 릯리즈 부터 Rest 지원

HTTP

Method(GET,POST,PUT,DELETE)

Content-Type : text/xml...

Accept : application/xml...

JSON, XML…

Status Code(200, 404...)

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

Response

URL Request

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. Server to Server Patch Update

GLiDER Wiki가 설치된

클라이언트서버

(http://domain.com)

파일관리 서버

http://gliderwiki.org

admin

요건정의 : 사용자가 패치 파일을 다운로드 하여 FTP 에 개별로 반영하는게 아니라서버측 프로그램에서 자동으로 패치 업데이트를 하도록 하자!!

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

Response

Request

HttpResponse(file stream)

Version, 인증정보

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

간단한 흐름

003. Server to Server Patch Update

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

• 클라이언트측 서버의 패치 정보 젂송

• 보안 처리(사용자 인증키)

• 글라이더 파일 서버에서 패치 정보 젂송

• 활성화 된 다운로드 클릭시 RestTemplate ->

HttpEntity를 이용하여 지정된 경로로 File Write

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. RestTemplate 간단 Demo 소스

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. RestTemplate 간단 Demo 결과

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. RestTemplate 과 HttpClient를 이용한 패치

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

HTTP DELETE public void delete(String url, Object... urlVariables) throws RestClientException;

public void delete(String url, Map<String, ?> urlVariables) throws RestClientException;

HTTP GET public <T> T getForObject(String url, Class<T> responseType, Object... urlVars) throws

RestClientException;

public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Object... urlVariables);

HTTP POST public <T> T postForObject(String url, Object request, Class<T> responseType, Object... uriVariables);

public <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType, Object...

uriVars);

HTTP PUTpublic void put(String url, Object request, Object... urlVariables) throws ...;public void put(String url, Object

request, Map<String, ?> urlVariables) throws ...;

Rest-context.xml <bean id="restTemplate" class="org.springframework.web.client.RestTemplate" />

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. RestTemplate 과 HttpClient를 이용한 패치

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. RestTemplate 과 HttpClient를 이용한 패치

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

경로 : “/resource/v101/

FileStream , 암호화 필요

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

003. 브라우저 다운로드 형태

View 화면에서 버튺 클릭시...

var funcFileDownload = function(){

$('#pForm').attr('method', 'post');

$('#pForm').attr('action', ‘http://url/patchList/2');

$('#pForm').submit();

}

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ |

Chapter. 4 글라이더 위키의 대상 사용자

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

004. 글라이더 위키의 대상 사용자

Google에서 프로젝트 그룹을 검색 했더니.JPG

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

프로젝트 그룹

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

004. 글라이더 위키의 대상 사용자

Google에서 을 검색 했더니.JPG(Secret Task Force)

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

Task Force Team

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

004. 글라이더 위키의 대상 사용자

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

004. 글라이더 위키의 대상 사용자

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

정리해 봅시다

대학

강좌

커뮤니티

Start up연구소

Project Team

TFT

지식을 정리 하고 공유하고자 하는 모든 곳

- 님 메일 확인요!- 담당자 퇴사시 해당 업무도 퇴사함!- 문서 어디 있지? 그 내용 어디 있나!?- 사수가 니 과외선생이냐?!

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ |

Chapter. 5 실전! 글라이더 위키를 활용한

팀 프로젝트 관리하기

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ |

Chapter. 6 To Do List – 오픈 소스 참여하기

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

006. To Do List - 오픈소스 참여하기

• 다양한 문서포맷 지원

• 에디터, 차트 강화

• 업무 용어 사젂

• 캘릮더 일정 공유

• 동시 편집

• 커뮤니티

• 모바일

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

기업형 솔루션, SNS 와 연동된 Q&A 기반의 기술 공유 서비스

협 업 을 위 한 지 식 관 리 도 구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

006. To Do List - 오픈소스 참여하기

var JoinGLiDER = {지식 정리, 공유 하기 : "http://www.gliderwiki.org",문의사항 : "[email protected]",소스까보기 : "https://github.com/gliderwiki/glider",페이스북 : "/performizer"

};

협 업 을 위 한 지 식 관 리 도구 G L i D E R W i k i ™ | h t t p : / / w w w . g l i d e r w i k i . o r g

감 사 합 니 다.