$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
pythonでメタプログラミング(メタクラス編)
Search
Daiki Ikeshima
March 25, 2021
Programming
1
500
pythonでメタプログラミング(メタクラス編)
Daiki Ikeshima
March 25, 2021
Tweet
Share
More Decks by Daiki Ikeshima
See All by Daiki Ikeshima
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
mski_iksm
1
1.5k
gokartのキャッシュ競合防止のロック機能
mski_iksm
0
2.3k
macのunicode正規化.pdf
mski_iksm
0
35k
実臨床・Webサービス領域での機械学習研究 開発の標準化
mski_iksm
8
26k
高速化・並列化・標準化で スケールするML予測システムの開発
mski_iksm
5
3.2k
パイプラインツールgokartのタスク競合を解消した話
mski_iksm
0
220
Other Decks in Programming
See All in Programming
dotfiles 式年遷宮 令和最新版
masawada
1
650
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.1k
無秩序からの脱却 / Emergence from chaos
nrslib
2
12k
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.2k
【レイトレ合宿11】kagayaki_v4
runningoutrate
0
220
俺流レスポンシブコーディング 2025
tak_dcxi
13
7.7k
How Software Deployment tools have changed in the past 20 years
geshan
0
27k
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
18k
Microservices rules: What good looks like
cer
PRO
0
530
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
370
GeistFabrik and AI-augmented software development
adewale
PRO
0
250
[SF Ruby Conf 2025] Rails X
palkan
0
430
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
A Tale of Four Properties
chriscoyier
162
23k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
Git: the NoSQL Database
bkeepers
PRO
432
66k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Transcript
QZUIPOͰϝλϓϩάϥϛϯά dϝλΫϥεd UFDIUBML "*νʔϜౢେथ
ϝλϓϩάϥϛϯάͱʁ w ίʔυΛੜ͢ΔΑ͏ͳϓϩάϥϛϯάͷ͜ͱ w ίʔυΛʮϝλతʯʹ࡞Δ
ͳͥϝλϓϩάϥϛϯά͢Δͷ͔ʁ w Ϋϥεੜ࣌ͷৼΔ͍ͳͲಛघͳ੍ޚ͕Ͱ͖Δ w ؆୯ʹ͔͚ΔΑ͏ʹͳΔ ͨͩ͠ɺଟ༻͢ΔͱෳࡶʹͳΓ͗͢ΔͷͰɺ w දग़͢Δ෦Ͱଟ༻͠ͳ͍ w ϥΠϒϥϦͱ͔Ͱྑͦ͞͏
QZUIPOͰϝλϓϩάϥϛϯάྫ ͍ΖΜͳύλʔϯ͕͋Δ w ϝλΫϥεΫϥεͷ࡞ΓํΛنఆ w σίϨʔλϝιουΛϥοϓ͢Δ w σΟεΫϦϓλ@@HFU@@ ͱ͔͕࣮͞Ε͍ͯΔΫϥ εɻ!DMBTTNFUIPE
!TUBUJDNFUIPEͷ࣮Ͱ༗໊ w ͳͲͳͲ σίϨʔλ σΟεΫϦϓλΛ࣮ͬͯͨ͠ TUBUJDNFUIPEͷٖࣅίʔυ
ΫϥεͷΠϯελϯε࡞ w @@OFX@@ @@JOJU@@ ͱ͍͏ॱͰಛघϝιου͕ݺΕΔ w @@OFX@@ DMT Πϯελϯε͕Ͱ͖Δલʹ࣮ߦɻΫϥεΛΠϯελϯεԽ͢Δɻ w
@@JOJU@@ TFMG Πϯελϯε͕Ͱ͖ͨޙʹ࣮ߦɻΠϯελϯεΛॳظԽ͢Δɻ w @@OFX@@ Λ࣮ߦޙΠϯελϯε͕ฦΔͱɺͦͷ@@JOJU@@ Λ࣮ߦ͢Δ༷ Ϋϥε4BNQMF$MBTT͔ΒΠϯελϯεTFMGΛ࡞ ΠϯελϯεTFMGΛॳظԽ ΠϯελϯεTFMGΛฦ͢
ϝλΫϥεͱʁ w ϝλΫϥεɿΫϥεΛ࡞ΔΫϥεͷ͜ͱ w ࢦఆ͢Δ͜ͱͰΫϥε࡞࣌ͷৼΔ͍Λ੍ޚͰ͖Δ w ΫϥεͲ͏ͬͯ࡞͞Ε͍ͯΔͷ͔ʁʁʁ 4BNQMF$MBTT͕DMTʹͳΔ 4BNQMF.FUB$MBTTͰDMTΛ࡞
ΫϥεΛ࡞ΔɿUZQF UZQF ʮΦϒδΣΫτͷܕΛΓ͍ͨͱ͖ʯʹ ͏ϝιουͱͯ͠༗໊ ͏̍ͭͷ͍ํΫϥεΛ࡞Δ w Ϋϥε໊ ܧঝ͢ΔΫϥε ଐੑΛύϥϝʔλ ʹࢦఆ
w UZQFΛΠϯελϯεԽ͢ΔͱΫϥεʹͳΔ ಉ͡ ˢ ˠ
ϝλΫϥεΛ࣮ͯ͠ΈΔ w UZQFͷػೳΛͬͯϝλΫϥεΛ࣮ w ϝλΫϥεΫϥεΛ࡞ΔΫϥε w UZQFΠϯελϯεԽ͢ΔͱΫϥεʹͳΔ w ϝλΫϥεͷ@@OFX@@
ͰUZQFΛͬͯΫϥεΛ࡞Δ UZQFΛΠϯελϯεԽͯ͠ΫϥεΛ࡞ ࡞ͨ͠ΫϥεΛฦ͢ 6TF$MBTTఆٛ࣌ʹ.FUB$MBTT͕Πϯελ ϯεԽ͞Ε@@OFX@@ Λ࣮ߦɻฦͬͯ͘Δ ΫϥεΛDMTʹ͢Δɻ ΠϯελϯεԽͤͣʹݺΔ
ϝλΫϥεΛ࣮ͯ͠ΈΔ UZQFΛΠϯελϯεԽ ͯ͠ΫϥεΛ࡞ UZQFΛܧঝ w UZQFΛܧঝͯ͠.FUB$MBTTͰಉ༷ͷॲཧΛ࣮ݱ͢Δ w UZQF ʜ
TVQFS @@OFX@@ ʜ ͰΫϥεΛ࡞Δ
ϝλΫϥεͷ༻࣮ྫMVJHJ MVJHJ w TQPUJGZ։ൃͷύΠϓϥΠϯπʔϧ w ґଘؔͷ͋ΔॲཧΛղܾ͠ͳ͕Β࣮ߦͯ͘͠ΕΔ w "*νʔϜͰϥοϓͨ͠HPLBSUͱ͍͏πʔϧΛඪ४తʹ༻ IUUQTTQFBLFSEFDLDPNOJTIJCBHPLBSUXP[VPUVUBIVB IUUQTTQFBLFSEFDLDPNWBBBBBORVJTIHPLBSUGBMTFZVOZPOHUPLFUJOJUVJUF
MVJHJHPLBSUλεΫͷಛ w ͲͷλεΫΛ࣮ߦ͢Δ͔จࣈྻͰࢦఆՄೳ w UBTLύϥϝʔλͰίʔυҎ֎͔ΒจࣈྻͰͷ੍ޚ͕Մೳ w ઃఆϑΝΠϧ͔Β w ίϚϯυϥΠϯύϥϝʔλ͔ΒɹɹͳͲ 5BTL"
5BTL# \λεΫ໊TUSλεΫΫϥεPCKFDU^ ͷؔΛอ͍࣋ͯ͠ΔͨΊ 5BTL"ʹґଘ JOUͷύϥϝʔλΛ࣋ͭ w MVJHJHPLBSUͰλεΫͱ͍͏Ϋϥε୯ҐͰॲཧΛॻ͘
λεΫͷ໊લͱ࣮ମΛͲ͏อ͍࣋ͯ͠Δ͔ʁ w λεΫΫϥεͷϝλΫϥεͰ͋Δ3FHJTUFSʹλεΫΫϥεΛอ͍࣋ͯ͠Δ w ֤5BTLએݴ࣌ʹ3FHJTUFS@SFHʹλεΫ͕Ճ͞Ε͍ͯ͘ w 3FHJTUFS@SFHΛࢀর͢Δ͜ͱͰޙͰλεΫͷҰཡ͕औΕΔ ϝλΫϥε BCD"#$.FUB UZQFΛܧঝ
Λܧঝ 3FHJTUFS@SFHʹλεΫΫϥεΛՃ DMT λεΫΫϥε Λ࡞
λεΫ໊ͱλεΫΫϥεΛͲ͏อ͍࣋ͯ͠Δ͔ʁ w ͲͷλεΫΛ࣮ߦ͢Δ͔จࣈྻͰࢦఆՄೳ w ύϥϝʔλͰίʔυҎ֎͔ΒจࣈྻͰͷ੍ޚ͕Մೳ 3FHJTUFS@SFHʹ͋ΔλεΫ͔Β֘͢ΔλεΫΛ୳࣮ͯ͠ߦ͢Δ 3FHJTUFS@SFHʹ͋ΔλεΫ͔Β֘͢ΔλεΫΛ୳ͯ͠ύϥϝʔλΛηοτ͢Δ