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
140
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
260
Potentiality of using Raspberry Pi as Application Dev Environment
willsmile
1
440
How to spend the first year as a new grad web developer?
willsmile
0
37
Other Decks in Programming
See All in Programming
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
310
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
280
Laravel Boost 超入門
fire_arlo
2
210
コンテキストエンジニアリング Cursor編
kinopeee
1
760
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
110
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.5k
RDoc meets YARD
okuramasafumi
4
160
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
20
5k
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
160
More Approvers for Greater OSS and Japan Community
tkikuc
1
110
ProxyによるWindow間RPC機構の構築
syumai
3
1k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.5k
The Invisible Side of Design
smashingmag
301
51k
How GitHub (no longer) Works
holman
315
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
Site-Speed That Sticks
csswizardry
10
810
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Automating Front-end Workflow
addyosmani
1370
200k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Documentation Writing (for coders)
carmenintech
74
5k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
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