Masteries

技術的なことや仕事に関することを書いていきます.

環境変数"GIT_EDITOR"にご用心

Gitを使っていて git commit などをしたときに, コミットログを編集するために開かれるエディタは, デフォルトではviですが, 任意のエディタを指定することができます. 例えばvimにしたいのであれば, git config --global core.editor vim を実行すると, ~/.gitconfig が書き換わり, 以後はvimが使われるようになります.

[core]
    editor = vim

このとき, git config --global core.editorを実行すると, 現在設定されているエディタを確認することができます:

$ git config --global core.editor
vim

Gitで使うエディタを変更するとき, 気をつける必要があるのが環境変数GIT_EDITORです. 実はこの環境変数はcore.editorの設定よりも優先されます. そのため,

$ GIT_EDITOR=nano git commit

などとすると, たとえ git config --global core.editorvim であっても, コミットログの編集のために開かれるエディタはnanoになります. 更に不幸なことに,

$ GIT_EDITOR=nano git config --global core.editor
vim

といった挙動になるので, 妙な場所で環境変数GIT_EDITORを設定していると, 一見Gitのcore.editorが効かないように感じてしまいます.

...最近vimからnvimに移行したのですが, これにはまって(GIT_EDITORvimにしていた), 数日間素のvimでコミットログを編集することを強いられてしまったので, 同じような罠にかかる人が現れないようにメモしておきます.

YAPC::Okinawaで, 「Webサービスを監視するときに僕達が考えたこと」というトークをしました

トークを聞きに来て下さった皆様, ありがとうございました! 以下スライドです:

少なくともYAPCでは初めての40分トークで, しかも思っていた以上に人が来ていて, 終始あたふたしまくりでしたね. 発表していた自分のLAも危険な領域に突入していました...

そういう感じで, 後半ちょっと走り気味ではありましたが, とはいえ話したいと思っていたことは全部話せたので良かったです. 結構学生の方が聞きに来てくれていて, そういった方がこれからエンジニアとして活躍していくときに役立つような発表ができたら良いし, その中で, 既にエンジニアとして働いている方々に知見を提供できたり, そこから新しい意見を聞けたりできたらいいなー, と思っておりましたが, そういう感じで楽しんでいただけたのなら幸いです.

この後もB会場を中心にうろうろしている予定で, 懇親会にも参加しますので, 質問や感想などあれば是非直接話しかけてもらえると嬉しいです! (ツイートやブログエントリでも嬉しいです!). 沖縄はあいにくの大雨ですが, 引き続きYAPC::Okinawa楽しんでいきましょう〜!

YAPC::Okinawaで, 「Webサービスを監視するときに僕達が考えたこと」というトークをします

yapcjapan.org

YAPC::Okinawaで応募していたトークが採択されました! タイトルは, 「Webサービスを監視するときに僕達が考えたこと」です.

Webサービスを開発し, 運用していると, 様々な出来事が生じます. 何らかの要因によるリクエスト数の上昇があったり, サーバーやネットワークの疎通が急に止まったり, 或いは利用している外部サービスで障害が発生したり... そういった時に, サービスの異常事態にいち早く気付き, 迅速に対応するためには, Webサービスをしっかりと「監視」していくことが重要です.

本トークでは, Webサービスの「監視」と「通知」そして「対応」という3つの視点から, 「Webサービスを運用していく」ことについて考察します. その中で, 「監視」と「通知」を実現する道具として, 株式会社はてなが提供するサーバー監視SaaS「Mackerel」を題材とする予定です. また, 「はてなブログ」を題材とした, Mackerelを利用したWebサービス監視の実情などもお話出来ればと思っています.

具体的には, 以下のような話題が含まれる予定です:

- なぜ「監視」が必要なのか?
- サービスに這い寄る障害達
- 「監視」と「通知」と「対応」の車輪を回そう
- どこまで通知する? 〜狼少年にならないために〜
- Mackerelを活用したWebサービスの監視
- Webサービスの監視の現場 〜はてなブログの場合〜

このトークをきっかけに, 「Webサービスの監視」について, 皆さんと一緒に理解を深められると嬉しいです.

初心者向けの内容にしようと考えていて, "Webサービスの監視"について思いを馳せたことのない学生さんや, Webサービスの監視についての知見が欲しい/意見交換がしたいエンジニアを想定した内容になる... 予定です. はてなブログにおけるWebサービス監視の実例や, (機材を買えば)自宅で今すぐ初められる監視ライフといったお話も, できればと思っています.

それはそれとして沖縄情報もまとめておきました, YAPC::Okinawaに参加される方は参考にして下さい:

papix.hatenablog.jp

それでは, 3月3日にYAPC::Okinawaでお会いしましょう!

