きよくらの備忘録

「三日坊主と呼ばせない!日記」改め。主にソフトウェア開発関連の話題。

CLIツールを使わずにコード中からプロジェクトをビルドしたりdacpacをデプロイしたりする(その2)

前回の続きです。 Microsoft.SqlServer.DACFx でdacpacをデータベースにデプロイする 続いて、出来上がったdacpacファイルから Microsoft.SqlServer.DACFx を使ってデータベースにデプロイしてみる。 www.nuget.org 上記NuGetッケージを取り込んだ上で、以下…

CLIツールを使わずにコード中からプロジェクトをビルドしたりdacpacをデプロイしたりする(その1)

先日、こんなエントリを書いた。 kiyokura.hateblo.jp 要約すると『コード中からMSBuild.exeを使ってプロジェクトファイルからdacpacをビルドして、それをSqlPackage.exeを使ってデプロイする』という内容である。 上記エントリではMSBuildやSqlPackageを利…

SQL Server データベースプロジェクトでSSDTの単体テスト機能を使わずに単体テストを行うアレコレ(主にデプロイ面の話)

前書き:SQL Server データベースプロジェクトはとても便利なのだけどSSDTの単体テスト機能は割と辛みがあるでNUnitとかxUnitとかでやりたい いくつかの案件で、Visual StudioのSQL Server データベースプロジェクト*1(以下、DBプロジェクト)を用いてSQL S…

SqlPackage.exeを使ってdacpacをコマンドラインからデータベースにデプロイする方法

メモ。 dacpacの形になっているSQL Server Databaseを接続文字列を用いてDBサーバにデプロイする方法のメモ。 凡例: sqlPackage.exe /Action:publish /SourceFile:<source dacpac file> /TargetConnectionString:<destination database connection string> 例(ローカルDBにデプロイ): sqlPackage.exe /Action:publish /</destination></source>…

SQL Serverデータベースプロジェクトをコマンドラインでビルドして任意のパス・名称のdacpacを出力する方法

