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
LT「データまえしょりすとのためのpytest入門」@みんなのPython勉強会#46
Search
komo_fr
June 12, 2019
Technology
5
3.1k
LT「データまえしょりすとのためのpytest入門」@みんなのPython勉強会#46
Event Page:
https://startpython.connpass.com/event/124251/
Twitter:
https://twitter.com/komo_fr
komo_fr
June 12, 2019
Tweet
Share
More Decks by komo_fr
See All by komo_fr
PyCon mini 東海 2025「個人ではじめるマルチAIエージェント入門 〜LangChain × LangGraphでアイデアを形にするステップ〜」
komofr
3
1.1k
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
1
1.5k
Bokeh & Dash Cytoscape 〜 Pythonによるインタラクティブなネットワーク可視化ライブラリの比較 / PyConJP2021
komofr
0
810
Dash Cytoscape 〜 Pythonによるインタラクティブ・ネットワーク可視化入門 / StartPython#67
komofr
0
1.7k
Dash Cytoscapeで始めるネットワーク可視化 / plotly dash book
komofr
0
700
(修正版) NumPy/pandas使いのためのテスト自動化入門 / PyConJP2020
komofr
32
12k
[Python Charity Talks in Japan] LT: ネットワーク解析とテキスト解析で見るPEP / pycharity
komofr
0
1.4k
PyPI翻訳プロジェクト速報 / PyLadies Tokyo LT
komofr
1
520
pandasのStyling機能で強化するJupyter実験レポート / PyConJP 2019
komofr
15
28k
Other Decks in Technology
See All in Technology
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
4
1.6k
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
3
4.7k
QAを"自動化する"ことの本質
kshino
1
140
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
12
5.8k
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
530
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
210
個人から巡るAI疲れと組織としてできること - AI疲れをふっとばせ。エンジニアのAI疲れ治療法 ショートセッション -
kikuchikakeru
4
1.7k
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
2
510
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
160
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
210
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
1.1k
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
530
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Raft: Consensus for Rubyists
vanstee
140
7.2k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Typedesign – Prime Four
hannesfritz
42
2.9k
Bash Introduction
62gerente
615
210k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
940
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Being A Developer After 40
akosma
91
590k
Transcript
σʔλ·͑͠ΐΓ͢ͱͷ QZUFTUೖ %BUF &WFOUΈΜͳͷ1ZUIPOษڧձ IUUQTTUBSUQZUIPODPOOQBTTDPNFWFOU 4QFBLFS!LPNP@GS 5PNPLP'VSVLJ
w!LPNP@GS 5PNPLP'VSVLJ w ͓͠͝ͱ w ҩྍը૾ใγεςϜͷ։ൃʢઃܭ࣮ʣ w 1ZUIPOͰσʔλ׆༻ͷ1P$࡞ w
ϑϦʔ w ͨ·ʹ1ZUIPOຊͷϨϏϡʔΛͬͯΔ w ʰ1ZUIPOʹΑΔ͋ͨΒ͍͠σʔλੳͷڭՊॻʱᠳӭࣾ w ʰͰ͖Δࣄ͕͔ͲΔ1ZUIPOࣗಈॲཧશ෦ೖΓɻʱΠϯϓϨε !2 8IPBN*
ςετࣗಈԽܦݧ͋Μ·Γͳ͍ σʔλલॲཧ͕ ʰςετۦಈ1ZUIPOʱΛಡΜͰ QZUFTUೖ͢Δ·Ͱͷաఔ ࠓ͢͜ͱ
w ʮ͜ͷσʔλΛͬͯ˓̋ͳ͜ͱ͕Ͱ͖ͳ͍͔ʯͱ ະඋͷੜσʔλΛ͘ w +VQZUFS/PUFCPPL্ͰQBOEBTͰσʔλ֬ೝ ΰϦΰϦલॲཧ w ͱͯటष͍ॲཧௐࠪ w ͜͜Ͱॻ͘ίʔυॻ͖ࣺͯʹͳΔ͜ͱ͕ଟ͍
w ʮΠΠͶʂʯͱͳͬͨΒɺ࣍ͷεςοϓʹਐΉ !4 ͓ࣄͷྲྀΕ࣌ͷΈ
w ʮ͜ͷσʔλΛͬͯ˓̋ͳ͜ͱ͕Ͱ͖ͳ͍͔ʯͱ ະඋͷੜσʔλΛ͘ w +VQZUFS/PUFCPPL্ͰQBOEBTͰσʔλ֬ೝ ΰϦΰϦલॲཧ w ͱͯటष͍ॲཧௐࠪ w ͜͜Ͱॻ͘ίʔυॻ͖ࣺͯʹͳΔ͜ͱ͕ଟ͍
w ʮΠΠͶʂʯͱͳͬͨΒɺ࣍ͷεςοϓʹਐΉ !5 ͓ࣄͷྲྀΕ࣌ͷΈ ͜ͷ࣌Ͱɺ ͜ͷίʔυ͕࠶ͼ ΘΕΔ͔Ͳ͏͔Θ͔Βͳ͍ʜʜ
w ʮ͜ͷσʔλΛͬͯ˓̋ͳ͜ͱ͕Ͱ͖ͳ͍͔ʯͱ ະඋͷੜσʔλΛ͘ w +VQZUFS/PUFCPPL্ͰQBOEBTͰσʔλ֬ೝ ΰϦΰϦલॲཧ w ͱͯటष͍ॲཧௐࠪ w ͜͜Ͱॻ͘ίʔυॻ͖ࣺͯʹͳΔ͜ͱ͕ଟ͍
w ʮΠΠͶʂʯͱͳͬͨΒɺ࣍ͷεςοϓʹਐΉ !6 ͓ࣄͷྲྀΕ࣌ͷΈ
w ʮ͜ͷσʔλΛͬͯ˓̋ͳ͜ͱ͕Ͱ͖ͳ͍͔ʯͱ ະඋͷੜσʔλΛ͘ w +VQZUFS/PUFCPPL্ͰQBOEBTͰσʔλ֬ೝ ΰϦΰϦલॲཧ w ͱͯటष͍ॲཧௐࠪ w ͜͜Ͱॻ͘ίʔυॻ͖ࣺͯʹͳΔ͜ͱ͕ଟ͍
w ʮΠΠͶʂʯͱͳͬͨΒɺ࣍ͷεςοϓʹਐΉ !7 ͓ࣄͷྲྀΕ࣌ͷΈ ͕ࣗॻ͍ͨΫιίʔυͷ मਖ਼ɾϦϑΝΫλϦϯάɾ෦Խ
w ʮ͜ͷσʔλΛͬͯ˓̋ͳ͜ͱ͕Ͱ͖ͳ͍͔ʯͱ ະඋͷੜσʔλΛ͘ w +VQZUFS/PUFCPPL্ͰQBOEBTͰσʔλ֬ೝ ΰϦΰϦલॲཧ w ͱͯటष͍ॲཧௐࠪ w ͜͜Ͱॻ͘ίʔυॻ͖ࣺͯʹͳΔ͜ͱ͕ଟ͍
w ʮΠΠͶʂʯͱͳͬͨΒɺ࣍ͷεςοϓʹਐΉ !8 ͓ࣄͷྲྀΕ࣌ͷΈ ੜσʔλͷόϦΤʔγϣϯ૿ ʢલॲཧͷόϦΤʔγϣϯ૿ʣ ͕ࣗॻ͍ͨΫιίʔυͷ मਖ਼ɾϦϑΝΫλϦϯάɾ෦Խ
w ʮ͜ͷσʔλΛͬͯ˓̋ͳ͜ͱ͕Ͱ͖ͳ͍͔ʯͱ ະඋͷੜσʔλΛ͘ w +VQZUFS/PUFCPPL্ͰQBOEBTͰσʔλ֬ೝ ΰϦΰϦલॲཧ w ͱͯటष͍ॲཧௐࠪ w ͜͜Ͱॻ͘ίʔυॻ͖ࣺͯʹͳΔ͜ͱ͕ଟ͍
w ʮΠΠͶʂʯͱͳͬͨΒɺ࣍ͷεςοϓʹਐΉ !9 ͓ࣄͷྲྀΕ࣌ͷΈ ੜσʔλͷόϦΤʔγϣϯ૿ ʢલॲཧͷόϦΤʔγϣϯ૿ʣ ͕ࣗॻ͍ͨΫιίʔυͷ मਖ਼ɾϦϑΝΫλϦϯάɾ෦Խ
w ࣌ͷࢲͷςετίʔυΛॻ͘εΩϧ w Ҏલ։ൃʹ͍͕ͨɺςετࣗಈԽ͞Ε͍ͯͳ͍ڥͩͬͨ w ʢؾ͕ڰ͍ͦ͏ͩͬͨʣ w ݸਓͰ044ʹػೳՃͷQVMMSFRVFTUΛૹΔͱ͖ʹɺ ඞཁʹഭΒΕͯςετίʔυΛॻ͍ͨ͜ͱ͋Δ QZUFTU
w ͨͩ͠ɺৗతʹॻ͚͍ͯΔΘ͚Ͱͳ͍ !10 ςετίʔυΛॻ͍ͯਫ਼ਆͷۉߧΛอ͍ͪͨ
ؾ͕ڰ͍ͦ͏ͳ టष͍લॲཧͷ܁Γฦ͠Λɺ ςετࣗಈԽͰ গ͠Ͱָʹ͍ͨ͠ʜ
ςετࣗಈԽ ಋೖͷ͖͔͚ͬ !12
w ςετͷೖʹ͍͍ͯΔʢͱࢥ͏ʣίʔυ w ग़ྗ͕໌֬ͰɺԿճमਖ਼͢Δػձ͕͋Δίʔυ w ࢲͷ߹ w ϩʔΧϧʹ͋ΔIUNMϑΝΠϧ͔ΒσʔλΛநग़ͯ͠ɺ DTWܗࣜʹม͢Δࣗ࡞લॲཧπʔϧ w
ग़ྗ͕໌֬ͳͷͰɺςετΛॻ͖͍͢ w ೖྗɺͨ·ʹఆ͠ͳ͍ܗࣜͷIUNM͕དྷΔ w मਖ਼ͷػձ͕Կճൃੜ͢Δ !13 ͖͔͚ͬͪΐ͏Ͳྑ͍ࡐ͕͋ͬͨ
w +VQZUFS/PUFCPPLͰॻ͖ԥΔɺճ͖ͬ͜Γͷίʔυ w ػցֶशϞσϧɺ ग़ྗ͕֬తͰৗʹಉ͡ͱݶΒͳ͍έʔε w ݸਓతʹॻ͖ͩ͘ͱࢥ͏͠ॻ͖͍͕ͨɺ ࠷ॳγϯϓϧͳέʔεʹͨ͠ํ͕ྑ͍͔ w ࢲΑ͘Θ͔ΒΜͷͰɺ
͜ͷลৄ͍͠ਓ͕͍ͨΒ࠙ձͰڭ͍͑ͯͩ͘͞ !14 ςετೖʹ͍͍ͯͳ͍ʢͱࢥ͏ʣίʔυ
w σʔλαΠΤϯεܥͷఆ൪044Ͱ࠾༻͞Ε͍ͯͨ w OVNQZ QBOEBT NBUQMPUMJCʜʜ w ॻ͖ํʹࠔͬͨΒɺ͜ͷลͷίʔυΛࢀߟʹ͠Α͏ͱࢥͬͨ w ͪΐ͏Ͳʰςετۦಈ1ZUIPOʱ
ᠳӭࣾ ͕ ൃച͞ΕͨλΠϛϯάͩͬͨ !15 ԿͷπʔϧΛ͏͔QZUFTUΛબ ը૾ɿ IUUQTXXXTIPFJTIBDPKQCPPLEFUBJM
w ʢݸਓతʹʣຊͷ༰Λᘳཧղͯ͠ɺ ͍͖ͳΓϕετϓϥΫςΟΫεΛΖ͏ͱͯ͠ଓ͔ͳ͍ w ຊͰհ͞Ε͍ͯΔશ͕ͯɺࣗͷέʔεͰඞཁͱݶΒͳ͍ w िɿେࡶʹಡΜͰ֓ཁΛѲ͠ɺ·ͣࡶʹ࢝ΊΔ w िɿࡶͰ͍͍͔Βɺܧଓͯ͠ఆணͤ͞Δ w
िʙɿඞཁʹԠͯ͡ɺຊެࣜυΩϡϝϯτΛݟָͯʹ͢Δ !16 ಋೖͷํ
w ͩΒͩΒJOQVUʹภΒͳ͍Α͏ʹɺظඪΛܾΊΔ w ʰ࣮Ͱॻ͍͍ͯΔίʔυʹରͯ͠ɺԿͰྑ͍͔ΒͭҎ্ͷؔʹςε τίʔυΛՃ͢Δʢ༵ۚ·Ͱʣʱ w ݄ʙͷؒʹʰςετۦಈ1ZUIPOʱશମΛ௨ಡ͢Δ w ֓ཁΛѲ͢Δͷ͕త w
͋ͨΓେମʙ࣌ؒ͘Β͍ w ࣌ؒͷ߹্શͯͷจষΛ͔ͬ͠ΓಡΉ͜ͱͰ͖ͳ͍ w ͨͩ͠ɺίϚϯυ࣮ࡍʹଧͬͯࢼͨ͠ w "QQFOEJYͷ֦ுػೳʹؔ͢ΔτϐοΫɺ࠷ॳඈͨ͠ !17 ि ֓ཁΛѲͯ͠ɺ·ͣࡶʹ࢝ΊΔʣ
w ςετ͍͢͠෦Λத৺ʹɺςετίʔυΛॻ͍͍ͯ͘ w IUNMQBOEBTͷ%BUB'SBNFͷม෦ w ࡶɺͱ w UNQEJSͱ͔ΘͣʹɺςετͰग़ྗ͞ΕͨϑΝΠϧखಈͰফ͢ w ྫ֎ॲཧ෦ͷςετͱΓ͋͑ͣޙճ͠
w ֦ுػೳΛೖΕΔ w QZUFTUqBLF w QZUFTUDPW !18 ि ࡶͰ͍͍͔Βɺܧଓͯ͠ఆணͤ͞Δʣ
w ߦྻͷฒͼ·ͰݫີʹνΣοΫ͍ͨ͠έʔεɺ ཁૉͷ͑͞߹͍ͬͯΕྑ͍έʔεɺ৭ʑʜʜ w QBOEBTUFTUJOHϞδϡʔϧ w BTTFSU@GSBNF@FRVBM w BTTFSU@TFSJFT@FRVBM
w QBOEBTͷςετίʔυࣗମ͕αϯϓϧͱͯ͠ࢀߟʹͳΔ !19 QBOEBTͷ%BUB'SBNFΛͲ͏ൺֱ͢Δʁ 5FTUJOH'VODUJPOɿ IUUQTQBOEBTQZEBUBPSHQBOEBTEPDTTUBCMFSFGFSFODF HFOFSBM@VUJMJUZ@GVODUJPOTIUNMUFTUJOHGVODUJPOT
w ஈʑςετίʔυ͕૿͖͑ͯͯɺࢧো͕ग़ͯ͘Δ w ςετաఔͰੜͨ͡ϑΝΠϧΛUNQEJSͰࣗಈͰফ͢ w ϑΟΫενϟͬͯΈΔ w ෦తʹςετ࣮ߦ͢Δ w ͳͲͳͲʜ
w ʰςετۦಈQZUIPOʱΛࡧҾతʹ͍ͳ͕Βಋೖ w Χόʔ͍ͯ͠ͳ͍෦ެࣜυΩϡϝϯτΛࢀর !20 िʙʢඞཁʹԠͯ͡ɺָʹ͢Δʣ
w ྫ֎ॲཧ෦ʹςετΛೖΕΔ w ఆέʔε w େྔͷσʔλΛॲཧ͢ΔதͰɺఆ͍ͯ͠ͳ͍ϑΥʔϚοτͷσʔ λ͕དྷͨ߹ɺྫ֎Λൃੜͤͯ͞ϩάΛग़͠ɺΓͷσʔλͷ ॲཧΛଓ͚͍ͨ w ࢭ·ͬͯཉ͘͠ͳ͍͕ɺϩά͔ͬ͠Γग़ͯ͠΄͍͠
w ςετ͍ͨ͜͠ͱɿ w ظ௨Γྫ֎͕ൃੜ͢Δ͔ QZUFTUSBJTF w FYDFQU۟ͷத͕ظ௨Γಈ͍͍ͯΔ͔ NPDL !21 िʙʢඞཁʹԠͯ͡ɺָʹ͢Δʣ
w ਫ਼ਆͷ҆ఆ͕ͳ͍ w ίʔυ͕͓͔͍͠ͷ͔ɺҙਤ͠ͳ͍σʔλܗ͕ࣜདྷͨͷ͔Γ ͚͍͢ w ϦϑΝΫλϦϯά࣌ͷ҆৺ײ w ޙͰ͏࣌ɺςετίʔυ͕༷ΘΓʹͳΔ w
టष͍લॲཧͷίʔυɺ༷టष͘ͳΓ͍͢ w ͨͩظӡ༻ͯ͠ͳ͍ͷͰɺ ظӡ༻ͨ࣌͠ͷ·ͩΑ͘Θ͔Βͳ͍ !22 ͬͯΈͨॴײ
͓·͚ͷใ !23
w ʰ(FUUJOH4UBSUFE5FTUJOHJO%BUB4DJFODFʱ w 1Z$PO64ͷτʔΫ QZWJEFPPSHͰ؍ΕΔ w ςετʹ͓͚Δσʔλܥಛ༗ͷʹ৮Εͨޙɺ QZUFTUͷଞɺ)ZQPUIFTJTʹΑΔ%BUB'SBNFͷςετσʔλੜ ͳͲͷ5JQTΛհ͍ͯ͠Δɻ
w εϥΠυ࠷ޙͷࢀߟจݙͰɺ աڈͷ1Z$POͷςετؔͷτʔΫ͕·ͱΊΒΕ͍ͯΔɻ !24 σʔλܥͷͨΊͷςετࣗಈԽใ QZWJEFPɿ IUUQTQZWJEFPPSHQZDPOVTHFUUJOHTUBSUFEUFTUJOHJOEBUBTDJFODFIUNM TMJEF IUUQTTQFBLFSEFDLDPNQZDPOKFTGPSEHFUUJOHTUBSUFEUFTUJOHJOEBUBTDJFODF
w σʔλલॲཧటष͘ͳΓ͕ͪ w QZUFTUಋೖͰɺগ͠Ͱਫ਼ਆͷۉߧΛอͱ͏ w 0VU͕໌֬ͳσʔλίϯόʔτπʔϧɺ ൺֱతςετͷೖʹ͍͍ͯΔʜʜͱࢥ͏ w ·ͩงғؾͰͬͯΔͷͰɺ σʔλܥͷςετίʔυͷʹৄ͍͠ํ͕͍ͨΒɺ
࠙ձͰڭ͍͑ͯͩ͘͞ w ʰςετۦಈ1ZUIPOʱͱͯྑ͍ຊͰ͢ !25 ·ͱΊ
Ұ෦ϨϏϡʔʹࢀՃ͠·ͨ͠
5IBOLZPVGPS MJTUFOJOH !27