ミルク蒼屋のチラシ

Colloid(コロイド)が何か色々と残したりするブログです

リモート時代のモブプログラミング(モブワーク)を見てた

見ながら執筆してます
後ほど追記します。

moblove.connpass.com

  • 参加をしようと思ったきっかけ
  • リモート時代のモブプログラミング(モブワーク)  
    • モブプロの定義とは
    • 実際のリモートモブ
    • 大切なこと
  • LT大会
    • NETDUETTOやってみた! @mya-zakiさん
    • モブプロはチーム受け入れに効く @katsumata_ryoさん
    • リモート時代のソロプログラミング @sato_ryuさん
    • POさんと一緒 @R_Maedaさん
    • Mob IntelliJ pluginのご紹介 @nowsprintingさん
  • 感想
続きを読む

Blazor - app building workshopをのんべんだらりとやってみる その3

日記です。

やったこと

Session #1をやってみた

GitHubからプロジェクトをクローンして、とりあえず実行してみる
f:id:Colloid:20200510132816p:plain

どうやらこちらもWebAssembly版だと思われ

f:id:Colloid:20200510173312p:plain
プロジェクトの構成はこんな形で、.ServerがWebAPIの機能部分ぽい
で、ClientからServerへAPIを使ってピザの情報を取得しようみたいな事をこの章ではやった

結果はこんな感じ

f:id:Colloid:20200511225500p:plain
夜にみるとテロ

感想というか整理

そもそもWebAssemblyってなんだっけ

この記事が一番わかりやすい

qiita.com

古の時代はJavaScriptは飾りです、偉い人(ryみたいな頃から
現代はJavaScriptでなんでもやり、速さを求める時代となった
そこで生まれたのがWebAssembly。
C#で作りあげたdllをブラウザがDLして、WebAssemblyが解釈して実現させてるという感じなんだろうか
実際にピザアプリをChromeで実行し、F12でネットワークみてるとDLLのパスが出てくる
これを200でGetしてるので、それに対してwasmがいい感じにやってるという認識

時代は進化してるなぁと感じられ

APIはどこからやってきた?

前述の通り、BlazingPizza.ServerAPIのコアとなる部分
今回はメニュー画面にピザを表示するという処理だが、そのピザ情報取得するための処理がBlazingPizza.Serverにあたる
Client側ではHTTPで呼び出してるだけ
↓Index.razor

protected override async Task OnInitializedAsync()
{
    specials = await HttpClient.GetFromJsonAsync<List<PizzaSpecial>>("specials");
}

このspecialsがBlazingPizza.ServerSpecialsControllerで定義されていたという

f:id:Colloid:20200511230258p:plain
スクショで許して

なるほどね
ちなみにデータはSQLite製である

気になったのは、何故WebAPI機能面はBlazor製なのか
ASP.NETで普通のWebAPIも作れたはずでは
まさかBlazorはそんなフロントエンドな所ばかりじゃない!Serverもいけるのよというアピール的な感じなのか
そんな事を思いつつ、今日はこの辺にて

Blazor - app building workshopをのんべんだらりとやってみる その2

日記です。

やったこと

  • Visual Studio 2019 Previewのアプデ
    5/7に出てたそうな
    クラッシュ系が解決されたそうな

docs.microsoft.com

  • ToDoアプリの作成
    切りよく終わった

docs.microsoft.com

気になった所

  • カウンタ連打したら落ちた
    ToDoアプリ、初期画面であるIndex.razorカウンタ表示させようぜパートにて
    デバッグで実行してカウンター連打しまくったらブラウザ*1落ちた
    →前述のVSのアプデの効果なのか、アプデしたら落ちなくなった

  • 謎のエラー
    Todoの値を格納するrazorの記述にて、謎のエラー表記が
    特にミスっているわけではなさそうだし、実行も出来るので気になる所
    f:id:Colloid:20200510000126p:plain
    そのまま進めているとエラーが消えてたりするからまーーーーいっかぁと思ったりした

感想

  • ショートカット難
    仕事ではJetBrains系の配下なので、ショートカットにうぐぐ…となる所多し
    特にAlt+Enterとかのショートカットとか違うやんけと思う等した
    あとはスペニットちょいちょい使い方(Tab×2)等忘れてるなぁと

docs.microsoft.com

このためにReSharper入れるのも億劫だしなー

  • WebAssemblyを感じる
    f:id:Colloid:20200510002605p:plain wasmとかdllがDLされててWebAssemblyみを感じる
    これらはどうやらクリーンしてビルドした時に起きてるっぽく、2度目はキャッシュなのか無さそうだ

  • SPA感
    HTMLのBindingに対してC#のコードで処理書けるの、良い
    ASP.NET MVCやってたマンとしてはBlazorでSPAを学ぶとかでも良いのではとも思う
    しかしながらMVCは明確に処理の役割が分けてたけど、SPAはその編どんな感じだろうと思った
    そこら編はピザアプリで知れるかな?

Blazor - app building workshopをのんべんだらりとやってみる その1

ここ数年C#にふれあえず、MSLearnを数ヶ月前にDockerの勉強でやってたらAzure環境構築パートを自費で構築をして放置し、本日使えないクレカ*1に請求しようとされて危うく未払い*2発生しかけましたがいかがお過ごしでしょうか?
MSLearnはAzureガッツリ使う系は無料で使えるけど、ローカルでやっておいて最後にAzure CLI使ってデプロイしてみよう!系は自費発生する可能性がある。気をつけよう

そんな前述なので5億年振りにBlazorを触ってみることにした

前々から気になっていたけど、当時はドキュメントが薄かったのでやるには修羅の道
今ではServerサイドがロンチされたっぽいのもあり、薄かったドキュメント類が厚くなってきたな?と
Twitterで偶然にも見かけた宅配ピザアプリ作ってみようぜワークショップをこのご時世だしやってみようと重い腰を上げた

github.com

無事完成した暁には、ピザアプリに出てくるピザに似た物を宅配ピザを頼むという謎ゴールを立てておこう

今日やった事

  • 環境構築

docs.microsoft.com

Visual Studioは偶然にも2019 preview版入れてたので、.NET Core 3.1Previewもなんでかすんなり入ったぜ
ちなみに昔話題にもなったWebAssembly版でやってみるぞ
というかドキュメントが何故かWebAssembly版を推してくるぞ

docs.microsoft.com
どうやら現時点ではチョロメもといChrome系統のみ対応しているそうな。Firefoxerである私は涙目である*3

  • ToDoアプリを作る編(途中)

docs.microsoft.com
どうやらピザアプリワークショップはアップと慣らしで、Todoアプリを作ってから取り組めよとのこと なので、初期アプリのカウンターの値を増やす処理で眠気が来て本日は断念…
3の倍数の時にアホになると面白くなるのかな

ここまでの感想

そういえばだいぶ前にVueを触った思い出が蘇る↓

colloidgel.hatenablog.com

razorの記述がSPAっぽい~~とちょっとな知識比較できたのは嬉しかったかも
あとはServerサイドは既にDocker対応してるんですね…と思いました
ここ最近C#から離れてクラウド系なインフラを考える機会があったので、情報を追うのがやっとだ…

*1:請求先を変えるのすっかり忘れてたんや

*2:安心してほしい。支払った(当たり前だが)

*3:Chromeも入ってるけどね