勝手にふるえてろ(綿谷りさ)を一気読み

綿谷りさの久々の新作「勝手にふるえてろ」が出ていたので、週末に買って読んでみた。

前作の「夢を与える」は、かなりの長編だったけど、今回は割りと短めで、相変わらず中毒性のある文章なので、1時間ちょいで一気読み。

勝手にふるえてろは、特別な話を描いているわけではないけど、今を生きている普通の人の中の、ある種の人間の描き方が、とても丁寧で感心してしまう。誰かが死んだり、何か事件が起こったり、ありえないようなことがおきたりせずに、今の日常の一部を正確にとらえていて、その正確さが飛びぬけているから、そこが綿谷りささんの本を読もうと思う理由だと思う、もちろん純粋に面白いからでもあるけど。

小説は、自分にとっては贅沢な楽しみの一つ。気に入っていて、新作が出ると必ず買う作家が数人いて、綿谷りささんもその中の一人。年代が近いし、これからもずっと本を書いていってくれたら嬉しい。

Fatal error: Cannot redeclare 関数名~というエラー

PHPで今まで見たことのないエラーが出てはまったのでメモ。

プログラムを実行したら、以下のようなエラーが出た。Fatal errorのFatal は致命的な~という意味。

Fatal error: Cannot redeclare 関数名 (previously declared in 関数を定義したファイルのパスとライン)

コードをいくら見直しても間違いが見つからないので、エラー表示から検索してみた。このメッセージが出る場合は、何かを重複して呼び出しているため、エラーになっている可能性が高いらしい。

で、英語のメッセージを見ると、Cannot redeclareは再宣言できない、previously declaredは前に宣言された~という意味。

関数関連のエラーというのはわかるので、関数を見直したけど、関数自体には間違いが無い。

重複しているために起こるエラーというので、よく見ると、この関数の定義をループ処理の中でしていたので、試しにループから外して、他の場所にコピペしてあげるとあっさり解決。わかってしまえば、なんてことないエラーだけど解決に1時間かかった・・・。

sqlのクエリメモ

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

最初にNULLを思いついて

~IS NOT NULL

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

~!=”

でやるとあっさり成功。

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

穀物メジャー

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

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

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

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

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

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

ソフトはFFFTPです。

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

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

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

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

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

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