weblog of key_amb

主にIT関連の技術メモ

2016-03-01から1ヶ月間の記事一覧

Gotanda.pm #8 で memcached-cli について喋ってきた #gotandapm #memcached

既に2回このブログで紹介している memcached-cli について、昨日開催された第8回 Gotanda.pm で LT してきました。 資料はこちらです。今回は Speaker Deck に上げてみました。 Speaker Deck だとスライド中のリンクが無効になる(?)ようなので、いくつか貼…

Ruby コード中の "=" や "=>" を整列してくれる "ruby-align" というツールを作った

こちらになります。 github.com 使い方・動作例 ruby-align [-f] ファイル で結果を標準出力に吐きます。 README には vim の設定例を書いてますが、エディタから呼んでその場でコード整形すると捗るかと。 動作例としては、README に挙げたものをこちらにも…

memcached-cli の v0.9.4 までの追加機能の紹介

3/24 の記事で、最近作った memcached-cli というツールの紹介をしました。 keyamb.hatenablog.com 別に困ってはいないのですが、もっと便利にしたので、Changes から抜粋して追加機能を紹介しておきます。 昨日か一昨日に手元に入れて試してみた、という方…

Memcached に対話的にコマンドを実行できる "memcached-cli" を作った

Redis*1 には redis-cli というツールがあって、Redis サーバに接続して対話的にコマンドを発行して、結果を得ることができます。 Memcached*2 の場合、いい感じに使えるツールがなくて*3、必要なときはいつも TELNET でつないでコマンドを実行していました…

Consul クラスタ上で動作する S3 非依存の pull 型デプロイツール "fireap" を作った

github.com fireap = fire + reap です。 Consul Event を発火(fire)して、受信側でそれを収穫(reap)する、という意で。 読み方は「ファイリープ」で良いかと思ってます。 どんなツール? GitHub に上げた README.md より、かいつまんで日本語に変換しつつ説…

Consul Kv の Lock 機構の仕様と使い方のメモ

Consul の Kv は気軽に使えるデータストレージという印象だけど、ロック機構もあるようだ。 何度かドキュメントに目を通したけど、イマイチ使い所がわからなくて素通りしていた。 が、意を決して読み込んで手元で試したりして、だいたい理解できたと思うので…

git push する前に stash して pull --rebase してくれるシェルスクリプト書いた

git push しようとして陥りがちなパターン: remote branch が更新されてて push がこける local 差分があるため git pull --rebase できない こういうケースでイライラしないために、 git stash && git pull --rebase && git push && git stash pop みたいな…

Unbound と Consul を組み合わせて使う方法について

DNS キャッシュサーバの Unbound と DNS インタフェースを持つサーバ・クラスタ管理ツール Consul を組み合わせて使う方法について。 Consulの公式ドキュメントには、BIND や dnsmasq と組み合わせる方法が載っている。 Unbound はどうだろうとふと気になっ…

Ruby で TOML を使うための gem

Ruby で TOML*1 を使いたいと思って RubyGems.org を探したところ、ダウンロード数の上位3つは、順に以下だった。 https://rubygems.org/gems/toml (v0.1.2) https://rubygems.org/gems/tomlrb (v1.2.0) https://rubygems.org/gems/toml-rb (v.0.3.10) 結論…

コンテナ型仮想化のメリット・デメリット

サーバインフラ運用の観点から。 メリット 起動が高速なので急な負荷上昇時に迅速にスケールアウトでき、機動的なキャパシティ制御(リソース管理)が可能。ピーク負荷に備えておくために、余分に起動しておくということが不要になり得る。 ただし、コンテナを…

CentOS 7 では iptables が firewalld になっている

デフォルトで有効になっていることがあるが、 service iptables status や systemctl status iptables では当然見つからず、一見止まっているように見えるので要注意です。 これに気づかず、Vagrant で private_network を作って VM 間通信できないな、おか…

CentOS 7 で特定の (IP, port) に対する通信が可能か確認

CentOS 6 な環境では、下の記事にあるように nc -zv $ip $port で確認できる。 IPv4 な環境では nc -zv4 でいい。 【初心者向け】各OSのTCP通信チェックコマンド入門 | Developers.IO が、CentOS 7 の nc は nmap-ncat に置き換えられている。 だいたい同じ…

daemontools のない環境で envdir 的なことをする

daemontools*1は便利だけど、時には使えない環境もあると思う。 そんな環境で envdir 的なことをしたいとき、どうするかという問題。 envdir とは ドキュメントに書いてあるけど、指定したディレクトリ以下のファイルの中身を読み込んで、環境変数を読み込ん…

ライブラリの ver. up 後、翌日3時にシンボルが見つからなくなる

CentOS 6.x でライブラリ rpm の ver-up をしたときの話。 依存プログラムをそのときに再起動したのだけど、翌日3時になるとなぜか共有ライブラリが見つからないのようなエラーが。 このとき、プロセスがどんなライブラリを開こうとして何が見つからなくなっ…

AWS CLI で Access Key から IAM 情報を取得

AWS

aws iam get-user でできます。 aws iam get-user --user-name Foo で Foo ユーザの情報を取得しますが、省略した場合には、aws cli を叩いている人の情報を取ってくれます。 もちろん、IAM 参照権限が必要になりますが。 参考 get-user — AWS CLI 1.10.9 Co…