ひまつぶし雑記帖

本棚のバックアップと一括登録

2011/5/18 [17:06:50] (水) 天気

時間なら、いま、売るほどあるので、WEB本棚「趣味は読書2」の積み残した機能をコーディング、実装。

その1。
バックアップは必須。今まで「趣味は読書。」では、csvでバックアップできるようにしていた。今回からはxml出力にした。まだ、(くそ)エクセルなんかでもxmlはオプションっぽいし、XMLは一般的じゃないとは思いつつ。
タイトルなどはともかく、著者の数やメモの数がいくつになるのか決まっていない。csvのように一行でリニアに記述するには無理がある。ほかにテキトーな形式も思いつかず、たぶん、XMLで書いておけば、きっと便利で簡単なコンバーターがあるに違いない、と。
自宅・ウチのパソコンを公開してサービスに提供してた時は、バックアップのことが気になってしかたなかったけど、今度の「趣味は読書2」は https://doncha.net/ で、 lolipop だ。利用者も多いし、WEBの出納係と異名を持つ GMO傘下だ。会社が倒産したり、サーバが飛んでデータが消える、なんて滅多なことはないだろう。それなりに安心してもいいハズ。てことでバックアップは必須とはいえ、優先順位は後回しになっていた機能だ。
その2。
本の一括登録はあったほうが良さそう。今までの「趣味は読書。」でもつけてた機能なので。初めて登録してくれたユーザーさんとか、一冊ずつポチポチやって登録するのは面倒だろうし、てことでつけたんだけど、実際は初めてのユーザーさんだけじゃなくて、既存のユーザーさんでアクセス頻度の低いひとが、まとめて登録するのに使われていた。
ほんとは、一冊ずつ登録して、一冊ずつにメモやカテゴリをつけてあげてほしいんだけどね。

機能追加とか、SQLiteは気楽。ユーザー単位でDBを使う=ユーザーひとりにひとつのファイル、という構成にしたので、なにか意図しないことが起こっても、データベースへの被害は小さい。ユーザー間のリレーション機能を削った分、意図せず、災害に強い構成になった、ような気がする。

ちなみに、現状。
300人いた会員のうち、乗り換えてくれたのが、17人ほど。…って、もともとアクティブなひとたちで、本棚も充実していて楽しい。

 

»電子書籍制作代行についてはこちら

快晴の青空

2011/4/24 [13:24:40] (日) 天気

青空の下、朝から団地の掃除。にしても、毎度のことながら、口うるさく血気盛んなおじいちゃんおばあちゃんたちには、驚くというか呆れるというか。気がついたらいつも罵りあいが始まっている。たとえば同じ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とか大戦略とかソウルハッカーとかウルティマオンラインとか、新聞配達のバイクの音で、「ヤベヤベ、もう寝なきゃ」とやってた頃と同じ。
ゲームがスクリプトに変わっただけ。どちらも目先の達成感があるんだよあな。
さすがに当時の体力はもうないけど。

 

»電子書籍制作代行についてはこちら

サーバー引越し

2011/4/23 [21:29:01] (土) 天気

自宅パソコンでサービス提供というのは、限界があって、結局ユーザーさんに迷惑をかけることになる、という判断。些細なところだけど、こんなところにも震災の影響があるんだなよぁ。

てことで、自宅パソコンでのサーバーは停止。lolipopで、SQLiteを使うものに変更、スクリプトをほぼ一から全部書き直し。やっと完了、っぽい。lolipopのmysqlは激烈に重いんだけど、SQLiteはそれほどでもない。これならどうにか。

自分自身、本を買ったら・借りたら・読んだら、ウチの読書SNSで記録してたので、それが使えなくて困ってたのだ。これでようやく本が読める。

今度のサイトは、ユーザーがひとつずつDBを持つイメージなので、横のつながり、コミュニティ系の機能をバッサリ削除。ただただ、本を登録して眺めるだけ、のサイト。ほかのユーザーの本棚をお気に入りに追加して見ることはできるけど、無理やりのオマケ。

招待制じゃなく、誰でも登録できることになった。うーむ。
https://doncha.net/

ケータイとかバックアップ機能とか、まだ積み残し…って、このあたりはもういいかな。

あ。IEは対応できてないけどね。

 

»電子書籍制作代行についてはこちら

仮移設のためのスクリプト書き

2011/4/9 [17:13:35] (土) 天気

