2015年5月31日日曜日

2015/05/30(土) オフ

何もしなかった。

2015/05/29(金) 卒研ゼミ

●卒研ゼミ
9:30から定例の卒研ゼミを行った。出席5名、欠席3名(Isくん、Naくん、Maくん)。今回からKaくんが卒研ゼミに合流した。
Naくんは無断欠席が常態化しており、卒業研究の方針も決めないままである。来週から2週間は教育実習に行くということであるから、指導するとしたら3週間後ということになる。彼は、そもそも卒業しなければ教育実習も無駄になるということが本当に解っているのであろうか。もっとも、指導教員の聞く耳を持たない学生の心配をすることこそが無駄である。

InくんとMuさんの進捗報告を聴いてコメントした。
Inくんは地道な作業に黙々と取り組んで着実に進めるという点では他の卒研生と比べるとよくやっているほうであり、その点は褒めるべきであるが、その一方で自分のやっていることを理解するとか身につけるとかいう点では改善の余地が大きい。この点についてはかなりしつこく注意を与えた。また、昨年10月から初めて先週でようやく半分が終わったところであるから、残り半分に取り組むにあたっては速度を上げる必要があることについても注意を促した。
Muさんからは簡単な報告のみであり、来週あらためて報告してもらうことになった。

●業務
自分の担当分の半分をようやく完成させて提出した。つらかったがとにかくここで一区切りついた。

●教職課程認定申請の書類
続き。In先生と教務課の間で調整があり、さらに学部長以下の学部側のJABEE関係者も巻き込んで、ltpのシラバスについては調整がついたようであった。In先生がずいぶん骨を折ってくださったので、私はIn先生から口頭で2回説明を受けただけで済んだ。

●その他
自室内を掃除した。


まだ仕事もあったが、夜はすっかり疲れてしまって何もできなかった。

2015/05/28(木) da1 授業実施

昼頃まで自宅で休養した。オフィスには13時半頃から。
終日頭痛に悩まされた。疲れが溜まるといつもこうなる。


●セキュリティ管理方式の検討
昨日の会議でもあらためてお願いした情報の募集について、再度メールでお願いした。

この送信よりも前に、Is先生から情報1件を受け取った。
もうしばらく待ってから、まとめて人事部のIさんに転送する。

●da1 授業準備
授業用Webページを更新した。

●進路指導Webサイトの更新
A先生からメールで受け取った求人資料1点をWebサイトに掲載した。
学生にメールで告知を流した。

●物品購入
5/25(月)に受領したメモリについて、Amazonの領収書をPDF化した。また、パッケージと現物の写真を撮った。さらにAmazonからメールで受け取った発送通知をもPDF化した。これら3点の資料のハードコピーを学部事務室に提出した。

●da1 授業実施
5限目に第7回を実施した。授業開始時に第6回の小テスト答案を返却した。
授業ではまず小テストを実施し、解説を行ったのち、コンストラクタについての講義を行った。小テストの解説とコンストラクタの話に時間を使いすぎてしまい、最後の5分間ほどで駆け足でアクセス修飾子の説明をした。

●da1 授業処理
小テストの受験状況にもとづいてK'sLifeの出席登録データを修正した。小テストの答案は未処理

●教職課程認定申請の書類
続き。今朝In先生から教務課にメールで送られたものとは全く違う案が教務課G♂さんから送られてきたので、驚いて問い合わせの返信を送った。折り返しG♂さんから明日に持ち越す旨の回答があった。

●その他TA, SA, LAの出勤簿にまとめて押印した。

F社からメールでいただいた学生向けイベントの情報を、自分がクラス担任になっている学生全員宛てに転送した。

2015/05/27(水) da3 授業実施、学部・研究科の会議

●da1 授業準備
小テスト用紙を3クラス分印刷した。あとで気付いたが、うちS先生のクラスの分は今回に限っては印刷する必要が無かった。もったいないので後で3等分して他のクラスにも1/3ずつ引き取ってもらうことにする。
スライド資料PDF版のハードコピーを作った。

●da3 授業準備
小テスト用紙を印刷した。
スライド資料PDF版のハードコピーを作った。

●lt ランチョンミーティング昼休みに会議に出席し、議事録を書いた。会議後に議事録をDropboxに置いた。

●da3 授業実施
3限目に第7回を実施した。
まず小テストを実施したのはいつも通りであるが、今回はそのあと少しだけ解答する上で留意すべきであった点について説明した。
次に、Javaにおける2次元配列の実現方法や、今回の授業の演習で受講者が実装・使用しなければならないグラフのクラスの概略について講義した。残った時間は演習に充てた。今回の演習問題は簡単すぎたようで、ほとんどの学生が早々に解いてしまったが、それでも授業時間いっぱいまでかかって解いた者もいくらかいた。
第6回の小テスト答案を返却した。

●学部の会議
14:40からの学部の会議に出席した。
5/22(金)のCNC運営委員会についてはSa先生からご報告いただく予定であったが、急きょ自分が報告することになった。多少つっかえながらどうにか報告した。いつまで経ってもこういうことには慣れない。
会議の最後に、5/13(水)に一度お願いしたセキュリティ管理方式に関する情報の募集について再度お願いした。これについてはメールでも依頼文を送信することになった。

●研究科の会議
学部の会議のあとすぐに研究会の会議が開かれた。

今日の二つの会議はいつもよりずっと早く終わった。


●da3 授業処理
午前中、評価用Excelファイルを作り、5/20(水)第6回分の小テストや演習の得点を入力した。過去の分には手が廻らなかった。

授業後に小テストの受験状況にもとづいてK'sLifeの出席登録データを修正した。
小テスト答案に目を通し、採点に若干の修正を加えた。小テストと演習の得点を集計した。午前中に作った評価用Excelファイルにこれらの得点を入力した。

本日第8回の小テスト問題に1か所誤字があった。大きな問題ではなかったが、次年度のために修正しておいた。

前述の受講者1名からメールで受け取った第5回の上級問題の解答は未検討

●教職課程認定申請の書類
教務課G♂さんから書類のうちltpのシラバスについて改訂の依頼があり、In先生から改訂案が送られてきた。検討してみたが、“その案でいいという確信は持てないがこれ以上どうしようもない”という感想であったので、その案でお願いする旨を返信した。

●その他
Fという会社から交換を通じて電話が入ったので対応した。書籍の送付はお断りしたが、学生向けの情報は送っていただくことになった。

K'sLifeにて前期定期試験出席調査に回答した。

2015/05/26(火) lt, ltp, swB 授業実施

●業務
詳細略。大変、大変。

●lt 授業実施
1限目は福岡県警のかたによるご講演であった。自分は1限目の最初に前説を担当した。途中、半分ほどの時間は自室で雑務を行った。

●ltp 授業実施
2限目に第6回を実施した。
持ち込んだノートPCと液晶プロジェクタとの接続の調子がうまくいくまでに時間がかかったので、受講者には先に出席メールを提出させた。そのあと、調査報告書作成に関する一連の課題についてあらためて説明し、手違いや提出漏れがないように指導した。特に仮説の設定についてはクイズも交えて詳しく説明した。そのあとは各自の作業を行わせ、随時質問対応や提出物の点検を行った。数名がアンケート用紙の設計までを完成させたようであった。

ある受講者から、K'sLifeに出席が登録されていないことについての相談を受けた。この受講者の出した出席メールを調べたところ、案の定宛先を間違えていた。これまで出した出席メールを正しい宛先に転送するよう指示した。

●swB 授業実施
5限目に第6回を実施した。1次〆切までに最終レポートを提出した受講者を対象に口頭試問を実施した。クラスの半分強がこれでこの演習を完了した。
ある受講者から、いまレポートを提出したので口頭試問をやってもらいたいという頼まれたが断った。

●業務の会合
詳細略。

●就職活動の指導
A先生から当研究室卒研生のMaくんについて連絡があった。Maくんへのメール連絡がquotaのために不通になっており、重要な連絡を届けられないということであった。Maくんの携帯メールアドレスに転送した。

●swB 授業処理
口頭試問のデータを点検した。実施記録にもとづいてK'sLifeの出席登録データを修正した。

●lt 授業処理
K'sLifeの出席登録データを確認した。

●ltp 授業処理
出席メールの提出状況にもとづいてK'sLifeの出席登録データを修正した。
前述の受講者から転送されてきた過去のぶんも受け取ったが、未処理。

●電子錠登録・登録抹消
教務課から学生証再発行1件について連絡を受けたので再登録処理を行った。

●進路指導Webサイトの更新
A先生からメールで受け取った求人資料をWebサイトに掲載した。

●da1 授業準備
第8回の資料を準備し、所定の場所に置いて、他の先生方にその旨を連絡した。

2015年5月26日火曜日

2015/05/25(月) 演習1 授業実施、卒業研究の指導

●業務
詳細略。未完了。ヤバい。

●lt 授業準備
明日5/26(火)1限目は授業に代えて福岡県警による講演会が開かれる予定であり、その前説を自分が担当することになっているので、前説資料を準備した。講演者のお名前の読みについてIn先生に確認した。

●導入1 マナー講座
3限目には授業の代わりにマナー講座が開かれた。自分としては特にすることもなかったが、講座を実施している教室に15~20分間ほど顔を出した。丁寧なお辞儀のしかたは4拍子であることを学んだ。

●研究室内Wikiの更新
続き。サーバの共有フォルダの使い方についてWikiに書き足した。

●演習1 授業実施
4限目に第6回を実施した。
まず、ファイルサーバにあらかじめ作っておいた各学生のユーザアカウントにパスワードを入力させた。このとき、やけにファイルサーバの反応が遅くて少し困った。サブネット内にPCが突然10台も出現したせいでCIFS関係のプロセスが忙しくなったのではないかと思う。
次に、各受講者の貸与ノートPCからファイルサーバ内の共有フォルダ MyHome にアクセスさせた。アクセスできない学生が4名ほどおり、原因ははっきりしなかったが、PCを再起動させたところほとんど解決したようであった。1名だけ解決しなかったが、これは私がユーザアカウントをそもそも作っていなかったことが原因であったことが後で判った。

4/27(月)の問題の解き方を解説した。まず、解答となる三つのHTMLファイルの簡単なテンプレートをHTMLで書いて見せた。次に、共有フォルダ MyHome 内にCSVファイルとして置いていた学生データに、TeraPadの置換機能を使ってメールアドレスを追加したり、この学生データをもとにHTMLのTABLE要素を書いたりした。完成したTABLE要素をテンプレートの一つに貼り付ければ学生一覧ページができあがった。さらにこのページの下部に他のページへのリンクを追加し、DIVタグとCSSを使ってレイアウトを指定して仕上げて見せた。最後に、応用例として準備しておいた解答例も紹介した。

ここまでで授業時間を使い切った。時間があれば2名程度とは個人面談をしたかったが無理であった。
授業をいったん閉じたのち、前述のユーザアカウントを作り損ねていた1名のアカウントをその場で作った。あとでディレクトリも作っておいた。

●卒業研究の指導
Kaくんに個別指導を行った。彼の進捗報告を聴いてコメントし、今後の方針について(かなり自分でもくどいと思いながら)念を押した。また、プログラミングの仕方について質問を受けたので、その場でJavaのコードを書いて見せた。このコードはメールでKaくん宛てに送っておいた。

●C3PO単独ゼミ
Maくんに個別指導を行った。彼の進捗報告を聴いてコメントした。モックアップを作ってきたこと自体は良かったが、完成度はまだまだというところであった。

●物品購入
5/23(土)に注文したメモリが届いた。未処理

●学生への修学指導
3年次生1名と面談した。詳細略。概略のみをK'sLifeに所見として記録した。

●da3 授業準備
第7回の資料について、Yo先生からメールでご指摘をいただいたので、修正を加えた。

第6回の小テスト正解、第7回の資料、第8回の資料をまとめて授業用Webページに掲載した。

●導入1 授業処理
K'sLifeの出欠登録データを確認した。

●演習1 授業処理
K'sLifeに今回分の出欠登録データを入力した。また、研究室訪問スタンプシートの提出状況にもとづいて4/13(月)第1回および4/20(月)第2回の出欠登録データをも入力した。スタンプシート未提出者が2名いるので、この2名は第1回・第2回を欠席したことになっている。これは後日スタンプシートが提出され次第に修正する予定である。

●ltp 授業準備
Dropboxから第6回分のスライド資料をコピーし、若干の修正を加えた上でPDF版を作り、手持ち資料としてハードコピーを作った。
昨年度の補足スライド資料をもとに今年度版の補足スライド資料を作り、そのPDF版とハードコピーをも作った。
昨年度の「アンケート用紙設計チェックの手引き」を改訂して今年度版の手引きを作り、ハードコピーを4部作った。これに5/19(火)に受講者全員宛てにメールで送った補足2通のうち1通のハードコピーも付けて、ホッチキスで留めた。

●その他
また机の周りに書類が散らかり始めた。最近は書類処理に手が廻っていないのでなかなか綴じたり仕舞ったりということができないのであるが、多少は整理した。

To-Do項目を整理した。定期試験実施調査への回答を忘れないようにしなくてはならない。

2015年5月25日月曜日

2015/05/24(日) da3 授業準備

●演習1 授業準備
4/27(月)の問題の解説については一度準備したが、学生一覧データの中からメールアドレスが抜けていたので、学籍番号をもとにメールアドレスを作る手順を含めて解説するよう準備した。素材として用意していた解答例も更新した。ついでにCSSによるスタイルの指定にももう少し工夫を凝らした。

●ltp 授業処理
続き。メールで受け取ったレポートを点検し、いくつかに返信した。

●進路指導Webサイトの更新
A先生からメールで流れてきた2社の求人資料をWebサイトに掲載した。

●研究室内Wikiの更新
ふと思いついて、忘れないうちにと思い、卒業論文にプログラムリストを載せるときの要領や注意事項を、卒業論文の執筆要領のWikiページに書き足した。

●da3 授業準備
続き。第8回の資料をようやく仕上げた。所定の場所に置いて、Yo先生にメールで連絡した。

●学生への修学指導
5/18(月)に面談した3年次生からメールで連絡があったので、次の面談の日程を調整した。

●導入1 授業準備
LAのHJさんから明日5/25(月)の仕事についてメールで問い合わせがあったので、明日5/25(月)はマナー講座であるから欠席しても差し支えない旨を返信した。

