SlideShare une entreprise Scribd logo
1  sur  86
Télécharger pour lire hors ligne
학교에선 알려주지 않는

오픈 소스 이야기
박치완
Data Mining Lab. @ SNU CSE
2016. 02. 26
2
발표자 소개
박치완 <chiwanpark@apache.org>
서울대학교 컴퓨터공학부 데이터 마이닝 연구실
대용량 데이터 처리에 관심이 많은 학생
Apache Flink Committer (since Jun. 2015)
2
발표자 소개
박치완 <chiwanpark@apache.org>
서울대학교 컴퓨터공학부 데이터 마이닝 연구실
대용량 데이터 처리에 관심이 많은 학생
Apache Flink Committer (since Jun. 2015)
대용량 그래프 데이터 처리, 

스트림 데이터 처리, 기계 학습
분야에 관심 있으시면

http://datalab.snu.ac.kr
3
Apache Flink
스트리밍 데이터 처리 기술을 바탕으로 만든

대용량 데이터 분산 처리 플랫폼
http://flink.apache.org
3
Apache Flink
스트리밍 데이터 처리 기술을 바탕으로 만든

대용량 데이터 분산 처리 플랫폼
http://flink.apache.org
Introduction to Apache Flink

http://j.mp/ossdevconf-2015-park
4
오늘의 할 얘기
1. 오픈 소스, 그게 뭐죠?
2. 학생이 오픈 소스 프로젝트에 참여하면 좋은 점
3. 오픈 소스 프로젝트에 기여를 위한 몇 가지 팁
4. 오픈 소스 기여를 도와주는 다양한 프로그램
5
오픈 소스, 그게 뭐죠?
6
오픈 소스 소프트웨어에 대한 오해 (1)
오픈 소스는 소프트웨어의 무료 사용에 관한 것이다.
http://www.mememaker.net/meme/did-someone-say...-free/
7
오픈 소스 소프트웨어에 대한 오해 (2)
오픈 소스는 소프트웨어의 소스 코드 공개에 관한 것이다.
http://instacod.es/105327
8
오픈 소스 소프트웨어에 대한 오해 (3)
둘 다다.
http://memegenerator.net/instance/59387679
9
The Open Source Definition
https://opensource.org/osd
10
The Open Source Definition
1. Free Redistribution
2. Source Code
3. Derived Works
4. Integrity of The Author’s Source Code
5. No Discrimination Against Person or Groups
6. No Discrimination Against Fields of Endeavor
7. Distribution of License
8. License Must Not Be Specific to a Product
9. License Must Not Restrict Other Software
10.License Must Be Technology-Neutral
11
The Open Source Definition
1. 자유로운 재배포
2. 소스 코드
3. 파생 저작물
4. 저작자의 소스 코드 원형 유지
5. 개인 및 단체에 대한 차별 금지
6. 사용 분야에 대한 차별 금지
7. 사용 허가의 배포
8. 특정 제품에만 유효한 사용 허가의 금지
9. 다른 소프트웨어를 제한하는 사용 허가의 금지
10.사용 허가의 기술 중립성
http://korea.gnu.org/documents/copyleft/osd-korean.html
12
오픈 소스, 그게 뭐죠?
오픈 소스는 소프트웨어를

수정할 수 있는 자유를 주려는 것이다.
https://speakerdeck.com/minhee/opeun-soseu-yaegi
13
오픈 소스, 그게 뭐죠?
자유롭게 수정해야하니까…
• 재배포 금지하면 안됨
• 소스 코드로 배포해야함
• 코드 내의 라이센스 문구 수정하면 안됨
• 누구든 수정할 수 있어야 함
• …
14
중요하니까 두 번 말합니다.
오픈 소스는 소프트웨어를

수정할 수 있는 자유를 주려는 것이다.
15
학생이 참여해서 얻을 수 있는 것
16
학생 A: 오픈 소스 하면 좋냐?
학생과 오픈 소스
http://www.memecreator.org/meme/so-if-i-just-do-the-open-
source-will-my-grade-be-improved
17
컴퓨터과학 전공 학생이 듣는 주요과목
• 컴퓨터프로그래밍
• 객체지향프로그래밍
• 자료구조
• 운영체제
• 알고리즘분석
• 컴퓨터아키텍쳐
• 데이터베이스
• 오토마타형식언어
• 프로그래밍언어구조론
• …
18
현업에서 주로 다루는 기술
19
현업에서 주로 다루는 기술
• C, C++ 이외의 다양한 언어 (Python, Java, PHP, …)
• 스마트폰 어플 개발 환경 (Android, iOS, Tizen, …)
• 웹 프레임워크 (Django, Spring, Play, …)
• 프론트엔드 관련 패키지 (jQuery, React.js, Jindo, …)
• 객체 관계 매핑 (Hibernate, SQLAlchemy, …)
• 빌드 및 배포 자동화 (Maven, Gradle, SBT, Fabric, …)
• 버전 관리 시스템 (Git, Mercurial, Subversion, …)
• …
20
대학교 컴퓨터과학과의 교육 목표
A대 컴퓨터공학부
컴퓨터공학부는 컴퓨터 공학의 기초를 이루는 컴
퓨터 구조 및 설계, 소프트웨어 시스템, 네트워크,
컴퓨터 이론은 물론, … (중략) … 새로운 분야를
선도적으로 개척해 나가고 있다.
21
대학교 컴퓨터과학과의 교육 목표
B대 전산학부
전산학부는 확고한 이론적 기반을 바탕으로
미래 사회 컴퓨팅 패러다임의 변화를 주도하
는 인간 중심의 컴퓨팅 연구와 교육을 통하여
인류를 위한 컴퓨팅과 정보 서비스 기술의 무
한한 가능성을 추구한다.
22
이론 중심의 교육과정
• 많은 학부 교과과정이 이론을 잘 학습하는 것에 무
게를 두고 있어서, 전체적인 커리큘럼이 이론 중심!
• 실습은 각 과목별로 진행하는 텀 프로젝트나 졸업
프로젝트가 전부

