Scala IDEが便利になった
Scala IDEが便利になった。 というより、Eclipse同梱版が出来て、楽になった。 Scala IDEは、Scala2.10.x用の環境で、Scala 2.9.x以下を使っている場合は使えないようです。 ※Scala IDE上ではScala 2.10.xが動くけど、コマンドラインでは2.9.xという感じでは使えるかと思います。 Scala IDEは、ベースがEclipseなので、Windowsの他、Mac OSとLinux上で使えるようです。 Scala IDEについて 自分が便利だと思 ...
Amazon Web Service 始めました。
AWS(Amazon Web Service)始めました。 遅ればせながら、AWS始めました。 これから、色々とAWSに関する事を書いていこうかと思います。
git svn fetchをする時、svn上の編集者情報をgit上で意味のある編集者情報としてfetchしたい
git svn fetchを実行すると、そのままsvn上で登録されている編集者情報が取り込まれます。 gendosu <gendosu@f6c38acf-3242-4c98-89c5-1a79c4400658> のように。 svn上ではgendosuで入っているわけですね。 これのメールアドレスの所に、正式なアドレスを入れてあげたい そして、名前の所も別の物を入れてあげたい と言うことで、適当な所にsvnauthersというファイルを作ります。 ファイル名は適当で良いです。 これを、 ...
Ubuntu 13 and Ruby on Rails 4 で、capybara-webkitを使ってcucumberでテスト
必要なパッケージをインストールする たぶん、このインストールだけで済むはず。 sudo apt-get install libqtwebkit-dev xvfb ttf-kochi-mincho-naga10 ttf-kochi-gothic-naga10 入れている物は、 libqtwebkit-dev qtwebkitの開発用モジュール Qtはデスクトップと組込み開発向けのクロスプラットフォームアプリケーション開発フレームワーク らしい xvfb 仮想フレームバッファ ttf-kochi-m ...
Aptana Studio 3でEGitを入れているのに、Aptana Studio 3でインストールされるPortableGitが優先されてしまう問題
Aptana Studio 3でEGitを入れているのに Aptana Studio 3でインストールされるPortableGitが優先されてしまう問題 ですが Preferencesの設定の中にある - という所が二つあると思います。 これは、Aptana Studio 3が内包しているPortable Gitの設定と、EGitの設定が両方出てきているという事です。 で、EGitの方を優先で使いたい場合ですが - のサブオプションがある方がEGitで、サブオプションがない方がPortableG ...
JavaScriptで、imgタグのwidthとオリジナルの画像のwidthを簡単に取得する方法
JavaScriptでフツウに画像サイズを取得する場合 <img src="" width="470" height="99" id="image"> image = $('#image'); image.width // imgタグのwidth => 470 image.height // imgタグのheight => 99 といった感じですが、オリジナルの画像サイズは940x198なので、そのサイズがとりたい。 という場合ですが image = $( ...
いまさらながら、古いJQuery(1.8以前)で$.browser.msieとかやっていた人に贈る
1.8以前のJQueryでは$.browser.msieという判定でIEとそれ以外の処理を分けていたりしました。 これがJQuery1.9以降は出来なくなります。 ということで、JQuery1.9以降でこのような判定に近い事が出来るかどうかを考えてみます。 まず、JQuery1.9では、browserが削除されます。 それにかわって、supportを使えという感じに書かれています。 このsupportというのは、ブラウザ毎に分けるのでは無く、ブラウザが対応している機能ごと、実装ごとに判定しようと ...
ScalaのListのデータをランダムにソートする
import scala.utl.Random val a = List(1,2,3) val b = List(4,5,6) val c = a ::: b val rand = new Random c.sortBy{_ => rand.nextInt(c.size)}.map(println)
Rubyの配列のデータをランダムにソートする
Rubyの配列をランダムにソートするには a = b = (a + b).sort_by{rand} #=>
ページで画像を延滞ロードさせる
画像が多いサイトなどで、ローディング時間が長くて困る、なんて言う時は 画像の延滞ロードです。 最近のAmazonとか、スクロールして画像が表示される時に一瞬ローディング画像が出たりしてるやつです。 このプラグインを使うと、簡単に実現出来ます。 必要な物は、jQuaryとこのプラグイン。 あとは、延滞ロードしたい画像のタグにclass="lazy"を追加します。 $("img.lazy").lazyload(); という処理をどこかに置きます。 以上です。
Play frameworkのpidファイル「RUNNING_PID」ファイルの場所を変える(v2.0.4以降)
Play frameworkを本番環境にデプロイする場合に、PIDファイルを別の場所に置きたいなと思ったりします。 デフォルトだとプロジェクトディレクトリの直下にRUNNING_PIDというファイルが作成されます。 このRUNNING_PIDファイルを作る所のコードを確認すると play.core.server.NettyServer の中にあるようです。 def createServer(applicationPath: File): Option = { // Manage RUNNING_ ...
Rubyで配列からハッシュを作成する
たまに、配列になっているデータをハッシュに変えてしまいたい時があったりします。 data = , , , , ] という感じのデータですね。 これをハッシュにするには、ゴリゴリやる場合 hash_data = {} data.map{|c| hash_data] = c} となりますが、別のやり方として Hashの「self -> Hash」というメソッドを使ってみます。 Rubyのドキュメントにもあるのですが Hashの[]メソッドとして定義されており array_data = Hashという ...
今更ながら、eclipseを日本語化
今更ながら、eclipseを日本語化してみる。 常に最新のeclipseを使うので、日本語化はちょっと・・・と思っていたが、ニュアンスで操作してる場合もあったので、日本語化して意味を理解してみようと思う。 使うのはpreadesというプラグイン。 eclipseの日本語化ではわりと昔から存在していたプラグインです。 で、これはeclipse4.2のプラグインインストールでは入れられないようで zipファイルを解凍して、eclipseディレクトリにファイルをコピーする。 さらに、eclipse.i ...
Ruby(Ruby on Rails)で、使わなくなったメソッドをdepricatedにする
ある程度コードを書いていると、使わなくなったメソッドや、新しいメソッドを作ったので使って欲しくないメソッドなどが多々出てくるかと思います。 コメントで書いておいても、使う人はいるし、既存コードで知らぬ間に使ってあったりもします。 そんな時は depricatedをログに出力するようにしてしまいましょう。 そうすれば、その処理を通るたびにワーニングとしてdepricatedなメッセージが出力されるので 対処しやくすなります。 書き方としては、 def old_method warn " ...
Apacheのログから、各IPからのアクセス数を集計する
Apacheのログから、各IPからのアクセス数を集計して、多い順にソートして表示するスクリプト val apacheLog = new File("access.log") /* * IPアドレスのカウント */ StringFileInput(apacheLog) { reader => var count = 0 // ランダム文字生成器 val it3 = new Iterator] { def hasNext = reader.r ...
Play Framework 2.0でログファイルローテートしてみる
Play Framework 2.0系のプロジェクトで、リクエスト毎にログを出力するような設定をした場合、ログファイルをローテートしたくなったりします。 場合によってはlogrotateの設定でやったりもします。 が、今回は、Play Frameworkのログの設定でローテートしてみます。 Play Frameworkは、LogBackというミドルウェアを使用してログを出力します。 で、必要な設定などはすでにPlay Framework自体が設定してくれているので ログを出力するのは Logge ...
Scalaでちょっとスマートにファイルを読み込んでみる(その2)
前回、Scalaでちょっとスマートにファイルを読み込んでみるで、defで定義した物を、case classに変えてみました。 case class StringFileInput(file: File)(f: BufferedReader => Unit) { val in = new FileInputStream(file) try { f(new BufferedReader(new InputStreamReader(in))) } finally { println( ...
Scalaでアルファベット小・大・数値のみのリストを作る
val keyChars = (('a' to 'z') ++ ('A' to 'Z') ++ ('0' to '9')).toArray
Scalaでちょっとスマートにファイルを読み込んでみる
Scalaだと、テキストファイルなどを開く時は // ファイルを開いてインスタンスを得る val src = Source.fromFile(currentFile) // ファイルの行をforeach src.getLines().foreach(println) // ファイルを閉じる src.close と書いたりしますが なんか、最後にclose書かないと行けないのがスマートじゃ無いなと思ったりします。 なので、ちょっとこの辺をいじってみましょう。 参考として、Rubyの場合は、このよう ...
Play Framework で、リクエストログを出力したい
リクエストを受けた直後のアクションについては /app/Global.scala というオブジェクトのファイルを作り GlobalSettingsを継承します。 このGlobalSettingsというトレイトには beforeStart onStart onStop onRouteRequest onError onHandlerNotFound onBadRequest というメソッドが定義されていて、それぞれオーバーライドする事でアクションを設定する事が出来ます。 今回は、リクエストが来た時 ...