WEB/システム/IT技術ブログ

Webから得た情報をCSVファイルに出力するシステムを、先日引越しいたしました。
そしたら大問題が発生。なんとCSVファイルのデータで日本語だけが消失してしまったのです。

デバッグしてみたところ、ファイルの読み込みで失敗していました。
関数「fgetcsv()」でデータを読み込み、プログラムで処理した後、再び関数「fputcsv()」で同一ファイルに書き込むということをしていたのですが、読み込みの時点で日本語が欠落していました。

Webで調べてみるとすぐに原因が分かりました。
どうやら「fgetcsv()」はローカル設定に依存しているようです。つまり、今回の私の場合は、引越し前後のサーバ設定が異なっていたために、このような問題が発生したようです。

Zend FrameworkはPHP5上で動作するフレームワークです。
これまで、個人的にはPEARを活用することが主だったのですが、今回ちょっと本格的にGoogleと連携したWebアプリを作成することになったので、フレームワークに手を出してみようということになりました。
Zend FrameworkはさまざまなAPIとの連携を実装しており、Google APIについては「Zend Gdata」、Yahoo! APIには「Zend Service Yahoo」、Amazonには「Zend Service Amazon」が用意されています。

Zend Frameworkは以下のサイトでダウンロードすることができます。ダウンロードにはzendアカウントを作成する必要があります。現時点での最新ヴァージョンは1.9.5です。
Zend Framework – http://framework.zend.com/

インストールは簡単です。ダウンロードしたファイルを展開し、PHP関連のライブラリが置いてある適当なところへ移動させます。
実際に必要となるファイルは展開した内「library」フォルダのみなので、容量などに不安がある、余計なものは上げたくない場合は、それ以外のファイルはアップしないほうがよいでしょう。

Windowsをお使いの方のほとんどは、標準でインストールされているIMEを使っているでしょう。
特に可もなく不可もなく、他に良いソフトがあるとか抜きにして、これが普通と思ってる方々ばかりだと思います。

そんなIMEも、使い込んでいくうちに不具合を起こしたりします。

一つは候補の初期化。
私の場合は「しよう」が変換できなくなりました。「使用」「仕様」と仕事でよく使う言葉なのですが、ある日突然「しよう」と入力しても変換できなくなってしまいました。仕方なく「使」と「用」を別々に入力していましたが。原因は分かりません。日常、何も気にせずキーボードを乱雑にたたいているので、気が付かないうちにショートカットなどで、特定の候補を初期化してしまったんでしょう。

もう一つは、IMEの学習機能。
日頃のユーザの変換の傾向を記憶、整理し、次に変換した場合に、候補を優先的に並べ替えたりする機能のようです。PCを使い古してゆく中で、どうも候補に偏りが目立ったりして、逆に使いづらい思いもしたりします。特に他人が使っていたPCを受け継いだりした日には大変です。これまでに打ったこともない恥ずかしい単語が候補に現れたりなんてことも。。。

メモリが安いようなので、今使っているデスクトップのメモリを増設することにしました。
現在は1GB×2の2GB。これに2GB×2を増設して、目指すは合計6GB。これでかなりのパフォーマンスアップが期待できると思っていました。

しかし、現実はそう甘くはないのですね。
どうも32bit系のOSでは、4GBまでしか認識してくれないようです。私のマシンは32bit版のWindowsXP。特にOSのバージョンを問わずにWindows VistaもWindows7も32bitだと上限は4GBのようです。

PHPで配列の重複情報を消去したい、ユニークなデータを抽出したいという場面に遭遇したので、array_unique()関数を使ってみました。
例えば、以下のように「a」「b」「c」の3種類のデータが入った配列があった場合に、array_unique()を使うと、8つのデータを3つに絞ってくれます。

php.iniの設定で「short_open_tag」という項目があります。
こちらを設定することで、PHPタグを短くすることができます。

通常、PHPの命令を書く場合には以下のように「<?php ~ ?>」でプログラムソースを囲みます。

<?php echo("命令"); ?>

PHPでアンケートフォームやメールフォームを設置する場合に、POSTされたデータの処理を考えます。
作業する度に、毎回考えさせられるような事なので、ここでメモとして残しておきます。

まず、POSTされたデータは、DBに格納する、ファイルに書き出す、メールで送信するなどのアウトプットが考えられるので、それぞれに応じた文字コードに変換してあげる必要があります。例えば、UTF-8に変換したいのであれば以下のように処理します。

mb_convert_encoding($str, "UTF-8", "auto");

コンテンツの縦・横幅をブラウザサイズに合わせたい、または、ポップアップ画面を表示するといった場合に、スクロールバーを消すことがあります。

HTML内のブロック要素に対してスクロールバーを消すにはCSSで以下のようにします。

Flex3プログラミング入門
宮田 亮
秀和システム
売り上げランキング: 233152

Flexを習得するにあたり、参考にしている本を紹介します。

Flexを学ぶにあたり、最初のポイントとなるのはmxmlを理解することだと思います。

AjaxのRIAが「XHTML + CSS + JavaScript」で構成されているのと同じように、Flexは「mxml + CSS + ActionScript」で構成されている。
CSSはそのまんま。ActionScriptについてはいわゆるプログラミング、オブジェクト指向などをかじっていれば、特に大きな壁にはならない。
ここで、Flex全体の感覚をつかむ意味でもmxmlの理解が重要となる。

この本では、mxmlを中心に、簡単なサンプルがまとめられている。内容が少し易しすぎるか、最終的にはいらなくなってしまいそうだが、これからFlexを学ぼうという人にはぴったりだと思う。

人気があるのか、部数が少ないのかは分からないが、Amazonではプレミアが付いているようですね。
私の場合は、地元から少し離れた書店で偶然見つけました。

Monthly Archives