CyanogenMod 13でnasneを視聴する

以下の方法を参考にすればcm13でも動きます。

CyanogenMod で DTCP-IP やパズドラを動かす【The Weight】

私も動作確認していますが、私の場合はrootは不要だったので、suのバイナリはmoveしたままにしています。
どのみちデバッグモード中はnasneは視聴できません。素直にデバッグモードもOFFにして、開発に使わないスマホ or タブレットとして運用するのが吉だと思います

WordPressの自動<br>と<p>タグの挿入を止める

投稿や固定ページで、本文を入力すると改行部分に自動的にbrやpタグが入ってしまう。

昔からある課題で、解決策も『プラグイン導入!』と紹介されていることがほとんどですが、最近はそれらのプラグインがさすがに古すぎて、導入がためらわれるようになってきました。
もうWordpressも3.xですからね。

WordPressの3.xにちゃんと対応しているプラグインがありますので、ご紹介。

【便利プラグイン】TinyMCE Buttons Arrangement 編集画面カスタマイズツール | 無料でつくる!ビジネスに活かせるワードプレス(WordPress)作成講座

プラグインの新規追加で「TinyMCE Buttons 」と打ち込んで検索すれば一覧に出てくると思います。

プラグインを有効化すると、設定メニューの中に『TinyMCE Advanced』という項目が増えているので、クリック。そして表示された画面の一番下『Advanced Options』にある『Stop removing the <p> and <br /> tags 』のチェックを外せば完了です。

これで、brタグやpタグが入らなくなるはず。

もっとも、brタグやpタグが入って困るようなところはそもそもテンプレート側に持っておくべきであると思いますけどね。

KalturaにUPしたコンテンツのセキュリティはどのようになっているか?

Kltuaには元々アクセス制限の機能が備わっている。

Kalturaアクセス制限のかけかた

端的に言うと以下のコンテンツ保護機能がある

  1. 動画の直リンク禁止機能
  2. RTMPのストリーミングによる配信

1は動画をコピペでいろんなサイトに貼り付けられないようにする制限のこと。要は意図しない直リンク禁止機能。crossdomain.xmlで実現できる機能とほぼ同等と思っていい。2はストリーミング配信で、クライアントにキャッシュが残ることを防ぐ機能。ただ、ストリーミング配信単体で運用しても、コンテンツ保護の観点からは気休め程度にしかならないだろう。

さらに上記機能に加えて以下のような保護がなされている


● FLVファイルのリアルパス隠蔽機能

Kalturaのプレイヤーを利用する限り、ユーザーの目にFLVの実体パスが目に触れることはない。FLVの実体パスはウィジェットのHTMLには埋まっておらず、SWFに埋まっている。/opt/kaltura/web/content/entry/data/ 以下にFLVの実体ファイルは保管されている。ファイル名が分かっていればFLVに直接アクセスすることは可能。

しかし、Kalutra自身はすべてのコンテンツをコントローラー(index.php)経由で返却しているので、/opt/kaltura/web/content/entry/data/ にApacheのアクセス制限をかけることで、容易に直接アクセスを制限することができる。/etc/httpd/conf.d/my_kaltura.conf の中に上記ディレクトリのアクセス制限を書けばいいだろう。

もっとも、セキュリティの観点からはもう一つ欲しい機能がある。それは閲覧範囲の制限。


● 閲覧する人を制限する機能(IP制限であったり、あるいは認証システム連携して閲覧範囲を制限するとか)

実はこの機能もKalturaには備えられている。上記で紹介した「Kalturaアクセス制限のかけかた」の手順で、最後に「Advanced security & Pey-per-view」を選べばよい。

前述の通りKalturaはすべてのコンテンツをindex.php経由で返しており、これによってコンテンツの公開範囲などをコントロールしている。このKalturaの閲覧制限との連携をとる仕組みを「Kaltura Session」といい、このセッション機能を使えば、たとえばPHPで開発したアプリなどとの認証連携が可能になるという理屈のようだ。

