Total : 1,951,096
本日 : 293 / 昨日 : 70
System time 0.015625
マスターの独り言
<< 失敗(^-^; |
- 遺言
-
【2006/03/20(月)】Gojuを経営していく中で、私が常々気をつけている事があります。簡単に言えばいざという時の為に備えをしておくという事なのですが、この場合は備蓄云々とかの物質的なものではなく、『技術、能力』といった人にかかわるものです。
大きな組織であれば何かと人材的な融通が利くでしょうけど、規模が小さければ小さいほど個人に掛かる比重は大きくなります。仮に、中心的な役割を担う特定個人になにかがあった場合、規模の小さなお店では営業そのものが出来なくなる可能性があります。
Gojuの規模は小さいとは言え、それでもスタッフに頼らなければやっていくことが出来ない程度の大きさはあります。私や妻以外でもやれるよう、更に作り手の技術に大きく左右されないように、料理等に関してはレシピをきっちり作っていますが、当然の事ながらそれなりの訓練は必要となります。
お店にとっての第一義は営業することです。一人の人間が来れなくなっただけで営業出来なくなるようでは困ります。そこで、負担が個人に集中せずに分散するよう、また、互いに代わりが効くように組織を組み立てる必要が生じます。Gojuではホールのみ、厨房のみというような分け方はせず、個人により比重は変わりますが、あるレベルでどちらもこなせる様にプログラムを組んでいます。特定の作業のみに抜きん出たスペシャリストよりも、『互い』に融通し補い合い、ある程度万能に使えるスタッフの方が私にとっては好都合なわけです。
まあ、そうした私の考えを理解していなかったというか、自分の都合の良いように解釈していた者がいたお陰で結構な損失を出すほどのえらい目に遭いましたが、責任は私にあるので仕方がないですね・・・。
組織として一時期後退してしまったこともありますが、現時点では特定の個人に頼らざるを得ないものがまだまだあります。例えば、現在お店に出しているお菓子の半数は妻にしか出来ない(技術的には私もできますが)もので、事務系の仕事に至っては、殆ど彼女にしか分らないような状態です。いざとなった時の事を考えると、危機感すら感じます。
普通に考えても経営上私より余程重要な人物なので、仮に「マスターとF(妻)のどちらかがGojuを辞めて別の仕事につかなければならないんだけど、どちらに残って欲しい?」とスタッフに尋ねれば、全員が迷うことなく「Fさんが残って下さい」と答えることでしょう。
もっとも、私としては
「あ、マスター、そういう仕事は私達がやりますから。マスターは(邪魔だから)信州に山菜採りにでも行ったらどうですか? 珍しい山菜を採ってきたら、皆きっと喜びますよー!!
お店のことは私達でなんとかしますから、半年間くらい行ったままでも大丈夫です(^-^)」
みたいなのがある意味理想なのでむしろ歓迎なのですが、現時点では大工仕事などは抜きにしても私にしか出来ないものも有ります。中でも重要なものとしては珈琲の焙煎とネット関連となります。
珈琲の焙煎に関してはいざとなった場合、信州の友人が経営する自家焙煎珈琲屋に託すつもりでいたので今まで後継者を育てるということはしていなかったのですが、その肝心の友人がお店を閉めてしまったようなので別の手段を考えなければなりません。
もう一つのネット関連についてはやれそうなスタッフがいたらお願いしたいところですが、技術的にも私個人に依存する度合いが強い為、閉鎖せざるを得ないと考えています。まあ、閉鎖といってもある意味貴重な(?)財産ではあるので、Webサイトはそのままに、掲示板や通信販売などのシステムを止めるということですが。メールに関してはどうしようもないですね。
通信販売のシステムはパソコンが壊れてオーダーを受理できない場合などに備えてWebから簡単に停止できるように作ったのですが、もし私が急死するなどして指示する暇さえもなかった時はその操作すら出来なくなります。
通信販売は予め操作を教えておくとかすれば何とかなるとしても、掲示板は野放しになってしまうので恐らくスパムだらけになるでしょう。
そこで、そうした危惧に対処できるよう、私が任意の期間サイトにアクセスしなければ通信販売や掲示板の書き込みなどを自動的に停止させるシステムを作りました。前々から考えていたのですが、ようやくと言った所で。
って、済みません。ここまでが前書きです(^-^;
『現在サイトを管理しているのは私だけなので、万が一私に何かあった際に通信販売などを自動的に止めるシステムを作りました』
だけで済んじゃいますね(;^_^A アセアセ・・・
題名に期待された方(?)、ご期待に添えなくてゴメンナサイ(笑)
本気で心配された方、誠に申し訳ございません。題名が『遺書』ではないということでお許し下さい<(_ _)>
さて、『Safe』と名づけたこのシステム、プログラム的には非常に単純なもので汎用性を持たせています。基本的には、各種掲示板などの既存のcgiに利用者がアクセスした際に呼び出すサブルーチンと、管理者権限でアクセスした際に呼び出すサブルーチンを追加するだけです(下記はその例)。$INI{'safe'} = 'safe.plへの相対パス';
# セーフモード設定
if(-e $INI{'safe'} && $INI{'safe'} ne ''){
require ($INI{'safe'});
}else{
$INI{'safe'} = '';
}
# 一般利用時
if( $INI{'safe'} ){
$flag = &safe::check($INI{'safe'});
}
# $flagが無効値ならOK。任意の期間を過ぎている場合、任意の言葉がセット
if($flag){
# 適当に処理
# 例
print "content-type〜〜〜\n\n";
〜〜〜
print $flag;
〜〜〜
}
# 管理者がアクセス
if( $INI{'safe'} ){
&safe::set($INI{'safe'});
}
現在、一つの『safe.cgi(実際にはsafe.pl)』で掲示板、通信販売、このGlog及びカウンタースロットを管理しています。私がこのどれかに管理者権限でアクセスすれば意識することなしに自動的に期間が更新されます。
もし、私が任意の期間アクセスしなかった場合、任意のメッセージが表示され、掲示板とGlogは書き込みを停止、通信販売は全停止、カウンタースロットは当たり無効となり、同時に『システム停止中』というメールが私に送られてくることになっています。
構造的には単純なのですが、問題だったのは任意の期間を判定する部分でした。
Perlのsleep()という関数を用いて期間判定専用のプロセス(※)を実行させ、例えば1時間置きにチェックするというような方法を考えたのですが、サーバーのシステムは負荷を軽減する為に長時間実行しているプロセスを強制的に停止する事があるので止めにしました。※プロセスというのはcgiプログラムの実行単位を示します。例えば、AさんとBさんがこのGlogにアクセスした際、glog.cgiは一つですが、サーバー上ではAさんのプロセスとBさんのプロセスという風に2つの別のプログラムとして実行されます
次に考えたのが同じくsleep()関数を使うもので、ユーザーがアクセスした際、期間チェックプロセスが強制停止を受けて稼動していなければ新たに稼動させるという方法です。
これだと上手く行くことは行くのですが、常にプロセスが実行されているというのはサーバー会社にとって気分の良いものではないだろうと思い、ボツにしました。
で、結局の所、利用者がアクセスした際に管理者が最後にアクセスしてからの期間を調べ、任意の期間が過ぎていたらその旨を表示し、管理者に通知メールを出していなければそのプロセスが出すという、一番単純な方法に落ち着きました。
任意の期間を過ぎていても誰もアクセスしなければメールは送信されませんが、まあ、一日中誰もアクセスしないことはありえませんから、通知メールが極端に遅くなることはないということで。
まずはローカル(パソコン内)でテストをし正常に動くことを確認。その後、サーバーにアップしてGlogと掲示板を使ってテストを行いました。結果は満足のいくもので、十分に使えそうです。
そこで気をよくして通信販売とカウンタースロットにも機能を追加しサーバーにアップしたのですが、ここで問題が起きてしまいました。
通信販売の商品が表示されなくなってしまったのです。これには焦りました。
通信販売のシステムは個人情報も扱い金銭も絡みますので、テストはいつも慎重に行っています。ローカル、サーバー共にテスト専用の環境を作り、
1:「ローカルのテストフォルダ」でテスト。
↓
2:「サーバーのテストフォルダ」へアップしてテスト。
を経て、
3:「ローカルのテストフォルダ」から「ローカルのメインフォルダ」へBunBackupというソフトを使ってデータ以外をコピー。
4:「サーバーのメインフォルダ」から「ローカルのメインフォルダ」へデータをダウンロード。
↓
5:「ローカルのメインフォルダ」から「サーバーのメインフォルダ」へデータ以外をアップ。
という形をとっています。
今回は直接機能に関係しない部分の追加だった為、2:を端折ってしまったのですが、これがまずかったのです。
実は通信販売のデータをより一層保護する為に商品情報や個人情報、設定情報などのデータ保存先をローカルのテスト版で分割変更した後、忙しくてそのままだったのをすっかり忘れていたのが原因でした(;^_^A アセアセ・・・
幸いデータ構造自体には変更を加えていなかったので「ローカルにフォルダ作成」→「データダウンロード」→「サーバーにフォルダ作成」→「改めてデータアップロード」という処理をするだけで済みましたが、データーを一々確認しつつの作業でしたので結構大変でした。それにしても、無事で良かった(^-^;
さて、題名の『遺言』ですが、このシステムをテストしていて、
「もしかしたら、このシステムは遺言状の配布としても使えるかも・・・」
と思ったのです。まあ、遺言状というのは大げさですが。
現状では管理者が任意の期間アクセスしないと催促のメールを1回送るだけですが、もし、本当に管理者が死亡してしまった場合など、これを組み込んだシステムは
「○○日を最後に、○○以上管理者がアクセスしていません。管理者の身に何かが起きたか、ネットに接続できる環境にないと思われます。(あるいは単に忘れているだけかもしれません)・・・云々・・・」
というメッセージを延々と表示することになります。
そこで、更に任意の期間が経過した場合、管理者が死亡したものとして任意の人物にサーバーやcgiプログラムのパスワードを記入した処理依頼のメールを送るようにすれば万全ではないかと。こうした機能を追加するのは簡単に出来ますし。
で、更にこれを発展させ、私個人だけではなく他の方も利用できるようにすれば面白い(?)かな、と。名づけて『天使の伝言』(^-^;
ただ、実際にやるとしたら『遺言』を他人に見られないようにする必要があるわけで、その為にはテキスト文書をZIPなりLZHなり、パスワード付きのアーカイブにしてアップロードしてもらい、パスワードはメールで送るために暗号化して・・・、と結構ややこしくなりそうです。
下手すると単なるファイルの配信用として悪用される可能性も有りますし。
運営的にも考慮する部分が出てきます。仮にサーバーが停止して送られるはずのものが送られなかったり、データが消えてしまったりとかした場合にどうするかなど。
「死人に口無し」とは言いますけど、さすがにこれは人道的にまずいですから。恨みを買って化けて出られたら嫌ですし...。
ま、前者はシステム的に対処できますし、後者はミラーでも作っておけばなんとかなるでしょうから、むしろ運営ポリシーの問題の方が重要かも知れません。
もしかしたら既にこうしたシステムが存在するのかも知れませんけど、処々の問題が解決できそうで、尚且つ暇があったら作ってみようかな・・・
・・・っと思ったけど、そもそも利用したい人なんていないか(笑)最終更新日:2006/03/20(月) 05:10:28
Posted by マスター
△失敗(^-^;△
posted by マスター
posted by じゅんじゅん
posted by マスター
posted by じゅんじゅん
posted by jp3brx