SlideShare a Scribd company logo
1 of 61
Elasticsearch for Hackadoll
2015/08/31 @mosa_siru
1
自己紹介
2
@mosa_siru
• 「もさ」って呼んでください
• 「ボンバーマンの人」 って認
識いただければ大丈夫です
• もし興味があれば動画をご覧くださ
い http://www.nicovideo.jp/watch/
sm13612359
• 最近はSplatoonもやってます
3
@mosa_siru at DeNA
• 1年目: 新卒。プラットフォームでAPIとか運用
• 2年目: ハッカドール 立ち上げからジョイン
• サーバーサイドを担当
• 3年目: Web版ハッカドールを作ったり、メ
ジャーアップデートしたり
4
ハッカドール サーバーサイド
• なんかたくさん作った with @xaicron  , kommy
• API (100個)
• ニュース配信APIからゲームの賞品付与APIま
で、機能ありすぎて笑える
• Worker (70個)
• Crawler, Remote Notification, etc..
• 非同期処理やバッチ処理する君
5
ハッカドール サーバーサイド
• Web
• Web版でAngular実戦投入したけど良さげでした
• リコメンドシステム
• 分析基板部と連携
• OPE(管理ツール)
• ImageProxy(画像変換サーバー)
• Nginx Module, etc…
6
アジェンダ
7
アジェンダ
1. ハッカドールって?
2. Elasticsearch活用法
A. 検索
B. 関連記事
C. リコメンド
8
1. ハッカドールって?
9
ハッカドールって?
• アニメ・マンガ・ゲームなど、
オタク系の記事のみを扱った
ニュース配信アプリ
• おすすめ商品、イベントも届
けてくれる
• 使えば使うほど学習していく
10
ハッカドールって?
• ゲーミフィケーション
• というかゲームできる
• オタクユーザーに刺さる機能
が満載!
11
2014夏コミに合わせてリリース
12
• 高リターンレート
• 高ヘビーユーザー率
高いユーザー評価
13
Apple 2014 Best App!
14
2015 コミケ/アニサマ
15
アニメ化!
祝・アニメ化!
2. Elasticsearch活用法
17
ハッカドールでのES活用法
(A)検索
(B)関連記事
(C)キャリブレーション
18
A. 検索
19
ハッカドールでの検索機能
20
• 最新ニュース、新商品、イベント情報を検索できます
• というのはかんたんですが…
最高の検索のために
まずは検索に使うためにも、

記事にタグを付けたい
22
とりあえずmecabを用いて

記事を形態素解析
23
最高の辞書が必要
24
最高のオタク辞書を作る
• Wikipedia, ニコニコ大百科からオタク系キー
ワード一覧を取得
• 手動で最新キーワードを管理ツールから登録
• 詳細は去年つくったスライド「 るリコメ
ンドシステムの裏事情」をご覧ください
25
最高のシノニム
26
シノニムと正規化
• 表記揺れや同義語を吸収したい
• まず分かち書きされたものに対して各種正規化
• Unicode正規化 (NFC)
• 伸ばし棒 − ∼ ∼ ─ ━ ╌ ╍ ╴ ╶ ╸ ╺ ー - - – — ― − ー => ー
• 連続するものを1つに
• single quote ‘ ’ => '
• 全角英数字 A => A
• 英数字大文字 A => a
• 半角カタカナ アア => アア
27
シノニムと正規化
• 各種シノニムに変換
• 管理ツールで登録しておく
28
最高のフィルター
• あまりにも関係なさそうなタグはフィルタする (ブ
ラックリスト)
• 例:「こんにちは」「名無しさん」
• 正規表現でまとめて弾く
• 例:d+時d+分
• ブラックリストも管理ツール上で管理
29
ここまでのまとめ
• クローリングした記事をオタク辞書で分かち
書きし、正規化・シノニム変換を施し、フィ
ルタしたものをタグとする
• ようやくできたタグをESにPOST
30
ちなみに
• これらのマスターデータの運用は辛い
• A → Bへのシノニムが登録されたら、全てのタグAを
持つ記事のタグを再計算してESに再登録させる仕組み
• シノニムが削除された場合は?
• 辞書やシノニムをESに担当させることもできるが、辞書
やシノニム更新のたびにreindexingが必要だったり辛そ
うなのでやってない
31
検索クエリ
32
検索クエリ (ようやくESの話)
1. クエリ「まどマギ」で検索したとする
2. クエリをシノニム変換:「まどマギ」=> 「魔法少女まどか☆マギカ」
3. まずは完全一致でタグに当てる (terms query)
4. あるいは部分一致で全文に当てる (query_string query)
5. 最後に除外フィルタを通して最新順で返す
• 例:ベイジアンフィルタにより「えっちな記事」判定されたものを外す
• 例:各種ユーザーフィルタ(まとめサイトOFFなど)
• なお最新順で返す検索仕様は簡単(スコアリングを考えなくて良い)
33
検索クエリ
4. 「あるいは部分一致で全文に当てる」とは
• 目的:クエリ「魔法少女」でも「魔法少女まどか☆マギカ」に当たるよ
うにしたい
• analyzerのあるフィールドに

