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
0
130
Three tips for making friend with Rails - what I learned from training program in Classi Corp.
日本語タイトル:Railsと友達になるための3つのコツ ──Classiの新人研修から気づいたこと──
Wei Chen
November 27, 2019
Tweet
Share
More Decks by Wei Chen
See All by Wei Chen
My Learning Plan on IoT
willsmile
1
230
Potentiality of using Raspberry Pi as Application Dev Environment
willsmile
1
380
How to spend the first year as a new grad web developer?
willsmile
0
30
Other Decks in Programming
See All in Programming
CSC509 Lecture 12
javiergs
PRO
0
160
みんなでプロポーザルを書いてみた
yuriko1211
0
260
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
130
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
180
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
110
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
130
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
Ethereum_.pdf
nekomatu
0
460
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
What's in a price? How to price your products and services
michaelherold
243
12k
Producing Creativity
orderedlist
PRO
341
39k
Done Done
chrislema
181
16k
Designing for Performance
lara
604
68k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Code Review Best Practice
trishagee
64
17k
Six Lessons from altMBA
skipperchong
27
3.5k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
How to train your dragon (web standard)
notwaldorf
88
5.7k
A better future with KSS
kneath
238
17k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
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