2011年2月28日月曜日

研究室マシン環境をリニューアル中

現在、研究室のマシン環境をリニューアル中です。具体的にいうと、先日の記事でも書いたように、研究室内のWindowsマシンのアカウント情報を今までSamba on Linuxで管理していたのですが、
  • Windows7をSambaのNTドメインに参加させることが困難
  • Microsoft的にNTドメインからActive Directoryに移行を奨励していること
以上のことから、思い切ってWindows ServerでActiveDirectoryドメインを立ち上げることにしました。Sambaでもバージョン4あたりで対応するらしいのですがなかなか出てこないですし、こういうことに時間をとるのは無駄だと判断したからです。Windowsはウィルスとかが若干心配ですが(以前、クラックされた経験あり)、今回は外部サーバーを外部から完全に隔離してますから、たぶん大丈夫かと。。。
先週からサーバのインストールや設定を試行錯誤し、ようやく運営の見込みがつきました。Windowsでも管理系コマンドラインを理解しておくと、結構手際良くユーザー管理ができますね。
クライアントPCについては、まだ全マシンを移行してませんが、隙間時間にOSをWindows7にアップデートしつつ、ActiveDirectoryドメインに移行する予定です。また、古いPCは徐々に新しいマザーボード&PCに変更していきます。



2011年2月24日木曜日

研究室のファイルサーバを変更 ~Active Directory導入メモ~

研究室のマシンは現在、Samba on Linux をドメインコントローラーにして、NTドメインを構築してファイルサーバを管理しています。が、現在のSambaでは、Windows7をクライアントにしてNTドメインに参加させることができません。その解決策としては、NTドメインをやめて、Active Directoryに切り替えることですが、現状のSambaでは Active Directoryに対応しておらず、4.0系で対応するとかいいながら、、、Stableなバージョンが出る気配もなく、、、、

とりあえず、マシン環境の整備に時間を取られるわけにはいかないので、 Samba on linuxでのアカウント管理はやめて、Windows ServerでActive Directoryドメインコントローラーを立ち上げるのが一番てっとりばやいという結論に達しました。 が、、、なかなかうまくいかず、

参加しようとしているドメインのドメインコントローラーのDNS名を解決できませんでした。このクライアントが、対象のドメインでDNS名を解決できるDNSサーバーに到達できるよう構成されていることを確認してください。

というエラーに2日ほど悩まされてました。が、やっと解決したのでそのメモ書きです。

環境は、サーバ:Windows Server 2008 with SP1、クライアント:Windows7 Professinal です。以下、このサーバをWinServerと略します。

  • WinServerのネットワーク設定で、IPアドレスは静的に決めておく。DNSは自分自身にしておく(これが重要かも)
  • WinServerでは、Active DirectoryサーバだけでなくDNSサーバも立ち上げた
  • DNSサーバの設定において、前方参照の方をゼロから登録しなおした(これがよかったのかは不明)。デフォルトでもよいのかもしれない
  • DNSサーバの設定で、外部のDNSサーバをフォワーダーとして指定した

以上の設定でDNSサーバとしてまともに動いていれば、WinServer上でnslookupコマンドも正常に動作するはずです。DNSがちゃんと動いていればあとは、

  • Active Directoryの管理ツールにてユーザとマシンを登録

をしておけば、準備完了です。なお、マシン名については大文字小文字を区別したほうがいいかもしれません。
つづいてクライアント側ですが、

  • ドメイン参加の方法は従来と同じ
  • クライアントのネットワーク設定で、DNSサーバはWinServerを指定しておく(これは重要かも)。


という手順でOKでした。

以上、ようやくWindows7をドメインで扱うことができるようになりましたので、研究室のマシンもWindows7に全面移行です。

教育工学会冬の合宿(-「質的データを分析しよう! -質的研究におけるデータ分析入門-」)に参加してきました

2/19-20に開催された教育工学会の冬の合宿に参加してきました。テーマは
  • 「質的データを分析しよう! -質的研究におけるデータ分析入門-」
です。正直、質的研究というものを漠然としか耳にしたことはなく、個人的には
  • 従来の定量的な研究とは違う研究アプローチ?
  • 教育工学に関連する?
  • 難しいアプローチ?
という認識しかありませんでした。いちおう何年か前に関連する本を買ってさっと目を通してみたものの、いまいちピンとこず、積ん読状態で本棚に眠っている状況。で、今回、質的研究における質的評価を支援する手法であるSCATというツールについて、合宿での実践を通して理解するという趣旨だったわけですが、思っていた以上の収穫がありました。

質的研究とは何か?
そもそも質的研究とは何か?上述のように私の質的研究に関する認識は乏しく、ただなんとなく、
  • 教育工学にも関連するアプローチであろう
  • システム開発系研究をしている私にも何か参考になるのかもしれない
