2012年4月14日土曜日

NULL + 1 > 0 はTRUEかFALSEか

PHPだとTRUE。SQLではUNKNOWNのためTRUEではないのでFALSE。
$ php -r 'echo (null + 1) > 0 ? "TRUE" : "FALSE";'
TRUE

mysql> SELECT IF(NULL + 1 > 0, "TRUE", "FALSE");
+-----------------------------------+
| IF(NULL + 1 > 0, "TRUE", "FALSE") |
+-----------------------------------+
| FALSE                             |
+-----------------------------------+
1 row in set (0.00 sec)
3値論理であることを意識していないSQLを業務でも結構見る。NULLの取扱い方は難しい。
だから僕は、Nullがきらい。
基本的には、NOT NULLにしてnullは排除するように気をつけている。
(例外的に、必須でないけどUNIQUEなカラムは仕方ないのでNULL許すこともあるが)
でも、NOT NULLでNULLを排除していてもNULLは出てくるので困る。そう、外部結合。
NULLを完全に排除なんてできないので、nullについてちゃんと意識してSQLを書こうという今回の教訓。

とりあえず以上。


一応、表題の件を考慮しない失敗例は示しておく。

2012年3月17日土曜日

bloggerのアドレスが変わったのか

今日記事を書いて気づいたのだが、bloggerのアドレスが、suka4.blogspot.comからsuka4.blogspot.jpに変わっていた。ブログが国別の URL にリダイレクトされる理由によると、「地域ごとにコンテンツを管理できるようにするためです。」らしい。

SEOには詳しくないが、「Google は、複数のドメインで Blogspot コンテンツをホスティングすることでもたらされる負の影響を最小化すべく、あらゆる努力を払っています。」らしい。

一応SEOに関係しそうなリダイレクトのコードを見てみたら、302だった。
HTTP/1.1 302 Moved Temporarily
Location: http://suka4.blogspot.jp/
/ncrにアクセスすると、リダイレクトされるのを一時的に無効にできるから、301じゃなくて302なのかな?

ちなみにcanonicalは.comの方。
<link href='http://suka4.blogspot.com/' rel='canonical'/> 

SEOは良く分からないけど、このブログへのアクセスは、googleからの検索がほとんどなので、Googleが努力を払うようだし、アクセスが減ったりはしないのかな?まぁ、自分の備忘録としてのメモ書き程度なので、別にアクセスは減っても構わないし、とりあえず様子を見てみよう。

※追記
ちゃんと読んでなかった。302なのも、canonicalが.comなのも、ユーザ(読者)が現在いる場所でリダイレクトされる国別ドメインが決まるからか。

Saases Osukini Server vps借りてみた

Saasesのクラウド春一番キャンペーンとやらで、初期費用が無料だったので、OsukiniサーバーのプランLTを契約してみた。

2012年2月27日月曜日

Ruby on Railsにrideしてみる

いまさらだけれど、Ruby on Railsを勉強しようと思うので、環境構築のメモ。
とりあえずvmにubuntu-11.10を用意したのでそこに作る。

2012年1月20日金曜日

変なトラフィック増。。

普段は、400~600程度のアクセスなのに今日は突然アクセス増えていてちょっと気になったのでbloggerの管理画面で確認。みるとアメリカからたくさんアクセスされてるんだけど、これなんなんだろ?
上のがbloggerの1日単位の統計の図。3つの遷移元だけで、いつもの平日分くらい。
このURLにはこのblogへのリンクなんかないし、ほんとなんなんだろう。気持ち悪い、気持ち悪い。
気持ち悪いけど、別に実害はないのかな。とりあえずログとしてメモに残しておく。

2012年1月18日水曜日

軽量高速のjQ.Mobiを試してみる

かるい、はやい、ものすご〜いフレームワーク「jQ.Mobi」をさっそく試してみようと思う。

前にjQuryMobileでやった簡単なオークション検索を書き換えて使いやすさとか見てみる。ajaxでapi叩いてリストを表示するだけのシンプルなやつ。なので記事タイトルだとちょっと広過ぎで、内容としては『jQ.Mobiのajax関数を使ってみた』がいいところ。

2011年12月27日火曜日

[jQuery]フォームのselectを複数選択

selectを複数選択可能にするにはmultipleを指定すれば良いのだけれど、複数選ぶにはCtrl押しながら選択しないといけないのでユーザにやさしくない。直感的に選べるようにするには、jquery.multi-select.jsのプラグインが便利そう。デモや使い方は参照先にあり難しくもないので省略。