ブログを作る※無料・簡単アフィリ    ブログトップ | 楽天市場
435135 ランダム
mdbファイルを作成 (パソコン・家電)楽天ブログ 【ケータイで見る】 【ログイン】
Fuzyのプログラミング(?)メモ
ホーム 日記 プロフィール オークション 掲示板 ブックマーク お買い物一覧
Fuzyの日記

<< 前のページへ一覧

February 25, 2006 楽天プロフィール Add to Google XML

mdbファイルを作成
[ VBScriptサンプル ]    

じーちゃんAccessのMDBファイルを新規作成するVBScriptサンプルです。

どー考えても、需要は少なそうなのですが、私は必要だったので、一応公開します。

履歴書シリーズの記事でも書いていますが、Accessはとても便利なツールです。しかし、Accessのフォームを使った簡易アプリケーションは、Accessがインストールされているパソコン上でしか動かせません。

1台だけで動かすならまだしも、これが数十台、数百台となってくると、ライセンス料とかインストールの手間が問題になってきます。

そんなわけで、Accessのデータベースファイル(mdbファイル)だけを使い、ユーザーインターフェイス部分は、Visual Basicで作ろう、などと考えたことはないでしょうか? ないですよね…

例えば、SQL Serverが稼動中のWindowsサーバーが1台あり、そのSQL Serverのデータをmdbファイルへ一時的に保存したい。そうしたケースでも、わざわざ別のパソコンを用意してリモート接続したり、サーバーへAccessのインストールをするというのが、困難な場合があります。

というわけで(?)、Accessがインストールされていないパソコン上でも、mdbファイルの新規作成が出来るのかどうか、試してみました。

Option Explicit

Dim objCatalog  '//ADOX.Catalogオブジェクト
Dim strFileName '//AccessのMDBファイル名
Dim strConn     '//OLE接続文字列用

Set objCatalog = CreateObject("ADOX.Catalog")

strFileName = "test.mdb"
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=" & strFileName & ";" & _
          "Jet OLEDB:Engine Type=5;"

objCatalog.Create strConn

Set objCatalog = Nothing

■ソースのダウンロードはこちら
http://shinno.net/sample/CreateMDB.zip
※ダウンロード&展開後、CreateMDB.vbsをダブルクリックして実行すると、同じ場所にtest.mdbというファイルが作成されるはずです。(Windows 2000/XP で動作確認)

はい。意外と簡単に出来ました。

ActiveX Data Object を使われたことのある方なら、すぐに理解できると思います。ただ、普段ADOを使っていても、ADOXはあまり使わないというケースもあるので、そういった一部の方への記事でした…。

意味不明な方、ごめんなさい。



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 26, 2006 22:12:40


February 24, 2006

履歴書には書けないこと~Part07-5~
[ 履歴書には書けないこと ]    

じーちゃん3年勤めた会社を退職することになりました。

勉強会とかスピーチで色々と勉強させて頂いた会社でしたが、結局、3年ほどで辞めることになりました。

単純に仕事がキツイというのも理由の1つでした。20歳の成人の日は、普通に休日出勤していましたし、1週間や2週間、客先のホテルに泊まりこみでシステム導入なんて珍しくもありませんでした。毎日のサービス残業も当たり前

新しいことを覚えているときは、どれほど仕事がキツくても、その新鮮さで耐えられるものです。しかし、逆に仕事に慣れてくると、徐々に苦痛になってきます。

■経歴(?)
01)高校中退
02)半年充電(パソコン通信にハマる)
03)ソフトハウスで初のアルバイト
04)1ヵ月後に同社で正社員
05)半年充電(情報処理試験受験)
06)業務システム開発会社でアルバイト1 2 3
07)半年後に同社で正社員
08)独立1回目
09)派遣社員1回目
10)独立2回目
11)派遣社員2回目
12)派遣社員3回目
13)派遣社員4回目
14)半年充電(大検受験)
15)派遣社員5回目
16)派遣先の会社で正社員
17)独立3回目
18)正社員
19)派遣社員6回目
20)独立4回目
(現在に至る)
世の中の技術はどんどん進歩しているのに、ほとんど毎日同じようなコーディングの繰り返し。時折、後輩なども出来て、新鮮な場面もあるのですが、それも段々と刺激がなくなってきました。

今思えば、たかだか3年で何を贅沢なことを言っているんだという感じなのですが、当時の私にとっては、非常に長い時間に感じられ、一生この仕事を続けるのは嫌だ、と極端に考えてしまったわけですね。

そして、決定的だったのは、同期が1人、退職したことです。ほとんどつられるように、私を含め、同期3人が退職することになりました。

それぞれ思うところあってのことでしょう。私の場合、「新しい技術を学びたい」とかいうのは、所詮言い訳に過ぎません。当時はそう信じて疑っていませんでしたが、今思うと、結局、1つのところに留まるのが不安で不安で仕方がなかったのです。

なぜなら、仕事とは別に新しい技術を独学すれば良いだけの話なのですから。好きなことをやって、好きなことが学べて、しかもプライベートな時間は保証される、そんなことが簡単に出来るのならば、誰も苦労はしないのです。

