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
Netty 13년
Search
Trustin Lee
August 30, 2015
Technology
4.7k
20
Share
Netty 13년
Keynote at PyCon KR 2015 on 30-Aug-2015
Trustin Lee
August 30, 2015
More Decks by Trustin Lee
See All by Trustin Lee
Introducing Armeria (or Three Principles of a Good Framework)
trustin
2
450k
Writing a Java library with better experience
trustin
0
470
Armeria: A microservice framework well-suited everywhere
trustin
1
2.3k
Armeria: The Only Thrift, gRPC, REST Microservice Framework You'll Need
trustin
3
17k
Open Source Sprint: Planning to Execution
trustin
3
910
Central Dogma: LINE's Git-based highly-available service configuration repository
trustin
0
52k
Building Asynchronous Microservices with Armeria
trustin
4
33k
학생을 위한 직업 소개 - 프로그래머
trustin
4
4k
Buffer allocation and leak detection in Netty
trustin
6
2.4k
Other Decks in Technology
See All in Technology
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
920
組織の中で自分を経営する技術
shoota
0
220
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
570
Kaggle未経験社員をメダリストに育てる「AIドラゴン桜」
lycorptech_jp
PRO
0
650
海外カンファレンス「JavaOne」参加レポート ユーザー系IT企業における目的・成果/JavaOne Report Purpose and Results in the User IT Company
muit
0
110
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
170
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
320
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
520
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
250
権限管理設計を完全に理解した
rsugi
2
230
【ハノーバーメッセ振り返りイベントat名古屋】データは集約からAI起点の収集に ~組織内・組織間でのデータ連携~
tanakaseiya
0
140
Featured
See All Featured
Scaling GitHub
holman
464
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Music & Morning Musume
bryan
47
7.2k
Building Applications with DynamoDB
mza
96
7.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Between Models and Reality
mayunak
4
310
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
HDC tutorial
michielstock
2
680
Six Lessons from altMBA
skipperchong
29
4.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
Netty 13년 이희승 (@trustin) Aug 30, 2015
Netty 는 … ▸자바 프레임워크 ▸클라이언트 · 서버 소켓 개발을
쉽고 빠르게 ▸빠르지만 유지보수 가능하게 ▸비동기 ▸이벤트 기반
Many organic. Very forks. Wow! ▸2014 vs. 2015 ▸160+ people
in repo history ▸22nd most starred Java/Android project ▸17th most forked Java/Android project
사용 분야 ▸웹 서비스 ▸인스턴트 메시징 ▸멀티플레이어 게임 ▸스토리지 ·
데이터베이스 ▸고빈도 거래 (HFT) ▸미디어 스트리밍
왜 만들기 시작했나? ▸이통 5사 연동 SMS 게이트웨어 개발을 하다
보니… ▸전문 형식은 다른데 전문 흐름은 공통 ▸전문 해석과 비즈니스 로직을 분리하고 싶다. ▸받은 전문에 반응하는 것이 대부분 ▸GUI 개발하듯 이벤트 기반으로 개발하고 싶다.
(사실) 라이브러리 개발이 좋아서… “짜라는 A 는 안 짜고 libA
를 먼저 만든다!”
왜 공개했는가? ▸오픈 소스에 대한 관심 ▸소통에의 욕구 ▸세계가 쓰는
소프트웨어를 만들고 싶다? ▸… 그냥 재미로? ▸… 관심받고 싶다? ▸여러분, 저도 13년전의 제 마음은 정확히 모릅니다;
그래도 지난 13년간 느낀 점이 있을텐데?
재미있다 ▸내 프로젝트에 '사용자'가 생겼다! ▸내 곁에 필요성을 이해하는 사람들이!
▸나는 여기선 ▸Chief Technology Officer ▸Chief Customer Officer ▸The God of the Project! ▸누구도 나의 속도를 막지 못해! ▸“버그가 있다구요? 오늘 고쳐서 릴리즈해드리죠!”
재미없다 ▸충분히 운이 좋아서 프로젝트가 성장한다면 … ▸재미없는 일이 생기기
시작합니다. ▸아니 발표자 양반, 이게 무슨 소리요? ▸numReportedIssues >>>>>>> numPullRequests ▸일을 많이 하면 일이 더 생기는 매직 ▸내가 싼 똥에 내가 자빠진다 ▸또라이 질량 보존의 법칙
그것은 위기이자 기회 ▸어떻게 갈등을 해결할 것인가 ▸기술적 · 인적
▸한 발짝 물러서서 문제를 보자 (이쯤되면 거의 인생수업…)
내가 다 해결할 필요는 없다 ▸위임할 수 있는 일도 혼자서
짊어지고 있는 것은 아닌지? ▸“We ♥ pull requests!” ▸“Are you interested in joining the team?” ▸기계에게 위임할 수 있는 일도 많다.
어떤 문제는 시간이 필요하다 ▸“이 기능이 우리 <초 유명 회사>
에서 꼭 필요한데...” ▸서둘러 내놓은 기능은 종종 똥입니다. ▸오픈 소스의 강점인 'doing things right'을 명심! ▸아이디어의 숙성 ▸충분한 사용자 피드백 수렴 ▸다양한 선택지의 검토 ▸잊고 지내면 문제가 다르게 보이기도?
키보드 워리어가 되기 전에 ▸모든 것이 부정적으로 보일 때 ▸과잉반응하는
것은 아닐까? ▸내가 문제인가, 프로젝트가 문제인가 ▸청취의 기술 · 비폭력대화 ▸“Hey, could you help me understand your problem?” ▸Do not feed the troll!
그런데 어째서 이 모든 문제가 내게 …
당신이 그 프로젝트를 (잘) 했기 때문이에요!
영원히 겪을 문제들 ▸numIssues >>>>>> teamVelocity * lifeExpectancy ▸Work-Life-“OSS” balance
· symbiosis ▸Competitors and Disruptors ▸분산된 멤버와의 커뮤니케이션 ▸하위 호환 · 마이그레이션 ▸생각지 않았던 용법 ▸문서화 ▸…
“내가 혹시 '프로젝트의 노예 13년'을 찍고 있나?”
그럼 그걸 왜 하고 있죠? ▸(힘들 때) ▸“사실 저도 잘
… 관성;?” ▸(좋을 때) ▸더 높은 목표를 향한 전진 ▸생면부지의 동료와 함께하는 기술적 · 인간적 성장 ▸(끝내줄 때) ▸세상을 더 나은 곳으로 만들어가는 과정 그 자체
여러분도 한 번? ▸시작도 전에 걱정은 금물! ▸과정 >>>>>> 결과
▸Doing things right ▸Promoting your work ▸Working altogether alone ▸Embracing new ideas and challenges
감사합니다 이희승 (@trustin)