Ubuntuで動いた!? BlackJumboDog CoreCLR

まずは無事に、動きました!DNX_TRACE=1から直接問題を検出できたわけではないですが、これを見ることによってどこまで動いているかの見当をつけることができたのは、StackOverflowExceptionのStackTraceを見れるのと見れないの違いくらいあるんじゃないかと思います。

2016-01-09

原因は、Consoleのサイズ取得もしくは変更をしようとしたところにありました。これは、本家Bjdにはない機能でした。GUIを捨てるときにどうしても何か見えるものをCUI上に出しておきたいと思ったのがきっかけです。Trace.Writeでトレースを出力するようにして、それをConsleに出力するためのTracelistenerを実装しています。

GitHub変更点

https://github.com/darkcrash/bjd5/commit/b42c4386866db1f681bbec13b6c20547b02e3320

Windows動かしている分には、サイズ変更できていましたが、SSH経由でそれをやると例外が発生していたようです。TryCatchを入れConsoleに出力したところメッセージが出てきましたので、取得または変更で間違いなさそうです。これもLinuxのGUI上からやったらどうなるかとかはわかりませんが、そんなことするなよって話もありつつ、やるならできない場合を考慮する必要があるようですね。

そもそも、何よ!って人に向けて

MSDN ライブラリ TraceListener クラス

これは、.NetFrameworkに昔からある機能で、Traceクラスを用いて、Writeメソッドやら、WriteLineとかで出したものを、受け取って何らかの処理をする機能を提供するための基底クラスです。ただ、.Net Core としても、Windows (ETW) があるようなので、Linuxでも動くならそっちのほうがよいでしょうね。

スクリーンショット見ると、サーバーは何も起動した形跡がないというオチが待っていました!おそらく、Option.iniを開けてとかその辺じゃあないのだろうかと思っていますが、本当に動くようになるまで戦いは続きます。

それでは、また!

 

 

 

 

 

Ubuntu dnxでTraceを出力する方法 – BlackJumboDog CoreCLR

前々日から、前日に続き

BlackJumboDogをUbuntu上で動かすために、いろいろ試行錯誤しています。どうやらUbuntuで動いていないのは本当に何か環境固有の問題ではないかと疑っています。

がしかし、何もエラーが出ずに困っていました。

そこで・・・

 

Creating a Cross-Platform Console App with DNX

https://github.com/aspnet/Home/wiki/Environment-Variables

 

ということで、環境変数を入れておけば、もっとトレース出すよ!ってことみたいです。ほかにもいろいろ変数があるようですね。

さておき、変数を設定して実行してみます。

env DNX_TRACE=1 dnx run

 

エントリポイントは再びお引越しして、bjdコマンドを定義してるので以下のように

env DNX_TRACE=1 dnx bjd

2016-01-07

何やら出てくるではありませんか!!

これをWindowsのものと比較してみます。

2016-01-07 (1)

 

アプリケーションが出すConsoleメッセージの直前は同じアセンブリを読んでるっぽいメッセージになってますね。

こうなると、PG側が悪いのではないかという疑いが出てきました・・・・!

ちなみに、UbuntuはAzureのもの使ってます。

明後日に続く!

VisualStudio がやっているdnxをLinux向けに置き換えるメモ2

前日に続き

まず、現状はうまくいっていません。ごめんなさい。

で、そもそもWindowsでもコマンドから実行させることができていない。VisualStudioで動いているからうごくもんだと思ったけど、そういうことではなかった・・・。

ので、Linuxの前にまずはWindowsのcmdからキックできることを目指すことにしました。

 

2016-01-06 (3)

ひとまず、program.csをエントリポイントとなっているアセンブリというかプロジェクトに移動させたところ動いたっぽい!いいんじゃないのいいんじゃないの!?

Ubuntuにもいっとこう!

明日に続く!

 

cheap mlb jerseys wholesale nfl jerseys cheap mlb jerseys wholesale nba jerseys

