投稿

2月, 2009の投稿を表示しています

【PHP】バックグラウンド(非同期)で処理を実行する

PHPで重い処理を行う場合、バックグラウンドでの処理依頼だけして、すぐレスポンスを返す方法のメモ。 基本PHPでは非同期処理をサポートしていないので、外部プログラムとして実行させる exec('実行したいプログラム > /dev/null &') 参考:PHP中級、2外部プログラム実行 これを応用してPHPの処理自体を非同期で行うには exec('wget --spider http://localhost/hoge.php > /dev/null &') exec('php /var/www/html/hoge.php > /dev/null &') こんな感じで外部プログラムでPHPを実行する。 ちなみにexecを実行するためには safe_mode がoffでないと駄目。 wgetについては ここ を参考に。

ファイルをアップロードするためのapacheとphp.iniの設定

大きいファイルをアップロードする際に必要な設定をメモ。 php.iniにアップロードできるファイルサイズの制限が記述されているので、それを変更する。 PHP.iniを設定 upload_max_filesize = 512M post_max_size = 512M memory_limit = 512M max_execution_time = 0 詳しい説明は phpマニュアル を参照。 PHP.iniを変更すると他の処理に影響がでるので、.htaccessで個別に設定する方がスマート。.htaccessを有効にするにはhttpd.confの各ディレクティブに AllowOverride All を記述するのを忘れずに。 .htaccessのサンプル php_value max_execution_time 0 php_value memory_limit 512M php_value post_max_size 512M php_value upload_max_filesize 512M その他 PHPマニュアルのファイルアップロードの処理 を一読しておく。 さらにPHPではMAX_FILE_SIZEというhiddenタグに入れておくと、サーバ側でファイルサイズがこの値を超えている場合エラーとして処理をしてくれる。

外来語の末尾に長音記号「ー」をつけるかつけないか

社内のパッケージでも作る人によって日本語の「揺れ」がある。例えば ユーザとユーザー。カテゴリとカテゴリー。コントローラとコントローラー。フォルダとフォルダー。 工学分野では最後の長音記号は省略する慣例なので、私の場合何も考えないと昔の癖で省略してしまう。実際どっちがいいのか調べたメモ。 結論から書くと 内閣告示ルール に準拠するのが一般的な流れ。 長音記号の部分を引用すると 3    長音は,原則として長音符号「ー」を用いて書く。 注1    長音符号の代わりに母音字を添えて書く慣用もある。   〔例〕    バレエ(舞踊) ミイラ 注2    「エー」「オー」と書かず,「エイ」「オウ」と書くような慣用のある場合は,それによる。   〔例〕    エイト ペイント レイアウト スペイン(地) ケインズ(人) サラダボウル ボウリング(球技) 注3    英語の語末の‐er,‐or,‐arなどに当たるものは,原則としてア列の長音とし長音符号「ー」を用いて書き表す。ただし,慣用に応じて「ー」を省くことができる。   〔例〕    エレベーター ギター コンピューター マフラー エレベータ コンピュータ スリッパ ( 内閣告示ルール:外来語の表記 より) 新聞や放送業界ではこのルールに準拠しているらしい。 ・・・で、一番困ったのが「カテゴリ」。マイクロソフト的には英語が「y」で終わるものには現在の表記を踏襲するらしいので「カテゴリ」。wikipediaでも「カテゴリ」となっているので「カテゴリ」なのかな。 <参考> マイクロソフト、外来語カタカナ用語末尾の長音表記を変更へ Microsoft スタイルガイド Wikipedia:表記ガイド

FFMpegで動画配信サーバ構築の資料を公開

携帯動画変換について記事を書こうと思ったけど、勉強会で動画配信サーバ構築について発表したので、めんどくさくなってその資料をまるごと公開。 携帯向けの動画変換でMP4Boxを使ったコマンドを記載しているので、その辺参考になるかも。MP4Boxのコマンドについては 前の記事 を参考に。 ウノウラボ も参考に。 あと、動画のATOM情報を表示するにはMP4Dumpというコマンドがある。その辺は ここのブログ が参考に。 <目次> 動画配信サーバとは 主な動画配信サービス オープンソースな動画変換ソフトウェア「FFMpeg」の紹介 動画変換の基礎知識1 動画変換の基礎知識2 PC向けストリーミング動画の作成 携帯電話向け動画の作成 携帯電話向け動画の注意点 PC向け動画配信サービス「HELIOS.CoTV」の機能紹介 携帯向け動画配信サービス「SELENE.CoTV」の機能紹介 おわりに 小さいと見にくいので全画面表示は こちら 。Google ChomeとFireFoxだと綺麗に表示できるけど、IEだとうまく表示できていない。 今回 Google Docs を使って公開したけど、公開しているものをPPT形式とかPDF形式でダウンロードできたり、なんか多機能すぎてちょっと嫌。この辺は権限を設定してコントロールしたい。

