エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

JJUG CCC 2020 Fall 参加報告

各種リンク

doorkeeper

【オンライン】 JJUG CCC 2020 Fall - 日本Javaユーザーグループ/Japan Java User Group | Doorkeeper

感想・まとメモ

jq を使いこなして、開発効率アップ

まとメモ

  • フロントとバックエンド推移

    • 前まで→サーバーで動的にHTML作成
    • 今→UIとサーバー処理で役割分担。両者の更新サイクルが違う
      1. データの受け渡しにJsonが普及
      2. jsonを読むツールが必要になった
  • jqのメリット

感想

  • 動画は、すでに撮影済みのやつを流してる?
  • 途中から、ゆっくり実況みたいな感じのやつが流れてたな。。。
  • データのアクセスは、javascriptチックでできる
    • jqが描かれてる言語は、javascriptなのかな?
  • フィルター周りから、ややこしくい。。。
    • 実際に使わないと、所見で理解は難しい。
    • あとで、調査
  • コメントがつけられる活用事例は、ちょっと厳しいな。。。
  • jsonの編集やスクリプトによる生成は、jqに慣れてからじゃないと難しそうな気がする。
  • 見るツールとして利用することしか頭になかったが、シェルで編集に使ったりもできるのが、新しい発見だった。

雑記

たまに、jsonビュアーとして使っていたけど、深い階層を読むためのツールが、まだ見つけられてない。
階層が分からなくなることが多い。vscodeで見てたりしてたけど、キツかった。jq使っても解決はしてない。使い方の問題かも知れないが。。。
jsonの深い層でも、迷わずに見れるやつはないだろうか?
音認結果や字句解析結果がjsonで帰ってくるのだが、似たような結果がいくつもあるので、階層を見間違えると、間違った方向でプログラミングしちゃって、手戻りあったりするのが辛かった。

結果整合性ができない開発者のドメインイベント活用例

感想

ドメイン駆動の話は、小難しい感じがどうしてもしてしまう。
個人的な理解としては、コードにストーリーをもたせる認識でいる。
やることに視点を置くのではなく、話の流れができるようにコーディングするのが、ドメイン駆動だと思ってる。
イベントは、タラレバのケースを書くだけの認識。

途中離脱

パフォーマンスのトラブルシュート入門

途中参加

まとメモ

  • 計測結果の分析
    • 結果の可視化
    • 正常と異常時の比較
    • 情報が足りなかったら、再計測

感想

再計測の判断が難しい気がする。
情報が足りないかどうかは、自分では判断できなかった。
パフォーマンス分析は、何回かしたことがあるが、可視化が面倒なイメージ。
だから、そういう可視化のツールが流行ってるんだと思う。

分析方法は、ログを正規表現で集計してやるってのが、今も変わらず主流か。
進化したのは、集計したものの表現方法かな?
どうやって見せて分析を楽にするかが焦点になるのだろうな。

分析するために、統計の知識とかあったほうが良いのだろうか?

Project Reactor でノン・ブロッキング、非同期処理を実装してみよう !!

まとメモ

  • mono→リソース1つに対して使う
  • flux→複数リソースを扱う場合に使う

感想

Mono?Flux?聞いたことあるけど、よくわかってない。

Reactive Streamsは実装じゃなくて仕様ね。

publisherは、デザインパターンのobserverみたいなやつだっけ?
前にreactiveについて調査したとき、そんな感じがした。
reactiveは、処理の方式を語ってるものが多い気がする。
最初、実装のことだと思っていたが、概念の話って理解するのに、時間がかかった記憶がある。

やってることは、効率的にリソース使いましょうねって感じかな?
ノンブロッキング処理は、リソースの専有期間を極力少なくしましょうって理解でいる。
クラウドでリソース共有することが多くなったから、こういうのが出てきたと思う。

pub/subは、pythonとかJSとかで、よく見かけるワードだね。

Java開発で感じたコードレビューと単体テストの体験談

ツール紹介はスルー

メンバー編の感想

実装者一人の時点で危険な香りが。。。
あぁ、数字だけみて、現状が理解できてないパターンだな。
人月は、増員したら解決というわけではない。増員したときのコストを度外視するのは、炎上でよくあるパターンだと思う。
増員した全員が、同じスキルで同じ知識だったら、通用するかも知れないが、無理だろ。。。
遅延が発生したときの責任が、どこに行くんだろうな。。。
こういう場合、だいたい現場の人が過剰に責任感じると思うんだよね。。。

これは、ビッグバンテストになる流れだな。。。

最終的に、訴訟問題になってそう。。。

リーダー編の感想

これは、メンバーのときで感じたことを、リーダーでもやりそうだな。。。

嫌われる勇気が足りなかったわけか。。。
断る勇気は、この業界では重要。

規約は、リーダーが作らないとダメなのでは?
レビューする人が作らないと厳しい気がする。
やっぱり、規約作った人がレビューするよね。

