ドットインストール代表のライフハックブログ
Rubyはメタプログラミングができる言語だ。 高度なことをしようと思うと特異クラスなどの詳細を知る必要が出てくるが、そういうことをそれなりに知っている人でなければ、特異メソッドぐらいは理解できても特異クラスが出てきた時点でよくわからなくなってしまう。 よくある説明とは違う切り口で説明してみよう。 ちょっと長いが気にしない。 1. まず、Rubyでは先頭が大文字の識別子は定数である。 このルールで最もよく使われるのはクラスやモジュールの名前だろう。 これらは定数である。 class Hoge end p Object.const_get("Hoge").name # => "Hoge" p Object.const_get("Hoge").class # => Class Hogeという定数が定義され、そこにHogeクラスを表すClassオブジェクトが入っているわけだ。 つまり上記の定義は(
米AppleのMacRubyプロジェクトは1月31日、Mac OS X向けのRuby実行環境「MacRuby 0.5」を発表した。プロジェクトのWebサイトよりダウンロードできる。 MacRubyは「Ruby 1.9」にMac OS XのObjective-Cランタイムを利用する拡張を加えたもので、Mac OS XのObjective-Cランタイムや各種フレームワークを直接呼び出せるのが特徴。また、たとえばガベージコレクションではRuby独自のガベージコレクション機構ではなくObjective-Cのものを利用するなど、Mac OS Xネイティブの機能を利用することによるパフォーマンス向上も図られている。そのほか、Objective-Cで使われるキー付きの引数をサポートするなど、言語機能自体についても拡張されている。 MacRuby 0.5では、実行エンジンとしてRuby 1.9のYARVで
Rubyでは、簡単にデーモンが記述できる。その方法は簡単!Ruby 1.9だと Process.daemon と書くだけだ。その行の後は制御端末が切離され、デーモンとして実行される。Ctrl+Cで終了できないので、永遠に実行を続けるスクリプトは「pkill -f」などで殺す。 既存のスクリプトをデーモン化するには、この一行を加えればいいだけなのだが、常にデーモンにしてしまうとデバッグが困難になってしまう。そこで、テスト時はふつうに実行して、普段はデーモンにしてしまえばいい。その方法もまた簡単!上の一行を daemonize.rb というファイルに保存すればいい。だけどこれだけだとつまらないので、ついでにRuby 1.8にも対応させてみる。 if Process.respond_to? :daemon # Ruby 1.9 Process.daemon else # Ruby 1.8 req
エスケープシーケンスで色をつけるのは端末アプリケーションだと定番だ。 Rubyで色つき文字を出す場合、わざわざエスケープシーケンスを書く必要はない。Term::ANSIColorというライブラリを使えばいい。 インストールは「gem install term-ansicolor」で。 require 'term/ansicolor' class String include Term::ANSIColor end というコードを入れておけば、文字列に色名メソッドなどが定義されててわかりやすく記述できるぞ。こんなふうに。 print "red bold".red.bold, "\n" timestampコマンドを色付きにしてみる [update] <2010-03-30 火> シグナルで終了したときには、プロセスオブジェクトを表示してみた。 任意のプログラムを実行するとき開始/終了時のタイム
私が Ruby でグラフを簡単に作成できるのを知ったのは「Rubyist 九州」の例会に参加したことがきっかけです. その記憶がなくならないうちに,Ruby で簡単に作成できるグラフの種類を一通りまとめておきたいと考えました. 参考 Web ページ: http://www.gfd-dennou.org/arch/davis/gfdnavi/doc/install/install-rails.htm Linux での事前準備 インストール前に「yum check-update; yum update」を実行しておくとトラブルが減るでしょう. これは更新可能な全パッケージを更新するという操作です. yum check-update yum update ImageMagick と ImageMagick Ruby インタフェース (RMagick) を yum を使ってインストール yum i
2009年12月10日23:34 Linux Ruby LinuxでRubyな環境でExcelを作る方法 それ spreadsheet ライブラリを使えば出来るよ!!(=゚ω゚)ノ というわけで、全然知らなかったですが Linux 上でも普通に Excel ファイルを作れるんですねぇ。。Windows 上で win32ole ライブラリとか使わないと出来ないもんだと思ってました。今回紹介する方法では、spreadsheet というライブラリを使うのでまずはさくっとインストールします。 sudo gem install spreadsheet で、使うときはこんな感じです。ちょこちょこいじってますが、参考まで。 # excel_base.rb module ExcelBase require 'rubygems' require 'spreadsheet' Spreadsheet.clien
『るびま』は、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 直
情報処理推進機構(IPA)は2009年9月7日、Webアプリケーションで採用が進むRubyについて、自治体や企業などの業務システム開発への適用性を評価した「自治体・企業等の情報システムへのRuby適用可能性に関する調査」を公開した。業務システム分野へも十分な適用性を備えていることを確認したという。 調査報告書では、業務システムなどに求められる機能要件10項目(ファイル・出入力、テキスト、ネットワーク、データベースなど)、非機能要件45項目(保守プロセス、運用プロセスなど)について評価。併せて、実システムを用いたパフォーマンス評価とスケーラビリティ評価、Ruby活用で先進的な取り組みを行っている企業・自治体へのヒアリングも実施した。 その結果、Rubyは「性能や開発技術の面においては十分に実力を持ったものであって、業務システムへの適用についても、おおむね問題は無い、あるいは回避・代替の方法は
PDFを作成するライブラリは数多く存在する。Webシステムであってもずいぶん手軽にはなってきた。だが、テンプレートのメンテナンス性の良さと使い勝手の良さを兼ね備えたPDF作成ライブラリとなるとまだまだ数は少ないのが実情だ。 GhostScriptを使ったPDF作成ライブラリ RailsをはじめとしたRubyによるPDF出力を行うならば、RGhostを使うのが良さそうだ。 今回紹介するオープンソース・ソフトウェアはRGhost、PDFや画像を生成するRubyライブラリだ。 RGhostはRubyGemsからインストールできるライブラリで、スクリプトからPDFを生成する他、PostScript、PNG、TIF、JPEGといった画像への変換もできる。オブジェクト指向らしい値の埋め込みによってPDFが生成できるので、使い勝手は良さそうだ。 EPSをテンプレートにしたPDF生成も可能 TrueTyp
Ruby 1.9は移行準備オッケー @IT yuguiさんは、2009年2月のDeveloper's Summitの講演で、そろそろRuby 1.8系から1.9系への移行を始めるべきだと主張されてましたね。 園田裕貴氏。裕貴のピンイン表記である「yugui」のハンドル名で知られている。Ruby 1.9系統リリースマネージャで、Rubyコミッタ。1981年生まれ。著書に『初めてのRuby』(オライリージャパン)がある。最近はRailsアプリケーションをよく書いているという yugui ええ、一般のRubyユーザーはRuby 1.9への乗り換えは慎重にという立場の人もいますけど、私はそろそろ移行を考える時期だと思います。 @IT もう1.9に移行してもオッケーだと。 yugui もう根本的な仕様が変わることはないという意味でオッケーです。2007年12月に出た1.9.0は、仕様が煮詰まっていな
スクレイピングのチュートリアルを書いてみた。 参考:http://nokogiri.rubyforge.org/nokogiri/Nokogiri.html まだまだたくさんのクラスやメソッドがあるが(読んでない)、HTMLのスクレイピングに限定すれば多分これくらいで十分。 2014-02-16追記 なんかたくさんブックマークされていることに気づいたので、サンプルコードのRuby1.9/2対応のアップデート。 Mechanize周りも修正。WWW::Mechanize → Mechanize 等 (0) 前提知識 Ruby、HTML、DOM、CSSセレクタまたはXPath (1) クラス構造の理解 Nokogiri::HTML::Document < Nokogiri::XML::Document < Nokogiri::XML::Node < Object Nokogiri::XML::
参考:数独の平凡な解法(C言語・Mathematica) Rubyのバイブル『プログラミング言語 Ruby』の第1.4節では、「Rubyプログラムが実際にはどのようなものかというイメージをもっとよくつかめるように(p.18)」数独を解くRubyプログラムが紹介されています(ソースコードは原著のサポートサイトにあります)。曰く、 コメントと空行を取り除くと、ちょうど129行のコードが残る。これは、単純な力任せのアルゴリズムに頼るわけではないオブジェクト指向の数独ソルバとしてはまずまずの長さだ。このサンプルは、Rubyのパワーと表現力をよく示していると思うがどうだろうか。(p.25) どうだろうかって、このサンプルは、Rubyのパワーと表現力を示すものとしてはふさわしくないんじゃないでしょうか。100行以上書かないと数独が解けないなんて、Rubyのイメージダウンにならなければいいのですが。 R
$Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第
第2回 ActiveRecordが提供するModel機能を理解しよう 富田 陽介 Banana Systems株式会社 2009/4/24 Railsアプリケーション開発を支援する統合開発環境「3rdRail」を使って、開発、デバッグ、プロファイリングの手法をマスターしよう(編集部) 第1回では、「初めてのRailsアプリケーション開発」と題して、Railsが提供するscaffoldという支援機能を使用してシンプルなWebアプリケーションの開発の流れを紹介しました。 これから3回連続で、「つぶやき」アプリケーションを拡張/機能追加しながら、ModelクラスとControllerクラスの開発ステップを見ていきます。第1回で紹介しきれなかった3rdRailのIDEとしての機能を取り上げながら、より実践的なWebアプリケーションの開発手順に触れてみましょう。 今回は、ActiveRecordが提
フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日本語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し
RubyCocoa とは? † RubyCocoa は、Ruby での Cocoa プログラミングを可能にする Mac OS X のフレームワークです。 RubyCocoa を使うことで、以下のことができるようになります。 Ruby で Mac OS X ネイティブアプリケーションの開発 Cocoa を利用した Ruby プログラムの開発 ↑ ダウンロードとインストール † 2008/2/16 現在、最新バージョンは 0.13.2 です。 http://sourceforge.net/project/showfiles.php?group_id=44114 から最新バージョンの dmg をダウンロードして、インストールしてください。 ↑
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く