(작성한 코드에 대한 피드백이 전혀 없는 것은 덤)
22
이론 중심의 교육과정
• 많은 학부 교과과정이 이론을 잘 학습하는 것에 무
게를 두고 있어서, 전체적인 커리큘럼이 이론 중심!
• 실습은 각 과목별로 진행하는 텀 프로젝트나 졸업
프로젝트가 전부

(작성한 코드에 대한 피드백이 전혀 없는 것은 덤)
물론, 이론을 잘 학습하는 것은

매우 매우 중요합니다!
23
쓰기 중심의 교육과정
• 현대 프로그래밍 교육과정은 쓰기 중심
• 잘 짜는 것만 중요하게 생각하고, 다른 사람의 코드를
읽는 훈련은 안함
• 전공자들도 소스 코드를 읽는 것을 어려워 함

(자신이 작성한 코드라 하더라도!)
24
학부 과정을 착실하게 이수하면…
https://meensspeaks.wordpress.com/2015/10/15/the-browsing-position/
25
학부 과정을 착실하게 이수하면…
• 컴퓨터과학 분야 이론의 기초를 잘 다질 수 있음
• 그러나 코드를 다루는 능력은 별로 향상되지 않음
26
오픈 소스로 모자른 부분을 채울 수 있다!
http://www.bigdatatrunk.com/open-source/
27
오픈 소스 프로젝트에 참여하면…
• 학교에서 배운 이론을 실제로 적용해 볼 수 있음
• 다양한 사람들과 협업하는 경험을 얻을 수 있음
• 고수가 작성한 코드를 읽어볼 수 있음
• 다른 사람이 내 코드를 리뷰해 줌

(나도 다른 사람의 코드를 읽으며 리뷰할 수 있음)
• 학교에서 아무도 신경 쓰지 않는 것의 중요함을 알게 됨

(문서화, 테스트 케이스 등)
• …
28
사례 1
• 자료 구조 수업에서 Hash table에 대해서 배움
• Java는 HashMap이라는 Hash table 구현을 제공하지만,
때때로 직접 만들어 써야할 때도 있음
• 빠른 속도가 필요한 경우
• Garbage collection의 영향에서 벗어나고 싶은 경우
• Flink도 Hash table을 직접 구현한 MutableHashTable
을 만들어서 씀
• 그런데 여기에 버그가 있었음
Background
29
https://github.com/apache/flink/pull/751
버그를 수정하는 패치 제출!
29
https://github.com/apache/flink/pull/751
버그를 수정하는 패치 제출!
테스트를 추가해
줄 수 있어?
30
유닛 테스트
• 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차
• 모든 함수와 메서드에 대한 테스트 케이스를 작성하는 절차
• 꼼꼼히 테스트 케이스를 만들어두면
• 리팩토링이 쉬움
• 디버깅이 쉬움
• 빌드/테스트 자동화 툴과 함께 적용되면 더욱 좋음
https://ko.wikipedia.org/wiki/유닛_테스트
31
https://github.com/apache/flink/pull/751/files
치명적인 버그이나 쉬운 수정
32
https://github.com/apache/flink/pull/751/files
쉽지 않은 테스트 케이스 추가
33
사례 2
Background
• Flink는 분석할 데이터를 CSV 파일에서 불러오는 기능을
제공
• 미리 제공되는 Tuple 객체는 지원을 했으나, 일반적인 Java
객체(POJO)는 지원하지 않았음
• Java 객체 정보는 Java Reflection API를 통해 가져올 수
있다는 사실을 공부하고, 패치 작성
34
https://github.com/apache/flink/pull/426
패치 제출!
34
https://github.com/apache/flink/pull/426
패치 제출!
필드 순서를 결정하는

방법이 필요해
35
35
JPA 같은 다른 프로젝트에서는

annotation을 자주 쓰니까

그런 API도 만들자
36
• Flink에는 FlinkML이라는 기계 학습 라이브러리가 있음
• FlinkML에 두 벡터의 거리 계산을 위한 구현이 없었음
• 두 벡터의 거리 계산은 선형대수 수업에서 배움
• 구현도 인터넷에 참조할 수 있는 것이 많이 있음
• 쉬운 작업이니 패치 제출
사례 2
Background
37
https://github.com/apache/flink/pull/629
패치 제출!
38
그런데 또 버그가…
39
사례 4
영어를 못해도 괜찮아요.
친절하게 틀린 부분을 알려 줍니다.
https://github.com/apache/flink/pull/1500
40
문서 4줄 추가 했는데…
40
문서 4줄 추가 했는데…
40
문서 4줄 추가 했는데…
40
문서 4줄 추가 했는데…
41
기여를 통해 얻어 갈 수 있는 것 (요약)
• 다른 사람이 작성한 코드를 읽는 능력
• 기여에 필요한 새로운 지식
• 커뮤니티의 높은 기준을 바탕으로 한 내가 작성한 코드에 대
한 꼼꼼한 리뷰 (영어 실력은 덤)
• 버전 관리 시스템의 고급 기능 (cherry-pick, rebase, …)
• 문서화와 테스트 케이스 작성 요령
• …
42
기여는 어떻게?
오픈 소스 프로젝트 기여를 위한 몇 가지 팁
43
버그 리포팅
• 개발을 하다보면 필연적으로 오픈 소스 라이브러리나

