タイガー!タイガー!じれったいぞー!(SE編)

AS400,WAS,GlassFish,Java,JavaEE,JSF等の開発における日々の気づきをまとめたブログ(備忘録)。

【ACS】OpenJDK8での動作確認

またも、ACSネタです。

これまでは、Oracle Javaを使って記事を書いてきましたが、OpenJDK8でもACSを試してみました。
(Windows10 PC上です)

OpenJDK8のダウンロード、インストール

  • 下記のサイトを参照させていただきました(RedHatアカウントが必要とのこと)。

koboldtodragon.hatenablog.com

今回、私は「OpenJDK 8u151」を選択。「java-1.8.0-openjdk-1.8.0.151-1.b12.redhat.windows.x86_64.msi」を使ってPCへインストールしました。

f:id:no14141:20180525143728j:plain

batファイル作成

先のブログで作成した「5250.bat」を編集します。

set JAVA_HOME=C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.151-1
set JAR_FILE=C:\Users\tigertaizo\IBM\ClientSolutions\acsbundle.jar
set HOD_FILE=C:\Users\tigertaizo\Documents\IBM\iAccessClient\Emulator\IBM5250.hod
path %JAVA_HOME%\bin

java -jar %JAR_FILE% %HOD_FILE%

無事に5250エミュレーターが起動してきました。

f:id:no14141:20180525081137j:plain

起動時のウィンドウの左上のアイコンは、「RedHat」になっています!

動作的には、まったく問題なさそうです。

f:id:no14141:20180525143755j:plain

ちなみに、OpenJDK9では、実行時に例外が吐き出されてしまいました。現時点では、Java9自体が未対応なのかもしれません。

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.ibm.iaccess.base.AcsSSLSecurityProvider (file:/C:/Users/tigertaizo/AppData/Local/Temp/acs.jar_cache14188513116756890390.dir/4.dat) to field java.security.Provider$Service.aliases
WARNING: Please consider reporting this to the maintainers of com.ibm.iaccess.base.AcsSSLSecurityProvider
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
java.lang.NullPointerException
        at java.desktop/com.sun.java.swing.plaf.windows.WindowsMenuBarUI$1.windowActivated(WindowsMenuBarUI.java:83)
        at java.desktop/java.awt.AWTEventMulticaster.windowActivated(AWTEventMulticaster.java:398)
        at java.desktop/java.awt.Window.processWindowEvent(Window.java:2076)
        at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)
        at java.desktop/java.awt.Window.processEvent(Window.java:2023)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4961)
         :

以上、検証結果でした。

【ACS】バッチファイルで5250エミュレータを起動する

前回の記事の通り、ACSはJavaVMの上で動作します。
となりますと、管理者は Javaの知識が必要になるかと思います。

例えば、次のようなケースでは、コマンドからACSを起動してやる必要がありそうです。

  • 初期ヒープサイズ、最大ヒープサイズなどを指定したい(非力なPCの場合)
  • 指定のJavaSEで起動させたい(他のアプリで指定されたJavaを利用しているため)

今回の記事では、Windows10のパソコン上で、初期ヒープサイズを指定し、指定したJavaSEのVersionで起動するバッチファイルでACSを起動する方法を書きとめておきたいと思います。

ACSドキュメントについて

  • 事前学習としまして、インストールしたフォルダ内にある「操作ガイド」を参考にしました。

file:///C:/Users/tigertaizo/IBM/ClientSolutions/Documentation/GettingStarted_ja.html

ACSの起動方法

  • Windowsの場合、通常のアプリケーション起動は、「acslaunch_win-64.exe」(64ビットOSの場合)の実行ファイルをクリックすれば起動しますが、バッチファイルでは「acsbundle.jar」という jarファイルを実行します。

実行ファイル

C:\Users\tigertaizo\IBM\ClientSolutions\Start_Programs\Windows_x86-64\acslaunch_win-64.exe

jarファイル

java -jar C:\Users\tigertaizo\IBM\ClientSolutions\acsbundle.jar

指定したJavaSEでの実行

  • こちらは、pathの環境変数で、コントールできそうです。
  • バッチファイル上で、path命令を使えば、実行したいjava環境でACSを起動できます。
set JAVA_HOME=C:\Program Files\Java\jre1.8.0_172
path %JAVA_HOME%\bin

ヒープサイズ

  • 次に、ヒープサイズのチューニングです。下記のサイトが参考になりそうです。

