2011年2月25日金曜日

開発者から見たiPhone端末とAndroid端末

結論から言えば、私はAndroid端末に軍配を上げるな。

普段から自分自身がiPod thuchを使っていてそれなりに満足はしているけど。でも、それは一ユーザーとしての立場だから。

開発者側となると話は別。
圧倒的にAndroid端末の方が良い。

何故って、アプリケーション・プログラムの開発環境が一般的だから。
iPhoneのアプリケーション・プログラムを開発するにはマックを買わなければならない。と言うことは、OSの動きから操作方法まであらゆることを一から勉強しなければならない。とてもそんなことやってられない。何しろ、我が社では開発者は私一人だから。

それに対して、Android端末は、アプリケーション・プログラムの開発環境は私のPCの中にも入っている。つまり、Windows系OSで可能だ。また、Mac OSやLinuxでも開発が可能。開発ツールは私も使い慣れているEclipse。開発言語はJAVA。我が社の作業票・移動票・注文書・納品三票などは全てこのJAVAで開発されている。

いずれは、我が社でもAndroid端末を営業や製造現場が使用するような時代が来ると思う。

2011年2月11日金曜日

EXCELのブックに定義してある名前を一括削除

ブックに定義してある名前を一括で削除する方法です。

塚原君が手作業で名前を数十個削除していて大変そうなのでネットでプログラムをみつけて手を加えたものです。

ネットで見つけたプログラムは、全部の名前が正しく定義されていれば問題なく動作するのですが、名前にセルの名前と同じ名前が定義されているとエラーが発生してしまい、プログラムが中断してしまいました。そこで、ON ERRORを追加して、回避するように追加しました。

Sub ClearAllNames()
  On Error Resume Next 'この命令を追加し、エラーが発生したら次の命令を実行するようにした
  Dim objName As Name
  For Each objName In ActiveWorkbook.Names
    objName.Delete
  Next objName
End Sub

このプログラムの基本的な使い方はネットにありますので、私はここまでにしておきます。
例えば、こちら
http://questionbox.jp.msn.com/qa3028652.html

2011年2月8日火曜日

確かにEXCELは超便利ツールではありますが。。。。。

この前、社長からEXCELを検証してくれと命ぜられた。

作成したのは以前のシステムの担当者。まぁ、コンピューターの事を知っている人間が作成したのだから検証するといっても大した手間でも無いと思っていたら大間違い。

最初に気付いたのがそのシート全体で数値の精度を決めていない。整数だけの計算ならば問題ないが、小数が入ってくる計算の場合、そのシート(システムと言うと堅苦しくなるが)全体で数値の精度を決めないと正確な計算結果が得られない。システムに携わっている人間とは思えないくらいひどい計算式だった。
また、時間を入力するようになっていたが、ユーザー独自の書式で値を入力させるようにしていたので、値がとんでもない値になっていた。これを普通に計算しようとすると、結果もとんでもない値が出てきてしまう。他にもいい加減な数式が多数有り、結局、検証ではなく、新規構築になってしまった。

でも、普通のユーザーはもっと何も考えていないかもしれない。EXCELはとても便利なツールだけど、一貫した考え方を持って作成しないと、とんでもない結果を引き出す可能性が大の諸刃の剣だ。実際、このEXCELを使っていた人からは、値を変えても結果が変わらないことが有り、これで良いのかなと思いながら使っていたと訊いたので、恐ろしいものだと思った。

これを読んでくれた人に対して、私からのアドバイス
小数を使うシートを作成する場合は、必ず数値の精度を決めてから作成に取りかかりましょう。例えば、○○の値は小数点第3位を四捨五入するとか、○○の値は小数点第2位を切り捨てとか、基本的な精度を決めましょう。EXCELは、1つのセルに値と書式の2つの情報を保持しています。例えば、1.2345という値を入れて、書式を数値にして、小数点以下の桁数を3桁に設定すると、1.235と表示されます。これはEXCELが自動的に値を小数点第4位を四捨五入してくれたからです。しかし、これは危険性をはらんでいます。表示の仕方次第で値の精度が変わってしまうからです。もし、誰かがセルの書式を標準に変えてしまったら、計算に使用される値は最初に入力した1.2345となってしまいます。こうならない為には、EXCELの関数を使って値の精度を決めましょう。四捨五入する場合はROUND関数、切り捨ての場合はROUNDDOWN、切り上げの場合はROUNDUPを使います。

