prog

Golang/Revel: なんでも受けるアクションとビューを作る

Revel で、どのパスにアクセスされても同じコントローラで対応する方法を試す。

Scala/Play: なんでも受けるアクションとビューを作る

Play Framework で、どのパスにアクセスされても同じコントローラで対応する方法を試す。

Scala: Play Framework のプロジェクトを新規作成

Revel の元ネタは Scala/Java 向け Web アプリケーションフレームワークである Play Framework なのだそうだ。 ということで Play Framework のプロジェクトも新規作成してみる。

Mac: Homebrew/Golang/Revel のインストール手順

メモ。

Java: parallelStream を使ったアプリが固まるように……原因は何だろう?

週末に、以下のような質問 (問題?) を受けた。 Java 8 で作った Web アプリがある。parallelStream を使って重い処理を並列で行えるよう実装していたが、起動してからしばらくすると (しばらくリクエストを受け付けると) アプリが固まることがわかった。アク…

C++: 覚書

予習と復習。

Spring Boot: @ConfigurationProperties を付けたクラスには setter が必要

Spring Boot には、設定ファイルや環境変数から値を取得して、Bean にセットしてくれる便利機能がある。 が、マニュアル通りにやったつもりなのに値がセットされなくて、しばらくハマった。 原因は、setter を定義していなかったこと、だった。

Ruby: ZeroMQ の Binary Star パターン

ZeroMQ の The Guide に載っている Binary Star の Python 版サンプルコードを、Ruby に移植してみた。 移植というか、Ruby と ffi-rzmq の書き方にあわせて直したつもり程度なので、真の意味で Ruby 的かどうかは自信がない。

Ruby で簡単な Web アプリを作るときのメモ

メモ。

Java: 今月の 06:00 と 18:00 を列挙

メモ。

Java: オブジェクトが GC で回収されるまで待つには

あるオブジェクトが GC で回収されるまで待つにはどうしたらいいのだろうか。 普通はそんなことしなくていいように書くのがベストだが、どうしても必要な場面というのもある。WeakReference を使った機能のテストケースを書きたい場合とか。

Java: 日時計算いろいろ feat. Java SE 8

メモ。

Java と Perl で FTP

FTP サーバと通信したいとき、Java と Perl だったらどっちが早いんだろう。

Perl: 整数の最大値・最小値

Perl では整数を扱うことができるが、とても大きな値 (あるいはとても小さな負の値) になると、自動的に浮動小数点数に切り替わる。 では、整数のまま扱える値の範囲はどこからどこまでなのか。

Perl: CPAN 経由で Log::Dispatch と Log::Dispatch::FileRotate を入れようとしたらエラーになる場合の対処方法

とある Linux の環境に、Perl 5.10.1 が入っている。ここにある Perl プログラムを入れようとして困った。cpan シェルを使って、Log::Dispatch と Log::Dispatch::FileRotate を入れようとしたら、エラーが起きてインストールできなかったからだ。

Java: try-with-resources で catch 節を使う

Java 7 で追加された try-with-resources は C# の using ステートメントに倣った構文だが、まったく同じというわけではない。 C# の using ステートメントは下記のページで説明されているように try/finally の糖衣構文であって、それ以上でもそれ以下でも…

Perl: リファレンスを使って長い文字列のコピーを回避できるか?

Perl は幼児レベルしかわからないので、今日も人に質問されてわからなかった。 「サブルーチンに文字列を渡した後、サブルーチン内で substr を使って部分文字列を取得しようとしています。この場合、文字列をそのままサブルーチンに渡すのではなくリファレ…

Java: java.util.logging のバグに見る WeakReference 使用時の注意点

Java の標準 API でよく知られている注意点のひとつに、「WeakReference 自体は強参照されるのでメモリリークしないように注意せよ」というのがある。 知っている人にとっては昔から既知の話題なんだけど、知らないと罠にはまってしまいがちなポイントでもあ…

Java: えっ、まだ Log4j 1.2 使ってんの?

ないわー。なんで Log4j 2.0 使ってないの?

TouchDevelop の Web アプリ版がプレビュー公開

以前の日記で TouchDevelop が Windows 8 に対応するようだ、と書いたけど、スマンありゃぁ間違いだった。www.toyfish.blog

Java: closeQuietly considered harmful

Apache Commons IO は、入出力に関するユーティリティを集めたライブラリで、かつてに比べれば存在感が薄れているとはいえ、現在でも広く利用されている。 しかし、そんなライブラリの中にも、使用すべきでないものがある。closeQuietly という名前でオーバ…

やっぱりくるぞ、Windows 8 で TouchDevelop

以前の記事で「TouchDevelop の Windows 8 対応がいつ来てもおかしくない」と書いたが、どうやら現実になるようだ。www.toyfish.blog Microsoft Research が予告動画を公開している。なぜかスパイ大作戦的な BGM。 TouchDevelop - something new is coming h…

次に話題になるプログラミング言語は TouchDevelop……かもしれない

Windows Phone 7.5 では、Microsoft Research が公開している TouchDevelop というアプリで、「スマフォでお手軽プログラミング」ができる。Windows Phone の次期バージョンである Windows Phone 8 は、デスクトップ OS の Windows 8 と共通のカーネルを使う…

JDK 6 の FileChannel は追記が遅い

Java でファイルに書き込みを行う方法は、大きく分けて 2 つある。ひとつは java.io.FileOutputStream を使うもの、もうひとつは java.nio.FileChannel を使うものだ。 このうち、FileChannel は後から追加されたクラスであり、僕はなんとなく「性能を上げた…

Java SE 8 ではメモリ使用量の再確認が必要?

ただの思いつきメモ。

Jenkins 上で任意のコマンドを実行するには

例えば、Jenkins でテストが失敗して、原因がディスク空き容量不足だったとする。サーバ上で df コマンドを実行したくなるが、わざわざ ssh や telnet でサーバにログインするのはめんどくさい、という場合。 Jenkins の管理メニューからスクリプトコンソー…

Java SE 7 のサポートは 2014 年 7 月まで

10 月 26 日付で、Oracle サイトの下記ページが更新されていた。これによると、Java SE 7 は 2014 年 7 月に EOL、つまりサポート終了を迎えるようだ。 Oracle Java SE Support Roadmap http://www.oracle.com/technetwork/java/eol-135779.html [2012-03-04…

Java: AutoCloseable で MDC を管理する

Java 7 では、入出力ストリームやDB接続のクローズを簡単・確実に行えるようにするために、ARM (Automatic Resource Management) が追加された。元ネタは C# の using ブロックと IDisposable インタフェースで、Java 独自の新発明というわけではないんだけ…

Java 6 のサポート期間は 2012 年 7 月まで

時々、「JDK サポート期間」とかで検索して、僕の書いた古い記事にたどり着いている人がいるようだ。でも、2008 年のものなので、今となっては情報が古すぎる (当時は、2008 年中に Java 7 が出ることになってた)。 僕自身も「あれ? 今はどうなってるんだっ…

TouchDevelop を紹介しない

IS12T で Marketplace をのぞいていたら、TouchDevelop というアプリがあった。端末上でプログラミングができる「てのひら開発環境」だ。 Microsoft の研究機関である Microsoft Research が開発したもので、スマートフォン上で動かすことを前提に、タッチパ…