honkit plugin 4連発

WordPress から静的HTMLへの変換方法を調べていて、Honkit がよさそうという結論に至る。
github.com

元々のページが FontAwesome 5 のアイコンを使用している一方、Honkit は Gitbook 当時の FontAwesome 4。
PR も送ったが、少なくとも当面採用される予定はないようで、手を加えたHonkit をローカルインストールしていたがプラグインがうまく読み込まれないなど、いろいろ不都合が発生し、利用手順が複雑になって他のメンバに利用してもらうのが難しい状況に。

結局必要なプラグインを見様見真似で作成して標準の Honkit と組み合わせて使えるようになって一安心。

作成したのは次のもの。npm リポジトリ?に publish するかどうか思案中。。

github.com
github.com
github.com
github.com

読書メータの『読んだ本』をエキスポートする

既読書籍管理に 読んだ本を記録して、新しい本に出会おう - 読書メーター を利用しているが、読んだ本の一覧がエキスポートできない。(インポートはできそう)

ざっと調べると、REST API で取得できそうであったので、Python でエキスポートを試みたところ、うまくいった。
結果は GitHubリポジトリに置く。

github.com

プライベートリポジトリを使う関係でもっぱら Bitbucket が中心だったが、GitHubでもプライベートリポジトリができるようになっている。
Bitbucket には仕事関係1とプライベートが混ざっているので、GitHub と使い分けた方が良いかもしれない。

鴨川食堂 いつもの

家人によれば以前TVドラマにもなっていたとか。

読んでいて日本酒が飲みたくなってきた

  • 石川県 五凛
  • 京都 月の桂 にごり
  • 備前 酒一筋

常温でのおすすめらしい

  • 高知 酔鯨
  • 福島 笹の川
  • 青森 田酒
  • 静岡 磯自慢

鴨川食堂いつもの (小学館文庫)

鴨川食堂いつもの (小学館文庫)

Land of Lisp の Kindle(mobi) ファイルを改善する

Land of Lisp いう面白い本があるわけです。

Land of Lisp: Learn to Program in Lisp, One Game at a Time!

Land of Lisp: Learn to Program in Lisp, One Game at a Time!

翻訳本

Land of Lisp

Land of Lisp

もあるものの、英文に抵抗がなければO'Reilly のサイトから購入すると
PDF, epub, mobi 全てがDRM フリーで購入できるいので、そちらがオススメ。
shop.oreilly.com

ただ、オリジナルmobiファイルのままだと

  • 画像が小さくみずらい
  • 丸数字の大きさがまちまちで体裁が悪い

が気になるため、epub から改めてmobiを作成することにした。
結果はこちらGitHub - dogatana/kindle-Land-of-Lisp: Improve readerbility of Land_of_Lisp.mobi based on Land_of_Lisp.epub

これで読むのが楽になった(気がする)。

バイスとしてのKindleは好きだが、やはりDRMフリーの電子書籍が購入できるのは嬉しい。

パーフェクトRuby 読書録

ローカル変数かメソッドか

紛らわしい例。これは以前とあるコミュティーでも質問が出た件。
アクセッサを利用しているつもりがそうならない例。
以来 @val のように明示的にインスタンス変数として参照しているが、最近呼んだ本では、あまり良くない例とされている。クラス内部のメソッドからでも隠蔽したほうが良いのか?

> irb --simple-prompt
>> class Hoge
>>   attr_accessor :val
>>   def test
>>     val
>>   end
>>   def test=(v)
>>     val = v
>>   end
>> end
=> :test=
>> h = Hoge.new
=> #<Hoge:0x3312060>
>> h.val = 10
=> 10
>> h.val
=> 10
>> h.test
=> 10
>> h.test=(20)
=> 20
>> h.test
=> 10
>> h.test = 30
=> 30
>> h.val
=> 10
>>

Fixnum の object_id は数値そのもの?

試してみる

>> '%x' % 0x1000.object_id      
=> "2001"                       
>> '%x' % 0x10000.object_id     
=> "20001"                      
>> '%x' % 0x100000.object_id    
=> "200001"                     
>> '%x' % 0x1000000.object_id   
=> "2000001"                    
>> '%x' % 0x10000000.object_id  
=> "20000001"                   
>> '%x' % 0x100000000.object_id 
=> "186e94c"

確かにそうなっている模様。0x1000000 の次がFixnumとBignumとの境目。

組み込み変数 __dir__

2.0以降で追加された __dir__ だが、便利かも?

*****@*****-PC C:\usr\sandbox
> type test.rb               
puts $0                      
puts __FILE__                
puts __dir__                 

*****@*****-PC C:\usr\sandbox
> ruby test.rb               
test.rb                      
test.rb                      
C:/usr/sandbox

制御構造

  • begin .. end while は do while の動作
  • for v in x の v は for以降でも参照可能(スコープの変化なし)
  • 大域ジャンプは catch / throw
  • begin / rescue / else / ensure ensure 以外は値を返せる