miau's blog?

| 1 |

2008年 6月 01日 (日曜日)

PHP_CodeSniffer の --standard オプション比較

- PHP on miau's blog?
上流の会社が最近 PHP_CodeSniffer によるスタイルのチェックを推奨しているらしい。そんなもので縛らなくてもまともなコード書ける人ばかりだといいんだけど・・・うちでもたまにひどい人がいるから文句言えない。(平気で 8 タブでインデントするような人もいたし。見たとき眩暈がした・・・。)

PHP_CodeSniffer では自分でコーディングスタイルの基準を定義したりもできるんだけど、組み込みの基準も何種類かあったりする。その基準で PEAR と Zend 以外に言及してる人が少なかったから、まずはそこについて触れておこうかと。
[Read More!]
17:47:28 - miau - No comments - No Trackbacks - Permalink

PHP_CodeSniffer のつづき

- PHP on miau's blog?
PHP_CodeSniffer の --standard オプション比較 - miau's blog?

ここで書き漏らした PHP_CodeSniffer の諸々について。
[Read More!]
19:35:57 - miau - No comments - No Trackbacks - Permalink

2008年 6月 03日 (火曜日)

Buildix の VMware Image 動かしてみた

- General on miau's blog?
前項で継続的インテグレーション(Continuous Integration)のフレームワークである CruiseControl について軽く触れたけど、その周辺をいろいろ調べてたらこんなのに行き着きまして。

Buildix ≫ About(※恐ろしくつながりにくいです。)

Buildix includes:
- Subversion for Source Control
- Mingle for Agile Project Management
- Cruise Control for Continuous Integration
- Trac as a wiki and bug-tracker
- …plus a little bit of our own ThoughtWorks magic, to glue it all together

CruiseControl だけでなく SVN/Trac や Mingle が全部インストール済みの 1CD Linux と。そういえば昔話題になってた気がするなぁ。
とりあえず VMware Image も配布されているようなので、簡単に試してみました。
[Read More!]
02:23:54 - miau - No comments - No Trackbacks - Permalink

in-place 編集が可能なバイナリエディタの比較

- General on miau's blog?
前項で少し触れた、in-place 編集可能なバイナリエディタについて。

海外製のバイナリエディタだと、in-place 編集できるのは商用のソフトだけみたい。一方国産のソフトではフリーでもこれができるものが少なくとも Bz と Dump4w の 2 種類。なにげにこの分野の敷居が低いのか、日本って。

ということで、ひとまずこの 2 つを比較してみました。
[Read More!]
02:47:25 - miau - No comments - No Trackbacks - Permalink

2008年 6月 09日 (月曜日)

Eclipse のログビューア比較

- General on miau's blog?
今回 PHP 案件で Eclipse PDT を使うのはほぼ確定なんだけど、ログの監視用にいいプラグインがないか調べてみた。

評価のポイントは、
・UTF-8 のログファイルがちゃんと読める
・error_YYYYMMDD.log みたいなファイルにも対応してる
・truncate したときにちゃんとファイル先頭から読み直してくれる
といったあたり・・・のつもりだったんだけど、実際に比較してみるとどれもこのあたりの機能は弱かったのでなんだかなぁ。

検証は WinXP x64+Eclipse 3.3 で実施。x64 上で動かしてるから、そのせいで発生している問題もあるかも。
[Read More!]
04:17:01 - miau - No comments - No Trackbacks - Permalink

2008年 6月 16日 (月曜日)

テクニカルエンジニア[セキュリティ] 成績照会

- Exams on miau's blog?
テクニカルエンジニア[セキュリティ] - miau's blog?

ということで 4 月に受けた情報処理試験ですが、合格してました。

午前試験のスコアは,765 点です。
午後I試験のスコアは,765 点です。
午後II試験のスコアは,695 点です。

割合ではそれぞれ 94%、94%、83% みたいな感じ、と。

午前は後半の勘が冴えまくりで、自己採点では 52/55(95%)。いつもと比べて正答率と IRT との差が少ないけどそういうものなのかな。
午後I は「どこまで具体的に書いていいかわからなくて困った」なんて感想を書いたけど、実際の解答例もかなり具体的(「システムコールの戻り値を書き換える」みたいなの)だったから、回答の方向性としては間違いではなかったらしい。
午後II は設問をまるまる一つ誤解してて正直ダメかと思ったけど、なんとか大丈夫だったみたい。

