お問い合わせ

コース概要

モダン .NET プラットフォームの概要

  • .NET 8 ランタイム、SDK、統一プラットフォームの概要
  • .NET Framework、.NET Core、.NET 8+ の進化の比較
  • プロジェクト構造、ターゲットフレームワーク、マルチターゲットの基本
  • 開発環境とツールのセットアップ

最新の C# および未来志向の言語プラクティス

  • レコード、init-only セッター、および不変性パターン
  • パターンマッチングの強化と switch 式
  • Nullable リファレンスタイプとコンパイラ主導の安全性
  • async/await のベストプラクティスとメモリ効率の良いストリーミング
  • ジェネリック数学、インターフェース内の静的抽象化、およびパフォーマンス指向の API
  • .NET 8 上での C# 12/13 の機能へのコードベース準備

ASP.NET Core の基本とアプリケーションのブートストラップ

  • ホストビルダー、ミドルウェアパイプライン、およびリクエストライフサイクル
  • ミニマル API 対コントローラーベース API:判断基準
  • 構成プロバイダー、環境固有の設定、およびシークレット管理
  • 静的ファイル、ルーティング、エンドポイントの規則
  • 依存性注入コンテナの設定とサービス寿命(ライフタイム)

REST API の設計と実装

  • REST 成熟度モデル、リソースモデリング、URI デザイン
  • HTTP メソッド、ステータスコード、コンテンツネゴシエーション
  • リクエスト検証、モデルバインディング、FluentValidation の統合
  • 公開 API および内部 API 向けのバージョン管理戦略
  • OpenAPI および Swagger UI を使用したドキュメンテーション
  • TestServer および WebApplicationFactory を用いた API の統合テスト

エンタープライズ依存性注入と制御の反転(IoC)

  • コンストラクターインジェクション、サービス寿命、キャプティブ依存関係
  • ビルトインコンテナを使用したデコレーターおよびファクトリパターン
  • Scrutor およびサードパーティ製 DI ライブラリの統合
  • モジュール化されたサービス登録とフィーチャーベースの構成
  • ミドルウェアとフィルターを介した横断的な関心事項の処理

ロギング、構成、および集中型エラーハンドリング

  • Microsoft.Extensions.Logging および Serilog を用いた構造化ロギング
  • ログレベル、スコープ、エンリッチメント、およびシンク設定
  • 例外ミドルウェアおよびグローバルエラー処理パイプライン
  • ProblemDetails および RFC 7807 準拠のエラーレスポンス
  • ヘルスチェック、テレメトリ、および観測性フック
  • 相関 ID および分散トレースの準備

エンタープライズ .NET ソリューションのためのソフトウェアアーキテクチャ

  • 階層型、六角形、クリーンアーキテクチャの原則
  • .NET におけるドメイン駆動設計(DDD)のビルディングブロック
  • MediatR を用いた CQRS およびメディエーターパターン
  • EF Core を用いたリポジトリおよびユニット・オブ・ワークパターン
  • フィーチャー凝集性を高める垂直スライスアーキテクチャ
  • モノリシック、モジュラーモノリス、マイクロサービスのトレードオフの評価

Web アプリケーションと API 向けのセキュリティ

  • 認証スキーム:JWT、OAuth2、OpenID Connect、Cookie ベースのフロー
  • 認可ポリシー、クレームベースアクセス、リソースベースのガード
  • HTTPS 強制、HSTS、および安全なヘッダーミドルウェア
  • 入力サニタイズ、出力エンコーディング、OWASP Top 10 の緩和
  • レートリミッティング、CORS ポリシー、およびアンチフェルジャリートークンの処理
  • Azure Key Vault および環境駆動ローテーションによるシークレット管理

コード品質、保守性、ベストプラクティス

  • コーディング標準、EditorConfig、および dotnet format
  • Roslyn アナライザーおよび SonarQube 統合を用いた静的解析
  • xUnit を用いた単体テスト、Moq または NSubstitute を用いたモック
  • CI パイプライン内での統合テストおよび契約テスト
  • 長寿命レガシーモジュールのリファクタリング手法
  • ドキュメンテーション、API 契約、知識共有プラクティス

近代化戦略:レガシー .NET Framework コードの評価

  • ポートフォリオ分析:重要性、複雑さ、ビジネス価値に基づいたアプリの分類
  • .NET Upgrade Assistant および互換性アナライザーの使用
  • 非推奨 API、プラットフォーム固有の依存関係、サードパーティ製ギャップの特定
  • Windows 固有の API および WCF 移行の検討事項
  • リスクベースの優先順位付けを含む移行ロードマップの作成

段階的移行と共存技術

  • Strangler Fig パターン:レガシーサブシステムの増分的置換
  • API ファースト移行:.NET Framework ドメインを REST ファサード経由で公開
  • RabbitMQ、Azure Service Bus、または Kafka を用いたメッセージベースブリッジ
  • 共有データベースの共存およびスキーマバージョン管理戦略
  • 同一インフラストラクチャ内で .NET Framework と .NET 8 の並列実行
  • レガシーシステムは IIS に残したまま、モダンコンポーネントのコンテナ化

ハンズオン移行ラボおよびレビュー

  • 代表となるレガシープロジェクトへの Upgrade Assistant の適用
  • Web Forms または WCF サービスを ASP.NET Core API へリファクタリング
  • 移行済みソリューションへの DI、ロギング、および集中型エラーハンドリングの実装
  • 新しい API 表面域への認証と認可の追加
  • エンドツーエンド統合テストを通じた共存の確認
  • レビュー、質疑応答(Q&A)、およびトレーニング後の近代化計画ガイダンス

要求

  • C# プログラミングおよびオブジェクト指向設計原則に関する経験
  • Web 開発の概念(HTTP、HTML、CSS、JavaScript の基礎)への親しみ
  • リレーショナルデータベースと SQL に対する基本的な理解
  • .NET Framework または ASP.NET の既往の知識は有益ですが必須ではありません

対象者

  • レガシー .NET Framework アプリケーションの近代化に取り組む .NET 開発者およびアーキテクト
  • エンタープライズ .NET 開発の役割に移行するソフトウェアエンジニア
  • プラットフォーム移行および共存計画を担当する技術リーダー
  • .NET アプリケーションライフサイクルを支える DevOps およびインフラストラクチャスタッフ
 21 時間

参加者の人数


参加者1人あたりの価格

お客様の声 (2)

今後のコース

関連カテゴリー