Exbridgeでは営業マンを募集中

最近 社長 が来期に向けて営業を増やしたいらしく「いい営業いない?」とよく言っている。 リクナビにも募集を出した みたい。 なんか使っている写真は微妙なんですけど・・・ おもしろい人が来てくれるといいなぁ。

【PHP】TCPDF 4.5.xxx+FPDIで既存PDFの読み込みと編集

TCPDF 4.5 + FPDI 1.2.1 で既存PDFを編集しようとしてみたけど、バージョンの関係で動かず。どうしたものかと思ったらfpdi.phpを修正するパッチがありました。 ここ から。 FPDI のバージョンアップで対応すると思いますが、取り急ぎの場合はこれで解決。 <2009/03/22 追記> 最新のFPDI 1.3でパッチを当てなくても正常に動作することを確認。 日本語が含まれたPDFを読み込んでも正常に表示。独自にフォントを追加した場合はファイルサイズが大きくなるけど、フォントを埋め込んでいるのでこれはしょうがない。 TCPDFの標準日本語フォントを使った場合はファイルサイズは大きくならなかった。 ・・・ということは、日本語OS以外で開いた場合は文字化けしそう。・・・ま、いっか。 TCPDFのマニュアルは下記サイトが分かりやすい。 TCPDFに関するリファレンス   <インストール方法> TCPDF をダウンロードしてきて、TCPDFというフォルダに保存。 FPDIのダウンロードサイト からFPDIとFPDF_TPLをそれぞれダウンロードしてきてFPDIとフォルダに保存。 もちろんパッチを適用しとく 。FPDF_TPLはFPDIフォルダに置く。 次は2つのコンポーネントを読み込むPHPファイルを作成。 set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/FPDI'); require('TCPDF/config/lang/jpn.php'); require('TCPDF/tcpdf.php'); require('FPDI/fpdi.php'); class exPDF extends FPDI { } これをexPDF.phpの名前で保存したとすると、動作確認は次のような感じ。 require_once('exPDF.php'); $objPdf =& new exPDF(); $objPdf->AddPage(); $objPdf->setSourceFile(

【.NET】ClickOnceをApacheでも起動するための設定

前にリンクだけ書いた けど、もう一度調べ直すことになったのでちゃんとやり方をメモっておく。 ClickOnceのアプリケーションをapacheの仮想ディレクトリに配置したあと、IEのバージョンによって起動するときとしないときがある。 Windows XP + IE7.0 + .NET Framework 2.0では起動 Windows 2003 Server R2 + IE6.0 + .NET Framework2.0では起動せず。XMLファイルが表示されてしまう。 前のリンク にも書いてあるが、MIMEをサーバ側に指定しないと駄目らしい。 方法① apacheのmime.typeに記述する。以下を追記。 application/manifest manifest application/deploy deploy application/x-ms-application application 方法② apacheのconfファイルに記述する。「IfModule mime_module」ディレクティブに以下を追記。 AddType application/manifest            .manifest AddType application/deploy              .deploy AddType application/x-ms-application    .application 方法③ .htaccessに記述する。アプリケーションを配置したディレクトリに.htaccessファイルを作って以下を追記。 AddType application/x-ms-application .application AddType application/x-ms-manifest .manifest AddType application/octet-stream .deplo これはapacheのconfファイル(httpd.conf)にAllowOverride Allの記述がないと.htaccess自体有効にならないので注意。 設定後はapacheを再起動+ブラウザも再起動して試す。

DECOチョコでオリジナルチョコとマグネットとストラップ

ネコジルシ で猫を眺めていたら DECOチョコ というサイトを知った。 なにやらチロルチョコの包装紙を自分の好きな画像を使ってデザインできるらしい。 チョコを食べ終わってもマグネットやストラップにして取っておくことも可能なので、試してみるのもおもしろいかも。 エクスブリッジのデザイナーチームに頼めば、かっこいいのを作ってくれそう。 EOSチョコとか食べてみたい・・・。

JQueryのプラグイン

