ひとは間違いを犯すのだ
「絶対」なんてことはありえないんだけど、世の中これだけは「絶対」と副詞をつけても正しいのが「人間は絶対に間違いを犯す」
いや、別に倫理的とか哲学的なとかメタな話じゃなくて、単純なミスの話。だ。
人間のやることだ、ミスは必ず起こる・起こす。
ミスを起こさないための方法を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に辿りついたわけで、競馬に感謝するしかあるまい。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
図書館が静かに熱いのだ
地元下町の図書館を重宝させてもらっている。
蔵書数や詳細は図書館のページを見てもらうのが早い。
https://www.lib.city.katsushika.lg.jp/chuou_guide.html
情報バリアフリーというか、対面朗読室があったり、大きな活字の本(22ptぐらい)が豊富に揃ってたり。かと思えば堀晃やディレーニイ、ディッシュ、ジョナサン・キャロルなんかがさらっと並んでたり。今日あらためてうろうろしてみて妙な感心のしかたを。これは飽きない。
わたしにとってありがたいのが。
・平日は朝9時から夜10時までやっている。
・個人閲覧席という簡単なパーティションで区切られたひとり用のスペースがある
(電気スタンド、コンセント付き)
・グループ研究室という2〜6人で使えるスペースがある
(会議室とは違って中の声が外に聞こえるので大声は禁止)
https://www.lib.city.katsushika.lg.jp/chuou_guide_shisetsu.html
本と本棚に囲まれた空間は、やっぱりちょっと黴くさいようで、ちょっと湿気を帯びてるようで、音が紙にページに吸い込まれてんじゃないかと思う静かさ。
コンセントはあっても個人閲覧席にネット環境はなくて(ビジネスITコーナーは完備)ネット徘徊して時間を取られることもなく作業が捗る。
…といいつつ、管理画面を使わなきゃいけない作業もあるので、その時はmineoのスマホでテザリングするか。
大昔、小学生の頃に「自動車文庫」というのがあって、地元の図書館が月に2回、車に本を積んで児童公園を回っていた。
近くに本屋もなく、また、ウチはビンボだったので小遣いも限られていたので、この「自動車文庫」の日が楽しみだった。
その時に、ジュール・ベルヌや、ホームズ、南洋一郎のルパンを借りまくって読みまくって、今のわたしの基礎工事の出来上がりだ。
行政、役人というとなにかと攻撃の対象になるみたいだけど、図書館には感謝しかないかなあ。
ちなみに。
地元出身ということで、栗本薫さんの生原稿の展示があったり半村良特集があったりも。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
音声合成ソフト
今日時点、5分ほどグーグルで検索してみた音声合成のためのソフト。
ここんとこ、音声つきの電子書籍という話題が増えたような気がしていて、野次馬根性でごそごそと。
HOYAサービス株式会社
VoiceText
https://voicetext.jp
株式会社日立ソリューションズ・クリエイト
ボイスソムリエ ネオ
https://www.hitachi-solutions-business.co.jp/products/package/sound/voice/
株式会社エーアイ
AITalk
https://www.ai-j.jp
この3つの中では、ボイスソムリエネオがEPUB3の読み込みと書き出しに現時点で対応している。VoiceTextやAITalkは音声データをwav出力するけど、SMILファイルまでは作ってくれない(EPUB未対応)っぽい。
(DAISY図書を作成するWEBサービスで将来的にEPUB対応というのがあったけど、会員限定で会員資格がちょっと大変なのでスルー)
2014/11/11の記事
障害者差別解消法と公共図書館――電子図書館サービスへの期待とは
https://ebook.itmedia.co.jp/ebook/articles/1411/11/news085.html
にもあるように、2016年4月に施行されることが決った「障害者差別解消法」https://www8.cao.go.jp/shougai/suishin/sabekai.html を睨んで各社参入しようと力が入ってきたのかな。
音声合成ソフトの用途としては各社の導入事例にあるように、バス停や役所の広報誌など広く使える・使われるもので、電子書籍はこれからどうすんだろう、というところか。
前にも書いたように、EPUB3のmedia overlaysで音の編集校正までした品質のものを提供するのと、ユーザー補助やスクリーンリーダーで「今スグ」読むものとの棲み分けがされていくように見える。
ただ、media overlaysのコンテンツが増えるためには、ストアのリーダー・端末が対応(=商売になる)するのが最低条件だろう。kindle koboに頑張ってもらいたい。ただこれは時間の問題かな。楽観。
ざらっと眺めていてちょっと吃驚した。ボイスソムリエネオにはInDesignのプラグイン版があって、校正に使うことを想定していた。スゲー。
https://www.hitachi-solutions-business.co.jp/products/package/sound/indesign/index.html
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
コミティアで電子書籍(クロヒス諸房さん)
今日はコミティアに参加。
クロヒス諸房のトオノキョウジさんが面白い試み。
本を買ったら「その場で」電子書籍版もプレゼント!
以前、文学フリマがPiOの頃、電書部が電子書籍の対面販売をしていたことがあった。この時は見本を見て購入するには電書部のひとが用意したノートパソコンにメールアドレスを入力。そのメールアドレス宛にEPUB、PDFが送付される、というもの。その電書にはソーシャルDRMとして購入したひとの(わたしの)メールアドレスが埋めこまれていた。
今回のクロヒス諸房さんの電子書籍=EPUB3ファイルは、iOS限定だけどAirDropを使って「その場」で「スグ」に受け渡し。EPUB3ファイルは素の状態でメールアドレスが埋め込んであったり、連番IDが振ってたりということはない。
「こんなの書いてるのは自分だけですから、コピーされても(流出しても)すぐわかりますし(笑)」とキョウジさん。
近いうちにご本人が今日のレポートを上げると思うので、受け取った人数や電書の感触なんかはクロヒス諸房さんの公式サイトを観測してください。
「クロヒス諸房.net」https://crohysshobou.net
twitter @kyozy_tohno
ウチの本棚、というか買った同人誌で物理的に崩壊していて、押入とか机の下とか、え?こんなとこに置いてたっけと、もはや収拾がつかない状況。
電子書籍版があるとすごくありがたい。
今日いただいたトオノキョウジさんの『スティーリー・ワンダー』紙本も同人誌袋の中だった。
それを今日、電子書籍版をいただいて、Himawari ReaderというAndroidの電子書籍リーダーに入れて読みはじめて一気に読んでしまった。
かついだピアノを武器に戦う男の話。
いやもう、ハイテンションライトノベル、なのに、描写細部のいちいちがきちんと等身大。ブッ飛んだことを当然とするのではなく、それを見たキャラがきちんとビックリしたり呆れたりするところが感情移入を誘うんだよなあ。
傑作でありました。
クロヒス諸房トオノキョウジさんの作品はアマゾンで紙本や電子書籍、BOOTHやYahooショッピングでも買えるのでぜひぜひ。
https://crohysshobou.net/?page_id=24
「紙か電子か」なんてことを言ってないで「紙も電子も」です。
ちなみにウチは。
ティアズマガジンのプッシュ&レビューに『夏煉喧騒曲』が取り上げられてたりお誕生日席だったりでそれなりの動きだった、のかな。いつものまったりした(年末のコミケのすぐ後なので)ティアと違ってなぜか人通りの絶えないコミティアでした。
わたしは、昨日ちょっと飲みすぎて(いい歳こいて)朝っぱらからゲロるテイタラクなもんで、午後から合流&参加。な状態だったけど、やっぱ楽しい一日だったなあ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
素人によるSQLパズルゲーム
ここにあるのは素人芸なのできちんと調べるなら
「図でイメージするOracle DatabaseのSQL全集」
https://www.oracle.com/technetwork/jp/articles/otnj-sql-image1-308625-ja.html
をオススメ。
以下は、このORACLEのページを元ネタにして雑記帖のカテゴリをいじくった時のメモ。
(具体的にデータベースの構造を晒すのはセキュリティ的に問題があるような気がするので端折った)
「カテゴリを元に雑記帖の記事をリストアップしたい」
・雑記単位で一意のIDがある
・雑記に紐付くカテゴリがゼロ以上複数個ある
雑記ID | 本文など雑記内容詳細 |
という雑記帖詳細テーブル
カテゴリID | カテゴリ内容詳細 |
というカテゴリ詳細テーブル
このふたつを繋ぐために
雑記ID | カテゴリID |
という雑記とカテゴリを紐付けるテーブルがある。各々のIDから詳細テーブルがわかるので内容を引っ張りだせる。
「電子書籍」というカテゴリがついた雑記を引っ張りだすには、雑記IDで雑記カテゴリを繋ぐ。inner join、内部結合というやつ。
でシンプルにあっさり。
複数のカテゴリから雑記を引っ張りだすのが少し面倒くさい。
その1 和集合
A「電子書籍」か、B「kindle」のどちらかのカテゴリのついた雑記を引っ張りだすには
これでカテゴリに「電子書籍」か「kindle」がついた雑記を引っ張りだせるけど、両方ともついた雑記が2回出てくる。
雑記1 | 電子書籍 |
雑記2 | kindle |
雑記3 | 電子書籍 |
雑記3 | kindle |
雑記3のケース。
IDが重複していると、同じ雑記を表示することになってしまうので、重複IDをひとつにするために distinct を使う。
その2 積集合
A「電子書籍」とB「kindle」、両方のカテゴリがついた雑記を引っ張りだすには intersect を使ってふたつの検索結果であるテーブルの積集合をとることになるらしい。
1行目のselect文で電子書籍IDのついた雑記を引っ張りだし、3行目のselect文でkindleIDのついた雑記を引っ張りだす。
intersect が、ふたつから共通する雑記IDだけを引っ張りだしている。
この引っ張りだした結果を select で括って条件でフィルタしたり順番に並べたりする。
積集合じゃないけど、両方のカテゴリがついた雑記を引っ張りだすもうひとつのやり方。
ひとつの雑記に「電子書籍」「電子書籍」などとカテゴリは重複しない。ということを前提にすると。
というのもありかも知れない。
・カテゴリに「電子書籍」か「kindle」がついた雑記を引っ張りだす
・雑記IDごとにグループ化=集計する
・集計結果が「2」であればカテゴリがふたつともある
最初はこっちで実装してみた。
intersectを使ってtableをふたつ結合するのは処理が重い=遅いんじゃないかと思ったんだけど、計測してみたら全然差がなかった…たかだか(現状)2700程度の数だし。
それなら、カテゴリの重複はない、などと前提条件がつくよりは素直にテーブルを結合させた方が安心安全、かな。
https://t2aki.doncha.net/index.pl?cat=5%2C43
↑カテゴリをコンマで繋いで複数カテゴリのリストアップ。
これは「日野裕太郎」と「doncha.net」の組み合わせ。
日野裕太郎は紙本(商業・同人)があるし、ウチ以外からの電子書籍もあるので細かいコンロールをしたかったんだよなあ。
いろんな場面でカテゴリの組合せが使えるのがスゲーありがたい(自画自賛芸)
perl にしろ SQL にしろ、ネットの情報・紙の解説本が豊富なので、わたしのような素人なら素人なりにレベルに応じて使えるので本当に助かります。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
Kindle KDPでTINはもう不要
昨日twitterで見たんだけど。
現在jpとmxとauとcaとinについては米国の30%源泉徴収を適用していないとのこと
そういえば、以前、KDPの管理ページで販売地域の選択がなかったような記憶。iTunesでは地域選択があって、価格を決めるので、KDPは価格設定が販売地域も決めるのか、と思った。今月、久しぶりに登録してみたら、販売地域の選択があったんでいつからあったっけ、と。
販売地域がjpだけの場合にはTINは不要になるのかも知れない。
元ネタはフォローしている漫画家さん・粟岳高弘(@AwatakeTakahiro)さんの一連のツイート
これが事実として公式に確認できたらビッグニュース(ご当人ももっと話題になってもいいのに、と)
個人がKDPに参入するのに一番のネックになってるのがこの税金処理。
電子書籍を作る環境は出揃っているので、このうっとーしー税金処理さえなくなれば参入する個人作家が増える・コンテンツが増えるのは間違いない。
「Kindleの電子書籍に消費税適用へ 2015年度から Googleの広告にも」
https://www.huffingtonpost.jp/2014/06/25/kindle-consumption-tax_n_5531962.html
あたりが関係してんのかな。
[2015/02/17 08:55:12]追記。
Amazon Kindle公式のヘルプ「米国以外の出版者の源泉徴収税」に
* 米国以外の Kindle ストアで得たロイヤリティについては、Amazon は米国の源泉徴収税の徴収を行いません。
https://kdp.amazon.co.jp/help?topicId=A1CTSIBPDAAJ0M
と明記されていた。
粟岳高弘(@AwatakeTakahiro)さんのツイート通り、日本で売る限りEINやITINを取得する必要はない、ということだな。
もちろん、米国で売れるとその分に関しては30%天引きされるんだろうけど、日本語で書かれた本が米国で大ヒットするとは思えないので面倒な減免の手続きをすることもない。
上記した電子書籍に消費税適用のほか、日米租税条約の改正が去年暮れだか今年あたりに発効とかも影響があったか。
「外務省:日米租税条約改正議定書の署名」
所得に対する租税に関する二重課税の回避及び脱税の防止のための日本国政府とアメリカ合衆国との間の条約を改正する議定書」
文字通り、二重課税防止のための条約ということなので、遵守しろよ、と厳しくなったんかねえ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」