SlideShare a Scribd company logo
ソフトウェアエンジニアに知ってほしいAerospike
株式会社 CyberZ
藪本 晃輔
自己紹介
藪本 晃輔 Facebook:kousuke.yabumoto.9
2014年 5月にCyberZ中途入社
現在は開発リーダーとして、マーケティング領域の
新規プロダクトを作っています新規プロダクトを作っています。
前職は大手SIerですが、DSPを作っていました。
今日お話しするAerospikeは、現在で2システム目です。
ただ、インフラ関連はそんなに詳しくないので、
システムレイヤーの話をします。
会社紹介
スマートフォンに特化した広告マーケティング会社です。
■事業
①F.O.X(スマホ広告計測ツール)
toBプロダクト:アドテクノロジー事業
②OPENREC(ゲームプレイ動画)
toCプロダクト:スマートフォンメディア事業
e-Sports大会「RAGE」開催
■オフィス・開発環境
2015年7月にエンジニア専用オフィスがOPEN!
「エンジニアが働きやすい環境づくり」
2016年1月にメインフロアも全面リニューアル!
■募集職種(一部)
▼F.O.X
・システムエンジニア ・UI/UXエンジニア ・ビジネス責任者
▼OPENREC
・アプリエンジニア ・Webエンジニア ・リードエンジニア
▼共通
・インフラエンジニア
全員に電動昇降デスク、
アーロンチェアが支給されます 寝転がって開発できるスペースも! 社員の福利厚⽣の⼀環で
ワンコインで利⽤できる社内カフェがあります
アカデミーエリア。
社内勉強会も活発です
いわゆるKVS(Key-Value-Store)
Aerospike社が有償でサポート
Community EditionがOSSで公開されており、無償で使用可能
「Aerospike」とは?
データの格納はSSD-MEM
SSD-MEMは、キーのハッシュをメモリに、データをSSDに保存します。
※実際はファイルやメモリ等も選べますが、
実質SSD-MEMしか選択しない
ーファイル:そんなに速くない(開発環境向き)
ーメモリ:それならAerospikeじゃなくても…(開発環境向き)
(以降SSD-MEMの設定がされているものとして話を進めます...)
Aerospikeの特徴をいくつか紹介します
SSDへの直アクセス
メモリにSSDのブロックNoを保持していて、read/writeの際に、
ローデバイスとしてSSDへ直接アクセスすることで処理を高速化している
セットアップするときはデータ保存用SSDをOSに読み込ませない
memcached等と違ってSSDの保持するのでメモリよりコスパ◎
read/write共にオンメモリKVSに遜色ない速度が出る
SPOFが無い
クライアントからどれか1つにつながればAerospikeにつながる
自分たちで相互に通信しあって、レプリケーションしてくれる
ノードが死んだ、追加した際も自動でリバランス
データがどこにあるのかをPartitionAlgorithmで算出し、PartitionMapで管理
クライアント⇔サーバ間で共有(毎秒更新)
クライアント側でリトライの設定を入れておけば、
プライマリが死んでいてもセカンダリのデータを取れる
なので、ハード・データの両面でAerospikeにSPOFは存在しない
キーと値の保存のされ方
キーは20byteにハッシュ化されて、メモリ上に保持される
→インデックス全体で64byteとなる
→キー自体は基本的に保存されない(オプションをつければ保存される)
再起動時はメモリ上のデータをSSDから再構築するが、その際deleteした
データが復活することがある ※改修予定だそうです
→削除時にTTL=1秒とか入れておけばよい
データを高速にread/write出来る
SSDを使うため、インメモリと比べて、
低コストで大量のデータを扱うことができる
データを永続化でき、信頼性が高い
特徴をまとめると・・
単一障害点が無い
(→あれ、ネット広告系システムに向いてるんじゃない・・?)
とはいえ、
今日はAerospikeの営業に来たわけではないです(笑)
もっと設計に役立ちそうな、
データモデルと設計のコツみたいな話をしていきます
データモデル
• Namespaceは設定ファイルに書きます
• Set、Bin等は先にスキーマ定義せずに動的に追加可能
• Bin名は14文字まで、Set名は63文字まで
• Bin数はNamespaceあたり、32,767個まで
→重要なのは「制限がある」ということ
• Set数はNamespaceあたり1,023個まで
→正直クライアントごとに作るのは若干不安
※その他の制約はドキュメント
「http://www.aerospike.com/docs/guide/FAQ.html」を参照
データ型
型 説明
Integer いわゆるLong型の整数(-2^63~2^63)
String 128kbまでの文字列
Bytes バイト配列
Double 浮動小数点(64bit)
List リスト型。要素もにも型つきになる。
値 組 値も
• 他の型を設定すると、言語デフォルトのシリアライザが使われてBytesに
変換して保存されます
→登録したプログラム言語でしか参照できないデータになる
→たくさんGET/PUTするとサーバが重くなる
• オブジェクトをそのまま保存したいときは、MessagePackやProtoBuff等を
使って意図的にシリアライズして、
Bytesに変換してから保存するのがオススメ
Map キーと値の組合せ。キー、値も型つきになる。
キー設計①
• キーはハッシュ化されて、結構綺麗に負荷分散されます
→キー自体が連番だったりしても、ハッシュ化することで綺麗に分散される
• 例えばユーザーデータなど、ひとつのキーにアクセス集中せず、
全体の量が多いデータを処理するのは得意
• 逆に、ひとつのキーに対して短い間隔で大量にアクセスをすると、
KEY_BUSYというエラーが出ます
→これはレコードのロック待ちが溜まりすぎてる状態らしい
→とはいえ同時に大量に同じキーにアクセスしなければ大丈夫
キー設計②(KEY_BUSY対策)
とはいえ、キャンペーン情報などをキーにしたいケースもありますよね
Aerospikeに、Bin単位でインクリメントや追加するようなAPIもあるし・・・
• キーを分散しておく(例えばキャンペーン毎に必ず10キー用意しておく)
→それでもあんまり多いと耐えられない
• サーバ内で値をキャッシュし、10秒に一回PUTする
→サーバ数が数万とか無ければ回るんじゃないか
→更新するタイミングをちょっとずつずらせればベスト
[KEY_BUSY対策案]
• write_block_size(最大1MB)を超える値は入れられない
→超えるとRecord too bigエラーが出ます
• 逆に値が大きすぎると、期待したパフォーマンスが出ない
→通信コスト
→ディスクIO
だいたい50b t 1kbくらいが良さそう
値の設計
[長さの話]
• だいたい50byte~1kbくらいが良さそう
→リリース前に、本番のデータを入れてレイテンシの検証をした方がいい
[キーの話]
• Aerospikeに保存される際、キーがハッシュ化されて取り出せなくなるので、
必要ならBinのひとつを使ってキーの値を入れておくといいかもしれない
※オプションをつけるとScanやクエリの時は取り出せるようになります
Generationの話
• 上の例では、Generationを使わない場合、
④の処理でサーバ1のPUTが取り消されてしまう
• Generationの仕組みを使うと④で上書き使用すると、エラーにしてくれる
• エラーになったらちゃんとハンドリングして、最初からやり直すように作る
• バックアップ→リカバリした際にも問題なく使えるように、クライアント側で
Generationをアップデートする仕組みもある
エラーハンドリング
Aerospikeのエラーコードは現在使っているライブラリに登録されているだ
けで、63項目ありました。
その中でハンドリングしておいた方がいいものいくつかを紹介します。
エラーコード どうするか
3:Generation Error リトライ処理を入れる。
それでも出るときは無視か処理を見直す。
9 Ti t リトライ処理を入れる9:Timeout リトライ処理を入れる。
もしかしたら、Aerospikeの負荷が高すぎるかも。
13:Record too big 設計ミス、もしくは超レアケース。設計を見直しましょ
う。※1MB以上のレコードを入れた時に出ます。
14:Key Busy 設計ミス。Key Busyのことを考えて設計しよう。
他にもAerospikeのサーバ側のログにはいろんなことが書いてあるので、
ちゃんと監視するようにしましょう。
• 全件をなめるAPI「Scan」がありますが、これは使わない方がいいです!
• Scan自体が遅いだけでなく、通常のGET/PUTの速度にも影響します
• Scanしなくていいようにキーの設計をしましょう
• もちろん絶対に使っちゃいけないわけではなく、月一回レコードの内部を
調査するとか、データのリカバリするとかは、もちろんOK
ただ、その場合でもScanの優先度を下げましょう!(APIで設定できます)
その他の設計のコツ ~Scanは使わない~
• 通常業務の範囲の処理では、
「Scan」を使わなくてもいい設計をしましょう(大事なことなのでry
• はじめのキャパシティプランニングで、high_water_markを見てなかった
→突然Aerospikeのデータが消え出した・・・
→ちゃんと設定項目は全部理解しましょう
• GenerationPolicyを指定してなかったため
→当然Generationが効かずデータ不整合が起きた・・・
• PUTの時にRecordExistsActionを指定してなかった
部 だ 新 たか た 全部 新され ま た
最後に、僕がAerospikeで失敗したこと
→一部のBinだけ更新したかったのに、全部更新されてしまった・・・
• 現在JavaのクライアントライブラリをScalaで使っているが、
Scalaからそのまま使おうとしていたために、
全部の型が言語デフォルトのシリアライザが使われてしまった・・・
→Aerospikeのクライアントライブラリは、型変換とかうまくやってくれない
ので、実装するときにケアしてあげないといけない
• あといくつかAerospike側のバグもいくつか踏んだ・・・
→クライアントライブラリのバグは、細かく報告したら、報告後30分くらい
でバージョンアップリリースされたので、分かればサポートは早かった
Aerospikeをプロダクションで使うなら、
設定や仕組みをちゃんと理解して設計しましょう
まとめ
ご静聴ありがとうございました

More Related Content

What's hot

PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
infinite_loop
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
techgamecollege
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
 
stripe-rubyで サブスクリプションを 実装して得た知見
stripe-rubyで サブスクリプションを 実装して得た知見stripe-rubyで サブスクリプションを 実装して得た知見
stripe-rubyで サブスクリプションを 実装して得た知見
Isao Ebisujima
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebmining
Tokoroten Nakayama
 
Parser combinatorってなんなのさ
Parser combinatorってなんなのさParser combinatorってなんなのさ
Parser combinatorってなんなのさ
cct-inc
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
 
全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!
Kouhei Sutou
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
 
振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)
Keisuke Tameyasu
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
 

