ひまつぶし雑記帖

ひとりツイッター

2016/11/30 [02:03:32] (水) 天気

久しぶりにスクリプトをでっちあげた。
前からちょっと欲かったシロモノ「ひとりツイッター」クライアント、だ。

この雑記帖ほどまとまった量でもなく、やること・やったこと・やらなきゃいけないこと・思いつき・考えたこと・忘れちゃいけないこと、なんかをただただメモするだけ。

だったらメモ帳でいいじゃん…てことだけど、それだとまず続かない、かなぁ。
ツイッターのように時系列で、ひとつずつの塊として記録して流していくのってけっこう面白いものだし、TODOっぽい機能をつけたので役にも立つ。
それに、そもそもスマホやPC、複数のデバイスからアクセスしたいのでメモアプリはちょっと違う。

だったらグーグルカレンダーやアウトルックでいいじゃん…てことだけど、どっちも大袈裟・ご大層。ちゃっちゃと開いてちゃっちゃと書くという感じじゃない。構えなきゃいけないのは続かない。

だったらgmailで自分宛にメールすればいいじゃん…てことだけど、いちいち件名とか入れるのが面倒くさい。だいたい、数時間とか数分ごとに書きこんだりするのに、大量のゴミメールがストックされるとうっとーしーのでメールそのものを見なくなる。

だったらツイッターで鍵アカを作って書けばいいじゃん…てことだけど、わたしはWEBサービスを信用してない。人に見せることを前提にしていないのだ。もし万が一にも書いたことが漏れたら大変だ。個人的なこと、ひとには言えないことなんかもあるかもしれない。


てことで、この「ひとりツイッター」あるいは「王様の耳はロバの耳の穴」とか「ライフログ」的なものとなる。
image 
・何か思いついたら書きこんでチェックイン。
・書いたものが終ったら、片付いたらチェックアウト。
・書いたものは新しもの順に並ぶ。

・TODOとしてチェックしたものはトップの方に表示する。
・チェックアウトしていないものを抽出できる(TODOにする必要はない)
・検索ができる。

というのが最低限の仕様。

エントリの編集機能?
いやいや、ツイッターを見てくれ。投稿するか削除するかの二択で十分だ。
リマインダーのメールを飛ばす?
いやいや、いろいろとしんどい時もある、そんな時にリマインダーなんぞ見たいか?
カテゴリわけする?
いやいや、いちいちそんな整理整頓やってられるか?時系列で並べば十分だろ。超整理法とかって聞いたことないか?

しばらくこんな仕様で使ってみよう。
ボケ防止にもなる、はず。


[2016/12/01 21:33:22]
さっそく昨日から使いだした。思った以上に使い勝手が良い(自画自賛)
というか、スマホ前提にしたのが勝因かな。いつでもどこでもメモ、独り言、譫言だ。

こいつのデータベースはSQLiteなので、実体はファイルひとつ。今はlolipopに置いてるけど、レンタルサーバーを引っ越すことになってもひとつのファイルをコピーしてもっていけばいいだけだ。

下のスクリーンショットからもわかるように、誰の役にも立たない独り言。こーゆーのもいいもんだ。

最上部のテキストエリアに記入したらチェックインこんなくだらないことを書くわけだから「ひとりツイッター」というか「独り言」
日付順に並ぶ。まだチェックアウトしてないものも混じる。チェックアウトしてないものはゴミ箱に捨てられる。テキストエリア左下のチェックアイコンをクリックしてチェックアウトしていないものをリストアップ(リストアップ状態ではチェックアイコンがリロードアイコンとなる)
虫めがねアイコンにチェックいれて、テキストエリアに検索ワードを入力してチェックインすると(ここでは「検索」)検索結果と検索にヒットした件数も表示


こんな独り言アプリはすでにあるらしい。
SNS、ソーシャルとかでひとと繋がりたいばかりじゃない。そういうのがめんどいとかしんどいとかって時はブツブツ独り言でいいんじゃないかな。

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

InDesignが書き出すEPUBのモノルビの後始末

2016/6/30 [10:37:18] (木) 天気

InDesignが吐き出したEPUBファイルを電書協準拠のEPUBファイルにしてね、という話。

