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
Fukuoka.rb 2023 年度活動報告
Search
jinroq
January 07, 2024
Technology
0
470
Fukuoka.rb 2023 年度活動報告
2024-01-07 FUKUOKA Engineers Day 2024 rebuild
jinroq
January 07, 2024
Tweet
Share
More Decks by jinroq
See All by jinroq
本当だってば!俺もTRICK 2022に入賞してたんだってば!
jinroq
0
360
TRICK 2022 に入選した話
jinroq
0
270
RubyKaigiとMicrosoftと私
jinroq
0
240
msgraph: Microsoft Graph API Client with Ruby
jinroq
0
330
Fukuoka.rb 2019活動報告・2020抱負
jinroq
0
270
福岡の方から参りました Fukuoka.rb です
jinroq
0
1.8k
Microsoft Graph API Client and OpenAPI
jinroq
0
1k
Fukuoka.rb #150 LT
jinroq
0
280
5 分で分かるアイキューブドシステムズ
jinroq
0
580
Other Decks in Technology
See All in Technology
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
420
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
490
mrubyと micro-ROSが繋ぐロボットの世界
kishima
2
110
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
150
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
120
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
300
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
210
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
16
5.3k
rubygem開発で鍛える設計力
joker1007
2
180
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
210
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
370
GitHub Copilot の概要
tomokusaba
1
130
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
Making Projects Easy
brettharned
116
6.3k
How to Ace a Technical Interview
jacobian
277
23k
A better future with KSS
kneath
239
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Transcript
Fukuoka.rb 2023 ׆ಈใࠂ ʙੈ·͞ʹ”େύʔαʔ࣌”ʙ FUKUOKA Engineers Day 2024 rebuild
Ԭࢢ۠ͷํ͔ΒࢀΓ·ͨ͠ https://fukuokarb.connpass.com/
ࣗݾհ ໊લ: ਙ Twitterʢݱ Xʣ: jimlock GitHub: jinroq ॴଐ: גࣜձࣾ
Ruby ։ൃ ίϛϡχςΟ: Fukuoka.rb
https://www.ruby-dev.jp/
https://www.kanamic.net/topics/press-release/2023/press-release0718.html
Fukuoka.rb ͱ • Ҭ Rubyist ίϛϡχςΟʔ • ຖिਫ༵։࠵ • جຊతʹ͘͘ճ
• Γ͍ͨࣄΛΔ • Ռൃදಛʹͳ͠ • ؾ͕࣋ͪߴ·Δͱ LT େձͱ͔͢Δ
https://fukuokarb.connpass.com/event/306479/
Fukuoka.rb 2023 ࣮ • ߹ܭ 49 ճ։࠵ʢ#289ʙ#337ʣ • ௨ৗճ 48
ճ • Ninja Talk େձʢ#333ʣ • Χϯτର֎ • Ԭ Rubyistձٞ 03 • Nishitetsu.rbʢ#3, #4ʣ • υϥΰϯΛ͠ʹߦ͜͏ʢ#1ʣ • Ruby Hack Challenge Holiday in Ԭʢ#1ʣ
;Γ͔͑Γ • ίϩφͷӨڹͰେମΦϯϥΠϯ։࠵ • ษڧձΛΦϑϥΠϯ։࠵͢Δʹग़ࣾʢor ֎ग़ʣΛ ͠ͳ͚ΕͳΒͳ͍ • ݝ֎͔ΒࢀՃՄೳͳͷͰࢀՃਓ૿͑ͨ
• ਫ༵Ҏ֎ͷεϐϯΦϑΠϕϯτΛ։࠵͢ΔΑ͏ʹͳͬͨ
;Γ͔͑Γ • ίϩφͷӨڹͰେମΦϯϥΠϯ։࠵ • ΦϑϥΠϯ։࠵Λ͢Δʹग़ࣾ͘͠֎ग़Λ͠ͳ͚ΕͳΒͳ͍ • ݝ֎͔ΒࢀՃՄೳͳͷͰࢀՃਓ૿͑ͨ • ਫ༵Ҏ֎ͷεϐϯΦϑΠϕϯτΛ։࠵͢ΔΑ͏ʹͳͬͨ
;Γ͔͑Γ • ίϩφͷӨڹͰେମΦϯϥΠϯ։࠵ • ΦϑϥΠϯ։࠵Λ͢Δʹग़ࣾ͘͠֎ग़Λ͠ͳ͚ΕͳΒͳ͍ • ΦϯϥΠϯ։࠵ͩͱݝ֎͔ΒࢀՃՄೳͳͷͰࢀՃਓ૿͑ͨ • ਫ༵Ҏ֎ͷεϐϯΦϑΠϕϯτΛ։࠵͢ΔΑ͏ʹͳͬͨ
;Γ͔͑Γ • ίϩφͷӨڹͰେମΦϯϥΠϯ։࠵ • ΦϑϥΠϯ։࠵Λ͢Δʹग़ࣾ͘͠֎ग़Λ͠ͳ͚ΕͳΒͳ͍ • ΦϯϥΠϯ։࠵ͩͱݝ֎͔ΒࢀՃՄೳͳͷͰࢀՃਓ૿͑ͨ • ਫ༵Ҏ֎ͷεϐϯΦϑΠϕϯτΛ։࠵͢ΔΑ͏ʹͳͬͨ
Fukuoka.rb 2023 ࣮ • ߹ܭ 49 ճ։࠵ʢ#289ʙ#337ʣ • ௨ৗճ 48
ճ • Ninja Talk େձʢ#333ʣ • Χϯτର֎ • Ԭ Rubyistձٞ 03 • Nishitetsu.rbʢ#3, #4ʣ • υϥΰϯΛ͠ʹߦ͜͏ʢ#1ʣ • Ruby Hack Challenge Holiday in Ԭʢ#1ʣ
Fukuoka.rb 2023 ࣮ • ߹ܭ 49 ճ։࠵ʢ#289ʙ#337ʣ • ௨ৗճ 48
ճ • Ninja Talk େձʢ#333ʣ • Χϯτର֎ • Ԭ Rubyistձٞ 03 • Nishitetsu.rbʢ#3, #4ʣ • υϥΰϯΛ͠ʹߦ͜͏ʢ#1ʣ • Ruby Hack Challenge Holiday in Ԭʢ#1ʣ
https://fukuokarb.connpass.com/event/290357/
https://twitter.com/OssVision/status/1735433960191299602
https://www.ruby-lang.org/ja/news/2023/12/25/ruby-3-3-0-released/
https://www.ruby-lang.org/ja/news/2023/12/25/ruby-3-3-0-released/
Ruby Parser ͷ 1 ྺ࢙ • ॳ Yacc Λͬͯ Ruby
ͷจ๏Λղऍ͍ͯͨ͠ • Yacc Ͱ͠ΜͲ͘ͳ͖ͬͯͨͷͰ Bison Λಋೖͨ͠ • Bison Ͱ Ruby ͷจ๏Λࣗಈੜ͢ΔͷͭΒ͔ͬͨ • lexer ͷ෦ parser ͷ෦Ͱ͋ΓΌ͜ΓΌؤுͬͨ݁Ռɺparse.y ͕ ෳࡶʹͳͬͨʢRuby ೋେຐڥͷͻͱͭʣ • parse.y ΛϝϯςφϯεͰ͖ΔਓۃʑΘ͔ͣͳਓ͚ͩʹͳͬͨ
Ruby Parser ͷ 1 ྺ࢙ • ॳ Yacc Λͬͯ Ruby
ͷจ๏Λղऍ͍ͯͨ͠ • Yacc Ͱ͠ΜͲ͘ͳ͖ͬͯͨͷͰ Bison Λಋೖͨ͠ • Bison Ͱ Ruby ͷจ๏Λࣗಈੜ͢ΔͷͭΒ͔ͬͨ • lexer ͷ෦ parser ͷ෦Ͱ͋ΓΌ͜ΓΌؤுͬͨ݁Ռɺparse.y ͕ ෳࡶʹͳͬͨʢRuby ೋେຐڥͷͻͱͭʣ • parse.y ΛϝϯςφϯεͰ͖ΔਓۃʑΘ͔ͣͳਓ͚ͩʹͳͬͨ
Ruby Parser ͷ 1 ྺ࢙ • ॳ Yacc Λͬͯ Ruby
ͷจ๏Λղऍ͍ͯͨ͠ • Yacc Ͱ͠ΜͲ͘ͳ͖ͬͯͨͷͰ Bison Λಋೖͨ͠ • Bison Ͱ Ruby ͷจ๏Λࣗಈੜ͢ΔͷͭΒ͔ͬͨ • lexer ͷ෦ parser ͷ෦Ͱ͋ΓΌ͜ΓΌؤுͬͨ݁Ռɺparse.y ͕ ෳࡶʹͳͬͨʢRuby ೋେຐڥͷͻͱͭʣ • parse.y ΛϝϯςφϯεͰ͖ΔਓۃʑΘ͔ͣͳਓ͚ͩʹͳͬͨ
Ruby Parser ͷ 1 ྺ࢙ • ॳ Yacc Λͬͯ Ruby
ͷจ๏Λղऍ͍ͯͨ͠ • Yacc Ͱ͠ΜͲ͘ͳ͖ͬͯͨͷͰ Bison Λಋೖͨ͠ • Bison Ͱ Ruby ͷจ๏Λࣗಈੜ͢ΔͷͭΒ͔ͬͨ • lexer ͷ෦ parser ͷ෦Ͱ͋ΓΌ͜ΓΌؤுͬͨ݁Ռɺparse.y ͕ ංେͯ͠ෳࡶʹͳͬͨʢRuby ೋେຐڥͷͻͱͭʣ • parse.y ΛϝϯςφϯεͰ͖ΔਓۃʑΘ͔ͣͳਓ͚ͩʹͳͬͨ
Ruby Parser ͷ 1 ྺ࢙ • ॳ Yacc Λͬͯ Ruby
ͷจ๏Λղऍ͍ͯͨ͠ • Yacc Ͱ͠ΜͲ͘ͳ͖ͬͯͨͷͰ Bison Λಋೖͨ͠ • Bison Ͱ Ruby ͷจ๏Λࣗಈੜ͢ΔͷͭΒ͔ͬͨ • lexer ͷ෦ parser ͷ෦Ͱ͋ΓΌ͜ΓΌؤுͬͨ݁Ռɺparse.y ͕ ංେͯ͠ෳࡶʹͳͬͨʢRuby ೋେຐڥͷͻͱͭʣ • parse.y ΛϝϯςφϯεͰ͖ΔਓۃʑΘ͔ͣͳਓ͚ͩʹͳͬͨ
Ruby Parser ͷඞཁੑ • Ruby ͷจ๏Λղऍ͢Δͷ Ruby ΠϯλϓϦλ͚ͩͰͳ͘ͳͬͨ • Lint
• LSP • Formatter
Ruby Parser ͷඞཁੑ • Ruby ͷจ๏Λղऍ͢Δͷ Ruby ΠϯλϓϦλ͚ͩͰͳ͘ͳͬͨ • Lint
• LSP • Formatter
LSP ͕ Ruby Parser ʹٻΊΔͷ • ߴʹ Ruby ͷจ๏Λղऍͯ͠ཉ͍͠ •
ߏจΤϥʔΛ୯ͳΔ Syntax Error ʹ͠ͳ͍Ͱཉ͍͠ • “a =“ ·Ͱॻ͔Ε͍ͯΔίʔυมະॳظԽͱڭ͑ͯཉ͍͠ • “a(“ ·Ͱॻ͔Ε͍ͯΔίʔυׅހ͕ด͡ΒΕ͍ͯͳ͍͜ͱΛڭ͑ͯཉ͍͠ • “a.” ͱॻ͔Ε͍ͯͨΒ a ͕ nil Ͱ͋ΕະॳظԽͰ͋Δ͜ͱΛɺa ͕Կ͔͠Βͷ ΠϯελϯεͰ͋Εݺͼग़͠ՄೳͳϝιουΛิͯ͠ཉ͍͠
LSP ͕ Ruby Parser ʹٻΊΔͷ • ߴʹ Ruby ͷจ๏Λղऍͯ͠ཉ͍͠ •
ߏจΤϥʔΛ୯ͳΔ Syntax Error ʹ͠ͳ͍Ͱཉ͍͠ • “a =“ ·Ͱॻ͔Ε͍ͯΔίʔυมະॳظԽͱڭ͑ͯཉ͍͠ • “a(“ ·Ͱॻ͔Ε͍ͯΔίʔυׅހ͕ด͡ΒΕ͍ͯͳ͍͜ͱΛڭ͑ͯཉ͍͠ • “a.” ͱॻ͔Ε͍ͯͨΒ a ͕ nil Ͱ͋ΕະॳظԽͰ͋Δ͜ͱΛɺa ͕Կ͔͠Βͷ ΠϯελϯεͰ͋Εݺͼग़͠ՄೳͳϝιουΛิͯ͠ཉ͍͠
LSP ͕ Ruby Parser ʹٻΊΔͷ • ߴʹ Ruby ͷจ๏Λղੳͯ͠ཉ͍͠ •
ߏจΤϥʔΛ୯ͳΔ Syntax Error ʹ͠ͳ͍Ͱཉ͍͠ • “a =“ ·Ͱॻ͔Ε͍ͯΔίʔυมະॳظԽͱڭ͑ͯཉ͍͠ • “a(“ ·Ͱॻ͔Ε͍ͯΔίʔυׅހ͕ด͡ΒΕ͍ͯͳ͍͜ͱΛڭ͑ͯཉ͍͠ • “a.” ͱॻ͔Ε͍ͯͨΒ a ͕ nil Ͱ͋ΕະॳظԽͰ͋Δ͜ͱΛɺa ͕Կ͔͠Βͷ ΠϯελϯεͰ͋Εݺͼग़͠ՄೳͳϝιουΛิͯ͠ཉ͍͠
LSP ͕ Ruby Parser ʹٻΊΔͷ • ߴʹ Ruby ͷจ๏Λղੳͯ͠ཉ͍͠ •
ߏจΤϥʔΛ୯ͳΔ Syntax Error ʹ͠ͳ͍Ͱཉ͍͠ • “a =“ ·Ͱॻ͔Ε͍ͯΔίʔυมະॳظԽͱڭ͑ͯཉ͍͠ • “a(“ ·Ͱॻ͔Ε͍ͯΔίʔυׅހ͕ด͡ΒΕ͍ͯͳ͍͜ͱΛڭ͑ͯཉ͍͠ • “a.” ͱॻ͔Ε͍ͯͨΒ a ͕ nil Ͱ͋ΕະॳظԽͰ͋Δ͜ͱΛɺa ͕Կ͔͠Βͷ ΠϯελϯεͰ͋Εݺͼग़͠ՄೳͳϝιουΛิͯ͠ཉ͍͠
LSP ͕ Ruby Parser ʹٻΊΔͷ • ߴʹ Ruby ͷจ๏Λղੳͯ͠ཉ͍͠ •
ߏจΤϥʔΛ୯ͳΔ Syntax Error ʹ͠ͳ͍Ͱཉ͍͠ • “a =“ ·Ͱॻ͔Ε͍ͯΔίʔυมະॳظԽͱڭ͑ͯཉ͍͠ • “a(“ ·Ͱॻ͔Ε͍ͯΔίʔυׅހ͕ด͡ΒΕ͍ͯͳ͍͜ͱΛڭ͑ͯཉ͍͠ • “a.” ͱॻ͔Ε͍ͯͨΒ a ͕ nil Ͱ͋ΕະॳظԽͰ͋Δ͜ͱΛɺa ͕Կ͔͠Βͷ ΠϯελϯεͰ͋Εݺͼग़͠ՄೳͳϝιουΛิͯ͠ཉ͍͠
Ruby Parser ͷ৽͍͠Ξϓϩʔν • Prism • खॻ͖ύʔαʔʢC ݴޠͰ࣮ʣ • ύʔαʔδΣωϨʔλʔΛΘͳ͍
• ݱ࣌Ͱඪ४ఴϥΠϒϥϦ͕ͩɺRuby ຊମͷύʔαʔͱஔ͖͑Δ͜ͱΛඪʹ͍ͯ͠Δ • Lrama • Ruby ͷύʔαʔδΣωϨʔλʔ • ैདྷ͔Β͋Δ parse.y ΛൃలతʹΑΓॻ͖͘͢͢ΔΞϓϩʔν • parse.y ͕ෳࡶͳͷɺBNF ه๏͕ѱ͍ͷͰͳ͘ Bison ͕ΑΖ͘͠ͳ͍ͷͰʁ
Ruby Parser ͷ৽͍͠Ξϓϩʔν • Prism • खॻ͖ύʔαʔʢC ݴޠͰ࣮ʣ • ύʔαʔδΣωϨʔλʔΛΘͳ͍
• ݱ࣌Ͱඪ४ఴϥΠϒϥϦ͕ͩɺRuby ຊମͷύʔαʔͱஔ͖͑Δ͜ͱΛඪʹ͍ͯ͠Δ • Lrama • Ruby ͷύʔαʔδΣωϨʔλʔ • ैདྷ͔Β͋Δ parse.y ΛൃలతʹΑΓॻ͖͘͢͢ΔΞϓϩʔν • parse.y ͕ෳࡶͳͷɺBNF ه๏͕ѱ͍ͷͰͳ͘ Bison ͕ΑΖ͘͠ͳ͍ͷͰʁ
Ruby Parser ͷ৽͍͠Ξϓϩʔν • Prism • खॻ͖ύʔαʔʢC ݴޠͰ࣮ʣ • ύʔαʔδΣωϨʔλʔΛΘͳ͍
• ݱ࣌Ͱඪ४ఴϥΠϒϥϦ͕ͩɺRuby ຊମͷύʔαʔͱஔ͖͑Δ͜ͱΛඪʹ͍ͯ͠Δ • Lrama • Ruby ͷύʔαʔδΣωϨʔλʔ • ैདྷ͔Β͋Δ parse.y ΛൃలతʹΑΓॻ͖͘͢͢ΔΞϓϩʔν • parse.y ͕ෳࡶͳͷɺBNF ه๏͕ѱ͍ͷͰͳ͘ Bison ͕ΑΖ͘͠ͳ͍ͷͰʁ
Ruby Parser ͷࠓޙ • ϝϯςφϯεੑͷ্ • ͍উख͕ΑΓྑ͘ͳΔ
͜͜·Ͱ͕લஔ͖
΅͘ͷΞτϓοτ
Ԭ Rubyistձٞ 04 2024-09-07
Keynote Speakers
Yuichiro Kaneko Kevin Newton
https://twitter.com/rubycitymatsue/status/1722572218889298041
https://twitter.com/tagomoris/status/1722466409001971827
͜Μͳਓʹ͓͢͢Ί • Ruby Parser Λͬͱৄ͘͠Γ͍ͨ • ࣗ࡞ݴޠΛ࡞Γ͍ͨ or ࡞͍ͬͯΔ •
ʮԿ͔Α͔͘Βͳ͍͚ͲԿ͔͍͢͝ࣄͯ͠ΔʯΛମݧ͍ͨ͠
͜Μͳਓʹ͓͢͢Ί • Ruby Parser Λͬͱৄ͘͠Γ͍ͨ • ࣗ࡞ݴޠΛ࡞Γ͍ͨ or ࡞͍ͬͯΔ •
ʮԿ͔Α͔͘Βͳ͍͚ͲԿ͔͍͢͝ࣄͯ͠ΔʯΛମݧ͍ͨ͠
͜Μͳਓʹ͓͢͢Ί • Ruby Parser Λͬͱৄ͘͠Γ͍ͨ • ࣗ࡞ݴޠΛ࡞Γ͍ͨ or ࡞͍ͬͯΔ •
ʮԿ͔Α͔͘Βͳ͍͚ͲԿ͔͍͢͝ࣄͯ͠ΔʯΛମݧ͍ͨ͠
؇ื • Ԭ Rubyistձٞ 04 ͷΣϒσβΠφʔΛืूத • एׯҰ໊ • ँྱۚ͋Γʢ03
࣮ɿ5 ສԁʣ • ࢀߟɿ https://regional.rubykaigi.org/fukuoka03/
͜Ε͔ΒͷFukuoka.rb • ࠓ·Ͱ௨Γ͘͘ճΛܧଓ • ؤுΒͳ͍ • དྷΔऀڋ·ͣڈΔऀΘͣ • ͲͳͨͰؾܰʹࢀՃͯͩ͘͠ ͍͞
Ҏ্ Fukuoka.rb ͷ׆ಈใࠂͰͨ͠