– CamStudio
情報元:
– swf形式で動画キャプチャ
画面全体や特定ウィンドウを連続キャプチャするツール
– Wink
プレゼンでの資料作りや仕様書作りのに役立ちそうなツール。
自動/手動キャプチャをして、画像に説明などを加えることができます。
PDFやHTML(+任意画像形式)で出力可能です。
AVI, MPEG, QuickTime, WMV などのムービーを FLV やフラッシュに変換する
Linux, BSD:
FFmpeg
Windows:
Riva FLV Encoder
いずれもフリー。後者は拡張子を自分で操作することで swf に変換できるとのことです。
検索用キーワード: wmv2flv,mpeg2flv,mpg2flv,avi2flv, wmv2swf,mpv2swf,mpeg2swf,avi2swf
Riva FLV Player という flv を再生できるフリーソフトもあるようです。
参考:
– Riva FLV Encoder と HugFlash
解説サイト。
メモ – rsync のススメ
同期に使う rsync, なかなかいいですよ。
scp 使いの方は、ほぼ同じ感覚で利用できます。
adhoc に開発環境とテスト環境を同期させるのにも使えたりします(CVS などで管理していない場合とか)。
scp -pr from[ from2[ from3 …] ] to
に対して
rsync -a –rsh=ssh from[ from2[ from3 …] ] to
のように使えます。差分コピーを行っているのか, 2回目以降は scp よりはるかに高速です。
さらにオプション次第で同期の動作を制御できます。–rsh=ssh は RSYNC_RSH で事前に設定することで省略できます。
例:
rsync -a –rsh=ssh ~/public_html [email protected]:
とすれば sync.example.com サーバの user アカウントの ~/public_html をローカルの ~/public_html に同期します。
参考:
man rsync
CUI で SSL 証明書と秘密鍵の中身を表示する
OpenSSL プログラムを利用することで表示が可能です。
– server.crt という証明書の情報を表示する。
openssl x509 -noout -text -in server.crt
– server.key という RSA 方式秘密鍵の情報を表示する。
openssl rsa -noout -text -in server.key
参考:
– トラブルシューティング – サーバが起動したように見えるが、セキュアサイトにアクセスできない(Linux JF)
tips – 汎用インクルード用ファイルでの include, require では dirname(__FILE__) を使う
他所様のコードを見ていると、
require ‘../include/conf.php’;
などというように(./ や ../ を含む)相対パス指定しているのを見掛けるのですが、これには落とし穴があります。
たとえば上のコードが書いてあるファイルが script/foo.php だとします。
別のディレクトリから foo.php を include したいと思い、
public_html/main.php で
> require ‘../script/foo.php’;
とすると、
Fatal error:main(../include/conf.php)[function.main]: failed to open sream: No such file or directory at …
のようなエラーが出て正常に動作しない、という結果になります。
これは PHP では
PHP5 で PEAR の内部で Non-Static method エラーが出る
PHP5 で set_error_handler() を利用していると、PEAR のライブラリの各所(PEAR::isError, DB::connect など)で E_STRICT(=2048) が発生します。
set_error_handler の呼び出しを次のように変更すると回避可能です。
変更前:
set_error_handler(‘handler’);
変更後:
define(‘PHP5’, version_compare( phpversion(), “5.0.0”, “>=” ));
if(PHP5){
$old_error_handler = set_error_handler(‘handler’, E_ALL);
}else{
$old_error_handler = set_error_handler(‘handler’);
}
バージョンに応じて第二引数を与えているのがミソです。もちろん、PHP5だけに対応するのであれば、単純に既存のものに第二引数を与えればいいだけです。
PHP5 (5.0.5 で確認)では static メソッドの認識が微妙ですね。
参考:
– #1491(Make code work on both PHP4 and PHP5) (LiveSupport – Trac)
Smarty で JavaScript や CSS を使うと構文エラーになる対策
{literal} 〜 [/literal}
で挟むとその間にあるものは、Smarty の構文解析を行いません。
互換性を考えないのであれば公式マニュアルにあるように left_delimiter と right_delimiter を {, } から、<!–{, }–> に変更するというのもスマートです。ただしその場合、タグの属性の一部を変数にいれる使い方をすると、ソースはプレーンな HTML ではなくなりますが..。
<option value=1 {checked}>
参考:
– Smarty の構文解析を回避する(Smarty 2.6.3 マニュアル)
[PHP] PHPスクリプトから include_path を追加する方法
PHPプログラムからrequire/includeの検索パス(include_path)を上書き、追加するには、set_include_path()を使います。
例えば、ディレクトリ “/path/to/include/” をrequireの検索対象に追加する場合は以下のようにします。
<?php set_include_path(get_include_path().PATH_SEPARATOR."/path/to/include/");
または ini_set()を使う方法もあります。
<?php
ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . '/usr/lib/pear');
get_include_path() や ini_get(‘include_path’) は、今のinclude_path 設定を取得している関数呼び出しです。
set_include_path() や ini_set() は既存設定を(追記ではなく)上書きするため、追記にするために既存設定を取得して、新しい設定をつなげて足して、追加としています。
PATH_SEPARATOR はPHPの定義済の定数で、include_pathでパスを繋げるための文字が入ります。
(Windowsならセミコロン、Mac OSやLinuxならコロンが入ります)
table から div へ
.tr{ clear:left; }
.td{ float:left; }
と指定すれば、
<div class=”tr”>
<div class=”td”>foo</td>
<div class=”td”>boo</td>
</div>
のように簡易的に列揃えの疑似テーブル構造ができます(行揃えはなし)。
過渡期の置き換え作業の際はこのように td, tr クラスを作るのもいいかもしれません。
参考:
– CSS による段組(マルチカラム)レイアウト講座
– CSSリファレンス(実験室:P)
– テーブルを使わずにCSSでいこう