快晴の青空
青空の下、朝から団地の掃除。にしても、毎度のことながら、口うるさく血気盛んなおじいちゃんおばあちゃんたちには、驚くというか呆れるというか。気がついたらいつも罵りあいが始まっている。たとえば同じ10年、怒って過ごすより、笑って過ごしたもの勝ちだと思うんだけどねえ。
その後、昨日公開をアナウンスしたWEB本棚サービス「趣味は読書2」の手入れ。データ移動を希望してくれた「趣味は読書。」からのユーザーさんのデータ移動&コンバート作業。…していて気づいた。7000件ほど本の登録のあるユーザーさんの本棚で、著者検索とかメモ検索が、行ったきり返ってこないんじゃないかと思うほど重い。
本のテーブルに、著者テーブルまたはメモテーブルを inner join して distinct してる。
SQLiteのjoinは重いという記事をみた記憶もあるんで、どうしたもんかなぁ、と。
たぶん、SQLでinner join して、データを絞り込んで、かつ、まとめて一度に取得するのが、スクリプト的には美しい、はず。とはいえ、遅いんじゃ話にならない。WEBは早さが絶対正義。とりあえず、inner join をやめて、テーブル一つずつ順番に問い合わせて各々の結果をスクリプトで次の問い合わせに使って、といういかにもアレな、SQLとスクリプトに変更したら、ちょっ速になった。
デザイン的にはIEは残念だけど、ほぼ意図どおり。世間はソーシャルだなんだとオープンなのがいいこと、らしいけど、ipod touchの没入感は「個人のもの」なデザインがあってこそだろう、と、機能的にはまず不要な時計なんかもつけてみた。「自分んち」とか「自分の机」とかのイメージというか。
https://doncha.net/about.pl
ちなみに、スクリプトができたぞ、と思ってから今日まで、35ケのバグを潰した。
jQueryがあまりに便利なもので、フローを深く考えずに作ったところ、いざ使いだしたら、こっちの表示とあっちの表示が違っちゃうじゃん、とか、コンテナの高さが取れてないじゃない、とかポロポロでてきて、結局ページ読み込みしなおしに変更したり。これがバグをさらに埋め込んでしまう負のスパイラル。
んなこんなで夜3時。昔、Wizardryとか大戦略とかソウルハッカーとかウルティマオンラインとか、新聞配達のバイクの音で、「ヤベヤベ、もう寝なきゃ」とやってた頃と同じ。
ゲームがスクリプトに変わっただけ。どちらも目先の達成感があるんだよあな。
さすがに当時の体力はもうないけど。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
サーバー引越し
自宅パソコンでサービス提供というのは、限界があって、結局ユーザーさんに迷惑をかけることになる、という判断。些細なところだけど、こんなところにも震災の影響があるんだなよぁ。
てことで、自宅パソコンでのサーバーは停止。lolipopで、SQLiteを使うものに変更、スクリプトをほぼ一から全部書き直し。やっと完了、っぽい。lolipopのmysqlは激烈に重いんだけど、SQLiteはそれほどでもない。これならどうにか。
自分自身、本を買ったら・借りたら・読んだら、ウチの読書SNSで記録してたので、それが使えなくて困ってたのだ。これでようやく本が読める。
今度のサイトは、ユーザーがひとつずつDBを持つイメージなので、横のつながり、コミュニティ系の機能をバッサリ削除。ただただ、本を登録して眺めるだけ、のサイト。ほかのユーザーの本棚をお気に入りに追加して見ることはできるけど、無理やりのオマケ。
招待制じゃなく、誰でも登録できることになった。うーむ。
https://doncha.net/
ケータイとかバックアップ機能とか、まだ積み残し…って、このあたりはもういいかな。
あ。IEは対応できてないけどね。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
仮移設のためのスクリプト書き
震災ショックというか停電ショックというか。自宅のパソコンでサービス提供する限界を痛感。いろいろ整理しなきゃいけないタイミングでもある。
なもんで、今の読書SNSを見直して、どこにでも持っていける身軽さを目指して、モジュールもDBもよく使われているものに変更しようとごそごそ。
DBはSQLiteに変更。どの程度のボリュームまで扱えるのかちょっと見えないけど、レンタルサーバーでメモリの寒いMySQLよりはマシ、かもしれない。掲示板や日記、本棚の横断検索や足跡、といったリレーショナルな部分を切り落として、個人の本棚だけ扱うことにする。本棚の数だけDBを用意して、各自のDBに対して読み書きするようにすれば、DB単位のロックでマルチタスクに向いていないSQLiteの弱点も目立たない、だろうし。
ということで、久しぶりに、がっつりスクリプトを書いてる、というかサイトを作ってる。
画面レイアウトを作って、リンク先・ページ遷移を考えながら、必要なページ数をざっと洗い出す。
元のロジックを眺めながら、穴が開かないように書き直し。もしくは一から書き起こし。DBの内容、カラムなどは引き継ぐので、やること・できることはわかっている。使いまわしのきくモジュールもいくつかあって、スクリプトを考えるところは面白くて、時間を忘れる。コミュニティ系がほとんどないに等しくなるので、twitter連携するかな、とかネタもあるし。
だけど、ページが面倒。IEを諦めても、FireFox系とwebkit系でスタイルシートの調整が必要になる。1ピクセル程度ズレててもかまわないんだけど、あちこちズレてるとさすがに全体の見栄えが「きちゃない」んでうんざりするので、自分ハードルをあげておかないとけいない。
こちらを1ピクセルずらすと、あちらが崩れて、の積み木崩しにならないようにするのが、ちょおにがて、だ。
仮移設では、コニュニティ系を削った分、「自分のもの」な感じを出したい。汚い部屋にならないようにしないとなあ。
[04/09 21:43:17]
そういや。エア被災者(震災以降、不安で、動悸や眠れなかったりするひと)がいて、診療内科・精神科に通って、それはそれで、大変だなあ、と思うんだけど。一緒にメシ食っていて、タバコをパカパカ吸いながら、福島が怖くて不安で東京にいたくない、とかぬかすのにムカついても良いよなあ。その受動喫煙でこっちにド迷惑かけてる、なんちゃらシーベルトレベルの発ガン率なのはいいんだよなあ、こういうひとって。なんかなあ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
まだ少し冷える週末
土曜は、地元水元公園に桜の偵察。まだまだだった。今週半ばから週末にかけてやっと咲く感じかなあ。おにぎり食べてワンカップを飲んで撤収。その後秋葉原上野アメ横。アメ横の浜焼き屋?で食ったさざえの壺焼きがやっぱり絶品の神域。ダシ醤油をたらして焼くだけなのにねえ。んで、地元に帰ってイタ飯屋。ワインを飲んで帰ったら即ダウンだった。
今日、日曜は。節電休止中の読書SNSをどうにかできんものか、と。
たぶん、当分節電は続きそうだし、自宅でサーバー運用はちょっと無理。かといって、それ用にレンタルサーバーを借りるとかハウジングとかは、経済的にまったく無理。となると、いま使ってるlolipopでなんとかできないものか、と…思ったんだけど、DBもperlのモジュールもちょっと難しい。というかこいつも無理。
とりあえず、SNS的機能を外して、本棚機能だけでもlolipopで運用できんもんか、と検討。lolipopのmyqlは重いので、やるなら、テキストベースか、SQLite。並べ替えなど考えるとSQL文が使えるSQLite。
SNS的機能がないなら横連携を考えないで、各自ひとつDBファイルを用意して、本棚だけならどうにかなりそうな予感もするので、移行できるようにスクリプトを書き始めた。
にしても、ログインやセッションまわりは、面倒なことに変わりなく。今日いちんちあればどうにかなると思ったんだけど、予想外にかかりそうで、ちょっとメゲる。そうこうするうちに昼過ぎから飲んでるワインがまわってきて考えがまとまらなくなり、ハガレンを流すいつものジダラク週末に。ううううむ。とりあえず、今月中にはlolipopで本棚だけでも稼働させたいなあ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」