狠狠撸

狠狠撸Share a Scribd company logo
軽量搁耻产测『尘谤耻产测』について


              第3回 松本勉強会
        ファーストサーバ ネットワークG
                   津崎 善晴
mruby とは?
■開発
  Rubyの生みの親であるまつもとゆきひろ氏が中心となって開発(国産)
■特徴
  Embeddable Rubyの略
  RiteVM : Ruby Lightweight VM
      2010年度の経済産業省の地域イノベーション創出事業で開発
  小規模なRuby言語処理系
  機能はほぼRuby標準規格を満たす最小限
  実装はLuaを意識
■ターゲット
  ゲームの組み込みスクリプト
  デジタル家電のソフトウェア開発
  組み込み機器やロボットの非リアルタイム制御
■githubで公開中
  (URL) https://github.com/mruby/mruby
コンパイラ       と   インタプリタ
■コンパイラ(Compiler)とは
  マシン語のプログラムに一括変換してから実行
  (利点)実行速度が速い、単独で動作する
  (欠点)中身がわからない、変更が容易でない
  (主な言語)C、C++等
■インタプリタ(Interpreter)とは
  実行可能なプログラムに変換しながら実行
  (利点)人間にわかりやすく記述できる、変更が容易である
  (欠点)実行速度が遅い、個別にインタプリタシステムが必要である
  (主な言語)Ruby、Perl、PHP、Python等
■JITコンパイラ(Just-In-Time Compiler)とは
  実行時にコードのコンパイルを行い実行速度の向上を図る
  (利点)プラットフォームに依存しない形式で配布、コンパイラ同等の速度
  (欠点)実行時に変換分の時間が必要である、メモリ使用量が大きい
  (主な言語)JavaScript、Lua等
mruby と Ruby の違い
■mruby
  最初からRiteVM
  行数 : 約9万行(ヘッダ含む) ... 4/20時点




  移植性が高くあらゆるプラットフォームで動作
  組み込みに特化


■Ruby
  1.8までインタプリタ方式、1.9からRiteVM
  行数 : 約17万行(拡張ライブラリ等含めず)
  Unix-like/POSIX互換プラットフォーム上で動作
サンプル(Cからmruby実行)
#include <stdlib.h>
#include <stdio.h>

/* Include the mruby header */
#include <mruby.h>
#include <mruby/proc.h>
#include <mruby/data.h>
// to be replaced by #include <mruby/compile.h>
#include <mruby/compile.h>

int main(void)
{
  struct mrb_parser_state *p;
  mrb_state *mrb = mrb_open();               ←mrubyの初期化
  char code[] = "p 'hello world!'";          ←実行するコード記述
  printf("Executing Ruby code from C!n");

    p = mrb_parse_string(mrb, code);       ←コードから構文木作成
    int n;
    n = mrb_generate_code(mrb, p->tree);   ←コード生成
    mrb_run(mrb, mrb_proc_new(mrb, mrb->irep[n]), mrb_top_self(mrb));   ←実行!!
    if (mrb->exc) {
               mrb_p(mrb, mrb_obj_value(mrb->exc));
    }
    return 0;
}
今後の展望
■組み込み系言語の選択肢が増える
 Lua、Squirrelにとって代わる時代が来るかもしれない???


■Rubyと同等の作業を組み込みで実現できる
 基本的な実装は踏襲されているのでRubyベースで記述できる
 様々な分野で応用されそう(参考のURL参照)
 開発の敷居が下がる?開発効率が上がる


■まだまだ発展途上
 新しい使われ方が生み出される可能性がある
 今後も注目が集まること間違いなし!
参考
■github(mruby)
     (URL) https://github.com/mruby/mruby

■軽量Ruby「mruby」技術紹介
  (URL) http://www.tjsys.co.jp/page.jsp?id=2998

■軽量Rubyへの取り組み
  (URL) http://www.iij.ad.jp/company/development/tech/activities/mruby/

■ついに軽量Rubyの「mruby」のソースコードが公開!
  (URL) http://el.jibun.atmarkit.co.jp/rails/2012/04/rubymruby-2004.html

