CLOVER🍀

That was when it all began.

2014-01-01から1年間の記事一覧

テンプレートエンジンTwirlを試してみる

もう少しScalaのテンプレートエンジンを、と思い、今度はTwirlを触ってみました。Twirl https://github.com/playframework/twirlPlay Frameworkで使われているテンプレートエンジンだそうですね、Play自体使ったことないですけど…。以前はPlayから完全に独立…

Handlebars.scalaのHelperを使ってみる

先ほど、Handlebars.scalaについてのエントリを書きました。Handlebars.scalaを使ってみる http://d.hatena.ne.jp/Kazuhira/20140920/1411200907この続きとして、Handlerbars.scalaのHelperを試してみたいと思います。Helpers https://github.com/mwunsch/ha…

Handlebars.scalaを使ってみる

Scalaでテンプレートエンジンを使うなら、何がいいんだろうと思う今日この頃です。Javaでテンプレートエンジンを使う場合もそうですが!で、今回は最近JAX-RSと組み合わせて遊んでいたHandlebars.scalaをちょっとマジメに見てみることにしました。Handlebars…

KotlinでJAX-RSのコンストラクタインジェクションがうまくいかないという話について

昨日、このようなエントリを書きました。ScalaとJAX-RSとコンストラクタインジェクションと http://d.hatena.ne.jp/Kazuhira/20140916/1410890181元ネタは、こちら。Kotlin + JAX-RS http://backpaper0.github.io/ghosts/kotlin-jaxrs.html#/9 http://backpa…

ScalaとJAX-RSとコンストラクタインジェクションと

こちらの資料を見て、以下の2枚が気になりまして。Kotlin + JAX-RS http://backpaper0.github.io/ghosts/kotlin-jaxrs.html#/9 http://backpaper0.github.io/ghosts/kotlin-jaxrs.html#/10元ネタはKotlinですが、コンストラクタインジェクションをしようとし…

CDIのBeanManagerを使う(Scalaで)

以前書いたエントリの、リベンジ版です。元ネタは、こちら。CDIのBeanManagerを使う http://d.hatena.ne.jp/Kazuhira/20140208/1391845469CDIで管理されているBeanを取得する際に、@InjectアノテーションではなくてBeanManagerを直接使った場合について書い…

Gradle(2.1)とScala(2.11.2)と

以前、Gradleを使ってScalaプロジェクトを試したことがありましたが、fscがうまく動かなかったりして、なんだかんだで重いなーということで使っていませんでした。が、このことをTwitterでツイートしていたら、今使っているという方にツッコミをいただいたの…

JAX-RS(RESTEasy)とBean Validationを合わせて使う

JAX-RSとバリデーションを合わせて使ったことないなぁと思い、ちょっと試してみることに。アプリケーションサーバはWildFly、JAX-RSの実装はRESTEasyです。参考にしたのは、こちらです。Validating JAX-RS resource data with Bean Validation in Java EE 7 …

Groovy-streamで遊ぶ

某言語を使っていると、とにかくwhile/break/continueを避けたくなるものですが、Groovyにその言語のIterator.continually的なものがないかなーと思って探していたら、以下のものに辿り着きました。Groovy-stream http://timyates.github.io/groovy-stream/…

JAX-RSのUriInfoから取得できる、各種URI・パスの情報を見てみる

JAX-RSのパスやURIの組み立てにまだまだ不慣れなところがありまして、特に「http://〜」のような絶対URI形式になったりするとまだまだ迷ったりします。というわけで、自サーバまわりの情報を使ってURIを組み立てるのに使う、UriInfoを使って何が取れるのか確…

HttpServletRequest#changeSessionIdを試してみる

Servlet 3.1より入ったという、HttpServletRequest#changeSessionId、これを使うと現在のHttpSessionのIDを変更できるそうな。あまり使っているサンプルを見たことがなかったので、自分で試してみました。使用したアプリケーションサーバは、WildFly 8.1.0.F…

RESTEasyのHTML Providerで遊んでみる

相変わらず、JAX-RSはRESTEasyで遊んでいる自分でございます。ところで、JAX-RSの参照実装Jerseyには、Jersery MVCというものが人気のようです。RESTEasyにもそんなのないのかなぁ?と思ってちょっと調べたところ、以下のものに辿り着きました。RESTEasy HTM…

RESTEasyをJDK付属のHTTPサーバ、Undertowで動かす

RESTEasyも、JDK付属のHTTPサーバに組み込んで動かしたり、またUndertowに組み込んで動かせるらしかったので、ちょっと試してみようかと。Embedded Containers http://docs.jboss.org/resteasy/docs/3.0.7.Final/userguide/html_single/index.html#RESTEasy_…

Scala × Arquillianで、Java EEのテスト(WildFly、Java EE 7版)

Java EE 7やWildFlyが出てから、全然触っていなかったArquillianをそろそろまた使ってみようかということで。前にもArquillianを使ったエントリを書いていますが、基本的にはその時と同じです。前提は、以下とします。 言語はScala ビルドツールはsbt テスト…

JAX-RSでHandlebars.scala、Velocityをテンプレートにする

JAX-RSのMessageBodyWriterを使ったことがないのと、これを使うとJAX-RSでもテンプレートエンジンが使えるという話を見て、ちょっと試してみることに。今回は、テンプレートエンジンとしてHandlebars.scala、Velocityを選びました。Handlebars.scala https:/…

