ひまつぶし雑記帖

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万通りの死に、それぞれ身を引き裂かれる思いを感じている人たちがいて、その悲しみに今も耐えてるんだから。

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

 

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

年賀状の季節、住所録をXMLにしてみた

2010/12/31 [10:24:18] (金) 天気

住所録を gmail経由で ipod touchの連絡帳に持って行ったものの。住所が増えたり減ったり、メンテのたびに gmail経由で同期するのがばかばかしい。USB接続でストレージとして使えるなら、適当なディレクトリに適当なファイル名でコピーすればいいのに、それもできない。じゃあ、ってんで、dropboxに放り込んでみたものの、開くのに適当なエディタがない。
そもそも gmailにしろ、dropboxにしろ、webサービスなんて信用できないので、何かの拍子にファイルが漏れてごめんなさい、されると個人情報の塊、住所録なだけに困る。

ipod touchがローカルでapacheを立ち上げてcgiが使えりゃなんの問題もない。…調べてみた。普通の使い方じゃ無理くさい。脱獄Jailbreakしなきゃいけない、らしい。今後のバージョンアップとか修理メンテなんかのことを考えると素直に使いたい、ので、とりあえず脱獄は断念。

しょうがないんで、自宅サーバーのBasic認証ディレクトリでcgiを動かすことに。しょせんBasic認証、今さらセキュリティにもなっていないけど、ローカルIP限定、表からはケータイの識別番号特定、にしたので割としっかり頑丈になった、はず。

手元の住所録はテキストのcsv。これが破綻している。連絡先とか住所って、名前や電話番号、もしかすると住所も不特定の複数になることが多いので、csvファイルひとつで管理するのはかなりビミョーになる。基本コンマ区切りで、データが複数になるカラムはコロンで区切って、なんてことができなくもない。けど、記入する・メンテするのがわかりにくくなって面倒になる。
この歳になって友だちも少なく20行もあれば足りる、DBを使うほどじゃない。
てことで、ちょっと便利に使い過ぎちゃう傾向にあるXMLで記述。確かに分かりやすくて便利なんだよねえ。

一件のデータはこんなフォーマットに。おのおの必要なだけ複数個記述可能だから、重宝する。csvと違って視認性も高い。メンテするときはエディタで開いて追加・編集する。

スクリプトでは名前をよみ順に並べて表示する。名前クリックで該当者データを表示する。だけ。XML::SimpleでハマってData::Dumperのお世話になってけっこう時間くったのは内緒。

ついでに、相変わらず今年も字が汚くて愕然としたのも内緒にしておこう。

みなさま、良いお年を。

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

au のアドレス帳を gmail経由 ipod touchに

2010/12/25 [16:12:59] (土) 天気

たかがアドレス帳を移すだけで面倒なことこの上なかった。ぐーぐるさまで調べると、

au one に登録して、ケータイのアドレス帳を au one の自分のページに同期する。
au one の自分のページからcsvファイルをエクスポートしてローカルに保存する。
gmailの連絡先にインポートするために、csvに gmailが理解できるヘッダをつける。
エクスポートしたcsvを、インポートするcsvのヘッダに合わせて、カラムを並べ替える。
gmailにインポートする。
itunesを立ち上げて、情報→連絡先を同期→google contactsにして同期する。

てな手順。
ハマったのがgmailにインポートするcsvのヘッダ。googleのヘルプをみると、勝手に賢く判断してほとんどのフォーマットが使える、みたいなことが書いてあったんで、最初はアウトルックエクスプレスが出力したcsvのヘッダを使ってみた…ら、各項目が無視されて全部メモ欄に、の無限ループというかハマり道。

gmailが理解してくれたのは以下のヘッダだった。



ヘッダさえわかれば、カラムの並べ替えなんかは、perl にやってもらうだけ。

zaurusSL-C860以来のPDAで、ipod touchも面白いんだけど、zaurusと違っていじれるところが少ない、のは、わたしのスキルが低いせいか。OSにunix使ってるのに、妙に閉鎖的な感じがするんだよなあ。