■(動画)Matz "mruby - Minimalistic Ruby and Its Possibility" 1
   (URL) http://www.youtube.com/watch?v=n7XRYWclYDY

■Matzにっき(2010/11/14)

More Related Content

What's hot (20)

組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
Takehiko YOSHIDA
?
最速C# 7.x
最速C# 7.x最速C# 7.x
最速C# 7.x
Yamamoto Reki
?
窜测苍辩惭笔勉强会
窜测苍辩惭笔勉强会窜测苍辩惭笔勉强会
窜测苍辩惭笔勉强会
Hidemi Ishihara
?
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
?
颁#で速度を极めるいろは
颁#で速度を极めるいろは颁#で速度を极めるいろは
颁#で速度を极めるいろは
Core Concept Technologies
?
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
?
hubot-slack v4移行時のハマりどころ #hubot_chatops
hubot-slack v4移行時のハマりどころ #hubot_chatopshubot-slack v4移行時のハマりどころ #hubot_chatops
hubot-slack v4移行時のハマりどころ #hubot_chatops
knjcode
?
搁耻蝉迟による骋笔鲍プログラミング环境
搁耻蝉迟による骋笔鲍プログラミング环境搁耻蝉迟による骋笔鲍プログラミング环境
搁耻蝉迟による骋笔鲍プログラミング环境
KiyotomoHiroyasu
?
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
Yoshifumi Kawai
?
厂顿狈アフ?ローチによる叠骋笔経路监视の提案
厂顿狈アフ?ローチによる叠骋笔経路监视の提案厂顿狈アフ?ローチによる叠骋笔経路监视の提案
厂顿狈アフ?ローチによる叠骋笔経路监视の提案
Toshiki Tsuboi
?
【関东骋笔骋笔鲍勉强会#2】翱辫别苍颁痴の翱辫别苍颁尝実装辞肠濒惭补迟
【関东骋笔骋笔鲍勉强会#2】翱辫别苍颁痴の翱辫别苍颁尝実装辞肠濒惭补迟【関东骋笔骋笔鲍勉强会#2】翱辫别苍颁痴の翱辫别苍颁尝実装辞肠濒惭补迟
【関东骋笔骋笔鲍勉强会#2】翱辫别苍颁痴の翱辫别苍颁尝実装辞肠濒惭补迟
Yasuhiro Yoshimura
?
hooks riverpod + state notifier + freezed て?のト?メイン駆動設計
hooks riverpod + state notifier + freezed て?のト?メイン駆動設計hooks riverpod + state notifier + freezed て?のト?メイン駆動設計
hooks riverpod + state notifier + freezed て?のト?メイン駆動設計
Shinnosuke Tokuda
?
搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力
搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力
搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力
ThinReports
?
?搁耻产测とプログラミング言语の潮流
?搁耻产测とプログラミング言语の潮流?搁耻产测とプログラミング言语の潮流
?搁耻产测とプログラミング言语の潮流
Kazuhiko Kato
?
搁耻产测ボードハンズオンテキスト
搁耻产测ボードハンズオンテキスト搁耻产测ボードハンズオンテキスト
搁耻产测ボードハンズオンテキスト
三七男 山本
?
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
?
Ruby Extended Library
Ruby Extended LibraryRuby Extended Library
Ruby Extended Library
Akio Tajima
?
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
Koichi Sakata
?
OpenCV 百聞は一見にしかず
OpenCV 百聞は一見にしかずOpenCV 百聞は一見にしかず
OpenCV 百聞は一見にしかず
mq_nakamura
?
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて   第16回 岡山ruby, ruby on rails勉強会Mrubyについて   第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
?
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
Takehiko YOSHIDA
?
窜测苍辩惭笔勉强会
窜测苍辩惭笔勉强会窜测苍辩惭笔勉强会
窜测苍辩惭笔勉强会
Hidemi Ishihara
?
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
?
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
?
hubot-slack v4移行時のハマりどころ #hubot_chatops
hubot-slack v4移行時のハマりどころ #hubot_chatopshubot-slack v4移行時のハマりどころ #hubot_chatops
hubot-slack v4移行時のハマりどころ #hubot_chatops
knjcode
?
搁耻蝉迟による骋笔鲍プログラミング环境
搁耻蝉迟による骋笔鲍プログラミング环境搁耻蝉迟による骋笔鲍プログラミング环境
搁耻蝉迟による骋笔鲍プログラミング环境
KiyotomoHiroyasu
?
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
Yoshifumi Kawai
?
厂顿狈アフ?ローチによる叠骋笔経路监视の提案
厂顿狈アフ?ローチによる叠骋笔経路监视の提案厂顿狈アフ?ローチによる叠骋笔経路监视の提案
厂顿狈アフ?ローチによる叠骋笔経路监视の提案
Toshiki Tsuboi
?
【関东骋笔骋笔鲍勉强会#2】翱辫别苍颁痴の翱辫别苍颁尝実装辞肠濒惭补迟
【関东骋笔骋笔鲍勉强会#2】翱辫别苍颁痴の翱辫别苍颁尝実装辞肠濒惭补迟【関东骋笔骋笔鲍勉强会#2】翱辫别苍颁痴の翱辫别苍颁尝実装辞肠濒惭补迟
【関东骋笔骋笔鲍勉强会#2】翱辫别苍颁痴の翱辫别苍颁尝実装辞肠濒惭补迟
Yasuhiro Yoshimura
?
hooks riverpod + state notifier + freezed て?のト?メイン駆動設計
hooks riverpod + state notifier + freezed て?のト?メイン駆動設計hooks riverpod + state notifier + freezed て?のト?メイン駆動設計
hooks riverpod + state notifier + freezed て?のト?メイン駆動設計
Shinnosuke Tokuda
?
搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力
搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力
搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力
ThinReports
?
?搁耻产测とプログラミング言语の潮流
?搁耻产测とプログラミング言语の潮流?搁耻产测とプログラミング言语の潮流
?搁耻产测とプログラミング言语の潮流
Kazuhiko Kato
?
搁耻产测ボードハンズオンテキスト
搁耻产测ボードハンズオンテキスト搁耻产测ボードハンズオンテキスト
搁耻产测ボードハンズオンテキスト
三七男 山本
?
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
?
Ruby Extended Library
Ruby Extended LibraryRuby Extended Library
Ruby Extended Library
Akio Tajima
?
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
Koichi Sakata
?
OpenCV 百聞は一見にしかず
OpenCV 百聞は一見にしかずOpenCV 百聞は一見にしかず
OpenCV 百聞は一見にしかず
mq_nakamura
?
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて   第16回 岡山ruby, ruby on rails勉強会Mrubyについて   第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
?

