SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
はじめてのMongoDB

2013/09/18 TechCircle
IT基盤サービス企画室 泉谷圭祐
アジェンダ
MongoDBとは

MongoDBの特徴

MongoDBの基本

MongoDBの操作

MongoDBの運用

まとめ
MongoDBとは
米10gen社が開発しているオープンソースNoSQLデータベース

2009年2月に初回リリース

最新版は2.4.6

C++で書かれている
!?
MongoDBとは
公式サイト http://www.mongodb.org/
MongoDBの特徴
ドキュメント指向データベース

アドホッククエリが使える

高い可用性

多数のメジャーな言語でAPIを提供
MongoDBの特徴
ドキュメント指向データベース
JSONでデータを保存 

スキーマレス
{❴

}❵




id : "1" 

name : "hoge"

age : "25"

email : "hoge@tis.co.jp"

company : {❴

name : "TIS"

address : "新宿区西新宿8-17-1

}❵


※厳密にはBSON(❨Binary JSON)❩で保存される
MongoDBの特徴
アドホッククエリが使える
RDBライクな操作が可能
> db.user.findOne(❨{❴"name" : "hoge"}❵)❩

!
{❴

"id" : "1",

"name" : "hoge",

"email" : "hoge@tis.co.jp"

}❵
MongoDBの特徴
高い可用性
レプリカセット
Cluster
Node

Node

Node

Node
MongoDBの特徴
多数のメジャーな言語でAPIを提供
C


Erlang


PHP


C++


Java


Python


C#


Javascript


Ruby


Go

Node.js

Scala
MongoDBの特徴
統一的なインターフェースを提供
Ruby
require 'mongo'


!

db = MongoClient.new(❨'localhost', '27017')❩.db(❨'mydb')❩

collection = db.collection(❨'test_col')❩


!

documents = collection.find(❨'name' => 'hoge')❩


Java
import com.mongodb."いろいろ"


!

DB db = new MongoClient(❨ "localhost" , 27017 )❩.getDB(❨"mydb")❩;

DBCollection collection = db.getCollection(❨"test_coll")❩;


!

BasicDBObject query = new BasicDBObject(❨"name", "hoge")❩;

DBCursor documents = collection.find(❨query)❩;
MongoDBの基本
データベースの表現について

ドキュメントについて

Mongo Console
MongoDBの基本
データベースの表現について
MySQL

MongoDB

DatabaseA

DatabaseA

TableA

CollectionA

TableB

CollectionB

DatabaseB
TableC

DatabaseB
CollectionC
MongoDBの基本
1レコード=1ドキュメント
{❴

MongoDB

DatabaseA
CollectionA



_id : ObjectId(❨"523444c714a05837e26ca8a0")❩

name : "hoge"

age : "25"

email : "hoge@tis.co.jp"


}❵
{❴

CollectionB



_id : ObjectId(❨"523444c714a05837e26ca8a1")❩

name : "huga"

age : "30"

email : "huga@tis.co.jp"


}❵

DatabaseB
CollectionC

