2016-11-27

mozami.me を HTTPS 化して CI でデプロイできるようにした

ずっとやろうと思いつつ、なんとなくだるくてやってなかった mozami.me の HTTPS 化をしました。

構成は、S3 バケットをオリジンにした CloudFront の distribute を作って、証明書は ACM で発行したものを使ってます。静的なサイトなら定番の構成ですね。さようなら Github Pages..

ついでに、これまたやろうと思いつつだるくてやってなかったブログの自動デプロイを仕込みました。以下のような感じで Travis CI の設定を書くと、master ブランチに merge した瞬間に Middleman のビルドが走ってデプロイされます。

https://github.com/mozamimy/source.mozamimy.github.io/blob/master/.travis.yml

2016-11-20

Itamae 用の Vim syntax プラグイン Itamae.vim の紹介

itamae.vim

インフラの構成管理が Ruby の DSL でできて便利な Itamae ですが、Vim で書いてるときに、キーワードっぽいメソッドに色がつかないのが地味に不便でした。

Itamae 向けの Vim の syntax が、ちょっと探してもなさそうだったのでサクッと作りました。以下の GitHub リポジトリからダウンロードできます。

https://github.com/mozamimy/itamae.vim

2016-11-13

SSH config を構造的に書くための Ruby の DSL Nymphia の紹介

たくさんのサーバを日々扱うエンジニアにとって、SSH config をキレイに保つことは大切です。 そもそも SSH config は構造的に書きにくい仕様になっているし、「まあそんなものか..」と妥協して、SSH config のメンテが適当になってしまうこともあると思います。

今までわたしもそうだったのですが、さすがにそろそろ破滅が見えてきていて、なんとなく Ruby で DSL を作るやっていきが高まったので、Ruby の DSL で設定を書くと SSH config を生成する Nymphia というものを作りました。

https://github.com/mozamimy/nymphia

また、色があまりつかなくてさみしかったので、vim の syntax も作りました。

2016-07-17

Itamae でレシピとリソースに共通のヘルパメソッドを定義するテクニック

Itamae 使ってますか?

Chef のような Ruby の DSL による気持ちのいい書き心地と、Ansible のようなシンプルさを兼ね備えており、わたしのお気に入りの構成管理ツールです。

レシピとリソースにヘルパメソッドを追加したい

ある程度 Itamae のレシピが増えてくると、コードを DRY にするために、特定の処理やデータをメソッドとしてくくりだしておいて、各所で使いたくなることがあります。

2016-07-16

Node.js と AWS (S3・Lambda・SES)を使って CLI アップローダを作ってみた

Architecture

AWS の API であそぶ

ちかごろ、業務で本格的に AWS と向き合う機会が増えてきました。AWS の API を使いこなしていろいろなものが作れるようになりたいなと思ったので、前から遊んでみたかった Lambda を使って、CLI で使えるファイルアップローダを作ってみました。

ファイルの受け渡しがめんどくさい問題

2016-05-14

Arch Linux の ufw を 0.35-2 にアップデートするときの注意点

Linux でのファイアウォール

Linux でファイアウォールを実現するためにはいろいろな方法があり、ユーザの好みや実現したい目的によってツールを切り替えることができます。挙動を細かくいじりたくて iptables を直接操作するのが好きな人もいれば、firewalld や ufw といった iptables のフロントエンドを使って、楽をするのが好きな人もいます。ちなみにわたしは Arch Linux で ufw を利用しています。

週 1 くらいのペースでパッケージのアップデートをしているのですが、今日 (2016-05-12) ufw を 0.34-1 から 0.35-2 にアップデートしたところ、外部からのパケットを一切寄せ付けないコミュ障サーバになってしまったので、原因を調べました。

結論: .rules ファイルの置き場所が変わった

2016-04-27

LGTM 用 gif アニメをシュッと探せる Selemene 0.2.0 をリリースしました

LGTM 用の gif 画像をパッと探してポッと貼れるアプリを Electron で作ってみました で紹介した Selemene をアップデートしました。

Your inventory of animated gifs for LGTM. を実現すべく、いちばん欲しかった倉庫機能を実装しました。以下の GitHub ページからダウンロードできます。

Release v0.2.0

倉庫機能

2016-04-07

いまさら「リーダブルコード」

(image from https://www.oreilly.co.jp/books/9784873115658/)

春もうららか、読書が気持ちいい季節になってきました。しばらくの間、夏ぐらいまで自由な時間が増えるので、積んでいる技術書を崩していく活動を始めました。

その中で、プログラマなら誰でも知ってるであろう、「リーダブルコード」をいまさらながらキチンと読んだので、印象に残った部分を読書メモとして残しておきたいと思います。