●その他
7月に開催予定の第1回オープンキャンパスについて、今回も研究室からは出展しない旨をYa先生にメールで返信した。

2015年5月24日日曜日

2015/05/23(土) swB 授業処理

オフィスには16時頃から。

●卒業研究の指導
昨日行った各卒研生との個別面談の内容を整理した。

●JABEE WG: 演習1のWebレポート保存の準備
続き。シェルスクリプトおよびPerlスクリプトの気になっていたところに修正を加え、動作を確認した。

●物品購入
ファイルサーバ moonlight の性能向上のため、ECC付きのメモリ 16 GB 分をAmazonに注文した。

●ltp 授業処理
続き。メールで受け取ったレポートを点検し、いくつかに返信した。

●swB 授業処理
続き。最終レポート1次〆切分を全て点検し、評価用Excelファイルに採点結果を入力するとともに、K'sLifeで受け取った各レポートに対しマル・バツを入力してその結果を登録・公開した。

2015/05/22(金) 健康診断、C3PO合同ゼミ

●卒研ゼミ
9:30から卒研ゼミの枠であるが、自分の健康診断の予定が10:00からであったので、今回はゼミ形式では実施しないことを事前に連絡しておいた。そのためか、9:30時点ではいない卒研生が多かった。しかし最終的には7名出席。欠席は未合流のKaくんのみ。

健康診断終了後、出席者全員と個別に面談して卒業研究や就職活動について指導した。

●CNC運営委員会
昼休みに出席した。まだSa先生つきの見習いという感じである。

●C3PO合同ゼミ
3限目にS研との合同ゼミに出席した。
今回はMaくんは出席したものの報告はなく、S研Naさんからの報告のみであった。これを聴いてあれこれ議論した。
最後に、データベースのテーブル設計は双方のシステムで共通化すること、そのたたき台を教員が作ることを提案した。共通化については(一応)了承されたが、たたき台を教員が作ることについては難色を示され、まずはNaさんとMaくんに検討してもらうことになった。

合同ゼミ終了後、教員だけで短い会議を行った。詳細略。

●計算機環境の整備
★PCの保守
ゼミ室の録画用PC ThinkPad X60 でWindows Updateを実行した。
自室のネットブック用 dynabook (Lubuntu 12.04) でアップデートマネージャを実行した。

●swB 授業処理
K'sLifeに提出された最終レポート1次〆切分を全てダウンロードした。

●ltp 授業処理
続き。メールで受け取った点検し、いくつかに返信した。

●ltp 授業準備
S先生に準備していただいたメーリングリストにテスト投稿し、モデレータとしての操作手順を確認した。

●その他
OGのお祝いのために、S先生、K先生にご協力いただいて写真を撮った。

2015年5月22日金曜日

2015/05/21(木) da1 授業実施

●計算機環境の整備
★H26年度貸与ノートPC保守機の整備
昨日のda3授業時間中に不調であったので、 sfc /scannow を実行した。
また、F-Secureでウイルスの全スキャンを実行した。

sfc の実行完了直後にテキストファイルをTeraPadへドラッグ&ドロップする操作を試したところうまくいったが、あとでいったん再起動したのちにもう一度試したところうまくいかなかった。再起動すると再発するようであった。Eclipseへのドラッグ&ドロップはうまくいくので授業で使う分には深刻な問題ではないが、扱いづらいことには変わりない。

●swB 学生対応
学生1名の来室があり、貸与ノートPCの障害のため「Eclipseが消えてレポートに画像を貼れない」という相談を受けた。
どうも学生の言うことが要領を得ないので、一緒にサポセンに行ってNさんにあらためて状況を説明してもらった。OSが起動しなくなり、Linuxで起動してデータを取り出したが、Eclipseのワークスペースはディレクトリごとお釈迦になっていてデータを救済できなかったということであった。
それではこの学生がこれまでに作業した成果は全て消えたのかというとそうではなく、学生本人の説明によると、swBのために作ったプログラム(Javaソースファイル)やレポート(Wordファイル)は別にコピーがあり、ただプログラムの実行結果の画像だけはまだ貼っていないということであった。また、保守機も借りられるということであった。そうであればswBに関しては来週5/27(水)の2次〆切までに作業を終わらせるのは難しくないはずであるが、そのあたりがこの学生にはよく解らないようであった。
とにかくこの時点ではファイルと保守機が目の前にあって操作を指導できるわけでもなかったので、それだけのファイルが揃っていれば作業はできるはずであること、不明な点があれば来週の授業で相談できること、2次〆切には十分間に合うはずであることを説明してその場の対応を終えた。

●進路指導Webサイトの更新
昨日A先生からメールで流れていた求人資料2点をWebサイトに掲載した。

Sエージェントのかたの来訪を受けた。明日のイベントについて、キャンセルが出たのでまだ空きがあるということであった。学生にさらなる周知を図ることを約束した。
このイベントについては日程をWebサイトに掲載したつもりであったが、データのみ更新してWebサイトへ反映するためのバッチ処理を実行していなかった。これを今日実行した。また、メールの告知文面をテキストファイルに保存し、資料としてWebサイトに掲載した。

最近の更新状況や今日・明日のイベントについての告知をメールで学生に流した。

●就職活動の指導
自分の研究室の卒研生にMLを通じて今日・明日のイベントを周知した。

●学生への修学指導
4年次生のMuさんと個人面談を行った。詳細略。

●電子錠登録・登録抹消
5/14(木)の続きで、除籍・退学者の登録を抹消する処理を行った。
5/17(日)の続きで、旧Mゼミナール室からTIs先生の登録を抹消する処理を行った。
S先生からメールで登録の依頼を受け取ったので処理した。

上記3件の処理の過程で、旧M演習室にも学生が登録されたままになっていることに気付いた。この部屋に行ってみると意外なことに自分の研究室の卒研生Isくんがいた。即刻退室を指示した上で、扉には貼り紙をした。この部屋からすべての電子錠登録を抹消したのち、もう一度部屋に行って、中には誰もいないことを確認した。この件について関連の先生方にメールで報告した。Isくんには近日中にあらためて指導する必要がある。

●da1 授業実施
5限目に第6回を実施した。小テストの実施後、解説を行った。解説の際には、持ち込んだノートPCの画面が液晶プロジェクタからスクリーンに投影されなかったので、スクリーンの代わりに黒板を使った。以前にもこのような現象には遭遇したことがあり、担当業者に連絡しても「異状なし」と言われるだけであったので、今回は連絡しなかった。
大体17時頃に解説を終えたのち、演習を指導した。今回も必須問題2問のほかに上級問題1問があった。半数以上の学生が授業終了までに解き終えて、少なからぬ学生が上級問題まで解いた。その一方で居残った学生もいたが、ほとんどは18:30までに退室した。最後の1名は18:50頃にようやく必須問題2問を解き終えた。

今回は、処理が終わったこれまで小テスト答案をまとめて返却した。
成績確認システムも使わせる予定であったが、ユーザデータを入力するのを忘れていて受講者が使える状態になっていないことに気付いたのでとりやめた。

●da1 授業処理
小テスト答案に目を通して採点を修正した。小テストおよび演習の得点を評価用Excelファイルに入力し、成績確認システムにも掲載した。成績確認システムのユーザデータも準備した。
成績確認システム設置についての連絡通知をK'sLifeに入力し、明朝発送されるように設定した。

●その他
写真撮影の希望日程の調査が行われているので、メールで回答した。

昨日学生用Webサーバにある巨大な動画ファイルについて連絡した学生から返信を受け取った。

2015年5月21日木曜日

2015/05/20(水) da3 授業実施

●da3 授業準備
第8回のスライド資料の準備に着手した。
今回はグラフの深さ優先探索および幅優先探索であり、スライドには図が多い。OpenOffice.org 3の形式からPowerPoint形式に変換し、スライドの大きさを4:3から16:9に変更すると、かなり修正を加えないとまともに読めない状態になってしまった。その上、この回におけるスタックおよびキューの使い方の説明については昨年度の反省点にもとづいて改訂を加える予定である。これらを考え合わせるとかなりの時間を喰われるであろう。
授業当日2週間前に完成させるというスケジュールを守るのは今回も無理のようである。未完了

第6回の小テスト用紙および演習用紙を印刷した。また、第6回のスライド資料のPDF版および履修者名簿のハードコピーを作った。

●da1 授業準備
第6回の小テスト用紙を3クラス分印刷し、2クラス分は他の先生方に渡した。

●研究室内Wikiの更新
サーバの共有フォルダの使い方についてWikiに書き足した。

●lt ランチョンミーティング
昼休みの会議に出席し、議事録を書いたり発言したりした。
来週5/26(火)1限目は講演会である。その前説は今回も自分が担当することになった。また、学生数が増えているので着席について特に指示をすることになった。このことを踏まえて前説資料を準備する必要がある。

夜に議事録を整理してDropboxに置いた。
また、メーリングリスト作成のためクラスの名簿をDropboxに置き、その旨をS先生にメールで連絡した。

●da3 授業実施
3限目に第6回を実施した。小テストの実施後、隣接行列および隣接リストについて講義を行い、これについての演習を指導した。今回の演習問題は簡単で、時間も十分あったので、多くの受講者が早くに問題を解き終えた。そこで授業時間中に第7回の資料を授業用Webページに掲載する作業を行ったり、前回の上級問題の難しそうな点について簡単に解説したりした。前回の上級問題の解き終えた受講者も2名いた。正直なところ上級問題こそが本当の演習問題という感じのものであるから、これに取り組む学生と話をするのは楽しい。

授業用Webページを更新する過程で、そのとき使っていたH26年度貸与ノートPC保守機の調子がまたおかしくなっているらしいことに気付いた。TeraPadやWinSCPへのドラッグ&ドロップができなかった。つい昨日に sfc を行ったばかりであったのに。

●ltp 学生対応
3限目の終わりころに1年次生から声をかけられた。出席メールの宛先を間違えていたために欠席扱いされているという申し出であったので、エラーメールをこちらに転送するよう指示した。

夜にエラーメールを確認し、K'sLifeの出席登録データを修正した。

●FD研修報告会
4限目の報告会に出席し、4名の先生方によるご報告を聴いた。特に発言しなかった。
来月の報告会では自分も発表する予定である。準備をしなければならない。


FD研修報告会のあと、一時帰宅した。
私用を済ませたのちオフィスに戻った。


●swB 学生対応
学生2名が来室し、レポートの提出要領について質問してきたのでその場で回答した。

●ltp 授業処理
続き。メールで受け取った課題レポートを点検し、そのうち2通に返信した。未採点

●da3 授業処理
小テストの受験状況に基づいてK'sLifeの出席登録データを修正した。
また、演習の得点の集計、小テスト答案の採点の修正などを行った。そろそろこれまでの小テスト答案も処理して、評価用Excelファイルの作成成績確認システムの設置を行わなくてはならないが、依然として手つかずのままである。

●JABEE WG: 演習1のWebレポート保存の準備
K'sLifeから、演習1に履修登録をした学生の一覧データと、すでに演習1の成績がついている学生の一覧データを取得し、これらの差分をとることによって今学期に演習1を履修している学生の一覧データを得た。これをもとにWebレポート保存作業を行うときの元データを作った。

ついでに、学生用WebサーバにおいてWebレポートをバックアップするためのPerlスクリプトやWeb上に一覧を表示するためのPHPスクリプトの改修を行った。これらの大部分は昨年8/05(火)までに書き、一部の修正を1/29(木)に行ったものであったので、細部はかなり忘れていたが、それでも扱いづらくて気になっていたところを修正することができた。

今回の改修で、バックアップ作業は他の先生に引き継ぐことになっても問題ないくらいの使い勝手になったと思う。しかし、特に管理用のGUIがあるわけでもないので全く何の説明もなしにというわけにはいかないであろう。そういうときに備えて、また自分自身が忘れてしまったときに備えて、READMEをHTMLで書いてWebレポート一覧の片隅からリンクしておいた。

また、システム改修の過程において、ある学生が学生用Webサーバに巨大な動画ファイルを置いていることに気付いた。レポートには関係ないように見受けられたので、この学生本人にメールで連絡を入れておいた。

●その他
ゼミナール室の台所の流しにキッチンハイターをかけ、しばらくおいてから水で流した。また、その旨をMLを通じて卒研生に連絡した。

2015年5月20日水曜日

2015/05/19(火) lt, ltp, swB 授業実施

●lt 授業実施
1限目に第5回を実施した。小テストを実施したのち、前回の残りを10分間ほどで片付けてから、今回の本題に入った。今回の講義のテーマはセキュリティ対策であった。受講者がノートをとれるようになるだけ時間を確保しながら進行し、さらに10分間ほどのIPAのビデオ2本を見せた。授業時間内に終わらなかったので、授業の終了時刻を8分間後ろにずらすことになった。2限目の出席メールを見たところ、この措置に不満を持った受講者もいたようではあるが、ちゃんと休み時間は10分間確保したので大きな問題ではなかったと考える。

●ltp 授業実施
2限目に第5回を実施した。今回の課題を説明した。また、スライド資料の中に次回の課題の予告があったのであまり深く考えないまま受講者に説明し、次回使うチェックリストや模範レポート例の資料も手元にあったので配ったが、これが混乱のもとになった。今回は受講者にとっては前回の課題、今回の出席メールの提出、今回の課題といった具合にやることが多く、負荷が高い状態であった。メールで提出されたものをあとで見ると、これらの課題レポートや出席メールをごっちゃにしている提出物や、課題の条件を満たしていないレポートが少なからずあった。
次回のことは次回に廻すべきであった。また、例年以上にこちらの話を聴かず課題をノートに記録してもいない受講者が多いようにも感じた。そういう受講者にも理解できるように説明するのがこちらの仕事であるから、結局のところ責任は私自身にある。
2限目はほぼ時間通りに終了した。

●lt 授業処理
小テストの受験状況に基づいてK'sLifeの出席登録データを修正した。

●ltp 授業処理、連絡
出席メールの提出状況に基づいてK'sLifeの出席登録データを修正した。
受け取った限りの課題のレポートを点検し、いくつかは個別に再提出の指示を返信した。しかし個別に返信しているときりがないと感じたので、受講者全員宛てに補足を2通送信した。

