2024-10-15 共有記事ログ

# 概要
現職の開発部のメンバーに共有した記事のログ

# 技術系
## [フロントエンドのテスト戦略ってどうすればいいの？](https://zenn.dev/coconala/articles/f048377f314507)
テストについての概要とフロントエンドのテストをどのように決定したかの記事です
各UIでユーザ操作による結果をテストする事が大きな利益になりそうですがなかなか導入もできていないので、これを参考にどのようなテストを増やすべきかを考えていくのが大事だと思いました

## [エンジニア向け一流デザインまとめ](https://qiita.com/nemo_Nuco/items/8c530b4cee8d5f600ab0)
実際のHPを用いてデザインの解説をしています
Webデザインを組むときはどこを気をつければ良いかが分かりやすく解説されていると思いました

## [ローカルテスト用SMTPメールサーバは Mailpit がオススメ！](https://qiita.com/ssc-ksaitou/items/e33409ac60235d93130f)
ローカルで起動可能な実際にメールが送られてしまわない確認用サーバの記事です
これを宛先に設定しておくとかなり安心なので是非使ってみてください！

## [ライブラリのバージョン管理ツールDependabotを導入しました](https://zenn.dev/coconala/articles/1bf6256bf11ec2)
GitHub が提供している Dependabot の概要記事です
パッケージのバージョンを自動的にアップデートするためのPRを作成してくれる機能もあるみたいなので全社的に導入を検討してみても良いかもとしれないなと思いました！


# マネジメント系
## [新入社員のオンボーディングをするエンジニアのための「メンターの心得」](https://devblog.thebase.in/entry/2024/10/09/110000)
メンターとなった人がどのように振る舞うべきかの実例の記事です
自分自身、新しく人が入ってきた際に自分の業務に追われているという言い訳をして、なかなか向かい合って話ができていないので、メンターとは違うかもしれませんが気を付けなければと思いました。
皆さんも新しく人が増えた際の考え方の一助になると思い共有します

## [All members must have leadership.](https://moneyforward-dev.jp/entry/2024/10/10/122716)
全員がリーダーシップを持つべきという内容を、具体的に説明している記事です
これをみて自分は、まずは具体的なゴールを設定しないことには全員がリーダーシップを発揮するのは難しいと思いました
もちろん売り上げを上げるという目標はあると思いますが、この目標は抽象的というか解像度が低いので、
逆に期間を区切った具体的な目標があれば全員でリーダーシップを発揮して村を成長させることが可能なのではと思います！
この村・会社の発展の一助となればと思い共有いたします！

# セキュリティ系
## [CSRFについて](https://zenn.dev/backtech/articles/5dfcf908bbcd20)
CSRFについての概要を記した記事です
普段フレームワークが良い感じにやってくれている事が多いと思いますが、こういった攻撃と対策があることを知っておくのは大事だと思います！


# To Intern
## [データ構造(キュー・スタック・配列・連結リスト・木構造)について](https://qiita.com/kyohei-jambo/items/0964a132a8e3f56f9534)
データ構造の基礎について、触りだけ紹介している記事です
プログラムを書く中で時折出てくるワードや構造になるので、知っておいて損は無いかと思います！

## [【図解解説】これ1本でGitをマスターできるチュートリアル！【完全版】](https://qiita.com/Sicut_study/items/0318cc136c189b179b7f)
Git の基本が書いている記事です
ざっと見て見たこと無いコマンド等があれば試しておくと良いかと思います！

## [JavaScriptの非同期処理をしっかり理解する　〜async/await/Promise〜](https://qiita.com/zuisho-1848/items/a33813b78a008083387b)
JS の async/await についての記事です
基礎的な内容になっているので、Promise や async/await についての理解がふわっとしている場合は目を通しておくと良いと思います！


