weblog of key_amb

主にIT関連の技術メモ

GitHubリポジトリを @progrhyme に移行していきます。

English follows Japanese. お久しぶりです。きいあむです。 ご存知の方も多いと思いますが、3月にアカウントを id:progrhyme に引越しました。 それから早4ヶ月経ちましたが、未だに「ID移行中」というステータスです。 のんびりやってます。はい。 さて、…

Hugoのドキュメント用テーマ「bootie-docs」v1.3までの更新について

Go製の静的サイトジェネレータHugo向けに、Bootstrapを使った簡素なドキュメンテーション用のテーマBootie Docsなる物を以前に作って、折りに触れてメンテナンスしています。 今回は特に大きな変更や機能追加はないのですが、互換性のない変更もありますので…

MECEな木構造による分類方法の提供は要求定義を間違えているのではないか

一昨日ふと思ってSNSに何件か短文を投稿したのですが、今後この件について再考したり、何か作ったりすることもあるかもしれないなと思ったので、記録がてらにこちらにも投稿しておきます。 タイトルについて ケース・バイ・ケースで、それで十分ということも…

メモ:ソフトウェアにキラキラネームを付けることの功罪について

あるソフトウェア・プロダクトを開発するにあたって、名前を決めたい。 次の2つの選択肢を考える。 キラキラネームを付ける。 神様の名前とか、古語とか、プロダクトの機能と紐付かない固有名詞っぽい名前 機能に即した名前を付ける。 …で、前者の後者に対す…

bashrc 内で bind を使うとリモートからコマンド実行時に警告が出る

peco などを快適に使うために ~/.bashrc 内で bind コマンド*1を使って、キーバインドをカスタマイズしています。 このとき ssh $host "コマンド" のようにリモートからコマンドを実行すると、 ~/.bashrc から bind を実行する行で、下のような警告が出ます:…

2016 年を Software Engineer として振り返って

はじめに 概要と、昨年との比較 2016年に作ったもの ピックアップ shove (ShellScript) fireap (Ruby) poloxy (Ruby) grifork (Ruby) perl5-App-Memcached-CLI 関連記事 他に、こんなのも作ってました Contributions 勉強会で発表した 終わりに OSS 活動と業…

ちょっとしたワークフローエンジンを作るときは Rake で十分だと思う

Ruby なら特に。 Ruby 以外でも、使えるケースはありそう。 Rake には次のような機能が有る。 タスクの依存関係定義 並列実行 別のタスクの呼び出し また、タスクを記述する Rakefile 内では Ruby の文法が使えるので、特に外部の gem を使わなくても、任意…

Ginza.rb で "grifork" について発表してきた

10/18(火)に、第40回の Ginza.rb に参加してきました。 初参加でしたが、今回は他にも初参加の方が8名ほど(?)いらしていたようです。 Ginza.rb では、毎回、別々のテーマについて会を催しているようです。 今回は「自分でつくったものを見せてみよう」とい…

ssh と rsync だけで Tree Deploy を実現する "grifork" を作った

はじめに〜fireap to grifork Tree Deploy とは grifork: standalone モード grifork: grifork モード 使い方 動作例と実行ログ 今後の展望 余談〜デプロイの未来について おまけ〜grifork の語源 はじめに〜fireap to grifork 約半年前に fireap というデプ…

"clenv" がそこそこ xxenv っぽく使えるようになってきた

3日前に上の記事を書いたばかりですが、また少し工事をしたので、自分の中での整理も兼ねて、お知らせ。 "clenv" は私が趣味で作っているもので、シェルスクリプトのパッケージ管理ツールのようなものです。 ソースコードは https://github.com/key-amb/clen…

シェルスクリプト用テストツール "shove" v0.8 までの更新のお知らせ

シェルスクリプト用のテストツール "shove" を作って、初めて上の記事で紹介したのは約5ヶ月前になります。 今回は、上記事の時点からこれまでの主な差分をお知らせします。 言うなれば CHANGELOG + αな記事となります。 shove は GitHub で公開しています。…

"clenv" というシェルスクリプトのモジュール管理ツールを引き続き作っている

keyamb.hatenablog.com 上の記事を書いたのが3ヶ月前ですね。 趣味で作っているのでだいぶ波があるのですが、初コミットからは5ヶ月ほど経ちました。 "clenv" って何? "clam" モジュール NEW - "cload" コマンドと "cllib" 関数 NEW - shims/ に shim を置…

enhancd を改修して引数なし cd コマンドの挙動を変えずに使えるようにした

先日、上の記事を書きました。 記事末尾に「余談」として、次のように書きました。 もう1つ enhancd による cd の挙動変更でときどき戸惑うのは、 cd 単体で実行したときです。 enhancd ではこのときもディレクトリ履歴検索による選択画面になります。 これ…

RSpec で example の外で定義したローカル変数を使うのはアリか?

※9/3 @jnchito さんのコメントを受けて追記しました。 RSpec で example の外で定義したローカル変数を使う テストコードの例 特徴・用途 「アリ」なのか、「ナシ」なのか? 2016/9/2 現時点の結論 9/3 追記:ローカル変数が使えそうな例 (1) 長いメソッド等…

enhancd を改修して "cd -" や "cd .." の挙動を変えずに使えるようにした

Bash で enhancd を導入することにした cd の履歴を peco で移動したい。 シェル環境で peco を使いだした人なら、きっとそう思うことがあるでしょう。 zsh だと、cdr と組み合わせることで実現できます*1。 下の記事あたりを参考に設定するといいでしょう。…

