2012年6月28日木曜日

ファーストサーバーのデータ消失事故

が、世間を騒がせています。

「お客様の万一のデータ紛失に備え、1日1回自動でバックアップを実施しています。」

と謳って料金を徴収しておきながらデータ全消失、しかも人災が原因というから救いようがないです。

さらにソフトバンクの株主総会が終わるまで情報統制がかかっていたなど、かなりきな臭いニオイもしています。

というわけで今回の教訓は、

・万が一への備え(バックアップ)は絶対に必要

・ソフトバンクグループ、マスコミは信用出来ない

という感じでしょうか。

何か事故が起こっても、1~2日くらいで別サービスでサーバー立ててサービス再開できる、というくらいの備えを用意したいですね。

2012年6月13日水曜日

Googleウェブマスターツールでクロール頻度が変更できない

ウェブマスターツールでGoogleBotのクロール頻度を設定する項目があるのですが、

このサイトには、特別なクロール速度が設定されています。このクロール速度を変更することはできません。

という表示が出るケースがありました。

ググってみても、これといった情報は出てきません。

そこで表示言語を英語にしたところ、

Your site has been assigned special crawl rate settings. You will not be able to change the crawl rate.

というメッセージになったので、こっちでググってみたところ何件かめぼしい情報がヒット。

http://www.seroundtable.com/google-crawl-cdn-14126.html

「ホストがCDNに乗ってる場合、Googleが勝手にクロール頻度を最適化するので、ユーザー側でクロール頻度をいじれないようになっている」ということのようです。


http://stackoverflow.com/questions/9265790/how-can-i-change-googles-crawl-rate

こちらは「サーバーをEC2(AWS)に変えたらクロール頻度を調整できなくなって困ってる」という投稿。


http://forums.digitalpoint.com/showthread.php?t=1527405

こっちは少し古いですが「みんな同じだよ。気にスンナ」みたいなスレッド。


そんなわけで、Googleが正式にアナウンスしてるわけではありませんが、「サイトがCDNやEC2(AWS)に乗っているサイトはクロール頻度の調整ができない」ということらしいです。

2012年5月30日水曜日

phpの「Notice: Undefined index」を非表示にする

古いphpアプリの環境を移したとたん、「Notice: Undefined index」というNoticeメッセージが出るようになりました。

「error_reporting(E_ERROR)」とかにすれば非表示にできるのですが、全スクリプトにこの記述が必要になります。かなりめんどくさいです。

というわけでphp.iniのほうに「error_reporting = E_ERROR」を書いてhttpdをrestart。

これで解決しました。

2012年4月19日木曜日

phpのstrtotime関数を使って文字列を日付型に整形する

よく忘れるのでメモ。

echo date("Y/m/d",strtotime("20120418"));

こんなのもいけちゃいます。

echo date("Y-m-d",strtotime("Sat, 14 Apr 2012 13:17:36 +0000"));

2012年4月15日日曜日

php.iniのmax_input_varsというパラメータ

php5.3以降で、新たにmax_input_varsというパラメータが追加されていました。
これはgetやpostで受け付けるパラメータ数の上限をあらかじめphp.iniの設定で決めておくというもので、DOS攻撃の対策として追加されたようです。

デフォルト値は1000。

普通1000件ものパラメータを受けるようなWebアプリはないと思います。また今はAjax全盛時代なので、一回のリクエストのパラメータは少なくなってきていると思います。

なんですが、たとえば古いWebアプリとか、条件が重なったりするとこの制限にひっかかることがあると思います。というか自分がひっかかりました。

そういう場合はアプリ側を作りなおすのが最善だと思いますが、一時しのぎとしてこのmax_input_varsの数字を増やしておけば対処できます。

参考
http://d.hatena.ne.jp/gallu/20120111/p1

2012年3月21日水曜日

OracleのTRUNC関数で週初の日曜日を取得

date型のデータを様々な形で切り捨てするTRUNC関数というのを知りました。

http://www.shift-the-oracle.com/sql/functions/trunc-datetime.html

便利です。
今回使ったのはDAYのフォーマットでの切り捨て。日付を渡すと、その日付の所属する週、つまり直前の日曜日の日付が返されます。

こんな感じ。

select TRUNC(TO_DATE('2012-03-08'), 'DAY') from dual
-> 2012/03/04


他にも四半期(Q)とかその月の最初の曜日(W)とか、いくつか引数が用意されているので、覚えておけばいつか役に立つと思います。

2012年3月3日土曜日

evo wimax(ISW11HT)からevo 3D(ISW11HT)に変えた

1ヶ月ほど使ってます。

evo 3Dは、evo wimaxに比べて

電池の持ちが良い

かなり良いです。自分の使い方だとモバイル電源パックもほとんど必要ないくらい容量があります。


フォントがきれい

まともなフォントになりました。
以前のダメフォントと比べると格段に進化しました。


サクサク動く

evo wimaxもサクサク動いてましたが、以前にもましてサクサク動きます。
このサクサク感はiPhoneと比べてもあまり遜色ないと思います。


と、こんな感じで大満足です。

あとはandroid4.0へのアップデートが予告されてるので、楽しみにしてます。