Home > 備忘録
備忘録 Archive
iPhoneで青空文庫を読む『i文庫』
- 2009-07-18 (土)
- 備忘録
-
そういえば、先月に携帯をiPhone3GSにしたんですが、便利なことこの上ないですね。メールやtwitterなどはもちろん、新聞が読めたり、GPS&コンパス機能で現在地の地図が瞬時に表示されるなど、もう手放せない感じです。タッチパッドでの操作にも慣れてきましたし、何しろいろいろなアプリケーションをインストールできるので、使い方が日々広がっていく感じです。
そんなわけで、これからたまにiPhone/iPod touch用のアプリケーションの紹介もしていけたらなあと思っています。
今日紹介するのは「i文庫」です。これは素晴らしいアプリ。青空文庫を基本として、独自テキストも読めるテキストビューアなのです。ちなみに、起動画面です。ここからしていかにも文庫ですね(笑)

なにがすごいってまず、青空文庫がすごいです。説明するまでもないですが、青空文庫とは著者の没後50年で著作権が消滅してパブリックドメインとなった小説等を電子化して公開してくれてる電子図書館ですね。そんなわけで、芥川龍之介、太宰治、夏目漱石といった主に明治から昭和初期までの名作が8000作品以上もタダで読めてしまうというわけなんですね。ちなみに、i文庫インストール時に厳選151冊としてデータが格納されています。有料アプリで450円ですが、文庫本1冊程度で8000冊読めると思えば安いもんですよね(笑)
で、i文庫というのは、iPhoneでこの青空文庫の作品データをダウンロードして、読めてしまうというアプリケーションです。iPhoneのタッチパッドで操作するので、まるで紙のページをめくるかのように読むことが可能です。かなり画期的。
夏目漱石の「我輩は猫である」の表紙です。ページをめくるように指を左から右へフリックすると、次のページに切り替えることができるのです。前のページに戻りたいときは右から左へフリックします。これは実に快適。これまで、電子書籍の類は、前後へのページ移動がどうも違和感があって使いにくいと思うことが多かったのですが、これなら紙と同じように読めるなあ。
電子書籍ビューアって意外と大きかったり高かったり、今のところほとんど流行ってない感じですが、スマートフォンでならブレイクするかもしれませんね。ペーパーレスでエコだし、ぜひ各出版社とも力入れて欲しいと思いますね。
クリックジャッキング対策してみました
当サイトにもクリックジャッキング対策を入れてみましたよ。もちろん、こんなサイト攻撃するモノ好きがいるとも思えませんし、メモが目的ですが(笑)
head部に以下のmetaタグを追加しています。
<meta http-equiv="X-FRAME-OPTIONS" content="DENY" />
クリックジャッキング攻撃というのは、透過指定されたiframeなどの要素に標的サイトのコンテンツを読み込み、これを攻撃者サイトの要素よりも上に配置することで、Webブラウザの画面上には攻撃者サイトの要素だけを表示させ、その上でユーザーが行うクリック操作を標的サイトに対して行わせるもの・・・ってことですが、まあ、自分とこに他人のサイトを読み込んで、自分の透明のボタンを置いておくと。そんで他人のサイトを見に来た人がいろいろやってんのを盗み見したり横取りしたりできちゃうってことのようですね。
このクリックジャッキング対策には現状、IE8rc1が対応しているだけ、あとはFirefoxだったらNoScriptアドオンをインストールすると有効ってだけで、世の中の大部分の人には何の効果もない対策なわけですが、まあ、しょうがないですよねえ・・・。
抜本的な対策も難しそうですし、サーバー側でX-FRAME-OPTIONSを送出してくれて、さらにクライアント側でも対応ブラウザを使っていなければ防げないわけで。まだ悪用された事例がそれほどないとはいえ、さすがに恐ろしいですね。
技術メモ - クリックジャッキング対策(PDF) – JPCERT/CC
JavaScriptで数値を3桁カンマ区切りにする関数
JavaScriptで数値(というか数値の文字列)に3桁カンマを付加したり、削除したりする関数です。使おうとするたびに毎回探してるような気がするので備忘録という事で。
// 3桁カンマを付加した文字列を返します
// 例: String(12345).addDelimiter()
String.prototype.addDelimiter = function() {
var val = String(this), tmp;
while (val != (tmp = val.replace(/^([+-]?\d+)(\d\d\d)/, "$1,$2"))) {
val = tmp;
}
return val;
}
// 文字列中の全てのカンマを除去します
// 例: "12,345".removeDelimiter()
String.prototype.removeDelimiter = function() {
return String(this).replace(/,/g, "");
}
カテゴリ内の最新記事一覧を表示させるようにしました
当ブログの個別記事と、カテゴリごとのページのサイドバーに、”Recent Entries in this Category“(カテゴリ内の最新記事)という欄を設けました。同一カテゴリでの記事移動が便利になったんじゃないかな、と思います。表示される記事数は最近の15記事です。トップページや月別アーカイブでは表示されません。
コードとしてはsidebar.phpに以下のような感じで表示させています。一応、備忘録ということで。
<?php
$cat = get_the_category();
$cat = $cat[0];
$cat = $cat->cat_ID;
$posts = get_posts("order=desc&category=$cat&numberposts=15");
?>
<?php if(is_single() || is_category()):?>
<ul class="recentEntries">
<?php foreach($posts as $post):?>
<li>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
Excelで元号や曜日を表示する書式設定のメモ
Excelで元号や曜日を表示する方法をいつも忘れてしまうので表示形式をメモっておくことにします。まあ、また忘れそうですが(笑)
もちろん、ワークシート関数を使って、
=CHOOSE(WEEKDAY(日付),”日”,”月”,”火”,”水”,”木”,”金”,”土”)
のようにしても一応曜日は出せますが、ここではセルの書式設定で分類「ユーザー定義」で使用する場合の表示形式をまとめています。
日付
- yy … 西暦の年を2桁で表示(00~99)
- yyyy … 西暦の年を4桁で表示(1900~9999)
- g … 元号の頭文字1文字を表示(M、T、S、H)
- gg … 年号の頭文字1文字を表示(明、大、昭、平)
- ggg … 元号を表示(明治、大正、昭和、平成)
- e … 和暦の年を表示(ゼロサプライしない)
- ee … 和暦の年を表示(ゼロサプライする)
- m … 月を数値で表示(1~12。ゼロサプライしない)
- mm … 月を数値で表示(01~12。ゼロサプライする)
- mmm … 月を英語の省略形で表示(Jan~Dec)
- mmmm … 月を英語で表示(January~December)
- mmmmm … 月を英語の頭文字で表示(J~D)
- d … 日を数値で表示(1~31。ゼロサプライしない)
- dd … 日を数値で表示(01~31。ゼロサプライする)
- ddd … 曜日を英語の省略形で表示(Sun ~ Sat)
- dddd … 曜日を英語で表示(Sunday ~ Saturday)
- aaa … 曜日を日本語の省略形で表示(日~土)
- aaaa … 曜日を日本語で表示(日曜日~土曜日)
時刻
- H … 時を24時間制で表示(0~23。ゼロサプライしない)
- hh … 時を24時間制で表示(0~23。ゼロサプライする)
- AM/PM … 時を12時間制で表示(”h AM/PM” のように指定)
- m … 分を数値で表示(0~59。ゼロサプライしない)
- mm … 分を数値で表示(00~59。ゼロサプライする)
- s … 秒を数値で表示(0~59。ゼロサプライしない)
- ss … 秒を数値で表示(00~59。ゼロサプライする)
“h” または “hh” の直後、あるいは “ss” の直前に “m” を指定した場合、月ではなく分が表示されます。表示形式だけでは単独で分を出すことはできないのかな。
ホーム > 備忘録
- Search
- Meta
-
