Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

2016-01-01から1年間の記事一覧

RxJava 2.0 is released

I've translated a InfoQ's article about RxJava 2.0 into Japanese. www.infoq.com RxJava 2.0 quite differs from version 1.0. Summary of differences is in RxJava's website. github.com By the way, JDK 9 supports Reactive Stream (JEP 266). JEP …

Introduction to Javaslang

I translated this article into Japanese in InfoQ. www.infoq.com I haven't known Javaslang library for now. What is Javaslang? Javaslang's website is below: http://www.javaslang.io/javaslang-docs/ Javaslang brings functional programming to …

Pivotal Cloud Foundryを始めてみる

Pivotal Cloud Foundry(PCF)を試す機会をいただきました。ローカルのPCF Devではなく、パブリッククラウドのPCFの方です! 今後少しずつ、使ってみたログを残していこうと考えています。 今回は、PCFにサンプルのSpringBootアプリケーションをアップすると…

what is JSRs in 900s

Now max JSR number is 380, but JSR has 900s number. For example, JSR 901 is "JavaTM Language Specification". The Java Community Process(SM) Program - JSRs: Java Specification Requests - List of all JSRs What are these? They are completed a…

How to get an application class loader in Java Agent method

In Java Agent method, such as premain() or agentmain(), class loader is system classloader, not application class loader. If you intent to change bytecode of class loaded by application class loader, you will need an application class load…

material of my session in JJUG CCC 2016 fall

I talked about Java Agent and bytecode manipulation libraries in JJUG CCC 2016 fall. My session room was filled to capacity with bytecode fans! This is a material of this session. JJUG CCC 2016 fall バイトコードが君のトモダチになりたがって…

How can I get a web application classloader in Java Agent's method agentmain()

I implement Java Agent which transform classes of a web application running in an application server. To do so, I need a web application classloader which load these classes. I know Instrument#getAllLoadedClasses() method. But this method …

Use @GetMapping, @PostMapping in Spring 4.3 or later

