RubyとSinatraではじめるWebアプリケーション開発の教科書

サポートページ (FAQ)

2024年3月18日更新

このページでは森北出版株式会社刊「RubyとSinatraではじめるWebアプリケーション開発の教科書」の サポート情報を掲載しています。

関連リンク

よくある質問とその答え

  1. 練習問題の回答がほしい。
    森北出版の商品紹介ページにPDFがありダウンロード可能です。

  2. Apple Silicon (M1/M2シリーズ)搭載のMacでUbuntu Serverが動かない。
    Apple Silicon対応版のVirtualBoxは2023年7月現在ベータ版(未完成品)扱いです。筆者のM2搭載Macbook Proでいろいろ試してみましたがx64版/ARM版ともに満足にLinuxを稼働させることはできませんでした。この問題はApple Silicon版のVirtualBoxの完成度が上がれば解消されると思います。幸いなことにmacOSは完全なUNIXですから、VirtualBoxを入れずとも本書のプログラム程度であれば試すことができます。こちらをご覧ください。

  3. bundle installしてもGemfileと同じディレクトリの ./vendor/bundle/ 以下に入らない
    Gemfileのあるディレクトリで以下のコマンドを一度入れておくと次からはbundle installだけで 本書の記述通り ./vendor/bundle/ 以下にインストールされます(本書のP.81に記述があります)。
    bundle config set path 'vendor/bundle'

2024年3月時点最新の環境(Ubuntu Server 23.10 + Ruby 3.3.0 + Sinatra 4.0 + Firefox 123)での検証と変更点への対策

  1. P.19の図2.22
    VirtualBox 7系を使用した場合、図2.22にあたる画面が変更されています。"自動インストールをスキップ"にチェックを入れて以降の操作を進めてください。


  2. P.28の箇条書き4
    本書内の記述: カーソルキーで"Ubuntu Server"を選択して[Enter]キーを押します。
    実際の操作: カーソルキーで"Try or Install Ubuntu Server"を選択して[Enter]キーを押します。

  3. P.30の箇条書き8の前
    箇条書き7と8の間に、"Choose type of install"という選択肢が表示されます。デフォルトで"Ubuntu Server"に(X)というチェックが入った状態なのでカーソルキーで"Ubuntu Server (minimized)"を選択してスペースキーを押すとこちらにチェックが入ります。カーソルキーで[Done]を選択して[Enter]キーを押してください。

  4. P.35の箇条書き17
    本書内の記述: [Reboot]
    実際の表示: [Reboot Now]

  5. P.37の1つめの黒い囲みの3行目
    $ sudo apt upgrade
    の最中に"Which services should be restarted?"と聞いてきますが単に[Enter]キーを押せばOKです。

  6. P.38の3つめの黒い囲み
    $ sudo apt install emacs-nox
    したあとで"General mail configuration type:"と聞いてくるのでキーボードから[1], [Enter]と入力してください。その後、"Which services should be restarted?"と聞いてきたら単に[Enter]キーを押してください。

  7. P.41の1つめの黒い囲みの3行目
    足りないパッケージを追加でインストールする必要があります。
    本書内の記述: $ sudo apt install libssl-dev libreadline-dev zlib1g-dev gcc g++ make
    実際の入力(後ろの3つを追加してください): $ sudo apt install libssl-dev libreadline-dev zlib1g-dev gcc g++ make git libffi-dev libyaml-dev

  8. P.42の1つめの黒い囲み
    以下のようにしてRuby 3.3.0を入れてください。
    $ rbenv install 3.3.0
    $ rbenv global 3.3.0
    $ rbenv rehash

  9. P.82とP.83のGemfile
    bundle initして生成されるGemfileには本書の5行目の"git_source..."という記述がありませんがそのままでかまいません。

  10. P.83のGemfile
    8行目のgem "webrick"の後に
    9行目としてgem "rackup"を追加してください。
    以降、gem "webrick"を追加すべき部分(P.113, 151, 161, 170, 190)はすべて同様にgem "rackup"を追加してください。

  11. P.147の1つめの黒い囲み
    telnetがインストールされていませんので、ターミナルから
    sudo apt install telnet
    と入力してtelnetをインストールしてください。

  12. P.151のsessiontest.rb
    プログラムをそのまま実行すると、"in `initialize': invalid secret: 3, must be >=64 (ArgumentError)"というエラーになります。4行目の
    secret: 'xxx'
    のxxxという部分を64文字以上にしてください。

  13. P.152
    本書内の記述: まず、Firefoxのメニューボタンから[ウェブ開発]→[ウェブ開発ツール]をクリックします。
    実際の操作: まず、Firefoxのメニューボタンから[その他のツール]→[ウェブ開発ツール]をクリックします。

  14. P.152の7.4.1章
    Sinatra 3.0以降でcookieの中身が暗号化されるようになりました。よって、残念ながら7.4.1章の手順でcookieに保存されている中身を確認することができなくなりました。

  15. P.161のjmail.rb
    P.151のsessiontest.rbと同様です。7行目の
    secret: 'abcdefghij0123456789'
    のabcdefghij0123456789という部分を64文字以上にしてください。

  16. P.167の8.2章
    7.4.1章と同様、Sinatra 3.0以降でcookieの中身が暗号化されるようになったため、8.2章の手順でcookieの書き換えを行うことができなくなりました。




以上