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.3k
初心者PHPerがRuby(+Rails)キメて思うこと
富山Ruby会議での発表内容。初心者に向けて、Rubyやろうぜ。というはなし
Kyosuke Takenaka
November 03, 2019
Tweet
Share
More Decks by Kyosuke Takenaka
See All by Kyosuke Takenaka
タガヤスでプログラマ職を得た中学校音楽科教員の話 〜勉強会のすゝめ〜
oratake
0
240
暗黒Shellからエンジニアを守る党 -bashをぶっ壊す-
oratake
0
650
Other Decks in Programming
See All in Programming
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
180
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.3k
Register is more than clipboard
satorunooshie
1
170
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
160
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
170
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
120
Swift Concurrency 年表クイズ
omochi
3
200
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
理論と実務のギャップを超える
eycjur
0
200
Amazon Verified Permissions実践入門 〜Cedar活用とAppSync導入事例/Practical Introduction to Amazon Verified Permissions
fossamagna
2
110
AIのバカさ加減に怒る前にやっておくこと
blueeventhorizon
0
120
Developer Joy - The New Paradigm
hollycummins
1
380
Featured
See All Featured
Visualization
eitanlees
150
16k
GitHub's CSS Performance
jonrohan
1032
470k
What's in a price? How to price your products and services
michaelherold
246
12k
Practical Orchestrator
shlominoach
190
11k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Making Projects Easy
brettharned
120
6.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
For a Future-Friendly Web
brad_frost
180
10k
Faster Mobile Websites
deanohume
310
31k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
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
ͨͷ͍͠Ͱ͢ɻ • ࢁ؍ޫɺͨͷ͠ΜͰ͍ͩ͘͞ɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ தౡᮙ ਫΤϨϕʔλ ༗໊ίϯϏχɹཱࢁαϯμʔόʔυ ொେت ϒϥοΫϥʔϝϯ ࢁమɹϨτϩࢢి