Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tokyo ruby kaigi 10 (sogabe)

2,125 views

Published on

  • Be the first to comment

Tokyo ruby kaigi 10 (sogabe)

  1. 1. 軽量Rubyで実現する 柔軟なルータSEILへの軽量Rubyの組み込み2013年1月14日 Tokyo Ruby Kaigi 10 曽我部 崇
  2. 2. 自己紹介曽我部 崇(@rev4t)● IIJで企業向けルータの開発などに従事最近の活動場所● mruby (http://github.com/iij/mruby)● openstack ○ コントリビュータ始めました(IPv6まわりの修正をした程度..)
  3. 3. SEIL(ザイル)作っています● ISPのノウハウを結集してIIJが開発した企業向 けアクセスルータ● Firmwareは独自開発、Hardwareは国内製造● 仮想化環境(VMWare, KVM, Hyper-V)対応 http://seil.jp/
  4. 4. mrubyとの出会い● 2011年春頃 ○ 社内プロジェクトで、SEILに cruby を組み込んで使った ○ firmware内の使わない機能を削除して、ギリギリ動いた● 2011年8月頃 ○ 社内の先輩 前橋さん(@tmeb4)にmrubyの存在を教えてもらう ■ 1/13 16:00-16:15 「Rubyによるお手軽分散処理」 ○ SEILに載るか試したくなり、関係者にコンタクトを取る● 2011年12月頃 ○ ソースコードを入手し、SEIL上でもmrubyが問題なく動作した! ○ 兼ねてから温めていた「柔軟なルータ」構想が、実現で きそう
  5. 5. もっと柔軟なルータが欲しい● イベントスクリプト機能 開発中 ○ SEILの機能をmrubyスクリプトから操作 ○ 経路障害、インタフェースのUp/Downなどのイベントをト リガになる
  6. 6. 色々作ってみました(1)● つぶやくルータ ○ 電力消費量をtweet ○ https://github.com/iij/mruby/tree/iij/app/twitter ■ matsumoto-rさんにmrbgem化していただきました ● https://github.com/matsumoto-r/mruby-oauth
  7. 7. 色々作ってみました(2)● Amazon S3 ○ 監視異常をトリガにして、コンテンツをアップロード ■ https://github.com/iij/mruby-aws-s3 アップロード 監視異常
  8. 8. いざ、組み込みの世界へ..● 今までの組み込み機器開発 ○ ドライバ、アプリ(ロジック)全てC言語又はアセンブリ言語 で開発● これからの方向性 ○ 速度やリソースの制約がある箇所だけC言語やアセンブ リ言語で記述 ○ その他のロジック部分は、出来る限り開発効率の良い 言語で開発 Ruby技術者を組み込みの世界に誘いたい :-)
  9. 9. mrbgem● mruby版のGEM● 2012年12月、本家にコミットされた● mrubyのビルド時にGEMを組み込むことができ る ○ rubyスクリプト、C言語のコードどちらも組み込み可能mrbgemに対応した以後、mrubyのエコシステムが急速に進化中 https://github.com/mruby/mruby/wiki/Related-Projects
  10. 10. Small is Beautiful● mruby(ミニマム)はruby言語の最少セットのみ を提供 ○ 利用者は、必要なものだけを選んで組み込む ○ 不要なものは入れなくて済むため、コンパクトになる Application Program gem A gem A gem B gem C (IO) (Regexp) (Socket) gem B RiteVM
  11. 11. mrubyは組込機器以外にも適用できる● アプリへの組み込みにも向いている● 例 ○ apache に組み込む => mod_mruby ○ iOSアプリに組み込む => MobiRuby ○ 言語内DSL ■ mruby(ミニマム) + 必要なmrbgemだけを組み込む ことで、コンパクトかつ堅牢になる● 利点 ○ アプリ動作ホストのruby環境に依存しない ■ rubyバージョン、gem依存を気にしなくて良い
  12. 12. ruby+mruby = Internet of Things● ruby + mrubyで、様々なモノやクラウドをイン ターネットを介して結び付けることができる 照明、家電、冷暖房、 蓄電池、各種センサ ,etc.
  13. 13. mrubyはフロンティア :-)● 現時点では、mrubyの基本部 分が出来ただけ ○ エコシステム、ドキュメント、mrbgems など、未整備のモノ多数
  14. 14. 今ならコントリビュートできることが沢山あります!
  15. 15. 軽量Rubyフォーラムのご紹介● 2013年2月に発足予定のNPO法人 ○ http://forum.mruby.org ○ IIJも加入予定● このような人・企業は、是非ご参加ください! ○ 自社製品の開発言語として軽量Rubyを採用してみたい ○ 軽量Rubyの今後の開発方針をいち早く知りたい ○ 軽量Rubyの今後の開発方針について意見したい ○ 顧客に軽量Rubyを提案することで差別化を図りたい ○ 軽量Ruby(あるいはその周辺ツール)の開発に関与したい ○ 自社で軽量Ruby製品をNPOを通じて宣伝したい ○ 軽量Ruby教育関連事業を企画したい ○ とにかく軽量Rubyを応援したい
  16. 16. PR: mrubyの夕べ● 日時: 1月28日(月)● 時間: 17:00-19:20● 場所: 東京 神保町 IIJ本社● http://bit.ly/mruby-evening17:00-18:30 に、まつもとゆきひろさんによるmrubyに関する講演があります!

×