소프트웨어를 사용하게 됨
• 자주 쓰다 보면 버그나 불편한 점을 찾게 됨
• 버그를 발견하면 버그 리포팅! (버그 리포팅도 중요한 기여 중 하나)
• 기대한 행동과 실제 현상을 적어주면 아주 좋음
44
https://issues.apache.org/jira/browse/FLINK-1937
버그 리포팅 예시
45
뉴비를 위한 문서 읽기
규모가 좀 되는 프로젝트라면

새로운 기여자가 알아야 될 사항을 정리해 둔 문서가 있음
https://flink.apache.org/how-to-contribute.html
46
초보자용 이슈
처음 기여하는 사람을 위해 초보자용 이슈를

남겨두는 프로젝트도 있음
46
초보자용 이슈
처음 기여하는 사람을 위해 초보자용 이슈를

남겨두는 프로젝트도 있음
47
초보자용 이슈
47
초보자용 이슈
48
일단, 메일을 보냅시다
http://goo.gl/qFgdgd
49
일단, 메일을 보냅시다
“나 어디에서 온 누구인데 너네 프로젝트 좀 좋은거 같아.

기여가 하고 싶은데 안내 좀 해줄 수 있니?”
• 오픈 소스 프로젝트를 운영하는 입장에서 사용자의
증가는 환영할 일
• 대부분 친절하게 응대해주므로 겁먹지 말 것
50
기다림이 필요합니다
• 오픈 소스 프로젝트의 운영 = 자원 봉사자들의 자발적 기여
• 응답은 빠르게, 그러나 답장은 늦을 수 있음
51
…
길게는 3개월, 6개월 씩 걸리는 이슈도 있음
51
…
길게는 3개월, 6개월 씩 걸리는 이슈도 있음
51
…
길게는 3개월, 6개월 씩 걸리는 이슈도 있음
52
시도 하세요
• 오픈 소스 소프트웨어도 사람이 만든 것
• 사소한 실수로 인한 버그, 쉽게 개선할 수 있는 것이
많이 존재
• 기여가 반영되는 과정을 1번만 경험하면, 이후에는
쉽게 지속 가능
그러니까, 일단 기여를 시도하세요.
53
이외에도…
오픈 소스 프로젝트의 기여를 도와주는

다양한 프로그램이 있습니다.
54
해외 컨퍼런스 참여 기회
Apache Big Data Europe 2015

ApacheCon: Europe 2015
54
해외 컨퍼런스 참여 기회
Apache Big Data Europe 2015

ApacheCon: Europe 2015
54
해외 컨퍼런스 참여 기회
Apache Big Data Europe 2015

ApacheCon: Europe 2015
54
해외 컨퍼런스 참여 기회
Apache Big Data Europe 2015

ApacheCon: Europe 2015
54
해외 컨퍼런스 참여 기회
Apache Big Data Europe 2015

ApacheCon: Europe 2015
55
해외 컨퍼런스 참여 기회
Flink Forward 2015
55
해외 컨퍼런스 참여 기회
Flink Forward 2015
55
해외 컨퍼런스 참여 기회
Flink Forward 2015
55
해외 컨퍼런스 참여 기회
Flink Forward 2015
56
회사에서도 좋게 봐줍니다
장태희, For 학생 & 취준생 오픈 소스와 커뮤니티, SOSCON 2015
(대학원에서도)
57
D2 CAMPUS FEST
http://d2campusfest.kr/
58
D2 CAMPUS FEST
• 오픈 소스 소프트웨어 경진 대회
• 나의 프로젝트를 오픈 소스로!
• 50만원에서 300만원의 상금
• 네이버 채용 특전
• 스터디 장소 및 서버 제공
• DEVIEW 2016 초대권
• D2 CAMPUS SEMINAR 발표 지원
• 프로젝트 홍보 지원
• …
59
Google Summer of Code
https://developers.google.com/open-source/gsoc/
60
Google Summer of Code
• 2005년부터 시작된 Google의 오픈 소스 기여 지원 프로그램
• 만 18세 이상의 학생이 여름 방학 동안 기여 활동 진행
• 기여하는 오픈 소스 커뮤니티에서 1명이 멘토로 참여
• 기여 활동 결과를 평가하고, 통과되면 $5500 (약 650만원) 지급
61
오픈 프론티어
http://devlab.oss.kr
62
오픈 프론티어
• NIPA에서 주관하는 오픈 소스 개발자 지원 프로그램
• 풀 타임, 파트 타임 기여자로 나누어 매달 장려금 지급
• 개발에 필요한 장비 구매 비용 지원
• 다양한 현업 개발자 분에게 멘토링을 받을 수 있도록
필요 경비 지원
• 24시간 개방 되어 있는 개발 공간 제공 (누리꿈스퀘어)
• 세미나, 소모임 등을 할 수 있도록 공간 (토즈) 대여

