« 2018年2月 | トップページ | 2018年4月 »

2018年3月

2018/03/27

面倒な .gitignoreを自動生成してくれる gitignore.io がかなりいい感じ

Git を使うにあたって面倒なのが .gitignore ファイルを作成することで、初心者にとってはどう書いていいかも分からないというやっかいなものです。間違えるのも怖いですからね。

そんなときに非常に便利なのが、gitignore.io というサイトです。

自分の環境を入力するだけで、.gitignore ファイルを自動生成してくれます。

https://www.gitignore.io/

Gitignore01

続きを読む "面倒な .gitignoreを自動生成してくれる gitignore.io がかなりいい感じ" »

2018/03/25

[.NET Core]アプリで使用するデータベースを実行環境で構築する

はじめに

.NET Core の調査を始めてから気になっていたのが、デプロイをどうするかという情報が極端に少ないことです。

開発に焦点があたりすぎていて、なかなかデプロイの情報にたどり着けません。

このブログでは以下の記事で .NET Core アプリのデプロイ方法のやり方の1つを提示しました。

そして、デプロイのもう1つの問題であるデータベースの構築(マイグレーション)があります。

データベースをどう初期構築するのか。そして、データベースに変更が入った時、問題なく更新できるのかということです。

今回は、PostgreSQL を使用するコンソールアプリケーションでその方法を見ていきましょう。

続きを読む "[.NET Core]アプリで使用するデータベースを実行環境で構築する" »

[.NET Core]CentOS7にPostgreSQL9.6をインストールして.NET Core用の設定をする

はじめに

CentOS7に PostgreSQL をインストールするのなら、CentOS7のサポート対象の 9.2 か最新バージョンの 10.x になるのでしょうが、ちょっと Amazon RDS for PostgreSQL を使いたいと思っていたら、どちらもサポートされていないのですね。

 Q: Amazon RDS for PostgreSQL でサポートされているデータベースバージョンはどれですか?

現在、Amazon RDS for PostgreSQL では、PostgreSQL 9.3、9.4、9.5、9.6 がサポートされています。サポート対象のマイナーバージョンについての情報は、Amazon RDS ユーザーガイドに記載されています。

https://aws.amazon.com/jp/rds/postgresql/faqs/

 仕方ないので、Amazon RDS がサポートする最新バージョンである PostgreSQL 9.6 の環境を CentOS 7に構築して、.NET Core のデータベースを操作するコンソールアプリケーションが動作するようにします。

続きを読む "[.NET Core]CentOS7にPostgreSQL9.6をインストールして.NET Core用の設定をする" »

これから開発するWebサービスで使用予定の技術

現在構想中のWebサービスで使用しようとしている技術は以下のような感じを予定しています。

Webサービスは、SPA(Single Page Application)の形態で構築しようと考えています。そのための技術は以下を想定しています。

続きを読む "これから開発するWebサービスで使用予定の技術" »

2018/03/24

[.NET Core]Entity Framework Coreで INNER JOIN / LEFT JOIN を実装する方法

はじめに

Entity Framework Core で INNER JOIN と LEFT JOIN を実装する方法ですが、ちょっと試行錯誤したのですがその方法をご紹介します。

アプリケーションはコンソールアプリケーションで、データベースは PostgreSQL を使用しコードファーストでデータベースを構築しました。

なお、環境は、Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。

続きを読む "[.NET Core]Entity Framework Coreで INNER JOIN / LEFT JOIN を実装する方法" »

Entyの支援者の方向けに「Excel CSV I/O 英語版」を公開しました。

Excel CSV I/O 英語版 (Enty)

Enty の支援者の方向けに「Excel CSV I/O 英語版」を公開しました。

「Excel CSV I/O 英語版」は、以前は英語サイト(現在は閉鎖)で公開していたのですが、 Enty の支援者の方向けに公開することにしました。

続きを読む "Entyの支援者の方向けに「Excel CSV I/O 英語版」を公開しました。" »

2018/03/22

[.NET Core]Entity Framework CoreのDbContext#SaveChangesがトランザクション処理をしていることを確認する

はじめに

前の記事では、SELECT 処理の SQL ログの出力方法をご紹介しましたが、更新系のログをフィルタをかけない状態のものをご紹介していませんでした。

