変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

2014年12月5日

JrunScript

JDK6以降についているjrunscriptコマンドが付いている。
※最新のVer.8でもJREなら付いていない。
なぜか、JDK8のインストーラは
PATH変数に C:\ProgramData\Oracle\Java\javapath; を先頭に追加するが、そこには java.exe、javaw.exe、javaws.exe  しかないので、コマンドプロンプトで使いたいJDKコマンドを、C:\ProgramData\Oracle\Java\javapath にショートカットかシンボリックリンクを貼れば良さそうだが、jrunscriptはjli.dllを参照しているので無理だったので、素直に環境変数を変えた方が良さそうだ。
新規に JAVA_HOME 変数を作り C:\Program Files\Java\jdk1.8.0_25 を設定。
PATH 変数の最後に ;%JAVA_HOME%\bin を追記。
※本当は正しい方法が別にあるのかもしれない。
※もし、C:\ProgramData\Oracle\Java\javapathにシンボリックリンクなどを貼ったまま放置すると「エラー: メイン・クラスcom.sun.tools.script.shell.Mainが見つからなかったかロードできませんでした」となってしまうので消しておくこと。
パラメータを付けなければ、インタラクティブモード、つまり古式ゆかしい対話式でJavaScriptを実行してくれる。
対話式の注意点としは、for文など { ブロック形式 } を使う文法も一行に収めなければダメ。

> jrunscript
nashorn> for (i = 0;  i< 10; i++ ) { printf(“%d”,i);  }
0
1
2
3
4
5
6
7
8
9
nashorn>Ctrl+C

>

nashornはJDK8のJavaScriptエンジンの名前。Java SE 7ではrhinoのハズ。
普通にJavaScriptを読ませたければ、

> jrunscript   -f  JavaScriptファイル名

とすれば、ファイル単位でスクリプトを評価するので、

for (i = 0;  i< 10; i++ ) {

printf(“%d”,i);

}

も、ちゃんと読んでくれ、同じように実行してくれる。
これだけではシェルやBATファイルの代りにJavaScriptが使えるだけ、

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
engine.eval("for (i = 0;  i< 10; i++ ) { printf('%d',i);  }");
とやるようで結局JNDIな面倒な呼び方はそのまんま。
ただ、メソッドに渡すパラメータが複雑怪奇な構造だと
evalで呼び出すのは面倒でInvokeDynamicやMethodHandlerを使えるのは便利な気もする。
//エンジンを探す
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
// スクリプトで ほげ関数を 定義する.
engine.eval("function ほげ(message) { print(message); }");
// Javaから ほげ関数を呼び出す.
Invocable invocable = (Invocable)engine;
invocable.invokeFunction("ほげ", "hello");
またスクリプトで
var a = Java.type("クラスのフルパス名");
とJavaのクラスが容易に呼び出せる一方で
var IntArrayType = Java.type("int[]")
var arr = new IntArrayType(10);

と 配列の扱いはなかなか面倒なようだ。



Office Premium 搭載パソコン