query_string query
• ただし一方「魔法少女」で

「少女」に当たらない

よう”” で囲んでいる

=> クエリは分かち書きされない
34
検索クエリ (ページング)
• やっぱりlimit offsetは使いたくない
• n+1件取得して、n+1件目の記事のtimestamp, idを
pageTokenとしてレスポンスに含める
• n+1件目は結果から除外する
• クライアントはページング時のリクエストに
pageTokenを入れる
• サーバーはpageToken以降の記事をn+1件取得する
(以下繰り返し)
35
検索補完
36
検索補完
• 補完により、入力補助はもちろん表記揺れリ
スクも解消できる
• 実装はまさかのMySQL!likeで前方一致!w
• あらかじめbatchで全キーワードの登場数を
管理するテーブルを作っている (TDIDFのDF)
• nginx proxy cacheでフロントキャッシュして
負荷軽減
• カジュアルに使えるのでおすすめ
37
検索補完
• 読みがな情報もいれておくことで、ひらがな
から漢字への補完も可能
• 読みがなはニコニコ大百科から取得したり、
管理ツールから入力
38
最高の検索になれたか?
まだまだできるはず
• 心地よく、違和感なく使えるレベルであるのは間違いない
• が、まだGoogleにはなれてない
• Fussy検索
• 「もしかして」
• And検索の補完
• “AND” “OR” “NOT” 文への対応
• シノニムやらもろもろと帳尻あわせつつ入れるの大変。やっぱり自然言
語まわりはむずかしい(こなみかん
40
おまけ:検索活用法
41
ウォッチリスト
42
• 好きなタイトル名などを登録しておくと、
そのキーワードを含んだニュースが出る
たびに教えてくれる(RSS like)
• オタクであるほど、好きな作品のニュー
スは逃したくない
• OR検索でElasticsearchから取得
• 検索を作りこんだおかげで可能となっ
た
B. 関連記事
43
関連記事
• その記事に関連する記事を教
えてくれる機能
44
ニュース記事 商品記事 イベント記事
ニュース記事 商品記事 イベント記事
関連記事
• 基本は先ほど紹介したタグ情報をもとに、ESのmlt (more
like this) クエリで近い記事を出しています
• mlt:「似た」ドキュメントを探してくれるイケメン機能
です
• 一致するタグを沢山もっている記事ほどスコアが高く
なる
• 全部”タグ”で完結するので、ニュース/商品/イベント記事
をまたいだマッチングが可能
45
関連記事(クエリ)
1. その記事のタグ情報を取得
2. mltスコアを計算
3. 新しい記事を重視するために、decayを掛け
あわせて最終スコアとする (function_score
query)
4. 除外フィルタを通し、スコアが高い順に表示
46
関連記事(クエリ)
2. mltスコアを計算
• 複数回登場するタグは、その回数分だけ

並べている
47
参考:mltのカスタマイズ箇所
name description default
percent_terms_to_match
このパーセント以上タグが

マッチしないと似ていると

みなされない
0.30
min_term_freq
最低この個数はタグがマッチしない
といけない
2
min_doc_req 全ドキュメント内でこの個数以上登
場するタグのみ用いる
5
ニュース、商品、イベント記事のタグの特性をもとに、

微妙に値をカスタマイズしている
関連記事(クエリ)
• 記事の最新度(decay)と掛
けあわせて最終スコアと
する
○日古くなると●倍のスコアとな
る曲線を指定できるが、パラメー
ター調整はわりと職人技(辛い)
49
設定例
C. キャリブレーション
50
キャリブレーション
初回起動時に、ユーザーの嗜好を取得して記事を表示
51
キャリブレーションの流れ
1. ユーザーの好きなカテゴリから、好きそ
うなキーワード群とそれぞれの重みを算
出
2. 一部をユーザーがオプトアウトし、最終
的な”taste”とする
3. tasteをESに投げ、初回記事を生成
4. 類似記事の排除をして記事確定

(詳細は略)
52
キャリブレーション(クエリ)
53
1. tasteをbool query化
• boost値はキーワード
ごとのスコア(重み)
• boost値が高いタグが
たくさんマッチする記
事はスコアが高い
キャリブレーション(クエリ)
54
2. 最新度, 記事のPV数など
で最終スコア調整
3. 各種フィルタを通し、ス
コアが高い順に返す
簡易リコメンドまで出来る僥倖…!
55
その他
56
その他活用箇所
• ユーザーアクティビティをESに入れて、
Kibanaで見たり人気記事を算出したり
• APIアクセスログのES化

(これはBigQueryにするかも)
57
まとめ
58
ES便利、だけど
• 検索、関連記事、ちょっとしたリコメンド
…いろいろできる!
• でも少し込み入ったことをするには沢山考
えることがあって辛い時もある
• やっぱりサービス作りは、ユーザーのた
めに泥臭く畑を耕すこと
59
その他ESへの雑感
• 速度面や安定性は流石の一言
• GCによるCPUがあれですが
• 機能が豊富すぎてびびる
• 細かいパラメーターチューニングができる分、凝りだすと逆に
辛い
• 公式ドキュメントのクエリ解説は正直わかりにくい
• レスポンスが書いてなかったりなど
• SQLに慣れすぎた人類には早かった
60
おわり
61
@mosa_siru

More Related Content

What's hot

インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)Yosuke Hiraishi
 
