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
[ConSalad 05] from banksalad import python
Search
Sunghyun Hwang
August 24, 2019
Technology
0
150
[ConSalad 05] from banksalad import python
[5회차 콘샐러드]에서 발표한 [from banksalad import python] 발표 자료입니다.
Sunghyun Hwang
August 24, 2019
Tweet
Share
More Decks by Sunghyun Hwang
See All by Sunghyun Hwang
MongoDB in Banksalad
sunghyunzz
0
390
from banksalad import python
sunghyunzz
0
770
사실주의 베이컨
sunghyunzz
1
77
Clean Architecture (in Android) Revised
sunghyunzz
1
980
학습하는 조직과 Python: 뱅크샐러드 사례를 중심으로
sunghyunzz
2
1.9k
The Secrets of Cooperation
sunghyunzz
0
460
Pragmatic Python
sunghyunzz
1
140
Practical FP in Kotlin
sunghyunzz
4
1.2k
Akka (Actor) in Practice
sunghyunzz
0
430
Other Decks in Technology
See All in Technology
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.3k
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
680
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
730
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
400
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
120
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
370
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
120
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.7k
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
The World Runs on Bad Software
bkeepers
PRO
67
11k
GitHub's CSS Performance
jonrohan
1030
460k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Statistics for Hackers
jakevdp
797
220k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Transcript
from banksalad import python Sunghyun Hwang
• I ❤ Python (2014~) • I " ߛ࢟۞٘ (2014
~) • ߛ࢟۞٘ ࢲ࠺झ ୡӝ ѐߊਸ • ߛ࢟۞٘ ݃۽ ࢲ࠺झ ߈ ࢸ҅ ߂ ѐߊਸ • Twitter @_sunghyunzz / GitHub @sunghyunzz ߊ
য়ט ߊח 1. ߛ࢟۞٘ܳ ୡӝী ٜ݅ݴ ղ۷؍ ӝࣿ ࢎѾਸ ࢸݺೞҊ
2. Ӓ җীࢲ য Pythonਸ ইب ੜ ॳҊ ח 3. ӒܻҊ ߛ࢟۞٘ য٣ী যڌѱ Pythonਸ ഝਊೞҊ ח
2014-2015
2015 ߛ࢟۞٘ ߡ 1 • द 5ݺ • ۠ Ѣ
ٜ݅যࠁݶ যڄө? • ٘ ୶ୌ ࢲ࠺झ
2015 ߛ࢟۞٘ ߡ 1 • द 5ݺ • ۠ Ѣ
ٜ݅যࠁݶ যڄө? • ٘ ୶ୌ ࢲ࠺झ
2015 ߛ࢟۞٘ ߡ 1 • द 5ݺ • ۠ Ѣ
ٜ݅যࠁݶ যڄө? • ٘ ୶ୌ ࢲ࠺झ
None
""
None
୶ୌ࢚ো ഥ ୶ୌࣗਃदр T݅
୶ୌ࢚ো ഥ ୶ୌࣗਃदр T݅
" "
୶ୌ࢚ো ഥ ୶ୌࣗਃदр T݅
" "
୶ୌ࢚ো ഥ ୶ୌࣗਃदр T݅
" "
ߡ 1 যܳ ੜޅ Ҏۄ ݎೡ ഛܫ ҳܽ ࢲ࠺झܳ ٜ݅য
ݎೡ ഛܫ
ߡ 1 যܳ ੜޅ Ҏۄ ݎೡ ഛܫ ҳܽ ࢲ࠺झܳ ٜ݅য
ݎೡ ഛܫ A P D O
ߡ 1
ߡ 1 • ٘ ୶ୌਸ ೞ۰Ҋ ٘ܳ DBীࢲ ࠛ۞য়חؘ दр
х • ܻо ߓ Ѫ • ഌఖਸ ҅ೞӝ ী ٘ ؘఠо ցޖ ழࢲ पदрਵ۽ ഝਊೞӝ ൨ٜ • Ѥ ੌױ DB ؘఠܳ যڌѱ ࡅܰѱ ܻೡ Ѫੋী ೠ ޙઁҳա
ߡ 2 • DBীࢲ ؘఠܳ оઉয়ח ѱ ইפۄ ҅ оמೠ
ഋక۽ நय೧ࢲ ࢎਊ • ٘ ഌఖ ؘఠח ࠼ߣೞѱ ߄Շח ؘఠо ইש
ߡ 2 • Redis/Memcached vs Ӗ۽ߥ • Ӗ۽ߥ ഛप উ౭
ಁఢ • Ӓؘ۠ উ౭ ಁఢ ٸޙী ݎೡө? (ࢲ࠺झо ҳ۰ࢲ ݎೞ ঋਸө?) • ೞܖۄب ࡈܻ పझ೧ࠁҊ ࢎস ח ѱ ի ঋਸө?
ߡ 2 • Redis/Memcached vs Ӗ۽ߥ • Ӗ۽ߥ ഛप উ౭
ಁఢ • Ӓؘ۠ উ౭ ಁఢ ٸޙী ݎೡө? (ࢲ࠺झо ҳ۰ࢲ ݎೞ ঋਸө?) • ೞܖۄب ࡈܻ పझ೧ࠁҊ ࢎস ח ѱ ի ঋਸө?
ߡ 2 • Redis/Memcached vs Ӗ۽ߥ • Ӗ۽ߥ ഛप উ౭
ಁఢ • Ӓؘ۠ উ౭ ಁఢ ٸޙী ݎೡө? (ࢲ࠺झо ҳ۰ࢲ ݎೞ ঋਸө?) • ೞܖۄب ࡈܻ పझ೧ࠁҊ ࢎস ח ѱ ի ঋਸө?
ߡ 2 • Redis/Memcached vs Ӗ۽ߥ • Ӗ۽ߥ ഛप উ౭
ಁఢ • Ӓؘ۠ উ౭ ಁఢ ٸޙী ݎೡө? (ࢲ࠺झо ҳ۰ࢲ ݎೞ ঋਸө?) • ೞܖۄب ࡈܻ పझ೧ࠁҊ ࢎস ח ѱ ի ঋਸө? A P D O
ߡ 2 • Redis/Memcached vs Ӗ۽ߥ • Ӗ۽ߥ ഛप উ౭
ಁఢ • Ӓؘ۠ উ౭ ಁఢ ٸޙী ݎೡө? (ࢲ࠺झо ҳ۰ࢲ ݎೞ ঋਸө?) • ೞܖۄب ࡈܻ పझ೧ࠁҊ ࢎস ח ѱ ի ঋਸө? A P D O
ߡ 2 • Ӗ۽ߥ dictীࢲ ч ࠛ۞৬ যڌѱٚ ҅ೞب۾ ݅ٝ
• ই ބद וܻ݅ ೠ 10ୡ ӝܻݶ Ѿҗо աয়ӟ ೣ
ߡ 2 • Ӗ۽ߥ dictীࢲ ч ࠛ۞৬ যڌѱٚ ҅ೞب۾ ݅ٝ
• ই ބद וܻ݅ ೠ 10ୡ ӝܻݶ Ѿҗо աয়ӟ ೣ
ߡ 2
ߡ 2 • ೠߣ द೧ࠁפ ೠ ׳ী 100ݺ ب ॹ
(যڌѱ য়न Ѥ ցޖ नӝ) • ҅ ۽ ߡӒ ৻ী ޙઁח হ
None
None
ߡ 2 • ܻо ߓ Ѫ • ࢎਊח ݒ ݅
য૰ٚ ޥо ߓח ѱ ח ೞܖೞܖ • ਃۧѱ ߄Բפ ജਯ ۧѱ غחҳա! • ࢎਊ݅ ખ ݆ਵݶ (ই ) ݒ զ ࣻח ਸ Ѫ эؘ?
• ؊ ݆ ࢎਊо ॶ ࣻ যঠ ೠ (Ӓۡ оо
য ࠁ) • Ә ࢿמ ޙઁ ࠗ࠙ ো • DBח Ӗ۽ߥਸ ਬೠ (Ӗ۽ߥ పܳ ೱ೧) ߡ 3
• CPython ࢿמীࢲ ডೠ ޙઁ ਬഋٜ • ܻࣻ ো? numpy,
numba ١ (Ӕؘ ইש) • ա ۽Ӓې߁ Ӓր ؊ ੜ ٜ݅যঠ ೞҊ যо ࢿמ જইঠ ߡ 3
• द ঌҊ્ܻ ࢸ҅ • ঌҊ્ܻ ഥ ࢚ࣻ न... •
࠙ ߧੋੌ ܻ হয... Ӓۧݶ.... • Pythonਸ աܳ ܻ ݽفо ߧੋ ߡ 3
• فֱ ಽоز • Python vs {Go, C++, Java, Scala,
... } • Python উীࢲ হਸө? • ܻ णਸ 3ѐਘ ب ܙ ݅ఀ оח Ѿੌө? ߡ 3
ߡ 3
• Cython • .pyx۽݅ ߄Լب ઑӘ ࡈۄ ӝ࠙ • ೨ब
غח ۽ਸ Cythonਵ۽ ҳഅ ژח Cܳ (ই ࠗ࠙ਵ۽) ࢴӝ द ߡ 3
• ܻо Ѫ • ٘ ୶ୌ ߡౡਸ ־ܰݶ 4~5ୡ
റী Ѿҗо աৡ • উੋ ࢲ࠺झ ਸ য۵ѷ • Ӓؘ۠ ب о աয়֎? ߡ 3
• ܻо Ѫ • ਵ۽ ݒ ߊࢤ • оמࢿਸ
ੋ߉ই ై ਬ. хࢎפ ߡ 3
• উҊ ࢿמ જ ࢲ࠺झܳ ݅٘ח Ѥ ࠺Ү ഛपೠ ߑߨٜ
ઓೠ • স҅ de facto standard, best practicesח ઓೞҊ աח ӒѦ ঌইղݶ ػ • (ো) ݺഛೞҊ ए Ѥ ইפ. উࢿ ט য۰ ب җઁ. ߡ 3
• (߈ݶী) ࢎۈٜ ૌѹ ࢎਊೞח ઁಿਸ ݅٘ח Ѥ ۧ ೡ
উ হ • ؊ٞ؊ٞ ߑೱਸ ઑೞݴ оঠ ೣ • ܻ ѐߊ ۚ যڌѱ ೞݶ ߑೱਸ ࡈܻ ઑೡ ࣻ ਸө? • ӡ ੜޅػ ӡۄח Ѧ যڌѱ ೞݶ ؊ ࡈܻ ঌ ࣻ ਸө? ߡ 3
2016
2016֙ Ҋ • ؊ ݆ ࢎۈ ٘ ୶ୌਸ ߉ওਵݶ •
নҗ ജਯ ل ӓਵ۽ ৢܻҊ रয
2016֙ Ҋ • पܻ ߖܻ झఋੌ۽ Ҧੋ ഄन ই٣য •
"؊ ࢚ ٘ܳ ݃ࣁਃ. ೧ઉ Ҋ ք Ҋܰӝ݅ ೞݶ ظ" • ࢎۈٜ ࣗ࠺ ؘఠܳ ߄ఔਵ۽ о જ ٘о ೦࢚ ҅ػ ࢚క۽
2016 ߡ 1 • ࣗ࠺ ؘఠܳ যڌѱ ? • ੌױ
Android ӝળਵ۽ ٘ Ѿઁ ޙܳ ഝਊೞݶ যٸ? • Ӓۢ iOSח? • ੌױ աী ࢤпೞ
2016 ߡ 1 • ড 2׳ ѐߊೞҊ दө 3׳ •
ޙܳ ੍য৬ ա ղਸ ޥо ӭՔೞҊ ࢁѱ ࠁৈળ • য٥о ൩-೧!
2016 ߡ 1 • ঌѱ ػ Ѫ • জਸ ੜ
ࢎਊೞח ࢎۈٜ ٘ܳ ୶ୌ߉Ҋ ੜ ॵ • ৵? • d • ż
2016 ߡ 1 • ঌѱ ػ Ѫ • Ӓؘ۠ জਸ
ੜ ࢎਊೞח ࢎۈ হ • ৵? • ٘ܳ ୶ୌೞ۰Ҋ ݅ٚ о҅ࠗ জ • ܻח ۠ Ѧ 'ҕә ब' 'ब ӝദ'ۄҊ ݺݺ
2016 ߡ 1 • ঌѱ ػ Ѫ • Ӓؘ۠ জਸ
ੜ ࢎਊೞח ࢎۈ হ • ৵? • ٘ܳ ୶ୌೞ۰Ҋ ݅ٚ о҅ࠗ জ • ܻח ۠ Ѧ 'ҕә ब' 'ब ӝദ'ۄҊ ݺݺ
2016 ߡ 2 • ٘ ୶ୌ (ੌױ) ߡܽ • ೠҴ
о҅ࠗ ࢎਊٜ ݈ જইೞח о҅ࠗ জਸ ೠߣ ٜ݅যࠁ • (ৡ/য়ۄੋী) ݆ ࢎیਸ ߉ח о҅ࠗܳ ઑࢎೞח ؘ • (Ѣ о҅ࠗ ҕೞन٠ೠ) о҅ࠗ ࠺ ਬ 30ݺ ب ੋఠ࠭ • ݈ хࢎפ
2016 ߡ 2 • ٘ Ѿઁ ޙ ӝ߈ • ই
࢜۽ ష۽(Kotlin) Android জਸ ࢜۽ ݅ٝ • ޛۿ ҅ࣘ ࢲߡח Python ӝ߈ • ড 3~4׳ ب ѐߊ റ द • рр ղࠗ दܳ ా೧ ࢎਊٜ ೖ٘ߔ
2016֙ ߛ࢟۞٘ • (೯) Ԩ ҡଳ জ غযх •
ੌױ ࢎਊਸ दೞݶ Ԩ ݆ ࢎਊо ҅ࣘ ࢎਊೠ • ܻо ঌѱ ػ Ѫ • о҅ࠗ৬ ٘ ୶ୌ Ҿ Ԩ ҡଳ • о҅ࠗ ࢎਊٜ ਗೞח о҅ࠗ জ ݽणਸ (ઑӘ) ঌѷ
2017→2019
അ ߛ࢟۞٘ח • о҅ࠗ জਸ ֈয ݽٚ ҃ઁ ੋҳ ت
ҙܻ জਵ۽ աইоח • ܻ تҗ ҙ۲ೠ নೠ بݫੋ ؘఠܳ ੜ ݽਵҊ ੜ ܻೞח ؘ
ߛ࢟۞٘ח बয 10% 5% 15% 70% Python Scala Others Node
• 70% ࢚ ٘о Pythonਵ۽ ࢿ • ۽ ࠗ࠙ ࢲߡܳ Pythonਵ۽ ࢿೣ • ױࣽ CRUD • Ԩ ࠂೠ ࠺ૉפझ ۽ ܻө • Ӓ ৻ যח п ࢎ • ইө աৡ ٘ ୶ୌ ࢲߡח ѾҴ Scala۽ ѐߊ (ref. ֙ ߊ ଵҊ)
ߛ࢟۞٘ח बয • Әਲ਼ࢎ৬ ޙ ాनب ରѱ Pythonਵ۽ • TMI:
ࠗ࠙ Java ӝ߈ਵ۽ ݆ ೣ • Pythonীࢲ ޙ ాन ખ ಞೞѱ ೞ۰Ҋ য়ࣗझب ݅ٝ • Rainist/K-Format • $ pip install K-Format
ߛ࢟۞٘ח बয • ٘ Ѿઁ ܻ ࢲ࠺झب ରѱ Pythonਵ۽ •
iamport хࢎפ • OOO ࢲ࠺झب ରѱ 100% Pythonਵ۽ ҳഅ • فӔفӔ ࠺࠺ ࢲ࠺झ
ߛ࢟۞٘ MSA • ݈ নೠ بݫੋ ઓೞҊ пп ਃҳ ࢎ೦
ݽف ܴ • ߛ࢟۞٘ ࢲ࠺झ ୡӝࠗఠ MSA ҳઑ۽ ٜ݅য য়ח • જ MSA ജ҃ ӝמ ױਤ۽ ࢲ࠺झо ੜѱ աҊ • ಞചীࢲ য়ח য۰ दझమ ࠁઑೞח ݽण
ߛ࢟۞٘ MSA • ࢜۽ ࢲ࠺झܳ ݅٘ח ѱ ݒ औ ঋਵݶ
ࢲ࠺झܳ ٜ݅ ঋח • ஞ MSAо ইפۄ ݻݻ ࢲߡо য়ࣚبࣚ ࢎજѱ ղח ݽण ػ • ۧѱ غݶ ࢲ࠺झо ߈ਵ۽ ࠺೧Ҋ दझమ ࠺ਊ ૐо
ߛ࢟۞٘ MSA • ࢎۈ טҊ بݫੋ טҊ ٘о טҊ ۨನо
טযաפ • ٘ܳ ੍ਸ ੌ ݒ ݆ইҊ • ٘ ܻ࠭о झఋੌ ਤ۽ ൗ۞оח উ જ ն࢜
ߛ࢟۞٘ MSA • ࢎۈ טҊ بݫੋ טҊ ٘о טҊ ۨನо
טযաפ • ࢜۽ ࢲ࠺झܳ ٜ݅ ٸ݃ ܻ ֢ೞܳ • ҳী ೧ ޙࢲܳ ੍যঠ݅ णغח ഋక۽ • ҕਬೞח Ѫ ࠺ബਯ
ߛ࢟۞٘ MSA • Python Project Template • Cookie Cutterܳ
ਊ • Rainist/python • Rainist/cookiecutter-sanic • ؊ ࣁೠ Ѥ @ѹש ߊ ଵҊ (YouTubeী 'ߛ࢟۞٘')
ߛ࢟۞٘ח খਵ۽ • ܽ ৈ (ࡅܰѱ) ࢿ ੋ ઑҊ ҅ࣘ
णೞח ઑ • ӒܻҊ ۠ ઑਸ ਬೞח ࢚ (ই݃) Python ҅ࣘ ਃ যੌ Ѫ • Ӓ۞ա അ ߛ࢟۞٘ח ࢎਊب ݆Ҋ ࢲ࠺झ ӏݽب ࢚క • ղࠗীࢲח ݃۽ ࢲ࠺झ ౭য݂ਸ ా೧ п ࢲ࠺झ ౭যܳ ݒӝח • ࢲ࠺झী ೱਸ ՙח ౭য 0 ࢲ࠺झী ೧ࢲח ખ ؊ উtype-safeҊ ࢿמী ъ ח ܲ য द Ҋ۰
ߛ࢟۞٘ח খਵ۽ • ܻо ੌೞח ߑध • ߛ࢟۞٘ۄח ܴ
ইې 10ݺ ӏݽ झఋসٜ • п ઑ ߛ࢟۞٘о ୡӝী Ѧযৡ Ѫҗ э ࡅܰѱ णী • ѾҴ ߛ࢟۞٘ח Python ਸ ҅ࣘ ӓਵ۽ ഝਊೞӝܳ ਗೡ Ѫ
؊ ݆ ࠁח • Ӓېࢲ ߛ࢟۞٘ীࢲ Python ࢲߡ ۨਕח? •
ઑӘ റী ਸ [The Right Frameworks for the Right Time] ࣁ࣌ • ߛ࢟۞٘ ղ Python ࢎਊ Ե ҳࢳҳࢳ • YouTubeী 'ߛ࢟۞٘' Ѩ࢝ റ 3ഥର ࢟۞٘ ѹש ߊ ࢚ ࠁӝ • Rainist GitHub ߑޙ (https://github.com/Rainist) • ӝࣿ ୶ҳೞח оח Rainist/awesome-rainist • ߛ࢟۞٘ ࠗझ ߑޙ (ݣܻ ࠁח ୡ۾࢝ܳ ٮۄ...)
഻ঁ ؊ ݆ ࠁח
We Want You Python • Server Side Engineer • DevOps
Engineer • Data Engineer • Data Scientist • Data Analyst • Machine Learning Engineer • Test Automation Engineer And... • Android Engineer • iOS Engineer • Web Engineer • QA Engineer • SRE • Infra Engineer • System Engineer • Security Engineer ❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤ ❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ഻ঁ ؊ ݆ ࠁח