経歴を読み返してみると、本当に節操なく転職を繰り返しています。単純に、「他の会社はどういう仕組みでやっているんだろう?」とか「うちの会社のやり方は本当にこれであっているのだろうか?」といった気持ちが強くて、転職を繰り返したわけです。雇う側にとっては、たまったものじゃありませんね。

ともかく、上司に相談して、退職したい旨を伝えたところ、やはり止められました。給料に不満があるなら、社長と交渉してやるとまで言ってくださったのには感動しました。たしか、その当時は年収400万円くらいだったと思いますが、別段大きな不満はありませんでした。詳しい内容までは覚えていませんが、「新しい技術を学んでいきたいこと」「それは今の会社では不可能であること」などを伝えて、どうにかこうにか承諾して頂きました。

いざ辞めると決まると、引継ぎ作業です。わずか3年とはいえ、引継ぎ作業はそれほど容易なものではありません。20社以上抱えている顧客については、ほとんど先輩と一緒にまわっていたところなので、意外とスムーズに引き継げましたが、問題はコアライブラリなどの技術的な部分です。

別にソースコード類を隠していたわけでもありませんが、C言語をまともに扱えるのが私一人しかいなかったため、他の開発者にとってはブラックボックス状態でした。幸い、システムが徐々にWindowsへ移行していく中、ほとんどのシステムはVB等で開発されていたため、新しいシステムについては問題ありません。

どちらかといえば、古いMS-DOSのシステムのグラフィック制御、I/O制御部分などが問題となりました。これらをドキュメント化したり、技術の引継ぎをするのに丸1ヶ月は必要でした。

それでも、本当の意味で引き継げているかどうかは微妙なところです。これは今でも思うことですが、常日頃からのドキュメント化作業、知識の共有化は本当に大切なことです。誰か1人に任せっきりにすると、その1人がいなくなった場合、かなりのパニック状態になります。

今現在も個人事業とほとんど変わらない状態なので、これはなかなか改善されていません。どうにかこうにか、自分の技術(本当にたいしたレベルじゃあないのですが…)を引き継いでもらえる人材を確保したいところです。



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 25, 2006 21:28:46

February 23, 2006

履歴書には書けないこと~Part07-4~
[ 履歴書には書けないこと ]    

じーちゃん勉強会は刺激になります。

同期達も次々と実践投入されていったわけですが、それでも同期達との接点がなくなったわけではありません。

上長からの提案で、同期同士で勉強会を開くことになりました。取り決めた内容は次のとおり。

  • 頻度は2週間に1度程度
  • 時間は金曜日の17:00~18:00頃
  • 同期の中からローテーションで講師を決める
  • 講師は必ず資料を作成すること
今思い起こしてみると、この会社はローテーションが好きなのかも知れません。いやいや、好き嫌いではなく、みな平等に、という意識の現われかも知れませんが。

■経歴(?)
01)高校中退
02)半年充電(パソコン通信にハマる)
03)ソフトハウスで初のアルバイト
04)1ヵ月後に同社で正社員
05)半年充電(情報処理試験受験)
06)業務システム開発会社でアルバイト1 2 3
07)半年後に同社で正社員
08)独立1回目
09)派遣社員1回目
10)独立2回目
11)派遣社員2回目
12)派遣社員3回目
13)派遣社員4回目
14)半年充電(大検受験)
15)派遣社員5回目
16)派遣先の会社で正社員
17)独立3回目
18)正社員
19)派遣社員6回目
20)独立4回目
(現在に至る)
この会社では、毎朝朝礼がありました。ラジオ体操まではありませんでしたが、社長のスピーチは必ずありました。

学生だった頃は、校長のスピーチなんて長くて辛いだけでしたが、社長のスピーチは短いし、的確でわかりやすかったので、結構好きでした。それに実は、1日毎のローテーション制で、全社員が順番に朝礼で3分間スピーチをするのが義務だったため、少しでも参考にしようと躍起になって聞いていたのかも知れません。

最初の頃は、全社員の前でスピーチをするなんて、緊張で声が震えそうになりましたが、人間の順応性というのは驚くほど高いです。2~3回目にはもう慣れました。ローテーションの順番はあらかじめわかっているので、大抵は前日にスピーチの内容を考えておきます。

ところが、時折、出張などで順番の人がいなかったりするので、順番繰上げで即席スピーチをすることにもなります。正に寝耳に水状態なので、一瞬パニックになりますが、これが意外と話し方の良い訓練になります。こうして鍛えられたエンジニア達は皆、第一線の営業SEになっていきます。なかなか良くできた仕組みです。

と、話がそれましたが、勉強会についてです。

人によっては、何を当たり前のことを、と思われるかも知れませんが、人にモノを教える立場というのは一番勉強になります。その方面において、教えられる立場の人よりも知識を得なければならないのですから、当然といえば当然ですね。

これを新入社員にやらせる、というのがまたポイントです。まっさらな状態なのに、どうやって講師をするんだ、と思うのは間違いです。新入社員というのは、あくまでその会社に入ったばかりなだけであって、人生はじめたばかりの人じゃないんです。

それまでに経験してきたアルバイトの中でも、システムに関わることがあったかも知れません。まったく別の分野を歩んできたとしても、そこでの経験から学べることがあるはずです。まずはそんなところから始め、徐々に業務に近い分野の講師を出来るように勉強していきます。

