2014-01-01から1年間の記事一覧
aereal/gulp-handlebars-playground · GitHubHTML を出力するためのタスクを用意してみた。 gulp gulp-data gulp-compile-handlebars gulp-rename ……を使った。 gulp-data stream に data を追加できる。gulp-compile-handlebars などのようにパラメータを受…
role で使う変数の名前が衝突しないよう配慮すると、素朴に辞書を定義して名前空間を導入したいと考えると思う: --- # roles/mackerel-agent/defaults/main.yml mackerel_agent: pid_file: '...' id: '...' ところが Ansible の Variables は辞書の deep mer…
ソフトウェア開発におけるテストは仕様の表現のひとつという風にも扱われるなど、重要な役割を担う一方で、テスト自体の妥当性の検証や保証は少なくて、こういう不安定な土台の上でいろいろやっていいのか、という気がする。レビューする時には、まずテスト…
タイトルにあることを Ruby でやる実装を書いた:aereal/module-requirement aereal/module-requirement · GitHubSwift / Objective-C の protocol は具象クラスがメソッドを実装していることを要求できるので、Ruby でも似たようなことをやってみる、という…
public/ ディレクトリがある場合 cd my_repo ln -sfv $PWD/public ~/.pow/my_repo public/ ディレクトリが無い場合 (ディレクトリ直下を ServerRoot にしたい) mkdir -p ~/.pow/my_repo ln -sfv $PWD ~/.pow/my_repo/public 結論 ServerRoot が ~/.pow/$vhos…
以前に書いた AquaSKK をインストールする Cask を書いた - Sexual Knowing の続き。 Homebrew Cask で AquaSKK をインストールするには brew tap aereal/homebrew-aereal_casks brew install aquaskk Cask DSL 1.0 をサポート homebrew-cask/cask_language_…
テンプレートエンジンNight というイベントで Text::Xslate を使ってテンプレートの静的解析とリファクタリングを行った知見について発表した。 テンプレートエンジンを使ってこういうことができる、というような内容から、テンプレートエンジン作った・作っ…
最近、MacBook の SSD の空き容量がいつの間にか無くなっていて、スワップを作れなくなった結果、フリーズするということがあって反省したのでちゃんと管理しようという気持ちになった。 ひとまず家にある中で壊れたりトラブルが起きると一番困るのは QNAP …
Text::Xslate::AST::Walker - Filter Nodes in the AST made by Text::Xslate - metacpan.org ae real / Text-Xslate-AST-Walker-0.01 - search.cpan.org これはなに? Text::Xslate::Parser が返す AST を文字通り「歩きまわる」ためのモジュールです。0.01…
HTML::Selector::XPath@0.16 は CSS における class セレクタと等価な XPath を出力しない - Sexual Knowing HTML::Selector::XPath@0.16 は CSS における class セレクタと等価な XPath を出力しない - Sexual KnowingNormalize space characters of the cl…
再現コード class_with_lf.t class 属性の値における「空白文字」 class 属性の値は: The attribute, if specified, must have a value that is a set of space-separated tokens representing the various classes that the element belongs to. HTML Stand…
プログラマブル Mac OS X - YAPC::Asia Tokyo 2014「プログラマブル Mac OS X」というタイトルで YAPC::Asia Tokyo 2014 のトークに応募した。ひとつの仕事をうまくやるプログラムの組み合わせでより大きな仕事をこなす、という UNIX 的な考え方は Mac OS X …
A. npm shrinkwrapnpm shrinkwrap を実行すると package.json に列挙されている依存を読みとり、実際にインストールされるべきモジュールのバージョンが列挙された npm-shrinkwrap.json というファイルが作られる。npm install はこのファイルが存在すればこ…
aws route53 change-resource-record-sets の --change-batch 引数の値にファイルパスを渡すには file スキームの URI を渡す必要がある。 aws route53 change-resource-record-sets --hosted-zone-id /hostedzone/XXXX --change-batch file://${PWD}/batch.…
バッチスクリプトなどで work tree の外から git pull を行いたい、ということはままあるシチュエーションであると思います。git コマンドは --git-dir オプションでコマンドで操作する .git ディレクトリを指定できるので、これを指定すれば済むと思うかも…
Kyoto.なんかという Kyoto.js の潮流を汲んだような汲んでいないような、勉強会のようななんなのかよくわからないイベントで発表した。browserify という Common JS Modules/1.0 などに互換のあるモジュールを、Common JS Modules/1.0 などモジュール機構に…
anyenv のプラグイン anyenv-exec を作った。 使い方 たとえばインストールされている *env のバージョンを出力する例: anyenv exec --version # plenv 2.1.1-9-g26dbef7 # pyenv 0.4.0-20140404-10-g601ac4b # rbenv 0.4.0-97-gfe0b243 rehash する例: anye…
chrome.contextMenus.create(), に parentId と contexts, targetUrlPatterns, documentUrlPatterns などのコンテキストメニューのコンテキストを制限するプロパティを同時に指定できないのかな— ♨️ (@aereal) April 13, 2014 contexts や documentUrlPatter…
Perl には Test::Class という JUnit 風にテストを書けるモジュールがある。すなわち: テスト用のクラスを定義し アサーションをインスタンスメソッドとして括り出す ことができる。Test::Class はテスト実行時に環境変数 TEST_METHOD に与えられた値で実行…
Linux では procfs がマウントされているので strings /proc/PID/environ と実行すると出力される。OS X では procfs はない。ps(1) に -E オプションを渡すとプロセスの環境変数を出力する。参考: osx - OS X - Determine the enviroment for a given PID? …
rbenv *1 は rbenv version-origin というサブコマンドがあり、それは「rbenv がバージョンを決定するのに使われた設定」を出力する。出力は次の3つのうちのいずれかとなる。すなわち: global の設定 $HOME/.rbenv/version ディレクトリごとの設定 (local) $…
解決 set shell=/bin/sh する。あるいは POSIX 互換のシェルを shell オプションに設定する。 原因 Vim の system 関数はシェルに文字列を渡してコマンドを実行しようとするが、実行するシェルが POSIX 互換であることを期待している。 参考 Answer : Bug#60…
brew install pow したあと brew info pow に書かれている以下の手順でインストールした Pow が突然起動しなくなった。 sudo pow --install-system pow --install-local 原因 ~/Library/LaunchAgents/cx.pow.powd.plist にインストールされるプロパティ・リ…
jingweno/gh · GitHubGo で書かれた hub の port のひとつ、と表現するのが簡潔でわかりやすい。インストールの方法はいろいろある。拡張・追加しているサブコマンドは hub のそれとあまり変わらない。hub のおよそ2倍ほど速いので、alias git=gh してもそれ…
鞄情報 - ✘╹◡╹✘ かばん情報 - 鈴木うどんの横須賀おもしろ生活 いちがつじゅうさんにち - diary.sorah 情報が集まっているので僕も提供します。 通勤、散歩 master-piece | MSPC PRODUCT : Effect No.12341これのベージュを使っている。通勤 (徒歩20分) やカ…
homebrew-cask homebrew-cask という OS X の GUI アプリケーション (*.app のこと) も Homebrew のような DSL で管理できたらいいじゃん、という発想に基づいたプロジェクトがある。homebrew-cask は tap という Homebrew に formula を追加する仕組みの上…
SOCKS プロキシ 社内サーバなどファイアウォールの内側にあるサーバに SSH するために SOCKS プロキシを経由する必要がある。また ProxyChains のようなソフトウェアを使って SOCKS プロキシ下でも名前解決ができるようにしたい。(参考: (ProxyChainsの最新…
aereal/hatena-bookmark-restful · GitHubJSON over HTTP な API であるのではたして「クライアントライブラリ」が必要なのか怪しい気もするけれど、手軽に API を利用しようと思ったときに生の Hash じゃなくてちゃんとオブジェクトが返ってくると嬉しいこ…
2013年のこのブログではなんらかのトピック (たいていはソフトウェア技術) に関してなんらかの成果を生み出したら書く、というようなルールで概ね運用されていた。自分の中で「成果」=「結果」に対するハードルが高くなりすぎた結果、なにか書こうと思っても…
終身雇用制度が有用に活用されるとソフトウェア開発がまた変わるんじゃないかなー、といった雑な想像をしている— 一級河川 (@aereal) 2014, 1月 3 チームを離れる者 (離職者、異動) がいないと期待していいのなら、ソフトウェア・テストの書き方も変わると思…