2019年8月30日金曜日

WindowsUpdate1903...

WindowsUpdateでWindows10Pro1903にしてみた


 昨日(2019年8月29日)朝にネットワークの大規模(?)通信障害があったというニュースがあり、原因は一斉に動作してしまったWindowsUpdateが大きいとか。
 まだ上げていないPCにガイダンスが出て当てろという流れから当てた人が多くなってしまったのでしょうか。
 たしかにうちのルーターも通信量がトータルでえらいことになってました。
 これ、変動型の課金でつなげてた場合はちゃんと設定しておかないとえらいことになってしまいますね。


 そんな手元のPCも一日遅れ(なぜ?)でポップアップが出て1903にアップデート完了しました。

 いくつかめんどい課題もありましたので、解決方法と共に書いておこうと思います。


WindowsUpdate時間かかりすぎ


 ざっと一時間程度はかかりました。そんなに低スペックでもないのですが。
 青い画面で~%。。。が続き、再起動したかと思えば続きを処理。。。
 そのあと下記の問題や動作確認、イベント確認などしていたら2時間くらい?はつぶれました。
 時間がかかっても問題の無い時に実施することをお勧めします。


ログオン(サインイン)画面の背景がぼけてる


 最初びっくりしましたが、グラフィックの問題ではなく新仕様のようです。
 気に入らない場合は設定変更でやめることも出来るみたいですが特に気にしないです。

 1.(すべてに影響しますが)「個人設定」→「色」→「透明効果」をOFF
 この方法の場合、色々なところで使われている透明効果もOFFになってしまうので要注意。

 2.グループポリシー(gpedit.msc)にて“コンピューターの構成\管理用テンプレート\システム\ログオン”にある「透明なログオンの背景を表示する」を“有効”にする。

 めんどくさい特段影響あるわけじゃないのでので、私はこのぼかしのままです。


Wi-Fiがつながらない


 正直ビビりました。ドライバが合わなくなっちゃったのか?とか。

 再度Wi-Fiの接続認証をし直すことでサクッとつながりました。
 ドメインユーザーで再ログインする場合はWi-Fiつながらないと困ると思うのですが、どうなんでしょうか(キャッシュがあればログインできるでしょうが)。


エクスプローラのピクチャ等のフォルダが復活してる


 はいまたまた置きました。エクスプローラにずらっとフォルダ復活です。。。

 以前紹介した方法で、テキストファイル作りコピペして拡張子変えてダブルクリックでサクッと反映。これにて、ピクチャやビデオ等のフォルダを非表示にしなおしました(ダウンロードとデスクトップは私はわざと表示にしています。)。


 あとはイベントビューアで確認し、いくつかエラーありましたが様子見しつつ後日対応予定。
 開発環境やテスト環境がおかしい動きをしないか祈る。


 WindowsUpdateのためだけにWSUSを組むのも管理しんどいので、もっと簡単にネットワーク負荷を減らす方法を考えていただけないでしょうか。
 例えば、過去にWindowsUpdateのインストーラをDLしたPCはTVのHDDの様な所にすべて配置しておき、他のPC(後追い)はその外部HDD共有タンクをWindowsUpdate参照第一候補として見に行くように、とか。
 WSUSみたいな細かい設定&ポリシーで向き先変更ではなく、十数%の一部だけといわず、落としてきたWindowsUpdateのすべてを同一セグメント内の中継(タンク)した場所に保管/見に行くようにしたいですね。NASでも共有フォルダでもいいので。。。


- PDS PIS 研究室 室長 -

2019年8月29日木曜日

Windowsコマンドプロンプト:プロンプト変更&処理実行時間計測