ある人は、ホテルマンのアルバイト経験を活かし、ホテルマンとシステムの関わりについて講義しましたし、またある人は、入社間もなく学んだAccessを更に独自に学んで、研修では習得できなかった技術について講義しましたし、そしてまたある人は、入社後はじめて触ったNetWareというOSのインストール方法について、学びたてホヤホヤの知識を披露してくれました。

まあ、私は根っからのプログラマーなので、どうしても技術方面の講義を要求されました。コンピュータの仕組み、なぜ0と1だけで動くのか、メモリとは何か、メモリ不足が発生する原因について、MS-BASICとVisual Basic、そしてVBAの違い、等といった講義をしたと記憶しています。我ながら面白くもない話だったと思います。

書籍を買いあさって学ぶ知識も必要ですが、目で見て、口で話して、耳で聞く、そして仲間と笑い合う。そんな勉強会も貴重で楽しいものです。



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 24, 2006 21:15:52

February 22, 2006

履歴書には書けないこと~Part07-3~
[ 履歴書には書けないこと ]    

じーちゃんプログラマーに求められるもの

新人研修のAccessコースが終わると、新入社員達も次々と実践投入されていきます。

まずは、場慣れすること。お得意様まわりですね。開発者とはいえ、ただプログラミングしていれば良いってワケではありません。1人1人の開発者がプロジェクトを持ち、特定のお客様とマンツーマンで要求仕様を作ることも必要とされます。

正直、プログラミングだけなら、アルバイトでも雇えば良いのです。わざわざ正社員を雇用するのは、システムエンジニアとして、プロジェクト全体を把握する力を持った人間を育成するためです。お客様あっての商売ですから、当然最初は面通しです。

■経歴(?)
01)高校中退
02)半年充電(パソコン通信にハマる)
03)ソフトハウスで初のアルバイト
04)1ヵ月後に同社で正社員
05)半年充電(情報処理試験受験)
06)業務システム開発会社でアルバイト1 2 3
07)半年後に同社で正社員
08)独立1回目
09)派遣社員1回目
10)独立2回目
11)派遣社員2回目
12)派遣社員3回目
13)派遣社員4回目
14)半年充電(大検受験)
15)派遣社員5回目
16)派遣先の会社で正社員
17)独立3回目
18)正社員
19)派遣社員6回目
20)独立4回目
(現在に至る)
開発部にはシステム設計専門の人間は、2人くらいしかいません。残りは設計補助、開発、テスト、納品、サポートまで何でもこなします。設計専門の人にしたって、設計が終われば、テスト~サポートまでこなします。社員数30名ちょっとの企業では、だいたいこのようなものだと思います。1人1人に割り当てられる責任の大きさは相当な規模になります。

私にしても、コアライブラリの開発に専念できるワケでもなく、開発をしながらも、最大で20社程度は同時に納品やらサポートをこなしていました。一応職種はプログラマーですが、何百名の人と名刺交換したかわかりません。全国展開しているホテルチェーンにシステムを導入する場合もありましたから、北は帯広、南は宮崎あたりまで、全国をかけまわりました。POSシステムの導入時など、システムの使い方がわからなくてパニックになっているお客様のために、一時的にレジ打ちを交代したりもしました。コンビニのアルバイトもしたことがなかったので、これは緊張しました。

もし、プログラマーは机に向かってキーボードを叩いているだけの職業だと思っている方がいるとしたら、それは大きな間違いです。そういった場合もあるでしょうし、どっちが多いのかはわかりませんが、このように、開発している時間よりもお客様と話をしている時間のほうが多いプログラマーも存在するのは事実です。

こういっては何ですが、私程度がやっているシステムの技術レベルは大したことありません。データの参照、更新、集計、印刷が出来れば良いだけです。機能的にはAccessで実現できてしまうようなレベルです。全国26箇所の支社で稼動する大きなシステムの構築経験もありますが、それこそ本気になれば、3ヶ月程度で習得できてしまうレベルの技術です。

ネットワークプロトコルがどうだ、とか、マルチスレッディングの処理がどうだ、なんて全然カンケーありません。必要なデータが入力できて、必要な集計表が出れば良いのです。ですから、技術云々ではなく、お客様が何を求め、我々のシステムが何を提供できるのか、重要な点はそこだけであり、そこが一番難しい部分です。
■若干の例外
 例えば、POSレジ端末は中身がパソコンですが、概観はレジの形をしています。プリンターの処理など、若干特殊だったりもしますから、この部分はハードウェア仕様書を読み取るレベルの力が必要です。また、ホテルの客室冷蔵庫課金システムなども、独自のプロトコルで、「○○番目の飲み物が抜き取られたよ~」と通信が流れてくるので、これもまた若干特殊な処理が必要です。

このあたりを履き違えると、「なんだ。ここでは技術レベルが上がらないじゃないか。」「プログラマーっていうのは、もっと新しい技術をどんどん習得する職業じゃないのかよ。」と不満を漏らして、退職していくことになります。

仮に私が業務システムの開発会社を立ち上げて、人を雇うとしたら、技術レベルよりも、努力とか根性といった汗くさい部分を見るでしょう。システムを売るのではなく、サービスを売る仕事だからです。サポートの必要ない完璧なシステムが構築できるのなら話は別ですが、残念ながらそこまでのシステムにはお目にかかったことがありません。