JQuery をまだ使いこなせてないので、次の開発ではリッチなユーザインタフェースを実現させるためのメモ。 JQuery日本語リファレンスサイト そのうち自分が使いやすいプラグインをリストにしたいけど、今はメモのためにリンクだけ。 簡単Ajaxライブラリ「jQuery」と便利なプラグインたち [JS]jQueryのプラグイン33+1選 -2008年1月 [JS]jQueryのプラグイン33+1選 -2009年2月

矢原先生にお会いしました

イメージ
大学時代に空手を教えてくださった矢原先生とお会いしました。 久しぶりに会うのでとても緊張・・・。 矢原先生は 要人警備の会社 を経営されていたり、ホテルを経営されていたりと多忙なうえ、世界中を飛び回って空手を教えているスーパーな人です。 海外での認知度が高く、 YouTube で「yahara karate」で検索するとたくさんの動画を見ることができます。 そんな先生は62歳とは思えないような覇気と精神力の持ち主で、話しをしているだけでこちらの魂を揺さぶってきます。 初志貫徹 一撃必殺 有言実行 常に切腹する覚悟で物事に取り組まれています。 そう。武士なのです。 あのような方と話すと自分の小ささが認識できるので、大変貴重な体験となります。私なんぞはまだまだですが、先生の覇気にあてられて少し体がうずいてきました。 ↑矢原先生です。 ちなみにこの突き(力の使い方)ができるまで通常3、4年はかかります。大学4年間やって会得できない人は半数以上(途中で脱落する人はもっと多い)。 会社でこの動画のように板を床に埋め込んでもらえないものでしょうか。

Javascriptフレームワーク「Dojo」と「JQuery」

開発では JQuery をメインに使ってますが、 Dojo というJavascriptフレームワークが気になったのでメモ。 とりあえず デモ を見てみると、なんとなくすごいことができそうな予感がする。ただしGoogle Chromeでは一部デモが動作しなかった。 そして ここのサイト で他のJavascriptフレームワークとの速度比較があるので参考に。 これを見る限りDojoとJQueryの優秀さが伺える。でもJQueryは1.3になってから速度が大幅に改善されたみたいなので、現段階ではJQueryがNo.1なのかな。 参考サイト 。 Dojoについて詳しく知りたい場合は ここ を一読する。

【PHP】フレームワークとライブラリ

PHPでシステム構築する上で使える(使えそうな)(今後使いたい)ライブラリのメモ。 機能 名前 説明 フレームワーク petitwork (プチワーク) エクスブリッジ発のMVCフレームワーク。軽量・軽快なのが良い。詳しくは EOS Project で O/Rマッピング somfa (ソンファ) アプリケーションとDBの仲介(マッピング)をしてくれるライブラリ。Adodbのラッパー。詳しくは EOS Project で。 Excel操作 PHP-Excel PHPからMS Office 2007形式のファイルを操作可能にするライブラリ。非常によくできていてOffice 2003以前のファイル形式も扱える。 前の記事 も参考に。 PDF操作 TCPDF FPDFから派生したライブラリ。UTF-8に対応。 前の記事 も参考に。 メール送信 Zend_Mail Zend Framework の一部。他のZendライブラリも注目。 ファイルダウンロード PEAR::HTTP_Download クライアントにファイルをダウンロードさせるためのヘッダーの設定を吸収してくれる。 他に気になったら追記予定。

flv形式の動画をWebで配信可能なフラッシュプレーヤー

前の記事 で紹介したオープンソースなFlash Player「 flowplayer 」がバージョンアップしてとっても使いやすくなっているようなので再度紹介。 GPL License 版は相変わらずフルスクリーン時にロゴが表示されるけど、前の魚ではなくてかっこよくなっているので気にならない程度。 ソースも公開しているので、ログを非表示に改変することも簡単だけど、その場合はWebページにflowplayer.orgにリンクを貼らないと駄目。詳しくは License F.A.Q で。 ドキュメントとサンプルコードとデモ が充実しているので、とても開発しやすい(英語)。 ただ埋め込みタグは前のバージョンと互換性がないので、単純に置き換えはできない。 jQueryと連携して、とてもリッチなWebページができるので、 CoTV もトップページをかっこよく作り替えたい。

arai-flat氏の結婚式2次会