n-agetsuma.hatenablog.com

とりあえず、デフォルト最大ヒープサイズとデフォルト初期ヒープサイズを2GBで起動する設定を書いてみます。

  • デフォルト最大ヒープサイズ(-Xmx)
  • デフォルト初期ヒープサイズ(-Xms)
set MAX_HEAP_SIZE=2048m
set DEFAULT_HEAP_SIZE=2048m
java -Xms%DEFAULT_HEAP_SIZE% -Xmx%MAX_HEAP_SIZE% -jar acsbundle.jar

Java Mission Control」ツールで確認すると、きちんと約2GBの最大ヒープ・サイズになっているようです。

f:id:no14141:20180524210640j:plain

バッチファイルのサンプル(HODファイル読み取り)

  • 下記のサンプルでは、すでに定義済みのHODファイルを起動するように設定しました。
  • 完成したバッチファイルは、こちら ↓

5250.bat

set JAVA_HOME=C:\Program Files\Java\jre1.8.0_172
set JAR_FILE=C:\Users\tigertaizo\IBM\ClientSolutions\acsbundle.jar
set HOD_FILE=C:\Users\tigertaizo\Documents\IBM\iAccessClient\Emulator\IBM5250.hod
set MAX_HEAP_SIZE=2048m
set DEFAULT_HEAP_SIZE=2048m

path %JAVA_HOME%\bin

java -Xms%DEFAULT_HEAP_SIZE% -Xmx%MAX_HEAP_SIZE% -jar %JAR_FILE% %HOD_FILE%

実行時のコマンドプロンプト画面を表示しないで起動する

以上で終わりではなくて、先に作成したバッチファイル(ex: 5250.bat)をクリックすると、DOS窓が残ってしまいます。

こちらについては、下記のサイトを参考にさせてもらい、別途同一フォルダに設置した「5250.vbs」をクリックして、DOS窓非表示で無事にACSを起動させることに成功しました!

qiita.com

f:id:no14141:20180524220607j:plain

あとは、vbsファイルをデスクトップにショートカットを作って、アイコンを変更すれば、それらしくなるでしょう。

オッケー、オッケー!!

【ACS】日本語入力で動作が重くなる現象あり

Windows7環境では、AS400へアクセスするために5250エミュレーターソフトは「IBM i Access for Windows」のものを利用していました。
しかし、Windows10環境では「IBM i Access for Windows」が使用不可とのことで、その代わりのソフトウェアとして「IBM i Access Client Solutions」が登場しました。
ACSとは、「Access Client Solutions」の略になります。

https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_72/rzajr/rzajracsintro.htm

この「IBM i Access Client Solutions」は、JVMJava VM)の上で動作します。

おそらく、IBMとしては、今後半年周期で行われることになったWindows10のメジャーアップデートに対抗しての処置だと思われます。 JVMの上であれば、プラットフォームを選びませんし、安定した稼働が見込めると判断したのでしょう(あれ? ACS登場→MS発表だったかな!?)。

f:id:no14141:20180516131028j:plain

しかしながら、先々月頃から突然、ユーザーから「動きが重くなった!」という声が届くようになりました。

「動きが遅い?」と言われてから、早速調査していくと、どうやら「日本語変換」の時に動作が重くなっていることがわかり、 その後、ACSのVersionを変えたり(1.1.7.1→ 1.1.7.2)、日本語入力ソフトを変更するなどしても、一向に改善されず。。。

すると、ベル・データさんのサイトから、下記の情報を入手(サイコーすぎ)!

www.e-bellnet.com

ACSの問題ではなく、原因はJava側だったというオチでした。

現時点で、複数のJava8のVersionで試験したところ、現時点での最新版8u172でもこの問題は解消されました。

Java Version(64bit) 動作
8u151
8u152
8u161 ×
8u162 ×
8u171 ×
8u172

今後は、ACSのVersionだけでなく、JavaのVersion管理もきちんと行っていく必要がありそうです。

めでたし、めでたし。

あれ? Javaについては「Oracle Java」が有償になるんだったはず。
今後は、オープンソースJVMでのACS検証が必要になりそうですね。

Windows10 メジャーアップデート「Fall Creators Update」適用時の注意点(DVDメディアから)

先週末、オフィスのWindows10のパソコン(1703 Creators Update)を、1709の「Fall Creators Update」へメジャーアップグレードをしようとしたところ、何と、最新Versionの「1803 April 2018 Update」になってしまいました!!(1709用のDVDメディア使用)