コマンドプロンプトのプロンプト変更と便利な使い方


 コマンドプロンプトを起動すると、プロンプトが表示されると思いますが、アイディア次第でこのプロンプトを変更するとちょっとした便利な使い方が出来ることもあります。

 変更できる(表示できる)内容は以下の通り(詳細はヘルプ参照の事)

  • ユニーク文字列(以下記号を除く)
  • 環境変数(実は%%で括って使用可
  • $A   & (アンパサンド)
  • $B   | (パイプ)
  • $C   ( (左かっこ)
  • $D   現在の日付
  • $E   エスケープ コード (ASCIIコード27)
  • $F   ) (右かっこ)
  • $G   > (不等号 (より大))
  • $H   バックスペース (直前の文字を削除)
  • $L   < (不等号 (より小))
  • $N   現在のドライブ
  • $P   現在のドライブとパス
  • $Q   = (等号)
  • $S     (空白)
  • $T   現在の時刻
  • $V   Windows のバージョン番号
  • $_   キャリッジ リターンとラインフィード
  • $$   $ (ドル記号)
(コマンド拡張すると以下も可能)
  • $+   PUSHDの階層数で+表記
  • $M    ネットワークドライブ→リモート名


変更方法:


 コマンドプロンプトにて、コマンド「prompt」の後に上記オプションを組み合わせて実行。

 例)ドライブとパス名の後にスペース開けてカッコを付けたユーザー名とスペース開けてシャープ(#)を表示するプロンプトへ変更(UNIX風?)

 prompt $P$S$C%USERNAME%$F$S#
 ↓(変更後の結果プロンプト)
 C:\Temp (TestUser) #
 
 ユーザー名が長かったりパスが深かったりするとプロンプトだけでかなり右の方にカーソルが行ってしまうので不便かもしれないですね。


実用例:


 夜中に時間のかかる処理を実行して帰る時に、プロンプトを日時へ変更しておくとコマンド終了した日時を表示させたままのコマンドプロンプトを残しておくことが出来ます。

 prompt $D-$T$S#
 

 1行目が上記設定コマンド行です。

 最初のpingは失敗例です。
 コマンドを入力している時間も経過してしまったため、
  2019/08/29-14:00:44.99 #ping -n 11 localhost > NUL 2>&1
  ↓
  2019/08/29-14:01:36.68 #
 約52秒も経ってます。。。
 -n 11 なので、約10秒になるはずですので。

 二回目と三回目のpingで、約10秒ちょいの時間経過になっていることがわかると思います。これは、一回目のコマンドを上キー「↑」で履歴を呼び出して再実行(コマンド入力時間を最小化)した結果です。コピペで実行しても同じことはできます。

 このような方法で、あらかじめコマンドプロンプトを日時に変更しておくことで、コマンド実行開始時間(厳密には前回のプロンプトが復帰した時間)から、コマンド実行後のプロンプトが復帰した時間が出せるので、経過時間を知ることが出来ます。

 時間のかかる処理(夜中の大容量コピーやバックアップ、変換など)を走らせて翌日まで放置しておく場合や、(ECHO ONしておけば)バッチプログラムでの一連処理においてどこで時間がかかっているのかを画面に残して確認し日々の効率化や高速化に役立てれればと思います。

 最後に。
 元に戻す場合は、「prompt」を空打ちしてください。
 prompt


- PDS PIS 研究室 室長 -

2019年8月23日金曜日

》Windows10:Windowsコマンドプロンプト:透過

Windowsのコマンドプロンプトの透過


 いつのまにやらコマンドプロンプトが「透過」できるようになっていました。
 コマンドプロンプトの設定なんてめったに触る部分ではないので一切気づかず。
 こんな感じです。クリックすると画像は拡大します。

 (前回起こした記事を背景に)実行したい参考文献を背景に出しつつ、コマンドプロンプトでコマンドを打ってみたイメージです。(コピペできない前提で。)


設定方法:


 設定方法は従来のコマンドプロンプトと同様です。
 コマンドプロンプトの上部バーを右クリックし「プロパティ」を選択。
 タブ「画面の色」を選択切り替えし、一番下の“不透明度”を調整します。(ここでは試しに50%にしてみました)


 この変更を行うと、次回からこの状態で立ち上がるので、不必要な場合は戻しておきましょう。


効果のほどは?:


 コマンドプロンプトで実行したいコマンドサンプルを、“後ろに表示しながら真似て打つ”、そういった使い方はできそうですね。
 モニタ解像度が低いノートパソコン等では役立ちそうです。
 
 他の用途としては。。。打ち間違いした時に重ねて確認とか。

 ファイル名に変更が入っていないかなどを“重ねて”微妙な差分がわかるという使い方も出来そうです。
 試しに2枚のコマンドプロンプトを立ち上げ、とあるファイルのファイル名を変える前に「dir」した結果のbefore(青っぽい文字色に変更)と、ファイル名を変えた後のafter(オレンジっぽい文字色)の両コマンドプロンプトを表示してみました。

 そして、ちょうどいい場所に重ねます。↓
 クリックして拡大画像で見てみてください。

 どうですかね。違い分かりますかね。

 「null」→「null.txt


補足参考:


 なお、ちょうど重ねるのがマウス操作上“微妙にずれてイライラする!”という場合は、コマンドプロンプトのウインドウをつかんだまま、デスクトップ画面の横や上下に引っ付けると固定された位置/サイズになるので、2つのコマンドプロンプトを両方とも同じ条件の画面端に引っ付けると楽です。

 また、改行の数が違うためズレてしまっている場合などは行数が足りない方をEnterで合わせておくか、いったん「cls」コマンドで画面をきれいにしてから行うと良いと思います。

 どうしてもアクティブウインドウの方が上に来て色が強くなりわかりにくい場合もあります。そんな時はタスクバーで2つのコマンドプロンプトアプリケーションを順番にクリックし、パラパラ反転させると差が見やすく見つけやすいかもしれません。

 これを応用すると、moreやtypeコマンドでテキストを表示してそれぞれの差分を確認したり、二つの実行結果のコマンド画面に差がないか?を確認することも出来そうですね。

 ちなみに上の重ね画像の色は、文字色をそれぞれ以下のように変えてみました。

 before画面側「R:0、G:127、B:255」←ほぼ青色
 after画面側「R:255、G:127、B:0」←橙色

 合算したら白になるかと思ったのですが、よく考えたら50%透過しているのでこの値も背景色により変わってきてしまうので単純に白にはなりませんでした。


<他のWindows10記事>


2019年7月25日》スタートアップフォルダの場所

2019年7月8日》エクスプローラーの不要フォルダ非表示


- PDS PIS 研究室 室長 -

2019年8月22日木曜日

Windowsコマンド:「NUL」で標準出力と標準エラー出力を表示させない

WindowsのNULデバイスにリダイレクト


 以前、リダイレクトの方法について、標準出力、標準エラー出力のMS-DOSコマンドプロンプトでの使い方を紹介しましたが、(逆に)一切表示もファイル書き込みもさせたくない場合について書こうと思います。


NUL(ヌル)デバイス:


 古い話から入ると、UNIX系OSには“/dev/null”という特殊なシステムパス(スペシャルファイル)が存在していました。ここに入れられた情報データはすべて捨てられ、正しくEOF(エンド・オブ・ファイル)が返されるという(異次元の様な)場所です。
 例えば、印刷時に10ページ中の10ページ目は白紙なので印刷したくない→プリンタに投げる代わりにNULLに投げる→印刷されないと同時に正しくキューをぶん投げしたというアック(ACK)が返ってくる、というようなことにも使えました。
 Windowsでは、「nul」(大文字でも可)に投げることで似たような事を実現します。


実行例(dirの結果をリダイレクト):


 リダイレクトの詳細は以前書きましたので省略します。

 まず最初に、もともとどう表示されるかを適当なフォルダに移動したのち「dir」を実行し確認します。

 次に、リダイレクトを付けた後ろに“nul”を付けて実行してみます。大文字小文字どちられも可。
 dir > nul

 結果は何も表示されなくなったのがわかると思います。
 そしてもう一度「dir」を実行し、本来リダイレクトしたのだから出来ているであろう“ファイル”を確認しても「nul」というファイルはできていません。
 これが抹消された情報(dirの実行結果の文字列)という事になります。


 なお、上の画像では、あえて「null」という4文字だとどうなるのか?を後半で試しています。
 ファイルとして作成されました。
 Windowsでは、あくまでも「nul」という3文字がヌルデバイスファイル名という事ですね。

 また、適当なファイル名として「nul」が使えないことも確認できます。
 試しに「nul.png」というファイル名で画像を保存しようとした場合は以下のようにエラーが返ってきます。Windowsにより「予約されている名前」だそうです。


 ここで、以前の記事にもある「標準出力」と「標準エラー出力」の両方が表示される場合に、両方とも「nul」にぶん投げ抹消する方法を試してみました。

 最初の黄色の部分では、あえてエラーが出るような実行をしてみています。
 正しく「標準エラー出力」として“そんなファイルはみつかりませんねぇ~?”というのをお堅く返してきています。

 そしてその文言すら消し去る方法として、当たり前ですが、結果としては
 dir > nul 2>&1
 という書き方であれば両方の出力を「nul」にぶん投げることに成功します。


 めったに使うことはないかもしれませんが、DOSバッチでゴリゴリ何かさせたい場合で、かつ、実行中の表示を一部分だけファイル出力したくない場合などには有用です。

 例)
 ping -n 11 localhost > nul 2>&1
 →何も表示されず、10秒待機した後、復帰しプロンプトが帰ってます。
 DOSバッチでのなんちゃってタイマー的な使い方で古くからある常套手段。
 今となってはWindows10のTIMEOUTコマンドを使った方がいいのかもしれません(?)。なぜ今更実装したのか、意図はわかりかねます。もっと早くにあってもよさそうでしたが。。。



