Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AkarengaLT vol.38
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
hashimoto-kei
October 19, 2025
Programming
320
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AkarengaLT vol.38
AkarengaLT vol.38 に登壇した際の資料です。
https://engineercafe.connpass.com/event/370316/
hashimoto-kei
October 19, 2025
More Decks by hashimoto-kei
See All by hashimoto-kei
人工衛星開発を支える Grafana
hashimoto_kei
0
150
AkarengaLT vol.43
hashimoto_kei
0
140
Offline Meetup | Fukuoka Rubyist Kaigi 05 Day0
hashimoto_kei
0
120
AkarengaLT vol.41
hashimoto_kei
1
180
AkarengaLT vol.40
hashimoto_kei
0
140
HajimetenoLT vol.17
hashimoto_kei
1
270
AkarengaLT vol.37
hashimoto_kei
0
170
AkarengaLT vol.36
hashimoto_kei
0
150
AkarengaLT vol.35
hashimoto_kei
0
240
Other Decks in Programming
See All in Programming
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
1
110
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
980
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
330
phperだってパンチカードでコーディングしたい
o0h
PRO
0
310
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
370
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
470
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
22
22k
AWSに止められる覚悟してますか?
morizo_1984
2
530
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
130
Event is what happens
moro
2
430
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
13k
Leo the Paperboy
mayatellez
10
2.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
GraphQLとの向き合い方2022年版
quramy
50
15k
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
Paper Plane
katiecoart
PRO
5
54k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
How to train your dragon (web standard)
notwaldorf
96
6.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Transcript
2025/10/19 hashimoto-kei AkarengaLT Vol. 38
ࣗݾհ Let me introduce myself.
໊લɿhashimoto-kei name: hashimoto-kei
ग़ɿԬ birthplace: Fukuoka City
ॴଐɿελʔτΞοϓ@Ԭ belong_to: startup at Fukuoka
ݞॻɿݚڀһ position: researcher
ࣄɿΤϯδχΞ work: engineer
ٕज़ελοΫɿPython, AWS technology stack: Python, AWS
͖ͳຊɿNand2Tetris favorite book: Nand2Tetris
None
ࠓͷςʔϚ Today’s theme
͘͠Έ.py
⚙.🐍
Python ͷΈ How Python works
CPython
Python͕ϓϩάϥϜΛ࣮ߦ͢ΔྲྀΕɺ࠷ޙʹʮόΠτίʔυʯ͕ੜ͞ΕΔ https://xtech.nikkei.com/ a tcl/nxt/column/18/02585/092000003/?SS=imgview&FD=1420927604
CRuby
Rubyͷதͷ༧උࣝ_RubyK a igiͷલʹΓୄʂ_ެ։༻ https://docs.google.com/present a tion/d/1oFvP4W3Ox8uiGXsW a 3ibyDg a 1cpLguVZhwCjpD46hFU/
mobilepresent?slide=id.g3389fccf211_0_100
4 components
None
Hands-on
Version
https://www.python.org/downlo a ds/
None
લఏࣝ Background
Modules
Python Language Services
https://docs.python.org/3.13/libr a ry/l a ngu a ge.html
🐍
ࣈ۟ղੳث Lexical Analyzer
None
લఏࣝ Background
ࣈ۟ lexeme
ϓϩάϥϜΛߏ͢Δ࠷খ୯Ґ Minimum unit for program
ࣗવݴޠͷʮ୯ޠʯ Like word in natural language
τʔΫϯ token
จ๏ͷߏ୯Ґ unit for grammar
ࣗવݴޠͷʮࢺʮจܕཁૉʯ Like grammatical element in natural language
ࣈ۟ղੳ Lexical Analysis
ίʔυΛτʔΫϯʹม Convert source code into tokens
https://docs.python.org/3.13/gloss a ry.html#term-token
https://docs.python.org/3.13/gloss a ry.html#term-lexic a l- a n a lyzer
Hands-on
https://docs.python.org/3.13/libr a ry/tokenize.html
None
ߏจղੳث Parser
None
લఏࣝ Background
நߏจ Abstract Syntax Tree
จ๏ߏΛʮʯͰදݱ Represent syntax as tree
ߏจղੳ Parsing
จ๏ϧʔϧΛͱʹ τʔΫϯྻΛ AST ʹม Convert tokens into AST with grammar
Hands-on
https://docs.python.org/3.13/libr a ry/ a st.html
None
None
ίϯύΠϥ Compiler
None
લఏࣝ Background
όΠτίʔυ bytecode
VM ͕࣮ߦͰ͖Δதؒදݱ IR run by Python’s VM
https://docs.python.org/3.13/gloss a ry.html#term-bytecode
Hands-on
https://docs.python.org/3.13/libr a ry/dis.html
None
ԾϚγϯ VM
None
લఏࣝ Background
ԾϚγϯ VM
தؒදݱΛղऍ࣮ͯ͠ߦ͢Δ Execute IR
https://docs.python.org/3.13/gloss a ry.html#term-virtu a l-m a chine
Let’s try !
⚠
1 + 2 * 3
NUMBER (1) PLUS (‘+’) NUMBER (2) MULT (‘*’) NUMBER (3)
EOF (‘’)
จ๏ϧʔϧΛͱʹ τʔΫϯྻΛ AST ʹม Convert tokens into AST with grammar
όοΧεɾφΞه๏ BNF
จ๏Λهड़͢ΔͨΊͷه๏ Notation to define grammar
None
ύʔαδΣωϨʔλ Parser Generator
จ๏ϑΝΠϧΛೖྗ͢Δͱ ύʔαʔΛੜ͢Δ Generate parser with grammar file
LALR (1) Parser
None
None
ਂ͞༏ઌ୳ࡧ/ؼΓ͕͚ॱ DFS / post-order
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP
ελοΫϚγϯ Stack Machine
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1 2
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1 2 3
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1 6
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
7
PUSH 1 PUSH 2 PUSH 3 MULT PLUS POP =>
1 + 2 * 3
End ...?
None
None
Thank you for listening!