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

投稿

注目の投稿

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

最近の投稿

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

【Day 31】git rerere で過去に解決したコンフリクトを全自動解決させる魔法

▲ 【Day 31】git rerere で過去に解決したコンフリクトを全自動解決させる魔法 👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 前回のDay 30では、全リポジトリのコミット差分から消えた過去の関数や定数を0.1秒で掘り当てる 「git log -S(つるはし検索)」 の神技を学びました。 そして本日のDay 31は、チーム開発や長期ブランチ運用において全エンジニアが一度は激しいストレスを感じるあの悩み—— 「毎朝 main をリベース(マージ)するたび、昨日と全く同じコンフリクトを何度も手作業で解かされる……!」 という無駄な作業をこの世から完全に消滅させる奇跡の魔法—— 【git rerere で過去に解決したコンフリクトを全自動解決させる魔法】 を徹底解説します! rerere とは、 「Reuse Recorded Resolution(記録された解決の再利用)」 の略称です。 この機能を有効にしておくだけで、Gitはあなたが一度手動で解いたコンフリクトの「衝突パターン」と「解決結果」を裏側で自動記憶します。 そして次回以降、全く同じコードの衝突が発生した瞬間に、 人間が何もしなくてもGitが全自動でマージを完了 してくれるのです! C#ソリューションでのNuGet依存関係の競合や共通設定ファイルの衝突など、現場の消耗を一掃するプロの必須テクニックを身につけましょう! ① 導入・本日の達成目標 複数人で開発を進めていると、数週間〜数ヶ月に及ぶ長期フィーチャーブランチを運用することがあります。 最新の main ブランチの変更を取り込もうと git rebase main や git merge main を行うたびに、まったく同じファ...

【Day 33】コンテナ名で名前解決するサービスディスカバリ(DNS) 〜変動するIPアドレスの完全撲滅・Docker内蔵DNS(127.0.0.11)の仕組み・Composeサービス名通信・ネットワークエイリアス・C# HttpClient/EF Core現場実践〜

▲ Day 33: コンテナ名で名前解決するサービスディスカバリ(DNS) 🐳 「コンテナを再起動するたびにIPアドレスが変わってしまう… 接続先IPを毎回書き換えるなんて無理では?」 前回(Day 32)は、Dockerネットワークの全体像と3大ドライバー(Bridge / Host / None)、そしてユーザー定義ブリッジによる隔離について学びました。 そこで30年来のベテランエンジニアが必ず抱くのが 「IPアドレスの変動」に関する切実な不安 です。 「物理サーバーやオンプレミスVMなら、サーバーに固定プライベートIP(例: 192.168.1.10)を割り当て、C#の接続文字列や設定ファイルに書き込んでいた。だが、Dockerコンテナは起動・破棄のたびに `172.20.0.2` や `172.20.0.5` などIPがコロコロ変わる。hostsファイルを手作業で書き換えるのか? どうやってWeb APIからDBを見失わずに接続し続けられるのか?」 その答えこそが、Dockerが標準提供する 「組み込みDNSサーバー(Embedded DNS Server: 127.0.0.11)」によるサービスディスカバリ(名前解決) です! 本講義では、動的IPの苦悩を完全消滅させるDNSの仕組みから、Composeでの通信手法、そしてC# (.NET) 現場で致命的な障害を生む「DNSキャッシュ問題(TTL)」の完全回避策まで徹底解説します! INDEX 本日の講義メニュー 第1章: なぜIPアドレス直接指定は破綻するのか? 〜hostsファイル管理の限界とDockerの動的IP〜 ...