解説本もあるけど、ぶっちゃけ上記のような手順を知るにはもの足りない。

 

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

電子書籍にDRMは不要じゃないか

2010/10/10 [10:28:34] (日) 天気

ていうか、DRM(デジタル著作権管理)ってどうなんだろ。

自分で買って、自分のものとなった作品をどう使おうが、ユーザーの勝手じゃないか。こっちのパソコンで見ることができるけど、そっちじゃ見られない、とか。パソコンを買い換えたらまたインストールしなきゃいけない、とか。
自分の所有物の管理を他人がするような状況っておかしくないのか。
と、DRMなんてのはいらんだろ、と思う今日この頃、だ。(モノを売るのではなく、権利を売るから当てはまらない、と言われるんだろうけど、「感覚的に」そぐわないよね)
もちろん違法コピーの問題がある。創作者に対価が渡らないと絶滅してしまう。だから著作権を管理しなきゃいけない、てのもよくわかる。

ちょうど良い塩梅の落としどころ、というなんだか、おばあちゃんの知恵、みたいなものはないんだろうか、と思ってたところtwitterで見つけたのが

@hkawa33: オライリー社は、EPUBを含む各種フォーマットで電子書籍をDRMなしで発売。海賊行為が行われた時に立証に使える電子透かし(watermarking)は使うが、正規に購入した利用者の利便は損なわない姿勢は、当然とは言え立派。

↑これ。確かにこれはいいかも。DRMで縛ってユーザーに不便を強いることなく、でも、電子透かしでその本が正当なものか判定できる。

電子透かしではないけど、電書部が文学フリマで売っていた電子書籍。購入者のメールアドレスがページに埋め込まれている。購入した電子書籍をコピーしてばらまいたら、イコール、自分のメールアドレスがばらまかれることになる。メールアドレスを外すことはできるけど、面倒だし、これは面白い仕組みだなあ、と感心したことがあった。

下町飲酒会駄文支部 のダウンロード販売はPDF。PDFに購入したひとのメールアドレスを埋め込めればいいなあ、と検索してみたら、PDF::API2 という便利なモジュールがすでにあった。CPANスゲー、perlスゲー

image 
やりたいことは。PDFの特定のページに文字列を埋め込む。

textlabelのパラメータがよくわからなかったんだけど、試行錯誤
textlabel(x,y,fontobj,font-size,text)
のようだ。

思ったより簡単でびっくり。

[10/11 09:54:20]
lolipopにはPDF::API2がインストールされていなかったので、そっくりそのままFTPでコピ-。いろいろ使い道がありそうだな。

[10/11 11:37:14]
ダウンロード販売PDFに、購入したひとのメールアドレス表記を実装。
サイズ限定、署名箇所限定の現物あわせなので、TeXでPDFを作るときにページやサイズを変更したら、こいつも忘れず修正しないといけない、ということを忘れずにな、おれ。

 

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

paypal と 電子書籍のダウンロード販売(その3)

2010/6/26 [19:48:42] (土) 天気

ということで、知人、というか身内の同人誌ダウンロード販売ページを公開した。DRMフリーの電子書籍というかPDF、300円均一。
下町飲酒会駄文支部 日野祐太郎
この中では、「Vanish」!が完成度も高く抜けた傑作。次のグループが「あかるいほうへ」「アロイのやさしい神さま」。「猫神リスペクト」が佳品で、「赤貧遁走曲」はエピソードの長さがいちいちもったいない。
といったところかな。
ぜひ一度読んでみてください。身びいきをさっ引いても、かなりおもしろい小説群です。

 

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

paypal と 電子書籍のダウンロード販売(その2)

2010/6/21 [23:20:06] (月) 天気

その0.
購入ボタンはこんな感じ

item_number以外は必須。item_numberも、商品IDとして使うので、わたしの場合は必須。ユーザーがPaypalから戻ってきたとき・Paypalから即時通知があったときに、この商品IDでデータベースに照合する。