技術屋として残念な部分もありますが、業務システムにおいて、もっとも求められるのは技術レベルではなく、問題把握能力。これに尽きます。お客様が求めているデータは何なのか、そのために割ける入力時間はどの程度なのか、客先の管理者と現場スタッフの間でもギャップがあります。そのギャップを調整しながら、全員が納得できる着地点を探す。トラブルが発生したら、その修正作業だけに集中するのではなく、まず回避策を提示する。こうした、問題把握と、最適な解決策の提示、これが最も大切なことなのだと考えています。

…と、履歴書の話とはそれてきたので、今回はこのへんで。



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 24, 2006 21:16:19

February 21, 2006

履歴書には書けないこと~Part07-2~
[ 履歴書には書けないこと ]    

じーちゃんAccessってすごいんです。

新人研修の最初の1週間が終わると、私は一旦、開発部へ戻ることになりました。開発の仕事がたまっていたんですね。

しかし、研修自体はまだ終わったわけではありません。私と別行動になった後、同期入社の社員達は Access 2.0 の研修に入ったのです。

当時の業務システムでは、ダウンサイジングと称して、オフコンをパソコンへリプレースするのがワリと流行っており、その会社も例にもれず、クライアントPCには、MS-DOS 6.2を導入していました。ファイルサーバーには、NetWare 3.12Jを採用していました。

■経歴(?)
01)高校中退
02)半年充電(パソコン通信にハマる)
03)ソフトハウスで初のアルバイト
04)1ヵ月後に同社で正社員
05)半年充電(情報処理試験受験)
06)業務システム開発会社でアルバイト1 2 3
07)半年後に同社で正社員
08)独立1回目
09)派遣社員1回目
10)独立2回目
11)派遣社員2回目
12)派遣社員3回目
13)派遣社員4回目
14)半年充電(大検受験)
15)派遣社員5回目
16)派遣先の会社で正社員
17)独立3回目
18)正社員
19)派遣社員6回目
20)独立4回目
(現在に至る)
とはいえ、開発部の部長は、いつまでも MS-DOS の時代が続くとは考えていませんでした。その頃の Windows は、まだバージョン3.1で、あまり実用レベルのシステムは作れない印象が強かったものの、いつまでもこのような状態ではないだろう、と開発部では判断しました。そういったわけで、研究開発と称して、Windows上でのプログラミング開発手法を確立する役目を、一番若手である私が任されていました。

研究内容は、Visual C/C++ 1.5 (英語版)、Visual Basic 2.0 (日本語版)での開発、Access 2.0の機能調査、などがありました。
ちなみに入社1年後には、大々的に Windows 95 が発売され、Windows 95、Windows NT 3.51、SQL Server 4.2なども研究対象になりました。当時のクライアントPCは非力であったため、デフォルトの Visual Basic コンポーネントでは処理速度が遅く、独自にVisual C/C++で新規開発したコンポーネントを使う等、様々な点で苦労をしましたが、少なくとも当時の開発部長の先見の明はなかなかのものであったと思っています。

そういったわけで、これから入ってくる新入社員には、MS-DOSよりも、Windows系を学んでもらおうということになり、Access 2.0が研修で導入されたのです。たしか、そのへんで売っているコースウェア(書籍)をテキストとして2冊ほど購入し、それを新入社員に渡していました。

このコースウェアがなかなかよく出来たもので、2週間で一通りマスターできる作りになっているのです。1日目はここまで、2日目はここまで、と日別に項目がわかれているため、研修にはもってこいだったわけですね。

ですから、まずは2週間みっちりとコースウェアで Access 2.0 を学ばせ、その後、成果として作品を作らせる、という順序でした。その際もやはりグループ分けが行われ、2対2のチームで作品発表を行うというわけです。

前回の記事で書いたように、このときの新入社員の内訳は、営業1名、開発4名ということで、計5名だったのですが、私は既にAccessをマスターしているということで、チームに入れてもらえませんでした。ですから、2人ずつの2チームが出来上がったんですね。私はあくまでアドバイザーとして、どちらのチームにも平等に指導するようにと仰せつかりました。

正直、私は人に物を教えるのが…、特にプログラミングに関して教えるのが大の苦手です。よく「自分が学んだときのことを思い出して、相手の立場にたって教えなさい」と言われるのですが、自分がどうやって学んだかなんてよく覚えていません。気が付いたらわかるようになっていた、としか言えないんですね。

質問になら答えられますが、体系だてて、理路整然と説明することなど出来ないのです。その点、コースウェアがあるのは非常に助かりました。同期達は、基本的にコースウェアどおりに学ぶので、こちらが学ぶ順番を指示する必要はありません。コースウェアの内容でわからない点を答えれば良いだけですから、とても気が楽でした。

実を言うと、コースウェアを2週間、発表用の開発に1週間程度では、どうせたいしたものは出来上がってこないだろうと考えていました。開発はそんなに簡単なモノじゃあない、と妙なプライドを持っていたのかも知れません。

ところが、意外なことに、3週間後には、きっちりそれなりのものが出来上がってきました。自分のプログラマーとしてのプライドが音をたてて崩れていきました。

