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

投稿

注目の投稿

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

最近の投稿

【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)...

【Day 33】CRLF/LF改行コード問題と .gitattributes 完全定義

▲ 【Day 33】CRLF/LF改行コード問題と .gitattributes 完全定義 👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 前回のDay 32では、直前ブランチへ瞬時に復帰する git switch - や神エイリアス設定、PowerShell環境でのブランチ状態常時可視化を学びました。 そして本日のDay 33からは、待望の 「第7部: Windows & C# (.NET) 固有の落とし穴完全制覇」 へと突入します! 第7部の開幕を飾るテーマは、すべてのWindows / C#エンジニアを恐怖に陥れてきた最大の罠―― 【CRLF/LF改行コード問題と .gitattributes 完全定義】 です! 「たった1行のコードを修正してプルリクエストを出しただけなのに、ファイル全1000行が差分になってしまいレビューを怒られた…」 「Windows端末とLinux CI環境でビルド結果やスクリプト実行結果が食い違う…」 「ネットの記事に従って core.autocrlf = true にしたのに、チームメンバーによって改行コードがバラバラになって大混乱…」 このようなトラブルは、WindowsとUnix系OSの歴史的な改行コード差異と、Gitの改行変換メカニズムを正しく制御できていないことが原因です。 本講義では、SVN時代の svn:eol-style の統制力を凌駕する現代Gitの決定版―― 「.gitattributes」 の書き方と、既存の汚染リポジトリを一瞬で浄化する一括正規化手順を完全解説します! ① 導入・本日の達成目標 C#や.NETの開発現場は、Visual Studioが動くWindows端末が主流ですが、現代のビルドパイプライン(GitHub Actions...

【Day 35】外部DBやホストOSのサービスと通信する(host.docker.internal) 〜コンテナからホストへの逆引き通信・Windows/Linux挙動差異(extra_hosts)・レガシー資産とのハイブリッド移行戦略・C# EF Core接続文字列設計〜

▲ Day 35: 外部DBやホストOSのサービスと通信する(host.docker.internal) 🐳 「コンテナの中から、開発PC上で元気に動いているSQL Serverに繋がらない!? localhostって書いたら自分自身を探しに行って爆死したんだが…!」 前回(Day 34)は、ポートマッピング( -p 8080:80 )によって「ホストOSからコンテナへ外から内側へ通信する」仕組みをマスターしました。 しかし、現場で次に必ず突き当たるのが 「逆方向(コンテナの内側からホストOS・外部既存システムへ通信したい)」 という強い要求です。 「手元のWindows PCには長年育ててきた巨大なSQL Server ExpressやOracleインスタンスがある。まずはC# Web APIだけをコンテナ化して試したいのに、接続文字列に Server=localhost と書くと接続タイムアウトで即死する! ホストPCのIPアドレスを直書きするとWi-Fi切り替えやDHCPで毎日変わって破綻する!一体どうやってホストOSに繋げばいいんだ!?」 本講義では、Dockerが提供する特殊DNS名 host.docker.internal の仕組みから、Linux/CI環境での extra_hosts 対策、そして大規模レガシー資産を抱える現場で安全にコンテナ化を進める「ハイブリッド移行戦略」までを徹底解説します! 📑 本講義のロードマップ 第1章:なぜ localhost ではホストPCに届かないのか? 〜ネットワーク名前空間(Namespace)の隔離壁〜 第2章:魔法の特殊DNS名 h...