{❴



_id : ObjectId(❨"523444c714a05837e26ca8a2")❩


name : "foo"

age : "32"

phone : "090-1234-5678" <= !?
MongoDBの基本
ドキュメントについて
{❴

}❵



_id : ObjectId(❨"523444c714a05837e26ca8a0")❩

name : "hoge"

age : "25"

email : "hoge@tis.co.jp"

language : ["Japanese", "English"]

home : {❴

name : "hoge apart"

address : "新宿区西新宿1-1-1"

}❵

"updatedAt" : ISODate(❨"2013-09-18T18:00:15.598Z")❩


自動でidが割り振られる(❨DBで一
意)❩

配列を要素にできる

入れ子にすることもできる

時刻を入れることもできる

コレクション内で要素が異なっていても良い

1ドキュメントのサイズはBSONで16MBまで
MongoDBの基本
Mongo Console

MongoDBのコンソールはJavascriptで実装されている
[hogeuser@localhost]$ mongo

MongoDB shell version: 2.4.6

connecting to: test


!

>

> var test = db.test.find(❨)❩.length(❨)❩;

> 

> print(❨test)❩

3

>

標準API以外に変数やメソッドを使った操作も可能
MongoDBの操作
ドキュメントの作成

ドキュメントの参照

ドキュメントの更新

ドキュメントの削除
MongoDBの操作
ドキュメントの作成
> use test #DBの指定

> db.test_collection.insert(❨{❴

"name" : "hoge",

"email" : "hoge@tis.co.jp"

}❵)❩;

>

コレクションはuse等する必要がない

データベースもコレクションも初めてドキュメントを追加した時に

自動で作成される
MongoDBの操作
ドキュメントの参照
!

#全件検索

> db.test_collection.find(❨)❩;

{❴ "_id" : ObjectId(❨"5234628337f4ddc7fa170918")❩, "name" : "hoge", "email" :
"hoge@tis.co.jp" }❵

> 


!

# クエリ検索

> db.test_collection.find(❨{❴"name":"hoge"}❵)❩;

{❴ "_id" : ObjectId(❨"5234628337f4ddc7fa170918")❩, "name" : "hoge", "email" :
"hoge@tis.co.jp" }❵

> 


!

#1件検索

> db.test_collection.findOne(❨{❴"name":"hoge"}❵)❩;

{❴

"_id" : ObjectId(❨"5234628337f4ddc7fa170918")❩,

"name" : "hoge",
MongoDBの操作
ドキュメントの更新
!

#事前状態

> db.test_collection.find(❨{❴"name":"hoge"}❵)❩;

{❴ "_id" : ObjectId(❨"5234628337f4ddc7fa170918")❩, "name" : "hoge", "email" :
"hoge@tis.co.jp" }❵

> 


!

#更新

> db.test_collection.update(❨{❴"name":"hoge"}❵, {❴$set : {❴"email" : "hoge@excale.net"}❵}❵)❩;


!

#結果確認

> db.test_collection.find(❨{❴"name":"hoge"}❵)❩;
MongoDBの操作
ドキュメントの削除
!

#事前状態

> db.test_collection.find(❨{❴"name":"hoge"}❵)❩;

{❴ "_id" : ObjectId(❨"5234628337f4ddc7fa170918")❩, "name" : "hoge", "email" :
"hoge@tis.co.jp" }❵

> 


!

#削除

> db.test_collection.remove(❨{❴"name":"hoge"}❵)❩;


!

#結果確認

> db.test_collection.find(❨{❴"name":"hoge"}❵)❩;


・・・?
MongoDBの操作
mongoDBにはトランザクションがない!!

> db.test_collection.remove(❨)❩;
MongoDBの操作
Demo
MongoDBの運用
レプリカセット

シャーディング

その他の機能
MongoDBの運用
レプリカセット

複数台のノードでクラスタを組んでミラーリング

PRIMARY1台、他はすべてSECANDARY

書き込みはPRIMARYで行う

PRIMARYが落ちたら投票が行われ、

次のPRIMARYが選出される

(❨10∼20のダウンタイムが発生)❩

ノード数は奇数が推奨されている
MongoDBの運用
Demo
MongoDBの運用
シャーディング

複数台のレプリカセットクラスタでデータを分割
MongoDBの運用
シャーディング構成図
MongoDBの運用
シャーディング構成

シャード

通常はレプリカセットで構成する

コンフィグサーバー

1台か3台で構成(プロダクションでは3台構成とされている)

勝手に同期しているのでレプリカセットにする必要はない

ルーティングサーバー(❨mongos)❩

mongoを使う各サーバー自身が持つ

コンフィグサーバーに問い合わせをして読み書きを分散
MongoDBの運用
その他の機能

ダンプ / リストア

cappedコレクション

TTLインデックス

MapReduce
MongoDBの運用
ダンプ / リストア

ユーティリティが付属
$ mongodump --collection "COLLECTION_NAME" --db "DB_NAME"

$ mongorestore --collection "COLLECTION_NAME" --db "DB_NAME"
MongoDBの運用
cappedコレクション

サイズ制限付きのコレクション

容量もしくはドキュメント数の制限をかけられる

古いものから自動的に削除される

※シャーディング環境では使えません
MongoDBの運用
TTL index

保持期限付きのコレクション

時刻型のフィールドが必要

古いものから自動的に削除される
MongoDBの運用
MapReduce

APIを叩くことで実行可能
#初期データ

> db.test.insert(❨{❴ "_id" : ObjectId(❨"523444c714a05837e26ca8a0")❩, "name" : "hoge", "age" : 25, "likes" :
"music"}❵)❩

> db.test.insert(❨{❴ "_id" : ObjectId(❨"523444c714a05837e26ca8a1")❩, "name" : "huga", "age" : 30, "likes" :
"sport" }❵)❩

> db.test.insert(❨{❴ "_id" : ObjectId(❨"523444c714a05837e26ca8a2")❩, "name" : "foo", "age" : 40,"likes" :
"music"}❵)❩

> db.test.insert(❨{❴ "_id" : ObjectId(❨"523444c714a05837e26ca8a3")❩, "name" : "bar", "age" : 21, "likes" :
"coding" }❵)❩

> db.test.insert(❨{❴ "_id" : ObjectId(❨"523444c714a05837e26ca8a4")❩, "name" : "test", "age" : 19, "likes" :
"sport" }❵)❩


!

> var map = function(❨)❩{❴ emit(❨this.likes,1)❩; }❵;

>

> var reduce = function(❨key, value)❩{❴ return Array.sum(❨value)❩; }❵;

>

> db.test.mapReduce(❨map, reduce, {❴ query : {❴"age" : {❴$gt : 20}❵}❵, out : "likes_map"}❵)❩


!

/* 結果サマリ(省略)*/
MongoDBの運用
その他にも

GridFS

地理空間インデックス

など、便利な機能がある
まとめ
MongoDBのいいところ

スキーマレス

アドホッククエリ

冗長化が楽

便利な機能が豊富

コミュニティが活発
まとめ
MongoDBのイケてないところ

トランザクションがない

結合がない、外部キーがない

悪い意味でスキーマレス

運用面で苦労話の

が。。。
まとめ
NoSQL全般に言えることだが。。。

新しい万能兵器ではない

限られた使い所で効力を発揮

非正規型データが大量にある場合

データ構造が確定していない場合
興味を持った方は
うちのリーダーが書いた記事を参考にまずはインストールから

http://codezine.jp/article/
detail/6982
御静聴ありがとうございました
eXcaleもよろしくお願いします

https://www.excale.net/

Mais conteúdo relacionado

Mais procurados

MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜Naruhiko Ogasawara
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストAkihiro Kuwano
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandMasakazu Matsushita
 
カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明Masakazu Matsushita
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説Shoken Fujisaki
 
MyNA JPUG study 20160220-postgresql-json-datatype
MyNA JPUG study 20160220-postgresql-json-datatypeMyNA JPUG study 20160220-postgresql-json-datatype
MyNA JPUG study 20160220-postgresql-json-datatypeToshi Harada
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介Tetsutaro Watanabe
 
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?Hiroaki Kubota
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo dbYuji Isobe
 
Casual Compression on MongoDB
Casual Compression on MongoDBCasual Compression on MongoDB
Casual Compression on MongoDBmoai kids
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろうCROOZ, inc.
 
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-uedayou
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレするAkihiro Kuwano
 
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについてippei_suzuki
 
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualMongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualYasuhiro Matsuo
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムHitoshi Asai
 
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみたMongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみたhtty_hasumi
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 

Mais procurados (20)

MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
 
カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
 
MyNA JPUG study 20160220-postgresql-json-datatype
MyNA JPUG study 20160220-postgresql-json-datatypeMyNA JPUG study 20160220-postgresql-json-datatype
MyNA JPUG study 20160220-postgresql-json-datatype
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
 
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
 
Casual Compression on MongoDB
Casual Compression on MongoDBCasual Compression on MongoDB
Casual Compression on MongoDB
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
 
MongoDB勉強会資料
MongoDB勉強会資料MongoDB勉強会資料
MongoDB勉強会資料
 
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレする
 
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
 
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualMongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
 
Mongodb 紹介
Mongodb 紹介Mongodb 紹介
Mongodb 紹介
 
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみたMongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 

Semelhante a はじめてのMongoDB

Mongo db使ってみよう
Mongo db使ってみようMongo db使ってみよう
Mongo db使ってみようOda Shinsuke
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門じゅん なかざ
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBmoai kids
 
Mongo db + xsd:xml(20130219)
Mongo db + xsd:xml(20130219)Mongo db + xsd:xml(20130219)
Mongo db + xsd:xml(20130219)Michael Nguyen
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016Takayuki Shimizukawa
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 
mongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 springmongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 springichikaway
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~じゅん なかざ
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platformToru Yamaguchi
 
Spring Data in a Nutshell
Spring Data in a NutshellSpring Data in a Nutshell
Spring Data in a NutshellTsuyoshi Miyake
 
カジュアルにソースコードリーディング
カジュアルにソースコードリーディングカジュアルにソースコードリーディング
カジュアルにソースコードリーディングAkihiro Okuno
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介Shinya Okano
 
Osc2012.dbに行ってきました
Osc2012.dbに行ってきましたOsc2012.dbに行ってきました
Osc2012.dbに行ってきましたMasaru Kobashigawa
 
Mongo dbのgridfsについて
Mongo dbのgridfsについてMongo dbのgridfsについて
Mongo dbのgridfsについてMasahiro Saito
 
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーションYoshifumi Kawai
 
プロジェクト2B 最終発表
プロジェクト2B 最終発表プロジェクト2B 最終発表
プロジェクト2B 最終発表Kodai Takao
 
Haskellday rf
Haskellday rfHaskellday rf
Haskellday rfrf0444
 

Semelhante a はじめてのMongoDB (20)

Mongodb
MongodbMongodb
Mongodb
 
Mongo db使ってみよう
Mongo db使ってみようMongo db使ってみよう
Mongo db使ってみよう
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Mongo db + xsd:xml(20130219)
Mongo db + xsd:xml(20130219)Mongo db + xsd:xml(20130219)
Mongo db + xsd:xml(20130219)
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
Nodejs
NodejsNodejs
Nodejs
 
mongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 springmongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 spring
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
Spring Data in a Nutshell
Spring Data in a NutshellSpring Data in a Nutshell
Spring Data in a Nutshell
 
カジュアルにソースコードリーディング
カジュアルにソースコードリーディングカジュアルにソースコードリーディング
カジュアルにソースコードリーディング
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
 
Osc2012.dbに行ってきました
Osc2012.dbに行ってきましたOsc2012.dbに行ってきました
Osc2012.dbに行ってきました
 
Mongo dbのgridfsについて
Mongo dbのgridfsについてMongo dbのgridfsについて
Mongo dbのgridfsについて
 
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
 
プロジェクト2B 最終発表
プロジェクト2B 最終発表プロジェクト2B 最終発表
プロジェクト2B 最終発表
 
Haskellday rf
Haskellday rfHaskellday rf
Haskellday rf
 
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話 Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
 

Mais de Keisuke Izumiya

Moneyforward Meetup#5 請求書
Moneyforward Meetup#5 請求書Moneyforward Meetup#5 請求書
Moneyforward Meetup#5 請求書Keisuke Izumiya
 
マネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォームマネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォームKeisuke Izumiya
 
MFクラウド請求書APIのご紹介
MFクラウド請求書APIのご紹介MFクラウド請求書APIのご紹介
MFクラウド請求書APIのご紹介Keisuke Izumiya
 
Rails::Engineを使ってみたよ
Rails::Engineを使ってみたよRails::Engineを使ってみたよ
Rails::Engineを使ってみたよKeisuke Izumiya
 
マネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブンマネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブンKeisuke Izumiya
 
プラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvimプラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvimKeisuke Izumiya
 
1から学ぶスクラム
1から学ぶスクラム1から学ぶスクラム
1から学ぶスクラムKeisuke Izumiya
 
マーケど素人がGoogleAdwordsをまとめてみた
マーケど素人がGoogleAdwordsをまとめてみたマーケど素人がGoogleAdwordsをまとめてみた
マーケど素人がGoogleAdwordsをまとめてみたKeisuke Izumiya
 
CoreOSってなんですか
CoreOSってなんですかCoreOSってなんですか
CoreOSってなんですかKeisuke Izumiya
 
FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用Keisuke Izumiya
 

Mais de Keisuke Izumiya (10)

Moneyforward Meetup#5 請求書
Moneyforward Meetup#5 請求書Moneyforward Meetup#5 請求書
Moneyforward Meetup#5 請求書
 
マネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォームマネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォーム
 
MFクラウド請求書APIのご紹介
MFクラウド請求書APIのご紹介MFクラウド請求書APIのご紹介
MFクラウド請求書APIのご紹介
 
Rails::Engineを使ってみたよ
Rails::Engineを使ってみたよRails::Engineを使ってみたよ
Rails::Engineを使ってみたよ
 
マネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブンマネーフォワード流エンジニアドリブン
マネーフォワード流エンジニアドリブン
 
プラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvimプラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvim
 
1から学ぶスクラム
1から学ぶスクラム1から学ぶスクラム
1から学ぶスクラム
 
マーケど素人がGoogleAdwordsをまとめてみた
マーケど素人がGoogleAdwordsをまとめてみたマーケど素人がGoogleAdwordsをまとめてみた
マーケど素人がGoogleAdwordsをまとめてみた
 
CoreOSってなんですか
CoreOSってなんですかCoreOSってなんですか
CoreOSってなんですか
 
FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用
 

はじめてのMongoDB