タグ

ブックマーク / zenn.dev/ficilcom (5)

  • バックエンドTypeScriptでオニオンアーキテクチャを運用してわかった手応えと反省点

    弊社ではT3-Turboを導入しており、フロントエンドNext.js、サーバーサイドにNestJSを採用しています。 記事では特にサーバーサイドのアーキテクチャに焦点を当て、私たちが実践しているドメイン駆動設計(DDD)について、その運用から見えてきたメリット、デメリット、そして今後の課題を考察・共有します。 1. アーキテクチャの全体像 弊社ではDDDの実現方法としてオニオンアーキテクチャを採用しています。 クリーンアーキテクチャではなくオニオンアーキテクチャを選択した理由は、後者の方が usecase(アプリケーション層)と domain(ドメイン層)の境界がより明確 であり、「ビジネスの関心事をドメインとして独立させる」という私たちの設計思想と強く合致したためです。特に、オニオンアーキテクチャがドメイン層からアプリケーション層への依存を許さないという原則は、私たちが目指すドメイン

    バックエンドTypeScriptでオニオンアーキテクチャを運用してわかった手応えと反省点
  • ルールファイルはプロジェクトの暗黙知を減らすから今すぐ書け

    目的 チーム開発においてルールファイルを書くことが効果的であることを実感したため、その実現手順を実例を交えて紹介をすること。 なぜルールファイルが暗黙知を減らすのか 暗黙知を減らすとは、それすなわち知識が明文化されることです。ルールファイルを書くことでプロジェクトのルール(知識)が明文化されるため、暗黙知を減らすことに直結します。 なぜ暗黙知を減らしたいのか 様々なメリットがあります AIや新しいメンバーのキャッチアップを早めるため 既存のメンバーの認識の齟齬をなくすため 属人化を防ぐため ルールの明文化 周知の事実ですが、AIコーディングエージェントにルールファイルを提供すると出力の品質が上がります。したがってプロジェクトAIファーストにするためにはルールファイルの整備は欠かせません。 残念ながらzoomやslackの会話を見聞きして勝手にルールを覚えてくれるようなインテグレーションは

    ルールファイルはプロジェクトの暗黙知を減らすから今すぐ書け
  • Claude Code を Serena MCP で強化しよう!Cursorとも連携するよ。

    対象読者 この記事は「AI駆動開発に入門する前の自分自身」へ向けて書きました。 同時に「AIを駆使した新しい開発スタイル」に関心をお持ちの皆さまのご参考になれば幸いです。 Serena MCPの利点 最初にSerena MCPを紹介しつつ、導入のメリットを簡単に整理します。 Serena MCPはローカル環境で動作するコーディングエージェントツールキットで、AIエージェントがコードを参照したり探索するのをサポートします。Serena MCPを利用することでAIエージェントはこれまで以上に正確なコード生成や提案ができるようになります。 また、Serena MCPのデータ処理はすべてローカルで完結するため、APIキー等は不要で外部通信は発生せず、セキュリティ面でも安心して利用できます。しかもOSSなので無料です。 従来のIDEの参照/探索機能は、言語サーバープロトコル (LSP) による構文解

    Claude Code を Serena MCP で強化しよう!Cursorとも連携するよ。
  • 技術負債って200種類あんねん

    はじめに タイトル間違えました、技術負債は200種類もありません。あと、別に技術負債を褒めたいわけでもありません。しかし、技術負債って言葉としてはシンプルなのに、中身が複雑すぎて深掘りすると意外と無限に出てくるやつです。実際には200種類あるかどうかは別として、技術負債をカテゴリ分けしました。 以前、技術的負債に言及した記事は以下になります。 筆者は、技術負債について、もっと具体的かつ詳細に議論が行われるべきだと考えています。(どのタイプの技術負債か、そもそも解消すべきかどうか、解消するとしたらどれくらいのコスト/期間がかかるのか、など) では、記事の題へGo コードレベル 重複コードで迷路状態 スパゲッティコードで胃もたれ 命名規則がカオス 魔法の数字(マジックナンバー)まみれ 使われてない関数やクラスが散らばる墓場 アーキテクチャレベル 「その時は良かった」設計 モジュール間の依存

    技術負債って200種類あんねん
  • AIの出現で、エンジニアの頭数が足りないという感覚がなくなった

    はじめに 弊社ではCursorを導入していますが、Cursorの他にも何らかの生成AIが開発現場に定着したと思います。 昨今、生成AIの急速な発展によって、エンジニア不足の問題に対する感覚が大きく変わりました。かつては「とにかくエンジニアが足りない」という課題が開発現場の大きなボトルネックでしたが、AIの登場により、単純作業や定型的なコード作成はAIが代替するようになりました。 AI前提で開発を進める いかにしてAIを活用できるように寄せるか、を基準にして開発を進めるようになりました。具体的に弊社で取り入れたこととしては、 デザインをv0を前提にしているため、標準出力であるTailwind CSSやShad/cnを採用 DDDやクリーンアーキテクチャにより、SOLIDなコード規約を遵守 生成AIを使わないのはあいさつできないのと一緒 現在、生成AIエンジニアにとって欠かせない日常ツールに

    AIの出現で、エンジニアの頭数が足りないという感覚がなくなった
  • 1