カテゴリーのアーカイブ: IT関連

IT・科学・テクノロジあたり

OSC関西2008楽しかった


Google Tech Talk京都に続いて、OSC関西2008にも行ってきました。行ったのは19日の土曜日のみですが、興味あるセミナーはかたっぱしから見てきました。

JPUG活動のご紹介/EC-CUBEとPostgreSQL

京都駅から会場までが予想以上に時間かかってしまい、ちょっと遅刻しましたが、興味のあったEC-CUBEの話がきけてよかったです。
個人的に気になった話(というか自分で質問して開発者の中川さんに答えて頂いたんですが)としては、EC-CUBEでやってるPostgreSQLとMySQLの両対応で、実際のコードはどう切り分けてるかってことで
- DDL(データ定義のSQL)はPostgreSQLとMySQLで別のものを書いて用意している
- ほとんどのSQLがそのまま通るのでそのまま使ってるが、MySQLだとVIEWがないだとかの制約があるので、クラスの内部で切り分けてで吸収している
なるほどって思うのは簡単なんですが、最初から考えてたわけではなくて、もともとPostgreSQLでしか動かなかったものにMySQL対応を追加したそうで、このパワーはホントに凄いと思いました。これでインストール数は確実に増えるでしょうしね!
と、いいつつも「もともとPostgreSQLでつくってて、MySQLではなんとか動くレベルなので、PostgreSQLのほうが速いしオススメ」だそうです(笑)

脱Accessは、まず脱Baseから - オフィスアプリのOpenOffice.orgへの移行

すっかりオフィスアプリから遠ざかってしまってるんですが、はるか昔Accessでオフィスアプリをつくってた記憶があるので、なんとなく興味本位で受けてみました。
内容がけっこう密でほとんどついていけませんでしたが^^;AccessなんかでつくったオフィスアプリをOOoに移行するってのは、脱MS-Officeするには必須ですからねぇ・・・
そういえばGoogle Tech Talk京都では、powerpointじゃなくてImpressが使われてた気がしたんですが・・・
ちなみに僕はちょうど一昨日から、クリップアートやテンプレートがいっぱいついてるOxygenOffice Professionalってのをインストールしてつかってます。

Linkstation / 玄箱をハックしよう

gnspoolの山下さん・・・、いや、今はLinkStation/玄箱をハックしまくりの山下さんのセミナーです。
「GLAN Tank使いが浮気してんじゃねーよ!?」って言われるような気がしないでもないですが、実は次にNAS買うならLinkStationにしようと思ってるのです。
それにしても山下さんのお話は面白くて、完全にファンになってしまいました!
ハックという「苦労と試行」の先にある満足感・達成感はほんとにいいもんですよね。

はてなのバックエンドシステムと開発手法、過去と今

大規模トラフィックをさばくのに、サーバーを増やすわけですが、サーバー増やせば増やすほど大変になるわけです。
で、klabさんと出会ってLVSを活用するようになって相当よくなったというお話がメイン(だったハズ)。
LVSはWebサーバーだけじゃなく、MySQLスレーブにもLVSが利くそうで、オススメだとのこと。
# しかしMySQLスレーブが落ちるってのは、やっぱりMyISAMのロック競合が激しすぎってこと?
それにしてもMySQLマスタのリダンダンシーの確保をkwskって気がしまくりでした。今度出る本に書いてるのかな?

Geeklogで開発しよう

WordPress使ってるんですがWordPressのコードにうんざり・・・ってわけじゃないけど、CMSとしてのGeeklogにも興味があるので受講しました。
これは凄いと思ったのがwkyInstaller。GeeklogみたいなWebサーバー型アプリで、アーカイブの取得・サーバーへの転送・アーカイブの展開・ファイルパーミッションの設定・DBアカウントの設定とDBの作成、あたりのインストール作業を全部やってくれるWindowsアプリで、Geeklogはこれに対応していて、ワンクリックでインストールが完了してしまうというものです。
こんなのあったらレンタルサーバーでのインストール数は、ものすごく伸びるんじゃないでしょうか?
Geeklogについては、DBのテーブル情報ドキュメントが表示されるだとか、開発ツールが整ってるらしく、プラグイン開発がWPよりいい感じなら乗り換えちゃおうかなというぐらいの気持ちが出てきました・・・

