SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
SoftLayerオブジェクトストレージと
連携サービスPBOXについて
第1回仙台SoftLayer勉強会
2014.12.18
雪本 修一
Shuichi Yukimoto
株式会社MNU
代表取締役社長
電気通信大学の認定ベンチャーとして起業。
現在も現役プログラマとしてコードを書いている。
好きな言語はJavaScript,Scheme,Lisp,Python
SoftLayerを使い始めて一年ぐらい
弊社はSoftLyerのリフェラルパートナーです。
twitter:@nsas454
facebook:shuichi.yukimoto
今日の内容
Object Storageを使ったファイル共有アプリケーショ
ンをつくってみた。
ファイルサーバとしても十分使える!
この機会に、ぜひ使ってみてください
Object Storageの便利な機能をしってもらおう!
プログラムのからAPIを通じてObjectStorageを操
作する方法についてメインでお話します。
PBOX
SoftLayer専用オンラインストレージアプリ
概要
• Object Storageを使ったファイル共有アプリ
• クライアントでのファイル更新をトリガにObject Storageにファイ
ルをアップロード
• 共有しているメンバのファイルを自動更新
• フォルダの権限を設定できる
• 共有URLからファイルをダウンロードできる
• 5Gを超える大きなファイルを扱える
• ダウンロードとアップロード処理を高速に行える
利用事例
• ObjectStorageをバックアップ先として利用す
るとき
• ミドルウェアとしての利用
• ファイル共有として利用したいとき
なぜObject Storageで?
DropBoxがAWSのS3を使っている。
AWSのS3でできるならSoftLayerのObject
Storageでも同じものが出来るんじゃないか?
Object Storage
ObjectStorageの魅力
• ObjectStorageは大容量ファイルを安全に保存する
• 利用量金がかなり安い
• 1Gあたり$0.04
• 転送速度が早い(CDNとの併用が可能
ファイルのバックアップ先として最適
高い可用性
• オブジェクトはデフォルトでレプリカされ、一つの
ファイルが破損しても自動修復される
• 複数のデータセンターをま
たがって保存されている。
高い可用性が実現
APIでより便利に!
• 開発者はRESTful HTTP APIによって
ObjetcStorageシステムを操作する
Object Storageの制限
• ファイルアップロードの制限
• 5Gを超えるファイル
• カスタマー・ポータルでは20MBを超える
ファイルはアップロードできない
5G超えファイルについて
• 2つの方法がある
• Static Large Object (SLO)
• Dynamic Large Object (DLO)
• 共通するのはmanifestファイルを呼ばれるものを使用して、複数のObject
を1つのObjectに見せる
• manifestファイルの記述で複数のファイルを指定する
• swiftがmanifestファイルを1つの巨大なファイルとして特別に扱ってくれる
• 分割されたファイルは通常のobjectと同じ
Static Large Object
• manifestファイルにJSON型式で記述したファイ
ルをアップロードする
• アップロード手順
• ファイルを分割
• 分割したファイルをアップロード
• manifestファイルをアップロード
SLOの特徴
• ファイルの結合順はmanifestファイルで指定する
• 分割ファイルはどのコンテナのどのパスにおいてもよい
• 分割ファイルの名称は自由
• ファイルを更新する場合はmanifestファイルの更新も必須
• manifestファイルの記述に誤りがある場合、manifestファイルのアッ
プロード時にエラー
• 分割ファイルサイズは1MB以上なくてはならない
• 1000以上のファイルに分割できない
manifestファイルの仕様
[
{
"path": "mycontainer/objseg1",
"etag": "0228c7926b8b642dfb29554cd1f00963",
"size_bytes": 1468006
},
{
"path": "mycontainer/pseudodir/seg-obj2",
"etag": "5bfc9ea51a00b790717eeb934fb77b9b",
"size_bytes": 1572864
},
{
"path": "other-container/seg-final",
"etag": "b9c3da507d2557c1ddc51f27c54bae51",
"size_bytes": 256
}
]
Dynamic Large Object
• manifestファイルで指定したprefixにマッチするobject
を1つのファイルとして扱う
• DLOの作成手順
• manifestファイルをアップロード(最後でもよい)
• ファイルを分割する
• 分割したファイルをアップロード
DLOの特徴
• ファイルの結合順はobject名のソート順
• 分割ファイルはどの1つのコンテナに置く必要がある
• 分割ファイルの名称はソートで正しい順番になるよ
うに名付ける
• manifestファイルの更新なしで巨大ファイルを更新可能
• アップロード中にもダウンロードできる!
比較
SLO DLO
ファイルの結合順 manifestファイルで指定 ファイル名のソート順
コンテナの制限 制限なし 同一のコンテナ
manifestファイルの型式 JSON 空ファイル
Temporary URL
• ログインせずに特定のファイルに対する一時的な
アクセスを許す仕組み
• ・一時URLを知ってる人は誰でもアクセスできる
• ・GET HEAD PUT POST DELETEが可能(GET
以外試してない)
• ・Dropboxの共有リンクと似ている
Dropboxとの違い
• サーバは一時URLを管理しない
• 一時URLはサーバ側で作成しない。
• シークレットキーを元に誰か(クライアントな
ど)が作成する
一時URLの生成方法
シークレットキー、オブジェクトのパス、有効期限の3つ
から一時URLのシグネチャを生成し、クエリストリングを
オブジェクトのURLの後ろに付けることで一時URLとなる。
シークレットキー
• 一時URLを作成するための「鍵」
• アカウント毎に設定する
シークレットキーの設定
• ストレージURLにPOSTすることで設定できる
• ストレージURLとは認証後に帰ってくるベースURLのこと
例えばpboxなら
https://sng01.objectstorage.softlayer.net/v1/
AUTH_a26e5e6f-76-4604-af86-x4x2089085e7
となっている
このURLに 'X-Account-Meta-Temp-URL-Key' ヘッダを
付けてポストする
python-swiftclientでシークレットキーを設定する例
import swiftclient
SWIFT_AUTH_URL = 'https://sng01.objectstorage.softlayer.net/auth/v1.0/'
SWIFT_USERNAME = 'SLOS30001'
SWIFT_KEY =
'ea9556757661db7c55rewb6ae261f1315b69880df8be68ff27eed0erc56ee'
conn = swiftclient.Connection(SWIFT_AUTH_URL, SWIFT_USERNAME, SWIFT_KEY)
conn.post_account(headers={'X-Account-Meta-Temp-URL-Key': 'my key'})
シークレットキーの取得
import swiftclient
SWIFT_AUTH_URL = 'https://sng01.objectstorage.softlayer.net/auth/v1.0/'
SWIFT_USERNAME = 'SLOS30001'
SWIFT_KEY = 'ea9556757661db7c55rewbe261f1c2315b69880df8be68ff27eed0erc56ee'
conn = swiftclient.Connection(SWIFT_AUTH_URL, SWIFT_USERNAME, SWIFT_KEY)
r = conn.head_account()
r['x-account-meta-temp-url-key'] # -> 一時URL
一時URLの生成方法
シークレットキー、オブジェクトのパス、有効期限の3つ
から一時URLのシグネチャを生成し、クエリストリングを
オブジェクトのURLの後ろに付けることで一時URLとなる。
import hmac
from hashlib import sha1
from time import time
expire_minutes = 5 # 5分
expires = int(time() + expire_minutes*60)
method = 'GET'
key = '3ac1b5c36f4d52c91d0a' # シークレットキー
path = '/v1/AUTH_a26e5e6f-7755-494-af86-e4c20960e5e7/filesync/
6fcfb4afba2f822c7368d1c9ce08af1d51458bc8' # pbox_osx.zip
sig = hmac.new(key,
'%sn%sn%s' % (method, expires, path),
sha1).hexdigest()
query = '?temp_url_sig=%s&temp_url_expires=%s' % (sig, expires)
query += '&filename=' + 'pbox_osx.zip' # ダウンロード時のファイル名を設定できる
print 'https://sng01.objectstorage.softlayer.net'+ path + query # 一時
URL
PBOXの特徴
• PBOXではObject Storageにファイルを
アップロードする際に高速で処理を行えるよう
な機能を実装している。
• pboxはnginx + gunicornで構成されているが、ファイルのアッ
プロード、ダウンロード処理をgunicornでやるのは高コスト
• アップロード/ダウンロードには複雑な処理は必要無いにもか
かわらず、gunicornのセッションを専有するのは良くない!
ファイル
nginx gunicorn
object
Storage
フロントエンド バックエンド ストレージ
認証/リクエスト
PUT
• nginx拡張でなるべく多くの同時リクエストを
捌きつつ、静的ファイルの送受信を行う
ファイル
nginx
object
Storagegunicorn
redis
tornade
LUA
フロントエンド バックエンド ストレージ
PUT
PUTリクエスト
認証/ストレージ情報
ファイル
ファイル
nginx
nginx
gunicorn
object
Storage
object
Storagegunicorn
redis
tornade
LUA
Bad
Good
フロントエンド
フロントエンド
バックエンド ストレージ
バックエンド ストレージ
認証/リクエスト
PUT
PUT
PUTリクエスト
認証/ストレージ情報

Weitere ähnliche Inhalte

Was ist angesagt?

s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編  #cmdevios3+cloud frontによる静的コンテンツ配信 - Sphinx編  #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevioShuji Watanabe
 
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)Kiminori Yokoi
 
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!Kiminori Yokoi
 
