Advent Calendarに参加してみたくてブログを始めてみました!よろしくお願いします! こちらはJava EE Advent Calendar 2013 - Adventar 20日目の記事です。 前日の記事はAOE Takashiさんの「 Java EE Managed Beanについて (Java EE Advent Calendar2013 19日目) - AOEの日記 」でした。 本日はJava EEと併用するテンプレートとして、しばしば話題にあがるThymeleafについて思うところを書きました。 Thymeleafすばらしい 業務ではJSPを利用しているのですが、以前、下記の記事に触発されてからThymeleafを取り入れたいと画策しています。(いまだロビー活動が実っていませんが・・・。) デザイナーさんたちとの協業を推し進める Thymeleaf | Nulab Te
id: 1144 所有者: msakamoto-sf 作成日: 2013-02-03 17:56:27 カテゴリ: Groovy Java [ Prev ] [ Next ] [ Java ] 2013-02-02時点で、JSP以外のモダンなViewコンポーネントについてメモ。 元ネタ: open source - Smart-like template engine for java? - Stack Overflow http://stackoverflow.com/questions/2222105/smart-like-template-engine-for-java その1:FreeMarker FreeMarker: Java Template Engine Library - Overview http://freemarker.org/ java - Default esc
そもそもがJavaエンジニアなので、java8も一応触っておかなきゃなと思い。 あと、フレームワークのSpringも4系が出たので一応触っておかなきゃなと思い。 噂によると、SpringBootというやつを使えば楽に開発できると聞き、最近はThymeleafというテンプレートエンジンがイケてると聞き、そんないろいろがあって試してみました。 Java8 なんかラムダ式が使えるようになったとかStreamが良い感じとか聞きました。 ここからJDKとJREを入手。 Spring4 java8に対応したり、WebSocketに対応したり、いろいろ進化したらしい。 ここからSpring Tool Suite(Springが最初から入ったEclipse)を入手。バージョンは3.5系から。 SpringBoot Springの各ライブラリ(aopだとかcontextだとか)をひとまとめにしてくれたものら
ユーザー定義関数の返りをテーブル代わりに使ってみます。テーブル代わりに使う場合には、メソッドはResultSetを返すものである事が必要です。 それ以外、実装で特に難しいところはありませんが、ユーザ定義関数をテーブルとして扱うときには、少なくとも2回のメソッドの実行が発生する、ということに注意が必要です。具体的には、SQLをパースして、カラム情報を取得するとき、それと実施するときです。サンプルにもあるように、カラム情報を取得するときにはconn.getMetaData().getURL()で、返ってくる値が"jdbc:columnlist:connection"になるので、それを確認したら、とりあえずカラム情報だけ作成して、さっさとResultSetを返してしまいます。 package com.karatebancho; import java.sql.Connection; import
Thymeleaf たいむりーふ のメモを書こっと JAX-RS で動かすなら jersey-thymeleaf using ViewProcessor - Mitsuyuki.Shiiba が参考になるかも。 公式ドキュメントの http://www.thymeleaf.org/doc/Tutorial%20-%20Using%20Thymeleaf%2020130224.pdf を読みながら。好きなところだけピックアップや。 What? Thymeleaf はJavaのテンプレートエンジンです。 HTMLを壊さないように書けるので静的にも見れて、動的にも見れて。 デザイナーさんと一緒にやるときに(゚д゚)ウマーな感じにできそうな感じです。 How? "th" の namespace を持った属性をタグに書きます。 <p>Today is: <span th:text="${today}
その名のとおりJavaBeansの為のValidationの仕様であるJSR303ですが、近頃でもないですがHibernateはもちろん、その他SpringやOvalなどの周辺フレームワークの対応が進んでずいぶん使いやすくなってきました。 ところでアプリケーション作っててValidationの仕組みって毎回悩みませんか?私がJavaでWebアプリケーションつくりはじめた頃なんかだとStruts1.xが全盛期でvalidation.xml、validation-rule.xmlとか使って書いてましたが(今考えれば二度とやりたくないですねw)、今でも毎回どのチェックをどのレイヤ(アプリケーションレイヤ?ドメインレイヤ?)に持たせるかとか、データストアに問い合わせしないといけないValidationって画面の入力だけでチェックできるのとどう管理しようかなとか、色々と悩むこともしばしばです。最近D
スキップリスト(Skip List)は1990年に発表された比較的新しいアルゴリズムで、要素の挿入や削除、検索を平衡木と同等のパフォーマンスで実行可能なリスト構造です。 Skip Listは連結リストの多層構成になっています。路線に例えると、最下層のリンクは各駅停車のように、全要素を結んでいます。一方、上層のリンクは急行や特急のように、途中の要素をスキップするようになっています。この路線を特急→急行→…→各駅と乗り継ぐことで、目的の要素に高速に到達できる仕組みです。もっと詳しい解説はこちらやこちらにあります。 で、ここからが本題です。Skip Listの実装はいくつも出ているんですが、Sorted Listとしての実装ばかりで、要素を任意順序で格納できてランダムアクセス(indexを指定してのアクセス)可能なSkip Listが見つからなかったので、自分で作ってみました。 通常のSkip
2013-06-29 第1回渋谷Javaに行ってきた 渋谷ジャバのスライドにgifアニメ貼ってる— レジャスポ太郎 (@rejasupotaro) 2013, 6月 28 明日渋谷で若者を一気に叩けばJava勢に大きく打撃を与えられる— 中村氏 (@r7kamura) 2013, 6月 28 ジャバ芸人…— なおてぃー (@naoty_k) 2013, 6月 28 渋谷でJavaについて語り合う渋谷Javaに参加してきた。ハッシュタグは#渋谷java。 主催者の@seri_kさんはビズリーチのエンジニアだったのでビズリーチで開催された。 ビズリーチ、オフィスの中に庭があった(下は参考画像です)。 初心者向けって書いてあったけど結構ガチ勢がいて、Mavenセントラルの細かい話とかMixer2の話とかパフォーマンスを意識したコーディングの話とか出て渋い感じだった。 そんな中、自分は完全に
前書き Scalaという言語をご存知ですか? Javaと同じくコンパイルされるとclassファイルになり、実行時はJVM上で動作する、オブジェクト指向+関数型のプログラミング言語です。 Scalaを開発したのはJavaのgenericsの設計を手がけたり、javacの開発をしていた経歴も持つMartin Odersky氏。 Scalaは後発の言語ということもあって、Javaを書いている時に感じる冗長さに対する様々な解が用意されています。 本記事では、ScalaとJavaのコードを比較しながら、JavaユーザがScalaに移った際に得られるメリットを提示していきます。 尚、序盤のサンプルコードはJavaユーザに伝わりやすいように、returnを明記したり、メソッドは必ず{ }で囲むなど、極力Javaっぽい記述をしています。 だいたいJavaと同じような書き方ができます ScalaはJavaの
イレイジャではジェネリクスの何が消えるのかにて親クラスを継承する際に投入しているジェネリクス型パラメータはclassの情報として残っていることを述べました。 これを利用すると、 public class A<X> { public class B<Y> extends A<Y> { public class C extends B<String> { といった継承階層があった場合に、C.classからA.classの<X>にどのような具象型が適用されているのか(上記例ではString型)をリフレクションで取得することができます。 Aの型パラメータのプレースホルダ<X>を取得 Bでsuper-classの型パラメータに渡されたTypeを取得 2のTypeが具象型ではなく型パラメータ<Y>なのでさらにサブクラスを走査 Cでsuper-classの型パラメータに渡されたTypeを取得 B<Y>の
Java Advent Calendar 2011の16日目です。 前:JSFUnitでテストしよう! | Kokuzawaの日記 次:JavaEE使ってウェブアプリケーションつくろうよ - 水まんじゅう 書いてること JUnit の話です。使い始めからちょっとだけ踏み込んだ辺りですかね。ちょっとだけなので普通に使ってる方には不要な内容かと思います。私の今持ってる知識を書き殴ってみた感じになりましたが、微妙な理解と残念な文章力の相乗効果でグダグダになってます。お察しください。 内容は Assertion->カスタムAssertion、Matcher->カスタムMatcher、Rule->カスタムRule です。 Assertion JUnitは assert があってこそです。まず org.junit.Assert にある馴染み深い assert を並べてみます。 assertEquals
使い勝手のよいモックライブラリ Mockito Posted in Java (RSS) Java 向けのモックライブラリとしては 「jMock」 や 「EasyMock」 が有名ですが、「Mockito」 というモックライブラリの方が使い勝手がよいみたいです。 関連情報 ・【ハウツー】シンプル&タイプセーフなJava用モックライブラリ"Mockito"の魅力 | マイコミジャーナル ・InfoQ: JavaとFlexの両方で使えるモックフレームワーク ・Mockitoノススメ - Fly me to the Indigo! ・単体テストを“神速”化するQuick JUnitとMockito - @IT ・Java開発環境(ユニットテスト編) - torutkの日記 ・Java開発環境(ユニットテスト編)(続) - torutkの日記 ・心地良すぎるモックライブラリ Mockito ~その
IOException の catch に何を書いていいか分かりません><! はじめに 順番が前後しますが、今回は Java の特徴のひとつである例外機構についてです。 今回の範囲 223 ページ 〜 250 ページ 前回はこちら Effective Java 読書会 12 日目 「スレッド・セーフってなによ!!」 - IT戦記 Java の例外 throw 可能なオブジェクト Throwable インタフェースを実装したもの Exception を継承しない Throwable は基本的に使わない チェック例外 メソッドの実装者が「呼び出し元が回復可能」だと考えている例外 ちゃんと「なぜ、例外だったのか」理由が提供されるべき 呼び出し元は try catch で囲むか throws 宣言を書く必要がある Exception を継承していて RuntimeException を継承していな
スレッドセーフ、スレッドセーフって何なのよ!本当の気持ち聞かせてよ! はじめに 皆様おひさしぶりです。 久しぶりに Effective Java 読書会のまとめを上げていきたいと思います!!! 今回の範囲 269 ページ 〜 278 ページ 前回はこちら http://d.hatena.ne.jp/amachang/20100309/1268153192 synchronized を付ければスレッド・セーフってわけではない synchronized はスレッド・セーフを実現するための一つの方法(実装の詳細)であって、 synchronized を使っているからスレッド・セーフというわけではないし、 synchronized を使っていないからスレッド・セーフじゃないというわけではない そもそも、スレッド・セーフとは何か そのクラスのインスタンスに対するどんな順番で行われる操作も仕様的に正し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く