SlideShare ist ein Scribd-Unternehmen logo
1 von 16
mruby の始め方
             邑中 雅樹 / 合同会社もなみ屋




軽量 ruby 実践レポート&セミナー             Feb 21,2013
あらすじ


•   mruby とは (“ 組込み”とは? )

•   mruby ができること / できないこと
     (CRuby や他の言語とくらべて )

•   mruby の開発体制 (git, github, fork, pull request)
講演者自己紹介


•   所属 : 合同会社もなみ屋

•   プログラマ,ソフトウェア系の技術解説文書の執筆

•   得意分野 : 組込みシステムのオープンソース適用

    •   GNU debugger , TOPPERS , mruby
mruby とは ?


•   embeddable ruby == 組込み可能な ruby

•   “ 組込み”とは

    •   いわゆる”組込み”

    •   アプリケーションへの”組込み”
mruby にできること


•   Ruby 言語の実行

    •   Ruby スクリプト

    •   RITE バイトコード ( 事前コンパイル )
mruby にできること

•   既存システムへの組込み

    •   環境は単一の構造体 == 複数の実行環境を持てる.

•   小規模環境への対応

    •   1MB 以下のメモリ専有量

    •   OS が提供する機能からの独立
mruby にできること


•   機能のパッケージ化 (mrbgems)

    •   Ruby の gems に類似.

    •   相違点は静的コンフィギュレーションであること
mruby にできること


•   緩やかなオープンソースライセンス (MIT ライセンス )

    •   Java や CRuby が採用しているライセンスは,
        組込み製品に採用しづらい.
mruby にできないこと


•   CRuby と微妙に互換性がない

    •   ライブラリが決定的に少ない

    •   言語仕様に微妙な非互換性がある
mruby にできないこと


•   バイトコードは,容量削減目的でしかない

    •   “Write Once Run Anyware” ではない

    •   セキュリティについては考慮されていない
mruby の開発体制


•   本家は http://github.com/mruby/mruby/ に存在

    •   まつもとゆきひろ氏が管理

•   github によるホスティング
mruby の開発体制


•   git とは?

    •   ソースコードの変更履歴管理ツール

    •   オープンソース界隈で広く使われている

    •   分散型
mruby の開発体制

•   github とは?

    •   git を用いた開発を支援するサービス

        •   リポジトリストレージ,バグ追跡支援などの提供

    •   オープンソース製品の開発目的なら無償

    •   差分を投げ合う仕組みの提供 (pull request)
mruby の開発体制
mruby の開発体制


•   コミュニケーション言語は,基本,英語

•   連絡手段は pull request と issue track を利用

    •   メーリングリストは無い

    •   稀に, Twitter を使った日本語でのやりとりも
mruby の開発体制


•   github 版には,安定版の概念は ( 今のところ ) 無い

    •   サグラダ・ファミリア大聖堂,賽の河原

•   「ビジネス方面のことは, NPO に任せる」

    •   github 版からの fork として,安定版が出る ( はず )

Weitere ähnliche Inhalte

Was ist angesagt?

はじめようGit
はじめようGitはじめようGit
はじめようGittechscore
 
ペパボのサービスとRuby
ペパボのサービスとRubyペパボのサービスとRuby
ペパボのサービスとRubyUchio Kondo
 
Git flowについてまとめてみた
Git flowについてまとめてみたGit flowについてまとめてみた
Git flowについてまとめてみたhiroyuki koga
 
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級Kouji Matsui
 
バージョン管理システム比較資料
バージョン管理システム比較資料バージョン管理システム比較資料
バージョン管理システム比較資料suzzsegv
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgitTakafumi ONAKA
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスRyo Sumasu
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?naoki koyama
 
The History of Groovy #GroovyBase
The History of Groovy #GroovyBaseThe History of Groovy #GroovyBase
The History of Groovy #GroovyBasekyon mm
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理Masafumi Yokoyama
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門dsuke Takaoka
 
(自分流)Gitの運用ルール
(自分流)Gitの運用ルール(自分流)Gitの運用ルール
(自分流)Gitの運用ルールErina Takei
 
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜SHOYAYAMAMOTO
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」
「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」
「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」Hideki Yamane
 
RubyGemsで公開されているライブラリをモンキーパッチした話
RubyGemsで公開されているライブラリをモンキーパッチした話RubyGemsで公開されているライブラリをモンキーパッチした話
RubyGemsで公開されているライブラリをモンキーパッチした話SHOYAYAMAMOTO
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 

Was ist angesagt? (20)

はじめようGit
はじめようGitはじめようGit
はじめようGit
 
ペパボのサービスとRuby
ペパボのサービスとRubyペパボのサービスとRuby
ペパボのサービスとRuby
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
Git flowについてまとめてみた
Git flowについてまとめてみたGit flowについてまとめてみた
Git flowについてまとめてみた
 
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級
 
