2008xamppを使って開発をしていると気づかないですが、apacheとphpをインストールした直後はエラーメッセージを画面に出さない設定になっていることが多いです。開発用のサーバではエラーメッセージを画面に出して欲しいので/etc/php.iniを変更する必要があります。errorが起こった場合画面に表示するようになります。warningは出しません。error_reportingに設定する定数はここを参考に。.htaccessの場合はここにあるような数値を設定しないと効かないらしい。これは、apacheを再起動するときのコマンド。このrc.dとinit.dって何だべ?と思い調べてみました。環境はCentOS5.2。/etc/rc.d/はランレベルごとの起動・停止スクリプトを格納しているディレクトリ。ランレベルとはLinuxの動作モードのこと。シングルユーザモードやマルチユーザモードやグラフィカルログインなどによって起動するデーモンを制御するためにディレクトリごとに分けている。ランレベルについてはここを参照。init.dなどのディレクトリがあり、init.dの配下にいるのが起動・停止スクリプトの本体。rc0.d~rc6.dの配下にいるのはinit.dにあるスクリプトの各動作モードごとのリンボリックリンク。ランレベルを変更したい場合などはここを参考に。ちなみにLinuxの場合「.d」が名前の最後に付けられているディレクトリをよく見かける。2008ISMSって何?と思って調べたメモ。ISMS(情報セキュリティマネジメントシステム)情報に関するセキュリティを管理する仕組み。組織の情報漏えい対策。監査を受けて合格すると、機密情報の漏えいがない印象を与えることができる。情報マネジメント推進センターのホームページには、ASPサービス向けのITSMSというのもある。プライバシーマーク個人情報保護に関して一定の要件を満たした事業者に対し、使用を認められるマーク。監査を受けて合格すると、プライバシーマークの使用が可能となり、個人情報を預けても大丈夫そうな印象を与えることができる。データセキュリティ基準)主にクレジットカード会社で取得が進んでいる情報セキュリティ基準。詳しくはここの連載で。DSSはやらないといけないことが決まっている。このような監査に合格していると、内(社内)向けにセキュリティに対する意識が向上する効果はありそう。外向けに効果があるか分かりませんが。2008このときに少し気になったPOSIXとPCRE。全ての答えがwikipediaに。Interface)自体は標準化団体がつけた取り決めの名称。POSIXに従った正規表現を書くと多くのUNIX上(シェルスクリプトなど)でそのまま使用することができる。PHP関数ではereg*となっているのがPOSIXの正規表現を用いる関数。Expressions)はPerl互換の正規表現ライブラリの名称。POSIXを上回る豊富な文法を備えているらしい。多くのソフトウェアに組み込まれているので、開発する上での標準。PHP関数ではpreg*となっているのがPCREの正規表現を用いる関数。\sとかが使えたり大文字小文字を区別しない検索ができる。PHPではPOSIXのereg_replaceよりPCREのpreg_replaceの方が高速に動作することが多いらしい。2008MP4BoxはGPACというツール群の中のひとつ。インストールはここを参照。MP4Boxを使うと3GPPや3GPP2やMPEG4のファイルに対して、分割、結合、ストリーミング再生用のヒントトラックの作成、特定トラックの詳細情報の表示、メタデータの追加・削除などができる。本家のドキュメントはここ(英語)。日本語はここで見つけた。ヘルプはコマンドでも表示できる。generalなどで詳細ヘルプを表示。・・・英語なのできつい・・・よく使うコマンドだけメモ。directory一時ファイルの保存場所を指定。filename処理後のファイルを新規に書き出す。-new新規ファイルの作成を強制。-3gpファイルを3GPP規格準拠に変換。MPEG-4のシステム情報は除去され、3GPP準拠の情報のみ残す。'3g2'にするとこのオプションを勝手に使う。警告:一部のメディア・トラックが除去される事がある。ABCD[:v]ファイルの主な使用用途を識別する情報を付加。vはバージョンを数値で指定。importfileファイルを読み込んで指定ファイルにメディアトラックを追加する。-keep-sys-addオプションで削除されるMPEG-4のシステム情報を残す。-keep-all-addオプションで追加した場合、MPEG-4と3GPP規格に準拠しないトラックは自動で削除されるが、これらを残すためのオプション。<読み込んだトラックの追加先><読み込んだトラックの追加先>がない場合、自動で作成して追加する。-newオプションで新規ファイル作成を強制。<秒>入力ファイルを指定秒単位で分割する。2008ffmpegのインストールについてはここを参照。公式マニュアルはここから(英語)。formatフォーマットを強制。bitrateビデオビットレート(bit/s)。fpsフレームレート(fps)。デフォルトは25fps-sフレームサイズ。デフォルトは160x128。codecビデオコーデックの指定。'copy'とすると入力動画のコーデックを使う。n2パスエンコードの番号を指定。1を指定した場合動画の解析を行って-passlogfileに指定したファイルに情報を書き出す。file2パスエンコードの動画解析結果を出力するファイルパスを指定。freq音声サンプリング周波数。bitrate音声ビットレート。channels音声チャンネル数。codec音声コーデックの指定。'copy'とすると入力動画のコーデックを使う。-an音声の録音を無効にする。2パスエンコードの最初の1回目で指定する。上書きだと次のようなコマンドになる。2008ffmpegを使って動画を変換してますが、これがなかなか難しい。ffmpegのインストール方法については前の記事を参照。PHPで変換する際はここのコード経由で実行してます(自前でコマンドを生成した方が分かりやすい)が、ffmpegのバージョンによってオプション(引数)の名前が違ってくる。list.txtを実行してみてffmpegが対応しているか確認。Formats」は各ファイルを読み込み、書き出しできるかどうか。「D」ついていれば読み込み可能、「E」がついていれば書き出し可能。次の「Codecs」は各コーデックが使用可能かどうか。ffmpegのコマンドでは「-vcodec」や「-acodec」のあとに記述。「D」ついていればデコード(復号化)可能、「E」がついていればエンコード(暗号化・圧縮)可能。「V」はビデオ、「A」は音声のコーデック。これで確認してみると「aac」はおらず、「libfaac」という名前になっているみたい。日本語ではFFMpeg:サポートされているファイルフォーマットおよびコーデックにあったので参考に。2008ここでPHPだとXSLTの技術を使う機会が少ないなぁとぼやいてましたが、PEARのXML_Query2XMLを使うと簡単にPHPでXML+XSLTが実現できそうだったのでメモ。試してみるときはここのブログなどを参考に。私はまだ試してないですが、時間が取れたときに試してみます。PHPフレームワーク「pettiwork」コメントを投稿リアクション:続きを読む博多へ行ってきました。2008土日は九州・博多へ行き、阿蘇山と温泉と海の幸を堪能してきました。阿蘇山に行く途中に馬と触れあえる場所があったので寄り道。馬の方がテンションあがりました。博多のイカは本当に新鮮でおいしい。このときイカさんはまだ生きて(反応し)ます。食べたあとも残った部分を天ぷらにします。川沿いの屋台街で遅くまで飲み倒せます。夜はもつ鍋を食べましたが、これまたおいしいので九州行く機会があったら絶対食べた方がいいです。初の九州でしたが濃密に楽しめました。次回は由布院で合宿予定です。2008さきに後輩が書いていたので詳しくはここ。技術ネタだけじゃなく、たまには癒し系のネタも書くようにします。強いほうではないですが、さらにお酒に弱くなっている気がする。慌ただしく会社に行ったら、今度はブレーカーが落ちて半分近くのマシンが起動不能に。しょうがなく床をひっぺ返して電源周りを整理。仕事が進んでませんが、なんかすでに疲れてます。明日は福岡の大学時代の先輩に会いに行ってきます。朝早いのに起きられるかなぁ。何かに向けて駆け抜けている途中。猫2匹に囲まれて奮闘する日々。【PHP】【PEAR】XML_Query2XMLでXSLTが使いやすい!?博多へ行ってきました。関連リンク株式会社DKSGFacebookのプロフィールGitHubのプロフィール犬猫家族|里親募集ができるアプリ。