12月24日~12月31日に読んだ技術記事

Posted date at 2023-12-24

インプット

月10万円の売上を目指して、個人開発でやったこと全てを公開

https://qiita.com/AJCode/items/6659b8d21619ea4a8f5c

UIはすでにある良いものをパクる

初めての転職活動に役立つ情報を実体験を元に丁寧に解説【職務経歴書 / 企業研究 / 面接対策】

https://qiita.com/keynyaan/items/358a4004867f916f162b

まずは良質なアウトプットを作ってから、企業への応募を行うことをおすすめ

特に理由がなければ、各種サービス(Google、Qiita、GitHubなど)のアカウントIDは統一しましょう。

Docker が俺の Postgres を勝手に全世界に公開しやがって色々怒られた話

https://qiita.com/isso_719/items/c22e617986c821b2f624

Dockerはデフォルトでは、全ての外部ソース IP アドレスから Docker ホストに接続できます。

フロントエンドサーバもバックエンドサーバも、全てプロキシを通じずにアクセスできるようになる。注意が必要

DB初心者が自作DBMS始めてみた

https://qiita.com/yamoyamoto/items/e86b5d081a42810ba920

先人の素晴らしい自作DBMSの解説記事&ソースコードリーディングが有益

マネーフォワード CTO が考えていること(2023 年 12 月)

https://moneyforward-dev.jp/entry/2023/12/25/090000

DBを1つに集約すると負荷によってスローダウンしたり、1人のユーザーによってサービスが利用停止に追い込まれたりする

マイクロサービス化

会社設立から4年半で積み上げた負債の解消に8年かかる

CTOに必要なものとは

CTOは、技術とビジネスの両方の言語を理解し、両者の間のコミュニケーションと協力を促進します。技術的な洞察がビジネス戦略に統合され、より効果的な意思決定が可能になります。

特定の技術の専門性よりも一通りの技術に6割の理解度があることが大事

経営スキルも必要(財務管理、プロジェクト管理)

ソフトスキル(リーダーシップ、ステークホルダーとのコミュニケーション)

サービス開始から12年、100名規模組織のCTOってなにやってるの? in 2023

開発効率を追い求めた実装プラクティス集

https://zenn.dev/micin/articles/effective-development-practices

データとコードの分離を心がける

CQRSを採用する

私が考えるマイクロソフトで成功、活躍している人

https://qiita.com/Takashi_Masumori/items/f0e7142c57762821e3e0

アピール、自己主張のバランスがうまい

出し惜しみせずアウトプット(ナレッジ共有、社外コミュニティに参加など)

【他のSPAでも】Vue3でアプリ作るならこれを入れろ!2023 ver【使えるよ】

https://qiita.com/k2-kanda/items/42e7df9a578495a5a215

simple-git-hooks Githooksに応じたスクリプト実行が可能

zod … バリデーション

Vitest … テスト

Testing Library … テスト

MSW … APIサーバーのモック化

【nginx】CloudFront, ALBどちらからのリクエストでも適切なremote_addrを取得する【php-fpm】

https://qiita.com/2357gi/items/af37d03d623fcf700674

CloudFrontをアプリケーションの前段に挟む⇒nginx側でX-Forwarder-forを使用してuser側のIPが取得できない

AWS CDKの学習方法 ドキュメントや学習コンテンツをまとめてみる

https://dev.classmethod.jp/articles/aws_cdk_learning_method/

リソースを読んでCDKをもう少し理解する

サンプルが欲しい場合、APIリファレンスのOverViewを参考にする

AWS CDK とは

https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/home.html

メリット

  • 少ないコードで多くのインフラを定義
  • システム設計をモデル化する
  • インフラ・アプリケーションコード、構成を一元管理できる

[AWS Black Belt Online Seminar] AWS Cloud Development Kit (CDK) 資料及び QA 公開

https://aws.amazon.com/jp/blogs/news/webinar-bb-aws-cloud-development-kit-cdk-2020/

AWS CDKでクラウドアプリケーションを開発するためのベストプラクティス

https://aws.amazon.com/jp/blogs/news/best-practices-for-developing-cloud-applications-with-aws-cdk/

  • チームで使う場合には運用のガードレールとなるルールが必用

ベストプラクティス

  • シンプルな構成から初めて必要に応じて複雑な構成に変更
  • すべてのアプリケーションは1つのリポジトリにある1つのパッケージから始める
  • インフラストラクチャコードとアプリケーションコードを同じパッケージにする
    • LambdaやDockerイメージのデプロイを処理できる
  • Constructライブラリのベストプラクティス
    • StackではなくConstruncでアプリをモデル化する
      • Stackはデプロイの単位
      • 複数のConstructをStackにまとめ運用する
    • 環境変数ではなく、APIで設定する
      • 環境変数を参照するのは最上位レベルのみであり、その場合でもローカル環境での開発に限定するべき
    • インフラのユニットテスト
    • ステートフルなリソースの論理IDが変更されていないことを保証するテストを書く
  • アプリケーションのベストプラクティス
    • デプロイ時ではなく、合成時に決定する
      • sdk synthするときにアプリケーション側で行うようにする
    • 自動で生成されるリソース名を使用し、物理的な名前を使用しない
    • デプロイ要件に応じてアプリケーションのStageを複数のStackに分割する
    • AWS CDKでロールとセキュリティグループを管理できるようにする
    • すべてのStageをコードでモデル化する
    • すべてを測定する
←ホームに戻る