コロナに負けず、できることを少しずつ。

[ICT] Microsoft オープンソース プロジェクトを歩いてみる(プログラミング入門学習)

[ICT] Microsoft オープンソース プロジェクトを歩いてみる(プログラミング入門学習)

Windows PC, Mac 環境をお持ちであれば是非歩いてみませんか?

Microsoft オープンソースプロジェクト サイトを久々にアクセスすると歩きやすくなっていました。

https://opensource.microsoft.com/projects/

2022/01/16 現在 
公開されているプロジェクト 34種(表示順)

アルファベット順の並びで “.” は dot と読み替えていますね。

  1. Accessibility Insights
  2. Azure SDKs
  3. Blazor
  4. Bond
  5. CCF
  6. CNAB
  7. Dapr
  8. Decentralized & Collaborative AI on Blockchain
  9. .NET
  10. FAST
  11. Fluent UI
  12. Fluid Framework
  13. Forge
  14. Graph Engine
  15. Kubernetes Event-driven Autoscaling (KEDA)
  16. Language Server Protocol
  17. ONNX Runtime
  18. Open Education Analytics (OEA)
  19. Open Enclave SDK
  20. Open Service Mesh
  21. pg_auto_failover
  22. Playwright
  23. PowerShell
  24. PowerToys
  25. PR Metrics
  26. Project Mu
  27. PWABuilder
  28. SONiC
  29. Windows Terminal
  30. TypeScript
  31. VFS for Git
  32. Virtual Kubelet
  33. Visual Studio Code
  34. YARN Federation

あれもこれもオープンソースプロジェクトだったのかと改めて思うところ。

身近な .NET プロジェクトを歩いてみましょう

ちなみに .NET プロジェクトの概要が次の通り。

.NET is Microsoft’s open-source, general-purpose development framework for building cross-platform apps.
.NETはクロスプラットフォームアプリを構築するための Microsoft オープンソースの汎用開発フレームワークです。

リンク先:https://dotnet.microsoft.com/ja-jp/

コマンドプロンプトで dotnet を実行して応答が無ければダウンロードしましょう。

下図に示すような内容で応答があれば dotnet を利用できる環境です。

テキストでも紹介します。

c:\>dotnet
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options: -h|--help Display help. --info Display .NET information. --list-sdks Display the installed SDKs. --list-runtimes Display the installed runtimes.
path-to-application: The path to an application .dll file to execute.

dotnet -h でバージョンと使用法を確認しましょう

スクリーンショットでは表示しきれないのでテキストでも紹介します。

c:\>dotnet -h
.NET SDK (6.0.101)
使用法: dotnet [runtime-options] [path-to-application] [arguments]
.NET アプリケーションを実行します。
runtime-options: --additionalprobingpath <path> 調査ポリシーと調査対象アセンブリを含むパス。 --additional-deps <path> 追加の deps.json ファイルへのパス。 --depsfile <application>.deps.json ファイルへのパス。 --fx-version <version> アプリケーションを実行するために使用するインストール済み Shared Framework のバージョン。 --roll-forward <setting> フレームワーク バージョン (LatestPatch、Minor、LatestMinor、Major、LatestMajor、Disable) にロールフォワードします。 --runtimeconfig <application>.runtimeconfig.json ファイルへのパス。
path-to-application: 実行するアプリケーション .dll ファイルへのパス。
使用法: dotnet [sdk-options] [command] [command-options] [arguments]
.NET SDK コマンドを実行します。
sdk-options: -d|--diagnostics 診断出力を有効にします。 -h|--help コマンド ラインのヘルプを表示します。 --info .NET 情報を表示します。 --list-runtimes インストール済みランタイムを表示します。 --list-sdks インストール済み SDK を表示します。 --version 使用中の .NET SDK バージョンを表示します。
SDK コマンド: add .NET プロジェクトにパッケージまたは参照を追加します。 build .NET プロジェクトをビルドします。 build-server ビルドによって開始されたサーバーとやり取りします。 clean .NET プロジェクトのビルド出力をクリーンします。 format プロジェクトやソリューションにスタイルのユーザー設定を適用します。 help コマンド ラインのヘルプを表示します。 list .NET プロジェクトのプロジェクト参照を一覧表示します。 msbuild Microsoft Build Engine (MSBuild) コマンドを実行します。 new 新しい .NET プロジェクトまたはファイルを作成します。 nuget 追加の NuGet コマンドを提供します。 pack NuGet パッケージを作成します。 publish .NET プロジェクトを配置のために公開します。 remove .NET プロジェクトからパッケージまたは参照を削除します。 restore .NET プロジェクトに指定されている依存関係を復元します。 run .NET プロジェクトの出力をビルドして実行します。 sdk .NET SDK のインストールを管理します。 sln Visual Studio ソリューション ファイルを変更します。 store 指定されたアセンブリをランタイム パッケージ ストアに格納します。 test .NET プロジェクトに指定されているテスト ランナーを使用して、単体テストを実行します。 tool .NET のエクスペリエンスを向上するツールをインストールまたは管理します。 vstest Microsoft Test Engine (VSTest) コマンドを実行します。 workload オプションのワークロードを管理します。
バンドルされたツールからの追加コマンド: dev-certs 開発証明書を作成し、管理します。 fsi F# Interactive を開始するか、F# スクリプトを実行します。 sql-cache SQL Server キャッシュ コマンドライン ツール。 user-secrets 開発ユーザーのシークレットを管理します。 watch ファイルが変更されたときにコマンドを実行するファイル ウォッチャーを起動します。
コマンドに関する詳細情報については、'dotnet [command] --help' を実行します。