비용 지원
• 가상 개발 환경 비용 지원
• …
63
Summary
• 오픈 소스 = 수정할 자유가 있는 소프트웨어
• 오픈 소스 프로젝트 기여를 통해 많은 것을 얻을 수 있음
• 내 코드에 대한 리뷰
• 이론의 실제 적용
• 적용하려면 탄탄한 이론적 배경이 필요!
• 기여에 필요한 다양한 지식
• 다양한 사람들과의 협업 경험
• 시도하기만 하면, 기여하는 것은 크게 어렵지 않음
• 다양한 지원 프로그램도 있음!
64
Thank you
http://j.mp/d2-campus-seminar-4th-park
65
Appendix. 도움이 되는 자료
• 홍민희, “오픈 소스 얘기”
• https://speakerdeck.com/minhee/opeun-soseu-yaegi
• 서상현, “How to Contribute to OSS”
• http://www.slideshare.net/sanxiyn/how-to-contribute-to-oss
• 장태희, “For 학생 & 취준생 오픈소스와 커뮤니티”
• http://www.soscon.net/download/day28/ST1/F_28_1650_장태희.pdf
• 장혜식, “구글 Summer of Code 필승전략(?)”
• http://highthroughput.org/wp/cb-1077/
• 장혜식, “오픈소스 프로젝트 생존 가이드”
• http://highthroughput.org/wp/cb-1059/
• 빈꿈, “한 토종 개발자의 실리콘밸리 구직 체험기…”
• http://ppss.kr/archives/7676
66
Appendix. 도움이 되는 자료 (cont.)
• 에릭 레이먼드, “성당과 시장”
• http://www.hanbit.co.kr/ebook/look.html?isbn=9788968486562
• 송우일, “꾸준히, 자유롭게, 즐겁게: 한국 오픈 소스 개발자
들 이야기”
• http://osdi.insightbook.co.kr/
• 허준회, “만화로 나누는 오픈소스 이야기”
• http://www.joone.net/

Contenu connexe

Tendances

게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...Amazon Web Services Korea
 
QA組織とiOSのテスト
QA組織とiOSのテストQA組織とiOSのテスト
QA組織とiOSのテストLINE Corporation
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunnerhmfive
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...Amazon Web Services Korea
 
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈Amazon Web Services Korea
 
GS Neotek aws_Amazon_CloudFrontDay2018_session3
GS Neotek aws_Amazon_CloudFrontDay2018_session3GS Neotek aws_Amazon_CloudFrontDay2018_session3
GS Neotek aws_Amazon_CloudFrontDay2018_session3GS Neotek
 
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技Yoichi Toyota
 
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자Yurim Jin
 
인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례Hyung Lee
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingAmazon Web Services Korea
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017Amazon Web Services Korea
 
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis
 
예외처리가이드
예외처리가이드예외처리가이드
예외처리가이드도형 임
 
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたKinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたMasaki Misawa
 
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTakahisa Iwamoto
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lakeDaeMyung Kang
 
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Eunchong Yu
 

Tendances (20)

게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
 
QA組織とiOSのテスト
QA組織とiOSのテストQA組織とiOSのテスト
QA組織とiOSのテスト
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunner
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
 
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
 
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
 
GS Neotek aws_Amazon_CloudFrontDay2018_session3
GS Neotek aws_Amazon_CloudFrontDay2018_session3GS Neotek aws_Amazon_CloudFrontDay2018_session3
GS Neotek aws_Amazon_CloudFrontDay2018_session3
 
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
 
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
 
인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
 
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
 
예외처리가이드
예외처리가이드예외처리가이드
예외처리가이드
 
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたKinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
 
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
 
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as Code
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lake
 
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
 

En vedette

Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님NAVER D2
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습BJ Jang
 
네트워크의 개념
네트워크의 개념네트워크의 개념
네트워크의 개념Chulgyu Shin
 
TCP/IP Protocol - JAVA
TCP/IP Protocol - JAVATCP/IP Protocol - JAVA
TCP/IP Protocol - JAVAcooddy
 
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)DK Lee
 
[D2 CAMPUS]웹 개발자의 스펙 : HTTP
[D2 CAMPUS]웹 개발자의 스펙 : HTTP[D2 CAMPUS]웹 개발자의 스펙 : HTTP
[D2 CAMPUS]웹 개발자의 스펙 : HTTPNAVER D2
 
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)Amazon Web Services Korea
 

En vedette (8)

Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
 
네트워크의 개념
네트워크의 개념네트워크의 개념
네트워크의 개념
 
TCP/IP Protocol - JAVA
TCP/IP Protocol - JAVATCP/IP Protocol - JAVA
TCP/IP Protocol - JAVA
 
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
 
[D2 CAMPUS]웹 개발자의 스펙 : HTTP
[D2 CAMPUS]웹 개발자의 스펙 : HTTP[D2 CAMPUS]웹 개발자의 스펙 : HTTP
[D2 CAMPUS]웹 개발자의 스펙 : HTTP
 
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
 

Similaire à 학교에선 알려주지 않는 오픈소스이야기 - 박치완님

2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래Sung-tae Ryu
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기nexusz99
 
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)NAVER D2
 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)Channy Yun
 
