制御構造・変数宣言
- 先週の制御構造の説明に続き、break , continue
- 変数宣言にて、スコープ・寿命の説明にて、 静的大域,動的局所,静的局所変数
- 関数の仮引数・実引数
- 変数の型の説明にて、
- 変数名のルール英数字+_
- signed/unsigned , short/無し/long , int , char
- 負の数の扱い
- 数値の上限・下限は次週
Web アプリケーションとセキュリティ
5年の新規に作成した実験テーマの Web アプリケーションとセキュリティ にて、最初の実験を行う。
最初の実験だし、多少実験参加学生さんには、モルモット状態になってもらう。
- .htaccess ファイルの雛型の準備不足や、
- Windows 環境にてサンプルファイルの保存で手間取る。
- サンプルコードが、動かない・セキュリティ対策ヒントがすでに書いてあった…
上記の 3 点でトラブったが、ひとまずうまくいったかな。
5/2 遠足、金津トリムパーク
先日のホームルームにて決まった遠足の行き先の、健康の森は月曜が定休日であることが、 判明。せっかく調べていたのがムダになる。 クラスにて、もう一度調整してもらったら、金津トリムパークに決まる。
金津トリムパーク日程
武生(8:43),鯖江(8:54),福井(9:09) 福井(9:43)→JR→丸岡(9:54)→徒歩(6Km)→金津トリムパーク 金津トリムパーク→徒歩(2Km)→芦原温泉 芦原温泉(13:11)→JR→福井(13:28),福井(13:45),鯖江(13:59),武生(14:04) 芦原温泉(14:14)→JR→福井(14:14),福井(14:45),鯖江(14:59),武生(15:04)
恒例の学科紹介
恒例の新入生歓迎会でした。 例年の学生による教員紹介は時間の都合により自己紹介に留まりました。 トリを飾るは例年の堀井さん。
構造体によるオブジェクト指向
他学科OBの受講生を考慮し、構造体の説明を行う。 この説明の中で、オブジェクト指向の用語を多数取入れる。 これにより、電子情報OBの学生にはオブジェクト指向の入口を理解してもらう。
C言語で、オブジェクト指向もどきのプログラミングの例
struct Person { char name[ 30 ] ; int age ; float height ; } ; void set_Person( struct Person* this , char s[] , int a , float h ) { strcpy( (*this).name , s ) ; (*this).age = a ; (*this).height = h ; } void print_Person( struct Person* this ) { printf( "%s %d %f\n" , (*this).name , (*this).age , (*this).height ) ; } void main() { struct Person saitoh ; set_Person( &saitoh , "t-saitoh" , 40 , 172.3 ) ; print_Person( &saitoh ) ; }
この例のプログラムの例では、 set_Person , print_Person 関数により、 手続き抽象 となっている。 また、main の処理の内部には、データ構造の内容が一切記載されていないため、 データ抽象 ができている。これにより、処理とデータ構造の隠蔽化ができる。 これにより、 データ構造を擬人化してとらえ 『データ構造に命令する』 というイメージでプログラムが作れるので直観的 となる。
他学科OBのために、この話しの前に、関数への値渡し・ポインタ渡し・C++での参照渡し を説明する。上記プログラム例では、沢山の演算子の説明を防ぐために、 アロー演算子は最初の段階では説明を行わない。
システム設計演習の方針説明
システム設計の演習の半期予定を大雑把に説明し、 テーマ案を考えやすいように、こちらで考えているテーマ案を紹介。 学生への配布資料を示す。 最後の30分程は、各自グループ決めやテーマ案を考えるための討論時間とする。
ガイダンス+制御構文
今年度のシラバスの説明の後、C言語の復習として、制御構文の説明。 while,for,do-while,if,switch までを確認。 switchの例で、case ラベルの定数のみと、 switch式に実数を使うと丸め誤差で動かない場合がある等を紹介
対外向け DNS のトラブル
センターより『学外からメールが届かない』というトラブル報告が届く。 自宅より調べると、対外向けの DNS が動いていないことが判明。 DNS 関連のソフト・ハードの再起動を試みるが効果無し。 しかたがないので、対外 DNS の named.conf を、部分的に消しながら、 原因を探る。その結果、正引き zone ファイルのみ機能していないことが判明。 そこで、named-checkzone コマンドで、調べると警告が表示された。
CNAME の設定ミス
よくよく調べると、自分自身も以前に設定を間違えた事のある CNAME 関係。
≪ 間違った設定 ≫ hoge IN A xxx.xxx.xxx.xxx IN CNAME alias.foo.bar.jp ; CNAME を設定するホスト名では、アドレス指定を書いてはいけない。 ; 逆引き時に混乱の元になるからだろう。アドレス指定は、 ; 本当の名前の所にだけ書くこと。
設定を直し動作が確認できたが、問題は zone ファイルを書き換えたのは3ヵ月程前の話し。 SOA の Serial もちゃんと修正してるし、 Expire 期間も 1ヵ月程なので、 この2ヵ月ほどトラブルなく動いていたことが、逆に不思議。
# なぁ〜ぜぇ〜♪
Symantec Anti Virus 9.x のインストールに失敗する。
学校にて導入している、Norton AntiVirus Corporate Edition 7.6 が、ライセンス切れ となり、同社 Symantec Anti Virus Corporate Edition 9.0 に更新することに なっている。 自分のマシンは、すでに更新を行っていたが、学科の演習室のパソコン群を 一括して更新する。しかし、新規に導入した2台のパソコンだけ、 「InstallShield Wizard 完了-ウィザードは、 Symantec AntiVirus Corporate Edition のインストールを完了する前に 中断されました。 」と表示され、インストールに失敗する。 同メッセージにて、Google にて調べると、以下の処理が必要みたい。
手動アンインストール
うーん、でもダメじゃん。
初回ガイダンス、処理速度の見積り
情報構造論の最初として、講義の目標を説明する。 特に、速度・メモリ・プログラムが簡単かという3つのポイントの、 トレードオフ状態を説明する。
処理速度の見積りの実例として、単純サーチ・2分探索の2つについて、 ループを回る回数を一般式化して示し、データ数が多い場合の見積り について説明を行う。 次週には、2重ループなどの事例を話した後で、オーダ記法に進む予定。