ディスプレイが休止するとウィンドウが左上に集約される問題が発生:解決

ウィンドウが左上にまとまってしまった状態

この記事を書いた背景

先日のAmazonプライムデーで4Kのディスプレイを買ったのですが、ディスプレイの電源が省電力モードに入ったあと復帰させると、実行していたアプリケーションのウィンドウサイズが小さくなって左上にまとまってしまうという問題が発生しました。

上にあるこの記事のタイトル画像を見ていただくとわかるかと思いますが、このようなウィンドウのサイズで配置する使い方は通常しないでしょう(笑)

使おうと思うタイミングで毎回この症状が発生すると、なかなかにストレスです。

今回の症状が出た機器


INTEL インテル i5-8259U M.2 SSDに対応 2.5
INTEL インテル i5-8259U M.2 SSDに対応 2.5″ (9.5mm厚) HDD/SSDも搭載可能 ハイパフォーマンス小型ベアボーンキット BOXNUC8I5BEH【日本正規流通品】


【Amazon.co.jp限定】LG モニター ディスプレイ 32UD60-B 31.5インチ/4K/VA 非光沢/HDMI、DisplayPort/スピーカー搭載/高さ調節対応
【Amazon.co.jp限定】LG モニター ディスプレイ 32UD60-B 31.5インチ/4K/VA 非光沢/HDMI、DisplayPort/スピーカー搭載/高さ調節対応

原因

この症状が発生するのは、ディスプレイが省電力モードになった時点でWindowsがディスプレイを取り外したという扱いになってしまっていることが原因です。

Windowsがディスプレイが取り外されたという認識をすると、サポートしている最小の解像度(1024×768)に収まるようにウィンドウサイズや位置を変更するというWindowsの仕様によるものです。

なお、この問題が発生するのは、PCとディスプレイとの接続方法がHDMIもしくはDisplayPortの場合です。

解決方法

解決方法としては、Windows 10の必須となるディスプレイ解像度を、4Kディスプレイの解像度(3840×2160)に変更することです。

こうすることで、ディスプレイが切断させた扱いになっても復帰する解像度に差がないので、ウィンドウサイズの変更や移動が発生しなくなります。

設定の変更はレジストリエディタで行います。

ディスプレイアダプタやWindows 10のバージョンによって変更するキーが違うと思いますが、解像度の値で探せば見つかると思います。

手順は次の通りです。

手順

  1. レジストリエディタを立ち上げる
    Win+Rregeditと入力、「OK」ボタンをクリック
  2. レジストリキーを開く
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\NOEDID_xxxx
    レジストリエディタでディスプレイサイズの変更
  3. 配下の00キーと00\00にある下記の値を全て書き換える
    • PrimSurfSize.cx:3840
    • PrimSurfSize.cy:2160
    • ActiveSize.cx:3840
    • ActiveSize.cy:2160
    • DwmClipBox.bottom:2160
    • DwmClipBox.right:3840
      ※10進数で指定する
  4. Windowsを再起動する

なお、値の変更は上記すべての必要はないと思うのですが、MSDNなど見ても各値の詳細を見つけられなかったため可能性のある値すべてを書き換えるという強引なやり方をしています(苦笑)

まとめ

これまでここまで解像度が高いディスプレイは使ったことがなかったので気にしたことはありませんでしたが、この症状があまりにも頻発するので解決方法を探してまとめました。

もし解像度の低いディスプレイに変更することがあるのであれば、設定をあらかじめ元に戻しておかないと画面外に吹っ飛んでしまうウィンドウが出でしょうから気をつけましょう。

参考になれば幸いです。

購入した機器


INTEL インテル i5-8259U M.2 SSDに対応 2.5
INTEL インテル i5-8259U M.2 SSDに対応 2.5″ (9.5mm厚) HDD/SSDも搭載可能 ハイパフォーマンス小型ベアボーンキット BOXNUC8I5BEH【日本正規流通品】


【Amazon.co.jp限定】LG モニター ディスプレイ 32UD60-B 31.5インチ/4K/VA 非光沢/HDMI、DisplayPort/スピーカー搭載/高さ調節対応
【Amazon.co.jp限定】LG モニター ディスプレイ 32UD60-B 31.5インチ/4K/VA 非光沢/HDMI、DisplayPort/スピーカー搭載/高さ調節対応

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

