NETCore SDK プロジェクトでnugetパッケージを作成する

NETCore SDK プロジェクトでnugetパッケージを作成してみたのでその手順をまとめたいと思います。(VisualStudioなどは予めインストールされていることとします。) nuspecファイルを作成する nugetパッケージを作成するためnuget specコマンドを実行してnus…

Resharperで参照しているクラスのソースコードを表示する

ResharperではNugetなどで参照しているライブラリのソースコードをでコンパイルするなどして表示してくれます。その設定についてまとめたいと思います。 設定方法 Resharperの設定は メニューバーのResharper からOptionsを表示します。Tools - External Sou…

Azure FunctionsでOpenCVSharpを利用したアプリケーションを作ったときにハマったこと

Azure FunctionsでOpenCVSharpを利用した画像の加工を行おうとしたのですが、以下の点でうまく動作しませんでした。 最初の構成 OpenCV3.2 All-in-one package - bundles native OpenCV DLLs: .NET Framework wrapper for OpenCVを利用してx86またはx64でア…

automapperを6.1.1から6.2.1へバージョンアップしたら例外がスローされた

開発の区切りが良かったのでライブラリを一斉にアップデートしたところAutoMapperの初期化のタイミングでテストがコケるようになりました。例外は以下の内容です。 System.InvalidOperationException: 'Mapper already initialized. You must call Initializ…

GitHub Extension for Visual StudioでソースコードのGitHubリンクを取得する

VisualStudio2017でGitHub Extension for Visual Studioを便利に利用させていただいているのですが、GitHubからCloneしてきたソースコードからGitHubのウェブページへのリンクを取得できることに気づきました…。今更かと言う感じですが、便利なので紹介しま…

Npgsql(ef core)を利用してエンティティのバージョン管理を行う

SQL Serverを利用していると特に工夫することなく利用できるエンティティのバージョン管理(Concurrency Tokens - EF Core | Microsoft Docs)ですが、PostgreSQLでは少し工夫が必要です。 PostgreSQLではMisc | Npgsql Documentationに記載のある通り、内部…

DbContextのTracking設定をすべてのエンティティに設定する

テストプログラムなどで更新処理を実行するときにContextのTrackingが有効な場合、Contextから更新後のデータを取得するときに最初に取得した情報をContextが保持していてテストがFailになる事があります。忘れた頃に発生する事象で、たいてい急いでいるとき…

ASP.NET Core2のStartup.csでJson.NETの設定を行う

