おーみんブログ

C#, ASP.NET Core, Unityが大好きです。

2022-04-24から1日間の記事一覧

MySQLで月ごとのレンジパーティションを設定する。

はじめに データベースではパーティション化を行うことで、テーブルを分割してデータの格納場所を分けることができます。 今回は特定のDATEカラムを月ごとのレンジパーティション化にするSQLを記載致します。 既存のテーブルに適用する ALTER TABLE 'テーブ…

ボクシング(ボックス化)のパフォーマンスを検証してみた。

C#

はじめに 以前転職活動をしたときに面接官(たぶん現役のバリバリの技術屋さん)に「ボクシングって知っていますか?」と聞かれてスポーツのボクシングしか頭に浮かばなかったことを思い出したのでお勉強してみました。(/・ω・)/ (本来ならばその場で調べる…

すべての警告をエラーとするTreatWarningsAsErrorsオプションを使ってみた。

C#

はじめに C#のお勉強として公式ドキュメントをのんびり眺めていたら、どうやら警告をエラー扱いに変更できるオプションがあるようだったので試してみました。 docs.microsoft.com サンプル 例えば以下の場合などは警告が出ます(変数aが使用されていないため…

C#10のglobal usingを体験してみた。

C#

はじめに C#10にて、プロジェクト全体に対してusing機能が有効になるglobal usingというものが追加されたというお話を見たので実際に体験してみました。 medium.com 環境構築 環境は以下です。 (今回の環境構築ではDockerを用いています) Windows10 Pro Do…

非正規形~第2正規形の弱点について。なぜ正規化を行うのか。

はじめに データベースの勉強もちゃんとやらないといけないなと思い、ミックさんの『達人に学ぶDB設計徹底指南書』を読んでいます。 正規化について、第3正規化までの手法については理解しているつもりなのですが、なぜ非正規形~第2正規形までではよろしく…

RealProxyクラスによるアスペクト指向プログラミングに入門してみた。

C#

はじめに 先日デザインパターンのProxyパターンを勉強したところ、お客様先(現在常駐している現場)の上司が記事を見てくださって「.NET FrameworkならRealProxy, .NET CoreならDispatchProxyを調べるとさらに勉強になりますよ~!」とアドバイスをいただい…

C#でProxyパターンを体験してみた。

C#

はじめに GoFのデザインパターンの1つであるProxyパターンを体験してみました。 Proxyパターンとは Proxyパターンとは、対象クラスの処理をそのクラス以外の代理人クラスが行うように処理にするデザインパターンです。 どうしても対象のクラスに処理を任せな…

文字列比較とカルチャ依存

C#

はじめに C#のお勉強として出井秀行さんの『C# コードレシピ集』を読んでいたらカルチャ依存に関する文字列比較について学んだので備忘録として残しておきます。 サンプルコード 以下はstr1, str2, str3の文字列をそれぞれ比較しています。 StringComparison…

BenchmarkDotNetを用いてIndexOfとBinarySearchのパフォーマンスを測定してみた。

はじめに 今までStopwatchクラスを用いてパフォーマンスを測定していたのですが、お客様先(現在常駐している会社)の上司にパフォーマンス測定だとBenchmarkDotNetを使うといいですよ~と教えてもらったので今回はそれを用いて測定したいと思います。 測定…

C#のMemberwiseCloneメソッドを用いてオブジェクトを複製する。

C#

はじめに C#のお勉強として出井秀行さんの『C# コードレシピ集』を読んでいたらオブジェクトを複製するMemberwiseCloneメソッドというものを知ったので備忘録として残しておきます。 サンプルコード 以下は値型のメンバーと参照型のメンバーを持つオブジェク…

例外フィルターを用いて特定の例外をキャッチする!

C#

はじめに 通常例外処理を書く際はtry-catchで処理を書いていきますが、C#6.0で導入された例外フィルターを用いるとcatchに対して条件を設けることが可能です。 サンプルコード catchに対して条件を設けるにはwhenをcatch句の後に記載します。 以下は特定のエ…

Action, Func, Predicateデリゲートを使ってみた!

C#

はじめに Action, Func, Predicateデリゲートについて、使い方をざっくりまとめてみました。 あくまで使い方に全振りしたので正直なところ実用性は皆無なサンプルコードになっています(;´∀`) 使い方を理解する一助になれば幸いです。 Actionデリゲート デリ…

EFCoreのDetectChangesを無効にしたらどれくらいInsertが速くなるのか?

C#

はじめに 現在常駐しているお客様先の上司とお話していたところ、EFCore(Entity Framework Core)のDetectChangesというキーワードが出てきて何だそれは!!?という状態になったので調べてみました。 ChangeTracker.AutoDetectChangesEnabledプロパティ EFCo…

EFCoreのHasIndexメソッドを用いてDBのカラムにインデックスを作成する!

C#

はじめに ASP.NET Coreでモデルを定義する場合はEntityクラスにテーブル定義を書き、DbContextクラスでデータベース定義を行います。 今回はそれらの定義に加えてEFCoreで特定のカラムにインデックスを付与する方法を記載します。 HasIndexメソッド EFCoreを…

EntityFramework Coreでデータベースを特定のバージョンに更新する。

C#

はじめに EntityFrameworkにはC#のクラスからデータベースを作成・更新できるマイグレーション機能があります。 今回はその中でも特定のバージョンへデータベースを更新するマイグレーション機能について記載していこうと思います。 使用するコマンド 使用す…

AWS CLIからDynamoDBを操作してみる。

はじめに 業務でDynamoDBを利用しているのですがAWS CLIからコマンドを打つ機会があったので忘れずに操作内容をメモしておこうと思います。 事前準備 今回はローカル環境からコマンドを打っているため、AWS CLIを利用するにあたってAWS Configureの設定をす…

SwaggerUIで特定のMediaTypeを選択できるようにする方法。

C#

はじめに ASP.NET Core + SwaggerUIの画面でMediaTypeを切り替える箇所がありますが、こちらの選択オプションを変更する方法を記載します。 デフォルトでは以下のように「text/plain」「application/json」「text/json」の3つが表示されます。 ProducesAttri…

ASP.NET Core WebAPIでCustom Formatterを利用してCSVとJSONの出力を切り替えるサンプル。

C#

はじめに 下記の記事にてASP.NET Core WebAPIでCSVとJSONの出力を切り替えるサンプル記事を作成しましたが、お客様先(常駐先)の上司にCustom Formatterの存在を教えてもらったので勉強として色々調査しながら実装してみました! oooomincrypto.hatenadiary…

ASP.NET Core WebAPIでCSVとJson出力を切り替えるサンプル。

C#

はじめに ASP.NET Core WebAPIでCSVとJsonの両方の出力が切り替えるサンプルを作ってみました。 今回はMediaTypeの値でcsvファイルとJsonの切り替えが行われるようにしています。 サンプルコード プロジェクトはASP.NET Core WebAPIテンプレートを利用してい…

【ASP.NET Core】DIシステムへの型登録を動的に変更してみる。

C#

はじめに ASP.NET CoreではDIシステムに型を登録することができます(一般的にはConfigureServicesメソッド内にて)。 今回の記事ではDIシステムへの型登録を動的に変更する方法を備忘録として残しておきます。 サンプルコード 下記のサンプルコードではapps…

【Azure DevOps】Azure BoardsとAzure Reposを用いて課題立て, ソース管理をやってみた!

はじめに 次に参画予定のお客様先ではソースコード管理にAzure DevOpsを使用していると聞いたので復習がてら触ってみました! 以前の現場ではBacklogを用いており、課題を立てて、Backlogのリモートリポジトリとその課題を関連付けて管理するという手法だっ…

デモ用にPleasanter1.2 + PostgreSQL環境がサクッと作成できるdocker-compose.ymlを書いてみた!

はじめに 一昨年、昨年と参加したPleasanterのアドベントカレンダーに今年もエントリーさせていただきました! 今年はなかなか細かく新機能等が追えていないのですがサーバスクリプトの機能が一気に増えていったりスマホ対応版がリリースされたりと、やはり…

Unityの学習まとめとして超簡単なRPGを作ってみた!

はじめに 普段はWebアプリ関連のお仕事をしているのですが、「久しぶりにUnity触りたい!」という気持ちになったので約2週間程度ではありますが集中的にUnityを勉強して超簡単なRPGを作ってみました。 (一応2年半前にも一度Unity熱が上がり、少し勉強してい…

Vue.js + Vuetify + Azure Static Web Appsで家計黄金比率シミュレーターを作ってみた!

はじめに お正月休みを利用して久しぶりにVue.jsのお勉強をしたいなと思い、手取りの収入から家計黄金比を出してくれるアプリを作ってみました。 どんなアプリか 利用方法としてはとても単純で「月の手取りを入力してください」というフィールドに金額を入力…

VB.NETでIteratorパターンを体験してみた。

はじめに GoFのデザインパターンの1つであるIteratorパターンを体験してみました。 Iteratorパターンとは 通常配列やリストのループ処理をする際はfor文を用いますが、配列の要素に対してどのような順番でアクセスしていくか(走査方法)を提供するデザイン…

VB.NETでAdapterパターンを体験してみた。

はじめに GoFのデザインパターンの1つであるAdapterパターンを体験してみました。 Adapterパターンとは Adapterパターンとは既に提供されているクラスを特定の部分へ使いまわす際に良い感じに使えるように変換させるデザインパターンです。 既に提供されてい…

VB.NETでTemplate Methodパターンを体験してみた。

はじめに GoFのデザインパターンの1つであるTemplate Methodパターンを体験してみました。 Template Methodパターンとは Template Methodパターンとはスーパークラスで処理の枠組みを決めてそれを継承したサブクラスで具体的な処理を書いていくというパター…

VB.NETでPrototypeパターンを体験してみた。

はじめに GoFのデザインパターンの1つであるPrototypeパターンを体験してみました。 Prototypeパターンとは 通常、インスタンスを生成する際はnew クラス()などをしますが、Prototypeパターンはインスタンスをコピーして新たなインスタンスを生成するという…

SSLサーバ証明書について勉強してみた。

メモ 業務でSSLサーバ証明書についてカチッと学ぶ機会があったため、備忘録としてまとめていきたいと思います。 SSLサーバ証明書について https通信はザックリと以下のようになります。 OS側(自分たちのPC等)からWebサーバ側へ公開鍵を用いてデータを暗号化…

Unicodeについて勉強してみた。

はじめに 以下の記事で文字コードの勉強をしました。 oooomincrypto.hatenadiary.jp 今回はそこからUnicodeについてさらに深堀りしていきたいと思います。 Unicodeとは 「はじめに」でリンクした記事にて文字コードは符号化文字集合と文字符号化方式に分かれ…