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

投稿

注目の投稿

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

最近の投稿

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

【Day 32】git switch - やエイリアス設定で日常操作を10倍爆速化する

▲ 【Day 32】git switch - やエイリアス設定で日常操作を10倍爆速化する 👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 前回のDay 31では、過去に一度解いたコンフリクトをGitが自動学習して再利用する魔法の機能 「git rerere」 を学びました。 そして本日のDay 32からは、日々のGit操作のタイピング量やマウス操作の手間を極限まで削ぎ落とし、開発スピードを何倍にも引き上げる 「作業効率化テクニック」 へ突入します! テーマは、 【git switch - やエイリアス設定で日常操作を10倍爆速化する】 です! 「ブランチを切り替えるたびに、長くて複雑なブランチ名を手打ちしてタイポする…」 「1日に何十回も git status や git branch をフルスペルで入力している…」 「いま自分がどのブランチで作業していて、何件の未コミット変更があるのか、コマンドを打たないと分からない…」 そんな日々の小さなタイムロスやストレスは、年間で数十時間もの無駄を生み出しています。 直前ブランチへの1秒復帰( switch - )、わずか2〜3文字で完結するプロ厳選のエイリアス(短縮コマンド)、そしてWindows/C#開発者の標準環境であるPowerShellプロンプトのGit情報可視化をマスターして、思考のスピードでコードを紡ぐ圧倒的開発フローを手に入れましょう! ① 導入・本日の達成目標 Gitのコマンドは非常に高機能ですが、日常的によく使うコマンドを毎回フルスペルで律儀に入力していると、キータイピングの負荷や誤入力によるストレスが蓄積します。 特にVisual StudioやVS Codeを操作しながらターミナルでGitを叩くC#開発者にとって、キー...

【Day 34】ポートマッピング(-p 8080:80)とポート競合の解決法 〜ホストとコンテナを繋ぐポートフォワーディングの原理・IIS(80)/SQL Server(1433)衝突回避・PowerShellポート調査術・.env変数化によるC#チーム開発ベストプラクティス〜

▲ Day 34: ポートマッピング(-p 8080:80)とポート競合の解決法 🐳 「コンテナを起動しようとしたら『Ports are not available: bind: address already in use』で失敗した!? ホストとコンテナのポートってどう繋がっているの?」 前回(Day 33)は、Docker内蔵DNS(127.0.0.11)とサービス名通信によって「IPアドレスを覚えなくてよい世界」を学びました。 しかし、次に立ちはだかるのが 「外部ブラウザやホストPCからコンテナへどうやってアクセスするのか?」 というポートの壁です。 「物理サーバーやオンプレミスVMなら、各マシンが独自のIPアドレスを持っていたので、どのサーバーでも80番や1433番ポートを独占して待ち受けることができた。 だが開発用Windows PC上でDockerを動かすと、既存のIIS(80番)やSQL Server(1433番)と衝突してコンテナが起動しない! `-p 8080:80` ってどっちが外側でどっちが内側なの?」 本講義では、ポートフォワーディングの根本原理から、Windowsでのポート競合調査術、そしてチーム開発で絶対に衝突しない .env を使った柔軟なC#現場設計までを徹底解説します! 📑 本講義のロードマップ 第1章:ポートマッピング(-p)の原理 〜ホスト受付口とコンテナ実サービスの対応関係〜 第2章:現場で最も起きる「ポート重複エラー」の正体 〜IIS(80)&ローカルSQL Server(1433)の激突〜 第3章:PowerShellに...