タグ

ブックマーク / uehaj.hatenablog.com (3)

  • groovyでスクリプトのエンコーディングを指定する - Grな日々(uehajの日記)

    前に、「コメントに何を書いてもいい」と思うのは、/**/については正しいが、//については正しくない」という記事を書きましたが、そこでの対策との一つとしては、「スクリプトのエンコーディングを正しく指定する」でした。 で、続編として「Groovyでスクリプトのエンコーディングを設定する方法」について調べてみましたので書いてみます。嘘があったら済みません。コメント欄などでご指摘ください。 まず、対処の方向性としては2つ3つがあって、つまり (1) Java環境のデフォルトエンコーディングを変更する(具体的には、システムプロパティfile.encodingでエンコーディングを指定する)。ここが参考になる。 (2) Groovyスクリプトのエンコーディング指定を行う(具体的には、システムプロパティ「groovy.source.encoding」でエンコーディングを設定する) (3) groovyコ

    groovyでスクリプトのエンコーディングを指定する - Grな日々(uehajの日記)
  • モナドはなぜHaskellでしか積極的に使われていないのか? - uehaj's blog

    (Haskellな日々になってるな…。) モナドというものがあり、Haskellで有名ですが、実際には、Java8のOptional、ScalaのOptionやfor内包表記などでは使用されています。ScalazというScalaのライブラリや、monadlogieというGroovyのライブラリでも使われています。 とはいえ、一般に、Haskellでのように積極的には使われていないというのが公平な見かたでしょう*1。Haskellでは当にいろんなものがモナド化されています。入出力(IO)、状態、失敗するかもしれない計算(Maybe、Either)、非決定計算、継続、パーサ(モナディックパーサ)、リーダ、ライタ、etc.etc……。 なぜこのような差が生じるのでしょうか? その前に、まず押さえておくべきことは、モナドは非常に汎用的な機能だということです。数学的定義はともかく、機能的に言うと、

    モナドはなぜHaskellでしか積極的に使われていないのか? - uehaj's blog
  • 内部から見たVert.xとNode.jsとの比較 - uehaj's blog

    socket.ioがJavaやGrailsから扱えるかを調べている関係でvert.xを調べていて興味深かったので、こちらにあるVert.xの記事を翻訳してみました。JGGUG G*Workshopにおける杉浦さんのVert.x資料もお奨めです。 Vert.xは急速に発達つつあるサーバ・フレームワークです。 世にあまたあるサーバ・フレームワークのいずれもが、多様なプロトコルをサポートし、高速であることが特長であると主張していますが、Vert.xはそれらよりも一歩抜きん出ています。例えば、Vert.xは、サーバサイドのネットワーク環境の確立と操作も対象としています。言いかえれば、Vert.xは、単一サーバ上のデーモン実行だけでなく、クラスタリング環境での複数サーバデーモンの実行を考慮しているのです。 したがって、Vert.xを調査するにあたっては、どのように高性能を実現しているかだけではなく、

    内部から見たVert.xとNode.jsとの比較 - uehaj's blog
  • 1