タグ

ブックマーク / cl.pocari.org (30)

  • APC と jQuery を利用してファイルアップロードの進行状況を表示する

    APC と jQuery を利用してファイルアップロードの進行状況を表示する 2008-04-13-2: [PHP][jQuery][JavaScript] ネタ的には特別新しいものではないですが、気になっていたので試してみました。 PHP 5.2.0 以降、APC 3.0.13 が必要です。 1. APC の設定 普通に APC をインストールして、以下のように apc.rfc1867 を有効にするだけです。 apc.rfc1867 = On 2. アップロードフォームの準備 普通のアップロードフォームです。 ただし、"APC_UPLOAD_PROGRESS" という name 属性を持った hidden フィールドを用意します。値は、何でもいいのですが、ここでは "progress_key" という風にしています (当はランダムにするほうがいいと思います)。 <form id="up

  • Google Code Project Hosting で差分表示が可能になってた

    Google Code Project Hosting で差分表示が可能になってた 2008-02-15-1: [Google] 愛用している Google Code Project Hosting ですが、ソースコードの差分表示が可能になっていたので紹介。 もしかしたら始めからあったかもしれないのですが、最近気づいたので…… 簡単に、Google Code Project Hosting ですが、Google が提供している、オープンソース向けの Subversion レポジトリのホスティングサービスです。 具体的に何ができるかは、ヘルプを見てください。 - Google Code FAQ - What's the new project-hosting service on Google Code? http://code.google.com/support/bin/answer.p

  • cl.pocari.org - オープンソースになった Fastladder の ER 図を描いてみた

    オープンソースになった Fastladder の ER 図を描いてみた 2008-02-10-1: [SQLite] Livedoor の Fastladder がオープンソースになったということで、勉強を兼ねて ER 図を描いてみました。 (クリックで大きくなります) 使ったツールは DBDesigner 4 (日語版) です。 DBDesigner 4 では、SQLite 3.x のデータが読めないようなので、SQLite ODBC Driver を使って、ODBC で読み込み、リバースエンジニアリングしました。 テーブルの定義はソースを見ながら作成中ですが、あまり Ruby が分かっていないので時間がかかりそうです。。。そのうち公開します。 - Fastladder Open Source http://fastladder.org/

    aki77
    aki77 2008/02/10
  • 長い URL を折り返して表示する jQuery プラグインを作りました

    長い URL を折り返して表示する jQuery プラグインを作りました 2008-02-03-1: [JavaScript][jQuery] 主に Firefox での使用を意識しているのですが、Firefox では長い URL は折り返さない仕様なのでページのレイアウトが崩れてしまうことがあります (Firefox 3 では折り返す仕様になるみたいです)。 このため MR Tech Link Wrapper というアドオンや、url_breaker+ という Greasemonky スクリプトがあります。 それらを参考にして、長い URL を折り返して表示する jQuery プラグイン Link Wrapper を作ってみました。 - jquery.linkwrapper.js のデモ http://pocari.org/demo/jquery.linkwrapper/ このプラグイン

  • PEAR::setErrorHandling でエラー処理を行なう

    PEAR::setErrorHandling でエラー処理を行なう 2007-12-15-1: [PHP] PEAR パッケージのエラー処理ですが、よくあるパターンとしては以下のような書き方をすると思います。 $result = $mdb->query('SELECT * FROM table'); if (PEAR::isError($result)) { die($result->getMessage()); } エラー処理の数が少ない場合はこれでいいのですが、多くなってくると可読性が悪くなります。 この場合、PEAR::setErrorHandling() を使うことで以下のように簡潔に書くことができます。 PEAR::setErrorHandling(PEAR_ERROR_DIE); $mdb2->query('SELECT * FROM table'); // PEAR:isEr

    aki77
    aki77 2007/12/30
    エラー処理
  • cl.pocari.org - PEAR Log を使って Firebug にログを出力する

    PEAR Log を使って Firebug にログを出力する 2007-10-05-1: [PHP][Firefox][JavaScript] PEAR Log 1.9.11 から Firebug にログを出力することができるようになったみたいなので試してみました。 - PEAR :: Package :: Log http://pear.php.net/package/Log - Firebug - Web Development Evolved http://www.getfirebug.com/jp.html require_once 'Log.php'; $log = &Log::singleton('firebug', '', 'PHP', array('buffering' => true), PEAR_LOG_DEBUG); $log->log('デバッグレベルのログ', P

  • zsh でログイン時に screen を起動する方法

    zsh でログイン時に screen を起動する方法 2007-08-20-1: [Solaris] ~/.zlogin に以下を記述する。 if [ ! "$WINDOW" ]; then exec screen -S main -xRR fi ログイン直後にいつも screen を打っていたのですが、これで楽になりました。 - 追記 (2007-08-21) コメント欄で情報をいただいたように、他のホストにログインすると screen が二重起動する件ですが、以下のようにして対処できそうです。 if [ $TERM != "screen" ]; then exec screen -S main -xRR fi ただし、Solaris の場合は terminfo に screen の記述がないので上記設定ではうまくいきません。 結局メインで使うマシンのみに、一番上の設定をしてそれ以外のマ

    aki77
    aki77 2007/09/29
    .zshrc, 自動起動, ログイン
  • prototype.js の Event.observe を使った onbeforeunload について

    prototype.js の Event.observe を使った onbeforeunload について 2007-07-20-1: [JavaScript][Firefox] JavaScript のイベントに、ウィンドウが閉じられる直前に起こる onbeforeunload があります。 これを使うと、何がしかの内容を入力中にページを移動する際に警告のメッセージを出すことができます。 WordPress とかで利用されています。 使い方は簡単で、以下のようにダイアログに表示する任意のメッセージを返します。 window.onbeforeunload = function(e) { // なにも返さなければ、なにも起きない。 return '<任意のメッセージ>'; }; ダイアログの表示は以下のようになります。 - Internet Explorer 6.0 - Internet E

    aki77
    aki77 2007/07/21
    window.onbeforeunload
  • prototype.js で element にメソッドを追加する方法

    prototype.js で element にメソッドを追加する方法 2007-07-06-1: [JavaScript] prototype.js 1.5 から $ メソッドが改良されて $('foo').show(); のように書けるようになりました. prototype.js のソースを読んでいくと Element.Methods に好きなメソッドを追加できそうなのでやってみました. Element.Methods.warning = function(element) { $(element).style.color = '#f00'; return element; }; Element.addMethods(); // addMethods しないと追加されない! 上記は,指定された element を赤色にして警告するものです (いい例が思いつかない……). 以下のようにし

  • phpMyAdmin のテーマを集めてみました

    phpMyAdmin のテーマを集めてみました 2007-07-15-1: [PHP][MySQL] phpMyAdmin をお使いの人は知っていると思いますが、phpMyAdmin はテーマを変更することができます。 複数の phpMyAdmin を使い分けているときに、テーマを変えておくことで誤操作を減らすことができます。 テーマは、SourceForge の phpMyAdmin のプロジェクトからダウンロードできます。 - SourceForge.net: phpMyAdmin http://sourceforge.net/project/showfiles.php?group_id=23067 ところが、テーマのサムネイルなど用意されていないので、どのようなテーマかダウンロードしてみるまでわかりません。 そこで、上記ページからダウンロードできるテーマを集めて、サムネイルを作成して

    aki77
    aki77 2007/07/16
    これは便利
  • MeCab を使って読み仮名を取得する方法

    MeCab を使って読み仮名を取得する方法 2007-06-20-3 出力フォーマットの指定すれば可能です.忘れやすいのでメモ. $ echo 東京特許許可局 | mecab --node-format="%f[7]" --eos-format="\n" トウキョウトッキョキョカキョク - ref.: 出力フォーマット http://mecab.sourceforge.net/format.html - 追記 1 上記だと,以下のようなエラーが出ることがある. tagger.cpp(172) [writer_.write(&ostrs_, str, n)] writer.cpp(322) [n < psize] given index is out of range --unk-format="%M" オプションを追加すればエラーが出なくなった. ……というか,-Oyomi オプションだけ

    aki77
    aki77 2007/06/24
    読み仮名
  • PHP の unserialize() の 多言語での実装

    PHP の unserialize() の 多言語での実装 2006-02-28-1: [PHP][JavaScript][Perl][Ruby] を見ていて,PHP の serialize() は便利だから,もしかしたら他の言語でも実装があるのでは? と思ったら,案の定たくさんあった. - JavaScript http://www.phpguru.org/static/PHP_Unserialize.html http://www.phpguru.org/downloads/PHP_Unserialize/ - Perl http://search.cpan.org/dist/PHP-Serialization/lib/PHP/Serialization.pm http://hurring.com/code/perl/serialize/ - Ruby http://www.aagh.

    aki77
    aki77 2007/06/01
    serialize
  • PHP の apache_setenv と virtual を利用して,ファイルへの直リンクを防止する

    PHP の apache_setenv と virtual を利用して,ファイルへの直リンクを防止する 2007-05-30-1: [PHP] ファイルへの直リンクを防止する方法としては,例えば Referer ヘッダ参照する方法とかがあると思います. Apache クックブック のレシピ 6.5 に載っているのもその方法ですが,Referer ヘッダを送信しないクライアントはどうするかという問題があります. そこで,PHP の apache_setenv と virtual を利用する方法を紹介します. - apache_setenv Apache サブプロセスの環境変数を設定する http://php.net/apache-setenv - virtual Apache サブリクエストを実行する http://php.net/virtual ダウンロードするファイルがあるディレクトリを

  • DB Designer 4 の HTMLReport プラグインの改造

    DB Designer 4 の HTMLReport プラグインの改造 2007-04-01-1: [MySQL] オープンソースの DB モデリングツール DB Designer にバンドルされている HTMLReport を少し改造してみました. 改造前の HTMLReport は,出力される HTML ファイルのモデル名が,以下のように強制的に「plugin_tmp.xml」という文字列になります. 来ここは,[オプション] - [一般設定] - [モデル名] で指定した文字が入るのが妥当だと思います. また,[オプション] - [一般設定] - [コメント] で入力したコメントがどこにも反映されません. HTML レポートを出力するたびに,モデル名を書き換えて,さらにコメントを加えるのは大変面倒なので,きちんとモデル名が反映されて,コメントも出力できるように改造してみました. 改

    aki77
    aki77 2007/04/02
  • Groove Technology の郵便番号検索 API を扱う Services_Groove_ZipSearch を作りました

    Groove Technology の郵便番号検索 API を扱う Services_Groove_ZipSearch を作りました 2007-03-13-1: [PHP] - グルーブテクノロジー株式会社 - Web サービス http://groovetechnology.co.jp/webservice/ グルーブテクノロジーによる郵便番号検索 API を利用して,結果を取得するライブラリ Services_Groove_ZipSearch を作りました. この API の特長は,JSON 形式,JSONP 形式,XML 形式,PHP の serialize() 形式という風に,任意の形式で出力を受け取れることです. 今回は,PEAR パッケージにしてみました. - Services_Groove_ZipSearch-0.1.0 http://pocari.org/tools/php

  • cl.pocari.org - Subversion で直前のコミットを取り消し,なおかつ Trac も同期する方法

    Subversion で直前のコミットを取り消し,なおかつ Trac も同期する方法 2007-01-18-1: [Subversion][Trac] 勢い余ってコミットしたはいいけど,恥ずかしい間違いがあってコミットをなかったことにしたい場合の対処方法です. 対象のリポジトリ /svn/foo   現在のリビジョン 100        直前のリビジョン 99         対象の Trac 環境 /trac/foo 1. 取り消したいリポジトリをディレクトリごとバックアップする $ mv /svn/foo /svn/foo.bak 2. 同名のリポジトリを作成する $ svnadmin create /svn/foo 3. バックアップしたリポジトリから直前までのリビジョンをダンプして,新しく作ったリポジトリにロードする $ svnadmin dump -r 0:99 /svn/fo

  • cl.pocari.org - Smarty を使った開発でデバッグを行う 4 つの方法

    Smarty を使った開発でデバッグを行う 4 つの方法 2006-11-29-1: [PHP][Books] PHP のテンプレートエンジン Smarty を使って開発するときに,割り当てた変数が複雑になって困ることはありませんか? その際,何らかの方法を使って割り当てた変数を確認するのですが,いくつか方法があります. 1. 常にデバッギングコンソールを表示する方法 おそらく一番有名な方法ですが,$debugging に true を指定して,常にデバッギングコンソールを表示する方法です. require_once 'Smarty.class.php'; $smarty = new Smarty; $smarty->debugging = true; これで,常にデバッギングコンソールが表示されます. デバッギングコンソールは,window.open() を使った JavaScript

  • Firefox の Flash Player をアップデートする方法

    Firefox の Flash Player をアップデートする方法 2006-09-13-1: [Firefox][Security] Flash Player にセキュリティーホールが見つかったとのことで,Flash Player をアップデートしようとしました. - Adobe Flash Player ダウンロードセンター http://www.adobe.com/go/getflashplayer_jp ところが,Firefox ではこのアップデートを適用しても Flash Player のバージョンが古いままのときがあります. その際は,<Firefox をインストールしたディレクトリ>\plugins の中にある flashplayer.xpt GetFlash.exe (ない場合も) GetFlash.exe.manifest (ない場合も) NPSWF32.dll NPS

  • [戯] connect を使って簡単に多段 SSH を実現する方法

    connect を使って簡単に多段 SSH を実現する方法 2006-09-04-2: [Security] OpenSSH 限定の話になるのかもしれませんが,localhost から remotehost1 を経由して remotehost2 に接続するような 多段 SSH を実現するには,ポートフォワードを使う方法がありました. この話は以前ここでも,話題に上げたことがありました ([2005-01-24-2]). もちろんこの方法でも実現できますが,OpenSSH の ProxyCommand を利用することで簡単に多段 SSH が実現できます. 1. ソース (http://www.meadowy.org/~gotoh/ssh/connect.c) を取得します. 2. ソースのコメントを参考に connect.c をコンパイルします.うちの環境は Solaris なので,以下のよ

    aki77
    aki77 2006/09/07
  • cl.pocari.org - 拡張され続ける InnoDB のデータファイルのサイズを小さくする方法

    拡張され続ける InnoDB のデータファイルのサイズを小さくする方法 2006-07-07-2: [MySQL] MySQL でトランザクションを可能にするストレージエンジンとして InnoDB があります. InnoDB のデータファイルは,MyISAM テーブルと異なって,デフォルトでは ibdata1 というファイルにデータが蓄積されていくとこになります. MySQL の datadir に自動拡張する 10 MB の ibdata1 ファイルが 1 つと、5 MB の ib_logfile ログファイルが 2 つ作成されます - 7.5.3. InnoDB 起動オプション http://dev.mysql.com/doc/refman/4.1/ja/innodb-start.html この ibdata1 は,大量のデータを追加していくと,自動的にサイズを拡張していきます. ただ

    aki77
    aki77 2006/07/08
    innodb, 各テーブルを独自の .ibd ファイルに入れる