卒研メモ:技術系質問サイトの利用

 卒研を進めるにつれて技術的な困難に直面することが多くなります。その際には,同じ研究室のメンバーに相談,教員に相談,他の友達に相談・・・ということになるかと思いますが,相談する前にまずは「何を聞きたいのか?何が分からないのか?」ときちんと整理しておくと,聞かれる方も答えやすくなります。漠然とした疑問に大しては漠然とした回答しか得られません。

 最近ではYahoo!知恵袋等のQ&Aサイトが人気ですが,プログラミングテクニックを聞く場としては,専門家が集っているとは言えず,あまり適していないように思えます。2chもそこそこ使えますが,罵声も飛び交うし,的確な回答が得られる率はそう高くないでしょう。

 プログラミングに関しては,StackOverflowが先駆けとなり,日本語サイトもできました。最近ではTeratailというところも賑わっているようです(Internet Watch)。

 こういうところできちんとした文章で質問できるようになると,口頭でのやりとりもスムーズにできるようになります。人に理解してもらう方法論を学ぶ意味でも,積極的に活用して「疑問をまとめて的確な回答を引き出す」テクニックを身につけて下さい。

卒研メモ:Google ResizerでWeb表示確認

 Google Resizerというサービスがあるのを知りました(窓の杜紹介記事)。今まではPC, Tablet, Smart Phoneそれぞれで確認すべきWeb表示を1発でできるというものです。なかなか便利なので,卒研では大いに活用して下さい。

2016-03-03_191348

卒研メモ: Web API活用リンク

 本研究室の過去の卒研で,マイナビと連携して就活スケジュール帳を作った例がありますが,手動でHTMLを解析して必要な情報を取得するというやり方をしていました。これは今でも有効ですし,Web crawlerの実装はそのようにするしかないのですが,特定の機能を呼び出す手続き(API)を公開しているサイトの場合,その手順に従ったアプリにしておくと,表面的なWebデザインの変更があってもそれとは無関係なAPIを介したやり取りをするだけで済むので,長い間使えるものになります。

 近年は検索エンジンも大きいところはGoogleとMicrosoftのBingに集約された感がありますし(Yahoo!はGoogleに依存),有効性の強い情報はSNS(Social Networking Service)経由でやり取りされることが多くなってます。賢い人は賢い人同士,金持ちは金持ち同士,バカは・・・,貧乏人は・・・,といった感じでしょうか。貧富の格差が,良質な情報の格差と直結する昨今であります。

 ということで,卒研でも大いに大手サイトのAPIを使いましょう。

 とりあえず,GoogleとBingのAPIはこんな感じのようです(2016年3月現在)。

 Google API Explorer
2016-03-02_094939

 Bing Dev Center
2016-03-02_095458

 SNS関連ではこんなところでしょうか。

 各APIを使うためのサンプル集はちょっと検索すると見つかります。なるべく最新のものを見つけて試してみましょう。

卒研メモ:Let’s Encrypt模様眺め

 無料でSSL認証が取れるLet’s Encryptを利用したサービスが日本でも始まるようです
 興味はあるんですが,どのぐらい信用されるもんなのかなぁ? タダほど高いものはないといいますし,目下模様眺めです。

卒研メモ:春秋-tsuフォントお試しフォーム

現在の感じのルーツに当たる古代文字のフォントを提供しているサイトがあったので,早速フォントをPNGファイルに表示するフォームを作ってみました。AJAX対応してリアルタイムで書き換えできるようにするとカッコよくなるかも。

春秋-tsuフォントお試しフォーム

[追記] OpenType, TrueType等のフォントをJavaScriptから扱えるopentype.jsなるものが存在しているので,これを使って実装することも可能ですね。但し,公開しているWeb経由でJavaScriptからフォントにアクセスできるということは,Web経由でフォントもDLできるということを意味しますので,人様が作ったフォントを勝手に配布していると受け取られかねません。とゆーことで,JavaScriptでの実装はプライベートにやるしかないようです。

卒研メモ: Waterloo大学のWebプログラミング教材

 カナダのWaterloo大学が提供しているWebプログラミング教材の出来がいいので紹介しておきます。

 次年度の卒研テーマとして,情報セミナー2で使用できるHTML, CSS3, PHP, RDB(MySQL or MariaDB)の教材の開発を考えていますので,上記の教材も参考にして下さい。

卒研メモ:JavaScript + Canvasでフラクタル図形描画

 ”JavaScript Fractal”で検索すると色々なサンプルスクリプトが出てきますが,トップに出てくるこのサイトのものが一番アプリケーションとして出来が良いようです。

Canvas Fractals

「高性能計算研究室」という看板を出している以上は,これに対して何らかの改良を施したいところです。定番の工夫としては

  • 並列化して高速化・・・Node.js環境下だとParallel.jsというのがあるらしい。以前はFirefoxネイティブにRiverTrailというIntel提供のプロジェクトがあったのですが,最近はOpenCL対応にしたとかでよく分からないことになっている。
  • 高精度化・・・手っ取り早く4倍精度化(double-double)化するというのが定番。調べたところではJavaScript実装はまだない模様(任意精度対応のBigDecimal.jsというのは存在)

というところかと。

 まずCanvasにお絵かきするためにjCanvasの勉強から始めて倍精度計算でJulia集合を描き,それを利用して4倍精度化を図る・・・という感じかしら。誰かやりません?

 

卒研メモ:PHP 7.0.0 正式リリース

 現在使用されているPHPの最新バージョンは5.5.30, 5.6.16ですが,Version 6はスキップして7.0.0が正式にリリースされました(本家リリース,日本語ニュース)。今後はこれをベースとしたXAMPPやレンタルサーバサービスが出てくると予想されます。

 現行の5.6.xベースの記述をしている限り問題になりそうな部分はあまりなさそうですが,使用しているPHPのライブラリ類(Pear,MySQLiなど)の7.0.0対応の方が問題になりそうです。

 今のところ本研究室のサーバ(ここ)のPHPを7.0.0に上げることは考えていませんし,新しもの好きのXAMPPと言えど,すぐに7.0.0になるとも思えませんが,気になるようならbitnami提供のWAMP stackを使ってみるもの一興でしょう。

 でも来年には7.0.0になりそうだなぁ・・・情報セミナーII用の教材も考えないといけません。