なぜフィルタをかけない更新系のログを見る必要があるかというと、DbContext#SaveChanges メソッドを呼び出すだけでトランザクション処理を行っていることを確認するためです。

DbContext#SaveChanges メソッドを呼び出して例外処理をするだけで、簡単にトランザクション処理を行うことができるということですね。

では、実際に更新系の SQL ログを確認してみましょう。

続きを読む "[.NET Core]Entity Framework CoreのDbContext#SaveChangesがトランザクション処理をしていることを確認する" »

2018/03/21

[.NET Core]ローカルライブラリをNuGetでパッケージ化して、他のプロジェクトにインストールする方法

はじめに

.NET Core でローカルのライブラリを作成して NuGet でパッケージ化し、他のプロジェクトにインストールしようと思ったのですが、ネット上のどこにも具体的な方法が掲載されておらずかなり苦労しましたが、ようやくその方法が分かりましたのでご紹介します。

なお、環境は Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、Visual Studio Code になります。Windows でもパスさえ変えれば同じように動作すると思います。

続きを読む "[.NET Core]ローカルライブラリをNuGetでパッケージ化して、他のプロジェクトにインストールする方法" »

[.NET Core]Entity Framework Coreでトランザクション制御を行う

はじめに

.NET Core の Entity Framework Core では、デフォルトでトランザクション制御が行われます。

具体的には、MyContext#SaveChange メソッドが呼び出された際にトランザクションが開始され、データの更新が成功すればコミット、失敗すればロールバックされ例外がスローされます。このトランザクション処理については、以下の記事を参考にしてください。

とはいえ、複数回 MyContext#SaveChange メソッドを呼び出すこともあるでしょうし、トランザクションの分離レベルを指定したい場合もあるでしょうから、明示的にトランザクションを制御する方法は必要です。

この記事では、.NET Core のコンソールアプリケーションで、コードファーストからのトランザクション制御をする方法をご紹介します。

なお、環境は Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。とはいえ、Windows でも同じように動作すると思います。

続きを読む "[.NET Core]Entity Framework Coreでトランザクション制御を行う" »

Chrome/Firefox/Edgeでタブを切り替えるショートカットキー

Google Chrome, Firefox, Microsoft Edge で共通なのですが、複数のタブが表示されている時に、タブを切り替えるショートカットキーは、Ctrl + Tab になります。

地味ですが、結構便利ですよね。

Excelのシートを切り替えるショートカットキー

よく忘れてしまうので備忘録メモです。

Excel のシートを切り替えるショートカットキーは、

Ctrl + PageUp,  Ctrl + PageDown になります。

覚えておくと結構便利なんですよね。

2018/03/20

[.NET Core]ASP.NET CoreでNLogを使ってログを出力する

はじめに

前の記事では、.NET Core のコンソールアプリケーションで NLog を使ってログを出力する方法をご紹介しましたが、今回は ASP.NET Core での方法をご紹介したいと思います。

気をつけなければいけないのが、コンソールアプリケーションでは NLog.Extensions.Logging パッケージをインストールするのですが、ASP.NET Core では NLog.Web.AspNetCore をインストールする必要があることです。

なぜこんなことになっているかは不明ですが、NLog の公式ページで書いてあるのでなにか事情があるのでしょう。

さて、今回も環境は Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、Visual Studio Code になります。

とは言っても、Windowsでもパスを読み替えれば使えると思います。もともと Windows のツールですので。

続きを読む "[.NET Core]ASP.NET CoreでNLogを使ってログを出力する" »

[.NET Core]コンソールアプリでNLogを使ってログを出力する

はじめに

技術調査の段階では軽視されがちなログ出力ですが、実運用となるとログがなければ問題解決の話にならないこの現実は厳しいなと思う今日この頃、みなさまにおかれましてはログをどのように扱っているでしょうか?

さて、ちょっと変わった出だしですが大事ですよね。ログ。

では、.NET Core でログ出力をどのようにすればよいのかですが、いくつか候補はあるものの最近は NLog が人気があるようです。ですので、この記事では NLog でどのようにログ出力すればよいのかをご紹介します。

なお、環境は、Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、Visual Studio Code になります。

