枯れた技術の水平思考~横井軍平の理論

私の好きな言葉に「[g]枯れた技術の水平思考[/g]」があります。
細かい事を説明すると読む方もうんざりするので、ざっくり説明すると
「限られた条件で最大限の事を行えば、結果は自ずと現れる。」
といった事があげられるでしょうか。
この[w]横井軍平[/w]氏は、かつて任天堂のファミコンやゲームボーイといったハード開発者として有名な人物で
今のゲーム業界の礎を作った人物として有名です。
もちろん、業界としてみれば「宮本茂氏」や「堀井雄二氏」もいますが、彼らに影響を与えた数少ない人物です。
横井氏が逝去してすでに15年以上が経過しますが、ゲーム業界はすでに「高機能・多機能」が進み、かつてのゲーム性を重視した作品は減っている様な感じがします。
近年のヒット作を見る限りでも、過去のリメイクが多く、オリジナリティのゲームが少ないのは何とも寂しい限りです。
さて、この枯れた技術の水平思考は、別にゲーム業界だけに限った事ではありません。
日常生活において「限られた時間」「限られた資源」「限られた予算」といった事は多く、その中でどれだけ成果を上げるかが求められています。
この「限られた」事をどれだけ効率よくこなすかがまさにこの理論の「神髄」といって良いと思います。
最新の技術、最新の手法を使う事が悪いのではなく
「誰もが知っている一方、誰もが見向きもしない古典的な手法」で作るやり方こそ
「堅実」でかつ「確実」なやり方といえます。
枯れた技術の水平思考とはまさに
「技術者の能力を最大限に引き出す」
事にかかっているのです。
私のようなつたない人間は、そういった先人の知恵を大いに活用しています。
そのためには、様々な本を読み、先人の知恵をいただきながらさらなる研鑽を積まねばと思う今日この頃です




Outlook Express(Windows Live Mail)を使ってFAX配信の色々

メールからファクスを配信する仕組みは意外と需要が多いと思います。

もっとも、その構造を考えたときに
2つの方法があります。

私の会社のように、常設事務所を構えている場合はメールを使った方法をとる必要はまずありません。

ファクス機能付きプリンターを準備するだけですぐにメールとは言わず、「印刷=ファクス送信」と言う仕組みが可能になるからです。

この商品はほんの一例ですが、私の会社でも使用実績が有り今年に入ってからも5~6台販売している機種ですが、コストパフォーマンスが高く、コンパクトな形が評判です。同業他社の製品と比較しても、安い事もその請け合いの一つかもしれません。

しかしながら、常設ではない事務所(外出が多い)場合は、当然ですが前述の手法を取ることは出来ません。

そこでオススメする方法がBiglobeに契約する方法

えっ?それだけで良いの?と思われる方

申し込むプランにも異なりますが、既に上記プロバイダーを契約している場合はそのまま利用可能です。

もし契約してない場合はメール利用コース(Biglobe 200円)を申し込む事でoutlookに設定して利用可能です。

<使用法>
095-833-3839@fax.biglobe.ne.jp
だけのお手軽さ

簡単なAPIサービスにも応用が出来るため、利用の幅は広く使い勝手も非常に良いのがうれしいところです。

しかしながら欠点は「配信手数料が割高」という点が上げられ
1通につき42円という料金体系は決して割安とは言えず、同業他社のサービスに比べ敷居が高い様に感じられます。

NTTコミュニケーションズのiFAXやKDDIのペーパレスファックスサービスなどに比べ2~3倍の料金は損益分岐点を
計算すると
KDDIのペーパレスファクスが 月額950円+1通15円
Biglobeのファクスサービスが 月額200円+1通40円

損益分岐点は、KDDIのサービスと比較した際、30通送った段階で逆転してしまいます。
NTTのiFAXに至っては既に13通程度でコストが逆転してしまいます。

もっともこのような使い方だけでなくほかにも便利な方法があるので今後はさらなる改良が必要になるかと考えているところです。




プログラムとデータベース設計

