Webで使えるmrubyシステムプログラミング入門 作者:近藤宇智朗発売日: 2020/11/25メディア: Kindle版 この手のミドルウェア・プログラミング言語の入門・解説書、ひたすら語り口を優しくしているだけだったり、単にリファレンスをなぞっているかのどちらかで、教科書的な硬さとかが鼻につくんだけど、この『Webで使えるmrubyシステムプログラミング入門』は全然違う。次元が違う。 明らかに、”現場で経験値の高い先輩から指導を受けている”ような錯覚を感じさせる内容、流れになっている。 今後、この手の入門書は全部こんな感じでお願いします(あとは公式リファレンス読むんで!)と言いたくなるくらいの良書。マジで良い。 環境がmacOSを使いつつ実際のプロセスはVirtualBox上のLinuxで進む(ちゃんと両方使う前提になっている) 冒頭でmrubyのビルドの解説をする際に、さらっと「デ
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ngx_mrubyを作るにあたって、nginxモジュールの実装方法が分かってきたので、それを連々と書いていこうと思います。nginxモジュールといっても、Apacheモジュールの実装方法と似ていたので、Apacheモジュールを書ける人は同様にnginxモジュールも実装できると思います。 ngx_mruby用のディレクティブを追加 nginxモジュールはApacheモジュールと同じで、基本的にはnginxの内部ルールに従って、nginxに処理させたい関数をフックさせる方式で実装します。nginxのconfに新たな設定を追加したい時、例えば、以下のようなnginxの設定を新たに作りたいとします。 location /mruby { mrubyHa
# workerプロセス初期化時 # ngx_mrubyだとmruby_init_workerディレクティブ mrubyChildInitMiddle /etc/apache2/hooks/geo_init.rb <Location /> # リクエスト毎にアクセスチェック # ngx_mrubyだとmruby_access_handlerディレクティブ mrubyAccessCheckerMiddle /etc/apache2/hooks/geo_check.rb </Location> # pidをキーにユーザデータにオブジェクトを保存 Userdata.new("geoip_#{Process.pid}").geoip = GeoIP.new("/usr/share/GeoIP/GeoIPCity.dat") # mod_mrubyだとApacheクラス、ngx_mrubyだとNgi
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyはmrubyのmrb_stateをApacheのサーバプロセス上で使いまわすアーキテクチャをとっています。基本的にプロセスは起動しっぱなしなのですが、リクエストを大量に処理すると、プロセスのメモリがどんどん太っていく問題がありました。 これは、mruby-uv等でも報告されており、どうにか改善したいと思っていました。そこで、twitter上でいくつかmatzさんとやり取りしながら、valgrindでメモリのLEAKとHEAPを調査の上、mallocのフラグメントを疑い、jemallocでmallocをフックするとどのようにメモリ使用量が改善するかを実験しました。 valgrindでApacheをデバッグ valgrindでA
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 C言語でサーバアプリやクライアントアプリを作っていると、じょじょに規模が大きくなり、アプリの設定を外出ししたいなぁ、なんて思いはじめるのはよくある事だと思います。 でも、なんとなくその設定ファイルのParser書いたり参照のインターフェイスを書くのも面倒だし引数で渡すようにするかぁ、なんて思いはじめたりもします。 でも結局引数が大量に増えだして、そのusage表示もカオスになって面倒になり(更新が止まり)、結局もう一度、「設定ファイル作るかー」なんてことになるのはよくある事だと思います。 そこで、そういう人のために,mrubyを使って簡単に設定ファイル(Rubyで書く)を外出しできるmruby-configというmrbgemを作ってみました。
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ApacheCon NA 2013に参加し、早めにポートランド国際空港に到着しました。時間があるので、今日(2013年3月2日)からmrubyを始める人へ簡単なチュートリアルをしようと思います。 mrubyというプロジェクト mrubyとは、組み込み機器やアプリ組み込みに最適化された軽量スクリプト言語です。記述方法は既存のRubyのように書くことができます。C言語で書かれたホストアプリにmrubyを組み込むことで、ホストアプリをRubyの記述でコントロールすることができます。例えばmod_mrubyは、RubyでApache APIをつつけるようにmrubyをApacheに組み込むためのモジュールで、ApacheモジュールをRubyで記述する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く