M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

Java

Github上に私設Mavenリポジトリをつくる

Mavenは依存性解決やビルド/デプロイ処理のためのツールとして非常に便利なのですが、個人的に作成した各種ライブラリやツールを配布するには、通常中央のリポジトリにものを登録する必要があります。そして中央リポジトリに登録するには、いろいろ準備がい…

Apache Commons CLI 1.3がリリースされている

いつのまにかApache Commons CLI 1.3がリリースされていました。Apache Commons CLIはJavaでコマンドライン・ツールを作成する際に便利なライブラリ。コマンドライン・オプションの定義を行い、その定義にしたがって引数(public void main(String... args)…

ログ加工ツールのテンプレートをつくってみた

アプリケーションをメンテナンスする上でログの確認は重要な作業となりますが、そのログはアプリケーションごとに固有の形式となっていて、これを機械的に整形して表計算ツールで分析したりするにはひと手間必要・・・というようなケースがままあります。そ…

JP1/AJS2 Jobdocをリカバリージョブに対応させた

思い立ったが吉日というかなんというか。ふと、以前このブログでも紹介したJP1/AJS2ユニット定義ドキュメント化ツールの生成するSVGがリカバリージョブに対応していないことに気がついて、テンプレートとロジックを修正しました。Githubのリポジトリ・ページ…

Apache Commons Execで外部コマンド実行するサンプル

とある事情でProcessBuilderオブジェクトを使用して外部コマンドを実行したものの*1その標準出力を取得しようとしたらロックしてしまった…という経験*2を踏まえ、別の方法としてApache Commons Execを利用することを考えました。Apache Commons ExecはJavaコ…

InputStreamを生成するOutputStreamを生成する

ちょっとふざけたようなタイトルですが今回はJavaについてのメモです。やりたいことは、何かしらの処理──例えばDOMのAPIを通じて作成したXMLデータや、テンプレートエンジンがレンダリングしたものをストリームに書き出すとか──の結果を、そっくりそのまま入…

Spring BootとAngularJSでREST APIアプリを実装してみる

例によって直近の必要に迫られ、あれこれ調べつつ、サーバ側にSpring BootベースのREST API/クライアント側にAngularJSベースのMVC(MVW)という構成を持つアプリを実装してみました。以前、Spring BootとMybatisの連携方法などを確認する(そしてそうした…

クラスパスからプロパティ・ファイルを検索する

訳あって.classや.jarを実行するときのクラスパスからプロパティ・ファイルを検索するロジックを考えることになった。・・・きちんとJavaについて理解している人であればそもそも考えるまでもないような話題のような気がするので恥ずかしい話なのだけれど。…

Thymeleafで名前空間修飾付きの属性をレンダリングする

テンプレート・エンジンThymeleafはその文法自体をXMLの構文ルールに従わせることで「そのままブラウザで参照可能なHTMLやXHTMLのファイルとしてテンプレート・ファイルをつくる」ことを可能にしています。これはこのテンプレート・エンジンを非常に便利なも…

Spring Batchでリーダーもライターもいらない処理をステップにする

引き続きSpring Batchの公式リファレンスからの抜粋です。今回は「タスクレット」についての記述。原典は"Spring Batch - Reference Documentation"の第5章2節「タスクレット・ステップ」(バージョンは3.0.2.RELEASE。2014/12/31取得)です。 * * * 5.2 …

Spring Batchの用語とステレオタイプ

今度は公式リファレンスから、Spring Batchフレームワークの用語と「ステレオタイプ」について。ここで「ステレオタイプ」とは「フレームワークを利用するにあたって必要になるオブジェクト・グラフの構成要素」とか「フレームワークの中である限定された役…

Spring Batchの"Getting Started"を読む

引き続きSpringキャンペーン中につき。今度はSpring Batchです。あまり深入りはしないつもりですが・・・。まずは例によって"Getting Started"を読んでみましょう。ビルドはMavenでする前提で、不要と判断した箇所は中略しています。原典はSpring公式サイト…

JP1/AJS2のジョブネット定義をドキュメント化

このかん多大な時間的犠牲をもってしてJP1/AJS2のジョブネット定義をドキュメント化ツールを作っていました。土台としたのは春〜夏ごろにかけて作りこんできたJP1/AJS2ユニット定義ファイルのパースAPIです。ツールもAPIも、そもそも構想やプロトタイプは職…

ThymeleafのTemplateResolverとキャラクターセット

種々の思惑からこのかんThymeleafを使用したコマンドライン・ツールを作っていて、その中で1つ発見した──というか遭遇した問題。Thymeleafのテンプレート・エンジンは基本的にWebアプリケーションに組み込んで使うことを想定しているけれど、そうでない用途…

Thymeleafテンプレートファイルのinclude/repalaceは再帰可能

引き続きThymeleafテンプレートエンジンについて調べたり使ったりしているうちに気がついたのですが、なんと(?)、th:include属性やth:replace属性による外部テンプレート断片の読み込み機能は再帰に対応していることがわかりました。・・・というより、も…

Thymeleafテンプレートエンジンをそれ単体で使う

このかんSpring Web MVCとの関連で取り上げてきたThymeleafテンプレートエンジンを、それ単体で──つまりサーブレット・コンテナの外、Spring Web MVCやSpring Bootを経由せず使う方法を知りたくなった(知る必要がでてきた)ので調べてみました。今回は依存…

Spring BootアプリケーションをビルドしてWARファイルにする

Spring Bootのビルド成果としてWARを得る方法を調べました。前提として、Spring BootアプリケーションのビルドにはMavenを使っています(GradleやSTSの場合の手順については触れません)。Spring BootでWebアプリケーションをビルドする場合、デフォルトでは…

「Getting Started - フォーム送信を処理する」を読む

引き続きSpring Bootについて調べて回っていて、今回はフォームから送信されたデータを処理する方法について書かれた公式ガイドを見てみます。このドキュメントは、いわゆる"form-backed object"とか"command object"と呼ばれるオブジェクト──FORM要素の子孫…

Spring関連の訳出記事まとめ

このかん──この1・2年散漫にあれこれ訳出してきたものが、その所在とかが自分でもわけわからなくなってきたのでまとめておきます。 Spring Web MVC Springフレームワークのコア・プロジェクトに組み込まれているMVCフレームワークのリファレンスの訳出。原典…

Spring MVCのドキュメント「コントローラを実装する」を読む(3)

前回に引き続きSpring Web MVCフレームワークに関するドキュメントの訳出です。原典は、Springフレームワーク(本体)のリファレンス・マニュアルである"Spring Framework Reference Documentation"の第5部"The Web"の第17章"Web MVC framework"の第3節(バ…

Spring MVCのドキュメント「コントローラを実装する」を読む(2)

前回に引き続きSpring Web MVCフレームワークに関するドキュメントの訳出です。原典は、Springフレームワーク(本体)のリファレンス・マニュアルである"Spring Framework Reference Documentation"の第5部"The Web"の第17章"Web MVC framework"の第3節(バ…

Spring MVCのドキュメント「コントローラを実装する」を読む(1)

今回はSpring Web MVCフレームワークに関するドキュメントの訳出です。Spring Bootフレームワークのリファレンスに言及されていたことで関心を持ち、ちょっとばかし読んでみました。原典は、Springフレームワーク(本体)のリファレンス・マニュアルである"S…

Venkat Subramaniam『Javaによる関数型プログラミング ―Java 8ラムダ式とStream 』

Javaによる関数型プログラミング ―Java 8ラムダ式とStream作者: Venkat Subramaniam,株式会社プログラミングシステム社出版社/メーカー: オライリージャパン発売日: 2014/10/24メディア: 単行本(ソフトカバー)この商品を含むブログを見るJava8で追加された…

テンプレート・エンジンThymeleafのチュートリアルを読む(3)

前回に引き続きテンプレート・エンジンThymeleafのチュートリアルの訳出です。今回はイテレーション(繰り返し処理)について。原典は"Tutorial: Using Thymeleaf"の第6章です(2014/11/1 取得)。 * * * 6 イテレーション ホームページをつくるという話…

テンプレート・エンジンThymeleafのチュートリアルを読む(2)

前回に引き続きテンプレート・エンジンThymeleafのチュートリアルの訳出です。今回は属性値を設定・追加するための各種方法について。原典は"Tutorial: Using Thymeleaf"の第5章です(2014/11/1 取得)。 * * * 5 属性値を設定する この章では、マークア…

テンプレート・エンジンThymeleafのチュートリアルを読む(1)

・・・続いては、Spring Bootのリファレンスにも登場したテンプレート・エンジンThymeleaf(タイムリーフと読むのかな?)のチュートリアルです。今回読んでみたのは同ライブラリのチュートリアル "Tutorial: Using Thymeleaf"の第4章です(2014/10/29 取得…

『Spring Bootリファレンス・ガイド』より第4部「Spring Boot の重要機能」(2)

前回に引き続きSpring Bootのリファレンス・ガイドの第4章「Spring Boot の重要機能」("Part IV. Spring Boot features")から。今回はSpring MVC関連の話題とJDBC/JPAに関する箇所の訳出。原典は"Spring Boot Reference Guide"(1.1.8.RELEASE版。2014/10/…

『Spring Bootリファレンス・ガイド』より第4部「Spring Boot の重要機能」(1)

例によってあまり脈絡がないけれどSpring Bootについて興味があったのでリファレンス・ガイドを参照しています。先頭から読んでいくとらちが明かないので、いきなり第4章「Spring Boot の重要機能」("Part IV. Spring Boot features")から。これも例によっ…

Joshua Bloch『Effective Java 第2版』

EFFECTIVE JAVA 第2版 (The Java Series)作者: Joshua Bloch,柴田芳樹出版社/メーカー: 丸善出版発売日: 2014/03/11メディア: 単行本(ソフトカバー)この商品を含むブログ (5件) を見るJavaプログラミングに関する書籍の中ではもっとも有名な「古典」。Java…

正規表現エンジンをつくってみた

hiratara氏の連載記事を参考に(というか写経して)正規表現エンジンをつくってみた。どうも最近はPythonで書かれているものを見るとJava化したくなるらしい。記事の中で紹介されている実装をほぼそのままJavaに移し替えてから、+(プラス)による1回以上の…