【Computing】のブログ記事

 先週からやっていたwebへのデータ書き出しと検索プログラム設置、どうにかこうにか完了。自家製システムのボタンを押すと自動的にデータが書き出され、サーバーに転送されるようにした。dosのバッチなども使って転送の準備をしたりバックアップを取ったりもする。dosの頃からパソコンやってて良かったと思う。

 やや遅くなってしまったが22時過ぎに仕事を切り上げてスポーツジムへ。30分だけ泳いで風呂入って帰宅。やや物足りない気もするが、昨日の疲れもまだ残っているから30分位がちょうどいいのかもしれない。すでに体重は3kgほど減っているが、今週はこの後出張だからもう運動は出来ないし、ラーメンを大量に食べるだろうからすぐ戻っちまうだろうなあ。食い過ぎなきゃいいのは分かっているが・・・それもまた人生。

2007年3月10日  

web書き出し

 今日は仕事。職場で使っている自家製システムからデータを書き出し、webサーバーでデータを検索できるようチョコマカと作業。普段自分のサイトや運営に携わっている自動車のサイトなどで色々と遊んでいるから、仕事でも思いついたときにすぐに試すことが出来る。ネットやってて良かったと思う瞬間である。失うものも多いけどな(笑)。

 3/5~3/6で新潟出張。まずは普通に出社して2時間ほどPC修理。終わってから同僚に最寄り駅まで送ってもらって出発。モノレール→山手線→新幹線→在来線→在来線と乗り継いで目的地へ。新幹線だけだと「移動」って感じだけど、日中に在来線を二本も乗り継ぐとちょっとした旅行気分になる。燕三条駅では待ち時間が30分ほどあったので、駅に展示されている地元の会社の出品物や名産品センターなどを見て回った。ご飯がくっつかないしゃもじなんかもこの辺で作られているようで、普通サイズだけではなく業務用の特大サイズも売っていた。長さが1m位あってもの凄い存在感だ。給食用の釜なんかで使うのかな。

 夜は駅の近くの洒落た料理店で軽く食べて飲む。会社の人の友人の店らしいので安心して食べて飲める。家から遠く離れた町の素敵な店でホッとできるのはとても楽しい。

 二日目、メインの用事は新工場の電話工事・LAN/WAN設定の打ち合わせ。あっさり終わるかなと思っていたが、通信会社の営業マンが非常にアグレッシブかつエキサイティングな人で話しが合い、面白かったし非常に勉強になった。今まで地道に経験してきたことが無駄ではなかったと分かり嬉しかった。

 空いた時間には派遣社員の勤務時間計算用のエクセルシートを作った。新潟の事務員さんが四苦八苦しているのを見て気軽に提案し試作してみたのだが、思っていたよりもなかなか手強かった。たとえば月の労働時間だけでなく週の労働時間も出したいし、1日が仮に水曜日だったら前月の二日間も表示して週の時間を計算しチェックしなければならない。入力回数は少しでも減らしたい。昼に1時間、午後に15分の休憩があって労働時間から差し引くのだが、労働時間から単純に75分引くだけだと半日休暇の時に計算が合わなくなる。こういった内容は依頼者もそこまではパターンを見切れていないので、ある程度作りながらこちらから聞き取り調査をしなくてはならない。請け負うんじゃなかったと後悔しつつも、出張中の限られた時間の中での作業はなかなかエキサイティングだ。

 たとえば今月だと、1日が木曜日、前月は2月なので28日が水曜日になる。手書きの表とか、エクセルで作られていても手書きに毛が生えたような表だと、25日あたりから表を作って使わない日には斜線を入れたり網掛けをしたりというパターンが多い。これでもいいんだけどどうせエクセルでやるなら出来る限り自動にしたい。いつものように年と月を入れたら自動でその月の1日を計算してその一ヶ月の表になるようにして、それに前後数日分を追加した表にした。せっかくここまでやったから週単位の計算も自動でと思い色々チャレンジしたが、第何週かを計算する「WEEKNUM」という関数がオプション(初回のデフォルトインストールではインストールされない)であることが判明。手元にインストールCDが無く、手が出なくなってしまった。

 残り時間も少ないので、あきらめて宿題にしようかとも思ったが、ここでバイク仲間から聞いた「不可能なんてあり得ない」という言葉を思い出した。部品が無ければ作ればいい、あきらめるなという有り難い(場合によっては辛い)言葉だ。関数が無ければ別の関数で同じ処理を作ればいい。しばし考え、年初の日付を出して日数を計算し、7で割るという方法を思いついた(実際には調整を1入れる必要がある)。これで週番号は取得できる。しかし出来ればその年の第何週かではなく、その月の第何週かを計算させたい。更にしばし考え、表の初日の曜日をWEEKDAY関数で数字にし、それに1ずつ足していった数を7で割り、あまりを切り捨てて週番号ということにした。で、その数字を元にSUMIFで集計し、第1週から第5週の時間の合計が自動で出てくるようにした。こういった表の作成はそれを専門にしている人には当たり前のものなのだろうが、私のような広く浅くの社内運用担当者にはいろいろと勉強になる。仕事の勉強だけでなく、月とか曜日とか週などの仕組みなども改めて考えることになり、面白い。

 一応出来上がってチェックも終わり、説明をし終わったのがちょうどタイムリミットの16時30分。ギリギリだったがなんとか間に合った。それから軽く別の作業とまとめをして17時半に出発。雪が降る中燕三条まで送ってもらい、1分後に来た新幹線で帰京。

 「不可能なんてあり得ない」はKTM仲間から聞いた言葉だ。一度しか会ったことがない人だが、古い左キックのKTMが好きな仲間としてとても楽しく話しが出来た。今は闘病中と聞いている。不可能なんてあり得ない・・・頑張って欲しいと思う。