「mackerel-plugin-nature-remo」書いた

最近, いろいろあってNature Remoを購入しました.

nature.global

購入してから知ったのですが, Nature Remoは温度と湿度が測定出来るようになっていて(湿度は10%刻みの概算値ですが), これもちょうど最近公開されたAPIドキュメントを見ていたところ, Nature Remoで取得した温度と湿度を, API経由で取得出来ることがわかりました.

...というわけで, Goの勉強を兼ねて, Mackerelのプラグインにしてみました.

github.com

Goについてはまだまだ勉強中という感じでしたが, github.com/mackerelio/go-mackerel-pluginを使いつつ公式のドキュメントを見たり, あるいは既存のプラグインのコードを参考にしながら, 試行錯誤しつつ6時間くらいで完成できました.

...割といろいろ雑なので, Pull Requestいただけると幸いです.

できること

こういう感じで, Nature Remoから取得した温度と湿度をMackerelで可視化することができます. ちなみに複数のNature Remoを持っている場合は, 湿度と温度が1つのグラフでまとまって表示される... はずです(1つしか持っていないので試していない).

f:id:papix:20180222012530p:plain

ちなみにプラグイン本体は, GOOS=linux, GOARCH=mipsel でビルドして, Edge Router Xで動かしています.

papix.hatenablog.com

「アジャイルサムライ」読んだ

「SQLアンチパターン」を読み進めたい, と言っていたのだけれど, この季節寝る前に枕元で本を読むなら物理本よりも電子本(Kindle)の方が圧倒的に楽なので, ついつい電子本を読み進めてしまい... というわけで, こちらもまた以前安く販売されていたので買ったものの, 延々と放置してしまっていた, 「アジャイルサムライ」を読みました.

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

  • 作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未
  • 出版社/メーカー: オーム社
  • 発売日: 2011/07/16
  • メディア: 単行本(ソフトカバー)
  • 購入: 42人 クリック: 1,991回
  • この商品を含むブログ (257件) を見る

前職時代, アジャイルに造詣の深い方が入社されて, プロダクト開発の中でアジャイルなやり方を試してみたり, 現職でもプロダクト開発の中でアジャイルのエッセンスを活用したりしていて, そういう"実践"から見たアジャイルは, 自分なりに咀嚼していたつもりです.

一方で, この「アジャイルサムライ」という本は, アジャイルなやり方について, "根本から"... というか, 「なぜアジャイルのような開発手法が登場してきたのか?」という"理論(思考)"的な部分から解説されていて, これまでに自分が咀嚼してきた内容を, 別の観点から補足してもらう... みたいな, そういった学びができた気がします.

文体もカジュアルだけれどカジュアル過ぎず, ユーモアもあって読みやすかったですし, 加えて文量もそんなにないので, シュッと読めました. 本の中では, アジャイルな開発のために活用される様々なアイデア, 手法が紹介されていますが, それらもチームの立ち上げ期から順を追って紹介されているので, 「自分だったらどうするだろう?」, 「今のチームだとどう活かせるだろう?」というイメージもしやすかったです. 加えて プロダクト開発の中で起こる様々なトラブルに対して, どのような対処が考えられるか紹介されていたのも良かったですね.

さっくりとアジャイルのエッセンスを体感してみたい方はもちろん, 既にチームにアジャイルマスターがいて, アジャイルなやり方に取り組んでいるけれど, なんとなくやっていてうまくいっているけれどもう少し理論的な(?)所を補足したい, という方にとっても, お手軽に読めてオススメだなーと思いました.

次こそは「SQLアンチパターン」... と思っていたけれど, 前述の理由(電子本の方が圧倒的に楽)で, 「高速スケーラブル検索エンジン ElasticSearch Server」を読み始めてしまった...

高速スケーラブル検索エンジン ElasticSearch Server (アスキー書籍)

高速スケーラブル検索エンジン ElasticSearch Server (アスキー書籍)

  • 作者: Rafal Kuc (lにストローク符号、cにアクサン・テギュ付く),Marek Rogozinski (nにアクサン・テギュ付く)
  • 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
  • 発売日: 2014/03/25
  • メディア: Kindle版
  • この商品を含むブログ (3件) を見る

ただこれ, ElasticSearchの滅茶苦茶に古いバージョンの本なので, 程よく読み飛ばしつつサクッと読み切って, 次こそは「SQLアンチパターン」... と思いつつ, 「エラスティックリーダーシップ」も手に入ったので, そっちも消化したいんですよね...

エラスティックリーダーシップ ―自己組織化チームの育て方

エラスティックリーダーシップ ―自己組織化チームの育て方

...まあ, 最近程よくコンスタントに積んでいる本を消化できているので, 焦らず1冊ずつ読み解いていきたいと思います.