- PDS PIS 研究室 室長 -

2019年8月21日水曜日

Android開発者向けオプションでグラフィックの負荷を表示する

Androidで描画が重いのかを確認する


 Androidアプリで「重い」場合の原因の一つに、”表示だけが重い?”と感じた場合、以下の方法を試すと表示(描画)が原因でカクついているのかを確認することが出来ます。

 確認画面はこんな感じです。

 弊社の開発アプリ「ぽぽぽぽ」の開発中に、下記設定をONにした状態でスクリーンショットを撮ったものです。
 アプリ内の花火をアニメーションで描画するときに何故かとても重い個体があったので確認してみました。
 もしこのAndroidアプリに興味のある方は>こちら<からどうぞ^^


<設定方法>


 まず、「開発者モード」をONにします。方法は以前記載した方法です。

 次に、「開発者向けオプション」から、

 「GPUレンダリングのプロファイル作成」を選択し、「バーとして画面に表示」を選択します。この時点で画面下に棒グラフが現れてくると思います。

 試しに開発者向けオプション内のページを上下にスライド操作するだけでパラパラと棒グラフが左に移動しながら負荷を高さで表していくと思います。

 ここで、重いアプリを起動してみます。
 重いといっても、「表示が遅くない???」というものを試してみましょう。
 “描画”が重い原因となっている場合、以下の様にとびぬけてグラフ縦方向が伸び、それが描画終わるまで続きます。よく、透過が多い画像や重なり、移動、拡大縮小のアニメーションで重くなることも多いと思います。

 静的なアプリ(アニメーションが無い、広告も止まっている)では、このようにほとんどグラフが動くようなことはありません。操作したときに若干グラフが伸びる程度です。


 設定を戻す時は逆の手順になります。
 「開発者向けオプション」から「GPUレンダリングのプロファイル作成」が「バーとして画面に表示」になっているのを「OFF」に戻します。


<グラフについて>


 棒グラフ1本の縦線は1フレーム当たりのレンダリングにかかった時間(ミリ秒)を表します。

 緑の横線は16ミリ秒の節目で、1秒当たり60フレームのスムーズさを出すためには垂直バー全体がこの線よりも下に収まっている必要がある目安になります。

 グラフのオレンジ色はCPUがGPUタスクの完了を待っている状態で長い場合はGPUをたくさん使っている状態という意味になります。

 グラフの赤色は、ディスプレイリストを描画/再描画するときにOpenGLへのコマンド発行にかかった時間で、描画すべき情報(リスト)が増えれば増えるほど長くなります。

 水色またはは、画像をGPUにアップロードするのにかかった時間になります。

 系は細かくいくつかに分かれますが、いちばん濃い緑はアプリが二つの連続したフレーム間で動作を実行するのにかかった時間を表します(あんにアニメーション系という事でしょうかね)。UIスレッドで発生し過大な処理を表している可能性が高く、別スレッドにすることで解決できる場合があります。


 もしAndroidが重くてこのグラフが高い場合は、描画系に何かしらの問題があるか、スペックとして追い付いていないか、アプリ側が無茶をしているかということになりますでしょうか。。。
 逆にグラフが伸びていないのにカクついていたりもっさりしている感じがする場合は、別の理由(CPU(処理)やメモリ、メモリ不足、ストレージアクセス当たり?)に原因があるかもしれません。

 なかなか対処は難しいですが、原因がわかるだけでも少し気分は変わりますね。


 - PDS PIS 研究室 室長 -

2019年8月19日月曜日

今日のパワポ:PowerPointで花火を作る

パワポで打ち上げ花火

(上がったところをベース画像としてデザインしてみました。)

 いつものごとく、出来上がりイメージです。


 あくまでも今後の元となるデザインとして作ったものなので、他の色やアニメーションを想定して、ここまでのシンプルなものにする必要がありました。
 背景は花火が映える様にパワポで適当に黒から紺のグラデーションさせてみただけの物です。


