Enviar pesquisa
Carregar
Xcodeでmrubyをステップ実行してみた
•
Transferir como PPTX, PDF
•
0 gostou
•
1,114 visualizações
F
firewood
Seguir
Shinjuku.rb #57
Leia menos
Leia mais
Engenharia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 21
Baixar agora
Recomendados
ラジコンをROSで制御してみた
ラジコンをROSで制御してみた
shohaga
Boost.勉強会 #13 @仙台 鳥小屋
Boost.勉強会 #13 @仙台 鳥小屋
Yuto M
Rosjp37 live ros
Rosjp37 live ros
Tatsuya Fukuta
FPGAでmrubyを動かす
FPGAでmrubyを動かす
Shuta Kimura
@nukokusa_botを支える技術
@nukokusa_botを支える技術
Joe_noh
GUI何処行ったんDocker
GUI何処行ったんDocker
Kazuhito Miura
78tch
78tch
78tch
As rock deskminia300
As rock deskminia300
78tch
Recomendados
ラジコンをROSで制御してみた
ラジコンをROSで制御してみた
shohaga
Boost.勉強会 #13 @仙台 鳥小屋
Boost.勉強会 #13 @仙台 鳥小屋
Yuto M
Rosjp37 live ros
Rosjp37 live ros
Tatsuya Fukuta
FPGAでmrubyを動かす
FPGAでmrubyを動かす
Shuta Kimura
@nukokusa_botを支える技術
@nukokusa_botを支える技術
Joe_noh
GUI何処行ったんDocker
GUI何処行ったんDocker
Kazuhito Miura
78tch
78tch
78tch
As rock deskminia300
As rock deskminia300
78tch
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Hirotaka Kawata
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
Yuma Ohgami
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
三七男 山本
小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみた
Ryodo Tanaka
GR-CITRUSの紹介
GR-CITRUSの紹介
三七男 山本
Ruby関西76 gr citrusの使い方#2
Ruby関西76 gr citrusの使い方#2
三七男 山本
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
Mitsutoshi Nakano
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
三七男 山本
Rubyボードハンズオンテキスト
Rubyボードハンズオンテキスト
三七男 山本
スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
RubyではじめるIoT(Wakayama.rb活動報告)
RubyではじめるIoT(Wakayama.rb活動報告)
三七男 山本
rustdef: Rust on jupyter notebook
rustdef: Rust on jupyter notebook
emakryo
RubyConfの話の続きのおはなし
RubyConfの話の続きのおはなし
yamanekko
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
Wakayama.rbボードの使い方
Wakayama.rbボードの使い方
三七男 山本
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Junichi Kakisako
USB3 host driver program structure
USB3 host driver program structure
uchan_nos
Rubyボードハンズオン
Rubyボードハンズオン
三七男 山本
安全にファイル編集する話
安全にファイル編集する話
Hisashi HATAKEYAMA
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶ
Yuta Kitagami
Cocos2dx 8hour
Cocos2dx 8hour
Tomohiko Okita
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Tomoaki Shimizu
Mais conteúdo relacionado
Mais procurados
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Hirotaka Kawata
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
Yuma Ohgami
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
三七男 山本
小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみた
Ryodo Tanaka
GR-CITRUSの紹介
GR-CITRUSの紹介
三七男 山本
Ruby関西76 gr citrusの使い方#2
Ruby関西76 gr citrusの使い方#2
三七男 山本
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
Mitsutoshi Nakano
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
三七男 山本
Rubyボードハンズオンテキスト
Rubyボードハンズオンテキスト
三七男 山本
スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
RubyではじめるIoT(Wakayama.rb活動報告)
RubyではじめるIoT(Wakayama.rb活動報告)
三七男 山本
rustdef: Rust on jupyter notebook
rustdef: Rust on jupyter notebook
emakryo
RubyConfの話の続きのおはなし
RubyConfの話の続きのおはなし
yamanekko
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
Wakayama.rbボードの使い方
Wakayama.rbボードの使い方
三七男 山本
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Junichi Kakisako
USB3 host driver program structure
USB3 host driver program structure
uchan_nos
Rubyボードハンズオン
Rubyボードハンズオン
三七男 山本
安全にファイル編集する話
安全にファイル編集する話
Hisashi HATAKEYAMA
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶ
Yuta Kitagami
Mais procurados
(20)
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみた
GR-CITRUSの紹介
GR-CITRUSの紹介
Ruby関西76 gr citrusの使い方#2
Ruby関西76 gr citrusの使い方#2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
Rubyボードハンズオンテキスト
Rubyボードハンズオンテキスト
スタート低レイヤー #0
スタート低レイヤー #0
RubyではじめるIoT(Wakayama.rb活動報告)
RubyではじめるIoT(Wakayama.rb活動報告)
rustdef: Rust on jupyter notebook
rustdef: Rust on jupyter notebook
RubyConfの話の続きのおはなし
RubyConfの話の続きのおはなし
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Wakayama.rbボードの使い方
Wakayama.rbボードの使い方
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
USB3 host driver program structure
USB3 host driver program structure
Rubyボードハンズオン
Rubyボードハンズオン
安全にファイル編集する話
安全にファイル編集する話
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶ
Semelhante a Xcodeでmrubyをステップ実行してみた
Cocos2dx 8hour
Cocos2dx 8hour
Tomohiko Okita
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Tomoaki Shimizu
Hello Ruby
Hello Ruby
Takahiro KUREBAYASHI
Compaq Contura Aero で NetBSD を動かす
Compaq Contura Aero で NetBSD を動かす
shimadah
コードしか書けないエンジニアがゲームを作るには。みんなで作る:ccocos2d-xゲーム開発
コードしか書けないエンジニアがゲームを作るには。みんなで作る:ccocos2d-xゲーム開発
Haco Kohashi
第2回勉強会資料 柏木
第2回勉強会資料 柏木
beyond0iwamoto
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Tomohiro Kumagai
Ide env
Ide env
Shuichi Jinushi
Pre react native0504
Pre react native0504
卓馬 三浦
Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化
Akihiro Matsuura
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
Game Tools & Middleware Forum
Cocos2d x-sprite3d
Cocos2d x-sprite3d
aktsk
20150317 firefox os勉強会
20150317 firefox os勉強会
Naoki Sekiguchi
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 Linux
Tomoki SHISHIKURA
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
Masaki Muranaka
WindowsタブレットでLinux、*BSD改造特集と裏技ハッキング in OSC東京2020 #osc20tk Hacking Linux and *...
WindowsタブレットでLinux、*BSD改造特集と裏技ハッキング in OSC東京2020 #osc20tk Hacking Linux and *...
Netwalker lab kapper
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
Izumi Tsutsui
Cc dx lib72-p
Cc dx lib72-p
CHY72
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
shigeki_ohtsu
Semelhante a Xcodeでmrubyをステップ実行してみた
(20)
Cocos2dx 8hour
Cocos2dx 8hour
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Hello Ruby
Hello Ruby
Compaq Contura Aero で NetBSD を動かす
Compaq Contura Aero で NetBSD を動かす
コードしか書けないエンジニアがゲームを作るには。みんなで作る:ccocos2d-xゲーム開発
コードしか書けないエンジニアがゲームを作るには。みんなで作る:ccocos2d-xゲーム開発
第2回勉強会資料 柏木
第2回勉強会資料 柏木
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Ide env
Ide env
Pre react native0504
Pre react native0504
Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
Cocos2d x-sprite3d
Cocos2d x-sprite3d
20150317 firefox os勉強会
20150317 firefox os勉強会
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 Linux
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
WindowsタブレットでLinux、*BSD改造特集と裏技ハッキング in OSC東京2020 #osc20tk Hacking Linux and *...
WindowsタブレットでLinux、*BSD改造特集と裏技ハッキング in OSC東京2020 #osc20tk Hacking Linux and *...
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
Cc dx lib72-p
Cc dx lib72-p
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
Mais de firewood
Best Bugs 2017 in the SmartNews iOS app
Best Bugs 2017 in the SmartNews iOS app
firewood
Xcodeで値を表示する
Xcodeで値を表示する
firewood
SmartNewsアプリの品質
SmartNewsアプリの品質
firewood
WkWebViewのキャッシュについて調べた
WkWebViewのキャッシュについて調べた
firewood
delayed_jobの自動再起動
delayed_jobの自動再起動
firewood
C++でHello worldを書いてみた
C++でHello worldを書いてみた
firewood
フィルタドライバ入門
フィルタドライバ入門
firewood
三日で書くGroonga関数
三日で書くGroonga関数
firewood
L-R
L-R
firewood
FPGA
FPGA
firewood
Mais de firewood
(10)
Best Bugs 2017 in the SmartNews iOS app
Best Bugs 2017 in the SmartNews iOS app
Xcodeで値を表示する
Xcodeで値を表示する
SmartNewsアプリの品質
SmartNewsアプリの品質
WkWebViewのキャッシュについて調べた
WkWebViewのキャッシュについて調べた
delayed_jobの自動再起動
delayed_jobの自動再起動
C++でHello worldを書いてみた
C++でHello worldを書いてみた
フィルタドライバ入門
フィルタドライバ入門
三日で書くGroonga関数
三日で書くGroonga関数
L-R
L-R
FPGA
FPGA
Xcodeでmrubyをステップ実行してみた
1.
Xcodeでmrubyをステップ実 行してみた Shinjuku.rb #57
2.
自己紹介 ● @hotpepsi ● 趣味 ○
ピアノ、テニス、競技プログラミング、ボルダリング ● ライフワーク ○ デバッグ
3.
Agenda ● mrubyほとんど使ったことない ● ステップ実行して調べてみよう ○
Debugger driven code reading
4.
用意するもの ● Xcode ○ MacのAppStoreからインストール ●
Homebrew ● mruby ○ Mac用にビルドする
5.
Xcodeのプロジェクトファイル (.xcodeproj) ● 直接追加するソースはmruby.cだけ ●
その他の部分はlibmruby.aをリンクする https://github.com/firewood/mruby/tree/xcode
6.
Xcodeのプロジェクトファイル (.xcodeproj) ● Schemeの設定
7.
hello.rb p "Hello, world!"
8.
改造する ● ロシアンルーレット ● 1/6の確率で死ぬ ●
死んだらデバッガで調べられる https://github.com/firewood/mruby/tree/rr
9.
Random::russian_roulette static mrb_value mrb_russian_roulette(mrb_state
*mrb, mrb_value self) { mrb_value r = mrb_random_rand(mrb, self); // randを呼ぶ if (r.value.f < 1.0/6) { int *p = 0; *p = 0; // EXC_BAD_ACCESS } return r; }
10.
hello.rb p "Hello, world!" r
= Random.new(1) (1..6).each do |i| p r.russian_roulette end
11.
Result
12.
もう少し複雑な例 ● ngx_mruby https://qiita.com/takeswim/items/d80dcf9865d06571cc5e https://github.com/firewood/ngx_mruby/tree/xcode
13.
ビルド方法 ● https://qiita.com/takeswim/items/d80dcf9865d06571cc5e ● https://qiita.com/marumaru/items/ca801c957986302f6fe6
14.
Prepare nginx source submoduleに足してみた $
git checkout xcode $ git submodule init $ git submodule update
15.
Build mruby $ ./configure
--with-ngx-src-root=./nginx $ make build_mruby $ make generate_gems_config
16.
Build nginx .oから.aを作るMakefileを書いた $ cd
nginx $ ./auto/configure --with-debug --add-module=.. --add-module=../dependence/ngx_devel_kit -- prefix=/usr/local/nginx $ make $ cd .. $ make -f gen_lib.mk
17.
Copy files $ sudo
mkdir -p /usr/local/nginx/conf /usr/local/nginx/logs /usr/local/nginx/html $ sudo chown -R `whoami` /usr/local/nginx/ $ cp -a example/*.rb /usr/local/nginx/html/ $ cp -a example/nginx.conf /usr/local/nginx/conf/ $ cp -a nginx/conf/mime.types /usr/local/nginx/conf/
18.
Tips ● ひとつのプロセスで処理する (ワーカープロセスを 使わない) ○
master_process off
19.
Location /rr location /rr
{ mruby_content_handler_code ' r = Random.new Server = Nginx Server.echo r.russian_roulette '; }
20.
Accessing to http://localhost:3000/rr
21.
まとめ ● Xcodeは有能 ● デバッガはcode
readingに使える (かも)
Baixar agora