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

投稿

注目の投稿

【Day 37】GitHubリモートリポジトリとの同期(push / fetch / pull)

最近の投稿

【Day 39】VS Codeでコンテナ内C#開発・デバッグ・ブレークポイント実行 〜完全分離された環境をF5キーで直感デバッグ〜

▲ Day 39: VS Codeでコンテナ内C#開発・デバッグ・ブレークポイント実行 〜完全分離された環境をF5キーで直感デバッグ〜 🐳 「Dockerコンテナの中だから、デバッグはログ出力で我慢する」なんて思っていませんか? 前回のDay 38では、 .devcontainer/devcontainer.json を使って開発環境のすべてをコード化(IaC)し、Gitでチーム共有する手法を学びました。 しかし、現場のエンジニアから最もよく聞かれる不安がこれです。 「コンテナの中で動いているC#アプリって、本当にVisual Studioのようにブレークポイントで止めて、ステップ実行や変数の中身を見られるの?」 結論から申し上げます。 ローカルPC直接実行と1ミリも変わらない快適さで、F5キーを押すだけで完全にデバッグできます! ホストのVS Codeとコンテナ内のMicrosoft公式デバッガ(vsdbg)が阿吽の呼吸で連携するため、ブレークポイント設定、F10ステップオーバー、F11ステップイン、変数ウォッチ、さらには dotnet watch によるホットリロードまで自由自在です。本講義では、コンテナ内デバッグの裏側の仕組みから、launch.jsonの実践設定、バグ修正Git運用まで徹底解説します! 📋 本講義の学習ロードマップ 第1章:30年選手の苦笑い:「リモートデバッグの苦行」とポート開放のトラウマ 第2章:コンテナ内デバッグの裏側:VS Code Server と vsdbg の美しい連携アーキテクチャ 第3章:徹底対比:従来の遠隔デバッグ vs Dev Containers(完全比較表) 第4章:現場の2刀流:...

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

▲ 【Day 36】深い名前空間でのパス長260文字制限の解除(core.longpaths) 👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 前回のDay 35では、リポジトリ巨大化を防ぐ「Git LFS(Large File Storage)」による大容量バイナリ管理をマスターしました。 続く本日のDay 36は、第7部「Windows & C# (.NET) 固有の落とし穴完全制覇」の第4弾―― Windows環境でC#開発者を突如襲う恐怖のエラー 【深い名前空間でのパス長260文字制限の解除(core.longpaths)】 を完全制覇します! 「リポジトリを git clone や git checkout したら、突然 error: unable to create file ... : Filename too long と怒られてチェックアウトが途中で止まってしまった…!」 「30年間VSSやSVNを使ってきたけれど、こんな理不尽なエラーは見たことがない!真面目にC#でDDDやクリーンアーキテクチャの綺麗な名前空間を設計しているだけなのに、なぜGitだと怒られるのか…!?」 そんな悲鳴や疑問を抱いたことはありませんか? 実はこれ、MS-DOSやWindows 95時代からWindowsのOS内部に眠る「魔の260文字制限(MAX_PATH)」という歴史的呪いが原因です。 しかし恐れる必要はありません。 Git側の core.longpaths 設定と、Windows 10/11のレジストリ設定という【2つの鍵】 を回すことで、この制限を最大32,767文字まで完全拡張し、二度とエラーを出さない環境を構築できます。 本講義で、発生の根本メカニズムから具体的なコマンド、チーム開発での運用鉄則まで一挙に攻略していきましょう! ...

【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分で即...