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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
Claspは野良GASの夢をみるか
takter00
0
140
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
210
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.7k
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
110
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
310
ふつうのFeature Flag実践入門
irof
7
3.4k
iOS26時代の新規アプリ開発
yuukiw00w
0
220
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
200
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
430
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
400
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
RailsConf 2023
tenderlove
30
1.5k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
560
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The agentic SEO stack - context over prompts
schlessera
0
790
30 Presentation Tips
portentint
PRO
1
310
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