EclipseでJavadocを使うときに「この文字は、エンコーディング MS932 にマップできません」が出たときの対処方

EclipseでJavadocでドキュメントを出力しようとしたら、
「この文字は、エンコーディング MS932 にマップできません」と言うエラーで止まってしまった時の対処方法です。

原因はソースコードとJavadocで出力するHTMLの文字コードが違っていることです。

解決方法は、これをきちんと指定することです。

やり方は次の通り。

Eclipseで「ファイル|エクスポート|Java|JavaDoc」、「JavaDocの引数を構成する」ダイアログを開き、
「追加のJavadocオプション」で-encoding UTF-8 -docencoding Windows-31Jを指定します。

encoding
ソースコードで指定されている文字コードを指定します
docencoding
ドキュメントで使用したい文字コードを指定します

以上です。

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

EclipseでJavadocを使うときに「この文字は、エンコーディング MS932 にマップできません」が出たときの対処方

EclipseでJavadocでドキュメントを出力しようとしたら、
「この文字は、エンコーディング MS932 にマップできません」と言うエラーで止まってしまった時の対処方法です。

原因はソースコードとJavadocで出力するHTMLの文字コードが違っていることです。

解決方法は、これをきちんと指定することです。

やり方は次の通り。

Eclipseで「ファイル|エクスポート|Java|JavaDoc」、「JavaDocの引数を構成する」ダイアログを開き、
「追加のJavadocオプション」で-encoding UTF-8 -docencoding Windows-31Jを指定します。

encoding
ソースコードで指定されている文字コードを指定します
docencoding
ドキュメントで使用したい文字コードを指定します

以上です。

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

Windows 10の画面を90度回転させて縦持ち用にするショートカット キーを作る方法について

この記事を書いた背景

私がメインで使っているLG gram 13やサブのUMPCとして使っているGPD Pocket2はタッチパネル対応なので、ビューワーなどとして画面を縦持ちで使いたくなることがよくあります。

どちらのデバイスもジャイロセンサーは持っていないので、画面の回転は手動で行う必要があるんですね。

Windowsタブレットだとアクション センターから画面の回転ロックが制御できるのですが、当たり前ながらこれも表示されず。

ほんの少し前までは、画面の回転はIntel製のグラフィックス ドライバーの機能でキーボードのショートカットでコントロールできていたんですが、Windows 10の「設定」から回転ができるようになったためか、Intelのドライバーからこの機能が省かれてしまいました。
※CTRL+ALT+カーソルキーで制御できた

そこで、Windows 10の画面を簡単に90度回転させる方法について考えたので記事にしました。

私の持ってる該当のマシン


LG Gram Laptop - 13.3
LG Gram Laptop – 13.3″ Full HD Display, Intel 8th Gen Core i7, 16GB RAM, 256GB SSD, 20.5 Hour Battery Life, Thunderbolt 3 – 13Z990-R.AAS7U1 (2019)


[セット品] GPD Pocket2 8GB/128GB版 [オリジナル液晶保護フィルム, Pocket2専用ケース etc] (Windows10 /7.0inch /IPS液晶) (Gorilla Glass 4 /UMPC)
[セット品] GPD Pocket2 8GB/128GB版 [オリジナル液晶保護フィルム, Pocket2専用ケース etc] (Windows10 /7.0inch /IPS液晶) (Gorilla Glass 4 /UMPC)

理想の状態と実現方法の検討

もともとIntel製のグラフィクス ドライバーでできていた状態と同じ、キーボード ショートカットで回転ができることが理想的な状態です。

これを実現するために思いついたのは次の2つです。

  1. PowerShellで回転用のスクリプトを作り、キーボード ショートカットを割り当てる
  2. なんらかのフリーソフトで実現する

まず、PowerShellによる実現は諦めました。

Set-DisplayResolutionあたりでできると思っていたのですが、どうにも回転についての情報を見つけられなかったのが理由です。

続いてフリーソフトを探したところ、Display Changer IIというのが私の用途にピッタリのものでした。

Display Changer IIは、現在のディスプレイの設定情報をXMLに書き出すこと、書き出したXMLを利用してディスプレイの設定に反映すること、ができます。

