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
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
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
270
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
660
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
180
ActionController meets Protocol Buffers
sorah
0
550
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
250
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
APNsからLive Activityを開始する話
yumnumm
0
170
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
Leo the Paperboy
mayatellez
10
2.4k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
How GitHub (no longer) Works
holman
316
150k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Making Projects Easy
brettharned
120
6.8k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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