JJUG-CCC再演祭 in 大阪に行ってきました
kanjava.connpass.comに行ってきました。
JAX-RS入門および実践
@backpaper0さんのお話。
資料は、ここJAX-RSにアップされています。
サンプルを実装してみたかったので、プロジェクトをここChapter 1. Getting Startedを参考に作成
mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-grizzly2 -DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false -DgroupId=com.example -DartifactId=simple-service -Dpackage=com.example -DarchetypeVersion=2.22.2
- まず上記サンプルの以下のメソッドの動作を確認
@Path("myresource") public class MyResource { @GET @Produces(MediaType.TEXT_PLAIN) public String getIt() { return "Got it!"; } }
以降は上記MyResourceクラスに@backpaper0さんの資料で紹介されていたメソッドの一部を実装してみました。
- 01 QueryParamを使用
@Path("addition") @GET @Produces("text/plain") public int calculate(@QueryParam("a") int a, @QueryParam("b")int b){ return a+b; }
- 02 PathParamを使用
@Path("hello/{name}") @GET public String sayHello(@PathParam("name")String name){ return String.format("Hello %s!", name); }
- 03 MatrixParamを使用
@Path("additionMatrix") @GET public int calculateMatrix(@MatrixParam("left")int left, @MatrixParam("right") int right){ return left + right ; }
- 04 HeaderParamとCookieParamを使用
@Path("hoge") @GET public String getHeader(@HeaderParam("foo")String foo, @CookieParam("bar")String bar){ return String.format("header foo=%s, bar=%s %n", foo, bar); }
ブラウザで、Headerとかcookieの設定がわからないのでcurlコマンドで確認
curl -H 'foo:fooval' --cookie "bar=barval" http://localhost:8080/myapp/myresource/hoge
-vオプションを指定して詳細も確認
- 05 FormParamを使用
@POST public String sayHelloForm(@FormParam("yourName")String name){ return String.format("Hello yourName=%s %n", name); }
curl -v http://localhost:8080/myapp/myresource/ -X POST -d 'yourName=Tomo'
とりあえずここまでの実装をアップしました。GitHub - tomoTaka01/simple-service: Jersey samples
まだまだ勉強しないといけないことが沢山です。今後は少しでも機能を追加していきたいです!
よくある業務開発の自動化事情
@irofさんのお話。すごく共感できるお話であっと言う間に時間がすぎてしまいました。
もっといろいろお話お聞きしたいです!
G1 GC -HeapStats を添えて-
@sugarlifeさんのお話。2部構成でとてもわかりやすかったです!
- 01 Heap Stats
詳細は、この記事codezine.jpにあります!
HeapStats使ってみたいです。Macにインストールするのではなく、Dockerを使ってLinuxにインストールしたいと思っていますが、今後の課題に、、、
- 02 G1GC
スライドはwww.slideshare.netにアップされていました。
勉強会でも他の方が質問されていたのですが、そもそもどのGCを使っているか?を確認したことがなかったです(汗)
確か以下のコマンドで確認できるようです(すみません間違っていたらご指摘頂けたら嬉しいです)
java -XX:+PrintFlagsFinal -version | grep GC
以下の結果が表示されました。ここでtrueが2つ表示されていますが?「:=」の方が使われているようですが、どこで指定されているかが?です、、、
... bool UseG1GC = false bool UseParallelGC := true bool UseParallelOldGC = true bool UseSerialGC = false
GCを以下オプション指定できるようです。いままで使ったことはないです、、、
java -XX:+UseG1GC
最後にいつも会場を提供していただいている楽天株式会社様、@bufferingsさん、関Javaスタッフの皆様ありがとうございます!
勉強する機会をいただくことができて本当に毎回感謝です!(まだまだ勉強しないといけないことが多くて、、、(涙)