ひまつぶし雑記帖

読者コミュニティ「趣味は読書2」の登録データ

2015/5/14 [09:50:39] (木) 天気

image
「趣味は読書」というweb本棚サービスを2006/4/1から公開している。

今日時点

登録会員:310名
登録冊数:49,780冊
登録タイトル:38,851タイトル
登録著者:14,264人

【人気タイトル(会員10人以上が登録)】

17空の中
15太陽の塔, 陽気なギャングが地球を回す, 重力ピエロ, 告白, 夜のピクニック
14予知夢, しゃばけ, 死神の精度, 海の底
13西の魔女が死んだ, アヒルと鴨のコインロッカー, 探偵ガリレオ, 夜は短し歩けよ乙女, 博士の愛した数式, 四畳半神話大系, 阪急電車, 華胥の幽夢(ゆめ)—十二国記
12魔性の子, 容疑者Xの献身, オーデュボンの祈り, 終末のフール, 火車, ラッシュライフ
11光の帝国—常野物語, レインツリーの国, クジラの彼, グラスホッパー, 手紙
10鴨川ホルモー, 天使, 夏への扉, 図書館戦争, アルジャーノンに花束を, 少女には向かない職業, 村田エフェンディ滞土録, 夏と花火と私の死体, 氷菓, 六番目の小夜子, ハサミ男, ゴールデンスランバー, 向日葵の咲かない夏



【人気著者ベスト20(登録された本の総数)】

376恩田陸
345東野圭吾
340茅田砂胡
307小野不由美
302栗本薫
299宮部みゆき
229田中芳樹
215伊坂幸太郎
206有川浩
178藤子・F・不二雄
168浦沢直樹
158浅倉久志
157村上春樹
156西尾維新
153秋本治
150CLAMP
150荒川弘
146京極夏彦
144桜庭一樹
142大森望
141スティーヴンキング




「趣味は読書2」
http://doncha.net/about.pl

図書館で本を借りて図書カードを見て
「あれ?あのコもこれ読んだのかぁ」とか「おっあいつこんなの読むんだ」と、ニマニマしたり
ひとんちに呼ばれたら、まず本棚を覗いて
「これ、わたしも読んだよ」と言いたくなったり
図書館とか本屋で、どの棚の前に立っているかで、そのひとの属性がわかって、うれしかったり
なんだか「ありきたり」な趣味なので履歴書にも書けない気がしたり
本を読んでも難しいことを考えたり感想文は面倒くさかったり
ヲタクだと思われそうで嫌だったり

でもって、だけど本好きとか本読みですが、なにか?

というようなことを、思ったことはありませんか? ぼくは、あります。なので、そんな本棚のようなサイトを作ってみました。



『読者のコミュニティ』
↑にも書いたけど。
東日本大震災の時、自宅サーバーで公開していたものを一度閉じて、レンタルサーバーで再開。
2006年公開当時、流行りのmixiもどきで掲示板や日記などつけたんだけど、利用パターンの8割以上が「本棚直行直帰」だったのでリニューアルして現在の形に。

現状は月に20人ぐらいのアクティブユーザーといったところ。
特に告知などしてなくて、ニュースサイトの古い記事や紹介されているブログ、twitter連携などから新規に登録・利用してくれている。


手前味噌。
設計もデザインも古くさくなってダサイのはすみませんだけど。
もともとわたしは「あれ?これ読んだっけ?持ってたっけ?」のトリ頭、重複買いがわりとあったのに、「既読・未読」フラグのあるこのweb本棚のおかげで重複買いはなくなった(ログインして検索、あるいは、twitterにリプを飛して本棚検索結果を返してもらう)


『「趣味は読書2」など読書記録WEBサービス』
2011年時点のWEB本棚サービスのリスト。なくなったサービスがけっこう多いけど。

本を読むひとの数を増やしたい、小説を面白がってくれるひとを増やしたい、たくさん面白い小説を読みたい、というのはどのサービス提供者にも共通することだと思うんで、みんなで盛り上げられればいいなあ、と思うですよ。




面白い小説はまだまだたくさんあるので、残り時間を有効に使わないとなあ、とあらためて初老はしみじみするのでありました。

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

エクセルの表をHTMLのテーブルに

2015/4/20 [13:39:42] (月) 天気

image
IT軽作業用のメモ。文字通り備忘録。
どこもかしこも、基本がエクセルやワード。MSというかオフィスソフトは好かんのだけど、小遣い稼ぎしないといけないので、泣く泣くエクセルも触ることになる。