とは言っても、Windowsでもパスを読み替えれば使えると思います。もともと Windows のツールですので。

続きを読む "[.NET Core]コンソールアプリでNLogを使ってログを出力する" »

2018/03/18

[.NET Core]Entity Framework CoreでSQLログを出力する

はじめに

.NET Core の Entity Framework Core で LINQ を使用してデータベースアクセスしていると、実際にはどのような SQL が発行されているのか気になることがあります。

Entity Framework Core には、いくつかの方法で SQL ログを出力することができますが、この記事ではコンソールアプリケーションでコンソールに出力する方法をご紹介します。

なお、環境は、Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。

続きを読む "[.NET Core]Entity Framework CoreでSQLログを出力する" »

.NET CoreのアプリをLinuxのcronを使いバッチでスケジュール実行させる(CentOS7)

はじめに

.NET Core のコンソールアプリケーションを作成していれば、Linux のバッチ処理も .NET Core で書きたくなると思います。それも、スケジュール実行ができるとなおよいですね。

この記事では、.NET Core のコンソールアプリケーションを Linux の cron を使用してスケジュール実行させる方法をご紹介します。

なお、開発環境は Mac (macOS High Sierra 10.13.3) 、 .NET Core SDK 2.1.4、Visual Studio Codeで、実行環境は Vagrant で構築した CentOS 7 になります。

続きを読む ".NET CoreのアプリをLinuxのcronを使いバッチでスケジュール実行させる(CentOS7)" »

2018/03/17

.NET CoreでサイトのRSSフィードを検索してコンソールに出力する

前の記事では、CodeHollow.FeedReader というライブラリを使用して RSS フィードの内容をコンソールに出力しましたが、今度はサイトの中にある RSS フィードを同じライブラリを使用して検索しアドレスをコンソールに出力してみます。

なお、環境は Mac (macOS High Sierra 10.13.3) 、 .NET Core SDK 2.1.4、Visual Studio Codeで、CodeHollow.FeedReader のインストール方法は前の記事を参照してください。

続きを読む ".NET CoreでサイトのRSSフィードを検索してコンソールに出力する" »

.NET CoreでRSSフィードをパースしてコンソールに内容を出力する

.NET Core でブログなどの RSS フィードをパースするためのライブラリに CodeHollow.FeedReader というものがあり、NuGet よりインストールができます。CodeHollow.FeedReader は RSS 0.91, 0.92, 1.0, 2.0 と ATOM をサポートしています。

今回はこのライブラリを使用して、コンソールアプリケーションで RSS フィードを読み込んで内容を出力してみます。

なお、環境は Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、Visual Studio Code になります。

続きを読む ".NET CoreでRSSフィードをパースしてコンソールに内容を出力する" »

[.NET Core]Entity Framework CoreでAND検索・OR検索する方法

はじめに

Web アプリケーションでは、複数キーワードの AND 検索・OR 検索をすることが多いと思います。

.NET Core の Entity Framework Core では、この AND 検索・OR 検索を簡単に行うことができます。

その方法をご紹介します。

なお、環境は、Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。

続きを読む "[.NET Core]Entity Framework CoreでAND検索・OR検索する方法" »

2018/03/15

.NET Core な時代にMySQLとPostgreSQLのどちらを選択すべきか

はじめに

マルチプラットフォームで動作する .NET Core を現在試しているのですが、大分現実のプロダクトに採用できるレベルに達してきているという感触を持っています。

マルチプラットフォームで .NET Core アプリケーションが動作するだけでなく、開発環境である Visual Studio Core もマルチプラットフォーム対応でよくできているためです。

また、Visual Studio 自体も、Visual Studio for Mac が提供されており、.NET Core での開発が行いやすい環境が整備されつつあります。

.NET Core は、次の時代を担う技術になりうるポテンシャルを持っていると言えるでしょう。

続きを読む ".NET Core な時代にMySQLとPostgreSQLのどちらを選択すべきか" »

2018/03/12

ASP.NET Core+Entity Framework CoreでコードからPostgreSQLにデータベースを作成する方法

はじめに

この記事では、ASP.NET Core な Web アプリケーションの Entity Framework Core のコードから、PostgreSQL にデータベースとテーブルを作成して、実際に Web アプリケーションを動作させてみます。

