月別アーカイブ: 2019年2月

Docker Toolbox で Azure Functionsを動かす

Hyper-V が動かない環境の場合、Docker Toolbox を使えばよいので、使ってみる。内部で VirtualBox を動かしているので、仮想OSを VMWare で作っていると変わらないのだが、UI で操作できる「Kitematic」が意外と便利なので。 Docker Toolboxのインストール:Windows編 – Qiita https://qiita.com/maemori/items/52b1639fba4b1e68fccd ツールをインストールすると、3つのアイコンが作られる。Docker Quickstart Terminal は通常のコマンドライン、Kitematic (Alpha) が GUI ツールである。 Kitematic を起動して Docker Hub のユーザー名とパスワードを入力する。ここから Docker イメージをダウンロードする … 続きを読む

カテゴリー: Azure, NET Core | コメントする

Azure FunctionsのDocker版をローカルで起動する

Azure Functions で「なでしこ」が動くとか「COBOL」が動くとかという記事があったハズなのだが、これ難しいのでは?とは思っていたが、実は内部で Docker が動いているだけだった、という話。 Azure でサーバーレスなFunction Appを作るときに、現状ではWindows環境にすると「dotnet」と「node」、「java」が選べるようになっている。それぞれ VM 環境を Azure 側で用意してそれの上で動かすのだから、このあたりの環境は Azure = Microsoft 社が用意するんだろうなぁというのが想像できる。 もうひとつ、Linux 環境というのがあって、こっちは .NET と JavaScript と python が選べる。Windows のほうに python のがないのは何故?とか PHP は何処で動かすのか?と不思議に思っていたのだが、実 … 続きを読む

カテゴリー: 開発, Azure | コメントする

開発環境を仮想OS上に保管する実験

最近の開発環境と言えば、Docker で構築しておいてビルド環境を配布、というのが主流なのだが、Visual Studio 絡みで開発環境を用意するとそうもいかない。.NET Core で作っておけば Docker のコマンドラインで済むのだけど、Visual Studio でビルドということになると(*.sln を呼び出して msbuild しても状況は変わらない?Windows の GUI が必要だから)、なんらかの形で OS ごとまるっと開発環境を残すことになる。 クライアントアプリの開発となると、GUI が必須になるので、 顧客の主たる OS(検証機込み) 開発環境としての Visual Studio 動作環境としての SQL Server 諸々 ということになって、OS/Visual Studio/SQL Server はそれぞれ当時のバージョン込みで用意しておくことになる。顧客 … 続きを読む

カテゴリー: 開発 | コメントする

Azure Function から Redmine の API を呼び出す

サーバーレスな Azure Functions の練習がてら、Redmine の API を呼び出してみるテストを晒しておきます。Azure Functions の詳しい説明は、https://docs.microsoft.com/ja-jp/azure/azure-functions/ を参考にしてもらうとして、一番手軽なのは HttpTrigger である。普通の Web API と同じように URL アドレス経由で呼び出して、指定のファンクションを実行する。「ファンクション」とは言っても、F# とか Scala のような「関数型」のファンクションではないのだけど、ある意味「ステートレス」ということでは、AWS の Lambda もファンクションだし、Azure Functions もファンクションなので、「関数」って訳語が付けられているのだが。果たしてこれは、正しいのか?ってのは微妙 … 続きを読む

カテゴリー: 開発, Azure Functions, C# | コメントする

ClosedXMLとMVVMパターンを良好な関係にしてみる

MVVMパターンを考えるとき、ViewはXAMLとかGUIだろうという固定観点があるが、実はそうではない。と思うのだがどうだろうか?いわゆる、ASP.NET MVC の View にWeb APIを割り当てると View ってのは XML や JSON になる。クライアントから見れば XMLやJSON はデータだが、MVCパターンで作られたWebアプリにしてみれば、XMLやJSONをViewに見立てることができる。実際、Web APIを作るとき複雑なXMLを返す場合は、Viewの機能を使ったほうが楽だったりする。 ClosedXMLをViewに見立てる CloseXMLを使って、Excelに値を書き込もうとするとき Cell(row,column)あるはCell(“A1”)を使うわけだけど、ここの書き込み先をXAMLのバインドのように書けないだろうか?ってのを思いつ … 続きを読む

カテゴリー: 開発, C# | ClosedXMLとMVVMパターンを良好な関係にしてみる はコメントを受け付けていません。

ClosedXMLを使って、超高速にリスト形式の帳票を作成する

xlsx 形式な Excel ファイルを高速に読み込めたということは、ひょっとして高速に書き込めるのでは?と思って書いてみたのがこれ。 あらかじめ Excel で作ったテンプレートを用意しおいて、行を追加しているだけ。行数分コピーしているのは3行目のセル/行に書式が設定してあるから。こうしておくと罫線とか色とかフォントとかをコードで指定しなくて済む。 どうやら、ClosedXML には印刷機能がないらしいので、印刷のほうは Microsoft.Office.Interop.Excel を呼び出している。それでもスピードは体感で10倍以上にはなる。書き込みも相当スピードアップされるらしい。 実はレポート出力用に ClosedXML.Report https://github.com/ClosedXML/ClosedXML.Report というのもあるのだが、行単位の一覧程度ならばこの方式で十 … 続きを読む

カテゴリー: C# | ClosedXMLを使って、超高速にリスト形式の帳票を作成する はコメントを受け付けていません。

MVVM パターンでリモート操作の設計を考察

以前から考えていることに、MVVM パターンの ViewModel を使った遠隔操作がある。そもそも MV* パターン(MVVM とか MVC とか)の場合、View を独立させることができるので、View から離れている ViewModel や Model は複数の View に対応していてもよいだろう、という発想がある。Visual Studio のプロジェクトテンプレートだと、ひとつの View に対してひとつの ViewModel が対応するように作られるけど。まあ、それはそれとして。 MVVM パターンの View が GUI 以外にあるのだろうか?と考えてみたのだが、そのほかはないだろう。MVC パターンを使って Web API を作ることはよくあるけど、Web API や RESTful 程度に整理されてしまうと、XAML の入れ子の部分とか複雑怪奇なリストが作れるとかの意味 … 続きを読む

カテゴリー: 設計 | MVVM パターンでリモート操作の設計を考察 はコメントを受け付けていません。

ClosedXMLを使って、超高速にExcelからSQL Serverへデータ転送する

SQL Serverのデータをバックアップするとき正式な方法ならば、SQL Serverのバックアップ機能を使ってバックアップ/復元をすればよい。のだが、別な場所のデータベースに移したいとき使うにはいささか面倒くさいことが起こる。相互のバージョンが同じならば、そのあっまバックアップ/復元を繰り返せばよいのだが、ちょっとでもバージョンが違うとエラーになってしまう。仕方がないので、Accessを媒介する方法をよくとるのだが、型が微妙に違っているので(特に文字列の長さが異なってエラーになる)若干の手動の調節が必要になってくる。MySQLならば、ダンプコマンドを使ってえいっとSQLに直してしまうところなのだが、SQL Serverにはそんなものはない。 Excelを媒介にしてみる 適当なバックアップツールを作るのもよいのだが、ここは Excel を使って媒介してみよう、と考えた。SQL Serve … 続きを読む

カテゴリー: 開発 | ClosedXMLを使って、超高速にExcelからSQL Serverへデータ転送する はコメントを受け付けていません。