Display Changer II – 12noon

Display Changer IIによる実現方法

大まかな流れは次の3ステップです。

  1. 横状態のディスプレイの設定をXMLファイルに保存する
  2. (ファイルをコピーしてから)回転した状態を設定する(→縦状態のXMLファイルができる)
  3. 横状態、縦状態のXMLファイルを使いたいタイミングで読み込ませる

続いてDisplay Changer IIの利用方法について次にまとめます。

Display Changer IIのダウンロード

Display Changer II – 12noonからダウンロードし、適当なフォルダーに展開します

コマンド プロンプトを開き、展開したフォルダーに移動します。

現在のディスプレイ設定を書き出す

次のコマンドを実行することで、monitor_settings.xmlに現在のディスプレイ設定が書き出されます。

>dc2.exe -create="monitor_settings.xml"

参考までに、LG gram 13の書き出されたXMLファイルの内容を載せておきます。

<monitors app-version="1.7.0.32" version="3" topology="Internal">
    <!--The version identifies the format of the configuration file.-->
    <!--topology=-->
    <!--Internal, Clone, Extend, External-->
    <!--The monitor ID attribute must be specified.-->
    <monitor active="true" virtual="false" id="265988" id-FFFF="true" adapterHigh="0" adapterLow="53547">
        <name></name>
        <!--source: the origin of the video signal-->
        <source id="0">
            <name>\\.\DISPLAY1</name>
            <path>\\?\PCI#VEN_8086&DEV_5917&SUBSYS_03021854&REV_07#3&11583659&1&10#{5b45201d-f2f2-4f3b-85bb-30ff1f953599}</path>
        </source>
        <size width="1920" height="1080"/>
        <position left="0" top="0"/>
        <!--8bpp, 16bpp, 24bpp, 32bpp, Non-GDI-->
        <color value="32bpp"/>
        <!--Identity, 90-degreesCW, 180-degreesCW, 270-degreesCW-->
        <rotation value="Identity"/>
        <!--Identity, Centered, Stretched, Aspect Ratio Centered Max, Custom, Preferred-->
        <scaling value="Aspect Ratio Centered Max"/>
        <!--A value of 0/0 represents the optimal refresh rate. Scan-line-order must be Unspecified.-->
        <refresh numerator="138650000" denominator="2310880"/>
        <!--Unspecified, Progressive, Interlaced (upper field first), Interlaced (lower field first)-->
        <scanlineorder value="Progressive"/>
    </monitor>
</monitors>

画面の回転部分について、XMLファイルを書き換える

前の手順で書き出したファイルをコピーし、vertical_settings.xmlと言う名前で保存します。

このファイルの回転に関する部分(rotationノードのvalue属性の値)を次のように書き換えます。

        <!--Identity, 90-degreesCW, 180-degreesCW, 270-degreesCW-->
        <rotation value="90-degreesCW"/>

以上の作業で、必要な設定ファイルが完成しました。

ちなみに、GPD Pocket2は元々縦仕様の液晶を採用しているため、横持ち時の値が「270-degreesCW」です。
なので、縦置き時の指定は「Identity」となりますね。

画面の切り替え方法

上記までの作業で作成したXMLファイルを用いて画面を回転させるには、
コマンド プロンプトで次のコマンドを実行し、読み込ませたいXMLファイルを指定します。

>dc2.exe -configure="vertical_settings.xml"

上記の例では横持ち用のXMLファイルを直接変更しました。

これで通常のXMLと縦持ち用のXMLを切り替えて使えば良いですね。

ショートカート キーで画面の回転をできるようにする

コマンドで画面の切り替えができるようになったらば、これをショートカットキーで使えるように設定しましょう。

大まかな流れは次の2ステップです。

  1. コマンドをbatファイルで実行できるようにする
  2. ショートカットファイルをプログラムメニュー内に作成する

続いて詳細を次にまとめます。

コマンドをbatファイルで実行できるようにする

まずは、先ほどのコマンドを実行するbatファイルを用意します。

次の様な内容にします。dc2へのパスは環境に合わせて指定してください。

@echo off
cd C:\path\to\dc2
dc2.exe -configure="normal_settings.xml"

