【C#】Task.Runメソッドについて

Task.Runメソッドについて MSドキュメント上では、「スレッド プール上で実行する指定された作業をキューに配置し、その作業を表す Task オブジェクトを戻します。」と記載されています。 Runメソッドの引数に指定された処理をスレッドプール上で実行するも…

各文字コード(UTF, Unicode, JIS)の違い

各文字コード(UTF-8, Unicode, JIS)の違い システムをメンテしている際に外部システムとのファイル連携やアップロード時に文字コードの違いによるバグが発生したため文字コードについて整理してみた。 システムの設計フェーズにて何の文字コードを使うか明…

【Java】streamメソッド・mapメソッド

Spring BootでToDoアプリを作成 Spring BootでToDoアプリを作成している際に、streamメソッド・mapメソッドが登場したため調べた。 これらのメソッドはStream APIと呼ばれるコレクションに対する操作をサポートするメソッドである。 (C#でのLinqに相当する…

【SQL】データベースチューニングをしてパフォーマンスを向上させる

なぜデータベースをチューニングするのか ※【22日間で学ぶ】SQL文、分析関数、テーブル設計、SQLチューニングまでMySQLで覚えるSQL実践講座を参考 データベースは運用を続けていくとデータ量は増加していき、パフォーマンスが落ちていく。 アプリケーション…

【ASP.NET Core MVC】AsNoTrackingメソッドとは何か

AsNoTrackingメソッドとは ASP.NET Core MVCで、DbContextを用いてデータベースからデータを取得する際に下記のような記述で取得されます。 AsNoTrackingメソッド EntityFrameworkではDbContextを更新・削除した場合、SaveChangesメソッドでDBへ変更内容を反…

【負荷テスト】JMeterを使ってみた

JMeterとは 業務にてアプリケーションサーバへのユーザ同時接続負荷テストを実行するためにJMeterを使いました。 JMeterは何人が何分(または秒、時間)の間に何回HTTPリクエストを送信するか設定できます。100人のユーザがURL1とURL2に5分間で100回アクセス…

【ASP.NET Core MVC】

ASP.NET Core MVCのデータアクセスの学び直し ASP.NET Core MVCのデータアクセスを学び直して自身の発見や新しい理解をアウトプットとしてまとめました。 データベースコンテキストから生成されるテーブルの名前の変更方法 データベースコンテキストでは、以…

【ASP.NET Core】EFを用いたModelクラス内のプロパティへのインデックスの付与方法

Modelクラス内のプロパティへインデックスを付ける方法 最近、ASP.NET Coreを勉強していてModelクラス内のプロパティへインデックスを付ける方法で躓いたため学習メモ用として残します。 ASP.NET Frameworkではプロパティに対して直接Indexアノテーションを…

リバーシで学ぶアプリケーション設計入門を受講して~ RDRA

概要 Udemyにて、しま (大嶋勇樹)さんが講義している「リバーシで学ぶアプリケーション設計入門」を受講しました。 リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜 | Udemy 受講した理由 現在の業務では、保守業務や既存…

【AWS】EC2インスタンスを立てる

VPCを構築したら次にEC2インスタンスを立てます。 1.EC2インスタンスを選択する 今回は無料枠のAmazon Linux 2 AMIのt2.microを使用します。 Amazon Linux 2 AMI 2.VPCとキーペアを指定する VPCでは、前回作成したVPCを指定します。すると指定したVPC内にイ…

【SQL Server】N+1問題とは何ですか?

N+1問題とは 下記の記事を参考にしました。 qiita.com ループ処理の中でSQLが大量に実行されて、処理が遅くなることをN+1問題という。 例) 書籍テーブルと利用者テーブルがあり、各書籍に対する利用者情報を取得する場合 書籍テーブルと利用者テーブル 1.…

CSRF(クロスサイトリクエストフォージェリ)について解説します!

CSRFとは CSRF(Cross-Site Request Forgery)とは直訳するとクロスサイトによるリクエスト攻撃を意味します。 ログイン中のユーザーを攻撃者が用意した攻撃用Webサイトへ誘導し強制的にリクエストを送りサーバーを攻撃させます。 例えば、オンラインバンキン…

【IIS】ワーカープロセスって何ですか?

ワーカープロセスとは 業務でIISサーバーを使ってWebアプリケーションを公開しています。 その中でワーカープロセスと呼ばれるものが出てきましたので、調べました。 ワーカープロセスとは、IIS上でWebアプリケーションを動かすためのプロセスでありw3wp.exe…

【AWS】VPCを作成する

VPCを作成する 「VPCを作成」をクリックします。 VPCを作成する VPCの名前タグとCIDRブロックを設定します。 CIDRブロックとは、IPアドレス/数字で構成されるブロックであり数字部分がネットワーク部のビット数を表します。今回は先頭から16ビットがネットワ…

【SQL Server】SQLのパフォーマンスを向上させるためにインデックスを活用する!

SQLのパフォーマンス 業務でSQLの性能向上をしましたので、SQLのパフォーマンスを上げるためのテクニックをまとめました! まずは、SQLのチューニングをする前に開発段階で性能を向上させるためのノウハウです。 インデックスを活用する SQLにはインデックス…

