gist

2013年12月8日日曜日

Mac OS X 10.9 のRails 4.0.0を4.0.2にアップデートしたときのメモ

2013年7月1日月曜日

Rails4.0とRuby2.0をMountain Lionにインストール

Ruby-2.0.0p247でOpenSSLのコンパイルエラーがなくなったみたいです。Rails 4.0をGemでインストールする前にRdocをアップデートしておくと吉。

2012年10月14日日曜日

Mac OS X Mountain Lion (10.8.2) に Rails 3.2.8 をインストールする

約100日ぶりの更新です。
RailsとiOS/Androidアプリとクラウド3点セットのお仕事が増えてきましたので、少しNode.jsから離れて、更新を続けようと思います。

Moutain LionにRailsをインストールしたときの作業のログです。
Rubyのバージョン管理ツールにrbenvを使用しています。

事前準備

  • AppStoreでXcode 4.5.1 をインストールしておく
  • Xcode 4.5.1の設定からCommand Line Tools をインストールしておく

Homebrewをインストールする

rbenvをインストールする

.bash_profileを編集して以下の一行を追加します。

$ vim ~/.bash_profile

再読込を忘れずに

ruby-buildをインストール

rbenv install -l でインストール可能なバージョンのリストが表示されればOKです。

Rubyをインストールする

使用しているrubyのバージョンが1.9.3-p194でパスが変更されていればOK。

Railsをインストールする

Railsアプリを作成する

ブラウザから http://localhost:3000/ にアクセスして以下の画面が表示されたRailsのインストールは完了です。

2012年7月2日月曜日

CoffeeScriptで学ぶ Underscore.js 15(Chain編)

CoffeeScriptで学ぶUnderscore.js(Chain編)。今回で15回目、ようやく最終回です。


chain

_.chain(object)

chainは、underscoreのメソッドを次々と連結して実行できる便利なメソッドです。

_ = require 'underscore'

users = [
 {name : 'curly', age : 25}, 
 {name : 'moe', age : 21}, 
 {name : 'larry', age : 23}
]

youngest = 
 _.chain(users)
 .sortBy (user)->
  user.age
 .map (user)->
  user.name + ' is ' + user.age
 .first()
 .value()

console.log youngest
実行結果
$ coffee chain.coffee 
moe is 21

_.chain(users)でchainに配列を与えています。次にsortByでage順に並べます。次のmapで「◯◯ is 年齢」の出力を作成します。firstで最初の行を取得し、最後にvalueで値にしています。

Underscore.jsでは、

_.map [1,2,3], (n)->
 n * 2

は、以下のようにも記述できます。

_([1,2,3]).map (n)->
 n * 2

ですので、上記のchainの部分は以下のように分解できます。

sorted = _(users).sortBy (user)->
 user.age
mapped = _(sorted).map (user)->
 user.name + ' is ' + user.age
first = _(mapped).first()
value = _(first).value()

value

_(obj).value()

valueは、objを展開します。chainの最後に負荷することで値として展開できます。

_ = require 'underscore'

console.log _([3,2,6]).value()
実行結果
$ coffee value.coffee 
[ 3, 2, 6 ]

Underscore.jsは、JavaScriptを強力にサポートするパッケージです。是非とも使いこなしてみましょう。


関連ページ