f:id:no14141:20180514201745j:plain

さすがにエンタープライズ系のPCで、出たばかりのOS適用は、危険すぎます(セキュリティ対策ソフト等が最新版OSに対応していないため)。

それにしても、1703から1803へ一気にアップデートされるのですね。勉強になりました。。。

仕切り直しで、別のPCで1709が適用されるようにリトライ! 結果、うまくいきました。

結論的には、インストール設定「重要な更新プログラムをインストールします」のところで、
「今は実行しない」を選択すれば、大丈夫でした。
※「1803 April 2018 Update」になってしまった時は、推奨の「更新プログラムをダウンロードしてインストールする」を選択しておりました。

f:id:no14141:20180514202443p:plain

f:id:no14141:20180514202452p:plain

f:id:no14141:20180514202501p:plain

f:id:no14141:20180514202510p:plain

f:id:no14141:20180514202523p:plain

ただし、この場合、最新のセキュリティパッチが適用されていないため、別途、メジャーアップデート後にWindows Updateをする必要がありそうです(自動更新で適用されますね)。

いずれにしまして、毎年2回、いろいろと骨が折れそうです。。。

「テレビ東京ビジネスオンデマンド」のスマホ版が倍速対応へ

去年の夏に、下記のようなブログを書きました。

tigertaizo.hatenablog.com

その中で、スマホの倍速再生機能を熱望しておったのですが、本日のアップデート(Ver3.0)より、ついに倍速対応(1.5倍速だけでなく、2.0倍速もあり)となりました!!!!!

テレビ東京ビジネスオンデマンド

テレビ東京ビジネスオンデマンド

  • TV TOKYO Communications Corporation
  • ビジネス
  • 無料

素晴らしいです。

昨年の春にサポートデスクさんへは、スマホ版の倍速再生は出ないのか、メールさせていただいていました。
その際のお返事では、丁寧なご回答をいただいており、期待していたのですが、その1年以内にコミットしてくださるとは感謝、感激、雨あられです!

まだ、PCでは1.5倍速までしか対応していないので、欲を言えば、そちらも2.0倍ができると嬉しいですが、そこまで欲しがってはいけませんね。
今後は、スマホで情報収集する機会が増えていきそうです。

テレビ東京ビジネスオンデマンド」の開発者の方、ありがとうございます!!!!!!!!!!
感謝!

「ストレングス・ファインダー」をやってみた

1/7の「Points of You®」の講座中に教えてもらった書籍『さあ、能力に目覚めよう - STRENGTHS FINDER2.0』。

帰りの新幹線で、早速Amazonに注文したまでは良かったのですが、その診断テスト(自己の資質、強みを調べる)を実施するのが少し遅くなってしまいました。。。

先週にWebテストを試してみたので、その感想をまとめておきたいと思います。

www.gallupstrengthscenter.com

資質とは?

そもそも『資質』ってなんなの? ということで、調べてみました。

デジタル大辞泉の解説では、「生まれつきの性質や才能。資性。天性」とありました。
”生まれ持った自分の性格や才能”ってことですね。

CliftonStrengthsテストでは、「非常に多くの人々が、自分の最も得意なことを見つけてきました。今日から自分の強みを使い始めましょう」と解説されている通り、確かに不得意なコト(特に仕事)に自分の大切な時間を投入し続けていても、思い通りの成果が出ないかもしれません。

これまでも、営業向きでない方が営業職で苦しんでいたり、技術が好きで伸び伸びと難しい仕事をこなしているエンジニアの方を見たりしていると、よりその認識が強くなります。
つまり、自分の得意分野で自分の強みを発揮して成果を出そう!ということでしょう。

CliftonStrengthsでは、次の34の資質に分類されているようです。

実行力資質群 影響力資質群 人間関係構築力資質群 戦略的思考力資質群
アレンジ 活発性 運命思考 学習欲
回復志向 競争性 共感性 原点思考
規律性 コミュニケーション 個別化 収集心
公平性 最上志向 親密性 戦略性
慎重さ 自我 成長促進 着想
信念 自己確信 調和性 内省
責任感 社交性 適応性 分析思考
達成欲 指令性 包含 未来志向
目標志向 ポジティブ

自分には、いったいどんな強みがあるのでしょうか?

