Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PyCon Korea 2018 작은 오픈소스 3년 운영기
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ayun Park
August 21, 2018
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PyCon Korea 2018 작은 오픈소스 3년 운영기
Ayun Park
August 21, 2018
Other Decks in Programming
See All in Programming
FreeBSDでZabbixを動かす
kenkino
0
320
JRuby: Past, Present, and Future
headius
0
190
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
2
300
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
760
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
0
170
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
310
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
270
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
190
wkhtmltopdfの次どうするか問題2026
willnet
2
1.6k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
180
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Documentation Writing (for coders)
carmenintech
77
5.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
YesSQL, Process and Tooling at Scale
rocio
174
15k
4 Signs Your Business is Dying
shpigford
187
23k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Technical Leadership for Architectural Decision Making
baasie
3
580
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
820
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
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