●swB 授業実施
5限目に第5回を実施した。レポートの執筆要領、提出要領、次回の口頭試問の実施要領を説明した。K'sLifeでレポートを提出する手順を出席者全員に練習させたところ、基本的な操作でつまづく受講者が多く、円滑には進行しなかった。しかし助手のMa先生やTA, SAがうまく支援してくれて、これには助けられた。Ma先生は先週のltランチョンミーティングでお願いしたことにうまく対応してくれていたようである。

●swB 授業処理
5限目の授業は17:42頃にいったん閉じたが、少なからぬ数の受講者が教室に居残ってプログラミングやレポート執筆に取り組んでいたので、自分も18時半頃まで居残って、質問や相談に対応した。

自室に戻ってから、レポート提出練習の提出状況に基づいてK'sLifeの出席登録データを修正した。
授業中に気付いたスライド資料のミスを修正し、PDF版を作り、授業用ページに掲載した。

●計算機環境の整備
★ファイルサーバ moonlight の共有フォルダの設定
5/16(土)にサーバ間のホームディレクトリ共有を設定した。これに関連して、FreeNASのGUIでCIFSに新たなセクション Home-common を追加して /hogehoge/home-common 全体にアクセスするための共有フォルダを作成し、読み取り専用に設定した。また、すでにあるセクション Home-protected も読み取り専用に設定した。これによってホームディレクトリに関する共有フォルダは次の四つになった。

  a) homes セクション
    o 実体は /hogehoge/home-protected/ユーザID
    o Windows PCから見える共有フォルダ名はユーザID
    o ユーザ本人のみが読み書きできる。

  b) Home-protected セクション
    o 実体は /hogehoge/home-protected
    o Windows PCから見える共有フォルダ名は Home-protected
    o 管理目的のため教員(私)のみが読み出しのみできる。

  c) MyHome セクション
    o 実体は /hogehoge/home-common/ユーザID
    o Windows PCから見える共有フォルダ名は MyHome
    o ユーザ本人のみが読み書きできる。

  d) Home-common セクション
    o 実体は /hogehoge/home-common
    o Windows PCから見える共有フォルダ名は Home-common
    o 管理目的のため教員(私)のみが読み出しのみできる。

また、a)に設定していた veto files = /.??*/ というオプションを削除して、ドット「.」から始まるファイルやディレクトリにもアクセスできるようにした。これは、この共有フォルダにEclipseのワークスペースをコピーしようとすると失敗する問題を解決するためである。これまでは RealSync でコピーすると大量のエラーメッセージが表示されるので最近やめてしまったが、今日は robocopy を使うバッチファイルを書いてコピーを実行し、成功することを確認した。ただし、ファイルシステムの違いで微妙にタイムスタンプが違うのか、 robocopy は同一ファイルを同一と認識できないようであった。このあたりは RealSync のようなツールのほうがよくできている。

やはり c) については、中身がユーザごとに違うのに共有フォルダ名はどのユーザから見ても同じになってしまうのが若干気に入らないが、これは仕方ない。

★H26, H27年度貸与ノートPC保守機の保守
2台の貸与PC保守機のそれぞれにおいてMozilla FirefoxおよびStart Menu 8のアップデートを行った。また念のために sfc /scannow を実行しておいた。

★その他
サーバ dusk の /var/www/html に favicon.ico を置いた。

●進路指導Webサイトの更新
A先生からメールで流れてきた資料2点をWebサイトに掲載した。

2015年5月19日火曜日

2015/05/18(月) 導入1 授業実施、卒業研究の指導

●計算機環境の整備
★PCの保守
4階演習室の演習用デスクトップPC ×5台および教員用デスクトップPC ×1台においてMozilla FirefoxとStart Menu 8のアップデートを実行した。また、教員用デスクトップPCではWindows Updateも実行した。

ゼミナール室の録画用ThinkPad X60でもWindows UpdateとMozilla Firefoxの更新を行った。

ノートPC hail, nightfog でもMozilla Firefoxの更新を行った。また nightfog ではStart Menu 8の更新も行った。

●演習1 授業準備
続き4/27(月)に出した問題の解答を本日4限目に解説するつもりであったので、その解説の順序を確認した。また、受講者が解説を聴きながら同じ手順を踏むことができるよう、その素材となる学生一覧データを彼らの MyHome にコピーした。

●進路指導Webサイトの更新
CSCから流れてきた求人資料1点をWebサイトに掲載した。

●導入1 授業実施
3限目に第5回を実施した。テーマ決めと作品制作計画の作成を指導した。LAのHJさんがヒマそうでちょっと気の毒であった。
来週はマナー講座が実施されるので授業は実施しない予定である。

●演習1 就職ガイダンス
4限目に第5回の授業をやるつもりでいたが、今週の4限目は就職ガイダンスに割り当てられていた。すっかり忘れていた。そういうわけで授業は実施しなかった。

●書籍購入、物品購入
5/15(金)に注文したものが全て届いたので、領収書と納品書をPDF化した上で、ハードコピーないし原本を学部事務室に提出した。
予算管理用Excelファイルの今年度版を作り、これに上記物品・書籍について記録した。

書籍2冊はKoくんに依頼されたものであったので、処理が済み次第Koくんに渡した。

●卒業研究の指導
前述の書籍2冊を渡すついでにKoくんと今後の方針について話した。各ソフトウェアを使ってみた結果を記録するための書式としてInくんに渡したExcelファイルのコピーをKoくんにも渡して、これを参考にして自分用の書式を作るよう指導した。

Kaくんと30分間ほど個別指導を行った。彼の進捗報告を聴いてコメントした。また、今後の指導のありかたについて話し合い、近いうちに通常の卒研ゼミに合流することなどを決めた。
Kaくんに割り当てているデスクトップPCの動作やサーバの共有フォルダへのアクセスを確認した上で、日報ブログを作って今日までの進捗を記録するように指示した。

卒業研究のMLにKaくんを登録し、その旨をMLに通知した。Kaくんの日報ブログのURLもMLに流した。

●C3PO単独ゼミ(キャンセル)
Maくんから連絡があったので予定を取り消した。明日に振り替えたいということであったが、思うところあって振り替えなかった。

●学生への修学指導
3年次生1名と面談した。詳細略。概略はK'sLifeに所見として記録した。

●研究室内Wikiの更新
最近のサーバ整備の結果をWikiページにある程度まで反映させた。
Kaくんの日報ブログのURLも掲載した。

●lt, ltp 授業準備
明日5/19(火)第5回の準備を行った。
ltpのスライド資料のPDF版を作り直した。lt, ltpのスライド資料PDF版のハードコピーを作った。ltのものには、第7回の小テストを見ながら強調すべき箇所に印を付けた。
履修者名簿のハードコピーを作った。

●その他
5/16(土)に記入した研修会のアンケート用紙を学部事務室に提出した。

メールでWebアンケートの回答依頼が来たので回答した。

2015年5月17日日曜日

2015/05/17(日) 計算機環境の整備

●C3PO合同ゼミ 議事録の整理
5/15(金)の議事録を仕上げないまま放置していた。体裁を整え、言葉が足りないところに少し書き足して、完成したテキストファイルをGoogleドライブに置き、さらにメール添付でMLに流した。

LDAP認証を行うPHPスクリプトを提供する約束をしていたので、これもGoogleドライブに置いた。

●学生への修学指導
5/14(木)に連絡通知を送った3年次生から、5/18(月)夕方の面談について了解した旨の返信を受け取った。

●計算機環境の整備
★PHPスクリプトにおけるLDAP認証の実行確認
前述のLDAP認証を行うPHPスクリプトをWindowsサーバやCentOS 7サーバに置いてその動作を確認したところ、Windows + XAMPPではうまくいったが、CentOS 7サーバの aurora および dusk ではうまくいかなかった。これら二つのサーバのいずれにおいても ldap_bind() が失敗して "Can't contact LDAP server" というエラーメッセージが表示された。このPHPスクリプトの主要な部分のみを示すと次の通りである。

    header('Content-Type: text/plain; charset=UTF-8'); 
    $host = "LDAPサーバのホスト名";
    $uid = $_POST['id'];
    $password = $_POST['pw']; // パスワード
    $base = "ou=userall,dc=●●●,dc=ac,dc=jp";

    //接続開始
    $dn = "uid=" . $uid . "," . $base;
    $conn = ldap_connect($host);
    if($conn){
        echo "接続成功\r\n";

        ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3);
        ldap_set_option($conn, LDAP_OPT_REFERRALS, 0);
        $ldap_bind = @ldap_bind($conn, $dn, $password);
        if($ldap_bind){
            echo "バインド成功\r\n";
        }else{
            echo "バインド失敗\r\n";
            echo ldap_error($conn) . "\r\n";
        }
        ldap_close($conn);
    }else{
        echo "接続失敗\r\n";
    }


ウェブを検索してあれこれ読んでみたが今回の事例とは異なるものばかりのようであった。「不思議なことが起きたらSELinuxのせい」という経験則に基づいて、サーバ dusk のシェルにおいて次のようにして調べてみた。

getsebool -a | fgrep -i ldap

この実行結果の中に httpd_can_connect_ldap という論理パラメータがあり、値は off であったので、これを on に変更した。

setsebool -P httpd_can_connect_ldap on

その上であらためて dusk 内のPHPスクリプトにアクセスしてみたところ、今度は "Protocol error" というエラーメッセージが表示された。困ったが、しばらく時間を置いてからもう一度試したところ、どういうわけか成功した。
次に aurora でも同じ手順を試してみた。やはり setsebool が完了してすぐにアクセスしても失敗したが、少し時間を置いてから再度アクセスしてみると成功した。理屈は知らないが、そういうものであると思うことにする。

研究室内Wikiの中にある、LDAP認証を行うPHPコードを記載したページに、今回の手順を追記しておいた。

★サーバ間のホームディレクトリの共有
昨日ファイルサーバ moonlight に設定した項目のうち、CIFSの Home-common セクションを MyHome に変更した。

★ファイルサーバ moonlight の設定のバックアップ
FreeNASのGUIで[システム]-[基本設定]を選択し、[設定のダウンロード]をクリックして設定データベースファイルをデスクトップPCに保存した。

●卒業研究の指導
卒研生にMLを通じて3通の連絡を送付した。

1) 5/22(金)の卒研ゼミは通常のゼミ形式では実施しないこと。
2) 5/21(木)に学内にて就職活動支援行事が実施されること。
3) 書籍の調達については研究室の予算もあること。

まとめて1通にすると最初のほうしか読まない学生もいるので用件ごとにメッセージを分けて書いたが、中にはそれでもほとんど読まない学生もいるのであなどれない。

●演習1 授業準備
明日5/18(月)には4/27(月)に出した問題の解答を説明するつもりであるので、その準備を行った。
まず学生一覧データをExcelに入力し、これをもとにHTMLで表を書き、その前後にタグをつけてHTML文書として仕上げた。他のページとCSSによるレイアウトの指定も作った。完成したHTML文書のひとまとまりを正解例その2として保存した。
次に、問題に対する解答としては無くてもいい部分を削っていって、最低限のコードのみを残したHTML文書のひとまとまりを作り、これを正解例その1として保存した。
これら二つの正解例をファイルサーバの MyHome に置き、Webブラウザで dusk にアクセスして閲覧できることを確認した。

●電子錠登録・登録抹消
続き。基礎教育センターのTIs先生からの連絡にもとづいて電子錠登録抹消のためのデータを作った。未処理

●基礎演習1 授業処理
レポートのサンプルのPDFファイルが、その中身の文章をコピー&ペーストできる形式になっていたので、PrimoPDFでコピペできない形式に作り直して、授業用Webページに置いていたものを更新した。今さらではあるが、後期の基礎演習2でも利用されてしまうかもしれないので、その予防である。

●lt, ltp 授業準備
In先生からMLを通じて、Dropboxに資料のファイルを置いた旨のご連絡をいただいていたので、Dropboxからファイルをコピーした。中身を検討したところ、ltpのスライド資料についていくつか気付いたことがあったので、改訂案を作ってDropboxに置き、その旨をMLに返信した。
また、昨年度使った自クラス用のスライド資料を改訂して今年度版を用意した。

2015/05/16(土) 計算機環境の整備

●計算機環境の整備
★FreeNAS 9.3のアップデート
ファイルサーバ moonlight は現在FreeNAS 9.3で稼働しており、更新作業は簡単になったはずであったが、更新処理が途中で止まってしまう現象が起きてしまい、それ以上の更新がうまくいかなくなっていた。昨日も試したがうまくいかなかった。そこで思い切ってインストールしなおすことにした。

(1) 設定の保存
昨夜更新作業を行った際に保存した設定データベースがデスクトップPCに残っていることを確認した。恐らくこれは[システム]-[基本設定]の[設定のダウンロード]から保存できるものと同じはずである。

(2) 最新版のISOイメージの入手
FreeNASの公式サイトから FreeNAS-9.3-STABLE-201504100216.iso をダウンロードした。

(3) インストール
HP ProLiant MicroServer N54Lのリモートアクセスカード(RAC)を利用して(2)のISOイメージを仮想ディスクとしてマウントし、この仮想ディスクからN54Lを起動して、その内部に挿してあるUSBメモリにFreeNASをインストールした。途中で何度も止まった。FreeNASのインストールでは時間がかかることがあるので、今回も時間がかかっているのかそれとも本当に止まっているのかを見極めるためにずいぶん待った。その上でとうとうあきらめて再起動をかけるということを3回ほど繰り返した。今回の事例では、インストールが止まる時点がそのたびに異なっていたので本当に止まっていたのであろう。
まずは普段使わないRACを疑い、ISOイメージをDVD-Rに焼いて外付け光学ドライブからインストーラを起動してみたが、改善しなかった。そこで次に安物のUSBメモリを疑い、N54L内部に挿していたそれをBuffaloの8 GBのものに取り換えた上でインストールを行ったところ、ようやく成功した。

FreeNASのインストールが終わって起動するとウィザードが開いたが、どうやら余計なことをしてくれそうなので途中でキャンセルした。

(4) 設定の復活
[システム]-[基本設定]の[設定のアップロード]に(1)の設定データベースを読み取らせてしばらく待つと設定が元に戻った。
これで最新の安定版のFreeNASが稼働している状態になった。

