2012年夏!!Shusaku FUKUMINE
自己紹介•   Twitter:@shumach217•   仕事:組み込み, Linux device driver, Hard ware•   趣味:iOS, AWS等•   Web or DBははっきり言って素人ですwww。
4月にビッグニュースが!!  
4月にビッグニュースが!! Instagramが$10万で買収  
何故か触発されて、作ってみました。  
何故か触発されて、作ってみました。 iPhone側の作り方は想像できた!!  
何故か触発されて、作ってみました。 iPhone側の作り方は想像できた!! クラウド側はblog等を参考に!!  
制作期間:4月-6月の仕事後に!!  
制作期間:4月-6月の仕事後に!!     iPhoneとクラウドを連携!!
制作期間:4月-6月の仕事後に!!     iPhoneとクラウドを連携!!     ビールを片手に♪♪
本日は、クラウド側について 話をしたいと思います。
system resource•   EC2, DynamoDB, S3を連携したシステム構築•   AWSのみで構築!!    •   本家Instagramを参考に!!    •   楽!!!!!!!    •   Mac Book Air...
Instagram構成(blog)•   Load Blancing    •    ELB + nginx•   App    •    Django on EC2(High-CPU Extra-Large)•   S3•   Data St...
cockpadのCDP
想定するCDP
実装したCDP
構成要素•   App    •    Ruby on Rails on EC2(micro)•   S3•   Data Storage    •    DynamoDB    •    redisは近日中にトライ予定
Ruby on Railsの構成•   Paperclip    •   DBとS3の連携•   Dynamoid    •   ORM    •   ActiveRecordは使用不可•   PaperclipをDynamoidで使用可能に
paperclip•   画像はS3へ格納。•   S3はURLでファイルにアクセス。•   DBにURLを格納して画像と関連付け。{“imageURL”, “http://hogehoge.com/hogeImage.png”}
Dynamoid•   DynamoDBを使用するためのORM•   idは昇順では無い!!    •   分散DBのため•   NoSQL
class PostImage  include Dynamoid::Document  include Dynamoid::Paperclip field :name field :caption, :serialized field :like,...
def create @post_image = PostImage.new(:name => params[:post_image][:name]) @post_image.image = params[:post_image][:image...
def create @post_image = PostImage.new(:name => params[:post_image][:name]) @post_image.image = params[:post_image][:image...
class PostImage  include Dynamoid::Document  include Dynamoid::Paperclip                                                  ...
source code•   cloud    •   https://github.com/shumach217/        shumachapp_rails_ojag20120811•   iOS    •   https://gith...
まとめ•   Instagramを想定して、実装してみた。•   AWSのリソースを活用して、データの出し入    れは出来ました。•   iOSと連携しているので、興味がある方は声を    かけて頂ければデモ可能です!
告知•   エンジニア忘年会の告知•   12/1を予定!!•   那覇近辺    •   おすすめの場所があればリクエスト    •   スクリーンが設置可能な場所w(必須)。
御静聴、ありがとうございました。
沖縄Web+db勉強会 20121026
Upcoming SlideShare
Loading in …5
×

沖縄Web+db勉強会 20121026

648 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
648
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 沖縄Web+db勉強会 20121026

    1. 1. 2012年夏!!Shusaku FUKUMINE
    2. 2. 自己紹介• Twitter:@shumach217• 仕事:組み込み, Linux device driver, Hard ware• 趣味:iOS, AWS等• Web or DBははっきり言って素人ですwww。
    3. 3. 4月にビッグニュースが!!  
    4. 4. 4月にビッグニュースが!! Instagramが$10万で買収  
    5. 5. 何故か触発されて、作ってみました。  
    6. 6. 何故か触発されて、作ってみました。 iPhone側の作り方は想像できた!!  
    7. 7. 何故か触発されて、作ってみました。 iPhone側の作り方は想像できた!! クラウド側はblog等を参考に!!  
    8. 8. 制作期間:4月-6月の仕事後に!!  
    9. 9. 制作期間:4月-6月の仕事後に!!   iPhoneとクラウドを連携!!
    10. 10. 制作期間:4月-6月の仕事後に!!   iPhoneとクラウドを連携!! ビールを片手に♪♪
    11. 11. 本日は、クラウド側について 話をしたいと思います。
    12. 12. system resource• EC2, DynamoDB, S3を連携したシステム構築• AWSのみで構築!! • 本家Instagramを参考に!! • 楽!!!!!!! • Mac Book Air一つで作成可能!!
    13. 13. Instagram構成(blog)• Load Blancing • ELB + nginx• App • Django on EC2(High-CPU Extra-Large)• S3• Data Storage • PostgreSQL + redis
    14. 14. cockpadのCDP
    15. 15. 想定するCDP
    16. 16. 実装したCDP
    17. 17. 構成要素• App • Ruby on Rails on EC2(micro)• S3• Data Storage • DynamoDB • redisは近日中にトライ予定
    18. 18. Ruby on Railsの構成• Paperclip • DBとS3の連携• Dynamoid • ORM • ActiveRecordは使用不可• PaperclipをDynamoidで使用可能に
    19. 19. paperclip• 画像はS3へ格納。• S3はURLでファイルにアクセス。• DBにURLを格納して画像と関連付け。{“imageURL”, “http://hogehoge.com/hogeImage.png”}
    20. 20. Dynamoid• DynamoDBを使用するためのORM• idは昇順では無い!! • 分散DBのため• NoSQL
    21. 21. class PostImage include Dynamoid::Document include Dynamoid::Paperclip field :name field :caption, :serialized field :like, :serialized has_dynamoid_attached_file :image, :path => ":attachment/:id/:style.:extension", :storage => :s3, :styles => { :medium => "300x300>", :thumb => "40x40>" }, :s3_credentials => "#{Rails.root}/config/s3.yml" attr_accessible :imageend
    22. 22. def create @post_image = PostImage.new(:name => params[:post_image][:name]) @post_image.image = params[:post_image][:image] @post_image.save @post = Post.new(:name => params[:post_image][:name], :dest_id => @post_image.id.to_s, :caption => params[:post_image][:caption]) @post.save captions = Array.new caption = {"name" => @post.name, "src_id" => @post.id.to_s, "caption" => @post.caption} captions.push(caption) @post_image.update_attribute(:caption, captions) response = Array.new content = {"name" => @post_image.name, "posted_id" => @post_image.id.to_s, "status" => "success"} response_hash = {"feed" => content} response.push(response_hash) respond_to do |format| format.json { render :json => response } endend
    23. 23. def create @post_image = PostImage.new(:name => params[:post_image][:name]) @post_image.image = params[:post_image][:image] @post_image.save @post = Post.new(:name => params[:post_image][:name], :dest_id => @post_image.id.to_s, :caption => params[:post_image][:caption]) @post.save captions = Array.new caption = {"name" => @post.name, "src_id" => @post.id.to_s, "caption" => @post.caption} captions.push(caption) @post_image.update_attribute(:caption, captions) response = Array.new 連想配列の配列をそのまま格納 content = {"name" => @post_image.name, "posted_id" => @post_image.id.to_s, "status" => "success"} response_hash = {"feed" => content} response.push(response_hash) respond_to do |format| format.json { render :json => response } endend
    24. 24. class PostImage include Dynamoid::Document include Dynamoid::Paperclip 運用するならバージョン field :version field :context, :serialized とそのテンプレートの方 has_dynamoid_attached_file :image, :path => ":attachment/:id/:style.:extension", :storage => :s3, が楽?? :styles => { :medium => "300x300>", :thumb => "40x40>" }, :s3_credentials => "#{Rails.root}/config/s3.yml" attr_accessible :imageend
    25. 25. source code• cloud • https://github.com/shumach217/ shumachapp_rails_ojag20120811• iOS • https://github.com/shumach217/ shumachapp_ojag20120811• http://www.slideshare.net/shumach217/ ojag20120811
    26. 26. まとめ• Instagramを想定して、実装してみた。• AWSのリソースを活用して、データの出し入 れは出来ました。• iOSと連携しているので、興味がある方は声を かけて頂ければデモ可能です!
    27. 27. 告知• エンジニア忘年会の告知• 12/1を予定!!• 那覇近辺 • おすすめの場所があればリクエスト • スクリーンが設置可能な場所w(必須)。
    28. 28. 御静聴、ありがとうございました。

    ×