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

投稿

注目の投稿

【Day 03】「私のPCでは動くのに」問題の根本原因とDockerによる解決

最近の投稿

【Day 03】C#開発環境構築(Git for Windows / TortoiseGit / VS Code)

👨‍🏫 皆さん、こんにちは! 本日の講座へようこそ。 第1回・第2回でGitの基本概念と分散型の思想を学びました。本日は第3回として、いよいよ Windows環境でのGit開発環境構築(Git for Windows / TortoiseGit / VS Code) を実践します! 特にSVNエンジニアが最も事故りやすい 「改行コード(CRLF)問題」 の完全対策と、馴染み深いエクスプローラー操作のセットアップを徹底解説します! ① 導入・本日の達成目標 「GitってLinux生まれだからコマンド入力が難しそう…」「WindowsのVisual Studioで開発するなら何を入れればいいの?」という不安をお持ちの方も多いのではないでしょうか。 安心してください! Windowsには、世界最強のGitエンジン 「Git for Windows」 と、TortoiseSVNと全く同じ感覚で使える 「TortoiseGit」 が存在します。 本日のゴールは以下の3点です: Windows環境特有の落とし穴である 「改行コード(CRLF)問題」の仕組みと設定 をマスターする。 TortoiseSVNの操作感をそのまま引き継ぐ 「TortoiseGit」の初期設定 を完了する。 Visual Studio / VS Code / PowerShell を組み合わせたC#現場の最適ワークフローを掴む。 ② Windowsエンジニア最大の罠「改行コード(CRLF)問題」 WindowsとLinux/Macでは、改行コードの表現が根本的に異なります。 Windows(Visual Studio標準): CRLF ( \r\n 、キャリッジリタ...

【Day 02】物理サーバー・Hyper-V・VMware経験者のための「プロセス分離」パラダイムシフト

▲ Day 02: 物理・VM経験者のための「プロセス分離」パラダイムシフト 🐳 皆さん、こんにちは! Docker/コンテナ実践講座の専任講師です。 前回のDay 01では、DockerがVMと何が違うのか、そしてGitとの組み合わせがなぜ強力なのかの全体像を掴んでいただきました。 第2回となる本日は、Hyper-VやVMware、あるいはオンプレミスの物理サーバーを長年設計・運用してきたベテランエンジニアの皆様に向けて、Dockerの核心である 「プロセス分離(Namespace / cgroups)」の正体 を徹底解剖します! ① 導入・本日の達成目標 「ゲストOSを起動していないのに、どうして他のアプリとポート番号やファイルが干渉しないのか?」 「Windows上で開発しているC#アプリが、なぜLinuxコンテナの上で爆速に動くのか?」 これらは、従来の「OSを1台丸ごと立ててIISを動かす」というインフラ常識を持っている方ほど強く疑問に感じるポイントです。 本講義をマスターすれば、以下の3つの目標を完全にクリアできます。 コンテナの真の姿=「隔離壁を立てられたただのLinuxプロセス」 であることを論理的に腹落ちさせる。 プロセス分離を実現するLinuxカーネルの2大機能 「Namespace(名前空間分離)」 と 「cgroups(リソース制御)」 の仕組みを完全理解する。 従来の Windows Server/IIS構築手順書(Excel文化) から、 C# × Linuxコンテナ(Kestrel)のIaC運用 への転換ノウハウを掴む。 ② 物理・VM技術者のための「プロセス分離」とは? Hyper-VやVMware ESXiなどの仮想化技術(ハイパーバイ...

【Day 01】Dockerとは何か? 〜C#エンジニアのためのコンテナ超入門〜

▲ Day 01: 仮想マシンからDockerコンテナへのパラダイムシフト 🐳 皆さん、こんにちは! Docker/コンテナ実践講座の専任講師です。 ITエンジニアとして30年以上のキャリアを築き、物理サーバーのラッキング、Hyper-VやVMwareによる仮想化、IISやSQL Serverの手動セットアップを完璧にこなしてきたベテランの皆さん、心より歓迎いたします! 本日は記念すべき第1回として、 「Dockerコンテナとは何なのか?」 そして 「なぜGitリポジトリと一緒に使うと開発環境革命が起きるのか」 を、C#/.NET開発の現場視点から徹底解剖します! ① 導入・本日の達成目標 「Dockerという言葉は聞くけれど、要するに軽いVMware(仮想マシン)でしょ?」 長年サーバーやインフラを扱ってきたベテランエンジニアほど、最初にそう誤解してしまいがちです。しかし、 Dockerの内部構造と設計思想は、従来の仮想マシンとは根本から180度異なります。 本日の講義を終える頃には、以下の3つの目標を完全にクリアできるようになります。 仮想マシン(VM)とコンテナ(Docker)のアーキテクチャ上の決定的差異 を完全論理理解する。 なぜGitリポジトリにDockerfileを同居させるのか? (環境のコード化:IaC)の絶大なメリットを掴む。 Dockerを理解するための 「3大要素(Dockerfile / Image / Container)」 のライフサイクルをC#の概念と紐付けてマスターする。 ② VM / 物理サーバー技術者のためのパラダイムシフト 長年私たちが親しんできた仮想マシン(Hyper-V / VMware / VirtualBox)は、 「ハードウェアそのも...

【Day 02】VSS / SVNエンジニアのための「分散型」パラダイムシフト