Viewers also liked (20)

第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
Ryosuke MATSUMOTO
?
组込み向けスクリプト言语尘谤耻产测を贰痴3で动かしてみよう
组込み向けスクリプト言语尘谤耻产测を贰痴3で动かしてみよう组込み向けスクリプト言语尘谤耻产测を贰痴3で动かしてみよう
组込み向けスクリプト言语尘谤耻产测を贰痴3で动かしてみよう
Takuya Azumi
?
スタートアッフ?か?スマホアフ?リケ?ームを础锄耻谤别のサーヒ?スて?运用した话
スタートアッフ?か?スマホアフ?リケ?ームを础锄耻谤别のサーヒ?スて?运用した话スタートアッフ?か?スマホアフ?リケ?ームを础锄耻谤别のサーヒ?スて?运用した话
スタートアッフ?か?スマホアフ?リケ?ームを础锄耻谤别のサーヒ?スて?运用した话
Kiyoaki Tsurutani
?
搁耻产测の仕事で食べていくために僕らは!
搁耻产测の仕事で食べていくために僕らは!搁耻产测の仕事で食べていくために僕らは!
搁耻产测の仕事で食べていくために僕らは!
Ouka Yuka
?
Ruby everywhere
Ruby everywhereRuby everywhere
Ruby everywhere
yukihiro_matz
?
鲍苍颈迟测入门讲座その3
鲍苍颈迟测入门讲座その3鲍苍颈迟测入门讲座その3
鲍苍颈迟测入门讲座その3
spi8823
?
鲍苍颈迟测入门讲座その2
鲍苍颈迟测入门讲座その2鲍苍颈迟测入门讲座その2
鲍苍颈迟测入门讲座その2
spi8823
?
Generating unique id numbers in Azure
Generating unique id numbers in AzureGenerating unique id numbers in Azure
Generating unique id numbers in Azure
Takekazu Omi
?
鲍苍颈迟测入门讲座その1
鲍苍颈迟测入门讲座その1鲍苍颈迟测入门讲座その1
鲍苍颈迟测入门讲座その1
spi8823
?
リアルタイムサーバー ?Erlang/OTPで作るPubSubサーバー?
リアルタイムサーバー ?Erlang/OTPで作るPubSubサーバー? リアルタイムサーバー ?Erlang/OTPで作るPubSubサーバー?
リアルタイムサーバー ?Erlang/OTPで作るPubSubサーバー?
Yugo Shimizu
?
Imprementation of realtime_networkgame
Imprementation of realtime_networkgameImprementation of realtime_networkgame
Imprementation of realtime_networkgame
Satoshi Yamafuji
?
贰尘产耻濒办と顿颈驳诲补驳とデータ分析基盘と
贰尘产耻濒办と顿颈驳诲补驳とデータ分析基盘と贰尘产耻濒办と顿颈驳诲补驳とデータ分析基盘と
贰尘产耻濒办と顿颈驳诲补驳とデータ分析基盘と
Toru Takahashi
?
【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版
ui nyan
?
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
?
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用
nishio
?
実戦投入する机械学习
実戦投入する机械学习実戦投入する机械学习
実戦投入する机械学习
Takahiro Kubo
?
「機械学習 By スタンフォード大学」勉強会 2015.09.11
「機械学習 By スタンフォード大学」勉強会 2015.09.11「機械学習 By スタンフォード大学」勉強会 2015.09.11
「機械学習 By スタンフォード大学」勉強会 2015.09.11
Minoru Chikamune
?
ICTutorialOverlay : A utility for making "Overlay Tutorial"
ICTutorialOverlay : A utility for making "Overlay Tutorial"ICTutorialOverlay : A utility for making "Overlay Tutorial"
ICTutorialOverlay : A utility for making "Overlay Tutorial"
Ichito Nagata
?
机械学习の理论と実践
机械学习の理论と実践机械学习の理论と実践
机械学习の理论と実践
Preferred Networks
?
机械学习によるデータ分析まわりのお话
机械学习によるデータ分析まわりのお话机械学习によるデータ分析まわりのお话
机械学习によるデータ分析まわりのお话
Ryota Kamoshida
?
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
Ryosuke MATSUMOTO
?
组込み向けスクリプト言语尘谤耻产测を贰痴3で动かしてみよう
组込み向けスクリプト言语尘谤耻产测を贰痴3で动かしてみよう组込み向けスクリプト言语尘谤耻产测を贰痴3で动かしてみよう
组込み向けスクリプト言语尘谤耻产测を贰痴3で动かしてみよう
Takuya Azumi
?
スタートアッフ?か?スマホアフ?リケ?ームを础锄耻谤别のサーヒ?スて?运用した话
スタートアッフ?か?スマホアフ?リケ?ームを础锄耻谤别のサーヒ?スて?运用した话スタートアッフ?か?スマホアフ?リケ?ームを础锄耻谤别のサーヒ?スて?运用した话
スタートアッフ?か?スマホアフ?リケ?ームを础锄耻谤别のサーヒ?スて?运用した话
Kiyoaki Tsurutani
?
搁耻产测の仕事で食べていくために僕らは!
搁耻产测の仕事で食べていくために僕らは!搁耻产测の仕事で食べていくために僕らは!
搁耻产测の仕事で食べていくために僕らは!
Ouka Yuka
?
鲍苍颈迟测入门讲座その3
鲍苍颈迟测入门讲座その3鲍苍颈迟测入门讲座その3
鲍苍颈迟测入门讲座その3
spi8823
?
鲍苍颈迟测入门讲座その2
鲍苍颈迟测入门讲座その2鲍苍颈迟测入门讲座その2
鲍苍颈迟测入门讲座その2
spi8823
?
Generating unique id numbers in Azure
Generating unique id numbers in AzureGenerating unique id numbers in Azure
Generating unique id numbers in Azure
Takekazu Omi
?
鲍苍颈迟测入门讲座その1
鲍苍颈迟测入门讲座その1鲍苍颈迟测入门讲座その1
鲍苍颈迟测入门讲座その1
spi8823
?
リアルタイムサーバー ?Erlang/OTPで作るPubSubサーバー?
リアルタイムサーバー ?Erlang/OTPで作るPubSubサーバー? リアルタイムサーバー ?Erlang/OTPで作るPubSubサーバー?
リアルタイムサーバー ?Erlang/OTPで作るPubSubサーバー?
Yugo Shimizu
?
Imprementation of realtime_networkgame
Imprementation of realtime_networkgameImprementation of realtime_networkgame
Imprementation of realtime_networkgame
Satoshi Yamafuji
?
贰尘产耻濒办と顿颈驳诲补驳とデータ分析基盘と
贰尘产耻濒办と顿颈驳诲补驳とデータ分析基盘と贰尘产耻濒办と顿颈驳诲补驳とデータ分析基盘と
贰尘产耻濒办と顿颈驳诲补驳とデータ分析基盘と
Toru Takahashi
?
【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版
ui nyan
?
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
?
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用
nishio
?
実戦投入する机械学习
実戦投入する机械学习実戦投入する机械学习
実戦投入する机械学习
Takahiro Kubo
?
「機械学習 By スタンフォード大学」勉強会 2015.09.11
「機械学習 By スタンフォード大学」勉強会 2015.09.11「機械学習 By スタンフォード大学」勉強会 2015.09.11
「機械学習 By スタンフォード大学」勉強会 2015.09.11
Minoru Chikamune
?
ICTutorialOverlay : A utility for making "Overlay Tutorial"
ICTutorialOverlay : A utility for making "Overlay Tutorial"ICTutorialOverlay : A utility for making "Overlay Tutorial"
ICTutorialOverlay : A utility for making "Overlay Tutorial"
Ichito Nagata
?
机械学习によるデータ分析まわりのお话
机械学习によるデータ分析まわりのお话机械学习によるデータ分析まわりのお话
机械学习によるデータ分析まわりのお话
Ryota Kamoshida
?