2007年2月28日  

詐欺メール

その1その2 の続き。

 詐欺メール(迷惑メールの中で、単なる宣伝ではなくワンクリック詐欺目的で送られてくるメール)のパターンがまた少し変わった。初期の頃はリンク先にメールアドレスをそのまま仕込んでいた。先日採り上げたのは16進コードでメールアドレスを仕込む方法だったが、これも見抜いた人が多かったらしく、最近は独自(?)に文字を入れ替えて埋め込んでいるようだ。

 リンク先のURLが「~/?num=*****&md=************72」などとなっていたら、後ろの****の部分はメールアドレスが仕込まれている。文字数がメールアドレスと同じ(最後の2文字は除く)だから割とすぐに分かる。大文字の「P」が「t」、小文字の「s」が「ドット」、大文字の「I」が「@」のようだ(他にもいくつか分かっているけど、全部書くとワシのメールアドレスになっちゃうからここまでにしておく)。

 「ちょっとだけ見てみよう」なんて酔っぱらったときにうっかりクリックすると案内ページが表示される。小さい文字で料金(10万円弱・・・安くはないが決して払いきれない額ではないという微妙な設定)が表示されていて、「入口」をクリックすると請求されるという仕掛けになっている。メールからいきなり詐欺ページにリンクされているのではなく、案内ページから自分の意志で「入口」をクリックしたことになるので、これを請求の根拠とするのだろう。で、その開いたページにはメールアドレスが埋め込まれているのでクリックした人に請求メールが届く・・・ということなのだろう。

 万一引っかかってしまいメールアドレスがバレたとしても、住所まで割り出される可能性は相当低い。なので無視していればいいとは思うが、ネットオークションなんかで住所とメールアドレスの情報をかき集めて売っている輩がいたりすると、あっさり割り出されてしまうなんてこともあるかもしれないな。

2007年1月31日  

迷惑メールその2

前回(1/26)の続き

 一目でメールアドレスが埋め込まれているなと分かるリンク先(URLの途中に「.cgi」とか「=」があり、その後ろに自分のメールアドレスがある)の他に、長々と英数字が書いてあるものもある。メールアドレスにコードでも振って管理しているのかなと思ったけど、何十億通も出しているらしいからコード管理はそうとう面倒っぽいな。

 メールソフトは Thunderbird を使っているのでジャンクメールは自動的に振り分けられるのだが、いくつか発掘して調べてみた。どうやらメールアドレスを16進コードに変換しているようだ。例えば

abc@hogehoge.comm

61626340686F6765686F67652E636F6D6D

と変換されているんですな。試しに二桁ずつ頭に%を付け(%61%62%63・・・)て、ウィキペディアで何かを検索した結果のURLの似たような部分と入れ替えて再読込してみたら、自分のメールアドレスを検索した結果が表示された。そんなモンだろうなと思っていたけど、やはり(フツーの人から見て)得体の知れない文字群から自分のメールアドレスが浮かび上がってくると、ビックリするし怖いですな。

2007年1月30日  

