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
エンジニアとしてのスタメンを掴むまで 〜「逆算のキャリア設計」 #bpstudy
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shinichi Nakagawa
PRO
April 20, 2018
Business
2.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
エンジニアとしてのスタメンを掴むまで 〜「逆算のキャリア設計」 #bpstudy
#BPStudy 128 登壇資料(2018/4/20)
#キャリア #エンジニア #野球
Shinichi Nakagawa
PRO
April 20, 2018
More Decks by Shinichi Nakagawa
See All by Shinichi Nakagawa
LLMの出力を"いい感じに"する技術 / Taming LLM Output: AI Agent Design Patterns with FastAPI
shinyorke
PRO
4
2.3k
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
750
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
1
760
自らを強いエンジニアにするための3つの習慣 2025/ Fitter happier more productive
shinyorke
PRO
0
330
生成AI時代におけるSREの進化とキャリア戦略 / Building an Embedded SRE team and my career
shinyorke
PRO
0
190
生成AIを活用した野球データ分析 - メジャーリーグ編 / Baseball Analytics for Gen AI
shinyorke
PRO
1
6.8k
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
3
9.8k
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
600
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball
shinyorke
PRO
2
5k
Other Decks in Business
See All in Business
I Ran 30+ GEO Experiments So You Don't Have To: What 200M AI Citations Say Actually Works
thomaspeham
1
150
三井物産グループのデジタル証券~文京区目白台・学生レジデンス~徹底解説セミナー
c0rp_mdm
PRO
0
440
エムスリーキャリア エンジニア採用資料 / M3C Engineer Guide
m3c
2
120k
Steamで売れないゲームに共通する失敗パターン
hirohasuyoutube
0
300
さまざまなサイズにおける巻き込み方と伝え方 / OSO2026
daiksy
3
930
向山純平 メニュー表 / Junpei Mukouyama – Professional Services
mj6237
3
330
採用ピッチ資料(2026年8月版)|ナカソネ住設株式会社
nakasonejusetsu
0
440
Sasuke Financial Lab 会社概要
sasukefinanciallab
0
640
株式会社ナーシング_採用資料
hr1nursing
0
140
第47期_決算説明会.pdf
tsuchihashi
0
200
freeeの福利厚生と働き方
freee
PRO
1
110k
アジャイルのインストールと実践 ~導入の軌跡と現在地~
nakahara
0
300
Featured
See All Featured
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Leo the Paperboy
mayatellez
10
2.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
560
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
470
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Agile that works and the tools we love
rasmusluckow
331
22k
Transcript
ΤϯδχΞͱͯ͠ͷελϝϯΛ௫Ή·Ͱ ʙʮٯࢉͷΩϟϦΞઃܭʯͱઓʙ Shinichi Nakagawa(ωΫετϕʔε ٿΤϯδχΞ݉CTO) BPStudy #128 2018/4/20(Fri) ※Ҿ༻ɿOakland Athletics(@Athletics)
https://twitter.com/Athletics/status/983851721926500353
ಥવͰ͕͢ օ͞Μʹͪΐͬͱͨ͠ ٿΫΠζͰ͢
͜ͷνʔϜ(OAK)ʹηϯλʔ(CF)ΛͤΔ ʮଧͯΔʯελϝϯީิ͕͍·ͤΜ ଧ.200Λલޙ͢Δબख͕ଟ͘ɺͲΜ͙Γͷഎൺঢ়ଶ ଧग़ͳ͍͠कඋ·͋ී௨ɺɺɺͱߟ͍͑ͯͩ͘͞ ※ެද͞Ε͍ͯΔσʔλ(MLBެࣜͳͲ)ʹج͍͓ͮͨͰ͢ ελϝϯ ֬ ઌൃख(ସΘΓ) ※ίίɾۭ੮ w
w w w
̍ɿ͋ͳ͕ͨಜɾGMͩͬͨΒ 1. ʲݱঢ়ҡ࣋ʳ͍͔ͭଧͭ͜ͱΛظ͠ɺ ʮզຫʯͯ͠͏ 2. ʲΧΠθϯʳଧͯΔଞͷબखΛίϯόʔτʢकඋҐ ஔมߋʣͯ͠ى༻ɺηϯλʔͷબखΛ߇͑ʹམͱ͢ 3. ʲมֵ͢ΔʳଞνʔϜ͔Β͍͍બखΛ֫ಘ͢Δ͔ɺ ϚΠφʔ͔Βকདྷ༗ͳબखΛ্͛ͯ͏
ࠓͷબखΫϏʹ͢ΔʢϚΠφʔ߱֨orઓྗ֎ʣ
ʲʳͯ͋͢Γ͑Δ • νʔϜͷঢ়گɾཁૉͰऔΓಘΔ͑มΘΔ • ʲώτʳΘΓͷબखͷ༗ແʢϚΠφʔؚΊʣ • ʲ͓ۚʳ༧ࢉͷ༗ແɾ֤બखͱͷܖঢ়گ • ʲ࣌ظʳώτ×͓ۚͷֻ͚ࢉ͓Αͼγʔζϯͷঢ়گʹ߹Θͤ •
νʔϜ͕উͭʢṶ͔ΔʣͨΊʹʁͱ͍͏େ͖ͳΠγϡʔʹ ج͖ͮ͑Λग़͢ˠઈରతͳ͑ଘࡏ͠ͳ͍ ˞ͨͩ͠ɺ͑ͷʹνʔϜΧϥʔग़Δস
͏Ұ
̎ɿ͋ͳ͕ͨCFຊਓͩͬͨΒ 1. ʲઓ͏ʳͬͱଧͯΔΑ͏ʹ͕ΜΔ ࠓ͍ΔϙδγϣϯΛ࣮֬ʹ͢ΔྗΛ͢Δ 2. ʲकΔʳࠓͷϙδγϣϯʢସΘΓηϯλʔʣΛΜͯ͡ ड͚ೖΕΔ νʔϜʹΔࣄΛ࠷༏ઌ͢Δ 3. ʲಈ͘ʳνʔϜΛग़͍ͨʂͱر͠ɺଞٿஂɾଞࠃϦʔά
ͷҠ੶Λࡧ͢Δ ৽ఱͰϙδγϣϯΛ௫Ή
ʲʳͯ͋͢Γ͑Δ…͕ʂʁ • ʲઓ͏ʳଞͷνʔϜϝΠτʹউͯΔݟࠐΈ͋Ε͕Μͬ ͯྑ͍Ͱ͠ΐ͏ • ʲकΔʳελϝϯണୣ͘͠ΫϏͷڪාͱઓ͍ͳ͕Β ࠓͷҐஔ͔Βಈ͔ͳ͍ͷΞϦͰ͠ΐ͏ • ʲಈ͘ʳελϝϯʹͩ͜ΘΔɺࢼ߹ʹग़͍ͨʂͷͰ͋Ε Ҡ੶͢ΔͷΞϦͰ͠ΐ͏ʢҾ͘ख͕͋Εʣ
• …Ͱ͕͢ɺϗϯτʹͦΕͰ͍͍ΜͩΖ͏͔ʁʁʁ
ελϝϯͱͯ͠ͷ ɾ࣮ྗΛຏ͘ ɾ৴པΛಘΔ ͜ͱ͕ແ͍ݶΓɺ Ԇʑͱ͜ͷঢ়گ͕ଓ͘ ʢݱΛҾୀ͢Δ·Ͱʣ
ΤϯδχΞҰॹͳͷͰʁ • ʑͷࣄʹࢥ͏ॴʢҙຯਂʣ͕͋ΔҰํɺئ͕ࢁ • Γ͍ͨ͜ͱ͕͋ΔʢςʔϚɺٕज़ɺݴޠetc…ʣ • ಌΕΔಇ͖ํ͕͋Δʢརްੜͱ͔ಉ྅ͷϨϕϧͱ͔ʣ • 5000ஹԁ΄͍͠ʢ㲈رͷڅྉΒ͑Δॴ͕͍͍ʣ •
͜ͷئ͕ͯ͢͏νʔϜͷʮελϝϯʯʹͳΓ͍ͨʂ ͬͯࢥ͍·ͤΜ͔ʁࢲৗʹʮελϝϯʯΛ௫Έ͍ͨͰ͢
ʮελϝϯʹͳΔΜͩʂʯ Λ࣮ݱ͢Δ ʮٯࢉͷΩϟϦΞઃܭʯ #ຊͷςʔϚ
͔͜͜Βຊ
Who am I ?(͓ͦͦલ୭Α) • Baseball Play Study(BPStudy)ͷൃද͔Β ϗϯτʹʮٿΤϯδχΞʯʹͳͬͨਓ •
Shinichi Nakagawa(@shinyorke) • ʢגʣωΫετϕʔε ٿΤϯδχΞ݉CTO • Pythonࣗ͘͘शࣨ(#rettypy)ΦʔΨφΠβʔ • #ηΠόʔϝτϦΫε #Python #ΞδϟΠϧ #ڕྉཧ
ʲCMʳωΫετϕʔε #ͱ • Innovations For All Athletes (શͯͷΞεϦʔτʹٕज़ֵ৽Λ) • τϥοΫϚϯ(υοϓϥʔϨʔμʔ)͔ΒಘΒΕͨٿσʔλΛղੳ͠,
ੳɾՄࢹԽΛߦ͏ϓϩμΫτʮBACS(όοΫε)ʯΛఏڙ • ٿΛத৺ͱͨ͠બखɾٿஂͷίϯαϧςΟϯάɾαϙʔτetc… • ৄͪ͘͜͠ΒͰˠ http://nextbase.co.jp/ • ΤϯδχΞ(Θͨ͠)͕JOINͨ͜͠ͱʹΑΓ,ࠓޙߋʹ໘ന͘͠·͢ʂ ※BACSʮBaseball Analytics and Coaching Systemʯͷུ
͜Ε͕BACS(όοΫε)Ͱ͢ ࠨ͕ٿσʔλͷղੳ&ՄࢹԽ,ӈ͕3Dي ಡചڊਓ܉(δϟΠΞϯπ)༷ʹಋೖ͍ͯ·͢(ࠓޙ֦େ༧ఆ)
ʲCMʳBaseball Geeks • ٿͷʮະདྷʯΛൃ৴͢ΔϝσΟΞͰ,ωΫετϕʔεͰӡӦ͍ͯ͠·͢ • σʔλɾεϙʔπՊֶͰ໌Β͔ʹͳͬͨ͜ͱΛʮΘ͔Γ͘͢ʯ͑Δ • ΈΜͳಡΜͰͶ&ϒΫϚΑΖ͘͠ʂ https://www.baseballgeeks.jp/
ʲCMʳPythonࣗ͘͘शࣨ #rettypy • ࢲͱRettyͷΤϯδχΞ͕ओ࠵͢ΔPython͘͘ձ • झࢫ&Ϟοτʔ • ֤ࣗ,͓Λ࣋ࢀͯ͠ʮࣗश(͘͘)ʯ͢Δ • ൃදɾࡶஊΛ௨ͯ͡ใަֶͼΛಘΔ
• ΠΠΰϋϯ(ϥϯνɾ͓ͭ)Λ༇͠Ή • ॳ৺ऀ͔ΒΤόϯδΣϦετ·Ͱଟछଟ༷ͳࢀՃϝϯόʔʢʹͳΔΑ͏ʹ্खͬͯ͘·͢ʣ • ։࠵༧ఆɾৄࡉRettyͷconnpassαΠτ͘͠ Twitterʮ#rettypyʯΛνΣοΫʂ https://retty.connpass.com • ͪͳΈʹ࣍ճ໌ʢ4/21 11:00ʙʣͰ͢
ࠓͷϋφγ…
#DevSumi2018 ͷϋφγͱ ٿΤϯδχΞʹͳΔ·ͰͷาΈʙເਖ਼ເ https://speakerdeck.com/shinyorke/ye-qiu-enzinianinarumadefalsebu-mi-meng-hazheng-meng-number- devsumi
GeekOut͞ΜͷίϥϜΛݩʹ ʮͳΔΜͩʂʯΛ࣮ݱ͢ΔʮٯࢉʯͷΩϟϦΞઃܭ ᴷ ٿΤϯδχΞͷઓ https://geek-out.jp/column/entry/2018/04/12/110000
ʮελϝϯΛ௫Μͩʯϋφγ • PythonɺΞδϟΠϧͦͯ͠BPStudyͱ͍͏ίϛϡχςΟͰͷ׆ಈ ͕ҰͭͷΩοΧέͱͳͬͯʮٿΤϯδχΞʯͱͯ͠ͷʮελϝ ϯΛ௫Μͩʯࢲ͕ • ࣄɾϓϥΠϕʔτɾίϛϡχςΟΛͲ͏Γͬͯ • ʮٿΤϯδχΞʹͳͬͨͷ͔ʯΛ;Γ͔͑Γ·͢ •
ʮελϝϯʹͳΔͧʂʯ͔ΒͷʮٯࢉͷΩϟϦΞઃܭʯ ͦͯࣗ͠͝ͷ׆ಈʹͭͳ͕ͬͯΒ͑Δͱخ͍͠Ͱ͢ #ຊͷ͓࢈
ຊ֮͑ͯؼͬͯཉ͍͠ࣄ ※ͨͬͨͷ3ͭͰ͢.
TL;DR(ຊ͓͍ͨ͜͠ͱ) • ʮ̋̋ΤϯδχΞʹͳΔΜͩʂʂʂʯ ͱ͍͏ڧ͍ҙࢤΛৗʹ࣋ͪଓ͚Δʂʂʂ ʮͳΓ͍ͨʯઈରʹμϝʂʂʂʂ • ඪɾܭըΛݴޠԽͯ͠ܧଓతʹ࣮ߦ͢Δ • ଞਓࣄΛؾʹ͠ͳ͍ɾεϧʔ͢Δ ࣗࣗͷࣄʹूத͢Δ
ʮͳΔΜͩʂʯ͕େ ʮͳΓ͍ͨʯμϝ ඪɾܭըɾ࣮ߦΛܧଓతʹ ΔͨΊͷϒϨͳ͍ҙࢤΛ #ࠓͷͷཁ
͔͜͜Βઌ ٿΤϯδχΞʹͳΔ·Ͱͷ ࣗͷੜهΛ͓͠·͢.
ຊ͓͢Δظؒ(είʔϓ) 2014ʙ2017(34ʙ37ࡀ)ͷ࣌ظΛৼΓฦΓ·͢
զࢥ͏ ʮΤϯδχΞͷελϝϯʯ #ͱ
զࢥ͏ʮΤϯδχΞͷελϝϯʯ • ᶃѹతͳʮΤϯδχΞͱͯ͠ͷڧΈʯΛ࣋ͭ • PythonͱΞδϟΠϧͷ͜ͱͳΒνʔϜ(ձࣾ)ͷ୭ʹෛ͚ͳ͍ • ͳΜͩͬͨΒ,ࠃ࠷ߴϓϨʔϠʔࢦ͢,ͰҰ͡Όͳ͍͍ͯ͘ • ᶄख·ͱ͍ʹͳΒͳ͍ఔͷʮϏδωεྗʯΛൃش͢Δ •
ࣗࣾαʔϏεͷυϝΠϯྖҬ(ࣄۀ+α)ʹର͢ΔѪͱࣝ • ࠷ݶͷίϛϡχέʔγϣϯ(ϓϨθϯεΩϧɾυΩϡϝϯτॻ͚Δྗetc…) • ᶃ + ᶄͷ͠ࢉʹݟ߹͓ͬͨڅྉΛ͍ͨͩ͘ʂ →ʮνϟϨϯδʯʮເʯΛཧ༝(ݴ͍༁)ʹσΟεΧϯτ(Լ͛)Λ͠ͳ͍
զࢥ͏ʮ͋Δ͖ΤϯδχΞʯ૾ 1. ࣾ֎ʹग़ͯෛ͚ͳ͍ΤϯδχΞͱͯ͠ͷ εΩϧΛ͚ͭΔ&ੈʹೝΊΒΕΔ 2. ΤϯδχΞεΩϧΛ׆͔͢Ϗδωεྗ 3. ʮऩɾڅྉͰͷଥڠܾͯ͠ڐ͞ͳ͍ʂʯ ओ؍ɾ٬؍྆ํͰࣗ৴Λ࣋ͯΔڧΈΛ࣋ͭ ˞্ه1+2ͷ͠ࢉͰϓϥεΛࢦ͢ʂʂ
ͪΐͬͱݴ͍͑Δͱ ʮελϝϯ=࣮ྗ×ग़ػձʯ ࣮ྗɿΤϯδχΞεΩϧ ग़ػձɿϏδωεεΩϧʴα ใु…উखʹ͍ͯ͘Δ(ͣ) ※ҟೝΊ·͢
ʮग़ػձʯΛʮ࣮ྗʯͰ׆͔ͯ͠ελϝϯʹ ྫ͑େ୩ᠳฏબखʢଧऀͷํʣ ϝδϟʔ۶ࢦͷʮଧٿʯͱʮগͳ͍ϑϥΠੑଧٿΛຊྥଧʹʯͯ݁͠ՌΛग़ͯ͠Δʢڧ͍ʣ ʲࢀߟʳʮଧऀʯେ୩ᠳฏͷଧٿσʔλΛੳʂࣈ͕ࣔ͢ڻҟͷೳྗͱࠓޙͷ՝ͱʂʁ ʢϕʔεϘʔϧΪʔΫεʣ https://www.baseballgeeks.jp/?p=4196 ※σʔλBaseballsavantΑΓൈਮʢ4/13·Ͱʣɺࢄਤࢲʢதʣ͕ಠࣗʹ࡞
ͦΜͳࢥɾͩ͜ΘΓͷݩ, աڈ5(34ʙ38ࡀ)Λ Ͳ͏ա͔ͨ͝͠ৼΓฦΓ·͢
34ࡀ(2014Ն·Ͱ) ϕΠΧϨϯτɾίϯαϧςΟϯάʙϦΫϧʔτJOIN·Ͱ ࠓίί
ࣄʹ͍ͭͯ(2004-2014Ն) • ҰݴͰ͍͏ͱʮडୗ։ൃɾίϯαϧʯ • ௨৴ɾެிɾࣗಈं(R&D)ɾήʔϜetc… WebΞϓϦ։ൃ͔Βۀܥ,Πϯϑϥ·Ͱ৭ʑͬͨ • ۀγεςϜɾWebΞϓϦ։ൃ͓Αͼ,ͪΐͬͱ͚ͩΠϯϑϥ ಛʹσʔλΤϯδχΞ(લॲཧετ)ָ͕͔ͬͨ͠ •
ޙ͓٬༷ͷఏҊ&Ҋ݅ήοτͰӦۀ&ϓϩϚωͳಈ͖ (٬؍తʹݟͯ)͓٬༷ɾ͔ࣾΒධՁͯ͠Βͬͯͨ
ίϛϡχςΟͱͷग़ձ͍ • ͋ΔҊ݅ͰಥવͷʮϦʔϯελʔτΞοϓΔͧʯ తͳϑϦ͕(ϑΝʂʁ) • ຊΛಡΜ͕ͩͬ͞ͺΓΘ͔Βͣ,पΓʹৄ͍͠ਓ ͍ͳ͍٧Μͩorz…ͱ͍͏ͱ͜ΖͰٹ͍ͷਆ͕ʂ • ٹ͍ͷਆʮίϛϡχςΟʹग़͍͚͍͍ͯ͡ΌΜʂʯ …ͱڭ͑ͯ͘Εͨ&ίϛϡχςΟΛհͯ͘͠Εͨ
ίϛϡχςΟͷΠϝʔδ(࣌) • ॳߦ͘ͷ͕ͿͬͪΌ͚ڪ͔ͬͨ,ஏΛ͔͖ͦ͏Ͱ • ͱ͍͑,ࣗݾֶशͰݶք͋Δͱ͍͏ഽײ͕͋ͬͨ &ସҊࢥ͍͔ͭͣ • ʮஏ͔͍ͯࣄࣦ͏༁Ͱͳ͍͠ʂʯ ͱ͍͏ൃͷΓସ͑Ͱࢥ͍ͬͯࢀՃ →͜͏͍͏Γସ͑Ͱ͖Δͷ͕ࣗͷڧΈ(ࠓࢥ͑)
ίϛϡχςΟʹࢀՃ(ΞδϟΠϧ) • ϦʔϯελʔτΞοϓͷݟΛಘΔͨΊ, հͯ͠ΒͬͨϛʔτΞοϓʹࢀՃ • ϫʔΫγϣοϓٞʹݟΑ͏ݟ·ͶͰࢀՃ • ͱ͋ΔٞͷΫϩʔδϯάͰݴΘΕͨҰݴ͕ ޙͷʮٿΤϯδχΞʯʹͭͳ͕Δʂ
ϚωʔϘʔϧ ϦʔϯελʔτΞοϓࣄྫͷ ҰͭͰ͢Α ※ͱ͍͏ҙຯ߹͍ͷ͕͋Γ·ͨ͠
ϫΠʮϚωʔϘʔϧ(͖͏) ͳΒಘҙͧʂʂʂʯ #ఆ֎ͷϒϨΠΫεϧʔ
ٿʹ͍ͭͯ(࣌) • ϚωʔϘʔϧͰग़ձͬͨ,ηΠόʔϝτϦΫε(౷ܭֶνο ΫʹٿΛੳ͢Δࢥɾख๏)͕େ͖ • ηΠόʔϝτϦΫεͷࢦඪܭࢉؚࣜΊͯཧղͯͨ͠ • ͪΖΜٿී௨ʹେ͖ͰேMLB,ϓϩٿΛ • ୯ʹݟͯΔ͚ͩͰͳ͘,ͣͬͱσʔλͰͬͯͨ
(20ͷࠒ͔Βσʔλ͏ͷ͕େ͖)
ٿͰΤϯδχΞϦϯάͷ͡·Γ • ϦʔϯελʔτΞοϓͷ݅ͱผʹ,ٿͰϓϩάϥϛϯάΛ͡Ίͨ • ϝδϟʔϦʔάͷԾٿήʔϜ, ʮϑΝϯλδʔϕʔεϘʔϧʯΛٕज़Ͱউͱ͏ʂͱࢥ͍ͭ͘ (ɿνʔτͰͳ͍,ެࣜAPIΛͬͯੳɾՄࢹԽͱ͔) • ࣌ࣄͰ͡ΊͨPythonʹϋϚΓͭͭ͋Γ, ͬͱPythonͰͳΜ͔࡞Γ͍ͨˠٿʂ
• Ұਓ͘͘Ͱଓ͔͘ෆ͕҆͋ͬͨͷͰίϛϡχςΟʹࢀՃΛܾҙ • ͳ͓,͜Ε5લ(2013)ͷ(33ࡀ)
PythonίϛϡχςΟ • ΄΅ຖ݄։࠵ͷ͘͘ձʮPython mini hack-a-thon(#pyhack)ʯʹࢀՃ • ऴ࢝PythonͰٿʹؔ͢ΔHackΛͨ͠ • σʔλूΊ •
WebΞϓϦ։ൃ • ੳ • ͘͘ձ࠷ޙͷൃදλΠϜͰͬͨ͜ͱΛ൸࿐, Python͓Αͼपลٕज़ʹؔ͢ΔϑΟʔυόοΫΛΒ͏ • ϑΟʔυόοΫΛݩʹ࠶ͼhack→ঃʑʹϓϩμΫτͱ͕ຏ͔ΕΔ
BPStudyͱͷग़ձ͍ ҙ༁ɿ@haru860 ͞ΜͱͷೃΕॳΊΤϐιʔυ
ॳͷ #BPStudy ࢀՃ • 201311݄, #75 …ͷ࠙ձ • Pythonܨ͕Γʢ#pyhackܨ͕ΓʣͰͬͯΔਓ͕ԿਓډͨͷͰొ •
͕ͩࣄͰԌ্ͯ͠ຊฤߦ͚ͣˠ࠙ձͷΈߦͬͨ ʢؼΓಓͩͬͨͷ͕͍ͨ͠ʣ ˞ه͕Togetterʹͬͯ·ͨ͠ˠ • ࠤ౻͞Μʢ@haru850ʣͱॳର໘ ˠҟ༷ͳఔͷٿτʔΫͰΓ্͕Γ…ʂʁ
Baseball Play Studyͷಓᶃ • ࠤ౻͞ΜΛհͯ͘͠Εͨߴ࡚͞Μʢ@ken_takasakiʣ ʮத͞ΜɺΔ͓͞Μͱಉ͘͡ٿ͖Ͱ͢Αʂʯ • հͷΩοΧέ͕ٿͩͬͨͷͰٿͷτʔΫʹ ʢ͋ΕɺBPStudy(ryʣ •
ʢԿΛ͔ͨ͠શ͘هԱʹແ͍Ͱ͕͢ʣ৭ʑͱҙؾ߹͠ ͨͷ͔֬ɺ͓ޓ͍ʢ͓͔͍͙͠Β͍ʹʣٿόΧͩͬͨ • ͦͯ͠࠷ޙʹিܸతͳߏͱఏҊ͕ʂʁ
Baseball Play Studyͷಓᶄ • Δ͓͞Μ͔ΒɺಥવͷఏҊ͕དྷΔ ʮདྷ3݄ʹٿΛςʔϚʹBPStudyΛΔͷͰ͕͢ ొஃ͠·ͤΜ͔ʁʯ • ʮத৳Ұʯͱ͍͏໊લೖΓͰ֎ʹग़ͨ͜ͱ͕ແ͔ͬ ͨϫΠɺͪΐͬͱࠔ
ˠ͔͠͠ɺ͙͢ʹϫΫϫΫ͢Δ • ϫΠʮΓ·͢ʂΒ͍ͤͯͩ͘͞ʂʂʯ
ʮٿΤϯδχΞʯ͜͜ʹੜ BPStudy #79ʮBaseball Play Study 2014ʯ 2014/3/26 https://bpstudy.connpass.com/event/5295/
ͳͥൃදΛҾ͖ड͚͔ͨʁ • #pyhack Ͱ͍ͬͯͨٿʹؔ͢ΔHackҰఆͷ Ռ͕ग़ͯɺ࣍ͷςʔϚ͕͋ͬͯྑ͍࣌ظͩͬͨ • ൃදͦͷͷͷܦݧઙ͔͕ͬͨɺ #pyhack ͷՌ ൃදͳͲͰ݄ΠνҎ্ͷϖʔεͰͬͯͨͷͰ͜ͷ
ลͰൃද͍͍͔ͯ͠ͳͱ͍͏͓ؾ࣋ͪʹ • ʮίϛϡχςΟͰͷܦݧͱಓͳ׆ಈʯ͕ͦ͏ʂ ͱ͍͏ؾ࣋ͪΛޙԡͨ͠͠
ൃදͷڹͱͦͷޙ • ൃදͦͷͷେޭʂ ࣗͷηΠόʔϝτϦΫεɾٿ௨༻͢Δͱײ৮Λಘͨ • Ҿ͖ଓ͖࡞͍ͬͯͨٿϓϩμΫτ(WebΞϓϦ)ΛͪΌΜͱ ੈʹެද͠Α͏ͱࢥ͍࢝ΊΔ(ௐࢠʹΔ) • PythonͷΧϯϑΝϨϯεʮPyCon JP
2014ʯʹ, ʮPythonͰ͡ΊΔٿϓϩάϥϛϯάʯͱ͍͏ςʔϚͰ ԠืˠAccept͞Ε,ॳͷٕज़ΧϯϑΝϨϯεొஃ͕ܾఆ͢Δ
ΩϟϦΞνΣϯδͷػӡ(notٿ) • ࣄۀձࣾͰͷνϟϨϯδʹڵຯ͕༙͘ • Ϗδωε(WebͷαʔϏεΓ͍ͨ) • ςΫϊϩδʔ(PythonϏοάσʔλΓ͍ͨ) • ΤϯδχΞϦϯά(ࣗࣾࣄۀͷίϛοτ) •
ϦʔϯελʔτΞοϓɾΞδϟΠϧΛ׆͔͢ͷ ίϯαϧΑΓࣗࣾࣄۀ࣋ͬͯΔͱ͜ΖͰΔ΄͏͕ྑͦ͞͏(ϝονϟΓ͔ͨͬͨ) • ·ͣϝΨϕϯνϟʔͰʮࣄۀʹߩݙ͢ΔʯϛογϣϯΛΤϯδχΞͱͯ͠Γ͍ͨʂ • 3ࣾʹߜͬͯస৬׆ಈ…͠Α͏ͱࢥͬͨΒ࣌ϦΫϧʔτʹ͍ͨ༑ਓ͔Β༠ΘΕΔ ˠΞδϟΠϧίϛϡχςΟͰͷ׆ಈ͕ΩοΧέʹɹ˞3ࣾͷͷ1͕ࣾϦΫϧʔτͰͨ͠
ϦΫϧʔτʹJOIN(2014/9/1) ϦΫϧʔτॅ·͍Χϯύχʔ(SUUMO)ʹΤϯδχΞͱͯ͠JOIN͢Δ ※৭ΜͳҙຯͰਓੜͷసػʹ
35-36ࡀ(2014ळʙ2016ౙ) ϦΫϧʔτೖࣾʙελʔτΞοϓͷస৬ ࠓίί
PyCon JP 2014ొஃ • લ৬(ϕΠΧϨϯτ)࣌ʹܾΊͨPyCon JP 2014ʹొஃ(ೖࣾೋिؒ) • ςʔϚʮPythonͰ͡ΊΔٿϓϩάϥϛϯάʯ •
Django(WebϑϨʔϜϫʔΫ)ͰٿΞϓϦ։ൃ • ηΠόʔϝτϦΫεࢦඪʹج͍ͮͨੳɾղઆ • ͍ͭͰʹLT(ΞμϜɾμϯ)Δˠ·͔͞ͷେരসwww • ʮٿΤϯδχΞ(ٿͷਓ)ʯϒϥϯυཱ͕֬͢Δ
ͦͷޙͷٿͳ׆ಈ(2014-2015) • PyCon JP 2014ͷڹͰ… • WebϝσΟΞ(gihyo.jp)Ͱհ͞ΕΔ • CROSS2015ͷPythonίϛϡχςΟ࠲ஊձͰύωϥʔʹɹ˞ٿPythonද •
ϒϩάʮLean Baseballʯͷٿੳهࣄ͕ϗοτΤϯτϦʔ࿈ൃ • ϝδϟʔϦʔάͷσʔληοτߏஙɾੳπʔϧͷOSSԽ • ੳؔͷωλهࣄ • PyCon JP 2015ͷઓ • Python×σʔλੳͷج൫ߏஙωλΛԠืˠAccept͞Ε,ొஃܾఆ(2࿈ଓ) • ຊ൪ͷτʔΫʮٿHackʙPythonΛ͍ͪͨσʔλੳͱՄࢹԽʯ͕େώοτ
ίϛϡχςΟͱͷ͖߹͍ • ܧଓతʹࢀՃͭͭ͠,ʮ͢ʯʮ͑ΔʯํʹεΠον • Python • Ҿ͖ଓ͖,͘͘ձ(#pyhack , #mokupy ͳͲ)ʹࢀՃ
• ࣗͷ͘͘…͚ͩͰͳ͘,ٞʹੵۃࢀՃ&ࠔͬͯΔํͷαϙʔτ • ΞδϟΠϧ • ϫʔΫγϣοϓɾσΟεΧογϣϯʹੵۃࢀՃ • ٞɾϫʔΫ͕ఀ͓࣌ߏ͍ͳ͠ʹϑΝγϦΛͬͨ • ʮPythonΞδϟΠϧ,͏ॳ৺ऀͰͳ͍,࣮ફऀʂʯ ͱ͍͏ҙࢤͱؾ࣋ͪͰͬͨˠ݁Ռ,ֶͼɾ࣮ྗɾ৴པஷ͕ۚಘΒΕͨ
͜ͷࠒ͔Β ʮϫΠٿΛΓ͍ͨʂʯ ͱ͍͏ເΛ࣋ͭΑ͏ʹ
ٿΤϯδχΞʹͳΔͧʂ • ϝδϟʔϦʔά͘͠ϓϩٿͷΤϯδχΞʹͳΔ • ϚωʔϘʔϧͷੈքͷΑ͏ʹσʔλੳͰ • ࣋ͯΔٕज़ɾεΩϧΛͯ͢ٿͷҝʹ׆͔͍ͨ͠ • 2020౦ژΦϦϯϐοΫͷࣆJAPANελοϑͱͯ͠, ʮҰ൪͍͍৭(ۚ৭)ʯͷϝμϧΛऔΔαϙʔτΛʂ
• ͜ΕΤϯδχΞจ຺Ͱ • 2020Ն(40ࡀ)ΛΊͲʹ,ٯࢉͯ͠ΩϟϦΞΛܗ͢ΔΑ͏ʹܾΊͨ
స৬׆ಈ&ϦΫϧʔτଔۀ • ձࣾͷϛογϣϯͱࣗͷڧΈͰΪϟοϓΛײ͡Δ ˠ৭ʑͱΩπ͔ͬͨͷͰస৬׆ಈΛ։࢝ • ʮPythonʯʮΞδϟΠϧʯ͕׆͔ͤͦ͏ͳͱ͜ΖΛத৺ʹ • ϏβεΫ͔Βਮͳϝοη͕དྷͨˠCTOɾCEO໘ ͔Βͷ,εϙοτίϯαϧʹڧ͘ڞײ͢Δ(աڈͷܦݧͳͲͰ) •
ϏβεΫ͕Pythonͷձࣾͱ͍͏͜ͱ͋ΓJOINΛܾஅ
37ࡀ(2016) ϏβεΫʙస৬׆ಈ͔ΒͷRetty ࠓίί
ϏβεΫͰͷ͓ࣄɾମݧ • ͬͨ͜ͱ • αΠτͷSEOվળதʙখنࢪࡦΛͻͨ͢Β • ։ൃڥɾ։ൃϓϩηεͷվળ (ΞδϟΠϧͱ͔ࣗಈςετ) • ػցֶशϓϩδΣΫτ(ϞσϧɾAPIઃܭʙߏங)
• ͦͷଞ,࠾༻ɾΠϯλʔϯͷϝϯλʔɾ(Ұ࣌తʹ)ΧελϚαϙʔτͱ͔etc… • ϚϯγϣϯҰ෦ͷελʔτΞοϓͷதͰྑ͍ܦݧ͔Βਏ͍ܦݧ͔Β ͨ͘͞ΜͷݟɾֶͼΛಘͨ
Ұํͦͷࠒٿ • ʮҰਓͯ͘͘͠։ൃʯʮίϛϡχςΟͰͷൃදʯΛ࣠ʹಓʹ׆ಈΛੵΈॏͶͨ • MLBσʔλऔಘ&લॲཧͷϥΠϒϥϦʮpitchpxʯͷ։ൃͱެ։ • ্هpitchpx͔ΒΘ͔ΔσʔλͷɾٿͷݟղΛ,PyCon JP 2016τʔΫηογϣϯ ʮϏοάσʔλͱPythonͰ͡ΊΔٿͷ౷ܭੳʯ
Ͱ࣮ફྫަ͑ͯհɹ˞@a_macbee͞Μͱڞಉൃද • ϫΠʮຊϓϩٿΓ͍ͨϯΰʯ …ͬͯࣄͰ,ίϛϡχςΟͷΠϕϯτʢPyCon miniɺϞϊλϩ͞ΜษڧձʣͰൃද • PyCon mini Hiroshima 2016(ϋϜVSౡ) • MonotaRO TechTalk #4ʮσʔλੳʯ(PyDataΛͬͨࡕਆɾΦϦοΫεੳ)
ίϛϡχςΟ׆ಈʢٿҎ֎) • ૬มΘΒͣʮ͘͘ձʯࢀՃͰݚᮎ • Pythonೖऀͷू͍ʹJOIN #PyNyumon • ϋϯζΦϯͷϝϯλʔ • ʮॳ৺ऀͩͬͨ͋ͷࠒʯΛৼΓฦͬͯߨԋ
ˠʮPythonistaσϏϡʔʯͱ͍͏ςʔϚͰ·ͱΊͨ • ҰํΞδϟΠϧԼՐʹ(ਓʹձ͏ఔ)
ʢ·ͨʣస৬׆ಈˠRetty • Իָੑͷҧ͍()ͳͲ͋Γɺ࠶ͼస৬׆ಈΛ͡ΊΔ • PyData.Tokyo(PythonͷσʔλܥίϛϡχςΟ)Ͱதͷਓ(ؠӬ͞Μ)͕ οΩΩͳϊϦͰLTͯͨ͠ˠRettyʹϠό͍ਓΩλʔ(͑) • ؠӬ͞ΜͱݩʑΓ߹͍ͩͬͨϫΠ,ͦͷͰ৯͍ؾຯʹΛ͏ ˠ͔ͳΓ͍͍ײͩͬͨ͡ͷͰΤʔδΣϯτʹ࡞ͬͯͱ͓ئ͍ •
ٿͷ࣍͘Β͍ʹ৯͕͖ͳϫΠ,ݩʑRettyͷϑΝϯͩͬͨ(ͬͯͨ) • Ḻੴ͞Μ(CTO)ɺా͞Μ(CEO)ଞͷ໘ΛܦͯJOIN͕ܾ·Δ
38ࡀ(2017) RettyͰूେͦͯ͠ٿΤϯδχΞ ·ͩίί
2017/1/10ʙRettyʹJOIN ࣸਅDevLoveʮϕʔεϘʔϧ͔ΒݟΔٕज़ʯͷه೦ࡱӨ ※ྡͷკ͞Μʢؗࢁ͞Μʣ͟͝ઌഐʢࣾһͰͳ͍ʣ
৯Λ௨ͯ͡ ੈքதͷਓʑΛ Happyʹ ͜ͷཧ೦ͱΤϯδχΞνʔϜ ͕͖Ͱೖࣾ (ଞʹཧ༝͋Δ͚Ͳ·͋ͦΜͳͱ͜)
͋Εʁٿ͡Όͳ͍ͷʁʁ • ϓϩٿνʔϜ(12ٿஂ)ͷ͕ͳ͔ͬͨ • ٿؔ࿈ࣄۀΛͯ͠Δձࣾ(͍͔ͭ͋͘Δ) • εΩϧɾΓ͍ͨ͜ͱ͕Ξδϟετ͠ͳ͍(ҹͩͬͨ) • ऩɾڅྉ໘ͰંΓ߹͍͕͔ͭͳ͍(૾) •
ٿքʹࢲ͕ೖΕΔʢر͢Δʣελϝϯ͕ແ͔ͬͨ
RettyͰ͖ͬͯͨ͜ͱ • Engineering Manager(Tech Lead)ۀ • 1ΤϯδχΞͱͯ͠ͷMission (ࢪࡦͬͨΓج൫࡞ͬͨΓ) • ΤϯδχΞใɾ࠾༻
• …ͳͲͳͲɺͳΜͰ৭ʑͬͨ
ίϛϡχςΟ meets Retty • ͕ࣗJOIN͢Δલ͔Β,RettyίϛϡχςΟͷαϙʔτΛ݁ߏ͍ͯͨ͠ • ͦͷྲྀΕʹศ͠,ΨϯΨϯࢧԉ(εϙϯαʔͱ͔)ͤͯ͞Βͬͨ • Python(PyCon mini
Kumamoto, PyCon JP 2017, PyLadies TokyoͳͲ) • iOS/Android(potatotips, iOSDC΄͔) • ΞδϟΠϧ(DevLOVE) • ༗ࢤͷΤϯδχΞਞ…͚ͩͰͳ͘,ใνʔϜલͷΊΓʹڠྗ
ίϛϡχςΟ׆ಈͷελϯε(ࢲݸਓ) • ʮࣗΑΓए͍ਓ͕ͨͪઓͰ͖ΔػձΛఏڙ͢Δʯํʹؾ͕࣋ͪಈ͍ͨ • ϊϋɾϦιʔεɾࢥͷఏڙͱୡ • ࣝɾ࠲ɾਓ຺ͱ͍ͬͨʮϊϋʯ • ॴɾεϙϯαʔυ(͓ۚ)ɾ৯ࣄ(ञ)ͳͲͷʮϦιʔεʯ •
ΠϕϯτɾίϛϡχςΟͷҙٛͳͲͷʮࢥʯ • ͓ͬ͞Μ(ࣗ)͕͍ͭ·Ͱզ͕إ͠ͳ͍ํ͕݈શͱࢥͬͯͬͨ • एऀɾ৽͘͠དྷͨਓͨͪʹͬͱϊϏϊϏͱͬͯ΄͍͠ʂˡҰ൪ͷཧ༝
ίϛϡχςΟ׆ಈ(2017) • Pythonࣗ͘͘शࣨ #rettypy ελʔτ • ڭҭ৺ཧֶMeetup #1 ελοϑ< •
ಡॻձ͔ΒࢀՃˠएऀ͕ͨͪΠϕϯτΓ͍ͨʂˠاը͔Β։࠵,ৼΓฦΓ·ͰશྗͰڠྗΛܾҙ • Πϕϯτཪํʹపͨ͠(࢘ձͱ͔) • Rettyͱͯ͠Πϕϯτͷεϙϯαʔձఏڙ • PyData.Tokyo ʮཧ࠷దԽʯ˞ελοϑͱ͓ͯ͠ख͍&SpeakerؠӬ͞Μ(Retty) • PyLadies.Tokyo 3पه೦ύʔςΟʔɹ˞ελοϑ݉εϙϯαʔ݉εϐʔΧʔ • PyCon mini Kumamoto 2017ɹ˞ελοϑɾεϙϯαʔɾεϐʔΧʔ(શ෦) • ݸਓ׆ಈ(͘͘ձ&ΠϕϯτొஃͳͲ)ྫ௨Γ&ଞʹ͍ͬͺ͍ͬͨ
Ұํͦͷࠒٿ • ॳʹηΠόʔϝτϦΫεͷࣾձਓߨ࠲Λडߨ ݁ʮେମͬͯͨʯ ※ɿૉਓʹݴ͑ͳ͍ײ • PythonهࣄͰେͨΓͨ͠ϒϩάʹศ͠,ٿςʔϚͷهࣄ ώοτྔ࢈Λଓ͚Δ(PVɾUUɾͯϒ͕աڈ࠷ߴʹ) • PyCon
mini Kumamoto 2017Ͱϓϩٿੳˠେگ ޙͷPyCon JP 2017ͷൃදͷૅͱͳΔ • PyCon JPͷҰिؒͪΐͬͱલʹӡ໋ͷϝοηΛΒͬͨ
ωΫετϕʔεͱͷग़ձ͍ ฐࣾදͷதඌ͔Βདྷͨϝοηʔδ(ݪจ) ͜Ε͕࠷ॳͷग़ձ͍
ωΫετϕʔεͱͷग़ձ͍ᶃ • ՆٳΈதPyCon JPͷ४උΛ͍ͯͨ࣌͠ظʹಥવϝοη͕དྷͨ • ωΫετϕʔε(ؚΉதඌ)Βͳ͔ͬͨ͠Γ߹͍Ͱແ͔ͬͨ ˞ਖ਼ͳʮ୭ͶΜʯͬͯࢥͬͨ • ͨͩ,τϥοΫϚϯΛͬͨੳɾϓϩμΫτͷχϡʔεͰ ͬͯͨˠ͑,ϕϯνϟʔͷࣄͩͬͨͷʂʁʂʁʂʁʂʁ
• ڵຯɾײ৺͕͋Δʂ...Ͳ͜Ζͷ͡Όͳ͔ͬͨ &ՆٳΈதͱ͍͏λΠϛϯά߹க͠,ձ͏͜ͱʹͨ͠
ωΫετϕʔεͱͷग़ձ͍ᶄ • தඌ(දऔక)ᐌ͘ ʮҰਓͷΤϯδχΞͱͯ͠த͞ΜΛυϥϑτҰҐࢦ໊͍ͨ͠ʯ ˠࣄۀͷ֦େʹ͋ͨΓ,ҰਓͷΤϯδχΞΛ୳͍ͯͨ͠&దͱ৴͡Λ͔͚ͨ • BACS(όοΫε)ͷੳɾղੳϞσϧΛͭͬͨ͘ਆࣄ(͡Μ͡)ᐌ͘ ʮ൴(த)ηΠόʔϝτϦΫεΛ্ͬͨͰΞτϓοτΛग़͍ͯ͠Δʯ ˠਆࣄ͞Μͱͷٿੳձ&ԾઆͷΓͱΓͰ࣮ྗΛࢼ͞Ε্ͨͰͷධՁ •
தඌɾਆࣄɾԼΒܦӦਞ͓Αͼ,ϝϯόʔϒϩάɾൃදΛݟͯධՁͯ͘͠Εͯͨ ˠ࠷ॳͷΤϯδχΞͱͯ͠தΛʂڪΖ͍͙͠Β͍ʹҙࢥ౷Ұ͞Ε͍ͯͨ • ٻΊΒΕΔׂɾಇ͖ํɾऩͳͲ,͔ͬ͠Γෲམͪ͢Δ·ͰΛͤͯ͞Βͬͨ
ωΫετϕʔεͷಓ • PyCon JPͷൃද…ઈରʹޭͤ͞ͳ͍ͱʂ • ͜ͷ࣌(9݄ॳ०)·ͩJOINΛܾΊͯͳ͔ͬͨ • ͱ͍͑ʮ͍ͷҰ൪ʹதΛʯͱ͔ݴΘΕͨΒΔΘ͚ʹ͍͔ͳ͍ • ʮٿΛՊֶ͢Δٕज़ʯͱ͍͏ࡐͰൃදˠաڈ࠷ߴϨϕϧͷޭΛ͛ͨ͠
• 2ճͷձ߹ • தඌʹՃ͑,Լ(ۀϝϯόʔ)ͱͷσΟεΧογϣϯ • BACS୲ऀΛަ͑,αʔϏεɾϓϩμΫτʹΑΓcommitͨ͠Λͤͯ͞Βͬͨ • ޙ,தඌͱϝοηͷதͰॾ݅(ͱ͍͏͔ऩ)Λ߹ҙͷ্,JOINΛܾஅ
ୀ৬ΛΓग़͢લ…ͷ • ʮωΫετϕʔεʹJOIN͠·͢ʂʯΛܾஅޙ • RettyͰΓ͍ͨςʔϚ…ͨ͘͞Μ͋ͬͨ • ͕ࣗ࠾༻ʹCommitͨ͠৽ଔ͞ΜͲ͏͠Α͏ • etc…ޙΖΛͻ͔ΕΔωλ͕গͳ͘ͱ334ݸ͋ͬͨ •
ओ࠵ͯ͠Δ #rettypy ͱ͔ίϛϡχςΟ׆ಈͲ͏͢ΜͶΜ • …ͳͲ,ࡾຊؒͰເͱݱ࣮ͷؒͰೋिؒۙ͘༳Εͨ࣌ظ͕
ٿΤϯδχΞʹͳΔͧʂ ※࠶ܝ • ϝδϟʔϦʔά͘͠ϓϩٿͷΤϯδχΞʹͳΔ • ϚωʔϘʔϧͷੈքͷΑ͏ʹσʔλੳͰ • ࣋ͯΔٕज़ɾεΩϧΛͯ͢ٿͷҝʹ׆͔͍ͨ͠ • 2020౦ژΦϦϯϐοΫͷࣆJAPANελοϑͱͯ͠,
ʮҰ൪͍͍৭(ۚ৭)ʯͷϝμϧΛऔΔαϙʔτΛʂ • ͜ΕΤϯδχΞจ຺Ͱ • 2020Ն(40ࡀ)ΛΊͲʹ,ٯࢉͯ͠ΩϟϦΞΛܗ͢ΔΑ͏ʹܾΊͨ
͜͜Ͱ(ٿʹ)ߦ͔ͳ͖Ό ͏νϟϯεͳ͍ʂ(அݴ) #ܾஅͨ͠ཧ༝
Retty͔Βͷଔۀ • ܦӦਞɾϚωʔδϟʔʹୀ৬ΛΓग़͢ • Ϛωʔδϟʔͱෲམͪ͢Δ·Ͱ1on1 ͱʹ͔͍͘Λ͑Δͷʹྗͨ͠ • ʮٿͰੈքΛྑ͘͢ΔͨΊଔۀ͠·͢ʂʯ օ͞Μշ͘ૹΓग़ͯ͘͠Εͨ(ྦ)
39-41ࡀ(2018-2020) ωΫετϕʔεͱڞʹٿͷੈք ͜Ε͔Βͷ
ເਖ਼ເʙٿͷੈք 2018/2/1 ωΫετϕʔεҰਓͷΤϯδχΞ(CTO)ͱͯ͠JOIN
ωΫετϕʔεͷCTOͱͯ͠ • ʮςΫϊϩδʔͷྗͰٿքΛڻዼͤ͞Δʂʯͷ͕࠷େͷϛογϣϯ • BACSͷ͞ΒͳΔ֦ு • ੳɾղੳɾίϯαϧςΟϯάͷ࠷దԽ • ITاۀͱͯ͠ͷωΫετϕʔεΛఈ্͛ •
͜ΕΒΛ࣮ݱ͢ΔͨΊʹͳΜͰΔ • ϓϩμΫτͷ։ൃɾอकɾΧΠθϯ • σʔλੳɾղੳ • ΦϯυϝσΟΞʢϕʔεϘʔϧΪʔΫεʣͷαϙʔτ(SEOͱ͔)
10ਓ͍ͳ͍(ݱࡏ8໊) ͦΜͳϕϯνϟʔͷCTO͔ͩΒ ͦ͜ܦݧͰ͖Δɾ͍͚ͬͯΔ ϫΫϫΫ͕ͨ͘͞Μ͍ͬͯΔʂ …ͱࢥΘͤΔΑ͏ͳ ͋Γ͕͍ܹͨྭΛ͍ͨ
“ٿք৭ʑͳจԽɾ͖ͨ͠Γ͕ ଟ͘ɺΠϝʔδͱҧ͏͜ͱଟ͔Ζ ͏ͱࢥ͍·͕͢ɺਖ਼͍͜͠ͱಊʑ ͱʢଟগɺΓํॊೈʹ͚ͩͲͶʣ Γൈ͚ಓ͚ΔɻཔΉΑɺ CTOʂඞͣҰมͤ͞Α͏ɻ” ʙԼ(ฐࣾۀϝϯόʔ)ͷϝοηΑΓʙ
Ḻੴ͞Μ(Retty CTO)ͷ͓ݴ༿ “”“CTOϑΣʔζʹΑͬͯ Δ͜ͱ͕·ͬͨ͘มΘΓɺ֤ ϑΣʔζͰଟ͘ͷνϟϨϯδ ͕͋Γ·͕͢ɺͥͻٿ͕໘ ന͘ͳΔੈքΛ࣮ݱͯ͠΄͠ ͍ͳͱࢥ͍·͢ʂ””” γϯϓϧ͔ͭάοͱ͖ͨϝο ηͰͨ͠(ྦ)
JOINͯ͠ೋϲ݄ͷࠓ • BACSϕʔεϘʔϧΪʔΫεଞͷ͜ͱɺʮITʯʮΠϯλʔωοτʯʮٕज़ʯ͕བྷ Ή͜ͱͳΜͰҙࢤΛͬͯͬͯΔɺ͕ࣗߩݙͰ͖Δͱ͜ΖτίτϯલͷΊ Γʹ • ৭ʑͱͬͯͯɺΤϯδχΞ/CTO͕ՁΛग़͢ͷɺίʔυΛॻ͚ͩ͘Ͱͳ͍ɺΉ ͠ΖίʔυΛॻ͘Ҏ֎ͷॴ͕େ͖͍ʂɺͱؾ͕͍ͭͨ • …ͱ͍͏ࡉ͔͍͜ͱൈ͖ʹͯ͠ʮԿΛͬͯٿʯ͔ͩΒࣗࠓ͘͢͝خ͠
͍ • ʮٿքΛҰม͍ͤͨ͞ʂʯͱ͍͏Ϟνϕʔγϣϯ͕ͦ͏͍ͤͯ͞Δ͠ • ʮCTOϑΣʔζʹΑͬͯΔ͜ͱมΘΔʯͱ͍͏taru͞ΜʢḺੴ͞Μʣͷϝοηʔ δ͕ڧ͘ڹ͍ͯΔ͔Βͦ͜OwnershipΛ࣋ͬͯΕͯΔͱࢥ͏
ͦΜͳࠓͷཱͪҐஔΛ ٿͰྫ͑Δͱ
ࠓίί ˞ٿքʹग़ྥ
͜Ε͔Βߦ͖͍ͨͱ͜Ζ
#"$4ଞ ϓϩμΫτ͕ ٿքΛ੍͢
#"$4ଞ ϓϩμΫτ͕ ٿքΛ੍͢ ౦ژޒྠ ࣆ+"1"/ ελοϑ
#"$4ଞ ϓϩμΫτ͕ ٿքΛ੍͢ ϓϩٿ PS .-#ͷ ٿஂΤϯδχΞ ౦ژޒྠ ࣆ+"1"/ ελοϑ
ʮٿΤϯδχΞʯ ͕ΰʔϧͰͳ͍ʂ ࣍ͷྥ(Next Base)Λ ૂ͍ͬͯ͘ ҰҰΛେʹ
ͳͥࢲ ʮٿΤϯδχΞʯͱͯ͠ͷ ελϝϯΛ௫ΊͨͷͩΖ͏ʁ #;Γ͔͑Γ
ΤϯδχΞ͕ελϝϯΛऔΔʹʁ 1. ΤϯδχΞతʮѹతͳڧΈʯΛ࣋ͭ 2. ࠷ݶͷϏδωεྗ(ಛʹϓϨθϯ) 3. ଞਓࣄ(༨ॴࣄ)ΑΓࣗͷࣄʹྗ 4. મಆྗ(ͤΜͱ͏Γΐ͘)Λʹ͚ͭΔ
ΤϯδχΞతʮѹతͳڧΈʯ • ٕज़Ͱʮଞࣾʹ͍ͬͯ௨༻͢ΔʯڧΈΛ͚ͭΔ • ਅ伨ʹֶͼʑݚᮎΛॏͶΔ. • ࣗݾֶशɾձࣾͷઌഐɾಉ྅͔ΒͷֶͼͰݶքΛײͨ͡Β ໎Θͣ֎(ίϛϡχςΟ) • ʮٕज़ʯ×ʮԿ͔ʯͰΦϯϦʔϫϯͷڧΈ͕Ͱ͖ͨΒ࠷ߴ
ʲྫʳʮPythonʯ×ʮٿʯ
࠷ݶͷϏδωεྗ(ಛʹϓϨθϯ) • ٕज़͕͋ͬͯ,ਓʹ͑ΒΕͳ͚Εҙຯແ͍ • େͳͷʮυϝΠϯࣝʯʮυΩϡϝϯςʔγϣϯʯʮίϛϡྗʯ • ࣗࣾͷۀྖҬͷυϝΠϯࣝ,͍ΘΏΔʮۀࣝʯ • υΩϡϝϯςʔγϣϯ(จষɾֆਤΛඳ͘) •
ίϛϡχέʔγϣϯྗ(ձɾSNS) • ্ه3ͭͷ͏ͪ,࠷1ͭਓΑΓڧ͘,2ͭਓฒΈ͡Όͳ͍ͱਏ͍ͱࢥ͏ • ྫ͑,ػցֶशΤϯδχΞͳਓυϝΠϯࣝͱϓϨθϯςʔγϣϯඞਢ ʮPythonਓฒΈʹ͑·͢ʯʮֶΕ·͢ʯ͚ͩͰઈରμϝ
ଞਓࣄ(༨ॴࣄ)ΑΓࣗͷࣄ • ଞਓࣄɾ༨ॴࣄʹϒϨͳ͍ɾؾʹ͠ͳ͍ڧ͍ؾ࣋ͪΛ࣋ͭ • SNS͔ΒྲྀΕΔʮଞਓʯʮଞࣾʯͷޭࣄྫ • ʮνͷձࣾͰ͜͏͢Ε͍͍ͷʹʂʯ ʮಉ྅ͷ͍͋ͭ()ʯ • ଞਓɾࣗࣾΛม͑ΔΑΓ,ࣗΛม͑Δํָ͕Ͱ͢Α?
• ࣗͷඪʹ͍͍ҙຯͰ(ؾ࣋ͪѱ͍͘Β͍ʹ)ʮతʯʹͳΔͷ͕େࣄ • ࣗͷࣄʹूத͢Δྗɾ࠲ΛࣗͳΓʹ࡞Δ(ྫɿఆظతͳSNSஅͪ)
મಆྗΛʹ͚ͭΔ • Αʔ͘ߟ͑…ͳͯ͘ʮ͓ۚେʯ,મಆຽʹͳΖ͏ #ͳΜJ • څྉɾऩΛʮ͍ʯʮѹྗʯͰԼ͛ͪ͠Όμϝ • େͯ͠ڧ͘ͳ͍ͷʹʮڅྉ্͛Ζʯͪΐͬͱҧ͏ • ʮଞͷձࣾ()ʯʮۀքਫ४ͱൺ()ʯʮւ؛ͷฏۉऩ(ryʯ
ˠ͜ΕͬͯଞਓࣄͰ͢ΑͶ?મಆ(ͤΜͱ͏)ͱͦ͏͡Όͳ͍ ɹ(ϦϞʔτɾग़ۈ࣌ؒͱ͔རްੜؚΊͯ) • ٕज़ɾڧΈΛ͑ΔʮϏδωεྗʯ͢ͳΘͪʮમಆྗʯΛ͑Α͏ʂ
ଞਓɾଞॴ༷ ม͑ΒΕͳͯ͘ ٕࣗࣗज़Ͱม͑ΒΕΔ ͜Ε͕ΤϯδχΞͷ ੜ͖ํͰʁ
·ͱΊ
TL;DRɹ˞࠶ܝ • ʮ̋̋ΤϯδχΞʹͳΔΜͩʂʂʂʯ ͱ͍͏ڧ͍ҙࢤΛৗʹ࣋ͪଓ͚Δʂʂʂ ʮͳΓ͍ͨʯઈରʹμϝʂʂʂʂ • ඪɾܭըΛݴޠԽͯ͠ܧଓతʹ࣮ߦ͢Δ • ଞਓࣄΛؾʹ͠ͳ͍ɾεϧʔ͢Δ ࣗࣗͷࣄʹूத͢Δ
ʮͳΔΜͩʂʯ͕େ ʮͳΓ͍ͨʯμϝ ඪɾܭըɾ࣮ߦΛܧଓతʹ ΔͨΊͷϒϨͳ͍ҙࢤΛ #ࠓͷ·ͱΊ #େͳͷͰೋݴ͏
ͦͯ͠͏Ұͭ “ίϛϡχςΟͱࣗͷ׆ಈ” Λେʹ
ίϛϡχςΟͱࣗͷ׆ಈ • “ಈ͘”ΞτϓοτΛੈʹग़͢ʢখͯ͘͞ʣ • ΠϯϓοτΛॏͶΔʢΞτϓοτͷਫ਼ΛߴΊΔʣ • ൃදͱϑΟʔυόοΫʢLTɾϒϩάɾetc…ʣ • େ͖͘νϟϨϯδ͢ΔʢେͷલͰ͢ɺಓഁΓʣ •
৴པΛங͘ʢͯ͢ਓͱਓͷϋφγʣ
“ಈ͘”ΞτϓοτΛੈʹग़͢ • ಡॻɾΦϯϥΠϯֶशɾࣸܦ͚ͩͰͳ͘ ʮಈ͘ΞϓϦʯʮ࠶ݱՄೳͳੳʯΛग़ͦ͏ • ۩ମతͳྫ • WebΞϓϦΛ࡞ͬͯެ։ • ҰͭςʔϚΛܾΊͯɺσʔλूΊˠੳˠ݁ʢ࣍ͷԾઆʣ·ͰͬͯΈΔ
ʢσʔλͷग़ॲΛ໌هͭͭ͠ɺʮ࠶ݱՄೳʯͩͱGoodʂʣ • ΞτϓοτGithubͰίʔυΛެ։ͨ͠Γɺಈ͘ঢ়ଶͰஔ͘ • ಈ͔ͳ͍Ϟϊʢص্ͷۭతͳͭʣμϝͰ͢
ΠϯϓοτΛॏͶΔ • “ಈ͘”ϞϊΛ࡞Γ͡ΊΔͱɺߋʹΠϯϓοτ͕ඞཁͳ͜ͱʹؾ͕ͭ͘ • WebαʔόʔͬͯԿʁʢຊʹࡌͬͯͳ͍ͧʣ • σʔλϕʔεʁMySQLʁʁʢຊʹࡌͬͯͳ͍ͧʣ • ଧͱଧ੮ͷҧ͍ͬͯʢٿ͖ͳͣͳͷʹɺɺɺ͓͔Cʣ •
ؾ͕͍ͭͨΠϯϓοτΛʮࣗओతʹʯੵΈॏͶΔຊͰԿͰ • ͘͘ձɾษڧձͳͲͰͬͯΔਓ͕ډͨΒฉ͘ͷ˕ • Ͱ࠷ऴతʹࣗͷϞϊʹ͢Δ·ͰΖ͏ʢଞͷਓґଘʹͳΒͳ͍Α͏ʹʣ
ൃදͱϑΟʔυόοΫ • ੵΈॏͶͨΞτϓοτɾΠϯϓοτʹ͍ͭͯɺ ༐ؾΛ࣋ͬͯൃදΛ͢Δ • LTͰτʔΫͰϒϩάͰɺʮෆಛఆଟͷਓલͰ͢ʢެ։ ͢ΔʣʯʮҙݟΛΒ͏ػձ͕͋Δʯࣄ͕େ • Λͨ͠ޙϑΟʔυόοΫʢײɾΞυόΠεʣͳͲΛΒ͏ •
࠷ॳ͔ΒᘳΛࢦ͞ͳ͍ɺ“ಈ͘”ϞϊͰ͋ΕͰߏ Θͳ͍ʢσϞͰόάͬͨʁੳ͕͏·͍͔͘ͳ͍ʁΓ·ͤΜͶʣ
େ͖͘νϟϨϯδ͢Δ • ΞτϓοτΛग़͠ଓ͚ɺൃදΛଓ͚ΔͱɺͰ͖Δ͜ͱ͕૿͑ͨࣗʹؾ͕ ͭ͘ॠ͕ؒ͋Δʢͱࢥ͏ʣ • ׳Ε͖ͯͨΒʮௐࢠʹͬͯʯେ͖͘νϟϨϯδ͢Δ • ඦਓنͷΠϕϯτɾΧϯϑΝϨϯεͰLT • 30ʙ45ͷߨԋΛͬͯΈΔ
• ͍ͭͱҧ͏ίϛϡχςΟͰʮಓഁΓʯͳLTΛ͢Δ ྫɿRubyίϛϡχςΟͰPythonͷLTΛ͢Δɹ˞࣮ • ࣗʹͱͬͯ࠷ॳͷେ͖ͳνϟϨϯδ͕BPStudyʢٿͷํʣͩͬͨ
͜ͷล·Ͱੲʢ4,5લʣ͔ΒݴΘΕͯΔ ษڧձͰൃදͯ͠ΈΑ͏͔ͳͱ͍͏ํ(@haru860) https://www.slideshare.net/ssuserafaef6/bps-32796687
৴པΛங͘ • ίϛϡχςΟָ͍͠ • ࣗͷֶͼɾ༑ୡ͕૿͑Δ • ࠙ձͷ͓ञ͕ඒຯ͍͠ • ͰʮਓͱਓʯͷࣄͳͷͰ৴པΛগͣͭ͠૿ͦ͏ •
ʮ೦ͳਓʯʹ͚ͩͳΒͳ͍Α͏ʹʂ
৴པΛੵΉߦҝɹ˞Ұྫ • ਓͱͷ࣌ؒɾଋΛकΔ • ҰͭͷςʔϚΛΞτϓοτ͕ग़Δ·ͰΓ͖Δ • ϑΟʔυόοΫɾίϝϯτΛฦ͢ • ίϛϡχςΟͷελοϑΛΔɾࢧԉ͢Δ •
Λ࡞ͬͨΓ͔ʹ͢Δߦҝ͕৴པΛੜΉ ʢແཧʹΓ্͛ͳ͍͍ͯ͘ɺ҆৺͕େʣ
৴པΛଛͳ͏ߦҝ • ਓͱͷ࣌ؒɾଋΛकΒͳ͍ ʢυλΩϟϯͱ͔࿈བྷऔΕͳ͍etc…ʣ • ৭ʑͳ͜ͱʹखΛग़͢ɺΈ͘ʹΠϕϯτߦ͘etc…Πϯϓοτաଟ ʢ৭ʑߦ͘ɾखΛग़͚ͩ͢ͰΞτϓοτ͕ग़ͳ͍ˠԿͷਓͩʂʁʣ • ଞͷਓͷ൷ɾதইɾѱޱͱऔΕΔίϝϯτɾݴಈ ʢཧతɾ٬؍తʹਖ਼͍͠ίϝϯτɾݴಈΛআ͘ʣ
• ਓΛෆ҆ʹͤ͞Δɾই͕ͭ͘ߦҝ͕৴པΛଛͳΘ͍ͤͯ͘ ※͋͘·ͰݸਓతͳݟղͰ͢
͕ࣗίϛϡχςΟͰ ϗϯτʹ৴པΛউͪಘͨ (ͱࢥ͑ͨ)ͷ͕ͪ͜Β ※͍ͭ࠷ۙͰ͢
͜ΕͷʹԠ͑ͨ͜ͱ. PyCon JP 2015ͷtweetΑΓ.ؔऀʹͳͬͨͷؒҧ͍ͳ͍. https://togetter.com/li/885357 ͔ΒҾ༻ʢPyCon JP 2015ൃද·ͱΊʣ
ੜ֔ΠνɾΤϯδχΞͱͯ͠ ίϛϡχςΟͷҰਓͱͯ͠ ʮ࣮ྗʯʮ৴པʯΛେʹ ελϝϯΛऔΓଓ͚ͯ ߦ͖·͢ʢஅݴʣ
ήʔϜηοτ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ Shinichi Nakagawa(Twitter/Facebook/etc… @shinyorke)