SublimeTextのプラグイン作成方法SublimeTextのプラグイン作成方法

最近目の調子が悪いのでJINSでブルーライトカットレンズのメガネを買った森です.メガネを変えてから心なしか目の負担が減ったように感じます.今でもたまに右外眼筋が痙攣しますが…

去年からSublime Textというテキストエディタを使っているのですが,1つの大きな特徴としてPythonでプラグインを作成し簡単に機能を拡張することができるということが挙げられます.すでに多くの有用なプラグインが存在し簡単に導入できるのですが,今回は自分でプラグインを作成する方法について簡単にまとめたいと思います.
example-resultexample-result

続きを読む

TDD & CI for JavaScript [Karma][Mocha][Travis CI]TDD & CI for JavaScript [Karma][Mocha][Travis CI]

諸事情により研究で使うシミュレータを変更せざるを得なくなってしまった森です.心が折れたので,気分転換に昨夏某所で少しだけ弄ったNode.jsを勉強がてら一年ぶりに触っています.一年も経つと様々な新しいモジュールも公開されており,やはりこの界隈は発展が目覚ましいなと感じています.なかでもテスト環境はかなり整えやすくなっているのではと個人的に思いました.そこで今回はJavaScriptでの簡単なテストやその自動化の方法について紹介したいと思います.

test-tools 続きを読む

AR.Drone自律飛行AR.Drone自律飛行

AR.Droneとは

AR.Drone(*1)は、

  • スマートフォンやタブレット型端末による直感的な操作
  • 加速度センサ、ジャイロセンサ、気圧センサといった多数のセンサを用いた機体制御による安定した飛行
  • 搭載しているカメラからのビデオ映像を手元の端末にライブストリーミング

といった機能を備えたquadrocopterです。

続きを読む

SUMOによるモビリティモデルの作成Traffic simulation with SUMO

SUMO(Simulation of Urban Mobility)は、車のトラフィックシミュレーションを行うためのオープンソースパッケージです。

道路の形状や長さ、車の数や動きなどを自分で定義でき、自由度の高いシミュレーションを行えるのがSUMOの特徴です。
またSUMOでは、シミュレーションを行った結果を、ns-3など他のシミュレータで読み込めるモビリティモデルとして利用できます。
実際に私もSUMOで作成したモビリティモデルをns-3で読み込み,車々間・路車間通信のシミュレーションに利用しています。特に、道路が渋滞の場合と空いている場合での通信量の比較、といったシミュレーションを行う場合に、交通量の変更が簡単なSUMOは非常に便利です。

今回は、SUMOをインストールし、簡単なシミュレーションを行うまでのプロセスを紹介します。
※OSはUbuntu12.04の場合

続きを読む

待ち行列理論を用いたPub/Subシステムの数学的・確率的モデル化・入門篇 [Pub/Sub] [Queuing theory] [Statistics]待ち行列理論を用いたPub/Subシステムの数学的・確率的モデル化・入門篇 [Pub/Sub] [Queuing theory] [Statistics]

初夏を飛ばしていきなり夏になったかのような気温変化にやられ気味な、学生の方の松浦です.
もう少し暑くなってグランフロント大阪の客足が落ち着いてきたら、世界のビール博物館へ行って一杯、というのを画策しております.

さて、今回の記事は待ち行列理論を使ったネットワークシステムのモデリングに関してです.
といいますのも、かつての私(今も多かれ少なかれ…)を含め、研究であったり開発であったりを行うに当たって、数学的・確率的・統計的な要素が難解あったり面倒であったりといった理由から,つい目を背けてしまう方が多いのでは,と思ったからです.