<図形の書式設定>


 一つの粒のオブジェクト属性(図形の書式設定)は以下の通り。

  • 塗りつぶし:グラデーション:パス、白(透過0%)→白(透過100%)
  • 線の色:なし
  • 影:なし
  • 反射:なし
  • 光彩とぼかし:光彩の色適当、サイズ8pt、透過性50%、ぼかし無し
  • サイズ:高さ幅0.4cm

<円形配置>


 配置は少し厄介です。
 中心に一つ上記図形を完成させます。
  ( ・ )

 コピーを外側へ一方向だけグリッド使って、徐々に近づくように置いてみます。
 (最外形円周に近づくほど距離を詰めて近づけておく)
  (─・ )

 その一列をグループ化し半径イメージ完成。
  (━・ )

 半径イメージを反対側へコピーを置き180°回転。
  (━・━)

 またその一列をグループ化して直径イメージ完成。
  (━━━)

 真ん中に重複が出来ますが後で消す前提で無視。

 上の直径一直線をコピーし位置を合わせ、90°回転しクロスにする。そしてグループ化。(もはやここまでくると罫線での表現は限界・・・。)
    _
    ┃
  (━╋━)

    ┃
     ̄

 あとは、コピーして中心合わせて、適当な角度に回転を繰り返します。
 そして、すべてのグループ化を解除し重なったところを間引いたり隙間に移動したりして微調整します。この時、外に行くほど隙間が詰まっていくようにすると本物っぽくなります。
 出来上がりは上に示した通り。


<主な用途>


 画像化することで、パワポ自体に転用・花火挿絵デザインに使うことも出来ますし、アプリホームページアイコンなどにも使えますね。
 上記ツブツブをすべてコピーし画像編集ソフトに張り付け、透過を活かしたままpng形式でエクスポートすれば完成です。その際、中心の粒が丁度画像の中心に来るよう位置合わせと画像サイズ調整だけはきちんと行っておく必要があります。


<サンプル花火画像>


 出来上がりのpngはこんな感じになりました。
 (1280x1280サイズの透過ありpng形式)









 背景が白いとただのツブツブにしか見えないですね・・・。黒などの背景上だと、それなりに光った玉のように見えてはくれます。クリックして拡大表示すると背景が濃い色になるので、是非、押してみてください。

 某アプリで使おうと思っていますが、アニメーションと組み合わせるとそれなりに花火っぽく再生させることが出来ました。ちょっと弾幕?細胞?っぽいイメージもありますが・・・。


- PDS PIS 研究室 室長 -

2019年8月14日水曜日

Android開発者向けオプションの「タップを表示」と「ポインタの位置」

Androidのタップ位置と座標の簡易表示


 Android開発していると、結構な確率で「タップ位置」や「座標」を知りたくなる時があります。

  • 今本当にタップされた?
  • 実際、今、何個同時にタップされてる?
  • この画面一番上って本当にY座標ゼロ?
  • このオブジェクトってどれくらいの位置?どれくらいの大きさ? 

 等々。。。

 また、普段使いでも、タップの感触をバイブレーション以外に“視覚的”に認識することも出来るのはかなり便利です。
 そして、まれにですが、タッチ位置を移動して途中でタッチが切れるような現象が起きた時、特に同じ場所で起きるときもあり、液晶のタッチパネルの故障や接触不良などでタッチ切れが起きるのも確認することが出来ます。
 これら、アプリを入れなくても確認できるので、いざという時に利用するとかなり便利です。


<設定>


 まず、「開発者モード(開発者向けオプション)」を“ON”にする必要があります。
 詳しい方法はこちらに書かれているので、まだ開発者モードをONにしていない場合は参照してください。

 Androidの「設定」から、「開発者向けオプション」を選択します。
 (機種やバージョンによっては「詳細設定」等の中にある場合もあります。)


 下にスクロールして行き、“入力”ラベルのところにある「タップを表示」と「ポインタの位置」を“ON”にします。



 以上で設定は終了です。
 設定を戻す際は、上記と同様の項目を“OFF”にするだけで戻ります。



<「タップを表示」について>


 タップした場所に丸いマークが残像の様に1秒ほど白いが残ります。
 どこをタップしたか本当にタップされているか?が一目でわかります。
 もし、ソフトキーボードやアプリ上のボタンでタップミスが多いと思う場合はこれを試してみると意外とずれた場所をタップしていたりするのに気づけます。

 機種やAndroidのバージョン?によって、同時タップ数が10であったり5であったりする場合があります。
 残念ながらそれを表示している項目を私は知りません・・・。が、このタップを表示しておくと、両手で10タップしたときに何個の〇が表示されるかで同時タップ数を確認することも出来ます。
 私の知る中では、機種によって2018年発売のモデルでも同時5タップが上限の物がありました。個人的にはすべて10同時タップだと思っていましたので驚きです。。。

 また、液晶の故障で、一生懸命タップしてもとある場所ではマークがつかずタップされていない事になっている。。。等。

 普段からこの設定でもいいくらい違和感ない機能なので個人的にはお勧めです。


<「ポインタの位置」について>

こちらは少し特殊です。

 ポインタの位置(タップして指を動かした場所も含む)の“軌跡”を一回分だけ画面に残しておけます。
 上の画像のなにやら怪しいフラフラの細い線は、私の方で残しておいた軌跡の線です。
 もう一度タップしなおした時に前の軌跡は消え、新しい軌跡だけになります。

 これだけでもMoveイベントの取得状態を確認するのに使える機能ですが、タップ位置と同様に「タッチパネルが認識しない場所」を見つけるのにもかなり役立ちます。
 そういったアプリも世の中に結構出ていますが、このモードをONにして画面上をくまなくタップしたまま移動させていけば、途中で切れる場所を確認することが出来ます。
 もし、四方八方から指をスライド移動していって同じ場所でと入れるようなら、残念ながらタッチパネル(液晶一体)がその部分だけ壊れているという事になります。要修理で、5千円とか1万円とか、場合によってはそれ以上費用がかかる場合も。。。?

 もう一つ、ポインタの位置としては、ディスプレイの一番上に、X,Yの座標値や、移動距離(相対座標)などが表示されます。また、上にも書きましたが、同時タップ数も何個タップされているのか数で表示されます。
 Android開発していくうえで、この座標値情報はかなり役に立つので知っておいた方がいいでしょう。どうしても座標の状態に疑問があるときや、そもそもY座標がステータスバー消すとどう変化するのか?や、最近多いノッチ(切り欠き)があるときのY座標はどう取り扱うのか等で、とっても重宝します。

 こちらは出しっぱなしだと普段使いでは邪魔と思いますので外しておくことをお勧めします。