震災ショックというか停電ショックというか。自宅のパソコンでサービス提供する限界を痛感。いろいろ整理しなきゃいけないタイミングでもある。
なもんで、今の読書SNSを見直して、どこにでも持っていける身軽さを目指して、モジュールもDBもよく使われているものに変更しようとごそごそ。

DBはSQLiteに変更。どの程度のボリュームまで扱えるのかちょっと見えないけど、レンタルサーバーでメモリの寒いMySQLよりはマシ、かもしれない。掲示板や日記、本棚の横断検索や足跡、といったリレーショナルな部分を切り落として、個人の本棚だけ扱うことにする。本棚の数だけDBを用意して、各自のDBに対して読み書きするようにすれば、DB単位のロックでマルチタスクに向いていないSQLiteの弱点も目立たない、だろうし。
ということで、久しぶりに、がっつりスクリプトを書いてる、というかサイトを作ってる。

画面レイアウトを作って、リンク先・ページ遷移を考えながら、必要なページ数をざっと洗い出す。
元のロジックを眺めながら、穴が開かないように書き直し。もしくは一から書き起こし。DBの内容、カラムなどは引き継ぐので、やること・できることはわかっている。使いまわしのきくモジュールもいくつかあって、スクリプトを考えるところは面白くて、時間を忘れる。コミュニティ系がほとんどないに等しくなるので、twitter連携するかな、とかネタもあるし。

だけど、ページが面倒。IEを諦めても、FireFox系とwebkit系でスタイルシートの調整が必要になる。1ピクセル程度ズレててもかまわないんだけど、あちこちズレてるとさすがに全体の見栄えが「きちゃない」んでうんざりするので、自分ハードルをあげておかないとけいない。
こちらを1ピクセルずらすと、あちらが崩れて、の積み木崩しにならないようにするのが、ちょおにがて、だ。

仮移設では、コニュニティ系を削った分、「自分のもの」な感じを出したい。汚い部屋にならないようにしないとなあ。

[04/09 21:43:17]
そういや。エア被災者(震災以降、不安で、動悸や眠れなかったりするひと)がいて、診療内科・精神科に通って、それはそれで、大変だなあ、と思うんだけど。一緒にメシ食っていて、タバコをパカパカ吸いながら、福島が怖くて不安で東京にいたくない、とかぬかすのにムカついても良いよなあ。その受動喫煙でこっちにド迷惑かけてる、なんちゃらシーベルトレベルの発ガン率なのはいいんだよなあ、こういうひとって。なんかなあ。

 

»電子書籍制作代行についてはこちら

まだ少し冷える週末

2011/4/3 [20:14:30] (日) 天気

土曜は、地元水元公園に桜の偵察。まだまだだった。今週半ばから週末にかけてやっと咲く感じかなあ。おにぎり食べてワンカップを飲んで撤収。その後秋葉原上野アメ横。アメ横の浜焼き屋?で食ったさざえの壺焼きがやっぱり絶品の神域。ダシ醤油をたらして焼くだけなのにねえ。んで、地元に帰ってイタ飯屋。ワインを飲んで帰ったら即ダウンだった。

今日、日曜は。節電休止中の読書SNSをどうにかできんものか、と。
たぶん、当分節電は続きそうだし、自宅でサーバー運用はちょっと無理。かといって、それ用にレンタルサーバーを借りるとかハウジングとかは、経済的にまったく無理。となると、いま使ってるlolipopでなんとかできないものか、と…思ったんだけど、DBもperlのモジュールもちょっと難しい。というかこいつも無理。

とりあえず、SNS的機能を外して、本棚機能だけでもlolipopで運用できんもんか、と検討。lolipopのmyqlは重いので、やるなら、テキストベースか、SQLite。並べ替えなど考えるとSQL文が使えるSQLite。
SNS的機能がないなら横連携を考えないで、各自ひとつDBファイルを用意して、本棚だけならどうにかなりそうな予感もするので、移行できるようにスクリプトを書き始めた。

にしても、ログインやセッションまわりは、面倒なことに変わりなく。今日いちんちあればどうにかなると思ったんだけど、予想外にかかりそうで、ちょっとメゲる。そうこうするうちに昼過ぎから飲んでるワインがまわってきて考えがまとまらなくなり、ハガレンを流すいつものジダラク週末に。ううううむ。とりあえず、今月中にはlolipopで本棚だけでも稼働させたいなあ。

 

