ユーザ用ツール

サイト用ツール


メモ

文書の過去の版を表示しています。


メモ

設計時の見落とし - 履歴持ちマスタの参照
私の経験の中であった、設計時の見落としをテーマとして何点か書いてみます。
社員マスタなど過去の情報も保持しておくために改定日をキーに含め履歴を持つ\\
ようにしてあります。
キー 自然キーなのは置いといて(^^;\\
社員コード\\
改定日FROM(数値型)\\
※最終履歴の場合は、改定日TOの項目に99999999をセット 
例 社員00001が結婚して9/16から姓が変更した場合\\
00001 20050401 20080915 鈴木 花子 \\
00001 20080916 99999999 佐藤 花子
請求年月を参照してデータを吐き出す処理があり、その中の項目には社員コードが\\
あり社員マスタを参照して、社員名をセットするようになっておりました。
稼動から数ヶ月経って、ユーザーからエラーとなりデータが吐き出せないとの\\
問い合わせがありました。\\
データチェックの中に社員名が未セットならエラーとなるように仕組んでいた\\
のですが、どうやらそのエラーでひっかかり吐き出せていなかったのです。
原因を探っていくと、データの社員が途中入社で改定日が2008/08/04で登録され\\
ている場合に発生することが分かりました。
実は、仕様書に請求年月+1としてから、社員マスタのデータを抽出するように\\
なっていて、請求年月が2008/08の場合、2008/08/01が条件となります。\\
(日付は数値型として年月日の8桁で登録されている)
SQLのWHERE条件として\\
請求年月+1 BETWEEN 改定日FROM AND 改定日TO\\
 20080801  BETWEEN 20080804  AND 99999999
請求年月+1としていた為に、途中入社の場合に抽出条件から外れていたのです。\\
他の途中入社の方が今まで引っかからなかったのは、単純に過去入社だからです。
修正対応としては、履歴の先頭の改定日FROMを強制的に1日になるような社員マスタ\\
のビューを作成して、そのビューを参照させるようにしました。
\\
この記事を書いて思ったけど、社員名が空になるのさえ防げればいいとのことで\\
直近の日にして抽出するようにとの指示でそうしたけれど。だったら年月だけで\\
比較した方が簡単だったかも・・・\\
それに同年月に変更があったら後履歴を参照すべきか\\
ってか、そもそも請求年月+1としている仕様の時点で整合性としてよく無いわな。


問題の報告は、義務ではなく権利
日経SYSTEMSを定期購読しているのですが、2008/10号は\\
特集1「最強チームはこう作る」でした。\\
会社にあれば読んでみて下さい。\\
http://www.nikkeibpm.co.jp/cs/mag/it/nos/index.html
「進捗の遅れや品質劣化などの問題が起こったとき、\\
どうしてすぐに報告を上げてくれないのか」とプロジェクト・リーダー\\
なら誰しも、この歯がゆさを感じたことはないでしょうか?
メンバーが悪い報告を上げない理由として、日本のITエンジニアに\\
根付いた職業倫理観が原因との指摘があるようです。\\
これは、日本の製造業は職人的な気質が強く製造現場至上主義で\\
大きな問題に直面しても現場の頑張りによって乗り越えようとする。\\
日本のITエンジニアは、この気質を引き継いでいます。
そのため、過剰な仕事を割り振られても、根性で乗り切ろうとして\\
しまう。「できそうにありません」「私には無理です」というのは\\
ITエンジニアとして自己否定するようなもので恥だと思ってしまう。\\
だから問題が起こったとき、ITエンジニアとしてのプライドを守る\\
ため、ギリギリまで挽回しようとしてしまう。
いくらプロジェクト・リーダーが「すぐに報告するように」と命じて\\
もすぐには改まらないのは当然である。
対策の基本\\
・プロジェクト・リーダーから日々メンバーに対して声をかけ、様子\\
 をうかがう。\\
・プロジェクト・リーダーから本音を打ち明けることで、メンバーも\\
 本音で話しやすくなり問題を報告しやすい雰囲気が生まれる。\\
・メンバーの人格、価値観、能力を否定しないことを心掛ける。\\
・問題の報告を「メンバーの義務ではなく権利だ」と繰り返し説明する。

設計時の見落とし - システム年月+締日

私の経験の中であった、設計時の見落としをテーマとして何点か書いてみます。
現在のプロジェクトでは、私の方でコードレビュー+検証をしております。\\
その中に締日(1~31)と得意先コード範囲を入力し出力させる帳票がありました。
そして、そのプログラムを今日10月1日に私の方で検証をしてみたわけですが、「対象データがありません」とエラーになるわけです。
ソースリストを見ると、システム年月+締日となっており、仕様書もそのよう\\
に記述されておりました。\\
そのプログラムは9月中に製造されており、テストデータも9月だけで作成されていた為、前月である9月では問題なく出力されていたわけですが・・・\\
<FONT color=#ff0000>月が変わったわけですから、当然、対象データは抽出されてきません(^^;
締日(1~31)だけしか入力項目が無いのでは、当月しか出力できないわけです。\\
特別な帳票というわけでは無いので、いつでも出力できるようにするべきです。
設計者に現象を伝え、年月項目を追加して初期値をシステム年月とするように提案しました。

.Netにおける、動的DLLの解放について 
ごくたまに、@ITでも回答するようになったのですが、この質問者さんは結果をきちんと返して頂いたので好感がもてます。
件名:動的DLLの解放について\\
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46665&amp;forum=7\\
【質問内容】 \\
①EXEを実行(EXEは24h常駐です。) \\
②動的にDLLをロード・実行し、DLLの処理終了(EXEは終了しない。) \\
③DLLのPGを改訂し、実行環境にコピーすると、エラーMSGがでる。 \\
 「○○.dllをコピーできません。他の人またはプログラムによって使用され\\
ています。ファイルを使用している可能性があるプログラムを全て閉じてから、やり直してください。」 \\
\\
EXEを24h常駐させ、実行条件によって、ロードするDLLを変更したいと考えています。\\
\\
【回答】 \\
.NETでは、Win32の時のFreelibrary関数(DLLを呼び出しプロセスの アドレス空間から切り離す)のようなものはなく、一旦DLLを ロードしたらプロセスを終了するまでメモリに残り続けます。\\
(通常のDefault AppDomainにロードされている場合において)\\
\\
<IMG src="http://yaju.wankuma.com/img/AppDomain.jpg">\\
\\
あえて、動的にする場合は、CreateDomainにて、User AppDimainを作成し、そこにアセンブリをロードして実行、終了時にAppDimainをUnloadすることで、動的にアセンブリを解放することが出来るようになります。


シャローコピー と ディープコピー
シャローコピー (Shallow Copy) と、ディープコピー (Deep Copy) という言葉を\\
今頃、知りました。仕組みは知っていたけれど・・・
コレクション系クラス(ArryaListなど)をコピーしようとして、\\
\\
Dim test1 As New ArrayList\\
Dim test2 As New ArrayList
test1.Add("A")\\
test1.Add("B")
test2 = test1    'シャローコピー
test1.Add("C")\\
test2.Remove("A")\\
\\
とした場合、追加していない test2 にも、"C" が追加され、削除していない\\
test1 では、"A"が削除されます。\\
\\
これは、参照先を示すアドレスがコピーされるだけ、コピー元もコピー先も\\
結局は同じものを指し示していることを意味します。\\
\\
これを、シャローコピー (Shallow Copy、簡易コピー、浅いコピーなど) \\
と言います。\\
\\
\\
逆に、中身そのものをコピーする(参照先のインスタンスをも複製する)場合を\\
ディープコピー (Deep Copy、深いコピーなど) と言います。 \\
\\
Dim test1 As New ArrayList\\
Dim test2 As&nbsp;ArrayList =&nbsp; Nothing
test1.Add("A")\\
test1.Add("B")
test2 = New ArrayList(test1)  <FONT color=#008000>'ディープコピー
test1.Add("C")\\
test2.Remove("A")\\
\\
とした場合、test1 と test2 は、中身そのものがコピーされるため、\\
それぞれは影響を受けません。test1 のみに"C"が追加され、\\
test2 のみに "A"が削除されます。\\


設計時の見落とし - 範囲指定と個別指定
私の経験の中であった、設計時の見落としをテーマとして何点か書いてみます。\\

請求書を発行する機能があり、その設計書には締日と請求先コードの範囲指定\\
として開始コードと終了コードの入力項目がありました。\\
\\
その設計書の画面レイアウトを見た、営業兼SEの方が仰りました。\\
「お客さんによっては、他のところより早めに請求書を要求してしてくるところが\\
ある、特に大きい会社など。\\
範囲指定ではなく、請求先一覧を表示し、チェックオンした請求先の請求書を発行\\
するようにしたい。」\\
\\
ということで、設計書の見直しが行われました。\\
\\
このようなことがあるので、請求書の発行機能に限らず、安易に範囲指定で済ませ\\
ていいのかどうか、お客さんと検討してみるといいでしょう。

設計時の見落とし - 切り上げ
私の経験の中であった、設計時の見落としをテーマとして何点か書いてみます。
仕様書の中に、「小数点第4位で切り上げ」というのがありました。\\
容積の求める項目なのですが、小数点3桁までとなっている。\\
\\
容積 = (たて&#247;1000)&#215;(よこ&#247;1000)&#215;(たかさ&#247;1000)\\
\\
製造作業も終了し、検証作業ということで検証者がチェックしたわけですが、\\
不具合ということで、容積の計算結果が挙がってきたわけです。\\
\\
下記の計算を行ったとき\\
(9999&#247;1000)&#215;(9999&#247;1000)&#215;(9999&#247;1000) = 999.70003\\
製造者の計算結果は、999.701\\
検証者の計算結果は、999.700\\
\\
<FONT face="Times New Roman">小数点第4位で切り上げであるため、小数点第4位の値は0であるから\\
結果の末桁は、0ではないのか? という認識ですね。\\
それではと、Excel上の切り上げ関数のROUNDUPで実行してみました。\\
ROUNDUP(999.70003,3) = 999.701  という結果となったわけです。\\
\\
この件は、お客さんに確認して、小数点第4位以降を切り上げでいうことで\\
999.701 で問題ないとなりました。\\
端数処理もちりもつもれば、集計結果が違ってきてしまいますからね。\\
\\
端数処理の違いで有名なのは四捨五入で、銀行型丸め、通常の四捨五入\\
があります。\\
http://www.atmarkit.co.jp/fdotnet/dotnettips/700mathround/mathround.html\\
\\
端数処理は意外と盲点なので、気をつけた方がいいでしょう。


設計時の見落とし - 複数締日の設定
私の経験の中であった、設計時の見落としをテーマとして何点か書いてみます。
取引条件は顧客によって異なります。\\
月末締めの企業が多いと思いますが、5日、10日、15日、20日など別の日を締日としている会社も存在します。\\
また、締日は、通常は1取引先で締日は1つですが、取引先によっては「15日締翌月末現金払い、月末締め翌々月10日払い」などというように1ヶ月に複数回締日のあるところもあります。\\
\\
10日締め、20日締め、月末締めというように3回締日のある企業も存在することも考慮して、取引先マスタメンテナンスでは締日項目を3つ用意してあります。\\
\\
画面レイアウト上でも、3つの数値入力を用意し、末日は31と設定して\\
1~31の範囲チェックといずれか1つは必須入力とするようなチェック処理\\
が仕様として記述されており、プログラムも仕様通り作成されました。\\
\\
その後、設定した締日を使って処理する請求処理系の機能を製造するにあたり製造側から問題提起がありました。\\
\\
3番目のみ入力されているとか、1番目と3番目で入力されているとか、\\
10、5、15など昇順に並んでいないとかがあると、処理が面倒になる。3つの項目が順番通りに入っていることを保障してほしい。\\
\\
確かに締日に3つの項目の並びには特定の意味は無いわけですから、取引先マスタメンテナンス上にて、空きのチェックや昇順にセットするようにチェック仕様を追加し、修正することとなりました。\\
\\
締日に限らず、複数項目がある場合では、並びや空き入力なども考慮をしてチェックしなくても問題ないのかまで、意識してあげましょう。\\
\\
複数締日 http://riko.s235.xrea.com/system/sysDes03-0403-03.htm

戯言 - 新入社員のタイプ
http://www.jpc-net.jp/new_recruit/typehistory.html
http://sizen.yamagomori.com/04_yume/freshmantype.html
<A href="http://www.jpc-sed.or.jp/index.html">財団法人社会経済生産性本部</A>が毎年、新入社員のタイプを分析し、流行のキーワードと絡めて発表している、新入社員のタイプがあります。\\
ちなみに今年2008年度の新入社員のタイプは「カーリング型」です。 この命名は、1973年度から行われております。
先輩や上司だって、今は偉そうに指導しているけれど、新入社員のころはいろいろ言われてたわけさ。\\
\\
さて、みなさんは何タイプでしたでしょうか?
<TABLE border=1>
<TBODY>
<TR>
<TH>年度</TH>
<TH>命名</TH>
<TH>概要</TH>
<TR>
<TD>1973</TD>
<TD>パンダ型</TD>
<TD>おとなしく可愛いが、人になつかず世話が大変</TD>
<TR>
<TD>1974</TD>
<TD>ムーミン型</TD>
<TD>人畜無害でおとなしいが、大人か子供か得体知れず</TD>
<TR>
<TD>1975</TD>
<TD>カモメのジョナサン型</TD>
<TD>群れから外れやすく上空からしらけた眼で見ている。一方でめざとい</TD>
<TR>
<TD>1976</TD>
<TD>たいやきクン型</TD>
<TD>頭から尾まで過保護のアンコがギッシリ</TD>
<TR>
<TD>1977</TD>
<TD>人工芝型</TD>
<TD>見た目きれいで根が生えず、夜のネオンでよみがえる</TD>
<TR>
<TD>1978</TD>
<TD>カラオケ型</TD>
<TD>伴奏ばかりで他と音程合わず。不景気な歌に素直</TD>
<TR>
<TD>1979</TD>
<TD>お子様ランチ型</TD>
<TD>何でも揃って綺麗だが、幼さ抜けず歯ごたえなし</TD>
<TR>
<TD>1980</TD>
<TD>コインロッカー型</TD>
<TD>小じんまりと画一的で、外見も反応もすべて同じ</TD>
<TR>
<TD>1981</TD>
<TD>漢方薬型</TD>
<TD>煎じ方悪ければ、効き目なく副作用生じる</TD>
<TR>
<TD>1982</TD>
<TD>瞬間湯沸かし器型</TD>
<TD>新式と旧式の二種類存在し、反応・熱意が正反対</TD>
<TR>
<TD>1983</TD>
<TD>麻雀牌型</TD>
<TD>大きさと形同じで並べやすいが、中身はわからず</TD>
<TR>
<TD>1984</TD>
<TD>コピー食品型</TD>
<TD>外見のみ本物風で手間いらずだが、歯ごたえなく栄養も心配</TD>
<TR>
<TD>1985</TD>
<TD>使い捨てカイロ型</TD>
<TD>もまないと熱くならず、扱い方もむずかしい</TD>
<TR>
<TD>1986</TD>
<TD>日替わり定食型</TD>
<TD>期待したわりには変わり映えせず、同じ材料の繰り返し</TD>
<TR>
<TD>1987</TD>
<TD>テレフォンカード型</TD>
<TD>一定方向に入れないと作動しないし、仕事が終わるとうるさい</TD>
<TR>
<TD>1988</TD>
<TD>養殖ハマチ型</TD>
<TD>過保護で栄養分高いが、魚らしくピチピチしていない</TD>
<TR>
<TD>1989</TD>
<TD>液晶テレビ型</TD>
<TD>反応早いが、値段高く色不鮮明。改良次第で可能性大</TD>
<TR>
<TD>1990</TD>
<TD>タイヤチェーン型</TD>
<TD>装着大変だが、装着の具合次第で安全・駆動力OK</TD>
<TR>
<TD>1991</TD>
<TD>お仕立券付ワイシャツ型</TD>
<TD>価格高く仕立てに時間かかり、生地によっては困難</TD>
<TR>
<TD>1992</TD>
<TD>バーコード型</TD>
<TD>読み取り機(上司)次第で、迅速・正確・詳細な処理可能</TD>
<TR>
<TD>1993</TD>
<TD>もつ鍋型</TD>
<TD>一見得体知れずで厄介だが、煮ても焼いても食えそう</TD>
<TR>
<TD>1994</TD>
<TD>浄水器型</TD>
<TD>取り付け不十分だと臭くてまずいが、うまくいけば必需品</TD>
<TR>
<TD>1995</TD>
<TD>四コママンガ型</TD>
<TD>理解に時間がかからず傑作もある一方で市場にあふれているので安く調達できる</TD>
<TR>
<TD>1996</TD>
<TD>床暖房型</TD>
<TD>断熱材(評価)いれないと熱(やる気)が床下(社外)に逃げる</TD>
<TR>
<TD>1997</TD>
<TD>ボディシャンプー型</TD>
<TD>泡立ち(適応性)よく、香り(個性)楽しめるが、肌(会社体質)に会わないこともある。石鹸(従来社員)以外に肌を慣らすことも必要</TD>
<TR>
<TD>1998</TD>
<TD>再生紙型</TD>
<TD>無理な漂白(社風押し付け)はダイオキシン出るが、脱墨技術(育成法)の向上次第で新タイプの紙(新入社員)として大いに市場価値あり</TD>
<TR>
<TD>1999</TD>
<TD>形態安定シャツ型</TD>
<TD>防縮性、耐摩耗性の生地(新人)多く、ソフト仕上げで、丸洗い(厳しい研修・指導)OK。但し型崩れ防止アイロン(注意・指示)必要</TD>
<TR>
<TD>2000</TD>
<TD>栄養補助食品型</TD>
<TD>ビタミンやミネラル(語学力やパソコン活用能力)を豊富に含み、企業の体力増強に役立ちそうだが、直射日光(叱責)に弱く、賞味期限(試用期間)内に効果(ヤル気)薄れることあり</TD>
<TR>
<TD>2001</TD>
<TD>キシリトールガム型</TD>
<TD>種類は豊富、価格も手ごろ。清潔イメージで虫歯(不祥事)予防に効果ありそうで、味は大差ない</TD>
<TR>
<TD>2002</TD>
<TD>ボディピロー型(抱き付き枕)</TD>
<TD>クッション性あり、等身大に近いので気分はいいが、上司・先輩が気ままに扱いすぎると、床に落ちたり(早期退職)、変形しやすいので、素材(新人の質)によっては、いろいろなメンテナンスが必要となる</TD>
<TR>
<TD>2003</TD>
<TD>カメラ付きケータイ型</TD>
<TD>その場で瞬時に情報を取り込み発信するセンスや処理能力を持ち、機能も豊富だが、経験や知識がなかなか蓄積されない。また、中高年者にとって使いこなしきれない側面もある</TD>
<TR>
<TD>2004</TD>
<TD>ネットオークション型</TD>
<TD>ネット上で取引が始まり、良いものには人気が殺到しさっさと売れる一方で、PR不足による売れ残りも多数。一方で、ブランド名やアピールに釣られて高値で落札したものの、入手後にアテが外れることもある</TD>
<TR>
<TD>2005</TD>
<TD>発光ダイオード型</TD>
<TD>電流を通す(きちんと指導する)ときれいに光る(いい仕事をする)が決して熱くならない(冷めている)</TD>
<TR>
<TD>2006</TD>
<TD>ブログ型</TD>
<TD>表面は従順だが、様々思いを胸に秘め、時にインターネット上の日記を通じて大胆に自己主張する。繊細な感受性とブログ的なネットワーク力に優れるが、パソコンに語るだけに止まる傾向もある</TD>
<TR>
<TD>2007</TD>
<TD>デイトレーダー型</TD>
<TD>自己主張型で、常に良い待遇・仕事を求めて転職をもくろむ</TD>
<TR>
<TD>2008</TD>
<TD>カーリング型</TD>
<TD>新入社員は磨けば光るとばかりに、育成の方向を定め、そっと背中を押し、ブラシでこすりつつ、周りは働きやすい環境作りに腐心する。しかし、少しでもブラシでこするのをやめると、減速したり、止まってしまったりしかねない。</TD>
<TR></TR></TBODY></TABLE>参考資料:<A href="http://www.jpc-sed.or.jp/cisi/mailmag/m020_pa6.html">http://www.jpc-sed.or.jp/cisi/mailmag/m020_pa6.html</A> 


戯言 - スピンゼーベック効果
スピンゼーベック効果:\\
磁石の両端に温度差をつけるだけで磁気が流れる新現象で、慶応大大学院理工学研究科 \\
修士1年の内田健一さんらが発見し、英科学誌 「ネイチャー」に発表した。 \\
<A href="http://www.keio.ac.jp/ja/press_release/2008/kr7a43000000genl-att/081006.pdf">http://www.keio.ac.jp/ja/press_release/2008/kr7a43000000genl-att/081006.pdf</A> \\
\\
何がすごいかというと、スピンゼーベック効果により、磁気デバイスの記録密度をかなり向上させることが出来ます。これは、数ミリメートルの距離にわたって純粋なスピン流、つまり電荷の流れを伴わないスピンの流れを得ることが出来るからです。しかも、磁石の両端に温度差\\
をつけるという非常に単純な方法なのでエネルギー損失が少ない。\\
\\
主に情報ストレージに用いられる磁気デバイスは、微小な磁石の方向(上向き、下向き)によって情報を記録していますが、記録密度の向上には限界があります。\\
下記サイトで、ハードディスクのしくみが映像で見れますが、確かにこれでは記録密度に限界がありますね。<A href="http://www.sugilab.net/jk/joho-kiki/1504/index.html">http://www.sugilab.net/jk/joho-kiki/1504/index.html</A>\\
ちなみにこのサイトですが、いろいろなデバイスの仕組みが映像でみれて面白いです。\\
<A href="http://www.sugilab.net/jk/joho-kiki/1000.html">http://www.sugilab.net/jk/joho-kiki/1000.html</A>\\
\\
\\
科学ネタってことで、別件ですが、2次元物理シミュレーション体験ソフトウェア「OE-CAKE!」というのがあります。\\
ペイントソフトで絵を描くような感覚で様々な物体を作成し、それらが物理法則に従って動く様子を見ることができます。\\
<A href="http://www.octaveengine.com/casual/oecake/">http://www.octaveengine.com/casual/oecake/</A>\\
\\
そんなOE-CAKEを使った揺らしムービーがコチラ、まー使い方しだいですねwww\\
<A href="http://graffito.blog14.fc2.com/blog-entry-545.html">http://graffito.blog14.fc2.com/blog-entry-545.html</A>

空のIF文を書きますか?
@IT会議室にて、空のIF文を書きますか?というアンケートがあります。\\
<A href="http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=47060&amp;forum=7">http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=47060&amp;forum=7</A>
許容できる、許容できない、どちらでもよいの3択です。\\
\\
私は、「許容できる」に投票しました。\\
\\
IF文以外で、Select Case文でも、たまに書くことがあります。\\
その場合、本当に何もないと違和感があるのでコメントを入れています。(rainさん回答と同じ)\\
\\
仕様書を書くときでも、何も処理しない場合は、あえて、「何もしない」などと記述してますので、それがコーディングに反映している感じです。\\
\\
仕様書と合わせる意味でも、わざわざ、Notを付けて、否定に書き換えたり\\
しないですね。\\
\\
例&nbsp;&nbsp; \\
If IsExists() Then\\
  '何もしない\\
Else\\
  fileName = String.Empty\\
End If
If Not IsExists() Then\\
  fileName = String.Empty\\
End If\\


セキュリティ要件の「必要度マトリックス」
<A href="http://www.jnsa.org/">日本ネットワークセキュリティ協会(JNSA)</A>が作成した\\
セキュアシステム開発ガイドライン\\
<A href="http://www.jnsa.org/active/houkoku/web_system.pdf">http://www.jnsa.org/active/houkoku/web_system.pdf</A>
脆弱なWebアプリケーション\\
<A href="http://www.thinkit.co.jp/free/tech/7/1/1.html">http://www.thinkit.co.jp/free/tech/7/1/1.html</A>
&nbsp;

VSTOで、Outlook COMアドインの作成
今のプロジェクトにて、取引先に対してメールの一括送信を\\
行う機能があります。同様にFAXでも一括送信があるわけ\\
ですが、こちらは「まいとーく Fax Server 6」を使います。\\
http://www.intercom.co.jp/mytalk/faxserver/\\
\\
今はメールでFAX送信可能なサービスがあるので、これならメール一括送信機能だけ作成すればいいのではと提案したが時すでに遅かったようです。<FAX番号>@xxxx.ne.jp\\
http://email.biglobe.ne.jp/fax/index-mp.html\\
\\
メール一括送信するわけですが、単純に送信するだけなら.NETのクラスライブラリ(SmtpMailクラス)を使えばいいのですが\\
http://www.atmarkit.co.jp/fdotnet/dotnettips/017sendmail/sendmail.html\\
\\
送信履歴を残したい、履歴管理する部分はツールに等にまかせてしまいたいという要望もあり、Outlookを使えば、送信済みフォルダに残るので、Outlook.Applicationによる送信を行うプログラムを作成したのですが、メール1件送信する度に下記の警告が出るわけです。\\
<IMG src="http://yaju.wankuma.com/img/outlook_warning.jpg">\\
\\
これでは、とてもじゃないけど使えない。\\
何か方法が無いかと調べていくと、COMアドインにすれば、この警告が出ないで一括送信が可能であると分かったわけです。\\
COMアドインを作成して、EXCELなどのようにマクロを外部から呼べるのでは無いかと調べてみたわけですが、どうも出来ない。\\
\\
結局、Outlookを常時起動した上で、COMアドインを開始・停止するボタンを作り、一定間隔で一括送信するCSVデータを取り込む、「まいとーく Fax Server 6」と同様な仕組みにした。\\
どうせ、一台は送信(メール、FAX)専用端末になるのでいいか。\\
\\
この仕組みなら、別機能にて一括送信するCSVだけを作成すればいいんだよねー。


戯言 - 豚は鳥なのか?
焼鳥屋に行ったのに、何故か鳥肉以外の豚串なんてものがあったりします。\\
\\
<FONT color=#008000><FONT size=5>で、豚肉を使っても「焼鳥」なのか?\\
\\
広辞苑で「焼鳥」を調べると
<STRONG>やき‐とり【焼鳥】 \\
鳥肉に、たれ・塩などをつけてあぶり焼いたもの。牛・豚などの臓物を串焼にしたものにもいう。\\
</STRONG>\\
なんと、辞書にまで牛・豚などと鳥以外が明記されているではないですかってことで、豚肉が出てきたからといって、「<FONT color=#ff0000>ブタじゃん!」というクレームを言ってはいけないわけですね。\\
\\
やきとり天国 焼鳥の歴史/全国\\
http://www.dokidoki.ne.jp/home2/doinaka/yakitori/yakitori-h/history-zen.html\\
ブタなのに「やきとり」!? 東松山の不思議\\
http://www.excite.co.jp/News/bit/00091113297630.html


人類の謎に迫る
サイエンスZERO 人類の謎に迫る \\
http://www.nhk.or.jp/zero/index.html">http://www.nhk.or.jp/zero/index.html
サイエンスZEROを見た上で自分用のまとめです。\\
※類人猿は、人類以外のヒト上科に属する種を指す。
■人間が何故2足歩行をするようになったのか\\
 気候変動により乾燥地になったことにより、食料確保が難しくなり遠くまで出るようになった。また栄養価の高い肉を求めた背景もある。
 四足歩行より二足歩行の方が、広い範囲をエネルギーをあまり使わずに歩くことができる(有力説)
■類人猿と人間の違い\\
 1.多産であること\\
  類人猿の出産間隔は4~5年と極めて長い。\\
  (乳児期が長く、その間は排卵が出来ない)\\
  人間は、出産後でもすぐに子供を作ることができるため、年子出産が可能である。\\
  これは、食料確保などにより草原地帯など出ることで肉食動物に襲われやすく死亡率が高かったことへの生存戦略によるもの。\\
  また、二足歩行により産道が小さくなり、未熟な赤ちゃんをたくさん産む必要があった。
  ※少子化問題というのは現代文化のひずみでもある。
 2.食の分配\\
  類人猿には食を分配することはなく、乳児もそれを抱える母親も自分のエサを確保するのに精一杯で、複数の乳児を同時には育てられない。\\
  人間は、身内による食の分配は当たり前となっており、食の確保から解放されるため、複数の乳児を同時に育てることが可能になった。\\
  
 3.閉経後(出産できなくなること)の女性の寿命が長い\\
  類人猿は閉経後のメスは間もなく死を迎える。\\
  人間は、閉経後の女性が寿命を迎えるまでおよそ30年もある。\\
  これにより、おばあちゃんは多くの孫を育てることが重要な役割となり双子を始めとする乳児を育てる力となっている。
 4.教育\\
  類人猿には教えるという行為は見られない。また食事も一人で行う。\\
  人間は教えるという行為をする。また集団で食事を取る。\\
  これは、食の分配などにより共感やお互いの知識の差を認識することで他人を教育するようになっていった。
 5.白目の多さ\\
  類人猿には白目が少なく黒目がちである。\\
  人間は、高度なコミュニケーションを得るため、自分の感情を他人に伝えるなどの表情が必要となり、白目があることで眼球の動きがよくわかるため、白目が発達することとなった。\\
  \\
■脳の発達\\
 人間は、草原地帯など出ることで肉食獣の食べ残した栄養価の高い肉を得ることが出来た、これにより、脳に栄養がいくことにより大きくなっていったと考えられる。\\
 また、摂取エネルギーを出来るだけ脳の成長にまわす様になった人間は、身体のひ弱な子供を産まざる得なくなった、これにより体の成長においては類人猿より遅くなる。\\
 たが、ひ弱な子供を集団のなかで共同で育てる選択をしたことが、その後の人間が発達することを決定付けたと思われる。
■土地の所有の争い\\
 アフリカを出て新天地を求め、争いとは無縁だった人間だったが、農耕生活を始めたことで定住化することとなり、これが土地の所有による集団のための争いが生まれる要因になった。

戯言 - 人は決めてから悩む
「ドラゴン桜」で有名な三田 紀房さんの別作品に「エンゼルバンク」というのがあります。\\
こちらは東大ではなく転職サポートビジネスがテーマです。\\
\\
その中でおもしろいなと思ったことが数点かありました。\\
まったくもって受け売りな私は、反省すべき点が多々・・・\\
\\
■人は決めてから悩む\\
 普通は決める前に悩むと思うわけですが実は違う\\
 人は簡単に調べられることも、案外その場の勢いなどで調べずに決めてしまう\\
 決めたあとでちくちく悩むあとで後悔する\\
 それは、決めることで基準ができるからである\\
\\
 基準がない中での悩みはきりがない、なかなかはじめの一歩を踏み出せない\\
\\
 決めてから悩む、でもそれでいいのさ(^-^)\\
\\
  いつまでも悩んでたら何もできない、何も行動を起こせなかったら幸せになれない\\
\\
 韓国のことわざに「始まりは半分」ってのがありますがものごとを新しくはじめるにはものすごくエネルギーがいるので、はじめただけで、もう半分まで来ているんだよ。\\
 という解釈です。&nbsp;\\
\\
■啓発本を山ほど読んでも成功には近づかない\\
 本を読んで成功する人間はほんの一部でほとんど思い通り\\
 にならないのが現実ですよね。\\
\\
 啓発本を呼んで「へぇ」と「そうそう」と思う人のうち成功するのは、「そうそう」と思う人、それは自分で常に考えているから「そうそう」と思うのは成功した人と思考が似ているため自身がついて同等と行動ができる。\\
 「へぇ」という人は、新しい知識を得て感心し内容に感心して\\
 真似て実践するけど、すぐに結果がでないとまた次の本に手を伸ばす。普段、自分では何も考えていないから。\\
&nbsp;\\
 がーん、私だ(^^;\\
\\
 自分で考えないやつが成功するはずがない・・・ですよね
■目標の決め方\\
 目標は高い方がいいけど、戦略が立てられる目標でなければ\\
 ならない、戦略がないと努力の仕方がわからない。\\
 漠然とした感情でいるうちは一歩も前に進まない。\\
\\
 目標を立てて戦略を真剣に自分で考えない限りは努力は続かない\\
 仕事に夢だのやりがいだの言っているうちは本当の努力はしないってこと、もっと現実的に具体的に考えなさいとね。\\
\\
\\
毎年のごとく英語を勉強しなきゃしなきゃと思って、はや12月だし。\\
この本もある意味、啓発本みたいなもんだな。「へぇ」って言ってるし

設計時の見落とし - 関連項目値の変更 
私の経験の中であった、設計時の見落としをテーマとして何点か書いてみます。
業務用アプリケーションを作成していると、ヘッダ部と明細部が一緒になって\\
いる画面がだいたいあります。例 受注入力画面\\
\\
簡易な例としては、ヘッダ部に請求先コードを入力し、明細部に数量、単価、金額などの項目があるとかです。\\
請求先コードをキーに請求先マスタを参照し、端数区分(切り上げ、四捨五入、切り捨て)を取得します。\\
そして、明細入力の金額を自動計算(数量x単価)する際の端数処理に使用します。
明細を何件か入力後に、先ほどとは違う請求先コードに変更したとき、端数区分が四捨五入→切り捨てなど違う場合があります。
では、その時に入力されている明細の金額についてはどうするべきなのか?\\
1.何もしない\\
2.自動計算\\
3.明細をクリアする\\
などなど\\
※請求書コードを変更する段階で確認メッセージを出力するものとする
また、数量x単価=金額ですが、仕様によっては金額が入力項目になっていることがあります。(調整用に金額を訂正可能にするため)\\
金額を訂正した後に、数量を入力し直したら金額は計算しなおすべきなのか、それとも何もしないのか などなど
このように関連する項目が変更された場合、幾つかの方法が考えられるわけですが、\\
詳細設計書上にその旨の記述があったことがなかなかありません。\\
かといって、共通仕様書上にあるのかというと無いわけです
そうすると、たいがい指摘するはめになります。
みさなん、関連項目を変更した場合をちゃんと考慮してますか、されてますよね&#8230;\\
特に関連項目の数が多いと抜けが発生します、気をつけましょう。

設計時の見落とし - 按分処理後の端数補正
私の経験の中であった、設計時の見落としをテーマとして何点か書いてみます。
業務用アプリケーションでは、料金などを比率によって振り分ける按分処理を行うことがあります。
簡単な例で言えば、100円を5つに均等配分するとすれば、各20円となります。\\
では、100円を3つに均等配分してみるとどうでしょう? \\
この場合、各33円となって、1円が余ってしまいますね。
では、この1円はどうするのでしょうか?
この例とは違いますが、以前あった振り分け先として\\
・按分した際に金額(按分比率)が一番多いところ、または一番少ないところ\\
・キーとなるコードの昇順または降順の先頭\\
・先に登録された順
これは、ユーザーであるお客さんの決められたルールによって処理します。\\
逆にこれが決まってないようなら、ユーザーに決めてもらう必要があります。
こうしてユーザーのルールによって、どこかに1円を含めた結果として34円、33円、33円 といった配分となるわけです。
\\
この端数処理の振り分けで思い出したのが、<FONT color=#ff0000>サラミ法を使った犯罪です。
■60年代末に発覚したニューヨーク在住の銀行員の犯行:\\
 顧客の預金利子を計算するプログラムで端数処理を四捨五入ではなくすべて切り捨て計算とし、剰余の利息を自分名義の口座に自動振込するプログラムも付け加えて巨額の不正入金を得た。
サラミ法といえばこの事件が有名ですね。実に巧妙な手口です。塵も積もれば、金額も巨額になるわけですね。
さすがに銀行でこの手口はもう出来ないでしょうけど、最近は何かとポイント制\\
だったりしますので、知らない間に仕組まれている可能性も・・・(^^;

戯言 - 中国語の入力方式
以前の仕事仲間と通勤駅が同じなので、たまにホームで出会うと、\\
そのまま電車の中でも話をしていくわけですが、その話の中で出たのが、中国語って漢字ばかりだけど、どうやって入力しているんだろうって話題が出てきたわけです。\\
\\
会社で着くなり、早速検索してみました。\\
\\
中国では、発音を「ピン音(PinYin)」と呼ばれるアルファベットを使った\\
発音表記法で入力し、漢字に変換ってローマ字入力に近い感覚です。\\
\\
イ尓 好(ニーハオ) --&gt; ni3 hao3\\
\\
アルファベットの後の数値は、基本の声調(音の高さのパターン)で\\
1~4段階を入力します。
\\
世界各国ではどうなっているのかは、下記サイトが見つかりました。\\
http://r25.jp/b/honshi/a/link_review_details/id/1122008103105?vos=nr25nn0000001\\
\\
韓国のハングルはまだしも、漢字のパーツを上下左右などして漢字を組み上げる、台湾は大変そう。

仲間力
\\
<FONT color=#006400 size=6>仲間力
<FONT color=#ff0000>仲間を作り仲間と協力して事を運ぶことができる能力
最近の学生は、仲間力に欠けている人が非常に多い。これは兄弟が少ない\\
ネットの普及で他人との接触が不足しているのが原因でもあるが・・・\\
今の日本の若者たちは人間形成が不得意です。\\
しかし、企業は人間形成の得意な人が欲しい。なぜなら仕事は仲間と力を合わせて完成させるものだからです。\\
<FONT color=#006400 size=2>※銀のアンカー 5巻より
普通の学生生活をいくら振り返っても面白い体験(ネタ)など沸いてはこない\\
体験(ネタ)はなかったら作りましょう。\\
ES(エントリーシート)・面接での自分の宣伝材料としても勉強会に参加するのも手伝うのも悪くないですよ。\\
既に仕事をしている方々と懇親会で話せるのもいい経験になるはずです。
メモ.1490192522.txt.gz · 最終更新: 2017/03/22 23:22 by yajuadmin