月別アーカイブ: 2010年10月

sqlのクエリメモ

データ型がvarcharのカラムから、データが入ってないものを除いてデータの選択をしたい場合。

最初にNULLを思いついて

~IS NOT NULL

で、やってたんだけど、上手くいかない。

~!=”

でやるとあっさり成功。

NULLが間違いというわけではなくて、最初のデータベースの構造を決めるときに、デフォルト値でNULLを入れるようにしてると~IS NOT NULLでも良さげ(たぶん)。
データベースの構造を見るとデフォルト値はNONEになっていたから、NULLではなく、~!=”、つまり、文字列が無いで判断しないとダメっぽい。NULLと文字列が入ってないのは必ずしもイコールではないみたい、この辺よくわかってないけど。

穀物メジャー

以前買ってざっと拾い読みしてた本を読み返してた。
穀物メジャーって巨大企業のわりには、普段の生活の中で目にすることがないから、この本は面白い。
前半で穀物メジャーの歴史、後半で遺伝子組み換え種子の話や、中国の台頭の話が出てくる。

この分野の本って探してもなかなか見つからないので貴重な本かも。

FTPソフトでファイルやフォルダの削除ができない場合の対応

たまにFTPソフトでファイルやフォルダの削除ができなくて、困ることがありました

キャッシュフォルダなどに指定しておいて、ファイルの数が多くなりすぎると、途中で固まってしまうようです(詳しくはわからない)。

取りあえず解決したんですが、この辺の情報があまりなかったのでここにもメモを残しておきます。

ソフトはFFFTPです。

メニューの接続→ホストの設定→設定変更→高度

以上のように選択して「高度」の設定画面内にて

LISTコマンドでファイル一覧を取得
NLST -R を使って高速に再帰検索

この2箇所のチェックを外すと、今まで削除できなかったファイルやフォルダが削除できるようになりました。

フォルダ自体が開けないときも、右クリックで削除を選択すると時間はかかりますがちゃんと削除できました。

ただこの場合は、ファルダを開いてファイルを取捨選択しての削除はできない。

メニューやナビが簡単に作れることを発見。

最近、プログラム関連の本をチェックしてなかったので、久しぶりに本屋のプログラム書籍コーナーを物色してきたら、いくつかいい発見があった。

PEAR専門の本をちらっと見たところ、以前自分で7時間くらい試行錯誤(現在のページ情報を取得して、条件わけして・・・を全部書いてた)して作ったメニューやパンクズナビの機能が簡単に作れてしまうライブラリを発見。HTMLメニューというもので、メジャーなものらしいんだけど、プログラムは必要なものだけ芋づる式に勉強しているの視界に入ってなかったもよう。まだまだ効率化できる箇所がたくさんありそうな予感。

さっそく家に帰ってインストールして使ってみたら、これは便利。タイトルとURLを構造にそってコピペしてあげると5分で綺麗なナビができてしまう・・・。ぱんくずの場合は、設定を変えるだけでいいので、一つのサイトで一回データを作っておけば、あとは必要な場所に必要な形ですぐに配置できてしまう。

ネット関連の最新情報を追いかけるのはあまり意味があると感じないんだけど、こういう基本的な機能を持つ定番物にはざっと目を通して全体像を把握しておこうと思った。

文中と文の前後の空白処理

テキストの中で空白が変なところに入ったりすることがある。
PHPだと、空白の削除はtrim()を使えばいいとよく書いてあるんだけど、これだと前後の空白しかとれなくて文中の空白は漏れてしまう。
正規表現でやる必要があると思い調べていたら、str_replaceを使えばそのまんまの処理ができるようになってる・・・。

str_replace(“ ”,””, $str);

これだと全角のみで、半角の空白がもれるので

$str = str_replace(” “,””, $str);
$str = str_replace(“ ”,””, $str);

なんかこれを一発でやってくれるものがありそうだけど・・・。
取りあえず関数にして

$message=” あたしは シンゴ です。 ”;
print trim($message).”
“;

function k_replace($str){
$str = str_replace(” “,””, $str);
return str_replace(“ ”,””, $str);
}

print k_replace($message).”
“;

で、結果は

あたしは シンゴ です。
あたしはシンゴです。

こうやって、こまめに関数にするようになって楽になった気はする。