コレを買うと、Office 365 Solo (¥12,744/年) のハズが
半額のOffice 365 サービス (Office Premium 搭載パソコン専用)(¥6,264 (税込))で更新できてお得ということになっているが・・・
まともなスペックのOffice Premium 搭載パソコンはドレも良いお値段になっている。プリインストールでOffice分がいくらなのかは判らないから、最初に大目に支払っているのだろう。(大笑
中にはメモリを1GBにケチるなどして安くしているOffice Premium 搭載パソコンもあるだろうけど、アンチウイルス系ソフトも常時動作しているのだ。
今までそうであったように、使用して年月が経つと、飛んでも無い量のWindows Updateにより起動が長い!動作がノロい!時どきフリーズする!などケチった分だけ痛い目に遭うのが早い事は想像しやすい。
とは云っても、過ぎたるは及ばざるがごとしの諺通り。Hyper-VでOSをいくつも動かすことが多いし、CドライブがHDDでは起動もHyper-VゲストOSも遅いので、手元のパソコンはメモリを24GBに増設しCドライブを40GBのSSDに変えてWindowsを再インストールしたらCドライブが真っ赤になっていた。
そう、そんなにメモリを載せる人が少なかった時期のWindows7なので副作用が出たのだ。Windows7の初期設定では実装メモリの3倍(仮想記憶(2倍)+ハイバネーション(1倍))の領域をHDDに確保する。圧倒的に容量が少ないSSDでも同様に確保しようとするが、さすがに遠慮して0GBにならないようになってるだけマシな状況だった。64GBのSSDでは多少遠慮して40GBぐらい食われるが、128GBのSSDになると遠慮なく実装メモリ量×3倍=72GBぐらい食われそうな勢いだった。(汗
そんな一例も含め、WindowsもOfficeも最初のバージョンから結構な年月が経っていることもあり、下位互換性を取るための様々なプログラムや設定が異常に多くなってしまう。(爆
例えXPの後継をWindowsServer200Xをベースに作ったとしても、最終的には【下位互換性を取るための様々なプログラムや設定を上乗せしない訳にはいかない】。(爆
そんなこんなで、何十年も前のWindows 3.3当時のOfficeの文書を何十年も前のパソコンで開くのと同じことをしようとすると、WindowsやOfficeを最新にバージョンアップしてしまった後では、当時よりも大幅に性能の良いパソコンが必要になってしまうのだ。
※といっても当時のOfficeの文書はフロッピーディスクという現在ではパソコンに搭載されることが極めて少なくなったメディアに入っているに違いない。MOもしかり。
だから、ずーっと同じOSやアプリを何十年も使っていると、諸々の要因で追加や変更が加わり、ごった煮になり、互換性のテストしなければいけない項目は増える一方!OSもアプリも保守が大変になるから、コストパフォーマンスはどんどん悪くなり、製品単価は下がるどころか、上がり始めるのだ。
ソフトウェアだから改造は容易だろう?と云う人もいるだろう。
例えば、ピラミッドの頂上にもう1個石を上乗せするのは大変だができない訳では無い。だが、後1個!後1個!・・・と云って無理を通せば、最後には誰がやっても出来ない特異点(無理っぽ)に到達するのは想像できるだろう。
いやソフトウェアだから永遠に積み上げられるという人もいるかもしれない。しかし、画面からはみ出した部分は観えなくなる。縮尺を縮じめてしまうと、さっぱり状況がわからない。今の高さをmで吹き出し表示させても、いつかは吹き出しが画面の横幅を越えてしまうので、どんな方法でも限界はあるし、新しい方法を生み出すには、ソフトウェア・デザインの大改造が必要で、その費用は誰が払うの?という最終問題が発生する。
ありていにいえば、しっかりと将来性や拡張性を見据えたものでも、見えてないデッドスペースが多いってだけであり、やはり最後には、特異点(無理っぽ)に到達するだ。
もっとはっきり云えば、無理を云う貴方の後ろにも、無理を云う別の貴方がいて、さらにその後ろにも・・・と、世の中は無理を云う貴方の行列は永遠に続くのだから、きりがないのだ。
IPv4のアドレスが枯渇するは先見性が足りなかったのではない。ただただ無理を通した結果なのだ。IPv6もIoTが好調に進み、地球上全ての温暖化マップを作成するための気温やCO2分圧の測定IoTを大量に散布するプロジェクトとか、血糖値などの測定用使い捨てのIoTなどで大量に消費されたりするなどの事態がいくども起きれば、経済は潤うが、無尽蔵に思えたIPアドレスが枯渇するのもそう遠い話ではないので、有限数のIPアドレス中継から無限数のドメイン中継に変わるのも時間の問題だろう。
ハードウェアのコストパフォーマンスが良くなる時期は見た目のコストパフォーマンスは改善されるが、WindowsやOfficeは保守が大変なのでハードウェアとは無関係にコストパフォーマンスは悪化する。
ハードウェアのコストパフォーマンスが良くならない時期(サブプライムローン破綻とか、今現在の円安とか・・・)は見た目のコストパフォーマンスは悪化し、更にWindowsやOfficeは保守が大変でコストパフォーマンスは同様に悪化する。
結局、WindowsやOfficeも無理が祟っているのが現状と云えるのではないだろうか?
そろそろ、WindowsやOfficeも捨ててしまった方が、全体としてのコストパフォーマンスは上昇するような気がする。
しかし、無理が祟っている様な状況だからこそ、WindowsやOfficeの競合らしいモノが実質的に無いのであって、全体としてのコストパフォーマンスは上昇するような気がする状況になれば、競合であふれかえる可能性が高い。
そして、それはユーザも同じこと。扱いに困るWindowsやOfficeだからこそ仕事になっているのだ。これが全体としてのコストパフォーマンスは上昇するような気がする状況になれば、こっちも競合であふれかえる可能性が高い。

憎まれっ子、世にはばかる。

は、意味深いコトワザなのである。
おまけに、最新のWindowsもOfficeも新しいUIはいづれも不評だ。
滅多に見ないバージョン表記なぞドコかに埋めておけばいいと思っているのか?最近のOfficeでバージョン表記を探すことすら大変だからだ。
Office 365で自動的に最新バージョンOfficeが使えることが1つの目玉であるが、その最新バージョンでは最初に「バージョン表記を探すクエストを請けなくてはいけない!2度目、3度目になれば苦痛になりそうだ。
今のバージョンではEXCELのシートに貼った図形をドラッグ選択したいと思った途端!

  1. ツールバーの左端のタグに切り替え、
  2. ツールバーの右端にある「検索」のプルダウンメニューを開き
  3. 下から2番目図形を選択するモードにチェックを入れなければいけない。

そして、また図形を追加するのは

  1. ツールバーの左端から2番目の挿入のタグに切り替え、
  2. ツールバーの「図形」をクリックして追加する図形(矩形とか吹き出しとか矢印)を選択しないといけない。
  3. 続けて追加するときにクリックを1回でも減らしたいなら、左端に図形が列挙されているので、目線を画面の左端と右端を高速で移動しなくてはいけない。

ので、結構メンドクサイUIなってしまっている。
次バージョンではどんな操作になるのだろうか?
もっとメンドクサイ仕様になっている気がする。
MMORPGを毎日プレイしていると、そのうちアップデートなんて仕様が変わるだけで、また覚え直すのが億劫になってくるが、やはりWindowsやOfficeでも同様である。
FFは遊びではないと云う人もいる。
仕事で使うWindowsやOfficeならなおさら。
嫌々付き合っていくしかないらしい。
本当に

憎まれっ子、世にはばかる。

は、意味深いコトワザなのである。
 
そんなことはない!新しいアップデートに挑戦することは楽しい!
確かにそうだろう。でも、楽しいのは3度目までだと思うよ。4度目には大抵の人はもう飽き飽きしているよ!
何でこの職場では4つのOfficeのバージョンの操作を即答しないといけないんだと!
そしてそれは、質問してくる奴が使っているOfficeのバージョンの探し方すら見当もつかないせいなのだ!と気が付くのである。
だから、最新バージョンでは最初に「バージョン表記」を探すクエストを請けなくてはいけない!のである。




top