以下のようなエクセルファイルが回ってきて、それをwebにアップしてくれ、というよくあるリクエスト。
セルを縦方向に繋げるrowspanがあちこちにあって、こんなtableをイチから書き起こすのは間違いの元だし集中力もない。
image
なので、エクセルで「別名で保存」→「Webページ」として、htmlで出力保存する。
(公開されてるデータなのでモザイクの必要もないんだけど、ちょっとだけ)
image
image
でも、出力されたhtmlをそのままアップするわけにはいかない。
サイズや色などスタイルをサイトに合わせる必要がある。

エクセルの吐き出すhtmlは決め打ちだらけ。エクセルの表をそのまま再現することが目的だから当然。
image
image

スクリプトやマクロで、決め打ちされたスタイルを全部剥ぎとって、サイトに合わせたスタイルを適用すればちょっとはラクチン(ていうか、本当に助かる。perl様々である)
image

元のエクセルは表が左右に並んでいたり、表と表の間に区切りの罫線がいくつも入っていたり「見栄え」が整えられていて、まずエクセル上で表以外の余計なものを削除する必要があるんだけどね。

エクセル方眼紙が何かとネタにされるように、エクセルは表計算ソフト。「見栄え」を作るのはやめて欲しい。

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

ひとは間違いを犯すのだ

2015/2/10 [18:14:08] (火)

「絶対」なんてことはありえないんだけど、世の中これだけは「絶対」と副詞をつけても正しいのが「人間は絶対に間違いを犯す」
いや、別に倫理的とか哲学的なとかメタな話じゃなくて、単純なミスの話。だ。

人間のやることだ、ミスは必ず起こる・起こす。
ミスを起こさないための方法を100通り考えるヒマがあったら、ミスが起こった後にフォロー・リカバリする方法を10通り用意する方がよっぽど効率的で健全な判断だろう。
その方法はシステム的なことかも知れないし、担当者を温泉に連れこむような人的力技かも知れない。

わたしは自分の仕事を信用してないのでミスがあることを前提に、仕事の後のチェックやミスの早期発見の方法をまず考える(自分でやるのか、他人にまかせるのかはおいといて)

てことで、やっと今日の雑記の小ネタ本文はここから。無駄な前振りが長いのは年寄りなので勘弁してもらおう。

データベースへの登録作業。
登録したデータはサイトに表示されて…ネタは商品ページにありがちなスペック表みたいなシロモノ。

リンゴのページにはリンゴの表となって表示される。

名前リンゴ
値段300円
産地余市


ミカンのページにはミカンの表となって表示される。

名前ミカン
値段200円
産地愛媛



データベースを直接覗けるならSQL文一発で入力項目のチェックができるんだけど、いかんせん、管理画面でしか使えない。
入力したものを確認するにはリンゴのページを開いて確認し、ミカンのページを開いて確認し、とページの数だけ開いて確認する必要がある。

これはいくらなんでも面倒くさい。ミスを放置しろといわんばかりだ。

なもんで、あちこちのページにあるHTMLの単純なTableを一覧したい。ということで例によってperlの出番。

まとめてこんな表にすれば、いちいちページを開く必要がなく確認がらくちんだ。

名前値段産地
リンゴ300円余市
ミカン200円愛媛



当然perl には HTMLを解析するモジュールが用意されていて
HTML::TreeBuilder
HTML::TagParser
Web::Scraper
ちょっと調べた限りではこの3つが定評もあって使いやすそう。

ただ、今回はTableの項目を引っ張りだしてひとつのTableにするだけ、タテのものをヨコにするだけなので現物合わせ「オレオレscript」で作った。

lwpで各ページのHTMLを取得してその中から必要なtableを探してバラしてhashに収納して一覧表にして表示する。
今日の雑記はここ。tableをバラして収納するところ、ていうかこれだけ。

perlの正規表現のeオプションは強力でいろんな状況で使える。てか、式に使えるんだからなんでもありだよなあ。
hashに入れてしまえば後はどうにでも加工できる。


…にしても、本当にperlはすげー。
私立文系まっしぐらでプログラムなんて全然知らない・経験や訓練もないわたしでもそれなりに使えてしまう。日々の仕事でなんでこんなこと、てな単純な繰り返しや、ちょっとした条件分岐を入れればすむだけ、というような場合にperlはスイス万能ナイフ的に使える。

人間が1000回コピペすると3回ぐらいはミスをするけど、perlでスクリプトにしてしまえば間違いは犯さない。
これから何かひとつプログラム言語でも、というかたにはperlをオススメ。


