Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
便利に使おう変数アノテーション -typing.py との楽しいお付き合い-
Search
Takumi Sueda
September 08, 2017
4
9.2k
便利に使おう変数アノテーション -typing.py との楽しいお付き合い-
PyCon JP 2017 Conference Day 1
Takumi Sueda
September 08, 2017
Tweet
Share
More Decks by Takumi Sueda
See All by Takumi Sueda
これまでのハード遊びまとめ ノンストップ40分スペシャル
puhitaku
1
160
令和最新版 OpenWrt を 22 年前のルーターで動かす
puhitaku
0
1.6k
組み込みLinuxの時系列
puhitaku
4
1.8k
電子辞書にステータスバーを実装する
puhitaku
0
320
知育おもちゃの遊び方 Lv. 999
puhitaku
5
3.2k
ルーターでプレゼンする
puhitaku
1
6.7k
AST as Black Magic
puhitaku
0
160
次世代の足下を舗装するコミュニティ
puhitaku
5
1.9k
電子辞書で学ぶ Linux のサスペンド
puhitaku
0
740
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Designing for humans not robots
tammielis
254
26k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Music & Morning Musume
bryan
46
7k
Six Lessons from altMBA
skipperchong
29
4.1k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Building Adaptive Systems
keathley
44
2.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Transcript
كٝٔח⢪ֲֶ㢌侧،ظذ٦ءّٝ UZQJOHQZהך嚂׃ְֶ➰ֹさְ .BOJQVMBUJOH7BSJBCMF"OOPUBUJPOTPO3VOUJNF 'PSBZFUBOPUIFSVTBHFPGUZQFIJOUT 5BLVNJ4VFEB 'VMMFS *OD%FWFMPQFS
)J 5BLVNJ4VFEB QVIJUBLV 'VMMFS *OD 1ZUIPO(PMBOH 8FC$SBXMFST"84*OGSBTUSVDUVSF 4PMEFSJOH&NCFEEFE4ZTUFN
50$ ˖ 5IFIJTUPSZPGBOOPUBUJPOT ˖ 6TFBOOPUBUJPOTJOSVOUJNF 8IZ ˖ 1MBOPGQPSUJOH(PMBOH+40/VONBSTIBMFSJOUP1ZUIPO ˖
3FBEWBSJBCMFBOOPUBUJPOT ˖ 8IBUBSFHFOFSJDUZQFT ˖ 1SBDUJDF"OBUPNZPGHFOFSJDUZQFT ˖ JGFMTFGPSUZQFJEFOUJDBUJPO
5IFIJTUPSZPGBOOPUBUJPOT _،ظذ٦ءّٝך娖〷_
5IFIJTUPSZPGBOOPUBUJPOT 1&1 1&1 1&1 'VODUJPO "OOPUBUJPOT 7BSJBCMF "OOPUBUJPOT 4ZOUBY
4FNBOUJDT 4ZOUBY 4FNBOUJDT Ԩ ˌ ˌ ˌ ˌ Ԩ ӛ Ԩ ˌ ˌ Ԩ ˌ %FD 4FQ "VH
1&1 5IFIJTUPSZPGBOOPUBUJPOT 1&1 1&1 'VODUJPO "OOPUBUJPOT 7BSJBCMF "OOPUBUJPOT 4ZOUBY
4FNBOUJDT 4ZOUBY 4FNBOUJDT Ԩ ˌ ˌ ˌ ˌ Ԩ ӛ Ԩ ˌ ˌ Ԩ ˌ %FD 4FQ "VH
5IFIJTUPSZPGBOOPUBUJPOT1&1 'VOD "OOPU 7BS "OOPU 4ZOUBY 4FNBOUJDT 4ZOUBY 4FNBOUJDT
Ԩ ˌ ˌ ˌ 1&1 1&1JOUSPEVDFEUIFTZOUBYPGGVODUJPOBOOPUBUJPOT %FOJOHTFNBOUJDTXBTMFGUUPUIJSEQBSUZMJCSBSJFT 5IJTJTCFDBVTF JONZHVFTT EFOJOHJUXBTUPPIFBWZBOESJTLZ
1&1 5IFIJTUPSZPGBOOPUBUJPOT 1&1 1&1 'VODUJPO "OOPUBUJPOT 7BSJBCMF "OOPUBUJPOT 4ZOUBY
4FNBOUJDT 4ZOUBY 4FNBOUJDT Ԩ ˌ ˌ ˌ ˌ Ԩ ӛ Ԩ ˌ ˌ Ԩ ˌ %FD 4FQ "VH
5IFIJTUPSZPGBOOPUBUJPOT1&1 'VOD "OOPU 7BS "OOPU 4ZOUBY 4FNBOUJDT 4ZOUBY 4FNBOUJDT
Ԩ ˌ 1&1 1&1JOUSPEVDFEUIFTFNBOUJDTPGBOOPUBUJPOT 5IJTXBTHSFBUMZIFMQFECZUIFHSPXUIPGNZQZ BTUBUJDUZQF DIFDLFS UIVTJUJTTUSPOHMZJOTQJSFECZNZQZ Ԩ ӛ
1&1 5IFIJTUPSZPGBOOPUBUJPOT 1&1 1&1 'VODUJPO "OOPUBUJPOT 7BSJBCMF "OOPUBUJPOT 4ZOUBY
4FNBOUJDT 4ZOUBY 4FNBOUJDT Ԩ ˌ ˌ ˌ ˌ Ԩ ӛ Ԩ ˌ ˌ Ԩ ˌ %FD 4FQ "VH
5IFIJTUPSZPGBOOPUBUJPOT1&1 'VOD "OOPU 7BS "OOPU 4ZOUBY 4FNBOUJDT 4ZOUBY 4FNBOUJDT
ˌ 1&1 1&1JOUSPEVDFEOFXTZOUBYPGWBSJBCMFBOOPUBUJPOT "MNPTUBMMPGPCKFDUTBSFOPXBCMFUPCFBOOPUBUFEBOE UIFBOOPUBUJPOTCFDBNFSFBEBCMFJOSVOUJNF Ԩ ˌ ˌ
6TFBOOPUBUJPOTJOSVOUJNF 8IZ _،ظذ٦ءّٝ㹋遤儗ח⢪ֲ˘זד_
"OOPUBUJPOTJOSVOUJNF 5IFPSJHJOBMQVSQPTFPGBOOPUBUJPOTJTGPSTUBUJDDPDFBOBMZTJT XIJDI NFBOTJUˏTSFBEBOEVTFE#&'03&SVOJOOHUIFDPEF OPUJOSVOUJNF
"OOPUBUJPOTJOSVOUJNF #VUTUJMMJUˏTBDDFTTJCMFJOSVOUJNFCFDBVTF1&1EFOFEJU $BOˏUXFNBLFHPPEVTFPGUIFN
"OOPUBUJPOTJOSVOUJNF *ˏWFHPUBOJEFB 1PSUJOH+40/VONBSTIBMFSPG(PMBOHJOUP1ZUIPO )FSFJOBGUFSˑ6ONBSTIBMFS˒ ❤
*EFBQPSUJOH(PMBOHˏT+40/VONBSTIBMFS 'PSUIPTFXIPEPOˏULOPX(PMBOH 8IBUˏTˑVONBSTIBMFS VONBSTIBM WFSC UPEFTFSJBMJ[F+40/FUD VONBSTIBMFS OPVO EFTFSJBMJ[FS&RVJWBMFOUUPKTPOMPBE
VONBSTIBMMFS
*EFBQPSUJOH(PMBOHˏT+40/VONBSTIBMFS 6ONBSTIBMFSJTUSVMZTNBSUJUDBODBTU+40/PCKFDUJOUP(PMBOHˏT TUSVDU TJNJMBSUIJOHPG1ZUIPOˏTDMBTT XIJMFEPJOHUZQFDIFDL FWFOJUIBTOFTUFETUSVDUBOEBSSBZ (PMBOHTUSVDU +40/
*EFBQPSUJOH(PMBOHˏT+40/VONBSTIBMFS "OEUIFOBDDFTTMJLFUIJT 1SJOUJOHVONBSTIBMFE+40/ˏTWBMVF 0VUQVU
*EFBQPSUJOH(PMBOHˏT+40/VONBSTIBMFS $MFBSBOETJNQMFDPEF FYQMJDJUEBUBTUSVDUVSF BOETBGFJOUFSNTPGUZQFTBGFUZ *UˏTNPSFQZUIPOJDUIBO1ZUIPOˏTKTPOMJCSBSZ*TOˏUJU
*EFBQPSUJOH(PMBOHˏT+40/VONBSTIBMFS +40/IBTPOMZTJNQMFMJUFSBMT TUSVDUVSFTUIVTUIFZDBOCF IBOEMFEXJUICVJMUJOT #VU*XBOUUPEPMJLF ˖ $BTU+40/JOUPOFTUFEDMBTT ˖ )BOEMFHFOFSJDUZQFTMJLF-JTU<TUS>BOE6OJPO DPSSFDUMZ
8FIBWFUPJEFOUJGZCVJMUJOT HFOFSJDT BOEDVTUPNUZQFT
*EFBQPSUJOH(PMBOHˏT+40/VONBSTIBMFS 4PUIJTJTUIFNBJONPUJWBUJPOPGUIJTQSFTFOUBUJPO -FUˏTNPWFPO
3FBEWBSJBCMFBOOPUBUJPOTPOSVOUJNF _،ظذ٦ءّٝ铣ד״ֲ_
3FBEWBSJBCMFBOOPUBUJPOTPOSVOUJNF 6TFUZQJOHHFU@UZQF@IJOUT UPSFBEBOOPUBUJPOTGSPNDMBTT *GZPVQBTTNPEVMFUPJU JUXJMMIBOEMFBTJUTIPVME
3FBEWBSJBCMFBOOPUBUJPOTPOSVOUJNF 8IZOPU@@BOOPUBUJPOT@@CVUUZQJOHHFU@UZQF@IJOUT "DDPSEJOHUPUIFEPDTUSJOHPGHFU@UZQF@IJOUT 5IJTJTPGUFOUIFTBNFBTPCK@@BOOPUBUJPOT@@ CVUJUIBOEMFT GPSXBSESFGFSFODFTFODPEFEBTTUSJOHMJUFSBMT 䪳鏬ֿכ׃ל׃לPCK@@BOOPUBUJPOT@@הずָׄծ
HFU@UZQF@IJOUTכ俑㶵ד剅ַ倯撑姻׃ֻ䪔ֲկ
8IBUBSFHFOFSJDUZQFT _آؑطٔحؙ㘗הכ_
8IBUBSFHFOFSJDUZQFT ˑUZQJOH˒NPEVMFIBTHFOFSJDUZQFTEFSJWFEGSPNTFWFSBMNPEVMFT MJLFCVJMUJOT DPMMFDUJPOT FUD ˖ MJTU ˖ TFU
˖ EJDU ˖ UVQMF FHGSPNCVJMUJOT ˖ -JTU<5> ˖ 4FU<5> ˖ %JDU<5 5> ˖ 5VQMF<5 5 > GSPNUZQJOH 1MBJOUZQF BEEJUJPOBMUZQFJOGP HFOFSJDUZQF 1MBJOCVJMUJOUZQF
8IBUBSFHFOFSJDUZQFT 5IFSFBSFNPSFUZQFTXIJDIBSFNPSFBOOPUBUJPOTQFDJD ˖ "OZ ˖ 6OJPO<9 :> ˖ 0QUJPOBM<9>
FUD˘ GSPNUZQJOH (FOFSJDUZQFTGPSBOOPUBUJPOT "DDFQUTBSCJUSBSZUZQFT "DDFQUTFJUIFS9PS: "DDFQUTFJUIFS9PS/POF
8IBUBSFHFOFSJDUZQFT 5IVT HFOFSJDUZQFTDBOEFTDSJCFBEEJUJPOBMUZQFJOGPSNBUJPOGPS TUBUJDDPEFBOBMZTJTBOETPPO #FGPSF "GUFS ˒"IB BSHJTBMJTUPGTUSJOHT˒ ˒8IBUˏTJOTJEFBSH
˒
8IBUBSFHFOFSJDUZQFT 4P IPXDBOXFHFUTUSGSPN-JTU<TUS>
1SBDUJDF"OBUPNZPGHFOFSJDUZQFT _آؑطٔحؙ㘗鍑ⶅ׃ג״ֲ_
"OBUPNZPGHFOFSJDUZQFT-JTU<TUS> %JHUIF.30 .30.FUIPE3FTPMVUJPO0SEFS ًاحس鍑寸갫䎷
"OBUPNZPGHFOFSJDUZQFT-JTU<TUS> 5IFPSJHJOBM (FOFSJD"#$T "CTUSBDU#BTF$MBTT 3PPUPGHFOFSJDTUZQJOH(FOFSJD -JTU<TUS>
"OBUPNZPGHFOFSJDUZQFT-JTU<TUS> -JTU<TUS>UZQJOH(FOFSJDT 5IFSFJTOPUIJOHUPEPXJUIUZQJOH(FOFSJDT CVUJUIBTUZQJOH(FOFSJD.FUBGPSJUTNFUBDMBTT -FUˏTEJWFJOUP(FOFSJD.FUB
"OBUPNZPGHFOFSJDUZQFT-JTU<TUS> -JTU<TUS>UZQJOH(FOFSJDTUZQJOH(FOFSJD.FUB@@HFUJUFN@@ ˗˗ ˗˗ QBSBNTIBTTUS Ύ$PQZQBSBNTUPBSHT Ώ$SFBUFOFXJOTUBODF ΐ1BTTBSHTWJBLXBSHT
"OBUPNZPGHFOFSJDUZQFT-JTU<TUS> -JTU<TUS>UZQJOH(FOFSJDTUZQJOH(FOFSJD.FUB@@HFUJUFN@@ UZQJOH(FOFSJD.FUB@@OFX@@ ˗˗ Β1VUBSHTJO@@BSHT@@ Α*OTUBOUJBUF /PXZPVIBWF-JTU<TUS> ˗˗ Γ3FUVSO
"OBUPNZPGHFOFSJDUZQFT-JTU<TUS> 1SFGFSSFETPMVUJPO "MUXBZ OPUSFDPNNFOEFE (FUBSHVNFOUTPGHFOFSJDUZQFTCZGPMMPXJOHNFUIPET 3FBE@@BSHT@@ $BMM@TVCT@USFF $POWFOJFOUGPSQBSTJOHXIPMFUSFFCVU
JOUFSOBM"1*NBZCSFBLJOUIFGVUVSF
"OBUPNZPGHFOFSJDUZQFT 3FTUPGHFOFSJDUZQFTBSFBMNPTUTBNFJOUIJTXBZ
JGFMTFGPSUZQFJEFOUJDBUJPO _㘗鋅ⴓֽJGFMTF_
JGFMTFGPSUZQFJEFOUJDBUJPO 8IFOZPVIBOEMFBOOPUBUJPOTJOSFBMDPEF ZPVˏMMOEJUˏTBCJUDPNQMFY JNQMFNFOUBUJPO 5JTBCVJMUJOUZQF 5CVJMUJOUZQF :&4 /0 5JTBHFOFSJDUZQF
5HFOFSJDUZQF :&4 3FBESFDVSTJWFMZ /0 5JTBDVTUPNDMBTT
JGFMTFGPSUZQFJEFOUJDBUJPO )PXUP$IFDLJGBUZQFDMBTTJTCVJMUJOPSOPU 4PMVUJPO $IFDLJGUIFUZQFPSDMBTTJTJO@@CVJMUJOT@@PSOPU
JGFMTFGPSUZQFJEFOUJDBUJPO )PXUP$IFDLJGBUZQFJTHFOFSJDPSOPU 4PMVUJPO $IFDLJGJUIBT@@PSJHJO@@PSOPU %FSJWFEUZQFTPGUZQJOH(FOFSJDIBWFJU $BVUJPO %POPUVTFNSP PS@@NSP@@ 6OJPOBOEEFSJWBUJWFTEPOˏUIBWF@@NSP@@
JGFMTFGPSUZQFJEFOUJDBUJPO )PXUP$IFDLJGBDMBTTJTBDVTUPNDMBTTPSOPU $IFDLJGJUˏTOPUBHFOFSJDUZQFBOEIBTQVCMJDBUUSJCVUFT 4PMVUJPO
JGFMTFGPSUZQFJEFOUJDBUJPO )PXUP&YUSBDUUIFPSJHJOPGHFOFSJDUZQFT 3FBE@@PSJHJO@@ &YUSBDUFEPSJHJODBOCFDPNQBSFEXJUIQMBJO HFOFSJDUZQFTJOUZQJOHNPEVMF $BMM@TVCT@USFF <> "MUXBZKVTUGPSIPUYJOHJODPNQBUJCJMJUZ XIJDINBZDBVTFJOUIFGVUVSFSFMFBTFT
4PMVUJPO "MUXBZ OPUSFDPNNFOEFE
JGFMTFGPSUZQFJEFOUJDBUJPO )PXUP(FUUZQFUSFFXJUIPVU@TVCT@USFF 6TFGVMXIFOBWPJEJOHJODPNQBUJCJMJUZ XBMLJOHPOHFOFSJDUZQFUSFF 4PMVUJPO UZQ@@PSJHJO@@ UZQ@@BSHT@@
/PUJDF :PVTIPVMEDIFDLJG @@BSHT@@IBWFHFOFSJDUZQF $BMMJUTFMGSFDVSTJWFMZ UPXBMLPOUZQFUSFF
JGFMTFGPSUZQFJEFOUJDBUJPO )PXUP YFE &RVBMJUZPGHFOFSJDUZQFT 4PMVUJPO 8IFOXFFWBMVBUFUIFFRVBMJUZCFUXFFO 6OJPOBOEPUIFSUZQFT 3FDVSTJPO&SSPSJTSBJTFE
1ZUIPOIBTBTFSJPVTCVHPOFWBMVBUJOHFRVBMJUZPG6OJPOBOEEFSJWBUJWFT 1SPCMFN 3FDPNNFOEFEVTF1ZUIPOPSMBUFS %FQSFDBUFECVUVTFGVMPO VTFJTPQFSBUPSUPDPNQBSF
+40/XSBQQFSJOTQJSFECZ(PMBOH *ˏWFNBEFBOFYQFSJNFOUBMMJCSBSZUPTPMWFJUXJUIWBSJBCMFBOOPUBUJPOT QVIJUBLVUZQFENBSTIBM -JOLJTBMTPJONZQSPQPTBMQBHF
+40/XSBQQFSJOTQJSFECZ(PMBOH ˖ 3FDVSTJWFUZQFDIFDL ˖ 'VMMTVQQPSUPGHFOFSJDUZQFT ,FZQPJOUT
+40/XSBQQFSJOTQJSFECZ(PMBOH ˖ 3FDVSTJWFUZQFDIFDL ˖ 'VMMTVQQPSUPGHFOFSJDUZQFT ,FZQPJOUT BOOM!
-FUˏTEJTDVTTJO0QFO4QBDF '3PPN' *ˏMMIPMENZ0QFO4QBDFBOEQMBOOJOHUPEPMJLF ˖ 3FGBDUPSUZQFENBSTIBM JNQMFNFOUQSPQFSUZPSJFOUFE EZOBNJDUZQFDIFDLFS ˖ &YQMBJOUZQFENBSTIBMˏTCFIBWJPS ˖
%JTDVTTVTFDBTFPGBOOPUBUJPOT ˖ .BLFTPNFUIJOHJOUFSFTUJOH