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
410
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
230
RubyKaigiとMicrosoftと私
jinroq
0
190
msgraph: Microsoft Graph API Client with Ruby
jinroq
0
280
Fukuoka.rb 2019活動報告・2020抱負
jinroq
0
250
福岡の方から参りました Fukuoka.rb です
jinroq
0
1.7k
Microsoft Graph API Client and OpenAPI
jinroq
0
970
Fukuoka.rb #150 LT
jinroq
0
260
5 分で分かるアイキューブドシステムズ
jinroq
0
550
Fukuoka.rb 2019年度上半期活動報告
jinroq
0
2.7k
Other Decks in Technology
See All in Technology
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
12k
Visual StudioとかIDE関連小ネタ話
kosmosebi
1
370
シフトライトなテスト活動を適切に行うことで、無理な開発をせず、過剰にテストせず、顧客をビックリさせないプロダクトを作り上げているお話 #RSGT2025 / Shift Right
nihonbuson
3
2.1k
When Windows Meets Kubernetes…
pichuang
0
300
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
230
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
生成AIのビジネス活用
seosoft
0
110
20250116_JAWS_Osaka
takuyay0ne
2
200
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
110
comilioとCloudflare、そして未来へと向けて
oliver_diary
6
440
商品レコメンドでのexplicit negative feedbackの活用
alpicola
2
360
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
140
Featured
See All Featured
Music & Morning Musume
bryan
46
6.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Facilitating Awesome Meetings
lara
51
6.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Building Applications with DynamoDB
mza
93
6.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Fireside Chat
paigeccino
34
3.1k
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 ͷ׆ಈใࠂͰͨ͠