Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPでも記号プログラミング
Search
Ryu
September 14, 2019
Programming
0
120
PHPでも記号プログラミング
僕が入門したよって話
Ryu
September 14, 2019
Tweet
Share
More Decks by Ryu
See All by Ryu
Sotuken
s17001
0
1k
フレームワークの気持ちになりたかった
s17001
0
360
Quine雑日記
s17001
0
1.7k
eve hackers champloo
s17001
0
1k
記号プログラミングの集大成
s17001
0
6k
JSで読み取れる記号を吐くコード
s17001
2
300
making pokemondex !
s17001
0
83
create thinkingface
s17001
0
1.8k
Other Decks in Programming
See All in Programming
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
6
1k
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
認証・認可の基本を学ぼう前編
kouyuume
0
190
生成AIを利用するだけでなく、投資できる組織へ
pospome
0
240
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
開発に寄りそう自動テストの実現
goyoki
1
760
認証・認可の基本を学ぼう後編
kouyuume
0
180
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
200
AWS CDKの推しポイントN選
akihisaikeda
1
240
AIコーディングエージェント(NotebookLM)
kondai24
0
170
React Native New Architecture 移行実践報告
taminif
1
150
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Six Lessons from altMBA
skipperchong
29
4.1k
Agile that works and the tools we love
rasmusluckow
331
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Why Our Code Smells
bkeepers
PRO
340
57k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Faster Mobile Websites
deanohume
310
31k
Typedesign – Prime Four
hannesfritz
42
2.9k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Transcript
ه߸ΤϞ͍ ه߸ϓϩάϥϛϯά ΤϞ͍ Ryuichi Iha (@Ryu1__1uyR)
͜ΜʹͪΘ
‘ΓΎ͏’͍͍ͬͯ·͢
ΓΎ͏͍͍ͬͯ·͢ • ໘ന͍ϓϩάϥϜΛॻ͘ͷ͕͖ • ීஈJavaScriptΑ͘ॻ͍ͯΔ • ϢχίʔυͷΈ(ֆจࣈपΓ)͕͖͢ • ࠷ۙ͘͢͝HͳຊΛಡΈ࢝Ίͨ •
Α͘ه߸റΓͰίʔσΟϯάͯ͠Δ (ࣗݾղऍ) ※HaskellͷຊͩΑ @Ryu1__1uyR
໘ന͍ϓϩάϥϜ @Ryu1__1uyR
໘ന͍ϓϩάϥϜ @Ryu1__1uyR ແݶ࣮ߦͰ͖ΔQuine
໘ന͍ϓϩάϥϜ @Ryu1__1uyR
ΑΖ͘͠Ͷ @Ryu1__1uyR
ͯ͞
Perlͷ͓͠·ͤΜ
PHPͷ͓Λ͠·͢
Ͱ
None
PHP࣮࣭Perl
ηʔϑʂ
ຊ
ຊ
PHPΛॻ͍͍ͯΔ ͋Δͷ͜ͱ
echo ‘r’ & ‘y’;
// p
None
Ͳ͏Β ASCIIcodeͷ ཧੵͬΆ͍
ͭ·Γ
‘r’ & ‘y’;
01110010 : r 01111001 :y 01110000 :p and
͓ʁ
ͦ͏͍ɺrͱyͬͯ
Array͔Β ͱΓͩͤΔͳ…
Array ه߸Ͱ࡞ΕΔʂʂ
͜ΕͰจࣈྻͷArray
‘r’ & ‘y’;
$__[!!_] & $__[-!!_]; ͜Ε͖ͬ͞ͷม
!!_ ͱ͔ -!!_
ܕΩϟετ
var_dump( 0 . '1'); ͜Εࣈ ͜Εจࣈ
string(2) "01" ͜Ε0͕จࣈʹܕ͔ͬͯʹม͞ΕͯΔ
͜ΕͰ४උͬͨ
ͷͰ
ͪΐͬͱPerlΛ࡞͖ͬͯͨ
01010000 01100101 01110010 01101100 Perl
P
‘p’ & ’T’ 01110000 01010100
p
‘r’ & ’y’ 01110010 01111001
T
‘r’ ^ _ ^ ‘y’ 01110010 01111001 01011111
‘p’ & ’T’ 01110000 01010100
(‘r’ & ’y’) & (‘r’ ^ _ ^ ‘y’)
ه߸Ͱॻ͘ͱ
None
e = ‘p’ ^ ’T’ | ‘A’
r Array͔Β
l = ‘A’ ^ ‘r’ ^ _
ͦΕͧΕ
$$_ = $___ ^ $____ | $__[!_];
$__[!!_]
$$__ = $__[!_] ^ $__[!!_] ^ _ ;
Ͱ͖ͨʂʂʂʂ
࣮ߦͯ͠ΈΑ͏ʂʂʂ
λʔϛφϧ
ͪͳΈʹJSͰॻ͘ͱ
[__,_]=[-~-~[-~[]],[...{}+[]][(-~-~[-~[]]+-~-~[- ~[]])- -~[]]+[...{}+[]][-~[]]+([]['']+[])[-~[]]+ (([]==[])+[])[(-~-~[-~[]])]+(-~[]/[]+[])[(-~-~[- ~[]]+-~-~[-~[]])]+(!![]+[])[-~[]]+([]['']+[])[+ []]+[...{}+[]][(-~-~[-~[]]+-~-~[-~[]])- -~[]]+(!! []+[])[+[]]+[...{}+[]][-~[]]+(!![]+[])[-~[]]];[][_] [_]((!![]+[])[-~[]]+(!![]+[])[__]+(!![]+[])[+[]]+ (!![]+[])[-~[-~[]]]+(!![]+[])[-~[]]+([]['']+[])[-
~[]]+' "'+'\\' +([]['']+[])[[]-[]] +'{' +(-~[]+[] +-~[]>>-~[])+([]-[]+[])+ '}'+'"')()+(!![]+[])[- ~-~[-~[]]]+(!![]+[])[-~[]]+(![]+[])[-~[-~[]]]
$__=$_[].=$_; $___ = $__[!!_] & $__[-!!_]; $____ = $__[!!_] ^
_ ^ $__[-!!_]; $$$___.=$___ & $____; $$_ = $___ ^ $____ | $__[!_]; $$$___ .= $$_; $$$___ .= $__[!!_] ; $$__ = $__[!_] ^ $__[!!_] ^ _ ; $$$___ .= $$__; echo $$$___ ;
PHP,JSه߸Ͱॻ͚Δ
όοΫΤϯυϑϩϯτ ه߸Ͱॻ͚Δ
ه߸͚ͩͰWEBΞϓϦ ࡞ΕΔ͔͠Εͳ͍ʂʂ
ه߸͚ͩͰWEBΞϓϦ ࡞ΕΔ͔͠Εͳ͍ʂʂ emotional
͓ΘΓ ɹऴ ɹ੍࡞ɾஶ࡞ ɹᴸᴸᴸᴸᴸ R Y U @Ryu1__1uyR