自分ではわかっているつもりでも、「ジョハリの窓」の自分が知らない窓(盲点の窓、未知の窓)が見えるかもしれません。

f:id:no14141:20180127170622j:plain

本の附録でトライできるのは、「Top5の強みを見つけるためのテスト」になります。

パソコンに向かって、約30分程度。

1つの質問の回答制限が20秒なので、誰にも邪魔されず、体調も万全のときに実施するのがおすすめです(事前にトイレにも行っておきましょう! 子どもか!)。

直訳のせいなのか、「質問の意味が理解できな~い!!」って問いも数問ありましたが、直感でどんどん進めていきましょう。

事前予想

始める前に、34の中から自分の資質を予想してみるのも楽しそう。ということで5連複を2点買いで! 以下が自分自身の事前予想です。

  • 学習欲か成長促進
  • 原点思考
  • 公平性
  • 責任感
  • 分析思考

STRENGTHS FINDER 結果

さあ、結果発表です。

  1. 学習欲 (戦略的思考力資質)
  2. 収集心 (戦略的思考力資質)
  3. 分析思考(戦略的思考力資質)
  4. 目標思考(実行力資質)
  5. 戦略性 (戦略的思考力資質)

何と、自分でもわかってしましたが、自分は「学習やデータが大好き!」。予想通りの結果となりました。
それにしても、5分の4が「戦略的思考力資質」とは、自分でも驚きです。

STRENGTHS FINDERをどう活していくか?

学習欲については、磨きをかけるためにアウトプットをする機会を見つけようとありました。

20代のとき、極真空手の練習後に、師範代から「人間は常に昨日の自分より成長していかねばならない。死を迎えるその時まで向上していくべきである。また、その死の瞬間が、人生で最も輝くときなのだ!」という熱い言葉をいただいたことがあります。
その言葉がずっと私の頭の片隅に残っていて「生涯、学び続けなれば!」という思いが人一倍あるのかもしれません。

是久昌信さんのメルマガを読んで、自分の座右の銘「生涯青春、生涯成長!」を追加したところでありました。

収集心、分析思考は、小学6年生のときに、ファミコンソフトの「燃えろ プロ野球!」をコンピュータ相手に130試合戦い、巨人の選手の打率、本塁打、打点をノートに計算したことを思い出しました。
ホント、子どもって時間があったのですね。たしかクロマティが毎試合ホームランを打って、最終的に150本くらいカウントしたように記憶しています。原は何とか20本だったか?

また、コレクションが趣味で、HR/HMのCDは1,000枚以上、所有していましたが、結婚を機にすべて売却できました。
今でも収集しているのは、「競馬G1レースのテレカ、クオカード」と「ギタリストのピック」くらいでしょうか(これらは場所を取りません)。

やはり、今後の私の生き方としましては、「戦略的に学習し(INPUT)、仕事や生活に活かしていく(OUTPUT)。結果、周りの人達をいい方向に導く」。これを意識して実践していこうと、より強く認識することができました。

机に向かって、調べたり、勉強したり、読書をしたり。ずっとやっていても苦にならないことは、ズバリ私の最大の強みだったということですね。
ということで、今年はブログ記事50件(週1ペース)を目標リストに追加しました! アウトプットを継続できるように。

最後に、気になるのは、自分の薄い資質について。Webで「全34の強みへのアップグレード付き電子書籍(US $69.00)」を購入すれば、確認できそうですが、今回はTOP5までで我慢しておきます。

ぜひ、あなたの上位資質がこれまででどう役立ってきたかを思い出してください。 そうすれば、その資質を「強み」に向かわせるようにコントロールすることができます。 あなたの資質を誰か他者のために使うことができるようになったとき、 原石だった資質は磨かれたダイヤモンドのように輝きを放ち、周囲を照らしはじめるでしょう。 自分にない資質をうらやむのではなく、自分が持つ資質を認めてそれを受け入れたときにこそ、 あなたはそれを使ってすばらしい結果を出すことができます。 あなたではない他の誰かになるのではなく、自分が持つ資質を磨いてあなたらしさを極めていくのです。 自分らしくあることは決して自己中心的なことではなく、自分らしいかたちで誰かのために貢献することなのです。(本書より 引用)

【Node】nodistを試してみる

自前のWindows10のパソコンにインストールされている「node.js」のVersionが「v6.11.0」でした。時間と共に、気が付けばどんどん古くなってしまいます。
というわけで、node.jsの複数のVersionを管理するツール「nodist」にトライしたいと思います!

