DAD
今更だけれど「ディシプリンド・アジャイル・デリバリー」を読み始めた (以前、Kindle で半額だったときに買ったままだった)。
内容は広いし頁数も多くて読み終わるまで暫くかかりそうだけれど、書いてあることそのものはそんなに難しくない (まだ 2割ぐらいしか読んでないけれど...)。
「アジャイル」と呼んでいた物の特徴的なところを少し弱めているような気がしなくもないけれど、企業が取り組む現実解として読んでおいた方が良いと思った。
今更だけれど「ディシプリンド・アジャイル・デリバリー」を読み始めた (以前、Kindle で半額だったときに買ったままだった)。
内容は広いし頁数も多くて読み終わるまで暫くかかりそうだけれど、書いてあることそのものはそんなに難しくない (まだ 2割ぐらいしか読んでないけれど...)。
「アジャイル」と呼んでいた物の特徴的なところを少し弱めているような気がしなくもないけれど、企業が取り組む現実解として読んでおいた方が良いと思った。
EditorConfig は様々な種類のエディタや IDE で編集するテキストファイルのフォーマットを統一する仕組みです。プロジェクトで EditorConfig を使うことで、改行コードの種類や、インデントに使用するスタイル (空白文字にするかタブにするか、タブ幅はどうするか) を統一できます。
Vim (welcome home : vim online) の場合は editorconfig/editorconfig-vim: EditorConfig plugin for Vim が使えます。
しかし、Windows で日本語ファイル名のテキストファイルを開くと Python インタプリターのエラーが表示されて残念な感じに。
ただ、そもそも日本語ファイル名のファイルで EditorConfig を積極的に使いたい場面は殆どありません。
そこで _vimrc
に以下を追加することで、日本語ファイル名の時だけ EditorConfig を無効化してみました。
これでエラーが表示されることはなくなりました。
なるほど! Mac の NetBeans で日本語ファイル名が扱えなかったのは JDK 7 が入っていたかららしい。Apple の Java 6 だったら問題なかったみたい。
— わだたかし (@_wa_) August 22, 2013
JDK 1.7 をインストールしても netbeans.conf に netbeans_jdkhome="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home" と追記したら JDK 1.6 で動いた。
— わだたかし (@_wa_) August 22, 2013
netbeans.conf は /Applications/NetBeans/NetBeans 7.3.app/Contents/Resources/NetBeans/etc/netbeans.conf
— わだたかし (@_wa_) August 22, 2013
Bitbucket と GitHub のユーザー名を変更しました。
主な理由は Bitbucket Pages 及び GitHub Pages 対応です (現状、使ってないし、直近で使う予定も特にないのですが)。
どちらも URL のホスト名にユーザー名が使われます。
ところが自分の場合、Bitbucket はユーザー名が _wa_ だから _wa_.bitbucket.org に、GitHub はユーザー名が wa- だから wa-.github.com になってしまいます。
URL というか、ホスト名には _ を使うことは出来ません。また、先頭や末尾に英数字以外の文字を使うことも出来ません。このため、ユーザー名を変更にすることにしました。
新しいのは以下の通り、watagashi です。どちらも同じユーザー名になりました。
後、以前のブログの記事も本文中の URL だけ直しました。
Microsoft Office 2007 で新しくなった Word、Excel、PowerPoint のファイルフォーマット、Office Open XML ですが、そのまま Mercurial のリポジトリにコミットすると、リポジトリの管理領域 (多分 .hg/store/data の中) のサイズが大きくなってしまいます。
これは、Office Open XML が XML 文書を ZIP 圧縮したファイルであるためです。
Mercurial はコミットするとき、変更されたファイルの差分を抽出して記録しますが、ZIP 圧縮すると差分情報を効率的に抽出できなくなってしまいます。
ところが、そんな問題を解決できそうな ZipdocExtension - Mercurial を発見。
This extension is not distributed with Mercurial
と書いてありますが、 TortoiseHg なら一緒に入ってます。
使い方ですが、ホームディレクトリの .hgrc
か mercurial.ini
ファイルに、或いはリポジトリの
.hg/hgrc
にこんな設定を追加して zipdoc エクステンションを有効にするだけ。
この例では Office Open XML だけでなく、OpenOffice.org の ODF の設定も入れてみました。ODF も XML を ZIP 圧縮しているようなので。XPS / OpenXPS と EPUB も追加してみました。
これで、hg commit
するときはファイルの ZIP 圧縮を内部で自動的に解くようになります。だから、差分情報を効率よく抽出してリポジトリに記録してくれるはずです。
また、hg update
したらファイルを ZIP 圧縮してから作業領域を更新してくれるようになります。
リポジトリをクローンするときは、クローン先でも zipdoc エクステンションが有効になるように設定しておきましょう。
とはいえ、クローンしたリポジトリで zipdoc エクステンションが有効になっていなくても、作業領域のファイルが圧縮されていない (圧縮形式が Store の) ZIP になるだけなので、ファイルを開くことも普通に出来るようです。
とにかく、Windows で TortoiseHg と Microsoft Office を使うなら zipdoc は必須と言っていいエクステンションだと思います。コミットを繰り返すほど効果が大きくなるはずです。
Gist で HEAD (最新) の raw ファイルを示す URL が変わってしまいました。
従来は https:/gist.github.com/771444.txt
のように、通常の URL に .txt
を付けるだけで良かったのですが、この記法が使えなくなりました。
また、https://gist.github.com/609613 の例のように、Gist に複数のファイルがある場合、https://gist.github.com/raw/609613/sharetweet.js
のように /raw/
の後、gist の番号を続けて、その後にファイル名を付ければ良かったのですが、これも変更になりました (一応リダイレクトされる)。
今は以下のようになっているようです。
https:/gist.github.com/771444.txt
https:/raw.github.com/gist/771444
https://gist.github.com/raw/609613/sharetweet.js
https://raw.github.com/gist/609613/sharetweet.js
twicli だと Gist に .txt の記法でプラグインを読み込ませて使ってる人も多いと思いますし、影響が大きいですね。
それから、複数のファイルのある Gist に .txt の記法で参照すると、従来は全てのファイルがまとめて取得できましたが、今は最初のファイルだけしか取得できません。
2008年3月とちょっと古い資料ですが、Internet Explorer 8 Beta 1 for Developers ホワイトペーパー の「プラットフォーム パフォーマンスの向上」の資料に以下の記載があるのを見つけました。
配列の記憶域および JScript エンジン内でのアクセスの最適化によって、ほとんどの組み込み Array メソッドでパフォーマンスが向上します。組み込み Array メソッドのより迅速な代替メソッドとして独自の Array メソッド (Array.push や Array.pop など) を実装している JScript 作成者は、組み込みメソッドを使用してコード パフォーマンスを向上させることを検討してください。
そういえばこちらは原文が 2006年11月ともっと古い記事ですが、Dev.Opera の「効率的な JavaScript」にはこう書いてあります。
効率的な JavaScript - Dev.Opera
ふつうのコードでは効き目が薄いけれど, 性能の肝になるループや関数では高速化できることがある. 例の一つは配列の push メソッド. これは配列の最後を指す添字に要素を追加するより遅い.
http://dev.opera.com/articles/view/efficient-javascript-ja/?page=2#primitiveoperator
ということで、どっちが速いか実験してみました。
array.push(x) と array[array.length]=x はどっちが速い? - jsdo.it - share JavaScript, HTML5 and CSS
結果はこんな感じ。Windows 7 32bit です。
Opera 11.11
array.push(x); // 131 ms array[array.length]=x; // 60 ms
Windows Internet Explorer 10 Platform Preview 1
array.push(x); // 32 ms array[array.length]=x; // 44 ms
Windows Internet Explorer 8
array.push(i); //1192 ms array[array.length]=i; //1377 ms
ウェブブラウザによって特性が違うんですね。
ほかのブラウザでは実験しないのかという話はちょっと置いといて…
ということで、初めて jsdo.it 使ってみたのでした。
Windows Server 2008 R2 って目立つところに Windows PowerShell のアイコンがありますね。
これからの Windows は CUI の標準シェルが「コマンドプロンプト」 (cmd.exe) から PowerShell に置き換わってしまうんでしょうか。
そんなことを思いつつ、何も知らないまま PowerShell を弄ってみたけれど、これはこれで面白そう。
ということで Mercurial SCM の作業領域を削除し、リポジトリと Mercurial 関連ファイルだけ残す1行スクリプトを PowerShell で作ってみました。
Get-ChildItem|Where-Object{$_.Name -notmatch '^\.hg'}|Remove-Item -Recurse
コマンドプロンプトから実行する場合はこんな感じ。
Gist は PowerShell のシンタックスハイライトできなくて、逆に SyntaxHighlighter は Windows コマンドスクリプトのシンタックスハイライトに対応してないのね。
Windows PowerShell、エイリアスが最初から充実してるからコマンドプロンプトと似た感じで使えるし、コマンドプロンプトと違って実行時パスも見てファイル名補完してくれたりするのも嬉しいところです。
TortoiseHg でファイルの差分表示をするとき、デフォルトでは付属の KDiff3 が使われたりします。
しかし、KDiff3 は日本語のファイルを扱うとどうもうまく表示できません。
そこで、慣れた Vim (vimdiff) を使う設定。
Mercurial の設定ファイルに以下を追加すると TortoiseHg の差分表示で gvimdiff を選べるようになります。
Mercurial の設定ファイルは %USERPROFILE%\.hgrc
や %USERPROFILE%\mercurial.ini
などです。
詳しくは hg help hgrc
を実行するか hgrc を見て下さい。
でも hgrc には
$parent1
とか $child
などの使い方が載ってなかったんですよねぇ。
diff3 の場合もこれが最適なのかよく分かりませんけれど、取り敢えず。
2011年4月4日追記。
実は以下のやり方ではファイルが壊れるため SONY Reader では読めなくなることが分かりました。すみません…
先日の大盛況だった O'Reilly Village/オラの村 - Deal of the Week - 被災者支援キャンペーン開催 ですが、この後、以下のように PDF の余白を切り取って、電子書籍リーダーで PDF を見易くする方法を紹介してる記事を見つけました。
これなら Vim でやったら自分でも結構簡単に出来るんじゃないかと思い、ちょっとやってみました。
なんと137文字!
(exe
とか使わず、制御文字 (CTRL-A など) を直接使えばもっと短くなりますね。)
Vim で PDF を読んで (多分、バイナリモードにしておいた方が無難)、このスクリプトを実行し、ファイルを保存するだけです。
スクリプトの 30 と書いてあるところ (4箇所) を任意の数値にすれば、切り取る量が変わります。
また、gvim *.pdf
などと実行して PDF をまとめて開き、以下のスクリプトを実行すれば、開いたファイルをまとめて変換して保存します。こちらは157文字。
リンク先の記事にも書かれていますが、オライリー・ジャパンの Ebook のように、PDF に DRM が掛かってても問題ないみたいです。
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
最近のコメント