2018-01-01から1年間の記事一覧
MVC のユーザー入力値項目は、基本的には全てモデルで受けて処理するようにする。 その上で、モデルの各プロパティに対して Required, StringLength, RegularExpression 等の DataAnnotation を使って、入力制限をかける。 また、既定で危険な可能性のある文…
サーバーサイドの検証だけで良ければ、下記ブログのクラスを追加して使用できる。 Flexible Conditional Validation with ASP.NET MVC 3 – Stuart Leeks
ThinkPad T530 に SSD を繋いで使用していたが、1 ヶ月ほど使っていなかった状態から久し振りに起動しようとしたところ、PC 起動時に「2100: Detection error on HDD0 (Main HDD)」と表示されて Windows が起動しなくなった。 その時試した方法と、最終的に…
リダイレクト方法は主に以下の 2 つ。 Redirect("URL パス") RedirectToAction("アクション", "コントローラー", [エリア名など]) 基本的には全て、RedirectToActionメソッドを使えば良い(エリアも考慮されるので)。 ただこれだと、ルーティングで default…
対象テーブルのレイアウトは以下と仮定。 CREATE TABLE [dbo].[Table_1]( [col1] [nvarchar](10) NOT NULL, [col2] [int] NOT NULL, ) エクセルでデータ入力し、最終列に以下の数式を入力(数式の入力列は、予めセルの形式を「標準」にしておく) ="INSERT I…
ASP.NET MVC の TempData は Session とは分かれているため、例えば Session.Clear メソッドの実行は TempData には影響しない。 但し、使用するセッション ID は同じなので、Session.Abandon メソッドを実行すると Session, TempData 共に無効になる。
パスワード変更方法と言うか、実際には新しいパスワードへのリセット方法。 Azure ポータルで当該 SQL Database を選択し、概要画面から当該 Database が格納されているサーバーを選択し、パスワードのリセットを実行する。 パスワードの変更というわけでも…
基本的な考え方は、SQL Server と同じらしい。 SQL Database のユーザーは、インスタンス(サーバー)にログインする用の「ログインユーザー」と、インスタンスに含まれるデータベースを利用する用の「データベースユーザー」の 2 種類存在する。 インスタン…
ASP.NET のセッション情報の格納先は、オンプレでは StateServer モードを使うことが多いと思う (InProc は使わない前提)。 オンプレではステートサービスを利用する方法で良いが、Azure Web Apps 上で動作させる場合、ステートサービスが利用できない。 代…
Azure SQL Database を別の名称のデータベースと差し替えたい場合(バックアップからリストアした DB と差し替える等)、データベース名を SSMS で変更して差し替えを行うことが出来る。 ただ、Azure SQL Database だとシングルユーザーモードは使えないらし…
Azure SQL Database (サーバーではないので注意) のバックアップ方法は、主に以下。 Azure ポータルでのコピー (Azure SQL サーバーへの Database のコピー) Azure ポータルでのエクスポート (Azure ストレージへの BACPAC ファイルの保存) SSMS でのエクス…
名前付け規約に関する公式ドキュメントは以下。 Azure リソースの名前付け規則 | Microsoft Docs Azure リソースは Azure ポータル一箇所で全て管理されているため、ひと目でリソースの種別や目的が分かるような名前付けをする事が非常に重要となる。 なお、…
下記サイトで確認可能 IP Geolocation API and Database | DB-IP
以下のノートンのサイトで簡単に作成できる。 Password Generator インターネット上のサービスである事が気になるのであれば、 同時生成数を増やす 作成した文字列の一部を自分で変更する スマホなど、オフィスとは関係のない IP の端末で表示して、目でコピ…
DB 作成時の照合順序の初期値が SQL_Latin1_General_CP1_CI_AS 照合順序を初期値のまま DB 作成すると、varchar 型の列に日本語 (2 バイト文字) を入れると文字化けする。 2 バイト文字は必ず nvarchar の列に入れるなどのルールであれば問題ないが、そうで…
カスタムドメイン+SSL は不可 Azure ストレージはカスタムドメインは使えるが、カスタムドメインの SSL はサポートしていない。カスタムドメイン+SSL での HTTPS アクセスが必要な場合、CDN 経由で行う必要があるらしい。 BLOB ファイルに HTTP 経由でアク…
EF 側 EF を利用するプロジェクトと同じプロジェクトに EF を含めることも可能だが、xxx.DAL みたいな名前の専用プロジェクトを新規に作成して、そちらで管理した方が良いかも(お好きな方で) EF ライブラリは Nuget からインストールできる (Entity Framew…
一般的なプロジェクトの開発からリリースまでの流れとして、 ローカルや Azure 上の Dev 環境で開発 Azure 上のステージング環境でテスト Azure 上の本番環境にリリース となる事が多いと思うが(他知らないので、その前提で進めます)、このステップを踏む…
Azure AD アカウントのパスワード有効期限は既定で 90 日。 どのようなポリシーを採用するかにもよるが、基本的には定期的にパスワード変更するよりかは無期限の方が良いと思われる。 Azure ポータルで無期限に変更することは今の所できないようで、変更する…
注:Windows で使うときの話です Microsoft Teams はデスクトップアプリもブラウザアプリも出ているが、どちらもアカウントは一つしか使えない。 使いたい Teams のアカウントが一つであれば問題ないが、複数アカウントを同時に使いたい時に困る事になるので…
Application Insights の使用 Azure Functions で使用するログとして一番簡単なのは、既定で使用可能な、Azure ストレージを使用する組み込みログ。 追加で必要な設定なども特に不要で、Azure ポータルからもすぐに確認できるので初めは便利だが、Azure ポー…
レイヤー構成図 赤枠は同一 App Service で 2 インスタンス使用している時の例 各レイヤーに関連する項目 スロット Azure ストレージ上の永続ストレージ (= デプロイしたアプリ) (d:\home) (スワップ対象) (*2) アプリ設定 (スワップ対象。スロット固定可) I…
今まで ThinkPad T530 を使い続けてたので、主にそれとの比較の形になります。丸二日ほど使った状態での使用感になります。 購入したスペック ThinkPad X1 Extreme CPU インテル Core i7-8750H プロセッサー (2.20GHz, 9MB) メモリ 32GB PC4-21300 DDR4 SODI…
NURO 光で貸し出される ONU の一つである HG8045Q に、BUFFALO の WiFi ルーター WSR-2533DHP の中継機能が使えるか、確認。 結果から先に書くと、中継機能は問題なく使えた。 中継機能を使うと、家の 1 階に ONU を設置し、家の 2 階に WiFi ルーターを設置…
正確には、Azure Functions 従量課金プランで HTTP トリガーを使用する場合に、プログラム実行されるインスタンスのライフタイム。 まず前提として、Azure Functions 従量課金プランでは、プログラムが実行されるインスタンスは常に実行可能な状態になってい…
単純な Get リクエストであればブラウザで URL 叩けば終了だが、HTTP ヘッダーの送信や POST を行いたい場合、PowerShell の Invoke-RestMethod が使える。 下記説明では、基本的に変数を使用している。PowerShell ISE であればコピペして実行が出来るので、…
顔面神経麻痺と言う病気で、生まれて初めて入院を経験してしまったので、その経緯のまとめ。 ちなみに自分は水疱瘡が原因のハント症候群で、重症の部類という事だったので、ベル麻痺とはたぶん少し状況が違うはず。 (以下は、基本的に自分の経験した内容の…
NURO 光の ONU HG8045Q に WiFi の 11ac 接続した際、明らかにもっと速度が出るはずなのに 100Mbps を切った速度しか出ないなどした時、管理画面で設定を変えて結果を確認してみる。 (基本的に、管理画面の設定は変更しないのが無難です) 事前の確認事項 対…
Function App に追加したタイマートリガーを Azure ポータルから手動実行した際、「進捗状況: 404 Not Found」とだけ表示され、関数が実行されない時の確認内容。 Function App を Application Insights と連携させている場合は、AI に TimerSchedule の例外…
クライアントから DB に接続してデータを取得する際、基本的には SQL クエリを書くことになる。 クエリについてはメンテがしやすい構成になっている方がもちろん好ましいが、それ以上に重要なのは、以下の点。 速度 メモリ使用量 基本的には、当該クエリが扱…