Lazuli

らずり

vimrc を設定しなおした

付け焼き刃的に使っていた vimrc を全面的に変えた。といってもゆるよろさんの dotfiles をフォークして自分用に書き換えただけなんだけど。

github.com

一応、vimrc 全部に目を通してわからんとこはググったりなんだとした。人の vimrc 読むと知らないプラグインがあってほほうとなる。

次は zshrc に手を入れたい。

Ansible Vault で Aws キーなどを暗号化する

About Ansible


Ansible is Simple IT Automation

最近は Ansible を使っている。Chef や Puppet に並ぶプロビジョニングツールのひとつ。
Ansible の立ち位置は明確で、Chef の難解さに絶望あるいは嫌気を差した者たちが使うツールとなっている。Ruby の素養もいらず Yaml で書けること、さらにはプロビジョニング時、Chef は対象のサーバ側にも Chef がインストールされていなければならないが、Ansible の場合は手元にだけあれば良いという点もあって徐々に人気が出てきている。

How to use Ansible

面倒くさいので省略する。
エコシステムも確立されつつあって、Google 先生も Ansible についてだいぶ詳しくなってきた。先生に聞いたほうが早いと思う。

How to use Ansible Vault

Ansible でプロビジョニングする際に困るのはコード上に記したくない値の扱いだろう。たとえば Aws のアクセスキーや WebAPI のアクセストークンなどなど。そういったものたちは Ansible Vault という機能を使って値を暗号化することによって安全にプロビジョニングをすることが可能だ。
Ansible の変数ファイルを利用して実行する。Playbook に下記のように vars_files プロパティで変数ファイルを指定をする。

# playbook.yml
- hosts: localhost
  vars_files:
    - vars/private.yml

private.yml には好きな変数名に必要な情報を与えておく。

# private.yml
aws_access_key: hoge
aws_srcret_key: bar

ansible-vault コマンドを使ってファイルを暗号化する。
その際に任意の暗号化パスワードを入力する。

$ ansible-vault encrypt vars/private.yml
ault password:
Confirm Vault password:
Encryption successful

これで暗号化できている。
中身を見てみると…

$ cat vars/private.yml
ANSIBLE_VAULT;1.1;AES256
34393238393235356164353265386163393564306637666563376666366636343937666131626239
3932616239376439313566383230633235633765663531650a343362306137306632656432646136
62613934393030643261366364386263653264303736396537313038346233636636333637303237
3061376562393364630a363162633330323364373761313866363634613331626162383938376636
35316365326632306534623531633464633461383961666336393830326165646361613637613335
6566303836613434303066383165666335656231306634656231


これを使って Ansible を実行すればコード上にキーの値などを記載しなくて済む。ただ、後々さあメンテナンスしようとなったときに暗号化されたファイルを見ても何が書いてあるのか分からないのが。まあ暗号化してるんだから当たり前なんだけど。

実際に復号化して Ansible を動かすには下記のようにすればいい。
実行時に暗号化した際に決めたパスワードが問われる。

$ ansible-playbook playbook.yml --ask-vault-pass
Vault password:

毎回入力が面倒ならパスワードが書かれたファイルをどっかに置いておいて、

$ ansible-playbook private.yml --vault-password-file=/path/to/password_file

とやってもよい。
しかし、こんなやり方だと本末転倒な感じがある。


Ansible、ドキュメントも豊富で敷居も低いので Chef にげんなりした人は使ってみるとうまく運用に乗せられるかもしれない。
良いツールだから使おう。

UNIXという考え方を読んだ

よく耳にする UNIX 哲学について説明してる本。100頁ちょっとしかない。

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

UNIX がいかに素晴らしいシステムであるかが記されているわけだが、Apple 信者のそれと同じようにこれは言いすぎだろー的な過剰な部分もある。
それでも内容は勉強になるものがたくさんあったので評判通り良い本だった。

次回予告

継続的デリバリー読む。500頁くらいある。
表紙のコピーがイケハヤを連想させる。

継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化

継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化

CSS 教材ツールを作った

CSS-Study というのを作った。


app2641/CSS-Study · GitHub


名前の通り、CSS を勉強するための教材。会社の同僚に CSS を学んでもらうために作った。俺自体それほど詳しいわけではないんだけど基礎の基礎くらいは教えられるので CSS とはこういうものなんだと肌で感じてもらえれば御の字だ。

教材はいくつかのカテゴリに分かれている。フォントだったり配置系だったり。そのカテゴリ毎のページにはいくつか問題があり、それをこなすとスタイルの変化が目で分かるという感じにした。Web サーバ立ててそこで動かすとかはしんどいから index.html をブラウザに投げてレクチャーしていく。
実際にブラウザに投げるとこのような画面になっている。

f:id:app2641:20150209001958p:plain


数時間で作ったからめっちゃ雑なのはもう仕方ない。内容もこれでいいのかわからん。
教えてみてなんか反応があんまりだなと思ったら修正を加えていこうと考えている。
ひと通りやったらその先は自分で調べて学んでいってほしい。
あと心配なのは俺の口頭によるレクチャースキルだな…