バージョン管理システム比較資料
バージョン管理システム比較資料バージョン管理システム比較資料
バージョン管理システム比較資料
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgit
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
The History of Groovy #GroovyBase
The History of Groovy #GroovyBaseThe History of Groovy #GroovyBase
The History of Groovy #GroovyBase
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
Git超入門
Git超入門Git超入門
Git超入門
 
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
(自分流)Gitの運用ルール
(自分流)Gitの運用ルール(自分流)Gitの運用ルール
(自分流)Gitの運用ルール
 
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」
「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」
「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」
 
RubyGemsで公開されているライブラリをモンキーパッチした話
RubyGemsで公開されているライブラリをモンキーパッチした話RubyGemsで公開されているライブラリをモンキーパッチした話
RubyGemsで公開されているライブラリをモンキーパッチした話
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 

Andere mochten auch

mrubyでゲームを書いてみた
mrubyでゲームを書いてみたmrubyでゲームを書いてみた
mrubyでゲームを書いてみたYousuke Kuroda
 
Ruby東京プレゼン 資料
Ruby東京プレゼン 資料Ruby東京プレゼン 資料
Ruby東京プレゼン 資料Kazuaki Tanaka
 
20150417 kintoneユーザー会発表資料
20150417 kintoneユーザー会発表資料20150417 kintoneユーザー会発表資料
20150417 kintoneユーザー会発表資料hiroponz
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
M2M製品開発におけるmrubyの効果160726
M2M製品開発におけるmrubyの効果160726M2M製品開発におけるmrubyの効果160726
M2M製品開発におけるmrubyの効果160726shimane-itoc
 
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみるmruby を C# に 組み込んでみる
mruby を C# に 組み込んでみるRyosuke Akiyama
 

Andere mochten auch (10)

mrubyのJIT
mrubyのJITmrubyのJIT
mrubyのJIT
 
VIOPS08: Behavior Analysis Solution for Bigdata
VIOPS08: Behavior Analysis Solution for BigdataVIOPS08: Behavior Analysis Solution for Bigdata
VIOPS08: Behavior Analysis Solution for Bigdata
 
mrubyでゲームを書いてみた
mrubyでゲームを書いてみたmrubyでゲームを書いてみた
mrubyでゲームを書いてみた
 
Ruby東京プレゼン 資料
Ruby東京プレゼン 資料Ruby東京プレゼン 資料
Ruby東京プレゼン 資料
 
20150417 kintoneユーザー会発表資料
20150417 kintoneユーザー会発表資料20150417 kintoneユーザー会発表資料
20150417 kintoneユーザー会発表資料
 
Mrubyまとめ v01
Mrubyまとめ v01Mrubyまとめ v01
Mrubyまとめ v01
 
mrubyのすすめ
mrubyのすすめmrubyのすすめ
mrubyのすすめ
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
M2M製品開発におけるmrubyの効果160726
M2M製品開発におけるmrubyの効果160726M2M製品開発におけるmrubyの効果160726
M2M製品開発におけるmrubyの効果160726
 
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみるmruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
 

Ähnlich wie Mrubyの始め方

苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1Takuya Mukohira
 
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料慎平 仁藤
 
emruby: ブラウザで動くRuby
emruby: ブラウザで動くRubyemruby: ブラウザで動くRuby
emruby: ブラウザで動くRubymametter
 
Osc2008 Opensuse Moonlinx
Osc2008 Opensuse MoonlinxOsc2008 Opensuse Moonlinx
Osc2008 Opensuse MoonlinxKazuhisa Hara
 
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Takashi Sogabe
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべKaoru NAKAMURA
 
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 decmrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 decYoshito Tanaka
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた拓将 平林
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Developers Summit
 
軽量Ruby『mruby』について
軽量Ruby『mruby』について軽量Ruby『mruby』について
軽量Ruby『mruby』についてRyosuke MATSUMOTO
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05yamanekko
 
2017年3月13日勉強会発表資料
2017年3月13日勉強会発表資料2017年3月13日勉強会発表資料
2017年3月13日勉強会発表資料shogo yamada
 
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Takashi Sogabe
 
mrubyで作るマイコンボード
mrubyで作るマイコンボードmrubyで作るマイコンボード
mrubyで作るマイコンボードkishima7
 
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践日本マイクロソフト株式会社
 

Ähnlich wie Mrubyの始め方 (20)

苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
 
mruby for embedded systems
mruby for embedded systemsmruby for embedded systems
mruby for embedded systems
 
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
 
emruby: ブラウザで動くRuby
emruby: ブラウザで動くRubyemruby: ブラウザで動くRuby
emruby: ブラウザで動くRuby
 
Osc2008 Opensuse Moonlinx
Osc2008 Opensuse MoonlinxOsc2008 Opensuse Moonlinx
Osc2008 Opensuse Moonlinx
 
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 decmrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
軽量Ruby『mruby』について
軽量Ruby『mruby』について軽量Ruby『mruby』について
軽量Ruby『mruby』について
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05
 
2017年3月13日勉強会発表資料
2017年3月13日勉強会発表資料2017年3月13日勉強会発表資料
2017年3月13日勉強会発表資料
 
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
P4p20120408
P4p20120408P4p20120408
P4p20120408
 
mrubyで作るマイコンボード
mrubyで作るマイコンボードmrubyで作るマイコンボード
mrubyで作るマイコンボード
 
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 

