SlideShare a Scribd company logo
나의 코드에서 모두의 코드로
이한
소개
이한
전기전자컴퓨터공학과 (2학년 수료, 휴학)
인턴
sn0wle0pard
sn0wle0pard/ipytracer
97
BSD-3-Clause-Clear
파이썬 알고리즘 시각화 라이브러리
sn0wle0pard/vimrc.io
MIT
Vimrc 생성 사이트 http://vimrc.io
왜 오픈소스에 관심을 가지게 되었나요?
우연한 시작
당시 발표를 들으려고 참석
학교에서 알려주지 않는 오픈소스 이야기
당시 들은 이야기
- 오픈소스 기여 이야기
- 생각보다 어렵지 않아요!
- 재미있어 보이는 오픈소스 대회들
제 4회 D2 Campus Seminar
지방 (예비) 개발자
집도 학교도 모두 지방
인턴, 컨퍼런스 참석 하기 힘듬 등등
실력을 보여줄/키울 수단이 필요
선배들의 조언
코드는 언제나 어디서나 정직
많이 코딩해보고, 많이 보여줘라
작성하는 모든 코드을 모두 GitHub으로 관리
실제로 인턴을 구하는데 도움이 되었음
JakeWharton/RxBinding
@CheckResult @NonNull
public static Observable<Object> clicks(@NonNull View view) {
checkNotNull(view, "view == null”);
return new ViewClickObservable(view);
}
@Override public void onClick(View v) {
if (!isDisposed()) {
observer.onNext(Notification.INSTANCE);
}
}
ViewClickObservable.javaRxView.java
새로운 개념을 이해하기 위해
6.2K
6K
Apache 2.0
RX
Reactive
Extension
Algorithm Visualizer
parkjs814/AlgorithmVisualizer
Algorithm Visualizer for Jupyter/IPython Notebook
sn0wle0pard/ipytracer
97
8
BSD-3-Clause-Clear
2016 출전 및
Beyond Fest 수상
ipytracer
ipytracer
여러분의 코드를
시각화 해서 보여줍니다!
오픈소스를 공개하며 겪은 일들
나만 쓸 코드라면 하지 않았을 일들
라이선스 정하기
Hall of shame
FFmpeg를 사용하면서 GPL 라이선스를 지키지 않은 프로그램 목록들
국내의 유명한 동영상 플레이어들도 목록에 있었거나 있다

오픈소스도 라이선스가 있다.

각자 고유한 범위를 가지고 있으니 적합한 것을 선택 해야 한다
모두 자유롭게 사용하자! MIT!
D2 CAMPUS FEST 2016 오픈소스 라이선스 中
아파치 라이선스를 사용한다면,
GPL 라이선스를 사용하는 라이브러리를 피하셔야 합니다.
여러 라이선스가 사용될 때는 더 제약이 강한 라이선스를 고르는게 좋습니다
D2 Fest 에서 알게 된 사실
https://www.apache.org/licenses/GPL-compatibility
Apache 2 software can therefore be included in GPLv3 projects,
because the GPLv3 license accepts our software into GPLv3 works.
However, GPLv3 software cannot be included in Apache projects.
GPL Compatibility
라이선스 주의점
라이선스 수정
MIT에서 BSD-3로 라이선스 변경
사용할 라이브러리 선정기준 중 하나가 됨
Neither the name of the [organization] nor the names of its con-
tributors may be used to endorse or promote products derived
from this software without specific prior written permission.
사용하는 라이브러리 대부분 MIT 라이선스
Chart.js는 BSD-3-Clause-Clear로 배포
일반적으로 두 라이선스는 호환된다고 여겨짐
단, BSD-3의 다음 조건이 마음에 걸림
좋은 코드를 위해서
Tracer
Chart
Tracer
List1D
Tracer
파이썬 list의 역할을 함
대부분의 로직은 비슷하고, View처리 로직만 다름
OOP 상속!
list
디자인 패턴
MC를 V에서 떼어 놓기 어려운 구조
코드 작성도 어렵고, 보기에도 어려움
디자인 패턴을 공부
MVP패턴에 가깝게 구현
Test
“내 코드는 의도 그대로 동작하고 있나요?”
“리팩토링 제대로 한 거 맞나요?”
“하나 하나 확인 할 수 있을까요?”
내 코드 작동은 누가 보증할까요? Unit Test!
ipytracer의 경우 파이썬 list에서 되는 일은 모두 그대로 작동해야 함
처음 테스트 해보니 정말 펑펑 터짐
Test
하세요!
Test
꼭꼭 하세요!
Git
실수로 개인정보가 포함된 파일이 소스에 포함
커밋까지 해버렸음
https://help.github.com/articles/removing-sensitive-data-from-a-repository/
인기가 없어서 본사람은 없었고 다행히 Git History에서 제거
주의할점: Revert Commit 혹은 파일 제거를 위한 커밋 X
파일 제거 커밋 검색하면 엄청 잘 나옵니다
문서화
주석 달기도 힘든데 문서는 무슨 문서 …
그럼 주석만 다세요!
프로젝트 홍보
구슬도 꿰어야 보배!
Reddit, Python Korea에 홍보
해당 플랫폼에 많은 영향을 주는 커뮤니티에 홍보 + 영어권
덕분에 Python Weekly에 소개됨
http://qiita.com/tttamaki/items/fadda266e6d52b06e436
Qiita: 일본의 프로그래밍 정보 공유 사이트
ipytracer를 사용한 예제가 올라옴
weibo에서 중국인이 소개해 주기도 그 주에 github 트래픽이 엄청 났음
염원하던 Pycon 발표의 기회도!
유명한 라이브러리들의 코드의 도움도 많이 받았지만,
스타수가 적은 코드들이 엄청난 도움이 될 때도 있었음
여러분의 코드는 누군가에게 도움이 될 수 있습니다
SNS 처럼 생각해보세요!
Social Coding
오픈소스 기여 이야기
이젠 더 큰 프로젝트를 향한 욕심
학부생은 무엇을 할 수 있을까요?
첫 기여
Hexo
Node 기반 정적 블로그 툴
코드하이라이팅에 highlight.js를 사용
highlight.js가 JSX를 지원하지 않음
Prism.js
코드 하이리팅 라이브러리 JSX 지원
MDN 사이트에서 사용중
hexo-prism-plugin이 있었음
그런데 이번에는 줄번호가 표시 안됨!
첫 기여
Prism.js 튜토리얼코드를 참고해
hexo-prism-plugin에 적용
7번째 이슈였고 Merge!
이 후로도 사용하는 몇몇 라이브러리에
번역제공으로 기여
CPython
그 외 이야기
일부 프로젝트의 경우 Contributor agreement에 서명해야함
기여자 가이드를 꼼꼼하게 읽지 않아 해메었음
새삼 느겼던 Test의 중요성
리뷰어들이 매우 친절하셨음 (프로젝트에 긍정적인 시선이 됨)
이슈를 발견하기도 함
상당기간 파이썬의 동안 Mac Travis CI가 제대로 동작하지 않았음
파이썬정도의 프로젝트에서도 이런 실수가 나오는 구나
저는 학부생도 모든 걸 할 수 있다고 생각합니다
물론 관련 지식이 필요한 프로젝트는 어렵겠지요
학생을 위한 많은 프로그램들
Easy Issue
문서번역
오픈소스
커미터/메인테이너와
멘토링 및 기여 참여
학부생 오픈소스
개발 멘토링
오픈소스
커미터/메인테이너와
멘토링 및 기여 참여
오픈소스 지원사업
큰 프로젝트에 기여하는 일은 생각보다 어려운 일이 아닙니다.
큰 프로젝트도 간단한 실수가 나오기도 합니다.
Social Coding! 여러분의 코드는 누군가 에게 도움이 될 수 있습니다!
감사합니다!

More Related Content

What's hot

오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
Jaewon Choi
 
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
NAVER D2
 
D2 CAMPUS FEST 2015 오리엔테이션 session1
D2 CAMPUS FEST 2015 오리엔테이션 session1D2 CAMPUS FEST 2015 오리엔테이션 session1
D2 CAMPUS FEST 2015 오리엔테이션 session1
NAVER D2
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용
Ian Choi
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on labNAVER D2
 
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
Daniel Juyung Seo
 
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
NAVER D2
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?
Ian Choi
 
devon2013: 사내Git저장소개발사례
devon2013: 사내Git저장소개발사례devon2013: 사내Git저장소개발사례
devon2013: 사내Git저장소개발사례
Daehyun Kim
 
Git의 개념과 사용
Git의 개념과 사용Git의 개념과 사용
Git의 개념과 사용
환민 홍
 
우아한오픈소스
우아한오픈소스우아한오픈소스
우아한오픈소스
Jun Ho Lee
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
nexusz99
 
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
Ian Choi
 
[111]open, share, enjoy 네이버의 오픈소스 활동
[111]open, share, enjoy 네이버의 오픈소스 활동[111]open, share, enjoy 네이버의 오픈소스 활동
[111]open, share, enjoy 네이버의 오픈소스 활동
NAVER D2
 
[D2 fest 2014]오픈소스sw 그리고 라이선스
[D2 fest 2014]오픈소스sw 그리고 라이선스[D2 fest 2014]오픈소스sw 그리고 라이선스
[D2 fest 2014]오픈소스sw 그리고 라이선스NAVER D2
 
Opensource sw day
Opensource sw dayOpensource sw day
Opensource sw day
DaeMyung Kang
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code review
Minsuk Lee
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
Soojin Ro
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
BJ Jang
 
Open source oss
Open source ossOpen source oss
Open source oss
DaeMyung Kang
 

What's hot (20)

오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
 
D2 CAMPUS FEST 2015 오리엔테이션 session1
D2 CAMPUS FEST 2015 오리엔테이션 session1D2 CAMPUS FEST 2015 오리엔테이션 session1
D2 CAMPUS FEST 2015 오리엔테이션 session1
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab
 
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
 
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?
 
devon2013: 사내Git저장소개발사례
devon2013: 사내Git저장소개발사례devon2013: 사내Git저장소개발사례
devon2013: 사내Git저장소개발사례
 
Git의 개념과 사용
Git의 개념과 사용Git의 개념과 사용
Git의 개념과 사용
 
우아한오픈소스
우아한오픈소스우아한오픈소스
우아한오픈소스
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
 
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
 
[111]open, share, enjoy 네이버의 오픈소스 활동
[111]open, share, enjoy 네이버의 오픈소스 활동[111]open, share, enjoy 네이버의 오픈소스 활동
[111]open, share, enjoy 네이버의 오픈소스 활동
 
[D2 fest 2014]오픈소스sw 그리고 라이선스
[D2 fest 2014]오픈소스sw 그리고 라이선스[D2 fest 2014]오픈소스sw 그리고 라이선스
[D2 fest 2014]오픈소스sw 그리고 라이선스
 
Opensource sw day
Opensource sw dayOpensource sw day
Opensource sw day
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code review
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
 
Open source oss
Open source ossOpen source oss
Open source oss
 

Similar to 네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한

제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
NAVER D2
 
Open source engineering
Open source engineeringOpen source engineering
Open source engineering
YoungSu Son
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1YoungSu Son
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
YoungSu Son
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
지원 정
 
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스
 
오픈소스 기여 이력 관리 플랫폼: committrs.io 소개
오픈소스 기여 이력 관리 플랫폼: committrs.io 소개오픈소스 기여 이력 관리 플랫폼: committrs.io 소개
오픈소스 기여 이력 관리 플랫폼: committrs.io 소개
soonoo2
 
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
Jae Sung Park
 
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)Channy Yun
 
