まとめ ブログ ダウンロード 掲示板 メール

れぶろぐ

< 前月 翌月 > 最新


2008-12-02 (火)

Zend Framework 1.7.1 がリリース

Zend Framework のバージョン 1.7.1 がリリースされました。 Zend Framework 1.7.0 と比べて 18 箇所の修正や変更がされています。 変更箇所のリストはこちらです。

あとメーリングリストに、ZF 1.7.1 に上げて動かなくなった場合の対処法、みたいな話が載っていたので、 一応リンクを張っておきます。

このエントリの続き: 2008-12-24 (水)
Tags: Zend | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2008-12-04 (木)

「だれでもアンケート」の Web サービスを12月8日に公開予定

現在、だれでもアンケート という Web サービスの公開に向けて準備しています。 一部の機能が使えるベータ版を、12月8日から利用できるようにする予定です。

だれでもアンケートは、無料でアンケートを作成したり、投票できるサービスです。

  • 誰でも自由に、無料でアンケートを作成できます。
  • アンケートを自分のウェブページに貼り付けて利用することもできます。
  • どのアンケートに回答済みなのか、一目で分かるようになっています。

開発状況を書き記していくために、開発日誌を新たに作成しました。 今後、だれでもアンケート関連の情報は、以下の日記に書いていきます。

それ以外の情報は、こちらの「れぶろぐ」に書いていくつもりですが、 集客のために、PHP や JavaScript 関連の記事を向こうの開発日誌に載せたりするかもしれません。 その場合は、誘導するための記事をこちらのブログにも書くと思いますが、できたらしばらくの間、向こうのブログもチェックしてみて下さい。 よろしくお願いします。

Tags: work | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2008-12-06 (土)

SIE 0.38 がリリース

SIE は Internet Explorer で SVG を表示可能にする JavaScript ライブラリです。

