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
記号プログラミングの集大成
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ryu
June 29, 2019
Programming
0
6.1k
記号プログラミングの集大成
はかちゃん Lt 2019 0629
https://www.youtube.com/watch?v=XelunZcfywg
Ryu
June 29, 2019
Tweet
Share
More Decks by Ryu
See All by Ryu
Sotuken
s17001
0
1k
フレームワークの気持ちになりたかった
s17001
0
370
PHPでも記号プログラミング
s17001
0
130
Quine雑日記
s17001
0
1.9k
eve hackers champloo
s17001
0
1k
JSで読み取れる記号を吐くコード
s17001
2
310
making pokemondex !
s17001
0
93
create thinkingface
s17001
0
1.8k
Other Decks in Programming
See All in Programming
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
310
AI活用のコスパを最大化する方法
ochtum
0
310
Claude Code Skill入門
mayahoney
0
420
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
360
The free-lunch guide to idea circularity
hollycummins
0
340
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
120
20260315 AWSなんもわからん🥲
chiilog
2
170
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
180
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.3k
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
420
実践ハーネスエンジニアリング #MOSHTech
kajitack
5
2.7k
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
780
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
170
Side Projects
sachag
455
43k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
480
KATA
mclloyd
PRO
35
15k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
300
Exploring anti-patterns in Rails
aemeredith
2
290
Navigating Weather and Climate Data
rabernat
0
140
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
150
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.5k
Transcript
3ZVJDIJ*IB !3ZV@@VZ3 _ه߸ίʔσΟϯάฤ_ +BWB4DSJQUͰࠇຐज़ʂʂ
͓Αʙ͍͟͝·T
ΓΎ͏͍͍ͬͯ·͢
ΓΎ͏3ZVJDIJJIB ԭೄͷઐֶੜ +BWB4DSJQUͱϙέϞϯͱεϚϒϥͰ༡Ϳ มͳίʔυ͔͘ͷ͍͖ͩ͢ʂʂʂ ϓϩάϥϛϯά͕ͬͭΓ࢝Ίͯ͘Β͍ !3ZV@@VZ3
มͳίʔυ
͜Μͳ͜ͱͯ͠Δ
͜Μͳ͜ͱͯ͠Δ
͜Μͳ͜ͱͯ͠Δ
ͦΜͰͬͯ
໘നίʔυࢣঊͷݴ༿ΛआΓͯհ
ब৬Ͱ͖ͳͦ͞͏ͳ Ϡόίʔυ͔͠ॻ͚ͳ͍ ઈٕܥ ϓϩάϥϛϯάݴޠͷه߸େ͖ ब׆ੜ
ब৬Ͱ͖ͳͦ͞͏ͳ Ϡόίʔυ͔͠ॻ͚ͳ͍ ઈٕܥ ϓϩάϥϛϯάݴޠͷه߸େ͖ ब׆ੜ
ब৬Ͱ͖ͳͦ͞͏ͳ Ϡόίʔυ͔͠ॻ͚ͳ͍ ઈٕܥ ϓϩάϥϛϯάݴޠͷه߸େ͖ ब׆ੜ
ब৬Ͱ͖ͳͦ͞͏ͳ Ϡόίʔυ͔͠ॻ͚ͳ͍ ઈٕܥ ϓϩάϥϛϯάݴޠͷه߸େ͖ ब׆ੜ
ब৬Ͱ͖ͳͦ͞͏ͳ Ϡόίʔυ͔͠ॻ͚ͳ͍ ઈٕܥ ϓϩάϥϛϯάݴޠͷه߸େ͖ ब׆ੜ
ब৬Ͱ͖ͳͦ͞͏ͳ Ϡόίʔυ͔͠ॻ͚ͳ͍ ઈٕܥ ϓϩάϥϛϯάݴޠͷه߸େ͖ ब׆ੜ
͍
ΑΖ͓͘͠Ͷ͕͍͠·͢ʂ
ͯ͞
ࠓճͷλΠτϧͰ͕͢ɺ
3ZVJDIJ*IB !3ZV@@VZ3 _ه߸ίʔσΟϯάฤ_ +BWB4DSJQUͰࠇຐज़ʂʂ
3ZVJDIJ*IB !3ZV@@VZ3 _ه߸ίʔσΟϯάฤ_ +BWB4DSJQUͰࠇຐज़ʂʂ
ϥΠϒه߸ίʔσΟϯά͠·͢ʂ
λʔϛφϧ
ه߸͚ͩͰ3ZV͕Ͱ͖·ͨ͠
͍ܰղઆΛʜʂ
͍ܰղઆ <> <> <_<>> _<><> <> < _<> <> _<>_<>
_<>_<> > <><> <> <<>>
͍ܰղઆ <> <> <_<>> _<><> <> < _<> <>
_<>_<> _<>_<> > <><> <> <<>>
͍ܰղઆ ʠUSVFʡ <> ʠJOGJOJUFMZʡ <> ʠVOEFGJOFEʡ <>
͍ܰղઆ S Z V
͍ܰղઆ SZV
ه߸͚ͩͰจࣈ͕࡞ΕΔʂ
͔͠͠ʂʂ
ѻ͑ΔͷʹݶΓ͕͋Δ
͑Δࢠͨͪ USVF GBMTF VOEFGJOFE JOGJOJUZ /B/ PCKFDU
ه߸Ͱॻ͍ͯΈΔ <> <> <><> <><> _<><> <ʜ\^ <>>
ࣈݺͼग़ͤΔ <> GBMTFGBMTF _<> USVFGBMTF __<> USVF USVF
·ͱΊͯΈΔ
͑Δࢠͨͪ USVF GBMTF VOEFGJOFE JOGJOJUZ /B/ PCKFDU
͜͜Ͱগ͠ߟ͑Δ
͑Δࢠͨͪ USVF GBMTF VOEFGJOFE JOGJOJUZ /B/ PCKFDU
͓ʁ BCDEFG
ਐΛ͔͋ͭ͑Δʂ
ͭ·Γ
VOJDPEF͍͚Δ
2VOJDPEFͰԿ͍ͨ͠ͷʁ
"ه߸Ͱ͑ͳ͍จࣈΛ ݺͼग़͍ͨ͠
ͯ͞
Α͋͘Δ+BWB4DSJQUͰͷ VOJDPEFݺͼग़͠
͋Δ͋ΔʙΘ͔Δʙ ʟaV\G^
ͬͦ͘͞ಥͬࠐΜͰΈΔɹ
͜ΕΠϝʔδը૾Ͱ͢ aV
ͩΊΆʜ
จࣈྻ͕ؼ͖ͬͯͯΔ͔Βμϝ
ͳͷͰ
ผͷΞϓϩʔνΛ͢Δ
JOจࣈྻ PVUཉ͍͠ͷ
ఏҊͦͷ͍ͪ
͔͠͠ʜ
͑Δࢠͨͪ USVF GBMTF VOEFGJOFE JOGJOJUZ /B/ PCKFDU
ఏҊͦͷ͍ͪ
େจࣈ'࡞Εͳ͍ɻɻɻ
ͦ͜Ͱ
ఏҊͦͷʹ
2DPOTUSVDUPS࡞ΕΔʁ
"DPOTUSVDUPS࡞ΕΔʂ
զ͕ӵএΛΈͤΑ͏ DPOTUSVDUPSΛ࡞Δͱ͜ΖΛݟ͍͍ͯͯͩ͘͞
<\^ <>> << P C K F D U
0 C K F D U l>> D
<\^ <>> << P C K F D U
0 C K F D U l>> P
<><l> <> VOEFpOFE O
<><> <> GBMTF T
d<><> <> *OpOJUZ U
<> <> USVF S
<><l> <> VOEFpOFE V
<\^ <>> << P C K F D U
0 C K F D U l>> D
d<><> <> *OpOJUZ U
<\^ <>> << P C K F D U
0 C K F D U l>> P
<> <> USVF S
None
͍
͜͜·Ͱ͘ΕͳΜͰ ͖ͳจࣈΛঌשͰ͖Δʂ
None
΄Μ·͔ʙʁ
͍ͬͪΐͬͯΈ͔ͬʂ [__,_]=[-~-~[-~[]],[...{}+[]][(-~-~[-~[]]+-~-~[-~[]])- -~[]]+[...{}+[]][-~[]]+([]['']+[])[- ~[]]+(([]==[])+[])[(-~-~[-~[]])]+(-~[]/[]+[])[(-~-~[-~[]]+-~-~[-~[]])]+(!![]+[])[-~[]]+ ([]['']+[])[+[]]+[...{}+[]][(-~-~[-~[]]+-~-~[-~[]])- -~[]]+(!![]+[])[+[]]+[...{}+[]][-~[]]+(!![] +[])[-~[]]];[][_][_]((!![]+[])[-~[]]+(!![]+[])[__]+(!![]+[])[+[]]+(!![]+[])[-~[-~[]]]+(!![]+ [])[-~[]]+([]['']+[])[-~[]]+' "'+'\\' +([]['']+[])[[]-[]]
+'{' +([]['']+[])[-~[-~[]]]+(-~[__]*-~- ~[])+(__)+(!![]+[])[-~-~[-~[]]]+ '}'+'"')()+[][_][_]((!![]+[])[-~[]]+(!![]+[])[__]+(!![]+[])[+ []]+(!![]+[])[-~[-~[]]]+(!![]+[])[-~[]]+([]['']+[])[-~[]]+' "'+'\\' +([]['']+[])[[]-[]] +'{' +([] ['']+[])[-~[-~[]]]+([]['']+[])[-~[-~[]]]+(-~[])+(-~[__])+ '}'+'"')()
͢Β͍͠ʂʂʂ
͜͜·Ͱ͔Ε
ه߸ίʔυΛࣗಈੜͰ͖Δʂ
ͳͷͰ
࡞͖ͬͯͨʂʂʂʂ
զ͕ྗͷҰΛݟͤΑ͏ ࡞͖ͬͯ·ͨ͠ͷͰ͓ݟͤ͠·͢
IUUQTTHJUIVCJP #MBDL$POWFSUFS0O8&# %&.0
Α͔ͬͨΒ༡ΜͰΈͯͶʂ
·ͱΊʂ ͖ͳ͜ͱ͢Δͷͨͷ͍͠ʂʂʂʂʂʂ +4ͷมͳ༷ʹͨΒৄ͘͠ͳΔ ಉڃੜʹҾ͔ΕΔ Զ͕า͘ܕਪͩ
ΈΜͳه߸ϓϩάϥϛϯάΛ ͯ͠ɺ ࣗͰܕਪͰ͖Δ ਓؒίϯύΠϥʹͳΖ͏ͳʂʂ
[__,_]=[-~-~[-~[]],[...{}+[]][(-~-~[-~[]]+-~-~[-~[]])- -~[]]+[...{}+[]][-~[]]+([] ['']+[])[-~[]]+(([]==[])+[])[(-~-~[-~[]])]+(-~[]/[]+[])[(-~-~[-~[]]+-~-~[-~[]])]+(!![]+ [])[-~[]]+([]['']+[])[+[]]+[...{}+[]][(-~-~[-~[]]+-~-~[-~[]])- -~[]]+(!![]+[])[+[]]+[...{}+[]] [-~[]]+(!![]+[])[-~[]]];[][_][_]((!![]+[])[-~[]]+(!![]+[])[__]+(!![]+[])[+[]]+(!![]+[])[-~[- ~[]]]+(!![]+[])[-~[]]+([]['']+[])[-~[]]+' "'+'\\' +([]['']+[])[[]-[]] +'{'
+(__)+([]-[]+[])+(-~[]+ []+-~[]>>-~[])+(-~[__])+ '}'+'"')()+[][_][_]((!![]+[])[-~[]]+(!![]+[])[__]+(!![]+[])[+[]]+(!![] +[])[-~[-~[]]]+(!![]+[])[-~[]]+([]['']+[])[-~[]]+' "'+'\\' +([]['']+[])[[]-[]] +'{' +(__*__)+((- ~[]+[]+-~[]>>-~[])+(-~[]<<-~[]))+(-~[]+[]+-~[]>>-~[])+(__*__)+ '}'+'"')()+[][_][_]((!![]+ [])[-~[]]+(!![]+[])[__]+(!![]+[])[+[]]+(!![]+[])[-~[-~[]]]+(!![]+[])[-~[]]+([]['']+[])[-~[]]+' "'+'\\' +([]['']+[])[[]-[]] +'{' +(-~[__]*-~-~[])+([]-[]+[])+((-~[]+[]+-~[]>>-~[])+(-~[]<<- ~[]))+(-~[__])+ '}'+'"')()+[][_][_]((!![]+[])[-~[]]+(!![]+[])[__]+(!![]+[])[+[]]+(!![]+[])[-~[- ~[]]]+(!![]+[])[-~[]]+([]['']+[])[-~[]]+' "'+'\\' +([]['']+[])[[]-[]] +'{' +(__)+([]-[]+[])+(- ~[__])+(-~[-~[]])+ '}'+'"')()+[][_][_]((!![]+[])[-~[]]+(!![]+[])[__]+(!![]+[])[+[]]+(!![]+[])[-