What's hot (20)

PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
stripe-rubyで サブスクリプションを 実装して得た知見
stripe-rubyで サブスクリプションを 実装して得た知見stripe-rubyで サブスクリプションを 実装して得た知見
stripe-rubyで サブスクリプションを 実装して得た知見
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebmining
 
Parser combinatorってなんなのさ
Parser combinatorってなんなのさParser combinatorってなんなのさ
Parser combinatorってなんなのさ
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 

Similar to ソフトウェアエンジニアに知ってほしいAerospike

F.O.Xを支える技術
F.O.Xを支える技術F.O.Xを支える技術
F.O.Xを支える技術
Yuto Suzuki
 
ネイティブマーケティングカンパニーにおけるプロダクトマネージャー
ネイティブマーケティングカンパニーにおけるプロダクトマネージャーネイティブマーケティングカンパニーにおけるプロダクトマネージャー
ネイティブマーケティングカンパニーにおけるプロダクトマネージャー
Tomotake Nakamura
 
ぜんぶロボのせいだ。| IMJすまのべ! TMCN Vol.12 LT資料
ぜんぶロボのせいだ。| IMJすまのべ! TMCN Vol.12 LT資料ぜんぶロボのせいだ。| IMJすまのべ! TMCN Vol.12 LT資料
ぜんぶロボのせいだ。| IMJすまのべ! TMCN Vol.12 LT資料
Smart Innovation | IMJ
 