という程度の興味での参加だったのですが、合宿までの予習として与えられていた教育システム情報学会誌の解説論文
を読むことで、その認識はガラリと変わりました。

自分の研究(教育工学)って質的研究そのものじゃないか?
ちょっと大げさな表現にしましたが、率直にまさにそう感じました。少なくとも論文中のページに出てくる質的研究のアプローチですが、これはまさに自分の研究アプローチそのもの。私が学生時代に先輩や先生に教えられてきたのは、「理論武装」という名の下で開発するシステムが採用する支援アプローチを決定する際、対象領域の分析などを徹底的にしてきました。これは上記論文で書かれている「質的研究の手続き」と全く同じ。ただ、評価については人間という系が入ってくることでの、定量的な評価の難しさが出てきます。しかも試用する環境もなかなか用意できなかったので、研究室内での試用をベースにした評価になりがちでした。そのような評価から客観性や一般性をどのように導いていくのかがとても難しい問題でしたが、質的研究はそこに一歩踏み込んでいると感じます。

工学という名の下での定量的評価からの解放
教育工学というのは領域がとても広いですが、私は情報工学の技術を適用する研究アプローチに属します。いわゆる工学というこの分野は一般的には「定量的評価」です。特に私がいる電気電子という学科ではその典型で、新しい技術を提案しデータをとってその結果から有効性を検証します。こういう環境にいると、どうやったら定量的なデータが取れるのだろうか?自分がやっているこの評価方法はおかしいんじゃないだろうか?と自問自答する事が多いのです。とくに単純にアンケートというのを評価に持ってくるととても異質に感じるわけで、もっと定量的に評価しなきゃ、、しかしどうすれば、、、と悩みます。しかし質的研究では、人間という系が定量的に扱えないものであることを認めた上で、それを定量的なデータとして変換、評価していくというアプローチです。私にとっては何がなんでも「定量的に、客観的に」と考えてしまっていましたが、その呪縛から解放してくれたように感じました。

システム開発研究に適したアプローチは?
質的研究のアプローチを実践することは簡単ではなく、そのアプローチについてのより深い勉強とそれなりのセンス、経験が必要になってくるでしょう。というか、私自身「質的研究」に初めて触れたばかりですから、そう簡単に話は進まないでしょう。質的研究に関する勘違いや、誤解は多々あるとは思います。また、システム開発系の研究では、「システム実装」というプロセスが入ってきますから、質的研究におけるデータ収集・分析と理論化のプロセスにどのように適用するのか?このあたりはしっかりと考えていこうかと思ってます。

教育工学の講義資料として最適かも
大谷先生の上記論文は、「質的研究」と「量的研究」の違いをとてもクリティカルに説明しています。教育工学の研究のやり方に通じるものが多々あるので、この論文をしっかりサーベィしてまとめて、このブログや研究室のサイト等で資料化したいなと思ってます。

以上、なんか合宿の報告というより、それ以前の話になってしまいましたが、それだけでも十分満足感がある合宿でした。ちなみに合宿では、グループワークでSCATという分析ツールを元に質的分析を行いましたが、これもまた面白く、また質的研究の理解にいい機会となりました。個人的にはこのSCATの枠組みを電子化(システム支援)したいなぁと思ったりしましたが、これは職業柄かもしれませんね。




2011年2月8日火曜日

卒業論文発表会

今日は卒業論文発表会で、おちラボからは下記の9件の発表があった。
  • 脳波マウスを用いたカメラ制御システムの開発
  • 時間割と連動したウェブ掲示板システムの開発
  • Twitterと連動したプレゼンテーション支援システムの開発
  • Webを利用した同期型スライド共有システムの開発
  • Wiiリモコンを利用したカメラ制御システムの開発
  • OpenCV対応映像配信システムの開発
  • Amazon WebAPIを利用した文献管理システムの開発
  • ユーザアノテーションを利用したソースコード管理システムの開発
  • カスタマイズ可能な成績判定システムの開発
発表セッションはバラバラで教員もいずれかのセッションの審査をしなければならないので、全ての発表を見ることはできなかったのだが、とりあえず無事に発表をしたようだ。
うちの研究テーマは学科のなかでは異色のジャンルなので、本質的なところよりも研究背景的なところを理解してもらわないといけないという壁があり、その点で理解されにくかった発表があったようだ。それは仕方ないが、その壁を取り去る工夫もいるとは思う。
発表の評価については、全体的な審査みてみると順当であったような気がする。研究テーマに対して自分がどれだけのめり込んだか?それが発表に滲み出てくる。たとえ与えられたテーマであっても、「自分の研究」だとどこまで思えたかが大切だ。

