2000/05 2000/06 2000/07 2000/08 2000/09 2000/10 2000/12
2001/01 2001/04 2001/06 2001/08 2001/10 2002/01 2002/07
2003/01 2003/04 2003/07 2004/01 2004/06 2005/01

最近わかったこと(2000/10)

==========(2000/10/02)==========
 Mail がとどかない、という問い合わせがあったので、それについて書く。

(1)初めてそのマシン(ソフト)からメールを送る場合、メールサーバーやパスワードの設定を見直す。送信時にエラーが表示されていることが多い。送信したメールが送信済みフォルダに入っているかどうかがひとつのポイント。

(2)初心者の場合、メールはちゃんと送信フォルダに入っているのに[送受信]のボタンを押していない場合が。

(3)メールアドレスの間違い。この場合はほとんどMail DAEMON...英文メールで帰ってくる(実はこれが一番多い、英小文字のl(エル)と英大文字のI(アイ)と数字1、大文字のO(オー)と数字の0(ゼロ)、特に全角@と半角@)

(4)送り先のメールアドレスが変更された場合。メール以外の方法で本人と連絡をとるしかない。

(5)送信側の環境の変化、最近なにかソフトをインストールしていないか。これは他の人(企業)に送ってみればわかる。

(6)メールサーバーのトラブル(特定の企業、プロバイダに送ることができない場合)これは同じ会社のほかの人に送って見る。

(7)時々送れないことがあるばあい添付書類が大きすぎて(2MBなど)途中の経路ではねられていることがまれにある。

(8)メールボックスのトラブル(特定の人にのみ送ることができない場合)その人がメールを読んでいるにもかかわらず、削除されていなくて、ずーっと残っていて、パンクしている場合がまれにあります。別の例では1か月間の転送数が1000 件を越してプロバイダのテーブルがパンクしたことも。

==========(2000/10/09)==========
 Turbo Linux をインストールしていたメインマシン(Endeavor)を潰してWindowsNT4.0server をインストールした。起動すると『LI』だけ表示したまま、じっとしている。ははあまだLinux ががんばっているなと思って、HU氏(近くの I 市に住むMacintosh 愛用者、FreeBSDのプロ、いつもPC-UNIXなどについてお世話になっている)に電話して聞いた。Linux全般でこれは起こることらしく、Windows98 起動FDなどに入っているFDISKの機能で対策できるとの回答。さっそくやってみた。

Windows98の起動FDをドライブに入れて

FDISK  /mbr

これで解決した。マスターブートレコードがLiLoに置き換わったための事件ってことで。まづはよかった。

こうしてNTserverがなんとかセットアップできた。

インターネットに接続して気がついたNT4.0serverってIE3 だったのだ。起動時に表示されるMSNのWebが表示できないと文句をいっている。なんなんこれはおなじグループなのに。

いつも使っているマシンはOffice2000になっていて、Office97の環境がたまーに必要なためこのNTserverにOffice97をインストールしようとしたが、SP3 以上が必要と文句を言っている、SPのCD-ROMをさがしたが見つからない、またまたしかたがないので、インターネットからSP6 をダウンロードすることにした、しかし56MB もある、まあケーブルテレビなのでどうってことはない。はじめた時間が悪く祝日の夜中でなんどかやりなおしてダウンロードして、Office97をインストールした。やれやれ。

==========(2000/10/10)==========

 HUBの口が足りなくなったの(現在最低で8ポート必要)で、この機会に100M/16ポートスイッチングハブを購入した。PCIFX-16N ¥29,800

作業机の整理もしたかったし、スイッチングが何をしてくれるのか良く理解していなかったので勉強のつもりで購入。結構でかい、そして結構熱い(側面にファンの穴だけあいている)、でもACアダプタが内臓なのが気に入っている、ACアダプタのごちゃごちゃは足元の配線を一段と悪化させる。

スイッチングは結局ポート1と4が通信しているときでもポート2と3も通信できるということ、らしい。わが工房の場合はケーブルテレビモデムを2台のマシンで取り合いしているのであまり効果は期待できない?。100Mにしたので、マシン間のファイルの転送は早くなっていると思うので、後日報告する。

スイッチングの設定とか何もしないで動いているが、これでいいんじゃろうか。

