第16回 岡山ruby, ruby on rails勉強会でmrubyについて調べたこと、試したことを発表しました。Read less
始めに mrubyではmrbgemを利用して機能の追加が容易にできます。Cで書かれたライブラリであれば、インタフェースを定義する事でその機能をmrubyに組込めます。現在では多くのライブラリがmrbgemとして公開され、mrubyを試すハードルは低くなりました。 しかし、小規模なマイコンをターゲットにする場合、そもそも規模が大き過ぎるなど要求に適したライブラリがなく自作する事はしばしばあります。リソースの小さなマイコンであればライブラリそのものがなく、ハードウエア依存の箇所が多くなると同じく自作を選ぶ事になります。 それならばmrubyを組込むよりも全てをCで書いた方が容易だと感じられるかもしれません。しかし、ライブラリ作成とはC向けのAPIを提供する事と同義です。そしてmrubyはC向けのAPIを取り込む仕組みがあります。Cとmrubyの両方をターゲットとするライブラリとしてmrbgem
A year and a half ago I felt frustrated by the state of the art of web development with Ruby. Secretly, in my spare time, I started hacking with new ideas, taking nothing for granted, destroying and starting from scratch several times, until the software was distilled in a beautiful API. It took me a decade to get here, by following a process of subtraction of what isn’t essential. Countless refin
Sam Saffron Programming, Technology and the Art of Hacking The article “Ruby Garbage Collection: Still Not Ready for Production” has been making the rounds. In it we learned that our GC algorithm is flawed and were prescribed some rather drastic and dangerous workarounds. At the core it had one big demonstration: Run this on Ruby 2.1.1 and you will be out of memory soon: while true "a" * (1024 **
Help us understand the problem. What is going on with this article? Ruby2.1では、RGenGCによりかなりパフォーマンスが改善されている。 また、チューニングパラメータが増えているが、まとまった日本語の解説が無かったので書いてみた。 間違いがある可能性があるので、指摘は歓迎です。 RGenGCとは RGenGC(Restricted Generational Garbage Collection)については、まずはこれを読むべし www.atdot.net/~ko1/activities/rubyconf2013-ko1_pub.pdf www.atdot.net/~ko1/activities/2014_rubyconf_ph_pub.pdf Ruby 2.1: RGenGC · computer talk by
個人的にもよく使っているwri.peがオープンソース化されました!Ruby on Railsで作られており、本家はHerokuで動作しているなど自前でWebベースのメモ環境を作るのがとても手軽になりそうです。 ということで早速触ってみましょう。Web APIのトークン設定をすればすぐに動かせます。 wri.peの使い方 トップページです。見たまま本家のwri.peそっくりです。 ログインしました。早速メモを作ってみましょう。 右側にプレビューもあって分かりやすいですね。 カレンダー。メモを作った日付が分かります。 検索はSolrを使っており日本語も対応しています。 バックアップはEvernote、Dropboxにできます。 殆どの機能がJSON出力に対応していたり、iCalでの出力や多数のWeb API、OAuth対応がされているなど今風のWebサービスを作るのに参考になる点が多いと思いま
技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの
正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlやPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/
RubyKaigi is the authoritative international conference on the Ruby programming language, attracting Ruby committers and Ruby programmers from around the world to Japan, the birthplace of Ruby. Held nearly every year since 2006, RubyKaigi is a truly international event. Last year's 3-day event -- the first to include English as an official language -- welcomed over 1500 participants. The eighth in
DHH氏のツイートにてrakeの作者、Jim Weirich氏が亡くなったというニュースを知りました。 So very sad to hear about the passing of Ruby legend Jim Weirich. He taught me and many others so much. He will be dearly missed. — DHH (@dhh) February 20, 2014 毎日のように使うオープンソースツールの作者が亡くなったというのを聞くのは非常に残念で、今後コンソールを叩く時にこの事が頭をよぎるような気がします。 昨年の夏のカンファレンスにてウクレレを披露した姿はとても楽しげで強く記憶に残っています。 R.I.P. 追記 一昨日まではGitHubにコミットをしておりログにコメントがあつまっているとのこと。 Jim Weirichが最期に
ref: https://github.com/mame/radiation-hardened-quine 放射線はメモリエラーを引き起こすらしいです。そんな放射線が飛び交う過酷な環境でも、できることなら Quine したい。 ということで、プログラム内の 1 文字をランダムに消しても元のプログラムを出力する、なんともロバストな Quine を書きました。*1 何を言っているかわからないと思いますが、こんなふうに動くものです。 # ランダムに 1 文字消すスクリプト $ cat mutate.rb src = $<.read src[rand(src.size), 1] = "" print src # rrquine.rb からランダムに 1 文字消したプログラムを生成する $ ruby mutate.rb rrquine.rb > broken.rb # 壊れたプログラムを実行する (
Hello Ruby is a children’s book that teaches programming fundamentals through stories and kid-friendly activities.
私にも娘がいて、幼稚園くらいの頃にはプリキュアに夢中になっていた時代がありました。たぶん小さい女の子はみんな一度はハマる時期があるのではないかと思います。 それを一緒に見ていた(または単独でも可)プログラマーはお父さんが腕にものを言わせるとRubicureというのが出来上がる訳です。 RubicureはRubyのバージョンは2.0以降が要求されます。インストールはRubyGemsでできますのでさっそく試してみましょう。 $ gem install rubicure 完了したらおもむろにirbを実行します。 require "rubicure" そして実行します。 Precure.title #=> "ふたりはプリキュア" うーん熱い。 実行結果。ハッシュで受け取れます。 Precure.max_heart.title #=> "ふたりはプリキュア Max Heart" うーん実に熱い。作者
Posted by nurse on 25 Dec 2013 We are pleased to announce the release of Ruby 2.1.0. Ruby 2.1 has many improvements including speedup without severe incompatibilities. Try it! Download https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0.tar.bz2 SIZE: 12007442 bytes MD5: 1546eeb763ac7754365664be763a1e8f SHA256: 1d3f4ad5f619ec15229206b6667586dcec7cc986672c8fbb8558161ecf07e277 https://cache.ruby-lang
この記事はパーフェクトRuby Advent Calendar 2013 - Adventar の9日目です。 前の日のエントリーはパーフェクトRuby Advent Calendar 2013(8日目) Let's Sinatra Life - たちブログです。 まだ参加できますので、みなさまもぜひ。 パーフェクトRuby Advent Calendar 2013 - Adventar パーフェクトRubyRubyの仕様に大変詳しい同僚への献本をインターセプトして読ませていただきました。 さまざまな機能をまとめたとてもよい本だと思います。 著者のみなさまの苦労が偲ばれました。パーフェクトRuby (PERFECT SERIES 6)作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一出版社/メーカー: 技術評論社発売日: 2013/08/1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く