ゴミ出し特別強制廃棄号 推理篇


 ところで皆さん、少年ジャンプのマンガをどう思いますか?
 突然どう、といわれても、と思うかもしれませんが、最近私の周りには、ジャンプは読むマンガが少なくなったと嘆く人であふれ返っています。で、そうかそうか、もう少年誌は卒業したのか、と思いながら話を聞いていると、そういう彼らのほとんどが、マガジンやサンデーの方が面白い、というのです。
 私は、マガジンという雑誌には自由奔放さを感じます。今でこそ私にとって読むマンガは増えましたが、もともと私はマガジンのその自由奔放さがどうしても好きにはなれませんでした。
 どういうわけか、特にヤンキーもの、学園ものに多く見られる傾向なのですが、コマを隔ててキャラクターたちが、どっちを向いて、誰の顔を見てしゃべっているのかわからない、そんな中途半端な描写のマンガが多いように思えるのです。一時期一世を風靡した、卓とか、ビーバップ(ってマガジンだっけ?まぁいいや)とか、特にそんな感じがして、読みにくかった印象しか残っていません。
 反面、ジャンプのマンガは、ストーリーやギャグの方向性、そういった部分にこそ個性は感じつつも、コマ割やキャラの配置には厳しいガイドラインが存在するように感じます(実際存在するのでしょう)。だから比較的、どのマンガも安心して読めるんです(もちろんつまらないマンガも普通につまらないと感じることが出来る)。反面、フィーリングだけで読み飛ばしてしまう人には、どうしても「似たようなマンガばかり」という印象を与えてしまっているのではないでしょうか。

 別にジャンプをべた誉めする訳ではないのですが、編集の違いで作風も変わってくるものなのだとしたら、それらを行き来する作家たちの苦労というのは並たいていのものではないんじゃないのかなぁとか思ったりすると、仕事でマンガや文章書いている人間がつくづく哀れに思えてしまったりするのです。


ゴミ出しindexに戻る

最初のページに戻る

まるのみに戻る