2021년 1월 30일 개발자 이야기
2021년 1월 30일 개발자 이야기2021년 1월 30일 개발자 이야기
2021년 1월 30일 개발자 이야기Jay Park
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)Jaewon Choi
 
대학 교육을 통한 오픈 소스 커뮤니티 육성
대학 교육을 통한 오픈 소스 커뮤니티 육성대학 교육을 통한 오픈 소스 커뮤니티 육성
대학 교육을 통한 오픈 소스 커뮤니티 육성Channy Yun
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewMinsuk Lee
 
공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)mosaicnet
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기KTH, 케이티하이텔
 
개발자의 첫단계
개발자의 첫단계개발자의 첫단계
개발자의 첫단계yejiHong7
 
오픈 강의 동영상(OER) 활용 수업 사례
오픈 강의 동영상(OER) 활용 수업 사례오픈 강의 동영상(OER) 활용 수업 사례
오픈 강의 동영상(OER) 활용 수업 사례Ji Lee
 
The growth process of open source projects
The growth process of open source projectsThe growth process of open source projects
The growth process of open source projectsKevin Kim
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다이상한모임
 
Understanding of Open Source
Understanding of Open SourceUnderstanding of Open Source
Understanding of Open SourceKevin Kim
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기Seokjae Lee
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptxssuserf875e6
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your WayChris Ohk
 
Pycon Korea 2018 - 비개발자에게 파이썬 가르치기
Pycon Korea 2018 - 비개발자에게 파이썬 가르치기Pycon Korea 2018 - 비개발자에게 파이썬 가르치기
Pycon Korea 2018 - 비개발자에게 파이썬 가르치기SeokhwanMoon
 

Similaire à 학교에선 알려주지 않는 오픈소스이야기 - 박치완님 (20)

2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
 
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)
 
2021년 1월 30일 개발자 이야기
2021년 1월 30일 개발자 이야기2021년 1월 30일 개발자 이야기
2021년 1월 30일 개발자 이야기
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
about Programmer 2018
about Programmer 2018about Programmer 2018
about Programmer 2018
 
대학 교육을 통한 오픈 소스 커뮤니티 육성
대학 교육을 통한 오픈 소스 커뮤니티 육성대학 교육을 통한 오픈 소스 커뮤니티 육성
대학 교육을 통한 오픈 소스 커뮤니티 육성
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code review
 
공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기
 
개발자의 첫단계
개발자의 첫단계개발자의 첫단계
개발자의 첫단계
 
오픈 강의 동영상(OER) 활용 수업 사례
오픈 강의 동영상(OER) 활용 수업 사례오픈 강의 동영상(OER) 활용 수업 사례
오픈 강의 동영상(OER) 활용 수업 사례
 
The growth process of open source projects
The growth process of open source projectsThe growth process of open source projects
The growth process of open source projects
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다
 
Understanding of Open Source
Understanding of Open SourceUnderstanding of Open Source
Understanding of Open Source
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your Way
 
Pycon Korea 2018 - 비개발자에게 파이썬 가르치기
Pycon Korea 2018 - 비개발자에게 파이썬 가르치기Pycon Korea 2018 - 비개발자에게 파이썬 가르치기
Pycon Korea 2018 - 비개발자에게 파이썬 가르치기
 

Plus de NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep LearningNAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2
 

Plus de NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

