データベースは、そもそもDOSの頃からやっていてその頃はカード式のデータベースが多かった中、主流になりつつ有った、dBASEやクイックシルバーを使って動作を覚えていた。
その後、システム開発の部門に配属になってコボルやらを覚える傍ら、SQLも覚えた。なんで覚えようかと思ったかと言うと、一番マニュアルが薄かったからって言うのが理由だ。それまでは、SQLってデータベースの一種?と言うぐらいしか分かっていなかったのだ。
覚えるのに時間はかからないかと思ったのが間違いだと気がついたのは、1年ほど経ってからだった。
確かにマニュアルは薄いけど、最適化や正規化など覚えることや経験を積まないと難しいパターンが多すぎるのは、他の言語には見られない特徴だ。
SQLだけで動かそうと思っても無理が多いし、他の言語やそのシステム全体を知って組み合わせないとダメだと1年かかって理解したのだった。だが、それらの環境を網羅した知識を生かしたら、最強の武器になるのも分かった。
システム開発では、覚えたてと言うことも有ってSQLを実際の現場では使えなかったが、コボルなどでは開発をしていた。
当時は、コンピュータ室と言う所だったが開発よりも帳票作成のお手伝いなどが業務の大半を占めていて、開発といってもコンバージョンがその大半の仕事で、新規開発を少々やったぐらいだ。
私が作ったのは、一般業務が楽になるような修正を頻繁にやったので逆に使いにくい物になったかも知れない。
失敗でもないが、一度はシステムを止めてしまうぐらいの事もやったりした。これは、かなり重くて最初は30分は計算に時間がかかっていた利益計算を、開発担当者が辞めたのをきっかけに私に回ってきたので、すぐにその30分のプログラムを修正して、1分以下で動くようにしたのだ。その反動で、それでなくても重かったこのプログラムの影響はでかくて、システム全体が止まってしまった。
思うに、コンピュータの力量と私の扱った事案のバランスが悪かっただけの話だろう。そもそも企画の時点で気が付くべき物だ。
その解決策としては、デフォルトの優先順位を変更して全体をややゆっくり動かすように変更して、問題のプログラムの優先順位を最後ら辺にしたようだった。
結局、優先順位を下げても10分以下で処理が終了していたので普通に使えるようになった。
私が、今それを扱うなら、同じシステムを使っていたとしてもシステムを止める事もなしに、SQLにプログラムを変更しただけで10秒ぐらいで実行出来る事だろう。
それから今ではシステムも更新されている効果もある事から、1秒以内という事も有りだと思う。
コンピュータ室の頃も、勉強はしていたが異動になってからの方が更に勉強したようにも思う。
ことデータベースに関しては、手かせ足かせが外れたように勉強した。だってコボルを扱う必要がなくなったんだからやれることって、仕事上ではエクセルを極めるかアクセスを極めるかぐらいしか残っていないからだ。MIFESは、仕事と関係なしに普通に極めていたので、それ以上は必要なかったのだった。MIFESのバージョンアップ毎に、その差分の知識を増やしてゆくだけだった。
コンピュータ室に入る前からUNIXは扱ったりしていて全然抵抗なしにLinuxが有ったら使ってみようと思った。
一番覚えたピークの頃が2001年ぐらいで、MySQLをLinuxで扱ってその高速性を楽しんでいた。これといった案件が無かったが、データマイニングに使えるかと倉庫のデータをコツコツMySQLのデータベースに溜め込んだりしていたが、本社でもデータをもっているので元のデータを変換をする方が実は簡単なのだ。練習の為にやっていたと言うのが本音だ。
もしやるならそっちに話をつけてやる方が早いだろう。で、今はそのMySQLのプログラムも止まったままになっている。一応は動くし役に立たせればいいのだが。。。
会社以外でも、友達と携帯のサービスをやってみようかと計画して、一応動くSQLを考えたりもした。
これは、後で分かった事だがほぼ同時に別の所でも開発が行われていたので、買ってもらう所まではいかなかったが、システムの出来はこちらが良かったのが幸いだったと思っている。ことデータベースの扱い方では数倍は良かったのだった。相手方の一番悪い所を言うのもなんだが、「検索結果 なし」と言うのを、間違った検索をしてしまった場合にだが、手間を色々かけさせた最後に表示させるって所だ。私の作ったSQLでは、検索対象は検索可能な項目のみを表示して選ばせて、その結果のみ表示という方法だったので、携帯のパケット代の節約や操作時間の点でも便利な物だった。
システムを入れ替えてもらうって所まで強引にやってたら変わっていたかも知れないが、契約の早かった相手を立ててこっちは引いたのだった。
今では携帯のサービスも色々と出ているが、あの時に押しが強かったりタイミングが良かったらデビューしていたかもって時々思う。
同時にその時覚えたのが、LAMPという便利な組み合わせでLinux+Apache(httpd)+MySQL+PHPというものだ・
LAMPはサーバサイドのデータベース+Webサービスで、検索やメニューなどにデータを表示して選択させられるものだ。
ネット通販や、ちょっとした辞書のサイトでは良く使われているのがLAMPのようです。
PHPは、動的なホームページが簡単に作れるのが長所で、フレームを使ったりすると出力毎に微調整の必要がほとんどなくなる便利なものです。
PHPからデータベースを呼んで、データの出し入れをして一般ユーザには直接データベースを触らせない点でセキュリティ上も優秀なものです。当然SQLインジェクションなどの対策を取ったという前提での話ですが。
MySQLは、対応するOSや扱えるプログラム言語が豊富だったので、私が扱っていたその当時は最速などと言われていました。方言もほとんど無くて、コマンドや動きもシンプルに見えたものです。
当時のアクセスとの比較に自作のベンチマークを動かして処理時間の比較したところ、当然ウインドウズ上での比較になりますが、MySQLはアクセスの10倍は速く処理が終わっていました。それをLinuxに移植したら、更にMySQLのOS間の比較で数倍はLinuxの方がウインドウズより速かったです。これで、やるなら当然LAMPかなって気持ちになってました。
安い、速い、簡単と3拍子揃っているのがLAMPなんです。
今まででも、PCの生きていて余っているものが有ったらそれをサーバに変更して、LAMPを動かしたりしているけど、現在余っているPCは一台もないのでやってない。もうすぐこどものPCが戻ってくる予定なので、又、LAMPを練習がてらやってみたいと思う。
サーバは、NEC PCー98の頃にFreeBSDでやり始めてから、LinuxにしたりFreeBSDやその他のBSDにしたり試行錯誤しつつ、Dos/V互換機になってからは、LinuxでもVineやその頃無料版もあったRedhatを使い、ここ5年ほどはCDブートのLinuxをインストールする事が多かったです。簡単にインストール出来るのが最大の魅力なので、インストールしては試していました。他には時々FedoraやVineも入れたものです。
Ubuntuに出会ってからは、これを使うことが多くなって今ではウインドウズよりUbuntuを使う時間が多いです。その関係で、大元のDebian GNU/Linux を使ったりしました。これまで使わなかったのは巨大過ぎて自分の持っていたPCや取れる時間的余裕がない人には向いていないと思ったのが理由です。
現在11.04を使っているが11.10の方が良さそうに思うのでPCを買い換えたらそちらを入れたいと思っています。Linuxのカーネル3番台も使ってみたい。当然だが、次号機は64ビットを購入するだろう。メモリーも今の倍以上にして、グラフィック性能はスペックしか見ていないが3倍ぐらい上がるだろうと思う。楽しみだ。
それまでは、戻ったPCにLAMPやら入れて楽しもうと思う。
話は戻るがQtも覚えておくとしよう。
調べると、C++で作られた総合環境でクロスプラットフォームになっているそうだ。一番後発なので馴染みが少なかったがKDEなどもこれで作られているようなので、応用範囲は広そうだ。
UbuntuでKDEが標準インストールからこの頃は外されたが、綺麗で便利なデスクトップ環境を作りたいならやはりKDEがいいので、覚えていて損はないかなぁ。
今、標準のGNOMEを使っていてそこでQt SDKを実行してみたが、他のIDEなどよりちょっと軽いような感じに思った。これは、モジュールの追加をほとんどやっていないからだと思う。KDEに変更したりしてやってみるとまた違った感じになるでしょう。
LINUXにインストールしたがウインドウズにも入れて、そっちでエディターの変更などやってみて使い方をマスターしようかなと考えてます。