システムのモデル化、あるいは提案システムの有用性を示すためのシミュレーションを行うようなシーンにおいて、これらの要素と一切向き合わずに乗り切るということは不可能です.
そこで本稿では、私の研究分野を例に取りつつ、待ち行列理論を実際に使うための導入的な部分について説明します.
できるだけネットワークシステム全般に使えそうな汎用性の高そうな内容をご紹介できればと思っていますので、待ち行列だ統計だと聞いて気分が悪くなり、そっとブラウザバックしようとした方にも、お付き合いいただければ幸いです.

続きを読む

dieselでかんたんWebSocketプログラミングWebSocket programming with diesel

今回は,dieselというフレームワークを紹介し,dieselとWebSocketを利用した簡単なアプリケーションの実例を示したいと思います.

dieselとは

dieselは,非同期処理にフォーカスしたアプリケーションフレームワークです.Pythonで書かれており,現在公開されているdiesel 3.0はBumpの裏側で動いているコードをベースとしているようです.オフィシャルサイト上では,次のような特徴を掲げています.

  • 高いスケーラビリティ
    • 10000コネクション以上にも対応可能,かつ省メモリ
  • コードが書きやすい
    • コールバックを使うことなく,通常の非同期でないコードを書く感覚で非同期処理を実現できる
  • 各種プロトコルやフレームワーク等を標準で利用可能
    • FlaskやWebSocketをはじめとして,Redis, ZeroMQ, MongoDB, Riakが,プラグインの追加等を行うことなく標準で利用可能

個人的には,次のような点が便利だと感じています.

  • 関数にデコレータを付けるだけで,WebSocketのサーバサイドアプリケーションが簡単に実現できる
  • いわゆる”Fanout”なキューが標準で利用できる

公式サイトのトップページにあるWebSocketを使ったチャットとそのコードを見ていただければ,dieselの簡単さが分かるかと思います. もちろん,より低レイヤなTCP/UDPレベルでの非同期通信も利用可能です.利用方法については,オフィシャルサイトのチュートリアルにいくつか典型的 なものが掲載されています.

続きを読む

新入生歓迎会を行いましたnew-comers-party

今年度の情報基盤システム学研究室には、新たに5名の学生さんがやってきてくれました。
(内、1人は社会人学生で後期から参加されるようです。)

今年、入ってくれた学生さんからも、”雰囲気がすごくよかったので!”という意見があったので、やはりinet-labは居心地のよい研究室のようです。

さて、今年の新入生歓迎会は、留学生の方も居られることから、幹事さんが食事のメニューを考えた上で、やまと庵にて開催されました。

続きを読む

ZMQを使った簡単なPub/SubExample Pub/Sub code with ZMQ

最近はテニスに再び熱が入っています。松浦です。
先日は研究室のメンバーにラケットの購入を勧めるつもりでウェブサイトを見ていて、気が付いたら自分が買っていました。

今日はZeroMQを使ったPublish/Subscribeの簡単な例を紹介します。メッセージキューイングシステムは沢山ありますが、ZeroMQは軽くて速いし、各言語のモジュールも充実しているので気に入っています。他のMQも含めての比較はここが読んでいて中々まとまっており面白かったです。先にpub/subを実現するコードを載せ、後にZeroMQやZMQのインストール方法を載せます。

続きを読む

WebSocketによるリアルタイムネットワーク計測Real-time monitoring with WebSocket

日本に戻ってきて2週間経ちました。松浦です。
市役所に行って転入届等々の処理をしましたが、親切かつ素早く確実な事務処理に驚きました。本当にフランスでは事務処理で泣かされました。日本は良い所です。

今日はWebSocketを使ってリアルタイムにネットワークの利用状態を計測する簡単なアプリケーションを紹介します。

It’s Satoshi MATSUURA. I’ve almost done my one year stay as a visiting researcher at INRIA in France. Next month, I’ll get back to Japan. I’m looking forward to seeing Japanese friends/colleagues and getting real ‘sushi’. On the other hand, I’ll miss French friends, French life and French wine/cheese.

Today, I introduce an example of WebSocket application to realize real-time monitoring/graphing.

続きを読む