最低限の勉強で合格できたのは嬉しいけど、こういう受かり方はあまり身にならないってことは肝に銘じておこう。


ところでこのアイテム、反意の接続詞を多用しすぎてる・・・というかあまりにも単調な文章だなと思う。技術文書書くなら許されるかもしれないけど、文章力なさすぎでちょっと凹む。
12:56:05 - miau - 2 comments - No Trackbacks - Permalink

2008年 6月 17日 (火曜日)

xrea.com への POST 時に 403 Forbidden になってしまう件

- General on miau's blog?
今月あたりから(?)blog にコメント書き込もうとしても 403 Forbidden になってしまうことがあって。原因&対策を調べてみると、特定の IP からの POST をはじいているらしい。

POST処理で403Forbiddenが出る症状について - XREA&CORE SUPPORT BOARD

トラックバックスパム、コメントスパムの自動拒否について - XREA&CORE SUPPORT BOARD

主に海外からのアクセスをはじいてるみたいだけど、なんで会社からも書き込めないんだろう?

で、この辺の対策をひととおり試したんだけど、うまくいったのは SSL で(ss1.xrea.com 経由で)接続する方法だけ。それ以外(.htaccess だとか FTP 登録だとか)はダメ。

仕方ないのでとりあえずこんな bookmarklet 作成して対処。

xrea SSLサイトに移動

なんだかなぁ。


(2008-09-21 変更)

bookmarklet が Chrome で動いていなかったので、「document.URL=」として代入していたのを「window.location.href=」での代入に変えました。


(2008-11-08 追記)

原因判明。NB_Blacklist で弾かれてましたorz

blog の見えないところを色々いじってみた - miau's blog?
01:47:29 - miau - 2 comments - No Trackbacks - Permalink

コンソールでコメント書いたり

- General on miau's blog?
*nix 系のシェルだと # で、Windows のコンソールだと :: で(REM は識別性低いから嫌い)コメント書けますよね。これは .sh だとか .bat みたいなバッチファイルでコメント書くとき以外にも、連続した処理を

# hoge に移動
cd hoge

# fuga を実行
./fuga

みたいにメモしておいてコピペして実行、というときに便利なわけですが。

長いコマンドを打ったあとで「あ、その前に cd しなきゃ」とか気づいたような場合に、Ctrl+A→#→Enter とかやってコマンド保留するのに使えるのにたった今気づいた。

すごく当たり前のことのような気もするんだけど、ここ数年 CUI をまともに使ってる人を見てないからそういうもんか。*nix や vim/emacs に強い人とペアプロやってみたいなー。いろいろ勉強になりそう。
07:06:15 - miau - No comments - No Trackbacks - Permalink

2008年 6月 19日 (木曜日)

シンボリックリンクを再帰的に辿るの

- General on miau's blog?
シンボリックリンクが数珠つなぎになってて実体がどこにあるか調べるのが面倒くさい、なんてことがたまにあります。

$ which java
/usr/bin/java
$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 2007-10-20 21:43 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 40 2008-05-28 16:05 /etc/alternatives/java -> /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
$ ls -l /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
-rwxr-xr-x 1 root root 65084 2007-09-26 12:13 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java

↓みたいに強引に書けなくもないんだけど・・・なにかもっと楽なやり方ありそうな気がする。

$ perl -e '$f = $ARGV[0]; $f = `which $f` unless -f $f; while (1) { print($r = `ls -l $f`); $r =~ /(.*-> (.*))/ or exit; $f = $2; }' java
lrwxrwxrwx 1 root root 22 2007-10-20 21:43 /usr/bin/java -> /etc/alternatives/java
lrwxrwxrwx 1 root root 40 2008-05-28 16:05 /etc/alternatives/java -> /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
-rwxr-xr-x 1 root root 65084 2007-09-26 12:13 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java

このやり方だと色分け表示されないからちょっと見づらいし、いいやり方をご存知な方は教えてください。><
02:58:03 - miau - No comments - No Trackbacks - Permalink

