Rails Tutorial

railstutorial.jp

日本語訳、すごいね。

第一章をやってみた。
Heroku にあげるときに、以下のエラーが出た。

/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rubygems/dependency.rb:296:in `to_specs': Could not find '
spring' (= 1.4.3) among 59 total gem(s) (Gem::LoadError)

spring は production には入れていないのになぜこのエラーが。
Gemfile.lock で DEPENDENCIES に入っているから?
仕方無いので、production に以下を記述で解決させた。

gem 'spring', '1.4.3'

f:id:yossk:20151118214432p:plain

.ssh/config で設定簡単使い分け

GitHub も Bitbucket も全然使いこなしてないけど、ssh で簡単に使い分けたい。
.ssh/config で設定すれば良いようだ。

.ssh/config

Host for_git
  User git
  Port 22
  HostName github.com
  IdentityFile ~/.ssh/git_key
  TCPKeepAlive yes
  IdentitiesOnly yes

Host for_bb
  User git
  Port 22
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket_key
  TCPKeepAlive yes
  IdentitiesOnly yes

こんな感じに設定しておいて、リモートリポジトリを設定するときにこんなふうに。

git remote add origin for_bb:username/repository_name.git

あら簡単!

Ruby 参照の値渡し

マニュアルのStringの項でも、(そのものの名前は書いていないが、例が)最初の方に書いてるし、これを勘違いして間違うの恥ずかしいよね、と思ったら過去自分が書いたコードで以下のような間違いをしていたのを見つけた。
間違っていても影響がないところだったのでよかったが、我ながらショック・・・。

Rubyist Magazine - 値渡しと参照渡しの違いを理解する

class String (Ruby 2.2.0)

間違った例

a = 'aaa'
b = a
b.gsub!('a', 'b')
puts a, b #=> bbb bbb

こんな用途で使いたいなら、dup で OK。
instance method Object#clone (Ruby 2.2.0)

Rails Girls の サンプルを試す

ちょっとやってみた。とっても勉強になった。

Rails Girls - Japanese

footer については、 Bootsrap の example を参考にした。

getbootstrap.com

Sticky Footer Navbar Template for Bootstrap

この example ページ、実は見た事なかったので、とても勉強になった。
なんでもやってみるものだ。

f:id:yossk:20151115213602p:plain

Postfix で IPv6 無効化

Network で IPv6 無効化 していたので、Postfix が起動しなくなっていた。

  • /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

以下サイトより。
Postfixのぺーじ−ホーム
Postfix IPv6サポート

# inet_protocols = all
inet_protocols = ipv4

これで Postfix 再起動で解決。

Effective Ruby

Effective Ruby

Effective Ruby

やっと全部読んだ。
正直あまり面白い本だとは思わなかったので、まだ自分のレベルに見合っていないのだと思う。

メタプログラミングとテストについては以下の本を読んだ方が良い。

メタプログラミングRuby 第2版

メタプログラミングRuby 第2版

leanpub.com