»電子書籍制作代行についてはこちら

lolipopへ避難のメモ

2011/3/22 [21:58:20] (火) 天気

自宅サーバーで使ってるperlのモジュールが lolipop にもあるかどうかが問題だったんだけど。

以下はlolipopでも細工なしに使えた。mysql も sqlite も使えるのでDBIというかmysql sqliteのDBD(?)もインストールされているっぽい。
Encode
Encode::Guess qw/ euc-jp shiftjis 7bit-jis utf8 /
Jcode
LWP::UserAgent
Time::HiRes
Fcntl (':DEFAULT', ':flock')
CGI::Carp qw/ fatalsToBrowser /
Image::Magick
DB_File
DBI
MIME::Base64
Digest::MD5
このへんはメジャーだから大丈夫。

XML/Simple.pm
メジャーなXMLのParser。
確か、1年ぐらい前はlolipopにインストールされていなかったので、ローカルの freebsd 環境でmakeして、できたモジュールをツリー構造ごと lolipop にコピーした、記憶がある。けど、今回改めてみると、インストールされていた。

Digest/SHA/PurePerl.pm
amazonにしろtwitterにしろ認証のための暗号化モジュール。
pureperl(perlだけで作られている)なので、ツリー構造ごとコピーすれば使える。

とりあえず、上記モジュールで、この雑記帖、自作twitterクライアント、自作amazon用モジュールが稼働。この程度の単純なものなら、たぶんほとんどのサーバーで使える、かな。

[03/22 22:32:42]
ビートたけしの記事がtwitterに流れてたので見てみたら、腰が抜けるほどの説得力。腑に落ちる。てことで、こちらにも引用しておこう。

『週刊ポスト「21世紀毒談特別編」より』

常々オイラは考えてるんだけど、こういう大変な時に一番大事なのは「想像力」じゃないかって思う。

今回の震災の死者は1万人、もしかしたら2万人を超えてしまうかもしれない。テレビや新聞でも、見出しになるのは死者と行方不明者の数ばっかりだ。だけど、この震災を「2万人が死んだ一つの事件」と考えると、被害者のことをまったく理解できないんだよ。

じゃあ、8万人以上が死んだ中国の四川大地震と比べたらマシだったのか、そんな風に数字でしか考えられなくなっちまう。それは死者への冒瀆だよ。

人の命は、2万分の1でも8万分の1でもない。そうじゃなくて、そこには「1人が死んだ事件が2万件あった」ってことなんだよ。

本来「悲しみ」っていうのはすごく個人的なものだからね。被災地のインタビューを見たって、みんな最初に口をついて出てくるのは「妻が」「子供が」だろ。

一個人にとっては、他人が何万人も死ぬことよりも、自分の子供や身内が一人死ぬことの方がずっと辛いし、深い傷になる。残酷な言い方をすれば、自分の大事な人が生きていれば、10万人死んでも100万人死んでもいいと思ってしまうのが人間なんだよ。

そう考えれば、震災被害の本当の「重み」がわかると思う。2万通りの死に、それぞれ身を引き裂かれる思いを感じている人たちがいて、その悲しみに今も耐えてるんだから。

だから、日本中が重苦しい雰囲気になってしまうのも仕方がないよな。その地震の揺れの大きさと被害も相まって、日本の多くの人たちが現在進行形で身の危険を感じているわけでね。その悲しみと恐怖の「実感」が全国を覆っているんだからさ。

 

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ところてんx5

2024/4/24 12:58

空行は目視しか確認方法がない…
windowsで半透明にするフリーソフトを見つけたので、各ページの幅で検知する。
全ページの行数を数えてたんじゃ絶対漏らす。そんな集中力はないわ

2024/4/24 12:55

ルビは変換後のepub xhtmlファイルもチェックツール作ったので、それで抽出して確認

2024/4/24 12:54

げ。ルビの変換バグ、空行の見落とし。
流石にマズい。

検索
<<2024/4>>
 123456
78910111213
14151617181920
21222324252627
282930

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版

[9 Page]« »
1 2 3 4 5 6 7 8 9 10

TOTAL:2982

