最近取り組んでいること – BlackJumboDog CoreCLR ConsoleApp

こんにちは!

Blogを書いたのにあまり自己紹介とかもないので、少しづつ自分の取り組んでいることをここに残していこうと思います。元々Facebookで、画像アップロードしたりしてひっそり遊んでいました。こうやって活字にするはちょっとハードルがありますが、伝えていくという意味で、至らぬながらも挑んでいこうと思います。

BlackJumboDogのCoreCLR化

ということで、実はこのBlackJumboDogというのを使ったことはありませんでした。まずは、リンクを以下に張っておきます。

サイト:http://www.sapporoworks.ne.jp/spw/

CodePlex:http://blackjumbodog.codeplex.com/

GitHub:https://github.com/furuya02/bjd5

これ、すごいんですよねー!いろいろなサーバーの機能が詰め込まれている、C#で書かれてたアプリケーションなんです。HTTP、FTP、DHCP、DNS、SMTP、POP3、TFTP、Sip etc..

と全部で16ほどの機能を持っています。

これを、CoreCLRで動かしてみたいじゃない・・・?あれ、私だけ?製作者の方に許可をいただいて、がっつりやらしてもらうことにしました!

個々を見ていったとき多機能な部分もありますが、やはりお手軽さが非常に強いのかなぁって思いまして、option.ini(すべての設定を持つ構成ファイル)を本家のものでそのまま動かせるようにしてしまおうじゃないの!って考えています。

あ、そもそもCoreCLRなによ!?って方ですが、.NET Coreっていうものが作られています。これが、以下にあるように

http://www.dotnetfoundation.org/netcore

.NET Core has two cheap jerseys major components. It includes a small runtime that cheap jerseys free shipping is built Stellenangebote from the same codebase as the .NET Framework CLR. The .NET Core runtime includes the same GC Deadline and JIT (RyuJIT), but curves doesn’t include features like cheap jerseys Application Domains or Code Access Standard Security. The Blogはじめました runtime is delivered on wholesale MLB jerseys NuGet, via the Microsoft.CoreCLR wholesale MLB jerseys package.

ということで、かなり簡単に言ってしまうと.NetFrameworkからアプリケーションドメインとコードアクセスセキュリティを除外した軽量なフレームワークですよってことですね。ライブラリ(DLL)はNuGetから提供される。(事前にインストールしない)

これを動かすプラットフォームの一つにCore CLR(CommonLanguageRuntime)があるってことなんですね。ここで動くってことは、一応ASP.NET5上やらUWPからも実行できる可能性があるってことなんです。

可能性があるって言っているのは、実際にそれぞれの環境になると様々な制約があるので、コンソールアプリケーションのようには動かすことはできないことを意味しています。

ただ、Consoleアプリケーションは、特に制約がありませんので、まずはここを今目標として、せこせこやっているGitHubのリポジトリがこちらです。

https://github.com/darkcrash/bjd5

CoreCLRというブランチを作って、そこでせこせこ作っています。現在14/16まで移植していて、もうすぐ移植は完了し、デプロイメント手法の実装に移る予定ですー。

以下、CoreCLRとして、WebServerを動かしている様子です。

 

ある程度形になったら、また、ここで報告させていただきます!

それでは、また!