Bash Infinity よりずっと前に Bash on Rails なるものを作った人がいると記録しておく

備忘録を兼ねて、ブログを書いておきます。 きっかけは、昨日のはてブでホットエントリに上がっていた下の記事です。 元記事から、GitHub のソースコードにたどりついて、少しだけ内部のコードを読みました。 https://github.com/niieani/bash-oo-framework …

Googleサイト上の個人WikiでMarkdown Hereを使うことにした

気づけば1ヶ月以上ブログの更新が滞っていたようです(汗) いくつか小ネタが溜まっているので、隙を見て消化していきたいと思っています。 さて、半年ほど前に、日々の個人的な雑メモは こちらの Google サイト に書くことにしました。 その経緯については、…

#PrometheusCasual #1 に行ってきた

発表資料 @wyukawa Hadoop, Fluentd cluster monitoring with Prometheus and Grafana @mtanda Prometheus on AWS @tokuhirom promgen - prometheus management tool kawamuray HBase, Kafka cluster monitoring with Prometheus and Grafana @moznion 5分で…

6/8 appengine ja night #33 に行ってきた #gcpja

後でブログ書こうと思って、土日にも書くのを忘れていた(汗)のですが、珍しく早起きして思い出したので、今更ブログを書いています。。 というわけで、掲題の通り、6/8 に appengine ja night #33 に行ってきました。 ご存知、GAE こと Google App Engine の…

Ubuntu + xkb で JISキーボードのキー配置入れ替え

はじめに 仕事で使っている Mac は、昔USキーボードがかっこいいと思っていた頃にUSキーボードにしたままなのですが、家ではJIS配置のキーボードを使っています。 JIS配置の場合、「変換」「無変換」キーが余ること、「半角/全角」「Esc」キーが遠いことから…

"clenv" というシェルスクリプトのパッケージ管理ツールのようなものを作った

主に先月、開発していました。 いまバージョンは 0.1.12 です。 最近、久しぶりにやりかけだった機能拡張を進めようかと思ったのですが、拡張した機能を今後、自分自身でもあまり使うイメージが持てなくて、現状をひとまずこの記事にまとめておくことにしま…

アラートをまとめるシステム "poloxy" の v0.2 をリリースしました

前回の記事で紹介した poloxy をその後リリースして、本稿の執筆時点で v0.2.1 までバージョンが進みました。 ※5/8 v0.3.1 になったので追記しました。 目次: "poloxy" とは Motivation Current Status (※5/8 追記アリ) Milestone (余談) Another Approach …

ドキュメンテーション用の Hugo のテーマ "bootie-docs" を改善しました #gohugo

Bootie Docs はちょうど一年前ぐらいにドキュメンテーション用の静的サイトジェネレータがほしくて作った Hugo*1 の Theme (テンプレート)です。 当時の記事はこちら: Hugo で "bootie-docs" というドキュメンテーション用のテーマを作った #Hugo - weblog …

西日暮里.rb で "poloxy" というアラートシステムの話をした #ninirb

昨夜、GW 突入前に下の勉強会に参加してきました。 西日暮里.rb ゴールデンだよLT大会 @ 秋葉原UDX!! - 西日暮里.rb | Doorkeeper poloxy は未完成なのですが、"pool" + "proxy" の造語で、通知の送信者と受信者の間で動いて、流量をコントロールしたりし…

find ... xargs ~ のラッパーを2つ書いたけど ag に移行していこうと思う

自分がよく使うコマンドを、自分が使いやすいオプション付きでラッパー化しました。 自分はこれまで ag(the silver searcher) をほとんど使っていなかった *1 ので、いつもこんなコマンドを叩いていました。 …が、このエントリを書くにあたって改めて調べた…

"shove" というシェルスクリプト用のテストツールを作った

CONTENTS: "shove" とは Motivation こんなツールにしたい 使い方について 中で何をやっているのか おわりに "shove" とは こちらです。 github.com 動作イメージとしては README.md にも貼っているスクリーンショットがわかりやすいと思うので、こちらにも…

渋谷.rb で "fireap" という pull 型デプロイツールの話をした #shibuyarb

拙作の fireap について、最初のお披露目記事(↓)を書いてから1ヶ月と少しが経ちました。 それから Ruby 系の勉強会に参加する機会を伺っていたのですが、ようやく昨日 4/20 に 渋谷.rb[:20160420] で少し話すことができました。 下がその発表スライドになり…

Bash で pathctl という PATH 操作ツールと bb という簡易ベンチマークツールを書いた

小さな Bash のスクリプトを2つ書いたという小ネタです。 使い方 1. pathctl 環境変数に対する push, pop, shift, unshift 操作を提供します。 #!bash source pathctl.shrc pathctl_push /path/to/your-bin # 末尾に追加 pathctl_unshift /path/to/your-bin …

時系列DBって結局どれがいいんだっけ #TSDB

※4/6 その後調べた情報などを記事末尾に追記 前提となるニーズ サーバの負荷情報とか、アクセス状況のような KPI を取得・保存し、可視化(参照してグラフ化)したい。 リアルタイム性が要求される。5分以上前のデータしか見れませんみたいなのはお呼びでない…

Git のリポジトリを1コマンドで統合できるシェルスクリプトを書いた

気づいたら GitHub にリポジトリが40個以上ありました。 古いものは作りかけだったり、実験して後に放置したものなどがいろいろありました。*1 そのままでも特に困ることはなく、これまで気にすることはなかったのですが、最近ときどき邪魔だなと思うことが…