ゲームアプリの事前登録、アイテム配布プロモーション「シリアルコードMail」サービスガイド
ゲームアプリの事前登録、アイテム配布プロモーション「シリアルコードMail」サービスガイドゲームアプリの事前登録、アイテム配布プロモーション「シリアルコードMail」サービスガイド
ゲームアプリの事前登録、アイテム配布プロモーション「シリアルコードMail」サービスガイド
gamesaver
 
Google big query × Amazon redshift
Google big query × Amazon redshiftGoogle big query × Amazon redshift
Google big query × Amazon redshift
Fumihide Nario
 
デバイス時代の Web UI コンポーネント活用
デバイス時代の Web UI コンポーネント活用デバイス時代の Web UI コンポーネント活用
デバイス時代の Web UI コンポーネント活用
インフラジスティックス・ジャパン株式会社
 
140731 シックスアパート様セミナー(配布用)
140731 シックスアパート様セミナー(配布用)140731 シックスアパート様セミナー(配布用)
140731 シックスアパート様セミナー(配布用)
Masaki Suzuki
 
Google Apps Script 活用ミートアップ#4 発表資料
Google Apps Script 活用ミートアップ#4 発表資料Google Apps Script 活用ミートアップ#4 発表資料
Google Apps Script 活用ミートアップ#4 発表資料
Takayoshi Sakaino
 