電書協準拠というのは、フォルダ構成やファイル命名規則、スタイルシート群のことで、雛形に流しこめばほぼOK。
ただ、小見出しや圏点、縦中横などはInDesignで作成時にあてられたスタイルを確認してコンバートする必要があったり手作業がそれなりに積み上がる。
中でもルビがやっかいだった。

「No.36【CS5.5】EPUB関連 EPUB3.0対応」InDesignの勉強部屋
http://study-room.info/id/studyroom/cs5/study36.html
↑こちらに詳しい。

グループルビはそのまんま。
一文字ずつモノルビをあてた場合もそのまんま。

問題なのが、モノルビを二文字など複数文字にあてた場合だ…ていうか「モノルビ」っていうぐらいなんだから複数の文字に使うのがどうかしてるだろ。

「準拠」にモノルビ(じゆんきよ)の場合、EPUBに書き出すと

グループルビの中、ルビが「じゆん」「全角空白」「きよ」となってしまう。
(EPUBはモノルビの rbタグは使えないので、グループルビの rtタグになる)

ルビに意味不明な空白などありえない。きちんとひと文字ずつのルビにしてやる必要がある。


学術書系や小説なら時代ものなどはこのルビ修正だけで生き地獄。しくしく。
てことで、InDesignの吐き出すEPUBの変なモノルビを、ひと文字ずつの正しいグループルビに変換するサブルーチンを書いた。

ソフトが書き出すものだからツールで変換するのが確実。ひとの手でひとつずつ修正してたら、まず間違いなくどこかでミス・タイポが入りこむ。

ほんとperlがなかったらと思うとぞっとする。

image

この手の細かいスクリプトがあちこちのフォルダに散らばってる。
そのうち整理してまとめなきゃと思いつつ、汎用、使いまわしを考えすぎると、結局使う時に面倒が増えたりして使い勝手の悪いものになるからなあ。悩みどころ。

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

paypalを使って電子書籍のダウンロード販売

2016/5/19 [16:17:41] (木) 天気

電子書籍元年が何度もきたおかげで、電子書籍(デジタルコンテンツ)のダウンロード販売がDRMもついてAmazonや楽天kobo、iBookstore、KADOKAWA☆BOOKWALKERに並べることができる時代となった。

また、電子書籍専門というわけではなく、デジタルコンテンツをダウンロード販売できるサイトも百花繚乱雨後筍で、コンテンツさえ用意できれば個人で簡単に販売ができる。

「デジタルコンテンツをダウンロード販売できるサイトを比較してみた」
http://writing-san.blog.jp/archives/32017213.html

また、ワードプレスにはダウンロード販売のためのプラグインまであって、販売チャンネルの選択肢はたくさんある。

「Easy Digital Downloads - ダウンロード販売サイトを簡単に作れるWordPressプラグイン」
http://netaone.com/wp/easy-digital-downloads/

集客力販売力、販売手数料や手間ひまを考えて自分に合うところにコンテンツを置けばいいし、そうすれば販売ページへのURLや購入ボタンをSNSや自分のサイトに貼りつけて告知できる。


ぶっちゃけ、わざわざ自分でダウンロード販売の仕組みとか作るのは時間と労力の無駄なのでオススメしない。
面白そうだ、という好奇心自己満足。それと、もしかすると、何らかの事情で他社サービスにコンテンツを置くわけにはいかないような場合に。

てことなので、以下はわたしの技術メモ。備忘録。
内容的には2010年の雑記とPayPalとのやり取りなどはほぼ同じ。
「paypalと電子書籍のダウンロード販売(その1)」
http://t2aki.doncha.net/?id=1277017233
「paypalと電子書籍のダウンロード販売(その2)」
http://t2aki.doncha.net/?id=1277130006
今回の雑記では自サバ側のこともメモしておく。


【じぶんちでの設定】
コンテンツをサーバーの所定のフォルダにアップロード。
サーバーのデータベースにコンテンツの商品登録。ここで商品にIDを付ける。
以下3つのスクリプトを用意
・ご購入ありがとうございますページのスクリプト
・IPN受信&データベース登録用のスクリプト
・ダウンロード用スクリプト


【PayPalでの購入ボタン作成・各種設定】
「トップ」→「販売ツール」のメニューにある「売り手の設定」から

