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
PHP でアセンブリ言語のように書く技術
Search
memory
PRO
October 30, 2024
Programming
1
230
PHP でアセンブリ言語のように書く技術
PHP 勉強会 169
memory
PRO
October 30, 2024
Tweet
Share
More Decks by memory
See All by memory
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
290
コードゴルファー道
m3m0r7
PRO
0
390
ChatGPT とつくる PHP で OS 実装
m3m0r7
PRO
3
260
事業観点から見る技術的負債の返済
m3m0r7
PRO
4
1.2k
PHP でアセンブリっぽく書く技術
m3m0r7
PRO
1
150
How to implement a RubyVM with PHP?
m3m0r7
PRO
3
2.8k
二郎系ラーメンのコールで学ぶ AST 解析
m3m0r7
PRO
8
2.8k
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
m3m0r7
PRO
1
910
令和最新版 PHP メモリ管理術
m3m0r7
PRO
7
4.7k
Other Decks in Programming
See All in Programming
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
240
リッチエディターを安全に開発・運用するために
unachang113
1
240
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
780
知って得する@cloudflare_vite-pluginのあれこれ
chimame
1
120
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.3k
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
480
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)
risatube
PRO
2
520
生成AI時代のコンポーネントライブラリの作り方
touyou
1
300
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
260
CIを整備してメンテナンスを生成AIに任せる
hazumirr
0
190
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
150
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
460
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
Navigating Team Friction
lara
187
15k
Docker and Python
trallard
45
3.5k
It's Worth the Effort
3n
185
28k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Designing for Performance
lara
610
69k
Being A Developer After 40
akosma
90
590k
Designing Experiences People Love
moore
142
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Transcript
ΊΓʔ 1)1ΛΞηϯϒϦݴޠͷΑ͏ʹ ॻٕ͘ज़ ୈճ1)1ษڧձ 1
ΊΓʔ NNS ෳͷϕϯνϟʔاۀελʔτΞοϓا ۀɼ্اۀͰιϑτΣΞΤϯδχΞ ࣥߦһ$50ͱͯ͠׆ಈɻ ݄ʹגࣜձࣾϋςϨϏδϣϯ ʹೖࣾ͠ɺͦͷ··ࢠձࣾͰ͋Δ-JJHBג ࣜձࣾͷ$50ʹबɻ 2 NFNPSZ
NNS
3
4 ৽͍͠ຊ͕ग़·͢
1)1Ͱ+7.ͷ࣮ !1)1FS,BJHJ 5 1)1Ͱ3VCZ7.ͷ࣮ !3VCZ,BJHJ աڈͷ࡞ʜ
ʮ1)1Ͱ04Λ࣮ʯ 1)1$POGFSFODF+BQBOͰൃද༧ఆͰ͢ 6 ৽࡞
1)1ॻ͍ͨ͜ͱ͋Δਓʙʂ 7
8
ΞηϯϒϦॻ͍ͨ͜ͱ͋Δਓʙʂ 9
10
ຊ1)1ͰΞηϯϒϦͬΆ͘ॻٕ͘ज़Λ ղઆ͠·͢ 11
ΞηϯϒϦʹ͍ͭͯ 1)1ͷ4ZOUBY 1)1ΛΞηϯϒϦͬΆ͘ॻ͘ 12 ࣍
ΞηϯϒϦʹ͍ͭͯ 13
ΞηϯϒϦݴޠʹ৭Μͳछྨ͕͋Γ·͢ɻྫ͑ɼ/"4. /FUXJEF"TTFNCMFS Λච಄ʹɼ("4"4 1PSUBCMF(/6"TTFNCMFS ͩͬͨΓɼ."4.ʢ.JDSPTPGU .BDSP"TTFNCMFSʣͳͲɻ ͦΕͧΕඍົʹํݴ͕ҧ͍·͕͢ɼ֓ͶϨδελʹରͯ͠ಡΈࠐΜͩΓॻ͖ࠐΜͩ
Γɼϧʔϓͤͨ͞ΓΈ͍ͨͳॲཧ΄ͱΜͲҰॹͰ͢ɻ ΞηϯϒϦͰNPWKNQ KNQFRVBMTKNQOPUFRVBMTؚ ͳͲ͕සग़ ͢Δ΄Ͳʹ༷ʑͳׂΛ୲ͬͯ͘Ε·͢ɻ 14 ΞηϯϒϦʹ͍ͭͯ
ͨͩΞηϯϒϦ1)1ͷΑ͏ͳߴڃݴޠΈ͍ͨʹมΛͨ͘͞ΜએݴͰ͖ͨΓɼJG จҰͭͰॻ͘ͷʹۤ࿑͠·͢͠ɼจࣈྻग़ྗ༰қͰ͋Γ·ͤΜɻ ϨδελʹݶΓ͕͋Γ·͢ɻมʹϥΠϑαΠΫϧͳΜͯଘࡏ͠ͳ͍͠ɼ1)1 Ͱ͍͏ͱ͜ΖͷάϩʔόϧมΛ͜Ͷ͘Γճͯ͠ɼจࣈྻग़ྗγεςϜίʔϧͳ͍ ͠#*04ׂΓࠐΈΛ༻͍ΔͳͲϨΠϠʔͳॲཧ͕ඞཁͰ͢ɻ ͰɼͦΜͳΞηϯϒϦΛ1)1ͰͦΕͬΆ͘ॻ͘ʹͲ͏ͨ͠Β͍͍Ͱ͠ΐ͏͔ɻ ·ͣ1)1ʹ
࠷ۙc ৮Εͯͳ͍ͱ͍͏ਓ͍Δͱࢥ͏ͷͰɼ͓͞Β͍Λ͠·͠ΐ ͏ɻ 15 ΞηϯϒϦʹ͍ͭͯ
1)1ͷ4ZOUBY 16
1)1ͷมఆٛWBSͷΑ͏ʹ͠·͢ɻ࠷ۙܕJOUWBSͷΑ͏ʹఆٛͰ͖ ΔΑ͏ʹͳΓ·ͨ͠ɻ ྫ͑1)1ͷؔఆٛԼਤͷΑ͏ʹ͠·͢ɻ 17 1)1ͷ4ZOUBY
ఆEF fi OF /".& WBS ͷΑ͏ʹ͠·͢ɻઌ΄ͲͷؔͷྫͰग़͍ͯͨɹ 1)1@&0-ఆͰ͋Γɼ༻࣌ʹಛʹϚʔΫΛඞཁͱ͠·ͤΜɻ ͱ͍͑ɼ͜Μͳ୯७ͳ4ZOUBYͰΞηϯϒϦͷΑ͏ʹݟ͑ͳ͍ͷͰɼ
1)1ΛΞηϯϒϦͷΑ͏ʹॻ͘ʹͻͱ͕ඞཁͰ͢ɻ ͰɼͲͷΑ͏ʹॻ͚Α͍Ͱ͠ΐ͏͔ɻݟ͍͖ͯ·͠ΐ͏ɻ 18 1)1ͷ4ZOUBY
1)1ΛΞηϯϒϦͬΆ͘ॻ͘ 19
1)1ͰΞηϯϒϦΛॻ͘ํ๏͍͔ͭ͋͘Γ·͢ɻ/"4.ͷΑ͏ͳͷΛ1)1 Ͱ࡞Εྑ͍ͷͰ͢ɻͰɼͦΜͳͷΰʔϧ͕ݟ͍͑ͯͯ໘ന͋͘Γ·ͤΜɻ 1)1ͷγϯλοΫε্ͱ͍͏ݶΒΕ੍ͨͷதͰۃྗΞηϯϒϦͷΑ͏ͳॻࣜʹۙ ͚ͮͯͦ͜ɼָ͍͠ͱ͍͏ͷͰ͢ɻ ͰɼͲ͏͍ͬͨํ๏͕͋ΔͰ͠ΐ͏͔ɻ 20 1)1ΛΞηϯϒϦͬΆ͘ॻ͘
1)1ͷ-FYFS1BSTFSΛΠδΔํ๏ ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏ 21 1)1ΛΞηϯϒϦͬΆ͘ॻ͘ ϚδͰͦΕͬΆ͘ॻ͘
1)1ͷ-FYFS1BSTFSΛΠδΔํ๏ 22
1)1ͷίʔυ͍ͬͨ͡ΒͦΓΌ ԿͰͰ͖ΔͰ͠ΐ 23
ͱ͍͏͜ͱͰ͜ͷҊηϧϑϦδΣΫτͰ͢ 24
ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏ 25
࠷ॳࠨͷΑ͏ͳײ͡ͰͦΕͬΆ͘ॻ͍ͯͨ TJBI BMͳͲ1)1ͷఆͰఆٛɻ 1)1ͷఆ࠶ೖͦ͜Ͱ͖ͳ͍͕ɼ ΦϒδΣΫτΛ͓͚࣋ͬͯΔͷͰɼΦϒδΣ ΫτͷதΛม͑ΔڍಈͰ࠶ݱɻ 26 ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏
ؔ ఆ ϥϕϧ
࠷ॳࠨͷΑ͏ͳײ͡ͰͦΕͬΆ͘ॻ͍ͯͨ TJBI BMͳͲ1)1ͷఆͰఆٛɻ 1)1ͷఆ࠶ೖͦ͜Ͱ͖ͳ͍͕ɼ ΦϒδΣΫτΛ͓͚࣋ͬͯΔͷͰɼΦϒδΣ ΫτͷதΛม͑ΔڍಈͰ࠶ݱɻ 27 ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏
ؔ ఆ ϥϕϧ ్த͔Βॻ͍ͯͯ ʮ໘ന͘ͳ͍ͳɼ͜ͷίʔυʯͱࢥ͏Α͏ʹͳ͖ͬͯͨɻ ୭Ͱॻ͚ͦ͏ͩ͠ɻ ͱ Ͱғ͏ͷμα͍͠ɻ
࠷ॳࠨͷΑ͏ͳײ͡ͰͦΕͬΆ͘ॻ͍ͯͨ TJBI BMͳͲ1)1ͷఆͰఆٛɻ 1)1ͷఆ࠶ೖͦ͜Ͱ͖ͳ͍͕ɼ ΦϒδΣΫτΛ͓͚࣋ͬͯΔͷͰɼΦϒδΣ ΫτͷதΛม͑ΔڍಈͰ࠶ݱɻ 28 ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏
ؔ ఆ ϥϕϧ HPUPจJGจΛ͏ͷഊײΛײ͡Δʢ୭ʹʁসʣ
ͬͱ໘ന͘Ͱ͖ͳ͍͔ͳʜ 29
30
ͦ͏͍͑1)1ͬͯؔʹ ܕࢦఆͰ͖ΔΑͳʜ 31
32
ͤʜʂ 33
34
35
ʢΰϛ͋Δ͚Ͳʣ ͦΕͬΆ͘ͳ͍Ͱ͔͢ʁ🤔 36
ϚδͰͦΕͬΆ͘ॻ͘ 37
@TUBSU@MPPQͷΑ͏ͳܗͰ ϥϕϧΛදݱɻ 1)1GVODUJPO \^ͷ ΘΓʹGO YͷΑ͏ͳ
දه͕Ͱ͖Δɻ 38 ϚδͰͦΕͬΆ͘ॻ͘ ϥϕϧ ϥϕϧ
1)1ͰҙͷΦϒδΣΫτͷ ܕΛҾ͖ड͚ΔΑ͏ʹܕΛॻ͚ Δɻ ͦͷܕΛχʔϞχοΫʹ͢ NPWͷΑ͏ͳͭΦϖϥϯυΛ Ҿ͖ड͚Δ߹ɼܕͳ͠ҾͰ ΦϖϥϯυͬΆ͘ݟͤΔ
39 ϚδͰͦΕͬΆ͘ॻ͘ NPWܕ ͭͷҾͰͦΕͬΆ͘
θϩ͔Β࢝·ΔมఆٛͰ͖ ͣ0x10ͱॻ͚ͳ͍ͷͰOx10 ͱθϩΛ0Ͱ͝·͔͢ Ҿͳ͕͠Ͱ͖ͳ͍ͷͰɼΦϖϥ ϯυͷͳ͍ͷ@Ͱදݱ 1)1Ͱಉ͡ม໊ΛෳҾͰ ࢦఆͰ͖ͳ͍ͷͰɼಉ໊͡લͷҾ
͕ൃੜ͢Δ߹ɼผͷؔͱ ͯ͠վΊͯఆٛ͢Δඞཁ͕͋Δɻ 40 ϚδͰͦΕͬΆ͘ॻ͘ Φϖϥϯυͳ͠ Y&Ͱͳ͘0Y& ಉ͡Ҿ໊Λ͏ͨΊʹ ผͷؔͱͯ͠ఆٛ
͍ͭͰʹΞηϯϒϦͷ؆қϥϯλΠϜ࣮͢Δ 41
42 ͪΌΜͱॻ͘ͱεϥΠυʹऩ·Γ͖Βͳ͍ͷͰ ίʔυΰϧϑͯ͠·͢
3VCZͩͱ1)1ΑΓͦΕͬΆ͘ॻ͚·͢ 43
࠷ۙࣄͰ1)1ΑΓ3VCZ͔ΓΛॻ ͍͍ͯΔʜ 3VCZͩͬͨΒɼγϯλοΫεҧʹͳΒͣ ʹࠨଆͷॻࣜͰϚδͰͦΕͬΆ͔͚͘Δɻ ؆қϥϯλΠϜ༻ҙ͍ͯ͠ͳ͍͕ɼ͓ͦΒ ͘3VCZ7.*OTUSVDUJPO4FRVFODF͋ͨΓΛ ۦ͢Ε࣮Ͱ͖Δɻ
44 3VCZͩͱ1)1ΑΓͦΕͬΆ͘ॻ͚·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 45