- PDS PIS 研究室 室長 -

2019年8月12日月曜日

今日のパワポ:PowerPointでネオン調の図形を起こしてみる

 パワポでネオン調デザイン

いきなりですが、結果、こんな感じのデザインを。


<作り方>


 癖がありますが慣れれば融通利かせてある程度のことはできると思います。

 「線」や「図形の輪郭線」だけをごにょごにょしていきます。
 ※文字は文字内の色をぼかせなかったのでなかなかそれらしくはいきません。

 例)

  1. 線の幅6pt白色透過無しを作ります(上の画像の一番上)。
  2. 次に「光彩」を施します。例えば青を5pt50%透過させます(上の画像の2上から二番目)。
  3. 最期に「ぼかし」を施します。2ptくらいですかね。元が6ptなので(上の画像の上から三番目)。

 同様に、何か図形を作った場合はまず塗りつぶしを無しにして、上と同じ線の処理をします。その後、コピーして好きな図形に変更するなり色を変えるなりするだけで、色々なネオン調の線を持った図形を作れ、簡単に使えます。


<ポイント>


 ポイントは、「ぼかし」です。「光彩」はすぐ目につき使いやすいので色々なオブジェクトで使われていると思いますが、どうしてもそれだけだとのぺっとした線や面が出来てしまいます。
 それに対し、ある程度元の線幅を太めに、明るい白系の色にしておき、“ぼかしで細める”ような処理を施すと、中心に発光物質があるかのような、まぶしい感じの色合いになります。

 中心をもっと薄く透過させると弱い光、透過を無くしていくと強い光の様に見せて変化を付けることも出来ます。もちろん線のグラデーションで透過を徐々に変えていけば、時間がたった“主砲”と今最もエネルギーのある“主砲”の位置の差を雰囲気として出すことも出来ます。ただ、奥行き感は出ません。。。ので、ドロップ図形や三角などを使うとそれらしく見せることはできるかもしれません。
 (某ライトセ〇バーみたいな絵も作ることできるかもしれないですね。)

パワポでエネルギーのありそう(?)な絵




 なかなか背景が黒い資料を作ることはまれかもしれませんが、アプリのアイコンやボタン、アイテム、効果エフェクトを考えるとチャチャっと作れれば便利でしょうか。
 もちろん、このオブジェクトをそのままコピペで画像編集系アプリ(例:GIMP)に持っていくことで透過含め画像ファイルを作ることが出来ます。


 ちなみに、上記画像の背景に使っている月の画像は、リアルにカメラで撮ったものを若干暗く加工しただけのものです。
 クレーターまでハッキリくっきり写っているのはすごいですよね。光学倍率性能が格段にあ上がってきたのをまさに実感です。。。


- PDS PIS 研究室 室長 -

2019年8月9日金曜日

Androidアプリ:atLibra - 「倍率」部の機能拡張

Google Play で手に入れよう

<Androidアプリ:atLibra - 「倍率」部の機能拡張しました。>

 この度、Android用に開発いたしましたアプリ、

  atLibra


 の一部機能拡張、変更を行い、バージョンアップを実施しました。。
 (※このアプリは Google Play で入手できます。画像リンクで移動もできます)


<変更点>

以下の変更と改善を行いました。

 ご意見:「倍率の使い道がいまいちピンときにくい」

 割り引く際の値や、消費税を想定した加算などを前提にしていましたが、確かに商品やお店の趣旨、状況や時間帯によってその性質は変わると考え、倍率割合を切り替えるようにすることで対応できないかと検討進めました。

 →「倍率」項目を、「」、「割合」を追加し、ボタンを押すことで切り替え&自動計算するようにしました。
  (倍率1.00 = 100% =10割 です。例えば20%OFFの場合は、80% = 倍率0.8 = 8割 とどれを入れても同様になります
。)



 ご意見:「最初に入っている数字は何?消せないんだけど」

 ヒントとして初期値を薄く入力していますが、それが逆に混乱させてしまう結果となっていると考えました。
 基本的には1倍や1個と計算上変化がない値とし、また、よりヒントの初期値として存在を消す様に検討進めました。

 →初期値(入力ヒント状態の初期値)の色を薄くしました。



 ご意見:「比較的よく使う倍率は%で、かつ、一個当たりいくらか?なのですが」

 今回、倍率部も可変としたため、初期のモードを見直す様検討しました。

 →起動時の初期選択状態として、「%」、「一つ」が選択されている状態へ変更しました。


新バージョン:LA01.01.04


(参考:前バージョン)


 現在の最新バージョンは「AL01.01.05」となっております。
 (AL01.01.04と比べ、新規機能はありません。バグ修正対応となっております。)


 ご意見、ご要望、ありがとうございました。
 今後と、もよろしくお願い申し上げます。
 

- PDS PIS 研究室 室長 -

Google Play で手に入れよう ※Google Play および Google Play ロゴは、Google LLC の商標です。

2019年8月8日木曜日

ビット演算メモ(ANDでのマスク等)

 情報記録/共有として、ビット演算について記述しまとめて置こうと思います。


ビット演算するために必要な知識:


  • 2進法、10進法、16進法
  • 変数、フラグ、用途、ビット
  • 論理演算(AND、OR、NOT)
  • マスク的思考



