ホーム » 2013 (ページ 10)
年別アーカイブ: 2013
UMLと構造図
UMLの説明として、簡単な歴史と構造図の説明を行う。 基本は、クラス図かな。コンポーネント図とかパッケージ図は、巨大なコードを書いた経験が無い状態では、説明してもピンとこないだろうな。
講義資料は、2011年度資料とほぼ同じなので、過去記事へのリンクで省略。
リストへの追加と挿入
テスト返却にて、嫌味も織り交ぜながらの解説の後、 30分ほど時間があったので、次のステップ。
リストへの追加
前回までの授業では、リストは直接記述していたが、 データを読み取りながらのリスト生成を説明する。
まずは基本ということで、リストの先頭挿入。 ただし、データの入力順序とは逆になってしまう。
struct List* top = NULL ; int x ; while( scant( "%d" , &x ) == 1 ) { top = cons( x , top ) ; }
この欠点の修正ということで、末尾追加型を示す。 Listへのポインタのポインタがわかりづらいけど…
struct List* top = NULL ; struct List** tail = &top ; while( scant( "%d" , &x ) == 1 ) { *tail = cons( x , NULL ) ; tail = &((*tail)->next) ; }
ポインタのポインタは分かりづらいので、改めて式の一部分が 型でどうなっているのかを示す。
リストへの途中挿入
リストが使われる利点は、データの途中挿入。 以下のプログラムは、昇順に並んでいるデータの、適切な場所にデータを 途中挿入するプログラム。 一つ前のnext部を変更する必要があるため、 ひとまずは分かりやすいプログラムということで、p->next でループを回す。 本当は、List**を使いたいんだけどね…
void insert( struct List *p , int x ) { for( ; p->next != NULL ; p = p->next ) { if ( p->next->data > x ) { p->next = cons( x , p->next ) ; break ; } } }
ただし、このプログラムは、データの先頭や末尾への追加は正しく動かない。 このためよく用いられるテクニックは、先頭と末尾に本来なら使わないダミーデータを 入れておき、先頭末尾の特別処理を書かずにすませる方法をとる。 このような方法を番兵(sentinel)と呼ぶ。
緊急連絡システムのmuninが止まってた…
昨日よりニュースで、北陸地区での豪雨警報がでている。 緊急連絡のメールが沢山飛ぶ可能性もあり、 サーバの状況を監視してみる。しかしながら、監視用に動かしている munin の データが、5/1 を最後に更新されていない。 丁度、Debian の更新などをかけていた時期だし、その影響と思われる。
/var/log/munin/munin-update.logを見ると、以下の様な履歴が大量に残っている。 調べてみると、munin のデータをネットワーク越しに返信する、munin-node が正しく動いてないとのことであった。
(( /var/log/munin/munin-update.log )) 2013/06/19 09:35:01 [ERROR] Munin::Master::UpdateWorker <localdomain;localhost.localdomain> died with '[FATAL] Socket read from localhost.localdomain failed. Terminating process. at /usr/share/perl5/Munin/Master/UpdateWorker.pm line 139
改めて、munin-node の動作確認をすると…以下の様なエラーがあることから、 munin-node.conf の allow 項目を修正する。
(( /var/log/munin/munin-node.log )) 2013/06/19-09:34:29 [3696] Denying connection from: 192.168.xx.xx
(( /etc/munin/munin-node.conf )) allow ^(127\.0\.0\.1|192\.168\.xx\.\d+)$
さらに、apache access の状況も確認できていない。 これは、apache の mod_status の問題。
(( /etc/apache2/mod-enabled/status.conf )) <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 ::1 Allow from 192.168.xx.0/24 ← 追加 </Location>
2013年6月16日(第325回)
- まるよし Train Pops ~ 国語と遊ぼう! 第11便 「一人称」
- 高専のホコタテについて
- 試験が終わったことについて
担当:松島(2C)、山野(2C)、西(教員)
仮想関数を使った図形クラスから多重継承
前回までの授業で、純粋仮想基底クラスの図形から、 具体的な四角や円といった図形を派生させ、仮想関数をつかって表示処理を 呼び出すプログラムで演習を行なっていた。
課題では、これを拡張し色付き図形というものを考えたらどうなるか… も考察してもらう。 しかしながら、オブジェクト指向が初めてであれば、難易度も高いと思われるので、 ヒントとなるプログラムを示しながら、多重継承の話にもっていく。
2013年6月9日(第324回)
学生さんがテスト期間中につき、教員による収録でお送りしました。
- まるよし Train Pops ~ 国語と遊ぼう! 第10便 「竹取物語」
- 青木先生の岐阜のお話、福井の印象
- 新しいコーナーを作ろう というお話
ゲスト:体育科 青木先生
担当:五味先生、西
高専プロコン(第24回)の学内審査
高専プロコンへの参加者を決めるための学内審査を行った。
4EI前期授業の「創造工学演習」の中からの応募と、 他のグループからの応募希望者で選考を行なっているが、 今年は4EI以外からの希望者がなく、 創造工学演習からの参加者でのみ選考を行った。 今年度は審査にあたり、非常勤講師にてお世話になっている北野氏(アットウェア) にも選考に加わってもらった。
- 競技部門: 僕自身、サイコロを並べる喜びはあった。(池川、他4名)
-
サイコロの認識などに昨年度も使っていたOpenCVを用いるなどは 良いと思われる。 各種データのエンコード方法が未定のままであるが、今後 多くのテストを繰り返す中で、最適な方法を考えてほしい。
- 課題部門:一期一画(課題少子高齢化に合せ方向性を修正タイトル変更)(桑名、他5名)
修正後: ウケツギサイクル −時を超えて伝える思い− -
地図や風景の時間発展を見れるというのは、斬新である。 写真の登録の仕方や、写真の表示などの点においては、 さらに工夫が必要と思われる。
- 自由部門:Mojava―僕の筆跡がこんなに可愛いわけがない!?―(横山、他4名)
-
筆跡で診断するというのが面白い。 漢字忘れ、書き順の間違いなどの防止にもつながる。 ゲーム性も取り入れられていて、魅力を増している。 診断の仕方について、もう少し詳しく書く必要がありそう。
- 自由部門:あく☆まに!―ボールが欲しいなって―(牧田、他4名)
-
子供の遊び道具として魅力がある。 キネクトを使うことで、実現性が高くなっている。 コンピュータの処理速度や、安全性について、 多少課題が残っていると思われる。
以上 プロコンに応募
- 着せ替えソフト(伊吹、渡辺亮)
-
指定のポーズをとった人の写真に対して、任意の服を 重ね合わせるだけのアイデアで終わってしまっている。 更なるアイデアの追加が必要であろう。
- スケジュール管理(ネット上で共有するシステム)(竹内、村上)
-
既存のスケジュール管理ソフトと同じ内容となっている。 新しさはない。
- パズル&デジタル(複数のマトリックスLED)(森長、他4名)
-
マトリックスLEDを複数並べて、パズルを行う予定であるが、 そのパズルの内容が未定のまま。もう少し、具体性が必要と思われる。
- 音や動きに連動して、映像などを変化させる(井上、他4名)
-
ライブなどのステージ上でのパフォーマンスなどを考慮しているようで、 規模が大きい割に、具体性がない。
- 赤外線糸電話(今田、他4名)
-
糸のない糸電話ということで、興味を引く。実現性も高い。 しかし、この糸電話で何をするかなどのアイデアが足りない。 利用例やゲーム性をもたせるなどすれば、さらに面白くなると思われる。
- インドア飛行ロボット大会参加(小林、朝井、山本)
-
10/12,13に羽田空港の格納庫で行われる 第9回全日本学生室内飛行ロボットコンテストに参加を予定 自動操縦で、360度旋回、八の字飛行などを行うためのシステムづくり 具体的なコントロール方法が、未定のまま。
2013年6月2日(第323回)
学生さんがテスト期間中につき、教員による収録でお送りしました。
- まるよし Train Pops ~ 国語と遊ぼう! 第9便 「竹取物語」
- 新任先生紹介 体育科 青木先生
ゲスト:体育科 青木先生
担当:長水先生、金田先生、西