サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
www.revulo.com
■ Flot のグラフを IE9 に対応させる JavaScript でグラフを描く場合、 jQuery 用プラグインの Flot がよく用いられると思いますが、 現時点で最新の正式版である Flot 0.6 は、IE9 に対応していません。 一応、対処法が、 http://code.google.com/p/flot/issues/detail?id=408 http://code.google.com/p/flot/issues/detail?id=427 辺りに書かれているのですが、もう少し分かりやすくまとめてみます。 Flot を用いているページを IE9 に対応させるには、いくつかのポイントがあります。 グラフ自体は、IE9 に対応した Flot を用いさえすれば描画できますが、 IE9 の能力を活かすためには、次のようにすると良いです。 Quirks モードにならないように、H
ブログ内検索 タグクラウド 最近の記事 2010-09-11 (土) 1. [Canvas] IE9 での FlashCanvas の使用について 2010-09-05 (日) 1. [Canvas] FlashCanvas Pro 1.3 を公開しました 2010-09-04 (土) 1. [Canvas] FlashCanvas 20100904 版を公開しました 2010-08-28 (土) 1. [Apache] .tar.gz ファイルがダウンロードできないのを修正する 2010-08-24 (火) 1. IE で HTML5 Canvas が使えるかどうかを調べる方法 2010-08-17 (火) 1. [PHP] HTML_Emoji 0.8.1 を公開 2010-08-13 (金) 1. [Canvas] FlashCanvas Pro 1.3 beta2 を公開しました
■ php.ini の session.hash_bits_per_character の設定を変更してみる php.ini に session.hash_bits_per_character という設定項目があることを今さらながら知った。 php.ini-dist では 4 に、php.ini-recommended では 5 に設定されている。 ; Define how many bits are stored in each character when converting ; the binary hash data to something readable. ; ; 4 bits: 0-9, a-f ; 5 bits: 0-9, a-v ; 6 bits: 0-9, a-z, A-Z, "-", "," session.hash_bits_per_character = 4
■ mb_convert_encoding 関数の ISO-2022-JP と JIS の違い mb_convert_encoding() 関数でエンコーディングを指定する際、 ISO-2022-JP と JIS では意味が違うというのはご存知でしょうか? PHP のソースコード (mbfilter_jis.c) を見てみると、 それぞれのエンコーディングが対応する文字種は、次のようになっています。 ISO-2022-JP ASCII JIS X 0201 ラテン文字 JIS X 0208 JIS ASCII JIS X 0201 ラテン文字 JIS X 0201 半角カナ JIS X 0208 JIS X 0212 要するに、JIS は半角カナに対応していますが、ISO-2022-JP は対応していません。 そのため、半角カナのメールを扱うという無茶なことをやりたい時には、 ISO-20
■ Canvas を駆使したテトリスを IE に対応させてみた 先日のさめがめに引き続き、 今度はここのページで公開されているテトリスを Internet Explorer で動くようにしてみました。 HTML5のCanvasを駆使してテトリス作ってみた - 個人事業主のつぶやき 基本的には、FlashCanvas ライブラリを読み込むだけで済んだのですが、もう1つ修正が必要な箇所がありました。 先日も書いた img.onload と img.src の順番です。 修正内容をパッチの形で書くとこうなります。 --- canvas.html.orig +++ canvas.html @@ -7,6 +7,7 @@ <meta http-equiv="Content-Language" content="ja" /> <meta http-equiv="Content-Style-Type"
約3倍速くなっています。というか、これって Safari 4.0 よりも速いのでは……。 ただ、他のベンチマークを取ってみると Firefox より遅かったりもするので、 この drawImage() のベンチマークではこういう結果になりました、くらいに思って下さい。 自分で試してみたい場合は、こちらからダウンロードできます。 http://download.revulo.com/Canvas/FlashCanvasPro-1.2alpha1.zip http://download.revulo.com/Canvas/FlashCanvasPro-1.2alpha2.zip http://download.revulo.com/Canvas/FlashCanvasPro-1.2alpha3.zip 1回目の drawImage() の処理について FlashCanvas Pro を使ってベ
■ IE で eval できる配列の大きさは 65535 が限界らしい Internet Explorer 以外のブラウザや IE8 ならば問題ないようですが、 IE6, IE7 にはこのような制限があることに気付きました。 var length = 65536; var array = []; for (i = 0; i < length; ++i) { array[i] = 0; } var json = "[" + array.join() + "]"; // [0, 0, ..., 0] var result = eval(json); alert(result.length); // eval できたかどうかの確認 この JavaScript を IE6 や IE7 で実行すると、 eval() の箇所で「メモリが不足しています。」というエラーが出て、実行が止まってしまいます。
■ FlashCanvas Pro 1.0 公開のお知らせ FlashCanvas とは? FlashCanvas は、HTML5 Canvas の機能を Internet Explorer でも使えるようにする JavaScript ライブラリです。 ExplorerCanvas や uuCanvas.js などのライブラリと比べて、次のような特徴があります。 ExplorerCanvas と同程度の Canvas API を実装済み 描画に Flash を使用 (Flash Player 9 以上がインストールされていることが必要です) 他のライブラリの VML 版よりも高速に動作。Silverlight 版とは同程度の速度。ただし図形の数が増えると Flash の方が高速。 Google Code 上で開発を行っており、ソースコードも MIT ライセンスで配布しています。 Flash
ブログ内検索 タグクラウド 最近の記事 2009-12-17 (木) 1. [Canvas] CanvasRenderingContext2D はグローバル変数? 2009-12-09 (水) 1. [Canvas] isPointInPath() の動作がブラウザによって違う件 2009-11-26 (木) 1. [JavaScript] IE で eval できる配列の大きさは 65535 が限界らしい 2009-11-23 (月) 1. IE に Canvas の機能を追加する FlashCanvas ライブラリを公開しました 2009-11-18 (水) 1. [Canvas] HTML5 Canvas を用いた万華鏡を IE でも動かしてみた 2009-11-06 (金) 1. [JavaScript] Closure Compiler で JavaScript をさらに圧縮する
この数字だけ見ると packer が良さそうに思うかもしれませんが、 packer は使うべきではありません。 packer で圧縮された JavaScript は、eval() で元に戻す処理が毎回行われるので、 サイズは稼げますが実行速度が遅くなってしまいます。 一方、YUI Compressor や Closure Compiler はそういうトリックは使っていないので、 実行速度に関してのデメリットはありません。 上の数字が示しているように、 Closure Compiler は普通に使っても YUI Compressor より高い圧縮率が得られるようですが、 オプションを指定することで、さらにサイズを小さくすることができます。 コマンドライン版を使う場合は、こんなオプションをつけて実行すればよいです。 $ java -jar compiler.jar --compilation_
ブログ内検索 タグクラウド 最近の記事 2009-10-13 (火) 1. [Canvas] FlashCanvas のデモを先行公開 2009-09-27 (日) 1. [Canvas] IE で Canvas を使えるようにする FlashCanvas を高速化してみました 2009-09-24 (木) 1. [AS3] Debian lenny に Flex SDK をインストール 2009-09-16 (水) 1. [PHP] HTML_Emoji で「ここギコ!」さんの絵文字対応表を使えるようにしました 2009-08-13 (木) 1. [PHP] SHA-256 計算ライブラリのベンチマーク 2009-08-11 (火) 1. [PHP] PHP4 で HMAC-SHA256 などの hash_hmac() 関数を使えるようにする 2009-08-04 (火) 1. [inf
修正したソースコードも含めてまとめておきましたので、欲しい人は持っていって下さい。 ただし、Canvas の基本的なコマンドしか実装されていないので、 現段階では上のサンプルくらいしか動かず、実用性は乏しいです。 FlashCanvas-0.2a.tar.gz 覚え書きとして、どのような改良を行ったかを記しておきます。 stroke(), fill() のタイミングでデータを送信するようにした 例えば、Canvas で座標 (x0, y0) から (x1, y1) への直線を描くために、 ctx.beginPath(); ctx.moveTo(x0, y0); ctx.lineTo(x1, y1); ctx.stroke(); のようなコマンドを実行した場合、 オリジナルの FlashCanvas では、各コマンドごとに ActionScript の関数を呼んでいました。 これははっきり言
■ Debian lenny に Flex SDK をインストール Linux で Flash の開発をしてみようと環境構築したので、手順をまとめておきます。 ただし、Windows に FlashDevelop をインストールして使う方が楽そうなので、 Linux とか Vim にこだわらない人にはそちらをお勧めします。 Java のランタイムのインストール OpenJDK の JRE をインストールします。 $ sudo aptitude install openjdk-6-jre ほとんどの場合は OpenJDK で問題ないと思いますが、 Sun 純正の JRE を使いたい場合は、 non-free の apt-line を追加した後で次のようにして下さい。 $ sudo aptitude install sun-java6-jre Flex SDK のインストール Flex SDK
■ PHP4 で HMAC-SHA256 などの hash_hmac() 関数を使えるようにする Amazon Product Advertising API を使用するには、HMAC-SHA256 方式の署名が必要になりますが、 この計算に用いる hash_hmac() 関数は PHP 5.1.2 以上の関数なので、 それ以前のバージョンの PHP では対応するのが難しかったりします。 ということで、SHA-256 や HMAC の計算ルーチンを PHP で実装し、ライブラリ化してみました。 このライブラリを組み込むと、 hash hash_algos hash_hmac sha1 の関数が、古いバージョンの PHP でも使えるようになります。 今のところ、対応しているハッシュアルゴリズムは、 MD5 SHA-1 SHA-256 の3つです。 PEAR の PHP_Compat ライブラ
概要 † 様々な言語のソースコードを構文ハイライトして表示します 内部で SHJS (Syntax Highlighting in JavaScript) を利用しています 見た目を変更するためのテーマが約40種類用意されています 約40種類の言語に対応しています Bison C C++ C# ChangeLog CSS Desktop files Diff Flex GLSL Haxe HTML Java Java properties files JavaScript JavaScript with DOM LaTeX LDAP files Log files LSM (Linux Software Map) files M4 Makefile Objective Caml Oracle SQL Pascal Perl PHP Prolog Python RPM spec files
概要 † HTML_Emoji ライブラリをテンプレートエンジンに組み込むサンプルです。 次のような機能を Zend_View に追加します。 テンプレートに埋め込まれた絵文字を、キャリアに応じて自動的に変換します <?= ... ?> で囲まれた範囲の絵文字の変換 & HTML エスケープを自動的に行います $this->foo でなく $foo と書くことで変数の値を参照できます *1 docomo の携帯の場合は、Content-Type: application/xhtml+xml のヘッダを出力します なお、これはあくまでもサンプルということで、次のような機能の制限があります。 PC 用と携帯用のビュースクリプトは共通 文字エンコーディングは UTF-8 に固定 これでもそれなりに実用にはなると思いますが、 これとは別に、次のような機能も備えたテンプレートエンジンも開発しています
■ Zend Framework を絵文字の表示に対応させる HTML_Emoji ライブラリ の利用例として、絵文字の表示に対応したテンプレートエンジンを作ってみました。 都合により Zend Framework 用のコンポーネントとして作りましたが、 他の PHP 用フレームワークやテンプレートエンジンでも、 同じようにすれば絵文字に対応させられると思いますので、参考にして下さい。 このコンポーネントを用いると、次のような機能が Zend_View に追加されます。 テンプレートに埋め込まれた絵文字を、キャリアに応じて自動的に変換します <?= ... ?> で囲まれた範囲の絵文字の変換 & HTML エスケープを自動的に行います $this->foo でなく $foo と書くことで変数の値を参照できます docomo の携帯の場合は、Content-Type: application
PukiWiki 用 自作プラグイン † エクスプローラ風ツリーメニュー ajaxtree.inc.php Ajax を用いたツリーメニュー pagetree.inc.php JavaScript を使わないツリーメニュー treeview.inc.php JavaScript で開閉できるツリーメニュー ソースコードの構文ハイライト geshi.inc.php GeSHi を利用してソースコードを色分け表示する highlighter.inc.php PEAR::Text_Highlighter を利用してソースコードを色分け表示する prettify.inc.php google-code-prettify を利用してソースコードを色分け表示する shjs.inc.php SHJS (Syntax Highlighting in JavaScript) を利用してソースコードを色分け表
■ 絵文字変換ライブラリの処理速度の比較 先日リリースした HTML_Emoji ライブラリ は、 高速に動作することを開発目標の1つとしています。 実際に、他のライブラリと比較してどの程度速いのか、ベンチマークを取ってみました。 方法 使用したライブラリ: MobilePictogramConverter 1.2.0 Text_Pictogram_Mobile 0.0.2 HTML_Emoji 0.1 ただし MobilePictogramConverter は、ezweb.php の絵文字抽出正規表現を次のように修正しています。 var $regex = array( 'WEB' => '/<img\s+(icon|localsrc)="?([0-9]+)"?[^>]*?>/ie', 'IMG' => '/(<img src="{PATH}\/(\d{1,3})\.gif"[^>]*?
概要 † HTML_Emoji は携帯の絵文字を変換するライブラリです。 PHP 4 以上で動作します。 docomo, au, SoftBank の絵文字に対応 (隠し絵文字を含む) 他キャリアの絵文字を、類似の絵文字に変換可能 PCでは gif 形式の画像に変換して表示 絵文字の入出力は、UTF-8, Shift_JIS のバイナリ形式 文字エンコーディングを UTF-8 と Shift_JIS 間で相互に変換可能 User Agent からキャリアを自動判別 (キャリアを指定することも可能) フォームに入力された絵文字を処理したり、 携帯宛の絵文字メールを作成したりするのに使えるはずです。 ▲ サンプル † 動作確認のためのサンプルをいくつか用意しました。 PC や携帯から読み書きしてみて下さい。 UTF-8 での表示 Shift_JIS での表示 絵文字掲示板 PC での動作確認に
■ 携帯絵文字ライブラリ HTML_Emoji 0.1 を公開しました HTML_Emoji は携帯の絵文字を変換するライブラリです。PHP 4 以上で動作します。 絵文字変換ライブラリ HTML_Emoji - Revulo's Laboratory 次のような機能があります。 docomo, au, SoftBank の絵文字に対応 (隠し絵文字を含む) 他キャリアの絵文字を、類似の絵文字に変換可能 PCでは gif 形式の画像に変換して表示 絵文字の入出力は、UTF-8, Shift_JIS のバイナリ形式 文字エンコーディングを UTF-8 と Shift_JIS 間で相互に変換可能 User Agent からキャリアを自動判別 (キャリアを指定することも可能) 同様のライブラリとしては、 MobilePictogramConverter などがすでにあるのですが、 使い方が複雑で
■ Ubuntu 8.04 (Hardy Heron) のハイバネートが正常に行われるようにする もしかしたら、最新の Ubuntu 9.04 では直っているのかもしれませんが、 Ubuntu 8.04 のデフォルトの設定では、ハイバネートに失敗することがあります。 それをどう修正するか、という話です。 まずは検索してみると、以下のページが見つかりました。 Ubuntuと過す日々: Ubuntu 8.04 ハイバネート異常 Ubuntuと過す日々: Ubuntu 8.04 ハイバネート(hibernate)異常2 どうも、/sys/power/image_size の値がデフォルトでは 500 MB に設定されているので、 ウィンドウをたくさん開いたりした状態でハイバネートすると、 メモリの内容が一部破棄されてしまう、ということのようです。 解決策としては、 /sys/power/imag
■ Zend_Loader_Autoloader クラスの正しい使い方 まずは結論を。 Zend_Loader_Autoloader クラスを用いる際には、 registerNamespace() メソッドは使わず、 setFallbackAutoloader(true) に設定しておくべきです。 Zend Framework 1.8 では、Zend_Loader_Autoloader というクラスが新設され、 従来の Zend_Loader::registerAutoload() メソッドは、 Zend Framework 2.0 以降では廃止される予定となりました。 ところが、Zend_Loader_Autoloader クラスを用いるようコードを書き換えてみると、 困ったことに、PEAR のライブラリや Revulo_View_Phtmlc のような独自クラスをオートロードしてくれま
■ VirtualBox をサスペンド&ハイバネートに対応させる Ubuntu に VirtualBox をインストールして使っているのですが、 ホスト側でハイバネートすると、ゲストの仮想マシンがフリーズしてしまいます。 使い勝手が悪くて仕方がないので、これをなんとかしてみます。 考え方としては、ハイバネートの処理中に、 仮想マシンが自動的に savestate されるようにしてやれば良いはずです。 そういうキーワードで検索してみると、こういうページが見つかりました。 Things to ramble about ad infinitum: Ubuntu, VirtualBox and suspend ここにあるシェルスクリプトを使えば良さそうです。 しかし、実際に試してみると、VirtualBox 2.2 では動作しないなど、いろいろと不満な点があったため、 私の方でスクリプトを若干いじ
■ GIMP と ImageMagick の画像縮小アルゴリズム 画像を加工するのに GIMP を使っていたのだけれど、 どうも縮小する時の品質が良くない気がしたので検索してみた。 A FreeBSD GIMPer GIMPの拡大縮小アルゴリズムに付いての調査 A FreeBSD GIMPer GIMPの画像縮小でLanczos3による補間を可能にするpatch いつも、縮小アルゴリズム(というか補間に用いるフィルタ)には bicubic を指定していたが、 実際にはその指定は無視されて、平均画素法というのが使われるらしい。 じゃあ、ImageMagick で縮小するとどうだろう? 調べると、-filter オプションでフィルタをいろいろと指定できるようだ。 ここに、フィルタと生成される画像の一覧が載っていた。 ImageMagick Resize Filters デフォルトでは Lan
■ Whatever:hover の :focus 擬似クラスへの対応について 書くのを忘れていましたが、 Whatever:hover (通称 csshover.htc) のバージョン 3 がリリースされています。 変更点はこんな感じです。 Ajax で読み込んだソースにも対応 onmouseover, onmouseout の代わりに onmouseenter, onmouseleave を使用 (参考: onmouseout IE flickering problem) ソースコードの整理 ただし、バージョン 2.02 と比較すると、IE6 で :focus が機能しなくなっています。 ちなみに csshover2.htc の場合は、IE7 で :focus が機能しないので、 csshover3.htc → IE6 で :focus が効かない csshover2.htc → IE
HDD のスピンダウンについて † noflushd デーモンを走らせて、 長時間アクセスがない時は HDD をスピンダウンするように設定する *1。 さらに、余計なディスクアクセスがなるべく発生しないように、 いくつかの設定を行う。 これにより、以下のような効果が期待できる。 消費電力を減らす HDD の発熱を抑える 静穏性を高める ただし、スピンアップを頻繁に行うと HDD の寿命を縮めるので、 玄箱をファイルサーバや Web サーバにしていて、 HDD を頻繁に読み書きしているような場合には、 この設定は行わない方が良いかもしれない *2。 ▲ noflushd のインストール † noflushd のパッケージをインストール。 # aptitude install noflushd インストール時の質問には、以下のように答える。 Default idle timeout in mi
次のページ
このページを最初にブックマークしてみませんか?
『玄箱 Debian Wiki』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く