Happiness Checker Bata はぴねすチェッカーβ
Happiness Checker Bata はぴねすチェッカーβHappiness Checker Bata はぴねすチェッカーβ
Happiness Checker Bata はぴねすチェッカーβ
Smart Innovation | IMJ
 
ノマドワーク的な生活の仕方
ノマドワーク的な生活の仕方ノマドワーク的な生活の仕方
ノマドワーク的な生活の仕方Akiko Yamamura
 
NAO Workshop #1
NAO Workshop #1NAO Workshop #1
NAO Workshop #1
Takuji Kawata
 
中国におけるアプリマーケ最新動向
中国におけるアプリマーケ最新動向中国におけるアプリマーケ最新動向
中国におけるアプリマーケ最新動向Hiromitsu Ishimori
 
広告プラットフォームの開発(ScaleOutの場合)
広告プラットフォームの開発(ScaleOutの場合)広告プラットフォームの開発(ScaleOutの場合)
広告プラットフォームの開発(ScaleOutの場合)
Toshiaki Ishibashi
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
Insight Technology, Inc.
 
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
Takeshi Yako
 
【IMJ】スマートフォンSEO対策セミナー 第1部 (2015.7.8)
【IMJ】スマートフォンSEO対策セミナー 第1部 (2015.7.8)【IMJ】スマートフォンSEO対策セミナー 第1部 (2015.7.8)
【IMJ】スマートフォンSEO対策セミナー 第1部 (2015.7.8)IMJ Corporation
 
20160930_03_ロボットアプリ開発における、最適なUXを生み出すコツ
20160930_03_ロボットアプリ開発における、最適なUXを生み出すコツ20160930_03_ロボットアプリ開発における、最適なUXを生み出すコツ
20160930_03_ロボットアプリ開発における、最適なUXを生み出すコツ
IoTビジネス共創ラボ
 
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
Yahoo!デベロッパーネットワーク
 
機械学習に取り組んでいる企業の紹介
機械学習に取り組んでいる企業の紹介機械学習に取り組んでいる企業の紹介
機械学習に取り組んでいる企業の紹介
Kazuma Kadomae
 
非エンジニアのためのIt業界
非エンジニアのためのIt業界非エンジニアのためのIt業界
非エンジニアのためのIt業界Hideto Masuoka
 

Similar to ソフトウェアエンジニアに知ってほしいAerospike (20)

F.O.Xを支える技術
F.O.Xを支える技術F.O.Xを支える技術
F.O.Xを支える技術
 