なお、環境は Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。とはいえ、Windows でも同じように作成できると思います。

続きを読む "ASP.NET Core+Entity Framework CoreでコードからPostgreSQLにデータベースを作成する方法" »

2018/03/11

.NET Coreのデータベース接続文字列を外部ファイルに保存する

.NET Core のプログラムでデータベース接続文字列をソースコードに記述していると、以下のような警告がビルド時に出力されるようになります。

Models/consoletestContext.cs(15,10): warning CS1030: #warning: 'To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.'

この警告を回避するには、appsettings.json に接続情報を保存して、プログラム実行時に読み込むように変更します。

なお、環境は Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。

続きを読む ".NET Coreのデータベース接続文字列を外部ファイルに保存する" »

[.NET Core]Entity Framework CoreでPostgresSQLからデータベースファーストでモデルクラスを自動作成する

この記事では、Entity Framework Core で 既存のPostgresSQL データベースからモデルクラスを自動作成しする方法をご紹介します。その後、LINQ を使用してデータベースの内容を出力するコンソールアプリケーションを作成します。

環境は、Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。

まず、PostgreSQL で以下の SQL を実行します。

CREATE DATABASE ConsoleTest;
CREATE TABLE Book (
  Id SERIAL PRIMARY KEY,
  Price int,
  Title text
); 


INSERT INTO Book (Price, Title) values (1000,'おはようございます');
INSERT INTO Book (Price, Title) values (500,'こんにちは');
INSERT INTO Book (Price, Title) values (800,'こんばんは');

続きを読む "[.NET Core]Entity Framework CoreでPostgresSQLからデータベースファーストでモデルクラスを自動作成する" »

MacにPostgreSQLをインストールする方法

Mac (macOS High Sierra 10.13.3) に Homebrew を使用して PostgreSQL をインストールするには、以下のコマンドを実行します。

$ brew install postgresql

続きを読む "MacにPostgreSQLをインストールする方法" »

2018/03/10

MacのターミナルでMySQLコマンドを日本語入力をしたい

Mac のターミナルで MySQLコマンドを日本語で入力しようとしたら、日本語入力を受け付けてくれませんでした。INSERT 文の日本語部分とかですね。

これの解決策は即時対応では以下の2コマンドの実行です。

$ export LANG=ja_JP.utf8
$ export LC_ALL=ja_JP.UTF-8

続きを読む "MacのターミナルでMySQLコマンドを日本語入力をしたい" »

2018/03/09

ASP.NET CoreアプリをLinuxにデプロイしてNginxで公開する方法(CentOS7)

はじめに

ASP.NET Core の情報は、日本語はほぼなく英語も少ないのですが、その中でも ASP.NET Core アプリのデプロイについての詳しい情報は皆無の状態です。

この記事では、ASP.NET Core アプリの Linux (CentOS7)へのデプロイ方法を詳しく解説します。

続きを読む "ASP.NET CoreアプリをLinuxにデプロイしてNginxで公開する方法(CentOS7)" »

2018/03/08

ASP.NET Core アプリが Linux で表示できない場合の解決方法

ASP.NET Core アプリを Linux, 今回は CentOS7 にデプロイして dotnet xxx.dll で実行したのですが、デフォルトのポートである 5000番ポートに http://<IPアドレス>:5000/ でアクセスしてもタイムアウトエラーが発生してしまうという現象が発生して困っていました。

 

続きを読む "ASP.NET Core アプリが Linux で表示できない場合の解決方法" »

How to fix "Cannot find compilation library location for package 'Microsoft.Win32.Registry'"

ASP.NET Core アプリケーションを CentOS7 にデプロイして実行すると、以下のエラーが出ました。

fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
      An unhandled exception has occurred: Cannot find compilation library location for package 'Microsoft.Win32.Registry'

この問題を解決するには、

<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>

を .csproj に追加します。

続きを読む "How to fix "Cannot find compilation library location for package 'Microsoft.Win32.Registry'"" »

CentOS7に最新版のnginxをインストールする方法

nginx: Linux packages

CentOS 7 に最新版の nginx をインストールするには nginx 用のリポジトリを追加する必要があります。