Gold.is 2차 심사 발표자료
Gold.is 2차 심사 발표자료Gold.is 2차 심사 발표자료
Gold.is 2차 심사 발표자료
Ye Joo Park
 
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
nexusz99
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
NAVER D2
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
NAVER Engineering
 
토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드
Justin Park
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
NAVER D2
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기
KTH, 케이티하이텔
 
[오픈소스컨설팅]오픈소스개요 및 동향_v2
[오픈소스컨설팅]오픈소스개요 및 동향_v2[오픈소스컨설팅]오픈소스개요 및 동향_v2
[오픈소스컨설팅]오픈소스개요 및 동향_v2
Ji-Woong Choi
 
Portfolio
PortfolioPortfolio
Portfolio
MyeongSeokKim2
 
137 deview
137 deview137 deview
137 deviewNAVER D2
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기
JeongHun Byeon
 

Similar to 네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한 (20)

제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
 
Open source engineering
Open source engineeringOpen source engineering
Open source engineering
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
 
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
 
오픈소스 기여 이력 관리 플랫폼: committrs.io 소개
오픈소스 기여 이력 관리 플랫폼: committrs.io 소개오픈소스 기여 이력 관리 플랫폼: committrs.io 소개
오픈소스 기여 이력 관리 플랫폼: committrs.io 소개
 
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기
 
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
 
