SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
FluentdとMongoで作る
サービス
PHPStudy 73rd
@kogarasi_cross
は、、、初20枠です!
自己紹介
名前: こがらし
Twitter: @kogarasi_cross
仕事: Unityを使って飛び跳ねます(物
理)
こんな感じ
…なんか違う
冗談はさておき…
まずは登場人物を紹介
Fluentdとは
ログ収拾のためのツール
とってもPluggableなツール
いろんなものを投げれる
いろんなものをはける
Fluentdとは Part.2
何を投げれるのか?
ログファイル(Tail
PHPとかからプッシュ(Socket
TwitterのStream←重要
Fluentdとは Part.3
何に投げれるのか
標準出力・ファイル・S3
MySQL/MongoDB…各種DB
WebSocket
Fluentdとは Part.4
つまるところ何でもいける!
内部でJSONだったりMsgPackを使って
いる。
そういうのをプラグイン上で処理出来れ
ばOK
etc
めっちゃいろんなプラグインがあります
zabbixとか(zabbixってなに
twilioとか
http://fluentd.org/plugin/
MongoDBとは
JSONぽいのを扱えるNoSQL DB
Capped Collectionとかいうものがある
(これを使う)
JSを使って内部で集計処理とかやらせら
れる
Capped Collection
保持できるデータ量に制限(Capped)が
ついたもの
指定したデータ数・データサイズになる
と、自動的に古いものから削除してくれる
※ただし、ユーザー操作でデータの削除や
途中挿入・並び替えは出来ない
ということで本題
あれ、Fluentdって
ログ収拾ツールだよね?
そうです!
そんなFluentdが今回は主役です!
簡単な物から
まずはFluentd単体で!
Twitterから“なう"を集める
http://nowtter.kogarasi.com
中身
TwitterプラグインでPublic Streamを取得
Rewriteプラグインで”なう”が含まれるツ
イートを抽出(日本語なのでTwitter APIで
のフィルタリングが出来ない)
WebSocketプラグインでクライアントへ転
送(簡単にWSサーバーになってくれる)
チェックポイント

サーバーサイドのコーディングしてない
ゲームに転用←
「Stream Fighter」
至って普通のシューティング
…ただし、敵が

”つぶやきによって出現すること以外は”
つぶやきの量=時間帯に
よってスクリームの沸く
量が変わる
ピーク時にやるとかなり
つらい
チェックポイント

ユーザーに伝わらない←
+MongoDBで

Twitterで雨っぽいことを抽出して、各地
のお天気を表示
http://kogarasi.com/weather
簡単な流れ
Twitterプラグインでつぶやきを取得
集めたつぶやきから単語で抽出
抽出したつぶやきをMongoDBに片っ端から投げ込
む!
Jenkinsで定期的にデータを集計しておく
集計データから現在の状況を表示する
チェックポイント
Capped Collectionを利用しているので、
古いデータが自動的に破棄されていく
↑難しいデータ管理とか必要無い
雨には反応するけど、晴れには反応し
ない\(^_^)/
まとめ
基本的な部分は動くように”設定”するだ
け(Fluentd/MongoDB/Jenkins)
コーディングしてるのはフロントエンド
に近い部分のみ
と思ったけど、集計処理とかは書いてた
…
質問とかそういうの
ご清聴
ありがとうございました

Contenu connexe

Tendances

Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2Takuya Ueda
 
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋Takuya Ueda
 
ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)abend_cve_9999_0001
 
ググリワードを探す話
ググリワードを探す話ググリワードを探す話
ググリワードを探す話toru ishikawa
 
ウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返ってウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返ってKohki Yamagiwa
 
python-ptraceでプロセスメモリエディタっぽいことをしよう
python-ptraceでプロセスメモリエディタっぽいことをしようpython-ptraceでプロセスメモリエディタっぽいことをしよう
python-ptraceでプロセスメモリエディタっぽいことをしようmonochrojazz
 
Goroutineと channelから はじめるgo言語
Goroutineと channelから はじめるgo言語Goroutineと channelから はじめるgo言語
Goroutineと channelから はじめるgo言語Takuya Ueda
 
ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃monochrojazz
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiHirokuma Ueno
 
Osc2011 shibutra-toruuetani
Osc2011 shibutra-toruuetaniOsc2011 shibutra-toruuetani
Osc2011 shibutra-toruuetanitoruuetani
 
仕事でも Groovy を使おう!
仕事でも Groovy を使おう!仕事でも Groovy を使おう!
仕事でも Groovy を使おう!Oda Shinsuke
 
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会Takuya Ueda
 
TddでFizzBuzzしてみる in Swift
TddでFizzBuzzしてみる in SwiftTddでFizzBuzzしてみる in Swift
TddでFizzBuzzしてみる in SwiftShoichi Matsuda
 
Unity3dにおけるus c# boo比較
Unity3dにおけるus c# boo比較Unity3dにおけるus c# boo比較
Unity3dにおけるus c# boo比較Nobukazu Hanada
 
運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方Yuki Ishikawa
 
ルネサスナイト
ルネサスナイトルネサスナイト
ルネサスナイトyamanekko
 
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみたMTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみたKatsuhiro Endo
 

Tendances (20)

Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
 
IMのはなし
IMのはなしIMのはなし
IMのはなし
 
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
 
ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)
 
ググリワードを探す話
ググリワードを探す話ググリワードを探す話
ググリワードを探す話
 
ウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返ってウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返って
 
python-ptraceでプロセスメモリエディタっぽいことをしよう
python-ptraceでプロセスメモリエディタっぽいことをしようpython-ptraceでプロセスメモリエディタっぽいことをしよう
python-ptraceでプロセスメモリエディタっぽいことをしよう
 
Open Licensing?
Open Licensing?Open Licensing?
Open Licensing?
 
Goroutineと channelから はじめるgo言語
Goroutineと channelから はじめるgo言語Goroutineと channelから はじめるgo言語
Goroutineと channelから はじめるgo言語
 
Goとテスト
GoとテストGoとテスト
Goとテスト
 
ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRi
 
Osc2011 shibutra-toruuetani
Osc2011 shibutra-toruuetaniOsc2011 shibutra-toruuetani
Osc2011 shibutra-toruuetani
 
仕事でも Groovy を使おう!
仕事でも Groovy を使おう!仕事でも Groovy を使おう!
仕事でも Groovy を使おう!
 
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
 
TddでFizzBuzzしてみる in Swift
TddでFizzBuzzしてみる in SwiftTddでFizzBuzzしてみる in Swift
TddでFizzBuzzしてみる in Swift
 
Unity3dにおけるus c# boo比較
Unity3dにおけるus c# boo比較Unity3dにおけるus c# boo比較
Unity3dにおけるus c# boo比較
 
運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方
 
ルネサスナイト
ルネサスナイトルネサスナイト
ルネサスナイト
 
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみたMTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
 

En vedette

PHPでOpenCVしてみた
PHPでOpenCVしてみたPHPでOpenCVしてみた
PHPでOpenCVしてみた直也 堀松
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadogNaoya Nakazawa
 
Opencv object detection_takmin
Opencv object detection_takminOpencv object detection_takmin
Opencv object detection_takminTakuya Minagawa
 
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。Takehiro Suemitsu
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンスAWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンスAmazon Web Services Japan
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた徹 上野山
 
局所特徴量と統計学習手法による物体検出
局所特徴量と統計学習手法による物体検出局所特徴量と統計学習手法による物体検出
局所特徴量と統計学習手法による物体検出MPRG_Chubu_University
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門uranishi
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないことNorishige Fukushima
 

En vedette (14)

PHPでOpenCVしてみた
PHPでOpenCVしてみたPHPでOpenCVしてみた
PHPでOpenCVしてみた
 
BigQuery + Fluentd
BigQuery + FluentdBigQuery + Fluentd
BigQuery + Fluentd
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadog
 
20141008物体検出器
20141008物体検出器20141008物体検出器
20141008物体検出器
 
Opencv object detection_takmin
Opencv object detection_takminOpencv object detection_takmin
Opencv object detection_takmin
 
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンスAWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
 
OpenCVの基礎
OpenCVの基礎OpenCVの基礎
OpenCVの基礎
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
 
局所特徴量と統計学習手法による物体検出
局所特徴量と統計学習手法による物体検出局所特徴量と統計学習手法による物体検出
局所特徴量と統計学習手法による物体検出
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門
 
OpenCV 3.0 on iOS
OpenCV 3.0 on iOSOpenCV 3.0 on iOS
OpenCV 3.0 on iOS
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 

Similaire à Fluentとmongoで作るサービス

UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例Ryota Murohoshi
 
オレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPIオレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPI隆行 神戸
 
働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソードShohei Okada
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争Eric Sartre
 
doctest を書こう @ pycon kansai
doctest を書こう @ pycon kansaidoctest を書こう @ pycon kansai
doctest を書こう @ pycon kansaiYosukeHojo
 
社内発表資料
社内発表資料社内発表資料
社内発表資料ssuser0b0d0b
 
Seq2Seqでボットづくり
Seq2SeqでボットづくりSeq2Seqでボットづくり
Seq2SeqでボットづくりMasato Fujitake
 

Similaire à Fluentとmongoで作るサービス (8)

UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例
 
オレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPIオレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPI
 
働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争
 
doctest を書こう @ pycon kansai
doctest を書こう @ pycon kansaidoctest を書こう @ pycon kansai
doctest を書こう @ pycon kansai
 
なぜ今OSGiか
なぜ今OSGiかなぜ今OSGiか
なぜ今OSGiか
 
社内発表資料
社内発表資料社内発表資料
社内発表資料
 
Seq2Seqでボットづくり
Seq2SeqでボットづくりSeq2Seqでボットづくり
Seq2Seqでボットづくり
 

Dernier

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Dernier (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

Fluentとmongoで作るサービス