I always use @RequestMapping in Controller. @Controller public class TestController { @RequestMapping(value = "test", method = RequestMethod.GET) public String index() { But in Spring 4.3, @GetMapping and @PostMappiing are provided. I was …

My proposal has been approved in Devoxx US 2017

My proposal has been approved in Devoxx US 2017. I have a Quickie session. Session title is "Web app that has one billion face images and Japanese "kawaii" culture". This is about an application which I have been developed, including not o…

Java SE 9 will be released at 2017/07/29

At now(2016/11/19), Java SE 9 will be released at 2017/07/29. 2016/11/19時点では、Java SE 9は2017/07/29にリリース予定です。

translation of InfoQ article about Project Valhalla in Japanese

Valhalla adds new bytecode instruction "typed".

InfoQの記事と、記事へのキャメロン氏のコメントも翻訳しました

キャメロン・パーディの InfoQ に対するコメントが興味深い。 https://t.co/WPVmQGUTVu— Terada Yoshio (寺田佳央) (@yoshioterada) 2016年9月13日 ここで寺田さんが言及されているInfoQの記事を翻訳しました。 www.infoq.com で、元記事にあったキャメロン…

InfoQのTomcat開発で起こっている問題についての記事を翻訳しました

www.infoq.com

InfoQのコマンドラインオプションのJEPについての記事を翻訳しました

www.infoq.com

InfoQのJava EEへの導入を目指すMicroProfileの記事を翻訳しました

Java EEベンダとロンドンJUGが主導しているMicroProfileについてです。 www.infoq.com

InfoQのZeroTurnaround社はRebelLabsの開発者生産性レポートを翻訳しました

www.infoq.com

InfoQのJava EE JSON-Bについて翻訳しました

www.infoq.com

InfoQのJava EEガーディアンズ関連の記事を翻訳しました

Java EEガーディアンズの結束理由や取り組みなどを知ることができます。 www.infoq.com www.infoq.com

InfoQ 日本語サイトにて翻訳活動を始めました

初めての翻訳が本日公開されました。 www.infoq.com Java関連の翻訳を中心に、英語力の向上と技術情報の収集を兼ねて、1か月に1つ2つ翻訳します!

YOLOとは

ライブコーディングでコミットメッセージに「YOLO」とだけ打ってコミットしていたので、調べてみた。 YOLOとは「You Only Live Once」で、人生は一度きり的な意味。

A simple example of Gauge + Selenide tests #gauge #selenide

I tweeted as below, I received reply from Selenide creator. 次のようにツイートしたところ、Selenideの作者からリプライをもらいました。 @jyukutyo Wow! Can you share some "Hello world" example of Gauge+Selenide tests?— Andrei Solntsev (@asolnt…

hsdisをMacでビルドする

jvm

Java Day Tokyo 2016に出たところ、hsdisをもうProject Kenaiからダウンロードしてはいけない、古いビルドだから新しいCPUに対応していないということを聞きました。 そのため、帰宅してすぐビルドしました。簡単でした。 まずhsdisディレクトリに移動します…

indyとASMを使ってコードを難読化できるんだって

そういえばJavaOne 2015で「Protecting Java Bytecode from Hackers with the InvokeDynamic Instruction 」というセッションに出ておもしろかったことを思い出しました。 そこでデモ用のものが紹介されていたので、今更ながら試してみました。 github.com …

Spring MVCでConversion失敗をまとめて処理したいときは@ModelAttributeを使うしかないのかな?

Spring MVCでこういうコントローラメソッドがあるとする。 @RequestMapping(path = "hoge") public String index(@RequestParam @DateTimeFormat(pattern="yyyyMMdd") Date start, @RequestParam @DateTimeFormat(pattern="yyyyMMdd") Date end) { return "h…

Bean ValidationでSpring Expression Languageを使って相関バリデーションする

このエントリで実装を見ていたとき、思いついた。 jyukutyo.hatenablog.com Spring Expression Language(SpEL)でもバリデーションできそうだな〜と。Spring、Hibernate Validatorの利用が前提になってしまうけど。 @SpringELAssertアノテーションというの…

Bean Validation(Hibernate Validator)で相関バリデーションを使う

ここでは相関バリデーションを、「2つの値の関係性をバリデーションする」とする。 たとえば、日付で開始日と終了日があって開始日 < 終了日とならなくてはならない、など。 Bean Validation 1.1の仕様には、相関バリデーションはなさそう。ただ、Hibernate …

SpringでEhcacheを利用する

いやーSpringは至れり尽くせりな気がする。 There are a few implementations of that abstraction available out of the box: JDK java.util.concurrent.ConcurrentMap based caches, EhCache, Gemfire cache, Guava caches and JSR-107 compliant caches. …

ScalaのSpring MVCコントローラに@AutowiredでInjectする

これの続き。 jyukutyo.hatenablog.com 素直に@Autowiredアノテーションつけるだけでできた。 package hoge import org.springframework.beans.factory.annotation.Autowired import org.springframework.context.ApplicationContext import org.springframe…

Spring MVCのコントローラをScalaで書く

やろうとした理由は…単なる思いつき。 調べたらいろいろな方が試されてました。手順をまとめておく。 既存のアプリケーションがMavenなので、Mavenで管理する方針で。scala-maven-pluginなるものがあるので、これを使う。 <pluginManagement> <plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven</artifactid></plugin></plugins></pluginmanagement>…

mvn compileでjava.lang.IllegalStateException: endPosTable already setになる

Maven 3だと発生する。Maven 2だと出ない。 コンパイラで例外が発生しました(1.8.0_65)。データベースで重複がないかをご確認のうえ、Java Bug Database (http://bugreport.java.com/bugreport/)でbugの登録をお願いいたします。レポートには、そのプログラ…