読者です 読者をやめる 読者になる 読者になる

Fight the Future

何かを始めたら、半分成功したのと同じ

自分の技術的能力では世界で勝てないと気づいた僕はどこへ向かうべきか?

そんなとき、このような言葉をかけてもらえました。 @jyukutyo 中途半端でいいんですよ!その両輪が見える立場はとても大事です。— 鈴木雄介/Yusuke SUZUKI (@yusuke_arclamp) 2016年5月22日 @jyukutyo 中途半端さの悩みは「誰にも相談できない」ことです。…

来週Devoxx USで初の英語セッションに挑戦します!

cfp.devoxx.us と言っても15分のセッションですが。 昨年CfPを通過し、リハーサルも4回終え、そのうち1回は英語が堪能な方に見てもらいました。 15分なのでQ&Aは設けず、突っ切る感じですw 数年後には、50分のセッション、Q&Aありでできるようになれればと…

セブに短期英語留学しました

フィリピン、セブ島で1週間の英語留学をしました。 結論 1週間でも絶対に行く方がいい。 より効果を高めるためには 行くまでに発音記号の各発音をできるだけ練習しておく。素早く正確にできると、留学中の上達が早い。 僕は通勤中に歩きながら練習してた。 …

デブサミ 2017でデブサミ初登壇!【17-C-5】 #devsumi #devsumiC

デブサミことDevelopers Summitで初登壇しました! event.shoeisha.jp スライドはこちらです。 デブサミ2017 Javaコミュニティ作ったら人生変わった from Koichi Sakata www.slideshare.net スライドの意図 ただ、スライドはシンプルかつ少なめです。 今回は…

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の登録をお願いいたします。レポートには、そのプログラ…

マイクロソフトのクラウドでのJava EE、そしてJavaエヴァンジェリストへのインタビュー...マイクロソフトのね。 #てらだよしおがんばれ

こちらのブログエントリの翻訳です。 Java EE in Microsoft's Cloud or Interview With Java Evangelist ...At Microsoft : Adam Bien's Weblog 著者のAdamさんおよびインタビューされている日本マイクロソフトの寺田佳央@yoshioteradaさんに翻訳許可をいた…

Groovyでのinvokedynamic

Twitterでのやり取りでGroovyのinvokedynamicの話題が出たので、まず簡単に試してみました。 まず以下のHelloWorld.groovyを作ります。 println 'Hello, world!' 普通にコンパイルする。 $ groovy -v Groovy Version: 2.4.0 JVM: 1.8.0_65 Vendor: Oracle Co…

ScalaMatsuri 2016で発表しました。そしてプレゼンの準備とはを語ってみる。

ScalaMatsuri 2016で発表しました。 「ScalaコードはJVMでどのように表現されているのか」15分のセッションです。 スライドはこちら。 How Scala code is expressed in the JVM from jyukutyo www.slideshare.net toggetterにもまとめていただいています。 h…

SpringでBean ValidationのMethod Validationを使う

公式リファレンスにはこうあった。 Spring-driven Method Validation The method validation feature supported by Bean Validation 1.1, and as a custom extension also by Hibernate Validator 4.3, can be integrated into a Spring context through a M…

関ジャバを初めてマイクロソフト様にて開催しました

僕が運営メンバーをしている関西Javaエンジニアの会(関ジャバ)ですが、 1/22(金)にマイクロソフト 関西支社にてMicrosoft Azure + Javaにフォーカスしたイベントを開催しました。 直前に連絡をいただいたのですが、なんとピザとビール、ソフトドリンクま…

JDK 9ではJavadocに検索ボックスができる

JEP 225: Javadoc Search いるよね〜。みんなブラウザの拡張機能とか入れてたはず。 生成してみた。 $ java -version java version "9-ea" Java(TM) SE Runtime Environment (build 9-ea+99-2015-12-23-184955.javare.4146.nc) Java HotSpot(TM) 64-Bit Serv…

JDK 9ではちょっとしたコレクションはファクトリメソッドで作れる

JEP 269: Convenience Factory Methods for Collections コレクションへの便利なファクトリメソッドを追加します、と。 上記のページにはJavaでのコレクション生成についてのJDK 9以前の書き方がいろいろありました。 一番ベーシックなやつ。 Set<String> set = new </string>…

JDK9では文字列の連結にinvokedynamicが使われることになりそうだ

JEPにあり、JDK9のターゲットになっている。 JEP 280: Indify String Concatenation Change the static String-concatenation bytecode sequence generated by javac to use invokedynamic calls to JDK library functions. This will enable future optimiz…

1/30(土)ScalaMatsuri 2016でスピーカーします

ScalaMatsuri 2016でスピーカーします。1/30(土)14:30 - 14:45です。部屋は、国際交流会議場 (400席; 通訳付き)でして、すごい部屋を割り当てていただいています。 scalamatsuri.org タイトルは「ScalaコードはJVMでどのように表現されているのか」です。お…

Uber JARとは

とある資料を読ませていただいていて、「Uber JAR」なる単語が。 java -jar hoge.jarでアプリケーションを起動するタイプのものを指すのは理解できたのですが、 Uberって?っと思い検索してみました。 stackoverflow.com Über is the German word for above …

ScalaのHelloWorldをjavapしてみた

クラスファイルはすべからくjavapしよう - Fight the Futurejyukutyo.hatenablog.com ということを言ったので、Scalaのコードもjavapしようと思いました。 もちろんscalacしてからjavapしてもよいのですが、ScalaはなんとREPLからjavapできると知りました。 …

クラスファイルはすべからくjavapしよう

public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } } javac HelloWorld.javaしてクラスファイルを生成します。さっそくjavap HelloWorldしましょう。javapコマンドはOpenJDK系(OpenJDKやHotSpot、…

try-with-resources 文のclose順序

超いまさらですが、JDK7で導入されたtry-with-resources文のclose順序です。 public class TryWithResources { public static void main(String[] args) { try (Resource r1 = new Resource("Resouce 1"); Resource r2 = new Resource("Resouce 2");) { // …

JavaOneステッカーとDukeポストイット

Java Magazine Vol.21を読んでJava 20周年記念のステッカー(非売品)をもらおう! - Fight the Futurejyukutyo.hatenablog.com いただきました!

JPAでエンティティ以外のクラスにクエリの結果をマッピングする in Hibernate

JPAでそもそもそういう使い方するなよってことかもしれませんが。 ネイティブクエリを発行してその結果をエンティティ以外のクラスのインスタンスにマッピングしたいことがあるとします。 JPAの実装にHibernateを使っているときは、以下のコードで実現できま…

TomcatとGlassFishで動作が違った

ServletContext#getRealPath(String)がTomcat 6,8ではnullではなかったけれど、GlassFish 4ではnullを返しました。 This method returns null if the servlet container cannot translate the virtual path to a real path for any reason (such as when the…