プログラミングなんて、ほとんど学んだことのない人でも、本気になれば3週間で、実践投入一歩手前くらいのものが出来てしまうのです。Access自体が素晴らしいツールであることも確かです。Access自体に様々な問題点はあるものの、プログラミング知識がない人でも、それなりに動くものが作れてしまうのです。

この時はじめて、「BASIC言語はダメだ。なんでみんなC言語でやらないんだ。」とか信者のようにC言語を崇拝していた自分の気持ちが、スーッと消えていくのを感じました。

誇りを持つのも結構、知識を伸ばすのも結構。しかし、本質的には「納品できてナンボ」なわけです。長い時間をかけて、素晴らしいクオリティのソフトウェアを開発するのも良いですが、短時間でそこそこのクオリティのものも、需要があるのです。

このあたりの見極めを間違えてしまっては、どんどん時代に取り残されていくな、と感じた19歳の春でした。



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 22, 2006 21:36:34

February 20, 2006

履歴書には書けないこと~Part07-1~
[ 履歴書には書けないこと ]    

じーちゃん楽しい新人研修

業務システム開発会社でアルバイトから正社員になりました。

「今度、新卒を数名取ることになったんだけど、どうだろう?そいつらと同期として入社しないか?」と上司から言われたわけですが、頭の上に大きなハテナマークが浮かびました。

■経歴(?)
01)高校中退
02)半年充電(パソコン通信にハマる)
03)ソフトハウスで初のアルバイト
04)1ヵ月後に同社で正社員
05)半年充電(情報処理試験受験)
06)業務システム開発会社でアルバイト1 2 3
07)半年後に同社で正社員
08)独立1回目
09)派遣社員1回目
10)独立2回目
11)派遣社員2回目
12)派遣社員3回目
13)派遣社員4回目
14)半年充電(大検受験)
15)派遣社員5回目
16)派遣先の会社で正社員
17)独立3回目
18)正社員
19)派遣社員6回目
20)独立4回目
(現在に至る)
中途採用扱いならわかりますが、なぜわざわざ新卒と同期扱いなのかなと疑問に思いつつも、わざわざその理由を聞く気にもなれず、なんとなく惰性で同期入社を承諾してしまいました。

そしていざ入社の段階になって、その異様な(?)雰囲気に驚きました。

新入社員の内訳は、営業部配属1名、開発部配属4名(私含む)なのですが、私以外の人は全員緊張の面持ち。私にとっては、半年間慣れ親しんだ職場でしたが、まわりの人たちは初めてなわけですから、緊張していたのでしょうね。

出社してから自分の席にも座らず、新入社員としてミーティングルームに座っている自分は、なんだか場違いな気がしました。更にいうと、当時19歳の自分が、年上の22~24歳の新卒に囲まれているのも何となく微妙な気分でした。

しかし、今思い返しても、新人研修はとても新鮮で楽しいものでした。最初の1週間は、およそ次のようなスケジュールだったと思います。

  • 1日目 会社概要の説明&ビジネスマナー研修
  • 2日目 ビジネスマナー研修
  • 3日目 飛び込み営業研修
  • 4日目 飛び込み営業研修
  • 5日目 飛び込み営業研修&成果発表
ビジネスマナー研修では、挨拶の仕方、名刺交換の仕方、電話応対、などなど、基礎的なマナーをみっちり叩き込まれました。これはとても良いです。見知った仲だと照れがあったり、多少の社会経験を積んでいると「こんなんわかるよね~」とか「俺にはカンケイないぜ」とか思って、まともに学ぶ気にならなかったかも知れませんが、私と新卒との人数比は、1対4です。他の4人(しかも年上)が、真剣な表情でビジネスマナーを学んでいると、こちらも茶化す気持ちになんてなりません。

また、先述したとおり、営業1名と開発4名にも関わらず、5人全員で飛び込み営業を経験しました。これも良いです。ローテーションを組んで、新人同士ツーマンセルでの飛び込み営業です。5人だと1人余ってしまうため、たしかその1人にだけは先輩がつきます。

朝一で、地域を3つリストアップし、地図で営業先をいくつか確認すると、3グループにわかれて営業に向かいます。1日のノルマは10社か20社か忘れましたが、決して少ない数ではなかったと思います。帰ってくる頃には足が棒です。

まず、この飛び込み営業の面白い点は、「意外と度胸は必要ない」という点です。個人のお客様を相手にするのではなく、企業相手ですので、口汚くののしられるようなことは、まずありません。受付に向かい、「システムご担当の方いらっしゃいますか?」と、これだけです。

もちろん門前払いも数多いですが、予想よりは遥かに話を聞いてもらえます。そして、更に面白いのは、自分たちが作っているシステムに詳しくなることです。プログラマーとして自分でシステムを組んでいるはずなのに、それがどのように使われているのか、どのように業務が便利になるのか、実はよくわかっていませんでした。

上司や先輩から、「○○を△△にしてくれ」と言われたら、それを鵜呑みにするだけです。ところが、実際自分で営業してみると、自分たちの作ったシステムがどのようにお客様にとって利益となるのか、その点を言及しなければなりません。これは想像していた以上に苦労しました。