ショートカットファイルをプログラムメニュー内に作成する

コマンドをbatファイルに保存したら、ショートカットを作成し、プログラム メニューに移動します。

プログラム メニューのフォルダーを開くには「ファイル名を指定して実行(Win+R)」ダイアログを指定し、「shell:programs」を入力するなどが簡単です。

移動する理由は、ショートカット ファイルにはショートカット キーを設定する機能があるのですが、この機能が有効になるのはショートカット ファイルがデスクトップかプログラム メニューのフォルダー内に存在していることが条件になっているためです。

参考:ショートカットのショートカット キーが機能しない

移動したショートカット ファイルのプロパティを開き、次の2点を設定しましょう。

  • 「ショートカット キー」を任意に指定する
  • 「実行時の大きさ」を「最小化」

画面の回転を実行するショートカット

以上で、自分で指定したショートカット キーで画面の切り替えを制御できるはずです。

まとめ

GPD Pocket2だとこんな感じで縦持ちモードになるのを簡単に制御できるようになりました!

GPD Pocket 2の縦持ち状態

今回使用したフリーソフトのdc2には、画面表示の設定変更後に特定のアプリを実行するなどの機能もあります。
例えば、TouchMousePointerのような仮想タッチパッドをデフォルトで表示させたりするなどの欲も出てきてしまいます(笑)

ちょっと書こうと思った記事が想像以上に書くことになってしまいましたが、参考になれば。

ちゃんと動いた私のPCたち


LG Gram Laptop - 13.3
LG Gram Laptop – 13.3″ Full HD Display, Intel 8th Gen Core i7, 16GB RAM, 256GB SSD, 20.5 Hour Battery Life, Thunderbolt 3 – 13Z990-R.AAS7U1 (2019)


[セット品] GPD Pocket2 8GB/128GB版 [オリジナル液晶保護フィルム, Pocket2専用ケース etc] (Windows10 /7.0inch /IPS液晶) (Gorilla Glass 4 /UMPC)
[セット品] GPD Pocket2 8GB/128GB版 [オリジナル液晶保護フィルム, Pocket2専用ケース etc] (Windows10 /7.0inch /IPS液晶) (Gorilla Glass 4 /UMPC)

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

Windows版のMySQLで、CSVファイルをインポートしてからSQLファイルとしてエクスポートする手順

この記事を書いた背景

Windows版のMySQLで、大量のテストデータを用意する作業が発生しました。

テストデータを作れるWebサービスは色々とあるものの出力形式がCSVなので、そのファイルをMySQLでインポートする操作と、
複数のPCにインストールされたMySQLに横展開したいので、インポートしたDBをSQLとしてエクスポートする操作があるので、それを記事としてまとめました。

ちょっとずつハマったので・・

手順

作業全体の流れ

操作自体は次の3ステップです。

  1. テストデータを作る
  2. MySQLにテストデータをインポートする
  3. MySQLのデータベースをエクスポートする

注意点などを含めた詳細な手順を次に載せます。

1. テストデータを作る

テストデータは次のWebサービスを利用して作りました。
CSVファイルで出力しています。

SmartData

2. MySQLにテストデータをインポートする

MySQLにはLOAD DATA LOCAL INFILEという外部ファイルからのデータ取り込み機能があります。

しかし、セキュリティの観点からローカルファイルの利用がデフォルトでは無効になっているため、次のどちらかの方法でローカルファイルの利用を許可する必要があります。

mysqlコマンドにオプションを付ける方法

mysqlコマンドの起動オプションに「–local-infile=1」を付ける方法です。

MySQL Command Line Client – Unicodeのショートカットに直接追記するか、コマンド プロンプトで起動する際にオプションで指定します。

ショートカットに追記する際は、オプションを「”–local-infile=1″」のように「”」で加工ようにしてください。

my.iniで設定する方法

my.iniで有効にする場合には、次の記述を書き加えてmysqlを再起動してください。

[client]
loose-local-infile=1

インポートの記述

インポートを実行するコマンドは次の構文で記述します。

mysql> LOAD DATA LOCAL INFILE 'C:/path/to/file.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

オプションの意味は次の通りです。