Mehr von Masaki Muranaka

Mocloudos - Feather-weight Cloud OS developed within
14 man-days
Mocloudos - Feather-weight Cloud OS developed within
14 man-daysMocloudos - Feather-weight Cloud OS developed within
14 man-days
Mocloudos - Feather-weight Cloud OS developed within
14 man-daysMasaki Muranaka
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Masaki Muranaka
 
#611GCMでのプレゼン
#611GCMでのプレゼン#611GCMでのプレゼン
#611GCMでのプレゼンMasaki Muranaka
 
統合開発環境TOPPERS Builderのカスタマイズ法
統合開発環境TOPPERS Builderのカスタマイズ法統合開発環境TOPPERS Builderのカスタマイズ法
統合開発環境TOPPERS Builderのカスタマイズ法Masaki Muranaka
 
2009年すみだ工業振興マスタープラン シンポジウム
2009年すみだ工業振興マスタープラン シンポジウム2009年すみだ工業振興マスタープラン シンポジウム
2009年すみだ工業振興マスタープラン シンポジウムMasaki Muranaka
 

Mehr von Masaki Muranaka (6)

Mocloudos - Feather-weight Cloud OS developed within
14 man-days
Mocloudos - Feather-weight Cloud OS developed within
14 man-daysMocloudos - Feather-weight Cloud OS developed within
14 man-days
Mocloudos - Feather-weight Cloud OS developed within
14 man-days
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
 
#611GCMでのプレゼン
#611GCMでのプレゼン#611GCMでのプレゼン
#611GCMでのプレゼン
 
統合開発環境TOPPERS Builderのカスタマイズ法
統合開発環境TOPPERS Builderのカスタマイズ法統合開発環境TOPPERS Builderのカスタマイズ法
統合開発環境TOPPERS Builderのカスタマイズ法
 
ZigBee 20110529
ZigBee 20110529ZigBee 20110529
ZigBee 20110529
 
2009年すみだ工業振興マスタープラン シンポジウム
2009年すみだ工業振興マスタープラン シンポジウム2009年すみだ工業振興マスタープラン シンポジウム
2009年すみだ工業振興マスタープラン シンポジウム
 

Mrubyの始め方

  • 1. mruby の始め方 邑中 雅樹 / 合同会社もなみ屋 軽量 ruby 実践レポート&セミナー Feb 21,2013
  • 2. あらすじ • mruby とは (“ 組込み”とは? ) • mruby ができること / できないこと (CRuby や他の言語とくらべて ) • mruby の開発体制 (git, github, fork, pull request)
  • 3. 講演者自己紹介 • 所属 : 合同会社もなみ屋 • プログラマ,ソフトウェア系の技術解説文書の執筆 • 得意分野 : 組込みシステムのオープンソース適用 • GNU debugger , TOPPERS , mruby
  • 4. mruby とは ? • embeddable ruby == 組込み可能な ruby • “ 組込み”とは • いわゆる”組込み” • アプリケーションへの”組込み”
  • 5. mruby にできること • Ruby 言語の実行 • Ruby スクリプト • RITE バイトコード ( 事前コンパイル )
  • 6. mruby にできること • 既存システムへの組込み • 環境は単一の構造体 == 複数の実行環境を持てる. • 小規模環境への対応 • 1MB 以下のメモリ専有量 • OS が提供する機能からの独立
  • 7. mruby にできること • 機能のパッケージ化 (mrbgems) • Ruby の gems に類似. • 相違点は静的コンフィギュレーションであること
  • 8. mruby にできること • 緩やかなオープンソースライセンス (MIT ライセンス ) • Java や CRuby が採用しているライセンスは, 組込み製品に採用しづらい.
  • 9. mruby にできないこと • CRuby と微妙に互換性がない • ライブラリが決定的に少ない • 言語仕様に微妙な非互換性がある
  • 10. mruby にできないこと • バイトコードは,容量削減目的でしかない • “Write Once Run Anyware” ではない • セキュリティについては考慮されていない
  • 11. mruby の開発体制 • 本家は http://github.com/mruby/mruby/ に存在 • まつもとゆきひろ氏が管理 • github によるホスティング
  • 12. mruby の開発体制 • git とは? • ソースコードの変更履歴管理ツール • オープンソース界隈で広く使われている • 分散型
  • 13. mruby の開発体制 • github とは? • git を用いた開発を支援するサービス • リポジトリストレージ,バグ追跡支援などの提供 • オープンソース製品の開発目的なら無償 • 差分を投げ合う仕組みの提供 (pull request)
  • 15. mruby の開発体制 • コミュニケーション言語は,基本,英語 • 連絡手段は pull request と issue track を利用 • メーリングリストは無い • 稀に, Twitter を使った日本語でのやりとりも
  • 16. mruby の開発体制 • github 版には,安定版の概念は ( 今のところ ) 無い • サグラダ・ファミリア大聖堂,賽の河原 • 「ビジネス方面のことは, NPO に任せる」 • github 版からの fork として,安定版が出る ( はず )