→「PayPalボタン」
[今すぐ購入]サンプルボタンあたりを雛形に「ボタンの編集」で商品名や値段などを入れる。ここではオプションの商品ID(=データベースで決められたID)を入れるのを忘れずに。
ボタンを作ったら「コードをコピー」して自分のサイトの購入ボタンを設置したいところにコードをペーストする。

→「ウェブサイトの設定」(ウェブペイメントの設定)
・ウェブペイメントの自動復帰「オン」
・復帰URL:ご購入ありがとうございますページのURLを記入
・支払いデータ転送「オン」※IDトークンをコピーしておく
・暗号化されていないウェブペイメントの受領拒否「オフ」
・PayPalアカウントオプションサービス「オン」
・連絡先電話番号「オフ」
・エクスプレスチェックアウトの設定「いいえ」

→「即時支払い通知」(IPN)
・通知URL:IPNを受信するスクリプトのURL
・メッセージの配布:有効

→「PayPalボタンの言語コード化」
・「詳細オプション」→「UTF-8」


【PayPalとのやりとり】
image 
ユーザーの動きは以下の3つ。
1)ユーザーがオレオレサーバーの購入ボタンをクリックすると
2)PayPalの決済ページに飛んでそこでお支払い
3)お支払いが終わるとオレオレサーバーの購入ありがとうございましたページに戻ってくる。

ユーザーのお支払い終了と同時にPayPalからオレオレサーバーに購入データが飛んでくる。

購入データは以下の2種類。
データを取得して解析するためのサンプルコードがPayPalに用意されていて、そのまんま利用させてもらう。

3)PDT(Payment Data Transfer)

図では赤い矢印がひとつだけど、データのやりとりの実際は。
→PayPalからオレオレサーバーへ
・ユーザーが購入ありがとうございますページにリダイレクトされてくる時に、トランザクションを持ってアクセスしてくる
→オレオレサーバーからPayPalへ
・トランザクションと管理ページの「支払いデータ転送」の項目に記載されているIDトークン、コマンドをPOSTでPayPalにリクエスト
→PayPalからオレオレサーバーへ
・POSTした内容が正しければ一行目に「SUCCESS」と書かれたデータを返してくる

このPDTデータは
SUCCESS
first_nameJane+Doe
lst_name=Smith
payment_status=Completed
など、1行にひとつ「ネーム=バリュー」形式、NVP形式のデータとなっている。

※ユーザーが支払いを終えて待たずにすぐブラウザを落としたりするとデータ取得できない。購入ありがとうございますページにリダイレクトされてやってきて初めてデータのやり取りが生じる。

PDTデータ取得&解析のサブルーチン
※HTMLデコードと文字コードをutf8にしているところ以外はサンプルコードのまんま。


PDTデータのpayer_emailやitem_nameなどを「ご購入ありがとうございます」ページの「~様」や「~をご購入いただきありがとうございました」などの個別の表示に使う。
PDTデータのitem_number(商品ID)でダウンロード商品なのか、別の商品なのかを判定して、ダウンロード商品の場合はダウンロードURLを表示する。ダウンロードURLはユーザーのemailやtransactionidなど一意のものから作成している。


4)IPN(Instant Payment Notification)
ユーザーから見える言わば表側のPDTと違って、こちらは裏側。
ユーザーがお支払いを終えると管理ページで指定したURLにデータが飛んでくるので取りこぼしがない。
PDTはユーザーに見せるご購入ありがとうございますページに使う程度で、オレオレサーバーのデータベースに購入の記録を残すためにはこちら、IPNを使う。

図では赤い矢印がひとつだけど、データのやりとりの実際は。
→PayPalからオレオレサーバーへ
・購入データが送られてくる。いわゆるWEBのフォームデータで「&」で繋がれた「ネーム=バリュー」形式
→オレオレサーバーからPayPalへ
・送られてきた購入データにコマンドをひとつつけてPayPalにPOSTする
→PayPalからオレオレサーバーへ
・「VERIFIED」か「INVALID」か一行返ってくる。これ以外は調べる必要があるらしいが滅多になさそうだし、PayPalの管理画面で確認すれば良い。

