2019/04/13(土)既存のプロジェクトをGitHubにあげる

一度やったはずなのにまた躓く…。
既にGitHub側もVisual Studio側も環境は整っている場合の手順のおさらい。

下準備

  • Visual Studioでプロジェクトを作成
  • ソース管理(ローカルリポジトリ)に追加しておく
  • GitHubでプロジェクト名と同じ名前のリポジトリを作成(ReadMeは追加しない)

GitHubで作成したリポジトリのアドレスをコピー

20190412002.png

Visual Studioのリポジトリの設定でリモートを追加

20190412001.png

20190412003.png

20190412004.png

20190412005.png


保存すれば後はいつもの作業…のはずが今回はおまけが…。
同期してプッシュしたらセキュリティの警告が表示されました。
20190412006.png


WebFormの新規プロジェクトで作成したばかりでほとんど修正していないのに何故?と思い確認したら、bootstrapのバージョンが脆弱性含んだものになっていたようです。
20190412007.png

Nugetで何も考えずに更新かけたら3.4.1に上げたつもりが4.3.1にあがってしまい、デザインの微調整が必要になりました。

2019/04/04(木)科目別集計

Excelが苦手なのでC#で決算書を作成しようと初のWPFアプリに挑戦していましたが、間に合わず、結局こちらも初めてのExcel VBAで関数つくりました。
ちょっとダサいけれどエクセルファイル無くした時用にメモっておきます。

初めての標準モジュール作成

' 収入専用
Function 科目別収入集計(科目)
    Dim rowsData As Long '行数カウント用の変数
    rowsData = Worksheets("現金出納帳").Cells(Rows.Count, 1).End(xlUp).Row '最後の行数を取得
    'Debug.Print rowsData
    Dim total As Long
    Dim i As Long
    For i = 5 To rowsData
       If Worksheets("現金出納帳").Cells(i, 3).Value = 科目 Then
            lineVal = Worksheets("現金出納帳").Cells(i, 5).Value
            'Debug.Print Worksheets("現金出納帳").Cells(i, 5).Value
            total = total + lineVal
       End If
    Next i
    'Debug.Print total
    科目別収入集計 = total
End Function

' 支出専用
Function 科目別支出集計(科目)
    Dim rowsData As Long
    rowsData = Worksheets("現金出納帳").Cells(Rows.Count, 1).End(xlUp).Row
    Dim total As Long
    Dim i As Long
    For i = 5 To rowsData
       If Worksheets("現金出納帳").Cells(i, 3).Value = 科目 Then
            lineVal = Worksheets("現金出納帳").Cells(i, 6).Value
            total = total + lineVal
       End If
    Next i
    科目別支出集計 = total
End Function

使い方

パラメータを増やせば関数は一つで済みますが列が間違ってないか不安になり確認する回数が増えそうなので、使いやすさ優先です。

収入の例

=科目別収入集計("雑収入")

支出の例

=科目別支出集計("雑費")

2019/04/01(月)Blazor 0.9.0

Blazorの新規プロジェクトを作ろうとしたらビルド失敗。
「コード -2147450730 で終了しました」という見たことの有るような無いようなエラー。
前回苦労した時は英語だったのが日本語になっていました。SDKが気に入らない時のエラーのようです。
確認したら3月にBlazor 0.9.0が出ていました。
SDKを入れなおすと直りそうですが、今度は現在動いている方のプロジェクトをUpgradeする必要ありそうです。
正式リリースまで待とうかな…。

2019/03/24(日)Blazorに未来はあるのか?

特殊分野の専用電卓を作るよう依頼されたことからBlazorの開発環境を入れました。
肝心のプログラムは計算方法調べていたら公式のアプリが無料で提供されていることが分かり締め切りもなくなったのですが、せっかくなので少し遊び始めましたが色々思っていたのと違う。
  • View修正後F5で確認しようとしたらLoading...から始まるくせにViewに修正が反映されていない。
  • RazorといえばASP.NET MVC、ASP.NET MVCと言えばModelにDataAnnotations(個人の感想です)なのに知らんといわれる。
  • C#でASP.NET MVCというよりTypeScriptでRIOTのコンポーネント作るのに似ている気がする
BlazorでDataAnnotations使う方法を検索していて、情報をまとめたプロジェクト見つけましたがすごいことになってます
Blazor + AngularとかXamarinと組み合わせるとかややこし過ぎませんか(^^;)。
BlazorもXamarinもMono上で動くのでBlazorから端末の機能を使おうとした場合にXamarin経由で使えるようですが。

Monacaの環境があるのにBlazorを入れたのは久しぶりにMonacaのクラウドIDEにログインしたらデザイン一新されていたのとテンプレートが色々あって選びきれなかったため。

更にモバイルアプリ用の選択肢が増えた感じ…。
新しいもの好きですがボチボチ振り落とされそうです。

2019/03/03(日)Blazorアプリをサーバーにあげる

さくらのレンタルサーバの場合です。
GitHub Pagesにあげる場合はこちらが参考になります。
IIS、Azureは苦労しなくても日本語の情報が色々あると思います。

サーバーにあげようとしているのはBlazorテンプレートで作成したWebAssembly上で動くクライアント側のみのアプリ。
ブラウザでアクセスできて必要なファイルがダウンロードできさえすればよいので、サーバー側はIISだろうがApacheだろうがnginxだろうが関係無いはず。

できてみればたいした設定も無く簡単に動きましたが、ちょっと躓くとsakuraでも動く、という確証が無かったので余計なところにはまりこみ時間がかかってしまいました。

ドキュメントルート以外に上げる

baseタグを追加

サーバー側は大文字小文字を区別するか?
私が利用中のsakuraのレンタルサーバーは大文字小文字を区別するようです。
(大文字のファイル名でアクセスしたら404だった)
プロジェクト名は大文字小文字交じりで作成しましたが、baseタグは小文字に統一。
プロジェクト名の前の/は必要でした。
BlazorClient040.png

Visual Studioの設定変更

baseタグを追加したらVisual Studioの起動URLも変更しておかないと開発時に不便。
BlazorClient050.png


デバッグ実行し、ローカルでちゃんとプロジェクトフォルダ付きで読み込まれていることを確認。
BlazorClient060.png

アップロードに必要なファイル

Visual Studioの「発行」機能を使うと必要以上のファイルが書き出される。
サーバーにアップロードするのはdistフォルダの中身だけ。
BlazorClient080.png


サーバー側のフォルダ名はbaseタグで指定したものに合わせること。

mod_rewrite

トライはしましたが、めげました…。

サンプルの/counter や/fetchdataはサーバーには存在しないURLなので、404になるので、404をindex.htmlにリダイレクトするよう設定する必要があるとありますが、必ずindex.htmlから起動する場合には設定しなくてもブラウザ側で解決できるようです。
今回は特に問題ないのでmod_rewriteはCMS用のルールからプロジェクト用のフォルダを除外するだけで済ませました(mod_rewrite使っていなければ特に設定する必要なし)。

mimeタイプの追加

プロジェクトフォルダ内に.htaccessファイルを作成し、現在のところ下記1行だけ。
これを削除してもしばらく動いていたので無くても大丈夫だと思っていたら、急にページが見つからなくなり、戻したらまた動き出しました。
AddType application/wasm wasm
OK キャンセル 確認 その他