SlideShare a Scribd company logo
Submit Search
Upload
30days Album の裏側 + 表側
Report
Share
Kensuke Nagae
Developer at Quipper
Follow
•
6 likes
•
1,904 views
1
of
19
30days Album の裏側 + 表側
•
6 likes
•
1,904 views
Report
Share
Download Now
Download to read offline
Technology
Mitaka.rb#12 の LT で発表したときの資料です
Read more
Kensuke Nagae
Developer at Quipper
Follow
Recommended
mruby for embedded systems by
mruby for embedded systems
masayoshi takahashi
4.1K views
•
17 slides
78tch by
78tch
78tch
124 views
•
12 slides
CSRを自動生成する! by
CSRを自動生成する!
Taichi Ishitani
3.1K views
•
29 slides
RgGen ご紹介 by
RgGen ご紹介
Taichi Ishitani
102 views
•
13 slides
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸 by
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
kunst1080
1.6K views
•
11 slides
「Vim初心者によるVim入門@haman29」 by
「Vim初心者によるVim入門@haman29」
Kyohei Hamada
1.5K views
•
24 slides
More Related Content
What's hot
Yapcasia2012 ltthon by
Yapcasia2012 ltthon
turugina
4.3K views
•
13 slides
20220111 SoftwareDesign #32 kitazaki by
20220111 SoftwareDesign #32 kitazaki
Ayachika Kitazaki
68 views
•
11 slides
SECCON CTF 福岡大会の中性子問題の解説 by
SECCON CTF 福岡大会の中性子問題の解説
in0o0o0
521 views
•
19 slides
ロボットシステム学2015年第11回 by
ロボットシステム学2015年第11回
Ryuichi Ueda
5K views
•
11 slides
Mishimasyk 3 20140705 by
Mishimasyk 3 20140705
Takayuki Serizawa
920 views
•
16 slides
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版) by
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Sho Hosoda
4.8K views
•
19 slides
What's hot
(20)
Yapcasia2012 ltthon by turugina
Yapcasia2012 ltthon
turugina
•
4.3K views
20220111 SoftwareDesign #32 kitazaki by Ayachika Kitazaki
20220111 SoftwareDesign #32 kitazaki
Ayachika Kitazaki
•
68 views
SECCON CTF 福岡大会の中性子問題の解説 by in0o0o0
SECCON CTF 福岡大会の中性子問題の解説
in0o0o0
•
521 views
ロボットシステム学2015年第11回 by Ryuichi Ueda
ロボットシステム学2015年第11回
Ryuichi Ueda
•
5K views
Mishimasyk 3 20140705 by Takayuki Serizawa
Mishimasyk 3 20140705
Takayuki Serizawa
•
920 views
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版) by Sho Hosoda
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Sho Hosoda
•
4.8K views
Rubyにメソッドを追加して遊ぶ話 by Masaya Konishi
Rubyにメソッドを追加して遊ぶ話
Masaya Konishi
•
484 views
2011 06 18_open_streetmap_neta_no1 by Tom Hayakawa
2011 06 18_open_streetmap_neta_no1
Tom Hayakawa
•
641 views
Rdkitの紹介 by Takayuki Serizawa
Rdkitの紹介
Takayuki Serizawa
•
4.3K views
pkgsrc とは何か? - よもやま話 by Akio OBATA
pkgsrc とは何か? - よもやま話
Akio OBATA
•
342 views
ロボットシステム学2015年第5回 by Ryuichi Ueda
ロボットシステム学2015年第5回
Ryuichi Ueda
•
7.6K views
Postgre sql9.3新機能 (OSC hiroshima 2013) by Soudai Sone
Postgre sql9.3新機能 (OSC hiroshima 2013)
Soudai Sone
•
3.2K views
Mishimasyk6 iwatobipen by Takayuki Serizawa
Mishimasyk6 iwatobipen
Takayuki Serizawa
•
941 views
サイボウズ・ラボユース成果報告会 by slankdev
サイボウズ・ラボユース成果報告会
slankdev
•
6K views
xv6 + mist32 + mruby by Hirotaka Kawata
xv6 + mist32 + mruby
Hirotaka Kawata
•
5.7K views
Datalab and colaboratory by Hayato Yoshikawa
Datalab and colaboratory
Hayato Yoshikawa
•
1.7K views
Rubyで実はwritev(2) が使われているはなし by Masaki Matsushita
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
•
7.8K views
Serverless on GCP by Hayato Yoshikawa
Serverless on GCP
Hayato Yoshikawa
•
1.2K views
俺とDockerとtDiaryとkubernetes by Masayuki KaToH
俺とDockerとtDiaryとkubernetes
Masayuki KaToH
•
1.3K views
ロボットシステム学2015年第8回 by Ryuichi Ueda
ロボットシステム学2015年第8回
Ryuichi Ueda
•
5.5K views
Viewers also liked
関西オープンソース 2008 30days Albumの裏側 by
関西オープンソース 2008 30days Albumの裏側
Gosuke Miyashita
3.1K views
•
58 slides
Serverspec at Testing Framework Meeting by
Serverspec at Testing Framework Meeting
Gosuke Miyashita
6.6K views
•
34 slides
Serverspec at July Tech Festa 2013 by
Serverspec at July Tech Festa 2013
Gosuke Miyashita
5.7K views
•
89 slides
Julia 100 exercises #JuliaTokyo by
Julia 100 exercises #JuliaTokyo
Aki Ariga
10.7K views
•
53 slides
Walter ファミリーの紹介 at Shibuya.go#1 by
Walter ファミリーの紹介 at Shibuya.go#1
Gosuke Miyashita
5.2K views
•
28 slides
Serverspec at hbstudy #45 by
Serverspec at hbstudy #45
Gosuke Miyashita
13.1K views
•
128 slides
Viewers also liked
(6)
関西オープンソース 2008 30days Albumの裏側 by Gosuke Miyashita
関西オープンソース 2008 30days Albumの裏側
Gosuke Miyashita
•
3.1K views
Serverspec at Testing Framework Meeting by Gosuke Miyashita
Serverspec at Testing Framework Meeting
Gosuke Miyashita
•
6.6K views
Serverspec at July Tech Festa 2013 by Gosuke Miyashita
Serverspec at July Tech Festa 2013
Gosuke Miyashita
•
5.7K views
Julia 100 exercises #JuliaTokyo by Aki Ariga
Julia 100 exercises #JuliaTokyo
Aki Ariga
•
10.7K views
Walter ファミリーの紹介 at Shibuya.go#1 by Gosuke Miyashita
Walter ファミリーの紹介 at Shibuya.go#1
Gosuke Miyashita
•
5.2K views
Serverspec at hbstudy #45 by Gosuke Miyashita
Serverspec at hbstudy #45
Gosuke Miyashita
•
13.1K views
Similar to 30days Album の裏側 + 表側
JAMstackは眠らない by
JAMstackは眠らない
Kuniyoshi Tone
4.7K views
•
64 slides
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜 by
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
43.2K views
•
89 slides
Nodeにしましょう by
Nodeにしましょう
Yuzo Hebishima
294 views
•
20 slides
Runtime c++editing by
Runtime c++editing
Seiya Ishibashi
2.4K views
•
39 slides
Djangoとweb2pyをapacheに組込む by
Djangoとweb2pyをapacheに組込む
2bo 2bo
2.2K views
•
48 slides
2015 0228 OpenStack swift; GMO Internet Services by
2015 0228 OpenStack swift; GMO Internet Services
Naoto Gohko
3.3K views
•
45 slides
Similar to 30days Album の裏側 + 表側
(20)
JAMstackは眠らない by Kuniyoshi Tone
JAMstackは眠らない
Kuniyoshi Tone
•
4.7K views
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜 by Takahiro Inoue
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
•
43.2K views
Nodeにしましょう by Yuzo Hebishima
Nodeにしましょう
Yuzo Hebishima
•
294 views
Runtime c++editing by Seiya Ishibashi
Runtime c++editing
Seiya Ishibashi
•
2.4K views
Djangoとweb2pyをapacheに組込む by 2bo 2bo
Djangoとweb2pyをapacheに組込む
2bo 2bo
•
2.2K views
2015 0228 OpenStack swift; GMO Internet Services by Naoto Gohko
2015 0228 OpenStack swift; GMO Internet Services
Naoto Gohko
•
3.3K views
ログ解析基盤におけるストリーム処理パイプラインについて by cyberagent
ログ解析基盤におけるストリーム処理パイプラインについて
cyberagent
•
3.4K views
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」 by Yasuyuki Sugai
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Yasuyuki Sugai
•
31.4K views
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告 by NTT Communications Technology Development
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
NTT Communications Technology Development
•
585 views
OCaml でデータ分析 by Akinori Abe
OCaml でデータ分析
Akinori Abe
•
3.1K views
Devfes kyoto2017 by Satomi Tsujita
Devfes kyoto2017
Satomi Tsujita
•
288 views
YAPC Asia 2010 30days Albumの裏側 後日談 by Kensuke Nagae
YAPC Asia 2010 30days Albumの裏側 後日談
Kensuke Nagae
•
2.1K views
Rubyによるお手軽分散処理 by maebashi
Rubyによるお手軽分散処理
maebashi
•
3.9K views
Oracle GoldenGate Studio概要 by オラクルエンジニア通信
Oracle GoldenGate Studio概要
オラクルエンジニア通信
•
1.6K views
30days album / MySQL Casual Talk #3 by Ryo Kuroda
30days album / MySQL Casual Talk #3
Ryo Kuroda
•
2.3K views
OpenStackでつくる開発環境と外道塾 by 外道 父
OpenStackでつくる開発環境と外道塾
外道 父
•
9.5K views
PostgreSQLによるデータ分析ことはじめ by Ohyama Masanori
PostgreSQLによるデータ分析ことはじめ
Ohyama Masanori
•
17.4K views
Start-padrino by Uchio Kondo
Start-padrino
Uchio Kondo
•
5.4K views
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか? by Takashi Sogabe
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Takashi Sogabe
•
5K views
Osc2008 Opensuse Moonlinx by Kazuhisa Hara
Osc2008 Opensuse Moonlinx
Kazuhisa Hara
•
711 views
Recently uploaded
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
Knowledge & Experience
8 views
•
34 slides
JJUG CCC.pptx by
JJUG CCC.pptx
Kanta Sasaki
6 views
•
14 slides
概念モデリングワークショップ 設計編 by
概念モデリングワークショップ 設計編
Knowledge & Experience
10 views
•
37 slides
01Booster Studio ご紹介資料 by
01Booster Studio ご紹介資料
ssusere7a2172
220 views
•
19 slides
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) by
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
185 views
•
63 slides
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) by
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
217 views
•
33 slides
Recently uploaded
(8)
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by Knowledge & Experience
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
Knowledge & Experience
•
8 views
JJUG CCC.pptx by Kanta Sasaki
JJUG CCC.pptx
Kanta Sasaki
•
6 views
概念モデリングワークショップ 設計編 by Knowledge & Experience
概念モデリングワークショップ 設計編
Knowledge & Experience
•
10 views
01Booster Studio ご紹介資料 by ssusere7a2172
01Booster Studio ご紹介資料
ssusere7a2172
•
220 views
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
185 views
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
217 views
概念モデリングワークショップ 基礎編 by Knowledge & Experience
概念モデリングワークショップ 基礎編
Knowledge & Experience
•
19 views
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023
法林浩之
•
83 views
30days Album の裏側 + 表側
1.
30days Album の裏側
+ 表側 2011/06/21 Mitaka.rb#12 @kyanny
2.
$ whoami ● 長永
健介 <Kensuke Nagae> ● 刺身☆ブーメラン ● @kyanny ● ペパボでプログラマやってます
3.
30days Album ● http://30d.jp/ ●
写真共有・保存サービス ● 2008年4月リリース
4.
規模は? ● 95,000 人のユーザー ●
57,000,000 枚の写真 ● 113,000,000,000,000 バイトのストレージ
5.
アーキテクチャ
6.
Backend の話 ● ストレージについて
○ MogileFS ○ Storage API ● ジョブキューについて ○ TheSchwartz ○ Job API
7.
Backend (1) ● MogileFS
○ 分散ファイルストレージ ○ 大手サイトで導入事例多数(らしい) ○ 詳しくは google.com/?q=mogilefs
8.
Backend (2) ● Storage
API ○ アプリケーションとストレージを繋ぐ ○ Perl 5.8 + Catalyst 5.7 ○ lighttpd + FastCGI ○ ファイル操作(保存・削除) ○ 基本的な HTTP メソッドをサポート ○ なぜわざわざ API? ■ 疎結合 ■ ライブラリの実装言語の違い(Perl と Ruby)
9.
Backend (3) ● TheSchwartz
○ Job Queue ○ delayed_job のようなもの ○ 写真のリサイズ、動画の変換、ストレージへの保存 ○ 処理ごとに別のワーカーを稼働 ○ 各ワーカーは fork してマルチプロセスで処理
10.
Backend (4) ● Job
API ○ アプリケーションと TheSchwartz を繋ぐ ○ パラメータを受け取ってジョブキューに追加 ○ Storage API とほぼ同じ構成 ○ わざわざ API な理由もほぼ同じ ○ こちらは XMLRPC
11.
詳しくは・・・ ● 関西オープンソース 2008
30days Albumの裏側 ○ http://www.slideshare.net/mizzy/2008-30days-album- presentation ● Yapc Asia 2009 ペパボでのPerlの使い方 ○ http://www.slideshare.net/hiboma/yapc-asia-2009-perl ● YAPC Asia 2010 30days Albumの裏側 後日談 ○ http://www.slideshare.net/kyanny/inside-30days- albumlaterstory-5452817
12.
Frontend の話 ● Ruby
+ Rails ● Passenger ● Plugins / Middlewares ● Test
13.
Frontend (1) ● Ruby
1.8.6 (MRI) ● Ruby on Rails 2.x.x (censored) ● どちらもだいぶ古い ● バージョンアップしたい!・・・しかしテストが(後述 ● Rails の灯を絶やさないように頑張ってます
14.
Frontend (2) ● Phusion
Passenger ● lighttpd + FastCGI から移行 ○ 理由 (1) 省メモリ化したかった ■ メモリ消費量は変わらなかった・・・ ○ 理由 (2) 安定化したかった ■ だいぶ安定した ● アプリケーションサーバは2台で運用 ○ 若干の増減あり(なるべくスケールアップ)
15.
Frontend (3) ● Plugins
/ Middlewares ○ BackgrounDRb (!) ■ データベース使わないやつ (!!) ■ ソースも情報もないオーパーツ状態 ■ Friends don’t let friends use backgrounDRb. ■ http://www.engineyard.com/blog/2009/5-tips-for- deploying-background-jobs/ ■ とはいえたくさん使ってる(非同期処理) ○ delayed_job ■ 移行を見据えて一部で導入(メール投稿) ■ 意外に使いづらい(priority) ■ resque も試してみたい
16.
Frontend (4) ● Test
○ shoulda ○ factory_girl (@func09 さんのブログで勉強した) ■ http://www.func09.com/wordpress/archives/532 ○ mocha ○ 書いてます、けど不十分・・・ ○ RSpec にすべきか年数回くらい悩む
17.
今後について ● 正直このスライドにたどり着けると思ってなかった ● 開発者目線で今後取り組みたいこと
○ 継続的インテグレーション ○ テストの充実 ○ Rails のバージョンアップ ○ 「日本一の写真共有サービス」を目指したい ○ 「日本の代表的な Rails 製サービス」に数えられたい
18.
まさかまだ時間があるなんて ● 中途採用やってます!
○ http://www.paperboy.co.jp/recruit/ ○ 開発言語は PHP です!(キリッ ○ むしろ Rubyist 増えて欲しい・・・
19.
ご静聴ありがとうございました