Gold.is 2차 심사 발표자료
Gold.is 2차 심사 발표자료Gold.is 2차 심사 발표자료
Gold.is 2차 심사 발표자료
 
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
 
토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기
 
[오픈소스컨설팅]오픈소스개요 및 동향_v2
[오픈소스컨설팅]오픈소스개요 및 동향_v2[오픈소스컨설팅]오픈소스개요 및 동향_v2
[오픈소스컨설팅]오픈소스개요 및 동향_v2
 
Portfolio
PortfolioPortfolio
Portfolio
 
137 deview
137 deview137 deview
137 deview
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기
 

More from NAVER Engineering

React vac pattern
React vac patternReact vac pattern
React vac pattern
NAVER Engineering
 
디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX
NAVER Engineering
 
진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)
NAVER Engineering
 
서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트
NAVER Engineering
 
BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호
NAVER Engineering
 
이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라
NAVER Engineering
 
날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기
NAVER Engineering
 
쏘카프레임 구축 배경과 과정
 쏘카프레임 구축 배경과 과정 쏘카프레임 구축 배경과 과정
쏘카프레임 구축 배경과 과정
NAVER Engineering
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
NAVER Engineering
 
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
NAVER Engineering
 
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
NAVER Engineering
 
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
NAVER Engineering
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
NAVER Engineering
 
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
NAVER Engineering
 
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
NAVER Engineering
 
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
NAVER Engineering
 
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
NAVER Engineering
 
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
NAVER Engineering
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
NAVER Engineering
 
