Kashibuchi’s blog

勉強のこと、趣味のこと、日々のこと

JJUG CCC 2022 Fallにオンラインで参加しました

今までは視聴して手元のメモに書き留めるのみだったのですが、 折角オンラインでセッションをしちょいうできるのなら、見ながら記事を書いてしまえ、と思いやってみます。

AWS環境におけるSpring BootアプリケーションのCI/CDをCircleCIで構築した話

視聴を決めた私の動機

  • CI/CDに興味があるがどうやるの?
  • 配属先でCodeCommitを使用しているので、導入ハードルは低いので自分にもできるかなあ

メモ

アプリの構成

  • AWS × Spring Boot × CircleCI
  • EC2にてSpring Bootアプリを配置
  • ECSにてSpring Batch/Spring Boot
  • Gradleのマルチプロジェクト

CircleCIの構成

  • DBUnitでCircleCIにてMySQLを起動して実行(H2と微妙にことなるのでDBUnitが通らない)
  • SpotBug、CheckStyle、Unitテストの実行は並列実行

自分の感想

  • 調べたら、CircleCIって有料なのね。でも考え方は他の何を使っても一緒だろうし、お手本になるかも。
  • テストデータ投入は別途手で行うとあった。事故の元だということで。もう一度、その部分だけ聞き直したいかな。

聞きながらググったもの

circleci.com

Git 未経験者が GitHub Actions で CI/CD できるようになるまで

視聴を決めた私の動機

  • CI/CDに興味

メモ

  • ブランチ戦略を明確に定義しておく事が肝要
  • 無料分を枯渇させないのは大事(有料でも予算的に許される範囲で使う)

自分の感想

  • 新しいことの導入の苦労はあるよなあ。調査検討して、あとは教えて習熟してもらっての流れはちゃんと作らないと回らないなあ。

LINE NEWSにおけるJava移行の5年間の歩みとこれから

視聴を決めた私の動機

  • Javaを選ぶってどういうことなのかな、という興味
  • LINE NEWSってJavaなんだ!びっくり!

メモ

  • なぜJava
    • Perlエンジニア不足
    • LINE社内ではJVM言語向けのエコシステムが充実している
  • 機能開発を止めないために
    • 新機能はJavaで、機能改修もできるだけJavaへリプレイス
    • API仕様は変えない
  • Perlを理解できないと既存の実装の理解が難しい
    • Perlエンジニアが実装をドキュメントに起こす
  • 使われなくなったAPIの削除
  • 発生した問題
    • 言語仕様差分については開発時にローカルで解消できたのであまり問題にならなかった
    • 負荷の問題
      • GC
      • Memory leakやRace Comdition
      • 負荷テストは実行基盤を整えて、CI/CDで自動化、デイリー実行しているそう(QAより)

自分の感想

  • トラフィック大きいな……。限られた人しか使わない業務アプリケーションしかやったことがないから、どう対処しているんだろう。負荷・性能試験とか。
  • 負荷によるRedisのレスポンスタイムアウトの件、解消までの道のりが難しい……。すごいなあ。ググって質問サイトを見るだけではなく、公式ドキュメントを読み切る力はやっぱりつけておかないとだめだよねえ…。英語の勉強しなきゃ。

聞きながらググったもの

tech.askul.co.jp

github.com

入門:テスト技法とJUnit

視聴を決めた私の動機

  • テストを書く文化を浸透させたいのでそのヒントに

メモ

  • JUnit オリジナルの作者 -> Kent Beck、Erich Gamma
  • 新規にテストを書くならJUnit5
    • すべてを4 -> 5に書き直すメリットはない
  • Extension
  • テストしやすいコード!
    • メソッドはなるべくvoidにしない
    • 副作用のあるメソッドはなるべく少なくする
    • 外部システムにアクセスする箇所はなるべく少なくする
    • 日時、ランダム値は引数で渡す

自分の感想

  • 自分が知っていることの復習だなあ、という感じ
  • 聴きながらカバレッジ100%は目指したいけど、境界値はレポートに表れないから結局ソースレビューしないと良くないよね
  • あれ?うちのチームソースレビューしてないよね???

Java開発ツールのあれこれ ~便利そうなツールを色々集めてみた~

視聴を決めた私の動機

  • 知らないツールでよさそうなのがあれば導入したいなあ

メモ

  • SpotBugs使いたいけど、コーディング中に毎回実行する営みにするか、CIができていないとだめだなあ
  • Error Prone
  • ESLint ‐ Jenkinsのトレーニング、資格なんてあるんだ!

自分の感想

  • ArchUnitってあったなあ。別のセッションというか、別のイベントで知ったが。

Javaの入門が終わったら何の勉強をすればいいの?

視聴を決めた私の動機

  • さすがにJava初心者ではないけれど、業務で必要になったなど、行き当たりばったりに学習をしているので、もっと指針を決めないとこの先つらいかなあ、と不安になっているので。
  • 業界に入るのが遅かった & あまり開発に関われなかった & 不安になった割に個人学習が足りない自覚もある

メモ

自分の感想

  • 「期限はないのでじっくりやりましょう」が心強かったです…。自分に焦りがあるので。