ローカルサーバーとリスト

3週間ぶりに精神科医に通って、進路を相談して、統合失調症と睡眠不足の処方を派遣社員になる以前に戻してもらうことになった。独り言によってコミュニケーション障害があったとしても、私生活では影響がないと考えてのことだった。派遣社員のときは予定が立たないことへのストレスが溜まっており、不利で脆弱な立場に追いやられることが多かった。年収も手取りでは300万円を下まわっており、生活はかなり節約していたつもりだった。耳鳴りはするけれど、とくに相手が決まっているわけではなさそうだった。運動不足ということも考えにくい。派遣会社では耳鳴りが独り言に知らず知らずのうちに反映されていて迷惑ということだったけれど、個人的には未だに覚えがない。またどう改善いいかもわからない。派遣会社も社員を不当に拘束して、一方的な要求をすることもあった。それらの症状は発達障害に当てはまるが、自分なりにできる努力をしていくほかない。

お薬手帳の履歴によると、長い待期期間から派遣先に入場するときの条件付けとして、統合失調症の処方をされていたが、退職を機にもとに戻そうと考えた。以前のお薬手帳を持って行ったけれど、いくらか説得力の足しになったかもしれない。認識の間違いと、悪意を結び付けられると正常な判断ができないと思われることがある。勘違いを恐れるあまりふさぎ込んでしまうこともある。人が近づいてくるとギョッとすることがあるけれど、その人が嫌いということもない。以前の職場では襟が曲がっていると指摘されるとその日の調子がずっと思わしくなかった。

JAVAのプログラムでは、サーバーとクライアントをローカルで動作させることができた。サーバーからクライアントにメッセージを渡すには事前に、サーバーを立ち上げておく必要がある。ポートは5000になっている。このポートが参考書のサンプルの2つの事例で同じポートを使っているので、どちらかのサーバーを起動させると、クライアントに流れるメッセージが上書きされた状態になっていた。そこで片方のポートを5001に変更すると、サーバーのプログラムとクライアントのプログラムを2つ並行してメッセージを渡すことができるようになった。とはいえ、サーバーのある場所はパソコンのローカル環境の中で、どこにも繋がっていない。ポートは空いているポートを指定できるものの、1つのポートには1つのサーバープログラムしか動かないようだ。重複する場合、サーバーが途中で停止する場合もあり、プログラムを一時停止させて、再度実行すると再び反映されるようになった。サーバーを使ったwebアプリケーションではPHPとMySQLを組み合わせたMAMPという仮想環境をローカル環境で動かしていたこともあった。PHPやMySQLの場合は、ローカル環境だけでなく、外部環境でも動作していた。JAVAを外部環境で動かしたことはなく、jspという拡張子のテンプレートをHTMLタグとして、webサイト作りに取り組んでいたことがあったけれど、JAVAの言語との関連性はそれほどなかった。

また、ストリームというインターフェースによって、オブジェクトの集合をラムダ式のように簡略化して、条件に合わせて絞り込んだり、並べ替えたりができるようだ。クラスを定義するだけでなく、ストリームやFor文を使うには、mainという括りが必要になる。そのなかでストリームを呼び出すときにはライブラリの指定は特に必要なかった。ビルド・パスの指定もJAVA SE1.8でも、JAVA11でもどちらでも動作した。ストリームという構文が、括弧とドットで連続するように記述するので、法則性が覚えにくかったところもある。またenumというリストの形は、androidアプリを作る時に、要素を列挙するリストとして、数値でもなく、文字列でもない記号的な意味合いをもった文字列というように覚えていたが、JAVAでもenumを使うことになった。クラス名.型名.enum名という住所の指定のような形で、プロパティを追加していく。引数ではなかったので、インスタンス化するnewの段階では指定することができず、後からプロパティを追加する形になった。括弧ないに指定した文字列と似ているがクォートが入っていない定数のどれか一つを独自の方として指定できるようになる。プログラムで使う機会があるかどうかはわからないが、ひとつの構文として覚えておこうと思う。

これにてJAVAの実践編の参考書のすべてのプログラムが動作したことになる。eclipseのAll in Oneパッケージでは重くて動かなかった環境が、JAVAのIDEのパッケージを単体にすると比較的軽快に動作した。実行環境のJAVAのバージョンの指定やJavaFXのユーザーライブラリーの指定などは、新しいバージョンに移行するにつれて設定が変わってくるかもしれないが、ともかくプログラムの基本的なクラス構造の組み合わせをパソコンのローカル環境で再現するにはいい機会だった。プログラムを実行するための入れ物としてもパッケージやクラスの構造から目的にあったプログラムを派生させていこうと考えている。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です