Upload
-
View
6.779
Download
2
Embed Size (px)
Citation preview
기업용 오픈소스 를 활용한
프로젝트 관리와 구현기술
http://www.gliderwiki.org
https://github.com/gliderwiki/glider
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
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
다년간의 스터디...
컨텐츠를 정리 하기 좋은 툴 뭐 없나?
블로그? 게시판? 카페? 홈피?
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 ™ | 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 ™ | 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 ™ | 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 ™ | 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