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
pythonでメタプログラミング(メタクラス編)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Daiki Ikeshima
March 25, 2021
Programming
1
530
pythonでメタプログラミング(メタクラス編)
Daiki Ikeshima
March 25, 2021
Tweet
Share
More Decks by Daiki Ikeshima
See All by Daiki Ikeshima
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
mski_iksm
1
1.6k
gokartのキャッシュ競合防止のロック機能
mski_iksm
0
2.5k
macのunicode正規化.pdf
mski_iksm
0
37k
実臨床・Webサービス領域での機械学習研究 開発の標準化
mski_iksm
8
26k
高速化・並列化・標準化で スケールするML予測システムの開発
mski_iksm
5
3.2k
パイプラインツールgokartのタスク競合を解消した話
mski_iksm
0
240
Other Decks in Programming
See All in Programming
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
190
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.1k
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
1k
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
960
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
530
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
120
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
950
CSC307 Lecture 15
javiergs
PRO
0
250
CSC307 Lecture 14
javiergs
PRO
0
470
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1.1k
Unity6.3 AudioUpdate
cova8bitdots
0
130
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
860
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
The Curse of the Amulet
leimatthew05
1
10k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
780
Facilitating Awesome Meetings
lara
57
6.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
150
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
200
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
150
Building Applications with DynamoDB
mza
96
7k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
390
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ʹ͋ΔλεΫ͔Β֘͢ΔλεΫΛ୳ͯ͠ύϥϝʔλΛηοτ͢Δ