簡単な紹介
20年以上、ITエンジニアとしてソフトウェア開発を行っています。
画面系のプロントエンドではなく、サーバ系のバックエンド開発の経験が豊富。
バックエンドとは、サーバ側で動作する処理のものです。
Webサーバ、データベースサーバ、アプリケーションサーバなどミドルウェアソフトと呼ばれているもの。
ミドルウェアソフトの開発と製品化作業が主担当なので、OSやHWなどの周辺知識が必要なので、日々勉強しています。
最近は、世の中の流れ的にもクラウド関連の仕事も増えています。
プログラムの開発だけではなく、上流の企画的なもの(何を作るところ)から、製品紹介などの販促活動やトラブル対応・保守作業など幅広い業務を行っています。
揺りカゴから墓場までではないですが、上流から下流までの業務を担当。
幅広くやっている分、いろいろな問題にぶつかり、いろいろな分野の本を読んだり、ネットで調べたり。
こういった現場で苦労して調査した結果を本ブログでまとめています。
(細かいことをすぐ忘れるので、半分は自分の備忘録ですが、他の方の参考になれば幸いです)
簡単に経験値を列挙します。
・今まで業務で使ったプログラミング言語は、C言語、アセンブラ、COBOL、C++、Java、Python。
・主に Windowsや、UNIX(Linux, Solaris) で動作するプログラム開発
・OSは、Linux(CentOS/Ubuntu/RHEL) 、Windows 98~、Windows Server系、MS-DOS(16bit)、Solaris 、AIX、知っている人は 少ないがIBMのOS/2。オフコンを少し。
・使ったことがあるデータベースは、Oracle、PostgreSQL、MySQL/MariaDB。いろいろなNoSQL-DB。
・クラウドは、AWS 、Azure 、GCP(Google Cloud Platform)。
現在利用中のAzureが一番詳しい。
・ベンダー資格などのペーパーテストがあまり得意でないので、持っている資格数は少ない。
マニュアルを読めば分かることは覚える気になれない。
ちなみにOSS-DB Goldという変わった資格を保持。(PostgreSQLのチューニング系)
このブログの方針
最近はプログラムをゴリゴリ作成することは少なくなりましたが、調査用のプログラム作成したり、データ分析用のちょいプロなどは作成することがあります。
設計レビュー、コードレビュー、品質管理など上流の作業がメインとなっています。
レビューするのにも、いろいろ知識が必要なので日々勉強。=> ブログに反映。
業務中は基本的に多忙で、知りたかったことをピンポイントで調査して終わりですが、
業務で気になったことを自宅で追加で調査し得た知識をブログの記事にまとめています。
調査して見ると意外と知らないことが多いんですよね。
VirtualBoxにいろいろなOSをインストールして、動作確認しているのでOS関連の記事も多いです。
このためにメモリ16GB、M.2 SSD搭載のマシンを使っています。
(ブログを書くためだけならこんなスペックはいらない)
最初に書こうとした内容といろいろ調べた結果、出来上がった記事の内容が結構違うことも多々あります。。。
あと、技術者視点での記事を中心ですが、IT関連以外でも生活に役立つ柔らかい内容も紹介しています。
ブログの運営の話題や車、ガジェットなど意外と読まれています。
悲しいことに車関係の記事がずっとアクセス数1位です。
各分野の知識の深さ
Windows
・MFCを使ったWindowsネイティブGUIアプリを開発
・Windows Serverで動作するサーバ系のバックグラウンド・ミドルウェアソフトの開発
以下のOSでゴリゴリ開発。 Windows の互換性には苦労しました。
Windows 98 , Windows 7, Windows 8
Windows NT Server 4.0 , Windows Server 2000 , 2003 , 2008 , 2012
最近は Linux系がメインなので、Windows Server 2019, 2022 とかを触る機会が減った。
*MFCとは、Visual C++ によって実装された Microsoft のクラスライブラリ Microsoft Foundation Class です。
COBOL
・某社オフコンでCOBOLを少し触った。独自の世界観で少しカルチャーショック。
・某社オフコンCOBOLから、オープン系COBOLへの移行(変換)プログラムなどを開発。
(字句解析や構文解析のyaccやlexを学ぶ。今は、bisonとflexと説明したほうが理解される。)
・オープン系COBOL(Unix, Windows)のコンパイラをOEM販売していたので、製品化や保守作業
マイクロフォーカスCOBOL , 日立COBOLなど触る。
オープン系COBOLへの移行用のプログラムを提供していたので、移行後のCOBOLプログラムの動作が怪しいことが多々あり。
お客の数十万ステップのソースコードをデバッグすることも多々あり。
省略されたときの動作が仕様上も曖昧でたまたま古いもので動作していたケースが多いですね。
変数の初期化などはきちんとやっていないケースなど。
UNIX
Solaris、AIX、HP-UX などUNIX系OSが全盛の時代に、いろいろなUnix系OSでプログラムの動作サポートする必要があったので
いろいろな商用UNIXを触った。
同じUNIXでも 今のLinux(Ubuntu, CentOSなど)以上に違いがあり、苦労した。
Cコンパイラも高額で、購入する手続きや他の部署に借りたりと超面倒でした。
今のコンパイラは、無料で提供される文化になって有難い。