학교에선 알려주지 않는 오픈소스이야기 - 박치완님

  • 1. 학교에선 알려주지 않는
 오픈 소스 이야기 박치완 Data Mining Lab. @ SNU CSE 2016. 02. 26
  • 2. 2 발표자 소개 박치완 <chiwanpark@apache.org> 서울대학교 컴퓨터공학부 데이터 마이닝 연구실 대용량 데이터 처리에 관심이 많은 학생 Apache Flink Committer (since Jun. 2015)
  • 3. 2 발표자 소개 박치완 <chiwanpark@apache.org> 서울대학교 컴퓨터공학부 데이터 마이닝 연구실 대용량 데이터 처리에 관심이 많은 학생 Apache Flink Committer (since Jun. 2015) 대용량 그래프 데이터 처리, 
 스트림 데이터 처리, 기계 학습 분야에 관심 있으시면
 http://datalab.snu.ac.kr
  • 4. 3 Apache Flink 스트리밍 데이터 처리 기술을 바탕으로 만든
 대용량 데이터 분산 처리 플랫폼 http://flink.apache.org
  • 5. 3 Apache Flink 스트리밍 데이터 처리 기술을 바탕으로 만든
 대용량 데이터 분산 처리 플랫폼 http://flink.apache.org Introduction to Apache Flink
 http://j.mp/ossdevconf-2015-park
  • 6. 4 오늘의 할 얘기 1. 오픈 소스, 그게 뭐죠? 2. 학생이 오픈 소스 프로젝트에 참여하면 좋은 점 3. 오픈 소스 프로젝트에 기여를 위한 몇 가지 팁 4. 오픈 소스 기여를 도와주는 다양한 프로그램
  • 8. 6 오픈 소스 소프트웨어에 대한 오해 (1) 오픈 소스는 소프트웨어의 무료 사용에 관한 것이다. http://www.mememaker.net/meme/did-someone-say...-free/
  • 9. 7 오픈 소스 소프트웨어에 대한 오해 (2) 오픈 소스는 소프트웨어의 소스 코드 공개에 관한 것이다. http://instacod.es/105327
  • 10. 8 오픈 소스 소프트웨어에 대한 오해 (3) 둘 다다. http://memegenerator.net/instance/59387679
  • 11. 9 The Open Source Definition https://opensource.org/osd
  • 12. 10 The Open Source Definition 1. Free Redistribution 2. Source Code 3. Derived Works 4. Integrity of The Author’s Source Code 5. No Discrimination Against Person or Groups 6. No Discrimination Against Fields of Endeavor 7. Distribution of License 8. License Must Not Be Specific to a Product 9. License Must Not Restrict Other Software 10.License Must Be Technology-Neutral
  • 13. 11 The Open Source Definition 1. 자유로운 재배포 2. 소스 코드 3. 파생 저작물 4. 저작자의 소스 코드 원형 유지 5. 개인 및 단체에 대한 차별 금지 6. 사용 분야에 대한 차별 금지 7. 사용 허가의 배포 8. 특정 제품에만 유효한 사용 허가의 금지 9. 다른 소프트웨어를 제한하는 사용 허가의 금지 10.사용 허가의 기술 중립성 http://korea.gnu.org/documents/copyleft/osd-korean.html
  • 14. 12 오픈 소스, 그게 뭐죠? 오픈 소스는 소프트웨어를
 수정할 수 있는 자유를 주려는 것이다. https://speakerdeck.com/minhee/opeun-soseu-yaegi
  • 15. 13 오픈 소스, 그게 뭐죠? 자유롭게 수정해야하니까… • 재배포 금지하면 안됨 • 소스 코드로 배포해야함 • 코드 내의 라이센스 문구 수정하면 안됨 • 누구든 수정할 수 있어야 함 • …
  • 16. 14 중요하니까 두 번 말합니다. 오픈 소스는 소프트웨어를
 수정할 수 있는 자유를 주려는 것이다.
  • 18. 16 학생 A: 오픈 소스 하면 좋냐? 학생과 오픈 소스 http://www.memecreator.org/meme/so-if-i-just-do-the-open- source-will-my-grade-be-improved
  • 19. 17 컴퓨터과학 전공 학생이 듣는 주요과목 • 컴퓨터프로그래밍 • 객체지향프로그래밍 • 자료구조 • 운영체제 • 알고리즘분석 • 컴퓨터아키텍쳐 • 데이터베이스 • 오토마타형식언어 • 프로그래밍언어구조론 • …
  • 21. 19 현업에서 주로 다루는 기술 • C, C++ 이외의 다양한 언어 (Python, Java, PHP, …) • 스마트폰 어플 개발 환경 (Android, iOS, Tizen, …) • 웹 프레임워크 (Django, Spring, Play, …) • 프론트엔드 관련 패키지 (jQuery, React.js, Jindo, …) • 객체 관계 매핑 (Hibernate, SQLAlchemy, …) • 빌드 및 배포 자동화 (Maven, Gradle, SBT, Fabric, …) • 버전 관리 시스템 (Git, Mercurial, Subversion, …) • …
  • 22. 20 대학교 컴퓨터과학과의 교육 목표 A대 컴퓨터공학부 컴퓨터공학부는 컴퓨터 공학의 기초를 이루는 컴 퓨터 구조 및 설계, 소프트웨어 시스템, 네트워크, 컴퓨터 이론은 물론, … (중략) … 새로운 분야를 선도적으로 개척해 나가고 있다.
  • 23. 21 대학교 컴퓨터과학과의 교육 목표 B대 전산학부 전산학부는 확고한 이론적 기반을 바탕으로 미래 사회 컴퓨팅 패러다임의 변화를 주도하 는 인간 중심의 컴퓨팅 연구와 교육을 통하여 인류를 위한 컴퓨팅과 정보 서비스 기술의 무 한한 가능성을 추구한다.
  • 24. 22 이론 중심의 교육과정 • 많은 학부 교과과정이 이론을 잘 학습하는 것에 무 게를 두고 있어서, 전체적인 커리큘럼이 이론 중심! • 실습은 각 과목별로 진행하는 텀 프로젝트나 졸업 프로젝트가 전부
 (작성한 코드에 대한 피드백이 전혀 없는 것은 덤)
  • 25. 22 이론 중심의 교육과정 • 많은 학부 교과과정이 이론을 잘 학습하는 것에 무 게를 두고 있어서, 전체적인 커리큘럼이 이론 중심! • 실습은 각 과목별로 진행하는 텀 프로젝트나 졸업 프로젝트가 전부
 (작성한 코드에 대한 피드백이 전혀 없는 것은 덤) 물론, 이론을 잘 학습하는 것은
 매우 매우 중요합니다!
  • 26. 23 쓰기 중심의 교육과정 • 현대 프로그래밍 교육과정은 쓰기 중심 • 잘 짜는 것만 중요하게 생각하고, 다른 사람의 코드를 읽는 훈련은 안함 • 전공자들도 소스 코드를 읽는 것을 어려워 함
 (자신이 작성한 코드라 하더라도!)
  • 27. 24 학부 과정을 착실하게 이수하면… https://meensspeaks.wordpress.com/2015/10/15/the-browsing-position/
  • 28. 25 학부 과정을 착실하게 이수하면… • 컴퓨터과학 분야 이론의 기초를 잘 다질 수 있음 • 그러나 코드를 다루는 능력은 별로 향상되지 않음
  • 29. 26 오픈 소스로 모자른 부분을 채울 수 있다! http://www.bigdatatrunk.com/open-source/
  • 30. 27 오픈 소스 프로젝트에 참여하면… • 학교에서 배운 이론을 실제로 적용해 볼 수 있음 • 다양한 사람들과 협업하는 경험을 얻을 수 있음 • 고수가 작성한 코드를 읽어볼 수 있음 • 다른 사람이 내 코드를 리뷰해 줌
 (나도 다른 사람의 코드를 읽으며 리뷰할 수 있음) • 학교에서 아무도 신경 쓰지 않는 것의 중요함을 알게 됨
 (문서화, 테스트 케이스 등) • …
  • 31. 28 사례 1 • 자료 구조 수업에서 Hash table에 대해서 배움 • Java는 HashMap이라는 Hash table 구현을 제공하지만, 때때로 직접 만들어 써야할 때도 있음 • 빠른 속도가 필요한 경우 • Garbage collection의 영향에서 벗어나고 싶은 경우 • Flink도 Hash table을 직접 구현한 MutableHashTable 을 만들어서 씀 • 그런데 여기에 버그가 있었음 Background
  • 33. 29 https://github.com/apache/flink/pull/751 버그를 수정하는 패치 제출! 테스트를 추가해 줄 수 있어?
  • 34. 30 유닛 테스트 • 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차 • 모든 함수와 메서드에 대한 테스트 케이스를 작성하는 절차 • 꼼꼼히 테스트 케이스를 만들어두면 • 리팩토링이 쉬움 • 디버깅이 쉬움 • 빌드/테스트 자동화 툴과 함께 적용되면 더욱 좋음 https://ko.wikipedia.org/wiki/유닛_테스트
  • 37. 33 사례 2 Background • Flink는 분석할 데이터를 CSV 파일에서 불러오는 기능을 제공 • 미리 제공되는 Tuple 객체는 지원을 했으나, 일반적인 Java 객체(POJO)는 지원하지 않았음 • Java 객체 정보는 Java Reflection API를 통해 가져올 수 있다는 사실을 공부하고, 패치 작성
  • 40. 35
  • 41. 35 JPA 같은 다른 프로젝트에서는
 annotation을 자주 쓰니까
 그런 API도 만들자
  • 42. 36 • Flink에는 FlinkML이라는 기계 학습 라이브러리가 있음 • FlinkML에 두 벡터의 거리 계산을 위한 구현이 없었음 • 두 벡터의 거리 계산은 선형대수 수업에서 배움 • 구현도 인터넷에 참조할 수 있는 것이 많이 있음 • 쉬운 작업이니 패치 제출 사례 2 Background
  • 45. 39 사례 4 영어를 못해도 괜찮아요. 친절하게 틀린 부분을 알려 줍니다. https://github.com/apache/flink/pull/1500
  • 46. 40 문서 4줄 추가 했는데…
  • 47. 40 문서 4줄 추가 했는데…
  • 48. 40 문서 4줄 추가 했는데…
  • 49. 40 문서 4줄 추가 했는데…
  • 50. 41 기여를 통해 얻어 갈 수 있는 것 (요약) • 다른 사람이 작성한 코드를 읽는 능력 • 기여에 필요한 새로운 지식 • 커뮤니티의 높은 기준을 바탕으로 한 내가 작성한 코드에 대 한 꼼꼼한 리뷰 (영어 실력은 덤) • 버전 관리 시스템의 고급 기능 (cherry-pick, rebase, …) • 문서화와 테스트 케이스 작성 요령 • …
  • 51. 42 기여는 어떻게? 오픈 소스 프로젝트 기여를 위한 몇 가지 팁
  • 52. 43 버그 리포팅 • 개발을 하다보면 필연적으로 오픈 소스 라이브러리나
 소프트웨어를 사용하게 됨 • 자주 쓰다 보면 버그나 불편한 점을 찾게 됨 • 버그를 발견하면 버그 리포팅! (버그 리포팅도 중요한 기여 중 하나) • 기대한 행동과 실제 현상을 적어주면 아주 좋음
  • 54. 45 뉴비를 위한 문서 읽기 규모가 좀 되는 프로젝트라면
 새로운 기여자가 알아야 될 사항을 정리해 둔 문서가 있음 https://flink.apache.org/how-to-contribute.html
  • 55. 46 초보자용 이슈 처음 기여하는 사람을 위해 초보자용 이슈를
 남겨두는 프로젝트도 있음
  • 56. 46 초보자용 이슈 처음 기여하는 사람을 위해 초보자용 이슈를
 남겨두는 프로젝트도 있음
  • 60. 49 일단, 메일을 보냅시다 “나 어디에서 온 누구인데 너네 프로젝트 좀 좋은거 같아.
 기여가 하고 싶은데 안내 좀 해줄 수 있니?” • 오픈 소스 프로젝트를 운영하는 입장에서 사용자의 증가는 환영할 일 • 대부분 친절하게 응대해주므로 겁먹지 말 것
  • 61. 50 기다림이 필요합니다 • 오픈 소스 프로젝트의 운영 = 자원 봉사자들의 자발적 기여 • 응답은 빠르게, 그러나 답장은 늦을 수 있음
  • 62. 51 … 길게는 3개월, 6개월 씩 걸리는 이슈도 있음
  • 63. 51 … 길게는 3개월, 6개월 씩 걸리는 이슈도 있음
  • 64. 51 … 길게는 3개월, 6개월 씩 걸리는 이슈도 있음
  • 65. 52 시도 하세요 • 오픈 소스 소프트웨어도 사람이 만든 것 • 사소한 실수로 인한 버그, 쉽게 개선할 수 있는 것이 많이 존재 • 기여가 반영되는 과정을 1번만 경험하면, 이후에는 쉽게 지속 가능 그러니까, 일단 기여를 시도하세요.
  • 66. 53 이외에도… 오픈 소스 프로젝트의 기여를 도와주는
 다양한 프로그램이 있습니다.
  • 67. 54 해외 컨퍼런스 참여 기회 Apache Big Data Europe 2015
 ApacheCon: Europe 2015
  • 68. 54 해외 컨퍼런스 참여 기회 Apache Big Data Europe 2015
 ApacheCon: Europe 2015
  • 69. 54 해외 컨퍼런스 참여 기회 Apache Big Data Europe 2015
 ApacheCon: Europe 2015
  • 70. 54 해외 컨퍼런스 참여 기회 Apache Big Data Europe 2015
 ApacheCon: Europe 2015
  • 71. 54 해외 컨퍼런스 참여 기회 Apache Big Data Europe 2015
 ApacheCon: Europe 2015
  • 72. 55 해외 컨퍼런스 참여 기회 Flink Forward 2015
  • 73. 55 해외 컨퍼런스 참여 기회 Flink Forward 2015
  • 74. 55 해외 컨퍼런스 참여 기회 Flink Forward 2015
  • 75. 55 해외 컨퍼런스 참여 기회 Flink Forward 2015
  • 76. 56 회사에서도 좋게 봐줍니다 장태희, For 학생 & 취준생 오픈 소스와 커뮤니티, SOSCON 2015 (대학원에서도)
  • 78. 58 D2 CAMPUS FEST • 오픈 소스 소프트웨어 경진 대회 • 나의 프로젝트를 오픈 소스로! • 50만원에서 300만원의 상금 • 네이버 채용 특전 • 스터디 장소 및 서버 제공 • DEVIEW 2016 초대권 • D2 CAMPUS SEMINAR 발표 지원 • 프로젝트 홍보 지원 • …
  • 79. 59 Google Summer of Code https://developers.google.com/open-source/gsoc/
  • 80. 60 Google Summer of Code • 2005년부터 시작된 Google의 오픈 소스 기여 지원 프로그램 • 만 18세 이상의 학생이 여름 방학 동안 기여 활동 진행 • 기여하는 오픈 소스 커뮤니티에서 1명이 멘토로 참여 • 기여 활동 결과를 평가하고, 통과되면 $5500 (약 650만원) 지급
  • 82. 62 오픈 프론티어 • NIPA에서 주관하는 오픈 소스 개발자 지원 프로그램 • 풀 타임, 파트 타임 기여자로 나누어 매달 장려금 지급 • 개발에 필요한 장비 구매 비용 지원 • 다양한 현업 개발자 분에게 멘토링을 받을 수 있도록 필요 경비 지원 • 24시간 개방 되어 있는 개발 공간 제공 (누리꿈스퀘어) • 세미나, 소모임 등을 할 수 있도록 공간 (토즈) 대여
 비용 지원 • 가상 개발 환경 비용 지원 • …
  • 83. 63 Summary • 오픈 소스 = 수정할 자유가 있는 소프트웨어 • 오픈 소스 프로젝트 기여를 통해 많은 것을 얻을 수 있음 • 내 코드에 대한 리뷰 • 이론의 실제 적용 • 적용하려면 탄탄한 이론적 배경이 필요! • 기여에 필요한 다양한 지식 • 다양한 사람들과의 협업 경험 • 시도하기만 하면, 기여하는 것은 크게 어렵지 않음 • 다양한 지원 프로그램도 있음!
  • 85. 65 Appendix. 도움이 되는 자료 • 홍민희, “오픈 소스 얘기” • https://speakerdeck.com/minhee/opeun-soseu-yaegi • 서상현, “How to Contribute to OSS” • http://www.slideshare.net/sanxiyn/how-to-contribute-to-oss • 장태희, “For 학생 & 취준생 오픈소스와 커뮤니티” • http://www.soscon.net/download/day28/ST1/F_28_1650_장태희.pdf • 장혜식, “구글 Summer of Code 필승전략(?)” • http://highthroughput.org/wp/cb-1077/ • 장혜식, “오픈소스 프로젝트 생존 가이드” • http://highthroughput.org/wp/cb-1059/ • 빈꿈, “한 토종 개발자의 실리콘밸리 구직 체험기…” • http://ppss.kr/archives/7676
  • 86. 66 Appendix. 도움이 되는 자료 (cont.) • 에릭 레이먼드, “성당과 시장” • http://www.hanbit.co.kr/ebook/look.html?isbn=9788968486562 • 송우일, “꾸준히, 자유롭게, 즐겁게: 한국 오픈 소스 개발자 들 이야기” • http://osdi.insightbook.co.kr/ • 허준회, “만화로 나누는 오픈소스 이야기” • http://www.joone.net/