Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
mruby-redisのリークを直した話 プルリクにした以上のことはないんですが、mrbgem CIを作って以来ずっと懸案だったmruby-redisのメモリリークが直りました。 懸案だった理由なんですが、なんやかんや人気あるmrbgemなのと、よく壊れていたからです。 最近、よく壊れるmrbgemの座がmruby-jsonに移りつつあるのでmake mruby-json great againなんてPRが作られていてOSSウォッチングではこっちの方が楽しいです。 h2oに急に採用されて、まあ諸々アレだったところを修正してるのが原因なので実際は着実によくなっているので、mruby-iijsonなどで性能に不満のある方は是非mruby-jsonをご検討を。 直した内容 「例外安全」性です。 Visual Studioにいい解説記事があるので、一読することをおすすめします。 他に「Except
これらの他にPIC32MXやSTM32などのワンチップマイコンでmrubyを動かされている人もいるようです。ソースツリーのexamples/targetsにいくつかのマイコン用のビルドコンフィグがあります。 enziなどをターゲットにしたplatoというフレームワークがあるようです。 どこかにmrubyは数Mのメモリをつんだモジュールをターゲットにしているというような事が書かれていました。メモリが1Mより少ないターゲットでも動くようですが、制約があるかもしれません。 蟹さんの8M/2MはOSをのせるには小さいのですが、BareMetalのmrubyにとっては十分大きいです。蟹さんは32M/8Mのターゲットなどもあり途方も無く広大です。 OS上で動いているもの 項目 Mindstorms EV3 OnionOmega rubyCOM-RX
せっかくネットワークが使えるようになったので、IoTらしくThingSpeakにアクセスしてみました。 ThingSpeakは時系列のデータを保存してグラフ化などの解析をしてくれるサービスです。 とりあえずfreeなアカウントを作って試してみました。アカウントの作り方などは検索すると日本語の説明のページがいくつかありました。 APIKEY = "naisyo" begin rtl = YABM.new addr = "10.10.10.2" mask = "255.255.255.0" gw = "10.10.10.1" dns = "10.10.10.1" rtl.netstart(addr, mask, gw, dns) # sync date by ntp use https X.509 ntpaddr = rtl.lookup("ntp.nict.jp") rtl.sntp(ntp
mrubyのJIT2(仮称)なるものを作ろうとしているのだが、考えがまとまらないので取りとめもなく書く。真に受けて何か損害をこうむっても知らん、その代わり何かいいことがあっても私は何も貰えない。 mrubyのJIT2(仮称)はLLVMベースを考えています。これまでLLVMのトラウマがあったわけですが、LLVMもいろいろ変わっていて(変わり過ぎですけど)、ちょっと試してみたい気もあるってのもあるしラズベリーパイも買ったのでこれでも動かしたいってのもある。 今考えている構造はこんな感じ mrubyのバイトコードからさらにSSAベースの中間コード(IR)にする IRを生成する際にある程度の型推論を行いその型情報はIRに入れられるようにする(LuaJITのパクリじゃなくてLuaJITにインスパイアされたって奴ですね) 前作と違い、Tracingではなくmethod JITにする(LLVMでTrac
個人的な、ちょっとアレをするにはどうするんだったっけ? を編纂したものです。主に C 言語からの利用視点となっています。 dearblue の雑記帳の扱いとなっているため、理想となる逆引き辞典のような記述にはなっておりません。 中には mruby 開発者たちが見たら「その方法は間違いだし危険だからやめて」と悲鳴を上げるようなモノが含まれている可能性が1㍉くらいあります。 ***正確性が怪しかったり推奨されなかったりするものだと胸を張って主張する項目には、💣をつけておきます。複数あったらより危険だということです。***その上で当文書の題名を確認してもらうと……ニヤリ。 mruby-1.4 が対象と思いきや、mruby-1.3 や 1.2 向けの記述が混じっています。 当文書を参考にしたことで星間戦争を引き起こす原因を作ったとしても、責任は負いません。 保険適用外。公共の場に持ち出すと真っ先
自動翻訳感のあるタイトルですが間違ってはいないのでこのまま行きます。 mruby-yeahとmruby-cliを使って単一実行ファイルで動くWebアプリのサンプルを作ります。 前提 ubuntu docker, docker-compose: コンパイルするのに必要です。導入手順は割愛。 mruby-cli 0.0.4: 単一実行ファイルにコンパイルされるcliツールの実装を行うためのライブラリ クロスコンパイル対応の設定ファイルやプロジェクト用のディレクトリを生成してくれる mruby-yeah: mrubyでWebアプリを実装するためのライブラリ mruby-cliで雛形を作る まずmruby-cliの実行ファイルを落としてきてパスを通し実行できる状態にします。 次に開発を行うためのディレクトリと関連ファイルをmruby-cliで生成します。
spa(single page application)のindex.htmlをh2oで配布する際どうすりゃいいのか。 vueとかのspaだと、vue-routerとかつかってルーティングするため、 http://xxx.com/aaa/bbb/cccでアクセスしたときも、index.htmlを返却して、その中でjsを解釈してルーティングをする。 h2oでindex.htmlを配布するさい、どうすりゃいいのかわからなかった。 nginxだとtry_filesとかいうので対応できるみたい。 h2oはmrubyでフック処理をかけるので、それで簡単に対応できたけど、本番環境だと、他にいろいろ考慮しなければいけない感じがする。 runitで動かしてるのでファイル指定などは相対パスにしてる。
2019/01/23追記: v2.1リリースしました。 2018/12/13追記: v2.0リリースしました。 2018/5/14追記: v1.2リリースしました。 2018/4/30追記: v1.1リリースしました。 蟹さん用にクロスビルドしたmruby VMバイナリーを用意してmrbcでコンパイルしたバイナリをアップする事で試せるようになったのでv1.0リリースとしました。完全非保証ですが使い方を書きます。 自分はFreeBSD/amd64で試していますが、Linuxでも同じようにできるのではないかと思います。 イメージ作成用のコマンドがソースツリーに入っているので、rtlbm-mrubyのブランチをリカーシブルにcloneします。 mrubyとrtktoolsディレクトリにあるcvimgだけビルドが必要なので、makeしてビルドします。mrubyはhostのバイナリだけで大丈夫です。
とりあえず資料です: https://speakerdeck.com/takecheeze/luajit-as-a-ruby-backend 発表のページにもそのうち色々上がるのではないかと思います。今回は資料をGoogle Docsで作ったのでコメントとかあればコメント可能な共有リンクを作ったのでなんかツッコミとかあればどうぞ。 感想とか 若干小学生っぽいポエミーな感じではありますが、感想をいくつか書こうかと思います。 まずは行く前とかについてで、あんまりにもトピックとしては異端なかなーと思ってCFP書いたんですが、他のmrubyちゃんとやってるCFPを押しのけてこいつが通ってしまったので、なかなか苦労しつつ資料を作っていました。 本当はもっと実装をガリガリ作りたかったのですが、CFP通ったあとの時間の制約とかで、コードを読んだ読書感想文とか自由研究っぽくて発表の本番が近づくほど、夏休み
ETロボコン中四国地区夏の独自勉強会で使用した、超初心者向けのサンプルコード(detection-system)の使い方です。 超音波センサーから30cm以内に障害物を検知している間、本体のLEDが緑色で光ります。 ハードの準備 EV3本体の「Port2」に超音波センサーを接続してください。(他は何もいりません。ETロボコンプライマリークラスの走行体をそのまま使うこともできます) 使い方 GitHubから detection-systemプロジェクトをcloneします SDカードにローダー(uImage)をコピーする EV3RTの動的ローディングで使用しているuImageが入っていればそのまま使ってください。 (sample_c4が動く状態であれば、新たにuImageをコピーする必要はありません) EV3RTに同梱されているuImageを使います。 ev3rt/sdcard フォルダの中に
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? EV3RT TOPPERS/EV3RTをmrubyから使用できるようにしたものです。 クラス名はEV3RT C++ API、定数名はEV3RT C APIに合わせています。 ※ バランサークラス(EV3RT::Balancer)はETロボコン専用のクラスのため、ここには入れていません。(別記事で後日公開予定) 定数 ポート番号 PORT_1 PORT_2 PORT_3 PORT_4 TNUM_SENSOR_PORT センサータイプ ULTRASONIC_SENSOR GYRO_SENSOR TOUCH_SENSOR COLOR_SENS
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く