WordCamp Kansai 2015 発表資料
WordCamp Kansai 2015 発表資料WordCamp Kansai 2015 発表資料
WordCamp Kansai 2015 発表資料Masahito Muratake
 
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevioクラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevioShuji Watanabe
 
20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)Daisuke Yamazaki
 
2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopo2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopoYasutaka Hamada
 
Tuning maniax 2014 2nd stage linux編
Tuning maniax 2014 2nd stage linux編Tuning maniax 2014 2nd stage linux編
Tuning maniax 2014 2nd stage linux編ThinkIT_impress
 
20201017 JAWS-UG Fukuoka AWS Storage Gateway
20201017 JAWS-UG Fukuoka AWS Storage Gateway20201017 JAWS-UG Fukuoka AWS Storage Gateway
20201017 JAWS-UG Fukuoka AWS Storage GatewayKazuhiro Uchimura
 
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)Kiminori Yokoi
 
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevioクラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdeviosmokey monkey
 
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜Yu-ki Motoyama
 

Was ist angesagt? (13)

s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編  #cmdevios3+cloud frontによる静的コンテンツ配信 - Sphinx編  #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
 
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
 
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
 
WordCamp Kansai 2015 発表資料
WordCamp Kansai 2015 発表資料WordCamp Kansai 2015 発表資料
WordCamp Kansai 2015 発表資料
 
