スキップしてメイン コンテンツに移動

投稿

注目の投稿

【Day 36】深い名前空間でのパス長260文字制限の解除(core.longpaths)

最近の投稿

【Day 38】.devcontainer/devcontainer.json の作成とGit管理 〜開発環境のIaC化とチーム統一〜

▲ Day 38: .devcontainer/devcontainer.json の作成とGit管理 〜開発環境のIaC化とチーム統一〜 🐳 「推奨VS Code拡張機能一覧をWikiに書く」のは、今日で永久に卒業しましょう! 前回のDay 37では、ホストPCを一切汚さずにコンテナ内で開発を完結させる「Dev Containers」の革新的なアーキテクチャを学びました。 では、実際のチーム開発でこの環境を共有し、メンバー全員のPC環境を100%統一するにはどうすればいいのでしょうか? その答えが、プロジェクトルートの .devcontainer/devcontainer.json です! 使用するコンテナイメージ、必須VS Code拡張機能、デバッグ用ポート転送、起動時スクリプトのすべてをたった1つのJSONファイルに「コード化」し、Gitリポジトリにコミットするだけで、新人もベテランもまったく同じ高品質なC#/.NET開発環境をワンクリックで手に入れることができます。本講義では、実務に即した書き方からGit運用戦略まで完全解説します! 📋 本講義の学習ロードマップ 第1章:30年選手の苦笑い:「推奨拡張機能一覧をWikiに書く」という不条理 第2章:devcontainer.json とは何か?開発環境の「IaC(コード化)」思想 第3章:基本構造と仕様:環境をコード化する3大要素(image・extensions・forwardPorts) 第4章:customizations.vscode.extensions:C# Dev Kitや必須拡張機能の自動注入 第5章:forwardPorts:コンテナ内Web APIとホスト...

【Day 35】巨大バイナリ・DLL・画像管理の決定版(Git LFS)

▲ 【Day 35】巨大バイナリ・DLL・画像管理の決定版(Git LFS) 👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 前回のDay 34では、WindowsとLinuxの差異に起因する「大文字・小文字ファイル名変更トラブル」のメカニズムと、安全な git mv の作法を学びました。 続く本日のDay 35は、第7部「Windows & C# (.NET) 固有の落とし穴完全制覇」の第3弾―― リポジトリの巨大化・クローン激重問題を解決する 【巨大バイナリ・DLL・画像管理の決定版(Git LFS)】 を徹底攻略します! 「数GBのインストーラーや画像アセット、ONNX機械学習モデル、古い社内DLLをGitにコミットしたら、 git clone に30分以上かかるようになって全員のPCが悲鳴をあげている…!」 「VSSやSVNを使っていた30年前は、100MBのバイナリを普通にコミットしても平気だったのに、なぜGitだとこんなに重くなるのか…!?」 そんな疑問や絶叫を抱えたことはありませんか? Gitはテキストの差分管理には最強ですが、巨大バイナリに対しては構造的な弱点を持っています。 しかし、公式の拡張機能 Git LFS(Large File Storage) を導入すれば、リポジトリを羽のように軽く保ったまま、大容量ファイルを安全・快適に運用できます。 本講義で、LFSの内部メカニズム(ポインタファイル参照)から実践的な導入・運用手順まで完全マスターしていきましょう! ① なぜGitはバイナリに弱いのか?(Git vs SVN) 「以前使っていたSVN(Subversion)では、大容量の画像やコンパイル済みDLLをコミットしてもリポジトリが爆発することは...

【Day 37】Dev Containersとは? 〜PCを一切汚さない究極の開発環境〜

