tkawachi Blog

s3:ListBucketVersions

IAM でアクセス権限を管理するのは面倒だ。 まず権限の種類が覚えきれない。

s3:ListBucket を許可していたのに、 Ruby の AWS SDK で AWS::S3::Bucket#empty? にて例外が発生した。

型境界

Type parameter の境界指定方法。

  • upper bound (A <: U): A は U またはその子クラス
  • lower bound (A >: L): A は L またはその親クラス

両方指定する(A >: L <: U)ことも可能。

Loan Pattern

最近仕事で scala を書いてまして、 Java 延長線上として使う分には全く問題ないのだが、 scala ぽいこととなるとかなり怪しい。 なので初歩から少しずつ勉強して、その様子を晒しておくことにする。

今日は loan pattern。 リソース解放を忘れずに行うためのパターン。 C++ では RAII, golang では defer を使う場面で使うやつ。

RailsでTypeScript、再び

Google で typescript rails と検索すると去年12月に書いた「Rails で TypeScript を動かそうとして失敗した記録」というエントリが2番目に出てくる日々が続いている。 「TypeScriptをRailsで使いたい」と思った人たちは、検索結果を見て、ああ動かないのかと思うのだろう。

あれから状況は少しだけ改善した。 typescript-rails gem で /// <reference> が一部使えるようになった。 というか使えるようにする patch を出した。

この patch により、node コマンドをインストールしてあることが前提になったので注意されたし。

サンプルを作ろうと思い test.js.ts.erb を書いてみた。 .js.ts ファイルや .d.ts ファイルを参照できるようになっていることがわかると思う。 サンプル内でやっているように jquery.d.ts を参照して、 jQuery も使えるようになった。

一方で以下の問題が残っている。 TypeScript compiler に渡る際に違うディレクトリにコピーされるため、参照先を絶対パスで指定している。そのため .erb suffix を付ける必要がある。 また参照先の拡張子が .js.ts, .d.ts ならば大丈夫だが .js.ts.erb の場合、compiler が参照してくれない。

これらの問題を解消しないとちょっと本格利用はできないかなあ。 また時間がとれたらなんとかしたい。

情熱の持ち方・燃やし方?

情熱が燃えていない。 結婚して子どもができ幸せであるが、今ひとつのめり込めるものがない。 好きなものはある。プログラミングが好きだ。 しかし覚えたての学生時代ほど燃えてはいない。 その他に趣味といえる趣味はない。

jQueryのDeferredとPromise

JavaScript(というか CoffeeScript)って90年代にブラウザ上で使われていた頃のイメージが拭えず、どうも気持ち悪くて逃げて回ってたんですが、事情があって最近は渋々書いてます。 JavaScripterの皆様にとっては何を今更だとは思いますが jQuery.Deferredを使って楽しい非同期生活を送る方法 を読んで Deferred 便利だな、と思ったので理解したところをメモしておきます。

Homebrew RMagick

Homebrew で ImageMagick をインストールして RVM 環境の ruby に rmagick gem を入れようとしたら意外に苦労したのでメモ。

Bootswatchのテーマをtwitter-bootstrap-railsで使う

美的センスに乏しい私のようなプログラマにとってTwitter bootstrapが便利なことは言うまでもありませんが、知っている人には一見して「あ、Bootstrapだ」とわかるサイトになってしまいます。 これ自体は別に悪いことはないと思うのですが、他のサイトと見分けの付かないサイトになってしまうのは良くないですよね。

そこでbootstrap用のテーマを入れよう、となるわけです。 テーマを入れることで色・フォントなどが変更されるので、bootstrap臭が軽減されます。

bootstrap theme などで検索すると有償・無償を含めテーマを取り扱っているサイトが見つかると思いますが、今回は Bootswatch を twitter-bootstrap-rails と共に使う方法をメモします。 bootstrap-sass, sass-twitter-bootstrap, less-rails-bootstrap の人は別の方法があると思います。

Emacs Lisp Package Archive

Macでの日本語の文書を読み書きするテキストエディタを探していた。 Facebookでつぶやいていたらいろいろおすすめをいただいたのだが、これだ!!というものがなかった。 それで Emacs に戻ろうと思った。

ほぼ三年弱ぶりくらいに Emacs に戻ってきたのだが ELPA というパッケージマネージャがデフォルトで付いてきていて、ものすごく導入障壁が下がっていたのでメモしておく。