★サーバ間のホームディレクトリの共有
ユーザ認証を学部のサーバにお任せすることはあきらめたので、その代わりに研究室内で学生に使わせるサーバ aurora や dusk (以下では便宜的に周辺サーバと呼ぶ。いずれもCentOS 7)のホームディレクトリをNFSでファイルサーバ moonlight (FreeNAS)に集約することにした。

(0) 方針
学生が使うのは次の機能のみであると想定する。SSHやFTPを使わせることは考えない。

  - ファイルサーバ moonlight (FreeNAS 9.3) ... Samba
  - 周辺サーバ aurora, dusk (CentOS 7) ... Webサーバ, MariaDB

Webコンテンツをサーバに載せたいときには、まずそのコンテンツをWindows PCからSamba経由でファイルサーバ moonlight に置く。ファイルサーバに置かれたWebコンテンツはNFS経由で周辺サーバからも共有される。周辺サーバではhttpdが稼働してWebコンテンツをネットワークに公開する。

この方法なら、ファイルアクセスに関して言えば学生のパスワードを記憶させるのは moonlight のみで済む。周辺サーバでは私が /etc/passwd にユーザの一覧を貼り付けておくだけでよい。ファイルサーバにあるディレクトリを周辺サーバにマウントする方法としては、セキュリティの観点からあまり好ましくはないが比較的慣れているNFSを選択した。

MariaDBに関してはサーバごとにパスワードを作る必要があるが、このパスワードはどうせPHPスクリプト内に平文で書いてしまうようなものであるから、ファイルアクセスに使うものと共通化するわけにはいかない。これについては今日は何の作業もしなかった。

(1) ファイルサーバ moonlight (FreeNAS)内のディレクトリの準備
これまではファイルサーバ moonlight のホームディレクトリ /hogehoge/home/ユーザIDCIFS の homes セクションによって共有していた。いったんFreeNASのGUIからCIFSを停止した上で、SSHでログインしてこのディレクトリ構成を次のように変更した。

  - /hogehoge/home-protected/ユーザID
    o moonlight のホームディレクトリ。
    o 非公開ファイル置き場。

  - /hogehoge/home-common/ユーザID
    o 周辺サーバのホームディレクトリ。
    o Webコンテンツ置き場。

自分のホームディレクトリは /hogehoge/home の下から /hogehoge/home-protected の下に変更した。
このとき、FreeNASのGUIからユーザのダイアログを開いて「ホームディレクトリ」を変更すると、なかなか処理が終わらず、焦れてキャンセルした。調べてみるとどうやらホームディレクトリ下のファイルを全て新しいホームディレクトリ下にコピーしていたようであった。大量にあるファイルのコピー完了は到底待ちきれないので、先にファイルを手作業で mv しておいて、あらためて「ホームディレクトリ」を変更するとすぐに終わった。

また、FreeNASのユーザアカウント設定においては学生のホームディレクトリは全て /nonexistent であり、学生のユーザIDと同じ名前のディレクトリは全て単なるディレクトリである。したがって、学生のユーザアカウントについてはホームディレクトリの変更作業は発生せず、単に既存のディレクトリを home-protected 下に mv しただけであった。

(2) ファイルサーバ moonlight (FreeNAS)におけるNFSの設定
FreeNASのGUIで [共有]-[Unixファイル共有(NFS)]-[UNIX共有(NFS)の追加] をクリックしてダイアログを開き、パスとして /hogehoge/home-common を入力した。さらに [高度な設定] をクリックしてダイアログを拡大し、 Authorized IP addresses or hosts にNFSクライアント(すなわち周辺サーバ)のIPアドレスを列挙した。このとき、IPアドレスをカンマ区切りにしたところあとでマウントがうまくいかなかった。IPアドレスを半角空白で区切るように書き換えたところうまくいった。

(3) 周辺サーバ(CentOS 7)におけるNFSクライアントの設定
NFSクライアントとなる各サーバにもともと存在する /home を、ファイルサーバ moonlight 内の home-commonにすげ替えるので、その前に /home 下の中身は退避したり削除したりした。
次に nfs-utils を導入した。

yum install nfs-utils

この直後に mount を実行したところ失敗した。あれこれ調べた挙句に次のようにしてrpcbindとnfs-lockの開始を行った。

systemctl enable rpcbind
systemctl enable nfs-lock
systemctl start rpcbind
systemctl start nfs-lock

上の4行を実行するといろいろと文句を言われるが一応は機能しているようで、よく解らない。とにかく次に再度 mount してみるとうまくいった。

mount -t nfs moonlightのFQDN:/hogehoge/home-common /home

最後に /etc/fstab にエントリを追加し、CentOS自体を再起動してマウントが維持されることを確認した。

moonlightのFQDN:/hogehoge/home-common /home nfs defaults 0 0

(参考)
・HowtoForge: NFS server and client installation on CentOS 7
・Server World: NFSクライアントの設定 (CentOS)

(4) 周辺サーバ(CentOS 7)におけるSambaの停止
周辺サーバにおいてSambaは不要になったので停止した。

systemctl stop smb
systemctl stop nmb
systemctl disable smb
systemctl disable nmb

(5) ファイルサーバ moonlight (FreeNAS)におけるCIFSの設定
FreeNASのGUIで [共有]-[Windows (CIFS) Shares]を開き、これまでホームディレクトリの親ディレクトリとして指定していたパスを /hogehoge/home から /hogehoge/home-protected に変更した(下記a)。
また、これらのホームディレクトリの親ディレクトリ自体に私がアクセスするために作っていた Home セクションの名前は Home-protected に変更した(下記b)。
次に、新たに Home-common セクションを追加し、パスには /hogehoge/home-common を指定した(下記c)。さらに [高度な設定] をクリックしてダイアログを拡大し、補助パラメータに

path=/hogehoge/home-common/%U

と入力した。これによって、各ユーザが moonlight の Home-common という共有フォルダにアクセスしたときの実体は /hogehoge/home-common/ユーザID ということになる。
これらの変更によって moonlight におけるCIFSによる共有設定は次のようになった。

  a) homes セクション
    o 実体は /hogehoge/home-protected/ユーザID
    o Windows PCから見える共有フォルダ名はユーザIDと同じ。
    o ユーザ本人のみが読み書きできる。

  b) Home-protected セクション
    o 実体は /hogehoge/home-protected
    o Windows PCから見える共有フォルダ名は Home-protected
    o 管理目的のため教員(私)のみが読み書きできる。

  c) Home-common セクション
    o 実体は /hogehoge/home-common/ユーザID
    o Windows PCから見える共有フォルダ名は Home-common
    o ユーザ本人のみが読み書きできる。
    (5/17追記: セクション名をHome-commonからMyHomeに変更した)

共有フォルダ Home-common については、中身はユーザごとに違うのに見かけ上の名前はどのユーザから見ても同じになってしまう。少し気にくわないが、大きな問題ではないので目をつぶることにした。
なお、上記a)に対してb)があるようにc)に対しても /hogehoge/home-common 全体が見えるセクションがあるべきであろうが、まだc)に全く中身がない現時点では必要ではないので、これは後回しにする。

(6) ファイルサーバと周辺サーバにおけるユーザID (UID)の統一
ファイルサーバ moonlight と周辺サーバとでは自分のUIDは1番違いであった。NFSを使う上ではUIDを統一しておくのが都合がよいが、ファイルサーバにある大量のファイルのUIDを全て付け替えるのは大変であるから、周辺サーバのほうをファイルサーバに合わせる作業を行った。
まず /etc/passwd や /etc/group を編集して自分のUIDおよびグループID (GID)を moonlight のUIDとGIDに揃え、また find, chown, chgrp を使ってファイルのUIDとGIDを付け替えた。

なお、NISのような仕組みを使うことを考えなくもなかったが、かえって面倒になりそうであるのでやめた。

(7) 学生のユーザアカウントの追加
ファイルサーバ moonlight に学生のユーザアカウントを作った。GIDは全員のものを統一した。

また、周辺サーバの /etc/passwd と /etc/group にもUID, GIDを追加した。ただし、周辺サーバのうち dusk はほとんどの学生が使用するが、 aurora を使用するのは私自身のほかには1名のみの予定であり、両方のサーバに全学生のUIDを追加する必要はない。したがって、サーバごとにそれを使用する学生のUIDのみを passwd に書いた。

(8) 周辺サーバ(CentOS 7)におけるApache HTTP Serverの設定
/etc/httpd/conf.d/userdir.conf を編集して、httpdによって公開されるディレクトリを ~/public_html ではなくその下のサブディレクトリに変更した。サーバごとにこのサブディレクトリの名前を違うものにした。したがって、学生はサブディレクトリを使い分けることでサーバごとに異なるWebコンテンツを用意することができる。
設定変更後は

systemctl restart httpd

を行った。

(9) 周辺サーバ(CentOS 7)におけるSELinuxの設定
NFSとhttpdがらみのものを有効にした。

setsebool -P use_nfs_home_dirs on
setsebool -P httpd_enable_homedirs on
setsebool -P httpd_use_nfs on

また、Sambaがらみのものを無効にした。

setsebool -P samba_enable_home_dirs off

その上で、デスクトップPCからファイルサーバ moonlight の共有フォルダにアクセスしたり、Webブラウザで周辺サーバにアクセスしたりして、各設定がうまくいっていることを確認した。

★仮想サーバの保守
仮想サーバ aurora, dusk, nimbus で sudo yum update を実行した。再起動して動作を確認した。

★CentOS 7素体用仮想マシン nimbus の保守
上述の変更の一部を nimbus にも適用した上でVMware vCenter Converterでバックアップをとった。

ここまでできたら今後卒業研究や自分の研究のためにサーバを増やす作業もかなり楽になるのではないかと思う。少なくとも卒研実験用の dusk に対応する卒研本番用の dawn はこの nimbus のコピーで済むであろう。

●その他
昨日の研修会のアンケート用紙に記入した。いろいろ思うことはあったが、かなりの時間をかけて「解りやすかった」という1行しか書けなかった。月曜に学部事務室に提出する。

2015/05/15(金) 卒研ゼミ、C3PO合同ゼミ

●卒研ゼミ
9:30から卒研ゼミを実施した。出席3名、遅刻1名(Koくん)、欠席3名(Muさん、Naくん、Maくん)。
Yaくんの進捗報告を聴いてコメントした。
また、私から今後学内で行われる就職活動支援行事を紹介した。

●就職活動の指導
Koくん、Isくん、Inくん、Yaくんと個別に面談した。詳細略。

Sエージェントのかたの訪問を受けた。卒研生に紹介した。

●書籍購入
Koくんから依頼された書籍2冊をAmazonに注文した。

●物品購入
LogitecのUSBディスプレイアダプタLDE-SX015U×5個をAmazonに注文した。

●進路指導Webサイトの更新
学内合同企業説明会の情報がメールで流れてきたのでWebサイトに掲載した。

●C3PO合同ゼミ
3限目にS研との合同ゼミを実施した。今回はMaくんが就職活動のため欠席したので、Naさんの進捗報告のみを聴いてコメントした。議事録は私が書いた。Naさんの負担も考慮して60分間ほどやったところで閉じた。

●全学研修会
S201教室で開催されたハラスメントに関する研修会に出席した。話の中身もビデオも大変解りやすかった。いろいろと思うことも多かった。


研修会のあとは一時帰宅し、歯科に行き、買物をしてからオフィスに戻った。


●計算機環境の整備
★ファイルサーバ moonlight (FreeNAS 9.3)の保守
FreeNASは9.3からはネットにあるアップデートを自動的にチェックするようになり便利になったが、最近のアップデートはうまく適用できていなかった。本日あらためてやってみたがやはりプログレスバーが同じ時点から長時間動かなくなってしまった。このまま更新できなくなってしまうと困るので、いずれFreeNAS自体をインストールしなおす必要があるように思う。

2015/05/14(木) da1 授業実施

ちょっと気が抜けた状態。


●CSV処理プログラムの開発
電子錠登録用のCSVファイルから部屋番号を抽出するプログラムに実装漏れがあり、CSVファイルの1行に2部屋以上の登録があるときに最初の1部屋の番号しか抽出しないようになっていたので、これを修正した。

このプログラムはもともとVisual Studio 2007で開発したものであるが、現在自室で主に使っているデスクトップPCに入っているのはVisual Studio 2010であるので、ソリューションを開いたときに変換が行われた。このときにターゲットの.NET Frameworkのバージョンが変わってしまったらしく、今回ビルドしなおしたプログラムは電子錠管理用PCでは動作しなかった。そこでターゲットの.NET Frameworkのバージョンを落としてビルドしなおした。動作は未確認

●学生への修学指導
昨日電話連絡した学生の保護者から交換経由で電話が入ったので対応した。
当の学生本人は約束の昼休みに来室しなかったので面談できなかった。携帯電話番号に3回かけたが応答はなかった。
しかたがないので来週5/18(月)の導入1の際に指導することにする。

ある3年次生1名について、5/06(水)に保護者と連絡をとることができたものの、依然として本人への指導はできていない。あらためて本人と電話連絡を試みたが応答は得られなかった。K'sLifeを通じて、来週5/18(月)夕方に面談したい旨の連絡通知をこの学生に送付した。

●計算機環境の整備
★学部のSambaサーバ
ディスクが満杯になった件についてAs先生から返信があり、解決したとのことであった。

★ノートPCの保守
自室の会議机のdynabook (Lubuntu 12.04)でアップデートマネージャを実行した。
自分用のノートPC hail, nightfog およびH26年度・H27年度の貸与ノートPC保守機の計4台でWindows Updateを実行した。

★仮想サーバの保守
サーバ thunderhead (CentOS 6)にRubyを導入した。バージョンを調べたら1.8であった。CentOS 6ではこれが標準であるらしい。

★卒研システムの整備
2012年度の卒研システムのデータベースに、現在所属しているB3, B4全員のユーザアカウントを作成した。また、卒業生のユーザアカウントはあらかた無効にした。

★研究室内のアカウント管理方式の検討
学部のActive DirectoryサーバやLDAPサーバに登録されているユーザアカウントはCNCのものと共通化されているので、学生はK'sLifeのユーザ名およびパスワードさえ把握していれば他のサーバにも同じ組み合わせでログインすることができる。そこで、研究室内のサーバにおけるSambaのユーザ認証にも学部のActive DirectoryないしLDAPを使うことができればいいと思ったが、この試みはうまくいかなかった。そこで今日はこの代替案を検討した。

