2013年6月に読んだ本をブクログで振り返る
2013年5月に読んだ本をブクログで振り返る
JITコンパイラについて20分で調べたこと
今日の社内勉強会でJITコンパイラという単語が出てきて、そういえば名前だけ知っててどういうものか知らないなと思ったので、渋谷から横浜までの電車に乗ってる間に調べたことをメモしておく。
kobo Touchで「はじめてのフレームワークとしてのFuelPHP」を読むためにやったこと
kobo Touchを買いました。
達人出版会さんの「はじめてのフレームワークとしてのFuelPHP」を購入して、EPUB形式のファイルをダウンロード後、USB接続したkobo TouchにコピーしてUSB接続を解除。そしたら、「コンテンツを処理しています」の表示が進捗9%のままフリーズしてしまう、という現象が発生しました。
このファイルを削除すると正常に動作します。試しに同じ本のPDF形式のファイルをコピーしたら、これも正常に動作します。そこで、kobo Touchに最初から入っていたファイルと同じ拡張子.kepub.epub(ダウンロードしたファイルは.epub)に変更したところ、正常に動作するようになりました。
理由はよく分かりませんし、この対応方法が正解かどうかもわかりませんが、記録として残しておきます。
Base64のパディングって不要じゃないか?
Base64といえばバイナリデータを64種類の文字で表現するエンコード方式として有名ですが、3バイトずつ4バイトのASCII文字に変換する際、足りない部分をイコール(=)で埋めますよね。
このイコールって不要じゃないか?
って思ったんですね。
だって、単に元のデータのビット列を6ビットずつ変換していくだけなのだから、別に結果が4バイトの倍数になっている必要ってないんじゃないか?と。
そう思って色々調べてたら,Wikipediaに書いてありました。
From a theoretical point of view, the padding character is not needed, since the number of missing bytes can be calculated from the number of Base64 digits. In some implementations the padding character is mandatory, while for others it is not used. One case where padding characters are required is when multiple Base64 encoded files are concatenated.
http://en.wikipedia.org/wiki/Base64
Base64でエンコードしたデータを連結した場合、区切り川からなくなるから、そういった場合だけパディングが必要だってことでしょうか。
エンコードしたデータが1つだけの場合はなくてもいいみたいですね。