書式
・四捨五入の場合、小数点第3位を四捨五入だったら、ROUND(値,2)、小数点第2位を四捨五入だったら、ROUND(値,1)
・切り捨ての場合、小数点第3位を切り捨てだったら、ROUNDDOWN(値,2)、小数点第2位を切り捨てだったらROUNDDOWN(値,1)
・切り上げの場合、小数点第3位を切り上げだったら、ROUNDUP(値,2)、小数点第2を切り上げだったらROUNDUP(値,1)

実際の値で説明すると
・1.2545を四捨五入の場合、小数点第3位を四捨五入だったら、ROUND(1.2545,2)=1.25、小数点第2位を四捨五入だったら、ROUND(1.2545,1)=1.3
・1.2545を切り捨ての場合、小数点第3位を切り捨てだったら、ROUNDDOWN(1.2545,2)=1.25、小数点第2位を切り捨てだったらROUNDDOWN(1.2545,1)=1.2
・1.2545を切り上げの場合、小数点第3位を切り上げだったら、ROUNDUP(1.2545,2)=1.26、小数点第2を切り上げだったらROUNDUP(1.2545,1)=1.3
知っておくと便利なのが、小数点以下を切り捨てのINT(値)。例えば、INT(1.23)=1、INT(1.9)=1。

時間の取り扱いも注意が必要です。ちょっと長文になるので時間についての解説は割愛します。

板金工場ネットワーク障害

2011/2/7 15時過ぎ 首藤君から板金工場でP-ViBaが見られないと第一報。

1) 事務所の私のPCから板金工場の全部のPCへexpingを使用してpingをしても応答が無い。個々の障害ではなく、基幹ネットワークの障害であることを確認。

2) 現場に駆けつけた首藤君からは板金工場のSW HUBの電源の再投入を行い、VDSLはLEDが点滅しているとの報告が有り、機器は正常に機能しているものと仮定。普通、異常な状態になったら、LEDが高速に点滅したり、点灯したままになる事が多い。

3) 首藤君にPCのIPアドレスを確認してもらったら、正規のIPアドレスではなく、169から始まる不正なIPアドレスだった。

4) SW HUBやVDSLのLEDが点滅していることから、一時的なネットワーク障害によりDHCPサーバーとの通信が長時間途切れ、IPアドレスのリリース期間が切れて、IPアドレスが不正なものになっているものと思い、IPアドレス再取得コマンドを実行してもらったが、それでも不正なIPアドレスのままだった。

5) 念の為、VDSLの電源を再投入してもらい、本館事務所のVDSLも電源を再投入したら正規のIPアドレスが割り振られ、PCが正常に機能した。

原因は、VDSLのどちらかの装置が異常な状態になったものと思われる。今までにこんな現象が発生したことはなかった。

本日、日本通信工販と打ち合わせをし、難航している資材事務所と板金工場間の無線LAN工事を一時保留し、代替方法として機械場のSW HUBから板金工場へSW HUBを使ってUTPケーブルを延長し、板金工場のSW HUB迄ネットワークを接続する方法をとることにした。工事は2月16日(水)に行う。ネットワークが開通後、無線LANの機器を初期化し、障害切り分け作業を実施することとした。無線LANが開通後、UTPケーブルは撤去する。

使用したコマンド
3) IPアドレス確認 ipconfig /all
4) DHCPサーパーよりIPアドレス再取得 ipconfig /renew
   場合によってはIPアドレス解放 ipconfig /releaseを行った後の方が良い場合が有る。

2011年2月6日日曜日

新全社電話網再構築 概略図


























この図は概略図なので、実際の契約や機器構成とは異なります。
太線の部分が無料通話になります。
通話料は税込み金額です。
取引先への通話料は、その拠点によって若干金額に差があります。