ぶっちゃけ、perlがあるおかげで仕事でも趣味でもいろいろ本当に助かっている。
競馬の、馬券のデータ集計のために使うようになったAWKからperlに辿りついたわけで、競馬に感謝するしかあるまい。image 

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

Android標準ブラウザでダウンロードできない現象

2014/12/20 [13:32:37] (土) 天気

Android標準(?)のブラウザでPDFやzip、epubファイルのダウンロードができなくて吐血。

PCのブラウザやiphone(iOS)、AndroidでもChrome、Firefoxなどのブラウザだと意図通り問題なくダウンロードできるのに、Android標準(?)のブラウザだとダウンロードできない。というか、なぜか、ページのHTMLをダウンロードしてしまう。

謎な挙動のスマホ標準ブラウザに対応する必要があるのかという、そもそものところはまた別として。
調べてみたら、検索のしかたが悪いのか情報が錯綜していて正解が見えてこない。

スクリプトが吐くヘッダは定型。

このヘッダに続いて、epubファイルが標準出力に吐き出される。ほかのいろんなスクリプトで使っているやりかたで、Androidスマホ以外では問題なく意図通りダウンロードできている。

老眼血眼、しこたま検索しまくって、こちらのサイト
「コンピュータの日々 Android付属ブラウザのファイルダウンロードの動作」

AndroidのブラウザがPOSTメソッドでサーバにリクエストして、サーバからContent-Disposition:attachmentなヘッダを受け取ると、再びGETメソッドで同じURLにリクエストを送信するとのことです。


へ? と思ってアクセスログを見るとAndroidスマホのブラウザ(docomoのスマホ L-05E 、mobile safari)は、確かにPOSTでアクセスしてきた後、なぜかGETでアクセスしている。

ページのHTMLを取得してるので、最初はブラウザのキャッシュを疑ったんだけど、どうやら真相はこいつ。attachmentで渡してるはずのepubファイルではなくて、次のGETでページのHTMLをダウンロードしているご様子だ。

なんでやねん。


以上は、とりあえずのメモ。
これじゃ、スクリプトで吐き出させたんじゃダウンロードしてくれない、ということになる。
ダウンロードしてもらう方法としては、一度サーバーにファイルを書き出して、静的リンクをクリックしてもらうしかない…うーん、ほんまかいな。

スクリプトで直接ダウンロードする方法をもうちょっと調べてみる。たぶん、わたしのスキル不足だと思う(詠み人知らず)
image 

[12/20 21:30:21] 追記。
現状、スマホ標準のブラウザは .epub ファイルにリンクしても、ブラウザが  epub ファイルを開いて表示しやがる。
バイナリを文字化けした文字にしてブラウザにダアアアアッと表示する。なんじゃそりゃ状態。

なもんで、.htaccess で(httpd.confでもいいけど) MIME TYPE を指示(指定)してやる必要がある(epubという拡張子のファイルにアクセスされたらどうするのかの設定)
addType application/octet-stream .epub

…て、epub自体が最近なので、Android標準ブラウザに適切な対応を求めるのは可哀想、というか無理かもしれん。もう意味不明なブラウザを使うのではなくて、Firefoxなり、PCでも使われるブラウザとその挙動を標準にすべきだろう。


[2016/01/03 10:47:38] 追記。
どうやら現状のAndroidの「ダウンロード」(ダウンローダー)はSSLのページや認証が必要なページからはダウンロードできない困った仕様っぽい。

・ブラウザで閲覧→PDFやzipをタップ→ダウンローダーが起動してzipやPDFをダウンロード
という流れだとダウンロードできない。

・ブラウザで閲覧→PDFやzipをタップ→ブラウザがPDFやzipをダウンロード
だとダウンロードができる。Firefoxなどだとダウンロードができる、ということ。


スマホって、なんでまた「ダウンローダー」なんてのを噛ませることになったんだろう。

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

epub制作に必須のArchive Zipのメモ

2014/10/20 [10:03:27] (月) 天気

電子書籍作成ページの依頼があって久しぶりにスクリプトを眺めてみた。
(電子書籍の制作ではなくて、電子書籍を作成するページの作成)

エラーのないepubを作るのは手順の塊…というか手順だけなので面倒くさいんだけど難しいスクリプトでもない。
ユーザーの入力をどこまで自由にするのか、ページ移動はどうするのか、エラー処理は、ブラウザ対応は、などなどepub作成以外の部分で考えなきゃいけないことがいろいろあるのはwebだからしかたがないところ。

Archive::Zipのメモ1

