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
Railsを仕事にする会社で新卒が1年間学んだこと
Search
Junichi Kobayashi
August 05, 2017
6
2.2k
Railsを仕事にする会社で新卒が1年間学んだこと
Junichi Kobayashi
August 05, 2017
Tweet
Share
More Decks by Junichi Kobayashi
See All by Junichi Kobayashi
LR で JSON パーサーを作る / Coding LR JSON Parser
junk0612
2
190
「ナントカLR」を整理する / Clarifying LR Algorithms
junk0612
1
330
From LALR to IELR: A Lrama's Next Step
junk0612
2
3.5k
RubyConf Taiwan / Understanding Parser Generators surrounding Ruby with Contributing Lrama
junk0612
1
4.6k
LL法とLR法の違いは?調べてみた!-完全版-/Comparing LL and LR parse algorithm -EX Edition-
junk0612
0
450
ESM Super LT/Comparing LL and LR parse algorithm
junk0612
1
92
Lrama へのコントリビューションを通して学ぶ Ruby のパーサジェネレータ事情
junk0612
4
4.7k
ソフトウェア開発とコミュニケーション / Communication in Software Development
junk0612
0
1.2k
アジャイルという「マインドセット」 / Mindset named Agile
junk0612
0
880
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
8.9k
Happy Clients
brianwarren
96
6.6k
No one is an island. Learnings from fostering a developers community.
thoeni
18
2.9k
How to Ace a Technical Interview
jacobian
274
23k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Adopting Sorbet at Scale
ufuk
73
8.9k
Building an army of robots
kneath
302
42k
Principles of Awesome APIs and How to Build Them.
keavy
125
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
227
52k
Transcript
3BJMTΛࣄʹ͢ΔձࣾͰ ৽ଔֶ͕ؒΜͩ͜ͱ Ұਓલͷ3BJMTϓϩάϥϚʵʹͳΔͨΊͷʰ֊ஈʱͷొΓํ ͗Μ͟3VCZձٞ גࣜձࣾΈΜͳͷΣσΟϯά༷ձٞࣨ 4BU גࣜձࣾӬγεςϜϚωδϝϯτΞδϟΠϧࣄۀ෦ খྛ७Ұ !KVOL
খྛ७Ұ !KVOL
چ৽ଔࢯ
IUUQSVCZLBJHJPSHTQPOTPST
IUUQTUXJUUFSDPNKVOLTUBUVT
IUUQTUXJUUFSDPNKVOLTUBUVT
None
3BJMTΛࣄʹ͢ΔձࣾͰ ৽ଔֶ͕ؒΜͩ͜ͱ Ұਓલͷ3BJMTϓϩάϥϚʵʹͳΔͨΊͷʰ֊ஈʱͷొΓํ ͗Μ͟3VCZձٞ גࣜձࣾΈΜͳͷΣσΟϯά༷ձٞࣨ 4BU גࣜձࣾӬγεςϜϚωδϝϯτΞδϟΠϧࣄۀ෦ খྛ७Ұ !KVOL
None
None
ରֶशΛ࢝Ί͔ͨΓͷਓɺ ͦ͘͠ΕΛҭͯΔཱͷਓ ৽ଔͷཱ͔ΒͲΜͳ͜ͱΛֶͼɺ ͲΜͳ͜ͱΛߟ͍͑ͯͨͷ͔Λ ͑ɺใڞ༗͍ͨ͠ త
‣ +BWB $-*ɺ"OESPJE ‣ 9UFYU ݚڀ ‣ 9UFOE
ݚڀ ‣ 3VCZ3BJMTܦݧͳ͠ ೖࣾ࣌ͷεΩϧ
‣ +BWB $-*ɺ"OESPJE ‣ 9UFYU ݚڀ ‣ 9UFOE
ݚڀ ‣ 3VCZ3BJMTܦݧͳ͠ ೖࣾ࣌ͷεΩϧ ͍ΘΏΔʮେܕ৽ਓʯͰͳ͍
ϓϩδΣΫτͷਪҠ ࣾͰجૅֶश ಉҊ݅ʹΞαΠϯ डୗҊ݅Ͱ0+5
ϓϩδΣΫτͷਪҠ ࣾͰجૅֶश ಉҊ݅ʹΞαΠϯ डୗҊ݅Ͱ0+5 ‣3BJMTνϡʔτϦΞϧ ‣42-υϦϧ
‣3VCZೝఆࢼݧ
ϓϩδΣΫτͷਪҠ ࣾͰجૅֶश ಉҊ݅ʹΞαΠϯ डୗҊ݅Ͱ0+5 ؆୯ͳϝοηʔδͷमਖ਼͔Β ঃʑʹϋʔυϧ্͕͕͍ͬͯ͘
ϓϩδΣΫτͷਪҠ ࣾͰجૅֶश ಉҊ݅ʹΞαΠϯ डୗҊ݅Ͱ0+5 ‣ 13ϕʔεͰͷϨϏϡʔ
‣ ݟੵΓͷࢀՃ ‣ ސ٬ͱͷΓͱΓ
͓ੈʹͳΓ·ͨ͠ !LPJD !ULVOPV !TVHJOPZ !qBEB@BVYW !BJLZP !OTHD !PKJSZ !NVSZPJNQM !TXBNQ
!IJTBT Special Thanks
ࣈͰݟΔεςʔλε $ git shortlog -s 371 Junichi Kobayashi
ࣈͰݟΔεςʔλε $ git shortlog -s 371 Junichi Kobayashi DPNNJUE
ࣈͰݟΔεςʔλε $ git shortlog -s --no-merges 337 Junichi Kobayashi
ࠓ͓͢͠Δ͜ͱ ‣ ॳΊͯΈͨ3VCZͷ໘ന͞ ‣ 3BJMTʹૣ͘ΔͨΊʹ ‣ 13Ͱߟ͓͑ͯ͘ͱ͍͍͜ͱ ‣ (JUͰίʔυ֎ͷҙਤΛ͑Δ
ࠓ͓͢͠Δ͜ͱ ‣ ॳΊͯΈͨ3VCZͷ໘ന͞ ‣ 3BJMTʹૣ͘ΔͨΊʹ ‣ 13Ͱߟ͓͑ͯ͘ͱ͍͍͜ͱ ‣ (JUͰίʔυ֎ͷҙਤΛ͑Δ
‣ ϝιουݺͼग़͠ʹ Χοί͕ͳͯ͘ྑ͍ ‣ ໊લʹʮ ʯ͕͑Δ ‣ σϑΥϧτҾ 3VCZͷ໘ന͞
ϝιουͷΧοί def search_books(genre) @books = Book.where(genre: genre) render 'book/index', books:
@books end
ϝιουͷΧοί def search_books(genre) @books = Book.where(genre: genre) render 'book/index', books:
@books end
ϝιουͷΧοί def search_books(genre) @books = Book.where(genre: genre) render 'book/index', books:
@books end ϝιουݺͼग़͠ ࣜ ໋ྩݺͼग़͠ จ
໊લʹʮ ʯ ‣ ͻͱͷใྔ͕ͱͯଟ͍ w ݺͼग़͠ʹҙ͢Δ͖ w ਅཧΛද͢
σϑΥϧτҾ ‣ ݺͼग़͠ଆͰҾͷ༗ແΛબΔ w +BWBͰΦʔόʔϩʔυ w σϑΥϧτҾͷ͚ͩ ϝιουએݴ͕ඞཁ
‣ ʮॻ͘ʯ͜ͱ͕ͱָͯ w ͍ w ݟ͍͢ w ָ͍͠ 3VCZͷ໘ന͞
ࠓ͓͢͠Δ͜ͱ ‣ ॳΊͯΈͨ3VCZͷ໘ന͞ ‣ 3BJMTʹૣ͘ΔͨΊʹ ‣ 13Ͱߟ͓͑ͯ͘ͱ͍͍͜ͱ ‣ (JUͰίʔυ֎ͷҙਤΛ͑Δ
‣ 3BJMTXBZΛΔ w Βͳ͍ͱΕͳ͍ w Εͳ͍ͱ֎ΕΒΕͳ͍ w ܕഁΓʺܗແ͠ 3BJMTʹૣ͘Δ
‣ ಡΜͩຊΛཧͰ͖ɺຊʹײΛ ॻ͚ΔγεςϜΛߟ͑Δ ‣ ͯ͢ͷຊͷଞʹɺಡΜͩຊײ Λॻ͍ͨຊͷҰཡΛग़͍ͨ͠ ‣ ϦιʔεɾϧʔςΟϯάઃܭΛͲ ͏͢Δ͔ʁ ྫຊͷײ
ࣗͷઃܭ resources :books do collection do get 'read' get 'commented'
end end
ΒͬͨϨϏϡʔ Ϗϡʔ͕ಉ͡ͳͷͰɺ ίϯτϩʔϥಉ͡Ͱ͍͍͔ͱ ࢥͬͯ͜ͷ࣮ʹ͠·ͨ͠ ࣗڧ͍ཧ༝͕ͳ͍ݶΓ ίϯτϩʔϥׂͰ͢ !PKJSZ
ࢀߟจݙ IUUQQPTUEDDIPXEIIPSHBOJ[FTIJTSBJMTDPOUSPMMFST
%))TBZT ࣗͷ࡞ͬͨίϯτϩʔϥͷঢ়ଶΛչ Ήͷܾ·ͬͯɺ࡞ͬͨίϯτϩʔ ϥͷ͕গͳ͗ͨ࣌͢Ͱ͢ɻଟ͘ͷॲ ཧΛͤΑ͏ͱ͗ͯ͢͠͠·͏ΜͰ͢ɻ ͦ͜Ͱ#BTFDBNQͰɺ͋Δఔ ཧʹ͔ͳͬͨαϒϦιʔε͕͋Εɺ ຖճίϯτϩʔϥΛׂ͍͖ͯ͠·͢ɻ
ࣗͷઃܭ resources :books do collection do get 'read' get 'commented'
end end
վྑޙͷઃܭ resources :books do resource :read, only: %i(show) resource :commented,
only: %i(show) end
‣ 3BJMTXBZΛΔ w 3BJMTXBZʹΔͱɺ ཁٻΛγϯϓϧʹ ࣮Ͱ͖Δ 3BJMTʹૣ͘Δ
ࠓ͓͢͠Δ͜ͱ ‣ ॳΊͯΈͨ3VCZͷ໘ന͞ ‣ 3BJMTʹૣ͘ΔͨΊʹ ‣ 13Ͱߟ͓͑ͯ͘ͱ͍͍͜ͱ ‣ (JUͰίʔυ֎ͷҙਤΛ͑Δ
13Ͱߟ͑Δ͜ͱ ‣ ˓˓͞ΜͳΒͲ͏ߟ͑Δʁ ‣ ʮͱΓ࣮͋͑ͣʯͷݴ͍༁ ‣ Θ͔Βͳ͍͜ͱૉʹฉ͘
13Ͱߟ͑Δ͜ͱ ‣ ˓˓͞ΜͳΒͲ͏ߟ͑Δʁ ‣ ʮͱΓ࣮͋͑ͣʯͷݴ͍༁ ‣ Θ͔Βͳ͍͜ͱૉʹฉ͘
˓˓͞ΜͳΒʜʜ ‣ ϨϏϡʔຖͨ͘͞Μड͚Δ ‣ ͠Β͘ड͚ଓ͚͍ͯΔͱɺ͋Δ ਓ͔ΒͷϨϏϡʔʹڞ௨ͨ͠ࢹ ͕͋Δ͜ͱʹؾͮ͘
ͨͱ͑ !LPJD ໊લ͚͕ దͰͳͦ͞͏ɻ ͜Μͳ୯ޠʁ ͜ͷॻ͖ํ %3:͡Όͳ͍ͷͰ ݟͦ͏
ͨͱ͑ !TVHJOPZ ͜ͷΠϯελϯε ෆཁͰʁ ϦϑΝΫλϦϯά ͠·͠ΐ͏ ΫΤϦ͕͍ͷͰ ࣮ߦܭըΛݟͯΈͯ
!ULVOPV ͨͱ͑ ͜ͷϝιου ͋ͬͪͰΘΕͯ ͍ΔͷͰ ֬ೝ͕ඞཁͦ͏ ผͷॴͰ ࣅͨॲཧΛ͍ͯ͠ΔͷͰ ࢀߟʹͰ͖ͦ͏
˓˓͞ΜͳΒʜʜ ‣ ͜ͷࢹΛར༻͠ɺ 13Λग़͢લʹʮͦͷਓʹͳΓ ͖ͬͯʯϨϏϡʔͯ͠ΈΔ ‣ ͕ࣗ13Λग़͢લʹ༗ޮͩ͠ ઌഐͷ13ΛݟΔͱ͖ʹ༗ޮ
˓˓͞ΜͳΒʜʜ ‣ ࣗͳΓͷཧ༝Λ࣋ͬͯ13Λ ϨϏϡʔ͢Δͷͳ͔ͳ͔͍͠ ‣ લड͚ͨϨϏϡʔΛ׆͔ͯ͠ ʮਐݚθϛঢ়ଶʯΛ࡞Δ
13Ͱߟ͑Δ͜ͱ ‣ ˓˓͞ΜͳΒͲ͏ߟ͑Δʁ ‣ ʮͱΓ࣮͋͑ͣʯͷݴ͍༁ ‣ Θ͔Βͳ͍͜ͱૉʹฉ͘
ͱΓ͋͑ͣͷݴ͍༁ ‣ ׳Εͯ͘ΔͱɺͩΜͩΜ࣮Λ ͺͬͱࢥ͍ͭ͘͜ͱ͕૿͑ͯ͘Δ ‣ ࢥ͍͍͔ͭͨΒͱΓ࣮͋͑ͣ ͯ͠ΈΔ ຊΑ͘ͳ͍
ͱΓ͋͑ͣͷݴ͍༁ ‣ Ͱ͖ͨͷํ͕ͳ͍ͷͰ ͤΊͯ13Λग़͢લʹଞͷखஈʹ ͍ͭͯߟ͑ͯΈΔ ‣ ͞ࣄલʹߟ͍͔͑ͯͨͷΑ͏ʹ 13ͷίϝϯτʹॻ͍͓ͯ͘
13Ͱߟ͑Δ͜ͱ ‣ ˓˓͞ΜͳΒͲ͏ߟ͑Δʁ ‣ ʮͱΓ࣮͋͑ͣʯͷݴ͍༁ ‣ Θ͔Βͳ͍͜ͱૉʹฉ͘
Θ͔Βͳ͍͜ͱΛฉ͘ ‣ Ұݟमਖ਼ͯ͠มΘΒͳͦ͞͏ͳ ϨϏϡʔ͕ͭ͘͜ͱ͕͋Δ ‣ ʮͳͥ͜ͷमਖ਼Λ͖͢ͳͷ͔ʯ ͱ͍͏ཧ༝͕͋ΔͣͳͷͰ ฉ͍ͯΈΔ
Θ͔Βͳ͍͜ͱΛฉ͘ ‣ ࠷ॳӏವΈʹ͍͍ͯ͠ ‣ ׳Ε͖ͯͨΒʮ͕ࣗ͜͏ॻ͍ͨ ཧ༝ʯͱηοτͰฉ͍ͯΈΔͱ ͦͷཧ༝ʹ͍ͭͯϨϏϡʔ͕ Β͑Δ
ࠓ͓͢͠Δ͜ͱ ‣ ॳΊͯΈͨ3VCZͷ໘ന͞ ‣ 3BJMTʹૣ͘ΔͨΊʹ ‣ 13Ͱߟ͓͑ͯ͘ͱ͍͍͜ͱ ‣ (JUͰίʔυ֎ͷҙਤΛ͑Δ
(JUͰҙਤΛ͑Δ ‣ ίϛοτৄࡉʹ8IBU 8IFO8IP)PX 8IFSF͕ࡌΔ ‣ ͕ͨͬͯ͠ɺίϛοτϝοηʔδ ʹ8IZΛॻ͘ඞཁ͕͋Δ
ͨͱ͑ commit f4227bf20a16a1d688afc24cf0038e2f98905dd4 Author: Junichi Kobayashi <
[email protected]
> Date: Tue Jul
25 13:19:01 2017 +0900 Remove comments
commit f4227bf20a16a1d688afc24cf0038e2f98905dd4 Author: Junichi Kobayashi <
[email protected]
> Date: Tue Jul 25
13:19:01 2017 +0900 Remove comments ͨͱ͑ ͳͥίϝϯτΛ ফͨ͠ͷ͔ʁ
ͨͱ͑ commit f4227bf20a16a1d688afc24cf0038e2f98905dd4 Author: Junichi Kobayashi <
[email protected]
> Date: Tue Jul
25 13:19:01 2017 +0900 Remove unnecessary comments
commit f4227bf20a16a1d688afc24cf0038e2f98905dd4 Author: Junichi Kobayashi <
[email protected]
> Date: Tue Jul 25
13:19:01 2017 +0900 Remove unnecessary comments ͨͱ͑ ͳͥίϝϯτ ෆཁͳͷ͔ʁ
ͨͱ͑ commit f4227bf20a16a1d688afc24cf0038e2f98905dd4 Author: Junichi Kobayashi <
[email protected]
> Date: Tue Jul
25 13:19:01 2017 +0900 Remove unnecessary comments ৼΔ͍ͱ߹͍ͬͯͳ͍͏͑ɺίʔυΛಡΊ ༰қʹཧղͰ͖ΔͨΊɺίϝϯτΛআ͢Δ
ͨͱ͑ commit f4227bf20a16a1d688afc24cf0038e2f98905dd4 Author: Junichi Kobayashi <
[email protected]
> Date: Tue Jul
25 13:19:01 2017 +0900 Remove unnecessary comments ৼΔ͍ͱ߹͍ͬͯͳ͍͏͑ɺίʔυΛಡΊ ༰қʹཧղͰ͖ΔͨΊɺίϝϯτΛআ͢Δ
ҰํͰ ‣ ίϛοτϝοηʔδ ͚Ε͍͍Θ͚Ͱͳ͍ w 3FNPWFUSBJMJOH XIJUFTQBDFͰेΘΔ
Ͳ͏͢Δ͖͔ʁ ‣ ࣗͷੑ֨Λߟྀ͢Δ w ࣗল͖͗͢ΔλΠϓͳͷͰ ͍ͯͶ͍ʹॻ͘͜ͱΛ৺͕͚ͨ ‣ ઌഐͷίϛοτΛݟֶͯश͢Δ w ઌഐؒҧ͏͜ͱ͕͋ΔͷͰ
ӏವΈʹ͠ͳ͍͜ͱ
ͱ͋ΔҰޙͷ࢟
͓·͚ ;-)
͓·͚ ;-)
͓·͚ ;-)
͓·͚ ;-)
͓·͚ ;-)
ରֶशΛ࢝Ί͔ͨΓͷਓɺ ͦ͘͠ΕΛҭͯΔཱͷਓ ৽ଔͷཱ͔ΒͲΜͳ͜ͱΛֶͼɺ ͲΜͳ͜ͱΛߟ͍͑ͯͨͷ͔Λ ͑ɺใڞ༗͍ͨ͠ త
͓ੈʹͳΓ·ͨ͠ !LPJD !ULVOPV !TVHJOPZ !qBEB@BVYW !BJLZP !OTHD !PKJSZ !NVSZPJNQM !TXBNQ
!IJTBT Special Thanks