IPNデータ取得&解析のサブルーチン
エラーはIPNのデータをつけてメールするように。
VIRIFIED(データが正しい)場合でも以下の4点を確認する。
・支払いのステータス「payment_status」が完了「Completed」であることを確認
・すでに完了した取引の悪用防止のために「txn_id」が過去のものと重複していないことを確認
・不正アカウントに支払いされないように「receiver_email」がPayPalアカウントに登録したメールアドレスであることを確認
・価格が変更されていないか確認(商品IDなども)
確認できたらオレオレサーバーのデータベースに必要情報を登録して、ユーザーにお礼とダウンロードURLを書いたメールを送信する(自分にも同じものを送信)

※データ確認の部分やメールの部分以外はサンプルコードのまんま。



【ダウンロードについて】

ダウンロードはダウンロード用のスクリプトがファイルを返すようにしてある。
たとえば、わたしが自分だけで作ったコンテンツなんかはどうでもいいんだけど、表紙が依頼原稿だったり、アンソロジーでほかの人の原稿が入っていたりするとそうもいかない。回数や期間を無制限にするわけにはいかない。
なので、ファイルの置き場所=URLをそのままユーザーにお知らせできない。

ダウンロード用のスクリプトを噛ませて
・ダウンロードのURLは購入者ごとに違うものを作る
・ダウンロード回数を制御する
・ダウンロード期間を制御する
といったことを仕込んだ。

また、ダウンロードごとにIPやUserAgentを記録すれば、不正なアクセスやダウンロードできない事故などの問題解決にも役立つ。


以前の雑記にも書いたように、PayPalは管理ページに記録が残ってるし取引が生じたらいちいちメールも飛んでくるので、致命的な問題にはならないはず。サポートもびっくりするというか恐縮するぐらいに厚い。

残念なことに(法律的に?)日本では単純にクレジットカードだけで支払いはできなくなった(ペイパルへのアカウント・会員登録が必須となった)けど、個人での少額決済に手軽に使えるので助かるなあ。

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

なろうをタテにしてEPUB3電子書籍でヨム

2016/4/18 [20:15:41] (月) 天気

カクヨムをEPUB3の電子書籍に変換してダウンロードするスクリプトを書いたんだけど、カクヨムはR18禁止なのでR18がOKのなろうに退避するケースもあるとかないとか。
カドカワもTL(ティーンズラブ)小説があったような気がするけど、エロではない、ということかな。

てことで、なろうに上がっている小説をEPUB3に変換してダウンロードするスクリプトをでっち上げた。
ttp://ncode.syosetu.com/XXXXXXX
↑小説トップページ(?)目次ページのURLを入力すると電子書籍としてダウンロードできます。

とはいえ、なんだかなろうは商標についてのページや利用規約やガイドラインなんかを見るとどうもややこしいところのようなので(印象)、ダメっぽかったら取り下げます。悪しからずご了承くださいませ。


http://t2aki.doncha.net/tmp/narou2epub.pl
↑例によって直リンクできないフォルダなのでこちらのリンクからどうぞ。


ちなみに。
なろうを電子書籍化するサービスやアプリはすでにあるので、ニーズにあったものを探して利用してみましょう。ウチのより高機能。

「なろうを電子書籍化」WEBサービス
http://narou.nyanpass.jp/

「Narou.rb」rubyアプリ
https://github.com/whiteleaf7/narou/wiki

「AozoraEpub3」javaアプリ
http://www18.atwiki.jp/hmdev/pages/21.html

image

カクヨムを電子書籍に変換してダウンロードするページはこちら
http://t2aki.doncha.net/?id=1457873699

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

カクヨムをタテにしてEPUB3電子書籍でヨム

2016/3/13 [21:54:59] (日) 天気

時事ネタ。
カクヨムの作品URLを入力したらEPUB3の電子書籍としてダウンロードできるようにしてみた。

カクヨムに上がっているWEB小説をEPUB3ファイルにすることで、KindleやiBooks、Kobo、Knoppy(紀伊国屋)、hontoなどの電子書籍リーダーやアプリで読むことができる。

サイトをクロールしてEPUB3にパッケージするスクリプト程度なら手元の部品の継ぎ接ぎでそれっぽいのができるので作った。
(カクヨムのHTMLの構造が変わったらそれまでだし、たぶんカドカワのことなのでそのうちEPUB3変換のクチも別メニューで出てきそうで、メンテするのも不毛なのでこれっきりの一発ネタだろう)


