About Welcome to the codemodel project. CodeModel is a Java library for code generators; it provides a way to generate Java programs in a way much nicer than PrintStream.println(). This project is a spin-off from the JAXB RI for its schema compiler to generate Java source files. IMPORTANT! By contributing to this project, you are agreeing to the terms of use described in CONTRIBUTING.md
Lombokのチュートリアルの http://jnb.ociweb.com/jnb/jnbJan2010.html をテキトーに訳した。Lombok勉強の副産物に過ぎないんで、全くといっていいほど推敲してないし、品質についてはお察し。これ読まなくても使えるし、日本語で解説してる人いるし、まぁ多少はね? なお、本文中のソースコードや画像は原文のものをそのままコピペしています。 Project Lombokによるボイラープレートの削減 はじめに ボイラープレート("Boilerplate")とは、アプリケーションの様々な箇所に繰り返し出現する上にちょっとずつ異なるコードを説明するときに使われる用語です。Java言語に対する批判としてしょっちゅう聞かれるものの一つがコードの量であり、そうしたコードはたいていのプロジェクトで似通っているものです。この問題は各種ライブラリの設計方針の結果ではあるので
バグレポートが出ていた。 http://bugs.sun.com/view_bug.do?bug_id=6330385 http://bugs.sun.com/view_bug.do?bug_id=6522780 http://bugs.sun.com/view_bug.do?bug_id=6724345 バグレポートにあった検証用コード public class Test { public static void main(String[] args) { for (E e : E.values()) { e.m(); } } } interface I { void m(); } enum E implements I { X { public void m() { } } } java 1.6.0_17で実行した場合 C:\>java -version java version "1
このシリーズは、2014-03-18に正式リリースが予定されている、Java SE 8の新機能と拡張機能についてまとめたものです。 (2014-03-21追記)予定通り、2014-03-18(現地時間)にリリースされました。APIドキュメントも公開されたので、そちらに差し替えました。 ここで触れている内容の範囲では、今後おそらく変更は無いと思いますが、リリース後に確認する予定です。 また、外部リンクについては、リリース後に変更する可能性があります。 目次 シリーズ目次 コンポーネント別 一覧 実行環境 注記 参考リンク シリーズ目次 Java SE 8 (1) - 概要と一覧 (このエントリー) Java SE 8 (2) - ラムダ式、メソッド参照、ストリーム ラムダ式とメソッド参照 ストリーム Java SE 8 (3) - 新しい言語機能 仮想拡張メソッド 実行時のパラメーター名への
Japan JBoss User Group - 灼熱の JBossでJava VMの起動高速化の話をしました。非圧縮jarによる高速化はみなさんも使っている有名なソフトウェアで採用されていますが、あまり知られていないチューニングだと思います。大抵の場合200%くらいの高速化ができます。 Java Drag Race Tuning from nekop CMS GCを使わないほうがちょっとだけ速い、とか効果が小さめなオプションについては特に解説していません。 あと話すの忘れてましたがScalaがチューニングしてもあまり変わっておらず、最初から高速なのはデフォルトでbootclasspathを使っているからです。bootclasspathはクラス検証されないので、-Xverify:noneが既に適用されてるのと一緒です。 紹介したのは主にクラスローディングを高速化することによりJavaで書か
こんにちは、Web系エンジニアのナカガワです。 皆さん、REST APIのテストはどのようなツールを使っていますか? 私はJUnitでテストが書ける「Restfuse」を使っています。 今回、実プロジェクトでRestfuse + Jenkinsで定期的にREST APIをテストする仕組みを構築したため、このあたりのノウハウをまとめて書きたいと思います。 REST APIテスト自動化のゴール ゴールは以下の二つです。 (1) APサーバ上で動作しているWebアプリケーションに対し、自動でREST APIテストを実施する。 (2) Jenkinsを用いてCIを実施可能にする。 まず今回は、前者のREST APIテストを実施するところまで紹介します。 Restfuseを使って、REST APIをJUnit上でテスト可能に! 先にも書きましたが、私が使ったのはRestfuseというツールです。 R
DACとFGACの併用: 図2は、LOCATIONS表の問合せをおこなう場合の流れを示しています。 図2. DACとFGACによるフロー まず、データベースにおいて、ユーザーがDACに基づく十分な権限を保有しているかどうかを判断します。 HR.LOCATIONSからのデータ選択が許可されている場合、そのユーザーがポリシーを省略する権限を持っているかどうかの確認がデータベースによって実行されます。 ユーザーに特別な権限がない場合、アクセスはポリシーに基づいて仲介されます。 ユーザーが特別な権限を保有している場合、その権限に基づいて仲介が省略されたうえで問合せが実行されます。 サンプル・アプリケーションには、複数のユーザーがログインして同一の問合せをおこなう場合のフローを示すテスト・スクリプト(SQL*Plusで実行)が含まれています。 SQL*Plusを開いて次のように入力し、複数のユーザー
愛知県でシステムエンジニアとして働く友人のMは、プロジェクトメンバの書くJavaのクソコードに苦しめられているそうです。Mはリードプログラマとして、プロジェクトメンバがあげてくる成果物(ドキュメントとコード)のレビューをする立場にあるらしく、提出されてくる数々のクソコードをTwitterでつぶやいていました。 Mを救うことはできるのでしょうか? もし、クソコードをすばやく見つけることができたら救えるのであれば、救える見込みはあるかもしれません。 コードの問題を見つける静的解析ツール クソコードとは、おおむね次のような問題のあるコードをさすようです。 潜在的バグ バグの可能性があるコード。 重複 機能追加やバグ修正を困難にしがちなコードの重複。 設計上の問題 クラスやパッケージ間の依存関係、多すぎるメソッド引数など。 慣習違反 プログラミング言語やライブラリの慣習、コーディング規約などに違反
The latest release is v0.6.0, more detail changes about it can be found from Release History. Compatible with Ring and obviously supports those Ring based frameworks, such as Compojure etc. Http Services by using Clojure / Java / Groovy to write simple handlers for http services. Nginx Access Handler by Clojure / Java / Groovy Nginx Header Filter by Clojure / Java / Groovy Nginx Body Filter by Clo
Written on Monday, January 6, 2014With the 2014 season of battlecode starting tomorrow, I figured now would be a good as time as any to finally write up my notes on bytecode hacking. If you’re unfamiliar with Battlecode, a good introduction is my previous post (tldr: it’s an intense open-to-all programming competition where teams write AIs for virtual robot armies). You might be wondering what byt
みなさんJMXは使っていますか?Javaアプリケーションのメモリ使用量を始めとした統計情報を取得したりできる、運用には欠かせないモニタリング・管理の仕組みですが、統計情報を蓄積する方法に悩んでいる方も多いのではないでしょうか。 今回はアプリケーションから取得できる様々な統計情報をfluentd経由で蓄積し、分析やトラブルシュートに活用する方法を紹介します。 JMX用のfluentdプラグイン JMXの統計情報をfluentdで収集するfluent-plugin-jolokiaというプラグインを使います。 fluent-plugin-jmxではなくfluent-plugin-jolokia?と思われるかもしれません。 JolokiaはJMXをJSONベースのREST APIとして提供するためのエージェントです。fluentdのプラグインはRubyで書かれていますが、Rubyから直接JMXのプ
以下のような経緯で、BigDecimalをいじっていて、知らなかったことがいくつか出てきたので、まとまりが無いですがとりあえずわかったことを順に書いていきます。 前提知識として、BigDecimalはDoubleなどで表しきれない大きな数を表すためのクラスです、そしてscala.math.BigDecimalは、java.math.BigDecimalの薄いラッパーです。単に、BigDecimalといった場合、どちらのこと言ってるのかわかりにくい・・・。 play2scalaz という自作のライブラリで、テストが途中で停止する(?)問題に遭遇 スレッドダンプ取得してみたら、BigDecimalがあやしい Play2のJsonの数字を表すJsNumberは、内部で一旦scalaのBigDecimalとして保持している*1 なので、play2scalazのテストで、BigDecimalからJs
JPAだけで完結するのはさすがにムリがあったのでこういうタイトルにした。が、JPAプロバイダ固有のAPIのレベルではフェッチサイズを変更する効果を確認できた。 JDBCのsetFetchSize変更時の動きをstatspackで見てみる - kagamihogeの日記ではJDBCを直接使用していたが、このエントリではJPAプロバイダ(EclipseLink, Hibernate)固有のAPIを使用して100万行取得するコードの速度を、フェッチサイズ変更無しと100の時とでどのくらい速度差が生じるかを確認する。 環境 DB CentOS-6.4-x86_64 Oracle Database Express Edition 11g Release 2 Java Java SE Development Kit 7u45 Eclipse Kepler(4.3.1) SR1 IDE for Java
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く