Similar to 軽量搁耻产测『尘谤耻产测』について (20)

尘谤耻产测でゲームを书いてみた
尘谤耻产测でゲームを书いてみた尘谤耻产测でゲームを书いてみた
尘谤耻产测でゲームを书いてみた
Yousuke Kuroda
?
搁耻产测颁辞苍蹿の话の続きのおはなし
搁耻产测颁辞苍蹿の话の続きのおはなし搁耻产测颁辞苍蹿の话の続きのおはなし
搁耻产测颁辞苍蹿の话の続きのおはなし
yamanekko
?
痴惭を改めて学んで见る
痴惭を改めて学んで见る痴惭を改めて学んで见る
痴惭を改めて学んで见る
kishima7
?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Takashi Sogabe
?
Rubinius Under a Microscope
Rubinius Under a MicroscopeRubinius Under a Microscope
Rubinius Under a Microscope
高広 内山
?
搁耻产测ボードハンズオン
搁耻产测ボードハンズオン搁耻产测ボードハンズオン
搁耻产测ボードハンズオン
三七男 山本
?
デブサミ2013【15-贰-2】搁耻产测开発者のみなさん、尘谤耻产测で楽しく快适な组み込みアプリ开発を始めませんか?
デブサミ2013【15-贰-2】搁耻产测开発者のみなさん、尘谤耻产测で楽しく快适な组み込みアプリ开発を始めませんか?デブサミ2013【15-贰-2】搁耻产测开発者のみなさん、尘谤耻产测で楽しく快适な组み込みアプリ开発を始めませんか?
デブサミ2013【15-贰-2】搁耻产测开発者のみなさん、尘谤耻产测で楽しく快适な组み込みアプリ开発を始めませんか?
Developers Summit
?
さくルビー.狈别迟诞生
さくルビー.狈别迟诞生さくルビー.狈别迟诞生
さくルビー.狈别迟诞生
三七男 山本
?
Kansai mrb gr_sakura
Kansai mrb gr_sakuraKansai mrb gr_sakura
Kansai mrb gr_sakura
Kosuga Masakatsu
?
emruby: ブラウザで動くRuby
emruby: ブラウザで動くRubyemruby: ブラウザで動くRuby
emruby: ブラウザで動くRuby
mametter
?
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
三七男 山本
?
惭谤耻产测の始め方
惭谤耻产测の始め方惭谤耻产测の始め方
惭谤耻产测の始め方
Masaki Muranaka
?
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)
Takashi Sogabe
?
mruby VM を調べてみた話
mruby VM を調べてみた話mruby VM を調べてみた話
mruby VM を調べてみた話
kishima7
?
尘谤耻产测 滨辞罢プラットフォーム
尘谤耻产测 滨辞罢プラットフォーム尘谤耻产测 滨辞罢プラットフォーム
尘谤耻产测 滨辞罢プラットフォーム
Hiromasa Ishii
?
Mod mrubyについて
Mod mrubyについてMod mrubyについて
Mod mrubyについて
Ryosuke MATSUMOTO
?
mrubyを使った クラウド連携
mrubyを使った クラウド連携mrubyを使った クラウド連携
mrubyを使った クラウド連携
三七男 山本
?
私とRubyの付き合い方 - 岡山Ruby会議02
私とRubyの付き合い方 - 岡山Ruby会議02私とRubyの付き合い方 - 岡山Ruby会議02
私とRubyの付き合い方 - 岡山Ruby会議02
Masaya Konishi
?
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
三七男 山本
?
尘谤耻产测でゲームを书いてみた
尘谤耻产测でゲームを书いてみた尘谤耻产测でゲームを书いてみた
尘谤耻产测でゲームを书いてみた
Yousuke Kuroda
?
搁耻产测颁辞苍蹿の话の続きのおはなし
搁耻产测颁辞苍蹿の话の続きのおはなし搁耻产测颁辞苍蹿の话の続きのおはなし
搁耻产测颁辞苍蹿の话の続きのおはなし
yamanekko
?
痴惭を改めて学んで见る
痴惭を改めて学んで见る痴惭を改めて学んで见る
痴惭を改めて学んで见る
kishima7
?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Takashi Sogabe
?
Rubinius Under a Microscope
Rubinius Under a MicroscopeRubinius Under a Microscope
Rubinius Under a Microscope
高広 内山
?
搁耻产测ボードハンズオン
搁耻产测ボードハンズオン搁耻产测ボードハンズオン
搁耻产测ボードハンズオン
三七男 山本
?
デブサミ2013【15-贰-2】搁耻产测开発者のみなさん、尘谤耻产测で楽しく快适な组み込みアプリ开発を始めませんか?
デブサミ2013【15-贰-2】搁耻产测开発者のみなさん、尘谤耻产测で楽しく快适な组み込みアプリ开発を始めませんか?デブサミ2013【15-贰-2】搁耻产测开発者のみなさん、尘谤耻产测で楽しく快适な组み込みアプリ开発を始めませんか?
デブサミ2013【15-贰-2】搁耻产测开発者のみなさん、尘谤耻产测で楽しく快适な组み込みアプリ开発を始めませんか?
Developers Summit
?
さくルビー.狈别迟诞生
さくルビー.狈别迟诞生さくルビー.狈别迟诞生
さくルビー.狈别迟诞生
三七男 山本
?
emruby: ブラウザで動くRuby
emruby: ブラウザで動くRubyemruby: ブラウザで動くRuby
emruby: ブラウザで動くRuby
mametter
?
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
三七男 山本
?
惭谤耻产测の始め方
惭谤耻产测の始め方惭谤耻产测の始め方
惭谤耻产测の始め方
Masaki Muranaka
?
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)
Takashi Sogabe
?
mruby VM を調べてみた話
mruby VM を調べてみた話mruby VM を調べてみた話
mruby VM を調べてみた話
kishima7
?
尘谤耻产测 滨辞罢プラットフォーム
尘谤耻产测 滨辞罢プラットフォーム尘谤耻产测 滨辞罢プラットフォーム
尘谤耻产测 滨辞罢プラットフォーム
Hiromasa Ishii
?
mrubyを使った クラウド連携
mrubyを使った クラウド連携mrubyを使った クラウド連携
mrubyを使った クラウド連携
三七男 山本
?
私とRubyの付き合い方 - 岡山Ruby会議02
私とRubyの付き合い方 - 岡山Ruby会議02私とRubyの付き合い方 - 岡山Ruby会議02
私とRubyの付き合い方 - 岡山Ruby会議02
Masaya Konishi
?
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
三七男 山本
?

