母の日2008

5月11日、そろそろ母の日ですね。
普段、は給料のほとんど自分の為に使っているんですが、年に一度くらいは母に感謝する日ということで毎年贈り物をしています。
私を育ててくれた母に感謝の意を込めて。
ただ、仕事の都合でなかなかプレゼントを選ぶ時間や買う時間ができない。
そんな私は、楽天を利用して送っています。



なんとなく、母に贈り物なんて恥ずかしいって気持ちがあるんで。
これだったら、さりげなくプレゼントできますね。

花とかは毎年送って、今年は少し趣向を変えてみたいって人にはこちらなんてどうでしょうか?

なんとなく、オシャレな感じですよね。
土地を買って、実際に月にいけるかなんて考えてはいけません。
月の土地を買ってプレゼントする。ロマンチックじゃないですか。

SONY デジタルスチルカメラ DSC-W300 有効1360万画素

デジカメって結構普及してると思います。
ただ、カメラ付携帯の登場で少し伸び悩んでいるみたいですけど。
そんなデジカメですが、とうとう有効画素数1000万画素越えのものが発売されます。
私の手持ちのデジカメは2年ほど前に購入した500万画素のものなんですけど、それの倍以上の画素数を持つデジカメ。

その商品はSONYのDSC-W300



手軽に高画質の写真が撮れる時代になってきましたね。
私が初めてデジカメを買ったのが5,6年前で当時では結構上位機種だったんですけど131万画素のデジカメでした。
それから比べるとなんと10倍!!
技術の進歩ってすごいですけど、なんか怖いですね。
技術の進歩に扱う側の人間がついていけているのかが、疑問です。

PHPでのSEO対策 その2

PHPでとある携帯サイトを構築していたときのことです。
携帯ではCookieが使える端末と使えない端末があるので、SESSIONIDを持ちまわればセッションの維持はできます。そして、SESSIONを有効にするにはphp.ini内の【session.use_trans_sid】をONにすればリンクのURLに自動的にSIDを付与してくれます。
ここまでは、先日書いたとおりです。

しかし、これではSEO的には不利です。
検索エンジンのクローラがアクセスするたびにSIDは違いますから、いつまでも違うページとして認識されてしまいます。
ここで、一つPHPスクリプトの先頭に付け加えることで対応できます。

続きを読む

PHPのSEO対策

PHPでWEBサイトを構築したときに一番頭を抱えるのがSEO対策についてです。
システムとして成立しないといけない上に、SEO的に有利なサイトを構築しないと無意味です。
特にショッピングカートシステムなんかは、集客の為にSEO対策が必須なのでかなり頭を悩まされます。

PHPでWEBサイトを構築したらURLにhttp://www.sample.com/sample.php?a=100&b=abcとなってしまうことがありますよね。
これは、SEO的には不利だと言われています。
なので、一般的にはhttp://www.sample.com/100/abc/sample.htmlのURLからrewriteしていることが多いのではないかと思います。

しかし、調べてみると事実は違っていました。

「動的URLも静的URLと同様に扱う」 – Google Matt Cutts氏

まさに、目からうろこと言った状態。
果たしてこの真意がどうなのかは知る術がないので、一概にURLをそのままにするはどうかと思いましたが、とりあえずこういうこともあるのだと頭に置いておくと気休めにはなるのではないかと思います。  

PHPで携帯の絵文字を表示する

PHPで携帯サイトを構築することになったのですが、携帯の小さい画面でPCサイトと同様の文字を
表示するとわずらわしくてしょうがありません。
そこで絵文字を使って表現することにしたのですが、携帯のキャリアごとに絵文字のコードがあるんですよね。
そこで絵文字変換スクリプトを作ってみました。

続きを読む

PHPでWarning:Cannot modiy・・・・・・

PHPで初期のころに悩まされたエラーの話です。

とあるシステムを開発していて「Warning:Cannot modify header information-headers already sent by  ・・・・・」エラーが発生しました。

今となってはエラーを見れば原因はすぐに分かるのですが、(今さらエラーを出すスクリプトを書く時点でおかしい話ですが)ググッてみれば結構検索にはひっかります。

