Java

怖くないR2DBC その3 spring-data-r2dbc

怖くないR2DBCシリーズ。 bufferings.hatenablog.com 前回までで、この3つを見てきた。 r2dbc-spi r2dbc-postgresql r2dbc-client r2dbc-spiがインターフェースで、r2dbc-postgresqlがそのPostgreSQL用実装。r2dbc-clientはr2dbc-spiを使いやすくするための…

怖くないR2DBC その2 r2dbc-client

これのつづき。 bufferings.hatenablog.com ## 1.0.0.M6 数日前に1.0.0.M6が出たので、この前はM5のソースを読んでたけど今日はM6のにする。 Happy to announce @R2DBC 1.0 Milestone 6. @h2database and @SQLServer drivers are available now. https://t.c…

怖くないR2DBC

注意:R2DBCはまだ本番では使わないようにね(2018-11-18現在) 昨日R2DBCを初めて触ってみて「ふーん、いまいちよく分かってないなぁ」と思いながら寝たんだけど。 bufferings.hatenablog.com 朝起きたら「あ、そういうことか」ってなったので、考えの整理…

Hello R2DBC

## R2DBC? https://r2dbc.io/ Spring One Platform 2018で発表されたリレーショナルデータベース用のリアクティブプログラミングAPI。みんなが待ってるやつ。 2016年頃からのSpring5を中心にしてWebやNoSQL周りはリアクティブ対応をしてきてるんだけど、RDBM…

Java 8でも安心。Dockerに対するCPU・メモリ対応。(2018年11月現在)

8u191でDocker対応がバックポートされたので、頭の整理と確認をしておいた。 ## まとめ Java 11使っておけばそもそも安心なんだけど、Java 8でも8u191以降を使えば安心。 ## 課題だったこと DockerでJavaを動かすときJavaが「そのコンテナに割り当てられたCP…

Spring Bootの起動を速くしてみるぞー

疲れた! ## How Fast is Spring? というSpring One Platformのセッションのビデオを見て、自分でも試してみたお話。このセッション、すごく面白いのでおすすめ。 springoneplatform.io ## 今日のコード github.com ↓JDK11でやった。 ❯ java --version openj…

後編:JMH(Java Microbenchmark Harness)のサンプルを動かしながら勉強

これの続き bufferings.hatenablog.com ## 実行時オプション サンプルを実行しながらなんとなくそんな気がしてたけど 実行したいベンチマーク名を正規表現で指定できて アノテーションで指定した値は実行時パラメータで上書きできる。 ❯ java -jar target/be…

JDK 11の重要なポイントを勉強してきた

ちょうど今週は東京に出張で来てたのでJJUGナイトセミナーに参加してきたー。面白かった! jjug.doorkeeper.jp Java is Still Free 会場に着いたらJava is Still Freeの日本語版がスクリーンに映ってた。じゅくちょーすごいなぁ。 はてなブログに投稿しまし…

数カ月後の自分へ。僕がどういうときにJava10のvarを使いたいと思っているか。

先月リリースされたJava10は、その日に遊んで楽しんだんだけど bufferings.hatenablog.com ちょっと時間が経って落ち着いたから、自分の考えを整理しておこうと思った。忘れるので。 この2つを読んだ どちらもすごく面白いのでおすすめです。 orablogs-jp.b…

SpringBoot2のBlocking Web vs Reactive WebについてLTしてきた

社内ミートアップでLTの時間をもらったので、ここに書いた内容を3分で喋ろうとしたんだけど、どうしても3分をちょっと超えてしまうので無理を言って4分もらって喋ってきた(運営のみなさんありがとうございます)。ぐったり。明日から普通のエンジニアに戻りま…

Java10の祝日はvarを雰囲気で遊んでた!

