いろいろバックエンドな人の備忘録

IT系全般。C/C++, Rubyが好き。ピアノも。

ワンコマンドでmrubyをブラウザで実行できるgemつくった

概要

以前作った Monocoque-Ruby のビルド済み mruby をCLIで作成できます。 create-react-app みたいな位置づけでしょうか。

GitHub - noontage/monocoque-ruby: Core library of monocoque-ruby.

Monocoque-Ruby とは?

中身は mruby と、mrbgem として mattnさんのJSONライブラリ + iijさんの正規表現 をビルトインし、 JavaScriptRubyスクリプトから多々けるようにしたものです。

他、Wrapとかローダーを細かいことをごにょごにょした感じでしょうか。

→ DEMO

https://mqrb.api.udp.xyz/demo/with-editor/

使い方

インストールします。

gem install mqrb

myapp プロジェクトを作ります。

mqrb create-app myapp  --runtime=mqrb-with-compiler

myapp ディレクトリに htmlファイル、Rubyファイル、ランタイム等の一通りファイルが出来上がっているはずです。 なお、--runtime=mqrb-with-compiler を外すと字句解析などのRubyコンパイラを外した軽量版のランタイムを作成できます。 (この場合はコンパイル済み mrbバイナリのみを実行できます)

LINEへ地震通知するBotつくった

いまは関西圏に住んでいるのだけども、先日の大阪地震を経験した。

揺れを感じたあとに Twitter で以下情報を確認しているのだが、 揺れ直後はインターネット回線や基地局輻輳しなかなか確認できない状況になった。 (その点、一方的に送りつけるテレビやラジオは強いと思う)

というわけで、Twitter Streaming を使って常時地震情報を受信し、自分の地域にマッチしたらLINEへプッシュするようなものを作った。

監視しているアカウントは以下。 地震速報 (@earthquake_jp) | Twitter 緊急地震速報Bot (@eewbot) | Twitter

次の揺れが来ないかビビりながら書いたのもあって(言い訳)キレイではないが ソースコードも貼っておく。需要があるのか不明だが、自由にお使いください。

github.com

遊び心として、どの条件にもマッチしないメッセージを投げたときに雑談を返してくれるようにもした。 (返信には smalltalk を使うことにした)

<メモブログ>LinuxMintでARM-linux 向けのクロスコンパイル環境を作る

Raspberry pi および FPGA評価ボード上で mruby をインストールさせるため

  • すでにクロスコンパイラがある場合は削除する
sudo apt-get remove gcc-arm-none-eabi
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa

標準ライブラリを入れる。また、ホスト用のコンパイラをインストール (Pythonは手元の評価ボード用なので環境によっては不要)

 sudo apt-get install g++ make binutils autoconf automake autotools-dev libtool pkg-config   zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev libevent-dev libjansson-dev   libc-ares-dev libjemalloc-dev libsystemd-dev   cython python3-dev python-setuptools
 sudo apt-get install gcc-arm-linux-gnueabihf
 sudo apt-get install g++-arm-linux-gnueabihf

marksolters.com