レポート

イマドキC++erのモテカワリソース管理術! “プログラミング生放送+CLR/H+Sapporo.cpp勉強会”レポート

この記事を読むのに必要な時間:およそ 3 分

Socket.IO 1.0で始めるリアルタイムWebアプリケーション

中川武憲さん@ww24による「Socket.IO 1.0 で始めるリアルタイム Web アプリケーション」です。Node.jsでWebSocketなどリアルタイム通信プロトコルを簡単に扱えるライブラリ「Socket.IO」の紹介です。

図5 Socket.IO 1.0 で始めるリアルタイム Web アプリケーション」

図5 Socket.IO 1.0 で始めるリアルタイム Web アプリケーション」

Socket.IOは,チャットやPush通信,リアルタイムなゲームやリモートデスクトップなどの開発で役立ちます。Socket.IO 0.9から1.0になり大幅にプロトコル変更があり,バイナリデータもサポートされたとのこと。

Socket.IO を使った「Hello World」のJavaScriptのコードは次のようになります。onで受信処理を行い,emitで"Hello World"を送信します。

var io = require("socket.io")(3000);
io.on("connect", function (socket) {
        socket.emit("msg", "Hello World");
});

セッションでは,スクリーンキャプチャ映像のブロードキャスティングをデモとして紹介しています。

ニコニコ動画:https://www.nicovideo.jp/watch/sm24209001

Boost.Graphで「JR全線乗り尽くしプラン」を立てる

H.Hiroさん@h_hiro_「Boost.GraphでJR全線乗り尽くしプランを立てる」です。C++ Boost.Graphを利用して,短い乗車距離で全線を乗り尽くす方法を求めます。

図6 「Boost.GraphでJR全線乗り尽くしプランを立てる」H.Hiroさん

図6 ⁠Boost.GraphでJR全線乗り尽くしプランを立てる」H.Hiroさん

出発地点まで帰ってくること,JR以外の交通機関を利用しないことを条件として乗車距離が短い経路を,グラフ理論を使って求めます。Boost.Graphは,グラフ構造を扱うC++のライブラリです。

セッションでは,問題設定と解き方をわかりやすく説明しています。ひとつは「橋」と呼ばれる,その1本が消えることで路線網が分断されるような辺を見つけ,路線図を個別のグラフに切り離していきます。また,橋は行って戻るため必ず2回通ります。

最終的にセッションではBoost.Graphを利用してJR北海道分の全線乗り尽くしプランを求めています。

ニコニコ動画:https://www.nicovideo.jp/watch/sm24209487