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
エンジニアの選球眼 - イシューからはじめよう #PyDataOkinawa
Search
Shinichi Nakagawa
PRO
June 16, 2018
Technology
6.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
エンジニアの選球眼 - イシューからはじめよう #PyDataOkinawa
PyData.Okinawa + PythonBeginners沖縄 合同勉強会 2018/6/16 基調講演
#Python #Baseball #PyData #Agile
Shinichi Nakagawa
PRO
June 16, 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.1k
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
720
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
1
730
自らを強いエンジニアにするための3つの習慣 2025/ Fitter happier more productive
shinyorke
PRO
0
320
生成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.7k
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
590
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball
shinyorke
PRO
2
4.9k
Other Decks in Technology
See All in Technology
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
4
1.4k
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
1
220
Apache Iceberg が拓く AI 時代のオープンレイクハウス
tomtanaka
0
190
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
740
AI coding 整合正規方法
philipz
0
560
Amazon Bedrock Agents ClassicからAmazon Bedrock AgentCoreへ移行した際、ガードレール設定が2箇所に割れた話
matsunobu
0
160
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
240
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
420
セルフサービスのオブザーバビリティ基盤をOpenTelemetryで作る / Building a Self-Service Observability Platform with OpenTelemetry
ymotongpoo
3
460
AIエージェント時代のPlatform as a Product —— テックリードがPdMとして回す発見・導入・計測 / Platform as a Product in the AI Agent Era
toshi0607
1
500
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
420
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
110
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
Statistics for Hackers
jakevdp
799
230k
Documentation Writing (for coders)
carmenintech
77
5.5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
WCS-LA-2024
lcolladotor
0
840
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
New Earth Scene 8
popppiees
4
2.6k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
530
Transcript
ΤϯδχΞͷબٿ؟ʢEngineer’s Batting eyeʣ Shinichi NAKAGAWAʢٿΤϯδχΞ/@shinyorkeʣ PyData.Okinawa + PythonBeginnersԭೄ ߹ಉษڧձ 2018/6/16
TL;DRʢࠓͷ͓ͳ͠ʣ • Πγϡʔ͔Β͡ΊΑ͏ • ϓϩμΫτʹ߹Θٕͤͨज़ΛબͿ • ٕज़ΛબͿͨΊͷεΩϧΛຏ͘ • εΩϧΛຏ͘ʮखஈɾίϛϡχςΟʯΛબͿ
ʊਓਓਓਓਓਓਓਓਓਓʊ ʼɹಥવͷٿΫΠζɹʻ ʉY^Y^Y^Y^Y^Y^Y^Y^Yʉ
Who is he? ώϯτɿϝδϟʔϦʔΨʔͰڈͷϗʔϜϥϯԦ ݩը૾ɿhttps://commons.wikimedia.org/wiki/File:Aaron_Judge_batting_in_2017_(36260697604)_(cropped).jpg
ʲʳΞʔϩϯɾδϟοδ • ϠϯΩʔεͷ֎खʢ26ࡀʣ • ΞɾϦʔάຊྥଧ&৽ਓԦʢ2017ʣ • ӈӈଧ,എ൪߸99 • ओͳϙδγϣϯʮೋ൪ϥΠτʯ •
2m/ମॏ127kgɺҊ֎कඋྑ͍ • ݱϝδϟʔϦʔΨʔ࠷ڧͷඈ͠
ଧٿΛʮඈ͢ʯͻΈͭ #ͱ
ʮੌ͍×͍͍֯ʯͰඈڑΛ৳͢ ՊֶͱσʔλͷݕূʹΑΓɺ×֯ͷΈ߹ΘͤͰඈͿ͜ͱ͕Θ͔ͬͯΔ ϝδϟʔͰʮόϨϧɾκʔϯʯͱݺΕ͍ͯ·͢&kwskϕʔεϘʔϧΪʔΫεͰʂ ݩը૾ɿhttp://m.mlb.com/glossary/statcast/barrel
ʮ͍ϑϥΠΛଧͯʯ #ҙ༁ ଧٿΛ্͛ͯɺఔΑ͍֯Ͱඈ͢ͱ৳ͼΔ ※ɿ্͕͕֯Γ͗͢Δͱଧٿ͕৳ͼͳ͍
ͱ֯ͬͯଌΕΔͷʁ #ٙ
ʲʳτϥοΫϚϯͰܭଌ͢Δ υοϓϥʔϨʔμʔʢࣸਅதԝʣͰͯ͢ͷٿɾଧٿΛه ࢀߟɿhttps://www.baseballgeeks.jp/?p=3551
ʲਤʳδϟοδ͞Μͷશଧٿʢ2018ʣ ԣ࣠ɿଧٿʢkm/hʣ,ॎ࣠ɿ֯,ֻ͚͕όϨϧɾκʔϯ શൠతʹଧٿ͕͍ɹ˞࡞ਤJupyter + BokehΛͬͯ·͢
ʲਤʳδϟοδ͞Μͷώοτଧٿʢ2018ʣ όϨϧɾκʔϯʢֻ͚෦ʣʹϗʔϜϥϯू·ͬͯΔ ͓Θ͔Γ͍͚ͨͩΔͩΖ͏͔ʁʢ͠ʣ
δϟοδͷϗʔϜϥϯੳʢͬ͘͟Γʣ ٿܥͷϘʔϧɺߴΊʙਅΜதͱΠϯίʔεͷಈ͘Ϙʔϧةݥ ֎֯ΊΛݟಀͯ֯͠֎֯ͷߴΊΛଧͬͯΔΑ͏ʹݟ͑Δ ٿܥΛଧͬͯΔʢ4γʔϜ/2γʔϜʣ ߴΊʙਅΜதίʔε͕ةݥ Πϯίʔεಈ͘ϘʔϧଧͬͯΔ
ʲֶͼʳڧଧऀʮબٿ؟ʯ͔Βੜ·ΕΔ δϟοδଧͪࠒͳϘʔϧΛબΜͰଧͬͯΔ ࡢΑΓ࢛ٿબΜͰΔ&ࡾৼݮ͍ͬͯΔࠓϠό͍ͧ Ϙʔϧ͕ɺ ɾϘʔϧκʔϯͳΒݟಀ͢ ɾετϥΠΫκʔϯͳΒ ɾಘҙͳίʔεͳΒଧͭ ɾඍົͳΒݟಀ͢PS೪Δ ͜ΕΛʮͨΓલʯʹΕΔ͔͕ΩϞ ʢͳ͓ɺ͍༷͠ʣ
ʮڧଧऀʯత֬ʹϘʔϧΛબͼ ଧͭorݟಀ͢ࣄʹΑΓ ݁ՌΛग़͢ ͰʮΤϯδχΞʯԿΛબͼ ΤϯδχΞϦϯάΛ͢Δ͜ͱʹΑΓ ݁ՌΛग़͢ΜͩΖ͏ʁ #ຊͷςʔϚ
͔͜͜Βຊ
ΤϯδχΞͷબٿ؟ #ͱ • ϓϩμΫτʹ߹Θٕͤͨज़ΛબͿ • ٕज़ΛબͿͨΊͷεΩϧΛຏ͘ • εΩϧΛຏ͘खஈɾίϛϡχςΟΛબͿ • Πγϡʔ͔Β͡ΊΑ͏
Who am I ? ʢ͓લ୭Αʣ
ٿΤϯδχΞͰ͢ • Shinichi NAKAGAWA(@shinyorke) • 38ࡀɺࣾձਓ18ɺϊϛαϯʢࡕਆʣͱಉ͍ • ʢגʣωΫετϕʔε ٿΤϯδχΞ݉CTO •
ITίϯαϧɺϦΫϧʔτɺRettyɺ⽁ˡࠓ͜͜ • Pythonࣗ͘͘शࣨʢ#rettypyʣΦʔΨφΠβʔ • #Python #αʔόʔαΠυΤϯδχΞ #ٿσʔλੳ #ΞδϟΠϧ #ڕྉཧ • ͖ͳ๐ͷฑɿʢനʣɺླྀٿඒਓɺ๛ݟʢͱ͎ΏΈΌʣ
ʲࣄʳωΫετϕʔε #ͱ • Innovations For All Athletes (શͯͷΞεϦʔτʹٕज़ֵ৽Λ) • τϥοΫϚϯ(υοϓϥʔϨʔμʔ)͔ΒಘΒΕͨٿσʔλΛղੳ͠,
ੳɾՄࢹԽΛߦ͏ϓϩμΫτʮBACS(όοΫε)ʯΛఏڙ • ٿΛத৺ͱͨ͠બखɾٿஂͷίϯαϧςΟϯάɾαϙʔτetc… • ৄͪ͘͜͠ΒͰˠ http://nextbase.co.jp/ • ݱࡏΤϯδχΞืूதͰ͢ʂʢϑϩϯτΤϯυɾαʔόʔαΠυʣ ※BACSʮBaseball Analytics and Coaching Systemʯͷུ
ʲࣄʳBACSʢόοΫεʣ ࠨ͕ٿσʔλͷղੳ&ՄࢹԽ,ӈ͕3Dي ಡചڊਓ܉Λ͡Ίɺٿஂɾબखʹఏڙɾαϙʔτͯ͠·͢
ʲCMʳBaseball Geeks • ٿͷʮະདྷʯΛൃ৴͢ΔϝσΟΞͰ,ωΫετϕʔεͰӡӦ͍ͯ͠·͢ • σʔλɾεϙʔπՊֶͰ໌Β͔ʹͳͬͨ͜ͱΛʮΘ͔Γ͘͢ʯ͑Δ • ΈΜͳಡΜͰͶ&ϒΫϚΑΖ͘͠ʂ https://www.baseballgeeks.jp/
Pythonࣗ͘͘शࣨ #rettypy • ࢲͱRettyͷΤϯδχΞ͕ओ࠵͢ΔPython͘͘ձ • झࢫ&Ϟοτʔ • ֤ࣗ,͓Λ࣋ࢀͯ͠ʮࣗश(͘͘)ʯ͢Δ • ൃදɾࡶஊΛ௨ͯ͡ใަֶͼΛಘΔ
• ΠΠΰϋϯ(ϥϯνɾ͓ͭ)Λ༇͠Ή • ॳ৺ऀ͔ΒΤόϯδΣϦετ·Ͱଟछଟ༷ͳࢀՃϝϯόʔ • ։࠵༧ఆɾৄࡉRettyͷconnpassαΠτ͘͠ Twitterʮ#rettypyʯΛνΣοΫʂ https://retty.connpass.com
ࠓͷϋφγ • ࣮ࡍͷϓϩμΫτʢٿ͓Αͼ͓ࣄʣͱ • ٿΤϯδχΞʹͳΔ·ͰͷΤϐιʔυΛݩʹ • ࢲʢٿΤϯδχΞʣ͕࣮ફͨ͠ࣄϕʔεͰ͓͠·͢ • ٕज़ܥͷ৮ΓͷΈొ͠·͢ɺؾʹͳΔํࢲͷϒ ϩάʢhttp://shinyorke.hatenablog.com/ʣ͘͠ա
ڈͷൃදࢿྉΛ͝ཡ͍͚ͨͩΔͱ͍Ͱ͢ :bow:
ڈͬͨ #pyconjp2017 ٿΛՊֶ͢Δٕज़ - PythonΛ༻͍ͨ౷ܭϥΠϒϥϦ࡞ͱੳج൫ߏங https://speakerdeck.com/shinyorke/ye-qiu-woke-xue-suruji-shu-pythontotong-ji-raiburaritofen-xi-ji- pan-number-pyconjp?slide=1
࣮ݱ͔ͨͬͨ͜͠ͱ #pyconjp2017 • ʮσʔλɾυϦϒϯٿղઆʯ • ղઆऀʢݩબखʣࠓ·Ͱͷ༗ࣝऀͱҟͳΔɺٿͷ؍ ઓɾָ͠ΈํΛσʔλͰָ͘͠ূ໌͢Δ • ੳςʔϚʮౡଧઢੳʯʮ伱͖͋Βؒʯ ˞2017࣌ʢࠓ伱͖ͳͯؒ͘ʣ
• ͜ΕΛ࣮ݱ͢ΔͨΊʹɺσʔλΛूΊɺੳ&ՄࢹԽ͢Δ αʔϏεΛاըɾ։ൃʢPythonϝΠϯͰʣ
ͦͦ σʔλੳϓϩδΣΫτ ͬͯͲ͏ΔΜ͔ͳʁ ※ྫ͑ػցֶशͱ͔
ଟ͜Μͳײ͡ʢͬ͘͟Γʣ
ϓϩδΣΫτɾతͷݴޠԽ • େ·͔ͳετʔϦʔͷ࡞ • σʔλɾυϦϒϯͰٿղઆ • σʔλੳͷϫʔΫϑϩʔΛ΄΅PythonͰ࡞ΓΔ • ετʔϦʔ͔ΒΠγϡʔΛ࡞Δ&ݴޠԽ͢Δ •
ϝϞॻ͖ΛΑΓߏతʹཧ&ΠγϡʔԽ͢Δ • શମ૾ΛݴޠԽ͢Δ.ݟฦ͢͜ͱ͕Ͱ͖ΔϑΥʔϚοτͰॻ͘ ˠֆਤΛॻ͘,Design Doc,ϦʔϯΩϟϯόε,ΠϯηϓγϣϯσοΩͳͲ
ετʔϦʔͷݴޠԽ ʢֆʣ PyCon JP 2015Ͱͨ͠ͱ͖ͷֆ͕ͦͷ··ετʔϦʔʹ ͕ࣗΓ͍ͨੈքΛ2લͷ͕ࣗઌճΓ͍ͯͨ͠ʢਅإʣ
ΤϯδχΞͷׂʢݴޠԽޙʣ • ͦΕͧΕͷϑΣʔζʹ߹ͬͨख๏ɾखஈɾٕज़Λݕ౼͠ɺܾΊΔ • σʔλऔಘɾநग़ɾલॲཧ • ֶशɾੳɾݕূ • ߏஙɾӡ༻ •
ܾΊΔ͖༰ • ਐΊํʢΞδϟΠϧͳͷ͔ଞͳͷ͔ɺϑΣʔζؔͳ͘શମతʹʣ • ϓϩάϥϛϯάݴޠʢ΄Μͱʹશ෦PythonͰ͑͑ͷ͔ʁʣ • ϥΠϒϥϦɾFWʢރΕͯΔͭVS৽͍͠Ϟϊࢼ͍ͨ͠ཉٻʣ
͏ΞʔΩςΫνϟΛએݴ͢Δʢֆʣ ٕज़ɾϓϩηεΛܾΊͨΒݴޠԽ ଞͷϝϯόʔ͋ͱ͔ΒདྷΔਓʹʹཱͭ ※PyCon JP 2017ͷεϥΠυΑΓҾ༻
Ͳ͏͍͏ج४Ͱٕज़ΛબͿͷ͔ʁ • αʔϏεɾϓϩμΫτͷετʔϦʔʹ߹͏Ϟϊ • อकɾӡ༻͕ՄೳͳϞϊʢͦΒͦ͏Αʣ • ॴଐ৫ɾνʔϜ͘͠ݸਓͷಘҙɾෆಘҙ େ͖ΊͷνʔϜͩͱʮΧϧνϟʔʯେ • ଞʹ͍ͬͺ͍ཁૉ͋ΔʢԿݸ͋ΔΜ͔ͩʣ
• ٕज़ΛબͿʮར͖ྗʯ͕େʂ
બΛޡΔͱ • ։ൃͰߦ͖٧·ΔʢֶशίετɺΦϨΦϨͳ࣮etc…ʣ • อकɾӡ༻ͷίετ͕͔͞ΉʢιϧδϟʔϫʔΫͷ಄ʣ • ݁ՌɺQCDͷͲΕ͔ɺ͍શ͕ͯ୲อͰ͖ͳ͘ͳΔ ˞QCDɿQuality, Cost, Delivery
• ࠷ѱͷ߹ɺνʔϜͷϞνϕʔγϣϯ࠾༻ͳͲʹӨڹ • ʮར͖ྗʯ͕େʂ #େͳͷͰೋݴ͏
ར͖ྗ = ΤϯδχΞͷબٿ؟ όολʔ͕ετϥΠΫ/Ϙʔϧ,ଧͯΔ/ଧͯͳ͍ΛݟۃΊͨΓ, ͻΑؑ͜ఆ͕࢜༤ࣁϝεΦε…Έ͍ͨͳ͓ࣄ͢Δͷͱಉ͡Α͏ͳੈք
ࠓͦΜͳʮબٿ؟ʯ ΛֶΜͰ͍͖·͠ΐ͏ ͳ͓ҟೝΊΔ༷ ʢͲΜͲΜ͔͔͖ͬͯͳ͍͞ʣ
ΤϯδχΞͷબٿ؟ͦͷ̍ ʮٕज़ΛબͿʯ
ٕज़ΛબͿ #ͱ ※ίίͷ
#pyconjp2017 Ͱͬͨ/ఘΊͨϞϊୡ ϑΣʔζɾׂ ͖͏ͰͬͨϞϊ ݕ౼ରͩͬͨϞϊ ʢΘͳ͔ͬͨϞϊʣ σʔλॲཧ ʢऔಘɾநग़ɾલॲཧʣ ɾ4DSBQZ ɾ.Z42-
ɾQBOEBT ɾCFBVUJGVMTPVQ ɾ#JH2VFSZ ɾOVNQZTDJQZ ֶशɾੳɾݕূ TBCS ٿϥΠϒϥϦ ػցֶशϥΠϒϥϦશൠ ߏஙɾӡ༻ ɾ"JSqPX ɾ3FEBTI+VQZUFS ɾ%PDLFSࣗͷ1$ ɾMVJHJ +FOLJOT 3VO%FDL ɾUBCMFBV ɾ7."84 ($1ͳͲ
σʔλऔಘɾநग़ɾલॲཧ • औಘ(Web͔ΒूΊΔ) • ऩूʙσʔλอଘͷύΠϓϥΠϯΛΊΔScrapyΛબ • εΫϨΠϐϯάʮͷΈʯͷbeautiful soupෆ࠾༻ • ࠷ॳϩʔΧϧͰಈ͚OKͩͬͨͷͰMySQLΛDBʹ
• Big Queryڵຯ͕͋ͬͨେͨ͠σʔλྔͰͳ͍ͷͰෆ࠾༻ • நग़ɾલॲཧ • ࢼ߹ɾબखใڞʹ୯७ͳςʔϒϧͳͷͰpandasͰநग़&લॲཧ • ػցֶशΘͳ͍ͷͰnumpy/scipyͷओཁػೳΘͣɹ˞ґଘ͍ͯ͠Δ
ֶशɾੳɾݕূ • ٿʹʮηΠόʔϝτϦΫεʯͱ͍͏ૉΒ͍͠౷ܭֶతख ๏͕ଘࡏ͢Δ • ͔͠͠ɺPythonʹϥΠϒϥϦ͕ͳ͔ͬͨ • ϫΠʮ࡞ͬͪΌ͑ʂʯˠʮsabrʯͱ͍͏໊લͰ࡞ͬͯެ։ͨ͠ https://pypi.org/project/sabr/ •
ػցֶशʁςϯιʔϑϩʔʁʁ͚Β͢ʁʁʁ Βͳ͍ࢠͰ͢ͶʢηΠόʔϝτϦΫεͰࡁΉൣᙝͳΒʣ
ߏஙɾӡ༻ • ϓϨθϯςʔγϣϯʢݟͤΔʣ • ʲ࠾༻ʳఆظϨϙʔτRedash,ݕূɾ࣮ݧJupyter notebook • ʲෆ࠾༻ʳࣗͷPCͰಈ͚OKͩͬͨͷͰ,tablaeu΄͔Ϋϥυܥπʔϧॳ͔Βఆ֎ • ϓϥοτϑΥʔϜʢج൫ʣ
• ʲ࠾༻ʳGUIɾόονڞʹߴػೳʹἧͬͨAirflow • ʲෆ࠾༻ʳ׳Ε͍ͯͳ͍Jenkins/Run Deck,ػೳෆͩͬͨluigi • Πϯϑϥ • ʲ࠾༻ʳࣗσεΫτοϓͱϊʔτͰڥڞ༗ʢ&কདྷΫϥυʹҾͬӽ͠ʣͷͨΊDocker • ʲෆ࠾༻ʳVMͰ࡞Δ&·ͩඞཁͳ͔ͬͨͷͰΫϥυܥͷαʔϏεʢAWS,GCPͳͲʣ
ٕज़બͼͰେʹͨ͜͠ͱ • PythonϕʔεͰ౷Ұ • ͕ࣗ׳Ε͍ͯΔ͔ͭ,όʔδϣϯཧߟ͍͑͢ • ͦͦPythonͷΧϯϑΝϨϯεͳͷͰʢͦΒͦ͏Αʣ • OSS׆༻Ͱʮͭ͘Βͳ͍ʯʮͭͬͨ͘Ϟϊެ։ʯ •
OSSͰ͋ΔͷɾރΕͯΔϞϊͷΈ߹ΘͤͰαΫοͱ • OSSʹͳ͍ͷʢٿؔʣͱ͔࡞ͬͯͦΕOSSԽ • ʮΉ͔͍ͣ͠Λ͘͞͠ʯΔɺςΫχοΫʹΒͳ͍ • ʮηΠόʔϝτϦΫεʯͱ͍͏ཱͳख๏͕͋ΔͷͰͦ͜ʹཔΔ • ඞཁແ͍ͷʹػցֶशͱ͔͍͠ɾ໘͍͘͞ςΫχοΫʢΪϟϯϒϧʣΘͳ͍ ※ɿࣄʢࠓʣผͰ͢ʢެ։Ͱ͖ͳ͍ʣ
࠷ऴతʹग़དྷͨϞϊʢֆʣ ൃද༻ϓϩμΫτΛ࡞Δલʹඳ͍ͨߏ ݁Ռతʹ͜ͷ··ͷΧλνͰ
ʁʁʁʮ͏Θͳ͍ͬͯͲ͏ͬͯݟ͚Δϯΰʁʯ ྫ͑Scrapy͕ྑͯ͘beautiful soup͕NGɺͱ͔Ͳ͏ݟ͚ΔΜʁ ͏ʢৼΔʣ Θͳ͍ʢݟૹΔʣ
ʲʳٕज़ྗΛ͚ͭΑ͏ #࣍ͷςʔϚ
ΤϯδχΞͷબٿ؟ͦͷ̎ ʮεΩϧΛຏ͘ʯ
εΩϧΛຏ͘ • ٕज़ྗΛຏ͘ • ϏδωεྗʢυϝΠϯࣝʣΛຏ͘ • ࣗΛຏ͘ʢͨΊͷश׳ɾڥΛͭ͘Δʣ • εΩϧΛຏ͘ =
ࣗݾ࿉ʂ
ٕज़ྗΛຏ͘ • ʮίʔυΛॻ͘ɾಈ͔͢ʯʮྑ࣭ͳΠϯϓοτʯ͕େʂ • νϡʔτϦΞϧɾຊΛࣸܦ͢Δɺ·ͣʮಈ͔͢ʯ͜ͱʂ • جૅ͔ΒԠ༻·ͰɺࢁͷຊΛಡΉɺͦͯ͠ࢼͤΔॴࢼ͢ • ΞτϓοτΛग़͢ˠϑΟʔυόοΫΛΒ͏ •
ॻ͍ͨ/࡞ͬͨϞϊΛެ։ʢGithubɾϒϩάɾLTͳͲʣ • ΒͬͨҙݟɾϑΟʔυόοΫΛ࣍ͷΞτϓοτʹੜ͔͢
ϏδωεྗΛຏ͘ • ʮυϝΠϯࣝʯʮυΩϡϝϯτྗʯʮίϛϡྗʯ • ੳରʹର͢ΔۀքɾҰൠࣝ=ʮυϝΠϯࣝʯ • ͑ΔͨΊͷʮυΩϡϝϯτྗʯ • νʔϜଞͷΤϯδχΞͱͤΔ࠷ݶͷʮίϛϡྗʯ •
ಛఆͷྖҬͰΨνʹͳΔͳΒʮυϝΠϯࣝʯৄ͘͠ͳΖ͏ • υΩϡϝϯτྗɺίϛϡྗʮ࠷ݶࠔΒͳ͍͙Β͍ʯͰྑ͍ ʢҙࣝ͗ͯ͢͠ԿͰ͖ͳ͘ͳΔͱਏ͍ͷͰʣ
ࣗΛຏ͘ڥɾश׳࡞Γ • ڥͭ͘Γ • ҰਓͰूதͯ͠ษڧɾֶश͢ΔڥΛ࡞Δ • ॴʢࣗor֎ʣɺSNSஅͪɺझຯͳͲͷ༠͔ΒΕΔetc… • श׳࡞Γ •
ʑͷੜ׆ϦζϜʹ͏·͘ೖΕΔΑ͏ͳश׳࡞Γ • ࣄɾՈఉɾझຯetc…ͱ͏·͘ڞଘ͢Δ࣌ؒͷ͍ํΛ৺͕͚Δ • ʮηϧϑϚωδϝϯτΛ͔ͬ͠ΓΖ͏ʂʯͱ͍͏ࣄʂ
εΩϧຏ͖=ʢਏ͘ͳ͍ఔͷʣࣗݾ࿉ ਏ͍Ͱ͢(ry…ʹͳΒͳ͍ఔʹ͏·͘Γ·͠ΐ͏ʢਅإʣ
ࣗݾ࿉ʢಠֶʣͷܽ • ʮΘ͔Βͳ͍ɾࠔͬͨʯͱ͖ͷରॲ • ௐํ͕߹ͬͯΔ͔ෆ҆ɾΘ͔Βͳ͍ • ͨ·ʹͬͯΔਓʢڧ͍ਓʣʹฉ͍ͯΈ͍ͨ • ʮݽಠͱͷઓ͍ʯͱ͔͍͏ਏΈ •
Ұਓऐ͍͠ • ಉ͡ςʔϚɾͷਓͱܨ͕Γ͍ͨ
ʮͦ͏ͩɺษڧձʹߦ͜͏ʯ #ଟͦ͏ͳΔ #·͞ʹࠓͱ͔
ΤϯδχΞͷબٿ؟ͦͷ̏ ʮखஈɾίϛϡχςΟΛબͿʯ
εΩϧຏ͖ͷखஈ • ͻͱΓͰΔʢಠֶʣɹ˞લͷষͷϋφγ • ίϛϡχςΟͰֶͿˡࠓ͜͜ • ษڧձ • ͘͘ձ •
ΧϯϑΝϨϯεʢYAPCͱ͔PyConJPతͳʣ
ίϛϡχςΟͰֶͿ͖ཧ༝ • Get out of the building ʢ֎ʹग़Α͏ʣ • Output
& Feedback ʢΞτϓοτΛग़ͦ͏&ҙݟΛΒ͓͏ʣ • Networking ʢؒΛͭ͘Ζ͏ʣ
Get out of the building • ྑ࣭ͳΠϯϓοτݾͷಠֶͷΈͰ֫ಘͰ͖ͳ͍ • ๊͍͑ͯΔΈɾٙΛطʹղܾ͍ͯ͠Δਓ͔Β ݟ͕ڞ༗͞ΕΔʢ͔ʣ
• ܦݧ๛ͳਓʢڧऀʣ͔ΒΠϯϓοτΛಘΒΕΔʢ͔ʣ • ࣗݾֶशʢҰਓ͖ͬΓʣ͓ΑͼձࣾͰಘΒΕͳ͍ɺ ৽ͨͳΠϯϓοτͱωοτϫʔΫΛܗͰ͖Δ • ·ͣ֎ʹग़Α͏ʂʂʂ
Output & Feedback • ࣗͷΞτϓοτ͔Βྑ࣭͔ͭ།ҰແೋͷΠϯϓοτ͕ੜ·ΕΔ • ྫ͑ษڧձ͘͘ձͰLTΛ͢Δ͜ͱΑΓɺ • ྑ͍ͱ͜ΖΛ๙ΊΒΕΔʢؾ͍͍࣋ͪʣ •
৭ʑͳΞυόΠεʢͱϚαΧϦগʑʣ • ࣍ͷεςοϓͷώϯτ͕ಘΒΕΔ • LT࡞ͬͨϞϊͷσϞΛ܁Γฦ͢ࣄʹΑΓࣗͷಘҙɾෆಘҙΛ໌֬ʹ ͨ͠ΓɺΓ͍ͨ͜ͱɾࢦ͍ͯ͠Δ͜ͱΛݴޠԽग़དྷΔޮՌ͕͋Δ ˠ͜Εͷ܁Γฦ͠ͰεΩϧ͕ຏ͔Ε͍ͯ͘ʂ
Output & FeedbackΛମܥཱͯΔͱʢҾ༻ʣ ษڧձͰൃදͯ͠ΈΑ͏͔ͳͱ͍͏ํ(@haru860) https://www.slideshare.net/ssuserafaef6/bps-32796687
Networking • ϓϥΠϕʔτɾձࣾͱҧ͏͕ؒग़དྷΔ͜ͱʹΑΓɺՄೳੑ͕͕Δ • Մೳੑ͕͕Δʢྫʣ • ब৬ɾస৬ͷ࿏͕։͚Δ • ΠϕϯτొஃɾࣥචͳͲͷνϟϯε •
ʮձ͍͍ͨʂʯͱࢥͬͨਓʹձ͑Δʢͭͳ͕Γͷͭͳ͕ΓͰʣ • ࠓɺࢲ͕͜͏ͯ͠Λ͍ͯ͠ΔͷʮNetworkingʯͷޮՌͷҰͭ ˠͯ͢PyCon JP/PyData Tokyo/PyLadies Tokyo͋ͨΓ͔Β࢝·ͬͨ
ίϛϡχςΟͰͷա͝͠ํ • ηϧϑɾϚωδϝϯτΛ͔ͬ͠ΓΖ͏ʢಛʹ࣌ؒʣ • ษڧձɾΠϕϯτʹࢀՃ͗ͯ͢͠ࣄ͕ʢΞΧϯʣ • ٳΉ࣌ؒɾՈͱͷ͕࣌ؒͳ͍ʢΞΧϯʣ • ࣄՈɺࣗͷ࣌ؒʢಠֶͷ࣌ؒʣେͰ͢Αʂ •
ίϛϡχςΟͷ࡞Γʹڠྗ͢ΔʢˍෆշʹͳΔ͜ͱ͠ͳ͍ʣ • ओ࠵ɾࢀՃऀ͕ࠔͬͯΔ͜ͱ͕͋Εڠྗͯ͠ΈΔ • ҰਓʹͳͬͯΔਓ͕͍ͨΒΛॻ͚ͯΈΔ • ڧҾͳίϛϡχέʔγϣϯNGʢ໊ަͷڧཁɺϚϯςΟϯάetc…ʣ
ͭ·Γɺ͜͏͍͏͜ͱ
͜ΕͰεΩϧ͕ຏ͔ΕΔͱ
σʔλੳϓϩδΣΫτͷϧʔϓʢ࠶ܝʣ
σʔλੳϓϩδΣΫτͷϧʔϓʢ࠶ܝʣ ίίͷͰ݁Ռ͕ग़Δʂʢͱࢥ͏ʣ ※֬ূ͠·ͤΜ&ݸਓࠩ͋Γ·͢
͔͠͠ͳ͕Β ຊʹେͳͷ
ݴޠԽग़དྷͳ͍ͱͦͦҙຯͳ͍ͷͱ… ͜Εͱˠ
Ϣʔβʔ͞ΜʹՁ͕ಧ͔ͳ͍ͱҙຯ͕ͳ͍ʂ ͜Εͱˠ ͜Εʂˠ
Կʹ͑Λग़͖͢ͳͷ͔ • ͜͜·Ͱݴ͖ͬͯͨϞϊʮखஈʯͰ͋Γʮ͑ʯͰͳ͍ • εΩϧʢPythonɺσʔλੳɺػցֶशetc…ʣͱબٿ؟ • εΩϧͷຏ͖ํʢݸਓֶशɾίϛϡχςΟʣ • ϓϩδΣΫτͰੜ·ΕͨϓϩμΫτͦͷͷ •
ʮखஈʯΛຏ͘ͷେɺ͕ͩຊ࣭తͳʮ͑ʯ ʮαʔϏεΛ௨͡ɺεςʔΫϗϧμʔʹՁΛಧ͚Δ͜ͱʯ
ΤϯδχΞͷબٿ؟ ʮΠγϡʔ͔Β͡ΊΑ͏ʯ
Πγϡʔ #ͱ • Ұ࣍ใɾجຊใʹج͍ͮͨʮຊ࣭తͳબࢶʯ ʮਂ͍ԾઆʯΛ࣋ͬͨʮ͑Λग़ͤΔʯ՝ͷ͜ͱ ※ॻ੶ʮΠγϡʔ͔Β͡ΊΑʯΑΓ • ΤϯδχΞ͕େ͖ͳIssue trackerʢJIRAɺBacklogͳ ͲʣΧϯόϯʢTrelloɺGithub
projectͳͲʣͷλεΫ ΑΓ͏ͪΐͬͱཻ͕େ͖͍ͷΛࢦ͢ • ࠷ۙͷݴ༿ͩͱʮετʔϦʔʯ͕Ұ൪͍ۙ͠
ΠγϡʔΛॏࢹ͖͢ཧ༝ • ϒϨΔࣄແ͘ΤϯδχΞϦϯάΛ͢ΔͨΊʂ͜Εʹਚ͖Δɻ • ΤϯδχΞϦϯάϒϨΔʢ༳ΕΔʣΠϕϯτ͕ͨ͘͞Μ • ੳɾղੳͷΞϓϩʔνʢख๏ͱ͔ʣ • ϥΠϒϥϦɾFWͷબʢDjango?Flask?͋ͳͨͲͬͪ??ʣ •
ύοέʔδߏͱ͔ઃܭʢͬͺ៉ྷͳΦϒδΣΫτࢦΛ(ryʣ • ϓϩάϥϛϯάݴޠʢ͋ΕɺPythonͷඞཁੑ(ryʣ
ϒϨͳ͍ҝͷʮݴޠԽʯ • σʔλੳɾΞϓϦ։ൃͰԿͰɺ ʮϓϩδΣΫτతͷݴޠԽʯ ͕Πγϡʔͷ࢝·Γɺ͜Ε͕ͳ͍ͱԿਐ·ͳ͍ • ݴޠԽͷख๏ϑϨʔϜϫʔΫࢁ΄Ͳ͋Δ͕ɺ ·ͣԿΑΓݴ༿ֆʹͯ͠ΈΔ • ෳਓ͍Δ࣌߹͍͍॓ͯ͠ʢձࣾͱ͔ͳΒΓ͍͢ʣ
• Ұਓͷͱ͖͍ٳΈ࣌ؒ͋Δ࣌ʹΓ͖Δͱϕετʂ
ετʔϦʔͷݴޠԽ ʢ࠶ܝʣ ͜ͷֆ͕ͦͷ··ࢦ͍ͨ͠ੈքͩͬͨ ͜ͷֆΛ3લͷ͕ࣗඳ͍͓͔ͨ͛ͰϒϨͣʹࡁΜͩʢ࣮ʣ
ετʔϦʔͷݴޠԽ ʢΠϯηϓγϣϯσοΩʣ ʮΞδϟΠϧαϜϥΠʯͰհ͞Ε͍ͯΔख๏ ※ʮBaseball Play Study 2017य़ʯͷاըΑΓʢຊॳެ։ʣ
ݴޠԽ 33 - 4 εΩϧ #ߦ͖ண͘ͱ͜͏ͳΔ #nhk
·ͱΊ
ͬ͘͟Γݴ͏ͱ • Πγϡʔ͔Β͡ΊΑ͏ • ϓϩμΫτʹ߹Θٕͤͨज़ΛબͿ • ٕज़ΛબͿͨΊͷεΩϧΛຏ͘ • εΩϧΛຏ͘ʮखஈɾίϛϡχςΟʯΛબͿ
ए͍օ͞·
σʔλੳϓϩδΣΫτͷϧʔϓʢ࠶ܝʣ ·ͣ͜ͷล͔ΒؤுͬͯΈΑ͏ʂ
εΩϧɾબٿ؟Λటष͘ຏ͘ • ࣄɾݚڀɾݸਓϓϩδΣΫτͰͻͨ͢ΒܦݧΛੵ͏ʢઍຊϊοΫͷΑ͏ʹʣ • ͻͨ͢ΒΠϯϓοτ • ͻͨ͢ΒίʔσΟϯά • ͱʹ͔͘ΞτϓοτˠϑΟʔυόοΫΛΒ͏ʢݴޠԽͷ܇࿅ʣ •
ΧοίΑ͘Python͍͍ͨɺػցֶशΓ͍ͨʂͱ͍͏ʢϞς͍ͨʣཉΛ ϓϥεͷΤωϧΪʔʹ͑ͯͻͨ͢Βग़དྷΔ͜ͱʹଧͪࠐΜͰΈΑ͏ ˠલॲཧˍ؆୯ͳੳͱ͔ɺWebαΠτ࡞ΓͳΜ͔͕ྑ͍ʢ݁Ռग़͍͢ʣ • ͱ͍͑ఔΑ͘झຯ༡ͼΖ͏ʢٿΤϯδχΞ͔ͦ͜Βੜ·Εͨʣ
ΩϟϦΞੵΜͩօ͞Μ ʢதݎʙϕςϥϯͳօ͞Μʣ
Ͱ͖ͯ·͔͢ʁʢ͑ʣ ͜Εʂˠ
ʮܦݧʯΑΓʮࠓʯΛݴޠԽ • νʔϜϝϯόʔʹʮϓϩδΣΫτͷతʯʮϓϩμΫτͷՁʯ ΛݴޠԽͯ͑͠ΒΕ͍ͯ·͔͢ʁ • աڈͷܦݧʢઌഐޙഐͳؚؔΉʣΛޠΔΑΓɺࠓͷ͜ͱɺະ དྷͷࣄΛݴޠԽͯ͠Έ·ͤΜ͔ʁ • ʮԶͷए͍ࠒʙʯʮ࠷ۙͷएऀʙʯ ͱ͔ݴͬͯΔ߹͡Όͳ͍Αͱʢੴٿʣ
• ਓΑΓΩϟϦΞΛੵΜͰΔɺएऀͱҧ͏ࢹͰՁΛग़ͦ͏ʂ ݴޠԽͱٕज़બΒϕςϥϯ͕ՁΛग़ͤΔ
ए͍ਓͨͪϗϯτ༏ल ྫ͑͜ͷ͓ํ
ʲਤʳେ୩ᠳฏ͞Μʢ23ʣͷશଧٿʢ2018ʣ Θ͔ͣ100ଧ੮ͪΐ͍͔ͭϧʔΩʔͳ͕ΒόϨϧɾκʔϯʹଧٿ ͪͳΈʹ͜ͷํɺखͳΜͩͥʢ͑ʣ
ʲਤʳେ୩ᠳฏ͞Μʢ23ʣͷશଧٿʢ2018ʣ ͜ͷล্͕͕Δͱແ͢Δʢͣʣ ʢଧٿͦͷ··Ͱʣ Θ͔ͣ100ଧ੮ͪΐ͍͔ͭϧʔΩʔͳ͕ΒόϨϧɾκʔϯʹଧٿ ͪͳΈʹ͜ͷํɺखͳΜͩͥʢ͑ʣ
Ϙʔϧٕज़ΛબΜͰඈ͍ͯ͜͠͏ʂ ٿ͚ͩ͡Όͳͯ͘ΤϯδχΞͱͯ͠Ͷ ࣗͷόϨϧɾκʔϯࢦͯ͠⽁
We are Hiring! • ࢲͱҰॹʹεϙʔπքͷΤϯδχΞϦϯάΛόϨϧɾκʔϯ ·ͰඈͤΔʮٿΤϯδχΞʯืूதʂʂʂ • ืूϙδγϣϯ • ϑϩϯτΤϯυɾαʔόʔαΠυ
• σʔλαΠΤϯεʢಈըɾը૾ɾMLʣ • ڵຯ͋ΔํSNSͳͲͰࢲʹ࿈བྷ͍ͩ͘͞ʂ @shinyorke (Twitter/Facebook/Hatena/etc…)
ήʔϜηοτ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ Shinichi Nakagawa(Twitter/Facebook/etc… @shinyorke)
ʲAppendixʳࢀߟॻ੶ɾจݙ • ॻ੶ • Πγϡʔ͔Β͡ΊΑʕతੜ࢈ͷʮγϯϓϧͳຊ࣭ʯ • ΞδϟΠϧαϜϥΠʕʕୡਓ։ൃऀͷಓ • ࣄͰ͡ΊΔػցֶश •
PythonͰ͡ΊΔσʔλϥϯάϦϯά • PythonϢʔβͷͨΊͷJupyterʦ࣮ફʧೖ • Analyzing Baseball Data with R • ϒϩάɾϝσΟΞଞ • Ϗʔϓϥυࣾͷϒϩά http://shacho.beproud.jp/ • ٕज़બఆͷ৹ඒ؟(@t_wada) https://speakerdeck.com/twada/understanding-the-spiral-of-technologies?slide=1 • Baseball Geeks https://www.baseballgeeks.jp/