利用するシーン:


 何かのソフト開発をするときに、最小限の情報量で最大限のフラグ組み合わせを保持・保存したくなる場合が多々あります。
 例えば、「複合的なエラーコード一本化」「表示状態の複合的保持」「設定状態の複合的チェック項目」等を、“一つの情報”として変数や文字列、情報保存する際に有用です。
 それぞれ無数に保存するよりかは、一つにまとめて保存、それでいて混ざってしまわない保存を前提として有効です。


例:


 例えば、2進法で4×4のビットを構成して考えていきたいと思います。

 0000 0000 (16進数では「0x00」、10進数では「0」)
 ~
 1111 1111 (16進数では「0xFF」、10進数では「255」)

 この範囲での組み合わせは、最大8種、256通りの組み合わせが可能です。

 それぞれの桁に意味を定義し、その8種それぞれがON/OFFしつつ、同時に違う桁の情報がONになることも想定した管理・保存する事が可能になります。


8ビットの2進法数値カンペ:


 2進数の各桁が「1」だった時の10進数、16進数の値を書いておきます。
 (下の桁(右)から、1、2、4、と倍々になっていくだけですが)

 128 64 32 16  8 4 2 1

 0000 1010 → 0+0+0+0 + 8+0+2+0 = 10 → 0x0A
 0000 1110 → 0+0+0+0 + 8+4+2+0 = 14 → 0x0E
 0010 1010 → 0+0+32+0 + 8+0+2+0 = 42 → 0x2A
 1010 1010 → 128+0+32+0 + 8+0+2+0 = 170 → 0xAA
 1111 1111 → 128+64+32+16 + 8+4+2+1 = 255 → 0xFF


 (よく使うカンペなので、縦にも書いておきます)

 ビット桁
 桁単体の値
 合計最大値
 0~全個数
1 1 1 2
2 2 3 4
3 4 7 8
4 8 15 16
   
5 16 31 32
6 32 63 64
7 64 127 128
8 128 255 256
   
9 256 511 512
10 512 1023 1024
11 1024 2047 2048
12 2048 4095 4096
   
13 4096 8191 8192
14 8192 16383 16384
15 16384 32767 32768
16 32768 65535 65536
   


