2017年3月30日木曜日

【NUC】Intel Fast BootでBIOSに入れない

 Fast Bootを設定しておくと、BIOS起動時間を短縮できるのでPCの起動がかなり高速化されるのだが、電源ON直後にF2キーを押してもBIOS設定画面に入れなくて困った。

 Windowsから再起動時にBIOSを起動する方法があるとのことで、それを使えばBIOS設定画面に入れる。

●手順
[スタート]-[設定]-[回復]-[今すぐ再起動する]-[トラブルシューティング]-[詳細設定]-[UEFIファームウェアの設定]

 しかし、それを知らずにいろいろ試していた間に、いつの間にかFast Bootが解除できたのだが…。どの手順の時かはっきりしない。

 たぶん以下だと思う…。BIOSのリセットではないが、何かしらクリアされるかもしれないので、実施の際は自己責任でお願いします。

●うろ覚え手順
  1. PCの電源OFF。
  2. 電源ボタン長押し(数秒?)。
  3. 電源ボタンから指を離す。
  4. しばらく(数分?)待つ。
  5. 電源ON。


2017年3月16日木曜日

【SQLServer】 selectが固まった(ロック残り)場合の対応方法

ある時ManagementStudioでselect文を実行したが、結果が返ってこないという事象が発生した。
恐らくデッドロックだろうと思い、調査を実施した。その際の覚え書き。

1. テーブル名からlock一覧とそのセッションのsession idを取得
SELECT *
FROM sys.dm_tran_locks
WHERE resource_associated_entity_id =(SELECT TOP 1 object_id FROM sys.partitions WHERE OBJECT_NAME(object_id)='テーブル名';

引用元
https://qiita.com/hexia/items/98c9b603e91c5eadb025
上記を実行するとsession idが表示される。

2. 利用状況モニター起動
Management Studioの上部のグラフのようなアイコンをクリック。

3. 該当セッションを強制終了
上記で取得したsession idの行が該当セッションとなる。ipアドレスやアプリの情報が表示されているため、そのアプリを終了するなどの対処を実施する。場合によってはセッション強制終了を行う。確か利用状況モニターの該当行を右クリックから強制終了出来たはず。

まぁDB再起動でもいいんだが、原因は知っといた方がいいので。

因みに今回はデッドロックではなく、手動でbegin transactionしてcommitが漏れてたというオペミスだった。
この場合は残っていたクエリウィンドウでcommitが正しい対処。

【C#】.NET3.5だとXML形式選択貼り付け(XML⇒クラスソース)できない

Visual StudioではクリップボードのXML文字列 をクラス(ソースコード)として貼り付ける機能がある。
この機能は、対象のフレームワークを3.5等にしておくと使用できない。
具体的に述べると、以下。

1. XML文字列をコピー(VisualStudioでなく、テキストエディタでも良い)。

2.生成したいcsファイルを開き、メインメニューの[編集]-[形式を選択して貼り付け]-[XMLをクラスとして貼り付ける]

3.通常は以下のようにコードが生成される。あとはシリアライズ・デシリアライズのコードを書けば、設定ファイル読み書きが簡単に実装できる。ちなみに、設定ファイルの実装は、app.configの方がもっと簡単なので、基本的にはそちらをお勧めする。


しかし、以下のように対象のフレームワークを.NET Framework3.5等の古いバージョンにしておくと、


手順1、2を実施しても以下のように貼り付けられない。(コードが空のままとなる)

対象のクライアントがWindows7で.NET Frameworkの更新ができないなどの状況では、.NET Framework3.5を採用する必要があるのだが、この場合、[形式を選択して貼り付け]が使えなくなってしまう。

◆単純な解決法

 以下のように別プロジェクトを追加して、適当なcsファイルを作成しておき、このプロジェクトのみ.NET Frameworkのバージョンを4.5以上にしておく。この状態で手順1、2を行えば、貼り付けられる。あとはそのコードを正式なcsファイルに貼り付ければよい。




【設計】設計・開発・試験の流れと設計書

■前提
 Web、RDBシステム

■流れ
 DOA(Data Oriented Approach:データ中心アプローチ)を採用。
たぶん、以下の順に行っていく。(要求仕様書 or 要件定義書は存在するものとする。)
  1. 機能一覧(表示系、出力系)の洗い出し
    1. ユースケース図
    2. DFD(データフロー図)
  2. 画面仕様書(表示系)、ファイル出力決定
    1. 画面仕様書
    2. 画面遷移図
    3. 出力ファイル仕様書
  3. データベースのテーブル設計
    1. E-R図
  4. 機能一覧(更新系、入力系)の洗い出し
    1. ユースケース図
  5. 画面仕様書(更新系)、ファイル入力決定
    1. 画面仕様書
    2. 画面遷移図
    3. 入力ファイル仕様書
    4. 設定ファイル仕様書
  6. 機能仕様書作成
    1. ユースケース記述
    2. シーケンス図
  7. 機能詳細設計書作成
    1. フローチャート
    2. CRUD図作成