Kim PoleseがCEOを努めるSpikeSourceから、PHP用コードカバレッジツールPHPCoverageがリリースされました。
コードカバレッジとはテストに置いてコードの命令や分岐などをどのくらい網羅したかの指標だそうです。(via Software Testing)
組み込み系とかではかなりキチッとやりそう。興味あるので調べとこう。
Kim PoleseがCEOを努めるSpikeSourceから、PHP用コードカバレッジツールPHPCoverageがリリースされました。
コードカバレッジとはテストに置いてコードの命令や分岐などをどのくらい網羅したかの指標だそうです。(via Software Testing)
組み込み系とかではかなりキチッとやりそう。興味あるので調べとこう。
PEAR :: Package :: PHP_Archive
Description
PHP_Archive allows you to create a single .phar file containing an entire application.
.pharという要するにJARのPHP版を作るパッケージ。といってもまだリリースされてません。
PHP_Archive gains maturity – Lot 49 – Greg Beaver’s blog
Now, .phar can truly be self-contained archives – no dependencies at all, so that shrink-wrapped applications can be distributed in a single file and run with
$ php app.phar
or in a web browser by associating .phar with php the same way you associate .php
JARとWARの中間みたいな感じで1ファイルにまとめてアプリケーションを実行できるようです。
require_once 'Calendar.phar';
require_once 'Logger.phar';
require_once 'phar://Calendar.phar/Calendar/Arabic.php';
require_once 'phar://Logger.phar/Logger/Mail.php';
こんなように.pharをrequireしたり、アーカイブの中のファイルを指定してrequireしたりできるようです。圧縮した.pharsも使えるようになったとか。
オープンソースのPHPウェブアプリのインストールがもっと簡単になりそうです。
Passion For The Future: JavaScriptやVBscriptをExeに変換するWSH用コンパイラ
WSH用コンパイラ はVBScriptやJavaScriptをWindowsの実行ファイルに変換するコンパイラソフト。通常、こうしたスクリプト言語は実行コンテナにWebブラウザを必要とするが、このソフトでExeファイルに変換しておけば、単体で動作できる(但しmsscript.ocxは必要)。JavaScriptしか使えなくても、Windowsプログラムを作って、配布することができるようになる。
こんないいものがっ!?
Folksonomy : del.icio.usとFlickrを支える情報アーキテクチャ:Goodpic
階層構造を持たない、完全にフラットなネームスペース。XMLでおなじみの、Parent(親)・Child(子)・Siblingといった構造を持たない情報アーキテクチャ
Rails-Ajaxのデモを見て階層構造を持たない分類ってシンプルでいいなと思いました。
整合性もあまり気にしなくていいし、悩まずサッと付けれられるのでそれほど分類してる感が無いのがいい。何よりタグって呼んでるがいい。だって普通にカテゴリーだったら流行らなかったよ?
JavaScript面白い!
目標はPrototypeが読めるようになること。(=現状、読めない・・・)
今日びのJS事情に追いつくために基本的なところから勉強していきます!
まずはHTMLとイベントを分離する方法。
<button id="push">push</button>
こんなHTMLに、
<script type="text/javascript">
<!--
window.onload = function() {
document.getElementById("push").onclick = function() {
alert("push!");
}
}
//-->
</script>
イベントをHTMLに書かずに直接入れます。HTML拾うには読み込みが終わってる必要があるのでonloadに設定。
Webアプリをやっていると馴染み薄いですが、無名インナークラスをリスナに登録する感じでしょうか。(Geckoエンジンだと正にaddEventListenerメソッドが使えるようです)
ああ、これは気持ちいいわ。
ref: イベントハンドラをHTMLから分離する
Mojavi + Smartyでコンポーネント化されたテンプレートはどうやって作るんだろうか・・・。
コンポーネント化されたテンプレートとは要するに
こんな奴を
{$loginForm}
って感じで埋め込みたいってこと。
Filterでやろうにも特定のいくつかのページにだけ埋め込みたいし、Actionとテンプレが一緒になったものとしてほしいのでforwardやActionChainもどうもうまくない。それっぽいのがあった気がするブタさんとことももう見れなくなってるし。
たぶん仕事で使ってる人がみんなやってる方法っていうのがあると思うんですが・・・
現在開発中のMojavi 2.0.0を使っている案件で$controller->forward()を実行しているアクションの挙動がおかしいので調べたところ、この事実を知ることになり驚愕しました。超ショック。
まさに、「ここはforward()のためにあったのね」でした。ためんなるわあ。
CPAN を補完しつつ、Perl 以外の言語でも使えるようにしようというプロジェクト FreePAN がスタート。Free Programming Archive Network の略で、Subversion レポジトリのミラーリングと、開発者の追加などが簡単に行えるような感じ。
言語問わないCPAN?こりゃ速攻でなんか上げたろ思いましたが、
How can I get a FreePAN account?
FreePAN accounts are initially being distributed manually. Join the FreepanIrc channel and ask for an account.
まだサイト上からアカウント発行とかはできないみたいです。
<?php
require_once("AllSession.php");
$allSession =& new AllSession();
echo "<pre>";
// セッションIDの配列
print_r($allSession->sessionId);
// $sessions["セッションID"] = セッションの中身
print_r($allSession->sessions);
echo "<pre>";
?>
session.save_pathからsess~というファイルを復元しています。
共有サーバなんかはsafe mode or CGI&SuEXECが必須かもしれないですね。
ref: セパレータとして ””|”” を使ってるんですよ
ref: PHPのセッション自力復元