その点、私とパートナーになった新卒の人はすごかったです。仮にK君とします。この業務システム開発会社は、ビジネスホテルや旅館などの、客室予約システムや、フロント会計システムを開発している会社だったのですが、私と飛び込み営業のタッグを組むことになったK君は、なんとホテルマンのアルバイト経験があったのです。

K君は、プログラム開発については全くの素人でしたが、フロントの内情については熟知しており、ホテルシステムがどれほど便利なものか、実感としてわかっていたんですね。しかも、なかなかの営業トーク。ですから、K君に先陣を切ってもらい、話が具体的な設備や、機器構成など、技術的なところに入った場合には、私にバトンタッチする、という手法で飛び込み営業を進めました。

1日目、2日目は、無作為にタッグを組まされるのですが、3日目は自分たちでグループ分けして良いということになり、当然私はK君と組むことにしました。これは本当に楽しかったですね。そこの社長も、たかが新人研修の営業ですから、成果などは期待していなかったと思いますが、私とK君は、具体的な商談を1つ持ち帰ることに成功しました。

そして、この楽しい1週間のメニューが終わると、一応私は即戦力であったため、開発部へ戻ることになります。開発部の上司から、「開発の仕事が山ほどたまってるから、そろそろ戻っといで~」と言われちゃったんですね。

そんなわけで、しばらくの間、開発部のプログラマーの顔と、新入社員の顔を使いわけつつ、行ったりきたりすることになるのですが…、この話は、また次回。



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 21, 2006 23:22:17

February 19, 2006

日本時間から世界時間を算出するサンプル
[ PHP活用編 ]    

じーちゃん日本時間から世界時間を算出するPHPサンプルです。

以前の記事「WMIでレジストリを取得する」では、Windowsの「日付と時刻のプロパティ」からタイムゾーンの一覧を取得することに成功しました。

今回は、そのタイムゾーン一覧を使って、日本時間から世界時間を算出するPHPに挑戦したいと思います。

…というか挑戦しましたので、いきなり動作サンプルです。…えー、最近ちょっとバタバタしていて、時間がとれませんので、巻きでいきます。

■動作サンプル
 http://shinno.net/sample/worldtime.php
 (新しいウィンドウで開きます)

■ソースのダウンロード
 http://shinno.net/sample/worldtime.zip

例によってそんな難しいことはしていません。タイムゾーンの一覧を連想配列に格納し、変換時に、そこから時差を取得しています。つまり、

(指定された日時+GMTからの時差)-(日本の時差GMT+09:00)

という式を実行しているだけですね。

このスクリプトをちょっと改良するだけで、日本時間からだけではなく、他の国のタイムゾーンから、更に他の国のタイムゾーンへの変換もできますね。例えば、タイムゾーンのプルダウンを2つ用意して、変換元と変換先のタイムゾーンを指定できるようにするのも面白いかも知れません。

ではでは、短いですが、今回はこのくらいで…。



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 20, 2006 19:48:44

February 18, 2006

WMIでレジストリを取得する
[ VBScriptサンプル ]    

じーちゃんレジストリを取得するVBScriptサンプルです。

以前、サンプルのネタに困っていると書いたため、メールでネタを送ってくださった方がいます。この場を借りて、お礼申し上げます。ありがとうございます m(_ _)m

お題は、「世界の時差をプログラム化できないか?」というものでした。

レンタルサーバー上でCGIなどを開発された方は、よくわかると思うのですが、プログラム上で時間を保存する際には、よくグリニッジ標準時(GMT)を使います。格安レンタルサーバー等を利用していると、サーバー自体が海外に設置されていることも多く、掲示板のプログラムなどを開発する際、何も考えずにプログラミングしてしまうと、書き込み日時にレンタルサーバーのシステム時刻が設定されてしまい、「なぜか時刻が14時間ずれる!!」なんてことになるためですね。

Windowsの「日付と時刻のプロパティ」(右下の時刻をダブルクリック)の「タイムゾーン」を見るとわかりますが、日本では、GMT+09:00とか表記されますよね。GMTの時刻に+9時間したのが日本時間ということです。

タイムゾーンって何?と思った方は、とりあえず、地球(360度)を15度ごとに区切った線がタイムゾーンと考えればわかりやすいんじゃないかと思います(360度÷24時間=15度)。政治的な理由などで、正確に15度で区切られているわけじゃないですし、タイムゾーンも24個だけかというと、そうでもないのですが、まあ、とりあえずそんな感じで。

ちなみに、GMTは、イギリスのグリニッジ天文台での天体観測によって決められる時間なのですが、厳密にいうと、我々が使っている時刻は、グリニッジ標準時ではなく、UTC(世界協定時)らしいです。そのあたりのことは、こことかここを参考にするとわかりやすいかも知れません。

さて。そういったわけで、時差の計算は、実に簡単です。…簡単ではあるのですが、時差を手入力するのは面倒、というか現実的じゃないですよね。それこそ、Windowsの「日付と時刻のプロパティ」にある「タイムゾーン」のように、プルダウン形式で、地域を選びたいものです。

そこで、このリストを頂いちゃうことを思いつきました。このタイムゾーンの一覧はどこに保存されているのでしょうか?

