トルネード

毛利のメモ書き

2018-12-01から1ヶ月間の記事一覧

ローカルのC#から、AWSSDK.SimpleEmail を使ってメール送信

C#

Visual Studio 2017 C#を使ってAmazon Web ServiceのAmazon Simple Email Service (SES)を試す NuGet パッケージマネージャー コンソールでAWSSDK.SimpleEmail と、AWSSDK.Coreをインストールする Install-Package AWSSDK.SimpleEmail -Version 3.3.7.20 I…

std::shared_mutex, std::shared_timed_mutexを理解する

C++17では、std::shared_mutexが追加されています。 std::mutexとは違いstd::shared_lockが使えます。 std::shared_mutexは、std::mutexと同じようにstd:: lock_guardも使えます。 std::shared_mutex m1; std::lock_guard<std::shared_mutex> lock(m1); 下記は、std:: lock_guar</std::shared_mutex>…

SQL Server 肥大化した.ldfファイルを削除

SQL Serverでデータベースを作成すると、標準設定では復旧モデルが「完全」になっています。 復旧モデルが「完全」の場合、.ldfファイルにログが貯まる仕組みです。 重要なデータで復旧が必要な場合この.ldfファイルは重要ですが、 消えても問題無いデータの…

std::optional

std::optionalはstd::optional<int>と指定するとnulloptを代入できるので、0以外のnulloptが利用できる。 std::optional<int> i1 = std::nullopt; if(i1){ std::cout << i1.value() << std::endl; } std::optional<std::string>でも同じくnulloptが使えます。 std::optional<std::string> text1 =</std::string></std::string></int></int>…

VC++2017 #include <filesystem>

Visual C++ 2017で#include <filesystem>は可能 #include <iostream> #include <filesystem> int main() { using namespace std::experimental; auto b = filesystem::exists("c:\\hoge.txt"); std::cout << b << std::endl; return 0; } std::experimentalの中にあるようです。</filesystem></iostream></filesystem>

SqlClient.SqlDataReaderをジェネリックスで判断

C#

SqlClient.SqlDataReaderで型指定した条件を返す場合 private T GetSqlDataReader<T>(System.Data.SqlClient.SqlDataReader rd, int cnum) { try { if (!rd.IsDBNull(cnum)) { if (typeof(T) == typeof(string)) { return (T)(object)rd.GetString(cnum); } els</t>…