読者です 読者をやめる 読者になる 読者になる

Mackerel Drinkup #4 Tokyo で LT をしてきた

Mackerel Drinkup #4 Tokyo で LT をしてきた。 mackerelio.connpass.com LT の内容は mackerel-plugin-aws-waf の紹介(公式プラグイン集のひとつになりました)。作成経緯や苦労した点について。AWS WAF 自体の説明は大雑把にしかしていないので、この発表…

Mackerel のメタデータに Amazon Linux のパッケージ情報を登録してみる

mackerel-agent でメタデータの登録が対応したので、早速 Amazon Linux のパッケージ情報を登録してみることにした。 mackerel.io ソースコード 使い方 Mackerel エージェントの設定ファイルに下記を追加する。 [plugin.metadata.packages] command = "perl …

mackerel-plugin-aws-waf v0.0.2 をリリースした

指定された WebACL に関連づけられている全ルールのメトリックスを取得するようにした mackerel-plugin-aws-waf の最新バージョンをリリースした。 github.com 修正点 WebACL に関連づけられている全ルールのメトリックスを取得するために、下記の修正を実施…

Mackerel の AWS WAF プラグインを作った

Mackerel 上で AWS WAF のメトリックスを確認したかったのでプラグインを作った。 github.com 使い方 リースページ からパッケージをダウンロードして、適切な場所に配置する。 そして、Mackerel エージェントの設定ファイルに下記を追加する。 [plugin.metr…

Groovy で Amazon Athena に接続してみた

Amazon Athena が JDBC 接続をサポートしているので Groovy で試してみた。 github.com 使い方 s3_staging_dir を適当なバケット名に変更する。バケットは Amazon Athena を実行するリージョンの同一にする必要があることに注意する。そして、./gradlew run …

Amazon Linux 2016.03 で Nginx をインストールする Itamae レシピ

Amazon Linux のレポジトリからではなく、Nginx の公式レポジトリからインストールしたかったので、Itamae のレシピを書いてみた。 package 'http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm' do not_if 'rpm …

Vagrant のプロバイダとして xhyve を使ってみた

現時点で Vagrant のプロバイダとして xhyve を提供するプラグインが2個存在している。 oldpatricka/vagrant-xhyve sirn/vagrant-xhyve どちらのプラグインが良いかのを比較はしていないが、RubyGems で公開されているためインストールが簡単だった oldpatri…

Docker for Mac のメモリサイズを変更する方法

Docker for Mac の設定画面でメモリサイズを変更しようとしたけど、スライダーを動かすことが出来ない状態だったので変更することが出来なかった。 正式版では設定画面から変更出来るようになると思うけど、現時点では pinata というコマンドを使う必要があ…

サーバーサイド Swift フレームワークである Perfect を Docker で動かせるようにした

サーバーサイド Swift フレームワークである Perfect を Docker で動かせるようにした。 github.com 作成した Docker イメージは Docker Hub でも公開しているので、下記のように実行するとビルド済みのイメージが取得することができる。 $ docker pull holi…

One-Class SVM で外れ値検出ができる gem を作った

One-Class SVM で外れ値検出ができる gem を作った。 github.com 元々は会社で開発している Rails アプリケーション内に実装した外れ値検出ライブラリだったけど、汎用性があるように実装していたので gem として公開することにした。 使い方 One-Class SVM …

Riak MapReduce を Elixir で書いてみる

前提条件 CentOS 7.1.1503 Riak 2.1.1 Erlang/OTP 18.0 Elixir v1.0.5 事前準備 Erlang/OTP のインストール Elixir を動かすためには Erlang/OTP 17 以降のインストールが必要となる。今回は Erlang Solutions レポジトリを追加して、Erlang/OTP 18.0 をイン…

Vagrant で VirtualBox の準仮想化を有効化する方法

VirtualBox 5.0 でサポートされた準仮想化を Vagrant で有効化するには Vagrantfile に下記を追加するだけである。 config.vm.provider :virtualbox do |v| v.customize ['modifyvm', :id, '--paravirtprovider', 'kvm'] end

FreeBSD on xhyve でディスクをマウントすることができた

前に xhyve で FreeBSD を動かしたときにディスクのマウントに失敗すると書いた。 xhyve で FreeBSD を動かしてみた - blog.holidayworking.orgblog.holidayworking.org 原因と解決方法が分かったので補足しておく。

OLYMPUS AIR A01 を買った

発表されてから気になっていた OLYMPUS AIR A01 をやっと買った。 www.flickr.com

Hyper 0.2 のリリース

ハイパーバイザー・ベースの Docker エンジンである Hyper の最新バージョンとなる 0.2 がリリースされていた。 Support Xen Hypervisor (Xen 4.5/hvm) fully support run, stop, replace and persistent mode as the kvm version overlayfs storage engine …

JetDrive Lite 360 128GB を買った

MacBook Pro (Retina, 15-inch, Mid 2014) のディスク容量を増やすために JetDrive Lite 360 128GB を買った。 www.flickr.com 追加前 追加後

意見(評価表現)抽出ツール を Docker で動かせるようにした

NICT が公開している意見(評価表現)抽出ツール を Docker で動かせるようにした。 holidayworking/docker-extractopiniongithub.com Docker イメージのビルド $ git@github.com:holidayworking/docker-extractopinion.git $ cd docker-extractopinion $ do…

xhyve で FreeBSD を動かしてみた

xhyve で FreeBSD をサポートさせるプルリクを見つけたので、xhyve で FreeBSD を動かしてみた。 Add support for FreeBSD guests by xez · Pull Request #30 · mist64/xhyvegithub.com xhyve のビルド プルリクのトピックブランチを取得して xhyve をビルド…

Docker Machine で RancherOS を起動してみる

Docker Machine で RancherOS が起動できるようになっていたので、早速試してみることにした。 Announcing Compose 1.3, Swarm 0.3 and Machine 0.3blog.docker.com virtualbox-boot2docker-url オプションに RancherOS の ISO イメージの URL を指定して、…

Riak Erlang MapReduce でハマってしまった

Riak の MapReduce は Erlang と JavaScript で書くことができるが、JavaScript のサポートは将来的に廃止されることが決まっている。 JavaScript MapReduce is deprecated; we have expanded our Erlang MapReduce documentation to assist with the transi…

Riak Ruby Client 2.2.1 のリリース

Riak Ruby Client 2.2.1 がリリースされた。 このリリースではバグ修正と試験的な実装が行われている。 Version 2.2.1 is a bugfix release, and includes additional testing of character encodings. Bug fixes: Support bucket-typed buckets when creati…

Homebrew で xhyve がインストールできるようになった

homebrew-head-only に xhyve が formula が追加されていた。 xhyve (new formula) · Homebrew/homebrew-head-only@e6feaf4github.com この formula を使って xhyve をインストールするには、下記のように実行すればよい。 $ brew tap homebrew/head-only $ …

xhyve で Fedora 22 を動かしてみた

xhyve で Fedora 22 を動かしてみた。 CentOS 7 と手順は変わらないので、下記のようになる。 インストールディスクイメージの取得 インストール用スクリプトの作成 Fedora のインストール 起動用スクリプトの作成 Fedora の起動

Riak Ruby Client における MapReduce の問題点と対応方法 #3

下記の記事の続き。 Riak Ruby Client における MapReduce の問題点と対応方法 #2 - blog.holidayworking.orgblog.holidayworking.org Riak Ruby Client における MapReduce には下記の問題点があった。 Secondary Indexes でバケットタイプを指定することが…

RancherOS Lite with xhyve で NFS によるファイル共有がサポートされた

下記の記事で RancherOS Lite with xhyve では NFS によるファイル共有がサポートされてないと書いた。 RancherOS Lite を試してみた - blog.holidayworking.orgblog.holidayworking.org そうしたところ、作者の @ailispaw さんが、早速 NFS によるファイル…

xhyve で CentOS 7 を動かしてみた

xhyve で CentOS 7 を動かしてみた。 大体の手順は xhyve – Lightweight Virtualization on OS X Based on bhyve | pagetable.com で書かれている Ubuntu Server の動かし方と変わらないが、CentOS であることを考慮する必要があった。 インストールディスク…

RancherOS Lite を試してみた

RancherOS の軽量バージョンである RancherOS Lite を試してみた ailispaw/rancheros-litegithub.com

xhyve を試してみた

OS X のハイパーバイザーである xhyve を試してみた。 xhyve - Lightweight Virtualization on OS X Based on bhyvewww.pagetable.com mist64/xhyvegithub.com

CircleCI で Phoenix アプリケーションのテストを実行する

Phoenix アプリケーションを Heroku にデプロイできるようになったので、CircleCI でテストを実行するようにしてみた。 CircleCI は Erlang と Elixir をサポートしていないため、テスト実行時に Erlang と Elixir をビルドする必要がある。ビルドスクリプト…

Phoenix アプリケーションを Heroku にデプロイする

Phoenix アプリケーションを Heroku にデプロイしてみた。 今回作成したアプリケーションは GitHub で公開しているので、このレポジトリを Heroku にデプロイすれば動かすことも可能である。 holidayworking/phoenix_on_herokugithub.com

Hyper は App Container もサポートする予定らしい

ハイパーバイザー・ベースの Docker エンジンである Hyper。 Docker しかサポートしないだろうと思っていたら、App Container (appc) もサポートする予定らしいですね。 @ayufanpl Would love to explore the idea, but hypervisor and container are inhere…

Hyper で Nginx を実行してみる

Hyper を試してみた - blog.holidayworking.org では run コマンドで VM インスタンスを作成・起動してみた。 Pod でも VM インスタンスの作成・起動ができるようなので、今回は Pod で VM インスタンスを作成して Nginx を実行してみた。 Podfile の作成 下…

Hyper を試してみた

ハイパーバイザー・ベースの Docker エンジンである Hyper を試してみた。 普通の Docker エンジンが採用しているコンテナ型仮想化のメリットとハイパーバイザー型仮想化のメリットを組合せた印象を受ける。コンテナ型仮想化、ハイパーバイザー型仮想化と Hy…

Kitematic 0.6.3 が起動しない場合の解決方法

Kitematic を 0.6.3 にバージョンアップしたところ、白い画面となり起動しない問題と遭遇した。 再起動を何度か試しても解決しなかったので、コマンドラインから実行したところ、エラーが発生していることが分かった。 $ ~/Applications/Kitematic\ \(Beta\)…

Riak Ruby Clinet 2.2.0 がリリースされていた

Riak Ruby Client の最新バージョンとなる 2.2.0 がリリースされていた。 リリースノートによると、新機能は下記の通りである。 Object-oriented Riak Search (Yokozuna) API. Object-oriented Bucket Properties API. Bucket type properties are readable.…

ベトナムサンドウィッチ

www.flickr.com ベトナムサンドウィッチは始めた食べたけど、普通のサンドウィッチにパクチーが追加されただな感じだった……

riak-ruby-docker というものをつくってみた

riak-ruby-vagrant を参考に riak-ruby-client のテスト専用の Docker イメージであるriak-ruby-docker というものをつくってみた。 riak-ruby-client の RSpec が全て成功していることを確認しているので、riak-ruby-vagrant と同じ環境が構築できているは…

Riak Ruby Client における MapReduce の問題点と対応方法 #2

Riak Ruby Client における MapReduce の問題点と対応方法 - blog.holidayworking.org で挙げた下記の問題点は、黙っていても解決しない感じなので行動を起こすこととにした。 Secondary Indexes でバケットタイプを指定することができない Riak Search (Yok…

CentOS Atomic Host で固定 IP の設定方法

CentOS Atomic Host は CentOS 7 がベースとなっているので、NetworkManager で固定 IP を設定することができる。 $ sudo nmcli d デバイス タイプ 状態 接続 eth0 ethernet 接続済み Wired connection 1 docker0 bridge 接続中(IP 設定を取得中) docker0 …

Riak Search (Yokozuna) におけるインデックス登録エラーの原因調査方法

Riak Search (Yokozuna) におけるインデックス登録エラーの原因調査をするためには、下記の2つの方法が考えられる。 ログファイルを確認する方法 yokozuna_error_patch を使う方法 どちらの方法でも、下記のように数値型の項目に対して文字列を登録した想定…

Vagrant で Riak クラスターを構築するために vagrant-riak-cluster というものをつくってみた

Vagrant で Riak クラスターを構築するために vagrant-riak-cluster というものを作ってみた。 使い方 使い方は READE.md にある通りで、デフォルトでは5ノード作成されるようにしてある。作成するノードは環境変数 NODES で定義できるようにしてあるので、3…

Riak Ruby Client における MapReduce の問題点と対応方法 #1

Riak Ruby Client で MapReduce を実行しようとしたところ、下記の問題点を見つけたので対応方法を書いておく。 Secondary Indexes でバケットタイプを指定することができない Riak Search (Yokozuna) を使うことができない Secondary Indexes でバケットタ…

Riak Search (Yokozuna) で位置情報検索をしてみた

Riak Search (Yokozuna) のバックエンドである Solr は位置情報検索に対応しているので、Riak Search でも位置情報検索ができる。 HeartRails Express の API で駅の位置情報を取得することができるので、検索対象データとして今回は駅情報を使うことにする…

Fig で Ruby on Rails の CI 環境を構築する

Docker のオーケストレーションツールである Fig で Rails の CI 環境を構築してみた。 CI 環境と言っても、下記を実行するだけ。 RSpec RuboCop 構築した Rails プロジェクトは GitHub で公開しているので、試すだけなら下記のように。 $ git clone https:/…

MacBook Pro (Retina, 15-inch, Mid 2014) に macanvas の Harinezumi を貼ってみた

www.flickr.com

GoLearn を試してみた #0

Go 言語で実装された機械学習ライブラリである GoLearn を試してみた。 インストール $ brew install liblas $ go get github.com/gonum/blas $ cd $GOPATH/src/github.com/gonum/blas $ go install ./... $ brew install liblinear $ go get -t -u -v githu…

Riak Search (Yokozuna) で日本語の全文検索を行う方法

はじめに 下記のようにデータを保存しても、全文検索を行うことができない。なぜかと言うと、Solr 側に全文検索の対象とするフィールドを教えてあげる必要があるからである。 $ rails c Loading development environment (Rails 4.1.5) [1] pry(main)> clien…

Jenkins で bundle update を実行する

ジョブのビルドに「シェルの実行」を追加して、下記のスクリプトを実行するようにする。 git checkout -b bundle_update_`date +%Y%m%d` bundle update git add Gemfile.lock git commit -m 'bundle update' git push origin bundle_update_`date +%Y%m%d` h…

Ruby クライアントで Riak Search (Yokozuna) を試してみた #2

Riak Search (Yokozuna) のデフォルトスキーマだと Data Types で登録したデータはアナライズされないことが分かったので、下記のようにスキーマを変更してみた。 $ diff -u /usr/lib64/riak/lib/yokozuna-2.0.0-0-geb4919c/priv/default_schema.xml artists…

Ruby クライアントで Riak Search (Yokozuna) を試してみた #1

Riak 2.0 で追加された Data Types で登録されたデータに対して Riak Search (Yokozuna) を試してみた。 バケットとインデックスの紐付けをどうするか分からなかったけど、Riak::Client#set_bucket_props でバケットタイプを指定するだけで良かった模様。 $ …