あらかじめ、Paypalで個人設定を仕込む。(以下とは別に、文字コードを日本語、UTF8に設定しておいた)

その1.
「ウェブペイメントの設定」

→自動復帰 オン
→復帰URL ユーザーが帰ってくるURLを設定
→支払いデータ転送(PDT) オン
→暗号化されていないウェブペイメントの受領拒否 オフ

購入ボタン自動生成で暗号化してないので、最後の設定はオフにしておく。

購入ボタンをクリックしてPaypalにいったユーザーが支払いを完了して「マーチャントに戻る」リンクをクリックしたら、復帰URLにパラメータを持って戻ってくる。それをスクリプトで解析する。以下はほぼほぼPaypalにあるサンプルコード(perl版)まんま。



戻ってきたら、GET でパラメータ=トランザクションIDを取得して、Paypalの管理ページ、個人設定にある、auth tokenと、定型のコマンドとともに、PaypalのサーバーにPOSTでアクセス。
そこで取得できるcontentを改行でばらして一行ずつ、って先頭の行がSUCCESSであればOK。それ以外だと決済が完了していないので、どうなってるのか調べる必要がある。
というのが「PDT」というヤツ。
ところが、これはユーザーが「マーチャントに戻る」というリンクで戻ってくれないと、情報が何も取得できない。もちろん、Paypalの方からメールがくるし、Paypalの管理画面を見れば、取引状況はわかるので、調べてユーザーに返事を出すこともできる。

でも、今回やりたいのはダウンロード販売。
支払いが終わったらすぐにダウンロードページに行きたいよね…といいつつ、Paypalの「マーチャントに戻る」リンクがまるで目立たない。これじゃ、ユーザーはここでブラウザを閉じて終了、だろう。現に戻ってくる率は20%もない、という記事もどこかで見かけた。なので、こちらは、もしユーザーが戻ってきたら、ありがとうございましたとか、確認にしばらくお時間くださいとか、表示を選択するためのモノとして使う程度。

そこで、以下のIPN(支払い即時通知)の出番。

その2.
「即時支払い通知(IPN)」

→通知URLを設定

支払いが生じたらPaypalから、通知URLあてに、パラメータを抱えてアクセスがある。それをスクリプトで解析。以下はサンプルコード(以下同文)



POSTされたパラメータをそのままに、コマンドを付加して、Papalに返すと、パラメータが正しいか間違ってるかだけ教えてくれる。パラメータが正しければ、料金を確認したり、トランザクションIDをチェックしたり。エラーがあったら、ログを吐き出し、正しければデータベースに登録してユーザーにダウンロードURL案内のメールを出す。

わたしはperlが少しわかる程度。それでもサンプルコードどおりに書けばほぼOK。ダウンロード販売ということで、データを受けてデータベースを使って商品を特定したり、ダウンロードURLを作ったり、というところがちょっと面倒だけど、難しいもんじゃない。
最悪、うまくいかないケースが生じても、Paypalからメールが来るし、Paypalの管理ページに行けば履歴を確認したりキャンセル処理ができるので致命的なことにはならない、はず。
それに、ダウンロード販売なので、面倒な在庫管理は不要。

ちなみに、無責任なことに、これを書いてる時点ではまだ本番でのテストはやってないので、あしからずご了承いただきたく。忘れないうちに自分メモ。

原稿があるなら、Paypalを使って、ダウンロード販売ですよ。たぶん、儲けるのは無理だけど、原稿を塩漬けにしてるぐらいなら、ネットに並べておいてもいいんじゃね、と。個人書店があちこちにできて相互にリンクできれば宣伝にもなって面白いんだろうから、お手伝いしますよー。

 

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

profile

profile

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

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

検索
<<2020/8>>
      1
2345678
9101112131415
16171819202122
23242526272829
3031

リンク

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

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

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

TOTAL:2891

2020 (13)
1 (2)
2 (6)
4 (1)
6 (1)
7 (2)
8 (1)
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)