現状

> node -v
v6.11.0

nodistダウンロード

  • まずは、下記から、nodistのインストーラーをダウンロードしました。

github.com

今回、「NodistSetup-v0.8.8.exe」というファイルを入手しました。

nodistインストール

  • 「NodistSetup-v0.8.8.exe」を実行し、進めます。
  • インストール時の注意点は、特にありません。

ダウンロード可能なVersionの確認

  • まずは、nodist が適用されたかの確認。
> nodist -v
0.8.8
  • 次に、「nodist dist」コマンドで、ダウンロード可能なVersionの確認を行います。
> nodist dist
  0.1.14
  0.1.15
  0.1.16
  0.1.17
  0.1.18
  0.1.19
  0.1.20
  :
  :
  8.0.0
  8.1.0
  8.1.1
  8.1.2
  8.1.3
  8.1.4
  8.2.0
  8.2.1
  8.3.0
  8.4.0
  8.5.0
  8.6.0
  8.7.0
  8.8.0
  8.8.1
  8.9.0
  8.9.1
  8.9.2
  8.9.3
  8.9.4
  9.0.0
  9.1.0
  9.2.0
  9.2.1
  9.3.0
  9.4.0

特定のVersionをインストール

  • nodeの公式サイトで、安定版LTSのVersionを確認すると、2018年01月19日時点では、「8.9.4」ということがわかりました。

f:id:no14141:20180119124928j:plain

  • というわけで、「nodist + 8.9.4」コマンドで、8.9.4を導入します。
> nodist + 8.9.4
 8.9.4 [===============] 22526/22526 KiB 100% 0.0s
8.9.4

環境変数変更

  • システム詳細設定→環境変数 より、「システム環境変数」の変数「Path」の順序を変更します。
  • 「C:\Program Files (x86)\Nodist\bin」が一番下にあるので、「C:\Program Files\nodejs\」より上にして、Nodistの優先度を上げます。

f:id:no14141:20180118130423j:plain

node.jsのVersionを指定する

  • 環境変数Pathを編集したので、cmdを再起動してから行います。
  • 「nodist version名」でVersionを指定できるようです。
> nodist 8.9.4
8.9.4
Default global pacakge update dsuccessful.

> node -v
v8.9.4

オッケー!! 現時点でのLTS版が参照されています!


続いて、npmもあわせて行いました。

現在の npmのVersion確認

> npm -v
4.0.5

う~ん、こちらも古し。。。

ダウンロード格納なnpmのVersion確認

最新版の確認

> npm info npm version
5.6.0   

すべてのVersion

  • コマンド・プロンプトでは、下記の結果に。
> npm info npm versions     
                            
[ '1.1.25',                 
  '1.1.70',                 
  '1.1.71',                 
  '1.2.19',                 
  '1.2.20',                 
  '1.2.21',                 
  '1.2.22',                 
  '1.2.23',                 
  '1.2.24',                 
  '1.2.25',                 
:
:        
  '2.0.0',                  
  '2.0.1',                  
  '2.0.2',                  
  '2.1.0',                  
  '2.1.1',                  
  '2.1.2',                  
  '2.1.3',                  
  '2.1.4',                  
  '2.1.5',                  
  '2.1.6',                  
  '2.1.7',                  
  '2.1.8',                  
  '2.1.9',                  
  '2.1.10',                 
  '2.1.11',                 
  '2.1.12',                 
  ... 173 more items ]      
  • powershellで実行すると、すべて確認ができました。
>  npm info npm versions
:
  '4.4.3',
  '4.4.4',
  '4.5.0',
  '4.6.0',
  '4.6.1',
  '5.0.0',
  '5.0.1',
  '5.0.2',
  '5.0.3',
  '5.0.4',
  '5.1.0',
  '5.2.0',
  '5.3.0',
  '5.4.0',
  '5.4.1',
  '5.4.2',
  '5.5.0',
  '5.5.1',
  '5.6.0' ]

npmのVersionアップ

> nodist npm 5.6.0
npm 5.6.0
https://codeload.github.com/npm/npm/tar.gz/v5.6.0 [============   ] 4677/5865 KiB 80% 1.2s

> npm -v
5.6.0

以上、駆け足でnodistによるnodeとnpmのVersionを行いました。

これであっているのでしょうか。このVersionで、いろいろと動かしていきたいと思います。