大学のユーザアカウントに一本化できないなら、せめて研究室内では一本化したい。学生が研究室内で使うのはCIFS(というかSamba), Web, MySQL(CentOS 7ではMariaDB)ぐらいであり、このうち一本化するべきユーザアカウントを扱うのはSambaのみである。Webに関してはホームディレクトリ下の public_html が読めさえすればよく、MariaDBに関してはユーザIDとパスワードはPHPスクリプトの中に平文で書くようなものであるからSambaのものとはむしろ違っていなければならない。

これらの条件を満たす方法として、学部のサーバ構成にならって、学生が使うサーバのホームディレクトリをファイルサーバに置くという方法を採ることにした。この方法では、学生はどのサーバを使うときでもファイルをファイルサーバ内のホームディレクトリに置く。ファイルサーバ以外のサーバはこのホームディレクトリをマウントする。各サーバのhttpdはホームディレクトリ内の public_html にアクセスする。学生はファイルサーバ以外のサーバにログインすることはないので、ファイルサーバのみが学生のパスワードを記憶すればよい。SELinuxの標準的な設定でも差し支えないようにディレクトリ構成を作ることもできるはずである。
ここまで考えてちょっと安心したので、詳細は後回しにした。

●卒業研究の指導
明日5/15(金)は学友会総会のため全学休講であるが卒研ゼミは実施する旨を、MLを通じて卒研生に連絡した。

●電子錠登録・登録抹消
Ta先生から指摘があり、急きょ旧Mゼミナール室から学生の登録を抹消した。また、この部屋の扉にはその旨の告知を貼った。また、これらの措置について関係の先生方にメールで連絡した。

K'sLifeから最新の学生一覧をダウンロードし、除籍・退学者の電子錠登録抹消処理のためのデータを作った。抹消処理は未実施

●da1 授業準備
スライド資料のPDF版と履修者名簿のハードコピーを作った。

●da1 授業実施
5限目に第5回を実施した。小テストの実施と解説のあと講義を行った。今回のテーマはsetterにおけるthisの使い方とメソッドの多重定義であった。スライド枚数が少ないので、学生に問題を与えてじっくり考えさせるために十分な時間を割くことができた。
6限目の居残りはなかった。

●基礎演習1 授業処理
続き。レポートの遅延提出受付も終了し、レポートを提出できそうな学生からのレポートは一応出そろった。評価を確定して、そのファイルを関係の先生方にメール添付で送付した。

折り返しTa先生のクラスの評価結果を受け取った。

●進路指導Webサイトの更新
学内行事のチラシをメールで受け取ったのでWebサイトに掲載した。

●da1 授業処理
4/16(木)第1回から本日第5回までの小テスト答案全てに目を通し、採点に修正を加えた。小テストと演習の得点を集計した。評価用Excelファイルを作ってこれに得点を入力した。授業用Webページ内の成績確認システムを設置し、評価を掲載した。

第5回の小テスト答案と、ついでに第6回の資料を、ともに授業用Webページに掲載した。

●その他
自室の蛍光灯のうち暗くなってしまったものを交換してもらった。

2015年5月14日木曜日

2015/05/13(水) da3 授業実施、学部・研究科の会議

●da3 授業準備
小テスト用紙を印刷した。

●da1 授業準備
小テスト用紙を3クラス分印刷した。2クラス分は他の先生方に渡した。

●セキュリティ管理方式の検討
5/01(金)に人事部のIさんと話したことにもとづいて本日の学部の会議で報告し、先生方にご協力をお願いする。その準備として、これまでにIさんとメールでやりとりした内容を読み直して、要点をWordファイルに書き出した。

●lt ランチョンミーティング
昼休みの会議に出席した。いつものように議事録を書きながら、昨日の実施結果や今後の予定について話し合った。貸与ノートPCのトラブル対応についても助手のMa先生に、PCを使う作業以外のことについて何らかの説明が行われているときにはトラブル対応を後回しにすること、これについて私がうまく指示できない場合には代わって適切に判断してもらいたいことなどを依頼した。

議事録は夜に清書してDropboxに置いた。

●da3 授業実施
3限目に第5回を実施した。今回の出席率は高かった。
小テストを実施したのち、Javaのfor-each構文について簡単な講義を行った上で、5/06(水)第4回の講義内容に対応するプログラミング演習を指導した。ほとんどの受講者が授業時間内に問題を解き終えた。上級問題に挑戦する受講者も数名いた。その一方で、問題を解き終えることができなかった受講者もいた。

あとで数えたところ、受講者の1割ほどが解き終えていなかった。全員が必ず全問を解くことができることをこちらが保証するわけではないし、受講者の9割が全問を解けたのであれば難易度が高すぎるというわけではないはずである。しかし、次回の出席率は落ちるのかもしれない。

●学部の会議、研究科の会議
4限目・5限目の時間帯に会議が行われたので出席した。学部の会議の最後のほうで、前述のセキュリティ管理方式の検討について先生方に説明し、ご協力をお願いした。いつになってもこういう場で喋ることには慣れなくてかなり緊張しながら喋った。これもまた毎度のことであるが余計なことまで喋ってしまった。終わったあとで激しく後悔するのも毎度のことである。

●学生への修学指導
S先生から指導を依頼されたので、1年次生1名に電話をかけて明日の面談を約束した。

●da3 授業処理
小テストの受験状況に基づいてK'sLifeの出席登録データを修正した。
本日の授業中に見つかった資料の誤りを修正し、所定の場所に置いた。また、小テストの正解を授業用Webページに掲載した。

●計算機環境の整備
★学部のSambaサーバについて
前述の通りda3の小テスト正解をWebページに掲載した際に、ディスクが満杯になってファイルを全く追加できない状態になっていることに気付いた。自分のディレクトリ下から不要なものを削除して、多少の空きを作った。また、MLを通じて先生方に不要なファイルの削除をお願いした。

★仮想サーバ daybreak, daybreak2 の保守
Microsoft Updateを実行した。

★新しい仮想サーバ dusk の作成
3年次演習用サーバと、卒業研究の実験用サーバの2代目として、それぞれ別のCentOS 7サーバを用意するつもりであったが、学生のアカウント管理の手間は自分自身のサーバ保守の手間も考えて1台にまとめることにした。名前は dusk に決めた。なお、卒業研究の本番用サーバの3代目は dawn という名前にする予定である。

まずCentOS 7素体 nimbus のバックアップをVMware vCenter ConverterでVMware vSphere Hypervisor (ESXi)マシン sunlight に書き戻した。このとき、仮想マシンのバージョンは8にした。また、ネットワークアダプタをデフォルトにしておくと認識されないことはすでに一度経験済みであるので、あらかじめ「VMXNET 3」に変更しておいた。

次に dusk を起動し、ログインしてIPアドレスとホスト名を変更して再起動した上で、 dusk にSSHでログインできることを確認した。
また、シェルスクリプト enable-all.sh でSambaなどのサービスを起動し、Windows PCのエクスプローラやWebブラウザからアクセスできることを確認した。

ここまでは非常にスムーズに作業できた。
残作業としては次のようなものが挙げられる。
1) 卒研生や3年次生のアカウントを作らなくてはならない。
2) 学生ごとにMariaDBに一つ以上のデータベースを作ることができるようにもしなくてはならない。そのあたりの使用規則も決めておく必要がある。

★仮想サーバ aurora の整備
これまでいろいろいじっていた aurora は、もともとは3年次演習で使うサーバにするつもりであったが、前述の通りこの用途には dusk を充てることにした。そこで aurora は進路指導Webサイトの再開発用に転用することにした。
機器管理用Excelファイルをこの方針に基づいて更新した。
また、Active Directoryを使おうとしたときの名残でワークグループ名が学部のサーバのドメイン名になったままであることに気付いた。 smbclient で調べるとマスターは aurora と daybreak らしかった。 nmb と smb を再起動したり daybreak からアクセスしてみたりして、ワークグループ名が研究室のものに戻ったことを確認した。

★仮想サーバ twilight の停止
もともと twilight は進路指導Webサイトの再開発に使うつもりで作ったが、この用途には前述の通り aurora を充てることにしたので、当面 twilight の用途は無くなった。また、この twilight にのみGUIつきのCentOS 7を導入したままであるが、GUIが鈍重である(CentOS 5サーバ rainbow のGUIと比べると明白)上に学生に管理させることができるほど管理機能が充実しているわけでもないようである。どうやらこの twilight の使い道は無いので、いずれ削除することを想定して、とりあえずシャットダウンした。

2015/05/12(火) lt, ltp, swB 授業実施

●lt 授業実施
1限目に第4回を実施した。今回のテーマはインターネットの利用上の注意で、前回の続きであった。メールの形式上の注意のあたりで、アドリブで文例を書かせるクイズを出して受講者に答えさせるということをやっていたら時間が足りなくなった。それでも次回の小テスト範囲はクリアした。そのあとにあったソーシャルメディアにおける事例は次回に廻した。

●ltp 授業実施
2限目に第4回を実施した。パスワードの変更、プリンタの設定、昨年度の調査報告書の閲覧などを指導した。出席メールはスクリーンに文例を書いて見せた。

受講者の貸与ノートPCでいろいろとトラブルがあったようである。助手の先生やTA, SAが熱心に補助してくれるのはありがたいのであるが、こちらが課題を説明している最中もずっとトラブル対応をしていて話し声が聞こえていたことには少し困った。そのときは適切に対応できなかったが、あとで考えると、私自身がもっと明確にトラブル対応を後回しにするよう指示を出すべきであった。これについては明日のランチョンミーティングで話すことにした。

●lt, ltp 授業処理
小テストの受験状況および出席メールの提出状況にもとづいてK'sLifeの出席登録データを修正した。

●備品の除却
除却する備品を指定された場所に移した。

●計算機環境の整備
仮想サーバ aurora (CentOS 7) の調整の続き
SambaのユーザIDとパスワードをサーバごとに設定するのはやはり避けたいと思ったので、今日一日だけ、学部のWindowsサーバないしLDAPサーバと組み合わせて使うことはできないかどうかを検討してみることにした。

★Samba + Active Directoryの設定(失敗)
Sambaの解説書やWebサイトを見ながら、学部のWindowsサーバの設定を調べた上で、次のような設定を行った。

(1) smbdの停止
そろそろ systemctl をソラで使えるようになってきた。/etc/init.d/ とか入力するよりは楽であるような気もする。

systemctl stop smb

(2) /etc/samba/smb.confの設定
すでにある security=user とか workgroup=なんちゃら とかの行をコメントアウトして、次のように書いた。

[global]
       security = ADS
       workgroup = NetBIOS名
       realm = ドメイン名

       password server = WindowsサーバのIPアドレス

(3) ドメインへの参加
次のように実行した。

net ads join -U Administrator

Administratorのパスワードを聞かれたので入力した。Joined云々というメッセージが表示された。DNSをupdateできないというようなメッセージとともに ERROR_DNS_GSS_ERROR という恐ろしげなエラーコードも表示されるが、これはWindowsサーバがDNSでなければ起こることで、無視してよいということのようである。

net ads testjoin

でOKと表示されるので、一応成功したようである。あとでWindowsサーバを調べてみると、確かに aurora が登録されていた。

(4) smbdの起動

systemctl start smb

(5) Windows PCからのアクセス(失敗)
自席のデスクトップPCのエクスプローラから aurora にアクセスしてみたところちゃんと自分のホームディレクトリが表示されたので、これで成功かと思ったが、どうもこれは実際にはWindowsサーバによる認証は失敗していて aurora 内のパスワードデータベースによる認証にフォールバックしているようであった。試みに

pdbedit -x ユーザID
pdbedit -a ユーザID

としてパスワードデータベースに違うパスワードで登録しなおした。その上でデスクトップPCから aurora にアクセスしてみると、indowsサーバに入っているパスワードではなく aurora のパスワードデータベースのほうが効いていることが確認できた。
/var/log/samba の下にあるログを調べてみると NT_STATUS_LOCK_NOT_GRANTED というエラーコードが混じっていた。これでウェブ検索したところ、どうやらActive Directoryに参加していないクライアントPCからアクセスすると失敗するということらしかった。Fedoraではそのような現象は起きないがCentOSでは起きるという報告も見つかった。CentOSのバグかどうかははっきりしないが、自力で解決するのは難しいようである。

★Samba + LDAPの設定(失敗)
次はLDAPに挑戦した。PHPで学部のLDAPサーバによる認証を利用する方法については以前に調べたことがあるので、そのときに書いたPHPスクリプトを見ながら、次のような設定を行った。学部のLDAPサーバを使うので、LDAPサーバを設定するためと思しい手順はすっ飛ばして、Sambaの設定のみを行った。

(1) smbdの停止

systemctl stop smb

(2) /etc/samba/smb.confの設定
試行錯誤した結果、下記の設定が一番正解に近いようであった。4行目の ldap ssl=no というのは危ないなぁと思うが、こうしておかないと認証以前にLDAPサーバとの通信が失敗するので仕方なかった。

[global]
       security = user
       passdb backend = ldapsam:ldap://サーバ名
       ldap ssl = no
       ldap admin dn = cn=管理用ユーザID,dc=●●●,dc=
ac,dc=jp
       ldap suffix = dc=
●●●,dc=ac,dc=jp
       ldap user suffix = ou=
●●●

(3) LDAPサーバに問い合わせをするためのパスワードの設定
この時点で smbpasswd が使えないことに気付いたのでインストールした。

yum install samba-client

上記(2)のcn=に記述した管理用ユーザIDのパスワードを次のようにして設定した。

smbpasswd -W

ここまでは成功しているように見えた。

(4) smbdの起動(失敗)

systemctl start smb

で smbd を起動しようとしても、タイムアウトして失敗してしまった。失敗の理由を知るために

systemctl status smb

を実行してみると Invalid credentials というメッセージが表示された。どうやらLDAPサーバとの通信には成功しているが、問い合わせをしようとした時点でコケたということのようである。

このあたりで気力が尽きたのであきらめた。そのうちまたヤル気になったら挑戦してみるが、当面は悔しがりながらサーバごとにパスワードを管理することにする。