ネイティブマーケティングカンパニーにおけるプロダクトマネージャー
ネイティブマーケティングカンパニーにおけるプロダクトマネージャーネイティブマーケティングカンパニーにおけるプロダクトマネージャー
ネイティブマーケティングカンパニーにおけるプロダクトマネージャー
 
ぜんぶロボのせいだ。| IMJすまのべ! TMCN Vol.12 LT資料
ぜんぶロボのせいだ。| IMJすまのべ! TMCN Vol.12 LT資料ぜんぶロボのせいだ。| IMJすまのべ! TMCN Vol.12 LT資料
ぜんぶロボのせいだ。| IMJすまのべ! TMCN Vol.12 LT資料
 
ゲームアプリの事前登録、アイテム配布プロモーション「シリアルコードMail」サービスガイド
ゲームアプリの事前登録、アイテム配布プロモーション「シリアルコードMail」サービスガイドゲームアプリの事前登録、アイテム配布プロモーション「シリアルコードMail」サービスガイド
ゲームアプリの事前登録、アイテム配布プロモーション「シリアルコードMail」サービスガイド
 
Google big query × Amazon redshift
Google big query × Amazon redshiftGoogle big query × Amazon redshift
Google big query × Amazon redshift
 
デバイス時代の Web UI コンポーネント活用
デバイス時代の Web UI コンポーネント活用デバイス時代の Web UI コンポーネント活用
デバイス時代の Web UI コンポーネント活用
 
140731 シックスアパート様セミナー(配布用)
140731 シックスアパート様セミナー(配布用)140731 シックスアパート様セミナー(配布用)
140731 シックスアパート様セミナー(配布用)
 
Google Apps Script 活用ミートアップ#4 発表資料
Google Apps Script 活用ミートアップ#4 発表資料Google Apps Script 活用ミートアップ#4 発表資料
Google Apps Script 活用ミートアップ#4 発表資料
 
Happiness Checker Bata はぴねすチェッカーβ
Happiness Checker Bata はぴねすチェッカーβHappiness Checker Bata はぴねすチェッカーβ
Happiness Checker Bata はぴねすチェッカーβ
 
ノマドワーク的な生活の仕方
ノマドワーク的な生活の仕方ノマドワーク的な生活の仕方
ノマドワーク的な生活の仕方
 
NAO Workshop #1
NAO Workshop #1NAO Workshop #1
NAO Workshop #1
 
中国におけるアプリマーケ最新動向
中国におけるアプリマーケ最新動向中国におけるアプリマーケ最新動向
中国におけるアプリマーケ最新動向
 
広告プラットフォームの開発(ScaleOutの場合)
広告プラットフォームの開発(ScaleOutの場合)広告プラットフォームの開発(ScaleOutの場合)
広告プラットフォームの開発(ScaleOutの場合)
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
 
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
 
【IMJ】スマートフォンSEO対策セミナー 第1部 (2015.7.8)
【IMJ】スマートフォンSEO対策セミナー 第1部 (2015.7.8)【IMJ】スマートフォンSEO対策セミナー 第1部 (2015.7.8)
【IMJ】スマートフォンSEO対策セミナー 第1部 (2015.7.8)
 
20160930_03_ロボットアプリ開発における、最適なUXを生み出すコツ
20160930_03_ロボットアプリ開発における、最適なUXを生み出すコツ20160930_03_ロボットアプリ開発における、最適なUXを生み出すコツ
20160930_03_ロボットアプリ開発における、最適なUXを生み出すコツ
 
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
 
機械学習に取り組んでいる企業の紹介
機械学習に取り組んでいる企業の紹介機械学習に取り組んでいる企業の紹介
機械学習に取り組んでいる企業の紹介
 
非エンジニアのためのIt業界
非エンジニアのためのIt業界非エンジニアのためのIt業界
非エンジニアのためのIt業界
 

Recently uploaded

This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 

Recently uploaded (14)

This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 

ソフトウェアエンジニアに知ってほしいAerospike