ASP.NET CoreでJson.NET - Newtonsoftの設定をStartup.csに行うには以下の通りConfigureServicesで初期化を行うことができます。 public void ConfigureServices(IServiceCollection services) { ... services.AddMvc().AddJsonOptions(options => { options…

ASP.NET Core2でSerilogを利用する

これまではNLogを利用することが多かったのですが、パフォーマンスやお手軽さからSerilog — simple .NET logging with fully-structured eventsを使用してみようと思います。 前提条件 対象のプロジェクトはASP.NET Core2で作成しました。 設定方法 ASP.NET …

EF Core2で実行したSQLの引数をログに出力する

EntityFramework Coreで実行したクエリのログを出力する設定は以下の通りDbContextクラスのOnConfiguringをオーバーライドしてoptionsBuilder.EnableSensitiveDataLogging();を設定すればOKです。ただ、SensitiveDataLoggingというパラメーター名からも分か…

migrationのテーブル名や列名をLowerSnakeCaseに設定する

EF Coreを利用してCodeFirstでMigrationによりデータベースのテーブルを作成するときですが、テーブル名と列名がC#のプロパティ名となるため、デフォルトではUpperCamelCaseになります。 これを変更するにはテーブル名であれば{Table("table_name")、列名で…

異なるプロジェクトにあるContextでMigrationを実行する

複数のプロジェクトで構成されたソリューションのうち、Startupプロジェクト以外でef migrationsを実行する場合には以下のようにDbContextを含むプロジェクトでマイグレーションコマンドを実行する必要があります。 SampleSln -- StartupProject -- Reposito…

Resharperを利用時にCleanup Code実行時にif文で中括弧が削除される

Resharperの2017.2を利用していると、CleanupCodeを実行時にif文の中括弧が削除されるフォーマットが実行されることがあります。 具体的にはこのような感じになります。 CleanupCode実行前のコード if( condition == true) { Console.Writeline("test"); } C…

EC2インスタンスがECSインスタンスとして認識されないときに確認すること

こんにちは。beaglesoftの真鍋です。 ECSを利用しているときにスポットインスタンスなどのEC2インスタンスを追加でを利用することは多いと思います。そんなときにスポットインスタンスを購入してもECSに紐付かないということがありました。 どうしてだろうか…

AlfredでTerminal / Shellを利用する

こんにちは。最近仕事でmacを使うようになったbeaglesoftの真鍋です。 私のパソコン遍歴は色々と紆余曲折しているのですが、なんだかんだ言ってもmacは便利です。Windowsは色々と遅く感じてしまうし、Linuxだと開発以外の仕事では少し不便というところなので…

SDKMANでJavaの開発環境をセットアップする

こんにちは。beaglesoftの真鍋です。 Javaの開発環境はJDKのインストールに始まりビルドツールであるmavenやgradleのインストールまで行う必要があります。以前はそれぞれ別々にインストールする必要があったのですが、最近ではこれらのツールを管理するツー…

Gradleのtestタスクでソースコードがコピーされない

こんにちは。beaglesoftの真鍋です。 IntelliJでJavaクラスファイルを作成するところがKotlinファイルを作成してからKotlin使い始めました。 さて、先日Gradleを利用してテストを実行しよう(gradle clean test)としたところ、:test NO-SOURCEと表示されテス…

SpringBootTestでのapplication.propertiesの設定を変更する

SpringBootTestでapplication.propertiesの値を設定する SpringBootTestでapplication.propertiesの値を変更する方法は以下の通りとなります。 application.properties 今回対象とするapplication.propertiesの項目は以下の通りとなります。 ... foo.bar.ena…

Railsで単語の単数・複数変換を制御する

Railsでは単語の単数・複数をsingularize/pluralizeで変換することができますが、変換を行いたくないときもあります。そのようなときにはinflections.rbへ設定を追加することで変換を制御することができます。 Railsのバージョン $ bundle list | grep rails…

cannot load such file rails_helperが発生した時に疑うこと

RSpec3でテストを実行した時に、cannnot load such file rails_helperが表示されたときに疑うべきことは以下のこと。 spec/rails_helper.rbが存在するか。特にRSpec2.xから3.xへアップグレードした時にはbundle exec rails g rspec:installを実行し忘れ…

bootstrapでmodalを2重に表示するとbackdropが表示されたままになる

こんにちは。beaglesoftの真鍋です。 TwitterBootstrapでmodal多重表示するときにbackdropにstaticを指定しているとbackdropが全面に表示されてしまうことがあります。これは最初に表示したモーダルダイアログ上でボタンなどをクリックして更にモーダルダイ…

ActionModelをincludeしたモデルでdraperを利用する

こんにちは。beaglesoftの真鍋です。 drapergem/draper: Decorators/View-Models for Rails Applicationsを利用している時に、ActiveModelをインクルードしたモデルでdecorateメソッドを使用する場合にはDraper::Decoratableをインクルードすれば利用可能と…

RubyMineからVimへ少しずつ移行中

こんにちは。beaglesoftの真鍋です。 昨年は試行錯誤の年でしたが今年は挑戦の年としたいと思います。どうぞ今年もよろしくお願いいたします。 さて、昨年の終わり頃からRuby on Railsをいじっています。あわせてVimで開発もトライしていて結構いい感じに使…

deviseでメール認証済みなユーザーを作成する

こんにちは。beaglesoftの真鍋です。 deviseでテストユーザーを作成するときなどユーザーを認証済み状態にして確認メールを送信したくないときが結構あったりします。特に大量のユーザーアカウントを作成してテストをシたい時とかですね。 そんな時にどうす…

JPAでLocalDateとLocalDateTimeを利用する

JPAでLocalDateTimeまたはLocalDateを利用するためには、以下のコンバータークラスを作成するだけで利用可能となります。(autoApply = trueを設定することでエンティティのフィールドに設定などは必要ありません。) java.sql.DateとLocalDateの変換 java.s…

AWS User Pools をJavaから利用する

こんにちは。beaglesoftの真鍋です。 このところSpring Boot+AngularJSでいろいろと楽しんでいます。AngularJSは初めてなので戸惑うことも多いのですが、段々と慣れてきてとても便利なものだと感じられるようになってきました。 ところで、このところAWSを利…

Surface Pro4で外付けディスプレイの表示サイズを変更する

こんにちは。beaglesoftの真鍋です。 先日はSurface Pro4についていいところと悪いところを紹介しました。そういうブログを書いたあとにはやはり色々と改善できないものかと考えるらしいです。ただ、悪い所については改善できそうになかったのでちょっと不便…

Surface Pro4を購入して3ヶ月

こんばんは。beaglesoftの真鍋です。 はやいものでSurface Pro4を購入して3ヶ月ほどたちました。Surface Pro4を購入した理由は、ペンとタブレットの利用が素晴らしいから購入したのですがその後はいかにというところをそろそろまとめておきたいと思います。 …

IntelliJでSpringLoadedを利用する

こんにちは。beaglesoftの真鍋です。 SpringBootの開発をIntelliJで行うときにSpringLoadedを利用する方法です。 ネット上にはいろいろな情報があったのですが、StackOverflowに書いてあったとおりに設定してみたところ上手く動作しているようです。 Spring …

Fieldsetで表題と罫線がアンバランスなのを修正する

こんにちは。beaglesoftの真鍋です。 弊社ではDHTMLXというJavaScriptのライブラリをTypeScriptを利用してWebアプリケーションを作成しています。そんな中で出てきた技術情報を少しずつ公開できればと思っています。 dhtmlxFormのFieldsetを利用する dhtmlx…