自分の能力を知るということ

要求される内容に対して、
1. そもそも実現が可能かどうか
2. 実現するためにどの程度の日数がかかるのか
プログラミングを始める前に、これらの情報が必要となります。

知識や経験が豊富にあればよいのですが、
自分が今までにやったことがない事だと、非常に苦労します。
これらを見誤ると開発のリスクとなり、
納期などに重大な影響を与えてしまいます。

自分の能力を知るということは、
自分に必要な工数を正しく見積もることができる、
という側面を持っていると思います。

未知の事柄は当然調べなければなりませんが、
調べた結果を自分の知識レベルに落とし込み、
実現までの道のりを描くことができるよう、
意識しながら技術を向上させていきたいと思います。

64bitのOpenCV

画像処理ライブラリOpenCVを良く使用するのですが、いつも32bit版のDLLを使用しています。
本来なら64bit版を使用したいところですが、同じソフト内で使用する他のライブラリが32bitしか無いことが少なからずあり64bit版を避けていました。

今回、32bit版と64bit版でどの程度の性能差があるのかが気になり確認してみました。
その結果、64bit版に変更するだけで3割くらい速度アップしました。
処理内容にもよるでしょうか、単純に速くなるのはありがたいです。
それと64bitにすることで1プロセスが使用できるメモリ上限も増えるので、メモリ不足の心配も少なくなります。

今後はできるだけ64bit版を使用するようにし、32bitでしか動作しないライブラリなどは32bitの別プロセスで実行し、プロセス間通信でやりとりする作りが良いと考えています。面倒ですけど。

ご挨拶

おかげさまで、この度、定年退職となりました。
皆様方には大変お世話になり誠にありがとうございました。
今後ともインフォテック株式会社をどうぞよろしくお願いいたします。

装置の個性

mgcです。

よく複製品の立上げに行かせていただくのですが
全く同じ図面で複製品であれど
装置によって個性が出るなと感じます。

板金加工の多少のズレ、ロボットのティーチの位置
シリンダのストローク等々
その設備に対して調整をかけていくため
どれだけ複製の設備といえど
個々の設備の個性?が出ていると思います。

個性なのか不具合なのかは置いておいて
どのような装置でも1品物だと思いました。

PC電源ユニットのへたり

PCでも拡張性に一番影響を与えるのがPC電源とマザーボードです。
このどちらも余裕がないと拡張ができません。

そしてPC電源ですが使うほどどんどんへたっていきます。
自分の1000W電源は8年使用した辺りで500W負荷ぐらいで落ちるようになりました。

そしてその代わりに購入したのが600Wのブロンズ電源なのですが高負荷なのか温度なのか
ベンチマークを長時間起動すると最近落ちるようになってしまいました。

オーバークロックをしていたのでそれらをすべてOFFにして安定動作になりましたがやはり使用容量の1.5~2倍は確保しておいたほうが安定するなと感じました。

プログラミング原則

プログラミング原則というものがあります。
有名なものをいくつか紹介します。

KISS
Keep It Simple, Stupid.”
常にシンプルに。
シンプルなコードは理解し易く、メンテナンスが容易です。

DRY
”Don’t Repeat Yourself.”
同じことを繰り返さない。
同じ処理は共通化することでコード量が減り、メンテナンス性も向上します。

YAGNI
You Aren’t Gonna Need It.”
それ、必要にならないよ。
不要なコードはバグの原因になります。書くのは本当に必要なコードだけ。

原則と言われるように、
誰にでも当てはまる基本的な考え方だと思います。
プログラミングとは常に複雑さとの戦いなので、
シンプルなコードを心がけています。

KISSの最後のSが”Stupid”(愚か者)というのは、
ちょっと無理やりな気もしますが面白いですね。

既存ソフトの作り直し。

今行っている仕事は2台の既存設備の他社製PCソフトを1から作り直し、2台とも同じPCソフトにする案件。

1台は10年前くらいの設備、OSはWindowsXP、言語はC++。
もう1台が厄介で、25年以上前の古参設備、OSはMS-DOS、言語はN88-BASIC。良くあるんですよね、こういう古いソフトの作り直し。

C++のほうは(ソースコードが汚いものの)問題なく読めて理解できます。

N88-BASICのほうはトリッキーです。実際に動かして見ないと何をしているのか追っかけられない。しかたないのでPC98エミュレータを用意して実機無しでも動くようにして調査しています。

それにしても良くN88-BASICのソフトが動いているものです。動かなくなる前に作り直しになってよかったです。壊れてから焦って作り直ししようとしてもすぐには対応出来ませんので。

急性胃腸炎

急性胃腸炎にかかってしまいました。
恐らく家族からの感染です。
家族が順番に感染し、私が最後でした。
胃と腸の粘膜がただれているので食べると嘔吐下痢をします。
(無理に食べても消化されないので無意味です)
なので絶食と水分補給という治療方法しかありません。
3日目の夜にようやく食事ができるようになりました。
手洗い以外にもこまめな除菌を行いましょう。

ラダーの整理

mgcです。

ラダーの作り方にはその人独自の作り方がある為
色々な人が手を加えると収集がつかなくなることが多いなと感じました。

そのラダーを整理すると、どこかの動作が不具合を起こす可能性が出てくるため
リスクが高くなります。
普段から誰が見てもわかるようなラダーの作り方を心がけて
実装をしたいなと改めて感じました。

ソフトの見た目

展示会等に行った場合に思うことは何事も見栄えが大事だと感じました。

もちろん展示会は展示目的でもあるので見た目が重要で、デザインが良ければ聞いてくれる人も多くなります。
自分も興味のある分野以外はだいたい見た目でフィルタしていたりします。

業務用ソフト等は見た目よりも機能だったりしますがその場合もデザインで使いやすさが変わると感じました。
UIデザインにもなりますがメニュー等についてもよく使う機能等、アイコン等がついていたほうが分かりやすくなります
ちょうどEXCELのリボンのように分かれていると初めて使う人でもどの辺りにあるのか探しやすくなると思われます。

コーディングだけでなくUIデザインについても頑張りたいと感じました。