amazonで遊ぶ
もしかすると体調がおかしいのか。金曜の夜に澤乃井の原酒、シメイ、あたりをへらへら飲んでたら土曜は夕方までトイレにはりついて吐きまくる。だいたい土曜は月イチ恒例の内科で、朝は普通に医者にいって「大丈夫ですね」と聴診器を当てられて帰ってきたのだ。気分が悪くなったのはその後、昼前あたりから。もう薮疑惑。
どうやら気持ちも切れかけの悪寒。うーむ、いや、おもしろくないことばかり。青空所属に帰ることを真剣に考える。
なもんで、ひたすら現実逃避に、日曜はlolipopでamazon ECS4.0のデータをいじるスクリプトをごにょごにょ。規約を読むと、AWSの登録IDはメールアドレスに対してひとつ、てことなんで、lolipopのメールアドレスで新たにひとつ取得。稼働中の読書snsに影響したくないし。
気合入れて調べるとチュートリアルもあって、パラメータもだいたい見当がつけられる。読書snsでは最低限のデータのしか使ってないんで考えることは少ないんだけど、用意されてるものをみると組み合わせが多いんで、ちょっと面倒、かな。
規約によると、価格などのデータは常に最新のものを使う必要がある。キャッシュしても一時間。
lolipopでmysqlにamazonから取得したデータを一時保存して、アクセスがあったらデータ取得時間をまずチェック。一時間以上前のだったらも持ってるデータを破棄して改めてamazonにデータ取得しにいく。
て、たかだかこれだけのことにハマる。mysqlのtimestampがよくわからず…。さんざん検索しても
current_timestamp-取得した時刻(timestamp型)> '1 hours'
てな、postgresqlでさくっとわかりやすい計算方法がでてこない。
このクソ野郎が低能がと、ひととおり罵って、perlのtimelocalで計算させることにした。…なんでやねん。
ついでに、ウチのポンコツサーバーから一時間毎にアクセスするようにしたのでアマゾン一時間ルールは大丈夫。
これで、アマゾンへのリンクをつければ手抜きお手軽アフィリエイトサイトのいっちょあがり。なんだけど、それじゃつまらないんで、リモートショッピングカートをつけてから公開してみよう、と。
扱うブツとしては。手元のデータも活用できるんで、まずはハードボイルド系ミステリを中心に品揃え。自分の好きな本だけが並ぶ、ってだけで俄然おもしろくなってきたから単純な性格だ。
とはいえ、読書snsのリニューアルが止まったんじゃ話にならんので、サイトはあっさりしあげよう。このために改めて画像を作ったりせず、手間はかけない方向で。
一応タグづけはそれなりにやっておいて、サイトができたらgoogleさまに登録ぐらいはやってみる、か。
ちなみに。アフィリエイトサイトで、まともな収入があるところなんて聞いたことがない。アフィリエイトで毎月ン万円、なんて本がにょきにょき出てる時点で、万馬券連発の馬券必勝本と同じですな。
しっかし、ほんと、なんだか、いろいろ調子悪いなあ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
ろりぽ
なんか動かん、と思ってたら、perlのバージョンが、5.008 て…。
use utf8とかEncodeにようやく慣れてきたと思ったのに、もうすっかり忘れてるJcodeとかに戻れるかっての。
でも、ろりぽはMTが動くはずだし、MTってperlは5.6以上だったような気がするけど。よくわからんので問い合わせのメール。
とほほ。今日はもう寝る。
[05/30 12:58:15]
メールに返答。ろりぽレスポンス早いなあ…って、赤っ恥。5.008てのは5.8.0のコトだったらしい。(lolipopのわたしが使っているサーバーのperlのバージョンは5.8.0とのこと)
で、動かなかった原因は、やっぱりバージョン違いで。
ウチのサーバーは5.8.8。utf8の判定に
utf8::is_utf8()
てのを使ってるだけど、
$flag = utf8::is_utf8(STRING)
(Perl 5.8.1から) STRINGが、UTF-8かどうかをテストします。機能的には、Encode::is_utf8() と同じです。
ということでlolipopの5.8.0では
Encode::utf8()
じゃなきゃだめだった、というオチ。とりあえずココを直すだけで、ウチで動かしてるモジュールも普通に使える。
あれこれ試してみるか。
そういや。twitterのサーバーがコケてたり重かったりするせいで、ココの表示が遅くなるんで、外した。…使えねえー。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
めも
以前にも書いたけど、メモっておこう。
エクセルのシートを直接perlで読む。
#!/usr/local/bin/perl
use strict;
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::FmtJapan;
my $oFmtJ = Spreadsheet::ParseExcel::FmtJapan->new(Code =>'utf8');
my $oBook = Spreadsheet::ParseExcel::Workbook->Parse('test.xls', $oFmtJ);
my $ws; my $wc;
for(my $i = 0; $i < $oBook->{SheetCount}; $i++){
$ws = $oBook->{Worksheet}[$i];
print 'Sheet: ' , $ws->{Name} , "¥n";
for(my $r = $ws->{MinRow}; defined $ws->{MaxRow} && $r <= $ws->{MaxRow}; $r++ ){
for(my $c = $ws->{MinCol}; defined $ws->{MinCol} && $c <= $ws->{MaxCol}; $c++ ){
$wc = $ws->{Cells}[$r][$c];
print "( $r,$c ) => ", $wc->Value ,"¥n" if $wc && $wc->Value;
}
}
}
読むならこれだけでOK。いちいちエクセルなんぞを開かなくていいんだよなぁ。まじめに助かるゼ
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
都内はいちだんと冷える週末らしい
なんか意外にさくっとamazonへ問い合わせるモジュールができた、かも。…って、LWPとXML::Simpleを組み合わせれば、この手のモノは簡単にできちゃうなぁ。あとは、たぶん仕様というかパラメータなんかが追加されたり変更されたり、だろうから、それをちゃんとフォローできるかどうか、だけ。
amazonはいろんなデータを公開してるけど、ウチの読書SNSで必要なのは本のデータだけなんで、それも簡単に作れた要因。汎用考えないで済むからねぇ。
ちょっと話題の記事
https://d.hatena.ne.jp/Hamachiya2/20080131/security
ネットで文章読んでいて、感動を覚えた、というと大げさかもだけど、この芸風はいいなぁ。素直に、このひとかっこいい。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
いっぱいいっぱい、だなあ
いろいろ重なって悶絶。正直、息もたえだえのオーバーフローだ。…てなことぼやいてもしょうがない、か。
ウチのブログパーツがささやかに好評のようで、読書SNSへの参加希望のかたがちらほら。で、気がついたんだけど、ブログパーツって、結局ウチのサーバーで、スクリプトが走ってデータベースを動かして表示させる。小さなスクリプトでもアクセスされる回数が多いとそれなりに考えなきゃいけなかった。思いつきでやっつけちゃったもんで、一度のアクセスで無駄にselect文が複数回。ちょっと整理しないと汚い。
perlでDBIを使うと、perlの中で気楽にselectしてしまうんだけど、名前を表示させるだけのためにselectで問い合わせるひまがあったらその前にテーブルをくっつけといて一度ですませろよ、と。
といったコードがどっさりあるのは本当に困ったちゃんだ。気がついたところからでもキレイにしていこう。
しかし。ふと気がついたら、いまだに引き算の繰り下がりがわからないくせに(注1)、いっちょまえにパソコンなんか使ってんだなあ、おれ。
注1。これはほとんど事実。数字が二桁になるとついていけない。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
本を読もう
恩田陸版スタンドバイミー「ネバーランド」はヤバかった。電車のなかで涙腺が決壊するところだったぞ。こんなやついたよなあ、と、こんなやつがいてほしかったなあ、が混ぜこぜになって、キャラの体温まで伝わってくるようだった。
んでもってこいつら4人を包み込む空間の優しいこと。ネバーランドってどういう意味でつけたのか恩田陸の意図はわからないけど、まさに彼らの居場所。
いちいち細かく泣かせやがる。鼻の奥がつんと熱くなる。
人間てのは言葉でモノを考える。5感で得た情報は言葉で意味を与えられるのだ。…いや、小説はええぞ、ということを言いたいだけ。ホント、おもしれーっす。
読書SNS はアマゾンから書籍データを持ってくるのが前提。ところがアマゾンのデータって表記がバラバラでかなりいい加減。中には著者名がなかったり、タイトルじゃなくてシリーズ名が入ってたり。読書SNSでタイトルや著者名を編集できるようにしてほしい、という要望はもらってたんだけど、個々バラバラに書き換えると、それはそれで検索などの時に問題になる。多少目をつぶってでも統一しておいた方がいい、と…。
ここ最近、アマゾンのデータ表記に意味のないカッコ数字がついてきたり、古本扱いだとタイトルに出版社名がはいってたり、さらに表記がめちゃくちゃになってきている。さすがにこんなものを表示させるのはうっとーしーだけなので、表示用のテーブルを追加。perl 側でどう扱うか決めてないけどけっこうあちこちに影響が出そうなので、早く取り掛かりたい…んな時間がとれないんだよなぁ。ゆっくり休みがほしいところだ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」