More from Ryosuke MATSUMOTO (6)

Saint2012 mod process security
Saint2012 mod process securitySaint2012 mod process security
Saint2012 mod process security
Ryosuke MATSUMOTO
?
组み込みスクリプト言语惭谤耻产测を利用した飞别产サーバの机能拡张支援机构
组み込みスクリプト言语惭谤耻产测を利用した飞别产サーバの机能拡张支援机构组み込みスクリプト言语惭谤耻产测を利用した飞别产サーバの机能拡张支援机构
组み込みスクリプト言语惭谤耻产测を利用した飞别产サーバの机能拡张支援机构
Ryosuke MATSUMOTO
?
第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版
Ryosuke MATSUMOTO
?
汎用性の高い大规模共有型奥别产バーチャルホスティング基盘のセキュリティと运用技术の改善
汎用性の高い大规模共有型奥别产バーチャルホスティング基盘のセキュリティと运用技术の改善汎用性の高い大规模共有型奥别产バーチャルホスティング基盘のセキュリティと运用技术の改善
汎用性の高い大规模共有型奥别产バーチャルホスティング基盘のセキュリティと运用技术の改善
Ryosuke MATSUMOTO
?
スレッド単位で権限分离を行う奥别产サーバのアクセス制御アーキテクチャ
スレッド単位で権限分离を行う奥别产サーバのアクセス制御アーキテクチャスレッド単位で権限分离を行う奥别产サーバのアクセス制御アーキテクチャ
スレッド単位で権限分离を行う奥别产サーバのアクセス制御アーキテクチャ
Ryosuke MATSUMOTO
?
组み込みスクリプト言语惭谤耻产测を利用した飞别产サーバの机能拡张支援机构
组み込みスクリプト言语惭谤耻产测を利用した飞别产サーバの机能拡张支援机构组み込みスクリプト言语惭谤耻产测を利用した飞别产サーバの机能拡张支援机构
组み込みスクリプト言语惭谤耻产测を利用した飞别产サーバの机能拡张支援机构
Ryosuke MATSUMOTO
?
第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版
Ryosuke MATSUMOTO
?
汎用性の高い大规模共有型奥别产バーチャルホスティング基盘のセキュリティと运用技术の改善
汎用性の高い大规模共有型奥别产バーチャルホスティング基盘のセキュリティと运用技术の改善汎用性の高い大规模共有型奥别产バーチャルホスティング基盘のセキュリティと运用技术の改善
汎用性の高い大规模共有型奥别产バーチャルホスティング基盘のセキュリティと运用技术の改善
Ryosuke MATSUMOTO
?
スレッド単位で権限分离を行う奥别产サーバのアクセス制御アーキテクチャ
スレッド単位で権限分离を行う奥别产サーバのアクセス制御アーキテクチャスレッド単位で権限分离を行う奥别产サーバのアクセス制御アーキテクチャ
スレッド単位で権限分离を行う奥别产サーバのアクセス制御アーキテクチャ
Ryosuke MATSUMOTO
?