http://t2aki.doncha.net/tmp/kakuyomu2epub.pl
↑カクヨムを電子書籍にしてダウンロード
※直リンクできないフォルダなので、ご利用の場合はこのリンクからよろしく。


アンドロイドのスマホでダウンロードできないことがあるけど、アンドロイドアプリのFirefox(https://play.google.com/store/apps/details?id=org.mozilla.firefox&hl=ja)ならダウンロードできます。それ以外、PCやMac、iphoneなどは問題なくダウンロードできます。


カクヨムは横書きのサイトなので半角の英数字などは縦書きにしても寝転がったまま…うーん、こりゃしょうがあるまい。
image
(かなりテキトーなでっちあげ)

[2016/03/15 16:15:01] 追記。
連続する半角数字以外に、半角の「!?」「?!」「!!」に縦中横のスタイルを当てるようにした。
[2016/03/19 10:59:01] 追記。
それっぽい奥付生成。
完結したストーリーの本文を取りこぼすバグ修正。



なろうを電子書籍に変換してダウンロードするページはこちら
http://t2aki.doncha.net/?id=1460978141

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

紙印刷本から電子書籍から紙印刷本というエコシステム

2016/2/19 [12:12:20] (金) 天気

InDesignからSigil経由のEPUBファイルをInDesignへ。
何を言ってるかわからないと思う。わたしも最初聞いた時は驚いた。

紙で出版されたものが電子書籍として配信されて、今度はその配信されたものを組み直して再び紙印刷本へというお話。
売れっ子グラビアアイドルが、AVに出演した後、温泉街のストリップに流れる、みたいな変遷。逞しい話で、名作(テキスト)は姿形を変えてもしっかり生き残るという良い例だろう(ほんまか)

おそらく元になってるInDesignデータは出せなくて(権利的な話じゃなく、たぶん探すのが面倒、もしくはもうなくなっているので)電子書籍のEPUB3ファイルを元にするしかない。

ということで、そのEPUB3ファイルをバラしてInDesignに流し込みという雇用創出となった。

まだEUPBファイル制作のソフトが出揃ってなかったんだと思う。
ファイルは、一時使われていた縦書きにもできる改造版Sigilで作られているっぽい(EPUBファイルのフォルダ構成やファイルの命名規則がどっかで見たことあるなあと)

でもまあ、青空記法に独自規則のアレンジとかdotBookからのHTMLっぽいデータよりはEPUBファイルの方が扱いやすい。

・組み直しになるので、元のレイアウトにこだわる必要ない。
・小説なので、EPUBファイルから拾い上げるのはルビと圏点、外字程度。

ルビはグループルビのタグがついているし、圏点はsesame(ゴマ)というクラスが指定されている。外字は画像になってるのでそこは「〓」にしておいて校正で対応。

↓InDesignにはタグ付きテキストというのがあって
http://help.adobe.com/ja_JP/indesign/cs/taggedtext/indesign_cs5_taggedtext.pdf
テキストデータにルビや圏点のタグを付けてInDesignに「配置」すればそのままルビも圏点も生かしてくれる。

以下のスクリプトでEPUB3のルビと圏点のタグをInDesignのタグに変換してやれば大丈夫だった。


文字コードでちょっとハマった。
InDesignで「配置」する時、文字コードはShift_JISかUTF16じゃないと文字化けしてしまう。
元にするEPUB3ファイルの文字コードはutf8(BOM無し)。
EPUB3のUTF8をShift_JISにすると文字化けを起こす可能性があるような気がするので、とりあえずutf8のまま上記スクリプトでタグ変換して、エディタで開いて文字コードをUTF16に変換した後、配置した。

Adobeのタグ付きテキストのPDFを見ると、かなり細かく制御できるので、ちゃんと探せばこの手のコンバート系でいろんな強力なツールが出てるはず。
でも、たぶん、そんな継続する案件でもなさそうなので、テキトーな使い捨てスクリプトでやっつけ仕事。
image 
しかし、ほんとニッチな需要もあったもんだ。
ガッテンしていただけたでしょうか。

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

profile

profile

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

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

検索
<<2017/11>>
   1234
567891011
12131415161718
19202122232425
2627282930

リンク

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

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

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

TOTAL:2835

2017 (27)
1 (2)
2 (1)
4 (2)
5 (1)
6 (6)
7 (3)
8 (5)
9 (3)
10 (2)
11 (2)
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)