Soumettre la recherche
Mettre en ligne
PyLadies Tokyo 二周年記念パーティ LT
•
0 j'aime
•
1,034 vues
Tetsuya Morimoto
Suivre
型チェッカー mypy について
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 7
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
Tetsuya Morimoto
Goとテスト
Goとテスト
Takuya Ueda
マスター・オブ・goパッケージ
マスター・オブ・goパッケージ
Takuya Ueda
Stapy#17LT
Stapy#17LT
drillan
エキスパートGo
エキスパートGo
Takuya Ueda
Pynyumon03 LT
Pynyumon03 LT
drillan
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
Takuya Ueda
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
Recommandé
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
Tetsuya Morimoto
Goとテスト
Goとテスト
Takuya Ueda
マスター・オブ・goパッケージ
マスター・オブ・goパッケージ
Takuya Ueda
Stapy#17LT
Stapy#17LT
drillan
エキスパートGo
エキスパートGo
Takuya Ueda
Pynyumon03 LT
Pynyumon03 LT
drillan
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
Takuya Ueda
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
Pyladies tokyo 2nd anniversary LT
Pyladies tokyo 2nd anniversary LT
drillan
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
Shiroyagi Corporation
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
Takesxi Sximada
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
エディタの壁を越えるGoの開発ツールの文化と作成法
エディタの壁を越えるGoの開発ツールの文化と作成法
Takuya Ueda
Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用
Takuya Ueda
Go静的解析ハンズオン
Go静的解析ハンズオン
Takuya Ueda
GAE/GoでWebアプリ開発入門
GAE/GoでWebアプリ開発入門
Takuya Ueda
OSS Study#19_LT
OSS Study#19_LT
NaoY-2501
Goでwebアプリを開発してみよう
Goでwebアプリを開発してみよう
Takuya Ueda
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
PyPy 紹介
PyPy 紹介
shoma h
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Takuya Ueda
Go初心者向けハンズオン コマンドラインツールを作ろう
Go初心者向けハンズオン コマンドラインツールを作ろう
Takuya Ueda
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
shoma h
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
Yusuke Kon
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
Kir Chou
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
Tetsuya Morimoto
クロージャデザインパターン
クロージャデザインパターン
Moriharu Ohzu
Contenu connexe
Tendances
Pyladies tokyo 2nd anniversary LT
Pyladies tokyo 2nd anniversary LT
drillan
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
Shiroyagi Corporation
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
Takesxi Sximada
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
エディタの壁を越えるGoの開発ツールの文化と作成法
エディタの壁を越えるGoの開発ツールの文化と作成法
Takuya Ueda
Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用
Takuya Ueda
Go静的解析ハンズオン
Go静的解析ハンズオン
Takuya Ueda
GAE/GoでWebアプリ開発入門
GAE/GoでWebアプリ開発入門
Takuya Ueda
OSS Study#19_LT
OSS Study#19_LT
NaoY-2501
Goでwebアプリを開発してみよう
Goでwebアプリを開発してみよう
Takuya Ueda
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
PyPy 紹介
PyPy 紹介
shoma h
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Takuya Ueda
Go初心者向けハンズオン コマンドラインツールを作ろう
Go初心者向けハンズオン コマンドラインツールを作ろう
Takuya Ueda
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
shoma h
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
Yusuke Kon
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
Kir Chou
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
Tendances
(20)
Pyladies tokyo 2nd anniversary LT
Pyladies tokyo 2nd anniversary LT
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
エディタの壁を越えるGoの開発ツールの文化と作成法
エディタの壁を越えるGoの開発ツールの文化と作成法
Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用
Go静的解析ハンズオン
Go静的解析ハンズオン
GAE/GoでWebアプリ開発入門
GAE/GoでWebアプリ開発入門
OSS Study#19_LT
OSS Study#19_LT
Goでwebアプリを開発してみよう
Goでwebアプリを開発してみよう
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
PyPy 紹介
PyPy 紹介
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Go初心者向けハンズオン コマンドラインツールを作ろう
Go初心者向けハンズオン コマンドラインツールを作ろう
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
En vedette
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
Tetsuya Morimoto
クロージャデザインパターン
クロージャデザインパターン
Moriharu Ohzu
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
Moriharu Ohzu
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
Terui Masashi
Hyper Introduction
Hyper Introduction
Tetsuya Morimoto
Subversion Best Practices
Subversion Best Practices
Matt Wood
Golang
Golang
Felipe Mamud
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!
Tatsuya Deguchi
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
Tomoaki Imai
データベース設計徹底指南
データベース設計徹底指南
Mikiya Okuno
20160820 iOSDC Lunch Session「東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方」
20160820 iOSDC Lunch Session「東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方」
Yusuke KUROIWA
20170311 JAWSDAYS Lunch Session「東急ハンズのiPad POS「HandsPOS」と AWSの付き合い方」
20170311 JAWSDAYS Lunch Session「東急ハンズのiPad POS「HandsPOS」と AWSの付き合い方」
Yusuke KUROIWA
サーバーレスでシステムを開発する時に⼤切な事
サーバーレスでシステムを開発する時に⼤切な事
Hiroyuki Hiki
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
The Physical Interface
The Physical Interface
Josh Clark
En vedette
(16)
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
クロージャデザインパターン
クロージャデザインパターン
オブジェクト指向できていますか?
オブジェクト指向できていますか?
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
Hyper Introduction
Hyper Introduction
Subversion Best Practices
Subversion Best Practices
Golang
Golang
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
データベース設計徹底指南
データベース設計徹底指南
20160820 iOSDC Lunch Session「東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方」
20160820 iOSDC Lunch Session「東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方」
20170311 JAWSDAYS Lunch Session「東急ハンズのiPad POS「HandsPOS」と AWSの付き合い方」
20170311 JAWSDAYS Lunch Session「東急ハンズのiPad POS「HandsPOS」と AWSの付き合い方」
サーバーレスでシステムを開発する時に⼤切な事
サーバーレスでシステムを開発する時に⼤切な事
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
The Physical Interface
The Physical Interface
Similaire à PyLadies Tokyo 二周年記念パーティ LT
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
Kameko Ohmura
mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応
KyutatsuNishiura
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由
Takayuki Shimizukawa
Ruby開発の現場を支える技術
Ruby開発の現場を支える技術
hiroponz
Python入門者の集い #6 Lightning Talk
Python入門者の集い #6 Lightning Talk
Katayanagi Nobuko
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
スクレイピングとPython
スクレイピングとPython
Hironori Sekine
Shizuoka.py #6 lt 確定申告をpythonで乗り切る
Shizuoka.py #6 lt 確定申告をpythonで乗り切る
hiroshi sano
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
Takeshi Akutsu
Python Boot Camp のお話し
Python Boot Camp のお話し
Lina Katayose
Visasq
Visasq
創史 花村
Introduction Pycon2010
Introduction Pycon2010
(shibao)芝尾 (kouichiro)幸一郎
Why python
Why python
Mikio Kubo
Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"
Takanori Suzuki
Twitter apiを使って地域別のトレンドを取得する!
Twitter apiを使って地域別のトレンドを取得する!
Daiki11
Django で始める PyCharm 入門
Django で始める PyCharm 入門
kashew_nuts
S02 t0 get_started
S02 t0 get_started
Takeshi Akutsu
S15 t0 introduction
S15 t0 introduction
Takeshi Akutsu
Similaire à PyLadies Tokyo 二周年記念パーティ LT
(20)
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由
Ruby開発の現場を支える技術
Ruby開発の現場を支える技術
Python入門者の集い #6 Lightning Talk
Python入門者の集い #6 Lightning Talk
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
スクレイピングとPython
スクレイピングとPython
Shizuoka.py #6 lt 確定申告をpythonで乗り切る
Shizuoka.py #6 lt 確定申告をpythonで乗り切る
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
Python Boot Camp のお話し
Python Boot Camp のお話し
Visasq
Visasq
Introduction Pycon2010
Introduction Pycon2010
Why python
Why python
Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"
Twitter apiを使って地域別のトレンドを取得する!
Twitter apiを使って地域別のトレンドを取得する!
Django で始める PyCharm 入門
Django で始める PyCharm 入門
S02 t0 get_started
S02 t0 get_started
S15 t0 introduction
S15 t0 introduction
Plus de Tetsuya Morimoto
ビジネスパーソン x プログラミング
ビジネスパーソン x プログラミング
Tetsuya Morimoto
チケット駆動開発のススメ
チケット駆動開発のススメ
Tetsuya Morimoto
Pythonと型チェッカー
Pythonと型チェッカー
Tetsuya Morimoto
ストリーミングのげんざい
ストリーミングのげんざい
Tetsuya Morimoto
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
PyCon 2012 紀行
PyCon 2012 紀行
Tetsuya Morimoto
Sphinx 社内勉強会
Sphinx 社内勉強会
Tetsuya Morimoto
Ikazuchi introduction for Europython 2011 LT
Ikazuchi introduction for Europython 2011 LT
Tetsuya Morimoto
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
Tetsuya Morimoto
エキ Py 読書会02 2章後半
エキ Py 読書会02 2章後半
Tetsuya Morimoto
エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半
Tetsuya Morimoto
エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7
Tetsuya Morimoto
Ex py intro-20100630
Ex py intro-20100630
Tetsuya Morimoto
曖昧 RPM 講座
曖昧 RPM 講座
Tetsuya Morimoto
Plus de Tetsuya Morimoto
(14)
ビジネスパーソン x プログラミング
ビジネスパーソン x プログラミング
チケット駆動開発のススメ
チケット駆動開発のススメ
Pythonと型チェッカー
Pythonと型チェッカー
ストリーミングのげんざい
ストリーミングのげんざい
Python3 プログラミング勉強会
Python3 プログラミング勉強会
PyCon 2012 紀行
PyCon 2012 紀行
Sphinx 社内勉強会
Sphinx 社内勉強会
Ikazuchi introduction for Europython 2011 LT
Ikazuchi introduction for Europython 2011 LT
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
エキ Py 読書会02 2章後半
エキ Py 読書会02 2章後半
エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半
エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7
Ex py intro-20100630
Ex py intro-20100630
曖昧 RPM 講座
曖昧 RPM 講座
Dernier
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Dernier
(11)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
PyLadies Tokyo 二周年記念パーティ LT
1.
Mypy status 201610 2016-10-22
Tetsuya Morimoto
2.
Intoroduction ● 森本 哲也
(@t2y) ● サーバーサイドエンジニア ○ プログラミング言語歴 : Python → Java → Go ● Python Insider の翻訳: http://blog-ja.python.org/ ● PyPI: https://pypi.org/user/t2y/ ● はてなブログ: http://t2y.hatenablog.jp/ ● Qiita: http://qiita.com/t2y
3.
Background ● 2014-12 mypy
0.1.0 ● 2015-04 mypy 0.2.0 ● 2015-09 型ヒント (Type Hints) ○ Python 3.5.0 リリース ○ 型ヒントを記述するための型アノテーションの構文を標準化 (typing モジュール) ○ [翻訳] PEP 484 -- 型ヒント ○ mypy 0.2.0 から鋭意開発中の状態だった ● 2016-02 mypy 0.3.0 ● 2016-05 mypy 0.4, 0.4.1 ● 2016-06 mypy 0.4.2 ● 2016-07 mypy 0.4.3 ● 2016-08 mypy 0.4.4 ● 2016-10-07 mypy 0.4.5 ← イマココ! Rapid Release な 体制になってきた? Dropbox 社へ ● Jukka Lehtosalo: mypy 作者 ● Guido van Rossum: python 作者
4.
Case Example ● Static
types in Python, oh my(py)! ○ Tim Abbott 著 (Zulip のリード開発者) ○ [翻訳] Python の静的型、すごい mypy! ● Zulip というグループチャットアプリケーションに型アノテーションを付けた話 ○ Python 2 で約50,000行、毎月数十人が数百コミット ○ GSOC で優秀な学生がほとんどの作業をしてくれた ○ そんながんばらずに適当にやってたけど、数ヶ月で完了した ○ やってみたら Python 2 から Python 2+3 両対応がすごく簡単にできた ○ mypy の実行時間は Zulip で約3秒、十分に速いし誤検知もあまりない ○ 型アノテーションがあると可読性が上がるし、リファクタリングも安心 ○ 学習コストを強いるんじゃないかと不安に思ってたけど、みんな普通に対応してくれる
5.
Discussion ● なぜ型アノテーションが Python
2+3 対応を容易にするのか? ○ str vs. Text (unicode in Python 2, str in Python 3): mypy ○ bytes vs. str: Python 3 ○ str vs. unicode: Python 2 ○ これらの型アノテーションをちゃんと付けた場合に限る ● 本来は Python 2 でも文字列を扱うときは全て unicode 文字列であるべき? ○ 文字列が ASCII の場合、str と unicode 文字列の型の違いが曖昧 ○ str 型でもプログラムは動いてしまうことがある (str→unicodeの暗黙の型変換) ● ライブラリもテキストを unicode 文字列で扱うとは限らない ○ os (os.path) ○ csv ○ ConfigParser 標準ライブラリでさえ統一できていない Python 3 対応で最も影響が大きい (変更が多い)
6.
Conclusion ● 型チェッカーとしての mypy
が実用レベルになったらしい ○ 型ヒントの利点を活かせるときがきた ● mypy を使うと Python 2 から 3 への移行が容易になるかも? ● 型ヒントを書いて Python における静的解析を試してみましょう!
7.
An Aside ● 著者に翻訳の許可をとったときに翻訳記事がどのぐらい読まれたか教えてほしいと 依頼された ●
Qiita の公開後の PV をみてた ○ 2.5時間: 1,000 ○ 6時間 : 2,000 ○ 翌日 : 6,000 ○ 3日 : 9,500 過去に私が翻訳した記事の中では驚異的な数字!!!
Télécharger maintenant