2018-06-22-01-サーバープロセス化する? - project-enigma

2018-06-22-01-サーバープロセス化する?

>> Site top >> weblog >> 月別アーカイブ >> 2018年06月のlog >> 2018-06-22-01-サーバープロセス化する?

最終更新日付:2018/06/22 23:00:00


サーバープロセス化する?

2018 年 06 月 22 日

steam に関して、これはずっと気になっていたことだ。手っ取り早くオートメーションを導入したくて guile や ECL を導入したものの、guile(scheme) は未だに手に馴染まず、ECL は解決できないクラッシュで蓋をしてしまっている。だったら、steam 自体をサーバープロセスにして、任意のクライアントから利用できるようにしてしまった方がすっきりするんじゃないだろうか、と考えるわけだ。

 

これはまぁ、なんていうか、「言うのは簡単なんだけど」の典型だよな。たしかに、ソケット通信でサーバプロセスとクライアントプロセスがやりとりをするアプリケーションは書いたことがある。だからできることはわかっているし、かなり具体的に実現方法をイメージすることもできる。しかし、現状で一枚岩になってしまっている steam をサーバとクライアントに分けるのは相当な手数のかかるお仕事だろう。控え目に言っても、すごく面倒臭い。

steam は元々、Palm OS で便利だった PIM 機能を自分の作業環境で実現したくて作成し始めたものだ。Schedule, Task, Expense, Address & Memo で、STEAM だな。で、目下のところ自分の作業環境と言えば Emacs エディタなので、steam は Emacs 上で使用するのが便利になるように発展してきた。とはいっても、Emacs にロックインするという選択肢は取りたくなかったので、結局 steam は「PIM 機能に特化した特殊シェル」みたいなモノになった。つまり、Emacs の shell モード上で steam を起動し、シェルを使う感覚でPIM データを扱う。データの編集は emacsclient 経由で連携して Emacs で行なう‥‥‥と。

そういうワケなので、現状では特殊なシェルのように見える steam も、そうでなければならないというワケではない。コアの部分だけをサーバープロセスとして抜き出して、それと通信するクライアント機能をいくつか作ればもっと色々なことに使えるようになると思っている。

実際、steam は今年に入ってから「個人事業主としての帳簿」をつける作業にも使われるようになった。expense データを使っているだけで、steam のコア機能には基本的に手を入れていない。とはいえ、複式簿記を全て手作業で管理するなんて楽しい作業じゃないから、steam のスクリプト機能をを利用して、足りないところは発展させた‥‥‥というか、発展させているうちに行き詰まったんだな。そして guile 拡張とかに手を出して現在に至る。

そんなこんなで、サーバプロセス化をやりたいと思っている。思っているが、その一方で「早まるなよー」という内なる声も聞こえてくる。それは、クライアント側の開発負荷が非常に大きくなりそうだからだ。ある言語や環境から接続したければ、その言語向けの通信コンポーネントを自作する必要が出てくる。環境によってはかなり面倒かもしれない。

たしかに、サーバプロセスを分離してやれば、GUI アプリケーションへの道も開けるし、インターネット越しに利用することもできるだろう。しかし、自分はそれをやりたいだろうか? あるいは、実際にやるだろうか? その質問に対しては、正直なところ相反する感情があるな。作ること自体は楽しいだろうと思う。その意味ではやりたい。しかし、実際にどれくらい活用するのかと言われると弱い。そもそも steam は自分が情報管理をするために作成し始めたものであり、当初の目論見をすでに大きく越えている。steam そのものが目的になってしまうのはどうかと思いつつ、開発も2年半近くになっている。さぁどうするんだ自分。

 

コメント

このページにコメントする

 

このページのタグ

Page tag : steam

 

 


Copyright(C) 2005-2018 project-enigma.
Generated by CL-PREFAB.