タグ

Rubyとmrubyに関するkazuph1986のブックマーク (8)

  • 自作でイベント駆動型サーバ作るのツライ問題とlua-nginx-module

    自作でイベント駆動型サーバ作るのツライ問題とlua-nginx-module 23 Mar 2016 Nakamura Narihiro 何の因果かわかりませんが、お仕事でちょっと賢いリバースプロキシサーバ(以降、RPサーバ)を作る機会が2回ありました。 HTTPヘッダの内容によってプロキシ先のサーバを動的に切り替えるようなものです。 この要件を満たすため、RPサーバには以下のようなプログラムが必要になります。 HTTPヘッダの内容を知るためにHTTPリクエストをパース プロキシ先のサーバへHTTPリクエストをプロキシ プロキシ先のサーバはRedisから取得 レスポンスをクライアントへ返す 大量のリクエストも捌ける 1回目はRubyとI/O多重化のライブラリを使ってイベント駆動型のRPサーバを自作してみました。 が、振り返ってみるとこれは失敗でした。 なぜ失敗だったのか? Rubyでイベン

    自作でイベント駆動型サーバ作るのツライ問題とlua-nginx-module
    kazuph1986
    kazuph1986 2016/03/24
    テンション上がる(・∀・)
  • まつもとゆきひろ直伝 組込Ruby「mruby」のすべて 総集編

    販売終了 「組込向け」との触れ込みで登場したmrubyRuby設計者であり、mrubyの主要開発者である、まつもとゆきひろ氏が自らそのすべてを解説します(日経Linux2012年10月号から2013年3月号までの連載を最新情報に修正して掲載)。 関連サイト出版社による関連ページが公開されています。 日経Linux内容紹介日発のオブジェクト指向言語「Ruby」。近年、Webアプリケーションを開発する言語として広く利用されています。 これまでのRuby は「アプリケーションはRubyで開発する。不足する機能はCなどで拡張ライブラリを開発して、Rubyに追加する」というアーキテクチャーを仮定しています。しかし、それでは組込ソフトウエアによくある「アプリケーションはC/C++で開発する。柔軟性・生産性が必要な部分だけをRubyに任せたい」というアーキテクチャーとは相いれません。アプリケーション

    まつもとゆきひろ直伝 組込Ruby「mruby」のすべて 総集編
  • 組み込み開発 EXPO

    新たな価値を創造し、ビジネスを革新する製品開発とは 「ビッグデータ」「Internet of Things(モノのインターネット)」「クラウド」「M2M/センサー・ネットワーク」「コネクテッド・デバイス/スマート・デバイス」「NUI(ナチュラルユーザーインタフェース)」――。これらのトレンドが融合・進化し、組み込みシステムのみならず、ビジネスの世界をも革新しようとしています。この大きな転換期を迎え、私たちは、機能や性能といったカタログスペックを追求するだけの従来の製品開発から脱却し、ビジネス/サービスへの展開も視野に入れた開発を行わなければなりません。EXPOでは、新時代を見据えた組み込み開発の方向性・在り方を提示します。 Windows Embedded 特設パビリオンでは、企業向け組み込みシステムのあたらしいコンセプトである『Intelligent Systems』に基づいた様々なソ

    kazuph1986
    kazuph1986 2013/02/04
    こ、これなら勝てる!!!(誰に)
  • 軽量Ruby – mrubyとRubyの違い

    MobiRubyで書いた”さめがめ” 去年の春からずっとコツコツと作っているmrubyでiOSアプリが書けるMobiRubyが久々に動く様になったので、1年近くmrubyを触ってきて気になった所を少し書いてみます。 以下、mrubyと区別しやすくするために、普段みなさんがお使いのRubyをCRubyと書いています。 mrubyって? mrubyはMatzが去年発表した省メモリ版のRuby実装です。CRubyの機能を全て実装している訳ではなく、JIS/ISOの規格をベースに設計・実装されたものです。JIS/ISOの規格書は有料なのですが、最終ドラフトがIPAのサイトから確認できます。 mrubyの経緯や概要は、日経ITProによるMatzへのインタビューが分かりやすく、内部などについては、IIJさんや東芝情報システムさんがまとめている記事が参考になります。 現在の所リリース版はなく、GitH

  • 言語の性能の差がApacheモジュールの決定的な差でないことを教えてやる

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyにはぜひluajit版に勝って、言語の性能の差がシステム全体の決定的な差でないことを教えてやる と言ってほしい。すっかり他力願モード — Miura Hidekiさん (@miura1729) 1月 23, 2013 というツイートに触発されて、mod_luaのLuaJIT版の速度がどの程度早く、mod_mrubyと比較してどれほどの性能差があるのかを試してみました。 mod_luaのLuaJIT版の設定 ここが結構はまってしまって、最新のApache2.4.3ソースで–enable-luajitとしても、LuaJIT版でmod_luaが動作するようにはなっていません。バグかな? というわけで、Apacheのソースを追って

    言語の性能の差がApacheモジュールの決定的な差でないことを教えてやる
  • ngx_mrubyから学ぶnginxモジュールの作り方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ngx_mrubyを作るにあたって、nginxモジュールの実装方法が分かってきたので、それを連々と書いていこうと思います。nginxモジュールといっても、Apacheモジュールの実装方法と似ていたので、Apacheモジュールを書ける人は同様にnginxモジュールも実装できると思います。 ngx_mruby用のディレクティブを追加 nginxモジュールはApacheモジュールと同じで、基的にはnginxの内部ルールに従って、nginxに処理させたい関数をフックさせる方式で実装します。nginxのconfに新たな設定を追加したい時、例えば、以下のようなnginxの設定を新たに作りたいとします。 location /mruby { mrubyHa

    ngx_mrubyから学ぶnginxモジュールの作り方
    kazuph1986
    kazuph1986 2013/01/09
    知らなかった!いいな!
  • ngx_mrubyとmod_mrubyのパフォーマンス比較してみた | 人間とウェブの未来

    ngx_mrubyに対しても、mod_mrubyで実装していたような高速化アーキテクチャ(これとかこれ)を実装することができたので、どれくらいのパフォーマンスがでるのかをngx_mrubyとmod_mrubyで比較してみました。 mod_mrubyとngx_mrubyのインストール gitからそれぞれのコードを落としてきて、以下のようにコンパイルしました。 git clone git://github.com/matsumoto-r/mod_mruby.git cd mod_mruby git submodule init git submodule update cd mruby git checkout master rake cd .. ./configure make sudo make install git clone git://github.com/matsumoto-r/

  • Big Sky :: 最近の mruby 業界まとめ

    トピックス mrbgems が入った お前はどこのワカメじゃ ビルド方法が変わった mruby-uv mruby-http mruby-sinatic mruby-json mruby-sqlite3 mruby-curl そして mruby-v8 mrbgems が入った mruby に GEM っぽい物が入った。 とは言ってもスタティックリンクなのでダイナミックローディングしてくれる訳じゃない。 しかしながらパッケージを導入する上での取り決めが決まりつつあると言った感じ。 使うには MRUBY_ROOT という環境変数を mruby のリポジトリトップに設定しておき、MAKEFILE_4_GEM を $MRUBY/mrbgems/Makefiel4gem にしておくと良い。後者は要らなくなったかもしれない。 具体的には $MRUBY_ROOT/mrbgems/GEMS.active と

    Big Sky :: 最近の mruby 業界まとめ
  • 1