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
430
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
240
RubyKaigiとMicrosoftと私
jinroq
0
200
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
990
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
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
730
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.6k
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
150
表現を育てる
kiyou77
1
210
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
210
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
110
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
6
760
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
600
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
110
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
330
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.1k
Side Projects
sachag
452
42k
For a Future-Friendly Web
brad_frost
176
9.5k
Bash Introduction
62gerente
611
210k
Embracing the Ebb and Flow
colly
84
4.6k
Navigating Team Friction
lara
183
15k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
KATA
mclloyd
29
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Building Applications with DynamoDB
mza
93
6.2k
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 ͷ׆ಈใࠂͰͨ͠