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
便利に使おう変数アノテーション -typing.py との楽しいお付き合い-
Search
Takumi Sueda
September 08, 2017
4
8.8k
便利に使おう変数アノテーション -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
組み込みLinuxの時系列
puhitaku
4
1.3k
電子辞書にステータスバーを実装する
puhitaku
0
200
知育おもちゃの遊び方 Lv. 999
puhitaku
5
2.8k
ルーターでプレゼンする
puhitaku
1
5k
AST as Black Magic
puhitaku
0
120
次世代の足下を舗装するコミュニティ
puhitaku
5
1.7k
電子辞書で学ぶ Linux のサスペンド
puhitaku
0
620
USB PD で迎える AC アダプター大統一時代
puhitaku
2
2.6k
電子辞書のアイデンティティを消す方法
puhitaku
3
3.9k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Faster Mobile Websites
deanohume
305
30k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Statistics for Hackers
jakevdp
796
220k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Designing for humans not robots
tammielis
250
25k
Making Projects Easy
brettharned
116
5.9k
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