上記リンクは公式サイトの解説ですが、そのままコピー・アンド・ペーストしても動作しないのでご注意ください。自分がインストールする Linux ディストリビューションとバージョンを書き換える必要があります。これに気が付かなくてハマってしまったのですが…。

 

続きを読む "CentOS7に最新版のnginxをインストールする方法" »

2018/03/06

CentOS7に .NET Core SDKをインストールする

.NET and C# - Get Started in 10 Minutes

CentOS 7 に .NET Core SDK をインストールするのはとっても簡単です。

まず、Microsoft のリポジトリをインストールします。

$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

続きを読む "CentOS7に .NET Core SDKをインストールする" »

CentOS7でyum updateするとエラーがでて文字化けするようになった

CentOS7 で  yum update すると以下のように文字化けするようになりました。

$ sudo yum update
Failed to set locale, defaulting to C
??????????:fastestmirror
base                                                     | 3.6 kB     00:00
extras                                                   | 3.4 kB     00:00
nodesource                                               | 2.5 kB     00:00
packages-microsoft-com-prod                              | 2.9 kB     00:00
updates                                                  | 3.4 kB     00:00
(1/4): extras/7/x86_64/primary_db                          | 167 kB   00:00
(2/4): nodesource/x86_64/primary_db                        |  18 kB   00:01
(3/4): packages-microsoft-com-prod/primary_db              |  65 kB   00:01
(4/4): updates/7/x86_64/primary_db                         | 6.0 MB   00:02
Determining fastest mirrors
 * base: mirror.vodien.com
 * extras: mirror.qoxy.com
 * updates: mirror.vodien.com
????????????
--> ????????????????????
---> ????? nodejs.x86_64 2:9.5.0-1nodesource ? ??
---> ????? nodejs.x86_64 2:9.7.1-1nodesource ? ??????
--> ?????????????

??????????

================================================================================
 Package       ????????
                             ?????                 ??????       ??
================================================================================
?????:
 nodejs        x86_64        2:9.7.1-1nodesource        nodesource         17 M

???????????
================================================================================
??  1 ?????

?????????: 17 M
Is this ok [y/d/N]:

 

続きを読む "CentOS7でyum updateするとエラーがでて文字化けするようになった" »

2018/03/04

MacでASP.NET Core + EntityFramework Core + MySQL な開発を行う方法

はじめに

ASP.NET Core や EntityFramework Core が登場したおかげで、Mac でも ASP.NET な開発ができるようになりました。また、Visual Studio for Mac が登場したことで高い生産性で開発もできるようにもなりました。

この記事では、Visual Studio for Mac を使用して、ASP.NET Core + EntityFramework Core + MySQL の環境でどのように開発を行えばよいかをご紹介します。

なお、MySQL はすでにインストールされていることを前提としています。

続きを読む "MacでASP.NET Core + EntityFramework Core + MySQL な開発を行う方法" »

2018/03/03

[Mac]HomebrewでMySQLのインストールとエラー発生時の対処方法

Mac(macOS Hight Sierra 10.13.3) に Homebrew で MySQL5.7.x をインストールした際、いろいろとハマったのでその解決方法を掲載します。

まず、MySQL のインストールは、以下のコマンドを実行します。

$ brew update
$ brew install mysql

そして、MySQL を初期化しようしたらエラーが発生しました。

$ mysqld --initialize --explicit_defaults_for_timestamp
2018-03-03T07:24:04.232360Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2018-03-03T07:24:04.234076Z 0 [ERROR] Aborting

 

続きを読む "[Mac]HomebrewでMySQLのインストールとエラー発生時の対処方法 " »

« 2018年2月 | トップページ | 2018年4月 »



プロフィール

  • 名前:fnya
    経歴:
    SE としての経験は15年以上。様々な言語と環境で業務系システム開発を行い、セキュリティ対策などもしていました。なんちゃってSE。

    フリーウェア、Webサービス開発のためにEntyで支援を受け付けています。ご支援のほどよろしくお願いいたします。

    Twitter では、ブログでは取り上げない情報も公開しています。


    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。


    >>自作ツール
    >>運営サイト
    >>Windows 10 まとめ
    >>ブログ詳細

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから


最近の記事