Core Graphics on watchOS 2
Core Graphics on watchOS 2Core Graphics on watchOS 2
Core Graphics on watchOS 2Shuichi Tsutsumi
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発terahide
 
自作アプリを Apple Watch対応した話 〜FastCheckin編〜
自作アプリを Apple Watch対応した話 〜FastCheckin編〜自作アプリを Apple Watch対応した話 〜FastCheckin編〜
自作アプリを Apple Watch対応した話 〜FastCheckin編〜Kosuke Ogawa
 
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9Shuichi Tsutsumi
 
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Kazuyuki Miyake
 
入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介YutoNishine
 
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタートKazuyuki Miyake
 
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったことWatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったことShuichi Tsutsumi
 
5分で入門するAzure PlayFab
5分で入門するAzure PlayFab5分で入門するAzure PlayFab
5分で入門するAzure PlayFabYutoNishine
 
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみたShuntaro Saiba
 
OWASP_Kyushu_Local_Chapter_Meeting_7th
OWASP_Kyushu_Local_Chapter_Meeting_7th OWASP_Kyushu_Local_Chapter_Meeting_7th
OWASP_Kyushu_Local_Chapter_Meeting_7th ShuyaMotouchi1
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングTakuro Sasaki
 
環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm鉄次 尾形
 
Rubyによるクローラー開発
Rubyによるクローラー開発Rubyによるクローラー開発
Rubyによるクローラー開発しくみ製作所
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!Kazumi IWANAGA
 
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみたリアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみたYutoNishine
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with HandoffYuichi Yoshida
 