200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기
200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기
200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기
NAVER Engineering
 

More from NAVER Engineering (20)

React vac pattern
React vac patternReact vac pattern
React vac pattern
 
디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX
 
진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)
 
서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트
 
BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호
 
이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라
 
날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기
 
쏘카프레임 구축 배경과 과정
 쏘카프레임 구축 배경과 과정 쏘카프레임 구축 배경과 과정
쏘카프레임 구축 배경과 과정
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
 
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
 
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
 
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
 
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
 
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
 
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
 
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
 
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
 
200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기
200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기
200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기
 

네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한

  • 1. 나의 코드에서 모두의 코드로 이한
  • 2. 소개 이한 전기전자컴퓨터공학과 (2학년 수료, 휴학) 인턴 sn0wle0pard sn0wle0pard/ipytracer 97 BSD-3-Clause-Clear 파이썬 알고리즘 시각화 라이브러리 sn0wle0pard/vimrc.io MIT Vimrc 생성 사이트 http://vimrc.io
  • 3. 왜 오픈소스에 관심을 가지게 되었나요?
  • 4. 우연한 시작 당시 발표를 들으려고 참석 학교에서 알려주지 않는 오픈소스 이야기 당시 들은 이야기 - 오픈소스 기여 이야기 - 생각보다 어렵지 않아요! - 재미있어 보이는 오픈소스 대회들 제 4회 D2 Campus Seminar
  • 5. 지방 (예비) 개발자 집도 학교도 모두 지방 인턴, 컨퍼런스 참석 하기 힘듬 등등 실력을 보여줄/키울 수단이 필요 선배들의 조언 코드는 언제나 어디서나 정직 많이 코딩해보고, 많이 보여줘라 작성하는 모든 코드을 모두 GitHub으로 관리 실제로 인턴을 구하는데 도움이 되었음
  • 6. JakeWharton/RxBinding @CheckResult @NonNull public static Observable<Object> clicks(@NonNull View view) { checkNotNull(view, "view == null”); return new ViewClickObservable(view); } @Override public void onClick(View v) { if (!isDisposed()) { observer.onNext(Notification.INSTANCE); } } ViewClickObservable.javaRxView.java 새로운 개념을 이해하기 위해 6.2K 6K Apache 2.0 RX Reactive Extension
  • 8. Algorithm Visualizer for Jupyter/IPython Notebook sn0wle0pard/ipytracer 97 8 BSD-3-Clause-Clear 2016 출전 및 Beyond Fest 수상 ipytracer
  • 10. 오픈소스를 공개하며 겪은 일들 나만 쓸 코드라면 하지 않았을 일들
  • 11. 라이선스 정하기 Hall of shame FFmpeg를 사용하면서 GPL 라이선스를 지키지 않은 프로그램 목록들 국내의 유명한 동영상 플레이어들도 목록에 있었거나 있다  오픈소스도 라이선스가 있다.  각자 고유한 범위를 가지고 있으니 적합한 것을 선택 해야 한다 모두 자유롭게 사용하자! MIT!
  • 12. D2 CAMPUS FEST 2016 오픈소스 라이선스 中 아파치 라이선스를 사용한다면, GPL 라이선스를 사용하는 라이브러리를 피하셔야 합니다. 여러 라이선스가 사용될 때는 더 제약이 강한 라이선스를 고르는게 좋습니다 D2 Fest 에서 알게 된 사실 https://www.apache.org/licenses/GPL-compatibility Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. GPL Compatibility 라이선스 주의점
  • 13. 라이선스 수정 MIT에서 BSD-3로 라이선스 변경 사용할 라이브러리 선정기준 중 하나가 됨 Neither the name of the [organization] nor the names of its con- tributors may be used to endorse or promote products derived from this software without specific prior written permission. 사용하는 라이브러리 대부분 MIT 라이선스 Chart.js는 BSD-3-Clause-Clear로 배포 일반적으로 두 라이선스는 호환된다고 여겨짐 단, BSD-3의 다음 조건이 마음에 걸림
  • 14. 좋은 코드를 위해서 Tracer Chart Tracer List1D Tracer 파이썬 list의 역할을 함 대부분의 로직은 비슷하고, View처리 로직만 다름 OOP 상속! list
  • 15. 디자인 패턴 MC를 V에서 떼어 놓기 어려운 구조 코드 작성도 어렵고, 보기에도 어려움 디자인 패턴을 공부 MVP패턴에 가깝게 구현
  • 16. Test “내 코드는 의도 그대로 동작하고 있나요?” “리팩토링 제대로 한 거 맞나요?” “하나 하나 확인 할 수 있을까요?” 내 코드 작동은 누가 보증할까요? Unit Test! ipytracer의 경우 파이썬 list에서 되는 일은 모두 그대로 작동해야 함 처음 테스트 해보니 정말 펑펑 터짐
  • 19. Git 실수로 개인정보가 포함된 파일이 소스에 포함 커밋까지 해버렸음 https://help.github.com/articles/removing-sensitive-data-from-a-repository/ 인기가 없어서 본사람은 없었고 다행히 Git History에서 제거 주의할점: Revert Commit 혹은 파일 제거를 위한 커밋 X 파일 제거 커밋 검색하면 엄청 잘 나옵니다
  • 20. 문서화 주석 달기도 힘든데 문서는 무슨 문서 … 그럼 주석만 다세요!
  • 21. 프로젝트 홍보 구슬도 꿰어야 보배! Reddit, Python Korea에 홍보 해당 플랫폼에 많은 영향을 주는 커뮤니티에 홍보 + 영어권 덕분에 Python Weekly에 소개됨 http://qiita.com/tttamaki/items/fadda266e6d52b06e436 Qiita: 일본의 프로그래밍 정보 공유 사이트 ipytracer를 사용한 예제가 올라옴 weibo에서 중국인이 소개해 주기도 그 주에 github 트래픽이 엄청 났음 염원하던 Pycon 발표의 기회도!
  • 22. 유명한 라이브러리들의 코드의 도움도 많이 받았지만, 스타수가 적은 코드들이 엄청난 도움이 될 때도 있었음 여러분의 코드는 누군가에게 도움이 될 수 있습니다 SNS 처럼 생각해보세요! Social Coding
  • 23. 오픈소스 기여 이야기 이젠 더 큰 프로젝트를 향한 욕심
  • 24. 학부생은 무엇을 할 수 있을까요?
  • 25. 첫 기여 Hexo Node 기반 정적 블로그 툴 코드하이라이팅에 highlight.js를 사용 highlight.js가 JSX를 지원하지 않음 Prism.js 코드 하이리팅 라이브러리 JSX 지원 MDN 사이트에서 사용중 hexo-prism-plugin이 있었음 그런데 이번에는 줄번호가 표시 안됨!
  • 26. 첫 기여 Prism.js 튜토리얼코드를 참고해 hexo-prism-plugin에 적용 7번째 이슈였고 Merge! 이 후로도 사용하는 몇몇 라이브러리에 번역제공으로 기여
  • 28. 그 외 이야기 일부 프로젝트의 경우 Contributor agreement에 서명해야함 기여자 가이드를 꼼꼼하게 읽지 않아 해메었음 새삼 느겼던 Test의 중요성 리뷰어들이 매우 친절하셨음 (프로젝트에 긍정적인 시선이 됨) 이슈를 발견하기도 함 상당기간 파이썬의 동안 Mac Travis CI가 제대로 동작하지 않았음 파이썬정도의 프로젝트에서도 이런 실수가 나오는 구나
  • 29. 저는 학부생도 모든 걸 할 수 있다고 생각합니다 물론 관련 지식이 필요한 프로젝트는 어렵겠지요 학생을 위한 많은 프로그램들 Easy Issue 문서번역 오픈소스 커미터/메인테이너와 멘토링 및 기여 참여 학부생 오픈소스 개발 멘토링 오픈소스 커미터/메인테이너와 멘토링 및 기여 참여 오픈소스 지원사업
  • 30. 큰 프로젝트에 기여하는 일은 생각보다 어려운 일이 아닙니다. 큰 프로젝트도 간단한 실수가 나오기도 합니다. Social Coding! 여러분의 코드는 누군가 에게 도움이 될 수 있습니다!