# 共有するほどではないけど興味があったもので読んだもの
* [『LeanとDevOpsの科学』をきちんと解読する 〜Four Keys だけじゃ絶対もったいなくなる話〜](https://speakerdeck.com/bonotake/leantodevopsnoke-xue-wokitintojie-du-suru-four-keys-dakeziyajue-dui-motutainakunaruhua)
    * Four Keys は指標であっても改善目標にしてはうまくいかない。使うときはこれを念頭におかないとハックするだけになりそう
* [調査をして考えたこと](https://ramble.impl.co.jp/8099/)
    * 全てを残せるのが理想だけど、それが難しいので何を残すかを考える必要がある
* [DevelopersIO 2024 FUKUOKA Day2 にて『共通認識を生む、「例え話」のテクニック』というセッションを行いました #devio2024 #クラスメソッド福岡](https://dev.classmethod.jp/articles/devio2024-techniques-that-create-common-understanding/)
    * 正確さにこだわり過ぎないは気をつけないと
* [GitHub Actionsを活用したワークフローのコツと教訓](https://tech-blog.rakus.co.jp/entry/20241007/github_actions_tips)
    * 気をつけるべき内容。覚えておく
* [AWS Ambassador Global Summit 2024 参加レポート](https://engineers.fenrir-inc.com/entry/2024/10/08/084419)
    * 詳細が語れないせいで旅行の感想文みたいになってる…
* [Workflowsでワークフローから他のワークフローを並列実行してみる](https://dev.classmethod.jp/articles/20241007-workflows-con-run/)
    * Google Cloud の機能
* [“逃げずに事に向き合う姿勢”は自身の過去の後悔から学んだ。過去のインシデントをもとに振り返る、ダイニーとは。](https://note.com/dinii/n/n781ae517d02f)
    * 緊急時の対応策をしっかり考えておくと安心ですね
* [単純な実装でみんなの負担を減らした話 〜サイトカスタマイズ機能の開発物語〜](https://tech.commune.co.jp/entry/2024/10/08/181000)
    * ダラダラと長い。この内容ならもっと要約して読みやすい記事にできただろうに…
* [Workflowsで別のワークフローを並列実行した時に割り当て上限まで並列実行できるか検証してみた](https://dev.classmethod.jp/articles/20241008-workflows-con-run-limit/)
    * 並列処理でガッツリやりたいなら結構使えそう
* [開発用適当ツールはGoで作るのがオススメ](https://qiita.com/ssc-ksaitou/items/6c66669f1672806ac9bb)
    * Goで書くの有りかも
* [OpenAPI generatorを試してみる](https://qiita.com/amuyikam/items/e8a45daae59c68be0fc8)
    * 当社でも OpenAPI を普及させるべきだろうか…
* [要件定義｜2分で読める機能要件で使うドキュメントを調べてみた](https://qiita.com/ho_na/items/002181393b67cb16af4f)
    * 種類が多くて全部作るのは無理だよねw
* [アクセスキーを使ったaws-cliはもうやめよう！](https://qiita.com/s_moriyama/items/14b703cc0dfa91a6f464)
    * CLIを利用するときも意外と手間はかからないかも
* [Google推奨アーキテクチャとClean Architectureの違い](https://qiita.com/Nagumo-7960/items/2d810a2aafaadcd81bbf)
    * Clean Architecture もちゃんと学んでいないので違いがピンとこない
* [ある戦力外通告をされたフリーランスエンジニアから学んだこと](https://qiita.com/SFITB/items/acd9336ccedd68d3e1ed)
    * 自分にも苦手分野を補えるだけの良い面を作れるように頑張る
* [【個人開発】私が作ったサービスが"悪"になる日が来るかもしれない](https://qiita.com/Sicut_study/items/cacd46c6114ab33bb879)
    * 普通にAI使うだけでもこの問題は解決しそう
* [Web 開発者にとって必須の 100 の無料リソース](https://qiita.com/violetalexander120/items/22f43bd74209b84303a1)
    * 参考にしてみる
* [品質の3要素をWebアプリケーション開発の視点で考えてみた](https://qiita.com/MasanoriHarada/items/03e91964aa0ead08b06c)
    * 仕様を考える時の参考になる
* [仕事でマウスを使ってない自分が使っている効率化PCテク｜便利ショートカット](https://note.shiftinc.jp/n/n64ec155cd9a8)
    * Windows ユーザ用
* [AWSの勉強をこれから始めたいと思う人にむけた学習アドバイス](https://note.shiftinc.jp/n/n3f9334999cfe)
    * 初学者用
* [その先に進むためのモジュラーモノリス再入門](https://zenn.dev/loglass/articles/d2ea268a7522be)
    * 既存システムはモノリスが多いが、個人的にはモジュラーモノリスかマイクロサービスを取り入れたい
* [PHPUnitの実行時に出ていた不要なログを出力しないようにした話](https://developers.prtimes.jp/2024/10/10/clean-phpunit-log-output/)
    * Logger は良いが言語の Notice を消すのは慎重に判断する必要がありそう
* [なぜ「勉強」を続けることは難しいのか？](https://zenn.dev/rescuenow/articles/14c01e19593861)
    * ノイズを楽しむというのは新しい視点だと思った
* [エンジニアの学びの場を作るDevRelの誕生](https://note.shiftinc.jp/n/ne86f6e326196)
    * 当社では学びの場としては難しいかもしれないけど、技術的な発信は会社としてやってみても良いのかもしれないなと思った
* [コミュニケーションのコストに関する感覚を持つ](https://dev.classmethod.jp/articles/cost-of-communication/)
    * 言うは易し系の内容。見極めが難しい

# 社内でおすすめされたので読んでみた記事
* [トヨタ生産方式](https://global.toyota/jp/company/vision-and-philosophy/production-system/)
    * この考え方はIT分野の開発でも多く考えられており、その手法は多く提案されています
    * あとはそれを実践する時間と知識があれば、当社でもどんどんカイゼンできると思いました
* [トヨタ式「カイゼン」とは？](https://hibiki.dreamarts.co.jp/smartdb/learning/le210719/)
    * 5Sの概念はプログラミングにも大きく影響しています
        * 整理:デッドコードをなくす事で目的の場所をすぐに見つける事ができる
        * 整頓:気付かずに車輪の再開発をしないように、必要なものに簡単にアクセスできるようにドキュメントを整える、定期的なリファクタリングを行う
        * 清掃:コーディング規約を定めて、違反コードを消す
        * 清潔: CIによってその状態が維持されていなければ警告を出す
        * 躾:相互レビューで当たり前の環境を構築する
    * しかしこれらはコストをかけずにできるものではないので、長期的な利益のために会社として取り組む必要があります
* [技術的負債とどうやって戦うか](https://qiita.com/kamykn/items/ad687e772da454e3f614)
    * ボトムアップできる文化作りから始める必要がありそう
    * 負債は細かく返したいが、その時間を自分が作れないから誰かやってくれないかなが本音かもw
* [「技術的負債」への処方箋と「２つのDX」](https://qiita.com/hirokidaichi/items/64b444a89410190d965f)
    * エンジニア以外に伝えることが難しい内容を無料で公開してもらえているのはとてもありがたい
    * チーム内での共有必須
* [良いコードとは何か](https://note.com/cyberz_cto/n/n26f535d6c575)
    * 概ね納得できる内容だったけどスタンプ結合だけは個人的に思うところがあった
    * 確かにプリミティブなデータだけでも完結できる内容であればそうするべきだが、受け取るものに制約を設けたり、外でDBから取得したデータを持つinstanceがあるのに、あえて内部にIDだけ渡して再取得させるなどを行うくらいなら、instanceを渡す方が良い場面もあると思う