VisualStudio がやっているdnxをLinux向けに置き換えるメモ

ちょっとメモとして残します。

BlackJumboDogのせこせこ実装も無事終わって、Linux上で動かすための.SH作るためのメモです。

Windows上のDNXとDNUはLinuxのそれと同じように作られているのでそれを置き換えていきます。

[VisualStudio – build]

“[USER].dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin\dnx.exe” –appbase “[REPOSITORY]\bjd5\Bjd.Common.CoreCLR” “[USER]/.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\lib\Microsoft.Dnx.Tooling\Microsoft.Dnx.Tooling.dll” pack Generalversammlung “”[REPOSITORY]\bjd5\Bjd.Common.CoreCLR” –configuration Debug cheap nba jerseys –out “..\artifacts\bin\Bjd.Common.CoreCLR”

[VisualStudio – Blogはじめました run]

“[USER].dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin\dnx.exe”  –appbase wholesale nba jerseys “[REPOSITORY]\bjd5\Bjd.CoreCLR” “Microsoft.Dnx.ApplicationHost”  –configuration Debug “BJD.CoreCLR”

 

[Linux – build]

dnu cheap jerseys from China restore

dnx –appbase “Bjd.Common.CoreCLR” ~/.dnx/runtimes/dnx-coreclr-linux-x64.1.0.0-rc1-update1/bin/lib/Microsoft.Dnx.Tooling/Microsoft.Dnx.Tooling.dll pack “Bjd.Common.CoreCLR” och –configuration Debug –out “artifacts/bin/Bjd.Common.CoreCLR”

[Linux – wholesale mlb jerseys run]

dnx –appbase “Bjd.CoreCLR” “Microsoft.Dnx.ApplicationHost”  –configuration Debug Energy “BJD.CoreCLR”

 

お、重い・・・。

動機があれだけど、NuGetデビュー・・・しようかなー

 

2016-01-05 (6)

そして、、、、動かないぜ。。。エントリポイントがそこにいないことが原因のような気がするので、ランタイムとVS、MSBUILDの動きをおいかけないとだめね。

明日からはMSBuildを食せるね!

 

 

最近取り組んでいること – 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を動かしている様子です。

 

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

それでは、また!

Blogはじめました

突然ですが、Blogはじめました。あけまして、おめでとうございます!

2016/01/01、Microsoft MVP awardを受賞いたしました。カテゴリは「Microsoft Azure」です。

これは何かというと、Most Valuable Professional

MVP とはどのような人?

Microsoft inl?gget! Most cheap nfl jerseys Valuable Samsung Professional Do? (MVP) cheap jerseys は、自身のマイクロソフト技術に関する知識や経験を最大限に活かしながら、他のユーザーを積極的にサポートしている、非常に優れたコミュニティのリーダーです。彼らは、技術専門知識に加えて自主性と情熱を兼ね備え、マイクロソフト製品の実用的な活用方法をコミュニティやマイクロソフトと共有しています。

ということのようです。

本音を言うと受賞するとは思っていなかったので、ぜんぜん心の準備とかできてなかったんですよね。

ただ、受賞したからには、より一層の高みを目指して情報発信にも力を入れていこうと決意しまして、Blogを開設いたしました。Microsoft wholesale jerseys China AzureのWebアプリでWordPressを動かしています。IaaSの知識はさほど多くはないので、PaaSでゆるーくテンプレートを用いて作りました。

自主性と情熱に関しては、持っているものを地道に書いていきたいなぁ。まずは、技術者、Azure、CoreCLRの面白さ楽しさを伝えていけたらいいな!っと思っています。

また、JAZUG札幌支部(きたあず)のスタッフもさせてもらっています。本部含めて以下、JAZUGというコミュニティの一覧を簡単にまとめました。

Japan Azure User Group (JAZUG)の一覧

 

どうぞ、よろしくお願いいたします。