ASP.NET Core を使う予定がある方は ローカル環境で開発テストを進めるために自己署名証明書を設定しましょう

https://docs.microsoft.com/ja-jp/aspnet/core/security/enforcing-ssl?view=aspnetcore-6.0&tabs=visual-studio

手順:コマンドプロンプトで dotnet dev-certs https –trust を実行しましょう。

※この画面は私(fxfrog.com コンテンツオーナー)ローカル環境 SHA1 を表示していますが、何度でもリボーク (revoke) と再設定ができるので無問題です。

.NET チュートリアル – 5 分でできる Hello World を歩きましょう

https://dotnet.microsoft.com/ja-jp/learn/dotnet/hello-world-tutorial/intro

★ブラウザでサクッと確認したい方はこちらへ 
→ https://dotnet.microsoft.com/ja-jp/learn/dotnet/in-browser-tutorial/1

不慣れな方は 5分ではなく30分近くかかると思いますが、時間は問題でありません。
自分自身で操作してみるのが大切な学習でしょう。

.NET 学習を続けるか、より幅広いプログラミングを楽しめる C# を学習することや応用学習へ進むことも自由です。
Webアプリのビルド、機械学習を試す、エディターの取得。

詳しくは https://dotnet.microsoft.com/ja-jp/learn/dotnet/hello-world-tutorial/next ←こちらをアクセスしてください。

再び、オープンソースプロジェクトへ戻ります。

全体を探検するには https://opensource.microsoft.com/projects/explore/ こちらをどうぞ。git が使えると新しいサンプルや学習コンテンツを取得することも、また世界中の方から寄せられる質問や要望コメントを読むことで「自分でも思いもしなかった考え方があるのだな」と気付くことばかりです。

下図は 2022/01/16 現在の一例です。

ここで興味深いのは入門者向け Web 開発や機械学習コンテンツには、学習レッスン数や学習期間にクイズ(知識確認)が見出し掲載があります。これを目にして学習計画を立てることも容易ですね。

まとめ

Microsoft オープンソースプロジェクトに参加するのは簡単です。最初は学習コンテンツから歩いてみてはいかがでしょうか。サンプルソースをもとにローカル開発環境で自分なりの変更実装を通じて挙動を確認し、隣接領域の学習を深めることで git の使い方も分かるようになるでしょう。

本記事内に ASP.NET core についても触れましたが、core であれば Linux 環境でも動作します。また、PC や Mac などで動作させるのではなく Azure Functions (サーバレスサービス)で関数群イベントトリガーを実装することも学習できるようになっています。

オープンソースプロジェクトの醍醐味はベテランのみではなく、初学者(入門者)も取り込み仲間を増やす活動が盛んであること。職業教育ではなく、日常生活にプログラミング学習環境を無償で提供していくことで「より使いやすい環境の展開」や「隣接領域の他フレームワークとの併用/統合」を考える土壌になると思います。

今回は勢いでブログ記事にしたので薄っぺらい内容でした、以上ご覧いただきありがとうございました。

Microsoftカテゴリの最新記事