Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PyCon Korea 2018 작은 오픈소스 3년 운영기
Search
Ayun Park
August 21, 2018
Programming
0
230
PyCon Korea 2018 작은 오픈소스 3년 운영기
Ayun Park
August 21, 2018
Tweet
Share
Other Decks in Programming
See All in Programming
オレオレkaggle開発環境に Formatter/Linter入れてみた
stgkrt
0
340
ここ1~2年くらいで 使えるようになった(主要ブラウザーの最新版 がすべて対応した ) ウェブの新機能について ランダムに喋る!
myzkyy
7
5.8k
ログラスの継続的なプロンプト改善のためのLLMOpsの今 / LLMOps at loglass now
rkaga
PRO
1
330
PHP 8.3で追加されたjson_validate()を徹底的に深掘りしてみよう
mashirou1234
0
610
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
memory1994
PRO
1
460
TypeScript x GraphQLで2年開発してみて
yutank34
8
4.7k
Cloudflare Workersの環境を再現することについて
yusukebe
5
720
RISC-V カスタムのためのツールチェーン拡張 ― GNU Binutils と GCC の拡張・コミュニティへの参加編 (未完成版)
a4lg
0
190
メール認証とRuby
uvb_76
0
100
25 Years of the JCP Program
ivargrimstad
0
1k
Docker ハンズオン / docker-hands-on
suzukihoge
48
15k
syndicationd LT
ymgyt
0
110
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
Designing for Performance
lara
601
67k
Scaling GitHub
holman
456
140k
Atom: Resistance is Futile
akmur
258
25k
Raft: Consensus for Rubyists
vanstee
130
6.2k
The Invisible Customer
myddelton
114
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
Why Our Code Smells
bkeepers
PRO
330
56k
Happy Clients
brianwarren
91
6.3k
Facilitating Awesome Meetings
lara
39
5.5k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.5k
Transcript
작은 오픈소스 3년 운영기 박아윤
[email protected]
소개 현) 토큰넥스트, 대표 - 파이썬3 전) 넥슨 코리아, 데이터
엔지니어 - 파이썬3 레이니스트, 소프트웨어 엔지니어- 파이썬2 소프트웨어 마에스트로, 3기 연수생- 파이썬2 스포카, 프로그래머 - 파이썬2, 3 애드크레딧, 테크니컬 리더 - 파이썬 2, 3 해킹방어대회, 해커 - 파이썬2
메인테인 - bson / ★ 246개 <- 이걸 주로 이야기
합니다. - base65536 / ★ 51개 - initpy / ★ 45개 - hayeonsoo / ★ 33개 - pyprice / ★ 22개 - fclear / ★ 12개 전부 파이썬 프로젝트
None
None
None
None
None
Binary JSON
>>> bson.dumps({“Life”: “is to short”}) b'\x1b\x00\x00\x00\x02Life\x00\x0c\x00\x00\x00is to short\x00\x00'
Fast Additional data types ( UUID, MD5, Decimal, UTC datetime
… ) Ordered fields
아무개 패키지를 사용하다가 버그 발생
디버깅을 계속 해보니 BSON이라는 패키지에서 이상한 점 발견
정보를 얻고자 BSON의 Github에 접속했으나 메인테인이 안되고 있는 상황을 파악
None
“잘 쓰고 있어요! 그런데 메인테인이 안되고 있네요. 그래서 제가 BSD
라이센스로 포크했어요.”
왜 BSD 라이센스? 연속성과 더불어 가장 제약이 없기 때문에!
Martin Kou 님으로 부터 회신 도착 “안그래도 바빠서 못하고 있었어요.
대신 맡아준다면 저도 환영이에요.”
>>> bson.dumps({“Life”: “is too short”}) b'\x1b\x00\x00\x00\x02Life\x00\x0c\x00\x00\x00is too short\x00\x00' 크기 타입
키 벨류
>>> bson.dumps({“Life”: “is too short”}) encode_document({“Life”: “is too short”}) ->
IO 생성 encode_value(“Life”, “is too short”}) -> IO에 쓰기
>>> encode_document({“Life”: “is too short”}) >>> encode_value(“Life”, “is too short”)
String IO String IO{“Life”: “is too short”}
첫 커밋
setup.py README LICENSE Continuous Integration
Python3 호환성 작업 SIX (2 * 3) 리터럴 (b) BytesIO
(CStringIO)
첫 PR
>>> bson.dumps({“Life”: “is too short”}) b'\x1b\x00\x00\x00\x02Life\x00\x0c\x00\x00\x00is too short\x00\x00' 크기 타입
키 벨류
None
None
None
None
None
None
None
None
None
None
기능 작성 X PR도 대부분 버그 픽스
무엇을 어떻게 하지...
죽지 않는 프로젝트가 되게 하자! 이슈, PR은 계속 확인 머지하면
바로 릴리즈 위 2개만 열심히 해서 0.3.3에서 0.5.6까지 릴리즈
남은 2가지 과제 레거시 코드 (문제는 없으나 더 잘 작성하고
싶음) 이름 변경 (bson -> pybson, pymongo 충돌 문제)
그래서 우리는 오픈소스를 통해서 여러 다양한 개발자와 커뮤니케이션을 통해서 다양한
코드와 구현 방법을 배울 수 있습니다.
그래서 우리는 오픈소스를 위해서 깃허브나 깃랩, 비트버켓에 접속하여 관심있거나 쓰고있는
프로젝트에 기여를 해보는건 어떨까요?
@daleobrien, @hildjj, @eklitzke, @michael-cfchan, @jchia, @msabramo, @jpaalasm, @mnuhn, @andreas, @nadirhamid,
@stevei101, ???, @frewsxcv, @kived, @mmontagna, ???, @davidnoor, @Curzy, @buhman, @masipcat, @marfx000, @petri, @Bezbran, @mbjerkness, @xiaobin83, @kived, @awesomebytes, @borisrozumnuk, @ilius, @daviddavis and issue reporters Thank you very much
Q & A