土曜は arai-flat 氏の結婚式2次会。 エクスブリッジ初の社員同士の結婚というのもあって、総力を結集しての2次会となりました。 xb-noiri 氏の段取りの元。余興満載ですばらしい二次会だったと思います。 xb-noiri氏お疲れ様でした。かっこよかったです。   二次会では私も僭越ながら四方割りの演舞をさせて頂きました。 最近 CoTV でも板割りシリーズが何回か投稿されていますが、この日のために購入したものです。ほとんど別の方に割られてしまいましたが・・・(^^; 本番はバランスを崩し、テンポ良く割ることができなかったのが心残りで、やはり稽古不足が響いているんだと思います。 これからも何回かやりそうな予感がするので、拳鍛えておかないと。   こうやって、一般の人たちは空手って板を割るものだと誤解していく・・・。

CSS Framework「YAML」

今まで BluePrint を使っていたけど、気になったのでメモ。 YAML(Yet Another Multicolumn Layout) YAML Builder というのがあって、ブラウザ上でレイアウトを配置して、そのソースコードをゲットできるツールがある。 ライセンスは Creative Common Attribution 2.0 License が元。 日本語訳 。 フリーで使うためにはページにYAMLへのリンクを表示しないと駄目らしい。

【VMWare】vmware-view-open-clientがオープンソースで公開

シンクライアントが気になる年頃。 前の記事 とか その前の記事 とかで話題にあげてますが、VMWareから怪しげなものが公開されてます。 ニュース記事 。 プロジェクトのページ を見ても正直どういうソフトウェアなのかよく分からない・・・。 どこかの誰かが解説してくれるまで待ち。

TCPDFに日本語フォントIPAを追加する

MSゴシックやMS明朝などはライセンスの関係上使えないので、フリーで使えるフォントを探してきて追加します。有名なのはIPAフォント。ダウンロードは ここ から。 Windows上で行う場合は ここのブログ などを参照。 以下Linux上で行う場合のコマンドメモ。環境はCentOS5.2。 TCPDF をダウンロードしてくるとfonts/utilsをまるごとコピー。IPAのフォントファイルipagp.ttfをutilsの下に置く。 # cd /tmp/utils #./ttf2ufm -a -F ipagui.ttf # php makefont.php ipagui.ttf ipagui.ufm できあがったipagui.ctg.z, ipagui.php, ipagui.zをtcpdf/fontsに格納。 詳しくは 公式ページのマニュアル で。 どんなフォントになるかは TCPDF日本語フォント確認ツール で。 TCPDFの日本語標準フォントもあるみたいなので、それで十分かも。下記参照 TCPDFに関するリファレンス・ドキュメント

WPFを使った開発のためのメモ

.NET Framework3.0になって新しく登場したWPF(Windows Presentation Foundation)。概要は Wikipedia で。 もちろんクライアントに.NET Framework3.0をインストールしないと動かない。 だからWindows XP以上が必要。 Webブラウザ上でホストされて実行するWPFアプリケーションをXBAPと呼ぶらしいが、これもクライアントに.NET Framework 3.0が必要。 この影響でWPFのアプリケーションが増えてくるのはWindows 2000の延長サポートが切れる2010年以降になりそうな予感。 Windows 2000のサポート期間 WPFについて勉強する場合は @ITの記事 を参考に。 簡単なサンプルコードは MSDN で。 WPF+ClickOnceの デモ もみつけた。 .NET Framework 2.0 + Visual Studio2005では、DataGridViewを使った表のレイアウトなど悩まされたが、WPFを使えばすんなり思ったようなレイアウトができそう。・・・まだ試してないけど。 来年あたりどこかの開発でやってみよう。

Bloggerのコードをハイライト(Windows Live Writerも)

記事内のプログラムのソースコードが見にくかったので、他の人がやっているようにコードをハイライト表示しようと検索。 コードをハイライトする「Blogger Syntax Highlighter」ウィジェット Bloggerの場合は ここ のページから「add to Blogger」をクリックすればウィジェットとして簡単に導入完了。ちょっとはまったのが、Google Chromeでは失敗する。FirefoxかIEでクリックすること。 Bloggerでない場合は Project Home のwikiを参照。 あとは紹介記事にあるように <pre name="code" class="xml"> (コード) </pre> で綺麗に表示できるはず。指定できる言語の種類(class名)の メモ 。 普段は Windows Live Writer を使っているので、プラグインとして追加する場合は ここ からダウンロード。 実行後、メニューの ブログ→ブログ設定の編集→編集→テーマの更新 で反映されるはず。 詳しくは ここのブログ で。 でも私の場合、プレビューでは表示されるけど編集画面ではうまく表示されない・・・。Windows Live Writerのベータだからか、もしくはウィジェットで追加したからテーマがうまく取得できないのかな。