👨‍🏫 皆さん、こんにちは! 本日の講座へようこそ。 第1回ではGitとGitHubの役割分担を学びました。本日は第2回として、VSS/SVN経験者が最もカルチャーショックを受ける 「排他ロックの撤廃(楽観的並行制御)」 と 「オフラインコミットの圧倒的自由度」 をC#現場の視点で徹底解説します! ① 導入・本日の達成目標 Visual SourceSafe (VSS) や Subversion (SVN) の時代、チーム開発の鉄則は 「編集前にファイルをチェックアウトしてロックする」「他の人が編集中のファイルは触らない」 でした。 しかし、Gitには**ファイルロック機能が基本的に存在しません**。全員が同じファイルを同時に編集します。 「それって事故が起きないの?」「どうやって整合性を保つの?」という疑問を、本講義で完全に解消します! 「悲観的ロック」から「楽観的並行制御」 へのメンタルモデル転換。 なぜ複数人で同じC#コード(.cs)を編集しても安全にマージできるのかを理解する。 ネットワーク不要で何十回も手元で試行錯誤できる 「オフラインコミット」の快適さ を体験する。 ② 排他ロック vs 楽観的並行制御 VSSの設計思想は 「悲観的ロック(Pessimistic Locking)」 でした。「衝突が起きると困るから、最初から1人しか触らせない」というアプローチです。 ▲ 【図解①】悲観的排他ロック(順番待ち)と楽観的並行制御(Gitの同時編集) これに対し、Gitは 「楽観的並行制御(Optimistic Concurrency)」 を採用しています。 「...

【Day 01】GitとGitHubは何が違うのか? 〜C#エンジニアのための全体像〜

👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 ITエンジニア歴30年以上の皆さん、長年Visual SourceSafe (VSS) や Subversion (SVN) で開発現場を支えてこられたことと思います。 本日は第1回として、 「GitとGitHubは何が違うのか?」 という素朴な疑問から、図解とともに分かりやすく解き明かしていきます! ① 導入・本日の達成目標 長年VSSやSVNを使ってきたエンジニアがGitに触れたとき、一番最初に混乱するのが 「GitとGitHubは同じもの?」「コミットしたのにサーバーに反映されないのはなぜ?」 という疑問です。 本日のゴールは以下の3つです! Git(手元のツール) と GitHub(Webサービス) の違いがスッキリわかる。 SVNの「中央サーバー」とGitの「ローカルリポジトリ」の違いを掴む。 「コミット」と「プッシュ」の役割分担 を理解する。 ② 集中型(SVN)と分散型(Git)の違い まず、これまで皆さんが使ってきた VSSやSVN(集中型バージョン管理) の仕組みを見てみましょう。 ▲ 【図解①】中央サーバーで全員が直接やり取りする「集中型(SVN/VSS)」 集中型では、オフィスやクラウドにある 「中央サーバー」がすべての履歴を1台で管理 していました。 そのため、ファイルを編集するときは中央サーバーから取得し、コミットすると即座に中央サーバーに書き込まれます。誰かがファイルをロックしていたら他の人は触れませ...

AI開発環境の構築

  これまで趣味と好奇心でAIを使って自作アプリとか作って遊んでいましたが、今回、本業に迫られてかなりガッツリ本格的にAI開発にどっぷりとハマっております。 Anthropic、OpenAI、Googleとかなり重課金をする事になりました。我が家の生活防衛費と睨めっこのギリギリの生活ですよ。コレ。 色々と紆余曲折してましてですね。これからAI使って副業で儲けようとか思っている人の参考になればと思います。 まずGoogle Geminiですな。巷では一歩出遅れているとか言われていますが、私はそうは思いません。 1000歩くらい遅れいます。 うーん。nano Banana Proは好きなんですけどね。現状、それくらいしか褒める所がない。 開発で使うと本当ダメですな。 なんか勝手に突っ走って間違った事する。やる気のある無能という一番迷惑なパターン。 「自分こうだと思ったんでやっておきました!」ってパターンが多い。 ただ爆速。最近Flash系しか出してないからかもだけど仕事は爆速。 よく考えないでやっちゃうんだろうなぁ。 次、Anthropic Claudeですね。頭ええですわ。この子。 しっかり考えて行動してくれる。そして確認を忘れないし勝手な暴走もない。 ただ細かすぎてとんでもなくトークン消費している時があるので注意。 とにかく優等生。 そしてOpenAI Chat-GPTやCodexですな。 開発ではCodexですが、Chat-GPT Workも使ってます。 この子も賢い。しっかりキッチリと仕事をこなしてくれます。 まだまだ付き合いが浅いので何とも何ですが、AI開発プロジェクトテンプレート作成でGPT Workを使ったんですが、非常にスムーズに構築する事ができたので優秀だと感じましたね。 実際の体感性能はどんな感じなのか? 肌感です。 Anthropic=OpenAI>>>(越えられない壁)>>>Google こんな感じです。 Googleはでおくれたどころじゃないですね。 役割分担の話 こんな感じでやらせています。 PM・上流(Claude) 開発周り(OpenAI) 画像生成、テスト実施(Antigravity) PMと言ってもAI開発体制で各担当エージェントとのブリッジでしかないんですが・・・ ないんですが!! Geminiはここでもやる気のある無能っぷ...