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
540
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
560
TRICK 2022 に入選した話
jinroq
0
330
RubyKaigiとMicrosoftと私
jinroq
0
290
msgraph: Microsoft Graph API Client with Ruby
jinroq
0
380
Fukuoka.rb 2019活動報告・2020抱負
jinroq
0
340
福岡の方から参りました Fukuoka.rb です
jinroq
0
2k
Microsoft Graph API Client and OpenAPI
jinroq
0
1.2k
Fukuoka.rb #150 LT
jinroq
0
330
5 分で分かるアイキューブドシステムズ
jinroq
0
620
Other Decks in Technology
See All in Technology
_Architecture_Modernization_から学ぶ現状理解から設計への道のり.pdf
satohjohn
2
750
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
130
Embeddings : Symfony AI en pratique
lyrixx
0
210
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
24
11k
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
110
Phase02_AI座学_応用
overflowinc
0
2.7k
新規事業×QAの挑戦:不確実性を乗りこなす!フェーズごとに求められるQAの役割変革
hacomono
PRO
0
180
Phase08_クイックウィン実装
overflowinc
0
1.7k
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
230
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
270
事例から紐解くSHIFT流QA支援 ~大規模プロジェクトの品質管理支援、QA組織立ち上げ~ / 20260320 Nozomu Koketsu
shift_evolve
PRO
0
140
Phase07_実務適用
overflowinc
0
1.8k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
WENDY [Excerpt]
tessaabrams
9
37k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
300
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
490
Between Models and Reality
mayunak
2
240
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
170
Odyssey Design
rkendrick25
PRO
2
560
Visualization
eitanlees
150
17k
How to make the Groovebox
asonas
2
2k
Mind Mapping
helmedeiros
PRO
1
130
Agile that works and the tools we love
rasmusluckow
331
21k
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 ͷ׆ಈใࠂͰͨ͠