システムは構想3ヶ月実装は3日であるべし

Posted on : 07-11-2006 | By : sino | In : プログラム道, 未分類

能力が低いことの言い訳っぽいですが、プログラムやシステムというのは、3日やれば3日分書けるかというとそうではなく、書けないところでつまづくといいアイデアが浮ぶかいい解決案が見つかるまで時間がかかることもあります。できるっちゃできるけど、もっとスマートな方法はないか、と考え始めるともっと時間がかかります。

構想は前からあったものの、実装に手間を取っていたものが、今日ふとしたきっかけで別の非常にスマートな方法があることに気づき、ほぼ8割方を1日で書き上げることができてしまいました。

こういうのが気持いいんですよね〜。「俺、実は頭いいんじゃね?」と3分だけ自己満足に浸れます。でも、その後今まで思いつかなかった自分がいたことに気づき、「俺、実はアホなんじゃね?」と1日鬱になります。(苦笑

モチベーション上げなきゃ!

Posted on : 04-09-2006 | By : sino | In : Webデザイン道, プログラム道, 未分類

他人のためにコードを書くのは飽きたので、自分で企画したシステムを自分で作ってるんですが、モチベーションがイマイチ上がりません。すぐ「明日やればいいやー」になってしまいます。集中してやれば1日くらいで終わるんだろうけど。

でも、自分でやると決めたことだし、やるぞ!やるぞ!やるぞ!と三唱して今日のところは終りにします。(ぉぃ

domLib.js と prototype.js は相性が悪い

Posted on : 29-07-2006 | By : sino | In : プログラム道, 未分類

最近ぼちぼちと Ajax にも手を出しているんですが、Ajax 界ではデファスタと言ってもいいくらいに使われている prototype.js と、このサイトでも使っている DOM Menu内のユーティリティライブラリ domLib.js が 同じ Hash という名前衝突を起こすことを今日知りました…。orz

こんなありがちな名前めぐって衝突するなー!だいたい JavaScript の名前空間管理って無きに等しいじゃろ、とか一人でぼやいてしまいましたよ。とほほ。どっちか折れてくれんかなー。

玄箱で作るアプリケーションサーバ

Posted on : 17-07-2006 | By : sino | In : Hacking, ブログロール, プログラム道, 未分類

Webアプリケーションは何もインターネット上に公開しなければならない、とい決まっているわけではありません。社内に Web サーバを立てて、その中で使ってもらってもいいじゃないか、という発想で

を組み合わせてアプリケーションサーバとして売れないか、などと画策しています。

コケにコケまくりながらも、何とか玄箱HGの Debian(Sarge)化に成功。玄箱のいいところは、ファームウェアが既に Linux になってるので、もしDebian化に失敗しても、どうにもこうにも手出しできなくなる、ということはないことです。前に LANDISK のときはシリアルケーブルを取り付けに失敗し、ハード的にお亡くなりになってしまいましたが、玄箱はソフト的になんとかなるので、ぶきっちょ製作所も安心です。

今、PostgreSQL をコンパイルしてますが、さすがに遅いですね。実運用するには上手くインデックス張らないと厳しいかも。

[日曜ハック] FCKEditor 組み込み TinyD

Posted on : 25-06-2006 | By : sino | In : Hacking, Webデザイン道, ブログロール, プログラム道, 未分類

GIJOE さん作の TinyD は静的なページを作るのにとても便利なのですが、組み込まれている WYSIWYG エディタが SPAW のみで、これにはエディタから直接ファイルがアップロードできないなど、やや不便な面があります。

そこで、私が知る限り最も強力なブラウザ内 WYSIWYG HTML エディタ、FCKEditor を組み込んでみました。(詳細 | ダウンロード)

ほぼ半日がかりの Hack でした。

[ja]トラックバックスパム対策[/ja][en]Fight against Trackback spam[/en]

Posted on : 12-06-2006 | By : sino | In : プログラム道, 未分類

[ja]

コメントスパムは記事IDと同じ数字を入力してもらうというお手軽な方法で対処できていたのですが、トラックバックスパムに対してどう対処するか悩んでいました。今までの全てのスパムは海外(英語)からなので「ひらがなや漢字など、日本語を含まない場合は Reject する」というありがちな案は、今後、外国人の友人がブログを始めないとも限らないので×。

で、探して見つけたのが XOOPS 版 WordPress を公開しているのぶのぶさんの「コメントスパムを撃退したい」という記事やMovable Type 3.2 User Manual: Domain name lookups 記事中の bsb.spamlookup.net, sc.surbl.orgで行っているドメインベースのスパム対策を知りました。

のぶのぶさんのプラグインに手を入れ、

  • コメントだけでなく、トラックバック、Ping にも対応
  • ドメインベースのスパムチェックにも対応

などしてみました。でもまだパフォーマンスに改善の余地ありそうなので、もう少し様子を見てから必ず公開します。お楽しみに!

[/ja]
[en]

I\’ve blocked comment spams with inputting the article id number, but the problem is how I block trackback spams. So far, all of them are from foreign countries which is written in English, so I thought of rejecting spams without any Japanese character in it. But thinking of some of my foreign friends may begin blog, the idea was no good.

Then I found an article \”Want to reject comment spams\” of Nobunobu, who releases XOOPS/WordPress, and services on bsb.spamlookup.net, sc.surbl.org found in another article \”Movable Type 3.2 User Manual: Domain name lookups\” .

I remaked Nobunobu\’s plugin, so it has the following funcions now:

  • Not only comment spams, but also trackbacks\’ and pings\’ are rejected.
  • Looking up spam domain which are analyzed from URI.

But I hold it from making public because I\’d like to do more performance tuning. I\’ll definitely relase it, so please hang around!
[/en]

Web サーバパフォーマンスチューニング

Posted on : 04-06-2006 | By : sino | In : プログラム道

このサイト、ブラウザに表示するまでかなり時間(3〜5秒)がかかっていたのですが、

  • APC の導入により、PHPコードを中間コンパイル形式で shared メモリに保持
  • 処理に時間がかかっていた SQL クエリにインデックスが適用されるよう変更
  • SSH brute force アクセスを遮断

などの対策を施したところ、体感的にはかなり向上したような気がします。いかがでしょうか?

オブジェクト指向は言語間の壁をなくすか

Posted on : 17-05-2006 | By : sino | In : プログラム道

今、PHP で MVC フレームワークを使いながら開発しているのですが、PHP も結構まともにクラスや継承、インスタンス変数などが使え、そこそこオブジェクト指向に開発できています。まあ関数群がクラスやモジュール単位でまとまっていないので、使いにくかったりはしますが、そこは歴史的経緯というものでしょう。

今、主要な言語は何らかの形でオブジェクト指向を謳っているわけで、そういう点からすると言語間の差というものは少くなっているのかもしれません。

HPからの問い合わせ

Posted on : 10-04-2006 | By : sino | In : プログラム道, 地域社会

今まで、仕事が入ってくるルートは知人経由だったり、口コミだったり、人材登録サイト経由だったりしたのですが、今日初めてホームページを見ての問合せがありました。しかも結構地元のもの。

 弊社の得意分野ではなかったので、あいにくお断りしたのですが、この業界、結構人材不足なのかも。

My Active Record よさげ!

Posted on : 07-04-2006 | By : sino | In : ブログロール, プログラム道

Ruby でシステム組むときは O/R Mapper として ActiveRecord とか Kansas とかを使えるのですが、PHP でこれらに当る軽量なモノがなくて困っていました。DB_Object 使うしかないかなーと思っていたら、今日 MyActiveRecord というのを見つけました。

いやー、これいいっす。設定らしい設定はDBへの接続くらい。テーブルと同じ名前のクラスを作れば勝手にアクセスクラスにしてくれます。

仕事でバリバリ使いたいと思います。