個人的に卒研を総括すると、全体的にペースが遅すぎたなというのが正直なところ。もっと早くから手をつけて、もっと開発を進めていれば、もう一段上の卒研になったかなと思う。成果的には、今後の研究室のノウハウとなる資産が溜まったので、これを継承させる土台を作っていくのが、僕の仕事なわけだが。

さて最後に、、、卒論を終えた学生諸君は卒論を終えて、
・あー、やっと解放された。
・卒研はもうちょっと~すればよかった。
の2つの気持ちがあるとは思うが、どちらの気持ちが強いか?
個人的には後者の気持ちは当然でてくると思っている。「システム」を作ったことのない人間が、最初から計画的に研究開発を進められるわけがないですし。その後悔の量が成長の証だと思います。前者の気持ちが強い人は、この一年間、とてももったいないことしたかもしれませんね。


2011年2月3日木曜日

修論発表会

今日は修論発表会。うちの研究室から1名が発表。題目は、
  • 英文テキストマイニングによる英文評価支援システム
である。関連発表は、
  • 技術英作文のためのマッシュアップ型英語表現検索支援システム、教育システム情報学会 学生研究発表会(20103)
  • Web検索APIを利用した英語表現評価支援システム、教育工学研究会、電子情報通信学会(201012)
の2つ。このテーマは、院生が英語学習関係の研究がしたいというのがきっかけ。それにプラスして、
  • 僕も過去に英作文支援の研究を指導していた
  • 元々、語学学習の研究に軸足がある
  • 最近は、語学教育関係に手を出していない

という要因もあり修論のテーマとしてがんばってもらったものである。語学支援系の教育システムというのはある意味王道だし、未踏な領域を探すのは難しいけど、ここ数年でICT周りは大きく激変しているし、何かできるんじゃないかという期待感があったり、、、、まあ、何よりも英作文関係は僕自身が使っていきたいというのもある。自分が使って嬉しいシステムの研究というのが理想なわけで。

修論の成果としては、まだまだ検討すべき点がたくさんある。特にマイニング関係の技術適用の仕方については、再検討が必要だろう。ベースとなるシステムやノウハウが残ったので、継続していきたい。

2011年2月1日火曜日

[GWT]GWTの起動プロセスを理解し、複数のGWTモジュールを設定する

(話がちょっとNetbeans寄りの話になりますが、、、)
GWTのアプリケーションを作成した場合、1つのEntryPointクラスを起点にして、クライアント側で動的にWidgetの描画を変えていくことで、擬似的にページ遷移を実現していきます。システムの画面パターンが複雑になってくると、生成されるJavaScriptも肥大化するでしょうし、気持ち的に分けたくなります。解決策として、プロジェクト内で複数のGWTモジュールを配置すればよいわけですが、NetbeansでGWTモジュールを新規作成した場合、xmlファイルしか作成されません。GWTの起動プロセスを理解しておかないと、「なんだこれは?」、、、という事になりますので、GWTの起動プロセスを理解し、各種設定を記述していく必要があります。以下、その順にそって説明していきます。

1.HTMLページ
まず、最初に参照されるのはHTMLページです。このページではmetaタグでGWTの設定ファイルについての名前を書いています。下記の例では、org.ochilabパッケージ内にあるapp.gwt.xmlファイルを見に行くことになります。scriptタグでは最終的に参照されるJavaScriptファイルなどの名前を書きます。下記の例では、web直下のorg.ochilab.appディレクトリにorg.ochilab.apps.nocache.jsファイルを参照しますという意味になります。
<meta>name='gwt:module' content='org.ochilab.apps=org.ochilab.apps'</meta>
 

2.GWT設定ファイル
ここでは、起点となるentry-pointクラスの情報を記述します。以下の例では、org.ochilab.clientパッケージのappsEntryPointクラスであると設定しています。
<entry-point class="org.ochilab.client.appsEntryPoint">
</entry-point>

3.entry-pointクラス
これはもうわかっていると思いますが、EntryPointインタフェースを継承したクラスであればOKです。



以上でめでたし解決、、、、というところですが、1点穴があります。このままプロジェクトを構築してもJavaScriptファイルが生成されません。つまり、最初にHTMLページで指定したJavaScriptが生成されないのです。この点については、Netbeansにおいては、
  • nbprojectフォルダにあるgwt.propertiesの gwt.module項目に追記
が必要です。具体的には下記のようになります。

gwt.module=org.ochilab.main org.ochilab.apps
この例は、元々あったorg.ochilab.mainというGWTモジュールに新たにorg.ochilab.appsモジュールを追記しています。つまり、1つのプロジェクトで複数のGWTモジュールを扱いたい場合は、ここの項目にそのモジュール名を列挙していけば良いということです。その際、各モジュールの名前はスペースで区切ることになります。