早速、Google先生に聞いてみたところ、レジストリ内にタイムゾーンの情報が保存されていることがわかりました。というわけで、まずは、VBScriptを使って、レジストリからタイムゾーンの一覧を取得するプログラムを作ってみました。

↓こちらがそのサンプル。例によって、HTMLApplicationです。
http://shinno.net/sample/TimeZones.hta
(Windows 2000またはWindows XPでしか動作しないと思われます)

ちょっと専門的な話になりますが…。Windows Scripting Host(スクリプトでよく使われるオブジェクト)では、標準でレジストリの読み書きをする RegRead/RegWrite という便利なメソッドが提供されているのですが、このメソッドでは、レジストリの"値"は取得できるものの、"キーのリスト"は取得できないんですね。そんなわけで、今回は、WMIを使って、レジストリの特定キー以下のキーリストを取得し、列挙されたキーの中から、必要な値を取得する、という手法を取っています。

htaファイルは単なるテキストファイルですので、ソースを参考にしたい方は、テキストエディターで普通に見ることができます。



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 19, 2006 12:07:43

February 17, 2006

テストの重要性

じーちゃんテストは大事です。ペーパーのほうじゃないです。

ここのところ改修作業に追われています。

いまお仕事を頂いている取引先の中には、3ヶ月間ほど常駐勤務していた会社があります。様々な会社を転々としていると、それぞれの会社に独自の開発手法があるのが見て取れるようになります。

その会社さんも例に漏れず、ある程度独自の開発手法が取られています。そして、これもまた色々な開発系の会社に当てはまるのですが、そういった独自の部分があるにも関わらず、OJTやドキュメント化作業がしっかりされていなかったりもします。

最初の頃は、派遣または転職のたびに、「この会社は文書整理や知識ベースの構築がなってない!もっと社員全体で知識共有しなきゃダメだ!」などと憤りを感じていたものですが、それも4度、5度目くらいになってくると、「ああ、開発系の会社はみんなこんなもんですね。某巨大外資系企業もそうでしたよ。うんうん。」と丸く納得するようになります。私が流されやすいだけ?

この前の飲み会でもそうでしたが、挨拶がわりに、「最近どうよ?土日休めてる?」といったセリフが自然に出てきます。「ええ、最近は土日休めてるんですよ。」「おお、それは素晴らしいね」。あー、あの人、今は土日休めてるんだ。良かった良かった。などと心の中で思った私も、かなり病んでいるのでしょう。

ですから、ある意味当然といえば当然。OJT? ドキュメント化? そんなものは後にしてくれ。今はこのバグ修正が先決なんだから。なんてのは日常茶飯事だったりします。仕事が忙しいから、スタッフを増やしてほしい、と上司に訴え、いざ新人が入ると、「ソースここだから。読んどいてね。」でOJT終了。

誰も悪気があってやっているワケじゃないのです。「最近、監査が厳しくてさ~。残業しづらくなっちゃったんだよね。」「会社がサービス残業は認めないとか言うけどさ、それじゃ仕事まわんないじゃん。」こんなセリフが出てくるほど、みなさん残業しまくっています。新人教育に力を入れられないのも無理からぬことです。

そんなわけで、今現在私が修正しているのは、常駐勤務していた頃に書いたソースだったりします。言われたとおり、見よう見まねでコーディングしたら、真似た元ソースにバグがあるんですから、そりゃまあどんどんおかしくなりますよね。今ではその会社のソースを1年以上扱ってきているので、バグの箇所が一目でわかりますが、入ったばかりの頃では、こういうものか、と真似て書くのが精一杯でした。

そのへんは取引先の方にも十分ご理解いただけているので、別段大きなトラブルにはなっていません。「○○が二重表示されちゃうんだよね。また△△関連だと思うんだけど、ちょっと見てくれる?」「はいはい~。直しときました~。」ってなもんで、非常にスムーズに改修作業は進んでおります。

私のほうは改修作業でも報酬が発生しますので、全く問題はないのですが、会社としてはどうなんでしょうね。改修作業のために時間と費用を取られ過ぎてはいないでしょうか。

仮に私にその権限があるならば、プログラマーを1人減らしてでも、テスティングエンジニアを1人雇います。バグを出さないソースの書き方、バグを発見しやすいソースの書き方、色々な指南書も出ていますが、結局バグは絶対に発生します。ならば、お客様の目に触れる前に、可能な限り叩き潰すしか方法はありません。

ところが、テスティング業務というのは、意外なほど軽視されています。少なくとも私が勤めてきた会社の中で、きちんとしたテスティングチームを持っていたのは、わずか1社のみです。そこでは、テスティングチームに、出荷権限が与えられており、一定以上の品質でない限り、テスティングチームから、開発チームへ「出荷拒否」の申請が出来る仕組みになっていました。

開発チームは開発に専念できるし、テスティングチームは、自分のところで「テストOK」を出したにも関わらずバグが発生しては自分たちの責任問題になるため、必死にテスティングします。また、出荷直前の大事な時期には、デバッグイベントが開催され、バグ発見数の多い上位数名に会社から特別支給などもあったんですね。

まあ、ここまでのレベルはなかなかできないとは思いますが、やはり、テスティング専門のスタッフが1人くらいいたって良いじゃないかと思うわけです。プログラマーやSEにテストさせていては、想定外の動作なんてテストできるワケがないのです。

