オープンキャンパス2018

 本年度のオープンキャンパスは下記の日程で開催されます。

  • 2018年7月29日(日)10:00~16:00
  • 2018年8月19日(日)10:00~16:00
  • 2018年9月 9日(日) 10:00~16:00

 詳細は本学広報ページをご覧下さい。

 本研究室では毎年,4年生の卒業研究中間発表を兼ねて,研究実験棟5階526実験室右奥にて各自の卒研をプレゼンテーションしております。本年度のテーマは下記の通りです。

 皆様のご来場をお待ちしております。

  1. 「OBD2を利用した車両診断アプリケーションの開発」

  2. 「MusicBrainzAPIを使用したCD管理サービスの制作」

  3. 「Kairos APIを使用した表情分析WEBアプリケーションの開発」

  4. 「貯金額に応じた商品検索Webアプリケーション」

  5. 「ランキング表示機能を実装したほしいものリストの作成」

  6. 「Fabric.jsを用いたマインドマッピングアプリケーションの開発」

研究室ネットワーク更新

 現在,本学では情報基盤更新作業の真っ最中なのですが,本研究室でもごくローカルに外部接続用回線の更新を行いました。

 外向き回線速度が尋常じゃなく遅いいろいろな経緯があり,本研究室では独自にフレッツ光を本学実験室に引き込んで使っています。この度,フレッツ光ネクストに更新するということで,この機会にごちゃ付いた外部回線接続部の整理を行うことにしました。

ごちゃ付いた外部回線接続部:ONU(左)とCTU(右)

 フレッツ光ネクストへの更新といっても,やることはルータとなっていたCTUを取り外してONU直刺しになるだけです。とはいえ,CTUにあれこれ設定をしていたものを引き継ぐ代わりのルータが必要になってしまいましたので,本学のトロくさ(かった)ネットワークをスキップあれこれ実験するために繋いであったATERM WG1800HPを使うことにしました。つまり,今まではCTUとATERMの2段が前で使っていたわけです。但し後者はブリッジとして機能させていました。


整理後のすっきりした(?)外部回線

 ということで,ATERM1段階で済むようになった接続部分は,不要なコード類の整理ができて大分すっきりしました。心なしか,外回りの接続状態もよくなったように感じます。用なしとなったCTUはNTT西日本に返却し,おそらくは個人情報保護の観点からスクラップになるものと思われます(そうじゃないと困る)。10年近く頑張ってきた彼の頑張りに拍手で見送ってあげることにしました。

スクラップになるであろうCTU君

 さて,本学の情報基盤は9月下旬,後期開始時から使用可能となる予定です。今より格段に高速なネットワークになるものと思われますが,本研究室のフレッツ光ネクストが不要になるぐらいのパフォーマンスが出ると嬉しいですね。

卒研メモ:code4lib Japan 2018参加

 無事採択されたようなので,短い発表ですがcode4lib Japan 2018に参加してきます。

 何度かここで取り上げたopenBDに検索機能を付加するAPIの実装の話になります。10分プレゼンだと,システムの解説,応用事例の紹介をしたらお終いになりそうなので,どこかでちゃんと文章としてまとめたものが必要ですね。来年度の紀要かな?

 8月中にシステムのブラッシュアップをしておかなければいけませんが,HTTPS化は済ませましたので,少し楽になりました。サーバやプログラムの管理は,盆栽同様,日々のチマチマした世話が重要ですね。

ex-cs, webdesignサーバのHTTPS化

 正式な認証(EV)を得るべく半年以上待ちましたが,一向に取れそうもないので,ex-cs.sist.ac.jp(Try! MPFR)とwebdesign.sist.ac.jpLet’s encryptでHTTPS化しました。この場合はDVになります。EV, OV, DVの違いについてはさくらインターネットの解説などを参照して下さい。

 このBlogの置いてある仮想サーバ(さくらインターネット)より高速かつ大容量の仮想サーバ(使えるねっと)なので,今後の卒研や実験用のWebサービスはこちらメインで使っていく予定です。

526実験室プリンタ更新

 今まで使ってきたCanon LBP9100Cは大変優秀かつ美しい出力のカラーレーザープリンタでしたが,ド高い消耗品の購入がめんどくさくなってきたのと,両面印刷機構がジャムりまくって使えなくなってましたので,新規にXeroxのDocuPrint C2450IIを,保守サービス付きで購入しました。

 出力の美しさはLBP9100Cとそんなに変わらないようですが,トナーサポート終了の心配がない(製造終了後7年はトナーの販売を続けるとのこと),面倒なメンテナンスをお任せできる(トナーやドラムの交換は基本ユーザがやる),Windows 10のプリンタドライバインストールは全自動,というメリットがあり,これは大変ありがたいことです。