Scalate 1.7を試してみる

ちょっとしたことがしたくてScalateを別のものと組み合わせて使おうとしてみたのですが、どハマりしたので切り分けを兼ねて単品で使ってみることに。ScalateでScala 2.11に対応したものを使いたければ、Scalate 1.7を使う、でいいんですよね、きっと…。とい…

sbtでpom.xmlを作る

sbt

ちょっと気になったことがあって、調べてみたのでメモ。sbtでMavenのpom.xmlを生成するには、 > makePom というコマンドを実行すればよいそうです。Publishing(Version 0.13.5) http://www.scala-sbt.org/0.13.5/docs/Detailed-Topics/Publishing.html pom…

Mavenで「mvn test」とオプションのメモ

Mavenを使っていて、よく忘れるので個人的なメモを兼ねて。当方、このブログを書く時はだいたいCLIで、IDEとか使わない(重い)のでこのあたりを使おうとしてよく忘れているというか…ハイ。 テストを実行する なんのことはなく、普通に。 $ mvn test テスト…

sbtのテスト関連のメモ

先ほど書いた、こちらのsbt版。Mavenで、「mvn test」等々とオプションのメモ http://d.hatena.ne.jp/Kazuhira/20140816/1408198453まあ、目線はちょっとMavenと違うところもありますが。とりあえず、対象のプロジェクトでsbtは起動しているものとします。ま…

WildFlyの管理CLIで、InfinispanのCacheContainer/Cacheを定義する

WildFlyでは、設定を行うのは管理CLIからが推奨だと聞いて。そういえば、これまで設定ファイルを直接編集してしか、InfinispanのCacheContainerやCacheを定義したり追加したりしたことなかったなぁと思いまして。その他、最近このあたりのサイト・スレッドを…

InfinispanのAdvancedCacheLoader/AdvancedCacheWriterを使ってみる

前回、InfinispanのCacheLoaderとCacheWriterを実装して、簡単なCacheStoreを作ってみました。InfinispanのCacheLoader/CacheWriterを使ってみる http://d.hatena.ne.jp/Kazuhira/20140802/1406997368こちらの続きです。CacheLoader/CacheWriterの実装を用…

InfinispanのCacheLoader/CacheWriterを使ってみる

これまで、Infinispanの外部領域へのデータ保存に関する機能はあまり使ってこなかったことと、Storeに設定する各種パラメータの意味(fetchPersistentStateとか)をある程度把握したくて、自分でCacheLoader/CacheWriterを書いてみることにしました。そうい…

Jerseyをjava -jarで動かす(sbt版)

面白そうなお題があったので、別版を求められていたのはGradleでしたが勝手にsbt版を書いてみました。Jerseyをjava -jarで動かす http://backpaper0.github.io/2014/07/21/jersey_standalone.htmlsbtでmavne-shade-pluginと同じことをするために、sbt-assemb…

Files#newInputStream、newOutputStreamって、バッファリングされてるんでしたっけ?

使おうとしてたまに気になって、調べて…を繰り返している気がするので、メモ。Java 7で追加されたNIO.2の中に、Filesというクラスがあります。この中に、newBufferedReader/newBufferedWriterや、newInputStream/newOutputStreamというメソッドがあり、便…

InfinispanのMap Reduce Frameworkが、Local/Repl Cacheでも実行できるようになってた+α

Infinispan 5.2の頃にちょこっと触ってそれ以来だったInfinispanのMap Reduce Frameworkですが、その時にはDist Cacheでなければならないという制限がありました。そのあたりが、Infinispan 5.3で変わっていたようなので試してみました。加えて、タイムアウ…

JCache 1.0に対応した、EhcacheのJCacheモジュールを使ってみる

今年の5月に、JSR 107(JCache)の1.0がリリースされました。JSR 107 https://jcp.org/en/jsr/detail?id=107*今度、JSRちゃんと読み直さないと…。これに対応した実装が出てくるのを待っていたのですが、Ehcacheの対応モジュールがMaven Centralにアップされ…

AssertJを使って、テストコードを書く

以前書いたエントリ、Fest Assertionsを使って、テストコードを書く http://d.hatena.ne.jp/Kazuhira/20131224/1387895002をAssertJで書き直した、焼き直しみたいなエントリです。以前、Fest Assertionsを使ってから、個人的に書くテストコードにはFest Asse…

sbt-jmhを使って、Scalaでマイクロベンチマーク

以前、マイクロベンチマークツールであるJMHを試してみたというエントリを書きました。JMH http://openjdk.java.net/projects/code-tools/jmh/マイクロベンチマークツール、JMHを試す http://d.hatena.ne.jp/Kazuhira/20140102/1388662362で、その後Scalaで…

ProxySelectorを使用して、動的にプロキシを設定する

最近仕事で使っているサードパーティ製のライブラリで、 URL url = new URL("http://..."); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); みたいな感じでURL#openConnectionを使っているコードがあるのですが、 プロキシを使って外…

他のロギングライブラリの呼び出しをLog4j2へ転送する+α

Log4j2は、他のロギングライブラリの呼び出しを、Log4j2に転送するコンポーネントを提供しています。要は、他のロギングライブラリのふりをしてLog4j2へ流すコンポーネントがあるということですね。以下のパターンがあります。 Log4j 1.2 → Log4j2 Commons L…