スタッフブログ
openpear.orgには便利なライブラリがたくさん公開されています.その中でも簡単に使えておもしろいものを紹介していこうと思います.
Keires_Feed ( http://openpear.org/package/Keires_Feed )は,KOYAMA氏がRasmus Leodorf氏のsimple_rss.phpをベースに作成したフィードパーサで,主要なフィード形式のほとんどをサポートしています.
PHPのフィードパーサは今までにもたくさんありましたが,どれも使いづらいか,Atomなどの特定の形式に対応しきれていないなど,問題を抱えていて,決定打となるライブラリがありませんでした.その穴を埋めてくれるのがKeires_Feedです.
使い方は非常に簡単で,以下のようにする事でフィード一覧を表示できます.
require_once 'Keires/Feed.php';
$url = 'http://ryus.co.jp/modules/d3blog/index.php?page=rss';
$feed = new Keires_Feed($url);
$feed->parse();
var_dump($feed->getItems());
インストールは,openpearなのでPEARコマンドで
sudo pear install openpear/Keires_Feed-beta
としてインストールするのが簡単です.自分はパッケージリストに登録したくなかったので「svn export http://svn.openpear.org/Keires_Feed/tags/0.1.0-beta
」としてダウンロードしました.
Keires_Feedの素晴しさはそのフィードパーサとしての性能だけではありません.
コードが非常に美しく,PHP5の良い部分をうまく引き出して書かれています.implements Iteratorや例外の使い方など,PHP4時代のコーディングスタイルから抜けきれていない人には学ぶべき点が多いです.
PHPでフィードを読む場合はKeires_Feedが現在の所最強である事は確実でしょう.

なおとです。
秋葉原の無印良品で、「組み立て携帯箸」を購入しました。 それに合わせて,箸袋も作ってみました。
お昼はたいてい、近隣で外食しています。 いままで会社には短い箸を入れた箸箱があったのですが,ちょっと持ち歩くようなものではなかったので、ほとんど活躍の機会がありませんでした。
今週から、この箸を持ち歩いています。 初日はカレーだったので、使ったのは火曜日からです。 ちょっと手にかけた自分の箸を使っていることで、気分よく食事できます。
先日、自宅のPCを総入れ替えしたのですが、その際にWindows Vistaのx64(64bit)版を導入しました。
日本での普及率はまだまだ低いx64Windowsなのですが、ソニーのVAIOの次期モデルでは全面的にx64版を採用するなど、着々と普及が始まっています。
しかし未だにWindowsXP(32bit)以外使いたくないという偏見が広まっています。
現状では「Vistaでしか動かないキラーアプリ」的なものが存在しないので、それなら面倒なUACを使うより全部動くXPを使う、というのは正しいのですが、サポートの問題などもありますので、今からXPを購入するというのは控えるべきだと思います。
また、64bitが普及しないと、メモリ空間の限界等の問題で、ハードウェアを有効利用できないという問題があります。
というところまではx64を使おうとしている方ならご存じだとは思うのですが、実際「ドライバがないよね」「あのソフトは動くのかな…」という点で避けている部分は大きいと思います。
しかし探してみると、64bitドライバは思っているより多いことがわかります。ソフトも64bit版が出ていなくても普通に動くことが多いです。
というわけでx64導入の注意点を洗い出してみようと思います。
・TVチューナー/キャプチャー系はほぼ買い換えが必要
これはx64というよりVistaの問題でもあるのですが、VistaではTVチューナーの動作が厳しくなっております。
また、公式にサポートされているものでも、ほとんどのものはTVチューナーを起動するとAeroが無効になります。
・古いものは買い換える
使えるからと言って古いものを無理に使おうとせず、同種の新しいものがあればそちらを使ったほうがいいです。
ほとんどのデバイスは、新しいものであれば正常に動作します。有名メーカーのものであれば64bitドライバが大体用意されています。
・管理者権限に注意する
これもVista自体の問題ですが、VistaはUACが搭載されているため、権限を無視してファイルアクセスするフリーソフト等は動作しないことが多いです。
この場合は、exeファイルのショートカットを作成し(既にあればそのまま)、そのショートカットファイルのプロパティで、「詳細設定」で「管理者として実行」にチェックを入れておけば、毎回管理者権限で実行されます。
管理者確認のダイアログが毎回出るのが鬱陶しい場合は、Norton UAC Toolを使用することで、アプリケーション毎に2回目の警告を無効化することができます。UACを根本的に切るのは避けましょう。
x64版Vistaは、32bitプロセスと64bitプロセスが混在できるようになっているため、32bitアプリでもほとんどの場合で正常に動作するようになっております。
挙動が若干おかしい、程度ならいくつかありましたが、全く動作しないというのは今のところゲーム以外では遭遇していません。
挙動がおかしいものとしては、例えば以前紹介したLaunchyでは、たまにキー入力が効かなくなることがあります。(32bitVistaでは正常動作)
ちなみに速度に関してもよくVistaは遅いと言われますが、SuperFetchやAeroの3Dアクセラレーションにより、Vista対応スペックを十分に満たしているPCであればXPより快適になるケースも少なくありません。
低スペックPCで使うということでなければ安易に無効化しないほうがいいです。(ただしバッテリー消費を減らしたいとかの理由であれば別)
もちろん、高速と言われているWindows 7まで待つのもいいと思います。
---
ところで、先日から、XOOPS CubeでYiiを使うモジュールをこっそり公開しております。
サポートはできませんが、興味のある方は使ってみてください。

先日の記事で、Ryujiがオープンソースカンファレンス2009 Tokyo/Springに触れていましたが、こちらのセッションでHDについての発表をします

内容としては、minahitoさんにXCLについて少し話して頂いた後で、
- 先日リリースされたばかりの、HD1.0.3について
- HDの次バージョン、HD1.1.0(予定)について あたりを話す予定です。
また、ブースの方では、HDを使ってのサイト構築入門とか携帯対応とかを、他のホダ塾メンバーと一緒に行おうかと思っています。
こちらの方は確定ではありませんが、何かしら面白いことをやりたいと思っていますので、もし宜しければ会場で声を掛けてみて下さい

・オープンソースカンファレンス2009Tokyo/Spring
さて、このOSC2009Tokyo/Springですが、当社のうさできでもプッシュしているXOOPS Cube のディストリビューションHDのセッションがあります。
HDは最近1.0.3がリリースされたばかりですので、このセッションは是非聞いておきたいと思っています。
更に、多種多様なCMSを集めてのパネルディスカッションCMS大集合なんて企画もあります。
で、私はというと、今回はWARPのブースに居る予定です。
あとちょっとだけですが、WARPについて、WARPのセッションでも話をさせていただく予定ですので、こちらもよろしくお願いします。

http://codezine.jp/devsumi/2009/
RYUSではXOOPS Cubeブースにお留守番として参加します。今回はそこにPCを置いて動画を流し、来ていただいた方に見ていただけるように動画を作ろうと思いました。
デスクトップで XOOPS Cube を操作し、その状態を録画します。このとき使ったのは無料で配られている CamStudio というソフトです。
http://www.forest.impress.co.jp/article/2003/03/05/camstudio.html
いくつかの動作を録画して、あとはタイトルを入れたりつないだりすることになります。今まではAdobePremierを使っていたのですが、引っ越しのごたごたでCDが見つからなくなってしまいました(^^;。
そこでgoogleで検索したところWindows付属のソフトに Windowsムービーメーカー というものがある、ということがわかりこれを使ってみました。
付属ソフトということで多くの期待をしていなかったんですが、操作画面の分割やタイムラインなどpremierと似たような感じで特に迷うこともなく、ほぼ作りたい動画ができあがりました。
エフェクトやタイトル画面の挿入もできますし、できあがったファイルは本日から会場でお見せすることができます。すべて無料でプロモーション動画が作れるとは思わなかったので驚きました。
用途に分けてアカウントを作った場合,わざわざログインしなおすのは手間です.
Windows XPの場合「別ユーザで実行する」という機能によって他のアカウントの権限でSkypeを起動すれば2つのSkypeを同時に起動する事ができるのですが,Windows Vistaの場合,このメニューがありません.同様の効果を持つrunasコマンドを利用してもなぜかうまくいきません.
そこで,elevateコマンド(http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx)を利用して,管理者ユーザで1つ.一般ユーザで1つという形でSkypeの2つの起動を実現します.
Elevation2008_06.exeをダウンロード,elevateコマンドをインストールした後,一般ユーザでSkype起動した後にコマンドラインから以下のように入力します.(USERNAMEの部分は一般ユーザの名前に変更してください)
elevate "C:\Program Files\Skype\Phone\Skype.exe" /datapath:C:\Users\USERNAME\AppData\Roaming\Skype_work\
うまくいけば2つ目のSkypeが起動するはずです.このコマンドをバッチファイルとして登録しておいて,スタートアップや,任意のタイミングで起動できるようにしておくとよいでしょう.
今回から(できれば)連載で最近流行のLinuxディストリビューションのUbuntuについて書いていきたいと思います。
まずUbuntuをインストールするハードウェアから、今日、同僚の山本さんのAtom CPU搭載の自作PCをお借りしましので、そのハードウェアについて書きたいと思います。
Atom CPU搭載のPCなのですが、将来的にはAtom CPUのPCを自作しようと思っています。
ですが、今発売されているマザーボードやベアボーンキットでなかなか自分の要求を満たした製品がなく待ち状態なので、今回お借りするPCは今は使っていないそうなので、Atom CPUのテストとUbuntuを試すのを兼ねてお借りする事になりました。
快諾していただいた山本さんに感謝です。

スペックの方は以下のようになっています。
マザーボード:GA-GC230D
CPU:Atom 230
メモリ:2GB
HDD:160GB 2台
ケースと電源は自作
構成としてはソフトウェアRAIDを想定してHDDを2台搭載している点が特徴でしょうか、そしてDIY精神あふれるケースと電源が良い感じです。
またケースは使いかってを考慮してIOポートがPC使用者の全面にくるように配置されています。
さて次回からは早速、Ubuntuをインストールしてみたいと思います。
こんにちわ。なおとです。
XOOPSでjQueryを使うとき、XOOPSのSmartyプラグインとの組み合わせで、ちょっとしたノウハウをご紹介します。
jQueryでセレクタを使うときに(もちろん)idを指定することができます。 そのとき、操作対象の要素のid属性の値に使われる文字種には、注意する必要があります。
大雑把に言うと、特にcssセレクタとして使う場合も考慮するなら、できれば英数字と-(ハイフン)だけの組み合わせを使うのが、一番無難です。
(参考:名前付けの注意点 『The Web KANZAKI ごく簡単なHTMLの説明』より)
jQueryの話に戻りますが、idに「[](大括弧)」が含まれていると、idセレクタでその要素を「掴む」ことができません。
しかし、XOOPSのSmartyプラグイン「xoops_input」を使うと、いくつかの条件が重なると、idに[]を含む文字列が入ります。 これはハマりどころで、私もこの現象に気づくまで、かなり悩みました。
その問題の条件は、name属性の値に[]を使っていて、php側では配列で値を受け取れるようにしていることと、自動でidをつける(明示的に指定しなければそうなる)ようにしている時、という条件が重なった場合です。
(参考:xoops_input『SourceForge.net: xoopscube » Legacy_Theme_Smarty;ja』より)
テンプレート
<{xoops_input type=checkbox name="checkbox[]" value="value1" default=$value}>
<{xoops_input type=checkbox name="checkbox[]" value="value2" default=$value}>
<{xoops_input type=checkbox name="checkbox[]" value="value3" default=$value}>
↓
出力
<input name="checkbox[]" id="legacy_xoopsform_checkbox[]_value1" value="value1" type="checkbox">
<input name="checkbox[]" id="legacy_xoopsform_checkbox[]_value2" value="value2" type="checkbox">
<input name="checkbox[]" id="legacy_xoopsform_checkbox[]_value3" value="value3" type="checkbox">
この場合には、明示的にidを指定することによってidの値をある程度コントロールできるので、それで解決できます。
テンプレート
<{xoops_input type=checkbox name="checkbox[]" value="value1" default=$value id="checkboxvalue1"}>
<{xoops_input type=checkbox name="checkbox[]" value="value2" default=$value id="checkboxvalue2"}>
<{xoops_input type=checkbox name="checkbox[]" value="value3" default=$value id="checkboxvalue3"}>
↓
出力
<input name="checkbox[]" id="checkboxvalue1_value1" value="value1" type="checkbox">
<input name="checkbox[]" id="checkboxvalue2_value2" value="value2" type="checkbox">
<input name="checkbox[]" id="checkboxvalue3_value3" value="value3" type="checkbox">
これでうまく要素を掴めるようになります。
北海道近辺の技術者の方は是非参加してみてください。
今日は以前発見したIE(6/7)の謎の挙動に関して紹介したいと思います。バグだと思うのですが…。
テストページを用意しました。
まずこちらをIE以外のブラウザでご覧下さい。
[テストページ]
普通にスクロールバーが表示されると思います。
次に、IEで表示させると、スクロールバーが出ないと思います。
しかし、インラインフレームの領域をクリック、あるいは画面内のどこかをクリックしてからインラインフレームにカーソルを当てると、突然スクロールバーが出てきます。
使用したソースは以下になります。
index.html
<html>
<body>
<iframe style="width:20px;" src="scroll.html"></iframe>
</body>
</html>
scroll.html
<html>
<body>
<div style="height: 10000px"></div>
</body>
</html>
どうやら「インラインフレームの幅が20px以下で、インラインフレーム中にスクロールバーが表示される場合」に正常に描画できないようです。
20pxはOSのスクロールバーの設定次第で変わるかもしれません。
通常このようなHTMLを書くことはないと思いますが、もし書くことがあれば注意してください。