いつまでも納品先のお客様にバグ報告させているようでは、いずれ愛想をつかされてしまうのではないでしょうか。自戒をこめて…



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 18, 2006 10:40:46

February 16, 2006

元同僚との飲み会

じーちゃん飲み会行ってきました。

一滴もお酒飲めないんですけどね。

その昔、社会人なりたての頃は、上司や先輩から、「酒飲めないなんてダメだ。無理やりでも飲んで慣れろ。」ってなもんで、半ば強引に飲まされたものですが、最近は全くそういうことないですね。飲めないなら飲めないで、ウーロン茶でナントカなります。

さて、私は現在個人事業主で、主に次のような収入で生計を立てています。
  • Webシステムの受託開発
    ASPだったり、PHPだったり色々。設計もコーディングもテストも。通常、月100時間分くらいのお仕事が定期的に頂ける。(追加はあるが、100時間以下ということはない。)
  • オンラインショップの保守
    知人経由で依頼されたお仕事。毎月3ページ以内の更新作業、アクセスアップ対策、ブログサポート。ときおり更新システムの開発など。
  • Webサイト運営
    趣味ではじめたWebサイトで広告収入。
  • 大家さん
    ひょんなことから(元)自宅を借家にすることになったため、なんちゃって大家さん。
モノを仕入れる仕事じゃないので、資金なくても出来る点は良いのですが、体が資本ですね。(家賃収入は体壊しても平気ですが、それだけで食べていけるほど多くないです)

まあ、こんなかんじなので、とりあえず健康体であるうちに、稼げるだけ稼がねば、みたいな焦りもあり、更に贅沢を言えば、万一自分が倒れても事業が動くだけの体制は整えたいなと思うわけです。実際に、取引先からも「君が倒れた場合、仕事どうなるの?」という突っ込みもありますし。

そんなわけで、従業員を雇うにしても、取引先への営業の都合という意味でも、法人化しなきゃなぁと漠然と考え、知り合いの税理士さんに相談したところ、意外と簡単に設立できそうだったので、現在法人設立に向けて鋭意準備中だったりします。

さてさて、そうなってくると、今の事業内容では心許ないです。新たな事業として、パッケージソフトの開発やら、受託案件の増加やら、大規模Webサイトの構築などなど、色々と案は出てきています。しかし、アイデア出すだけなら誰にでも出来ます。…ちょっと言いすぎ。

アイデアと共に、実現可能な受け皿も必要なワケですね。つまり、新規事業内容を検討しつつも、人脈固めが大事だと思うのです。そんなわけで、ここ数週間、様々な人とコンタクトを取っています。

私は、転職回数だけは無駄に多いので、なんちゃって同僚がそこそこいます。苦楽を共にした新人時代の同期もいれば、すっかりIT業界に染まってからの同僚もいるし、わずか1ヶ月間しか一緒に仕事をしなかった同僚もいます。

不実に会社を辞めていない限り、何年経っていても、意外と連絡は取れるものです。今回の飲み会も、実は、わずか1ヶ月間しかいなかった会社の同僚達との飲み会でしたが、7人も集まってくれました。見事に全員違う会社に勤めていたので、ほとんど名刺交換会状態になりました。

場所が場所ですから、商談なんてことはなく、ほとんど昔話や雑談で終始しましたが、私的には名刺をゲットしただけで十分だったりします。そこから、どんなビジネスに発展するのかはわかりませんが、必ず何かしら得るものはあります。

利用してやろうとかそういう気持ちではなく、お互いに望む形での協業っていうのは必ずあると思うんですね。例えば、今日お会いした元同僚の方の中には、個人事業主として、Web関連の仕事をしている方がいましたが、その方が望めば、私から仕事を発注することもできます。逆にその方が仕事で手一杯ならば、仕事を受注することもできます。

これは、個人事業主に関わらず、対法人でも同じことだと思うんですよね。ようやくこれから法人設立という程度のクセに何を、という感もありますが、いずれは堂々と法人間取引が出来るように、ますます頑張って営業しなきゃな~と思った今日この頃でありました。



記事がお役にたちましたら、ポチっとお願いします m(_ _)m → BlogRanking


Last updated  February 17, 2006 02:20:56


<< 前のページへ一覧一番上に戻る


PR

Calendar

March 2012
SMTWTFS
    123
45678910
11121314151617
18192021222324
25262728293031
<一覧へthis monthnext>

Keyword Search

Favorite Blog

テルマエ・ロマエ… New!Tarotaroさん

イチロー選手は4… New!か ず さ かさん

スタジオ・ピクチ… spo統括 さん
システムエンジニ… hirocom6618 さん
猫っぽい人の気まぐれ ねこみみさくら さん

Category

Archives

Mobile

>>ケータイに
このブログの
URLを送信!

 

Powered By 楽天ブログは国内最大級の無料ブログサービスです。楽天・Infoseekと連動した豊富なコンテンツや簡単アフィリエイト機能、フォトアルバムも使えます。デザインも豊富・簡単カスタマイズが可能!

Copyright (c) 1997-2012 Rakuten, Inc. All Rights Reserved.