TERMINATED BY ‘,’
「,」をカラムを区切りに指定(デフォルトは「タブ(\t)」)
OPTIONALLY ENCLOSED BY ‘”‘
「,」を含むデータを囲む文字の指定
LINES TERMINATED BY ‘\r\n’
改行コードにCR/LFを指定(Excelなど多くのWindowsアプリケーションのデフォルト値)
LOAD DATA LNFILEの設定のデフォルトでは改行コードをLFとして扱うので、最終カラムの末尾にCRが付いた状態でインポートされてしまうのを防ぐために指定します。

3. MySQLのデータベースをエクスポートする

作成したデータは、データベースの単位でダンプすることでエクスポートします。

コマンドラインやPowerShellで次のコマンド実行します。

>path\to\mysql\bin\mysqldump -u -root -p databasename > export.sql

export.sqlの出力先によっては(Program Filesの下とか)コマンドプロンプトを管理者権限で立ち上げないと、ファイルの書込権限がなくてエラーします。

新規データベースにインポートする

先の手順で作成したエクスポートファイル(export.sql)を利用する際は、直接SQLを実行する方法と、コマンドプロンプトを利用する方法があります。

直接SQLを実行する方法

直接SQLを実行する場合、MySQL Command Line Client – Unicodeなどを起動して、SQLの中身をコピペします。

SQLが大きい場合、画面がスクロールして時間がかかるかも知れません。

コマンドを利用する方補う

コマンド プロンプトを利用する場合、SQLを実行するには事前に受け入れ先のデータベースを用意しておく必要があります。

MySQL Command Line Client – Unicodeなどを起動して、次のコマンドでデータベースを用意します。

mysql> CREATE DATABASE targetdb

続いてコマンド プロンプトを起動して、次のコマンドでエクスポートファイルを読み込ませます。

>path\to\mysql\bin\mysql -u root -p targetdb < export.sql

まとめ

けっして難しい作業ではないのですが、細々とミスりそうなポイントがあるのに注意しないとですね!

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

Windows版のMySQLで、CSVファイルをインポートしてからSQLファイルとしてエクスポートする手順

この記事を書いた背景

Windows版のMySQLで、大量のテストデータを用意する作業が発生しました。

テストデータを作れるWebサービスは色々とあるものの出力形式がCSVなので、そのファイルをMySQLでインポートする操作と、
複数のPCにインストールされたMySQLに横展開したいので、インポートしたDBをSQLとしてエクスポートする操作があるので、それを記事としてまとめました。

ちょっとずつハマったので・・

手順

作業全体の流れ

操作自体は次の3ステップです。

  1. テストデータを作る
  2. MySQLにテストデータをインポートする
  3. MySQLのデータベースをエクスポートする

注意点などを含めた詳細な手順を次に載せます。

1. テストデータを作る

テストデータは次のWebサービスを利用して作りました。
CSVファイルで出力しています。

SmartData

2. MySQLにテストデータをインポートする

MySQLにはLOAD DATA LOCAL INFILEという外部ファイルからのデータ取り込み機能があります。

しかし、セキュリティの観点からローカルファイルの利用がデフォルトでは無効になっているため、次のどちらかの方法でローカルファイルの利用を許可する必要があります。

mysqlコマンドにオプションを付ける方法

mysqlコマンドの起動オプションに「–local-infile=1」を付ける方法です。

MySQL Command Line Client – Unicodeのショートカットに直接追記するか、コマンド プロンプトで起動する際にオプションで指定します。

ショートカットに追記する際は、オプションを「”–local-infile=1″」のように「”」で加工ようにしてください。

my.iniで設定する方法

my.iniで有効にする場合には、次の記述を書き加えてmysqlを再起動してください。

[client]
loose-local-infile=1

インポートの記述

インポートを実行するコマンドは次の構文で記述します。

mysql> LOAD DATA LOCAL INFILE 'C:/path/to/file.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

オプションの意味は次の通りです。

TERMINATED BY ‘,’
「,」をカラムを区切りに指定(デフォルトは「タブ(\t)」)
OPTIONALLY ENCLOSED BY ‘”‘
「,」を含むデータを囲む文字の指定
LINES TERMINATED BY ‘\r\n’
改行コードにCR/LFを指定(Excelなど多くのWindowsアプリケーションのデフォルト値)
LOAD DATA LNFILEの設定のデフォルトでは改行コードをLFとして扱うので、最終カラムの末尾にCRが付いた状態でインポートされてしまうのを防ぐために指定します。

