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
「Rubyメソッドかるた」 王者への道 ~ 万葉チームのガチな取り組みを大公開 ~
Search
Yasuko Ohba
October 15, 2023
Technology
3
220
「Rubyメソッドかるた」 王者への道 ~ 万葉チームのガチな取り組みを大公開 ~
2023/10/5に開催された大江戸Ruby会議10での、Rubyメソッドかるたの攻略手法についてのトーク資料です。
Yasuko Ohba
October 15, 2023
Tweet
Share
More Decks by Yasuko Ohba
See All by Yasuko Ohba
Hotwire的な設計を追求して「Web紙芝居」に行き着いた話
nay3
8
3.5k
The Better RuboCop World to enjoy Ruby
nay3
1
12k
強いエンジニアという灯
nay3
51
21k
万葉のRails新人研修のコードレビューコメントを分析してみました
nay3
7
9k
"Railsで開発できる" への道
nay3
7
1k
自立したRuby技術者を育てる - 万葉の新人教育の仕組み
nay3
13
2.2k
A Training System of Ruby Programmers / Rubyプログラマが育つ仕組み - Rubyでの受託開発を10年回してみて -
nay3
17
7.2k
Value and Pain to Keep Rails Applications Alive
nay3
3
650
Our Fight Against Super Bad Patterns in Legacy Apps
nay3
8
920
Other Decks in Technology
See All in Technology
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
2
1k
JSON攻略法.pdf
miyakemito
8
5.1k
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
280
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
200
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
140
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
650
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
340
Grafana x PagerDuty Better Together
jacopen
0
130
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
0
430
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
430
反実仮想機械学習とは何か
usaito
PRO
12
4.8k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
237
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
Product Roadmaps are Hard
iamctodd
44
9.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Side Projects
sachag
451
41k
Visualization
eitanlees
136
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Atom: Resistance is Futile
akmur
259
25k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
Transcript
ʮ3VCZϝιου͔Δͨʯ Ԧऀͷಓ ʙສ༿νʔϜͷΨνͳऔΓΈΛେެ։ʙ !OBZɹେɹɹɹ !X@F@C@DPGGFFɹീ !S@@IBOEBɹా
3VCZϝιου͔Δͨͱ IUUQTCMPHBHJMFFTNDPKQFOUSZSVCZNFUIPELBSVUB w ӬγεςϜϚωδϝϯτ ͞Μ͕࡞ w 3VCZ,BJHJͰ w छྨͷϝιου w
ͦΕͧΕऔࡳɾಡࡳ͕ ͋Δ
দా͞ΜͷൃҊΛ͖͔͚ͬʹɺ Ӭ͞Μ͔Βର߅ઓͷ͓༠͍Λ͍ͨͩ͘
ͳͥສ༿͔ͱ͍͏ͱʜ ສ༿ɺڝٕ͔ΔͨʢඦਓҰटʣܦݧऀͷେ ɾٱอ͕ۀͨ͠ձࣾ ࣮ɺ͔ΔͨΞϓϦΛൢച͍ͯͨ͠Γɺ͔Δ ͨͷେձʹڠࢍ͍ͯͨ͠Γ͢Δ पه೦ύʔςΟʔͰ౦େ͔Δͨձͷ બखʹٖࢼ߹Λ൸࿐ͯ͠Βͬͨ 3VCZίϛϡχςΟͷرऀʹɺ͔Δͨମ ݧΛͯ͠Βͬͨ͜ͱ͋Δ ΔਓͧΔl͔ΔͨΨνͷձࣾz
͋ΕΑ͋ΕΑͱ۩ମԽ ˠܾઓͷʹܾఆʂʂ
ँࣙ Ӭ͞Μɺʮ3VCZϝιου͔ΔͨʯΛ։ ൃͯͩͬͯ͋͘͠͞Γ͕ͱ͏͍͟͝·͢ ର߅ઓͷ͓༠͍Λ͋Γ͕ͱ͏͍͟͝·͢ େߐށ3VCZձٞͰͷൃදͷ·Ͱ͍ͨͩ ͍ͯͱͯخ͍͠Ͱ͢ ͜ͷൃදͰʮ3VCZϝιου͔Δͨʯ߈ུ ͷϨϕϧײΛര্͛͢Δͧ
ର߅ઓͷͨΊʹ ԿΛ͍͔ͬͯͬͨ ϝϯόʔק༠ ର߅ઓͷϧʔϧɾࢼ߹ਐߦΛܾΊΔ τϨʔχϯάͷͨΊͷԼ४උ τϨʔχϯά
ϝϯόʔ Ӭ͞ΜબखਓͳͷͰɺબ खΛਓूΊ͔͕ͨͬͨ ՌͨͤͣਓνʔϜ ಡखͷ!LVLP͕ લͰΠϯϑϧʹΕͯɺ ԻσʔλͰͷࢀՃ
ΧϝϥϚϯ༧ఆͩͬͨ !UBUTVPTBLVSBJʹɺ ٸᬎɺ࠶ੜ୲Λґཔ !OBZ !S@@IBOEB !LVLP !X@F@C@DP ff FF ಜɾબख બख ಡख બख !UBUTVPTBLVSBJ ΧϝϥϚϯˠɹ࠶ੜ୲
Իσʔλʁ ڝٕ͔ΔͨͰԻσʔλΛ͏͜ͱ͕Α͋͘ΔͷͰɺ !LVLP͕ࣾ࿅श༻ʹԻͯ͘͠Ε͍ͯͨ !X@F@C@DPGGFF͕ϑΝΠϧͱͯ͠Γग़ͯ͠ɺ͑Δঢ়ଶʹ ཧͯ͘͠Εͨ ͓͔͛ͰɺٸͳΠϯϑϧͰର߅ઓ͕։࠵Ͱ͖ͨ ެ։͠·ͨ͠ͷͰ࿅शʹ͝׆༻͍ͩ͘͞ʂ ˞ӳޠ༝དྷͷ༻ޠͷൃԻ͕͍Օॴ͕͋Δ͔͠Ε·ͤΜ͕͝༰͍ࣻͩ͘͞ IUUQTHJUIVCDPNFWFSZMFBGSVCZ@NFUIPE@DBSUBUSFFNBJOSFBEJOHT
ϧʔϧɾࢼ߹ਐߦ ಡΈࡳͷʮઆ໌ʯͷதΛಡΈ্͛ͯɺऔࡳΛऔΔͱ͍͏ํࣜʹͨ͠ όϥΤςΟΛָ͠ΊΔΑ͏ʹҎԼͷ̎छྨͱͨ͠ ͪΒ͠औΓ ʢݸਓઓɺऔͬͨࡳͷຕ߹ܭͰνʔϜউෛʣ ڝٕ͔Δͨʹ͍ۙɺ͍͋Γͷʮݯฏʯ
ʢνʔϜઓʣ IUUQTHJUIVCDPNFWFSZMFBGSVCZ@NFUIPE@DBSUBCMPCNBJOSVMFTDPOUFTU@@@@SVMFNE
τϨʔχϯάͷԼ४උ ʮܾ·ΓࣈʯΛѲ͢Δ ࡳΛॏཁͰཧ ʮ֮͑ํʯΛ࡞Δ ݯฏ༻ͷʮฒํʯΛ࡞Δ શʹϓϩͷखޱ
͜͜·Ͱ͍͍ͬͯͷͩΖ͏͔ͱࣗ͢Δʑ
ܾ·ΓࣈΛѲ͢Δ ܾ·Γࣈͱ ʮͦ͜·Ͱฉ͍ͨ࣌Ͱऔࡳ͕̍ຕʹಛఆ͞ΕΔʯಡΈͷઌ಄ ෦ͷ͜ͱ ܾ·ΓࣈΛநग़ͯ͘͠ΕΔ3VCZϓϩάϥϜΛॻ͍ͨ IUUQTHJUIVCDPNFWFSZMFBGSVCZ@NFUIPE@DBSUBUSFFNBJOLJNBSJKJ
ܾ·Γࣈදʢ͍͋͏͓͑ॱʣ͕Ͱ͖ͨ
ࡳΛॏཁͰཧ ͍͋͏͓͑ॱͰτϨʔχϯάʹ͑ͳ͍ ຕࡳɺຕࡳʜͳͲɺʮ࠷ॳͷԻ͕ಉ͡ ࡳʯ͕Կຕ͋Δ͔Ͱཧ͢Δ ʮ࠷ॳͷԻ͕ಉ͡ࡳʯ͕গͳ͍ ͘lܾ·ΔʢࣈࡳʹมԽ͢Δʣz ઓུతʹॏཁ ॏཁ
ࣈࡳ͕ຕʂʂ ֮͑͘͢ฒͯΈͨ ͍͕͋ͯͦΑΘͻΐ ʢ૬ख͕ϔιऑͦ͏ʁʣ
શମͷࡧҾͱ͍͏ܗͰ ֮͑͑͘͢Δ ͍͕͋ͯͦΑΘͻΐ ͤΊ͢ͺɾΕɾ͓ɾ͔͡ͻ ͪͳΈʹڝٕ͔ΔͨʢඦਓҰटʣͰ Ή͢Ί;͞΄ͤɾ͏ͭ͠Ώɾ͍ͪͻ͖ɾΑ͔ʜ ͳͲͱ͍͏ߏʹͳΓ·͢
ʮ֮͑ํʯΛ࡞Δ ͯ͢ͷࡳʹɺ͍֮͑͢ϑϨʔζΛ༻ҙ ܾ·Γࣈ औࡳ ֮͑ํ ಡΈͷ࠷ॳ ͋ )BTIDPNQBDU ͍͋ͨͷίϯύΫτ ͕OJMͷͷΛʜ
͍ %BUBEF fi OF Πϛϡʔλϒϧͳ%BUB Πϛϡʔλϒϧͳʜ ͯ 4ZNCPMBMM@TZNCPMT ఆٛࡁΈͷBMM@TZNCPMT ఆٛࡁΈͷͯ͢ͷʜ ͕ ($EJTBCMF ($Ψʔϕʔδ ΨʔϕʔδίϨΫτʜ
ॏཁཧ ֮͑ํlދͷרz ʮಡΈࡧҾʯͱͯ͠ެ։͍ͯ͠·͢ʂ IUUQTHJUIVCDPNFWFSZMFBGSVCZ@NFUIPE@DBSUBCMPCNBJOSFBEJOH@JOEFYQEG
ݯฏ༻ͷʮฒํʯΛ࡞Δ ݯฏͰࣗͷਞ͖ʹฒΒΕΔ ฒํΛܾΊ͓͚ͯɺʮ͋Δͱ͢Ε͜ͷล ʹ͋Δͣʯͱ͍͏͜ͱͰɺҐஔΛ֮͑ͣʹɺ ػցతʹऔΕΔ ࡳΛඈ͞Εͨޙɺಉ͡Α͏ʹฒΒΕΔɻ ͜Εɺ૬खͷϚφʔͱͯ͠େࣄ
ฒํʹఆੴ͕͋Δ ࣗ େࣄͳࡳͬ͜ ૬ख͔Βԕ͘ ಉ͡Ի͕ଟ͍ ॏཁͷ͍ͷ ্ஈͳͲʹ த͘Β͍ͷॏཁ
࡞ͨ͠ฒํ IUUQTHJUIVCDPNFWFSZMFBGSVCZ@NFUIPE@DBSUBCMPCNBJOOBSBCFQEG ͜Εެ։ͯ͠·͢
ஈ֊తτϨʔχϯά ࣈࡳͷ҉ه ࣈࡳͷ҉ه ήʔϜͷྲྀΕɺ ҉هΛͲ͏͏͔ɺ ࣗ࿅शͷํʢࡳམͱ͠ʣΛઆ໌ ࿅शձᶃ ࿅शձᶄ ΦϯϥΠϯ .5(
ΦϯϥΠϯ .5( ΦϯϥΠϯ .5( ΦϑϥΠϯ ࣨձ ΦϑϥΠϯ ࣨձ
࠷ڧͷϝϯόʔΛ πϞ͍ͬͯͨ͜ͱ͕໌͢Δ ճͷ࿅श·Ͱʹ͔ͳΓࡳΛ͍֮͑ͯͨ ࣹਆܦهԱྗ͔ͳΓྑ͍ ී௨ʹʮ͔Δͨձͷ༗ͳ৽ਓʯͩͬͨ ࿅शࢼ߹ͰͲΜͲΜٵऩɻ߈ΊɾकΓɺૹΓࡳ ͳͲͷઓज़Ϩϕϧʹ౸ୡ͢Δײ͡ʹ
ࢀߟ ͔Δͨͷઓज़ ߈ΊఢਞΛͱΔ कΓࣗਞΛͱΔ ૂ͍ಛʹڧ͘ҙࣝ͢Δࡳ͘ͱΕΔ ͕ɺʹૂ͑Δࡳ͕ݶΒΕΔ ૹΓࡳఢਞͷࡳΛͱͬͨΓ૬खͷ͓खͭ ͖ͳͲͰ૬खʹࡳΛૹΔͱ͖ɺͲͷࡳΛ ૹΔ͔બΔɻઓज़ੑ͕ߴ͍ɻ
ܴͦͯ͑ͨ͠ ର߅ઓʂ
༧Ҏ্ʹΞπΠઓ͍
ࢼ߹݁Ռ ͪΒ͠औΓ Ӭ͞Μ ສ༿ WTͰສ༿ͷউͪ
ݯฏ ରઓʣ ສ༿উ ܹઓΛ੍ͨ͠ͷສ༿νʔϜʂʂ നͨ͠ࢼ߹͔ΓͰͱָ͔ͯͬͨ͠
ମݧஊ 3VCZϝιου͔Δͨର߅ઓʹ બखͱͯ͠ࢀՃͯ͠Έͯ Ͳ͏͔ͩͬͨʁ Μͩ !X@F@C@DP ff FF બख બख
ҙຯ͕Α͗ͬͯ औΕͳ͍͜ͱ͕͋Δ
ʮͻ͖͢͏ͷʜʯ "SSBZJODMVEF 4USJOHJODMVEF
ʮҾͷจࣈྻؚ͕·ΕΔ͔ఆ͢Δʯ "SSBZJODMVEF 4USJOHJODMVEF
ʮҾͷจࣈྻؚ͕·ΕΔ͔ఆ͢Δʯ "SSBZJODMVEF 4USJOHJODMVEF ʮϨγʔόʔ͕ҾΦϒδΣΫτͱ Ͱ͍͠ཁૉΛ͔࣋ͭఆ͢Δɻʯ
3VCZϝιου͔Δͨ ͳΒͰͷ͠͞ ʮҾΛʙʙ͢Δʯͱೝ͍ࣝͯ͠Δϝ ιουͷઆ໌จ͕ʮϨγʔόʔΛʙʙʯ ࣈ໘Ͱ҉ه͍ͯ͠Δͷʹҙຯ͕Α͗ͬͯ ΕΔ ඦਓҰटͰ͋·Γͳͦ͞͏
0CKFDU ͓Ϳ͐͘͡ͱͷͲ͏͍ͪͤΛͻ͔͘͢Δ 0CKFDUFRVBM ͓Ϳ͐͘͡ͱͷͲ͏͍͍ͭͤΛͻ͔͘͢Δ ͔Δͨͱͯ͠3VCZͱͯ͠ ͍͍ײ͡ʹ֮͑ΒΕͯษڧʹͳΔ
ମݧஊ͓ΘΓ
ઓऀ͍·͔͢ʁ ͪΐͬͱΕ͖͚ͯͨͲɺઓ͍ͨ͠ νʔϜ͕͍ͨΒडཱ͚ͯͯΔ͔ ࠓճͷݚڀՌҰࣜΛެ։͍ͯ͠Δͷ Ͱɺ3VCZϝιου͔ΔͨΛ߈ུ͍ͨ͠ ํɺͥͻ͝׆༻͍ͩ͘͞
ສ༿ ΤϯδχΞͷ࠾༻Λ ߦ͍ͬͯ·͢ʂ 3VCZͰͨͷ͘͠։ൃ͍ͨ͠ํɺ Α͔ͬͨΒҰॹʹಇ͖·͠ΐ͏ʂ