注: Rubyは2.1.0からSemantic Versioningを採用しています。 Ruby 2.1.1, 2.1.2等はバグ修正やセキュリティfixのみを含むため、リファレンスとしては2.1に統一しています。
一発でテキストファイルを読む方法 † 1.9.2でFile.read(IO.read)を使う場合、 s = File.read("hoge.txt", :encoding => Encoding::UTF_8) ruby 1.9では読み込むテキストの文字コード(:encoding)をなるべく明示することに注意。文字コードが異なる場合は、encodeでそのまま変換するのがいいと思います。 ※ File.readの:encodingを指定しないと、encodeで文字化けすることになるかと思います s = File.read("hoge.txt", :encoding => Encoding::EUC_JP).encode(Encoding::UTF_8) ファイルパスの扱い(相対パスの展開など)を考えると、Pathname#readを使うのも便利です。 require 'pathname' s
2009年10月04日20:18 KVS Ruby 噂のTokyoCabinet/TokyoTyrantを使ってみた key-value ストアに興味がある ささたつ です。key-value ストアとして有名なものといえば memcached かと思いますが、他にも TokyoCabinet や TokyoTyrant というものも注目されています(不思議な名前ですね!)。key-value ストアでありながら高速、かつ、データをメモリで無くファイルに保存しているため、サーバが落ちてもデータが消えないとか。 実際に mixi の最終ログイン時間の保持などに使われているそうです。 memcached をセッションの保持などに使っている場合、memcached のサーバがダウンしてしまったら、データは全て消えてしまいます。その結果 RDBMS にアクセスが集中し、パフォーマンスが大幅に悪化し
無料なのは間違いないが、(おそらく)最速にしてあるところがミソ。 魔法使いに必要なもの 基本的なRubyの知識 基本的なhttp, htmlに関する知識 Googleアカウント 魔法使いに必要でないもの 自宅サーバ レンタルサーバ MVCとかDBとかの知識 前提 アプリケーションはGoogle App Engine(Java)の上で動かす JRuby+Sinatraで構成。JRubyはJava仮想マシン上のRuby実行環境のことで、SinatraはRubyの超お手軽・軽量Webフレームワーク。 そんじゃあ始めます。俺の環境がLinuxなので、WinやMacを使ってる方は適宜読み替えてね。 1、まずGoogle App Engineのアカウントを取得する。アプリケーションを適当に登録する。 Googleのアカウントがない人はまずそこから。既に持ってる人はGoogle App Engineに登
$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 部「評価」 第
今はネットワークを使ったWeb APIを提供するサービスが増え、それを利用したMashupも増えてきている。様々なデータを容易にとれ、Webシステムを開発できるのは魅力だが、開発中にもネットワークが必須というのが大きな足かせになる。 Mashupのテストがしやすくなる便利なライブラリ また、アクセス自体に料金がかかる場合、開発中の利用を躊躇してしまう。そのような経験がある方はFakeWebを使うべきだ。 今回紹介するオープンソース・ソフトウェアはFakeWeb、Webアクセスを偽装する便利なライブラリだ。 この手のものは一時期考えなくもなかったが、自分でサーバを立てる方法がいいかと思っていた。だがFakeWebの場合は違う。指定したURLへのHTTP(恐らくHTTPSも)接続を横取りし、予め指定した結果を返すライブラリだ。 複数アクセスによって返却値を変えられる 予め返却されるデータと、接
最初のコラムでは、Rubyの構文は柔軟であり、ドメイン固有言語(DSL)を作るのに非常に適していると述べた。 さて、これからはRubyのメソッドの定義方法と呼び出し方法について詳しく述べる。さらに、Rubyのメタプログラミングによって、DSLにコードの実行中に新しいクラスを作成させる方法について説明する。これを読めば、DSLの作成に必要なツールの大半を知ることができる。 われわれは既に、Rubyではあるクラスにnewメソッドを送ることでオブジェクトが生成されることを学んでいる。 book = Book.new クラスがnewメソッドを受け取ると、新しいオブジェクトのスペースに割り当て、もしinitializeインスタンスメソッドが存在すればそれを呼び出し、新しいオブジェクトを有効な状態にする。newメソッドに渡される引数は、自動的にinitializeに渡される。例えば次のようになる。 c
最近、windowsでrails開発をするメリットを感じないどころか、ちょっとしたストレスになりつつ。。。 そんなわけで、スペックもてあましまくりのCorei7マシーンにVMWare Serverをインストールして、その上にubuntuをインストールしてrails環境を立ててみました。 基本的に、aptでパッケージインストールしましたが、それでも依存パッケージの絡みではまったりしまったり^^; そんなわけで、後々のことを考えてそのときの記録を残してみました。 今回の検証環境 Ubuntu8.10(サーバ版) WindowsXPのVMWare Server上で動作 今回インストールしたもの(主なもの) ruby1.8.7 gem1.3.2 (最近あがりましたね) rails2.3.2 mongrel1.1.5 SQLite3.5.9 MySQL5.0.69 PostgreS
フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日本語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し
rubyinside.comに 21 Ruby Tricks You Should Be Using In Your Own Codeという記事が掲載されていました。 よりRubyコードをシンプルに読みやすくするために覚えておいて損はないですね。 勉強になりましたので抄訳しました。 1 - 正規表現にマッチした文字を抜き出す簡単な方法 文字列から正規表現にマッチした文字を抜き出す場合、通常はmatchもソッドを使いますが、次のようなショートカット方法もあります。 email = "Fred Bloggs <fred@bloggs.com>"email.match(/<(.*?)>/)[1] # => “fred@bloggs.com”email[/<(.*?)>/, 1] # => “fred@bloggs.com”email.match(/(x)/)[1] # => NoMethodEr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く