昨日は朝起きたらJava10が出てたので新しく導入された var で遊んでた。 わーい$ java --version openjdk 10 2018-03-20 OpenJDK Runtime Environment 18.3 (build 10+46) OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)— Mitsuyuki Shiiba (@buf…

読みやすいコード(僕にとって)

最近気づいたことがある。それは、僕はみんなみたいに複雑なことが理解できない、ってこと。話をしてても「ごめんなさい。いまのわかんなかった。もう一回教えて欲しい。」とかよくあるし。ドキュメントも、ちょっと複雑なことが書いてあると、全然頭に入っ…

Java8のDate and Time APIではyyyyじゃなくてuuuuを使う

2,3日前にこういうのを書いたんだけどbufferings.hatenablog.comirofさんと喋ってたら「yyyyじゃなくてuuuu使わなきゃとかもありますよねー」って言われて「え?そうなんだっけ・・・あれー?全然知らない!・・・ような、頭の隅にあるような・・・」ってな…

僕がJavaのWebアプリのコードレビューをするときって何を気にしてるっけなぁ?

コードレビューをするときには、フォーマットや慣例的な書き方とか、名前ちゃんとした方が良いよとか、処理にも名前をつけようねとか、そういうことは伝えるんだけど。それよりももっと気にするのは、「ここで見つけておかなきゃいけない」ってことだなぁっ…

てことでValidationの実装を書いてみた

今日の昼にValidationについて考えて、「こんな感じだといいかなー?」ってテストだけ書いたんだけど。 bufferings.hatenablog.com それの実装を書いた。とりあえずテストだけパスするような感じであります! T がいっぱいでてきて泣きながら書いた。 ソース…

こんな感じのValidationどうかなぁ?「この方が好き」ってあったら知りたいです!

バリデーションについてぼーっと考えてて、この辺見ながら「なるほどわからん!」ってなりながら 面白かった!半分も分かってないけど雰囲気楽しんだ! / “Java8 と fugue で Validation (エムスリー Advent Calendar 2015 18th) · GitHub” https://t.co/7Gb…

#KanJavaParty で喋ったよ(ヽ´ω`)

kanjava.connpass.com直前までコード触ってた。ローカルでデモを見てもらうけど、実際のアプリも触ってもらえたらいいなと思ってAzureでも動かした。んで、ほんとにギリギリでAzure上で動き始めて、そしてなぜかローカルが動かなくなった。Azureでも動いてな…

#Java本格入門 は実践的だなー!

Java本格入門を読み終わりました。著者の谷本さんからいただきました。ありがとうございます。もし面白くなかったらどうしようwとドキドキしながら読み始めましたけど、全然そんなことはなくて色々と勉強になりました。本当に読んで良かったです。周りの人に…

bufferingsはwebjarsを覚えた

JJUG CCCのデモアプリ作るときに色々勉強になったのでメモに残そかなと。mavenで管理できるの安心感あるね。本番で使うかどうかは考えてないけど、個人の開発なら楽だなー。 <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>2.2.4</version> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>angularjs</artifactId> <version>1.5.9</version></dependency>

MavenでビルドするSpringBootアプリをGithubにpushしたらTravisCIでDockerhubに自動push

できたー(∩´∀`)∩ワーイbufferings.hatenablog.comの続き。 DockerHubのAutomated Build そうか。MavenのビルドがDocker Hubで実行できるわけないか。jarを作っといてgithubにpushしたらそれを実行するImageをビルドすることならできる。か。ふむー。— しーば@1…

#kanjava Thymeleaf・JShell・Webセキュリティ・実践マイクロサービスなJavaの勉強会でお腹いっぱい!

そんな勉強会に参加してきました。というか、僕もスピーカーとして、Thymeleafについて喋りました!会場は楽天大阪のカフェテリアです!kanjava.connpass.com関ジャバといえば、会場の鍵を開ける人が寝坊してきたりするくらいの、ゆるふわな勉強会なイメージ…

CompletableFutureを勉強中。thenApplyとthenComposeで混乱中。追記:そしてうらがみさんに色々教えてもらいました!(∩´∀`)∩ワーイ

FluxとかMonoの勉強しようと思って、よこみちにそれて。bufferings.hatenablog.comその流れで、Java8にCompletableFutureなるものがあることを知り。この章だけ読んだ。www.safaribooksonline.com面白かったのでまた別の機会にまとめをメモしときたいなと思…

ノンブロッキングなFuture: ListenableFutureとかSettableListenableFutureとか

Reactor CoreのFluxとかMonoとかよく分からんなぁ、分かりたいなぁって思いつつ、ここを読もうとしてUnderstanding Reactive types途中に出てきた全然関係ないところを面白いなーと思いつつ読んでたらもう眠くなってきたのでメモだけ残して寝るー。 Listenab…

面白かった!2/27(土) JJUG-CCC再演祭 @ 楽天大阪カフェテリア

ちょっと書くのが遅れたけど。 またまた面白かったー! kanjava.connpass.com こんな感じ 内容 うらがみさんの、JAX-RS入門および実践 いろふさんの、よくある業務開発の自動化事情 久保田さんの、G1 GC -HeapStats を添えて- JAX-RS入門および実践 資料: JA…

面白かった!Doma勉強会 @ 楽天大阪カフェテリア

面白かった! kanjava.connpass.com こんな感じ。 うらがみさんのいつもの感じで、ゆるゆると優しそうに喋るんだけど、喋ってることはあんまり易しくないというw 内容 前半が入門編で。後半が実践編でした。前半はDomaの基本的な機能のお話。後半はCDI + JAX…

#devopsjp 1.5時間ペアプロスプリントを5回まわしてぐったり(ヽ´ω`)

MicrosoftのDevOpsハッカソンに行ってきました。面白かった。 優勝したー(∩´∀`)∩ワーイ ハッカソン 2日間のハッカソンでした。1日目の前半が牛尾さんと小塚さんによる「DevOps 概要セッション」、それからチーム分けをしてハッカソン開始。5-7人ずつの5チーム…

JUnitのテストメソッド名をどういう風につけたらいいかなー?

って話になって、チーム内で盛り上がった。例えばこんな感じのテストを書きたい時。 「ジュースを買う」メソッドに、お金とジュースの番号を入力したらそのジュースが返されて、在庫が一個減る。 メソッドはこんな感じかな? Juice buyJuice(int inputAmount…

Maven・Config・Batch・Messaging・Dockerあたりについて考えたいんだなって再確認

12-factor appを読んだ。良かった。自分メモ。Java視点。The Twelve-Factor App (日本語訳) I. コードベース バージョン管理されている1つのコードベースと複数のデプロイ ざっくり書くと 1つのアプリケーションに1つのリポジトリ。 同じコードを共有する…

TypeLiteralでParameterizedTypeを取得する

Jersey2ソースコードリーディングの旅、第二弾。前回は、型の旅をしてました。bufferings.hatenablog.com TypeLiteral ということでTypeLiteralに戻ってきたんだけど、Jersey2ソースコードリーディングといいつつ、こいつはHK2のソースですね。Jersey2はDIコ…

Jersey2のソースを読みながらJavaのジェネリクスの旅

Jersey2がどんな風にHK2を使って、DIをコントロールしてるんだろう?って気になって。なので、Jersey2のソースコード読んでみることにしました。何か分かんないことがあっても、うらがみさんがいるから、安心(๑•̀ㅂ•́)و✧ApplicationHandlerのinitializeとapp…