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
Rails4とさくらのVPSとAWS S3によるスモールスタートWebサービス「ランチボックス...
Search
Hitoshi Kurokawa
December 26, 2013
Programming
2
1.5k
Rails4とさくらのVPSとAWS S3によるスモールスタートWebサービス「ランチボックス」 Kanazawa.rb meetup #16
Kanazawa.rb meetup #16
@DMM.com Labo 金沢事業所 (ポルテ金沢13F)
2013年12月21日
Next SeeD 黒川 仁
Hitoshi Kurokawa
December 26, 2013
Tweet
Share
More Decks by Hitoshi Kurokawa
See All by Hitoshi Kurokawa
Docker + CentOS 6, 8 PHP 動作確認環境の構築
krhitoshi
1
320
Rustで作るi386エミュレータ
krhitoshi
0
250
パスワードの保存方法について Kanazawa.rb meetup #4
krhitoshi
0
110
Other Decks in Programming
See All in Programming
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
190
Using AI Tools Around Software Development
inouehi
0
1.2k
SODA - FACT BOOK
sodainc
1
1.1k
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
110
エラーって何種類あるの?
kajitack
5
270
XP, Testing and ninja testing
m_seki
2
130
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
180
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
320
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
780
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
Create a website using Spatial Web
akkeylab
0
290
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
Docker and Python
trallard
44
3.4k
The Pragmatic Product Professional
lauravandoore
35
6.7k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Fireside Chat
paigeccino
37
3.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Optimizing for Happiness
mojombo
379
70k
It's Worth the Effort
3n
184
28k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Transcript
kanazawa.rb meetup #16 @DMM.com Labo ۚࣄۀॴ (ϙϧςۚ13F) 201312݄21 Next SeeD
ࠇ ਔ Rails4 εϞʔϧελʔτ ʮϥϯνϘοΫεʯ
ࠓͷ͓ ࣗݾհ WebαʔϏεʮϥϯνϘοΫεʯͷհ γεςϜߏ WebαʔϏεΛϦϦʔεͯ͠Έͨײ ࢀߟจݙ
ࣗݾհ ࠇ ਔ (krhitoshi) Next SeeD (ݸਓࣄۀओ) WebΤϯδχΞɻγεςϜ։ൃɻαʔόߏஙӡ༻ɻ iOSΞϓϦɻ Ruby,
Ruby on Rails, PHP, CentOS ۚग़ → ઋ → ۚ (2͘Β͍લ)
WebαʔϏε ʮϥϯνϘοΫεʯͷհ
https://www.lunchbox-jp.com
ϥϯνϘοΫεͷ֓ཁ ϥϯνͷ͓૬खΛϚονϯά Facebookೝূ 201312݄5ϕʔλ൛ϦϦʔε (ొड) ࣮࣭తʹࡢ(12݄20)͔Βར༻Մೳ 12݄21ݱࡏ εϚϗ൛ͷΈ ඪ 10ສϢʔβ!!
͡ΊͯͷWebαʔϏε
εφοϓγϣοτ
Team Lunchbox (։ൃνʔϜ) ӡӦɾσβΠϯ ɾɾɾ LSI Inc. http://www.lsi-design.net/
γεςϜ։ൃɾΠϯϑϥอक ɾɾɾ ͱݴͬͯ1ਓ+1ਓͷ2ਓମ੍
γεςϜߏ
γεςϜߏ - ͦͷ1 ͘͞ΒVPS 2G 2 ຊ൪༻ 1ɺεςʔδϯά༻ 1 ϝϞϦ2G,
σΟεΫ200GB, CPU3ίΞ αʔόར༻ྉ 1480ԁ×2 = 2,960ԁ/݄ OS: CentOS AWS S3 ը૾ϑΝΠϧͷকདྷతͳεέʔϧΛߟ͑ͯ ʮ1όΠτ͔Β5ςϥόΠτ·ͰͷσʔλΛؚΉΦϒδΣΫτΛॻ͖ࠐΈɺಡΈࠐ ΈɺআͰ͖·͢ɻ֨ೲͰ͖ΔΦϒδΣΫτͷʹ੍ݶ͋Γ·ͤΜɻʯ ൈ܈ͷίετύϑΥʔϚϯε!!
͘͞ΒVPS ࠓͳΒ͕͍͍͔ͬͪ͜
γεςϜߏ - ͦͷ2 ݴޠɾϑϨʔϜϫʔΫ Ruby 2.0.0 + Rails 4.0.2 ͳΔ͘ݱ࣌Ͱ࠷৽ͷόʔδϣϯΛ༻͍ͨ͠
WebαʔόɺDBαʔό Apache + PassengerɺMySQL ݸਓతʹӡ༻࣮͕͋ΔΈ߹Θͤ ηογϣϯͷอଘ Redis CookieͩͱηΩϡϦςΟతʹ৺ɺϢʔβʹݟͤͨ͘ͳ͍σʔλ
৺͕͚ͨ͜ͱ εϞʔϧελʔτ ΦʔόʔεϖοΫʹͳΒͳ͍Α͏ʹ ίετͰۭඈߦ(ͳΔ͘ܧଓ)Ͱ͖ΔΑ͏ʹ εέʔϧࢹʹೖΕͯ Ϣʔβ૿ՃʹΑΔෛՙ APPαʔό͍ͣΕҠస͢Δ ϢʔβʹΑΓΞοϓ͞ΕΔը૾AWS S3ʹอଘ
RubyʹΑΔFacebookͱͷ ೝূ FacebookͷRuby͚SDKͳ͍ gem omniauth Facebook OAuth 2.0ೝূ https://github.com/intridea/omniauth gem
koala Facebook API ϥΠϒϥϦ https://github.com/arsduo/koala gem 'omniauth' gem 'omniauth-facebook' Twitter, GitHubଞ ଟαʔϏεͷೝূରԠ
Facebook SDKs αʔυύʔςΟSDK https://developers.facebook.com/docs/sdks/#ruby
Facebook௨ ·ͩϕʔλ൛ https://developers.facebook.com/docs/games/ notifications/ uri = URI.parse("https://graph.facebook.com/oauth/access_token?client_id=#{FACEBOOK_CLIENT_ID} &client_secret=#{FACEBOOK_CLIENT_SECRET}&grant_type=client_credentials")! res =
Net::HTTP.get(uri)! post_uri = URI.parse("https://graph.facebook.com/#{user.fb_id}/notifications")! request = Net::HTTP::Post.new(post_uri.path)! access_token = res.gsub("access_token=","")! request.set_form_data({access_token: access_token, template: template}, "&")! http = Net::HTTP.new(post_uri.host, post_uri.port)! http.use_ssl = true! post_res = http.request(request)!
AWS SDK for Ruby Amazon͔ΒgemͰSDKఏڙ http://aws.amazon.com/jp/sdkforruby/ gem 'aws-sdk', '~> 1.0’
AIM (ΞΫηε੍ޚ)ʹϋϚΔ͔
FirefoxϨεϙϯγϒσβΠ ϯϏϡʔ πʔϧ - Web։ൃ - ϨεϙϯγϒσβΠϯϏϡʔ (option + command
+ M ϏϡʔΓସ͑)
SSLূ໌ॻ https://www.lunchbox-jp.com ࠷ॳ͔ΒSSL௨৴Խ config.force_ssl = true (config/environments/production.rb) Positive SSL Wildcard
Common Name: *.lunchbox-jp.com
Ruby, Railsͷ։ൃ ։ൃ։͔࢝ΒϦϦʔε·Ͱ (3ϲ݄) Ruby 2.0.0 p247 → 2.0.0-p353 Ruby
2.1.0-rc1 ຊϦϦʔε ਖ਼ࣜ൛12݄25ϦϦʔε Rails 4.0.0 → 4.0.2 Ͱ͖ΔݶΓ৽͍͠όʔδϣϯΛ༻͍ͨ͠
WebαʔϏεΛϦϦʔε ͯ͠Έͨײ
Rails4ʹؔͯ͠ ྑ͔ͬͨ RailsͬͺΓੜ࢈ੑ͕ߴ͍ ։ൃظؒ 3ϲ݄ ମײతʹಈ࡞͍ ໘ͩͬͨ Asset Pipeline developڥͱproductionڥͱͷဃ͕େ͖͍
turbolinks σβΠϯଆఏڙͷJavaScriptͱڝ߹ ϝϦοτͷํ͕ेʹେ͖͍
·ͱΊͱͯ͠ ! ͘͞ΒVPSͷίεύ࠷ߴ!! ϦϦʔε͢Δ·ͰͰेεΩϧߴ·Δ ͋ͱӡ༻εΩϧߴΊ͍ͨ ར༻͞Εͯಈ͍͍ͯΔγεςϜ͕໘ന͍ Βͳ͍ਓ͕Ξοϓϩʔυ͍ͯ͘͠ը૾ϩάΛோΊΔ σβΠφʔͱΤϯδχΞͷΈ߹Θ͕ͤ໘ന͍ ಘҙͷิؒɺൃͷҧ͍ͷົ ػձ͕͋ΕσβΠφʔͱΜͰԿ͔࡞Ζ͏!!
ࢀߟਤॻ Rails3 RailsʹΑΔΞδϟΠϧWebΞϓ Ϧέʔγϣϯ։ൃ ୈ4൛ Ruby on Rails 3 ΞϓϦέʔγϣϯ
ϓϩάϥϛϯά Rails3͚͚ͩͲे͑ͨ
ࢀߟਤॻ Rails4 WEB+DB PRESS Vol. 73 http://pragprog.com/book/rails4/agile-web-development-with-rails-4 Agile Web Development
with Rails 4
͓ ɹΘɹ Γ