てなことを考えながら見てたら、epubをパッケージするzipのモジュール、Archive::Zipでエラー。

他のスクリプトでは問題なく使えているモジュールで原因がわからないし、該当箇所を見てもよくわからない。

zipにファイルを追加していくところでエラーになってしまう。いろいろ試行錯誤。

結果。追加するファイルが見当たらない、pathが違ってたというだけのことだった。コンセントが抜けてますよレベルの話だった。
…でもなあ、このエラーメッセージじゃわからん。とほほ。


Archive::Zipのメモ2

前々からArchive::Zipで圧縮したらそれをファイルの書き出すのではなくて、標準出力にそのまま吐き出せればいいのにと思っていて、ついでなので調べてみたら、当たり前のように用意されていた。おのれの不勉強に愕然。そりゃそうだよなあ。

writeToFileHandleのファイルハンドルに標準出力を指定してやればOKだった。

これで正常なzipファイルを出力することができた。


久しぶりにこの手のことでグーグル様詣で。以前Archive::Zip について調べた時には見かけなかったepubがらみのQ&Aなんかが検索でひっかかってきてちょっとびっくり。

電子書籍を作る側は充実してきてるんだなあ、と変なところで実感した。

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

改行混じりのcsvをperlで処理する

2014/6/24 [14:00:22] (火) 天気

ASPのデータベースからエクスポートされたcsvの集計作業ということで眺めてたら、セル内で改行がある・セル内にコンマがある、という腐ったデータでムカついた(「csvにエクスポート」するんだからコンマや改行の扱いをちょっと考えてくれりゃいいものを)

あちこちの管理画面でエクスポートというとcsv形式になってることが多い。
それをエクセルに読み込んで…
・行や項目の多いシートになると横スクロールに縦スクロールで大騒ぎ。
・改行が混じってるとその行だけセルが異様に広がっていて目障り。
・csvの値は属性を持ってないのでエクセルが勝手に判断してただの数値を日付表示にしたり意味不明の表示になっていることなどざらにあってイライラさせられる。

こういうデータをエクセル上で手作業すると簡単に間違う。わたしは。

なもんで、perlで読み込んで一括処理・集計した方が早いし確実。その場限りの使い捨てのスクリプトを書いて対応している…ところが、perlやAWK、sedなどは行単位での処理が基本。改行の混じったcsv、まさに今回のようなcsvデータは扱いが面倒くさい。

ということで今日もまた 「Perlメモ」 のお世話になりました。

perlでセルに改行やコンマが入っているcsvデータを処理する。

(出典:http://www.din.or.jp/~ohzaki/perl.htm
このまま利用させていただきました(ありがとうございます)

今さら知ったこと気づいたこと。
正規表現のパターンマッチは、リストコンテキストで評価すると()でくくった正規表現でひっかかった部分文字列のリストを返す。

今までこんなケースでは修飾子「g 」は使えないもんだとばかり思っていて 1 while(s/(.+)/$1/) など1つずつパターンマッチさせて処理していた。

scalar関数。リストの要素を数えるぐらいしか使ってなかったんだけど、今回このスクリプトでの使い方がまるでわからず調べてみたところ
http://perldoc.jp/func/scalar

scalar は単項演算子なので、EXPR として括弧でくくったリストを使った場合、 これはスカラカンマ表現として振舞い、最後以外の全ては無効コンテキストとして 扱われ、最後の要素をスカラコンテキストとして扱った結果が返されます。


ここでは「””」を「”」にするために使っている。
mapの条件式で部分文字列が「”」で括られていたら、scalar関数に文字列を渡して
「部分文字列をscalar関数のデフォルトに入れて、「””」を「”」に置換して、デフォルトの$_を返す」
左から順番に評価していって、コンマで繋いで各々の結果を切り捨てて、最後に残った式の結果を返すためだけにscalar関数を使っている。トリッキーで面白いなあ。これはループの中で使い途がある。

勉強になりました。


「perlパズル」
↑以前書いた、コンマの使い方のメモ

 

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

profile

profile

 
doncha.net
名前:
飯田哲章
mail:
t2aki@mrh.biglobe.ne.jp
twitter:
t2akii

WEBサービス制作/電子書籍制作

検索
<<2019/11>>
     12
3456789
10111213141516
17181920212223
24252627282930

リンク

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

iPhone電子書籍アプリ
小説同人誌Select iPhone電子書籍アプリ
『小説同人誌Select』

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

TOTAL:2876

2019 (15)
1 (3)
2 (4)
3 (2)
4 (2)
5 (1)
6 (1)
8 (1)
10 (1)
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)