2時間で学ぶjQuery
2時間で学ぶjQuery2時間で学ぶjQuery
2時間で学ぶjQuery
 
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevioクラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
 
20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)
 
2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopo2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopo
 
Tuning maniax 2014 2nd stage linux編
Tuning maniax 2014 2nd stage linux編Tuning maniax 2014 2nd stage linux編
Tuning maniax 2014 2nd stage linux編
 
20201017 JAWS-UG Fukuoka AWS Storage Gateway
20201017 JAWS-UG Fukuoka AWS Storage Gateway20201017 JAWS-UG Fukuoka AWS Storage Gateway
20201017 JAWS-UG Fukuoka AWS Storage Gateway
 
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
 
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevioクラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
 
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
 

Ähnlich wie SoftLayerオブジェクトストレージと連携サービスPBOXについて

Soft layer APIの使い方と実装のポイント
Soft layer APIの使い方と実装のポイントSoft layer APIの使い方と実装のポイント
Soft layer APIの使い方と実装のポイントShuichi Yukimoto
 
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!Masahiko Sato
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-pluginIkuko Kanada
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-pluginFumito Mizuno
 
Sola勉強会 chef入門 続編
Sola勉強会 chef入門 続編Sola勉強会 chef入門 続編
Sola勉強会 chef入門 続編Shiojiri Ohhara
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃Teruo Adachi
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Takayuki Shimizukawa
 
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃうフレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう株式会社オプト 仙台ラボラトリ
 
初心から一週間で作ってみた Kinesis Client Library for Go
初心から一週間で作ってみた Kinesis Client Library for Go初心から一週間で作ってみた Kinesis Client Library for Go
初心から一週間で作ってみた Kinesis Client Library for GoTerui Masashi
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことasakahara
 
Generating word clouds in python
Generating word clouds in pythonGenerating word clouds in python
Generating word clouds in pythonAyakaHonda1
 
Sola勉強会 vagrant入門 ver.2
Sola勉強会 vagrant入門 ver.2Sola勉強会 vagrant入門 ver.2
Sola勉強会 vagrant入門 ver.2Shiojiri Ohhara
 
CRDF2011(20110225)
CRDF2011(20110225)CRDF2011(20110225)
CRDF2011(20110225)真 岡本
 
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04敦志 金谷
 
『Pythonによる ai・機械学習・深層学習アプリのつくり方』をGoogleColabで動く限り動かしてみた
『Pythonによる ai・機械学習・深層学習アプリのつくり方』をGoogleColabで動く限り動かしてみた『Pythonによる ai・機械学習・深層学習アプリのつくり方』をGoogleColabで動く限り動かしてみた
『Pythonによる ai・機械学習・深層学習アプリのつくり方』をGoogleColabで動く限り動かしてみたTakehiro Eguchi
 
herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)
herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)
herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)Kentaro Takasaki
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetupS Akai
 

Ähnlich wie SoftLayerオブジェクトストレージと連携サービスPBOXについて (20)

Pbox on softlayer
Pbox on softlayerPbox on softlayer
Pbox on softlayer
 
Soft layer APIの使い方と実装のポイント
Soft layer APIの使い方と実装のポイントSoft layer APIの使い方と実装のポイント
Soft layer APIの使い方と実装のポイント
 
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-plugin
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-plugin
 
Sola勉強会 chef入門 続編
Sola勉強会 chef入門 続編Sola勉強会 chef入門 続編
Sola勉強会 chef入門 続編
 
Emacs softLayer
Emacs softLayerEmacs softLayer
Emacs softLayer
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
20090828 Webconlocal
20090828 Webconlocal20090828 Webconlocal
20090828 Webconlocal
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃうフレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
 
初心から一週間で作ってみた Kinesis Client Library for Go
初心から一週間で作ってみた Kinesis Client Library for Go初心から一週間で作ってみた Kinesis Client Library for Go
初心から一週間で作ってみた Kinesis Client Library for Go
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
 
Generating word clouds in python
Generating word clouds in pythonGenerating word clouds in python
Generating word clouds in python
 
Sola勉強会 vagrant入門 ver.2
Sola勉強会 vagrant入門 ver.2Sola勉強会 vagrant入門 ver.2
Sola勉強会 vagrant入門 ver.2
 
CRDF2011(20110225)
CRDF2011(20110225)CRDF2011(20110225)
CRDF2011(20110225)
 
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
 
『Pythonによる ai・機械学習・深層学習アプリのつくり方』をGoogleColabで動く限り動かしてみた
『Pythonによる ai・機械学習・深層学習アプリのつくり方』をGoogleColabで動く限り動かしてみた『Pythonによる ai・機械学習・深層学習アプリのつくり方』をGoogleColabで動く限り動かしてみた
『Pythonによる ai・機械学習・深層学習アプリのつくり方』をGoogleColabで動く限り動かしてみた
 
herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)
herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)
herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
 

Mehr von Shuichi Yukimoto

Send grid softlayer_nagoya
Send grid softlayer_nagoyaSend grid softlayer_nagoya
Send grid softlayer_nagoyaShuichi Yukimoto
 
SendGridを使ってみよう
SendGridを使ってみようSendGridを使ってみよう
SendGridを使ってみようShuichi Yukimoto
 
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
nginx + lua + ObjectStorage  ファイルアップロード/ダウンロードの高速化nginx + lua + ObjectStorage  ファイルアップロード/ダウンロードの高速化
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化Shuichi Yukimoto
 
Mnu特許説明スライド
Mnu特許説明スライドMnu特許説明スライド
Mnu特許説明スライドShuichi Yukimoto
 
第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会Shuichi Yukimoto
 

Mehr von Shuichi Yukimoto (13)

Ocif2016_go_web_freamwork
Ocif2016_go_web_freamworkOcif2016_go_web_freamwork
Ocif2016_go_web_freamwork
 
Slackbot_by_OpenWhisk
Slackbot_by_OpenWhiskSlackbot_by_OpenWhisk
Slackbot_by_OpenWhisk
 
Softlayer_API_openWhisk
Softlayer_API_openWhiskSoftlayer_API_openWhisk
Softlayer_API_openWhisk
 
Send grid softlayer_nagoya
Send grid softlayer_nagoyaSend grid softlayer_nagoya
Send grid softlayer_nagoya
 
Softlayer_bluemix-summit
Softlayer_bluemix-summitSoftlayer_bluemix-summit
Softlayer_bluemix-summit
 
Softlayer_summit
Softlayer_summitSoftlayer_summit
Softlayer_summit
 
SendGridを使ってみよう
SendGridを使ってみようSendGridを使ってみよう
SendGridを使ってみよう
 
Mnu_pbox
Mnu_pboxMnu_pbox
Mnu_pbox
 
Softlayer勉強会#2
Softlayer勉強会#2Softlayer勉強会#2
Softlayer勉強会#2
 
勉強会資料#1
勉強会資料#1勉強会資料#1
勉強会資料#1
 
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
nginx + lua + ObjectStorage  ファイルアップロード/ダウンロードの高速化nginx + lua + ObjectStorage  ファイルアップロード/ダウンロードの高速化
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
 
Mnu特許説明スライド
Mnu特許説明スライドMnu特許説明スライド
Mnu特許説明スライド
 
第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会
 

SoftLayerオブジェクトストレージと連携サービスPBOXについて