懇親会

回りの席の方にもめぐまれ、たいへん楽しく過ごすことができました:)
お名刺交換させて頂いた方にはボチボチメールさせてもらいますです。

あ、ftp.jaist.ac.jpでダウンロードができないって北陸先端大に電話するの禁止ね!

いまさらながらWordPress2.5.1へアップグレード完了


Wordpress logo
Creative Commons License photo credit: herzogbr

いまさらながらこのサイトのWordPressを2.5.1にアップグレードしました。

手順はCodex日本語版にあるように
- wp-admin/ wp-includes/ を削除して新しいバージョンのファイルを一式コピー
- wp-content/languages/ 以下は新しいバージョンのファイル一式を上書きコピー
- wp-admin/ にアクセスして、upgrade.phpを実行
として「ああ動いてるや」って気になってたのですが、エラーログを見ると

PHP Fatal error: Call to undefined function get_shortcode_regex() in /home/ryo/ryo.com/wp-includes/formatting.php on line 95

こんなのが乱発して、コメントが表示されない状態になってたのでちょっと調べることに。

get_shortcode_regex() は wp-includes/shortcodes.php にあるんだけど、shortcodes.phpをincludeしてない模様。
2.5.1のアーカイブを見ると、wp-settings.php がrequireしてる・・・ここで忘れ物に気がついて
- インストールディレクトリのファイル一式を上書きコピー
したら直りました。

# プラグインの自動アップデートが便利ってうわさをきいてたのですが、ftp経由ってありえねぇ~!

Webサイトの分類


Apatite (1109)2
Creative Commons License photo credit: Tjflex2

「コンテンツをやりたいWebプログラマ」との雑談でした話を整理してます。

ホームページ、CGM、Webサイト
- 全てが人為的、手作業による構築(ツール云々はおいといて)
- オリジナルコンテンツが作成される

Planet、FriendFeedなどのアグリゲータサイト
- テーマにそった選定が人為的、収集は自動的
- フィードを通してコピーされたコンテンツ
- 「テーマ」や「友達」というくくりで、程よい『空気感』がつくりやすい

ネタ蔵などのキーワード収集サイト
- キーワードの選定が人為的、あとは自動的(場合によってはスパムサイトになりえる)
- フィードやAPIを通してコピーされたコンテンツ
- 『空気感』はサイト独自のものになり、コピー元の作成者が文句をいうこともありえる

検索エンジン
- 全てが自動化されている、作成されたアルゴリズムが全て。アルゴリズムは日々進化?しているはず
- クローラーがコピーしてインデックスしたコンテンツ

『コンテンツをやりたい』人なんで、当然メディアとしてのWebサイトに興味が強く、こういう話になりました。
だから特別なサービスや機能を提供するWebサイトってのはこの分類には入ってません。

地域ポータル考

R0011328.JPG
Creative Commons License photo credit: raizo

「ポータルサイト」ってのが「~用ポータル」だとか「~向けポータル」だとかに発散していったころ、「地域密着型のポータルみたいなのができたらいいよね」という話をしていた記憶がある。2001年ごろだったかな?

時は流れていろんなサイトが生まれたり淘汰されたりしたけど、そのころ頭の中で思い描いてたようなサイトは出てきてない。

先日、「京都をシリコンバレーにする」ってテーマ(雑談だけど)で、「WebでコンテンツをやりたいWebプログラマ」と話す機会があって、地域ポータルみたいなのがもっと使えるようになるべきだということで少し盛り上がったので、そのときの話で思ったことをメモ。

