Ruby言語をとりまく最近の動きとして、「mruby」がある。組み込み用途などリソースが限られる環境を想定した、軽量なRuby言語処理系である。そして、まつもとゆきひろはmrubyを自ら実装した。 Ruby言語には、「本家」のCRubyの他にも、Java仮想マシン上に実装したJRubyなど複数の代替実装がある。普通の考え方なら、こうした代替実装に負けないようCRubyの改良に集中するところだ。だが、まつもとゆきひろは、自ら進んで別の実装を手がけた。 「mrubyに取り組んだ一つの理由は、本音で言うと予算と締め切りがあったから」と明かす。mruby誕生のきっかけとなった「軽量Ruby」の開発プロジェクトは、経済産業省の平成22年度「地域イノベーション創出研究開発事業」として2年間プロジェクトとして採択されており、締め切りが設定されていた。「以前から組み込み向けRubyはやりたかったんですが、
2013年12月25日。おめでとうございます、Ruby 2.1.0がリリースされました! 日本時間で26日という細かい突っ込みをしている場合ではありません。 まだ使ったことがない方、簡単に変更点を見てみましょう。 文法の変更 デフォルト値を伴わないキーワード引数 Ruby 2.0が出たときから誰もが思っていた疑問、「なんでキーワード引数はデフォルト値必須なんだ?」がついに解消されました。以下の記法で、デフォルト値をつけないキーワード引数を宣言できます。この場合、呼び出し時に対応する実引数を渡さないとArgumentErrorになります。 def hello(name: ) puts name end hello(name: "taro") # => taro hello # => ArgumentError: missing keyword: name キーワード引数同士ではデフォルト引数
「Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def
95MB/sで現在世界最速のmicroSDHCカード、SanDiskのExtreme Proを使用した場合、既存の製品であるEye-Fi、FlashAir、Flucard Proをはるか後方に置き去るスピードが出ます。4kのシーケンシャル書き込み38.98MB/sに注目。 これまでは無線LAN内蔵SDカードを使おうとする場合、スピードか、利便性かのトレードオフを迫られたのですが、そうした葛藤は過去のものとなりました。 速さも、利便性も、その両方が我らの手中にあります。 PQI Air CardはARM CPUを搭載。 # cat /proc/cpuinfo Processor : ARM926EJ-S rev 5 (v5l) BogoMIPS : 421.06 Features : swp half fastmult edsp java CPU implementer : 0x41 CPU
mruby is the lightweight implementation of the Ruby language complying to (part of) the ISO standard with more recent features provided by Ruby 3.x. Also, its syntax is Ruby 3.x compatible except for pattern matching. You can link and embed mruby within your application. The "mruby" interpreter program and the interactive "mirb" shell are provided as examples. You can also compile Ruby programs in
a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects
クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ
JRuby on Android - RUBOTO JRuby開発者、Charles Nutter氏のブログにJRubyをAndroidに移植したとみられる記事が掲載されたわけだが、その翌日、事の詳細がHeadius: Ruboto Is Your Friendで公開された。結論からいえばJRubyはAndroidで動作するようになり、そして今後の修正点の洗い出しもできたことになる。Androidで動作させるための修正は執筆現在で最新版となるJRuby 1.2RC1に取り込まれている。どのように移植したのか、どういった問題があるのかが記載されており参考になる。 Headius: Ruboto Is Your Friendによれば、Charles Nutter氏は2009年1月の早い時期にすでにJRubyをAndroidへ移植することを考えていたという。AndroidのJava環境Dalvi
Web scale backups for MySQL, Алексей Копытов (Percona)
Ruby on Rails をはじめよう Ruby on Railsはここがすごい Ruby on Railsはここがすごい Ruby on Railsの環境構築 windows One-Click InstallerでRubyとGemsを簡単インストール MySQL5.0.67をダウンロード、インストールしよう MySQL5.0.67の初期設定をしよう(前編) MySQL5.0.67の初期設定をしよう(後編) Ruby on Railsをいよいよインストール Ruby on Railsの環境構築 linux まずはRubyのインストール データベースMySQLをインストールしよう RubyGemsをインストールする Ruby on Railsをインストールする Ruby on Railsで10分アプリ アプリケーションの枠組みを生成する Railsを動かし
自動google検索。 require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new # インスタンス生成 agent.user_agent_alias = 'Mac Safari' # User-Agentの設定 page = agent.get('http://www.google.com/') # ページ取得 search_form = page.forms.with.name('f').first # "f"という名前のフォームを探す search_form.q = 'Hello' # テキストボックス"q"に"Hello"を入力 search_results = agent.submit(search_form) # フォームのsubmitボタンを押す puts search_results.body # 結果
http://d.hatena.ne.jp/willnet/20080626/1214487378 httpclientはopen-uriの手軽さと、Net::HTTPの機能を両立させてる使い勝手のいいライブラリだ。クッキーやkeep-aliveもサポートしている。ただし、Ruby 1.9未対応。Ruby 1.9だとParseDateなんてないぞーってエラーがでてしまう。→最新版でRuby 1.9対応 POSTの場合はpost_contentを使う。串、User-Agent、FromヘッダはHTTPClient.newの引数で。 require 'rubygems' require 'httpclient' require 'kconv' hc = HTTPClient.new query = "ruby" html = hc.get_content("http://www.google.
description goes hereAutomated testing that doesn’t hurt Watir is a simple open-source library for automating web browsers. It allows you to write tests that are easy to read and easy to maintain. It is optimized for simplicity and flexibility. Watir drives browsers the same way people do. It clicks links, fills in forms, presses buttons. Watir also checks results, such as whether expecte
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
唐突ですが、Macユーザ(Leopard or Tiger)がRuby on Railsの開発環境をゼロからセットアップしてHello Worldするまでの最短・最小の手順を書いてみたいと思います。 書いてある通りに実行するだけで超簡単なので、Macユーザは今すぐやってみましょう。Macを持ってない人は・・・Macを買うといいですよ。:) 1. MacPortsをインストール MacPortsとは、Macで開発をするなら欠かせないパッケージ管理システムです。 これさえ入っていれば、開発に必要な道具をインストールするのが圧倒的に楽になります。OSのバージョンに合わせてインストーラをダウンロードし、インストールが終わったら、ターミナルから
これは? Compiler (compile.h, compile.c) VM Generator (rb/insns2vm.rb, insns.def)命令記述 VM (Virtual Machine, vm.h, vm.c)レジスタ スタックフレームメソッドローカルフレーム ブロックローカルフレーム クラスフレーム フレームデザインについての補足 メソッド呼び出しについて 例外例外テーブル rescue ensure break, return(ブロック中)、retry 定数の検索定数検索パス 最適化手法threaded code Peephole optimization inline method cache inline constant cache ブロックと Proc オブジェクトの分離 特化命令 命令融合 オペランド融合 stack caching JIT Compile
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く