hamamatsu.rb 参加した

hamamatsu.rb という月一で開催されてる Ruby の勉強会に参加した。

参加理由

Capistrano, Vagrant, Chef あたりを使おうとすると設定ファイルを Ruby で書くことになる。それで、本やドキュメント読みながら書いてると、こう書けばこういう動きをするんだなというのは理解できてくる。だけど、なんでこういう書き方なんだろう?というのがよく分からない。また、ぐぐると人それぞれによって書き方が違ったりして混乱することが多かった。これは Ruby の文法に理解がないのが原因で、それならば Ruby をせめて読めるようになろうと勉強しだしたのが去年の冬。
Rails Tutorial など少しやってみてなんとなく Ruby が分かってきたところに DoorKeeper を眺めていたらちょうど hamamatsu.rb が流れてきて、これはいい機会だと参加した。どんな雰囲気なのか気になったからそれを見に行ったというのもある。

感想

普段参加するのって単発で開催されてるものや年一でやってるのが多くて、こういう定期的に開催してる勉強会というのは初めての参加だった。予想してたよりもゆるい感じであった。まあ普通に考えて月一で開催する勉強会にタイムテーブルきっちり組んでがっつり時間通りに!というのはしんどいものがあるよね。こういう空気のほうが継続しやすそう。
参加者はいい人ばかりでコミュ障でもそれとなく話をすることが出来た。懇親会で交流出来たのも良かった。
みんな Ruby 大好きなんだなあというのはすごくよく分かったな。

今後について

仕事定時に上がって車すっ飛ばして参加したけど、正直浜松までの距離をなめてた。片道一時間はしんどかった。途中眠くなってうおおおーとか言いながら運転した。
懇親会楽しいんだけど参加して家帰ると一時過ぎ、寝るのが二時あたりと明日仕事行きたくねええええというこの上ない心持ちになるのでほどほどにしたい。
勉強会自体は都合のいい時はなるべく参加するようにしよう。もう少し Ruby に慣れてきたら何か LT もやってみたいですねー。

こちらからは以上です。

最近の情報収集の方法

情報過多だと言われている昨今、最近やってる情報収集について書く。

はてなブックマーク

とりあえずはてブ
最近のホッテントリはノイズも増えて若干不満なところはある。RSS リーダーで読んでる。
パソコンでは feedlyスマホでは News+ っていうのを使ってる。

はてブにはタグの検索結果を RSS で吐いてくれる機能があって、
例えば Android タグの 検索結果 には、

http://b.hatena.ne.jp/search/tag?safe=off&q=Android&mode=rss

というフィードの URL が付いてる。これをリーダーで読み込む。
誰かが Android タグ付けてブックマークすると RSS に挙がってくるという感じ。べんり。
ニッチなタグは過疎ってるのが難点。


http://b.hatena.ne.jp

はてなブログ

Web エンジニアがブログ書いてる率が高い。理由は不明。
読者になっておくと毎朝メールで新着記事を送ってくれるからだいたい仕事前に読んでる。
Hagex さんとかエンターテイメント系も読んでる。


はてなブログ

Google Play ニューススタンド

時事ニュース読むのに使う。
Google ニュースを読んでることになるんだろうたぶん。仕組みはよくわかってない。
それほどビジュアルに凝ってないし、カテゴリ別に見やすいのもあってこれに落ち着いた。
News Picks あたりも使ってみたけどコラムが大量に流れてきて合わなかった。
空いた時間に隙を見て読むことが多い。

Google Play ニューススタンド - Google Play の Android アプリ

Podcast

ながら聴きが苦手だからそんなにあれこれ聴いてるわけではない。
寝る前に少し聴いて残りを次の日にーって感じのを繰り返してる。
ウェブ系だと Rebuild.fmmozaic.fm は鉄板。
あと 笑福亭鶴瓶 日曜日のそれ ニッポン放送 も聴いてる。
変な企画もなく単純にトークだけで進むから聴きやすい。情報収集ではないけども。
アプリは Podcast Addict を使ってる。普通の出来で可もなく不可もなくって感じ。
iOSOvercast が気になってる。

GitHub

Web エンジニアだし GitHub の流行りも知りたい、ということで starseeker というサービスを使ってる。
GitHub でフォローしてる人がスター付けたリポジトリを毎日メールしてくれる。有名どころな人をフォローしておけば良い感じのリポジトリを知ることが出来る。人任せな感じだけど。
あとは Explore で適当に GitHub 内のトレンドを追ってる。まあトレンドに挙がってくるのはだいたい starseeker でも流れてくるしそれほど積極的に追ってはいない。 なぜか Google Apps Script でフィードをパースして会社のチャットに投げるようにしてる。なんとなく。

勉強会

勉強会情報を良い感じに手に入れるやり方が見つかってない。以前、自分でこういう サービス を作ったけど使ってみて微妙すぎた。
connpass でグループに所属して通知貰うってのもいいけど、グループ設定のない勉強会は見逃すという。ATND とか Zusaar とイベント系のサービスも乱立してるし。


まあ、そんな感じ。