- 外国での日本人コミュニティサイトの盛り上がりは参考になるが、そのまま適用しても通用しない
海外の日本人コミュニティだとクラシファイド(売ります買います)やお店の口コミなんかを中心に盛り上がるけど、やっぱりそれは海外で日本人の繋がりを頼りにするからであって、日本でおなじことやってもあまり盛り上がらない。

- その地域に住む人が「ブラウザのホームページ」に設定できるようなサイトであるべき
もちろん地域の催し物情報は得たいし、スーパーの特売情報が出たらむしろ嬉しいし、回覧板の情報だってWebでも見たい
岡崎桜回廊 十石舟めぐり」だって、ネットで情報を得るには検索が大変(チラシは商店街で手に入るけど)

- 「地域ポータル」CMSをつくって導入すれば済む話ではない気がするけど、そういうパッケージングは可能な気がする
そういえば「リクナビ」の自己アピールみたいなのに「地域ポータルCMSがつくりたいです」みたいなことを書いてた気がするけど、それにひっかかってくれた会社はない模様・・・

ちょうどTechCrunchで
Flying Pickle―小さいコミュニティー・ブログにも将来はある
という記事が出てて、なるほど地域ブログや地域SNSってのはうまくやることができそうだなとは感じたけど、そういうわけじゃないのよね。

どう考えてもdel.icio.usのdaily blog postingが止まってる

del.icio.us spinoff logos
Creative Commons License photo credit: dreamyshade

毎日自動でdel.icio.usブックマークが投稿されるdaily blog postingですが、どうも3月26日から止まってるとしか考えられません

たまたまブックマークしてない日と重なったので確信するのに時間がかかったのですが、僕のアカウントのdaily blog posting設定ページでは、

results:Running at Tue Mar 25 15:24:01 2008 GMT<br>Fetched 0 items.<br>

と、25日から動いてない模様

もしかして、ブックマーク0個の日があると、そこで止まっちゃうのかな?
と思ったけど、3月21日は無しでも22日にはちゃんと出来てるし・・・12日も14日も抜けてるし・・・

まぁ設定ページにもThis experimental featureなんて書いてあることだし、とりあえず気にしないでメモがわりに記事だけ書いときます

PostgreSQLで特定のテーブルのみautovacuumの対象外にする

PostgreSQL
Creative Commons License photo credit: isriya

PostgreSQLの8.3に対応のLudiaの1.5がリリースされたのですが、8.3で利用するとvacuum非対応になり、vacuum後はREINDEXが必要になっていましました。
これは8.3でのHOTがらみの変更で、以前と同じ仕組みだと対応できないということなのでとりあえずは仕方ないのですが、運用上はなんとか対応する必要があります。

ひとつはautovacuumをoffにして運用する方法です。

もうひとつは、Ludiaのインデックスを使用しているテーブルだけautovacuumの対象外にして運用する方法です。

どちらにしても、Ludiaのインデックスはvacuum実行後にreindexを行う必要がありますが、Ludiaのインデックスを使用しているのは一部のテーブルのみという場合、そこだけautovacuumの対象外にして、(たとえ、それがスクリプトの仕事だとしても)定期メンテナンスを行うのが楽です。

特定のテーブルをautovacuumの対象外にするには、以下のようにシステムカタログpg_autovacuumにレコードを作成します。

まず、テーブルのpg_class.oidを調べます。
ryo=# select oid,relname from pg_class where relname = 'groups';
oid | relname
-------+---------
19123 | groups
(1 row)

pg_autovacuum.enabled=falseとしてレコードを作成します。
ryo=# insert into pg_autovacuum values (19123, false, -1, -1, -1, -1,
-1, -1, -1, -1);
INSERT 0 1
Time: 88.973 ms

autovacuumとpg_autovacuumについてはドキュメントの
23.1. 定常的なバキューム作業 - 23.1.4. 自動バキュームデーモン
44.10. pg_autovacuum
を参考にどうぞ。

logwatchからのメールがちゃんと来ない

The Penny OS!
Creative Commons License photo credit: trekkyandy

