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
510
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
480
TRICK 2022 に入選した話
jinroq
0
320
RubyKaigiとMicrosoftと私
jinroq
0
270
msgraph: Microsoft Graph API Client with Ruby
jinroq
0
370
Fukuoka.rb 2019活動報告・2020抱負
jinroq
0
310
福岡の方から参りました Fukuoka.rb です
jinroq
0
2k
Microsoft Graph API Client and OpenAPI
jinroq
0
1.1k
Fukuoka.rb #150 LT
jinroq
0
320
5 分で分かるアイキューブドシステムズ
jinroq
0
610
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
410
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
280
Qiita Bash アドカレ LT #1
okaru
0
180
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
140
Digitization部 紹介資料
sansan33
PRO
1
6.5k
Master Dataグループ紹介資料
sansan33
PRO
1
4.2k
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
21k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
61k
Claude Codeを使った情報整理術
knishioka
20
12k
コミュニティが持つ「学びと成長の場」としての作用 / RSGT2026
ama_ch
0
190
自己管理型チームと個人のセルフマネジメント 〜モチベーション編〜
kakehashi
PRO
5
2.5k
Featured
See All Featured
Abbi's Birthday
coloredviolet
0
4.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Paper Plane (Part 1)
katiecoart
PRO
0
3k
WENDY [Excerpt]
tessaabrams
9
35k
Accessibility Awareness
sabderemane
0
33
Game over? The fight for quality and originality in the time of robots
wayneb77
1
77
Facilitating Awesome Meetings
lara
57
6.7k
New Earth Scene 8
popppiees
1
1.3k
The Spectacular Lies of Maps
axbom
PRO
1
420
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
We Are The Robots
honzajavorek
0
130
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
46
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 ͷ׆ಈใࠂͰͨ͠