メモ。 SQL Server データベースプロジェクト(*.sqlproj)からコマンドラインでMsBuild.exeを用いて、任意のパスに任意のファイル名でdacpacを出力するには以下のようにコマンド実行する。 (OutputPathやSqlTargetNameを省略するとプロジェクトファイルで…

ThinkCentre M75q-1 Tiny にSSDとメモリを増設した

kiyokura.hateblo.jp の続編。 SSDとメモリを購入 先日購入した構成で内蔵SATA 2.5インチベイとSODIMMスロットが一つ空いていたため、せっかくなので増設することにした。前回のエントリで『後々に適当なものを見繕って増設予定』などと書いている割に結局す…

ThinkCentre M75q-1 Tiny を購入した

Twitterでどなたかが『価格.comの週末特価のリンクから買うとお得!』という情報をつぶやいてくださっていたのを見て、ちょうど事務処理用にPCを一台仕入れたかったので購入。 想定の用途だけ考えればこのCPUであれば他はほぼギリギリまで削っても問題なさそ…

IODATAの23.8型液晶ディスプレイ DIOS-LDH241DB を購入した

あとからググる用のメモ。 買ったもの メーカー アイ・オー・データ機器 型番 DIOS-LDH241DB JAN 4957180144634 解像度 1920×1080 www.iodata.jp 購入動機等 主に事務処理用PCで使う目的で、24インチクラスの手ごろなものが欲しくて購入。 スペックよりも価…

「秋葉原式プログラマーキーボード for kids」を2か月弱使ってみた感想

TSUKUMOが発売した「秋葉原式プログラマーキーボード for kids」を買って2か月弱使ってみたので感想を書いてみます。 TL;DR 結論:正直あまりお勧めできない コンセプトは良いが製品の品質が低い(よくBTOに付いてる最低限のもの相当) 「キートップの印字が…

Azure DevOps のgitリポジトリにPersonal Access Tokensを使ってLibGit2Sharpでアクセスする

Azure DevOpsのgitリポジトリに LibGit2Sharp を使ったコードでアクセスする際、私は今まで Azure DevOpsで Alternate Credentials として設定した ID/パスワードを利用していました。 しかしながら、Alternate Credentials がついに来月、2020年3月2日をも…

2019年に岡山のお店で食べた塩ラーメン

この記事は 大都会岡山 Advent Calendar 2019 19日目のエントリです。 特に岡山らしいネタが思い浮かばなかったので、とりあえず2019年に岡山で食べたラーメンの写真の中から、塩ラーメンに絞って張っていくだけのエントリにしてみたいと思います。 例によっ…

MSI PRESTIGE PS63 Modern (PS63-8SC-035JP)を購入した

PCを買い替えたのでメモ*1。 MBPが膨らんだ 2014年末から4年少々使ってきたMacBook Pro Retina 13 Mid 2014が、バッテリーが膨張して筐体が歪んでくる感じになってきたのでPCを買い替えました。 底面が膨らんでゴム足が地に着かずグラグラするし、キーボード…

SSMS18で画面の描画が崩れるようになった(ワークアラウンドあり)

※追記※ 誤解を生みそうなタイトルなので補足しておくと、決してSSMSがv18でデグッたと主張したいわけではなく、またおそらくは新調したての自分のPC(のGPUのドライバ)との相性やGPUドライバ自体に問題がある可能性も多分にあると認識しています。v17以前の…

フリーランスになった

そういえば今まで退職エントリ的なのは書いてなかったし今回も特にどちらでもよかったのですが、会社員生活に終止符を打つことになったので取り合えず日記として書いておくことにしました(所詮は個人の日記ですし)。 ということで……。 3年半ほどお世話にな…

岡山の「かつラーメン」を少し紹介してみる

このエントリは大都会岡山 Advent Calendar 2017の2日目のエントリです。 adventar.org かつラーメンって知ってるかい? 岡山のラーメン屋さんだと、数店に一店くらいの割合でメニューに「かつラーメン」「とんかつラーメン」があるお店にあたったりします(…

Azure の仮想マシンの起動と終了をメールで通知する

前に少し調べたときにはよくわからなかくて他の方法で逃げたんですが、昨日Azure Monitorのドキュメントとかを何の気なしに眺めてるとなんか簡単にできそうなので試してみました。 実現したいこと&実現方法 実現したいこと: - 仮想マシンの起動が成功した…

Hangfireを使ってみる (6):Jobの種類について:3. Continuations

前回の続きです 今回は3つ目のタイプのジョブについて。 3.Continuations 連続という玉突きというか、指定したJobが終わった後に実行されるように登録するタイプのジョブです。 この前提の話として、前回と前々回で紹介したFire-and-forgetとDelayedを登録す…

Hangfireを使ってみる (5):Jobの種類について:2. Delayed

前回の続きです。 今回は二つ目のタイプのジョブについて。 2.Delayed 指定した時間の経過後に遅延実行されるタイプ。 BackgroundJob.Schedule()またはBackgroundJob.Schedule<T>()で登録する際にTimeSpan型で指定した時間を経過した後に実行されます。 ドキュ</t>…

Hangfireを使ってみる (4):Jobの種類について:1. Fire-and-forget

Hangfire にはジョブの種類(と実行タイミング)がいくつかあるので、それぞれの動きについて調べてみたのでメモ。 ジョブの種類 Hangfireで利用できるジョブの種類は主に以下があるようです。 No 種別 説明 1 Fire-and-forget 即時実行。すぐに一回実行。 2…

Hangfireを使ってみる (3):HangfireでDIコンテナを使ってみる

前回の続きです。 前回は『ClientはASP.NET Webアプリケーション、ServerをWindowsコンソールアプリケーションで実装』という形の実装に変更しました。 構成としては今回私がやりたい要件*1を満たせそうですが、一点、実現できていないことがありました。 そ…

Hangfireを使ってみる (2):ClientとServerを別プロセスにしてみる

前回からの続きです。 前回は『ClientとServerの双方を同一のASP.NET Webアプリケーションに実装』しましたが、今回はこれを分離してみたいと思います。 Hangfire Clientと Hangfire Serverを別プロセスにする 今回は『ClientはASP.NET Webアプリケーション…

Hangfireを使ってみる (1):とりあえず触ってみる

最近 Hangfire について調査・検証しているのでメモ。 Hangfireとは Hangfireは.NET向けのバックグランド・タスクのライブラリです。 www.hangfire.io ストーレージにタスクをキューイングして、非同期に実行させることができます。即時実行だけでなく、cron…

SQL Server Data Toolsのユニットテスト実行前にLocalDBのインスタンスを破棄・再作成する

SQL Server Data Tools (SSDT)のユニットテスト機能ネタです。 テスト実行前の自動デプロイは便利だが失敗するケースがある 以前の記事(これとかこれ)でも触れた、SSDTの ユニットテスト実行前にDBインスタンスに自動でデプロイを行う機能 は非常に便利で…

SQL Server LocalDBのインスタンスを削除してもユーザーデータベースのファイルが残る

TL;DR SQL Server Express LocalDBのインスタンスをSQL Server Data Tools (SSDT)のSQL Server オブジェクトエクスプローラーやコマンドラインユーティリティー SqlLocalDb.exeで削除すると、ユーザーデータベースのmdf/ldfファイルは残る この状態で同名の…

真・SQL Server Data Toolsのユニットテスト実行前に複数DBにデプロイする

前回の続きです。 前回のエントリに対して、@ahiru_sp さんからアドバイスいただきました。 これ、DatabaseTestService の派生クラスを作って、引数ありのDeployDatabaseProject呼ぶのが正攻法?かと思ったけど、引数になに指定すればいいのか分からんかった…

SQL Server Data Toolsのユニットテスト実行前に複数DBにデプロイする

SQL Server Data Tools (SSDT)のユニットテスト機能では、テスト実行前にソリューション内のデータベースプロジェクトをテスト実行対象のデータベースに自動でデプロイしてくれる機能があります。 これは非常に便利な機能です。しかし、複数のデータベースに…

オープンソースカンファレンス2016広島でASP.NET Coreについてお話しさせていただきました

ぼやぼやしている間にずいぶんマが空いてしまったのですが、11/27(日)に開催されたオープンソースカンファレンス 2016 Hiroshimaにて、ASP.NET Core on Linuxのタイトルでお話しさせていただきました。 セッション資料はこちらです。 ASP.NET Core on Linu…

DapperのQuery<dynamic>()の結果セットのフィールド名を取得する

ちょっと必要があったのでメモ。 Querydynamic()>が返すdynamicの実体はDapper.SqlMapper.DapperRowのコレクション Query<dynamic()>()が返すdynamicの実体はDapper.SqlMapper.DapperRowのコレクションです。 このDapperRowはDapperのDapper.SqlMapperのprivateな型です</dynamic()>…

Visual Studio Team Serviceで別のチームプロジェクトにリポジトリをforkして運用するメモ

Visual Studio Team Service(以下VSTS)で 別のチームプロジェクトにリポジトリをforkして運用してみよう と試行錯誤中です。とりあえず今やり始めたことをメモがてら。 実現したいこと 実現したいのはgithubでよくあるような『手元で修正してpull request…

Visual Studio Code で ASP.NET Coreをデバッグ実行する(Win/Ubuntu/Mac)

表題のとおりです。 オフィシャルのドキュメントもあるので基本は悩むところないと思うのですが、現時点ではWindows環境のみproject.jsonに追記しないとうまくいかない点があります(そこでちょっと悩んだ)。 オフィシャルのドキュメントはこちら: Your Fi…