みなさん同じような悩みを抱えているようで。

さて、原因はheader()の前に何かしらの文字を出力してるのが原因です。

例えば、デバッグ中のダンプする処理がそのまま残っていたり、全角のスペースが入力されていたり。

このエラー自体を無視する方法は、

php.iniで[output_buffering = ON]とするか、スクリプトの最初にob_start()を呼び出す。

 

いろいろと悩んで成長していくんですよね。

まさに失敗は成功の母と言ったところでしょうか。

PHPで携帯サイトを構築する

PHPで携帯サイトを構築するにあたって最大の難関はセッション管理ではないかと思います。
調べると結構な情報がいろいろサイトに掲載されていて参考になります。
私も、いろいろなサイトを参考にしたのですがなかなか解決策が見つからず苦労しました。
とあるサイトで見つけた情報によると、php.ini内の[session.use_trans_sid]をONにするという方法を
試してみたのですが、なぜか動作しない。
[session.use_trans_sid]をONにするとリンクにセッションIDを埋め込んでくれるらしいのですが、
次の条件があるらしい。
1.ファイルがPHPであること(拡張子が.php)
2.php.ini内の[session.use_cookies]をOFFにする。
と試してみたけどNG・・・orz

とりあえず、セッションを使うに当たって次のことをやりました。
1.全てのファイルをHTMLではなくPHPに変更。
2.内部ページリンクにセッションIDの埋め込み(リンクURL?sid=SID)

とりあえず上記の方法でセッションが使えるようになりましたが、ここで重大な問題が。
URL全コピーで、別の端末で同じ情報を含んだページが表示できるというセキュリティ上の
問題が発生。

さて、どうしたものか・・・・。

USB機器の充電ってどうしています?

みなさんUSB機器ってもっていますか?
私もipodを持っているのですが、充電に悩まされたことが何度があります。
携帯するには便利なのですが、いざ充電しないといけない場合近くにPCがないとどうにもできないという状況が多々あります。

かと言ってノートPCを一緒に持ち歩くのもいやだし。

そこでこんな商品が発売されました。


画像をクリックすると商品ページにジャンプします。m(__)m

見たまんまと言った商品ですけど、結構便利だと思います。
シンプルな形だから、持っていても邪魔にならない。
カラーも複数色あるから、手持ちのUSB機器のカラーにあわすこともできるし。

あとは、電源コンセントを勝手に拝借できる場所があれば・・・・・

MySQLで処理時間の長いクエリを実行すると・・・

MySQLって軽快な動作で、検索が早いと評判ですがどうしてもレコード数の増加、並び替えの必要な場合など、処理によっては異常に処理時間が長くなることはないですか?
処理時間の長いクエリは、システムとしては欠陥クエリなんですけど、そこは置いておいて。

ORDER BY句で並び替えをした場合のSQL文をExplainで確認してみると、ExtraにUsing filesortという表示が出た場合の話です。
この表示が出た場合、SQLクエリの処理に時間がかかります。レコード数に比例して。
とあるシステムで、検索に失敗することがありました。
開発環境ではレコード数が少ないので異常はなかったのですが。
「Got error 28 from table handler」が表示されます。

続きを読む

PHPのバージョンは最新版がいい

結構前の話なんですが、PHP5.0.4でとあるシステムを構築していました。
開発初期の段階では最新版でした。
仮納品したあと、とある問題が発生しました。
データベースのレコード数が増えてきたため、データをエクスポートするのに失敗している現象が発生。
エクスポートにはCSV形式とExcel形式での出力に対応していたのですが、なぜか2MBちょうどしかダウンロードされないのです。
プログラムの見直し、Apache、PHP、通信経路などさまざまな要因を探りました。
かなり悩んでいましたが、原因は意外なところにありました。
PHPのバージョンです。
そのときには、5.1.6が最新でした。
どうも、5.0.4だと上記のような現象が発生するらしく、バージョンアップすることで解決しました。

定期的なバージョンアップって必要なんですね。