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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Wei Chen
November 27, 2019
Programming
140
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
280
Potentiality of using Raspberry Pi as Application Dev Environment
willsmile
1
460
How to spend the first year as a new grad web developer?
willsmile
0
45
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.3k
AI 開発合宿を通して得た学び
niftycorp
PRO
0
190
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
500
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
8
4.1k
飯MCP
yusukebe
0
460
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
300
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.4k
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
590
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
190
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
330
Tamach-sre-3_ANDPAD-shimaison93
mane12yurks38
0
240
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
220
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
150
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
990
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
160
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Site-Speed That Sticks
csswizardry
13
1.1k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
The agentic SEO stack - context over prompts
schlessera
0
730
sira's awesome portfolio website redesign presentation
elsirapls
0
200
How STYLIGHT went responsive
nonsquared
100
6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Agile that works and the tools we love
rasmusluckow
331
21k
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