エンターテイメント!!

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

【Java】JJUG CCC 2022 Spring参加報告

公式サイト

JJUG CCC 2022 Spring

参加セッション

  • 開発者にやさしく、柔軟性、安全性を高めたGithub ActionsベースのCI/CDを構築する
  • Java で作るカスタム GitHub Actions

参加理由

ネタ探し&恒例行事のため

感想

メモ書き程度です。。。

開発者にやさしく、柔軟性、安全性を高めたGithub ActionsベースのCI/CDを構築する

  • CI/CDのタスク→なるべく小さなタスクに分割する
    • 必要な作業のみしたい場合に対応しやすくなる
  • actions/cache → ライブラリのダウンロード短縮ができる
  • flyway → DBマイグレツール。springと相性がいい
  • デプロイの効率化→デグレ確認・テスト作業の時間確保がしやすくなる
  • 環境ごとのブランチ→テストしたものが本番にあがっているのか判断しにくい。
    • 早い開発をしていくと、ネックになっていた。

Java で作るカスタム GitHub Actions

  • カスタムアクションは、そこまで面倒ではない
  • 好きな言語で作成できる
  • 他タスクと連携しやすいように、引数で挙動制御できるようにする
  • 文字列の扱いが煩雑になることは、なるべく辞める

「サポート」は製品開発? - JDBCライブラリ屋さんが実践する攻めのテクニカルサポートとJavaエンジニアのキャリアについて -

  • 質問をニーズと捉える
  • サポートできるシナリオを増やす

サポートにネガティブなイメージが多いのは、障害対応と同じ作業をするイメージが多いから。
バグ修正でいい思い出がある人って少ないと思うんだよね。。。
しかも、間違いを公然の場で指摘されるから、辛そうってイメージがあるんだと思う。

APIをラップしてSQLライクにアクセスできるってわけか。。。
ドライバの問題、利用するサービスのAPIの問題とか、いろいろな問題が凝縮されてそう。。。
twitterjdbc経由でデータ取れるんだ。。。

話を来ていて、どっちかというと、プロダクトマネージャーに近い気がした。
組織構造が気になった。

Java初心者が知っておくべきプログラミングのこと

  • 変数の難しさ:再代入とかしてると、それをおいきれてないために分からなくなる
    • ループがない→変数の再代入がない→状態保持しない→理解しやすい
  • オブジェクト志向:過度な適用をして難易度を上げている

過度な適用をしている例は結構ある。無駄なsetter/getterがそのいい例。
プログラミングが難しいと思われるのは、いろいろな問題が複合しているのを細分化できずに苦戦して、解決できる前に挫折する人が多いからだと思う。

  • readcode
    • in/outでなんとなく読める
    • 短い時間でやれる

AtCodeは、前に挑戦したことあるんだけど、入力した内容が全部消えてやる気がゼロになった

脱二重メンテナンス!ドキュメント自動生成への道

  • openAPI
    • swagger = openAPIのツールセットの一つ
  • テーブル定義書:schemaspy
    • DBからメタ情報を読み込んでドキュメント生成

swaggerって、結構簡単に導入できるんだな。
実際に動いているものからドキュメントを生成するのが、今の流行りなんだと思いました。

挙動が分からないときは、ソース見ろってことですね。。。

Javaのビルドやバージョンの違いをグラフデータベースで理解する。移行で困らないための知識グラフを作ろう。

あんまり利用用途がピンと来てない。

テストコードの注入から始めるレガシーコードのリファクタリング

  • テストはいっぺんに全部かかない
  • カバレッジを確認しながら進める
    • 100%を目指すのではなく、通っているところをリファクタリングする、通ってないところを通すテストケースを書くために利用する。
  • テストの目的を理解し、不要・重複するテストケースは削除する
  • モックはなるべく使わない。前提を間違うとテストも間違える。使うなら前提条件の確認もする

テストコードは、IntelliJだとTestMe使って、Mockito+JUnit5で作ると楽
実際の業務に耐えられるものかは知らないが、個人でやるレベルでは、問題ない。

テストクラスのメソッドに日本語入れるのは、賛成派。
半角全角の切り替えが面倒だから、あんまり使わないのが現状だけどね。。。

気になったもの

  • flayway
  • actions/cache
  • readcode

あとで調べるか。。。

感想

そう言えば、マイクロサービスってワードが頻出しなくなったな。
バズワードでは無くなったのだろう。

セッション聞いても、なかなか質問ってし辛い。。。
経験を聞くだけだと、「へぇ~」になってしまいがちなのをなんとかしたいと思ってる。
バカの壁が超えられてないなぁ~と個人的に感じている。
知識がないわけじゃないんだけど、たぶん、当事者意識が、今は低いのだろうと感じた。

アンカンファレンスの方に言ってみるべきだったかもしれないとは、後々思った。