▲ Day 37: Dev Containersとは? 〜PCを一切汚さない究極の開発環境〜 🐳 祝・第8部突入!開発者のPC環境を激変させる「Dev Containers」へようこそ! 「新メンバーがチームに合流したけれど、開発環境のセットアップ手順書が古すぎて丸2日動かなかった...」「古い案件で.NET 6が必要なのに、最新案件は.NET 8と.NET 9が必須でPC内のSDKがぐちゃぐちゃ...」「PCを買い換えるたびにツールや環境変数の再設定で週末が消える...」 これまで数十年にわたり、ソフトウェアエンジニアを悩ませ続けてきた 「開発環境構築の悪夢」 。DockerはこれまでWeb APIやデータベースなど「本番で動かすアプリ」をコンテナ化してきましたが、今日から始まる第8部では、なんと 「エンジニアの開発環境そのもの」をコンテナ化 します!ホストPCを一切汚さず、誰でも1クリックで同一の開発環境を再現できる究極の技術 「Dev Containers」 の全貌を徹底解説します! 📋 本講義の学習ロードマップ 第1章:オンプレ/手動構築エンジニアの悲鳴:「PC環境汚染」と「秘伝の手順書」の崩壊 第2章:Dev Containersとは何か?ホストPCを100%クリーンに保つ仕組み 第3章:驚愕の分離構造:VS Code UI(ホスト)とVS Code Server(コンテナ)のアーキテクチャ 第4章:旧来のVDI(仮想デスクトップ)やHyper-V開発VMと何が違うのか?徹底比較 第5章:【実践ハンズオン】C#/.NET Dev Containersの第一歩(最小devcontainer.json) 第6章:Git連携:リポジトリ同梱で新人が1分で即...

【Day 34】Windowsの大文字・小文字ファイル名変更トラブル(git mv)

▲ 【Day 34】Windowsの大文字・小文字ファイル名変更トラブル(git mv) 👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 前回のDay 33では、改行コードの全行差分事故を恒久的に防ぐ .gitattributes の完全定義と、リポジトリの一括正規化手順を学びました。 続く本日のDay 34は、第7部「Windows & C# (.NET) 固有の落とし穴完全制覇」の第2弾―― すべてのWindows / C#開発者が一度は必ず絶叫する 【Windowsの大文字・小文字ファイル名変更トラブル(git mv)】 を徹底攻略します! 「Windowsのローカル環境やVisual Studioでは何の問題もなくビルドが通り、意気揚々とプルリクエストを作成したのに、GitHub Actions(Linux CI)が走った瞬間に謎のビルドエラーで落ちた…!」 「エクスプローラーやIDEで UserService.cs を userservice.cs にリネームしたはずなのに、Gitが全く差分を認識してくれない…!」 「ネットで見かけた git config core.ignorecase false を実行したら、同一フォルダに大文字と小文字のファイルが2重出現してリポジトリが壊れた…!」 このような怪奇現象は、 Windows(大文字小文字を区別しない) と Linux / GitHub(厳格に区別する) というOSの基本思想の違いから発生します。 本講義では、Gitの内部フラグ core.ignorecase のメカニズムを解明し、事故を100%防ぐ git mv による確実な改名作法 を完全マスターしていきましょう! ① 導入・なぜWindowsとLinux/GitHubで事故が起きるのか? ...

【Day 36】リバースプロキシ(Nginx / YARP)によるルーティングとSSL化 〜単一ポート80/443集約・URLパスルーティング・.NET製「YARP」コンテナ構築・ローカルHTTPS/SSL終端・ルーティング設定のGit管理とCI/CD実践〜

▲ Day 36: リバースプロキシ(Nginx / YARP)によるルーティングとSSL化 🐳 コンテナ時代のWebシステムに必須!玄関口(リバースプロキシ)の完全制覇へようこそ! 「フロントエンドはポート3000、C# Web APIはポート5001、管理画面はポート8080... こんなにポートを直公開していいの?」「本番のようにHTTPS(443ポート)1つでスマートにルーティングしたい!」そんな疑問や悩みを抱えていませんか? 本講義では、ハードウェアロードバランサーやIISのURL Rewriteに代わるコンテナ時代のデファクトスタンダード、 リバースプロキシ(Nginx / Microsoft公式YARP) を完全解説します。特にC#エンジニアにとって最強の武器となる YARP(Yet Another Reverse Proxy) の導入、SSL終端(HTTPS化)、そしてGitによるルーティング設定のコード管理まで、現場即戦力のスキルを徹底習得しましょう! 📋 本講義の学習ロードマップ 第1章:オンプレ/IISエンジニアの悩み:複数コンテナの「ポート乱立問題」 第2章:リバースプロキシの2大本質:「URLルーティング」と「SSL終端」 第3章:C#/.NET現場の救世主!Microsoft公式「YARP」が最強である理由 第4章:【実践ハンズオン】YARPコンテナをゼロから構築しDocker Composeで束ねる 第5章:徹底比較!定番「Nginx」vs C#完全統合「YARP」の適材適所 第6章:ローカルHTTPS開発環境の構築:自己署名証明書とSSL終端の実践 第7章:Git連携:ルーティング設定をコード(IaC)...