MeCabに人名辞書を追加

生成された辞書(バイナリ)はどこでも使えますので、辞書生成はMac側で行います。 インストール $ brew install mecab mecab-ipadic 構成 ## /usr/local/Cellar/mecab └── 0.996 ├── AUTHORS ├── COPYING ├── ChangeLog ├── INSTALL_RECEIPT.json ├── NEWS ├── README ├── bin │   ├── mecab »

Elasticsearchのbool queryを利用してAND OR NOTを書いてみる

※ この記事をQiitaにも載せました! 初めてElasticsearchのクエリをビルドしたのでいろいろハマりました。SQLの世界観とちょっと違っていて、なれるまで時間がかかると思います。でも、なれたら複雑な検索条件をSQLより簡単に書けるかも知れません。 では、Elasticsearchの基礎クエリの一つ、Bool Queryを解説してみます。 Bool Queryについて Elasticsearch 2.0からandクエリとorクエリは全部非推奨になり、その代わりにboolクエリの方が推奨されます。Boolクエリは複数のクエリを組み合わせる(つまりAND、OR、NOTで結合)のに使います。 Boolクエリは4種類があります:must、 filter、 should、 »

メンテナンス本格入門のまとめ

メンテナンスは必要? メンテナンスなんてない方がよい それでも行う必要があるとき 歴史的かつ技術的な負債 作業難度のトレードオフ メンテナンスの種類 計画メンテナンス 事前に計画し、ユーザー告知を行って作業を行う。これに当たる主だった作業としては ハードウェアの保留/入れ替え データベースの設定変更 ネットワークの保留 手順: 作業手順作成 事前準備:Sorryサーバーの準備 テスト環境での予行演習 作業実施:作業チェック、問題発生時の対処 確認作業:モニタリング、作業の振り返り 緊急メンテナンス »

Fluentd導入してからエラーログを全部Slackに通知する

やりたいこと サーバーが落ちるときすぐ管理者に通知する 設計イメージ Fluentdで全部のエラーログをまとめてSlackに送信する。 Fluentd導入 Fluentdとは ログ収集ミドルウェアである。Fluentdにインプットされた、すべてのログをJSONに変換し、アウトプットする。 Fluentdのインストール (Ubuntu 14.04) 事前準備 ntpをインストールする $ sudo apt-get install ntp ファイルディスクリプタの上限を増やす 現在のファイルディスクリプタ数を確認 $ ulimit -n 1024 もし1024なら不十分なので上限を増やす。 »

MySQLで大量のデータを挿入して、SELECTパーフォマンスを比較する

大量のデータを扱う機会があるため、データが非常に多いときMySQLのパフォーマンスはどうなるかを検討した。 検討するテーブル: 検討したいquery: SELECT * FROM activity_records WHERE date BETWEEN '2014-01-01' AND '2014-04-10'; なのでdateコラムにindexをつけた。このテーブルに5億ぐらいのレコードがあるとき、レスポンス時間はどのぐらいなのか検討したい。 環境: SSD: 256GB テーブルに5億レコードを挿入する この記事は大変参考になりました:Mass inserting data in »

API開発用必要なGemのまとめ(2015/08更新)

初めてRailsプロジェクトに入ったとき、Gemfileを見ても全くわからなかった。Rails初心者のため必要なGemをまとめました。良いGemを発見したらどんどん更新していこうと思います。 2015/08/13時点 データベース関連 mysql2 MySQLアダプタ MySQLを使うなら必須 redis Ruby client library for Redis cache, session保存用 ar-octopus レプリケーション (master+slave管理) switch_point (※ 2015/ »

Docker経由Swagger UIを入れてみた

はじめに 目的:SwaggerUIを開発環境に入れて、Railsと組み合わせたい Railsのswagger-ui gemもありますが、あれはSwaggerUIが古い。最新版のSwaggerUIを使いたい。 手動で構築するのがちょっと面倒だから、Dockerを使って入れてみた 作業 Docker HubにSwagger UIを探してこういうイメージを見つけた https://registry.hub.docker.com/u/capoferro/swagger-ui/ capoferro / swagger-ui Simple docker »

Docker + Figを使ってRailsの開発環境を構築する

前回はDockerで構築したアプリを使うのを述べました。今回は実際どうやってそのRailsアプリを構築するのかを紹介します。 構築したい環境 Ruby 2.2 Rails 4.2.0 MySQL Redis シナリオ 以上の条件でコンテナを3つ準備します。 web : Railsアプリ。もちろんRubyが入ってるので今回はofficial ruby imageをベースにコンテナを作ります db : official MySQL imageを採用します redis: official »

魔法のDockerを使ってみよう

前回はDockerをインストールするまで記述しました。今回は実際Dockerで構築したRailsアプリを動かしましょう。 前提 Mac OS Xにboot2dockerが起動された状態、またはLinuxにDockerインストール済み 作業 まずFigというコンテナ管理ツールをインストールします $ curl -L https://github.com/docker/fig/releases/download/1.0.1/fig-`uname -s`-`uname »