窓を作っては壊していた人のブログ

この謎のブログタイトルの由来を知るものはもういないだろう

メモ: Client Side Blazorに私が求めているものとそれに関係しそうなリポジトリとIssue

Client-Side BlazorはWebAssemblyでC# のコードを実行しています。 ということは、依存しているC# のコードをILに落とし込んで、みたいなことが出来ないと実行できなそうですよね?

で、実際C# ライブラリがNative Libraryに依存しているとビルドに失敗することが知られています。

Blazor build fails with unhelpful error when there are native dependencies · Issue #8158 · aspnet/AspNetCore · GitHub

これは厳しい。

私が求めていることは、

 .
├── linux
│  └── libawesome.so
├── osx
│  └── libawesome.dylib
├── win-x64
│  └── libawesome.dll
└── wasm(とかbrowser?) <- こいつを追加
   └──  libawesome.wasm

みたいな感じでNuget Packageを作ってBlazorを使ったプロジェクトで参照しているとClient-Sideで libawesome のライブラリを使える状態。

似たようなことを考えている人がいるようで、

Implement support for pinvoke for wasm target. · Issue #8007 · mono/mono · GitHub

わかるーという………

これが出来ると割とハッピーなんですけど、AspNetCoreのリポジトリのIssueを探してもそれっぽいことが見つからないんですよね。 この辺こんなIssueで議論されているみたいなことを知っている方がいれば教えてほしいです。

以上メモ


関連しているリポジトリをちょろっと載せておこう(いつか触ってみる)

GitHub - JeremyLikness/blazor-wasm: Blazor and WebAssembly examples (part of a Blazor presentation)

GitHub - RyanLamansky/dotnet-webassembly: Create, read, modify, write and execute WebAssembly (WASM) files from .NET-based applications.

ウェブ・セキュリティ基礎試験(徳丸試験)のベータ試験に合格しました

本日試験結果と認定書が届き、無事合格となりました。 各設問に対しての正答率が書かれた採点の概要も同封されていたため、自分はどの分野の知識が足りないか、理解が足りていないのかが数値でわかり、良いフィードバックが得られました。

徳丸試験とは

www.phpexam.jp

Webセキュリティを体系的に学ぶ本として有名な

こちらの本(通称: 徳丸本)を主教材とした試験です。

試験内容ですが(言えないことが多いので詳細には記載しませんが)言語に依存した話というよりも、体系的にどういう箇所に脆弱性が生まれてしまうか、そのリスクに対して開発者はどのような点を意識するかみたいな、最低限ここはやるよね?の知識を一気に試すことが出来る内容でした。

受験に向けて行ったこと

先述した徳丸本をパラッと眺めました。 試験を受けるぞ、と決めた当時私はその本を持っていなかったので、会社の図書室で本を借りて、知り合いのエンジニアグループの人と一緒に読み合わせるなどで勉強をしました。 同じレベル感の人たちと読み合わせをすると疑問点を参加者同士で共有できたり、実例と照らし合わせて話が出来るので非常に理解が進みおすすめです。

f:id:yamachu_co:20191016200823p:plain
会社のOASIS(図書室?)にはもちろん徳丸本が

受験した感想

やはり受験してよかったなという感想がまっさきに出ました。

受験前の自分のふわっとしていたセキュリティ対策はベターなものであったのかの確認が試験対策としての本の読み合わせで行えた点が非常に大きかったかなと思います。 また受験後返ってきた結果を見て、ある程度の自信が持てたこと、また自分がまだまだ弱い点が浮き彫りになり、今後の勉強の指針たてられた点がよかったです。

このように多くの学びが合った徳丸試験、興味を持った方はぜひとも挑戦してみてください。