この時期になると DELL のキャンペーン(在庫処分?)で、
サーバがどんどん安くなる。
メモリ 512MB、HD 160GB までスペックが上がっていたので、
ついに注文してしまったよ。
PowerEdgeSC430 メモリ&HDDダブルアップグレードパッケージ(300台限定)
【3/13迄】限定クーポン利用で、23,980円 --> 19,184円!
クーポンコード:DOC-3817-XPMLUX-M-0
- インテル Celeron D プロセッサー 331 (2.66GHz)
- 512MBメモリ(キャンペーン適用後)
- 160GB HDD(キャンペーン適用後)
自宅のサーバ用。
家用のサーバで新品を買うのは実は初めて。
サーバに 15,000 円以上かけるのも初めて。
今のサーバの CPU は Pentium II 300MHz で、
自宅用としては充分高速、と思ってたんだけど、
ウィルススキャナーや、CGI アクセスの影響で、
あきらかに非力になってきたのよね。
トラックバックPINGを送って、ブログ検索に強くなろう!、
と思ってコマンドラインからトラックバックPINGを送るるツールを
作ってはみたんだけど、、、、--> [2006-03-08-4]
結論。
私の書いたツールではブログ検索に強くなれません。残念。
更新を通知するには、weblogUpdates を送らなきゃいけないんだけど、
私が書いたのスクリプトは単純に POST をするだけですわ。
Perl で書くより Ruby で書く方が簡単そうなので、
weblogUpdates.ping で更新を通知する Ruby スクリプト
http://sonic64.com/2004-02-15.html
ここを参考に(パクって?)書いてみた。
URL 等は直書き。
#!/usr/bin/env ruby
require 'xmlrpc/client'
require 'uri'
name = "/home/pochi/ChangeLog"
url = "http://www.pochi.cc/~sasaki/chalow/"
ping_uri = ARGV.shift
connection = XMLRPC::Client.new2(ping_uri)
result = connection.call("weblogUpdates.ping", name, url)
p result["message"]
Ruby ってすごいわ。
これで幸せになれるかしら?
でも、いくつかの PING サーバへの通知はエラーになってしまうな。
まだまだ幸せになれないのう。
chalow は書きたいときに気軽にメモが取れる素敵な
ツールなんだけど、ブログ検索にひっかかりにくい気がする。
ブログ検索用の ping サーバに ping を打てば良いんだろうけど、
お手軽に ping を送るツールが見付からなかった。
探しかたが悪いのかなあ。
なので、コマンドラインから Trackback Ping を打つ
Perl スクリプトを書いてみたよ。
tb-command
http://www.pochi.cc/~sasaki/src/tb-command.txt
動かすには Net::Trackback モジュールが必要。
Net::TrackBack
http://search.cpan.org/~tima/Net-Trackback-1.01/lib/Net/Trackback.pm
使い方は以下。
usage:
tb-command -p <ping-url> -t <title> -u <url> -e <excerpt> -n <blog_name>
tb-command --ping-url=<ping-url> \
--title=<title> \
--url=<url> \
--excerpt=<excerpt> \
--blog_name=<blog_name>
chalow の生成時にいくつかの Ping サーバに ping を打つように、
生成スクリプトに以下を追加、と。
for pingserver in `cat <PingサーバURLリスト>` ; do
~/bin/tb-command \
-u 'http://www.pochi.cc/~sasaki/chalow/cl.rdf' \
- '/home/pochi/ChangeLog' \
-p \'$pingserver\'
done
Ping サーバは以下からいくつかピックアップ。
Ping送信先一覧(国内)
http://www.boraro.gozaru.jp/blog/blog_ping-foreign.html
Ping送信先一覧(海外)
http://www.boraro.gozaru.jp/blog/blog_ping-home.html
これでブログ検索に強くなれるかしら?
追記)
やっぱり探し方が悪かったらしい。
ありがとう、いなもで!
こっちに乗りかえようかな。
weblogUpdates.ping で更新を通知する Ruby スクリプト
http://sonic64.com/2004-02-15.html
ということで、さくっと乗りかえました。--> [2006-03-10-2]
更新を通知するには weblogUpdates を送らなきゃいけないんだけど、
私が書いたスクリプトだと、単純に post してるだけだもんね。
http://nais.to/~yto/clog/2006-03-07-1.html
仕事クオリティでブログを書くのは大変だよなあ、とか思った。
でも人に仕事でブログを書かせたことが何回かあるな。
ちょっとだけ反省。
以下のツールの開発者とお話。
BlastJ
http://www.crossfire.jp/blastj/
JavaSQL --> [2006-03-01-3]
このツールは Struts & Eclipse を使ってる現場では、
かなり便利じゃないかと思う。
Hibernate とか Spring とか新しめのフレームワークじゃなくて、
Struts をガシガシ使っている現場はまだまだ多いはずなので、
需要はかなりありそうな気がする。
詳細は動画デモでも見てくださいまし。
販売代理店、パートナーを探してるということなので、
一山当てたい人は連絡を取ってみると良いらしいよ。
追記)
O/R マッピングツールとして Hibernate より良い点を
開発者から聞いたので追記。
- CROSSFIRE O/Rは、SQLの知識さえあれば使える。
(Hibernateは、固有知識が物凄く必要)
- CROSSFIRE O/Rは、Javaのレベルは初心者レベルでも大丈夫
(Hibernateは、Javaに関してかなり高度な知識が必要)
- テーブルのJOINでリレーションを扱う際に、読み込むデータの
量を把握しやすい。
(Hibernateは、この辺が非常に難しい。)
良いじゃん。
コンセプト。
- 入力チェックはしない。
フォームに入ってきたものを処理するだけ。
- データベースは使わない。
- 加工は Excel でする。Excel 形式の CSV で保存する
- ファイルロックとかを真面目に考えるのが嫌なので、
1回答は1ファイルにする。(flock ぐらいはするけど)
- 再利用性は考えない。設定ファイルは使わない。
その都度プログラムを修正する。
- 入力フォームは自前で書く。
(元データ + ワンライナーとかで自動生成してから加工する、と)
enquatesubmit.cgi
http://www.pochi.cc/~sasaki/src/enquatesubmit_cgi
ポイントをいくつか。
元のフォームは SJIS で書く。
SJIS にしておけば Excel が扱いやすい。
Text::CSV_XS は binary モードで開く。
my $csv = Text::CSV_XS->new({binary=>1});
要素が入っていないときは、スペース1つを代わりに入れる。
foreach my $value (@itemlist){
if ($q->param($value)){
push (@columns, $q->param($value));
} else {
push (@columns, ' ');
}
}
回答の場所をウェブからアクセスできるところに置くなら
.htaccess に以下のような感じに書いてアクセス制限する。
(123.123.123.123 は適当なものに変更)
Options Indexes
order deny,allow
deny from all
allow from 127.0.0.1 123.123.123.123
回答をまとめて取り出すのには、シェル等で結合してやればOK。
CGI にするなら以下のような感じ。
header.csv にレコード名を書いておけばグラフ化するとき楽。
#!/bin/sh
printf "Content-Disposition: attachment; filename=data.csv\n\n"
cat header.csv
for i in 0* ; do cat $i ; printf "\n" ; done
getcsv.cgi
http://www.pochi.cc/~sasaki/src/getcsv_cgi
http://www.fmmc.or.jp/~fm/nwts/w2003s/index.html
良くまとまっている。
設定するときの手順書として良いかも。
でも実際に構築するときに問題になることは、
こういう教科書的な手順書には書いていなかったりする。
具体的には、インターネットを含めた現状のネットワークと
どう整合性を取って設定するのか、というところとか。
DNS の基本、NTP の基本、セキュリティの基本、等々、
そういうことをわかってないまずハマる。
そういう基本的なノウハウは
- 真面目に勉強するのは時間がかかる
- ハマるとなぜかすぐに身につく
- 詳しい人に聞くとわりと簡単な話だったりする。
という特徴があるので、身につけるためには、
現場で経験を積むことがわりと重要だったりする。
ただし現場経験だけでは偏った知識だけになっちゃうので、
地道な勉強で知識を補完するのも重要。
つまんない結論だけど日々是修行なのよね。
http://www.leaza.com/?j=3&m0=10.hw&m1=10.hh
Happy Hacking Keyboard (HHK) を愛する人はそれなりにいる。
そういう人は HHK を常に持ち歩いてたりする。
しかもノートPCを持ってるのにキーボードも持ち歩いてたりする。
キーボードが2つあるのは無駄なので、HHK に CPU をつっこんで、
ディスプレイがあればどこでも作業できるようにしよう!、
というネタはいろいろなところで聞いてたけど、
本当に作っちゃう人がいたのね。
すごいな。
HHK は私も常用していた時期がある。
たしかにとても良いキーボードだと思う。
そんなに愛してはいないけどね。
ちなみに私がいちばん長く使ってたのは OKI の mini keyboard。
Mini Keyboad III
製造中止とは。。。。
http://www.oracleopenworld.jp/
チケットをもらったので行ってきた。
ちゃんと買うと5万円らしい。ありがと!>くれた人。
Oracle のイベントに出るのは初体験。
あー、そういえば Microsoft のも行ったことないな。
来場者がスーツばっかりでちょっと驚いた。
スーツじゃなかったので浮いてたかもしれんなあ。
セッションに出て、ブースを回って、そそくさと退散。
- Microsoft や他のデータベースベンダ以外のほぼすべての
企業が出展してる気がした。
- Oracle としては、データの操作は、データベースに近いところ、
できればデータベース内でやるべき、と考えている
- データベースを全部 Oracle で統合しませんか、
というアプローチが流行り?
- トレンドっぽいネタは、SOX法対応かしら。
感想はこんな感じ。
http://shibuyajs.org/
via http://blog.bulknews.net/mt/archives/001911.html
Shibuya.js は主に東京近辺の JavaScript プログラマによる
非営利団体です。
Shibuya.pm の JavaScript 版。
もうちょっとすると JavaScript 専業のプログラマとして、
食うこともできるようになるんだろうな。
職場のスキルシートに入れるかどうか検討せねばのう。
http://blog.bulknews.net/mt/archives/001912.html
設定しようかのう。
http://nikkeibp.jp/wcs/leaf/CID/onair/jp/elec/423702
IP Infusion社はIPルーター向けミドルウエア「ZebOS」などを
開発しているベンチャー企業で、旧デジタル・マジック・ラボ社長の
吉川欣也氏とJANOG(日本ネットワークオペレーターズグループ)の
初代会長で技術者の石黒邦宏氏が、1999年に
米国シリコンバレーで設立した。
ちゃんと「JANOGの初代会長」って出てるな。
石黒さんは、いつもノートPCで zebra のコードを書いてる人、
というイメージがすごくあるんだよね。
これで、旧デジタル・マジック・ラボ(DML)のすべての部門が、
なんらかの会社と合併したり買収されたりした、ということかな。
- DMLのネットワーク部門はUSENが買収。
- DMLのコンテンツ部門は RINT と合併して anchor に。
- DMLの石黒さん部門は IP Infusion になって ACCSSS が買収。
こんな理解で正しい?
Yahoo 360°は落ちまくるし、mixi は重い。
業者がいっぱいいて重すぎてもおかしくないはずの
Livedoor フレパが、ちゃんと動いてるっていうのは実は凄い。
中の人と雑談で、伊勢さんにそういう凄さを話してもらいたいなあ、
と言ったら、すでにそういう発表はあったんだとか。
ライブドア次世代テクノロジーセミナー
http://seminar.livedoor.com/tech/
ライブドアの中の人にヒアリングをしてまとめて発表したらしい。
知らなかった。チェック甘すぎ。がっくし。
Cybozu Labs の TAKESAKO さんが詳しいログを書いている。
TAKESAKOl @ Yet another Cybozu Labs
http://labs.cybozu.co.jp/blog/takesako/2005/12/livedoor.html
これ読むと、やっぱり凄いや、という内容。
大規模サーバ構築、運用のノウハウがぎっしり。
事件があっても、エンジニアが辞めないわけだわな。
すごいエンジニアがちゃんといる、という職場は、
それだけでエンジニアにとっては良い環境だと思うし。
事件の影響で、取り引き条件が悪くなっても
潤沢なキャッシュを持ってるので、機器の購入とかは問題なし。
技術部門も当然、上場を目指してたわけで、
独立採算に近い形になってるらしく、事件のダメージは、
現場的にはあんまりないらしい。
http://www.atmarkit.co.jp/im/cop/serial/suguru/01/01.html
こういうコラムまで書いちゃうとは。
たしかに情報セキュリティ管理者の教育っていうのは、
とても重要だけど難しいことのような気がする。
それに実際に取り組むっていうのは凄いよなあ。偉いよなあ。
日本のインターネットを作ったトップランナー達はまだまだ元気だ。
http://cl.pocari.org/2006-02-27-1.html
AJAX(JSON) と XML-RPC(XML) の連携の良いサンプル。
すごく勉強になった。
なるほどねえ。
http://blog.bulknews.net/mt/archives/001910.html
Plagger とても便利そうだ。--> [2006-02-22-4]
とりあえず使ってだけみないとな、と思ってはいる。
この記事は Perl で作られているソフトウェアの、
実装の違いについて書いてある。
- CPAN を使う or 使わない
- 同梱 or 別途配布
- モジュール化する or ファイルを配置
- 設定ファイルを書く or 自動読み込み
というような違いがあって、それぞれ長所短所がある。
ソフトウェアの思想の違いもあって面白い。
運用者側としては
- 設置で楽ができる
- データ管理が容易にできる
- 保守が容易にできる
- セキュリティ対応がプラグインも含めてしっかりしている
という条件が満たされてれば何でも良いんだけど、
プラグインの実装の方法によって、やるべき作業も違ってくる。
Plagger における実装の考え方は以下のような感じで、
- 開発が落ちつくまでは全部入りで配布してまとめて面倒を見る
- API が固まってきたら CPAN に移行できるようにしておく
運用する人のことを良く考えている。
ますます、試さねば、とか思ったですよ。
http://ya.maya.st/d/200603a.html#s20060301_1
qmail はちゃんとしたログを吐かないのでセキュアじゃない。
言われてみればたしかにそうかも。
http://dkiroku.com/2006-03-01-20.html
うん、なるなる。
でも軽薄な言葉を使う人に限って決済権があったりするする。
困る困る。
真似して使っちゃう使っちゃう。
http://www.irori.org/doc/awstats-fix-searchword.html
文字化けも奥が深い。
私もパッチをあててるけどこっちのほうが良さげだな。
参考) 私のカスタマイズ
AWStats の検索語変換等 --> [2005-06-27-2]
AWStats で日本語検索キーワードを処理する --> [2004-08-31-5]
referrer SPAM 避け --> [2005-06-06-1]
Google Analytics と Visitors があるから、
AWStats は捨てても良いかなー、とも思うんだけど、
一度設定しちゃうとなかなか捨てにくい。
見たいときにすぐにそれなりの出力が見れるからねえ。
参考)
超高速な Apache ログアナライザ Visitors --> [2005-07-19-6]
Google Analytics --> [2005-11-15-4][2005-11-17-8]
http://h3showcase.com/products/crossfire/index2.html
SQL の設定をすると Java のコードを自動生成してくれる
Eclipse プラグイン。
パーソナル版は無料で使える。
Movie デモを見るとわかるけど、良くできている。
元々は個人が自分用に開発したものらしいよ。