【ASP .NET】Postmanを用いてWeb APIをデバッグしたときに発生したエラーについて

エラー内容 Postmanを使ってASP .NET Web APIをローカル環境でデバッグを使用としたら、以下のエラーが発生した。 エラーメッセージ:Could not get response エラー種類:Error: read ECONNRESET Postmanエラー 原因 原因としては、デバッグ環境がhttps通信…

【SQL】NULL値を含んだ条件式

NULL値を含んだ条件式 先日、現場で単体テスト中にNULL値の取り扱いによるバグが見つかったため、備忘録としてNULL値を含む正確な条件式を整理します。 バグの内容は省きますが、条件式にNULLが入っていたため出力結果が何も得られなく意図しない動作を起こ…

C#でドメイン駆動開発パートを受講して

BADコードの作成 本コースでは、まずBADコード(保守性が低いコード)を作成し、どのコードがなぜBADコードなのかの解説します。 BADコードであることを理解した上でより保守性が高いコードの実装方法をハンズオン形式で学びます。 なぜ共通関数クラス(Comm…

メンバーシップフレームワーク

メンバーシップフレームワーク メンバーシップフレームワークとは、asp.netによるログイン認証機能のフレームワーク。 メンバーシッププロバイダークラス 認証機能を持つメンバーシッププロバイダークラスをModelフォルダ内に実装する。 MembershipProvider…

内部結合と外部結合

内部結合 select [テーブル名1.列名, テーブル名2.列名] from テーブル名1 inner join テーブル名2 on テーブル名1.列名 = テーブル名2.列名; 内部結合 usersテーブルのprefecture_idとprefectureテーブルのidを結合させている。 外部結合

SQL LocalDBの削除・再作成

SQL LocalDBの削除・再作成 asp.net MVCでTodoアプリを作成していた際中に、sqlのlocalDBの環境を破壊してまった。 アプリを再作成やsql windows sereverを再インストールしても復元できず、原因が分からなかったため、localDBの削除・再作成を実施した。 下…

XAMMPとは何か

XAMPPとは何か XAMPP Control Panelに触れる機会があったため、XAMMPについてまとめる。 XAMPPとは、Webアプリケーションのフリーソフトウェアをパッケージとしてまとめたものである。それぞれの文字は以下を表している。 開発に必要なソフトウェアを一括で…

【UiPath】「Click」アクティビティの優先順位

「Click」アクティビティの優先順位 「Click」アクティビティには、プロパティの指定により3種類のClick動作をする。 1.クリックをシミュレート 2.ウィンドウメッセージを送信 3.デフォルト(1、2の指定がない状態) プロパティ ■処理速度 クリック…

【UiPath】確実にポップアップをクリックする

確実にポップアップをクリックする RPAでは、業務アプリ内の登録ボタンや閉じるボタン押下時に表示される確認ポップアップをクリックするというケースがある。そんなときに、ポップアップが表示されるより早く「Click」が実行されてしまい処理が安定しないこ…

【初心者】UiPathの論理式And(Or)とAndAlso(OrAlso)の違い

UiPathで条件分岐をする際に条件式にAnd/Orを用いられるケースがたまにあるが特に理由がない限りAndAlso / OrElseで代用するのが望ましい。 なぜならAndは条件全部をチェックするのに対して、AndAlsoは一部のみで条件を判定するため処理が早くなるからだ。 …

NAS(Network Attached Storage)について

新しいプロジェクトに参画して、NAS(Network Attached Storage)に携わる機会があったため、NATとは何かについてまとめる。■NAS ネットワークに直接接続し、コンピュータなどからネットワークを通じてアクセスできる外部記憶装置(ストレージ)。 NAS(…

NAS(Network Attached Storage)について

新しいプロジェクトに参画して、NAS(Network Attached Storage)に携わる機会があったため、NATとは何かについてまとめる。■NAS ネットワークに直接接続し、コンピュータなどからネットワークを通じてアクセスできる外部記憶装置(ストレージ)。 NAS(…

ベーシックレコーディングとデスクトップレコーディングの違い

RPA

レコーディングとは RPAにおけるUI操作の1つであり、人間のUI操作を記録し(Recording)ワークフローとして実行する。 4種類のレコーディングがある。 1.ベーシック 2.デスクトップ 3.Web 4.画像 ここでは、記事のタイトルにおけるデスクトップレ…

ActionLinkヘルパーの使い方

ActionLinkヘルパーとは ハイパーリンクを生成するためのヘルパー @Html.ActionLink("リンク名", "アクションメソッド名", "コントローラー名", new {id = Id}, new {@class = "class"}) 以下は「Edit | Details | Delete」リンクを表示するActionLinkコード…

WhereとFindの使い分け

WhereとFindの使い分け なんとなくLINQのWhere句とFind句を使用していたのでそれぞれの特性について解説する。 引用:find、find_by、whereの違い - Qiita Find Findはモデルのidを検索キーとしてデータを取得するメソッドである。 id以外の検索はできない。…