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

ASP.NET MVC のユーザー入力値項目について

MVC のユーザー入力値項目は、基本的には全てモデルで受けて処理するようにする。 その上で、モデルの各プロパティに対して Required, StringLength, RegularExpression 等の DataAnnotation を使って、入力制限をかける。 また、既定で危険な可能性のある文…

ASP.NET MVC で条件付きの必須チェックを行う

サーバーサイドの検証だけで良ければ、下記ブログのクラスを追加して使用できる。 Flexible Conditional Validation with ASP.NET MVC 3 – Stuart Leeks

ThinkPad で 2100: Detection error on HDD0 (Main HDD) 発生時の対応

ThinkPad T530 に SSD を繋いで使用していたが、1 ヶ月ほど使っていなかった状態から久し振りに起動しようとしたところ、PC 起動時に「2100: Detection error on HDD0 (Main HDD)」と表示されて Windows が起動しなくなった。 その時試した方法と、最終的に…

ASP.NET MVC のリダイレクトについて

リダイレクト方法は主に以下の 2 つ。 Redirect("URL パス") RedirectToAction("アクション", "コントローラー", [エリア名など]) 基本的には全て、RedirectToActionメソッドを使えば良い(エリアも考慮されるので)。 ただこれだと、ルーティングで default…

エクセルを使った SQL DB データ登録用の DML 作成

対象テーブルのレイアウトは以下と仮定。 CREATE TABLE [dbo].[Table_1]( [col1] [nvarchar](10) NOT NULL, [col2] [int] NOT NULL, ) エクセルでデータ入力し、最終列に以下の数式を入力(数式の入力列は、予めセルの形式を「標準」にしておく) ="INSERT I…

ASP.NET MVC の TempData について

ASP.NET MVC の TempData は Session とは分かれているため、例えば Session.Clear メソッドの実行は TempData には影響しない。 但し、使用するセッション ID は同じなので、Session.Abandon メソッドを実行すると Session, TempData 共に無効になる。

Azure SQL Database サーバー管理者アカウントのパスワード変更方法

パスワード変更方法と言うか、実際には新しいパスワードへのリセット方法。 Azure ポータルで当該 SQL Database を選択し、概要画面から当該 Database が格納されているサーバーを選択し、パスワードのリセットを実行する。 パスワードの変更というわけでも…

Azure SQL Database のユーザー追加方法

基本的な考え方は、SQL Server と同じらしい。 SQL Database のユーザーは、インスタンス(サーバー)にログインする用の「ログインユーザー」と、インスタンスに含まれるデータベースを利用する用の「データベースユーザー」の 2 種類存在する。 インスタン…

ASP.NET セッション格納先 Azure Redis Cache の設定を動的に変更する

ASP.NET のセッション情報の格納先は、オンプレでは StateServer モードを使うことが多いと思う (InProc は使わない前提)。 オンプレではステートサービスを利用する方法で良いが、Azure Web Apps 上で動作させる場合、ステートサービスが利用できない。 代…

Azure SQL Database の差し替え

Azure SQL Database を別の名称のデータベースと差し替えたい場合(バックアップからリストアした DB と差し替える等)、データベース名を SSMS で変更して差し替えを行うことが出来る。 ただ、Azure SQL Database だとシングルユーザーモードは使えないらし…

Azure SQL Database のバックアップについて

Azure SQL Database (サーバーではないので注意) のバックアップ方法は、主に以下。 Azure ポータルでのコピー (Azure SQL サーバーへの Database のコピー) Azure ポータルでのエクスポート (Azure ストレージへの BACPAC ファイルの保存) SSMS でのエクス…

Azure リソースの名前付けについて

名前付け規約に関する公式ドキュメントは以下。 Azure リソースの名前付け規則 | Microsoft Docs Azure リソースは Azure ポータル一箇所で全て管理されているため、ひと目でリソースの種別や目的が分かるような名前付けをする事が非常に重要となる。 なお、…

IP の所有者確認

下記サイトで確認可能 IP Geolocation API and Database | DB-IP

複雑なパスワードの生成

以下のノートンのサイトで簡単に作成できる。 Password Generator インターネット上のサービスである事が気になるのであれば、 同時生成数を増やす 作成した文字列の一部を自分で変更する スマホなど、オフィスとは関係のない IP の端末で表示して、目でコピ…

Azure SQL Database を使用する時の考慮事項

DB 作成時の照合順序の初期値が SQL_Latin1_General_CP1_CI_AS 照合順序を初期値のまま DB 作成すると、varchar 型の列に日本語 (2 バイト文字) を入れると文字化けする。 2 バイト文字は必ず nvarchar の列に入れるなどのルールであれば問題ないが、そうで…

Azure ストレージを使用する時の考慮事項

カスタムドメイン+SSL は不可 Azure ストレージはカスタムドメインは使えるが、カスタムドメインの SSL はサポートしていない。カスタムドメイン+SSL での HTTPS アクセスが必要な場合、CDN 経由で行う必要があるらしい。 BLOB ファイルに HTTP 経由でアク…

