2016-01-01から1年間の記事一覧
Sierra にアップデート後、NetBeans のサービスタブから GlassFish を起動しても応答が帰ってこない事象があり、あまり情報が落ちていないので書いておきます。 事象 NetBeans の GlassFish バンドル版をインストール時、インストールにえらい時間がかかる(…
なにがやりたいか 重み付きランダム Alias method ダーツを投げる Alias Method の実装 日本人の名前の分布 なにがやりたいか 日本人の名字をランダムに取得したい。 ただし、佐藤さんや鈴木さんはより多く、大柿さんや桑畑さんは低頻度といった具合に、名字…
最近すぐに忘れてしまうので、細かいことでも書いておこう。 テーブルの一覧画面の並び順や項目名、表示/非表示などをユーザが自由にカスタマイズする機能追加の対応があった。 ユーザ独自のビューとして画面で見たり、ダウンロードして他のシステムに投入し…
Enum#values() ある Enum の値を取得したい場合は Enum の static メソッドである values() を使う。 public enum Fruits { APPLE, ORANGE, BANANA; } Fruits.values(); この values() の実装は、コンパイラが生成してクラスに埋め込む。 言語仕様的には 8.9…
はじめに Gradle の設定 テストの実行 アサーション Matcher ライフサイクル Display Names @Tag Nested Tests コンストラクタとテストメソッドへの DI Assumptions Dynamic Tests ライフサイクルコールバック はじめに JUnit5 のリリースが近づいています。…
Payara とは Glassfish から fork した JavaEE アプリケーションサーバです。 Glassfish は Oracle による商用サポートの提供が廃止されましたが、Payara は Payara Team による商用サポートが提供されています。 Glassfish 4.1 のコードベースに対してバグ…
JSON Processing Java API for JSON Processing (JSR 353) の RI 実装を見ていたらこんなコードがありました。 abstract class JsonNumberImpl implements JsonNumber { // ・・・略 // Optimized JsonNumber impl for int numbers. private static final cl…
2016年7月28日 「Docker For Mac And Windows Is Now Generally Available And Ready For Production」というポストで Docker For Mac と Docker For Windows の正式リリースが発表されました。 2016年3月に公開された限定ベータ、パブリックベータを経た い…
SlideShare でこんなスライドがあった。 エスイーが要件定義でやるべきたったひとつのこと from Yoshitka Kawashima www.slideshare.net ディシジョンテーブルはいいけど、カルノー図かいて整理してロジックに落としましょう。 という至極まっとうなもの。 …
前回は Cloud9 で Java開発環境の構築について見てみました。 blog1.mammb.com Cloud9 による Java サポートはまだまだこれからといった感じでした。 今回は Eclipse Che が使えるクラウドIDE である Codenvy を簡単に見ていきましょう。 Eclipse Che とは C…
前回は Cloud9 の導入方法を見てきました。 blog1.mammb.com 今回は Cloud9 IDE による Java 開発について見ていきましょう。 Cloud9 IDE の言語サポートは、今のところ PHP, Ruby, Python, JavaScript(Node), Go が手厚くなっています。 Java 向けサポート…
Cloud9 IDE とは Cloud9 のはじめ方 ワークスペースの作成 Rails Tutorial をかじる サーバの実行 Hello World する まとめ Cloud9 IDE とは Webブラウザ上で動作する統合開発環境です。 クライアント環境に依存せず、Docker コンテナ上に構築されたワークス…
フロントエンドの移り変わりが激しすぎてついていけない。 というサーバサイドエンジニア向けのフロントエンドの概要第3回目です。 より深い話題については他を当たってください。。 前回は CSS について見ました。 blog1.mammb.com 今回は ECMAScript につ…
フロントエンドの移り変わりが激しすぎてついていけない。 というサーバサイドエンジニア向けのフロントエンドの概要第2回目です。 より深い話題については他を当たってください。。 前回までで、node と gulp を導入しました。 blog1.mammb.com 今回は gulp…
フロントエンドの移り変わりが激しすぎてついていけない。 というサーバサイドエンジニア向けのフロントエンドの概要です。 より深い話題については他を当たってください。。 node とは CommonJS とは node を nodebrew でインストールする npm とは gulp と…
Subresource Locator JAX-RS では @Path アノテーションでリクエストURLを、@GET などのアノテーションで HTTPメソッドをマッピングします。 HTTPメソッドを指定するアノテーションを付けず、@Path アノテーションだけを定義し、戻り値としてリソースクラ…
Riot.js(ライオット) とは 簡単なサンプル マウント ループ Conditional expressions イベント Named elements タグのネスト update unmount yield Observable Router まとめ Riot.js(ライオット) とは React と Polymer のコンセプトをすごくシンプルに体現…
あるIT部門で一人の男が難しい顔をしてPCに向かっていた。 「あなたはここでいったい何をしているのですか?」 「何って、プログラミングに決まっているだろ。朝から晩まで、設計書の内容を間違わずにコードに落とさなきゃいけないのさ。あんたにはわからな…
標準オプション 非標準オプション オプションのカテゴリと設定 jcmd によるオプションの確認 プラットフォーム固有のデフォルトチューニングフラグ プラットフォーム別のコンパイラ指定 主要なオプション 標準オプション -help または -? で標準オプションが…
前回からの続き。 blog1.mammb.com 今回はフィルタについてです。 フィルタ フィルタ適用のタイミング リクエストフィルタ リクエストフィルタの動作 レスポンスフィルタ Reader Interceptor と Writer Interceptor Reader Interceptor と Writer Intercepto…
前回からの続き。 blog1.mammb.com 例外ハンドリング 定義済み例外 ExceptionMapper 例外ハンドリング アプリケーションからスローされた WebApplicationException およびそのサブクラスはJAX-RSのコンテナによりキャッチされ、例外に応じたレスポンスが返却…
前回までで作成したアプリケーションを Customer エンティティの CRUD 操作をできるようにしていきます。 blog1.mammb.com CustomerResource の変更 静的コンテンツのハンドラ追加 リクエスト処理 実行 CustomerResource の変更 前回作成した CustomerResour…
前回作成したサンプルに続けてJAX-RS を使った CRUD アプリケーションを作成していきます。 blog1.mammb.com EBean の導入 EBean 設定と起動 Entity の作成 CustomerResource リソースへのアクセス EBean の導入 永続化を行うため、何でもよいですが今回は導…
前回作成したサンプルを使って JAX-RS のパスのマッピングについて見ていきます。 blog1.mammb.com Path の指定 メソッド の指定 QueryParam @PathParam パスの正規表現指定 @MatrixParam PathSegment ヘッダ情報の取得 @FormParam @BeanParam モデルの作成 …
はじめに JAX-RS とは Jersey とは Grizzly とは プロジェクトの作成 Main クラスの作成 Resource クラスの作成 実行 はじめに Jersey と Grizzly を使って簡単な JAX-RS アプリケーションを作っていきます。 Glassfish などの JavaEE アプリケーションサー…
小ネタです。 Java 7u40 で空の ArrayList と HashMap のインスタンス生成が最適化されました。 Bug ID: JDK-8011200 (coll) Optimize empty ArrayList and HashMap ArrayList の初期化 今までは、 new ArrayList<>(); とした時点で、以下のように初期容量10…
anyVararg() マッチャーを使う。よく忘れる。 以下の可変長引数を取るメソッドがあった場合、 Account getAccount(Long id, AccountType...types); 以下のようにすると任意の可変長引数にマッチできる。 AccountService service = mock(AccountService.class…
2015年1月リリースのSuperCSV 2.2.1 より前のバージョンには、大抵の人がはまる罠があります(長い間放置されてきました)。 新しいバージョンでは修正されていますが、いくつものプロジェクトで誤った使われ方となっているのを見てきましたので、古い SuperCS…
普通の enum 普通に enum 定義して、 package foo; public enum Operation { PLUS, MINUS, ; } クラス名を取得すると以下となる。 Operation.PLUS.getClass().toString(); // -> "class foo.Operation" Operation.PLUS.getClass().getSimpleName(); // -> "O…
Java の Opional は関数の戻り値として利用することに焦点が当てられているため、Serializable ではない。 よって以下のようにフィールドとして定義したり、 private Optional<String> name; コレクションに入れたり、 List<Optional<String>> list; メソッドの引数で受けたり、 publi</optional<string></string>…