[注意!] Windows 10標準ドライバでは複数部印刷に対応できないそうです。まともに使いたければ,富士ゼロックス公式ドライバをダウンロードしてインストールする必要があるとのこと。

 また10年以上の長きに渡るお付き合いをしていきたいところです。

 ちなみに,LBP9100Cは本研究室にて当方専用プリンタとして余生を送ることになっています。

 今後ともよろしく。

情報学概論とアンケート結果

 2018年度情報学概論(5/6)の資料ページは

情報学概論資料

です。

 アンケート回答へのご協力,ありがとうございました。時間内に148件の回答を受け付けました。以下,その結果を張り付けておきます。

1.使用している携帯電話,スマートフォンのキャリアは?

  1. 41.2% NTT Docomo
  2. 33.8% AU(KDDI)
  3. 16.2% Softbank
  4. 8 .8%その他(楽天など)
  5. 0.0% 携帯電話,スマートフォンは使っていない

2.使用している携帯電話,スマートフォンのメーカーは?

  1. 60.1% Apple (iPhone)
  2. 18.2% Sony
  3. 13.5% その他
  4. 8.1% Samsung(Galaxy)

3.毎月,キャリアに支払う料金は?

  1. 54.1% 5000円以上,1万円未満
  2. 30.8% 5000円未満
  3. 15.1% 1万円以上

4.一番利用頻度の高いSNSは?

  1. 61.5% LineもしくはLine@
  2. 35.1% Twitter
  3. 1.4% SNSは使っていない。
  4. 0.7% Instagram
  5. 0.7% その他
  6. 0.7% Facebook

5.一番利用頻度の高いメールアドレスは?

  1. 45.3% Gmail
  2. 25.0% キャリアメール(@docomo.ne.jp, @auone.jp, @softbank.ne.jp)
  3. 11.5% メールはほとんど使っていない。
  4. 7.4% Yahoo! Japan(@yahoo.co.jp)
  5. 7.4% その他(フリーメール等)
  6. 3.4% 理工科大学指定メール(@sist.ac.jp)

 昨年度と比べると,

  • Docomoが減ってAUとその他(格安キャリア)が増えた
  • SONY,その他(日本製と中国製)が増えた

という点が目立ちます。

 今年からはSNS,料金,メールアドレスについても質問を加えましたが,日本の若者のSNSはLineとTwitterで埋まっており,5000~1万円以内の費用で済ませ,メールを使うときはキャリアメールかGmailを使うことが多い,ということが分かりました。女性が多いとまた結果が違ってくるんでしょうね。

卒研メモ:Webプログラミングフレームワークまとめ

 Apache Cordovaの教材ですが,新たに「じゃんけんゲーム」を課題として追加し,説明をちまちまと改良して一段落しました。実際にコンピュータシステム実験で取り組んでもらうと,課題4で躓いて課題5まで完成するのが難しくなる,というのが本学の平均的なコンピュータシステム学科3年生のWebプログラミングスキルのようです。世間的にはどうなんでしょうか?

 さて,次の「Webプログラミング開発入門」はフレームワーク(Framework)に基づいた教材作成がテーマになるわけですが,あまり手を広げすぎると収拾がつかなくなるので,

  • サーバサイドはPHP7 + MariaDB(MySQL) or SQLite3
  • クライアントサイドはHTML5 + CSS + JavaScript

で使える範囲のものにとどめておく予定です。Java ServletとかRuby on Railsとか.NET Coreは他の方にお任せしておくことにしましょう。もちろん,自力でやってみるのなら,卒研テーマとしてはO.K.です。その代わり,途中で挫折しても手助けできないことはご承知おき下さい。多分,別テーマに乗り換えてもらうことになります。

サーバサイドのフレームワーク

 通り一遍のCRUDアプリを作るにしても,サーバーサイドのフレームワークは結構道具立てが大変なので,それぞれ1章分ぐらいになっちゃいそうですねぇ。

クライアントサイドのJavaScript-based SPAフレームワーク

 上記3つのクライアントサイドのフレームワークは,全てNode.js環境下でSPAを作るためのものなので,まとめて一章分ぐらいでいいような。Cordovaの章に1節ずつ追加する程度かなと。

 以下,Google Tread調べを載せておきます。すっかりWordPressの天下になっちゃいましたねぇ。インストールも操作感もお手軽ですからね。

Google Trend調べ

  • PHP vs. JavaScript vs. Java vs. Ruby
  • CakePHP vs. Laravel
  • WordPress vs. NetCommons vs. XOOPS(WordPress圧勝・・・)