レビュー軽減は、findbugscheckstyle使うことが多い気がする。
マクロで対応は、そうとう正規表現に詳しくないとできない気がする。

自分は、メソッド名を付ける場合、codicを参考にすることが多い。
自分がいいと思うものより、一般的な命名を優先する。
最優先は、プロジェクトの語録だけど、それ以外ならcodic。
codicになければ、自分の経験則を信じるようにしている。
今の現場、外部とネットワークがつながらないから調べられないのがキツイんだよね。。。
ここでは、その話が出てこないな。。。
さすがに、ネット使って調査できる環境か?

フォーマットにこだわるのは、自動生成が目的だと思うけど、フォーマットを守ることが目的化していることがたまにある。
一番きついのは、フォーマットすらない記述箇所。
緩いくせに、レビューでフォーマットのことを指摘しだしてくる現場だったら、最悪だと思う。

規約は、なるべく無くしたほうがいい。
できれば、規約外になる実装は動かないようなFWならなお良い。
規約違反は、気づくタイミングをなるべく早くする処置が必要だと思う。

問題の先送りしないには、共感する。
プラスで、問題を早期発見する仕組みが必要だと思う。
問題に気づいた頃には、対処方法が限定されてることが多々あると思うんだよね。
時間の余裕があるときに気づける工夫が必要だと思う。

Head toward Java 15 and Java 16

まとメモ

  • Incubator→試験モジュール
  • Preview→試験機能
  • Standard→標準機能

Incubatorは、知らんかった。
だいたい、見るのは、PreviewかStandard

Java15

自分が調べた結果のリンク張っておく

suzaku-tec.hatenadiary.jp

JEP375

バインディングしてる値は、書き換え不可か。
調査したときは、概要把握だけだったから、そこまで見てなかったな。。。
よくよく考えたら、書き換えできたら不味いよね。

過去の調査リンクを張っておく

suzaku-tec.hatenadiary.jp

JEP384

DTOとかに利用するのが多いかもね。 Reflectionでも変更不可か。。。
jUnitとかで自動テストする際は、作りを工夫しないと苦労しそうな気がする。

JEP360

なるほどね、網羅性の確認がコンパイル時点でわかるわけか。
実装のメリットばかり気にしていたから、気づけなかったわ。。。

Java16

JEP381

ベクトル演算向けっぽいから、内容はよく分からなかったな。。。
科学計算とかで使うのだろうか?

Java 開発者のためのバイナリ管理入門

まとメモ

  • BinOps→バイナリ中心のCI/CDの自動化

感想

バイナリ管理は、バイナリ用のVCSを立てれば良いのではなかろうか?
プレーンテキストと混ぜるからややこしくなる気がする。

ブランチ管理をやってくれるって理解でいい?
使ってみないと、自分の知識レベルだと、理解が厳しい。。。

マイクロサービスアーキテクチャをあきらめないための、モノリスで始めるアーキテクチャテスト

感想

初期からマイクロサービスは無理だと思う。
いきなりマイクロで作ると、工数が多くなり、破綻のリスクがあると思う。
まずは、リリースを安定させることが重要な気がする。

ルールは、作るより保つほうが難しい。
ここは、やはり、同じか。。。

依存関係のテストって、どうやってやるんだ?
何を見てテストしてるんだろう?

ArchUnitは、気になった。

テストが失敗したときは、どうするんだろう?
テスト失敗=違反or設計が間違ってたのどちらかだと思うが、開発者レベルだと難しい気がするが、誰かにアラート上げるのかな?

FW作ってるところは、ArchUnit提供して欲しいなと思った。

TODO

  • ArchUnit試す

全体感想

昼休憩なしでぶっ続けなんだな。。。
ちゃんとタイムテーブル見ておけば良かった。
昼飯を事前に買ってくれば良かった。。。

オンラインになって、人数制限がないから、人気のセッションがちゃんと見れるのは良かった。
オフラインだと、どうしても部屋の制約がかかってしまうからな。。。
今回は、見たいものがちゃんと見れた。 あと、複数セッションを同時に見れるのは、新鮮だった。
僕は、聖徳太子ではないので、複数を同時に見るのは無理だったが。。。
あとは、他人の目がないので、飲食しながら見れたり、ながら見ができるのは気楽だった。
あと、セッションを途中で抜けたりできるのも良かった。
オフラインだと、無言の圧力で抜けにくいんだよね。。
セッションを拝聴して、なんか思ってたのと違った場合に、気軽に抜けられるのは良かった。

音声が乱れるときがたまにあった。
字幕付きの映像だとなお良かった気がする。

そういえば、IoTとかに関するセッションがなくなったな。
流行期は去ったのだろう。
今は、なんだろう?
パフォーマンス系が多かった印象がある。
今年は、インフラ周りが多いなって思った。
役割分担が進んだ結果なのかも知れない。