★CentOS 7素体用仮想マシン nimbus の更新
仮想マシン nimbus を起動し、動作確認のために導入したサンプルプログラムやそのデータベースを削除した。また yum install samba-client を実行した。その上でシャットダウンして、あらためて VMware vCenter Converter でバックアップをとった。今回はPlayer 3.xではなく4.xの形式を指定してみた。

●swB 授業実施
5限目に第4回を実施した。最初に少し喋っただけで、あとは受講者のシステム開発を指導した。

●基礎演習1 連絡など
基礎演習1において自分の担当した3回(第2回~第4回)の実施結果を、次の3回(第5回~第7回)をご担当になるIc先生に、ご参考のためメール添付で送った。

swBの授業の最後に、基礎演習1の再履修は面倒らしいので出席を続けるように告知した。また、自分の担当回のレポートをまだ提出していない学生がswBのこのクラスにいたので提出を呼びかけた。

●学生への修学指導
5/07(木)に面談に現れなかった学生が5限目のswBのクラスにいたので、その場で声をかけて、5限目の終了後に面談した。詳細略。

●業務
Is先生から教科書について相談を受けた。詳細略。

●swB 授業処理
出席カードの提出状況にもとづいてK'sLifeの出席登録データを修正した。
ついでに評価用Excelシートを作り、各学生が実際に受講しているクラスを記録した。

2015/05/11(月) 導入1, 演習1 授業実施

午前中は休養。昼からオフィスに。


●導入1 授業実施
3限目に第4回を実施した。全員出席。
受講者に作業計画を立てさせるにあたり、どのようなソフトウェアを使ってどのように作業を進めていくのかを一通り見せておく必要がある。事前に用意したサンプルデータを使って動画を作っていく作業を、各チーム用のデスクトップPCを使った実習を交えながら説明した。この説明は1時間以内に終わるかと思っていたが、結局1コマまるまる使ってしまった。
各チームは3名ないし2名からなり、チームごとに1台の演習用デスクトップPCを割り当てて使わせている。当然ながら実習の際には各チームのうち1名が操作することになる。このとき、もともとWindowsの操作に慣れている受講者に操作させると、不慣れな受講者は横から見ているだけで何も覚えられないであろうから、あえて不慣れな受講者に操作させるよう指示した。時間がかかったのはこのせいもあったかもしれない。LAのHJさんが受講者を補助してくれたが、もし自分一人で廻していたら1コマでは終わらなかったのかもしれない。

●演習1 授業実施
4限目に第4回を実施した。全員出席。
前回の演習の続きを指導した。ある程度完成した者もいれば、HTMLの表をどうにか作りあげたところという者もいて、進捗に差がついてきた。次回には解説をする必要があるであろう。

●学生への修学指導
演習1の時間内に3名と個別に面談して指導した。詳細略。

●卒業研究の指導
5限目の最初の30分間はKaくんに個別指導を行った。

●C3PO単独ゼミ
5限目の次の30分間強にMaくんに個別指導を行った。

●備品の除却
除却を申請した備品について、5/14(木)までに所定の場所に移すよう連絡が来た。

●PB演習 授業準備
In先生にメールで、当研究室からPB演習への参加予定人数を連絡した。

●進路指導Webサイトの更新
CSCからメールで第2回学内合同企業説明会の参加企業一覧が流れてきたのでWebサイトに掲載した。

●電子錠登録・登録抹消
Ya先生からメールで電子錠登録の依頼を受け取ったので処理した。

●lt, ltp 授業準備
Dropboxからスライド資料をコピーした。PDF化してハードコピーを作った。ltの資料を次回の小テスト問題と見比べて、強調すべきところに印を付けた。


ここまでの作業が終わった時点で、帰宅しようと思えばできたであろう時刻であったが、ひどく疲れを感じて自宅までたどり着ける自信がなかったのでオフィスに泊まった。

2015年5月11日月曜日

2015/05/10(日) 計算機環境の整備

●計算機環境の整備
★演習用サーバの準備・CentOS 7の調整
続き。まずCentOS 7素体用仮想マシンnimbusの動作確認を行い、次にそのコピーを作った。

(1) 仮想マシンnimbusにおけるPHPとMariaDBの動作確認
学部の仮想サーバ upblow (CentOS 6)にあるサンプルプログラムを nimbus にコピーし、そのDBをphpMyAdminで upblow からエクスポートして nimbus にインポートした。phpMyAdminでDBの特権ユーザを設定したところ、サンプルプログラムはあっさり動いた。

(2) nimbusのApache HTTP Server, MariaDB, Sambaのサービスの停止
今は systemctl の使い方を一時的に覚えているが、きっとすぐに忘れるであろうと思ったので、主要なサービスの制御をまとめて実行するためのシェルスクリプトを書いておくことにした。名前は enable-all.sh として、中身は次のようにした。

#!/bin/bash

if [ $# -eq 0 ]; then
  echo "enable-all.sh [-i|-e|-d|-r|-t|-p]"
  echo "   -i ... check whether each service is enabled or not."
  echo "   -e ... enable services."
  echo "   -d ... disable services."
  echo "   -r ... restart services."
  echo "   -t ... start services."
  echo "   -p ... stop services."
  exit
fi

case $1 in
-i) cmd="is-enabled" ;;
-e) cmd="enable" ;;
-d) cmd="disable" ;;
-r) cmd="restart" ;;
-t) cmd="start" ;;
-p) cmd="stop" ;;
*) echo "oops."; exit ;;
esac

for s in httpd.service mariadb.service nmb.service smb.service; do
  echo "$cmd $s"
  systemctl $cmd $s
done


これを使ってサービスを停止し、なおかつ自動起動も解除したのち、念のために sudo reboot -n で再起動をかけてサービスが自動的には起動しないことを確認した。

その上であらためて sudo shutdown now を実行して仮想マシンの電源を落とした。
VMware vSphere Clientで完全に停止したことを確認した。

(3) Converterによるnimbusのバックアップと新たな仮想マシンauroraの作成
デスクトップPCでVMware vCenter Converter 5.5を起動し、これを使って sunlight (VMware ESXi 5.5)から nimbus のバックアップをとった。形式はPlayer 3.xにした。
nimbus のVMのバージョンが8であるので、これに合わせるならPlayer 4.x形式あたりにするべきであったが、これまでに蓄積されている各仮想マシンのバックアップの形式が全てPlayer 3.xであったから、実績と統一を採ってPlayer 3.xのほうに合わせた。

さらに、Converterを使ってこのバックアップを aurora という名前の仮想マシンとして sunlight に書き戻した。このとき aurora のVMのバージョンも nimbus に合わせて7ではなく8にした。

書き戻しが終わったところで aurora をVMware vSphere Clientから起動した。
sshで aurora にログインできなかったので、Clientのコンソールから aurora にログインして ifconfig したところ、ネットワークアダプタが表示されなかった。仮想マシンの設定を確認するとネットワークアダプタのタイプが「フレキシブル」になっていたので、いったんこのアダプタを削除して nimbus と同じ「VMXNET 3」を追加し直し、 aurora を再起動した。この結果、ネットワークアクセスが有効になった。

(4) auroraのサーバ名、IPアドレスの変更
仮想マシン名は aurora であるが、その中で動いているCentOS 7のホスト名やIPアドレスはまだ nimbus のままである。 /etc/hostname と /etc/sysconfig/network-scripts/ifcfg-* を編集してホスト名とIPアドレスを変更し、再び再起動した。起動後にsshで aurora に変更後のホスト名(つまり aurora)でアクセスしてみたところ、ログインが成功した。

さらに前述のenable-all.shを使いサービスの自動起動の設定(sudo enable-all.sh -e)と起動(sudo enable-all.sh -t)を行った。Windows PCから aurora が見えること、中のディレクトリにもアクセスできること、Webブラウザで aurora にアクセスしてphpmyadminやPB演習のサンプルプログラムが動作することなどを確認した。

(5) 今後のTo-Do

  1) CentOS 7素体用の仮想マシンnimbusを作る。
  2) サービスを停止してシャットダウンする。
  3) VMware vCenter Converterでバックアップをとる。
  4) VMware vCenter Converterで新たな仮想マシンを作る。
  5) 起動してサーバ名、IPアドレスを変更する。
  6) 学生のユーザアカウントを作る。 ←つぎココ

(6) さらに卒研用サーバの準備
卒業研究のために新たなCentOSサーバを作ることも考えている。以前は卒研生に物理サーバを導入・運用させることも考えていた(2/23, 2/24)が、これは無理のように思えてきた。そうなると自分で用意するしかない。
今回、CentOS 7素体用仮想マシンnimbusを用意し、またこれをコピーするだけである程度まで動くく状態のサーバを用意することができることも aurora で確認した。卒研用CentOSサーバもこれと同じ要領で用意することができるであろう。

Sambaのユーザ認証のために、サーバごとにパスワードを登録しなければならないのが面倒である。この問題を簡単に片付けたければCentOS 6とSamba 3の組み合わせを選んで security = server オプションを使うべきであったのであろう。しかし、問題があって廃止される技術に依存し続けるのも良いことではないとあきらめることにして、代替案は今後検討する。

ここまで考えたところで、3年次の演習用サーバと4年次の卒研用サーバを分けることが本当に正しいことであるか疑わしく思えてきた。明日までに検討する。

★学部の仮想サーバ upblow の保守
/etc/samba/smb.conf の設定を点検し、 display charset の行は削除した。また2015年度のPB演習で使うであろうサンプルプログラム用ディレクトリを作り、Windows PCからアクセスできることを確認した。
sudo yum update と sudo reboot -n を実行した。


午後はオフ。

2015年5月10日日曜日

2015/05/09(土) 計算機環境の整備

ずっとオフィスにいたが、意識的に昼過ぎまでのんびりした。


●da1 授業準備
G先生からメールで、スライド資料の一部について改訂案を受け取った。中身を確認し、所定の場所にも置いた。

第5回のスライド資料PDF版を授業用Webページに掲載した。

●基礎演習2 授業準備
続き。新たなサンプルプログラムとしてモンテカルロ法で円周率を求めるプログラムを作ってみた。授業準備というより気分転換の意味のほうが大きかった。この過程で既存のサンプルプログラムにいろいろと改善すべきところがあったことに気付いて、あちこちいじった。

●基礎演習1 授業処理
5/07(木)夜に作った評価のExcelファイルや説明文書のWordファイルを改訂した。受講者の得点をIs先生からメール添付で受け取っていたExcelの書式にも記入してみた。
レポートの遅延提出を受け付けている以上、得点は未確定であるから、これらは後日また改訂するかもしれない。

●swB 授業準備
第4回から第6回までのスライド資料を準備し、PDF版を作って授業用Webページに掲載した。

●da3 授業準備
第5回のスライド資料PDF版を授業用Webページに掲載した。

●lt, ltp 授業処理
第2回のスライド資料PDF版を授業用Webページに掲載した。

●計算機環境の整備
★演習用サーバの準備・CentOS 7の調整
続き。CentOS 7素体用仮想マシンnimbusで引き続き作業を行った。以下はsudo bashしたうえで実行した。

(1) Webサーバの実行
まずはApache HTTP ServerとPHPの動作を確認するところから手を着けた。 /etc/httpd/conf.d/userdir.conf をviで開いてユーザディレクトリを有効にした。次に

systemctl enable httpd
systemctl start httpd

を実行してhttpdを動かした。この時点ではまだWebブラウザでもアクセスしても応答がなかった。ファイアウォールの設定をするためiptablesをいじろうとしたが、なんだか様子がおかしいので調べたところ、CentOS 7ではfirewalldというものが導入されているということであった。うんざりしかけたが、どうやらiptablesよりこちらのほうが設定は簡単のようで、 /etc/firewalld/zones/public.xml をviで開いて

  <service name="http"/>

という1行を追加して

systemctl restart firewalld

を実行しただけで済んだ。仕上げにrestoreconをpublic_html以下にかけたところ、 http://nimbus/~ユーザID/ 以下にWebブラウザでアクセスすることができた。簡単なPHPスクリプトの実行も確認した。

(参考)
・urashita.com: CentOS 7からデフォルトのFirewalldでハマった
・Quiita: CentOS7のfirewalldをまじめに使うはじめの一歩

(2) Sambaの実行
次にSambaの動作を確認した。

systemctl enable nmb
systemctl enable smb
systemctl start nmb
systemctl start smb

Windows PCからアクセスしようとしたところ、やっぱりファイアウォールでひっかかった。 /etc/firewalld/zones/public.xml に

  <service name="samba"/>

という1行を追加して

systemctl restart firewalld

を実行したところ、Windows PCからnimbusが見えるようになった。

(3) Sambaによるホームディレクトリの共有
Sambaのユーザ認証を学部のサーバにお任せできないか検討したが、nimbusに入っているSambaのバージョンは4.1であり、そのため security = server は使えないということである。試みにこのオプションを設定しても、ログを見たところエラーになっていた。学部のLDAPサーバを使うとか、研究室内のFreeNASサーバを恐る恐るドメインコントローラにしてみるというような他の方法は検討しただけで到底手が出せそうもないので、結局 security = user を使うことにした。/etc/samba/smb.conf をviで開き、次のように書いた。

[global]
        workgroup = ワークグループ名
        server string = Samba Server Version %v

        security = user
        passdb backend = tdbsam

        unix charset = UTF8
        dos charset = CP932

[homes]
        comment = Home Directories
        browseable = no
        writable = yes
        create mask = 0664
        directory mask = 0775
        valid users = %S
        hide dot files = yes
        veto files = /.??*/

これを保存して

systemctl restart smb

を実行した。さらに

pdbedit -a ユーザID

を実行して自分のアカウントを追加した。これでWindows PCからホームディレクトリが見えるようにはなった。この時点では中身が見えなかったが、例によって不思議なことが起きたらSELinuxのせいであるので

setsebool -P samba_enable_home_dirs on

を実行したところ解決した。

(参考)
・ITARC: [CentOS 7]SambaのインストールとSELinux環境下でのホームディレクトリの共有

(4) MariaDBの導入
MariaDBは5/03(日)に導入したつもりであったが、肝心のサーバが入っていなかったことに気付いたので、あらためて導入した。

yum install mariadb-server

また、 /etc/my.cnf をviで開いて次のようにした。