What's hot (20)

インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
 
Core Graphics on watchOS 2
Core Graphics on watchOS 2Core Graphics on watchOS 2
Core Graphics on watchOS 2
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発
 
自作アプリを Apple Watch対応した話 〜FastCheckin編〜
自作アプリを Apple Watch対応した話 〜FastCheckin編〜自作アプリを Apple Watch対応した話 〜FastCheckin編〜
自作アプリを Apple Watch対応した話 〜FastCheckin編〜
 
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
 
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具
 
入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介
 
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート
 
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったことWatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
 
5分で入門するAzure PlayFab
5分で入門するAzure PlayFab5分で入門するAzure PlayFab
5分で入門するAzure PlayFab
 
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
 
OWASP_Kyushu_Local_Chapter_Meeting_7th
OWASP_Kyushu_Local_Chapter_Meeting_7th OWASP_Kyushu_Local_Chapter_Meeting_7th
OWASP_Kyushu_Local_Chapter_Meeting_7th
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
 
Osoljp201204
Osoljp201204Osoljp201204
Osoljp201204
 
環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm
 
さくらのクラウドアップデート情報2016年7月版
さくらのクラウドアップデート情報2016年7月版さくらのクラウドアップデート情報2016年7月版
さくらのクラウドアップデート情報2016年7月版
 
Rubyによるクローラー開発
Rubyによるクローラー開発Rubyによるクローラー開発
Rubyによるクローラー開発
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!
 
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみたリアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
 

Similar to Elasticsearch for Hackadoll

さくらのクラウドを使ってみよう
さくらのクラウドを使ってみようさくらのクラウドを使ってみよう
さくらのクラウドを使ってみよう法林浩之
 
Pepper tech festival_2014_技術セッション基本
Pepper tech festival_2014_技術セッション基本Pepper tech festival_2014_技術セッション基本
Pepper tech festival_2014_技術セッション基本Atelier Akihabara
 
20151213 tokushimaapp
20151213 tokushimaapp20151213 tokushimaapp
20151213 tokushimaapp健一 辰濱
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話Shuji Yamada
 
SORACOM UG Tokyo #9 2018年のスタートはIoT LT大会 | 知られざる#ソラコムサンタの裏側
SORACOM UG  Tokyo #9 2018年のスタートはIoT LT大会 | 知られざる#ソラコムサンタの裏側SORACOM UG  Tokyo #9 2018年のスタートはIoT LT大会 | 知られざる#ソラコムサンタの裏側
SORACOM UG Tokyo #9 2018年のスタートはIoT LT大会 | 知られざる#ソラコムサンタの裏側SORACOM,INC
 
What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7Akinori Musha
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後Tomoki Hasegawa
 
shinken monitoringについて真剣に調べてみた結果
shinken monitoringについて真剣に調べてみた結果shinken monitoringについて真剣に調べてみた結果
shinken monitoringについて真剣に調べてみた結果Tsuyoshi Torii
 
Pythonでジョブキューシステムを作った
Pythonでジョブキューシステムを作ったPythonでジョブキューシステムを作った
Pythonでジョブキューシステムを作ったRyota Suenaga
 
20180613 ガチラボ vol.4
20180613 ガチラボ vol.420180613 ガチラボ vol.4
20180613 ガチラボ vol.4Satoshi Fujimoto
 
elixirを使ったゲームサーバ
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバHidetaka Kojo
 
iOS6時代のTwitter / Facebook連携
iOS6時代のTwitter / Facebook連携iOS6時代のTwitter / Facebook連携
iOS6時代のTwitter / Facebook連携Masahiro Murakami
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介Hiromu Yakura
 
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccampクラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccampMasahiro NAKAYAMA
 
JJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-bootJJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-bootTsuyoshi Yamamoto
 

Similar to Elasticsearch for Hackadoll (20)

Klabの梅雨対策
Klabの梅雨対策Klabの梅雨対策
Klabの梅雨対策
 
Hachiojipm31
Hachiojipm31Hachiojipm31
Hachiojipm31
 