卒研メモ:JavaScriptで多倍長計算

 前から興味があったので,JavaScriptでの多倍長計算をまじめに考えてみました。数値計算用のライブラリとしては既にmath.jsってのがあって,ここではDecimal.js(10進多倍長演算)を使ってのBigNumberオブジェクトが使えるようです。で,これより速い多倍長計算ができないかな?ということです。

 定番としては,既存FP数を組み合わせて多倍長化するMulti-digits(Muti-term)方式で実装すれば,そこそこ早くできるだろうという予測は容易いのですが,データ型テキトーなJavaScriptでは倍精度型を二つ組み合わせて作るということもそう簡単ではなかったりします。とはいえ,今ではFloat64Arrayという,データ型宣言ができる機構がありますので,そろそろMulti-digits多倍長のJS版ができるかなと。今のところググっても実装したものはなさそうなので,やっても無駄という可能性もあります。ま,失敗報告でもいいかなと。

 あとは,どのぐらい既存の高速化テクニックがJavaScriptで可能なのか?というテーマを追究したいところです。色々調べてみたところ,Emscriptenが大分使いやすくなってきているようで,C/C++ソースをJavaScriptにコンパイル(変換?)できるようになっており,さらにWebAssemblyというLISPのようなS型スタック機構を備えたアセンブラっぽいものもW3CのドラフトJavaScript APIWeb APIもある)になっています。一応,FirefoxとChromeでは使えるっぽい。128bitのSIMD命令の実装例もありました。

 以上のあらましは日本語記事()で大体掴めます。

 ただ,このレベルになると今後きちんと実用化されるのかどうか,そのうち放置プレイとなるのか,世間のニーズ次第ということになります。WebAssemblyに熱心なのはMozilla開発陣だけで,日本語記事を執筆された方もその一員なんですよね。

 しかしながら,どう頑張ってもネイティブ環境下以上の高速化はJavaScriptでは無理ですから,まずは使いやすくてそこそこ速いという程度で納めておくのが吉かなと。

 ボツボツ,現実逃避がてら遊んでみることにしましょう。

PCケースファンの交換

 本研究室のデスクトップマシンは大概古ぼけたPCケースに収まっています。既に3世代以上更新を重ねているものも少なくありません。見かけは古いですが,中身はマザーボードごと新品に入れ替えつつ,大事に使っています。

 私がメインに使っているマシンも,最初はIntel Core 2 Quadプロセッサの入ったシステムでしたが,今はCore i7になっています。10年以上使っていることになりますね。さすがにケースファンは軸のグリスが固まってしまっているせいか,全く動かなくなっていました。そのままでも使えますが,夏場の動作が心配ですので,付け替えることにしました。緑色に発行する120mmタイプ。

 LEDに電力使われるのも癪なので,発光しないものを探したのですが見つかりませんでしたので,仕方なくこれにしました。まぁ,起動していることが後ろから見ても分かるというのはメリットなんでしょうが,派手に見せて何かいいことがあるのかなと,年寄としては不満であります。

 光物といえば,マザーボードもGPUボードも,光らないものを見つけるのが面倒なほど,LED付きのものが当たり前になってますね。このマシンも既にそうなっています。

 透明アクリル板付きのケースにして,PCショップの店頭に並べておくのにはふさわしいのかもしれませんが,純然たる仕事用マシンとしては無駄以外の何物でもありません。光らない地味なマシンを追究していきたいところですが,現状難しいとなると,本研究室の卒研用マシンも全部光物になる日も近そうです。

卒研メモ:SPA時代にふさわしいフレームワークとは?

 今朝がたのPC Watchの記事で,ゼロ幅文字を埋め込んでコピペ元を特定するという,原始的な電子透かしテクニックが紹介されてました。

 ネタ元は,こちらのMedium記事ですが,こちらの方,Reactでサンプルコードを書いているんですね。

 最近はWeb業界もすっかりFrameworkばやりで,作り込んだUIはAngularReactのようなJavaScript frameworkで構築するのが普通になっています。当方も,頭が古いせいもあって未だにきっちりObject Orientedなframeworkの世界に馴染んでいませんが,本年の卒研ではN君がAngularを活用して楽天APIのUIを作り始めています。

 本研究室のサーバサイド中心のPHPプログラミング教材は,ちょっと時代遅れっぽいところが目立つようになりました(昨年度出来たばっかりなのに!)。ユーザサイドはSPAでかっこよく作り込み,サーバとのやり取りはAJAXで済ませてしまう,という方式もキッチリ解説する必要がありますねぇ。つか,最初から全部やり直さないとダメっぽい。

 とはいえ,HTML, CSSが怪しい人たちにJavaScriptでDOMの概念を理解してもらうのはなかなか困難です。ボチボチ下から積み上げるボトムアップ軽視では限界で,最初からOOP的チュートリアルを作っちゃって,トップダウン的にframeworkに慣れてもらうというのが良い時代なのかもしれません。

 つーことで,賽の河原のごとく,作った教材をもう一度再構築すべく,本年度後半はつらつら考えつつ「Webプログラミング開発入門 Version 2」を作っていきたいところです。幸い,Apache Cordovaの実験を行うにあたり,Node.jsの環境はばっちり構築できてますんで,導入は容易いかと。