[mysqld]
(中略)
character-set-server=utf8
lower_case_table_names=1
(以下略)

次に

systemctl enable mariadb
systemctl start mariadb

としてサーバプロセスを起動し、さらに

mysql_secure_installation

を実行してパスワード等を設定した。

mysql -u root -p

で簡単な操作を行い、確かに動いていることを確認した。

(参考)
・UnixPower on Networking: CentOS7 MariaDBの設定

(5) phpMyAdminの設定
/etc/httpd/conf.d/phpMyAdmin.conf をviで開き、localhost以外からもアクセスできるように設定した。systemctlでhttpdを再起動し、Webブラウザで http://nimbus/phpmyadmin/ にアクセスして動作を確認した。

(6) 今後のTo-Do
このnimbusをそのまま演習に使うわけではない。ある程度の設定が済んだところでnimbusは保存しておいて、それをコピーして別の仮想サーバを作り、このコピーを演習で使う予定である。

  1) CentOS 7素体用の仮想マシンnimbusを作る。 ←いまココが大体完了
  2) サービスを停止してシャットダウンする。
  3) VMware vCenter Converterでバックアップをとる。
  4) VMware vCenter Converterで新たな仮想マシンを作る。
  5) 起動してサーバ名、IPアドレスを変更する。
  6) 学生のユーザアカウントを作る。

来週の月曜には間に合わないような気がする。

★仮想サーバ thunderhead (CentOS 6)の設定
研究用の仮想サーバthunderheadのsmb.confを見ていたらdos charset, unix charsetが抜けていたので追加した。display charsetは要らないようであるので、いったん追加したが削除した。動作に問題ないようである。
こちらのSambaは3.6で、まだ security = server が使用できることを確認した。

また、phpMyAdminの設定を確認した。

ついでに sudo yum update を実行した。しょっちゅうやっているような気がするのに、次から次に更新が出てくるので感心してしまう。

2015年5月9日土曜日

2015/05/08(金) 卒研ゼミ、C3PO合同ゼミ

睡眠不足と疲れを酷く感じて、ときどき空いた時間に横になりながら、どうにか仕事をこなした。


●卒研ゼミ
9:30から卒研ゼミを実施した。出席6名、欠席2名(Kaくん、Naくん)。
IsくんとYaくんの進捗報告を聴いて、それぞれにコメントした。

最近卒研ゼミの欠席が続いていたMuさんと面談し、今後の方針などについて話した。
InくんのデスクトップPCの整備がまだ終わっていなかったので、これについて指導した。
Koくんに今後の方針について指導した。

●学生への修学指導
Isくんと面談した。詳細略。

●システム運用室会議
11時からの会議に出席した。昨日MLを通じて連絡したH26, H27年度の貸与ノートPCのトラブルについて、S社から対応する旨の回答を得た。

●C3PO合同ゼミ
13時からのS研との合同ゼミに出席し、MaくんおよびS研のNaさんの報告を聴いて、あれこれと検討した。学生側のシステムについては二人の方針がはっきりと違ってきており、どうやら別々に開発して比較・評価することになりそうであった。それはそれで興味深い。
さて、サーバや教員側のシステムはどうなるであろうか。まるっきり別々に作ると、時間の制約からどちらも完成が難しくなるのではないかと懸念している。

●基礎演習1 授業処理
自分の担当した3回で使ったスライド資料のPDF版を作り、授業用Webページに掲載した。
また、3回のうち2回以上出席していながらレポートを未だ提出していない受講者に宛てて、5/14(木)まではレポート提出を受け付ける旨の連絡通知をK'sLifeを通じて送付した。

●基礎演習2 授業準備
今学期の基礎演習1の記憶が新しいうちに、後期に基礎演習2を実施するときの方針案を更新した。サンプルプログラム、レポートのテンプレート、サンプルレポートも改訂した。

●導入1 授業準備
次回5/11(月)には、AudacityやPowerDirectorの使い方を含む動画作品制作過程の予行演習を指導する予定である。3分クッキングの要領で半完成品にひと手間を加えさせるために、この半完成品の素材を用意した。
昨年度の導入1、導入2で使ったものの大部分を流用したが、ナレーションには機械的に除去することのできないクリックノイズが入っていたので、この音声ファイルだけは完全に作り直した。ついでにナレーションの原稿にも手を加え、いくらか短い文章にした。この原稿を読んでAudacityで録音したが、あらためて自分の声を聴いて自分で思っている以上に滑舌が悪いことを再認識した。周りの人たちはいったいどうやって自分の発言を聴きとってくれているのであろうか。
とにかくいったん完成作品まで作ったのち、PowerDirectorのワークスペースから作品の最後のほうを削除して、完成版のワークスペースとは別名で保存した。
また、この予行演習についてスライド資料も改訂し、授業用Webページにも再掲した。

2015/05/07(木) 基礎演習1, da1 授業実施

●基礎演習1 授業準備
続き。授業中に受講者の取り組み状況を記録するための名簿をExcelで作り、そのハードコピーを作った。また、6限目のオフィスアワーで対応する可能性を考慮して、レポートの〆切を19時から6限目終了時刻の19時半に延ばした。

●基礎演習1 授業実施
2限目に自分の担当3回のうちの第3回を実施した。レポート課題の提出要領について説明したのち、あとは受講者が課題に取り組むための時間とした。
その時点でまだ課題に取り組む段階にたどりついていない受講者が結構いたので、なるだけ教室の前方窓側に集まるよう指示して、その付近を巡回しながらそれぞれの状況に応じて指導した。状況としては、必要なファイルのダウンロードができていない、Eclipseにファイルをコピーできていない、Eclipseにコピーしたファイルが実行できないなどであった。
その後、教室全体を巡回して各受講者に声をかけながらその取り組み状況を名簿に記録した。授業終了時刻の少し前に授業を閉じた。

先週と違って、今回は受講者の貸与ノートPCが動かないというような事例は見かけなかった。この一週間で解決したらしい受講者もいたが、PCが未だに動かない受講者は単に欠席したというだけのことかもしれない。

今回はH26貸与ノートPC保守機を授業に持ち込んだ。授業中は動作にまだいくらか鈍重さを感じる以外は順調であったが、授業終了時に画面がブラックアウトしたまま入力に反応しなくなり、やむをえず電源ボタンの長押しで電源を落とした。

●学生への修学指導
昨日呼び出しをかけた2年次生3名のうち1名は時間通り、1名は(2限目の授業が昼休みに食い込んだということで)遅れて来室したので、個別に面談した。あとの1名は来室しなかったので、後日再度呼び出しをかける必要がある。

●計算機環境の整備
★H26, H27年度貸与ノートPC保守機の整備
両方の保守機で、一定時間が経過したらディスプレイの電源を切るという設定を無効にし、代わりにスクリーンセイバーを有効にした。これで2限目の終了時のように入力に反応しなくなる問題が解決するかどうかは判らないが、少なくとも完全にハングアップしているのかどうかはスクリーンセイバーの様子で判別することはできるはずである。
その他に、Windows Updateをかけたり sfc /scannow を実行したりといった保守作業を行った。

★サポートMLへの問い合わせ
授業の準備や自分自身の環境整備を優先したので遅くなったが、4/29(水)のランチョンミーティングで言われた通り、MLを通じてS社に貸与ノートPCにまつわるトラブルについて調査・検討を依頼した。メールの文面には、これまでに自分の持っている保守機で遭遇したトラブルやその対処についた。しかし要点は次の二つである。

・問題1: Windows Updateが終わらないことがある。KB3000850など疑わしいものもある。
・問題2: ドラッグ&ドロップができなくなることがある。sfc /scannowで改善する。

●da1 授業準備
履修者名簿のExcelファイルを更新し、ハードコピーを必要枚数だけ作った。

●da1 授業実施
5限目に第4回を実施した。小テストの実施と解説で授業時間のほぼ半分を使った。今回は小テストの解説を書画カメラを使って行った。残りの半分の時間で演習を指導した。3分の2ほどの学生は授業時間終了時刻までに解き終わった。あとの3分の1ほどは6限目にも居残ったが、18時半くらいまでには全員が解き終わった。

●基礎演習1 学生対応
6限目にda1の居残りと並行して基礎演習1の受講者2名に対応した。2名とも〆切までにレポートのWordファイルおよびプログラムのJavaソースファイルをメール添付で提出した。

●da1 授業処理
小テストの受験状況に基づいてK'sLifeの出席登録データを修正した。

●C3PO単独ゼミ
続き。Maくんの資料を彼と一緒に確認し、明日の合同ゼミに備えた。

●基礎演習1 授業処理
メール添付で受け取ったレポートのWordファイルおよびプログラムのJavaソースファイルを一つ一つ閲覧して採点した。採点結果を記録するためのExcelファイルを作り、これに項目ごとに採点結果を入力して、総点を算出した。
Ta先生やNa先生のメールでのやり取りを見たところ、採点項目の意味の説明が求められるということのようであったので、説明文書を作った。
採点結果と説明文書をまとめてメール添付でTa先生、Na先生、Is先生に送った。

●その他
昼休みにIc先生が基礎演習1のことで訪ねていらっしゃったので、本日の実施内容の一部を説明した。

13:30頃にS協会のかたと名刺を交換した。

2015年5月7日木曜日

2015/05/06(水) da3 授業実施

●da1 授業準備
明日5/07(木)第4回の小テスト用紙を3クラス分印刷し、2クラス分は他の先生がたに渡した。
スライド資料のPDF版のハードコピーを手持ち資料として作った。

●da3 授業準備
本日第4回の小テスト用紙と演習解答用紙を印刷した。
スライド資料のPDF版のハードコピーを手持ち資料として作った。

本日の演習問題は簡単かもしれない。早く終わった受講者が退屈しないよう、次回5/13(水)第5回の資料を授業用Webサイトに掲載した。

●基礎演習1 授業準備
Ta先生がわざわざ訪ねてこられた。基礎演習1の評価方法について連絡を受けた。評価の根拠資料を残しておく必要があるということであった。シラバスに書かれていたことは漠然と覚えてはいたが、根拠資料までは計画に入れていなかったのは迂闊であった。
検討したところ、担当の3回のうち第1回についてはどうにかなりそうである。第3回は明日であるからそれまでに考える。第2回についてはどうにかなりそうにないが、Ta先生の見解によると3回のうち2回で評価できればいいのではないかということであった。

●da3 授業実施
3限目に第4回を実施した。世の中は祭日であるせいか、欠席者が多かった。
最初に小テストを実施したのち、集合の表現について講義を行い、最後に差集合を求める手順およびスタックとキューの振る舞いについての演習を指導した。差集合のほうの演習では、解答の仕方が受講者には解りづらかったようであったので、何度か口頭で補足しなくてはならなかった。ほとんどの受講者が授業終了よりも前に解き終えたので、残り6分間ぐらいになったところで退室してもよい旨を宣言した。授業終了時刻を過ぎても解き終えられなかった受講者が2名いたが、彼らの休み時間中に解き終えた。

●da3 授業処理
本日の反省にもとづいて、次年度のためにスライド資料や演習解答用紙を改訂した。
K'sLifeの出席登録データを確認した。

●学生への修学指導
続き。今後の面談計画を立てた。
少人数クラスで会うことのない2年次生3名とは明日の昼休みに面談することにして、K'sLifeを通じてその旨を連絡した。
出席率が低く、このままでは大学で会うことの難しそうな学生3名(たまたま全員が3年次生)とは電話での連絡を試みた。2名とは保護者と、1名とは本人と連絡がとれた。いずれの学生とも後日あらためて個別面談による指導をしなければならない。

●C3PO単独ゼミ
5限目に実施した。
まず自分の思うところを話した。金曜の合同ゼミの直後には小一時間問い詰めようかという考えであったが、ゴールデンウィークの間に考え直して、問い詰めるのではなく自分の考えを落ち着いて話すという形にした。
その上で本題に入り、Maくんが作ってきた資料を検討した。明日夜にもう一度単独ゼミを実施して、明後日の合同ゼミに備える。

●業務
少し。

●電子錠登録・登録抹消
教務課Kさんから学生証再発行1件について連絡を受けたので処理した。

●基礎演習1 授業準備
レポートのテンプレート、サンプルを作り、授業用Webページに掲載した。レポート課題を説明するためのスライド資料を作った。レポートのサンプルは作らず、もっと簡単に済ませるつもりであったが、やはりサンプルは必要であろうし、それを作り始めると結構時間がかかってしまった。

●その他
管絃楽団同好会から5/17(日)の演奏会について案内を受けた。開催地が遠いようであるが行くべきかどうしようか。

A先生からメールで、明日S協会から来学があり打ち合わせを行うという連絡を受けた。挨拶にお邪魔する旨を返信した。

2015年5月6日水曜日

2015/05/05(火) オフ

終日オフ。

2015/05/04(月) da1, da3 授業準備

●da3 授業準備
第6回、第7回の資料も一通り準備した。所定の場所に置いて、Yo先生にその旨を連絡した。

●da1 授業準備
第5回~第7回の資料を準備した。所定の場所に置いて、関係の先生方にその旨を連絡した。

●その他
自分の担当する授業科目に履修登録している学生のうち数名についての情報が廻ってきたので、関係の先生方に渡した。

2015/05/03(日) 計算機環境の整備

午後からオフィスに。


●計算機環境の整備
★演習用サーバの準備・CentOS 7の再導入
続き。やはりGUIはなくてもいいように思えたので、CentOS 7素体用仮想マシンnimbusにCentOS 7を上書きインストールした。今回はベース環境として「ベーシックWebサーバー」を選択した。仮想マシンのバージョンについては忘れていたので8のままにしてしまった。

CentOSのインストール完了後、次のように実行して各種のソフトウェアをインストールし、最後に再起動をかけた。

yum install samba
yum install mariadb
yum install php-mbstring php-ldap
yum install policycoreutils-python
yum update
yum install epel-release
yum install phpMyAdmin
reboot -n

また、PHPの設定ファイル php.ini およびMariaDBの my.cnf には次のような変更ないし追加を行った。いずれについても動作は未確認である。

【php.ini】
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT

[Date]
date.timezone = Asia/Tokyo

[mbstring]
mbstring.language = Japanese
mbstring.detect_order = auto
mbstring.internal_encoding = UTF-8

【my.cnf】
[mysqld]
lower_case_table_names=1

