2020-01-01から1年間の記事一覧

(SQL)JOINしたレコードを条件としてDELETEする

DELETE B FROM BOOKS B INNER JOIN AUTHORS A ON B.AUTHOR_ID = A.ID WHERE B.PUBLISHED < '1930/12/31'

(ASP.NET,C#)C#雑感

ここ数か月 C# を業務で使ってきました。 簡単なWebアプリケーション開発です。 どうしても C# について書いておきたいと思いました。 まず出自が Java であること。(Cとは全く関係がない、はず。) Javaのフォロワーであり、マイクロソフト製であることか…

(ASP.NET.C#)appsessings.json

設定情報などコンフィギュレーションを書くところがわからない。 別に新規に作ってもよいのだけれど、何を使って読み込めばいいのかわからない。 別に新規に作ってもよいのだけれど、面倒くさい。 ということで、 appsettings.json に書くことにしました。 /…

(ASP.NET,C#)セッションを使う

// Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); // ----- Sessionを使用する ----- services.AddSession(options => { options.Cookie.Name = "session"; }); // ・・・ } // ユーザIDを…

(C#)パスワードのハッシュ化

C#

(C#)パスワードハッシュ化 ログインパスワードなど不可逆の文字列はハッシュを使う。 var salt = PasswordUtil.CreateSalt(); var hashedPassword = PasswordUtil.NewHashPassword(changePassword.Password, salt); public class PasswordUtil { /// <summary> /// ハ</summary>…

(ASP.NET,C#)DI(Dependency Injection)する

Javaの Spring Boot の場合にDIするには @Autowired アノテーションを使ったが、 ASP.NETではコンポーネントの登録ソースをゴリっと書く。 DI登録 // Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddControllersWith…

(ASP.NET,C#)NLogを使う

前回はLog4Netだけどどうやら今後NLogが主流になるようだ。 (↑ソースは忘れました) NuGetでパッケージのインストール NLog NLog.Web.AspNetCore nlog.config プロジェクトROOTに nlog.config を配置する。 (↑NuGetパッケージのインストールを行ったら作成…

(ASP.NET, C#)Log4Netを使う

NuGet ソリューションエクスプローラのプロジェクト直下の参照を右クリック NuGetパッケージの管理 参照タブのテキストボックスに「log4net」と入力 リストの中に「log4net」を選択、右ペインでインストールボタンを押下 設定ファイル ソリューションエクス…

(Book)「know」を読みました。

野崎まど - know 野崎まど「know」を読みました。 だいぶ前に読み始めたのだけれど、なぜだか読み続けられなくてやめてた。 今回は最後まで読めた。 最後にかけて内容が尻すぼみ感かな。 星:★★★☆☆

(Spring Boot)Controller実装

package webapp.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.sp…

(Spring Boot)Responseオブジェクト

Spring Bootは結構独力で学んできたので、どう返すのが正解かわからない。 今回は Response というクラスを返すことにした。 コントローラからこれを返しJSONとしてクライアントに送信する。 AuthorResponse package webapp.response; import java.util.Date…

(Spring Boot)Daoの実装

Daoの実装。 JavaのインターフェスとSQLファイルを書くだけ。 Java package webapp.dao; import java.util.List; import org.seasar.doma.Dao; import org.seasar.doma.Select; import org.seasar.doma.boot.ConfigAutowireable; import webapp.entity.Autho…

(Spring Boot)エンティティの準備

Entityです。 Entityアノテーションを付ける。 パラメータに naming を与える。設定値はDBテーブルのカラム名のタイプをセットする。 物理カラム名が AUTHOR_ID なら SNAKE_UPPER_CASE をセットする。 Author package webapp.entity; import java.util.Date;…

(C#)C# ORM - Dapper

C#

C#のORMというと標準の Entity Framework があるが、 「遅い」、「学習コストが高い」などというのがあるそうだ。 それにやっぱりSQLは生で書くことが多い。 「C# ORM」で検索すると Entity Framework と Dapper がよくヒットする。 ということで Dapper を…

(Spring Boot)Doma2を使う準備

データベースアクセスのORMをDoma2を使う。 (以前仕事で使ったことがあるので) Doma2 なお、データベースはMySQL(MariaDB)を使用する。 データベースのセットアップを行う 今回使用するテーブルを作成する。 MariaDB [(none)]> create database springboot…

(Spring Boot)Spring Tools Suite(STS)のセットアップ

(Spring Boot)Spring Tools Suite(STS)のセットアップ (Spring Boot)Doma2を使う準備 (Spring Boot)エンティティの準備 (Spring Boot)Dao実装 (Spring Boot)Responseオブジェクト (Spring Boot)Controller実装 Spring Tools Suite (STS) Spring Tools Suite …

(Python)クラスの継承順を調べる

クラスの継承順を調べたくなった。 class A: pass class B(A): pass class C(A): pass class D(B): pass print(D.mro()) # => [<class '__main__.D'>, <class '__main__.B'>, <class '__main__.A'>, <class 'object'>] mroメソッドは、「Method Resolution Order (メソッド名前解決順序)」だそうです。 参考させて頂きました: Life with</class></class></class></class>…

(C#)JSON, XML

C#

業務でC#を使うことになった。 4/1からの現場だったが新型コロナの緊急事態宣言により自宅待機となり勉強中。 C#はじめてなのでこの時間はありがたい。 っと、その前に自宅待機を選択してくれた出向先には感謝しかない。 復帰後には良いシステムを構築して…

Airpods Pro x Pixel4 音量が小さい!

AirPods Pro最高だね! 使用していたスマートフォンはiPhone XRでした。最高でした。 しかしPixel4 XLに移行しました。iPhone飽きました。 移行前に調べたところAndroidでも使用できるとのことで決心しました。 Pixelいいです。カメラとてもいいです(AIだけ…