3. MySQLのデータベースをエクスポートする

作成したデータは、データベースの単位でダンプすることでエクスポートします。

コマンドラインやPowerShellで次のコマンド実行します。

>path\to\mysql\bin\mysqldump -u -root -p databasename > export.sql

export.sqlの出力先によっては(Program Filesの下とか)コマンドプロンプトを管理者権限で立ち上げないと、ファイルの書込権限がなくてエラーします。

新規データベースにインポートする

先の手順で作成したエクスポートファイル(export.sql)を利用する際は、直接SQLを実行する方法と、コマンドプロンプトを利用する方法があります。

直接SQLを実行する方法

直接SQLを実行する場合、MySQL Command Line Client – Unicodeなどを起動して、SQLの中身をコピペします。

SQLが大きい場合、画面がスクロールして時間がかかるかも知れません。

コマンドを利用する方補う

コマンド プロンプトを利用する場合、SQLを実行するには事前に受け入れ先のデータベースを用意しておく必要があります。

MySQL Command Line Client – Unicodeなどを起動して、次のコマンドでデータベースを用意します。

mysql> CREATE DATABASE targetdb

続いてコマンド プロンプトを起動して、次のコマンドでエクスポートファイルを読み込ませます。

>path\to\mysql\bin\mysql -u root -p targetdb < export.sql

まとめ

けっして難しい作業ではないのですが、細々とミスりそうなポイントがあるのに注意しないとですね!

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

RAD Serverの拡張パッケージ クラスはリクエスト毎にロードされるみたい

RAD Serverの拡張パッケージ クラスはリクエスト毎にロードされるのかどうかを検証するため、次のコードを作ってみました。

※該当部分のコードを抜粋
type
  [ResourceName('Test')]
  TTestResource = class
  public
     n: Integer;
     constructor Create;
  published
    procedure Get(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);
    [ResourceSuffix('{item}')]
    procedure GetItem(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);
  end;
implementation

constructor TTestResource.Create;
begin
  n := 0;
end;

procedure TTestResource.GetItem(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);
var
  LItem: string;
begin
  LItem := ARequest.Params.Values['item'];
  n := n + 1;
  AResponse.Body.SetValue(TJSONString.Create('Test ' + LItem + '-' + n.ToString), True)
end;

RAD Serverを起動してブラウザーから次のURLでアクセスすると、

http://localhost:8080/Test/hoge

変数nはコンストラクタで初期化した値のままです。

"Test hoge-1"

結論としては、RAD Serverの拡張パッケージ クラスはリクエスト毎にロードされるということでしょうか。

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

Intel NUC8i5BEHにV-NAND SSD SAMSUNG 970 EVO Plus NVMe M.2載せてCrystalDiskMarkベンチマーク取った

SAMSUNG 970 EVO Plus NVMe M.2

この記事を書いた背景

Intel NUC8i5BEHにV-NAND SSD SAMSUNG 970 EVO Plus NVMe M.2を載せてCrystalDiskMarkベンチマークを取ったので、その結果を載せておきます。

Intel NUC8i5BEHのメモリスロットは2つあるのですが、1枚刺しの場合は上側がメモリスロット1なので上側に挿しましょう。注意です。
私、最初に下側に付けてメモリエラーで起動しませんでした(苦笑)

購入したパーツは次の通りです。

Intel NUC8i5BEH

SAMSUNG 970 EVO Plus NVMe M.2

CrystalDiskMarkベンチマークの結果

公称値通り、R/Wが3,400/2,400ときちんとした速度を出しています。
SATA接続ではひっくり返っても出ない数値なのが素晴らしい。

体感でも速いですよ。

Intel NUC8i5BEH SAMSUNG 970 EVO Plus

