<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NakajiJapan</title>
	<atom:link href="http://blog.nakajijapan.net/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.nakajijapan.net</link>
	<description>餓鬼の超弩級日記</description>
	<lastBuildDate>Thu, 16 Feb 2012 21:59:50 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>datetime_selectをカスタマイズしたときのあれ</title>
		<link>http://blog.nakajijapan.net/archives/3177</link>
		<comments>http://blog.nakajijapan.net/archives/3177#comments</comments>
		<pubDate>Thu, 16 Feb 2012 21:59:50 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=3177</guid>
		<description><![CDATA[なんか神経使った。Railsはいちいちつまずく。 デフォルトだとロケールも英語になっていてなんの問題もないけど、フォーマット変更したり、日本語にしたりするとさらに追加の設定が必要になったのでめも。 最初はデフォルトのロケールを日本語にしているとエラーが発生してたので調査しました。 yaml側でどうも解析できていないみたいだったのでboot.rbに明示的に記述を足してライブラリを読み込めるように しました。 # confg/application.rb config.i18n.default_locale = :ja # config/boot.rb require 'yaml' # この行を追加 YAML::ENGINE.yamler= 'syck' # この行を追加 そんでもって日付のフォーマットを変更してみる # config/locale/ja.yml ja: date: order: [ :year, :month, :day ] datetime: order: [ :year, :month, :day, :hour, :min ] # views/hoge/_form.html.erb true %> うまくいきました。 ■参考URL http://stackoverflow.com/quest&#8230;&#8230;yamlengine]]></description>
			<content:encoded><![CDATA[<p>なんか神経使った。Railsはいちいちつまずく。<br />
デフォルトだとロケールも英語になっていてなんの問題もないけど、フォーマット変更したり、日本語にしたりするとさらに追加の設定が必要になったのでめも。</p>
<p>最初はデフォルトのロケールを日本語にしているとエラーが発生してたので調査しました。<br />
yaml側でどうも解析できていないみたいだったのでboot.rbに明示的に記述を足してライブラリを読み込めるように<br />
しました。</p>
<pre class="brush:ruby">
# confg/application.rb
config.i18n.default_locale = :ja
</pre>
<pre class="brush:ruby">
# config/boot.rb
require 'yaml' # この行を追加
YAML::ENGINE.yamler= 'syck' # この行を追加
</pre>
<p>そんでもって日付のフォーマットを変更してみる</p>
<pre class="brush:ruby">
# config/locale/ja.yml
ja:
  date:
    order: [ :year, :month, :day ]
  datetime:
    order: [ :year, :month, :day, :hour, :min ]
</pre>
<pre class="brush:ruby">
# views/hoge/_form.html.erb
<%= f.datetime_select :disp_date, :use_month_numbers => true %>
</pre>
<p>うまくいきました。</p>
<p>■参考URL<br />
 <a href="http://stackoverflow.com/questions/7045137/rake-tasks-from-cron-uninitialized-constant-yamlengine" target="_blank" class="advmk">http://stackoverflow.com/quest&#8230;&#8230;yamlengine</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/3177/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sorceryを使ってログイン処理を作成してみる</title>
		<link>http://blog.nakajijapan.net/archives/3170</link>
		<comments>http://blog.nakajijapan.net/archives/3170#comments</comments>
		<pubDate>Tue, 14 Feb 2012 16:07:16 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[写経]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=3170</guid>
		<description><![CDATA[Railsでsorceryを使ってログイン処理を実現してみることにします。 まずはMysqlを理由するのでそれに関連したプラグインもいれてきます。 Gemfileに必要なプラグインを記述 gem 'mysql2' gem 'sorcery' gem 'refinerycms' bundle install DBの設定を行います development: adapter: mysql2 database: gifanime pool: 5 timeout: 5000 encoding: utf8 # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development [...]]]></description>
			<content:encoded><![CDATA[<p>Railsでsorceryを使ってログイン処理を実現してみることにします。</p>
<p>まずはMysqlを理由するのでそれに関連したプラグインもいれてきます。<br />
Gemfileに必要なプラグインを記述</p>
<pre class="brush:bash">
gem 'mysql2'
gem 'sorcery'
gem 'refinerycms'
bundle install
</pre>
<p>DBの設定を行います</p>
<pre class="brush:bash">
development:
  adapter: mysql2
  database: gifanime
  pool: 5
  timeout: 5000
  encoding: utf8

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  database: gifanime
  pool: 5
  timeout: 5000
  encoding: utf8

production:
  adapter: mysql2
  database: gifanime
  pool: 5
  timeout: 5000
  encoding: utf8
</pre>
<p>とりあえず、WEBサーバが動作するようにUnicornの設定をします。（内容はとりあえず、動作する目的で記述しているのであまりつっこまないでください）</p>
<pre class="brush:ruby">
# -*- coding: utf-8 -*-
# ワーカーの数
worker_processes 2

# capistrano 用に RAILS_ROOT を指定
app_path = "/Users/nakajimadaichi/develop/gifanime/"
working_directory app_path

# ソケット
listen  '/tmp/unicorn.sock'

# ログ
rails_env = ENV['RAILS_ENV'] || 'production'
if rails_env == 'production'
  stderr_path 'log/unicorn.log'
  stdout_path 'log/unicorn.log'
else
  # stdout
end

# ダウンタイムなくす
preload_app true

before_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
  old_pid = "#{ server.config[:pid] }.oldbin"
  unless old_pid == server.pid
    begin
      # SIGTTOU だと worker_processes が多いときおかしい気がする
      Process.kill :QUIT, File.read(old_pid).to_i
      rescue Errno::ENOENT, Errno::ESRCH
    end
  end
end

after_fork do |server, worker|
  defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
end
</pre>
<p>前回の設定をちょっとかえてて、環境によってエラー出力をファイル出力か標準出力ぐらいのことしてます。<br />
最後に起動してこんなふうに出力すればとりあえず完了。。</p>
<pre class="brush:bash">
$ unicorn_rails -c config/unicorn.rb -E development -p 5000
I, [2012-02-12T19:35:14.296704 #4448]  INFO -- : unlinking existing socket=/tmp/unicorn.sock
I, [2012-02-12T19:35:14.297074 #4448]  INFO -- : listening on addr=/tmp/unicorn.sock fd=5
I, [2012-02-12T19:35:14.298091 #4448]  INFO -- : listening on addr=0.0.0.0:5000 fd=6
I, [2012-02-12T19:35:14.298290 #4448]  INFO -- : Refreshing Gem list
I, [2012-02-12T19:35:16.681432 #4448]  INFO -- : master process ready
I, [2012-02-12T19:35:16.694516 #4477]  INFO -- : worker=0 ready
I, [2012-02-12T19:35:16.698188 #4478]  INFO -- : worker=1 ready
</pre>
<p>次はsorceryのインストールです。</p>
<pre class="brush:bash">
# デフォルトのインストール
rails generate sorcery:install
# ユーザのリソースを作成
rails g scaffold User username:string email:string crypted_password:string salt:string
# DBは婦負
rake db:migrate
# セッション用のコントローラ作成
rails g controller UserSessions new create destroy
</pre>
<p>あとはsorceryが公開されているgithubのwikiをみて写経していきます。</p>
<pre class="brush:ruby">
# views/user_sessions/new.html.erb
<%= form_for(@user) do |f| %>
  <% if @user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>
<ul>
      <% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>

      <% end %>
      </ul>
</div>

  <% end %>
<div class="field">
    <%= f.label :username %>
    <%= f.text_field :username %>
  </div>
<div class="field">
    <%= f.label :email %>
    <%= f.text_field :email %>
  </div>
<div class="field">
     <%= f.label :password %>
     <%= f.password_field :password %>
  </div>
<div class="field">
     <%= f.label :password_confirmation %>
     <%= f.password_field :password_confirmation %>
  </div>
<div class="actions">
    <%= f.submit %>
  </div>

<% end %>
</pre>
<pre class="brush:ruby">
# models/user.rb
class User < ActiveRecord::Base
  authenticates_with_sorcery!
  #attr_accessible :email, :password, :password_confirmation

  validates_length_of       :password, :minimum => 3, :message => "password must be at least 3 characters long", :if => :password
  validates_confirmation_of :password, :message => "should match confirmation", :if => :password
end
</pre>
<pre class="brush:ruby">
# controllers/user_sessions_controller.rb
class UserSessionsController < ApplicationController
  before_filter :require_login
  skip_before_filter :require_login, <img src='http://blog.nakajijapan.net/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> nly => [:index, :new, :create]

  def new
    @user = User.new
  end

  def create
    respond_to do |format|
      if @user = login(params[:username],params[:password])
        format.html { redirect_back_or_to(:users, :notice => 'Login successful.') }
        format.xml { render <img src='http://blog.nakajijapan.net/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> ml => @user, :status => :created, :location => @user }
      else
        format.html { flash.now[:alert] = "Login failed."; render :action => "new" }
        format.xml { render <img src='http://blog.nakajijapan.net/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> ml => @user.errors, :status => :unprocessable_entity }
      end
    end
  end

  def destroy
    logout
    redirect_to(:users, :notice => 'Logged out!')
  end
end
</pre>
<pre class="brush:ruby">
# views/user_sessions/new.html.erb
<h1>Login</h1>

<%= render 'form' %>

<%= link_to 'Back', user_sessions_path %>
</pre>
<pre class="brush:ruby">
# views/user_sessions/_form.html.erb

<%= form_tag user_sessions_path, :method => :post do %>
<div class="field">
    <%= label_tag :username %>
    <%= text_field_tag :username %>
  </div>
<div class="field">
    <%= label_tag :password %>
    <%= password_field_tag :password %>
  </div>
<div class="actions">
    <%= submit_tag "Login" %>
  </div>

<% end %>
</pre>
<pre class="brush:ruby">
# config/routes.rb
  root :to => 'users#index'
  resources :user_sessions
  resources :users

  match 'login' => 'user_sessions#new', :as => :login
  match 'logout' => 'user_sessions#destroy', :as => :logout
</pre>
<pre class="brush:ruby">
# views/layouts/application.html.erb
<!DOCTYPE html>
<html>
  <head>

      <%= stylesheet_link_tag    "application" %>
      <%= javascript_include_tag "application" %>
      <%= csrf_meta_tags %>
  </head>
  <body>
<div id="nav">
    <% if current_user %>
      <%= link_to "Edit Profile", edit_user_path(current_user.id) %>
      <%= link_to "Logout", :logout %>
    <% else %>
      <%= link_to "Register", new_user_path %> |
      <%= link_to "Login", :login %>
    <% end %>
  </div>
<div>
<p id="notice"><%= notice %>
<p id="alert"><%= alert %>
</div>

  <%= yield %>

  </body>
</html>
</pre>
<pre class="brush:ruby">
# controllers/users_controller.rb
class UsersController < ApplicationController
  before_filter :require_login
  skip_before_filter :require_login, :except => [:destroy]
end
</pre>
<p>これでログイン可能になります。</p>
<p>このプラグインには他にもTwitter認証やfacebook認証もできるみたいで「external」をサブモジュールに<br />
指定すればできるらしいです。</p>
<p>■参照URL<br />
・Simple Password Authentication<br />
 <a href="https://github.com/NoamB/sorcery/wiki/Simple-Password-Authentication" target="_blank" class="advmk">https://github.com/NoamB/sorce&#8230;&#8230;entication</a></p>
<p>・外部連携してログインする方法<br />
 <a href="https://github.com/NoamB/sorcery/wiki/External" target="_blank" class="advmk">https://github.com/NoamB/sorce&#8230;&#8230;i/External</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/3170/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacでexecJSが動作しない件</title>
		<link>http://blog.nakajijapan.net/archives/3144</link>
		<comments>http://blog.nakajijapan.net/archives/3144#comments</comments>
		<pubDate>Sat, 11 Feb 2012 15:09:18 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[memo]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=3144</guid>
		<description><![CDATA[最初こんなエラーがでてなんのこっちゃとおもっていたんですが、sslがインストールされていのかと思い、macにsslをインストールしてみました。 dyld: Library not loaded: /opt/local/lib/libssl.1.0.0.dylib Referenced from: /usr/local/bin/node Reason: image not found (in /Library/WebServer/railsTest/app/assets/javascripts/accounts.js.coffee) しかし、これでもうまくいかない。 brew install openssl 実行用のエンジンが必要なんじゃないかとおもって早速node.jsのインストール brew install node そしたら、無事えらーがなくなりました！ うまくいったで！！！]]></description>
			<content:encoded><![CDATA[<p>最初こんなエラーがでてなんのこっちゃとおもっていたんですが、sslがインストールされていのかと思い、macにsslをインストールしてみました。</p>
<pre class="brush:bash">
dyld: Library not loaded: /opt/local/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/bin/node
  Reason: image not found

  (in /Library/WebServer/railsTest/app/assets/javascripts/accounts.js.coffee)
</pre>
<p>しかし、これでもうまくいかない。</p>
<pre class="brush:bash">
brew install openssl
</pre>
<p>実行用のエンジンが必要なんじゃないかとおもって早速node.jsのインストール</p>
<pre class="brush:bash">
brew install node
</pre>
<p>そしたら、無事えらーがなくなりました！</p>
<p>うまくいったで！！！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/3144/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>「Unicorn + Rails + Nginx」で構築してみる</title>
		<link>http://blog.nakajijapan.net/archives/3135</link>
		<comments>http://blog.nakajijapan.net/archives/3135#comments</comments>
		<pubDate>Tue, 31 Jan 2012 15:21:07 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[scientificLInux]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=3135</guid>
		<description><![CDATA[勉強がてら構築してみました。以前はrailsのWebサーバはThinで構築していたのですが、 最近流行している「Unicorn」、さらにはフロントにリバースプロキシとHTTP用のサーバ「nginx」 をおいて構築してみることにします。 仕組みについてはこちらのサイトがよくまとめられていたので概要つかむによいでしょう。 まずは、nginxのインストールを行います。インストールはあらかじめrpm をインストールしてからyumでインストールし直します。 rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm yum install nginx 一度、デフォルトでnginxで起動するかどうかの確認を行います。「service nginx start」で http://hoge.moge にアクセスしてnginx用の画面が表示されていればとりあえずはインストール完了です。 以下、Unicornがnginx経由でアクセスできるようにするための設定ファイルになります。 upstream hoge.moge { server unix:/var/www/test/tmp/sockets/unicorn.sock; } server { listen 80; server_name hoge.moge; root /var/www/test/public/; access_log log/access.log; error_log log/error.log; location / { if (-f $request_filename) { break; } # ファイルが存在しなければunicornにproxyする proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host [...]]]></description>
			<content:encoded><![CDATA[<p>勉強がてら構築してみました。以前はrailsのWebサーバはThinで構築していたのですが、<br />
最近流行している「Unicorn」、さらにはフロントにリバースプロキシとHTTP用のサーバ「nginx」<br />
をおいて構築してみることにします。</p>
<p>仕組みについては<a href="http://techracho.jp/?p=2075">こちら</a>のサイトがよくまとめられていたので概要つかむによいでしょう。</p>
<p>まずは、nginxのインストールを行います。インストールはあらかじめrpm をインストールしてからyumでインストールし直します。</p>
<pre class="brush:bash">
rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum install nginx
</pre>
<p>一度、デフォルトでnginxで起動するかどうかの確認を行います。「service nginx start」で <a href="http://hoge.moge" target="_blank" class="advmk">http://hoge.moge</a> にアクセスしてnginx用の画面が表示されていればとりあえずはインストール完了です。</p>
<p>以下、Unicornがnginx経由でアクセスできるようにするための設定ファイルになります。</p>
<pre class="brush:bash">
upstream hoge.moge {
    server unix:/var/www/test/tmp/sockets/unicorn.sock;
}

server {
  listen 80;
  server_name hoge.moge;

  root /var/www/test/public/;
  access_log log/access.log;
  error_log  log/error.log;

  location / {
    if (-f $request_filename) {
        break;
    }
    # ファイルが存在しなければunicornにproxyする
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_pass http://hoge.moge;
  }

  # この記述がないと静的ファイルが表示されなかった
  location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
    expires 1y;
  }
}
</pre>
<p>なんか書き方はPerlbalよりわかりやすいようなイメージしました。気のせいかもしれませんが。。。</p>
<p>次は、Unicornのインストールです。gemでパッケージをインストールします。</p>
<pre class="brush:bash">
gem install unicorn
</pre>
<p>これでおしまい。</p>
<p>その後、Railsで展開されているコンフィグファイルに設定情報を記述します。</p>
<pre class="brush:bash">
vi config/unicorn.conf
</pre>
<pre class="brush:bash">
# -*- coding: utf-8 -*-
# ワーカーの数
worker_processes 2

# capistrano 用に RAILS_ROOT を指定
working_directory "/var/www/test/"

# ソケット
#listen '/tmp/unicorn_of_example.sock'
#listenFile = working_directory << 'tmp/sockets/unicorn.sock'
listen  '/var/www/test/tmp/sockets/unicorn.sock'

# ログ
log = '/var/log/rails/unicorn.log'
stderr_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT'])
stdout_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT'])

# ダウンタイムなくす
preload_app true

before_fork do |server, worker|
    defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!

    old_pid = "#{ server.config[:pid] }.oldbin"
    unless old_pid == server.pid
        begin
            # SIGTTOU だと worker_processes が多いときおかしい気がする
            Process.kill :QUIT, File.read(old_pid).to_i
        rescue Errno::ENOENT, Errno::ESRCH
        end
    end
end

after_fork do |server, worker|
    defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
end
</pre>
<p>最後にそれぞれを起動します。</p>
<pre class="brush:bash">
unicorn_rails -c config/unicorn.rb -E production -p 5000 -D
service nginx start
</pre>
<p>指定のURLからアクセスして画面がみれれば完成でし！</p>
<p>□参考URL<br />
 <a href="http://nginx.org/" target="_blank" class="advmk">http://nginx.org/</a><br />
 <a href="http://techracho.bpsinc.jp/bps/2010_07_28/2208" target="_blank" class="advmk">http://techracho.bpsinc.jp/bps......07_28/2208</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/3135/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>rbenvのインストール</title>
		<link>http://blog.nakajijapan.net/archives/3121</link>
		<comments>http://blog.nakajijapan.net/archives/3121#comments</comments>
		<pubDate>Mon, 30 Jan 2012 17:06:16 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[rbenv]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=3121</guid>
		<description><![CDATA[rubyで新サービスを開発するためにいろいろ技術調査やら実験しているわけでして、試行錯誤しているわけなフェーズな訳です。 とはいうもののなんだかんだしてrubyのバージョンがあがってフレームワークの並に乗れなかったりするのは嫌なので、システム からチョッち上の層でバージョン管理してくれるものあったのでインストールしてみることにします。 今回はMacからのインストールですが、以前リナックスに同じバージョン管理してくれるRVMをいれていまして 「update」するとめんどくさいという経験談を聞いてちょっと公開してしまいましたがとりあえずはこれで運用しつつ、 Macではrbenvで運用してみることにします。 でもその前に、久々にMacに入っているサーバやらソフトをbrewでアップデートします。brew入れてから半年もたってないけどもろもろ更新されてるみたいですね。 # brew update # brew upgrade [~/config] ==> Upgrading 9 outdated packages, with result: cmake 2.8.7, curl 7.23.1, emacs 23.3b, git 1.7.9, icu4c 4.8.1.1, libevent 2.0.16, readline 6.2.2, mysql 5.5.19, tmux 1.6 ・ ・ ・ ・ rbenvのインストール # brew install rbenv # brew install ruby-build brewは楽でいいですね。 その後に.zshrcに以下の処理を追加します。 eval [...]]]></description>
			<content:encoded><![CDATA[<p>rubyで新サービスを開発するためにいろいろ技術調査やら実験しているわけでして、試行錯誤しているわけなフェーズな訳です。<br />
とはいうもののなんだかんだしてrubyのバージョンがあがってフレームワークの並に乗れなかったりするのは嫌なので、システム<br />
からチョッち上の層でバージョン管理してくれるものあったのでインストールしてみることにします。</p>
<p>今回はMacからのインストールですが、以前リナックスに同じバージョン管理してくれるRVMをいれていまして<br />
「update」するとめんどくさいという経験談を聞いてちょっと公開してしまいましたがとりあえずはこれで運用しつつ、<br />
Macではrbenvで運用してみることにします。</p>
<p>でもその前に、久々にMacに入っているサーバやらソフトをbrewでアップデートします。brew入れてから半年もたってないけどもろもろ更新されてるみたいですね。</p>
<pre class="brush:bash">
# brew update
# brew upgrade                                                                                                                                                                                                    [~/config]
==> Upgrading 9 outdated packages, with result:
cmake 2.8.7, curl 7.23.1, emacs 23.3b, git 1.7.9, icu4c 4.8.1.1, libevent 2.0.16, readline 6.2.2, mysql 5.5.19, tmux 1.6

・
・
・
・
</pre>
<h3>rbenvのインストール</h3>
<pre class="brush:bash">
# brew install rbenv
# brew install ruby-build
</pre>
<p>brewは楽でいいですね。</p>
<p>その後に.zshrcに以下の処理を追加します。</p>
<pre class="brush:bash">
eval "$(rbenv init -)"
source ~/.rbenv/completions/rbenv.zsh
</pre>
<h3>rubyのインストール</h3>
<p>まずはちょっと前のバージョンをいれてみることにします。</p>
<pre class="brush:bash">
# rbenv install 1.9.2-p290
# rbenv global 1.9.2-p290
# rbenv rehash
# ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.2.0]
</pre>
<p>「rbenv rehash」でインストールしたバージョンを反映させるみたいです。これで設定は完了です。</p>
<p>以下も同様ですね。</p>
<pre class="brush:bash">
# rbenv install 1.9.3-p0
# rbenv global 1.9.3-p0
# rbenv rehash
# ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
</pre>
<p>こんな感じにすれば、現在インストールされているものと利用されてるものが確認できるそうですね。</p>
<pre class="brush:bash">
# rbenv versions                                                                                                                                                                                                  [~/.rbenv]
  1.9.2-p290
* 1.9.3-p0 (set by /Users/nakajimadaichi/.rbenv/version)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/3121/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails + Thinで構成してみる in Scientific Linux</title>
		<link>http://blog.nakajijapan.net/archives/3119</link>
		<comments>http://blog.nakajijapan.net/archives/3119#comments</comments>
		<pubDate>Mon, 30 Jan 2012 16:44:53 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[scientificLInux]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=3119</guid>
		<description><![CDATA[さくらのVPSを借りることになったので早速Ruby+Rails+Thinで構築してみることにします。 「Thin」てどういうものかって勝手にまとめてみると軽量で高速なRails専用のWebサーバらしいです。 the Mongrel parser, the root of Mongrel speed and security Event Machine, a network I/O library with extremely high scalability, performance and stability Rack, a minimal interface between webservers and Ruby frameworks RVMのインストール # bash -s stable <]]></description>
			<content:encoded><![CDATA[<p>さくらのVPSを借りることになったので早速Ruby+Rails+Thinで構築してみることにします。</p>
<p>「Thin」てどういうものかって勝手にまとめてみると軽量で高速なRails専用のWebサーバらしいです。</p>
<blockquote><p> the Mongrel parser, the root of Mongrel speed and security<br />
Event Machine, a network I/O library with extremely high scalability, performance and stability<br />
Rack, a minimal interface between webservers and Ruby frameworks </p></blockquote>
<h3>RVMのインストール</h3>
<pre class="brush:bash">
# bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
</pre>
<h3>設定情報を追加</h3>
<pre class="brush:bash">
[[ -s "$HOME/.rvm/scripts/rvm" ]] &#038;&#038; . "$HOME/.rvm/scripts/rvm"
</pre>
<pre class="brush:bash">
# rvm  install 1.9.3
# rvm  install 1.9.2
# rvm --default use 1.9.3
</pre>
<h3>RubyGemsのインストール</h3>
<pre class="brush:bash">
sudo /usr/local/rvm/bin/ruby setup.rb
gem update --system
</pre>
<h3>Mysqlのインストール</h3>
<pre class="brush:bash">
gem install mysql2
</pre>
<p>これの前提条件として</p>
<pre class="brush:bash">
yum install mysql mysql-server mysql-devel
</pre>
<p>が必要になる。</p>
<h3>Thinのインストール：Ruby専用サーバ</h3>
<pre class="brush:bash">
gem install execjs
gem install therubyracer
gem install thin
</pre>
<p>これでブラウザで画面がみれるようになれば完成です。しかし、Thinとは別にまたUnicornらしきものがでていることを知ったので勉強がてらいれてみることにします。それは後ほど。</p>
<p>■リファレンス<br />
 <a href="http://www.ruby-lang.org/ja/" target="_blank" class="advmk">http://www.ruby-lang.org/ja/</a><br />
 <a href="http://rubygems.org/" target="_blank" class="advmk">http://rubygems.org/</a><br />
 <a href="http://beginrescueend.com/" target="_blank" class="advmk">http://beginrescueend.com/</a><br />
 <a href="http://code.macournoyer.com/thin/" target="_blank" class="advmk">http://code.macournoyer.com/thin/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/3119/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>二人暮らしの部屋の参考画像</title>
		<link>http://blog.nakajijapan.net/archives/3115</link>
		<comments>http://blog.nakajijapan.net/archives/3115#comments</comments>
		<pubDate>Sun, 22 Jan 2012 07:30:42 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=3115</guid>
		<description><![CDATA[二人暮らしの部屋、インテリア・レイアウト参考画像集 [NAVER まとめ] http://tnmt.info さんから拝借してきた記事なんですが、勝手に要チェックさせていただきました。 将来はこんな家に住みたいです。 やるとしたら既存の家具はド返しでいろいろ考えないといけませんな。]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://matome.naver.jp/paste?id=2132573071725618901&#038;ver=2.0&#038;p=0&#038;g=0&#038;color=02&#038;size=01" frameborder="0" width="560" height="630" style="width:560px;height:630px;"></iframe>
<div data-na="NA:bottom"><a href="http://matome.naver.jp/odai/2132573071725618901" target="_blank" data-na="NL:undertitle">二人暮らしの部屋、インテリア・レイアウト参考画像集</a> <a href="http://matome.naver.jp" target="_blank" data-na="NL:matome">[NAVER まとめ]</a></div>
<p> <a href="http://tnmt.info" target="_blank" class="advmk">http://tnmt.info</a> さんから拝借してきた記事なんですが、勝手に要チェックさせていただきました。<br />
将来はこんな家に住みたいです。</p>
<p>やるとしたら既存の家具はド返しでいろいろ考えないといけませんな。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/3115/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacBookProに最近入れたコマンド</title>
		<link>http://blog.nakajijapan.net/archives/2969</link>
		<comments>http://blog.nakajijapan.net/archives/2969#comments</comments>
		<pubDate>Mon, 16 Jan 2012 17:14:46 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[brew]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=2969</guid>
		<description><![CDATA[tig コンソールで利用できる簡易レポジトリ閲覧ツールですかね brew install tig ack grepよりクールに検索してくれるコマンド（まだそんなに使ってないです） brew install ack tree これはいうまでもないですがディレクトリ構造ツリー上に表示してくれるもの。 brew install tree]]></description>
			<content:encoded><![CDATA[<h1>tig</h1>
<p>コンソールで利用できる簡易レポジトリ閲覧ツールですかね</p>
<pre class="brush:bash">brew install tig</pre>
<h1>ack</h1>
<p>grepよりクールに検索してくれるコマンド（まだそんなに使ってないです）</p>
<pre class="brush:bash">brew install ack</pre>
<h1>tree</h1>
<p>これはいうまでもないですがディレクトリ構造ツリー上に表示してくれるもの。</p>
<pre class="brush:bash">brew install tree</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/2969/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Sign error: Provisioning profile &#8220;hogehoge&#8221; can&#8217;t be found がでたとき</title>
		<link>http://blog.nakajijapan.net/archives/3089</link>
		<comments>http://blog.nakajijapan.net/archives/3089#comments</comments>
		<pubDate>Mon, 09 Jan 2012 08:57:19 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[objectiveC]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=3089</guid>
		<description><![CDATA[iPhone変更したからそれにともない鍵の更新が必要になった。 何も気にせずしようとしたらタイトルのようなエラーが発生したのでメモ。 hogehoge.xcodeproj/project.pbxprojファイルをテキストエディタで開きます。 「PROVISIONING PROFILE」なる部分をすでにiPhoneで設定されている鍵と合わせて変更すると解決する模様。 全部置換すて、無事解決しました。 ■参考URL http://ameblo.jp/iphone0126/en&#8230;&#8230;55082.html]]></description>
			<content:encoded><![CDATA[<p>iPhone変更したからそれにともない鍵の更新が必要になった。<br />
何も気にせずしようとしたらタイトルのようなエラーが発生したのでメモ。</p>
<p>hogehoge.xcodeproj/project.pbxprojファイルをテキストエディタで開きます。<br />
「PROVISIONING PROFILE」なる部分をすでにiPhoneで設定されている鍵と合わせて変更すると解決する模様。</p>
<p><img src="http://blog.nakajijapan.net/wp-content/uploads/2012/01/9aeaa01f4e4cdbc950cc30e879d1e7cf.png" alt="" title="Provisioning Profile" width="646" height="289" class="aligncenter size-full wp-image-3090" /></p>
<p>全部置換すて、無事解決しました。</p>
<p>■参考URL<br />
 <a href="http://ameblo.jp/iphone0126/entry-10862455082.html" target="_blank" class="advmk">http://ameblo.jp/iphone0126/en&#8230;&#8230;55082.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/3089/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2012</title>
		<link>http://blog.nakajijapan.net/archives/3061</link>
		<comments>http://blog.nakajijapan.net/archives/3061#comments</comments>
		<pubDate>Sun, 08 Jan 2012 19:01:17 +0000</pubDate>
		<dc:creator>monyu</dc:creator>
				<category><![CDATA[Diary]]></category>

		<guid isPermaLink="false">http://blog.nakajijapan.net/?p=3061</guid>
		<description><![CDATA[とうとう新年迎えてしまいましたね。時期外れのあけおめでありんす。とはいうものの年明けに出そうとはおもっていたのですがいろいろありすぎてなにを書けば良いのやらわかんなくなってしまってちょっとずつ思い出したこと何日もかけてだらだらと書いているので支離滅裂となるかもしれませんがどうかお許し下せぇ。 去年も１年、３６５日いろいろありましたね。うんいろいろあったよ。 一言で言うと結構「恥」をさらした１年だったではないでしょうか。 ・・・。 さーて今年も振り返ってみましょう。 去年はいくつものことをやり遂げ、決意して走り始めた１年だったんじゃないかなと思います。周りの同僚というとなにかとモチベーションの高いブラザーばかりでその股間から湧き出るような刺激をうけつつ、自分もあれをやりたい！という強い思いが相乗効果を生み出して前に進んでいったような気がします。 東京びんびん物語（意味不明）。 ・自分が作りたかったサービス作成しーの( http://frustration.me ) ・社内プレゼン大会「P-1グランプリ」に参加しーの （緊張だけが先行きしてテンションだけで乗り切ろうとしたこと誠にもうしわけございません。うぃーねb、、、すいません。） ・社内お産合宿に参加して初めてiPhoneアプリ（ http://owkr.info )を作成しーの。 （もうかりまっかぁ〜ぼちぼちでんなー） ・途中から自分のサービスをリニューアルしてもらった勢いでマッシュアップコンテストに参加しーの まぁプライベートは動きだしたなって感じです。 あ、人生の目標であったあの、あの、スピーカーを購入したこともありました。 これやー！ ちなみに社会人になりたてに購入したもの もうあれ以上の価値のあるスピーカを購入することはないでしょう。金銭的にどうのこうの問題よりマンションでその音が出せるか・引き出せるかって問題で結局十分引き出せない感じになるので購入することはないかな。でもスピーカ事態は映画鑑賞用にもろもろそろえていく予定です。まだセンタースピーカとウーファー（これは家におけるかな・・・）が残っています。 あと、これまた目標だったしっかりしたブルーレイプレーヤ（ユニーバーサルプレーヤ）を購入したこと。プレステだとフォーマットの変換のしかたに問題があったせいかうまくアンプでデコードがうまくいっていなかった。画質と言うよりかは音質向上のためにプレーヤーを購入しました。あとは映画見てるのにプレステの起動音が気になってしょうがなかった。あ、そうだったもう一つの決め手はピュアオーディオ向けにもハードが設計されていて2chの音楽を再生するときでもなんの問題もなく音楽が楽しめる設計になっていたのがよかったですね。映画も見たいし、音楽も聴きたいだけど部屋は狭いから多きのは置けない、そんな欲求に答えた一品です。 うーん、なわけで今年はもっともっと前に加速していこうと思います。 まず今年は ・自分で金になるサービスを一つ作ること （できるかな） ・アプリ・WEB・サーバ周りまで全部自分で構築してサービスを運営してみる （うぉーーーー） ・馬鹿アプリつーくろ （へへへ） ・自分のプチのサイトリニューアル （デスクトップページをどうにかしたいのと全体的にあたらしくしたいな） ・自分のページをリニューアル （rubyでごにょごにょする） ・疲れない ・親知らず亡くす！ ・センタースピーカ！！！ （余力がありばウーファー） ・自宅にあるwindows用のHDDを購入して復活させる！ 反面教師を見ているせいか３０歳まで時間がないので突っ走ります。 ではこのへんで http://www.facebook.com/photo&#8230;&#8230;.mp;theater]]></description>
			<content:encoded><![CDATA[<p>とうとう新年迎えてしまいましたね。時期外れのあけおめでありんす。とはいうものの年明けに出そうとはおもっていたのですがいろいろありすぎてなにを書けば良いのやらわかんなくなってしまってちょっとずつ思い出したこと何日もかけてだらだらと書いているので支離滅裂となるかもしれませんがどうかお許し下せぇ。</p>
<p>去年も１年、３６５日いろいろありましたね。うんいろいろあったよ。</p>
<p>一言で言うと結構<span style="font-size: xx-large;">「恥」</span>をさらした１年だったではないでしょうか。</p>
<p>・・・。</p>
<p>さーて今年も振り返ってみましょう。</p>
<p>去年はいくつものことをやり遂げ、決意して走り始めた１年だったんじゃないかなと思います。周りの同僚というとなにかとモチベーションの高いブラザーばかりでその股間から湧き出るような刺激をうけつつ、自分もあれをやりたい！という強い思いが相乗効果を生み出して前に進んでいったような気がします。</p>
<p>東京びんびん物語（意味不明）。</p>
<p>・自分が作りたかったサービス作成しーの( <a href="http://frustration.me" target="_blank" class="advmk">http://frustration.me</a> )<br />
・社内プレゼン大会「P-1グランプリ」に参加しーの<br />
（緊張だけが先行きしてテンションだけで乗り切ろうとしたこと誠にもうしわけございません。うぃーねb、、、すいません。）<br />
・社内お産合宿に参加して初めてiPhoneアプリ（ <a href="http://owkr.info" target="_blank" class="advmk">http://owkr.info</a> )を作成しーの。<br />
（もうかりまっかぁ〜ぼちぼちでんなー）<br />
・途中から自分のサービスをリニューアルしてもらった勢いでマッシュアップコンテストに参加しーの</p>
<p>まぁプライベートは動きだしたなって感じです。</p>
<p>あ、人生の目標であったあの、あの、スピーカーを購入したこともありました。</p>
<p>これやー！</p>
<p><a href="http://www.amazon.co.jp/gp/product/B002MTENI2?tag=daichibnejp-22&#038;linkCode=as1" target="_blank" title="JBL スピーカー 4429（ペア）"><img src="http://ecx.images-amazon.com/images/I/41S4DxVFZdL.jpg" width="337" height="286" alt="JBL スピーカー 4429（ペア）" /></a></p>
<p>ちなみに社会人になりたてに購入したもの</p>
<p><a href="http://www.amazon.co.jp/gp/product/B003Q08RX8?tag=daichibnejp-22&#038;linkCode=as1" target="_blank" title="JBL スピーカー 4312E（ペア）"><img src="http://ecx.images-amazon.com/images/I/51cjMcZ2XmL.jpg" width="337"  alt="JBL スピーカー 4312E（ペア）" /></a></p>
<p>もうあれ以上の価値のあるスピーカを購入することはないでしょう。金銭的にどうのこうの問題よりマンションでその音が出せるか・引き出せるかって問題で結局十分引き出せない感じになるので購入することはないかな。でもスピーカ事態は映画鑑賞用にもろもろそろえていく予定です。まだセンタースピーカとウーファー（これは家におけるかな・・・）が残っています。</p>
<p>あと、これまた目標だったしっかりしたブルーレイプレーヤ（ユニーバーサルプレーヤ）を購入したこと。プレステだとフォーマットの変換のしかたに問題があったせいかうまくアンプでデコードがうまくいっていなかった。画質と言うよりかは音質向上のためにプレーヤーを購入しました。あとは映画見てるのにプレステの起動音が気になってしょうがなかった。あ、そうだったもう一つの決め手はピュアオーディオ向けにもハードが設計されていて2chの音楽を再生するときでもなんの問題もなく音楽が楽しめる設計になっていたのがよかったですね。映画も見たいし、音楽も聴きたいだけど部屋は狭いから多きのは置けない、そんな欲求に答えた一品です。</p>
<p>うーん、なわけで今年はもっともっと前に加速していこうと思います。</p>
<p>まず今年は</p>
<p>・自分で金になるサービスを一つ作ること<br />
（できるかな）<br />
・アプリ・WEB・サーバ周りまで全部自分で構築してサービスを運営してみる<br />
（うぉーーーー）<br />
・馬鹿アプリつーくろ<br />
（へへへ）</p>
<p>・自分のプチのサイトリニューアル<br />
（デスクトップページをどうにかしたいのと全体的にあたらしくしたいな）</p>
<p>・自分のページをリニューアル<br />
（rubyでごにょごにょする）</p>
<p>・疲れない</p>
<p>・親知らず亡くす！</p>
<p>・センタースピーカ！！！<br />
（余力がありばウーファー）</p>
<p>・自宅にあるwindows用のHDDを購入して復活させる！</p>
<p>反面教師を見ているせいか３０歳まで時間がないので突っ走ります。</p>
<p>ではこのへんで<br />
 <a href="http://www.facebook.com/photo.php?v=1717831482929&amp;set=vb.1752517234&amp;type=2&amp;theater" target="_blank" class="advmk">http://www.facebook.com/photo&#8230;&#8230;.mp;theater</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nakajijapan.net/archives/3061/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

