ModelMapper ModelMapper is an intelligent object mapping library that automatically maps objects to each other. It uses a convention based approach while providing a simple refactoring safe API for handling specific use cases. Visit modelmapper.org to learn more. Modules In v2.0, ModelMapper provides modules for 3rd library integration you can easily register by modelMapper.registerModule(new TheM
Get started now! Go on then, paste and run the following in a terminal: curl -s "https://get.sdkman.io" | bash The Software Development Kit Manager Meet SDKMAN! – your reliable companion for effortlessly managing multiple Software Development Kits on Unix systems. Imagine having different versions of SDKs and needing a stress-free way to switch between them. SDKMAN! steps in with its easy-to-use C
Play framework 2.x Java and 1.x Advent Calendar 2013*1の6日目です。 お題は、Lombokを使ってPlay2 Javaのユニットテストを書きやすくできますよという話。 ケース Play2 Java使っている方なら当然、永続化はEBeanですよね。そうでしょうそうでしょう。では、例としてこんな感じのテーブル CREATE TABLE items ( id serial NOT NULL PRIMARY KEY, name text NOT NULL ); を、こういうエンティティクラス @Entity @Table(name="items") public class Item extends Model { @Id @NotNull public Integer id; @NotNull public String name; } でO
2017年9月にリリースされたJava 9にはさまざまな新機能が追加されていますが、中でもとりわけ影響度が大きいのがモジュール機能です。この機能の導入にともなって、JDK 9には旧バージョンとの互換性を伴わないいくつかの修正が加わっているからです。すなわち、既存のアプリケーションやライブラリがJava 9ではそのまま動かない可能性がある、ということです。 10月1日から5日の5日間に渡って開催されたJavaOne 2017でも、このモジュール機能は大きなトピックのひとつとして挙げられ、多くのセッションが開かれました。本レポートでは、それらのセッションで紹介された内容も踏まえながら、Java 9のモジュール機能についていま一度おさらいします。 モジュール機能の追加に至る紆余曲折 Javaへのモジュール機能の追加に関する議論がスタートしたのは10年以上も前のことになります。Javaアプリケーシ
Status Quo Imagine you’re going to find the caller of the current executing method. To make it even more interesting, imagine you’re going to get current thread’s stack frames one by one and filter them to extract or expose some meaningful information. How would you do these? Before Java 9, there were three different approaches that we could use to solve mentioned problems: Throwable::getStackTrac
はじめに 以前自分の blog にて JDK に付属しているツールである javapackager について紹介したことがあります。このツールは主にクライアントサイド Java アプリケーションを配布可能な形態でパッケージングするためのツールです。ネイティブインストーラも生成することができます。 aoe-tk.hatenablog.com このエントリではネイティブパッケージに含まれるランタイムについて、次のようなことを述べていました。 昔は JDK を丸ごと放り込むという豪快な感じになっていましたが、最近は結構スリムアップしました。JDK9 の Jigsaw が入るともっと効率よくなるでしょう。 そして遂に Java9 がリリースされました。JDK9 の javapackager のマニュアル には次のような記載があります。 For self-contained applications
サンフランシスコで開幕した「JavaOne 2017」。基調講演の最後に、Java 9以降のJavaのために現在開発が進んでいる新機能が紹介されました。 Project Panamaは、Javaとネイティブなコードのデータのやりとりを可能にするもの。JavaからC関数をコールし、C関数からJavaにコールバックしたときにデータにアクセスするといったことが可能。 Project Valhallaは変数の型付けに関するもので、変数の基本的な型をプログラマブルに設定できるというもの。 参考:Java 9の先、Java 10/11では最新のハードウェアやOSに最適化したデータのメモリ配置が可能になる。JavaOne 2015 参考:JavaOne 2016が開幕、JDK 9ではJava Shellが登場予定。JavaOne 2016 Javaコードの可読性を向上させ、バグの混入を減少させるProj
[速報]Java 9が正式リリース、Javaをモジュール化するProject Jigsawがついに実現。今後のJavaは6カ月ごとタイムベースのアップデートへ 米オラクルは9月21日(日本時間9月22日未明)、Javaの最新バージョンとなるJava 9正式版を公開しました。 Java 9 is Out!!!!#JDK9 #Java9 #Javahttps://t.co/VE7BI4KPlK pic.twitter.com/kOdNiLJ1ky — Java (@java) 2017年9月21日 Java 9最大の新機能は「Project Jigsaw」として開発されたJavaのモジュール化機能です。おそらくJavaの開発のなかでももっとも難産なプロジェクトだったといえるでしょう。 難産の末にProject Jigsawがついに実現 Javaをモジュール化して必要な部分だけを使えるようにする
Java 9の起動パラメータ java.locale.providers に Java 8 と同じ優先度で国際化を行う指定をします。 java -Djava.locale.providers=COMPAT,SPI この設定で日付のフォーマットが Java 8 と同じように動作するようになり、自動テストが成功しました。 以上で 750 個のテストがすべて成功するようになりました。次はいよいよJava 9で既存のソースコードをコンパイルします。 Java 9でコンパイルして Java 9で動かす ヌーラボのアカウント基盤には Java のコンパイル対象が約 1,360 ファイルあります。目標は 1,360 のソースコードがJava 9 ですべてコンパイルできることです。 コンパイラの設定を Java 9に切り替える コンパイラを Java 9に切り替えます。Java 9のバージョン指定には注意
こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 今回、Java のちょっとしたデバッグテクニックを紹介したいと思います。Java で運用中何かトラブルが発生した場合、スレッドダンプを取得することはしばしばあると思いますが、スレッドダンプだけだとちょっと情報が足りないことがあります。今回はスレッドダンプから得られる情報を増やして、素早く障害対応したりデバッグに役立てる方法を紹介します。 まずはじめに: スレッドダンプの取り方 基本ですが、改めてスレッドダンプの取得の仕方を紹介しておきます。スレッドダンプを取得する対象のプロセス ID を仮に 12345 として、下記のように jstack コマンドを実行すればスレッドダンプが取得できます(※Linux上で操作する想定)。 $ jstack 12345 対象のプロセス ID は ps aux | grep jav
こんにちは。こむろ@東京です。 2017/05/23に気づいたのですが、curlやwgetで実行しているOracleJDKの取得でエラーが出るようになっています。先日(2017/05/22)からChefでも同じような現象があることをStackoverflowで確認しました。 わたしが担当しているプロジェクトで、GoldenAMI作成で使用しているAnsibleでOracleJDKのインストールに失敗したため、原因を調査していましたので共有します。自動スクリプトなどでOracleJDKを自動的にインストールしている構成を取っている方は高い確率で失敗すると思われるため、注意が必要です。 AnsibleのJDKインストールで突然の死 AnsibleでOracleJDKのインストールを行っています。2017/05/23突然死しました。 amazon-ebs: TASK **************
JJUG CCC 2017 Spring E1 2017-05-20 10:00-10:45
2017年4月18日紙版発売 2017年4月18日電子版発売 谷本心,阪本雄一郎,岡田拓也,秋葉誠,村田賢一郎 著,Acroquest Technology株式会社 監修 B5変形判/448ページ 定価3,278円(本体2,980円+税10%) ISBN 978-4-7741-8909-3 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 誕生から20年を迎え,幅広い分野のプログラミングに欠かせないJavaの基礎から応用までをしっかり解説。Javaの最新仕様(Java 8)に基づく文法から,オブジェクト指向やデザインパターン,そしてビルド,ドキュメンテーション,品質へ
DIコンテナを使う時にどのインジェクションを使うかって話です。 たぶん誰かがどこかで同じようなことを書いているだろうけれど、気にせず書くよ。 「他の誰かが書いている」なんてのを書かない理由にしてると何も書けなくなるし。 コンテナ DIコンテナのこと。 コンテナ管理 インスタンスのライフサイクルをコンテナが管理していること。雑に言えば、使う側で new しないってこと。 インジェクション Dependency Injectionのこと。 Short Answer コンストラクタインジェクションを使いましょう。使い分けなくていいです。 3種類のインジェクション インジェクションには3種類ありますね。他あっても知らない。 フィールドインジェクション セッターインジェクション コンストラクタインジェクション フィールドインジェクション 一番よく見るかな。 class Hoge { @Inject
ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。 dentomoさんから『Java本格入門』を頂きました。ありがとうございます。 (著者は谷本心さんを始めとするAcroquest Technology株式会社の方々ですが、編集がdentomoさんのようです) なんと、p.436の参考文献に、そうそうたる本に混じって自分のウェブページのURLが載っています! うわ~嬉し恥ずかしw (「この本を読んだ人たちが次に参考に出来るサイト」という意味かなーと思ったら、書いた人が本当に参考にしていたみたいです^^;) このJava本格入門、入門の名の通りJavaの基本的な文法も扱っていますが、そこからさらに、よく使われるライブラリーやJavaで開発するために知っておいた方が良いこと(デザインパターン・ログ出力・JUnit、果ては例外の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く