カテゴリー: Computer

  • pgpool 2.6 alpha

    pgpool 2.6の人柱を募集中とのことです。こういったものは広く告知した方がよいのでpgsql-jp MLのメッセージをそのまま貼り付けます。

    石井です.

    久々にpgpoolのバージョンアップをしようとしています.ついては,できたばかりのV2.6のアルファ版を,

    http://www2b.biglobe.ne.jp/~caco/pgpool/tmp/pgpool-2.6.tar.gz

    に置きましたので,人柱になっても良い,という方は是非ご協力をお願いします.

    2.6の目玉は,SERIAL型への対応です.といっても,やっていることはごく単純で,INSERT文があったらそのテーブルに自動的にテーブルロックをかけるだけです.トランザクションの並列実行性は犠牲になりますが,SERIAL型の列がマスタとセカンダリで一致しなくなることは防げます.

    ちなみに自動ロックの機能はSERIAL型を含まないテーブルにも働いてしまいます:-)回避方法はREADME.euc_jpをご覧下さい.

    以下,2.5.2からの変更点のリストを付けておきます.
    ——————————————————————-
    o pool_error etc.で,asprintfの後でfreeしていなかったのを修正.

    o main.cで,mallocのサイズが誤ってpool_config.num_init_children
    * sizeof(pool_config.num_init_children)
    になっていたのをpool_config.num_init_children * sizeof(pid_t)に修正.

    o parameter statusの値が一致していなくてもエラーにならないようにした(USとNZでレプリケーションしている例があった!).

    o pgpool stopで終了せず,一旦killされた後,pgpool -m f stopを受け付けなくなるバグを修正.

    o 新しいディレクティブinsert_lockを追加.trueの場合,INSERT実行時に自動的にテーブルロックを行う.これにより,SERIAL型を含むテーブルの同期を取ることができる.なお,/*NO INSERT LOCK*/コメントを付けると,そのINSERT文のみテーブルロックを行わない.あるいはinsert_lockがfalseでも/*INSERT LOCK*/コメントを付けるとテーブルロックを行う.

    o 2.5.2で追加された「strictモードであっても,SELECTだったらsecondaryの完了を待たない」仕様を取りやめ.代りに,/*NO STRICT*/コメントを追加.

    o show pool_statusに新しい情報を追加.縮退やフェイルオーバ状況を分かりやすく表示するようにした.
    server_status| master( on 5432) up secondary( on 5433) down| server status
    ——————————————————————-

    Tatsuo Ishii

  • ウェブアクセシビリティ入門

    WebアクセシビリティのJIS規格も策定され最近 JIS X 8341-3に対応したサイトにして欲しい、というリクエストが急増しています。この規格はWAIのWCAGを多少拡張したような規格で

    5.3.c) 入力に時間制限をもうけないことが望ましい。時間制限があるときは事前に知らせなければならない。

    と言う一歩間違えればセキュリティを全く考えないサイトを作らせてしまうような拡張もあったりします。
    # 規格に準拠するために絶対に時間的制限を付けてはならない
    # という事ではありません。「望ましい」となっているので必
    # 須事項でもありません。完全に準拠する場合、時間制限があ
    # る場合それを明記し調整可能、または代替手段を提供すれは
    # 規格に準拠しているとみなせます。

    前置きが長くなりましたがウェブアクセシビリティ入門といという視覚障害者の方が運営に関わられているメーリングリストを知りました。バックナンバーもブログ風に読めるようになっているようです。登録したばかりなので中身は評価できませんが、健常者の場合、気を付けていても気が付かない問題を作ってしまう事が容易に想像できるので参考にさせていただこうと思います。

  • S2PHP5

    S2PHP5は名前の通りPHP5専用のフレームワークだそうです。

    説明

    Java版のSeasar2を、PHP5に移植します。

     マイルストーン
    M1: Java版Seasar2をPHP化する (バージョン 0.9x)
    パッケージ構成やインタフェースを統一し、Javaのソースをできるだけ変更することなくPHP5に書き換えます。
    M2: PHPらしくリファクタリング (beta バージョン)
    リリース1.0 に向けて、移植もれ、移植ミス、動作不具合への対応。
    また、実装方法、命名規則、名前空間、クラス定義の読込み方法や設定ファイルの在り方等々、ユーザ様からの声を検討、反映し、「 易しく・優しく・PHPらしく 」 を目標にリファクタリングします。
    ご意見・要望など Seasar-User ML までお願いします。

    最初のリリース(0.92)は5/29のようです。現在は0.93(6/9)が最新リリースのようです。

    面白そうなので近いうちに時間を作って試して見たいです。

    # 私のアンテナあまり広くないので、面白そうな情報があった
    # ら是非教えてください :) 

  • MySQL 5のデータベースエンジン

    mysql> SHOW ENGINES;
    +————+———+————————————————————+
    | Engine | Support | Comment |
    +————+———+————————————————————+
    | MyISAM | DEFAULT | 高性能のMySQL 3.23以降のデフォルト・エンジン|
    | HEAP | YES | MEMORY のまたの名前 |
    | MEMORY | YES | Hashベースで、メモリー内に格納、テンポラリ・テーブルに適す。|
    | MERGE | YES | 同一のMyISAMテーブルのコレクション  |
    | MRG_MYISAM | YES | MERGE のまたの名前 |
    | ISAM | NO | もう使われないストレッジ・エンジン、MyISAM を使用のこと。 |
    | MRG_ISAM | NO | もう使われないストレッジ・エンジン、MERGEを使用のこと。 |
    | InnoDB | YES | トランザクション、行レベルのロッキングとフォーリンキーのサポート |
    | INNOBASE | YES | INNODB のまたの名前 |
    | BDB | YES | トランザクションとページレベルのロッキングをサポート |
    | BERKELEYDB | YES | BDB のまたの名前 |
    | NDBCLUSTER | NO | クラスタ、耐障害性のメモリー・ベースのテーブル |
    | NDB | NO | NDBCLUSTER のまたの名前 |
    | EXAMPLE | NO | ストレッジエンジンの例 |
    | ARCHIVE | NO | アーカイブ・ストレッジエンジン |
    | CSV | NO | CSV ストレッジエンジン |
    +————+———+————————————————————+

    メモリ上にだけ存在するデータベースはPostgreSQLにも欲しいですね。CREATE TEMP TABLEを拡張して実装とか?

    ちなみにSQLiteはメモリ上にデータベースを持てます。MSDEもメモリ上にデータベースを持てたと思います。もう何年も前になりますがIMDB(In Memory Database)として話題になっていました。

    PostgreSQLをハックするならIMDBの実装しかない?!

  • Momongaでautofs

    NFSボリュームへのマウントはautofsを利用しているのですがMomonga Linux 2をインストールしたばかりの環境でNFSボリュームのマウントが非常に長い時間がかかるのでおかしいな、と思っていたらportmapperが動作していませんでした…マウントは出来ていたので直ぐに気が付きませんでした。

    autofs(NFS)を使う場合、portmapの起動もお忘れなく。

    chkconfig autofs on
    chkconfig portmap on

  • 100円の電気代で100キロ走行!

    電気自動車で時速370kmというのもすごいですが実用的なスペック(?!)として驚いたのが

    展示の目玉は、最高時速370キロを記録した8輪駆動の次世代電気自動車「エリーカ」。これが初登場だ。リチウムイオン電池を搭載し、100円の電気代で100キロ走行する。

    と100円の電気代で100キロ走る、という事にびっくりしました。
    どのような走行条件で100キロ走るのか興味があります。

    紹介サイトは以下にあるようです。まで読んでませんが..

    Home

    http://landship.sub.jp/stocktaking/archives/000498.html によるとNHKの番組でポルシェとの比較をしたそうですが加速でも引けとらない、と記述されています。

    他のサイトなどもざっと参照すると時速370kmで走るだけあって馬力換算すると800馬力ほどになるそうです。満タン(?)に充電するには家庭用電源で5時間ほどだそうです。

    電気自動車をナメテマシタ…

  • Rails

    Rubyを使っている方やMLを覘いている方(私はこちらです)はWebフレームワークのRuby on Railsをご存知と思います。Ruby使いではないのでMLをさらっと横目で見ている程度なので詳しくは知らなかったのですが

    http://www.rubyonrails.org/

    QuickTimeの紹介ムービーがあったので見てみました。10分ほどのムービーですが簡単にWebアプリケーションが作れる事が分かります。

    Rails、面白そうですね。MLで盛り上がる訳ですね :)

  • VMWare5 と “_”

    LinuxがホストOSの場合、デフォルトの状態では”_”(アンダースコア、アンダーバー、underscore、underbar)が打てないです。

    ~/.vmware/configに

    xkeymap.keycode.211 = 0x073

    で打てるようになりました。VMWareの再起動も必要ないようです。

    クリックしてws5_manual_jp.pdfにアクセス

    のP416「Linux ホストでキーボードのマッピング」も参考になります。

    # GUIとSSHだけだと”_”が打てない事になかなか気がつかなかったです。

  • Advice for computer buyers

    D. J. Bernstein氏のAdvice for computer buyersページを時々見ているのですが、5/14日に更新されていますね。

    The 2005.05.14 standard workstation costs $552.

    Bernstein氏とPCの好みは似ているので参考になります。Bernstein氏はECCメモリを持たないPCは買う価値が無いと考えているようです。私はパーツの入手状況から非ECCメモリのシステムも使っています。

    $79 Asus K8V-X: PC3200 Socket-754 UATA/SATA 305mmx245mm motherboard with audio and Ethernet; includes 2 SATA cables, UATA cable, ATA cable, floppy cable
    $55 Kingston KVR400X72C3A/512: 512MB PC3200 ECC memory in one DIMM

    日本の実売価格はマザーボードが1万ちょっと、メモリが2万~2万5千円!

    前から思っているのですが日本のECCメモリは高すぎません?!何故?

  • プログラミング言語ベンチマーク

    RubyのMLを見てPython vs. Rubyのベンチマーク結果がRubyにとって良くないのでどう最適化するか?という旨のメール(件名はpython/ruby benchmark.)がありました。

    RubyとPythonの比較
    http://shootout.alioth.debian.org/benchmark.php?test=all&lang=ruby&lang2=python&sort=fullcpu

    PHPとRubyの比較
    http://shootout.alioth.debian.org/benchmark.php?test=all&lang=php&lang2=ruby&sort=fullcpu

    PHPとPythonの比較
    http://shootout.alioth.debian.org/benchmark.php?test=all&lang=php&lang2=python&sort=fullcpu

    PHPとRuby/Pythonの比較結果は想定内ですね。

    追記:Perlとの比較を忘れてました。
    http://shootout.alioth.debian.org/benchmark.php?test=all&lang=php&lang2=perl&sort=fullcpu

    少しだけ補足すると、このベンチマークに使われているアルゴリズムですがPHPが苦手な物ばかりです。(というよりこの手のアルゴリズムを実装するのにPHPを使うのは間違い。普通はC言語のモジュール使ってCで書くべきでしょう)多くのデータを取り扱わないと比較できないアルゴリズムもあるためN=250,000のベンチマークもあります。PHPの言語仕様的にN=250,000のハッシュは無理です(苦笑

    これらのベンチマーク結果が良くない != PHPで記述したWebアプリケーションの性能が良くない

    ですのでご注意下さい。

  • Serendipity – PHP Blog System

    Blogツールの選択肢は多すぎてどれを選べば良いか迷う程ですがSerendipityというPHPで記述されたBlogシステムを知りました。

    WYSIWYG HTMLエディタも利用できたり、全てのRSSとATOMに対応、イメージのリサイズサポート等、割と良くできていると思います。PHP5ならSQLiteをデータベースとして利用できるのでDBサーバ無しでも利用できる点が良いと思います。

    Developer Team
    Jannis Hermanns
    Sterling Hughes
    George Schlossnagle
    Wez Furlong
    Sebastian Bergmann
    Garvin Hicking
    Tom Sommer
    Joyce Park
    Christian Mühlhaeuser
    Joseph Tate

    開発者の名前を見るとPHPプロジェクトのコミッターが多いですね。
    # 私が知らないだけで、全員コミッターかも知れませんが。

    b2evolutionから乗り換えるには、統計情報、SPAM排除機能等が必要ですね。これらの機能はまだないようです。

  • HOTPHPPER

    某社クーポンマガジンのような名前ですがPHP関連ニュースを集めたブログだそうです。

    http://news.hotphpper.net/

    PHP関連のニュース情報はじめまーす
    PHPのアプリケーションやライブラリのリリース情報や、書籍の出版など何でも扱っていこうと思いますので、よろしくお願いします。

    HOTPHPPERはどう発音するのか気になります :)

  • NvidiaのTwinView

    MomongaLinux2でNvidiaのGeForce FX5200とFX6200でTwinViewオプション(Dual Head機能)を使ってみました。

    結論から言うと動作しますが、怪しい動作をします…
    使っているPCのチップセットなどと関係しているのかも知れませんが

    Option “NvAGP” “1”

    と設定してやっと安定動作しました。

    xorg 6.8.2でTwinViewを設定して失敗している例が多くあるようで、私も設定に苦労しました。オプションの組み合わせで動作しない場合が多く、さらに動作不良を起こすと再起動しない限りコンソールさえも使えない状態になります。一見動作したように見えても直ぐに画面がフリーズしXが100%CPUを使い、カーソルは動くがCRTL+ALT+BSでのZapも効きません。SSHでログインしてXプロセスを殺しても再起動しないと画面表示は全く行われない、という悲惨な状態でした。

    しかし、一旦動作する状態になると割りと安定している(?)のか数時間使った程度ではフリーズしたりしていません。OpenGLのスクリーンセーバーも普通に動作しています。どうしてもダメなら新しいカードを買う必要がありますね…

    NvidiaのTwinViewを使っているユーザは少ないのか日本語の情報はあまり無かったような気がします。多分、あまり使われていない(?)のでしょう。もしxorg.confが欲しい方がいらしたらコメントを下さい。

  • PHP 5.1でgoto!?

    なんだかPHP 4.4ブランチが出来たりして??と思っていたところ「goto文をPHP 5.1で!」と言う事でinternals@lists.php.netが盛り上がっています。

    goto文が無くて困ることは無いのですが、あって困る事は沢山あります。自分だけがコードを書くわけではありませんしgoto文の乱用は簡単です。しかし、今まで無くて困らなかったのに何故今頃、という感じです。

    万が一goto文がサポートされても使わないようにしましょう(笑

  • 無線LANの説明

    メモ。無線LANのAPのマニュアル等に無線LANについて詳しく記載されている場合も多いですが、役立ちそうなので。

    801.11a/gでのベンチマークがどうなるか興味深いです。