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
570
Other Decks in Programming
See All in Programming
Webエディタライブラリ 「CodeMirror」から学ぶ Webアプリ開発のテクニック
ryosukeigarashi
0
250
[After Kotlin Fest 2024 LT Night @ Sansan] もっともっとKotlinを好きになる!K2 Compiler Pluginで遊んでみよう!
kitakkun
2
260
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
120
Composing an API the *right* way (Droidcon Berlin 2024)
zsmb
1
450
リハビリmruby
kishima
1
160
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
140
CSC307 Lecture 09
javiergs
PRO
1
500
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
81k
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
CSC307 Lecture 13
javiergs
PRO
0
150
Featured
See All Featured
Fireside Chat
paigeccino
25
2.8k
Designing with Data
zakiwarfel
96
5k
Happy Clients
brianwarren
94
6.5k
Producing Creativity
orderedlist
PRO
340
39k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
The Pragmatic Product Professional
lauravandoore
29
6.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
A Tale of Four Properties
chriscoyier
155
22k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
20
7.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
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
ͨͷ͍͠Ͱ͢ɻ • ࢁ؍ޫɺͨͷ͠ΜͰ͍ͩ͘͞ɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ தౡᮙ ਫΤϨϕʔλ ༗໊ίϯϏχɹཱࢁαϯμʔόʔυ ொେت ϒϥοΫϥʔϝϯ ࢁమɹϨτϩࢢి