LiveReloadX 0.2.0 公開! 除外ファイルを指定可能になったよ
LiveReloadX 0.2.0 を公開した。 新規インストールするなら今まで通り npm install -g livereloadx で、バージョンアップするなら npm update -g livereloadx でどうぞ。 以前のバージョンでは、監視対象のフォルダー配下のファイルが更新されるたびにブラウザーをリロードしていたので、たとえば、git...
View Articlersync の複雑怪奇な exclude と include の適用手順を理解しよう
rsync は便利なんだけど、オプションが多くて難しい。特にややこしいのがファイルを選別するための --exclude と --include オプションだ。 man を読んでもイメージがつかみにくかったので、ググったり、-vvv の結果を見たり、ソースを読んだりしつつ調べてみたところ、3 つのルールを理解すれば何とかなりそうなことが分かった。 この記事では、その 3...
View ArticleGit で複数ブランチを同時に扱いたいなら git-new-workdir が便利
Git で管理してるレポジトリーで、いくつかのブランチを別々の場所にチェックアウトしたいことがある。 たとえば GUI なツールでブランチ間の比較したい 同時に実行して比較しつつテストしたい ブランチ間でファイルをコピーしたい ドキュメントの生成結果を別ブランチで管理したい といったときに、必要になる。 ブランチの個数だけ clone...
View ArticleSourceTree が Git のグローバルな無視リストを書き換えて困った話
Git を使ってるときに、git status に存在するはずのファイルが Untracked files に出てこない現象に出会って困ってしまった。 いろいろ調べてみたところ、SourceTree さんがインストール時にグローバルな無視リストを作成していたことが判明した。SourceTree を使ってないときにも影響がでるのでたちが悪い。 勝手に書き換えられてしまうファイルはこれだ!!...
View ArticleJekyll のカテゴリーとタグの指定方法 3 パターン
Jekyll で記事にカテゴリーやタグを設定するには YAML の部分に書けばいいんだけど、指定方法が 3 通りもあって複雑だったのでまとめておく。 Jekyll 0.12.0 を前提に書いてるけど、将来的に大きな変更が入るとは思いにくい。 (1) 単数形を使う 単数形 (category・tag) で指定したときは 1 つだけしか指定できない。 --- category: Foo tag: Bar...
View ArticleGoogle Chrome で超手軽にスマホ向けデザインを確認する方法
最近、Google Chrome のデベロッパー ツールにスマートフォンでの表示を確認する機能があることを知りました。 いままでは、レスポンシブデザイン Web デザインをするときに、ちまちまとブラウザーのサイズを変えたり、Web サービス (Responsive Design Testing とか Responsive Web Design Test Tool とか)...
View Articlegit commit --amend を省力化する方法
Git で最後のコミットを修正するときには git commit --amend を使うんだけども、いままでは git add . git commit --amend エディターが立ち上がって、前回のコミット メッセージが表示される エディターを終了させる としていた。 この作業は何度も繰り返すと面倒だったので、man を調べてみると --no-edit なるステキなオプションを発見した。...
View ArticleBugzilla に登録してあるバグをプログラムから更新する方法
会社で BTS として Bugzilla を使っているんだけど、修正したあとに手作業で Web インターフェースから書き込むのが面倒になってきたので、自動化してみた。 コミットしたとき (Git の場合は push したとき) に、コミットメッセージからバグ番号を読み取って、対応するバグにメッセージを書き込みつつ、FIXED にすればよい。...
View Articleブログのタグ機能が復活したよ
昨年 9 月にはてなダイアリーから引っ越したときにタグ機能が消えてしまっていたのですが、このたび、重い腰をあげて復活させました。 たとえばこの記事の場合、上側の日付の右にタグが 2 つあることにお気づきいただけるでしょうか。タグ名をクリックすると、そのタグがついた記事の一覧が表示できますよ。 ついでに、既存のタグも整理しています。統廃合したり、無意味なものを消したり。整理した結果がこのタグ一覧。...
View ArticleJekyll で --watch の代わりに Grunt を使ってみるテスト
このブログでは Jekyll を使ってることは何度か書いたのだけど、いままで記事を書くときには jekyll --auto を実行した状態で書いていた。このようにしておくと、ファイルを書き換えたら自動的にサイトをビルドしてくれるようになる。ただ、このコマンドを実行してると CPU がグオーンと音を上げ始め、クアッドコアで CPU 使用率 25% に達するという地球に優しくない状態であった。...
View ArticleNode.js 0.12 では yield が使えるのでコールバック地獄にサヨナラできる話
Node.js の次のメジャーバージョン 0.12 で yield が使えるようになります。 そのおかげで、JavaScript のコールバック地獄に光が差し込むのです。ああ、さようなら、コールバック地獄。 7 年ごしで実現した yield 2006 年、Firefox 2 のリリースと同時に yield は JavaScript 界に登場しました。随分と前の話ですね。 登場した当時は...
View Articlegit difftool --dir-diff が便利すぎて泣きそうです
Git の 1.7.11 から git difftool コマンドに --dir-diff というオプションが追加されたのですが、これがライフ チェンジングだと思ったので紹介します。 --dir-diff 登場以前の git difftool は「ファイルごとに順番に差分を表示していく」ことしかできず、使い勝手はいまいちでした。それが、--dir-diff...
View ArticleWindows でも git difftool --dir-diff でシンボリックリンクを使う方法
git difftool --dir-diff が便利だよ、という話を git difftool --dir-diff が便利すぎて泣きそうです で書きましたが、1つ宿題が残っていました。Windows では一時ファイルがワーキング ディレクトリーへのシンボリックリンクにならないので、Unix や Mac に比べて、少しだけ不便だよ、という話です。 そこで、Windows...
View ArticleGit にパッチを送って取り込まれた話
Git の挙動に変なところを見つけたので、パッチを作って Git のメーリングリストに投げてみたところ、何度かのレビューを経て、無事に取り込まれた。 Git に貢献したい人とか、オープンソース開発の流れに興味がある人もいるだろうから、作業の流れを書いておくことにする。 1. バグを発見する 何はともあれ、修正したいところを見つけるところから。 先日、git difftool --dir-diff...
View ArticleLiveReloadX を Grunt から使えるようにした
LiveReloadX に少し手を入れて Grunt のタスクとして動作させられるようにした。 今回のバージョンは 0.3.0。新規インストールするなら今まで通り npm install -g livereloadx で、バージョンアップするなら npm update -g livereloadx でどうぞ。 設定手順は LiveReloadX の「Run as a Grunt...
View ArticleD3.js の Data-Driven な DOM 操作がおもしろい
ここんところ D3.js を触ってみているんだけど、これがなかなか面白い。 D3.js は「ビジュアライズ用のライブラリー」だと紹介されがちなんだけども、意外にも D3.js にはグラフを描画する機能がない。 D3.js のトップページには次のように書いてある。 D3.js はデータからドキュメントを生成するためのライブラリーです。D3 は HTML, SVG, CSS...
View ArticleD3.js の d3.svg.line() を試してみた
1つ前の記事 D3.js の Data-Driven な DOM 操作がおもしろい のサンプルコードではシンプルにするために、座標計算の処理を泥臭く書いていた。 たとえば circles.enter() .attr('cx', function(d, i) { return i * 280 / n + 10; }) のような座標を計算する関数が何箇所かに散らばっていた。...
View ArticleK-means 法を D3.js でビジュアライズしてみた
クラスタリングの定番アルゴリズム K-means 法(K平均法)の動作原理を理解するために、D3.js を使って可視化してみました。 ステップ 最初から N (ノード数): K (クラスター数): 新規作成 図をクリックするか [ステップ] ボタンを押すと、1ステップずつ処理を行います [最初から] ボタンを押すと、最初の状態に戻ります [新規作成] ボタンを押すと、N (ノード数) と K...
View ArticleWindows で Jekyll 1.3 を動かすまでの手順
Jekyll を Windows で動かそうとすると、いくつか難関がある。今回、自分の環境を新しく作り直したキッカケがあったので、導入までの手順をメモしておく。 自分の環境は Windows 8 Pro x64。各種ツールのバージョンは次の通り。 Jekyll 1.3.0 Ruby 2.0.0 p247 DevKit 4.7.2-20130224-1432 Python 2.7.6...
View ArticleCVS レポジトリを Git に変換した手順とか注意点とか
この前、10 年以上前に趣味で作っていたフリーソフトについてメールで質問が来た。もはや完全に記憶から消えているだけでなく、いま使っている PC にソースコードもない。何も分からない、答えられない。 そのままでは古いソースコードも成仏しきれない。供養するために、古い HDD を引っ張り出して探したところ、自宅サーバーをやってた HDD の中に CVS レポジトリーが見つかった。せっかくなので、Git...
View Article