タグ

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

  • Javaにも不変データ構造に基づいた(Cons セルベースの)リストがあるのだよ - uehaj's blog

    TL;DR JDK(tools.jar)中、com.sunパッケージ配下に、javacが内部的に使っている「com.sun.tools.javac.util.List 」が含まれており、これは不変データ構造としてのリストのように(Cons セルベースのリストのように)利用できる。 はじめに ScalaのコードをGroovyやJavaなどに移植する際に、いつも悲しい思いをするのが不変データ構造に基づいたリスト処理ライブラリが見あたらない、ということでした。JDKの標準コレクションライブラリには、Scalascala.collection.immutable.Listのような、不変データ構造を用いて実装されているリストがありません。 ここで言う不変データ構造に基づいたリストとは、JDKのjava.util.Collections.unmodifiableList()等で取得できるような変更禁

    Javaにも不変データ構造に基づいた(Cons セルベースの)リストがあるのだよ - 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
  • HtmlUnit賛歌 - uehaj's blog

    知っている人には、今さらですが、HtmlUnitというものがあります。名前からするとxUnit系の、ユニットテストツールのような気がするかもしれませんが、違うよ!全然違います。誤解を招く名称です*1。 これはGUIレスなブラウザなのです。GUIがないだけでなく、CUIもコマンドラインインターフェースもありません。唯一できるのは、プログラムからブラウザの機能をJavaAPIを通じてJava(やGroovy)から呼び出し、そのAPIメソッド呼出しの結果を得るだけです。「非対話型ブラウザ」です。 いままで、XmlParserやNekoHtmlやHttpBuilderといったもののみでスクレイピングをしてきた諸兄は、HtmlUnitを一回使ってみるのがよろしいと思いました*2。HtmlUnitを使うことで、ログイン処理や、ページ遷移が簡単になったり、ページの表示にJavaScriptとかを使うケ

    HtmlUnit賛歌 - uehaj's blog
  • 1