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
3k
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
Bokeh & Dash Cytoscape 〜 Pythonによるインタラクティブなネットワーク可視化ライブラリの比較 / PyConJP2021
komofr
0
690
Dash Cytoscape 〜 Pythonによるインタラクティブ・ネットワーク可視化入門 / StartPython#67
komofr
0
1.4k
Dash Cytoscapeで始めるネットワーク可視化 / plotly dash book
komofr
0
490
(修正版) NumPy/pandas使いのためのテスト自動化入門 / PyConJP2020
komofr
32
11k
[Python Charity Talks in Japan] LT: ネットワーク解析とテキスト解析で見るPEP / pycharity
komofr
0
1.3k
PyPI翻訳プロジェクト速報 / PyLadies Tokyo LT
komofr
1
460
pandasのStyling機能で強化するJupyter実験レポート / PyConJP 2019
komofr
15
25k
EuroPython 2019 LT / Let's Explore PEPs with NetworkX!
komofr
2
930
PyLadies Tokyo Meetup #41 | SQLユーザのためのpandas入門 第2部
komofr
1
580
Other Decks in Technology
See All in Technology
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
500
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
380
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
170
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
250
Terraform Stacks入門 #HashiTalks
msato
0
360
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Teambox: Starting and Learning
jrom
133
8.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Scaling GitHub
holman
458
140k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
For a Future-Friendly Web
brad_frost
175
9.4k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Adopting Sorbet at Scale
ufuk
73
9.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
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