Rails 4.2.8にしたら外部からアクセスできなくなった

Rails を 4.1.4 から 4.2.8(4.2 系の最新版)にアップデートしたら、rails s で起動したサーバに外部(ほかの PC)からアクセスできなくなっていた。4.2 で挙動が変わったらしい。

 cf. rails sで起動したサーバにブラウザからアクセスできない – Qiita

上の参考ページにあるように、-b オプションをつければいい。

takatoh@envelopes $ bundle exec rails s -b 0.0.0.0

Elixir 練習問題 ControlFlow-3

こんな感じでいいかな。

defmodule OK do
  def ok!({:ok, data}), do: data
  def ok!(_), do: raise("Error occured.")
end

file = OK.ok! File.open("somefile")
^o^ > elixir practice_12_3.exs
warning: variable file is unused
  practice_12_3.exs:6

** (RuntimeError) Error occured.
    practice_12_3.exs:3: OK.ok!/1
    (elixir) lib/code.ex:363: Code.require_file/2

ちなみに、somefile の代わりに存在するファイルで試してみると次のようになる。

^o^ > elixir practice_12_3.exs
warning: variable file is unused
  practice_12_3.exs:6

エラーは起きない。警告が出てるのは file 変数を使ってないからだね。

Elixir 練習問題 ControlFlow-1

気が付けば前回の Elixir のエントリからひと月も経ってしまった。
ま、気を取り直して。FizzBuzz を case を使って書け、と。

defmodule FizzBuzz do
  def fizzbuzz(n) do
    case {rem(n, 3), rem(n, 5), n} do
      {0, 0, _} -> "FizzBuzz"
      {0, _, _} -> "Fizz"
      {_, 0, _} -> "Buzz"
      {_, _, m} -> to_string(m)
    end
  end
end

(1..20)
  |> Enum.each(&IO.puts(FizzBuzz.fizzbuzz(&1)))
^o^ > elixir practice_12_1.exs
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz

結局PCを買い換えた

先週の金曜日に起動しなくなってしまったメインマシン(apostrophe)、土曜日に DELL のサポートに電話してやり取りした結果、DELL に送って修理が必要ということになった。で、どのくらいかかるのかときいたら、期間にして2週間、費用にして3〜4万円(サポート期間が過ぎているので有償)という回答だった。
少し考えたけど、そんなにかかるなら買ってしまったほうがいい。DELL の即納モデルなら1週間もすれば届くだろうし、ちょうど春の割引キャンペーンをやっているので本体だけなら4万円をちょっと超えるくらいだ。
というわけで、一昨日届いた。昨日は時間がなかったので、今日セットアップ。プリインストールの Windows 10 のリカバリメディア(何故か USB フラッシュメモリしか選べないので急いで買ってきた)を作っておいて、Windows はさっくり削除して Ubuntu 16.04 LTS をインストールした。とりあえずは最低限のセットアップが終わったところ。あとは時間を見て環境を整えていこう。
あ、ホスト名は envelopes にした。
それにしても出費が続くなぁ。