Fight the Future

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

プレゼン、ボランティアコーチします!

勉強会でスピーカーをやりたいけど、プレゼンが初めて、苦手という方に無償でコーチします!資料レビューや録画リハへアドバイスします。Twitter@jyukutyoまでメンションでもDMでも。

私はデブサミやJJUG CCCなど200人規模で経験ありです。海外も短いながら経験あり。デブサミ2017では公募スピーカー1位でした!

【PR】メガ恐竜展2017にブロガー招待で行ってきました

このエントリはブロガー招待を受けたもので、PR内容を含んでいます。 長男次男ともに恐竜が大好き(というかオタク)のため、夏休みに開催される"メガ恐竜展2017"へ行くことを計画していました。たまたま大阪市立自然史博物館へ行くときに、このメガ恐竜展に…

Reactive Spring in DevoxxUS 2017

セッション動画からソースコードを写経する職人のようになっていますが、DevoxxUS 2017の"Reactive Spring"というセッションを紹介します。このセッションはライブコーディングでした。 www.youtube.com スピーカーのJosh LongはPivotal社のSpring Developer…

オレオレJVM言語を作ろう! How to create a new JVM language #Graal #Truffle

DevoxxUSに参加した際、とてもおもしろかったセッションがありました。Oleg Šelajevの"How to create a new JVM language"というセッションです。 www.youtube.com OlegはvJUG(virtual JUG: オンライン上の仮想Java User Group)のOrganiser、JRebelやXRebe…

フリュー株式会社を退職します #退職エントリ

私ことじゅくちょーは、7月末でフリュー株式会社を退職することにしました。約5年半の在籍でした。 現在は有給消化中です。また、次の勤務先も決まっています。関西です!! 得たこと アジャイル開発のチームリーダ フリューではアジャイル開発がベースにあ…

関西Javaエンジニアの会 7/12 日本マイクロソフト様関西支店にて!

kanjava.connpass.com 7/12 19時から、JR福島駅(JR大阪環状線 大阪駅の隣駅)徒歩1分の日本マイクロソフト様関西支店にて! 12 Factor App on Kubernetes on Azureをデモを交えながらのセッションです。スピーカーは日本マイクロソフトのJavaエヴァンジェリ…

JavaエンジニアとしてJavaチャンピオンについて知ろう!

関ジャバをやっていると参加者の方でJavaチャンピオンについて知らない方ももちろんおられます。こうしたことを広めるのもJUGの務め!と思い書きます。 Javaチャンピオンについては以前ここに書きました。 jyukutyo.hatenablog.com ただ、これを書いた2014年…

KANJAVA PARTY 2017を開催しました&発表資料まとめ #kanjava #KanJavaParty

kanjava.connpass.com 私が代表を務めている関西Javaエンジニアの会(関ジャバ)の、過去最大規模のイベント"KANJAVA PARTY 2017"を開催し、無事終了することができました! 参加者のみなさん、スピーカーのみなさん、そして運営メンバー陣、ありがとうござ…

JavaエンジニアとしてJCPについて知ろう!その2 #jcp #jug

前回はJCPそのものについて解説しました。 jyukutyo.hatenablog.com 今回はみなさん自身がJCPメンバーになるメリットやメンバーの種類、具体的な手順を解説します。 個人でJCPメンバーになって何がいいのか JCPメンバーには企業や非営利団体、JUGだけでなく…

JavaエンジニアとしてJCPについて知ろう! #jcp #jug

このブログを読んでいただいているということは、Javaを少なくとも使っているという状況と想像します。それでは、JCPのことはご存知でしょうか? JCPとは JCPとはJava Community Processのことです。公式サイトはこちらです。 The Java Community Process(SM…

JJUG CCC 2017 Spring 参加&スポンサーセッション登壇 #jjug_ccc

スポンサーセッション 今まで3回CCCではセッションをCfPを出して担当しました。私が所属するフリュー株式会社は、前回2016 Fallからスポンサーになっています。今回は僕がスポンサーセッションを担当しました。 ですが、スポンサーだからといって何を宣伝す…

InfoQ翻訳記事からのJavaニュースレター vol.1: Jigsawはどうなる?

2016年7月から、InfoQ.comの翻訳者として記事を翻訳しています。 https://www.infoq.com/jp/profile/%E9%98%AA%E7%94%B0-%E6%B5%A9%E4%B8%80 ほぼJava関連の記事を翻訳し続け、気づけば50記事になっていました。週1以上ペースですね。せっかく翻訳しているの…

JOnsen 2017 1日目 #JOnsen2017

JOnsenというアンカンファレンスに参加しています。 温泉地でJava Expertで集まってリラックスして話そうぜ、という感じです。 詳しくは、disorganizer(アンカンファレンスなのでorganizeの逆)の1人Sebastianのブログに書かれています。 JOnsen 2017 Uncon…

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

そんなとき、このような言葉をかけてもらえました。 @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…