このサイトをホスティングしてるサーバーでは、CentOS5を使っている。
そのCentOS5に入ってるログ監視ツール「logwatch」からのメールが、ちゃんと届かなくなってしまった。

仕組みとしては、朝4時に動くcron.dailyスクリプト郡の一番手になっている
/etc/cron.daily/0logwatch
が、
/usr/share/logwatch/scripts/logwatch.pl
へのリンクになっていて、ログ監視ツールが起動される。

本来ならこれでちゃんとしたレポートがメールで届くはずなんだけど、届くメールでは、
postdrop: warning: uid=0: Illegal seek
sendmail: fatal: root(0): queue file write error

なんて書いてあるだけで、ログ監視の意味がなくなっていまっているのだ。

このメッセージはちょっとわかりにくいんだけど、どうやらpostfixでメールの容量制限に引っかかってしまっている模様。
postfixでのメールサイズの制限は、message_size_limitで指定でき、デフォルトは10240000=10Mとなっている。

/etc/postfix/main.cfで
message_size_limit = 51200000
としてpostfix再起動後、/etc/cron.daily/0logwatchを動かすと、ちゃんと届きました。

それにしてもログ監視のメッセージが10Mを超えるなんて、とんでもない時代というか、とんでもない事態というか・・・
sshのブルートフォースアタックと、SMTPでspammerを弾いてる数がやたら多いのが原因です。

フレッツADSLなんか未来永劫使わないぞ

This is a scam
Creative Commons License photo credit: acordova

確定申告で帳簿いっぱい入力したわけですが、妙な事実が判明しますた。

eo光の回線が開通した後、NTTのフレッツADSLを解約したんだけど、そのプロバイダであるOCNのほうが解約できてなかった模様で、5ヶ月ぐらい2047円とられ続けてた・・・
カードの明細にNTTコミュニケーションズから2047円ってあるのは確認してたというか、会計ソフトに入力して通信費ってしてたんだけど、何のお金か確認しきれてなかったのが敗因です。

しかしNTTによると、回線とプロバイダは別なので、回線無しでもプロバイダ使用料を徴収して良いそうだ。
解約の電話をしたときには全くそんな説明されなかったけどね。

これはダイアルアップのプロバイダで、僕が使わなかっただけってわけじゃないし、有料サイトの会費で僕がログインしなかったというわけでもない。
ADSLのプロバイダで、モデムもADSL回線もなかったけど、僕が解約してないからADSLサービスは提供していたそうだ。

どうやって?
(いや、フレッツ網の中で提供してたってことは理解できる。けど、僕はフレッツ網にアクセスできなかったわけだ)

しかしなんという見事な詐欺だろう。

東京でアッカ+So-netを解約したときは、アッカとSo-netの両方に電話が必要なんてことはなかった。
どっちに連絡したかは忘れたが、まあ、そんなややこしいことはなかった。

アメリカでSBC+Yahoo!DSLだったときも、SBCに電話するだけで解約できた。
COMCASTのケーブルTV+ネット回線も、電話一回で解約できた。

こんなルールって、たぶん世界中でNTTだけじゃね?

みなさんもフレッツなんとかの解約のときには十分注意してください。
続きを読む »

WP-LightPopのテスト

how YouTube stays hydrated
Creative Commons License photo credit: ario_j

YouTube動画へのリンクを勝手にウインドウ内に展開してくれるというWP-LightPopというプラグインを試してます。

BlogTV SP(Sep) Wikipedia Jimmy Wales Speech 1of5

HTML的には単なるリンクなんですが、jQueryで書かれたスクリプトがウインドウの中で展開してくれます。

WordPressのプラグインの実装でやるな!と思ったこと

Week 6/26
Creative Commons License photo credit: iDip

NextGEN Galleryという画像ギャラリーのプラグインをいじっててわかったのですが、オプション設定を各ページor投稿の「カスタムフィールド」で上書きできる実装になってました。

ページや記事ごとに、表示オプションをカスタマイズできるというわけです。
この実装は良い感じですね。プラグインつくるときはパクリます。