ドキュメントはきわめて少なく、探したがそれらしい情報は公式ブログ(英語)くらいにしかなかった。

Create KS protected videos with free preview | Kaltura Developer Blog

あとは公式ドキュメント

KalturaAPI:startsession – Kaltura Wiki

PHPからExcelファイルを出力する際に必要なヘッダ

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary");
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="' . $filename . '"');
header('Cache-Control: max-age=0');

swfmillで日本語を正しく取り扱うには?

Flash(SWF)をXMLに変換したり、あるいは逆にXMLからSWFを生成したりするswfmill。XMLに変換できるということは、アクションスクリプト内に記述した変数の中身を置換できたりするということ。つまり、動的に値が変化するFlashを作成することが出来る。

そんなものXMLでやればいいじゃないかと思うかもしれないが、ガラケーのFlash Liteの実装は超テキトーで、仕様書通りに動いてはくれない。そういうわけで、携帯サイト向けのFlash動的生成にはswfmillがよく使われているわけだ。

ところがこのswfmill、日本語を扱うと正しくXML>SWFの変換が行えない。ググると関連する情報が幾つか見つかるが、どれもバージョンが古いモノが対象らしく、私の場合は正しく動作しなかった。

結論から言うと、swfmillの実行オプションとか、そういうもので努力するよりも日本語を数値文字参照に置き換えてしまった方がよい。以下はPHPのサンプル。


$sentence = '日本語の文字列。';
$xml = file_get_contents( 'XMLファイルへのパス' );
$xml = str_replace( '%%randomSentence%%' , mb_convert_encoding($sentence, 'HTML-ENTITIES', 'UTF-8'), $xml );

mb_convert_encodingを用いて数値文字参照に変換するのがポイント(参考)。’HTML-ENTITIES’を指定すると数値文字参照に変換できる。こうして置換したXMLをswfmillを用いてSWFに変換すれば、正しく日本語が扱えるという具合だ。ググるといろいろな方法が見つかったが、まともに動いたのは私の場合この方法だけだった。

CentOS 5.x にyumでTrueCrypt をインストール

RPMforgeにTrueCryptは登録されているので、コマンド5つ打ち込めば、インストールできる。以下は64bit版の場合。

# wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt
# wget http://packages.sw.be/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
# yum install truecrypt

Zendフレームワークで日本語のPDFを取り扱う

まずは日本語用フォントが必要。
フリーで使えるIPAフォントをダウンロードし、Zendフレームワーク下に配置しておく。私の場合は \htdocs\library\font を作って配置しました。配置に悩むファイルがあったら、Zendフレームワークの推奨ディレクトリ構成を確認しましょう。


// Zend_Pdfのインスタンス生成
$pdf = new Zend_Pdf();

// 既存ファイルの読み込み
$pdf = Zend_Pdf::load('../data/pdf/yoyaku-kakunin.pdf');

// ダウンロードしたIPAフォントへのパスを指定
$font = Zend_Pdf_Font::fontWithPath('../library/font/ipagp.ttf');

// フォントを32ptで適用
$pdf->pages[0]->setFont($font, 32);

// 文字列定義
$text = 'てすと';

// 100pt, 600ptの位置にUTF-8で描画
$pdf->pages[0]->drawText($text, 100, 600, 'UTF-8');

// ドキュメントを出力
echo $pdf->render();

【Postfix】SMTP Authが必要な中継サーバーを設定する。かつ、送信先ドメインを限定する

こんな感じの環境を想定しています。

<社外メールサーバー>(SMTP Auth必須)
____|____(FW)
<開発環境用メールサーバー>(SMTP Auth不要)
____|____
<開発用サーバー・開発機>

開発環境用メールサーバーが特定ドメインしかメールを転送しないので、ウィルスメールが蔓延してその被害を社外に広げたり、テスト中で社外にメールを送ったりといったことを防げる。社内の開発環境などにお勧め。

以下、CetnOS 5.3で確認しています。

続きを読む