軽量搁耻产测『尘谤耻产测』について

  • 1. 軽量搁耻产测『尘谤耻产测』について 第3回 松本勉強会 ファーストサーバ ネットワークG 津崎 善晴
  • 2. mruby とは? ■開発 Rubyの生みの親であるまつもとゆきひろ氏が中心となって開発(国産) ■特徴 Embeddable Rubyの略 RiteVM : Ruby Lightweight VM 2010年度の経済産業省の地域イノベーション創出事業で開発 小規模なRuby言語処理系 機能はほぼRuby標準規格を満たす最小限 実装はLuaを意識 ■ターゲット ゲームの組み込みスクリプト デジタル家電のソフトウェア開発 組み込み機器やロボットの非リアルタイム制御 ■githubで公開中 (URL) https://github.com/mruby/mruby
  • 3. コンパイラ と インタプリタ ■コンパイラ(Compiler)とは マシン語のプログラムに一括変換してから実行 (利点)実行速度が速い、単独で動作する (欠点)中身がわからない、変更が容易でない (主な言語)C、C++等 ■インタプリタ(Interpreter)とは 実行可能なプログラムに変換しながら実行 (利点)人間にわかりやすく記述できる、変更が容易である (欠点)実行速度が遅い、個別にインタプリタシステムが必要である (主な言語)Ruby、Perl、PHP、Python等 ■JITコンパイラ(Just-In-Time Compiler)とは 実行時にコードのコンパイルを行い実行速度の向上を図る (利点)プラットフォームに依存しない形式で配布、コンパイラ同等の速度 (欠点)実行時に変換分の時間が必要である、メモリ使用量が大きい (主な言語)JavaScript、Lua等
  • 4. mruby と Ruby の違い ■mruby 最初からRiteVM 行数 : 約9万行(ヘッダ含む) ... 4/20時点 移植性が高くあらゆるプラットフォームで動作 組み込みに特化 ■Ruby 1.8までインタプリタ方式、1.9からRiteVM 行数 : 約17万行(拡張ライブラリ等含めず) Unix-like/POSIX互換プラットフォーム上で動作
  • 5. サンプル(Cからmruby実行) #include <stdlib.h> #include <stdio.h> /* Include the mruby header */ #include <mruby.h> #include <mruby/proc.h> #include <mruby/data.h> // to be replaced by #include <mruby/compile.h> #include <mruby/compile.h> int main(void) { struct mrb_parser_state *p; mrb_state *mrb = mrb_open(); ←mrubyの初期化 char code[] = "p 'hello world!'"; ←実行するコード記述 printf("Executing Ruby code from C!n"); p = mrb_parse_string(mrb, code); ←コードから構文木作成 int n; n = mrb_generate_code(mrb, p->tree); ←コード生成 mrb_run(mrb, mrb_proc_new(mrb, mrb->irep[n]), mrb_top_self(mrb)); ←実行!! if (mrb->exc) { mrb_p(mrb, mrb_obj_value(mrb->exc)); } return 0; }
  • 6. 今後の展望 ■組み込み系言語の選択肢が増える Lua、Squirrelにとって代わる時代が来るかもしれない??? ■Rubyと同等の作業を組み込みで実現できる 基本的な実装は踏襲されているのでRubyベースで記述できる 様々な分野で応用されそう(参考のURL参照) 開発の敷居が下がる?開発効率が上がる ■まだまだ発展途上 新しい使われ方が生み出される可能性がある 今後も注目が集まること間違いなし!
  • 7. 参考 ■github(mruby) (URL) https://github.com/mruby/mruby ■軽量Ruby「mruby」技術紹介 (URL) http://www.tjsys.co.jp/page.jsp?id=2998 ■軽量Rubyへの取り組み (URL) http://www.iij.ad.jp/company/development/tech/activities/mruby/ ■ついに軽量Rubyの「mruby」のソースコードが公開! (URL) http://el.jibun.atmarkit.co.jp/rails/2012/04/rubymruby-2004.html ■(動画)Matz "mruby - Minimalistic Ruby and Its Possibility" 1 (URL) http://www.youtube.com/watch?v=n7XRYWclYDY ■Matzにっき(2010/11/14)