2022-04-01から1ヶ月間の記事一覧
はじめに パフォーマンスや負荷対策としてキャッシュを用いるという手法はよくあり、AWS CloudFrontもそれを提供するサービスの一つです。 しかしながら利用する上でいくつか注意点があるため、今回は3点ほど書いていこうと思います。 1-1. 静的コンテンツ用…
はじめに 1台のPCから大量の通信を投げるDoS攻撃はFireWallを用いてそのIPアドレスを遮断するだけで問題ないですが、大量のPCから攻撃するDDoS攻撃はIPアドレスが大量にありすぎてFireWallだけの制御では対処ができません。 そのようなDDoS攻撃への対処の一…
はじめに DNSのTTLについて解説した記事にて、リプレイスの際はなるべくTTLを短く設定しようという内容を書きました。 oooomincrypto.hatenadiary.jp しかしながら、中にはTTLを長く設定したがる企業さんもいます。 ということは...やはり長く設定したほうが…
はじめに nslookup(dig)テスト【DNSサーバ接続確認】等でDNSレコードについて検索すると以下の赤枠のような数値を見かけます。 繰り返し検索すると徐々に数値は減っていきます。 この値をTTL(Time To Live)と言うのですが、これはどういう意味を表しているの…
はじめに 以下の記事でDNSの歴史と大まかな通信の流れについて勉強しました。 oooomincrypto.hatenadiary.jp 今回の記事ではDNSのゾーン情報について学習してみたいと思います。 Aレコード Aレコードはドメイン名に対応するIPアドレスを記載したレコードです…
はじめに ドメイン申請からWebサーバまでのアクセスについて勉強してみました。 Webサイトにアクセスする際に、最終的にはそのサイトのIPアドレスが分かれば良いのですが、その過程までにどのようなことが行われているのか、そしてどのような作業をあらかじ…
はじめに ASP.NET Core + SQLiteで自作したアプリをDocker上で動かした際に"no such table:テーブル名"と出た際の対処方法を備忘録として記載します。 エラー内容 Dockerfileをビルドし、docker run ~ でコンテナを作成していざアクセスした時でした。 fail…
はじめに GoFのデザインパターンの1つであるFactory Methodパターンを体験してみました。 Factory Methodパターンとは Factory Methodパターンについての説明は以下の記事がとても分かりやすかったです。 nprogram.hatenablog.com FactoryMethodの説明と構成…
はじめに GoFのデザインパターンの1つであるSingletonパターンを体験してみました。 Singletonパターンとは Singletonパターンを用いると特定のクラスのインスタンスを1つだけ生成するということが可能になります。 1つのインスタンスだけを使いまわしたいと…
はじめに GoFのデザインパターンの1つであるTemplate Methodパターンを体験してみました。 Template Methodパターンとは Template Methodパターンとはスーパークラスで処理の枠組みを決めてそれを継承したサブクラスで具体的な処理を書いていくというパター…
はじめに GoFのデザインパターンの1つであるStateパターンを体験してみました。 Stateパターンとは Stateパターンとは「状態」をクラスとして持ち、その変化を管理しやすくするためのデザインパターンです。 「状態」を表すStateインターフェースを継承して…
はじめに GoFのデザインパターンの1つであるAdapterパターンを体験してみました。 Adapterパターンとは Adapterパターンとは既に提供されているクラスを特定の部分へ使いまわす際に良い感じに使えるように変換させるデザインパターンです。 既に提供されてい…
はじめに GoFのデザインパターンの1つであるMementoパターンを体験してみました。 Mementoパターンとは Mementoパターンでは、インスタンスの特定の状態を記憶し、必要な時に取り出すことができるようにするデザインパターンです。 特定の状態をスナップショ…
はじめに データベースではパーティション化を行うことで、テーブルを分割してデータの格納場所を分けることができます。 今回は特定のDATEカラムを月ごとのレンジパーティション化にするSQLを記載致します。 既存のテーブルに適用する ALTER TABLE 'テーブ…
はじめに 以前転職活動をしたときに面接官(たぶん現役のバリバリの技術屋さん)に「ボクシングって知っていますか?」と聞かれてスポーツのボクシングしか頭に浮かばなかったことを思い出したのでお勉強してみました。(/・ω・)/ (本来ならばその場で調べる…
はじめに C#のお勉強として公式ドキュメントをのんびり眺めていたら、どうやら警告をエラー扱いに変更できるオプションがあるようだったので試してみました。 docs.microsoft.com サンプル 例えば以下の場合などは警告が出ます(変数aが使用されていないため…
はじめに C#10にて、プロジェクト全体に対してusing機能が有効になるglobal usingというものが追加されたというお話を見たので実際に体験してみました。 medium.com 環境構築 環境は以下です。 (今回の環境構築ではDockerを用いています) Windows10 Pro Do…
はじめに データベースの勉強もちゃんとやらないといけないなと思い、ミックさんの『達人に学ぶDB設計徹底指南書』を読んでいます。 正規化について、第3正規化までの手法については理解しているつもりなのですが、なぜ非正規形~第2正規形までではよろしく…
はじめに 先日デザインパターンのProxyパターンを勉強したところ、お客様先(現在常駐している現場)の上司が記事を見てくださって「.NET FrameworkならRealProxy, .NET CoreならDispatchProxyを調べるとさらに勉強になりますよ~!」とアドバイスをいただい…
はじめに GoFのデザインパターンの1つであるProxyパターンを体験してみました。 Proxyパターンとは Proxyパターンとは、対象クラスの処理をそのクラス以外の代理人クラスが行うように処理にするデザインパターンです。 どうしても対象のクラスに処理を任せな…
はじめに C#のお勉強として出井秀行さんの『C# コードレシピ集』を読んでいたらカルチャ依存に関する文字列比較について学んだので備忘録として残しておきます。 サンプルコード 以下はstr1, str2, str3の文字列をそれぞれ比較しています。 StringComparison…
はじめに 今までStopwatchクラスを用いてパフォーマンスを測定していたのですが、お客様先(現在常駐している会社)の上司にパフォーマンス測定だとBenchmarkDotNetを使うといいですよ~と教えてもらったので今回はそれを用いて測定したいと思います。 測定…
はじめに C#のお勉強として出井秀行さんの『C# コードレシピ集』を読んでいたらオブジェクトを複製するMemberwiseCloneメソッドというものを知ったので備忘録として残しておきます。 サンプルコード 以下は値型のメンバーと参照型のメンバーを持つオブジェク…
はじめに 通常例外処理を書く際はtry-catchで処理を書いていきますが、C#6.0で導入された例外フィルターを用いるとcatchに対して条件を設けることが可能です。 サンプルコード catchに対して条件を設けるにはwhenをcatch句の後に記載します。 以下は特定のエ…
はじめに Action, Func, Predicateデリゲートについて、使い方をざっくりまとめてみました。 あくまで使い方に全振りしたので正直なところ実用性は皆無なサンプルコードになっています(;´∀`) 使い方を理解する一助になれば幸いです。 Actionデリゲート デリ…
はじめに 現在常駐しているお客様先の上司とお話していたところ、EFCore(Entity Framework Core)のDetectChangesというキーワードが出てきて何だそれは!!?という状態になったので調べてみました。 ChangeTracker.AutoDetectChangesEnabledプロパティ EFCo…
はじめに ASP.NET Coreでモデルを定義する場合はEntityクラスにテーブル定義を書き、DbContextクラスでデータベース定義を行います。 今回はそれらの定義に加えてEFCoreで特定のカラムにインデックスを付与する方法を記載します。 HasIndexメソッド EFCoreを…
はじめに EntityFrameworkにはC#のクラスからデータベースを作成・更新できるマイグレーション機能があります。 今回はその中でも特定のバージョンへデータベースを更新するマイグレーション機能について記載していこうと思います。 使用するコマンド 使用す…
はじめに 業務でDynamoDBを利用しているのですがAWS CLIからコマンドを打つ機会があったので忘れずに操作内容をメモしておこうと思います。 事前準備 今回はローカル環境からコマンドを打っているため、AWS CLIを利用するにあたってAWS Configureの設定をす…
はじめに ASP.NET Core + SwaggerUIの画面でMediaTypeを切り替える箇所がありますが、こちらの選択オプションを変更する方法を記載します。 デフォルトでは以下のように「text/plain」「application/json」「text/json」の3つが表示されます。 ProducesAttri…