バージョン 0.37 からの変更点:

  • tspan要素にFontStyleを適用
  • STGroupオブジェクトの実装
  • バグ[#13947] gnuplotから出力されたSVGが表示されない を修正
  • バグ[#13703] のクリッピング異常を再修正
  • bug[#13963] viewBox属性などを指定すると、text要素の位置がずれてしまう を修正
  • Objectembedsオブジェクトを全ブラウザで作成するように
  • == 演算子を === に
  • i++ を ++i に
  • XLinkにおいて、ファイル名のみを記したURIのバグを修正

コードがどう変更されたのかは追っていませんが、試してみたところ、 画像が表示された後で1ピクセルくらいピクッとずれる現象が直っているようです。 クリッピングの再修正、というのはおそらくこのことなのでしょう。

なお、VML つながりということで、本日リリースされた uupaa-excanvas.js についても書きたいことがいろいろあるのですが、 忙しくてまだ検証できていないので、落ち着いたら改めて書こうと思います。

Tags: SVG | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2008-12-09 (火)

ユーザー登録不要で利用できる「だれでもアンケート」のサービスを公開

だれでもアンケート」の Web サービスを公開しました。 誰でも無料でアンケートを実施することができます。

詳細については、 「だれあん開発日誌」 の方に書きましたので、そちらをご覧下さい。

Tags: work | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2008-12-13 (土)

CentOS 用 PHP 5.2.8 のパッケージをビルドする

単純に PHP 5.2.8 の rpm パッケージが欲しい場合は、この辺 から入手できます。 以下の説明は、自分でパッチをあてたりしてビルドしたい人向けの説明です。

Fedora 用の PHP のソースパッケージを、この辺のサイトからダウンロードしてきます。 この記事を書いている時点では、php-5.2.8-1.fc11.src.rpm が最新です。

ソースパッケージをインストール。

$ rpm -ivh php-5.2.8-1.fc11.src.rpm

spec ファイルのディレクトリに移動。

$ cd ~/rpm/SPECS

php.spec に以下の変更を加える。

  • T1lib のパッケージが CentOS にはないので用いないように変更
  • PHP のソースコードに含まれている PCRE 7.8 を用いてビルドするように変更
  • aclocal workaround の部分は Fedora 11 用の設定らしいので、削除
--- php.spec.orig
+++ php.spec
@@ -271,5 +271,5 @@
 Requires: php-common = %{version}-%{release}
 # Required to build the bundled GD library
-BuildRequires: libXpm-devel, libjpeg-devel, libpng-devel, freetype-devel, t1lib-devel
+BuildRequires: libXpm-devel, libjpeg-devel, libpng-devel, freetype-devel
 
 %description gd
@@ -420,7 +420,4 @@
 
 %build
-# aclocal workaround - to be improved
-cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4
-
 # Force use of system libtool:
 libtoolize --force --copy
@@ -462,5 +459,4 @@
 	--with-xpm-dir=%{_prefix} \
 	--enable-gd-native-ttf \
-	--with-t1lib=%{_prefix} \
 	--without-gdbm \
 	--with-gettext \
@@ -471,5 +467,4 @@
 	--with-png \
 	--with-expat-dir=%{_prefix} \
-        --with-pcre-regex=%{_prefix} \
 	--with-zlib \
 	--with-layout=GNU \

バイナリパッケージをビルド。

$ rpmbuild -bb php.spec
Tags: PHP CentOS | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2008-12-15 (月)

Google ブログ検索への更新通知

最近、このブログを更新しても Google のブログ検索に反映されていないようなので、設定の見直しを行いました。 今まで設定していた更新通知先を1つ1つチェックしてみると、

の2つが死んでいたので、まずこれらは外すことにしました。

次に、 Google ブログ検索の更新通知 API について を参考に、

を新たに追加してみました。 メソッド名には weblogUpdates.extendedPing を設定するよう書かれていますが、 実は tDiary の ping.rb を使うと weblogUpdates.ping になります。 でも確か、これでも問題ないはずです。

Tags: tDiary Google | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2008-12-17 (水)

39種類の言語に対応したシンタックスハイライタ SHJS 0.6 がリリース

SHJS (Syntax Highlighting in JavaScript) は、 JavaScript で書かれたシンタックスハイライタです。 このバージョンでは、バージョン 0.5 と比較して、以下の言語に新たに対応しています。

  • S-Lang
  • Scala
  • Java properties files
  • Desktop files
  • LSM (Linux Software Map) files
  • Xorg configuration files
  • RPM spec files
  • Haxe
  • LDAP files
  • GLSL
  • Objective Caml
  • Standard ML
  • JavaScript with DOM
  • C

おそらく、JavaScript 製シンタックスハイライタの中では、対応言語が一番多いはずです。

拙作の PukiWiki 用 shjs.inc.php プラグイン もありますので、ぜひご利用下さい。

Tags: JavaScript | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2008-12-24 (水)

Zend Framework 1.7.2 がリリース

Zend Framework のバージョン 1.7.2 がリリースされました。 バージョン 1.7.1 からの変更点は、以下のページに載っています。

テスト用のファイルの修正が多いみたいですが、個人的に気になった変更点としては、こんなのがありました。

Zend_Pdf って一度も使ったことはないのですが、日本語も十分使えるレベルになってきているんですかね?

このエントリの続き: 2009-01-20 (火)
Tags: Zend | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2008-12-26 (金)

GeSHi 1.0.8.2 がリリース

GeSHi は PHP で書かれたシンタックスハイライタです。 このバージョンでは、以下の言語に新たに対応して、 126 種類の言語をサポートするようになりました。

  • Brainfuck
  • HQ9+
  • INTERCAL
  • LOLcode
  • LScript
  • Pixel Bender
  • ProvideX
  • VIM Script
  • Visual Prolog
  • Whitespace

PukiWiki 用 GeSHi プラグイン のスタイルシートの方も更新しておきました。 ただ、こうやって GeSHi のバージョンアップの度に作業するのも面倒臭くなってきたので、 次のバージョンのプラグインでは、

  • 外部スタイルシートは使わない設定をデフォルトにする
  • 外部スタイルシート作成に使うツールも公開して、必要なら自分でやってもらう

のようにして、外部スタイルシートを利用するのはオプションの機能にしようかと思っています。

Tags: PHP | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2008-12-30 (火)

ignore_user_abort(true) の設定はあまり意味がない

今まで、PHP 4 で file_put_contents() 相当の処理を行うには、以下のように書いていました。

function write_file($filename, $data)
{
    $fp = fopen($filename, file_exists($filename) ? 'r+b' : 'wb');
    if ($fp === false) {
        return false;
    }
    flock($fp, LOCK_EX);
    $last = ignore_user_abort(1);
    rewind($fp);
    $bytes = fwrite($fp, $data);
    fflush($fp);
    ftruncate($fp, ftell($fp));
    ignore_user_abort($last);
    fclose($fp);
    return $bytes;
}

ignore_user_abort() という珍しい関数を使っていますが、これは、 開発談義/23 - PukiWiki Plus! に書かれていたのを参考にしたものです。 でもこれって、本当に必要なのかな? とずっと思っていたのですが、最近、こんな記事を見つけました。

どうも、画面表示を含まない処理なら、わざわざ ignore_user_abort(true) に設定する必要は無いみたいです。 ということで、実験してみました。

<?php

ignore_user_abort(false);

$filename = 'log.txt';

$fp = fopen($filename, 'ab');
flock($fp, LOCK_EX);
for ($i = 0; $i < 10; ++$i) {
    fwrite($fp, "$i\n");
    sleep(1);
}
fclose($fp);

こんなスクリプト log.php を作って、

  • ブラウザ1から log.php にアクセス
  • ブラウザ2から log.php にアクセス
  • ブラウザ1の「中止」ボタンを押す

というのを数秒の間にやった場合、ログファイルがどうなるかというと、

0  // ブラウザ1からのリクエストに対する処理開始
1
2
3  // ブラウザ2からのリクエストに対する処理は、排他ロックがかかっているので後回し
4
5
6  // 「中止」ボタンが押されたが、処理はそのまま続けられる
7
8
9  // ブラウザ1からのリクエストに対する処理終了
0  // ブラウザ2からのリクエストに対する処理開始
1
2
3
4
5
6
7
8
9  // ブラウザ2からのリクエストに対する処理終了

のように、きちんと書き出されました。 やはり、上の file_put_contents() の例で言えば、ignore_user_abort() は不要っぽいです。

Tags: PHP | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

追記