さくらのクラウドを使ってみよう
さくらのクラウドを使ってみようさくらのクラウドを使ってみよう
さくらのクラウドを使ってみよう
 
Pepper tech festival_2014_技術セッション基本
Pepper tech festival_2014_技術セッション基本Pepper tech festival_2014_技術セッション基本
Pepper tech festival_2014_技術セッション基本
 
20151213 tokushimaapp
20151213 tokushimaapp20151213 tokushimaapp
20151213 tokushimaapp
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
 
qpsutdy 201307 LT
qpsutdy 201307 LTqpsutdy 201307 LT
qpsutdy 201307 LT
 
SORACOM UG Tokyo #9 2018年のスタートはIoT LT大会 | 知られざる#ソラコムサンタの裏側
SORACOM UG  Tokyo #9 2018年のスタートはIoT LT大会 | 知られざる#ソラコムサンタの裏側SORACOM UG  Tokyo #9 2018年のスタートはIoT LT大会 | 知られざる#ソラコムサンタの裏側
SORACOM UG Tokyo #9 2018年のスタートはIoT LT大会 | 知られざる#ソラコムサンタの裏側
 
What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後
 
shinken monitoringについて真剣に調べてみた結果
shinken monitoringについて真剣に調べてみた結果shinken monitoringについて真剣に調べてみた結果
shinken monitoringについて真剣に調べてみた結果
 
Pythonでジョブキューシステムを作った
Pythonでジョブキューシステムを作ったPythonでジョブキューシステムを作った
Pythonでジョブキューシステムを作った
 
20180613 ガチラボ vol.4
20180613 ガチラボ vol.420180613 ガチラボ vol.4
20180613 ガチラボ vol.4
 
elixirを使ったゲームサーバ
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバ
 
iOS6時代のTwitter / Facebook連携
iOS6時代のTwitter / Facebook連携iOS6時代のTwitter / Facebook連携
iOS6時代のTwitter / Facebook連携
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
 
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccampクラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
 
JJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-bootJJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-boot
 
[Dots.]taiga
[Dots.]taiga[Dots.]taiga
[Dots.]taiga
 

More from mosa siru

LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)mosa siru
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
KYC and identity on blockchain
KYC and identity on blockchainKYC and identity on blockchain
KYC and identity on blockchainmosa siru
 
マイニングプールの収益配分と攻撃手法
マイニングプールの収益配分と攻撃手法マイニングプールの収益配分と攻撃手法
マイニングプールの収益配分と攻撃手法mosa siru
 
Payment Channel Introduction
Payment Channel IntroductionPayment Channel Introduction
Payment Channel Introductionmosa siru
 
Go, memcached, microservices
Go, memcached, microservicesGo, memcached, microservices
Go, memcached, microservicesmosa siru
 
ニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービスニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービスmosa siru
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
lua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestlua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestmosa siru
 
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)mosa siru
 
Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)mosa siru
 
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用mosa siru
 
how to make twitter list automatically
how to make twitter list automaticallyhow to make twitter list automatically
how to make twitter list automaticallymosa siru
 

More from mosa siru (13)

LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
KYC and identity on blockchain
KYC and identity on blockchainKYC and identity on blockchain
KYC and identity on blockchain
 
マイニングプールの収益配分と攻撃手法
マイニングプールの収益配分と攻撃手法マイニングプールの収益配分と攻撃手法
マイニングプールの収益配分と攻撃手法
 
Payment Channel Introduction
Payment Channel IntroductionPayment Channel Introduction
Payment Channel Introduction
 
Go, memcached, microservices
Go, memcached, microservicesGo, memcached, microservices
Go, memcached, microservices
 
ニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービスニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービス
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
lua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestlua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Request
 
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
 
Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)
 
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
 
how to make twitter list automatically
how to make twitter list automaticallyhow to make twitter list automatically
how to make twitter list automatically
 

Recently uploaded

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 

Recently uploaded (12)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

Elasticsearch for Hackadoll