-----------------------------------------------------------------------
CrystalDiskMark 6.0.2 x64 (C) 2007-2018 hiyohiyo
                          Crystal Dew World : https://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

   Sequential Read (Q= 32,T= 1) :  3434.206 MB/s
  Sequential Write (Q= 32,T= 1) :  2399.975 MB/s
  Random Read 4KiB (Q=  8,T= 8) :   576.202 MB/s [ 140674.3 IOPS]
 Random Write 4KiB (Q=  8,T= 8) :   974.309 MB/s [ 237868.4 IOPS]
  Random Read 4KiB (Q= 32,T= 1) :   310.425 MB/s [  75787.4 IOPS]
 Random Write 4KiB (Q= 32,T= 1) :   511.660 MB/s [ 124917.0 IOPS]
  Random Read 4KiB (Q=  1,T= 1) :    37.071 MB/s [   9050.5 IOPS]
 Random Write 4KiB (Q=  1,T= 1) :   104.552 MB/s [  25525.4 IOPS]

  Test : 1024 MiB [C: 15.0% (34.8/232.3 GiB)] (x5)  [Interval=5 sec]
  Date : 2019/06/16 14:02:51
    OS : Windows 10 Professional [10.0 Build 18362] (x64)

まとめ

ひとくくりにSSDと言っても、だんだんと種類が増えてきて間違えそうです(笑)

今回購入したものは、同製品の1TBのものよりも遅いようですが、このクラスになるとまったく気にならないみたいです。

Windows 10もほんの数秒で立ち上がりますし、すべての操作がキビキビと反応するのでストレスがありません。

久しぶりに自宅PCを新調しましたが、また数年はこれを使っていけそうです。

購入したもの

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

iPhone DJI GO 4アプリがiPhoneの容量をやけに食っている!!:解決

この記事を書いた背景

最近iPhoneのストレージがどうにも容量不足だと思っていたら、Mavic Airの操作用に入れたDJI GO 4アプリが3GB近くも容量を食っていました。

元のアプリのサイズが500MB弱ですから、さすがにおかしい。

調べてみるとキャッシュが原因のようなので、削除することにしました。

そのメモです。

アプリの容量の確認方法

アプリが使っているデータの容量は次の手順で確認できます。

  1. 「設定|一般|iPhoneストレージ|DJI GO 4」を開く
  2. 表示された画面の「書類とデータ」にアプリ本体以外で利用している容量が表示される

DJI GO 4アプリのキャッシュを削除する方法

DJI GO 4アプリのキャッシュの削除は次の手順で実行できます。

  1. DJI GO 4アプリを開く
  2. 「マイページ」タブを選択し、ギア アイコンをクリックする
  3. 「キャッシュを削除する」を選択する
  4. 不要な項目(ビデオキャッシュなど)を選択し、確認ダイアログで消去を実行する

まとめ

Mavic Airが飛行中に撮影したデータはすべてドローン本体側のメモリに保存されていると思い込んでいたため、iPhoneの容量をこんなに使っているとは気付きませんでした。

とりあえずこれで写真や動画を撮影できるようになったので良かった~

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

iPhone DJI GO 4アプリがiPhoneの容量をやけに食っている!!:解決

この記事を書いた背景

最近iPhoneのストレージがどうにも容量不足だと思っていたら、Mavic Airの操作用に入れたDJI GO 4アプリが3GB近くも容量を食っていました。

元のアプリのサイズが500MB弱ですから、さすがにおかしい。

調べてみるとキャッシュが原因のようなので、削除することにしました。

そのメモです。

アプリの容量の確認方法

アプリが使っているデータの容量は次の手順で確認できます。

  1. 「設定|一般|iPhoneストレージ|DJI GO 4」を開く
  2. 表示された画面の「書類とデータ」にアプリ本体以外で利用している容量が表示される

DJI GO 4アプリのキャッシュを削除する方法

DJI GO 4アプリのキャッシュの削除は次の手順で実行できます。

  1. DJI GO 4アプリを開く
  2. 「マイページ」タブを選択し、ギア アイコンをクリックする
  3. 「キャッシュを削除する」を選択する
  4. 不要な項目(ビデオキャッシュなど)を選択し、確認ダイアログで消去を実行する

まとめ

Mavic Airが飛行中に撮影したデータはすべてドローン本体側のメモリに保存されていると思い込んでいたため、iPhoneの容量をこんなに使っているとは気付きませんでした。

とりあえずこれで写真や動画を撮影できるようになったので良かった~

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

あなたの IT の疑問・不安をすべて解決するコンシェルジュ サービス