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
September 25, 2024
Programming
1
150
PHP でアセンブリっぽく書く技術
低レイヤゆるっと LT 大会
memory
PRO
September 25, 2024
Tweet
Share
More Decks by memory
See All by memory
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
330
コードゴルファー道
m3m0r7
PRO
0
440
ChatGPT とつくる PHP で OS 実装
m3m0r7
PRO
3
270
事業観点から見る技術的負債の返済
m3m0r7
PRO
4
1.2k
PHP でアセンブリ言語のように書く技術
m3m0r7
PRO
1
240
How to implement a RubyVM with PHP?
m3m0r7
PRO
3
2.8k
二郎系ラーメンのコールで学ぶ AST 解析
m3m0r7
PRO
8
3k
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
m3m0r7
PRO
1
940
令和最新版 PHP メモリ管理術
m3m0r7
PRO
7
4.9k
Other Decks in Programming
See All in Programming
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
110
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
280
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
ALL CODE BASE ARE BELONG TO STUDY
uzulla
27
6.7k
Go言語はstack overflowの夢を見るか?
logica0419
0
520
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
240
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
630
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.4k
品質ワークショップをやってみた
nealle
0
620
Software Architecture
hschwentner
6
2.3k
Developer Joy - The New Paradigm
hollycummins
1
360
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Automating Front-end Workflow
addyosmani
1371
200k
Being A Developer After 40
akosma
91
590k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Designing for Performance
lara
610
69k
Building an army of robots
kneath
305
46k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Navigating Team Friction
lara
190
15k
Designing for humans not robots
tammielis
254
26k
Transcript
ΊΓʔ 1)1ͰΞηϯϒϦͬΆ͘ॻٕ͘ज़ ͖ͳݴޠͰ࡞ΔʂϨΠϠΏΔͬͱ-5େձ 1
ΊΓʔ NNS ෳͷϕϯνϟʔاۀελʔτΞοϓا ۀɼ্اۀͰιϑτΣΞΤϯδχΞ ࣥߦһ$50ͱͯ͠׆ಈɻ ݄ʹגࣜձࣾϋςϨϏδϣϯ ʹೖࣾ͠ɺͦͷ··ࢠձࣾͰ͋Δ-JJHBג ࣜձࣾͷ$50ʹबɻ 2 NFNPSZ
NNS
3
1)1Ͱ+7.ͷ࣮ !1)1FS,BJHJ 4 1)1Ͱ3VCZ7.ͷ࣮ !3VCZ,BJHJ աڈͷ࡞ʜ
1)1Ͱ04Λ࣮ 5 ৽࡞
1)1ॻ͍ͨ͜ͱ͋Δਓʙʂ 6
7
ΞηϯϒϦॻ͍ͨ͜ͱ͋Δਓʙʂ 8
9
ຊ1)1ͰΞηϯϒϦͬΆ͘ॻٕ͘ज़Λ ղઆ͠·͢ 10
ΞηϯϒϦʹ͍ͭͯ 1)1ͷ4ZOUBY 1)1ΛΞηϯϒϦͬΆ͘ॻ͘ 11 ࣍
ΞηϯϒϦʹ͍ͭͯ 12
ΞηϯϒϦݴޠʹ৭Μͳछྨ͕͋Γ·͢ɻྫ͑ɼ/"4. /FUXJEF"TTFNCMFS Λච಄ʹɼ("4"4 1PSUBCMF(/6"TTFNCMFS ͩͬͨΓɼ."4.ʢ.JDSPTPGU .BDSP"TTFNCMFSʣͳͲɻ ͦΕͧΕඍົʹํݴ͕ҧ͍·͕͢ɼ֓ͶϨδελʹରͯ͠ಡΈࠐΜͩΓॻ͖ࠐΜͩ
Γɼϧʔϓͤͨ͞ΓΈ͍ͨͳॲཧ΄ͱΜͲҰॹͰ͢ɻ ΞηϯϒϦͰNPWKNQ KNQFRVBMTKNQOPUFRVBMTؚ ͳͲ͕සग़ ͢Δ΄Ͳʹ༷ʑͳׂΛ୲ͬͯ͘Ε·͢ɻ 13 ΞηϯϒϦʹ͍ͭͯ
ͨͩΞηϯϒϦ1)1ͷΑ͏ͳߴڃݴޠΈ͍ͨʹมΛͨ͘͞ΜએݴͰ͖ͨΓɼJG จҰͭͰॻ͘ͷʹۤ࿑͠·͢͠ɼจࣈྻग़ྗ༰қͰ͋Γ·ͤΜɻ ϨδελʹݶΓ͕͋Γ·͢ɻมʹϥΠϑαΠΫϧͳΜͯଘࡏ͠ͳ͍͠ɼ1)1 Ͱ͍͏ͱ͜ΖͷάϩʔόϧมΛ͜Ͷ͘Γճͯ͠ɼจࣈྻग़ྗγεςϜίʔϧͳ͍ ͠#*04ׂΓࠐΈΛ༻͍ΔͳͲϨΠϠʔͳॲཧ͕ඞཁͰ͢ɻ ͰɼͦΜͳΞηϯϒϦΛ1)1ͰͦΕͬΆ͘ॻ͘ʹͲ͏ͨ͠Β͍͍Ͱ͠ΐ͏͔ɻ ·ͣ1)1ʹ
࠷ۙc ৮Εͯͳ͍ͱ͍͏ਓ͍Δͱࢥ͏ͷͰɼ͓͞Β͍Λ͠·͠ΐ ͏ɻ 14 ΞηϯϒϦʹ͍ͭͯ
1)1ͷ4ZOUBY 15
1)1ͷมఆٛWBSͷΑ͏ʹ͠·͢ɻ࠷ۙܕJOUWBSͷΑ͏ʹఆٛͰ͖ ΔΑ͏ʹͳΓ·ͨ͠ɻ ྫ͑1)1ͷؔఆٛԼਤͷΑ͏ʹ͠·͢ɻ 16 1)1ͷ4ZOUBY
ఆEF fi OF /".& WBS ͷΑ͏ʹ͠·͢ɻઌ΄ͲͷؔͷྫͰग़͍ͯͨɹ 1)1@&0-ఆͰ͋Γɼ༻࣌ʹಛʹϚʔΫΛඞཁͱ͠·ͤΜɻ ͱ͍͑ɼ͜Μͳ୯७ͳ4ZOUBYͰΞηϯϒϦͷΑ͏ʹݟ͑ͳ͍ͷͰɼ
1)1ΛΞηϯϒϦͷΑ͏ʹॻ͘ʹͻͱ͕ඞཁͰ͢ɻ ͰɼͲͷΑ͏ʹॻ͚Α͍Ͱ͠ΐ͏͔ɻݟ͍͖ͯ·͠ΐ͏ɻ 17 1)1ͷ4ZOUBY
1)1ΛΞηϯϒϦͬΆ͘ॻ͘ 18
1)1ͰΞηϯϒϦΛॻ͘ํ๏͍͔ͭ͋͘Γ·͢ɻ/"4.ͷΑ͏ͳͷΛ1)1 Ͱ࡞Εྑ͍ͷͰ͢ɻͰɼͦΜͳͷΰʔϧ͕ݟ͍͑ͯͯ໘ന͋͘Γ·ͤΜɻ 1)1ͷγϯλοΫε্ͱ͍͏ݶΒΕ੍ͨͷதͰۃྗΞηϯϒϦͷΑ͏ͳॻࣜʹۙ ͚ͮͯͦ͜ɼָ͍͠ͱ͍͏ͷͰ͢ɻ ͰɼͲ͏͍ͬͨํ๏͕͋ΔͰ͠ΐ͏͔ɻ 19 1)1ΛΞηϯϒϦͬΆ͘ॻ͘
1)1ͷ-FYFS1BSTFSΛΠδΔํ๏ ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏ 20 1)1ΛΞηϯϒϦͬΆ͘ॻ͘ ϚδͰͦΕͬΆ͘ॻ͘
1)1ͷ-FYFS1BSTFSΛΠδΔํ๏ 21
1)1ͷίʔυ͍ͬͨ͡ΒͦΓΌ ԿͰͰ͖ΔͰ͠ΐ 22
ͱ͍͏͜ͱͰ͜ͷҊηϧϑϦδΣΫτͰ͢ 23
ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏ 24
࠷ॳࠨͷΑ͏ͳײ͡ͰͦΕͬΆ͘ॻ͍ͯͨ TJBI BMͳͲ1)1ͷఆͰఆٛɻ 1)1ͷఆ࠶ೖͦ͜Ͱ͖ͳ͍͕ɼ ΦϒδΣΫτΛ͓͚࣋ͬͯΔͷͰɼΦϒδΣ ΫτͷதΛม͑ΔڍಈͰ࠶ݱɻ 25 ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏
ؔ ఆ ϥϕϧ
࠷ॳࠨͷΑ͏ͳײ͡ͰͦΕͬΆ͘ॻ͍ͯͨ TJBI BMͳͲ1)1ͷఆͰఆٛɻ 1)1ͷఆ࠶ೖͦ͜Ͱ͖ͳ͍͕ɼ ΦϒδΣΫτΛ͓͚࣋ͬͯΔͷͰɼΦϒδΣ ΫτͷதΛม͑ΔڍಈͰ࠶ݱɻ 26 ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏
ؔ ఆ ϥϕϧ ్த͔Βॻ͍ͯͯ ʮ໘ന͘ͳ͍ͳɼ͜ͷίʔυʯͱࢥ͏Α͏ʹͳ͖ͬͯͨɻ ୭Ͱॻ͚ͦ͏ͩ͠ɻ ͱ Ͱғ͏ͷμα͍͠ɻ
࠷ॳࠨͷΑ͏ͳײ͡ͰͦΕͬΆ͘ॻ͍ͯͨ TJBI BMͳͲ1)1ͷఆͰఆٛɻ 1)1ͷఆ࠶ೖͦ͜Ͱ͖ͳ͍͕ɼ ΦϒδΣΫτΛ͓͚࣋ͬͯΔͷͰɼΦϒδΣ ΫτͷதΛม͑ΔڍಈͰ࠶ݱɻ 27 ఆΛͬͯɼͦΕͬΆ͘ݟͤΔํ๏
ؔ ఆ ϥϕϧ HPUPจJGจΛ͏ͷഊײΛײ͡Δʢ୭ʹʁসʣ
ͬͱ໘ന͘Ͱ͖ͳ͍͔ͳʜ 28
29
ͦ͏͍͑1)1ͬͯؔʹ ܕࢦఆͰ͖ΔΑͳʜ 30
31
ͤʜʂ 32
33
34
ʢΰϛ͋Δ͚Ͳʣ ͦΕͬΆ͘ͳ͍Ͱ͔͢ʁ🤔 35
ϚδͰͦΕͬΆ͘ॻ͘ 36
@TUBSU@MPPQͷΑ͏ͳܗͰ ϥϕϧΛදݱɻ 1)1GVODUJPO \^ͷ ΘΓʹGO YͷΑ͏ͳ
දه͕Ͱ͖Δɻ 37 ϚδͰͦΕͬΆ͘ॻ͘ ϥϕϧ ϥϕϧ
1)1ͰҙͷΦϒδΣΫτͷ ܕΛҾ͖ड͚ΔΑ͏ʹܕΛॻ͚ Δɻ ͦͷܕΛχʔϞχοΫʹ͢ NPWͷΑ͏ͳͭΦϖϥϯυΛ Ҿ͖ड͚Δ߹ɼܕͳ͠ҾͰ ΦϖϥϯυͬΆ͘ݟͤΔ
38 ϚδͰͦΕͬΆ͘ॻ͘ NPWܕ ͭͷҾͰͦΕͬΆ͘
θϩ͔Β࢝·ΔมఆٛͰ͖ ͣ0x10ͱॻ͚ͳ͍ͷͰOx10 ͱθϩΛ0Ͱ͝·͔͢ Ҿͳ͕͠Ͱ͖ͳ͍ͷͰɼΦϖϥ ϯυͷͳ͍ͷ@Ͱදݱ 1)1Ͱಉ͡ม໊ΛෳҾͰ ࢦఆͰ͖ͳ͍ͷͰɼಉ໊͡લͷҾ
͕ൃੜ͢Δ߹ɼผͷؔͱ ͯ͠վΊͯఆٛ͢Δඞཁ͕͋Δɻ 39 ϚδͰͦΕͬΆ͘ॻ͘ Φϖϥϯυͳ͠ Y&Ͱͳ͘0Y& ಉ͡Ҿ໊Λ͏ͨΊʹ ผͷؔͱͯ͠ఆٛ
͍ͭͰʹΞηϯϒϦͷ؆қϥϯλΠϜ࣮͢Δ 40
41 ͪΌΜͱॻ͘ͱεϥΠυʹऩ·Γ͖Βͳ͍ͷͰ ίʔυΰϧϑͯ͠·͢
42
%&.0 43
3VCZͩͱ1)1ΑΓͦΕͬΆ͘ॻ͚·͢ 44
3VCZͩͬͨΒɼγϯλοΫεҧʹͳΒͣ ʹࠨଆͷॻࣜͰϚδͰͦΕͬΆ͔͚͘Δɻ ؆қϥϯλΠϜ༻ҙ͍ͯ͠ͳ͍͕ɼ͓ͦΒ ͘3VCZ7.*OTUSVDUJPO4FRVFODF͋ͨΓΛ ۦ͢Ε࣮Ͱ͖Δɻ ଞͷݴޠͷγϯλοΫεͲ͏Ͱ͠ΐ͏ ͔ʜʁΈͳ͞Μɼͥͻࢼͯ͠Έ͍ͯͩ͘͞
Ͷɻ 45 3VCZͩͱ1)1ΑΓͦΕͬΆ͘ॻ͚·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 46