2008年 6月 24日 (火曜日)

サクラエディタのマクロについて記事を書きました

- General on miau's blog?
Amazon.co.jp の紹介ページ(アソシエイトあり)へ
日経ソフトウエア 2008年 08月号 - Amazon.co.jp

日経ソフトウエア 目次と訂正 - 2008年8月号:ITpro


特集2:マクロで始める実用プログラミング アプリケーションの隠れた力を引き出そう
・サクラエディタはマクロが充実,VBScriptとJScriptで使う

の項担当ということで。本日発売です。

著者近影なんてものまで載ってるので、ちょっとした羞恥プレイ気分です。色々とこっぱずかしいので、以下にいろいろ言い訳しておきます。
[Read More!]
23:48:38 - miau - 6 comments - No Trackbacks - Permalink

2008年 6月 26日 (木曜日)

PHP_CodeSniffer 文字数カウントのバグ報告

- PHP on miau's blog?
PHP_CodeSniffer で「一行の文字数は xx 文字まで」みたいなチェックがあるけど、これがマルチバイトの文字幅を考慮せずにバイト数での判定になっていたので改善要望出しておいた。

PEAR :: Request #14237 :: Line length should be measured by mb_strwidth

対応は簡単で、PEAR/PHP/CodeSniffer/Standards/Generic/Sniffs/Files/LineLengthSniff.php の 98 行目付近で strlen() の代わりに mb_strwidth() を使うだけ。まじめに対応するのであれば、mbstring.internal_encoding と対象ファイルの文字コード違う場合も考慮しないといけないんだけど、海外のひとにマルチバイト関連の報告してもまともに対応されたためしがないので、とりあえず小手調べみたいな感じ。

(2010-09-10 追記)対応してくれたみたいで、チケットがクローズされてました。

このバグ報告の途中で、最終行の文字数チェックが走らないことにも気づいてしまった。ついでにこちらもバグ報告しておいた。

PEAR :: Bug #14238 :: Line length not checket at last line of a file

これはそのまんまですね。

(2008-06-28 追記)追記してたら長くなっちゃったので続きます。
[Read More!]
02:09:00 - miau - No comments - No Trackbacks - Permalink

2008年 6月 28日 (土曜日)

PHP_CodeSniffer バグ報告 その 2

- PHP on miau's blog?
また PHP_CodeSniffer のバグ見つけたので報告とかやってました。今日も 2 件。

PEAR :: Bug #14250 :: ArrayDeclarationSniff emit warnings at malformed array

「"=>" の前後には必ずスペースを入れる」ってのをルール化したくて、Squiz/Sniffs/Arrays/ArrayDeclarationSniff.php を取り込んで使ってたんだけど、配列の書き方が変だとエラーが出ちゃう。普通に使うぶんには問題ないんだけど、phpUnderControl 上で実行したときはこのエラーメッセージのせいで XML のパースに失敗して、レポートが出なくなってしまうから結構困る。

・・・だったんだけど、この ArrayDeclarationSniff.php はチェック厳しすぎたので、結局は半分くらいのチェックをコメントアウトして独自ルールとして取り込んでたり。そしたらエラーが出なくなったから、まあ一応報告しておきました、という程度。

PEAR :: Bug #14251 :: --extensions option doesn't work

どちらかというとこっちのほうが困る。CakePHP 使ってるからテンプレートファイル名が .ctp なんだけど、--extensions オプションが利かないから、サーバ上で一括チェックできるのはデフォルトの対応拡張子である .inc と .php だけという状態。

暫定対応としては CodeSniffer.php の $allowedFileExtensions に .ctp を追加してやればいいだけなんだけど、Standards 配下じゃないところに手を入れるのはちょっと抵抗あるなぁ。find コマンドかまして個別にファイル指定って手もあるけど・・・うーん。

・・・とまあ今日も本筋と関係ないところに結構時間とられてしまった。最近は裏方の仕事ばっかやってて自分の担当分が全然進んでない。この流れは早めに変えないと。
05:28:11 - miau - No comments - No Trackbacks - Permalink
| 1 |