PC関係のメモ
年末のアクセス増加 / [server]アンテナを立てたい / 風邪ひいた(2) / [tDiary]tdiarygrep を入れた / [Web制作]シンプルな Blog ツール / 紙 / [tDiary]referer_scheme
年末のアクセス増加
今年は無かった、対策したのに・・・
[server]アンテナを立てたい
といってもテレビじゃなくてサイトの更新情報を自動チェックしてくれるツールのほう
* なつみかん * ((<URL:http://aniki.haun.org/natsu/>)) * 朝比奈アンテナ * ((<URL:http://masshy.fastwave.gr.jp/hina/release/>)) * たまてばこ * ((<URL:http://www.wakaba.toyonaka.osaka.jp/~ikemo/soft/tama/>)) * WDB * ((<URL:http://na01.shonan.ne.jp/~gorry/wdb/>)) * RNA * ((<URL:http://www.semblog.org/wiki/?rna>))
風邪ひいた(2)
ようやく熱が引いてきた。
30日からほとんど寝たきりだったから腰が痛い・・・
[tDiary]tdiarygrep を入れた
単純な検索がしたいだけなので WEB インターフェースで grep が実行できるのは便利。
オリジナルの tdiarygrep は ERB あたりでエラーが出たので rufein さんのところ のを使わせていただいた。
Matzにっき で使われてるのはカスタマイズされてるみたい。
[Web制作]シンプルな Blog ツール
Landscape 2003-08-05 changelog-memo: こんなChangeLog メモツール、Weblog ツールがほしいなあ に共感。
Hikiを0.5devにバージョンアップする / [tDiary] tdiarygrep がバージョンアップ
[tDiary] tdiarygrep がバージョンアップ
あおきにっきより
しまった。erb がない場合を考えてなかった。erb/erbl にフォールバックしてても、 erbl 自体がパスに入ってなければ意味がない。
だそうで昨日言ってた部分が直って、うちの環境でも動くかもと思ったけどやっぱり駄目みたい。
ちょっとソースを見てみた。
ERBをインクルードする部分で、
begin require 'erb' ErbEvaluator = ERB rescue LoadError require 'erb/erbl' ErbEvaluator = ErbLight end
もしERBが存在しなければERbLight(従来の名前)をインクルードしてるわけだけど、
ErbEvaluator = ErbLight
はERbLightでは?帰ったら試してみよう。
追記: 書き換えたら使えるようになった。
TVキャプチャボードで遊ぶ / [retropc]所有しているPC-88シリーズ / ThinkPad X31をIBMソフトウェア導入支援で簡単アップデート / [server]またHDDのセクタエラーでサーバ停止 / [server][todo]HDD問題今後の対策 / [todo]第1四半期のTODO / 明日から仕事
[todo]TVキャプチャボードで遊ぶ
[retropc]所有しているPC-88シリーズ
押入れを掃除したおかげで所有機種を把握できたのでメモ
- PC-8801mkII
- PC-8801mkIISR
- PC-8801mkIIMR
- PC-8801mkIIMH
中期の機種に偏ってる。どうせなら初代88か、後期のMA2とか、変り種のTRあたりを保存しておきたいのに。
そういえばCD-ROMが載ってるMCなんてあったなー
PC-98/88コンパチの機種には萌えない。(追記:PC-98DOおよびDO+)
PC-88VA/VA2/VA3あたりは数が出回ってない上にVA3(2も?)には2HDじゃないフロッピードライブが載ってたような。この辺もすでに88じゃない気が・・・16ビットだしね。
ThinkPad X31をIBMソフトウェア導入支援で簡単アップデート
だめだめ日記 2003-01-02 IBM - ダウンロード・ファイル & ドライバー より

WindowsUpdateのように最新のIBMドライバ/ユーティリティを導入してくれる。これは便利。
[server]またHDDのセクタエラーでサーバ停止
またセクタエラーが出て日記が見れない状態に。サーバー(DELL Inspiron 4100)をリブートしたらまだ行けた。
しかし先月HDD交換したばかりなのに・・・
[server][todo]HDD問題今後の対策
もう2.5インチHDDで良さそうなのは余ってないので交換はできない。それ以前に、新しいHDDを入れても発熱ですぐに同じ結果になる可能性が高い。
2.5インチHDDはサーバ用途にはコスト/性能面でベストとはいえないので、3.5インチのHDDを使ったデスクトップのファイルサーバを設置してデータを管理しよう。
INSPIRON4100にはHDDを付けずに、ファイルサーバ上のシステムを起動する。つまりディスクレスPC。PXEに対応しているので、ネットワークブートが可能なはず。
[todo]第1四半期のTODO
ここ3ヶ月中に済ませておかなければいけないお仕事
- フォームメーラ作成
- 社内データベースサーバの検討
- 侵入検知システム(IDS)の検討
- 番組データ更新スクリプトの見直し
とくに更新スクリプトは先月30日早朝にトラブってるので早急にね>自分
明日から仕事
休み中にサーバが落ちなかったのが何より・・・
ClearType + Tahoma Font = 見やすい / [todo][tDiary]tDiaryとトラックバック / 会社のマシンにWindows XPをインストール / Windows XPで気に入ってる点 / [todo][tDiary]会社の日誌をtDiaryで
ClearType + Tahoma Font = 見やすい
ClearTypeのときはアイコンのフォントをTahomaにすると見やすいよ、とTomさんに教えてもらったので適用してみた。

おお!英語版WindowsXPのデフォルトフォントだ!
アルファベットが読みやすいのでこのまま使います。
[todo][tDiary]tDiaryとトラックバック
tDiaryでトラックバックを頻繁に使ってるサイトを見かけない。
そもそもトラックバックとは、参照したことを相手の記事に送信することで共通のテーマの記事同士を繋げるためのものなので(だと思ってるけど勘違いかも)、それがtDiaryの場合だとRefererで事足りてしまうからなんだと思う。
そんなことは議論され尽くしてるだろうし、その上でこのプラグインがあるんだからきっと面白い使い方があるはず。
会社のマシンにWindows XPをインストール
仕事始めということで(?)Windows 2000だったのをXPにアップグレード。
自宅のメインマシンのときと同様だけど、前回書き忘れたことをメモしておく。
確実に不要と思われるサービスを止める。
- Windows Time
- Themes
- Messenger
環境変数を設定
- XYZZYHOME=D:\usr\local\xyzzy
- HOME=D:\home
- PATH=〜;D:\usr\bin
「送る」を整理(C:\Documents and Settings\User Name\SendTo)
Windows XPで気に入ってる点
Windows 2000に比べてWindows XPはちょっと便利になってる部分がいくつかある。
- ClearTypeを使うと文字が読みやすい
- 画像のビューアがついている
- 写真の印刷ウィザードは複数画像を一度に印刷するのに便利
- USBストレージデバイスの書き込みキャッシュが無効になっているので、抜き差ししたときに怒られない
- CMYKのJPGファイルが見れる
もちろんわけのわからない止まり方をしたりと不具合もあるわけど、最近は少なくなった。
[todo][tDiary]会社の日誌をtDiaryで
社内サーバにtDiaryを立ち上げてそこに書き込んでいこうかな。
xyzzyでtDiaryの更新作業を行う / 会社の日誌をtDiaryで(2) / PorFTPDが暴走 / [book][buy]Linux World 2004年2月号 / Rubyコーディング規約
[tDiary]xyzzyでtDiaryの更新作業を行う
xyzzyのtdiary-modeのおかげで日記をつける癖ができている。たとえばコーディング中、ふと日記のネタを思いついたときの行動はこんな感じ
- M-x tdiary-replace を使い Date: はデフォルト値(今日の日付)のままENTER
- ユーザとパスワードを入力すると日記の内容がバッファに展開される
- 日記を編集し C-c C-c の後ENTERを2回入力して日記を発行する
途中書きでも保存する感覚で C-c C-c してしまうことがある。さらに発行後も推敲しながら再発行しまっくているのでTDIARYTIMESは真っ白け。
便利すぎるツールがゆえの功罪です。(違う)
会社の日誌をtDiaryで(2)
複数人でやるとしたら
- 上司から部下に仕事の駄目出しトラックバックを飛ばす
みたいなトラックバックの有効(?)な利用法ができそうだ。
あと社内Blogについても調べてみたらGoogleはプロジェクト単位でBlogを立ちあげているらしい
元ネタのインターネットマガジン1月号を帰りに立ち読みしよう。
PorFTPDが暴走
CPU負荷が急激に高くなって落ちかけた
$ top -b -n 1 PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND 32161 httpd 25 0 780 780 364 R 22.7 0.3 19:19 0 in.proftpd 31818 httpd 25 0 716 716 300 R 19.8 0.2 20:12 0 in.proftpd 以下略
$ /usr/local/sbin/in.proftpd -v - ProFTPD Version 1.2.8
明日管理者の方と相談して1.2.9にバージョンアップしよう
[book][buy]Linux World 2004年2月号
Flonix - USBメモリから起動できるLinux / [server]ファイルの更新日時 / [server]Debian GNU/Linux Diskless-HOWTO / [server]仮サーバに交換 / [xyzzy][todo]cvs-mode / [buy][server]Maxtor 80GB HDD 7000円 / [server]IBM PC 300GLをファイルサーバにする / [wish][server]UPS / [server]Bonzai Linuxをインストール(1) / [server]NFSとファイアウォール / [tDiary]RDで/(スラッシュ)を含む文字列にリンクをはりたい / [wish]ブートできるUSBメモリ
[server]Flonix - USBメモリから起動できるLinux
Flonix is a complete, compact and nomad Operating System (OS) for PC computers.
Flonix USB Edition is designed for USB(1&2) storage devices (64MB & more)
[server]ファイルの更新日時
ネットワーク上のファイルの更新日時が未来になってるファイルがあったが、この日時の更新は各クライアントが行うのでファイルサーバの時間は関係ない。
正しく無くてもあまり気にしない。
[server]Debian GNU/Linux Diskless-HOWTO
[server]仮サーバに交換
そろそろINSPIRON4100のHDDが限界に近いので、完全にだめになる前に先代(Sotec Winbook)にまたも出張ってもらった。
[xyzzy][todo]cvs-mode
ここのひえさんのツッコミと同じく前にダウンロードできなくて諦めてたんだけど、最新版は大丈夫みたい。
早速なかださんのサイトのアーカイブからダウンロード。
同じくMirage Towerの2004-01-07 xyzzyのcvs-modeでssh認証も参考になりそう
[buy][server]Maxtor 80GB HDD 7000円
自宅DMZに置くファイルサーバに取り付ける
[server]IBM PC 300GLをファイルサーバにする
IBM PC 300GLでNFSサーバを動かしてファイルサーバにする。OSはDebian(Bonzai)を使用。
こいつの今のスペックは
- CPU Pentium II プロセッサ 400 MHz(うろ覚え)
- Memory 256MB SDRAM
- ATA133 80GB HDD
このマシンのいいところは何といっても音が静かだということ。電源部が秀逸。
今まではノートPCがサーバだったので停電にはバッテリで対処していたが、このマシンはデスクトップなのでUPSを購入する必要がある。
[wish][server]UPS
APCとOMRONの機種を店頭でみかけた。
どちらも1万円台からある。
[server]Bonzai Linuxをインストール(1)
IBM PC300GLにBonzai Linuxをインストールした。
パーティション構成
- /boot 32MB
- SWAP 512MB
- /(ルート) 2GB
- /var 残りすべて
参考サイト
[server]NFSとファイアウォール
NFS-HOWTO(日本語訳)のNFS とファイアウォール (ipchains と iptables)を参考にする。
NFSはいろいろなサービスで成り立っているのだな、と思った。NFSv4になるともっと単純になるのかな。
[tDiary]RDで/(スラッシュ)を含む文字列にリンクをはりたい
例えば
((<Debian GNU/Linux|URL:http://www.debian.org/>))
だとエラーが出る。
((<Debian GNU Linux|URL:http://www.debian.org/>))
だと出ない。
と思ったらRD working draft 日本語版に書いてあった。
Reference内では"|"や"/"は特殊文字なのでこれらを使いたい時には、 それを含む部分ごとダブルクオートで囲ってやらないといけません。 これはReference内のどの部分でも同じです。
((<"Bar | inside display text"|Label>))
つまりこれが正解
((<"Debian GNU/Linux"|URL:http://www.debian.org/>))
[wish]ブートできるUSBメモリ
IBMのUSBメモリはFDDエミュレートしてくれるので対応している。一本持っているがこれはデータ用なので、USBメモリLinuxを試すためにもう一本欲しい。
Bonzai Linuxをインストール(2) / tml - Rubyで実装されたメーリングリストマネージャ / 番組情報更新スクリプト
[server]Bonzai Linuxをインストール(2)
不良ブロックのスキャンが終わらない。もう少なくとも3時間はやってる。
ただこのHDDは購入後初めての使用なので一応チェックはしておかないと。
それよりもBonzaiではインストール言語に日本語を選ぶとセカンドステージで文字化けするらしい(Debian GNU/Linuxテンプレより)ので前に戻って変更しなきゃ。できたっけな。
番組情報更新スクリプト
変更点は
- データをインポートできなかった場合はロールバックするようにした。
- 更新単位をファイル単位から日付・チャンネル単位に変更
Bonzai Linuxインストール(3) / [server]NFSの設定 / [todo][server]QuickML / [wish]バックアップ媒体(DVD-RAM) / [server]NFSの設定(2)
[server]Bonzai Linuxインストール(3)
無事インストールできたがNIC(PLANEX FW-110TX-PK)を認識しない。modconfで8139tooを組み込んで解決した。
apt-setupでsource.listを作ってapt-get upgradeで最新の環境にした。
[server]NFSの設定
- インストール時カーネルコンフィギュレーションでnfsdをチェック
- apt-get install nfs-kernel-server
参考になりそうなサイト
最近のNFSはrpc.lockdが不要で必要なサービスはrpc.mountd、rpc.nfsd、portmapらしい
Red Hat Linux 7.2: オフィシャル Red Hat Linuxリファレンスガイドより
最近といってもこの資料もちょっと古め
[todo][server]QuickML
[wish]バックアップ媒体(DVD-RAM)
個人マシンのデータをバックアップしたい。数年分のメールデータとか、仕事のデータとか。デジカメで撮った写真データとか。
容量的にはCD-R等の640MBでも十分だが、フロッピーの1.4MBでは小さいし保管が難しい。
CD-RやRW、DVD+-R/RWは定期的なバックアップには向かない。
やはり書き換え/保管の容易なMOやDVD-RAMが適当だ。
今なら値段的にDVD-RAMがお得。買っちゃおうかなー。
WPC ARENA / 全DVDに対応、日立LG製DVDマルチプラスドライブが1万2999円!
でも去年の春にDVD+-R/RWドライブ買ったばっかりなんだよね・・・
[server]NFSの設定(2)
試しにマウントしてみる。
サーバ(192.168.1.2)の設定
エクスポートディレクトリを設定
# /etc/exports /var/nfs 192.168.1.3(rw,no_root_squash)
エクスポートテーブルを更新
exportfs -a
portmapを許可
# /etc/hosts.deny ALL: ALL # /etc/hosts.allow portmap: 192.168.1.3 mountd: 192.168.1.3 # lockd,statdもいるのかな?要調査
まだiptablesを設定していないので以上の設定で完了。
クライアント(192.168.1.3)の設定
マウントする
mount -t nfs 192.168.1.2:/var/nfs /var/nfs
しかしiptablesで弾かれた、抜粋すると
SRC=192.168.1.2 DST=192.168.1.3 PROTO=TCP SPT=111 DPT=694 ACK SYN
あて先ポート(DPT)は接続のたびに変化する。ACKとSYNが立っているので接続済みパケットだからACCEPTしてるはずだけど・・・と思ったが、
iptables -A INPUT -p tcp --dport 1024:65535 \ -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p udp --dport 1024:65535 \ -m state --state ESTABLISHED,RELATED -j ACCEPT
1024未満のポートは許可していなかった。しかしそもそもなんで予約ポート中を使うのか。
とりあえずホストを指定して、すべての接続済みパケットを通すルールを追加した
iptables -A INPUT -s 192.168.1.2 \ -m state --state ESTABLISHED,RELATED -j ACCEPT
無事にマウントできたが釈然としない。
メールサーバを再起動 / [server]自宅サーバ稼動状況 / [wish]UPS / [tDiary]tDiary+CVS(2)
[server]メールサーバを再起動
数ヶ月ぶりにメールサーバ(Let's Note AL-N2)を再起動した。
最近異音がしてたのと、LANカードが抜けかかってエラーが出てたので念のために。
[server]自宅サーバ稼動状況
ファイルサーバとか仮運用中のサーバとか多くなってきたのでまとめておく
サーバセグメントに設置している機器
- IBM PC300GL
- ファイルサーバ構築中
- Panasonic AL-N2
- メールサーバ
- DNSサーバ
- NTPサーバ
- SOTEC Winbook Eagle/X 266CTX
- WEBサーバ(仮)
- DELL INSPIRON 4100
- WEBサーバ(HDD故障中)
- マイクロ総合研究所 NetGenesis SuperOpt70
- LANとDMZを繋ぐルータ
[wish]UPS
OMRONかAPCの。
UPS / [server]SSH接続ができなくなった / [server]NFSサーバ+iptables
UPS
[server]SSH接続ができなくなった
PC300GLにSSH接続できなくなった。
原因はNFSの設定でhosts.denyに書いたALL:ALLの指定。hosts.allowにsshd:ALLを記述。
それにしてもxinetdってhosts.deny/hosts.allowを参照してたんだ。denyしたけりゃdisable=yesするし、ホストごとの制限ならonly_fromでできるから必要ないと思うんだけど。
[server]NFSサーバ+iptables
汎用連想計算エンジン(GETA) / “hp deskjet 955c”を貰った / [book][buy]BSD magazine the DVD / BSDとLinux / [todo]PDF記事 / 自宅メインマシンのベンチ
“hp deskjet 955c”を貰った
99年末に発売したモデルだがコードを印刷したりするだけなので白黒がそれなりの速度出れば十分。
[book][buy]BSD magazine the DVD
業務でBSDを使うことになるかもしれないのでバックナンバーが欲しいと思ってた。ちょうどいいので即購入。
BSDとLinux
WebサーバとかファイルサーバではDebian Linuxを使いたい。メールサーバにはFreeBSDがよさそう。
前者の理由はLinux+Apache(SAMBA)のほうがネット上の情報量が豊富であるから。またその実績も同様。
後者はqmailとの相性かな。
調査したわけじゃなくて単なるイメージだけど。
今は業務でもプライベートでもLinuxを使ってるけど、適材適所で使っていきたい。
さしあたって自宅メールサーバをFreeBSDにするところからはじめよう。できればディスクレスで。
[todo]PDF記事
ねういちさんも同じようなこと書いてるけど、PDFの雑誌記事って結局読んでないな・・・
- 日経ソフトウェア 縮刷版
- Linux magazine the DVD 2003
- Linux Japan過去記事大全
- リナックスワールド 2003年5月号 1年分のバックナンバー収録
- Software Design 2003年5月号 2001アーカイブダイジェスト
今度全部まとめてノートPCのHDDに放り込んでおこう。
自宅メインマシンのベンチ
自宅メインマシン(自作)の速度がスペックより体感で遅い気がした(特にメディアプレイヤーのこま落ち)のでベンチマークで測ってみた。
スペックは以下のとおり
- CPU Celeron 2.8GHz
- Memory 512MB DDR SDRAM/PC2700
- M/B GA-8PE667 Pro
- DDR333
- AGP 4X
- ATA 100
- VIDEO SAPPHIRE ATLANTIS RADEON 9600
ベンチマークソフトは"FINAL FANTASY XI for Windows - Official Benchmark Program"を使用。
- 1024*756 32ビット RGB接続
- 1回目 2748
- 1280*1024 32ビット DVI接続
- 1回目 2749
- 1280*1024 16ビット DVI接続
- 1回目 2794
遅い気がする。今度ちゃんと調べてみよう。
Subversion 1.0 がもうすぐリリースされる? / Debian でのカーネルアップグレード / [todo]昔の画像が消えてる / [book]Linux magazine 2004年2月号 / QuickMLをインストール
[programming]Subversion 1.0 がもうすぐリリースされる?
wakatonoの戯れメモ(2004-01-09) Subversion 1.0 へのカウントダウン?より
MLに流れたメール「(proposal) Subverion 1.0 date: 23 Feb 2004」が元ネタ
[book]Linux magazine 2004年2月号
KNOPPIX 3.2日本語版DVD版
これは珍しい。LinuxTag版はLinuxTagだけのスペシャルバージョンらしく以後のリリースは、またCD-ROMで行われるらしい。
単純にISOイメージをDVDに焼くだけでは使えないのかな?DVD版作成のノウハウが公開されると嬉しい。
特にORCAなんかを使いたい場合はCDよりDVDのほうが容量的に安心だと思うのだけど。
巨大Webサイトの裏側を探る
具体的に月間2億ページビューのサイトのサーバのMRTGグラフが掲載されていたりして参考になる。
また、コンテンツの配置のことも書いてあって二つの方法が示されている。引用すると
- すべてのサーバのローカルディスクにコンテンツを配置―ステージングサーバを用意し、そのサーバにコンテンツが配置されたら全サーバに同期処理を行う。
- NAS(ネットワークアタッチドストレージ)にコンテンツを配置―NAS上にコンテンツを配置し、NFSでWebサーバからマウントする。
そしてこの方法に対して「前者のばあいはコンテンツの同期にタイムラグがあり、コンテンツが大きくなればなるほどトラブルが起こりやすい。よって、後者をお勧めする。」としている。
その他Apacheのモジュールを削ったり、設定のカスタマイズをする・・・など。
ただ、ページ数が少なかったのが残念。興味深い記事だったのでもっと読みたい。
QuickMLをインストール
Services for UNIX 次期バージョンは無償提供
カーネルをバージョンアップ / [programming]Webアプリから2行でExcelファイルを出力する方法 / [todo]BitChannel / [server]NFSでWebサイトのコンテンツを共有 / [server]自宅サーバのディスクレス化 / [Web制作]Googleから締め出される
[server]カーネルをバージョンアップ
PC300GLのカーネルをバージョンアップした。
Kernel 2.4.24 for Debian 3.0という記事を見つけたので試してみた。2.6にカーネルバージョンアップする練習にもなるし。
現在は2.4.20が入っている。
まずはsouce.listを編集
# /etc/apt/source.list deb http://www.backports.org/debian stable kernel-image-2.4.24-i386
新しいカーネルをインストール
apt-get update apt-cache search kernel-image apt-get install kernel-image-2.4.24-1-686
そしてrebootしたところカーネルパニックしてしまった
debian-users:32384に同じような報告があった。カーネルパニック時のメッセージを引用する。
| request_module[block-major-3]: Root fs not mounted | VFS: Cannot open root device "302" or 03:02 | Please append a correct "root=" boot option | Kernel panic: VFS: Unable to mount root fs on 03:02
解決するには/etc/lilo.confにinitrd=/initrd.imgを追加する
image=/vmlinuz
label=Linux
read-only
initrd=/initrd.img
そして設定を有効にするためにliloコマンドを実行。
再度リブートして起動できることを確認。
[programming]Webアプリから2行でExcelファイルを出力する方法
Content-Type: application/vnd.ms-excel Content-Disposition: attachment; filename="hoge.xls"
[todo]BitChannel
[server]NFSでWebサイトのコンテンツを共有
先日からNFSサーバ上の/var/wwwをWebサーバからマウントして、そこでコンテンツを共有していた。
現在のWebサーバはSOTECのノートでUSBの遅いNICを使用していたため、このサイトへのアクセスが異常に遅くなっていたのはそのせい。
そこでHDDが今にも火を噴きそうなINSPIRON4100からも同じ場所を共有して、こちらを復活させた。さすがに速い。
仮にINSPIRON4100のHDDが壊れてもNFSサーバ上にデータは残る。そのときは再度SOTECノートを動かせばいいのですぐに復旧もできる。
というか前回前々回のクラッシュは、おそらくデータ部への書き込みが頻繁にあったということも一因なので、システムだけならばしばらくは持つでしょ。と楽観視してみる。
[server]自宅サーバのディスクレス化
現在Webサーバは本番のINSPIRON4100と予備のSOTECノートがある。
まず今週末にはINSPIRON4100のシステムをNFS上に置いて、ディスクレスマシンにしたい。ネットワークブートに対応しているので、完全なディスクレスにできるはず。
SOTECノートはPXEに対応していないのでFDDからの起動にする。問題はNIC。USB接続のNICはFDD上のgrubが認識するかどうかも心配だが、なにより遅い。3COMのPCMCIAのNIC(10BASE-T)を安く手に入れる予定。
メールサーバはLet's NOTE AL-N2だが、これもPXEに対応していないのでFDDブートにする。問題はOSで、できればFreeBSDを入れたいのだがはたしてできるのだろうか。
[Web制作]Googleから締め出される
仕事で作ってるサイトのすべてのページがGoogleに引っかからなくなった。というよりドメインごとGoogle内から抹消された模様。
どっかで読んだなこんな記事。と思って記憶をたどってITmedia:GoogleパワーがWebの脅威に?を発見。この記事だ。
何故削除されたのかに興味がある。スパムと判断されたのか、もしそうならばどの部分がそう判断されたのか。
Googleから締め出される(2)
原因を考えてみた
ロボットがクロールに来たときにサーバが止まっていた
サーバがとまってたときにクロールが来たとして一度や二度のことで抹消されるとは思えない。が、可能性はある。
第三者が削除依頼を出した
削除依頼できるのか調べて見たら、Google ページの削除に自動 URL 削除システムというページを発見。しかし、これが働くためにはまずrobots.txtを配置していなければいけないらしい。つまり管理者でなければ行えないので無理。
グーグルダンス等のデータ構成中の弊害?
一時的なものかも
hp deskjet 955cをLinuxで使う
先日貰ったプリンタ(deskjet955c)をLinuxに繋いで共有する予定なので事前調査。
中古PC講座ではまさにプリンタ・サーバの構築の記事でこのプリンタを使用している。USB接続でも問題なかったようなので楽に行けそうだ。
まずはインク買ってこなきゃ。今なら年末の売れ残りの商品が安く買えるかも!?
対応するインクはHPインクジェットプリンタ インクサプライ対応表(PDF)によるとhp78 プリンタカートリッジカラー とhp45 プリンタカートリッジ黒だ。
追記:黒インク(hp45)が3600円もしたので買うのやめた。ちなみにBJ-F300の黒インクは990円。
スピーカー / ジュンク堂書店
[wish]スピーカー
液晶(EIZO FlexScan L557)内蔵スピーカーはやっぱり音楽再生には向かない。前から思ってたけど今日あらためてそう感じた。ちょっと音量を上げるとすぐに割れる。
というわけでスピーカーを買おう。部屋全体で聴くことは無い、音場は机の周囲程度でいいので小さいスピーカーでかまわない。
BOSEの小ぶりで安いやつを探そう。
ジュンク堂書店
初めてジュンク堂書店に行ってきた。図書館みたいなイメージ。専門書が豊富という評判どおりコンピュータ関係の本もマイナーなものまで取り揃えられていた。今度ゆっくり物色しに行こう。
3Com Megahertz 10/100 LAN PC カード 3CCFE574BT / pMachine / リンクに下線を表示させた / Googleから締め出される(3)
[buy]3Com Megahertz 10/100 LAN PC カード 3CCFE574BT
現在予備WEBサーバになっているSOTECのノートに取り付けるために購入。まだ手元には届いていない。
CardBusではなく16ビットPCカードなのでパフォーマンス的にはともかく、Linuxとの相性を優先した。
MaoさんのBlog 2003-7-18 夢見るThinkPad 600Eによれば
旦那様の3com「3CCFE574BT」に差し替えてみたらおもしろいように サクサクになりました。
ということでLinuxでも動くらしい。みんな難なく動くせいか動作報告は意外と少なかった。
リンクに下線を表示させた
スタイルシートを弄って下線を表示させてみた。あとTahomaフォントにした。
Googleから締め出される(3)
((<"void GraphicWizardsLair( void ); //"|URL:http://www.otsune.com/diary/2004/01/18.html#200401186>))より
どうやら世間的な流れのよう。うちのサイトにもクレームが来てたってことか・・・?!
ちなみに、僕も先日Googleに以下のようなメールを出していたんだけど
先日から弊社の運営している番組情報サイト(http://tv.starcat.co.jp/)が Googleで検索されなくなったのでメールさせていただきました。
再度登録されることはありますでしょうか? また、削除された理由等あればお教えいただければ幸いです。
驚くことにちゃんと返答が来た。しかも翌日。多分中の人が書いたと思われる部分を抜粋すると
Googleへご連絡いただき、ありがとうございました。
URLを検索したところ、お客様のサイトが現在もGoogleインデックスに掲載されている ことを確認しました。下記のURLをご参照ください。
http://www.google.co.jp/search?q=http%3A%2F%2F(長いので省略)
あとはお決まりのテンプレートと思われるものが続く。「当社のインデックス内の結果は、検索結果の質と内容の向上を目的として、継続的な自動化されたプロセスに基づいて・・・(以下略)」
で、「下記のURL」を見てみると、http://www.starcat.co.jp/のインデックスじゃん!
これじゃなくてhttp://tv.starcat.co.jpが削除されたんですよー。と再度メールを出す。
すると、
Googleへ再度ご連絡いただき、ありがとうございました。先日の返信が、お問い合わせ のURLに関する情報を含むものでなかったことをお詫び申し上げます。
先日の返信でも申し上げたように、Googleのインデックスは、検索結果の改善を目的と した継続的な自動化されたプロセスに基づいて定期的に変更されます。お気づきになっ た変更は、この意図を実行した結果です。
また、Google では 10億以上のページをインデックスしているものの、サイトのすべて のページが、インデックスされる、または、常にインデックスに含まれるという保証は ありません。しかし現在、クロールするページの数を増やし、インデックスにより多く のページを含められるよう改善に努めておりますので、どうぞご理解の程をよろしくお 願い申し上げます。
インデックスに関する詳細は、以下のページよりご覧ください。 http://www.google.com/technology/index.html .
今後とも Google をどうぞよろしくお願いいたします。
LinuxでITVC16-STVLP / Debian GNU/Linux で利用する GNU GRUB / bq.rbを入れた / [buy]UPS OMRON BX50XFV / [wish]Asus Terminator シリーズ
LinuxでITVC16-STVLP
linuxwiki@ぱ研 LinuxでITVC16-STVLP
そういえば確か、今月のSoftware DesignにLinuxで録画する記事が載ってた。ちなみに今月号はその記事以外に今すぐ必要な記事が無かったので未購入。
目次によると、「Linuxでつくるパーソナルビデオサーバ〜OpenPVSプレビュー」という一般記事だった。
と思ったら、このOpenPVSは上記ぱ研の籠屋さんが開発したものだった。日記によると次号のSD誌にも記事が載るらしい。やっぱり今月も買っとこうかな。
追記: /.の記事 自由を手にしたビデオサーバ『OpenPVS』
bq.rbを入れた
今までは惰性で<pre>使ってたけど引用はやっぱり<blockquote>でしょ。ということでbq.rbを入れた。
追記: RDの引用を使うことにしたのではずした。bq.rbは引用元サイトにもリンクが張られて便利だった。(2004-1-22)
ところでRDそのものには引用の構文はあるのかな?と思ってちらっと検索して見つかったのが
>引用のテスト
・・・駄目らしい
Journal InTime - 2003-12-22 tDiaryの引用
RDスタイルの説明にあった!
# こんな感じ
--- <blockquote>
この部分は引用です
この部分は引用です[buy]市民プールの回数券
前のが切れたので購入
システム管理者は人力検索サイトの中の人じゃありません
はてなダ ヨーンから
--- <blockquote> 僕は何故か会社で導入した PC のセットアップとかする機会が多いのですが、ある程度 PC に慣れている人のマシンには google ツールバーを、そうでもない人のマシンはそれプラス IE の Home Page を google にして引渡してます。なんか探す時は、ここに調べたいものを入力して下さいねとか言いながら。
これ実践しよっと(ていうか一台二台やった覚えが・・・)。システム管理者じゃないけど僕も何故かセットアップとかする機会がある。
[buy]UPS OMRON BX50XFV
[wish]Asus Terminator シリーズ
スペックや内容的にはごくありきたりのベアボーンキットのように感じてしまいますが,ショップで売り切れが続出するのには理由があります.
- ファンレス電源を搭載
- 小型で奥行きも取らないケース
- 専用M/Bを使用し,基本的に必要な機能は全てオンボードで搭載
- 通常のサイズの PCI スロットを 2本持ち,拡張性もまずまず
- (P4 533Aでは,PCI*1,AGP*1)
- 5インチベイ2つ,3.5インチベイ2つ(1つはシャドウベイ)を持つ
Webサービスに対する漠然としたイメージ / bkbsfilter / Services for UNIX 3.5 日本語版リリース
Webサービスに対する漠然としたイメージ
まずは検索に頼らず書いてみよう
郵便番号を渡すと住所を返すサービスを例とする。(すでに存在してたはず)
サービスを提供する側は
http://www.mylab.jp/postal?zip=1050001
のようなアクセスがあった場合に
東京都港区虎ノ門
を返す。エラーまたは見つからなければ空文字列を返す。
このやり取りをXMLを使って標準化したのがXMLRPC?そこから発展あるいは派生したのがSOAP?WSDLはそのやり取りを定義するもの?
bkbsfilter
Becky! Ver.2(以下、Becky!)でSPAMを自動的に振り分けするプラグインです。Rubyで書かれていて、Becky!でRubyスクリプトを走らせるプラグインであるBeckrbの上で走ります。
つまりこう。
Becky! <- Beckrb <- Ruby <- bkbsfilter
iモード端末向け外付けキーボード / [todo][server]CVSサーバ立てる / [server]XNameに登録した / [tDiary]recent_trackback3.rb - 最近のトラックバック / [server]3Com Megahertz 10/100 LAN PC カード 3CCFE574BT(2) / [tDiary]RDスタイルの脚注 / QuickMLのアーカイバ・エージェント / [memo]Space Saver Keyboard II USB のドライバ / [Web制作]Googleから締め出される(4)
iモード端末向け外付けキーボード
[todo][server]CVSサーバ立てる
[server]XNameに登録した
mylab.jpのセカンダリDNSに、今まではThe Public DNS Serviceを利用していたが、Xnameに変更した。
[tDiary]recent_trackback3.rb - 最近のトラックバック
recent_trackback3.rbをコミット - 今日のなんでやねん 2004-01-21
ただの日記より
最新のプラグイン集からrecent_trackback3.rbを入れた。
追記:coreも最新版が必要だったので一旦はずした。
[server]3Com Megahertz 10/100 LAN PC カード 3CCFE574BT(2)
手元に届いたので早速SOTEC WinBookに挿入。あっさり認識。体感でスピードアップを確認。
[tDiary]RDスタイルの脚注
((-これは脚注です-))
脚注のテスト((-これは脚注です-))
footnote.rbは要る。
QuickMLのアーカイバ・エージェント
[memo]Space Saver Keyboard II USB のドライバ
[Web制作]Googleから締め出される(4)
TomさんからのツッコミによるとGoogle AdSense シミュレータでtv.starcat.co.jp検索すると関連付けされたアドが出ないとのこと。やっぱキャッシュされてないんですねー。
でも、アドセンスに申し込んでGoogleがどう反応するのかも興味あります。
- 許可が下りない
- 許可は下りるがキャッシュされないまま
- 再度クロールに来てキャッシュされる
2番目かな・・・1番目だとしても理由が説明されるならやる意味がある。3番目なら言う事なし。
3になる可能性高いのはアドワーズかな、仮にも広告主になるわけだし。
XML-RPCについてのメモ / RESTアーキティクチャ / iptablesでSYN flood アタックを防ぐ / Google AdSenseに申し込んだ / Debian woodyをkernel 2.6にするメモ / はてなダイアリーブック / Debian + RAID / UPS OMRON BX50XFV 到着
[memo]XML-RPCについてのメモ
PHPでXML-RPCを使う場合は最近ではPEARのライブラリを使用するのが良いらしい。入っているのか確認してみた。
# pear list Installed packages: =================== Package Version State Archive_Tar 1.1 stable Console_Getopt 1.0 stable DB 1.5.0RC2 stable HTTP 1.2.1 stable Mail 1.1.1 stable Net_SMTP 1.2.3 stable Net_Socket 1.0.1 stable PEAR 1.3b3 beta XML_Parser 1.0.1 stable XML_RPC 1.0.4 stable
ちゃんと入ってた。じゃ、これ使おう。
RESTアーキティクチャ
Amazon Web Searvice で使われてるのはSOAPとこれ。XML-RPCだと勘違いしてた。XML-RPCはリクエストもXMLになる。
トラックバック技術仕様書によるとトラックバックもRESTを採用している。
iptablesでSYN flood アタックを防ぐ
ずんWiki - IDS から
# for SYN-FLOOD iptables -N syn-flood iptables -A INPUT -p tcp --syn -j syn-flood iptables -A syn-flood -m limit --limit 1/s --limit-burst 100 -j RETURN iptables -A syn-flood -j DROP # for PING-OF-DEATH iptables -N ping-death iptables -A INPUT -p icmp --icmp-type echo-request -j ping-death iptables -A ping-death -m limit --limit 1/sec --limit-burst 10 -j RETURN iptables -A ping-death -j DROP
Google AdSenseに申し込んだ
会社名欄が必須事項になっていたが、名前と同じものを入力しておいた。これで良いのか調べてみた。
ヤキューウェブ別館 Google AdSense に対する椎名まおさんのコメントより引用
15日の昼過ぎにGoogleに問い合わせていたのですが、ようやく返事が来ました。
> 会社名の欄についてですが、個人で申し込まれる場合は再度氏名を入力されるか、「Individual」などと入力していただければ問題ございません。
良かったらしい。
Debian woodyをkernel 2.6にするメモ
Debian woodyをkernel 2.6にするメモから
Debian GNU/Linux スレッドテンプレ でDebian Backportsというプロジェクト発見。とりあえずここので必要そうなものは揃いそうだったので、Debian Backportsを利用することにした。
このBackportsって見覚えあるなーと思ったら、先日のカーネルをバージョンアップ(2.4.24)で使ったカーネルイメージもDebian Backportsプロジェクトのものでした。
はてなダイアリーブック
はてなでは、ご自分の日記を書籍にできる「はてなダイア リーブック」作成サービス(有料)を開始しました。
「はてなダイアリーブック」は、本にしたい日記の期間や表紙の色などを指定 するだけで、ご自分のはてなダイアリーを一冊から本にすることができます。
形として残しておきたいときに便利なサービスだと思う。日記フォーマットをLaTeX経由でPDFに変換してるんだろうか?
UPS OMRON BX50XFV 到着
先日注文したBX50XFVが到着した。昨日の朝もブレーカーが落ちたのでこれで少しは安心できる。
Space Saver Keyboard II USB のドライバ(2) / Webアプリから2行でExcelファイルを出力する方法 - セルに改行がある場合 / [buy]BOSE MediaMate II
Webアプリから2行でExcelファイルを出力する方法 - セルに改行がある場合
セルに改行がある場合は追加として、HTML ヘッダに
<STYLE>br{mso-data-placement:same-cell;}</STYLE>を付けると、セル改行ができるようになるので便利です。( セル内の改行は BR タグで表現するのだが、デフォルトだと「改行でセルが縦に二つに分割されてしまう」ので)
[buy]BOSE MediaMate II
BOSE MediaMate II マルチメディア・スピーカーシステム ブラック
2系統の入力があり、しかもミキシング可能なのでPCとテレビの両方を繋ぐ予定。
三菱電機 アイメイト / [wish]デジカメ / [todo]情報処理技術者試験申し込み / w3ml / トラックバック / Webサービスのセキュリティについて覚書
[wish]三菱電機 アイメイト
プロ用デスクスタンド。通販生活2004年春号より。スタンド式とクランプ式がある。クランプ式のほうが値段が高いが、机のスペースを有効に使える。
[wish]デジカメ
[todo]情報処理技術者試験申し込み
w3ml
http://www.tmtm.org/ruby/w3ml/
メーリングリストのログを Web で見るためのツールです。HTML 4.0 にで きるだけ準拠しているつもりです。スタイルシートを使用しているので、 IE や Mozilla で美しく見ることができます。各メッセージにスレッドツ リーも表示されます。
Webサービスのセキュリティについて覚書
多分セキュリティに関する5W1Hみたいな資料があるんだろうな。
バランスよく
セキュアな通信経路、アプリケーション、OS・・・など。どれが抜けても意味が無い。正面玄関の鍵がかかっていても裏口や窓を閉め忘れたら侵入されるのと一緒。「頭隠して尻隠さず。」になってるサイトがある。お尻が危ないですよ!
なにを守るのか
守りたいものを絞る。なにかわからんけど「セキュリティを高めとけ」ってのはだめ。守るべき範囲は明確に。お互いの認識が一緒だと思ったらだめ。
守るものの価値
1万円の指輪を守るために100万円の金庫が必要か?逆に100万円の指輪に1万円の金庫でいいのか?情報の価値、それが漏れたときの損失。金額にするのは難しいけれど。
Safariの文字化け / FPDF - PDFファイルを作成するための PHP クラス / XML-RPCについてのメモ(2) / BOSE Media Mate II 到着 / XML-RPCについてのメモ(3)
XML-RPCについてのメモ(2)
SOAPに比べてXML-RPCの情報が少ない気がする。シンプルだからそんなに必要ではないんだろうけど。PEARのXML_RPCのサンプルコードがもっと欲しい。特にサーバ側。
とXML_RPCのソース、XML-RPCの仕様書を見ながら組んでみよう。
どうでもいいけどXML_RPCってグローバル変数使いまくってる。定数でいいような気がするんだけど。これが最近のPEARコーディングの流行なのかな?(2002年に書かれたコードだから最近ってわけでもないか)
SSLを使う場合はCURL関数が有効になっている必要がある。(--with-curl)
BOSE Media Mate II 到着
BOSE MediaMate II マルチメディア・スピーカーシステム ブラック
低音が良く出る。このサイズ、価格でこの音。いい買い物でした。衝動買いだったけど。
XML-RPCについてのメモ(3)
去年の夏までASCIIしか通さない仕様だった。実装によっては通るものもあったみたいだけど。
PEARのXML_RPCのソースを眺めてサーバとクライアントの雛形を作った。
日本語の扱いが面倒。PHPのXMLパーサが日本語をUTF-8しか通さないからだ。いっそソースもUTF-8で書こうか。それともXML_RPCを継承して変換ルーチン入れようか。
Shift-JISのHTMLからデータを送って、EUC-JPのPHPで受け取り、UTF-8に変換してXML-RPCメッセージを送信。だめだ。絶対どっかで化ける。
SOAPの方が資料やライブラリがあるんじゃないかと思った。が、PHPに限って言えばどっちもどっちな気がした。
Google AdSense 導入 / 絵日記プラグイン機能追加版 / 正規表現で日本語にマッチ / bk1にTrackBack / 3Com Megahertz 10/100 LAN PC カード 3CCFE574BT(2) / PCカードのエラーメッセージ / サイトの掃除 / PEAR XML_RPC
Google AdSense 導入
広告という感覚はあまりない。試してみたかったというのが第一。飽きたら外すかも。
絵日記プラグイン機能追加版
tDiaryのプラグインにやたら詳しいお方に「絵日記プラグインみたいなので画像押したら大きい画像開くようなプラグインない?」って聞いたらあっさり答えが返ってきた。サンクス。
正規表現で日本語にマッチ
日本語に絡むUnicodeブロックとスクリプト(正規表現)から
<?php
$text = '漢字カナ混じりの文章をinputします'; // EUC-JP
$pattern = '/(
[\x21-\x7E]+ | # Latin-1
#(?:\x8E[\xA6-\xDF])+ | # HankakuKatakana
(?:\xA4[\xA1-\xF3])+ | # Hiragana
(?:\xA5[\xA1-\xF6])+ | # Katakana
(?:[\xB0-\xF4][\x00-\xFF])+ # Kanji
)/x';
if (preg_match_all($pattern, $text, $capture)) {
echo join("\n", $capture[1]), "\n";
}
?>
実行結果
漢字 カナ 混 じりの ビミョー な 文章 を input します
UNICODEスクリプトというのは便利だと思うんだけど
Unicodeスクリプトまでサポートしている正規表現エンジンはPerlのぐらい
うーん、残念。
bk1にTrackBack
ただの日記より
オンライン書店ビーケーワンの中の人が書いてるBlog。
ファミレスで食事が出てくるのが遅い時、その理由は大きくふたつあって、ひとつは料理そのもののできるのが遅い場合。もうひとつはフロアの店員が少なくてせっかく料理はできてるのにお客さまのテーブルまで運べない場合。 今のbk1は後者の場合です。こういうときはウェイトレスにあたるwebサーバを増設するしかないということです。
人ごととは思えない。
3Com Megahertz 10/100 LAN PC カード 3CCFE574BT(2)
イチエさんのつっこみを見て、そういえば3COMのカードも何かメッセージが出てたな。と思い出した。
同じようなメッセージだと思ったんだけど全然思い違いで
vspurious 8259A interrupt: IRQ7.
というメッセージ。頻繁に出るわけでもなく、通信はできてるのでやっぱりもう少し見てみぬふり。
PCカードのエラーメッセージ
改めてイチエさんのつっこみから
debian-users:05113に似たような報告があって、debian-users:05140で解決してますが。この報告では
サウンドブラスターのIOポートとネットワークカードのIOポートが衝突していたのが原因でした。
という結論になってますね。
サウンドブラスターでないとしても何かとIRQが衝突してる可能性が高いので、IRQの割り当てやPnPに関する部分をいじってみるのがいいみたいです。
って、イチエさんがメッセで言ってたのと同じような結論になってしまいました。
サイトの掃除
ストイックなまでにシンプル。いや、もっと削れるはず。
PEAR XML_RPC
レスポンスの文字が化ける症状ではまったのが昨日。
今日原因がわかった。.htaccessに書いていた
php_flag mbstring.encoding_translation On php_value output_handler "mb_output_handler" php_value mbstring.http_output "SJIS" php_value mbstring.http_input "SJIS,UTF-8"
これらが原因。特にmbstring.http_output。XML-RPCサーバではUTF-8を出力しなきゃいけないのにこの指定によってSJISに変換されてしまっていた。かろうじてインプットは自動判別ですり抜けていた。
XML-RPCクライアントのスクリプトと同じディレクトリに置いていたが切り離して別ディレクトリに設置した。
khtml2png / [work]目標 / Webサービスのメッセージ交換方法
[work]目標
数字にこだわる。それはわかる。僕に対する数字(報酬)はどうなの?という疑問。
数字上げました、責任増えました、給料上がりません。数字下がりました、文句言われました。ではモチベーションが下がる。
Webサービスのメッセージ交換方法
REST/XML-RPC/SOAPを比較。ただしRESTはアーキティクチャモデルなのでちょっと違うんだけど。
誤解があるだろうけどこんなイメージ
- REST
- メッセージの送信データはPOSTやGETで値を渡す
- 受信データはXML
- XML-RPC
- 送信も受信もXML
- シンプル
- SOAP
- 送信も受信もXML
- シンプルとはいい難い
- WSDLとかUDDIが絡んできてまだよくわからない
Webサービスについて非常にわかりやすい文書を発見。
W3CによるWebサービスの定義もある。じっくり読んでみよう。
WORM_MIMAIL.Rを駆除 / MS VISIO 2002 + DocuColor 1250 CP で文字化け / tDiaryをスナップショット版に入れ替えた / HikiをCVS版に入れ替えた / hiki-mode
WORM_MIMAIL.Rを駆除
感染した人がいたので、トレンドマイクロのダメージクリーンナップサービスで該当ファイルとレジストリの削除。
MS VISIO 2002 + DocuColor 1250 CP で文字化け
何度印刷しても日本語が化ける。VISIOをSP1にしてもだめだったが、プリンタドライバを最新のものに入れ替えたら直った。
tDiaryをスナップショット版に入れ替えた
「最近のトラックバック」プラグインを使いたかったので最新版にした。
HikiをCVS版に入れ替えた
スタイルをRD+に変更した。次はCVSとの連携をしたい。トラックバックプラグインは使えないかなー
hiki-mode
hiki-mode.elのxyzzy版があったらいいな・・・と思ったいたら他にもそう思ってる人がいた。
- capsctrldays hiki-modeがほすぃ。(2004-01-15)
- Mirage Tower hiki-mode(2004-01-16)
Webサービスとは / Webサービスとは(2) / XML-RPCの実際 / 普通のHTTPリクエスト/レスポンスってどんなんだっけ? / cvs-mode for xyzzy / Webページサムネイル画像作成ツール / 2ch管理人 ひろゆき氏のブログ / Apacheの自動起動の設定(RedHat系) / ブラウザの「お気に入り」 / [memo]URL from IEのお気に入り
Webサービスとは
要するにWebサーバが情報を提供する相手が「人」か「アプリケーション」かというだけのような気がする。
いや、ちょっと違うか。今までも「ブラウザ」という固定の「アプリケーション」にHTML(XML) なりJPGなりを提供してたんだから。でも結局は人が見るためのデータだ。
WebサービスはHTMLやJPGの代わりにXMLでデータを提供する((-実際データ形式には依存しないと思うけど-))。それだけなら「index.xml」を置けば出来上がりなんだけど、常に同じデータしか返してこないWebサービスにあんまり意味は無い。
アプリケーションがデータを送り、Webサーバはそのデータに基づいたデータを返す。これはWebサービスに限ったことではなく、ブラウザでWebを見るときにも行っていることだ。違うのはそのデータがXMLか否か。
たとえば検索エンジンを利用するとき、検索窓に文字を入力している。ブラウザは入力された文字をWebサーバに送り、その文字を含むページの探しリストをHTMLにしてブラウザに返す。
これをWebサービス化したのがGoogleが始めた「Google Web API」だ。
このWebサービスを利用するアプリケーションは、検索したい文字をXMLとしてGoogleのWebサービス用のURLに送信する。Googleは受け取った文字を含むページのリストをXMLデータにしてアプリケーションに返す。
アプリケーションはそれをGoogleと同じようにHTMLにしてもいいし、ファイルに保存して終了してもいい。どう利用するかはアプリケーションを作る人次第。
プログラム経験者には「Webを使った関数呼び出し」と説明すると伝わるかも(抽象的過ぎて混乱するか・・・)。WebサーバにURLという関数名と引数を渡して返り値をもらうのだ。
多分Webサービスはもっと壮大なものだと思うけど、僕が使うレベルではこの程度の理解で困らないように思う。
Webサービスとは(2)
しつこいくらいにXML、XMLと書いたが、実はアプリケーションからはXMLを意識する必要は無い。HTTPのプロトコルしらなくてもCGIスクリプト書けるのと一緒。PHPやPerlなどはWebサービス用のライブラリがありXMLはその後ろに隠れて自分の書くコードからは見えない。
XML-RPCの実際
XML-RPC仕様書邦訳によればリクエスト、レスポンスはそれぞれ以下のような構造。
リクエスト
POST /RPC2 HTTP/1.0
User-Agent: Frontier/5.1.2 (WinNT)
Host: betty.userland.com
Content-Type: text/xml
Content-length: 181
<?xml version="1.0"?>
<methodCall>
<methodName>examples.getStateName</methodName>
<params>
<param>
<value><i4>41</i4></value>
</param>
</params>
</methodCall>
レスポンス
HTTP/1.1 200 OK
Connection: close
Content-Length: 158
Content-Type: text/xml
Date: Fri, 17 Jul 1998 19:55:08 GMT
Server: UserLand Frontier/5.1.2-WinNT
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><string>South Dakota</string></value>
</param>
</params>
</methodResponse>
ごちゃごちゃ考えるより、この実例をひとつ見るほうがよっぽどわかりやすかった。
普通のHTTPリクエスト/レスポンスってどんなんだっけ?
GETは簡単だけど良く考えたらPOSTのほうはあまり考えたことがなかった。考えなくてもPHPはうまくやってくれてるし。
まずはGETリクエスト
GET / HTTP/1.0
レスポンスはリクエストがGETでもPOSTでも同じ(余計なヘッダは省きます)
HTTP/1.1 200 OK Content-Type: text/html Date: Fri, 17 Jul 1998 19:55:08 GMT <html> <head> <title>Welcome mylab.jp!</title> </head> <body> mylab.jpへようこそ。 </body> </html>
フォームなどから入力する場合で、POSTメソッドを使った場合のリクエストはフォームのエンコード方法にmultipart/form-dataや、application/x-www-form-urlencodedがあるらしい。名前から察するに前者はマルチパートのメールみたいにバウンダリで値を区切ったりするんだろう。後者はGETと同様に変数=値&変数=値・・・という感じだろうか。
HTML 4.01仕様書 邦訳 フォームのMIMEタイプ で答えあわせをしてみると、FORM要素の enctype属性に指定できる値はデフォルトのapplication/x-www-form-urlencodedとmultipart/form-dataの2つがあり、一般的にはURLエンコードを使うがファイルを送信する場合には後者のマルチパート方式を使わなければならない。
application/x-www-form-urlencodedを使うPOSTリクエスト
multipart/form-dataを使うPOSTリクエスト
参考サイト
cvs-mode for xyzzy
Webページサムネイル画像作成ツール
Windows
Windows
LinuxでMozillaを使う方法 http://blog.bulknews.net/mt/archives/000494.htmlより
#!/bin/bash
mozilla -geometry 800x800 &
PID=$!
sleep 3;
ID=`xwininfo -name "Mozilla" -int | perl -e 'while(<>) {
if (/Window id: ([0-9]+)/) { print $1; } }'`
mozilla -remote openURL\(http://$1\)
sleep 3;
import -window $ID -silent $1.jpg
kill $PID
http://www.persistent.org/hiki/hiki.cgi?%A4%BF%A4%E0%A4%E9から
Apacheの自動起動の設定(RedHat系)
http://m9841.info/server/apache2.htmlより
付属の apachectl を利用します. # cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2 コピーした apache2 を編集します. # vi /etc/init.d/apache2 25行目くらいのコメントが終わった所で以下を追加します. #chkconfig: - 85 15 #description: apache2.0 chkconfig に登録します # chkconfig --add apache2 # chkconfig --level 345 apache2 on RPM とかで他の httpd がインストールされているときは, # chkconfig --level 345 httpd off とかして次回から起動時に自動起動しないようにしておきます.
ブラウザの「お気に入り」
昔は巡回するページをお気に入りに入れていた。それがWWWCを使うようになって巡回にはWWWCを使うようになった。今はそれがアンテナだったりRSSリーダーと併用になっている。
で、ブラウザのお気に入りは調べ物中に有用だと思ったページを登録している。
今その整理中なのだ。お気に入りに登録されていたページを日記に移す作業。
というわけで、いつもより多く更新しております。
[memo]URL from IEのお気に入り
一つ一つ書いてる暇が無い。
BSD magazine the DVD


_ HAJIME [NIKE AIR MOC ARCHS 8100]
_ HAJIME [AIR MOC III]
_ ichie [やっと食中毒もなおりました。 あと、トッツアンメビウスに赤帽9も無事入りました。 あ〜もう7時だ!会社逝かなきゃ!]