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
Three tips for making friend with Rails - what ...
Search
Wei Chen
November 27, 2019
Programming
150
0
Share
Three tips for making friend with Rails - what I learned from training program in Classi Corp.
日本語タイトル:Railsと友達になるための3つのコツ ──Classiの新人研修から気づいたこと──
Wei Chen
November 27, 2019
More Decks by Wei Chen
See All by Wei Chen
My Learning Plan on IoT
willsmile
1
290
Potentiality of using Raspberry Pi as Application Dev Environment
willsmile
1
470
How to spend the first year as a new grad web developer?
willsmile
0
51
Other Decks in Programming
See All in Programming
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
190
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.7k
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Modding RubyKaigi for Myself
yui_knk
0
840
CSC307 Lecture 17
javiergs
PRO
0
310
Moments When Things Go Wrong
aurimas
3
130
Inside Stream API
skrb
1
470
さぁV100、メモリをお食べ・・・
nilpe
0
120
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
110
今さら聞けないCancellationToken
htkym
0
210
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
320
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.5k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
120
For a Future-Friendly Web
brad_frost
183
10k
BBQ
matthewcrist
89
10k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Six Lessons from altMBA
skipperchong
29
4.3k
Designing for Performance
lara
611
70k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Transcript
3BJMTͱ༑ୡʹͳΔͨΊͷ ̏ͭͷίπ ᴷᴷ$MBTTJͷ৽ਓݚम͔Βؾ͍ͮͨ͜ͱᴷᴷ $MBTTJ3BJMT/JHIUTU -5 ቨ
ࣗݾհ ໊લɿ ቨʢνϯ Ϊʣ ׯࢧɿಪ झຯɿίʔώʔ @willsmile #classi_rails_night ݄͔Β$MBTTJೖࣾ
$MBTTJͰͷΤϯδχΞ৽ਓݚम 出典1: https://www.wantedly.com/companies/classi/post_articles/166227 出典2: https://github.com/everyleaf/el-training 出典3: https://gihyo.jp/book/2018/978-4-297-10123-7 出典4: https://tatsu-zine.com/books/rails-textbook 出典5:
https://booth.pm/ja/items/1312664 ΧϦΩϡϥϜ୲ɿ • !JHBJHBʢޒेཛྷ ໌͞Μʣ جຊతͳࡐɿ • ສ༿͞ΜΧϦΩϡϥϜ ֶशͷܗଶɿ • νϡʔλʔ੍ • ֶशίϛϡχςΟʔ ಛɿ • ֶशऀͷಛੑͱඪʹ߹ ΘͤͯɺֶͼͷํੑΛબ ͤΔ ݚमʹؔ͢Δجຊใ ԛׅ ԛׅ ԛׅ ԛׅ ԛׅ
ͦΕͰɺ͜ͷݚम͔Βؾ͍ͮͨ ͜ͱΛհ͠·͢ʂ
3VCZͱ3BJMTͷؔੑΛߟ͑ͯΈΔ 出典6: https://guides.rubyonrails.org/active_support_core_extensions.html 3BJMTͰ"DUJWF4VQQPSUͱ͍͏ίΞ֦ுػೳ ͕͋ͬͯɺօ͞Μͷৗ։ൃΛࢧ͍͑ͯΔ ԛׅ ྫ͑ɺ3BJMTͷίϯιʔϧͰɺҎԼͷίϚϯυΛ࣮ߦ ͨ͠ΒɺͲ͏ͳΔͷ͔ʁ ͡Όɺ3VCZͷ߹ʁ
Ͳ͏ͬͯͦΕ͕Θ͔ΔΑ͏ʹͳΔͷ͔ʁ ͪͳΈʹɺϝιουCMBOL ͕)BTIʹ͑ͦ͏ͳͷͰɺ ͦΕ͕Ͳ͜ʹఆٛ͞Εͨͷ͔ʁ ͪΖΜɺάʔάϧઌੜʹฉ͘͜ͱ͕͋Δ͕ɺ 3VCZͰϝιουͷఆٛΛௐΔํ๏ ͋Δ ԛׅ
出典7: https://qiita.com/jnchito/items/fc8a61b421d026a23ffe 出典8: https://speakerdeck.com/igaiga/road-to-white-mages 出典9: https://docs.ruby-lang.org/ja/latest/method/Method/i/source_location.html Method#source_location ԛׅ
出典10: https://github.com/rails/rails/blob/v6.0.1/activesupport/lib/active_support/core_ext/object/blank.rb#L103-L132 ԛׅ ͍͍ͬͨɺͳͥͳͷ͔ʁ Railsで、Stringのためのblank?メソッドのソースコード ࣮ߦͷޮΛߟྀͯ͠ɺ ࣮͞Ε͍ͯΔ ͍ΖΜͳCMBOLͷঢ়گΛରԠͰ ͖ΔΑ͏ʹɺઃܭ͞Ε͍ͯΔ
Φοʂ ໘ന͍ʂ
͍͍ͬͨɺͳͥͳͷ͔ʁ Railsで、Hashのためのblank?メソッドのソースコード 出典11: https://github.com/rails/rails/blob/v6.0.1/activesupport/lib/active_support/core_ext/object/blank.rb#L93-L101 )BTIͷCMBOL ϝιουɺ3VCZͷFNQUZ ϝιου ʢ$Ͱ࣮͞Ε͍ͯͨͷʣʹผ໊Λ͚Δ͜ͱͰɺ࣮ ͍ͯ͠ΔͨΊɺఆٛॴ͕OJMͱͳΔ
ԛׅ
ίπɿ ݺͼग़ͨ͠ϝιουͷఆٛݩ ʢ ϥΠϒϥϦʔઃܭҙਤ࣮ํ๏ʣ ΛΔɻ ΛΓɺͦͷௐࠪํ๏Λश͏ɻ
3BJMTͰͷ෦ػೳΛߟ͑ͯΈΔ ྫ͑ɺ4USPOHQBSBNFUFS͕ͳͥඞཁͳͷ͔ʹ͍ͭͯ ٙΛײͨ͜͡ͱ͕͋Δͷ͔ʁ 出典12: https://weblog.rubyonrails.org/2012/3/21/strong-parameters/ ԛׅ Γ͍ͨ͜ͱ ඞཁͩͱߟ ͑Δཧ༝
3BJMT͔Β σϑΥϧτʹ ͳͬͨ
3BJMTલͷ࣌ʹ͔͞ͷ΅Δ 出典13: https://guides.rubyonrails.org/v3.2.9/security.html Rails 3.2.9のセキュリティーガイド(⼀部) ԛׅ ΦϒδΣΫτΛ·Δ͝ͱ͢ ߈ܸऀʹѱ༻͞Εͯ͠·͏ Մೳੑ͕͋Δ
3BJMTલͷ࣌ʹ͔͞ͷ΅Δ 出典14: https://guides.rubyonrails.org/v3.2.9/security.html Rails 3.2.9のセキュリティーガイド(⼀部) ԛׅ ࣌ͷରࡦ ΞΫηε ෆՄೳͳଐੑ
ΞΫηε Մೳͳଐੑ ϞσϧͰ ໌֬ʹએݴ ͔͠͠ɺ͜ͷରࡦɺύϥϝʔλͷ੍ޚͱ͍͏ίϯτϩʔϥͷׂΛ Ϟσϧʹ͢ͱ͍͏ϑϨʔϜϫʔΫͷҰ؏ੑΛյͯ͠͠·͏ݒ೦͕͋Δɻ ͳΔ΄Ͳʂ
ίπɿ 3BJMTʢ·ͨଞͷϥΠϒϥϦʔʣ Ͱͷػೳͷ։ൃܦҢΛΔɻ ͦͷద༻݅ΛѲ͢Δɻ ΛΓɺ
ίπɿ 3BJMT͕ͲͷΛղܾ͢ΔͨΊ ʹ࡞ΒΕͨͷ͔ɺͦͷݶք͕Ͳ ͜ͳͷ͔Λߟ͑ͯΈΔɻ
ͦΕΒͷʹରͯ͠ɺࢀߟʹͳ͓ͬͨ 出典15: https://slashdot.org/story/315605 出典16: https://speakerdeck.com/shinpeim/ruby-off-with-the-rails 出典17: https://builderscon.io/tokyo/2019/session/5acc1604-0f1f-493b-8025-364042db7123 … ԛׅ
ԛׅ
ࠓͷͷ·ͱΊ 3BJMTͱ༑ୡʹͳΔͨΊͷ̏ͭͷίπ ݺͼग़ͨ͠ϝιουͷఆٛݩΛΓɺͦͷௐ ࠪํ๏Λश͏ɻ 3BJMT ·ͨଞͷϥΠϒϥϦʔ Ͱͷػೳͷ։
ൃܦҢΛΓɺͦͷద༻݅ΛѲ͢Δɻ 3BJMT͕ͲͷΛղܾ͢ΔͨΊʹ࡞ΒΕͨͷ ͔ɺͦͷݶք͕Ͳ͜ͳͷ͔Λߟ͑ͯΈΔɻ
0OFNPSFUIJOHʜ $MBTTJͰɺ एख σΟϕϩούʔͱͯ͠ͷܦݧɾײ Βͳ͔ͬͨ͜ͱΛΔ͜ͱ໘ന͍ɾָ͍͠ͱࢥ͏͕ɺ ୭Ͱ͑Λ͍ͬͯΔΘ͚Ͱͳ͍։ൃݱͷ ʹରͯ͠ɺ ࣗʹͱͬͯɺϫΫϫΫ͢Δͱײͨ͡ॠؒ 6OMFBSO-FBSO
طଘͷࣝΛ֎͢༐ؾɻ ʮֶͼํʯΛֶͼଓ͚Α͏ɻ ࣦഊ͍͍ͯ͠ɻ ৽ֶ͍͠ͼʹઓ͠Α͏ɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·͢ʂ https://corp.classi.jp/careers/ 8FBSFIJSJOH