2024 (5)
1 (2)
2 (2)
3 (1)
2023 (53)
1 (1)
2 (5)
3 (1)
4 (1)
5 (3)
6 (9)
7 (9)
8 (6)
9 (5)
10 (3)
11 (2)
12 (8)
2022 (16)
1 (1)
3 (2)
6 (2)
7 (1)
8 (4)
9 (2)
10 (1)
11 (2)
12 (1)
2021 (12)
1 (3)
2 (1)
6 (1)
8 (2)
9 (1)
10 (1)
11 (2)
12 (1)
2020 (18)
1 (2)
2 (6)
4 (1)
6 (1)
7 (2)
8 (2)
12 (4)
2019 (17)
1 (3)
2 (4)
3 (2)
4 (2)
5 (1)
6 (1)
8 (1)
10 (1)
12 (2)
2018 (21)
1 (3)
2 (2)
3 (2)
4 (1)
5 (1)
6 (6)
8 (1)
9 (1)
10 (2)
12 (2)
2017 (32)
1 (2)
2 (1)
4 (2)
5 (1)
6 (6)
7 (3)
8 (5)
9 (3)
10 (2)
11 (2)
12 (5)
2016 (41)
1 (5)
2 (5)
3 (2)
4 (3)
5 (4)
6 (6)
7 (2)
8 (2)
9 (3)
10 (1)
11 (4)
12 (4)
2015 (99)
1 (11)
2 (12)
3 (9)
4 (6)
5 (8)
6 (8)
7 (3)
8 (5)
9 (16)
10 (6)
11 (1)
12 (14)
2014 (112)
1 (16)
2 (5)
3 (6)
4 (12)
5 (16)
6 (19)
7 (9)
8 (6)
9 (4)
10 (8)
11 (6)
12 (5)
2013 (145)
1 (24)
2 (15)
3 (18)
4 (23)
5 (14)
6 (11)
7 (7)
8 (11)
9 (5)
10 (4)
11 (6)
12 (7)
2012 (103)
1 (1)
2 (1)
3 (4)
4 (3)
5 (7)
6 (26)
7 (17)
8 (5)
9 (8)
10 (10)
11 (11)
12 (10)
2011 (54)
1 (4)
3 (7)
4 (4)
5 (14)
6 (6)
7 (3)
8 (3)
9 (1)
10 (4)
11 (2)
12 (6)
2010 (70)
1 (12)
2 (7)
3 (6)
4 (6)
5 (3)
6 (10)
7 (6)
8 (4)
9 (3)
10 (4)
11 (3)
12 (6)
2009 (144)
1 (15)
2 (12)
3 (12)
4 (6)
5 (15)
6 (6)
7 (10)
8 (9)
9 (17)
10 (12)
11 (14)
12 (16)
2008 (148)
1 (10)
2 (6)
3 (10)
4 (11)
5 (13)
6 (10)
7 (13)
8 (19)
9 (18)
10 (12)
11 (13)
12 (13)
2007 (106)
1 (7)
2 (5)
3 (3)
4 (7)
5 (5)
6 (9)
7 (8)
8 (13)
9 (18)
10 (11)
11 (8)
12 (12)
2006 (158)
1 (28)
2 (28)
3 (25)
4 (7)
5 (9)
6 (7)
7 (12)
8 (13)
9 (10)
10 (7)
11 (6)
12 (6)
2005 (350)
1 (31)
2 (26)
3 (26)
4 (27)
5 (29)
6 (30)
7 (32)
8 (30)
9 (30)
10 (32)
11 (29)
12 (28)
2004 (292)
1 (24)
2 (24)
3 (29)
4 (27)
5 (28)
6 (25)
7 (26)
8 (24)
9 (12)
10 (19)
11 (26)
12 (28)
2003 (318)
1 (22)
2 (25)
3 (21)
4 (28)
5 (28)
6 (28)
7 (28)
8 (29)
9 (26)
10 (29)
11 (28)
12 (26)
2002 (317)
1 (29)
2 (26)
3 (26)
4 (25)
5 (28)
6 (30)
7 (27)
8 (21)
9 (25)
10 (27)
11 (28)
12 (25)
2001 (277)
1 (17)
2 (21)
3 (23)
4 (20)
5 (31)
6 (18)
7 (26)
8 (25)
9 (29)
10 (19)
11 (24)
12 (24)
2000 (53)
6 (9)
7 (4)
8 (2)
9 (3)
10 (1)
11 (15)
12 (19)
1999 (3)
7 (1)
10 (2)
1998 (18)
9 (9)
10 (7)
11 (2)