以下では前ページで見た方法を使って見つけたリポジトリ(やソフトウェアプロジェクト)を幾つか紹介しよう。
さまざまな情報をまとめてくれているリポジトリもある。例えば、「List of Free Learning Resources」リポジトリには、言語(自然言語)別にオンラインでの学習で自由に利用できるリソースが一覧されている。日本語で書かれたドキュメントならこのリポジトリの「free-programming-books-ja.md」からアクセスが可能だ。何らかの技術分野や言語に興味があるが、どこから手を付ければ分からないというときにはこうしたリストが役に立つかもしれない(と思ったのだが、日本語のリストにはC#関係のリンクはなかった)。
.NET関係の情報をまとめたリポジトリであれば、「Awesome .NET!」リポジトリが役に立つかもしれない。
ここには.NETに関連するさまざまなリソースへのリンクがカテゴリー別に掲載されている(リンク先はGitHubとは限らない)。膨大な数のリンクが掲載されているので、ページ内を検索しながら、自分の要望に合うものを見つけて、リンクを活用すれば必要な情報が手に入るだろう。
編集や執筆といった仕事をしていると、WindowsアプリやVisual Studioなどの画面キャプチャーは日常的に行う作業だ。ShareXは、ホットキーで画面をキャプチャーしてそれをローカルPCに保存したり、画像サイトにアップロードしたりしてくれるというもの。フリーかつオープンソースで提供されている。
これまではWindowsに標準で付属のSnipping Tool(とマウスカーソルが必要なときには拡大鏡アプリとの合わせ技)で画面をキャプチャーしていたが、今回これを発見して早速画面キャプチャーにはこれを使うようにした。
同様なソフトとしてはフェンリルのSnapCrab for Windowsなどもある。大きな違いはShareXはスクリーンレコーダーとしても使えること(MP4ファイルまたはアニメーションGIFとして保存が可能)。手軽にデスクトップの録画ができるので、今後、本フォーラムで動画が使われることが多くなるかもしれない。
マイクロソフトが量子コンピューティングに注力していくことは、2017年9月のIgniteなどのカンファレンスでも述べられていた。そして、2017年12月には「Quantum Development Kit」と呼ばれる量子コンピューティング開発キットのプレビュー版がリリースされた(こちらも参照されたい)。
このリポジトリはQuantum Developing Kitで提供されているライブラリやサンプルを含んでいる。驚くべきはスターの付き方だ。2017年11月にリポジトリが作成されて以降に獲得したスターは本稿執筆時点で559個。そのうちの550個がこの1週間で得られている。実際にQuantum Developing Kit Previewのリリースが開始されて、一気に火が付いたまさに今ホットなリポジトリといえるだろう。
Visual Studio 2017とこの開発キットがあれば、いち早く量子コンピューティングの世界に触れることができるので、興味のある方はインストールしてみよう。
Electronは、Web標準技術(HTML/JavaScript/CSS)を用いてクロスプラットフォームなデスクトップアプリを開発するためのフレームワーク。「Electron.NET」と聞いて「Electronに.NETが付いたってのは、つまりどういうことよ?」という方もいらっしゃるだろう。これは.NET Core 2(とそれをベースとしてASP.NET Core)をElectronに埋め込むことで、ASP.NET Coreを利用してデスクトップアプリを開発できるようにしようという意欲的なプロジェクトだ。
クロスプラットフォーム性がアプリ開発において欠かせない特性となりつつある現在では、これを実現するためにさまざまなアプローチが試されている。ASP.NET Coreに手慣れていて、さらにWebアプリだけではなく、デスクトップアプリも必要になるというシチュエーションではこの手法は有用だろう。
Web標準技術を用いて.NETでデスクトップアプリを開発しようという意味では、Neutroniumも似たアプローチを採るライブラリといえるかもしれない。Neutroniumのリポジトリには、Electronなどの技術とNeutroniumを比較した説明もある。
いずれにせよ、Web標準技術を使ったデスクトップアプリ開発はこれからも研鑽が積まれていく分野であり、その動きをウォッチしておくのは重要なことかもしれない。
Algorithmiaはアルゴリズム/データ構造を含んだライブラリ。.NET Framework 3.5以降を対象としている。NuGetからも入手可能だ。.NETのベースクラスライブラリで実装されているものを再実装する場合には、その必要性があるものだけを再実装しているとのこと。
同様にアルゴリズムやデータ構造を扱うためのリポジトリとしてはC# ALGORITHMSもある(.NET Core 2.0以降が対象)。こちらはクラスライブラリプロジェクトの形でGitHubで提供されている。
ILSpyは以前からよく使われているオープンソースのIL逆コンパイラ。.NETアセンブリを開けば、その逆アセンブルをしてくれるので、便利に使っている方も多いことだろう。
一方のdnSpyは.NET用のデバッガー/アセンブリエディタ。dnSpyに.NETアセンブリを渡すことで、逆アセンブルに加えて、dlSpy単体でのデバッグや編集が可能という優れものだ。
どちらのツールにしても.NET開発者であればインストールしておきたい。
中国滞在中にグレートファイアウォール(GFW)を超えて海外のサイトを閲覧するための手段としてよく使われているのがShadowsocksだ。このリポジトリはそのWindowsクライアントのもの。先頭に掲載されているから紹介はしてみたものの、自身が中国に出張や旅行でいくことは仕事の仕方やお財布の都合からあまり想定できないので、筆者的にはあまり意味はなかった。
近い将来に中国出張や中国旅行を考えているのであれば、「Shadowsocksって何のこと? どんな仕組みなの? VPNより高速に中国から海外のサイトを見るために」や「月餅VPN」なども参考にこうしたGFW越えツールについて考えておきたい。このリポジトリは本稿執筆時点(2017年12月14日)で「Trending」ページで言語をC#に、計測期間を1カ月にすると先頭にリストアップされる。最初は「?」となるが、なるほど切実な事情があるということだ。
本稿では、GitHubから何かのリポジトリを検索するための方法と、そこで見つかった.NET開発者の役に立ちそうなリポジトリ(というかツール)を紹介してきた。今後も何か機会があれば、面白そう、役に立ちそう、興味を引くリポジトリやプロジェクトをお知らせするようにしたい。
Copyright© Digital Advantage Corp. All Rights Reserved.