地図を使ってメモを作成する

こんにちは。ビーグルソフトの真鍋です。 ここ1ヶ月ほど地図を使ったアプリケーションを作っています。ようやっと7割くらいできてきました。 今回やろうとしていることは、地図の特定の位置にマーカーなどを作成してそのマーカーにメモと画像を設定するとい…

気軽に請求書を作成できるサービス(Girafa)を公開しました

こんにちは。ビーグルソフトの真鍋です。 このたび、社内で利用していました請求書作成サービス(Girafaといいます)の機能の一部を公開するしました! 新規に請求書を作成 Girafa guida.girafa.info Girafaの特徴 できることは請求書を作成してPDFとしてダ…

SerilogでログレベルをSkinごとに設定する

こんにちは。ビーグルソフトの真鍋です。 ASP.NET MVC Coreもバージョンが2.1になってちょっと盛り上がってきた感があるようなないような感じですが、いろいろとエコシステムもこなれてきて大分何をするにも困らない状況になってきた感じがします。今回はロ…

ASP.NET MVC Core2でステートレスな構成を作るための設定

こんにちは。beaglesoftの真鍋です。 ASP.NET Core で構築しているレポートシステムの開発が大分すすんで本番環境で稼働させられるところまで来ました。本番環境を構築して社内で利用してみるといろいろな課題画見えてきます。そんな中でちょっと直面した問…

ユーザー初期画像生成APIをつくってみる(AWS Lambda編)

こんにちは。beaglesoftの真鍋です。 先日ユーザー初期画像生成APIを公開しました。 blog.beaglesoft.net AWS LambdaでAPIを作ることが楽しかったので、ソースコードとその手順をまとめたいと思います。なお、Pythonについては初心者なので何かお気づきの点…

ユーザーの初期画像に便利なAPIを作りました

こんにちは。beaglesoftの真鍋です。 いま構築しているシステムで欲しい機能だけれどもなかったから作ってみたAPIにユーザー名に該当する文字列を設定すると特定のサイズの画像を生成するAPIを作りました。今回のAPIは引数に設定された文字を埋め込んで適当…

Serverless FrameworkがAWS Lambdaを使いやすくしてくれる

Serverless Framework Serverless Framework - Build applications on AWS Lambda, Google CloudFunctions, Azure Functions, AWS Flourish and moreはあまたあるクラウドベンダーのサーバーレスアプリケーションを効率よく開発するためのスキャフォールド(…

C#でRestSharpを利用する

HttpClientはいろいろあるらしい 外部のRestAPIを実行しようとしたときにC#であればHttpClientを利用するのがいいかと漠然と思っていたのですが、意外と罠が多いことを知りました。 .NETのHttpClientの取り扱いには要注意という話 - Qiita 確かにMSのサイト…

ASP.NET Core2でSQSを利用してみる

AWS SQSをdotnetから利用するためのサンプルを作成しました。 github.com 基本的にはAmazon SQS 例 - AWS SDK for .NETを参照して作成したものです。時間の関係からデッドレターキューについては実装していません。 認証について 認証についてどうしているん…

ASP.NET Core MVC 2.0でFromBodyに引数が設定されない

以下のようにコントローラーでAPIを作成したときにcurlから引数のmessageへ値を設定することができずハマったのでまとめます。 namespace WebApplication1.Controllers { [Route("api/[controller]")] public class SampleController : Controller { [HttpPo…

ALBのリスナーに設定した証明書を変更する

こんにちは。beaglesoftの真鍋です。 先週は休暇を兼ねて沖縄に行ってきました。サンゴ礁の青い海とのどかな雰囲気の沖縄は休暇を過ごすにはとても良い環境でした。 ALBのリスナーに設定した証明書を変更する さて、今回はAWSのALBについてです。ALBに設定し…

Azure AppServiceでnpm installを実行する

こんばんは。beaglesoftの真鍋です。 弊社ではAzure AppServiceを使用したアプリケーションを構築しています。そのアプリケーションではTypeScriptを利用していることもあり、npmでTypeScriptの型定義などを管理しています。 これまではとくにnpmを利用する…

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…