タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

mrubyに関するkomlowのブックマーク (9)

  • mrubyの文字列結合のパフォーマンスを改善する | ten-snapon.com

    先日、来る下記のイベントの資料でmrubyの文字列結合におけるメモリパフォーマンスについて記述し、それを社内で共有したところ、それをみた @matsumotory がmrubyにおける文字列結合は + での結合より、破壊的ではあるが <<のほうがパフォーマンスが良いということに気づいた。 valgrindで測定すると下記のような具合である。 # new.rb a = "aaa" b = "bbb" 100000.times do |n| a += b end $ sudo valgrind ./mruby new.rb ... ==2374== HEAP SUMMARY: ==2374== in use at exit: 0 bytes in 0 blocks ==2374== total heap usage: 102,786 allocs, 102,786 frees, 15,002,

    mrubyの文字列結合のパフォーマンスを改善する | ten-snapon.com
    komlow
    komlow 2018/03/19
  • mruby + ngx_mrubyでアプリケーションを実装するという選択肢 - LIFULL Creators Blog

    はじめまして、技術基盤部の相原(kaihar4)です! 今回は、アプリケーションのクラウドサービスへの移行の一環で、 Amazon S3から取得した画像URLを含むファイルを元に、そのURLの外部画像を取得して返す機能 をmrubyで書き直してAWSに移行した話をしていきたいと思います。 この機能は元々モノリシックなアプリケーションの一機能として動いていたもので、これを切り出してAWSに移行するというのが今回私に与えられたミッションでした。 このアプリケーションは歴史が長く、その間ほとんどメンテナンスされていませんでした。 ディストリビューションは古くPHPのバージョンも4系、したがってそのまま持っていくという選択肢はなく、AWS上に新規にインスタンスを構築することになります。 弊社にはAPI部分をPHPからRubyに移行する方針があるということもあり、Amazon Linux上にRuby

    mruby + ngx_mrubyでアプリケーションを実装するという選択肢 - LIFULL Creators Blog
  • mrubyでテキストエディタ書いてる - スペクトラム

    大体動くようになってきたので公開。 github.com きっかけは、まず最初にkiloがあった。 github.com kiloはredis作者が作った、C言語で書かれた超ミニマムなテキストエディタだ。*1 「このコードを読めば、ベーシックなテキストエディタの実装方法が分かるはず」 と思って実装を読み、大体わかったので試しにRubyで書いてみるかとはじめてみたのが始まりだった。 そのうち「mrubyでも動くようにしてみるか〜」と思って、 必要そうなmruby-io-consoleを書いた。 というわけで、riloはkiloを参考にして、rubyでもmrubyでも動く(ように今のところなっている)超ミニマムなテキストエディタ。という感じだ。 今後の展望は ワンバイナリで動くようにする riloはriloで書く 対応プラットフォームを増やす カラースキーマをプラグインで書けるようにする vi

    mrubyでテキストエディタ書いてる - スペクトラム
    komlow
    komlow 2016/07/20
  • Auto ScalingではなくてAuto Cachingという考え方 - Copy/Cut/Paste/Hatena

    今年の3月くらいからずっと悶々としていて、なかなか手が出せなかったアイデアがやっと実現できました。 mod_mrubyでやりたいことできたー!— k1LoW (@k1LoW) June 16, 2016 (試行錯誤して書いてみたら、結果たった数行という。。。) Auto ScalingではなくてAuto Cachingという考え方 AWSではAuto Scalingという、サーバの負荷の変化などによってEC2インスタンスをスケールする便利な機能があります。 が、大抵はクラウド環境でないと容易には実現できません。 例えば、クラウドではなく サーバリソースは増やせない。 普段はキャッシュはしてほしくないコンテンツ。 ただ、アクセスが多くなるとかで何かしら負荷が高くなった時には「仕方なく」キャッシュを使っても良い。落ちるよりはマシ。 負荷が戻ったらキャッシュを使わないようにして欲しい。 という状

    Auto ScalingではなくてAuto Cachingという考え方 - Copy/Cut/Paste/Hatena
  • nginxでもapacheでも使えるDoS的アクセスを検知して任意の制御をするWebサーバ拡張をmrubyで作った - 人間とウェブの未来

    github.com 会社の運用メンバーと色々議論していた中で、「カジュアルにWebサーバへのDoSみたいなアクセスが来た時に検知して制御したいよねー」という話が上がったので、http-dos-detectorというnginxでもapacheでも使えるWebサーバ拡張をmrubyで書きました。 もちろんmrubyなので、mod_mrubyとngx_mrubyを使っています。ので、Rubyコードはそのまま同じコードをどちらのミドルウェアでも使えます。mod_mrubyとngx_mrubyを使えば、ちょっとしたWebサーバの拡張は両方で同じ実装に落とし込めるので便利ですね。 使い方 例の如く、GitHubのREADME通りにインストールして下さい。Rubyのコードはmod_mrubyでもngx_mrubyでも有効なので、そのコードを読み込む設定をそれぞれ以下のように記述するだけでよいです。 a

    nginxでもapacheでも使えるDoS的アクセスを検知して任意の制御をするWebサーバ拡張をmrubyで作った - 人間とウェブの未来
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0062 号 バックナンバー Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist Magazine 0058 号 RubyKai

  • ngx_mrubyでつくる簡単な動的サムネイル生成サーバー - スペクトラム

    動的サムネイル生成 サムネイルは、ユーザアップロード画像を扱うアプリではほぼ間違いなく使われると思う。 サムネイルの生成には、先に作っとくか、後で作るかの2つの方式があるように思う。(気が向いた時とかナシとすると) 先に作っとく サムネイルを先に作る。 つまりは画像アップロードをキータイミングとして画像処理をかけ、 参照するときには静的な画像を見る方法。 メリットは参照に処理を挟まないので高速に動作することが期待できること。 しかしデメリットとして後から画像サイズを変更しようとすると、画像処理が全部やり直しになる。 また、近年ではCDNを使えば静的画像の参照が早かろうがあまり効果が無いことが多い。 後で作る そこで参照側からパラメーターを与えて、リクエストが来た時に画像処理をかける方法をみてみる。 一見参照するたびに画像生成するのは効率が悪すぎる印象があるけど、 その分ちょくちょくサムネイ

    ngx_mrubyでつくる簡単な動的サムネイル生成サーバー - スペクトラム
  • mruby を Linux カーネル内で動作させる - 品川高廣(東京大学)のブログ

    mruby を Loadable Kernel Module (LKM) として Linux カーネル内動作させて printk する方法をメモしておきます。 1年以上前に書きかけていたものを完成させたので、mrubyのバージョンが古いです。最近のバージョンだとどうなるのかは分かりません。 mruby のビルド まず GitHub から mruby のソースコードをダウンロードします。今回試したのは f65a39f4d19b1de019b0b805ccfb081757e5b7b5 (Wed Sep 18 20:00:35 2013 -0700) です。 $ git clone https://github.com/mruby/mruby.git $ cd mruby $ git checkout f65a39f4d19b1de019b0b805ccfb081757e5b7b5 次にカーネル

    mruby を Linux カーネル内で動作させる - 品川高廣(東京大学)のブログ
    komlow
    komlow 2015/01/22
  • mrubyのVMざっくり解説 - mirichiの日記

    なんとなく、mrubyのVMの基的なところを書いておこうと思ったので。誰かの参考になれば。 大きな仕様的なところは、 ・32bit固定長のバイトコードを解釈して動作する。 ・レジスタをスタックに確保するタイプのレジスタマシンである。従って、スタックの任意の位置をレジスタ番号で指定して直接読み書き可能。 ・メソッドやブロックなどの単位でバイトコードがirep構造体にまとめられている。 みたいな感じ。 スタックの使い方 スタックトップがレジスタのR0となり、以下、R1、R2・・・と名前が付けられる。スタックの型はmrb_valueの配列であり、つまりmrubyオブジェクトが詰まっている。irepのコードを呼び出すとき、スタックの上から順に以下のような情報を積んでから呼ばれる。 (引数が2個あった場合の例) R0 |self | R1 |argument1| R2 |argument2| R3

    mrubyのVMざっくり解説 - mirichiの日記
    komlow
    komlow 2014/04/29
  • 1