ホーム » 2006 » 6月 (ページ 2)

月別アーカイブ: 6月 2006

2006年6月
 123
45678910
11121314151617
18192021222324
252627282930  

最新の投稿(電子情報)

アーカイブ

カテゴリー

ETロボコン

ETロボコン

組み込みシステムの普及のために、過去の UML ロボットコンテストを変更して 開催している。 UML によるシステム記述による「モデリング審査」というのが、このコンテストの特徴でしょう。

緊急連絡システム関係の学会

ゲーム専門学校からみた風景

ゲーム専門学校からみた風景

ゲーム専門学校の裏側をネタにしたマンガ。 内容はある意味予測した通り。 このネタを見て、『きちんとした技術者になろう!』と思う人が入って来て欲しい。 絶対ゲーム業界に入りたいとは思って欲しくない。

相変わらず…

情報構造論の試験の採点中。例年よりはすこし簡単にしたつもり。 先日、子供の保育園行事のくじ引きで、ハノイの塔をもらったので、 導入部ヒント付きで証明を出題したりする。 授業中の説明した問題と見ためは違うけど、再帰方程式が同じ…といった 問題で、難易度的にも簡単なはず。 だけれども、実際は、例年通りの成績かぁ!?

メモリ使用量と処理速度の関係などの説明問題を出題したが、 仮想記憶などの用語を交えて…という部分では、キャッシュと区別がついていない学生が チラホラ…

仮想関数の応用と抽象クラス

仮想関数の応用と抽象クラス

#中間試験が始まり、専攻科授業用の資料準備がのんびりできた…
先週説明した仮想関数の話しの応用として、多態性、直列的継承、多重継承、抽象クラス などの事例を、概念として説明する。

ウィルス除去サーバの弊害

以前より学校全体にて導入していたウィルス除去サーバ NetShelter も導入から時期が経過し、 性能問題などから更新となった。 このため先週より新しいウィルス除去サーバに切替えたのだが、 昨日少しトラブルがあった様子。

自宅サーバへメールが届かない

色々と作業の中、自宅 tsaitoh.net にも Cc: でメールを投げたら、 『"tsaitoh.net"がみつからない』とのエラーで、 ウィルス除去サーバが返送してくる。 新しいサーバ運用開始から、自宅にメールを送るのは最初だったので、 サーバの問題を懸念する。

Dynamic DNS のサーバが拒否るのか?

特に、自宅サーバ tsaitoh.net は Dynamic DNS を使っており、 tsaitoh.net を正引きしたアドレスと、 それを逆引きした時のドメイン名は一致しない。 こういうサイトは、『SPAMボット化したパソコン』と疑われ、 メールの配送・受信拒否というトラブルの憂き目に会いやすい。

対外メールサーバを SPAM サーバと誤認?

しかし、センターの方に確認したら、Internet から DMZ 内部のウィルス除去サーバに メールを中継する対外接続サーバを、『ゴミメールを大量に投げてくる SPAM サーバと誤認』 したことで、対外接続サーバからの接続を一時的に拒否しているみたい。 前述症状は、この影響の可能性が大きい様子。 現在 情報センターにて、設定の見直しをしている状況との連絡を受ける。

演習

時間としては、先週から取り組んでいる N進数 の取扱いプログラムの 課題時間とした。

よくある間違い

演習の時に3年生がよく、プログラム作成時にやりそうな間違いとして、 いくつかのネタを紹介する。

/* 平均点を求めたい。*/
int sum = 100 ; /* 合計点 */
int size = 3 ;  /* 人数   */
float mean ;
mean = sum / size ; ........... mean = (float)sum / (float)size ; と書くべき。
printf( "%f" , mean ) ;
★平均点は 33.0 点
平均点を求めるつもりのプログラムでも、
sum / size はそれぞれ整数型なので、割算も整数型で行われる。
/* 点数が可ならば(60≦点<80) */
if ( 60 <= point < 80 )   ..... if ( 60 <= point && point < 80 ) と書くべき。
処理... ;
★処理は(ほとんどの処理系では)必ず実行される。
条件式は、(60 <= point) < 80 と解釈される。
60 <= point は論理値 0 or 1 を返す。
その (0 or 1) を 80 と比較するため。
/* 実数データの読み込み */
double x ;
scanf( "%f" , &x ) ;   ........ scanf( "%lf" , &x ) ; と書くべき
★xはゴミの値となる。
%f は float型(4byte)の入力フォーマット。
scanf は、xの場所に、入力データを 4 byte だけ格納する。
しかし、x は double 型で (8byte) の値。残りの 4byte にはゴミが入ったまま。

メールの送信にかかる時間の変化

緊急連絡システムでは、大量のメールを送信するために、 携帯などのキャリアから迷惑メールサーバと疑われて発送が遅延する場合がある。 その確認のために、5分間毎のキャリア毎の送信完了メール数をカウントしてみた。 FN ちょうど6/5に不審者出没で大量メールが発送されたので… /FN

送信完了数のキャリア別推移 このグラフは、5分毎の送信完了のメール数を積み上げグラフ化したもの。 17:40頃に、各学校の連絡送信が重なり、5分間に最大600通近くを送信している。 18:00頃,18:50頃のグラフに、vodafone 宛の送信の山が他のキャリアと比べ、 遅れているのが解る。

考察

よって、このグラフから見ると、 送信数は 途切れた山 になっている点から、顕著に 迷惑サーバ扱い を受けていないと思われる。
FONT SIZE -1 # 送信制限を加えられ、配信遅延が発生していれば、なだらかな山が長く伸びると予想される。
これは、各学校の管理者宛に送付されたメールを各学校で配信するタイミングが分散するため、 大きな送信ピークが発生していないと思われる。 送信履歴を確認すると、 17:40〜17:50までに8校が送信作業を行っている。 その後の送信数の変化を見ると、18:00頃まで送信が続いている。 このことから、送信完了までに 10 分程かかっていることが解る。

現在、市からの配布を各学校が再配布する際の操作の簡単化のために、 モデレータ送信機能 FN 市からのメールを各学校管理者(モデレータ)の携帯に配布し、配信を認められれば、 送付を受けたメールの内容をそのまま保護者に配信する機能。 /FN の実装準備が終っている。 この機能が利用されると、各学校での配布の作業が単純化されるため、 配信タイミングが重なることが懸念される。 モデレータ送信機能の利用が始まったら、また検討の必要がでてくると予想される。

演習(malloc+free)

先週の後半に引続き、malloc+free による可変長配列を使ったプログラム作成の課題に 取り組んでもらう。

仮想関数

先週の継承の話しの続きとして、 派生クラスの基底クラスへの型変換のあるプログラムを説明し、 『格下げ』されると、元の派生クラスの特徴が失われる問題点を説明する。 その問題を解決するための仮想関数の説明を行う。