==========(2000/10/12)==========

 木市に住む仕事仲間のTN氏がケーブルテレビインターネットでウィルス持ち込まれたと言って来た。彼はケーブルテレビでDHCPでインターネットに接続している。問題なのはWindows98でファイル共有して、パスワードをかけていないThinkPadを使って大きなファイルをダウンロードしたまま外出放置していたこと。(このマシンはメールを使っていないのでケーブル経由の可能性が高い)
次にマシンを立ち上げたときNortonAntiVirusがわめいた!『w32.cabanas』『w32.hllw.qaz.a』の疑いがあります。

ケーブルテレビやOCN常時接続でインターネットしている方へ『DHCP』なら安心と思わないように。

安心してインターネットにも繋げないとは、いやな時代になったものだ。

==========(2000/10/19)==========

 Lunux とFreeBSDでクライアント側からのFTP起動の様子が違うことが気になり、いろいろ調べてみた。

なぜかFreeBSDで動いているサーバーはFTPにしゃきっと繋がるのに、Linuxのサーバーへはいやいや繋がる。ひどいときは3回タイムアウトで、嫌気がさす。LinuxはKondaraとTurboとRedHatで試した。

(1)Endeavor機:Turbo + Postgres:ぜんぜん問題なく、繋がる
(2)ちび:Kondara + Postgres:かなり遅れるが、繋がる
(3)ちび:Kondara:かなり遅れるが、繋がる
(4)Endevor機:Turbo:すぐ繋がる
(5)Endevor機:RedHat WS:すぐ繋がる
(6)Endevor機:Kondara:わずかに遅れはあるが、繋がる

結論:まだはっきりしないが、ちびとKondaraの組み合わせでFTPに問題がある可能性が高い。

==========(2000/10/28)==========

 Accessの小数点ありの計算で誤差がある、これでは経理に使えないとTN氏が言ってきたので、まとめておく。

       短精度浮動小数点 1.3 * 11 => 14.2999994754791 となって 1.3 * 11 => 14.3 にならないのが問題。

       この問題の解決案は =CCur(1.3 * 11) で表示形式を少数以下1 に指定することに...。

『ACCESS97販売管理』技術評論にはP59 [金額計算で注意すべきこと]という項目に
浮動小数点は注意して使わなければならないのが昔は常識であった...
浮動小数点はこのように誤差を生じることがあるため、厳密さを要求される金額計算では、通貨型を用いる。このデータ型の内部表現は整数型であり、10000倍されて整数として記憶されている...
VBAやクエリでは
    Int(1.3@*11@)    Int(CCur(Rate) * CCur([原価]))
注) 左の@の例はクエリではエラーになります

『Accessアプリケーション開発ガイドWin95』MicrosoftにはP125 の[数値型]という項目に、
(1)通貨型では、少数部4整数部15桁に小数点位置が固定されています。
(2)浮動小数点の場合、小数点の位置によって誤差が生じてしまいます、そのような場合は、Clng、Cint、Int関数を使って、演算対象の値をあらかじめ丸めておきます。との記述あり。

『AccessVBAパワーガイド』秀和システムにはP58 の[四捨五入を行うには]という項目に
一旦数値を文字に直して、その中で小数点を見つけ続く数字を調べる関数が記載されている。

Option Compare Database
Option Explicit

Function round(x As Double, n As Integer) As Double
Dim numstr, s1 As String
Dim pos, nvalue As Integer
Dim roundvalue As Double
x = x * 10 ^ n
numstr = Str(x)
    For pos = 1 To Len(numstr)
        If Mid(numstr, pos, 1) = "." Then
            nvalue = Val(Mid(numstr, pos + 1, 1))
        Exit For
    End If
    s1 = s1 & Mid(numstr, pos, 1)
    Next pos
roundvalue = Val(s1)
If nvalue > 5 Then
roundvalue = roundvalue + 1
End If
round = roundvalue / (10 ^ n)
End Function

2000.10.03 更新 ページ訪問者数 カウンタValid HTML 4.01 Transitional

2000/05 2000/06 2000/07 2000/08 2000/09 2000/10 2000/12
2001/01 2001/04 2001/06 2001/08 2001/10 2002/01 2002/07
2003/01 2003/04 2003/07 2004/01 2004/06 2005/01