エクセルで営業日判定

 同僚がエクセルで一ヶ月の予定表・チェックリストを作っていた。土日等の休業日には横線を引いているのだが、図形描画でやっているので大変そうだ。自動で営業日判定が出来ないかなと思い試してみた。土日の判定ぐらいはあっという間に出来そうだが、ワシの勤務先は第二土曜は出勤なのだ。条件付き書式で「土日は網掛け」という訳にはいかなそうである。グーグルで検索してみたが、「エクセル 第二土曜」で検索しても求人情報の勤務条件がヒットするばかり。

 まずは基準日(その表の中の1日)の取得。今日の日付を元に来月の表を・・・と思ったが、この作業は月末に行う時もあれば、月初にずれ込んでしまうこともある。手入力(エクセルではCTRL+;[セミコロン]で当日の日付が入力できる。ちなみにCTRL+:[コロン]で現在時刻)とも思ったが、後々の運用を考えて、年と月をそれぞれ別のセルに入力して、それを元に日付を生成して基準日とする形にした。それに1を足す式を入れていけば1日から31日まで並ぶ。これをA列にした。

 次に曜日を表示させてみた。B列にA列の内容を持ってきて(「=A8」など)、書式を"aaa"にするだけ。更に隣のC列にはWEEKDAY関数を使って曜日を数字で表示させる。日曜日が1、土曜日が7となった。

 更にIF関数を使って、D列には土日だったら1が入るようにし、E列に「土曜日だったら1」と表示させ、F列にE列の累計を計算させてみた。これで「土曜日だけ1が入っている列」と「第何土曜日から始まる週(ただし土曜日始まりで他の曜日にも1が入っている)」が並んだ。

 この二つの列を見比べて、第二土曜だけ標識が立てばいいんだよなと思いつつ、「二つの列を足して3だったら第二土曜(土曜日の標識1と第二土曜の週の2の和が3)」としてみた。しかしこれでは第三週の平日も3になってしまう。失敗だ。

 しばし考え、平日は0なのでかけ算にすればいいとひらめいた。二つの列を掛けて、2だったら第二土曜日ということになる。IF関数を使い、「第二土曜日だったら1」がG列に入るようにした。H列に「D列-G列」を入れれば、「第二土曜日以外の土日」になった。

 だいたいうまく行った。日付列の隣に「もしH列が1だったら"-------------"」と式を入れて、休業日には取消線もどきが表示されるようにした。ついでに一番左に一列挿入し、臨時休業だったら1を入れるようにした。その列とH列との合計を最終の休業日として使えばいいだろう。臨時営業の時は-1を入れればいい。あとは列を入れ替えたりして計算用の列は右の端の方に追いやり、印刷範囲を指定して、余計なところが印刷されないようにして終了。

 後から気付いたが、単純に土曜日が8~14日だったら第二土曜日というのでも大丈夫そうだな(普通はそうするか・・・)。構想なしにいきなり作り始めたからなあ・・・まあ、結果は一緒だし、一応正しく動くみたいだからいいことにしておこう。

 30分程だったがなかなか楽しめた。あとはこの手の表を使いそうな人、エクセルが好きそうな人に配ってお終い。エクセルを方眼紙としてしか使っていない人も多く、「へー、エクセルって計算も出来るんですか」という声を聞いたこともある。仕事に使う表としてはまだまだ不完全だが、誰か一人ぐらいは使ってくれるだろう。でも、「今までの表の方が使いやすい」とか「線を引き直すのはそんな手間じゃないし」とか「今日は忙しい」とかで終わっちゃう可能性も大だな・・・

2007年1月26日  

迷惑メール

 迷惑メールが多すぎて困りますな。

 中には一目で詐欺と分かるものもある。リンクされているURLがCGIになっていて、パラメータにワシのメールアドレスが載っているからすぐ分かる。htmlメールでわかりにくくされている場合もあるから、気付かずにクリックしてしまう人もいるんだろうな。

 開放感に満ちあふれた金曜日の夜、ちょっとイラッと来たのでそのリンクURLをコピーし、メールアドレスの所をワシのメールアドレスからそのリンクされているドメインの webmaster や info に直してからブラウザで開いてみた。出来の悪いアダルトサイトが表示され、下の方に「年間わずか98000円」などと書かれている。画像をクリックすると案の定「登録されました」と出てきてブラウザ情報やらプロバイダ名やらが表示された。今頃請求メールがその詐欺サイトのwebmasterやinfoにバンバン送られているのだろうか。

2006年12月27日  

サーバーディスク交換

 またまたサーバーがらみのトラブル。ブレーカーを落としてしまい、UPSも使い切ってしまったようで強制終了されてしまい、その影響でなにかおかしくなってしまったようだ。S-ATAのディスク2本でミラーリングになっているはずが、それぞれのディスクの区画がきれいに全部見えてしまっている。更に、Cドライブはディスク0、Dドライブはディスク1のものが使われているという入れ子状態。そして更に、1日に2、3回フリーズするというかなりヤバい状態。

 S-ATAのディスクを使ったサーバーにはこれまでもいろいろ泣かされていて、福岡に緊急出張して直しきれなかったこともある(後日分かったがサーバー付属のリカバリCDに不具合があり、マニュアルどおりにやったら絶対にリカバリ出来ないというとんでもないものだった)。このときも停電がらみのトラブルだった。

 業者さんと一緒にディスクを抜き出し、ツールでディスクコピー。なんとかイケて1時頃終了。これで年が越せそうである。

               
Powered by Movable Type 4.22-ja