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
初心者PHPerがRuby(+Rails)キメて思うこと
Search
Kyosuke Takenaka
November 03, 2019
Programming
0
1.2k
初心者PHPerがRuby(+Rails)キメて思うこと
富山Ruby会議での発表内容。初心者に向けて、Rubyやろうぜ。というはなし
Kyosuke Takenaka
November 03, 2019
Tweet
Share
More Decks by Kyosuke Takenaka
See All by Kyosuke Takenaka
タガヤスでプログラマ職を得た中学校音楽科教員の話 〜勉強会のすゝめ〜
oratake
0
230
暗黒Shellからエンジニアを守る党 -bashをぶっ壊す-
oratake
0
600
Other Decks in Programming
See All in Programming
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
subpath importsで始めるモック生活
10tera
0
300
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
役立つログに取り組もう
irof
28
9.6k
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
170
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
530
EventSourcingの理想と現実
wenas
6
2.3k
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
310
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
Featured
See All Featured
Visualization
eitanlees
145
15k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Building Adaptive Systems
keathley
38
2.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
GitHub's CSS Performance
jonrohan
1030
460k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Building Applications with DynamoDB
mza
90
6.1k
Transcript
ॳ৺ऀ PHPer ͕ Ruby (+ Rails) Ωϝͯ ࢥ͏͜ͱ @oratake @kyosuketakenaka
Powered by Azusa Colors 2.0
@oratake (Kyosuke, TAKENAKA) • ٶݝ ग़ɾࡏॅ • ٶݝͰதֶߍԻָɾٕज़Պڭһʢ2017.04ʙ 1ؒʣ •
ϗʔϜϖʔδ Ͱ PHPίϐϖ৬ਓʢࢁࢢʣʢ2018.11ʙ 8ϲ݄ʣ - ↑͜ͷ࣌ɺToyama.rbࢀՃ ʢ2019.02ʙʣ • ઋͷWebܥاۀͰΞϧόΠτʢ2019.11.01ʙʣ
͓͢͠Δ͜ͱ (͓͠ͳ͕͖) • ํॅΈͷॳ৺ऀ͕WebΛࢦ͢ྲྀΕ (oratakeͷྫ) • PHP ॳ৺ऀ (8ϲ݄) ͕৮Εͨ
Ruby, Rails ͷॴײ
͓͠Ͱ͖ͳ͍͜ͱ (͔͋͠Βͣ) • Ruby ৗशऀͷ͓؟ڸʹద͏ɺਮͳϕετϓϥΫςΟε • ඞͣ Ruby ΤϯδχΞʹͳΕΔʂඞউઓུʂ •
҉ࠇ Shell ͔ΒΤϯδχΞΛकΔౘɹݟ์ૹ ※ ͖Ε͍ͳϓϩϯϓτɺΧϥʔεΩʔϜඋ͕झຯ
Web ʹͳΖ͏
WebܥΤϯδχΞࢦ͢·Ͱ • υοτΠϯετʔϧ Progate Ͱ͔ͬͨؾʹͳΔ • N༧උߍ (υϫϯΰ)ɹScalaͰαʔϏεͭ͘Δ →
࠳ં • εΫʔϧɺαʔϏε৭ (গ͠՝ۚ) • উຢ݈ଠ@ςοΫܥYouTuber ͓͓·͔ʹWebܥ (͓ʹόοΫΤϯυ) ʹ͍ͭͯ֓ཁΛΔ cf. https://twitter.com/poly_soft • Toyama.rb ͘͘ձͷࢀՃ ࣮ࡍͷΤϯδχΞ͞ΜͱͷؔΘΓ • ઋͷษڧձͰͷLTొஃ cf. https://speakerdeck.com/oratake
Toyama.rb ͘͘ձ • पΓʹٕज़ͷΛͰ͖Δਓ͕͍Δ • ٧·ͬͨͱ͖ʹ૬ஊͰ͖Δ • ूதͯ͘͘͠Ͱ͖Δ • ࣮ࡍʹ
Ruby Λѻ͏ΤϯδχΞͷΛ㘤͚Δ • ϦϞʔτϫʔΫʹ͍ͭͯ㘤͚Δ
͘͘ձʹࢀՃ͠Α͏ (ఏҊ) ຖ݄ ୈ2༵ ৄࡉ connpass Ͱʂ
Ruby ( + Rails )
໔ • PHPͱൺֱͯ͠·͕͢ɺPHPΛdisΔҙਤͳ͍Ͱ͢ɻ • ࠓͷࣄ (Laravel͔͍ͭ·͢) ͨͷͦ͠͏ɻ(·ͩग़ۈ1)
ΧϧνϟʔγϣοΫ • [PHP] ࣗ༝ͳखஈͰॻ͘ɹ[Ruby] ͋ΔఔηΦϦʔ͋Γ • [Ruby] ܕΛڧ͘ҙࣝ͢Δ • ࡉʑͱ͕͍ͨͪ͠
Don’t Repeat YourselfɺcaseʹbrakeཁΒͳ͍ɺreturnॻ͍ͨهԱ͕ͳ͍ if($keigenTax == true) // PHPでよくみる暗黙の型変換
Ruby, Rails • ཕ͕গͳ͍ PHPͷใۄੴࠞަɻRubyք۾όʔδϣϯͷҧ͍ʹҙ͢Δ͙Β͍ʁ cf. ʰPHP ϝʔϧϑΥʔϜʱͷ্Ґ10͕݅উ10% - Qiita
https://qiita.com/rana_kualu/items/7adb59d3f5734789fe31 • ྻૢ࡞ͷϝιου͕όϥΤςΟ๛ (ίʔυهड़ྔ͕গͳ͍) • ք۾ͷΤϯδχΞ͕͍͞͠
Ruby, Rails • ུه͕ଟ͍ ֮͑Εॻ͖͘͢ͳΔͣɻηϛίϩϯΧοίͷྨ͕૬গͳ͘ͳΔɻ • शಘͷૣ͍ஈ֊Ͱ Shell Λ֮͑Δඞཁ͋Γ Δ͜ͱݶΒΕ͍ͯΔͷͰɺ৺ཧతෛ୲ΛΓӽ͑Ε…
ࠇը໘͜Θ͘ͳ͍ɻ • ٻਓ͕݅গͳ͍ Ϟμϯʹ͍ͬͯΔاۀ͞Μͷ͔ͳΓଟ͍ײ͕ͨ͡͠
ͦ͏ͩ Rails νϡʔτϦΞϧɺΖ͏
Rails νϡʔτϦΞϧ • ʘແྉʗ • Ruby Ҏ֎ͷ Web جૅࣝͭ͘ •
Twitter্Ͱ͍ͬͯΔಉࢤ͕ଟ͍ #RailsνϡʔτϦΞϧ • ٧·ͬͯࣅͨΑ͏ͳ࣭͕ggΕ͋Δ
Rails ͨͷ͍͠ʂ • ୈ4ষɹRails ෩ຯͷ Ruby Ruby ͷॳาͱͯ͠ɺΘ͔Γ͍͢ɻจࣈྻૢ࡞ɺྻૢ࡞ɺͳͲ Ruby ͷ͕ղ͖ͨ͘ͳΓɺPaiza
atCoder ͷΛղ͖ʹΔɻ ࣮ࡍɺॳาͷղ͚ΔΑ͏ʹͳͬͨɻ͏Ε͍͠ɻ
ॳֶऀ͚ͩ͜͜Γӽ͍͑ͨ • Shell ͷ߅ײ νʔτγʔτͭͬͯ͘ɺͻͨ͢Β͏ɻ ΩʔϘʔυ͔ΒΕͳ͍ੜ׆ʹ͍ͯ͘͠ɻ ͍͍͢λʔϛφϧɻWin ͳΒ Git bash,
wsltty ͱ͔ cf. λʔϛφϧΛ୳ͯ͠ࡾઍཬ (oratake) - Qiita https://qiita.com/oratake/items/475564f96c562bab2953 • ڥͷߏங ͳΔ͘લྫɺใͷ͋ΔڥͰɹΘ͔Βͳ͘ͳͬͨΒ…→
͘͘ձʹࢀՃ͠Α͏ (ఏҊ) ຖ݄ ୈ2༵ ৄࡉ connpass Ͱʂ
·ͱΊ • Ruby, Rails ք۾ͨͷ͍͠Ͱ͢ɻ͍ͬ͠ΐʹॻ͖·͠ΐ͏ɻ • Rails νϡʔτϦΞϧɺಕ͑͜Δͱͨͷ͘͠ͳ͖ͬͯ·͢ɻ • Toyama.rb
ͨͷ͍͠Ͱ͢ɻ • ࢁ؍ޫɺͨͷ͠ΜͰ͍ͩ͘͞ɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ தౡᮙ ਫΤϨϕʔλ ༗໊ίϯϏχɹཱࢁαϯμʔόʔυ ொେت ϒϥοΫϥʔϝϯ ࢁమɹϨτϩࢢి