28 Mar '12, 1pm

今からちゃんとやろ。 : Rubyist Magazine - 海外記事翻訳シリーズ 【第 1 回】 RSpec ベストプラクティス

RSpec ベストプラクティス RSpec は、振舞駆動の設計プロセス (behaviour driven design process) において、人間にとって読みやすい仕様を書くための優れたツールです。RSpec で書かれた仕様が、アプリケーション開発における方向と検証を行います。本記事では私たちが気づいた、エレガントで保守しやすい仕様を書くためのプラクティスを紹介します。 まず、何をしてるのかを #describe で説明しましょう 定義するつもりのメソッドごとに、#describe を使うことから始めましょう。このとき引数にはメソッド名を指定します。クラスメソッドには名前の頭に「.」をつけ、インスタンスメソッドには頭に「#」をつけましょう。これは Ruby の標準的なドキュメントプラクティスに則っており、spec ランナーによる出力が読みやすくなります。 describe User do describe '.authenticate' do end describe '.admins' do end describe '#admin?' do end describe '#name' do end end 次に、#context (コンテキスト) をはっきりさせましょう メソッドの実行パスごとに、#context を書きましょう。与えられたコンテキストのもとでの〔訳注: つまり実行パスごとの〕メソッドの挙動を逐語的に指定します。 たとえば、次のメソッドには 2 つの実行パスがあります。 class SessionsController < ApplicationController def create user = User.authenticate :email => params[:email], :password => params[:password] if user.present? session[:user_id] = user.id redirect_to root_path else flash.now[:n...

Full article: http://jp.rubyist.net/magazine/?0032-TranslationArticle

Tweets

Rubyist Magazine - るびま

jp.rubyist.net 30 Mar '12, 2am

『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。

rubyのチュートリアルがなくなってるびまの中に埋め込まれている.これだけ取り出してhttp:...

jp.rubyist.net 07 Apr '12, 4am

Rubyでプログラミングを体験しよう 「これからプログラミングをはじめたい!」 「今までプログラムには興味があったけど難しそうでなかなか手を出せなかった……」 そんな人に Ruby のプログラミングを紹介します。 筆者はゲームプログラマー*1 ...

これ7年前のMatzか、若い……。みてるなう: Rubyist Magazine - Ruby...

jp.rubyist.net 20 Mar '12, 4am

Rubyist Hotlinks は、毎号、著名な Rubyist にインタビューを行っていこう、という企画です。 栄えある第一回のインタビュイーは、もちろんこの方、Ruby の父、まつもとゆきひろさんにお願いしました。 まつもとさんのインタビ...

Rubyist Magazine - qwikWeb の仕組み 【第 1 回】 コンテンツ・フ...

jp.rubyist.net 23 Mar '12, 3am

qwikWeb は、メーリングリストサーバと Wiki サーバが統合されたグループ・コミュ ニケーション・システムである。メーリングリストと Wiki の 長所を合わせたようなシステムとなっている。 本稿では、メーリングリストサーバと Wiki...

「Rubyist Magazine」 Rubyコミュニティの有志が定期的にパブリッシュしている...

jp.rubyist.net 25 Mar '12, 1pm

書いた人:るびま編集長 高橋征義 編集長からの 0036 号発行の挨拶です。(難易度:高) Ruby の歩き方 Ruby をはじめるにあたって必要な情報をご紹介します。本稿は Rubyist Magazine 常設記事です。(難易度:低) Si...

競技プログラミングの件、こういう文章書いたひとが、今になってイヤイヤしてるのおかしい、とツッコ...

jp.rubyist.net 31 Mar '12, 6am

あなたが作ったメソッドの名前を仮に cmaxlen(i, j) とした require 'runit/testcase' require 'runit/cui/testrunner' require 'benchmark' include Be...

Rubyist Magazine - Rubyist Hotlinks 【第 22 回】 nari さん / あー!コネちゃってるじゃん、なにやってんの。

Rubyist Magazine - Rubyist Hotlinks 【第 22 回】 na...

jp.rubyist.net 18 Mar '12, 1am

普通の意味で言うとスレッドなんだけども、マーキングのスレッドが 2 つと専用のデータタイプ別コレクションのスレッドが同時に走って、必要なやつからどんどん、どんどん足りなくなったやつから優先度で走るわけ。で、GC のマーキングが 2 つあるのはで...

Rubyist Magazine - Ruby M17N の設計と実装

jp.rubyist.net 07 Apr '12, 5am

なお、非 ASCII な文字を含むリテラルを magic comment なしに書いていた場合、US-ASCII ではない文字が存在しているとして、invalid multibyte char というエラーになります。これはソースコードの可搬性...