使用例:


 ここで仮にルールを定義します。

 適当な作成のソフトウェア内の設定項目で、「F2モード:ON」(←フラグ2番目をON)にした場合は2ビット目(2進数の右から2桁目)を「1(true)」と上げる。OFFの場合は「0(false)」に落とす。
 同様に、F3は3桁目、F4は4桁目のフラグを立てたり落としたりするとします。
 (他のフラグ(ビット桁)は予約として、何が入っていても無視、将来使う予定とする)

 F2だけがON
  ????001?

 F3だけがON
  ????010?

 F4だけがON
  ????100?

 F3とF4がON
  ????110?

 F2~4がON
  ????111?

 組み合わせはほかにもありますが、上記の様な例が考えられます。
 これを仮に「bitTemp」に代入されていたとします。

 あとは条件として、「&」を使い、マッチするかどうかを判断させまます。

 例えば、F2が1(フラグが立っている)かどうか(下2桁目に1が立っているかどうか)
 if( ( bitTemp & 0x02 ) != 0 ) { ~~~~~ }

 F2とF3のどちらかが1かどうか(下2桁目と3桁目=2+4=6→0x06)
 if( ( bitTemp & 0x06 ) != 0 ) { ~~~~~ }

 F2とF4のどちらかが1かどうか(下2桁目と3桁目=2+8=10→0x0A)
 if( ( bitTemp & 0x0A ) != 0 ) { ~~~~~ }

 F2とF4のどちら1かどうか(下2桁目と3桁目=2+8=10→0x0A)
 if( ( bitTemp & 0x0A ) =0x0A ) { ~~~~~ }

 ※C言語などでは!=0等の判定は必要なく、ifの結果がtrueかどうかで判断できると思いますので、カッコ1重のif( bitTemp & 0x0A ) {でよいと思います。
 ※実際には試していません。考え方としてのメモですので、必要に応じて適時使用してください。

 ここで、なぜ!=0や、>0、trueでいいのか?という疑問が出ます。
 答えは「論理積だから・・・」というしかないのですが、上の例を元に、細かく説明していくと以下の様になります。

 bitTemp の中身が、仮に「00111010」だったとします。

 これに対し、「0x0A」「&」でぶつけることになるので、どちらも「1」のビットのみ「1」が返ってくることになります。

 00111010
 &
 00001010 0x0A
 =↓
 00001010 0x0A


 もし、ぶつける値を「0x08」とした場合は、

 00111010
 &
 00001000 0x08
 =↓
 00001000 0x08

 となり、下2桁目の1は判断対象に含まれません。


 逆に、ぶつける値を「0x04」とした場合は、

 00111010
 &
 00000100 0x04
 =↓
 00000000 0x00

 となりますので、結果「0」(false)となります。


 最後に、あえてぶつける値を「0x0C」(12)とした場合、意図としては4ビット目のF4(8)と、3ビット目のF3(4)のどちらかが「1」として使いたかったり、両方が「1」かどうかを検出したい時が想定されます。

 00111010
 &
 00001100 0x0C
 =↓
 00001000 0x80」 ← 0は超えているのでどれかは「1」という解釈ができる。

 もし、マスクした結果のどれもがマスク元と同じであるか(すべてが「1」かどうか)を検出するのであれば、「0x0C」をマスクとした場合、結果が「0x0C」となっているかを比較することで判断できます(上記の場合は、結果が「0x80」と「0x0C」とは異なるため、偽“false”という事になります。

 よって、上にも書きましたが、

 F2とF4のどちら1かどうか(下2桁目と3桁目=2+4=6→0x0A)
 if( ( bitTemp & 0x0A ) =0x0A ) { ~~~~~ }

 という完全HITをさせる条件式を使うケースも考えられます。

 論理和や排他的論理和などは機会があれば別な時にでも書き足そうと思います。


- PDS PIS 研究室 室長 -

2019年8月7日水曜日

今日のExcel:エクセルでドット絵作成したX,Y座標の取得

 あるアプリで、ドット絵の座標を簡単に生成する必要があり、Excelを道具として使ってみたのでその時の情報を掲載しておこうと思います。
 ※開発技術手法の一環で機密に近いかもしれませんが、社内でもリクエストがあったため、ここに掲載して公開しようと思います。たいした技術やアイディアでもないですし(?)。


 結果ですが、このような感じです(Excel)。



<手順と説明>

 まず、シート全体を方眼調にセルの縦横を妥当な大きさに変更します(私は縦横共に20ピクセルなどに変更しました。)

 次に、左側に今回は20×20のマスをエリアとして準備しました。

 上と左には1~01~0のラベルとしての文字を入力し、わかりやすいようにセルをグレーへ。

 上記枠の中をすべて選択し、「条件付き書式」を使って“値が1ならセルの塗りつぶし色をオレンジにする”様に条件を追加します。

 枠の下の適当な場所に、枠全体の合計値を算出した結果を表示する場所を準備します。

 上の画像の「100」と記述されているところです。

 計算式は、よくあるSUMで
  =SUM(B10:U29)
 ですね。

 ここから、枠の中に「1」を立てていきます。

 上記画像のように、100個ピッタリで「」を表してみました。

 Excelのウインドウ右下にある表示の拡大/縮小を使って、小さくしてもそれなりに「」が読めそうかも確認します。



 >>>ここからが本題です。<<<

 上記左エリアの丁度右側にも同じ様にエリアをコピーして貼り付けし準備します。
   → 

 中の「1」はすべて削除。条件付き書式はそのままでも消してもOK。

 この右枠の、いちばん左上(1、1にあたるところで、上記画像のセルAB10)に、以下の計算式を書きます。

  =IF(B10=1,","&AB$9&","&$AA10,"")
 (詳細説明は後程。セルの位置が違う場合は妥当な位置に変更してください。)

 この数式をコピーし、右枠内すべてに張り付ける。

 結果、上の画像の様に、「」を描く場所に何やら数値とカンマが入ったセル群が出てくると思います。

 このセルを、枠内すべてマウスで選択し、「コピー」してクリップボードに記憶させます。

 それを、適当なテキストエディタ(置換が行えるもの)に張り付けます。

 あとはテキストエディタ内で置換等の機能を使って、
  タブ文字を削除
  改行を削除
  最初のカンマ1文字を削除(不要なら)
  最後にカンマを1文字追加(必要なら)
 を実施します。

 ※適当なテキストエディタがない場合は、Excelのセル内で操作してもいいかもしれませんが、文字列の最大長に注意が必要です。

 そうすると出来上がりは、こんな感じの羅列になります(x1,y1,x2,y2,・・・)。
16,2,17,2,15,3,18,3,5,4,15,4,18,4,4,5,8,5,9,5,10,5,11,5,12,5,13,5,14,5,15,5,16,5,17,5,4,6,12,6,13,6,3,7,4,7,12,7,13,7,3,8,4,8,12,8,13,8,3,9,4,9,8,9,9,9,10,9,11,9,12,9,13,9,14,9,15,9,16,9,17,9,3,10,4,10,12,10,13,10,3,11,4,11,12,11,13,11,3,12,4,12,9,12,10,12,11,12,12,12,13,12,3,13,4,13,8,13,9,13,10,13,11,13,12,13,13,13,14,13,3,14,4,14,7,14,8,14,12,14,13,14,14,14,15,14,16,14,4,15,7,15,8,15,12,15,13,15,15,15,16,15,17,15,4,16,7,16,8,16,12,16,13,16,17,16,18,16,4,17,5,17,8,17,9,17,10,17,11,17,12,17,5,18,9,18,10,18,11,18,
 あとはコード内で定数として利用、splitで分割して配列に取り込む等、自由に使えます。


<補足>

 ※先ほどのExcel関数計算部分を補足します。

  =IF(B10=1,","&AB$9&","&$AA10,"")

 日本語で書くと、

  もし、“セルB10”が「1」ならば、

   「,」という文字と、
    (&で文字をつなげて)
   “セルAB9”の文字と、($9はコピペしてもセルの“9(縦)”を固定する意味)
    (&で文字をつなげて)   「,」という文字と、
    (&で文字をつなげて)   “セルAA10”の文字と、($AAはコピペしてもセルの“AA(横)”を固定する意味)
   の文字を表示しなさい。

  でなければ(“セルB10”が「1」でなければ)、

   何も表示するな(””で空を出せという意味)

  をしなさい。

 となりますね。

 結果、例としては、一つのセルに、「」等のXとYの座標が入ってくることになります。

 詳細説明は以上です。



<その他思うところ>

 Excelを仕事の小技的に使うことの方が圧倒的に多いです。
 もう何年もExcelをExcelらしく、表計算、帳票、VBA、DB風利用などで使った覚えがないですね。。。
 ただ、細かい使い方を知っておけば、ちょっとしたときにササっと役に立つツールであることには変わりがないのでとても便利です。
 あとはガントチャート的な使い方でマネジメントとして使うくらいでしょうか^^;
 ベーシックがゆえにアイディア次第で便利に活用できますよね。
 これが、専用ツールとしてゴリゴリ作りこまれてしまうと融通も利かなくつぶしも利かない物となり使わなくなってしまう、そんな気がします。
 ExcelはExcelのまま、シンプルにいてほしいと切に願います。PowerPointも。

 他にも実際に使った事例などがあればいつか載せてみたいと思います。


- PDS PIS 研究室 室長 -

2019年8月6日火曜日

今日の観葉植物:ハオルチア - オブツーサ ちっさい三兄弟

 職場を飾っている ハオルチアオブツーサ ミニ×3 を紹介します。

 こちらもツインズと同様に、かなりのミニサイズです。

 元々は10cmほどの親株の「脇芽」として飛び出てきて成長していたものを、100均で買ってきた便利な鉢に植え付けて半年ほど経ちました。そろそろ安定してきたかな?という段階です。
この透け感はハオルチアならではですね。
ぷりっとツルンと。^^


 左から、長男、次男、三男。名前は・・・つけてません^^;
 右の三男は、以前「ものもの の機能紹介」でちらっと登場した超ミニのものです。

 それぞれ、2~3cmほどのサイズで、成長も全く分からず、ただポツンと存在しているだけですが、やっぱり“かわいい”ですよね。この透明感とプリッとしたみずみずしさは。

 屋内置きで、比較的日の光が届く場所(直日ではなく)、風の流れのある場所に置いてます。薄い日陰の場所や、デスク上などと持ち回りで毎週ローテーションしてみたり。

 成長が見られないので心配ですが、枯れる感じもないので大丈夫でしょう。秋口に少し涼しくなったら栄養あげて成長を促したいと思います。

 できれば、それぞれ5cmくらいには大きくなってほしいです。そして透明感も増しつつ全体にままあるく育ってくれるといいんですが、そう思い通りにはいかないですね。



 こちらの鉢ですが、100均で買ってきたもので、意外と便利なので紹介します。

 まず見た目ですが、曇りガラス風の半透けプラでできています。ハオルチア オブツーサの透明部分と良くマッチするかなと。
 そしてこの鉢、内側と外側が分離します。その分離後がこんな感じです。
 鉢受け皿が深い
 


 最初ちょっとびっくりしたのと、使いにくいかなぁと思っていましたが、意外と便利でした。
 色々使ってみての利点は、

  • 当たり前ですが、水を入れすぎても受け皿になってくれ、かつ、余分な水を捨てやすい(持ち運び含め)
  • 抜いて横から見ると、土のどこまで湿っているか、乾いているかがわかる
  • 根のはり具合もよくわかる
  • 初期に土を水に浸したい時、この受け皿に半分ぐらい水を入れてドボンと浸けしばらく放置するだけでいい
  • 周りや外側が汚れにくい、汚れても外側だけ外して洗えばいい
  • 四角いから倒れにくいし周りとくっつけて置ける
 等です。


 ∴デスク上にちょこんと置いても問題が少ない&対処しやすい、何より見た目が良く植物眺めて癒される・・・。

 ただ、これで一個100円は高いといえば高い気もしますが。。。
 欲を言えば、デザインの合った小さい水差しか霧吹きが欲しくなりますね。

 癒しを求め、デスクに一つ、いかがでしょうか?^^


- PDS PIS 研究室 室長 -



2019年8月5日月曜日

今日の観葉植物:オリヅルランの植え替え

 前回オリヅルランの「ツインズ」を紹介しましたが、そちらは順調に根も生えて来て、下から覗くと成長具合がよくわかります。

 今回は、職場では少し大きめのオリヅルラン、根が土から上に出はじめてきてしまったので植え替えました。

 いきなり結果ですが、こちらが植え替え後(左のは前回のツインズ^^)。


< 植え替え 手順 >


 ざっくり手順を書いておきます。

 まず、元の状態は以下のように根っこが出てきてました。
 葉先も茶色くなってきてしまっているので、根が詰まっているのかなと。。。


 右の鉢は植え替え予定の一回り大きい鉢を準備しました。


 拡大しないとわかりにくいですが、2cmほど根が上がってます。


 続いて引っこ抜きます。
 前もって水を少なくしているのでスポっと楽に抜けます。


 ここで想定でした。思ったほど根が詰まっていなかったです。

 ちなみにオリヅルランの根はこんな感じに途中から白くぶっとくなっていて、ちょっとしたもやしの固くなった版の様になります。初めて見た時は虫の幼虫か何かと思ってびっくりしますね。

 あまり詰まってなかったので、下の方の根と土だけ、軽く落とします。

 もしびっしりしているようであれば半分くらいほぐして、弱っている根は切ってしまってから新しい鉢に植え替えた方が良いですかね。そのつもりでしたが意外と少なく。。。こんな感じで少しだけ落とすことにしました。


 次に植え替え先の準備です。
 鉢底にハイドロボールを薄く敷きました。なんでもいいと思います。赤玉でも炭でも砂利でも。


 次に、念のため赤玉を薄く敷いておきました。


 次は観葉植物の土を適当に入れて、真ん中をへこませておきます。
 量は根の多さや硬さ、落とした土の量でまちまちですが、根が来る想定で。


 引っこ抜いたオリヅルランを入れてみて、全体的なバランスや高さ、中心等を確認します。


 問題無ければ隙間に観葉植物の土を敷き詰めていきます。もともとの土が使えそうなら再利用もします。(←貧乏性^^;


 ここでたっぷり水を吸い込ませて、土がへこんだところに追加しての繰り返しで、全体的にまんべんなく土を敷き詰めます。可能ならバケツに鉢より少し低い辺りまで水を張って、ドボンと浸けておくのが手っ取り早いのですが、手元にないのでゆっくり上から水をあげ続けました。また、今回は土が砂利っぽいのとふかふかのと混ざっていて株の座りが悪かったので、かなり強めに土を押し込んでます。


 最後に赤玉を上に敷いて、


 赤玉にも水を吸い込ませて、終了です。
 真上から見た時に新芽が真上に伸びる角度になっていることを確認しました。


 最初の画像と同じですが、こんな感じになりました。
 少し土が多いのですが、鉢底の土を多くしてしまったのと、株の上の方まで新しい根が出始めていたため、しょうがなく山盛りにしました。。。水を上げるときに流れ落ちないように要注意ですね。


 オリヅルランの効能で職場の空気を少しでも浄化してくれると幸いです。^^


- PDS PIS 研究室 室長 -