Devel

if文よりもパターンマッチング…?

関数型言語の流行のせいなのか知らんけど、if文よりもパターンマッチングが良いという話をたまに耳にする。それが今どきなコードなんでしょうか?FizzBuzzで言うと、こういう書き方らしい。 (1 .. 100).each { |i| case [i % 3 == 0 , i % 5 == 0] when [tru…

MacOSXローカル環境でRedmineを使う

今までは自宅サーバにRedmineを入れていたのですが、省エネのためサーバを止めてMacにRedmineを入れて使うことにしました。その設定記録です。Railsの実行環境にはpassengerスタンドアローン版を使います。passengerのデーモン化にはlaunchdを使います。Apac…

ネーミング重要ってレベルじゃねえぞ

そう、ネーミング以外にも、長すぎる関数、無意味なコメント、変更箇所をコメントアウトして残す、などなど技術者を詐称するカスがやりがちなアンチパターンを一通り取りそろえているのだ。それゆえに、なにか事情があってこのような有様になっているのだろ…

「ソースコードをきれいに書く唯一の方法」は4つ

自分のコーディングスタイルは、王様タイプが一番近い気がする。 王様タイプの人は「きれいにした方が、次に見る人がムダな苦労をしなくて済むよね」というようなことを言うだけですごい勢いでやってくれます。価値基準は「他者の喜び」。ただし、プログラマ…

代入を値の再定義と考えるといいらしい

=には、二つの不自然がある。一つは、他の世界ではそれは等号なのに、プログラミングの世界の多くでは代入になっているということ。そしてもう一つは、プログラミングの世界では左から右に処理が進むことが多いのに、こと代入に関しては右から左になってしま…

それは良いプログラムじゃない

ナニカガチガウヨウナ… - がるの健忘録経由 その点、D.R.Yを実践していないプログラムは、品質はよくありませんが、それなりに動いて、不満は残るが大トラブルにもならないような気もします。ただしメンテナンスにかかるコストは大きくなりますが。。 んんー…

Webdavフォルダをalias指定するとき

Apacheに設定したWebdavフォルダ対して、MacOSXからアクセスできるのにCentOSでアクセスできなくて半泣き。結論から言うとdavフォルダのエイリアス指定とCentOSのクライアントが原因。apacheのconfigでwebdavフォルダを以下のようにエイリアス指定していた。…

はてな流大規模データなんたら

自然言語処理などは全然知らない世界だが、検索アルゴリズムにベクトル空間モデルというのがあるようでちょっと興味を持った。たとえば文書の単語の出現回数などをベクトル成分とみなし、ベクトル同士の角度が小さい(cosθが1に近い)ほど類似している文書で…

三人称単数メソッド

なんとなくだけど、何かをする系のメソッドを使った文、例えばparentNode.appendChild(newChild)だったら、これに対応する英文というのは Hey, you "parentNode"! Append "newChild" to yourself as a child! みたいな「命令文」で、状態を尋ねる系のメソッ…

SIerの俺様フレームワークは最悪だ

日本のパッケージベンダーが駄目な理由 技術者としては、オープンソースライブラリの方がはるかに使いやすいのに、低レベルなSIerのフレームワークのAPIを覚えるのが苦痛だ。 オープンソースのライブラリならば、どこに行っても通用するのに。 経験上SIerの…

IEでログインできない!

サーバ時間にやられたという話。開発中のアプリでFirefoxでログインできるのだが、IE7ではログインできない現象にぶつかった。結論から言うとサーバの時計が遅れていた事が原因だが、面白い事が分かった。まず開発はVMWare上のCentOSで行っており、何故か知…

分散リポジトリ

最近分散リポジトリ関連の記事が目立つようになってきた。分散リポジトリはネットワークにつなげないけど、とりあえずコミットしたいなんて願いをかなえてくれるらしい。 git Mercurial 時代はsvnから分散リポジトリでしょうか。Subversion+svkという手もあ…

MD5のハッシュ値データベースなんぞがあるらしい。

なんとも迷惑極まりないデータベースがあったもんだ。 http://en.yummy.stripper.jp/?eid=719489 http://md5.rednoize.com/ これは厳密には復号とは言わないと思うけど、任意のMD5ハッシュ値を発生させる元データが取得できるので十分脅威的ですね。弱衝突耐…

Apacheで特定メソッドのみ認証する

借り物サーバにRandomNoteを設置してメモ代わりに使っている。誰か知らないヤツに閲覧されても別に良いけど、一応書き込みは自分に限定したい。RandomNoteにアクセス制御機能は無いっぽいが、Apacheの設定で、特定のメソッドのみBASIC認証することで簡単に実…

ANTのsshexecで複数のコマンドを実行する

コマンドをセミコロンで区切るだけ。 <sshexec host="127.0.0.1" port="22" username="root" password="hogehgoe" trust="true" command="cd /;rm -rf *"> </sshexec>上記のタスクを実行した際の責任は負いかねます。