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
2.9k
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
630
Dash Cytoscape 〜 Pythonによるインタラクティブ・ネットワーク可視化入門 / StartPython#67
komofr
0
1.3k
Dash Cytoscapeで始めるネットワーク可視化 / plotly dash book
komofr
0
430
(修正版) NumPy/pandas使いのためのテスト自動化入門 / PyConJP2020
komofr
32
11k
[Python Charity Talks in Japan] LT: ネットワーク解析とテキスト解析で見るPEP / pycharity
komofr
0
1.3k
PyPI翻訳プロジェクト速報 / PyLadies Tokyo LT
komofr
1
420
pandasのStyling機能で強化するJupyter実験レポート / PyConJP 2019
komofr
15
23k
EuroPython 2019 LT / Let's Explore PEPs with NetworkX!
komofr
2
890
PyLadies Tokyo Meetup #41 | SQLユーザのためのpandas入門 第2部
komofr
1
550
Other Decks in Technology
See All in Technology
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
710
頼られるのが大好きな 皆さんへ - 支援相手との期待の合わせ方、突き放し方 -/For_people_who_like_to_be_relied_on
naitosatoshi
1
290
AIエージェントを現場に導入する目線とは
masahiro_nishimi
1
1.5k
推薦システムを本番導入する上で一番優先すべきだったこと~NewsPicks記事推薦機能の改善事例を元に~
morinota
0
130
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
累計ダウンロード数1億8000万を超えるアプリケーションプラットフォームのレガシーシステム脱却とモダン化への道
kmitsuhashi
0
120
MySQLのロックの種類とその競合
yoku0825
6
1.6k
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
800
ペパボのオブザーバビリティ研修2024 説明資料
kesompochy
0
1.1k
コンテナ・K8s研修 - 後半 Kubernetes 基礎&ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
1
120
データ分析を支える技術 生成AI再入門
ishikawa_satoru
0
380
Featured
See All Featured
Speed Design
sergeychernyshev
9
270
Building Your Own Lightsaber
phodgson
101
5.9k
The Mythical Team-Month
searls
217
43k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Web Components: a chance to create the future
zenorocha
307
41k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Building Applications with DynamoDB
mza
89
5.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
Debugging Ruby Performance
tmm1
71
11k
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