★仮想サーバの保守
研究室内の仮想サーバ nightfall でMicrosoft Updateを実行した。同じく研究室内の仮想サーバ twilight で sudo yum update を実行した。また、学部の仮想サーバ upblow でも sudo yum update を実行した。

●da3 授業準備
第5回の資料を準備し、所定の場所に置いて、その旨をYo先生にメールで連絡した。

2015年5月3日日曜日

2015/05/02(土) da3 授業準備

●進路指導Webサイトの更新
昨日S研OBから聴いた話をWordで来訪報告書として整理してPDF化した。また、もらったパンフレットをMP810でスキャンし、そのJPEG画像をPDF化した。これらをWebサイトに掲載した。また、その旨をA先生にメールで連絡した。

●da3 授業準備
第5回の資料準備を行った。第5回は第4回の講義に対応する演習の回であるので、言ってみれば第4回の準備の続きでもある。一日かかって一通り仕上げた。
最近ずっと授業準備においてミスが多かったので、この回の資料は一晩寝かせることにした。

●その他
昨日用意した教員評価シートを学部事務室に提出した。

2015/05/01(金) 卒研ゼミ、C3PO合同ゼミ、電子錠システムの説明

●卒研ゼミ
9:30から定例の卒研ゼミを実施した。出席6名、欠席2名(Muさん、Kaくん)。
Koくんの進捗報告を聴いてコメントした。他に進捗報告が予定されていたIsくんとYaくんからは、進捗報告の準備ができていない旨の口頭報告のみがあった。

そのあと、こちらからの連絡事項として、卒研ゼミや議事録や録画のファイルはファイルサーバにコピーしておくべきこと、室内のゴミ箱に入ったゴミは定期的に廊下に出すこと、冷凍庫にコーヒーの差し入れを置いたこと、次回の卒研ゼミは会議のため途中で抜ける場合があることを伝えた。

終了後、前回4/17(金)の議事録のテキストファイルが未だにファイルサーバにコピーされていなかったので、議事録用PCから自分でコピーした。

●C3PO単独ゼミ(臨時)
Maくんの希望により、昨日実施しなかったC3PO単独ゼミの代わりに11時から臨時の単独ゼミを実施した。Maくんが用意してきた手書きの書類は、4/27(月)の時点で指示した水準にはまだ届いていなかったが、それでも分量は結構なものであった。これらの書類を一つ一つ検討し議論して、そのまま合同ゼミに出せないものには蛍光ペンか何かで「検討中」と大書しておくよう指示した。午後の合同ゼミの際に判明したことであるが、この指示は守られなかった。

●C3PO合同ゼミ
13時からS研との合同ゼミを実施した。今回は助教のK先生が欠席であった。90分間を半々にしてMaくんとS研のNaさんの報告を聴いた。

前半に行われたMaくんの報告は、午前中の臨時の単独ゼミにおける検討を無視した、彼の案そのままのものであった。途中でS先生から「ボツ案は説明しても仕方ないので出さないように」という注意を何度も受けたにもかかわらず、最後のほうまでボツ案を出し続けた。これには愕然とせざるをえなかった。
研究室内のゼミであればボツ案があることも含めて進捗を聴きたいところであるが、この合同ゼミではきちんと整理した状態で進捗を報告するべきであり、そのためにわざわざ単独ゼミという形で、合同ゼミまでに準備することを整理するための時間を確保している。そのことはMaくんにも説明してあるが、行き違いがあるのかもしれない。このあたりのことについて後日Maくんとあらためて話し合う必要がある。彼のほうにも言い分はあるであろう。
そのこととは別に、画面遷移図の描き方についてちょっとした議論があった。検索してみたところ、タブインタフェースがある場合にはタブを一つの箱として描くとシンプルな図にできることが判ったのは収穫であった。

後半に行われたNaさんの報告では、前回までの話にもとづいて発展させた案についての説明があった。

ゼミの終了後、MLに流れていた議事録がC3PO合同ゼミのものではなく午前中の卒研ゼミのものであったので、合同ゼミのものを流しなおした。

●電子錠システムの説明
人事部のかたに当学部の電子錠システムについて説明することになったので、15時から管理PCなどを見せながら説明した。また、他学部での検討の様子についても話をうかがうことができた。
今後も他大学の事例について情報を交換したり、学部内で検討したりすることを約した。もともと懸案事項ではあったので、これを機に継続して取り組むよう努める。

●swB 学生対応、授業処理
受講者1名が訪ねてきた。用件は出席登録データの修正についての申し出であった。
K'sLifeでレポートの提出状況等を確認した上で出席登録データを修正し、その旨を受講者本人にメールで連絡した。

●卒研、C3POの指導方針の検討
録画を眺めながら最近の指導状況を振り返り、今後の指導について検討した。

●計算機環境の整備
★LubuntuベースのノートPCの保守
ゼミナール室内の議事録用PCおよび自室のネットブックでアップデートマネージャを実行した。

●学生への修学指導
教務委員のIs先生からメールで、最近の出席率にもとづく学生への指導依頼を受け取った。K'sLifeから所定の条件に該当する学生を抽出し、Excelで表形式にまとめた。このうち特に急いで状況を確認するほうが良さそうな2名に電話での連絡を試みた。
この2名のうち1名とは連絡が取れた。詳細略。
もう1名とは連絡が取れなかった。

●da2 授業処理
Yo先生から第2回のスライド資料に誤りがあることについてご指摘いただいたので、その箇所を修正して、修正後の資料を所定の場所に置いた。また、その旨をYo先生に返信した。

●進路指導Webサイトの更新
A先生からメールで流れてきた求人資料をWebサイトに掲載した。

S研のOBから就職先について話を聴いた。またパンフレット1部をいただいた。未処理。

●情報教育講習会の準備
今夏の講習会で1コマを担当するので、その内容の説明文をCNCから依頼されていた。説明文を書いてメールでCNCに送付した。

●lt ランチョンミーティングの処理
4/29(水)の議事録を仕上げてDropboxに置いた。

●その他
教員評価シートに赤ペンで修正を入れた上で捺印し、学部事務室に提出できるようにした。
業績自己申告書を書いてメール添付で担当者に送付した。

2015/04/30(木) 基礎演習1, da1 授業実施

●基礎演習1 授業準備
穴埋め用のJavaソースファイルをプリンタ出力し、配付用に印刷した。

●da1 授業準備
準備済みであった本日第3回分のスライド資料のうち、S先生からMLを通じて実習問題の不備について指摘をいただいた。これにもとづいて資料を修正し、所定の場所に置いたうえで、MLにその旨を連絡した。

第3回分のスライド資料のPDF版を作り、手持ち資料としてハードコピーも作った。
K'sLifeから履修者名簿の最新版をダウンロードし、Excelの名簿を作り直した。先週時点で履修登録できていなかった学生もちゃんと入っていた。履修者名簿はこれで確定であろうか。

●基礎演習1 授業実施
2限目に自分の担当3回のうちの第2回を実施した。
前回予告した通り、Javaでサイコロを作るというプログラミング演習を実施した。

手順としては、こちらで用意したJavaソースファイルの圧縮ファイルを受講者が授業用Webページからダウンロードし、解凍した上でEclipseにドラッグ&ドロップして実行するというものであった。
この手順はswBやda2, da3でもやっているので、大きな問題が生じるとは思っていなかったが、この考えは全くもって甘かった。受講者のほうでは授業用Webページにたどりつけない、ファイルのダウンロードができない、ZIP形式の圧縮ファイルを解凍できない、Eclipseでプロジェクトやパッケージを作る操作のしかたがわからない、ファイルをドラッグ&ドロップする場所を間違うといった問題が続出した。
とても一人では手が廻らず、なかなか授業を進行させることができなかった。授業に持ち込んだ自分のノートPC hail でもEclipseにドラッグ&ドロップできない症状が現れたために実演してみせられなかったことも一因ではあるが、それにしても学生のスキルも話を聴く力もあまりに低すぎると感じた。

用意したサンプルプログラムのうち、サイコロを実現するだけの最も簡単なものの解説まではどうにか終えたところで、授業の残り時間が少なくなった。しかたがないので、そのあとの作業としてはサイコロの目の数を増やすなどの拡張を検討するよう指示するだけにとどめた。
もともとの構想では、やる気があればもっと大きな改造を検討するとか、他のサンプルプログラムを参考にするといったことまで指導し、授業の最後には簡単なレポートを提出してもらうはずであった。しかし、とてもそんな余裕はなかった。
後期に向けて授業のデザインを再検討する必要がある。

なお、Windows Updateが終わらない、Eclipseへのドラッグ&ドロップ自体ができないといった自分自身も体験した問題が学生の貸与ノートPCでも起きていた。これについては学部として対策を考えるべきであるように思う。

●計算機環境の整備
★H26年度貸与ノートPC保守機の整備
Windows 8.1の動きを軽くするために、[コントロールパネル]-[システム]-[管理ツール]-[サービス]を開き、メーカが独自に入れたらしいサービスを片っ端から停止し、さらに起動設定を「自動」から「手動」に変更してみた。この結果、タスクマネージャでパフォーマンスを見たときにディスクアクセスが100%になっている時間がいくらか短くなったような気がする。
ただし、OminiPass関連のサービスを停止すると、エクスプローラからファイルサーバにアクセスする際にハングアップするようになった。いろいろ試したり調べたりしているうちにOmniPassを再び開始してみたところ回復した。OmniPassのサービスは停止してはいけないことが判った。

(参考)
・富士通: [Windows 8.1/8] 「回復」と表示されてパソコンが起動しません。, FMVサポート.
・そろそろ、ひと休みしませんか?: OmniPassサービスを無効にしてしまった場合の対処法.

さらに、タスクマネージャからいくつかのプログラムの起動を無効化することもやってみたが、こちらでは無効化できそうなものが少なく、無効化したものについても効果があったようには見えなかった。

動作が多少軽くなったところで、授業で使用するユーティリティ類を導入した。
さらに、Windows Updateを実行した。「重要」のKB3000850と「オプション」のSkype関連の二つを外して実行したが、結局KB3000850も一緒に入ったようであった。今回は(多少時間はかかったにしても)無事に完了した。
もう一度 sfc /scannow を実行した上で、EclipseやTeraPadにテキストファイルをドラッグ&ドロップできることを確認した。

★ノートPC hail の整備
午前の基礎演習1の授業中にまたもやEclipseにファイルをドラッグ&ドロップができない症状が出たので、コマンドプロンプトを管理者モードで開いて sfc /scannow を実行した。終わってから再度試したところドラッグ&ドロップはできるようになっていた。しかし、今回のように症状が再発することがあるのでは今後も安心はできない。

★H27年度貸与ノートPC保守機の整備
例年はda1やswBにはそのときの2年次生が使っているのと同じ貸与ノートPCの保守機を持っていくので、今年度ならH26年度の保守機を持っていくところであるが、これも本調子ではなかったからずっと hail で代用している。しかし hail は画面の解像度が小さいせいかスクリーンに映る映像が小さく、教室の後方の席に着いている学生からは見づらいようである(それなら前方に座ってほしいのではあるが)。そういうわけでH27年度の保守機を代替機として使えるように整備しておくことにした。

授業で必要なユーティリティ類をインストールした。また、各種の設定を授業で使いやすいように調整した。最近視力が落ちているのか、どうも画面が見づらいので、画面の解像度を1600x900から1380x768に下げた。この解像度で教室のスクリーンにどのように映るのかは後日検証する必要がある。

Windowsの管理ツールでサービス一覧を見て、メーカが独自に入れたらしいサービスを片っ端から「自動」を「手動」に変更した。これでかなり動作が軽くなった。あらためてWindows Updateをかけてみたところ、時間はかかったが完了した。インストール前にチェックを外して除けたつもりのKB3000850もインストールされてしまったが、更新が終わらないというようなことはなかった。
ただし、Eclipseへのファイルのドラッグ&ドロップはできなくなってしまったので、コマンドプロンプトを管理者モードで開いて sfc /scannow を実行した。この sfc の実行はどうもPCを再起動してサインインしたらすぐにやらないといけないらしく、しばらくおいてからやろうとすると実行できない旨のメッセージが表示される。とにかく sfc の実行後はドラッグ&ドロップができるようになった。

●C3PO単独ゼミ(実施拒否)
実施しなかった。詳細略。

●lt 授業処理
4/21(火)第2回・4/28(火)第3回の小テスト受験状況にもとづいてK'sLifeの出欠登録データを修正した。

●ltp 授業処理
4/28(火)第3回の課題メールを点検し、その結果をもとにK'sLifeの出席登録データを修正した。課題が提出されており、なおかつ目立つ不備が1個以下なら出席とした。目立つ不備が2個以上なら課題不合格として出席登録データは遅刻とした。課題が未提出なら欠席扱いとした。

●da1 授業実施
5限目に第3回を実施した。
まず小テストを実施し、次に正解のスライド資料にペンタブレットで書き込みながら解説した。今回は問題が簡単であったので、授業開始から20分間少しで解説までが終わった。
次に講義を行った。今回のテーマはクラスとオブジェクトであった。昨年度は喋りづらく感じた回であったが、今年度は講義資料の改訂が効いたようで喋りやすく、受講者の反応も良かったように感じた。先の小テストが早く片付いたこともあって、実習問題に十分な時間を割くことができたことも良かった。
チャイムと同時に授業を終了した。
6限目はオフィスアワーということでしばらく教室に残ったが、特に相談や質問はなかった。ただし、5限目と6限目の間の休み時間に、授業内容に関する質問が1件と、前回の上級問題のチェック1件があった。

●da1 授業処理
小テストの受験状況にもとづいてK'sLifeの出席登録データを修正した。

●da3 学生対応
3年次生1名からメールで、上級問題の解答チェックについて質問を受けた。次の授業の機会にチェックする旨の回答を返信した。さらに折り返し、今回の上級問題が面白かったという感想が返ってきた。次の上級問題も楽しみにしているとのことであった。作問について受講者からこんなプレッシャーをかけられるとは思わなかった。

●その他
助教、助手、TA、SAの皆さんに授業補助者の手引きをもう一度確認するようメールで依頼した。

Ic先生から大学院講義室の液晶プロジェクタに関する問い合わせがMLを通じて流れてきたので、自分の思い当たることを返信した。