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
STYLE
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Koichi ITO
November 21, 2025
Programming
2.1k
0
Share
STYLE
北陸Ruby会議01 (
https://regional.rubykaigi.org/hokuriku01
)
Koichi ITO
November 21, 2025
More Decks by Koichi ITO
See All by Koichi ITO
Ruby and LLM Ecosystem 2nd
koic
1
1.5k
Ruby and LLM Ecosystem
koic
3
9.9k
Write Code Every Day
koic
1
2.4k
Bliki (ja), and the Cathedral, and the Bazaar
koic
7
3k
Welcome to the LLM Club
koic
0
380
RuboCop: Modularity and AST Insights
koic
3
5.5k
Carving the Way to Ruby Engineering
koic
3
1.2k
Beyond the RuboCop Defaults
koic
3
5.2k
Minify Ruby Code
koic
2
2.5k
Other Decks in Programming
See All in Programming
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
140
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
230
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
820
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
140
AI Assistants for YourAngular Solutions @Angular Graz, March 2026
manfredsteyer
PRO
0
150
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
500
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
250
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
120
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
7
1.2k
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
220
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
300
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.6k
GraphQLとの向き合い方2022年版
quramy
50
14k
YesSQL, Process and Tooling at Scale
rocio
174
15k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
140
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
700
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
480
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
280
Transcript
45:-& ,PJDIJ*50&4. *OD 3VCZձٞ ੴݝཱਤॻؗ
w044ϓϩάϥϚʔ w3VCP$PQίΞνʔϜίϛολʔ w.$1TUFFSJOHHSPVQϝϯόʔ</&8> wגࣜձࣾӬγεςϜϚωδϝϯτ &4. *OD ΤϯδχΞϦϯάϚωʔδϟʔ σΟεςΟϯάΠογϡυɾΤϯδχΞ @koic
w 3VCZ,BJHJ দࢁ w 4DSVN'FTU0TBLB େࡕ w ͳ͕Β3VCZձٞ
ذෞ w 3VCZ8PSME$POGFSFODF দߐ w 3VCZձٞ ۚ &4.ೖࣾपπΞʔϑΝΠφϧ
None
3VCZձٞͷӬϝϯόʔ 4 Q FBLFS -5 4 Q FBLFS !LPJD !ZPTIJOP
!UBJKV !GVHBLLCO !KVOL !OTHD !NBJNVYY !LBTVNJQPO !XBJEPJ !IBNDBQ 4 Q POTPS 5BML 4 Q FBLFS !N@QJYZ " UUFOEFF " UUFOEFF " UUFOEFF " UUFOEFF " UUFOEFF " UUFOEFF " UUFOEFF
wਓੜͷঢ়گʹ͋Θͤͨ ϥΠϑελΠϧΛଚॏ͢Δ wؔ౦ݍɺҪɺ࣎լɺژ Վࢁɺౡࠜɺٶ࡚͔Βͷ ϦϞʔτϫʔΫ 🗾 ಇ͖ํͷଟ༷Խͱ࠾༻ํ ઈࢍɺશࠃ࠾༻தʂݱࢀՃϝϯόʔ·Ͱ͓ؾܰʹֻ͓͚͍ͩ͘͞ʂ
w มԽͷ͍--.पลٕज़ʹ͍ͭͯͷ w ༧ࢉͷ͍ͭͨ෦׆ಈ w Ӭࣾ4MBDLͷMMNDMVCνϟϯωϧ w ઈࢍ෦һืूத w ೖࣾ͢Δ͚ͩͰɺΕͳ͘ೖ෦Ͱ͖·͢
େنݴޠϞσϧ --. ݚڀ෦
ࠓͷ
IUUQTSFHJPOBMSVCZLBJHJPSHIPLVSJLV
None
IUUQTSBJMTIPTUJOHDPNXIJDISVCZHFNTEPZPVMPWF
IUUQTSBJMTIPTUJOHDPNXIJDISVCZHFNTGSVTUSBUFZPVUIFNPTU
3VCP$PQ
45:-& ࠓܺؒͷ͋ΔΛ͖࣋ͬͯ·ͨ͠
͋ͳͨͷ Έʁ
จࣈྻϦςϥϧ require 'csv' γϯάϧΫΥʔτ μϒϧΫΥʔτ require "csv" w ॻ͘ͱ͖͍͚Λ ߟ͑ͳͯ͘ྑ͍
w JOTQFDUͷ݁Ռ μϒϧΫΥʔτ͔ͩΒ w ࣜల։ಛघจࣈ͕ ͳ͍͜ͱ͕໌֬ʹͳ Δ
)BTIϦςϥϧͷׅހͷۭന {key: value} ۭനͳ͠ ۭന͋Γ { key: value } w
Α͘ݟ͖ͯͨίʔυ ͕ͦ͏͔ͩΒ w ۭന͋Γͷ1SPDͱ ҟͳΔͷ͔ͩΒ w ྻϦςϥϧͱಉ༷ ʹۭനͳ͠
ྻϦςϥϧͷׅހͷۭന [first, second, third] ۭനͳ͠ ۭന͋Γ [ first, second, third
] w )BTIϦςϥϧͰ ۭന͋Γ͔ͩΒ SVCPDPQSBJMTPNBLBTF w )BTIϦςϥϧͰ ۭനͳ͔ͩ͠Β w Α͘ݟ͖ͯͨίʔυ ͕ͦ͏͔ͩΒ
ϒϩοΫͷ\^ͱEPFOE expression { foo } ηϚϯςΟοΫ ߦΧϯτ w ࣜ\^ͰจEPFOEͱ͍͚ w
EPFOEDIBJOFOE͍ͯ͠ͳ͍ w େߐށ3VCZձٞͰEPFOEͷ ՃΛੴ௩ܡथ͞Μ͕ޠΔ expression do foo end w ୯Ұߦͷͱ͖\^Ͱෳߦͷͱ͖ EPFOE w Α͘ݟ͖ͯͨίʔυ͕ͦ͏͔ͩΒ w ॳ৺ऀʹ͍͚͍ͩ͢͠Ζ͏ ͑ʔ statement do foo end ࣜ จ ෳߦ
ϒϩοΫ͖ϝιουνΣʔϯͷվߦ foo { bar } .baz .qux ߦ಄ ߦ w
৽ͨͳϝιουνΣʔϯΛ૿ ͢ͱ͖EJ ff ͕࠷খʹͳΓ͏Δ w υοτ͕ἧ͏ foo { bar }. baz. qux w ߦ͕ଓ͘͜ͱ͕ͦͷ ߦͰΘ͔Δ
ϒϩοΫ͖ϝιουνΣʔϯͷվߦ foo { bar }.baz.qux ϒϩοΫͰվߦ w ͦͦυοτͰվߦ͠ͳ ͍ w
Πϯσϯτͷσσϯτ
)BTIϦςϥϧͷඌΧϯϚ { foo: one, bar: two } ͳ͠ ͋Γ w
ࢹ֮తɺ࣮࣭తʹ ΤϯτϦ͕ଓ͘Θ͚ Ͱͳ͍ͷͰෆཁ w ࠷ޙͷཁૉͷޙΖ ΤϯτϦՃ࣌ʹEJ f ͕࠷খʹͳΔ { foo: one, bar: two, }
45:-& Έ
ଟ༷ੑ
ʮԶୡΑ͘ʰۂ͕όϥ όϥͩͶʱͱݴΘΕΔ͚ ͲɺԿͰόϥόϥͩͱ͍ ͚ͳ͍ͷ͔ɻ͔ͩΒൽ ʹʰόϥόϥͳͷ͕Զ ୡͷελΠϧͰ͢ʱͱݴ ͑ͨΒͱࢥͬͨʯ + ʮ45:-&ʯͷઌഐʹֶͿ IUUQTKBXJLJQFEJBPSHXJLJ45:-&@
-6/"@4&"ͷΞϧόϜ -6/"4&"ʮ45:-&ʯ
ͭ·ΓΦϨ ͨͪͰʁ
3VCP$PQͷ ͍ͮΒ͞୳Δ
Λ౿·͑ͨެֶࣜ IUUQTEPDTSVCPDPQPSHSVCPDPQJOEFYIUNMQIJMPTPQIZ
w 3VCP$PQ3VCZ4UZMF(VJEFͷϥϯλΠϜ࣮ w ॳظʹࢦͨ͠ͷHPGNUతͳେ౷ҰϑΥϚολʔ w 3VCZίϛϡχςΟʹڝ߹͢ΔελΠϧΈ͕͋Δ͜ ͱʹؾͮ͘ FHμϒϧΫΥʔτɺγϯάϧΫΥʔτ w
ҰൠతͳελΠϧΛߏՄೳʹ͢ΔΑ͏ʹͳΔ w ελΠϧΨΠυΛσϑΥϧτͱͭͭ͠ɺΈͷҧ͍Λड ͚ೖΕΔͱ͍͏ֶʹجͮ͘Α͏ʹͳΔ 3VCP$PQͷֶαϚϦʔ
w ࣮͍ͮΒ͍ͷϓϩδΣΫτ͝ͱʹى͖ ΔελΠϧͷҧ͍͕ຊ࣭Ͱͳ͍ͷͰʁ w ࠷SVCPDPQEJTBCMFͰແޮԽ͢ΔDPQΛ ߟ͑ͯΈΑ͏ w ࢥ͍ු͔ͼ·͔ͨ͠ʁ ελΠϧͷҧ͍Λड͚ೖΕΔલఏͱ͢Δ
.FUSJDT"CD4J[F
w .FUSJDT"CD4J[F3VCP$PQࣗઃఆͰ σϑΥϧτ͔ΒᮢΛ্͍͛ͯΔ w .FUSJDTܥͷDPQ༑ୡͷ.FUSJDTܥDPQΛ ࿈Εͯͬͯ͘Δ w .FUSJDTͷ"CD4J[F 1FSDFJWFE$PNQMFYJUZ
$ZDMPNBUJD$PNQMFYJUZͷίϯϏωʔγϣϯ .FUSJDTͷσϑΥϧτݫ͗͢͠Δ
# .rubocop.yml Metrics: Enabled: false ઈରతͳઃఆͱ͍͏Θ͚Ͱͳ͘ɺखૣ͍͍ͮΒ͞؇ͷͨΊͷҰྫͰ͢
*BNUIFUSJHHFS 8PSET(PE0OMZ,OPXT XPOUXPSLGPSNF -6/"4&"ʮ.05)&3ʯ
#VUTUJMMTFBSDIGPSMJHIU IUUQTHJUIVCDPNSVCPDPQSVCPDPQJTTVFTJTTVFDPNNFOU
l ίϛϡχςΟͱ୭͔ɻͪΖΜɺ͋ ͳͨͷ͜ͱͩɻ͋ͳ͕ͨίϛϡχςΟ Ͱ͋ΓɺͦΕҎ֎ʹίϛϡχςΟ ͍ͳ͍ɻ͋ͳͨͷΑ͏ͳਓʑͷू·Γ ΛɺίϛϡχςΟͱݺͿͷͩɻ IUUQTNBHB[JOFSVCZJTUOFUBSUJDMFT'PSF8PSEIUNM