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
240
PyCon Korea 2018 작은 오픈소스 3년 운영기
Ayun Park
August 21, 2018
Tweet
Share
Other Decks in Programming
See All in Programming
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
650
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
300
GoとPHPのインターフェイスの違い
shimabox
2
220
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.9k
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
130
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
510
CloudRun, Spanner に対する負荷試験の反省と オブザーバビリティによるアプローチ
oyasumipants
1
160
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
830
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1.2k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
344
40k
4 Signs Your Business is Dying
shpigford
183
22k
Fireside Chat
paigeccino
35
3.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
The Language of Interfaces
destraynor
156
24k
Building Applications with DynamoDB
mza
93
6.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Why Our Code Smells
bkeepers
PRO
336
57k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Automating Front-end Workflow
addyosmani
1369
200k
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