今日から住んでる兵庫も緊急事態宣言。朝保育園の送りで街をチャリでザッと見渡したところ
・夜間しか営業してない、飯が旨すぎるワインバーは完全店閉め。
・美容院はフツーにやってる。
・大好きなパン屋(その1)は入店不可、カウンターでの注文のみ可。
・大好きなパン屋(その2)は通常営業。
・保育園はフツーにやってる。
という感じ。ただし保育園からは「通常保育を行うが、可能な限り家庭保育をお願いしたい。」というメッセージ。夫婦共々、育児休業中のウチはおそらく、可能な限り家庭保育をお願いされている。。ということで、来週から平日週3ほど預け、週2ほど休ませるくらいのペースで行こうと奥さんと考え中。保育園英語大好き友達大好きな娘は、おそらく完全ゼロ通園やとつまらんやろし、何より四六時中2人の子に付き添うとなると我々夫婦の身も持たん・・(と言うと荒れるだろうか。荒れるほど知名度のないしがないサラリーマンでよかった)。会社はどうなってるんやろか、おそらく「在宅率◯%を目標」と言いつつ、全ては各人に任せるという事勿れスタイルで今回も進みそう。
読んだ本リストを管理するためにDjango+html/css/jsでウェブアプリを立ててみたが、もっと統計情報を自由に取りたいため、これまで使ったことのないデータベースに挑戦したい。OracleやPostgreSQLなど、聞いたことはあるがどう便利なものかよく分からない用語が並ぶ。。。そんな中で、あんま階層構造にこだわりなく、追加や削除が容易そうなMongoDBというクロスプラットフォームなデータベースが出てきた。社内で使ってる人を見たことがあったので、あまり深く考えず第1弾として調べ始めてみた。
データの格納はJSON形式で書いてしまえさえすれば、複雑な階層も特に問題なさそう。例えば本の分類や著者の性別や出版年などのメタ情報をひとまず突っ込んでおく。
{ "title" : "ワーカーズ・ダイジェスト", "author" : { "name" : "津村記久子", "country" : "Japan", "age" : "42", "sex" : "female" } "type" : "novel", "score" : 97, "year" : 2011 }
あとは検索でどうとでもできそう。例えば出版年が2012以前の本をJavaScriptから抽出する場合
db.books.find({year:{$lt:2012}})
比較演算子は Operators — MongoDB Manual にある(多分SQL知ってる人なら当たり前なんやろけど俺にはピンとこない文法・・)。
わかってないのはDjangoとの接続やけど多分Pythonならなんでもできるんでしょう!自分が読んだ本のデータベースなんてスモールスモールデータやろけど、興味あることを技術で実現していくのが一番身になりそうやしもうちょっと頑張る。