ここ最近の仕事と言えば、プログラム開発です。
職業柄「パソコンの設定」や「故障修理」をする様に見えるのですが
こっそりとプログラムをやっているのです。
最近開発しているのは、構想だけは2年前からあった、自社システム。
乏しい頭で考えるのでいつもバグだらけですが、最近はだいぶん開発工程も見直してスピードアップが図れ、あらゆるサービスへ転用できるよう汎用的な構造で開発しています。
データベース設計というのは、「[w]正規化[/w]」をどれだけ出来るか?にかかっており、今ひとつピンとこない方の為に簡単に説明すると「無駄な項目をどれだけそげるか?」と言う作業です。
この正規化処理の仕上がりが今後のメンテナンスや拡張にかかっているため作業はかなり慎重です。
本来なら、既存システムを使えば楽ですし、便利でしょう。
しかし、組み入れたい機能やセキュリティ面を考えたら自前で作るしか無く、今後このシステムで目指すところは、自前のオンラインサービスでありその課題はまだまだ先にあるように思います。
足りない部分は自分のやる気で補うしかありませんが、プログラミングをやっているときはとにかく集中力を切らさない様に心がけています。
このシステムを完成させたところで直接売り上げにはつながりません
業務コストを下げる事が出来るので間接的にも売上に貢献出来るかなと思ってます。
データベース設計は「基本性能」を満たせば後は何とかなる
と思います。
SQLは非常に奥が深く、色々な手法で応用が出来そうです。
ただし、不安要素と言えばデータベースの安全性です。
無理な設計を行えば、データをすべて破壊してしまう事もあり、この点も無理なリレーションを組み込む事は出来ません。
当面は試行錯誤しながら、バックアップなどをどのように確保するかが課題になりそうです。




プログラミングの鉄則ってあるのか?

最近は、システム開発がメインの仕事になっている事もあるので
こういった事を書くのは、決して他人の為で無く自分の為だろうと思うのです
プログラミングの鉄則には、色々な専門家が執筆されているので若輩者である私が偉そうに書くのもおかしいですが
自分が2年前にコーディングした中身が、酷かった事に閉口した事が要因です
プログラムで考える事
1:コーディングするなら、使う変数は絶対固定せよ
2:よく使うルーチンは関数化ないしサブルーチン化するべき
3:標準関数と別にオリジナル関数ライブラリを開発せよ
4:IFとループは多用するな
5:分岐のいらないプログラムにするべき、いわゆるウオーターフォールで行うべき
(上から下に読み解読出来るものとする)
6:開発記録簿を付けよ
7:設計図・データベースレコードをプリントアウトするべし
8:ソースコードはバージョン毎に保管するべし
などとこういった事は、学校の勉強では良く言われる事ですが、実際にシステム開発を行うとこういう事をおざなりにすれば後で痛い目に遭うのは私であり、結局メンテナンスに相当な時間を費やす事になったことは言うまでもありません。
プログラミングに鉄則は人それぞれでありますが、私における鉄則は、いまあげた8つと言うところです
便利な事だからこそプログラミングが便利であるからこそ、しっかりとした記録を残す事が何よりも大事かもしれません。




プログラミングは頭の体操 :: 所長のつぶやき

近頃、プログラム開発で現実逃避中のおおくすです。

さて、このプログラミングはどういう代物か?

かんたんに言えば「シナリオ」ライターみたいなモノで、組立次第でよくも悪くも出来てしまう。

煮詰まると、とたんに駄作になるため、適度なリフレッシュが効果的な事も多く、集中して出来るのはほんのわずかな時間で、後は負荷をかけない事が重要です。

最近、私がよく作っているモノは

クレジットカード会社との連動エンジン(ゲートウェイ)プログラムです。

現在は、改造程度でリリースアップしているのですが、今後は汎用サービスで使えればと鋭意開発中です。

そんなわけで、プログラミングも煮詰まると、すぐスランプに入ってしまう因果な仕事です。

スランプにならないよう、多くの仕事を抱えながらするのが一番良さそうです。

頭の痛い話は多々ありますが、イヤな事は出来るだけクリアにしなくちゃ先に進まない。

そんなわけで、明日も缶詰で仕事に取りかかる事にします。