◎そんな訳で、サラリーマンという仕事を選んだ私ですが(そう繋ぐか^_^;。こうして近況をネタにして文章書いて公表していられるのも、この日本が平和であることと某社がパソコンなんて難儀なものを普及させてくれたおかげなのでしょう。◎ネットがもっともっと、もう一般とも言えないくらい民間の奥深くにまで浸透して、誰もがそれまで対価を支払うことで一方的に与えられてきた流行の価値しかない商品としての作品に搾取されつづける時代から逸脱できる日を心待ちに願うばかりの毎日なのです。◎さて、近況なのです。とりあえず、私が今の仕事についてからの経歴でも、書く事にしましょうか。◎5月下旬、東京事業所配属。それまでの約1ヵ月半は研修で、主にC++言語を学んでいました。このとき講義の後半から講師を勤めた方は、今はミレニアム・デジタルという会社の社長さんをやっていらっしゃるのですがこういうページを作っていらっしゃる会社です、そのうち観光案内にも掲載するつもり)、とても尊敬できる方でした。まさにSEの鏡のような方で、本当に勉強になったと今でもつくづく感じております。◎で、私が配属されたグループは第2技術部第6グループというところで、技術部は第1と第2、各部署ごとに6グループずつあると言えばそれがいかに隅っこな感じのグループであるかが大体お察しいただけるでしょう(笑)。◎配属になって最初に配置されたプロジェクト(この会社は基本的に、客からもらってきた仕事ならどんな規模のものでもプロジェクトという言い方をします。派遣は別)は、郵政省の文書決済システムでサーバーが吐き出すマクロを改定するというものでした。◎zolarという、SQLサーバーを扱うWebサーバー(インターナショナル・システム・リサーチ社による開発…くわしくはこちらのためのマクロで、HTMLと組み合わせて作るのですが、フォームからの入力を検証するのにJava Scriptを使用するので、まずはそこら辺の参考書をさらってJava ScriptとSQLとzolarマクロを習得するところから入りました。◎完璧に習得する必要はなかったのでそれらの自己啓発および調査は確か1週間半ぐらいで切り上がったと思います。◎で、最初に渡された仕事。それは、既に開発が完了しているzolarマクロの、プログラム設計書を起こすという作業でした。◎仕事を提供している親元の企業でそういった元になる文書というのは一切作られていなかったため、外部仕様だけで改定のためのコーディングを始めないことにはどうしようもなかったのです。しかし文書がなければ納品が出来ない。◎渡されたフォーマットは、どういう道筋で文書を起こせばよいかといった詳細なレイアウトが一切なく、作り始めの人間が自分流でレイアウトを起こさなければなりませんでした(明確な指示としては、シーケンスがわかるようにしてくれ、という一言のみ)。私のレイアウトセンスに任された訳ですね(^_^;)。ある意味重大な仕事のようで責任も大きく、またある意味いろんな事情が絡み合って押し付けられた尻拭いのようでもあり(^_^;)。◎しかし今思えば、今日この日まで任された仕事の中でこれほど難しい仕事はなかったのではないかとも思います。◎何故か。マクロ言語というのは基本的に手続き型言語のスタイルを取るので(BASICみたいな)、どうしても見た目の悪いうどんのようなプログラムになってしまいがちなのです。◎しかもこのマクロ言語、変数の扱いも少々ややこしくて、1つのソース内でしか使えない自動変数のほかに、CGIにGETで転送するのと同じ方法(urlの後ろに?マークをつけてずらずらと記述する方法。検索エンジンはほとんどこれ)で送られてきた値を受け取って使えたり、クッキー(ブラウザの機能、掲示板で個人情報を保存してくれたりする)を使ってグローバル変数のように出来たりするし、しかもその上随所にSQL文を埋め込んでデータを取り出したり書き込んだり出来るので(しかも取り出しの場合、複数件抽出できるときはその部分でループになる)、多機能ゆえに非常にややこしく、これを解析するのは並たいていの労力では済みませんでした(;_;)/。◎処理の流れを紙に起こし、それをさらに眺めながら、処理の意味を考え把握し、そしてその意味の通った説明をWordに起こす。次第に画面に散らばる活字を眺めながら紙に起こすのも辛くなり、大量のソースをどんくさレーザープリンタで印刷しまくって作業したりもしました(@▽@;)。◎結局その仕事は納期を2、3日控える形で順調に必要な部分を終えることが出来たようで、内容はともかくとしても、最初に与えられた仕事としては、まぁ良い出だしを迎えることはできたのであります。◎さて、プロジェクト自体は終わった訳ではなくて、同じ客先から次の用件が来るまで一団は開店休業状態に突入します。それが確か6月の終わりごろのお話。◎以前ここで書きまくった飯田橋での地獄の1週間が到来したのが7月下旬なので、それまで約1ヶ月近く、仕事のない状態が続いていたのです。◎PC制作コンテストというのがあって、そちらの作業に充てるという手もあったのですが、周囲で金になる仕事をしている人たちの中で金にならない仕事をする気にはどうしてもなれず、肩身の狭い思いをしつつも私は一人でひっそりとJavaの勉強をしていました。◎Javaは面白い言語ではあると思います。JavaはIDE(GUI操作でGUI部分を設計しコード化するエディター、Visual StudioやBorland C++ Builderみたいなやつ)も多数販売されているが(フリーのやつもある)、そういうのを使わなくても手軽にGUIがコーディングできてしまう充実したパッケージライブラリはとてもよく出来ていると思うし、セキュリティーを重視した上での完成されたオブジェクト指向は開発者の設計思想がいかに研ぎ澄まされているかを感じずにはいられない。本当に良くできた言語だと思う。◎もっとも、バーチャルマシン上でしか動かない仮想コードに魅入られているようでは、SEとしては大成できてもクリエーターとしては何も出来なさそうな気もするが。◎とまぁ技術オタな言語論はこのぐらいにしておく事にして(...sigh)、忘れもしない7月21日の金曜日、課長の口から突然言い渡される出向命令が、平穏な日々をがらりと崩してくれたわけだ。◎飯田橋での1週間7月遅刻号に克明に記されているのでそちらを参照願いたい。ここでは簡潔に仕事の概要だけ書いておこう。とある大手一流企業グループの会計システムを作るという一大プロジェクトがあり、そのシステムのクライアント側で操作するメニュー画面の一部のUI設計をするというプロジェクトで、渡された作業内容としては、納期寸前ながらにしてまともな文書が何一つ出来上がっていない(そう、何一つ)彼らのお手伝いをしてきなさい、というもの。◎今にしてみれば私一人が行ったところで本当にどうにかなるものだったのか? とか思ってしまうのですが、向こうにいたメンバーは結構私の働き振りを評価してくださっていたようなので、まぁいちおう意味がないということもなかったのかなぁなどと思ってもみたり。◎さて、飯田橋から戻ってくると、もともと配置されていたzolarのプロジェクトがやっと再び動き出したので、それから夏休みまでの1週間は普通に仕事していた、という感じの日々でした。といっても、zolarのプロジェクトの方は客先とうまく折り合いがつかない様子で、十分な予算を得ることが出来ず、従って私はもう一つ別のプロジェクトの方を優先するように、という微妙な位置付けにおかれました。◎で、早速その別のプロジェクトの方から作業が渡されたので、とりあえずzolarの方はサスペンドすることにして(以後、永久にサスペンドされる運命となるのだが)、しばらくそちらの作業の方に取り掛かることになります。◎渡された作業とは、NTのイベントログにメッセージを吐き出す方法を調査すること。とある銀行のATMシステムで発生する障害を監視するための簡易的なサービス(UNIXで言う所のデーモン、OS起動時に裏で常に動作するプログラムで、システムの監視をする類のものが多い)を開発する仕事で、障害監視クライアントより送られてくるメッセージを受け取って、それをイベントログに吐き出すというもの。とりあえずイベントログのWin APIからの扱いが良くわからないから調べて欲しい、ということだった。◎技術調査というのはなかなか楽しい仕事だ。とりあえず私はMSVC++に付属のバージョンのMSDNライブラリを参照し、ターゲットとなるAPIの検索と、英語マニュアルの解読にいそしんだ。Webからも情報を検索し(特にここは非常に参考になりました)、そしてそれらの情報を元に実際にコマンド上で動作する簡単なサンプルプログラムを作って実際に動かしてみたりした(インストールするマシン側でレジストリの設定などもしなければならず、調べれば調べるほどNTの面倒くささを思い知った)。最終的には外部ファイルからメッセージを拾ってイベントログに出力できないといけないので、それが出来ることを証明するために任意の文字列を入力してそれをイベントログに吐き出すダイアログボックスを作成し、最後にそれのプログラム仕様と技術情報をまとめたレポートを作成して夏休みを迎えた。◎思うのだが、もし全社的にそれまで仕事として扱ってきた技術情報を一元管理し自由に参照できるサーバーなんてものがあれば、こういった金にならない作業は極力減らせるのではないだろうか。非常にもったいない話だ。◎さて、飯田橋での仕事の疲れも残っており、夏休みの10日間は睡眠時間に飲み込まれるような形であっという間に過ぎ去ってしまった。楽器を買いに行ったりとかもあったからねぇ。◎で、夏休みから戻ってくると、障害監視サーバーの方の他のメンバーは交代で夏休みに入っていた。そして私の机に、UNIXでネットワークを構築するためのどでかい参考書と、障害監視サービスプログラムの内部設計書、それからコーディングを行う際のレイアウトなどについて記述されたコーディング規約と、そして1枚の書き置きがおいてあった。◎その参考書を参考に、仕様書に基づいて障害監視サービスモジュールを作っておいてください。外部仕様書は共有フォルダーにおいてあるのでそれも参照してください。私は一週間夏休みを取らせて頂きます。その間に作成しておいてください。以上。◎さて困った。私はネットワークを扱うプログラムなど書いたことがない。そして今ここに置いてあるのはUNIXでそれを実現するための参考書だ。作るのはNTのサービスプログラム。移植性のある技術である保証などどこにもない。◎しかしとりあえずやってみるより他はない。とりあえずMSDNライブラリを開く(またかよ…)。幸い、UNIXでソケットを扱うための関数のほとんどはWinSock2というライブラリに互換性の高いものが用意されている。ファイルディスクリプタという概念はWindowsにはないが(UNIXはこの概念のおかげでネットワークでのデータ送受信もファイルと同一のインターフェースで実現できる)、もともとその代わりになる関数は用意されているし、とりあえず接続と送受信のプロセスはそのまま移植可能だ。◎そこで私はWinSock2ライブラリをプロジェクトにインクルードし、参考書にあったサンプルプログラムをそのまま入力してみた。しかしコンパイラに通らない。何故か。そういえば、Windowsにはプロセスを2つに切り分ける関数forkがないではないか!!◎通常、ネットワークを扱うプログラムでは、接続や送受信の手続きをする間、プロセスは待ち状態に入る。もし何らかの障害が発生して、接続した相手のコンピュータから反応がなければ、このプロセスは待ち状態のまま復帰できず、システム自体が固まってしまう。◎そこでUNIXではforkを使ってプロセスを二手に分け、一方では通常の処理を行い、もう一方でselect関数を使ってネットワークの接続状態を待機し監視、準備が整ったら送受信を行うというやり方を取るのが常套手段となっている。◎Windowsでこれを実現するとなると、スレッド関数を用意してそこでselectを使用する方法はある。が、面倒くさい。もっと手軽に済む方法はないものか。と、Webを検索して回ると、WinSock2向けのサンプルプログラムというのにぶち当たる。◎なんとそこにはforkでプロセスを二分しないだけのサンプルソースが堂々と公開されていた。確かにプロセスは分けなくても、これで一応送受信を行うことは可能ではある。私は魔が差したようにこの手抜きな方法でプログラムをでっち上げてしまうことにした。◎さて、メンバーが夏休みから戻ってきて、そのさらに翌日ぐらいにプログラムはほぼ完成した。実際に実演して見せる。うん。動くねぇ。まぁ動きゃあいいよ。なんてノリで、それじゃあテストの方に取り掛かってくれる? と指示されたとき、横から別のシマの上司が顔を覗かせる。◎その人は私の作ったソースをさんっざんに罵って罵りまくった挙げ句、自分はさっさとコートを着て帰宅してしまった。無理もない。WinNTで監視サーバーといえるようなものにするならば、接続の手続きのたびに応答しないプロセスとなり、満足に終了させることもできないようなものに商品価値などないのだ。◎でもまぁそこら辺の改良はそのうちやることにしてサスペンドして、とりあえずこいつをサービスに登録させてみよう、ということになり、NTのサービスに登録させる作業に移ろうとした。が、今度はサービスに登録が出来ない。◎誤解のないようにまず断っておくが、この仕事に関わっていたメンバーは基本的にNTでの仕事などしたことがなく、UNIXでの知識をそのままNTで活用しようとしていた。だからNTのサービスにもUNIXのデーモンと同じようにプログラムが登録できるものだと思っていたらしい。◎サービスに登録するプログラムを作成するにはサービスプログラムのコーディングガイドラインにのっとった方法でプログラムを構築せねばならない。具体的には専用のAPI関数によって呼び出されるサービスプロセス関数を設定し、サービスに登録するということは、サービスマネージャによって起動されたプログラムがサービスプロセスをサービスコントロールマネージャに登録するということなのだ(なんてややこしい)。◎で、さすがにここら辺の内容ともなるとMSDNやWebで得られる情報には限度があり、しかも事業所内で該当する参考書が見つからず、無碍に私は参考書の購入を余儀なくされる。とりあえずそのとき購入したのがSOFTBANK刊の「WindowsNT ServiceProgramming」という参考書。4,800円。当然自腹。◎しかしその参考書を眺めるうち、どうやらどうあがいても現状のWinSock2手抜きコーディングでは作れないことが判明する。何故か。サービスコントロールマネージャ(以下、SCM)は、ユーザーによる開始、および停止命令を該当するサービスプロセスに送る。サービスプロセスはその信号が送られることを常に監視していなければならない。◎しかし現状のコーディングでは、処理はネットワークの送受信処理に行ったまま帰ってこない。つまりSCMによる停止信号を受け取ることが出来ず、永久に停止できないサービスプロセスになってしまうのである。◎結局本来WinSock2で推奨されている非同期ソケットという方法を採用せねばならず、それを実現するための十分な情報は、やはりMSDNやWebからでは得られない。敢え無く私はさらにもう1冊参考書を購入することを余儀なくされるわけである(;_;)/。◎2冊目に購入した参考書はやはりSOFTBANK刊の「WinSock2.0プログラミング」というもので、価格は5,800円。さっきのよりさらに1,000円高いが、それでもこちらは趣味の範囲で応用が利く内容であるだけにまだ救いがある。◎さて、そろそろ長くなってきたかな。ここまでかなり技術的知識を必要とするネタばかりを連ねてきたが、そんなのわからない読者にはきっと退屈を感じさせてしまっていることだろう。が、私がこの仕事でどれだけの浪費があったのか、そしてどれくらい苦労したのかぐらいは伝わったはずだ。◎事件は突然起こった。忘れもしない、8月30日の水曜日。私は課長のすぐ近くの席にいるので、彼の電話口での話し声も聞こえてくるのだ。私はその日も頭を抱えながら、サービスとWinSock2の融合したものを必死で作っていると、課長は電話口で突然、こう漏らした。◎「あのー、うちに村山というものがおりますんで。ええ、はい。彼に代わりにそちらに行ってもらいますんで。」◎…青天の霹靂とはまさにこのことである(;_;)/。あまりに突然すぎる展開に私は思わず「ええっ!」と声をあげ(実際本当に声をあげてしまいました…)、そして真っ先に頭に思い浮かんだのは「飯田橋再来」という言葉でした。◎結局その日まで作っていたプログラムは永久にサスペンド状態となりました(後にこのプロジェクトは客先との折衝によりお流れとなり、私の作ったプログラムも捨てられる運命となる…合掌T^Tqヲレがつぎ込んだ時間と参考書代を返せーッ!!(怒)(怒)(怒)◎まぁまだそのときは一応別の人に引き継がないといけないということで、事件のあったその日とその翌日の午前中までの時間を使って作ったプログラムの引き継ぎ資料を作成し、そのまま私と課長とリーダークラスのW氏(つい先日主任に昇進)は一路、水道橋へと向かった。◎8月31日午後、水道橋(正確には駅から15分ほど歩いたところで、地名としては小石川が適当、最寄り駅はむしろ都営三田線春日駅だ)の客先にて前任者と合流、引き継ぎのため、彼の退屈で眠たくなるような説明に延々と遅くまで耳を傾ける。◎その日、引き継ぎ作業の前に顔合わせがあったのだが、その場において総合テストを翌週から開始してもらうため、テスト仕様書と環境作りを今週いっぱいで必ず完了して欲しい、この予定は絶対動かせないからと念を押されていたが、翌日9月1日の段になってそれがどれほど難しいことであるかがようやく明らかになった。◎前任者は総合テストのための準備を何一つ行っていなかったのである。テスト要求項目は提示されていたのだから、あんな無駄話をたらたら半日聞かされるくらいならテスト項目の洗い出しでも始めていればよかった!!◎とりあえず前任者が手がけていた部分のソースコードを引っ張り出し、テスト項目に反映すべく眺め始めてみる。Cで記述したとは思えない、うどんのようなプログラム。1つの関数だけで実に1,500ステップ以上あるのだ。これでは客先が私に対して厳しくあたってくるのも分かる気がするというもの。◎結局午前中はそのプログラムの解析だけで終わってしまい、項目の洗い出しに少し入り始めたところで昼休みのチャイムは鳴った。◎午後になって、それまで所用で来れなかったW氏と合流、引き継ぎ状況ミーティングということで再びレビューに参加。とりあえずExcelで表を作り、項目の洗い出しをして表にまとめています、ということを報告すると、前任者のコードは今は見なくてもいいし単体テストとかぶるような項目も作る必要ないと指摘。とにかくやたらと厳しい(^_^;)。◎結局翌9月2日の土曜日に会社に仕事を持ち込み、項目の洗い出しと文書作りをW氏と共にやってしまいました。途中呼びつけていた前任者も小一時間手伝っていきましたが、くその役にも立ちませんでした。◎結局次の週は毎日残業して何とかテストを完了、その次の週で前任者が中途半端にしていたテスト結果報告書の総論(と、いうのをここでは作っているらしい)と、彼が作っていたモジュールの内部仕様書を完成させ(っていうか、完成度を上げる作業。これが一番辛かった)、ここまで来てやっと私の仕事が少しずつ評価されるようになってきました。◎その後もメニューのUI実装などいろいろな仕事を何とか順調にこなしていっているという状態なのです。こうしてやっと今に至るわけなのですが。◎自分がしっかりがんばれば、どんな経緯があってにらまれるような境遇からスタートしても、いつか認めてもらえる日が来るということを、ここで学んだような気がします(...sigh)。◎さて、もともと今やっている仕事は、代わりの人間が見つかるまでの繋ぎ、ということで、1ヶ月だけの契約という予定だったのです。◎が、協力会社や子会社にこの仕事を任せられてしかもローコストな人材というのがなかなか見つからず(本当は私が行かされる前から目星をつけていた人材はいたらしいのですが、フラれちゃったらしいんです^_^;、いても私と同程度の人材であるために、「それならもう村山さんで継続にして下さい、キリの悪いところで引き継ぎというのはもうごめんですので」と断られてしまい(私としてはとても名誉なことなのではありますが)、やがて契約期間も1ヶ月先延ばし、そしてさらには年末まで、と延ばし攻勢で続いている次第なのであります(^_^;)。◎個人的には今行っているところはなかなかに居心地がよろしくて、しかも本当は私が振り分けられる予定であったはずの火の車となっているプロジェクトから逃れることも出来てありがたい限りなのではありますが。◎基本的にはうちの会社の人間が派遣の仕事をするということはない、というのは、子会社の人間を使った方が、私のようなたとえ新人でも自社の人間を使うよりもずっと経費が安く済むかららしいんです(こればっかりは給料とかは関係ない、所属する会社の体制の問題なのだ)。◎そんなわけで課長の手腕次第では、私のような被害者も出てきてしまうということなんですねー(笑)。まぁ私自身は被害者とはこれっぽっちも思ってはいませんが。◎それにしても。どうしておいらに回ってくる仕事って、こう、他人の尻拭い的な仕事ばっかりなんだろう(T^T)q

◎以上、仕事がらみの近況報告なのでした。もうしばらくは、仕事の話はしたくないですね(笑)。◎さて、来週のゴミ出しはついに解決篇(笑)。まだ紹介していない、買ってきたCDを一挙紹介!ということで行きたいと思います。ほとんどは音楽CDなのですが、若干1枚ほどゲームが混じっていたような気もしますです。乞うご期待!◎あ、でも先日のM3で購入したネタについては来週ではなくてそれ以降のゴミ出しで紹介したいと思います。大本命は買いそびれちゃったし。。。(T^T)q◎それではまた。