Entity Framework 使用時の注意点とか

EF 側 EF を利用するプロジェクトと同じプロジェクトに EF を含めることも可能だが、xxx.DAL みたいな名前の専用プロジェクトを新規に作成して、そちらで管理した方が良いかも(お好きな方で) EF ライブラリは Nuget からインストールできる (Entity Framew…

Azure リソースの本番、開発用の使い分けについて

一般的なプロジェクトの開発からリリースまでの流れとして、 ローカルや Azure 上の Dev 環境で開発 Azure 上のステージング環境でテスト Azure 上の本番環境にリリース となる事が多いと思うが(他知らないので、その前提で進めます)、このステップを踏む…

Azure AD アカウントのパスワード有効期限

Azure AD アカウントのパスワード有効期限は既定で 90 日。 どのようなポリシーを採用するかにもよるが、基本的には定期的にパスワード変更するよりかは無期限の方が良いと思われる。 Azure ポータルで無期限に変更することは今の所できないようで、変更する…

Microsoft Teams で複数アカウントを同時に使う方法

注:Windows で使うときの話です Microsoft Teams はデスクトップアプリもブラウザアプリも出ているが、どちらもアカウントは一つしか使えない。 使いたい Teams のアカウントが一つであれば問題ないが、複数アカウントを同時に使いたい時に困る事になるので…

Azure Functions で使用するログについて

Application Insights の使用 Azure Functions で使用するログとして一番簡単なのは、既定で使用可能な、Azure ストレージを使用する組み込みログ。 追加で必要な設定なども特に不要で、Azure ポータルからもすぐに確認できるので初めは便利だが、Azure ポー…

Azure App Service のレイヤー構成について

レイヤー構成図 赤枠は同一 App Service で 2 インスタンス使用している時の例 各レイヤーに関連する項目 スロット Azure ストレージ上の永続ストレージ (= デプロイしたアプリ) (d:\home) (スワップ対象) (*2) アプリ設定 (スワップ対象。スロット固定可) I…

ThinkPad X1 Extreme のレビュー

今まで ThinkPad T530 を使い続けてたので、主にそれとの比較の形になります。丸二日ほど使った状態での使用感になります。 購入したスペック ThinkPad X1 Extreme CPU インテル Core i7-8750H プロセッサー (2.20GHz, 9MB) メモリ 32GB PC4-21300 DDR4 SODI…

(NURO 光 ONU HG8045Q)+(BUFFALO WiFi ルーター WSR-2533DHP の中継機能)

NURO 光で貸し出される ONU の一つである HG8045Q に、BUFFALO の WiFi ルーター WSR-2533DHP の中継機能が使えるか、確認。 結果から先に書くと、中継機能は問題なく使えた。 中継機能を使うと、家の 1 階に ONU を設置し、家の 2 階に WiFi ルーターを設置…

Azure Functions インスタンスのライフタイム

正確には、Azure Functions 従量課金プランで HTTP トリガーを使用する場合に、プログラム実行されるインスタンスのライフタイム。 まず前提として、Azure Functions 従量課金プランでは、プログラムが実行されるインスタンスは常に実行可能な状態になってい…

PowerShell を使用して GET, POST, PUT のリクエストを行う

単純な Get リクエストであればブラウザで URL 叩けば終了だが、HTTP ヘッダーの送信や POST を行いたい場合、PowerShell の Invoke-RestMethod が使える。 下記説明では、基本的に変数を使用している。PowerShell ISE であればコピペして実行が出来るので、…

顔面神経麻痺の経緯とか

顔面神経麻痺と言う病気で、生まれて初めて入院を経験してしまったので、その経緯のまとめ。 ちなみに自分は水疱瘡が原因のハント症候群で、重症の部類という事だったので、ベル麻痺とはたぶん少し状況が違うはず。 (以下は、基本的に自分の経験した内容の…

NURO 光の ONU HG8045Q の 11ac 接続で速度が出ない場合

NURO 光の ONU HG8045Q に WiFi の 11ac 接続した際、明らかにもっと速度が出るはずなのに 100Mbps を切った速度しか出ないなどした時、管理画面で設定を変えて結果を確認してみる。 (基本的に、管理画面の設定は変更しないのが無難です) 事前の確認事項 対…

Azure Functions のタイマートリガーが実行できない時の確認内容

Function App に追加したタイマートリガーを Azure ポータルから手動実行した際、「進捗状況: 404 Not Found」とだけ表示され、関数が実行されない時の確認内容。 Function App を Application Insights と連携させている場合は、AI に TimerSchedule の例外…

SQL クエリを発行するアプリを開発する時の注意点

SQL

クライアントから DB に接続してデータを取得する際、基本的には SQL クエリを書くことになる。 クエリについてはメンテがしやすい構成になっている方がもちろん好ましいが、それ以上に重要なのは、以下の点。 速度 メモリ使用量 基本的には、当該クエリが扱…