give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

下の親知らずを一本抜いてきたので体験談をまとめてみる

最近親知らずを抜いたので簡単に記録を残しておきます。

なんで抜いたのか?

僕は以前から4ヶ月おきに歯医者さんで歯の定期健診を受けてます。
で、去年ぐらいから歯医者さんに「そろそろ親知らずを抜いた方がいいですよ」と言われるようになりました。

歯医者さん曰く、

  • 僕の下の親知らずは横向きに生えてきていて、親知らずでない一番奥の奥歯とぶつかっている
  • 親知らずと奥歯の間に虫歯があると、完全に影になってしまい、歯医者さんでも見つけづらい
  • レントゲンを撮って調べる方法もあるが、小さい虫歯だとそれでも見つけづらい
  • 親知らず自体が虫歯になるリスクより、その隣の奥歯が虫歯になってダメになるリスクの方が恐い

とのことです。

イメージ的にはこんな感じですね。

歯を抜くのは嫌ですが、「たしかに健康な奥歯が虫歯になると困るよな〜」と思ったので、意を決して抜歯することにしました。

ちなみに、上の親知らずも生えてるんですが、こちらはまっすぐ生えていて特に悪さをしていないので、まだ抜かなくても大丈夫みたいです。

あと、「何もしなくても親知らずが痛む」という人もいるみたいですが(僕の妻がそうだった)、僕の場合痛みはありませんでした。
そういうこともあって「別に現時点では何も困ってないから、わざわざ抜歯するなんてイヤや〜!」と思っていました。

抜歯は歯医者さんではなく口腔外科にした

抜歯はいつも行ってる歯医者さんではなく、地元の市民病院にある口腔外科(こうくうげか)で抜歯してもらうことにしました。

というのも、以前妻が親知らずの抜歯をしたときに、歯医者さんではめちゃくちゃ時間がかかって苦労した(さらに、そのあとの痛みもひどかった)のに、口腔外科で抜いてもらったら比較的スムーズに済んだからです(ちなみに妻は親知らずを4本とも抜いてます)。

そういった事前情報を知っていたので、「親知らずを抜くなら絶対口腔外科で!!」と決めていました。

というわけで、歯医者さんに紹介状を書いてもらい、口腔外科に行って抜歯の日を決めてきました。

ちなみに、レントゲンを一緒に眺めつつ、口腔外科の先生に「これだと何分ぐらいかかりそうですか?」と尋ねたところ、「30分から1時間ぐらいですかね〜」と言われました。

帰りに受け取った予約票には「智歯抜歯」と書いてあって、「親知らずって智歯(ちし)っていうんだ。へえ〜」と新たな知識をひとつ仕入れました。

社内の同僚に「どうだった?」って聞いて回った

とはいえ、恐いものは恐いので、社内の掲示板で「今度親知らずを抜くんですが、みんなどんな感じでした?体験談をお待ちしています」と書き込んでみました。するといろいろと同僚の体験談が集まってきました。

「下の親知らずでも5分ぐらいでスムーズに抜けました」という人もいれば、「3時間ぐらいかかりました」みたいな人もいて、「なるほど、人それぞれやな……。」という感想でした。

とはいえ、みんな無事に生還しているので、「親知らずを抜いて死ぬ」とか「後遺症で数年苦しむ」みたいなことはなさそうなことはわかりました(苦笑)。

ちなみに、親知らずを抜くのはこれが初めてではない

ちなみに、僕は15年前ぐらいに下の親知らずを1本抜いたことがあります。
そのときは今通ってる歯医者さんとは別の歯医者さんで抜いたんですが、1時間半ぐらいかかって疲労困憊した記憶があります。

かなり昔のことなので記憶も薄れてきていますが、とにかく時間がかかってしんどかった、という記憶だけは残っています。

その経験もあって、「親知らずを抜くなら絶対口腔外科でしょ!!」と考えています。

ネットの体験談やYouTube動画も参考にした

どういったきっかけで見つけてきたのかは忘れましたが、同じITエンジニア業界の「親知らず抜きましたブログ」も参考にさせてもらいました 🙏

tanaken0515.hatenablog.com
achamixx.com

これぐらいの労力で抜けるなら、まだ大丈夫かな〜と思いました。

でも、mizchiさんの症例は大変だったみたいで、レアケースとはいえ、ちょっと用心しないとな、という気持ちになりました(これは本当に大変そう😰)。
mizchi.hatenablog.com

あと、あちゃさんのブログにも載っていた「歯医者さんによる抜歯解説動画」も見てみました。
(少し生々しいのであえてサムネイル画像は載せません)

【横浜戸塚 内藤歯科】埋伏親知らずの抜歯の説明 - YouTube

いい予習にはなりましたが、それと同時に「ひえ〜、めちゃこええええ!!!」という気持ちになったので、見るかどうかはみなさんの判断に任せます😅

いよいよ抜歯当日!!

そしていよいよ抜歯の日がやってきました。
「口腔外科」というと何か手術室のようなところに入っていくようなイメージがありますが、雰囲気は町の歯医者さんと大きく変わりません。歯医者さんによくある「背もたれがウイ〜ンと倒れる椅子」に座って治療を受けます。

そして抜歯開始。

抜歯中は麻酔がしっかり効いているので痛みはありませんでした。
ただ、YouTube動画で予習していたせいか、「あ〜、今は口の中であんなことしてるんだろうな〜」という想像は付きました(苦笑)。

とりあえず、

親知らずを一部切断する → 親知らずを引っ張り出す
親知らずを一部切断する → 親知らずを引っ張り出す
親知らずを一部切断する → 親知らずを引っ張り出す
親知らずを一部切断する → 親知らずを引っ張り出す
親知らずを一部切断する → 親知らずを引っ張り出す

みたいな作業を5〜6回繰り返しているのはなんとなくわかりました。
親知らずは横向きに生えてるんで、歯を切らないと引っ張っても抜けないんですよね(というのを動画で予習しました)。

親知らずを引っ張る最中、たまにアゴの奥の方で「ピキピキッ」と変な音が聞こえることがあったのが少し不気味でした😅

あと、親知らずを引っ張り出すのはすごく力がいるみたいで、「先生、めっちゃ力入れて引っ張ってるな」ということもわかりました。口腔外科医は体力仕事なのかもしれません。

抜歯中はいつ終わるのかわからず、「もしかして難航してる?このまま長時間続いて麻酔が切れ始めたらどうしよう??」とか思って若干焦りましたが、しばらくすると先生から「全部抜けたので、縫合したら終わりますよ〜」と言われてほっとしました。

正確な時間は計っていませんが、たぶん40分ぐらいで終わったと思います。
親知らずの抜歯としてはスムーズな方だったんじゃないでしょうか。

術後の経過:抜歯当日

抜歯をしたのは午後2時ぐらいでした。
「たぶん当日はグロッキーで仕事にならんだろう」と予想していたので、最初から午後は仕事を休むことにしていました。

帰宅後、麻酔が切れる前に痛み止めを飲んでしばらく寝ていました。

夕食のときまで麻酔がまだ軽く残っていたのか、ほとんど痛みらしい痛みを感じなかったのですが、ご飯を食べてる最中(晩の6時頃)に少し抜いたあたりがうずいてきました。
というか、ご飯を食べるときにもぐもぐとアゴを動かすのが痛みの原因になった気がします。

ご飯が食べ終わってしばらくすると、痛みはまたマシになってきました。

ちなみにあまり歯に負担がかからないよう、ナイフとフォークを使って食べ物を小さく切り刻みながら食べました。
これは社内掲示板で仕入れた知識の一つです(苦笑)。
食べ物を噛むときは顔を傾けて抜歯してない方の歯で噛むように頑張ってました。

あと、歯磨きや歯磨き後のゆすぎを強くすると抜歯した部分のかさぶた(血餅=けっぺい)が取れて痛みの原因なるそうなので(これをドライソケットというらしい)、電動歯ブラシを軽く当てるようにして歯を磨きました。
電動歯ブラシを使うと口の中でゴシゴシと歯ブラシを動かさなくて済むので、抜歯した人は電動歯ブラシを使うといいかもしれません。

その日は就寝前にまた痛み止めを飲んで寝ました。

術後の経過:抜歯翌日

寝てる間に歯が痛み出して寝られなかったらどうしよう、と心配しましたが、痛みはほとんどなかったのでふつうに寝ることができました。

抜歯当日と同じく、

  • 食べ物はナイフとフォークで小さく切って食べる
  • 顔を傾けて抜歯してない方の歯で噛む
  • 電動歯ブラシを軽く歯に当てて歯ブラシをする
  • 歯磨き後のゆすぎを強くしない
  • 痛み止めは朝昼晩3回飲む

みたいな生活をしていました。

やはり食事中にアゴを動かすと「ちょっと痛いなあ」と思いましたが、食事中以外は痛みらしい痛みはほとんどありませんでした。
術後の経過はなかなかいい感じ!

術後の経過:2日後

どうやら「痛み止めが切れてくると痛くてたまらん!」みたいな雰囲気もないので、2日後から痛み止めを飲むのをやめました。
あと、口腔外科の先生からは「翌日からはふつうに生活していいですよ」と言われていたので、ぼちぼちふつうの生活に戻していくことにしました(ビビりなので、翌日はまだ用心していましたw)。

まだ若干痛みは残ってましたが、食事もふつうに左右の歯で噛むように戻しました。

歯の痛みに関しては「そりゃ痛いと言えば痛いが、日常生活に支障が出るほどではない」という感じです。
食事の時を除けば、あくびが出たりして口をあーんと大きく開けようとすると「あいてて」となるぐらいですね。
あと、歯を抜いた方のほっぺたを強く押さえると少し痛んだりとか。

それから、顔は若干腫れました。
「下の歯茎と頬の間にあめ玉でも挟んでるの?」みたいな、ぽこっとした膨らみができてました。
とはいえ、真正面からじ〜っと見たら「ん?ああ、たしかに腫れてますね」って気付くぐらいのレベルかな〜。
決して人相が変わるとか、そういった深刻な腫れ方ではなかったです(苦笑)。

術後の経過:3〜6日後

日にち薬みたいな感じで、「痛みはゼロではないが、だんだんマシになってきてるかな」という印象。

顔の腫れは術後4〜5日ぐらいで治まったかな?

6日後には口腔外科に行って、口の中の抜糸(抜歯ではなく抜糸)をしてもらいました。

先生からも「抜歯後の傷跡も特に問題ないですね。順調そうです」と言われてほっとしました。

術後の経過:7〜14日後

それでもまだ少し痛いというか、下の歯を抜いたはずなのにたまに「これ、上の歯が痛くなってない?」みたいな、少し奇妙な痛みが続いていましたが、この痛みも徐々に消えていきました。

そして、今日でちょうど抜歯から2週間が経ちましたが、現在は痛みに関してはゼロです。
術後10日ぐらいで痛みはほぼ消えたかな〜と思います。よかったよかった。

まとめ

というわけで、このエントリでは僕の「親知らず抜歯体験談」を語ってみました。
もちろん個人差はあると思うので、誰もがこのとおりになるとは限りませんが、親知らずの抜歯を考えている人の何か参考になれば幸いです。

たしかに歯を抜くのは恐いですし、術後の痛みも多少はありますが、終わってみると思ったほどではなかったので、「これならもうちょっと早くやってても良かったかな〜」という気持ちもあります。
親知らずのせいで健康な歯がやられてしまうと大変なので、やはり親知らずは早めに抜いた方が良いかもしれません。

親知らずがまだ残っている人はかかりつけの歯医者さんと相談してみてください!

銀座Rails#41で「Rubyプログラミング問題にチャレンジ!公開コードレビュー」という発表をしました #ginzarails

2022年1月25日に開催された銀座Rails#41で『銀座Rails版「Rubyプログラミング問題にチャレンジ!」公開コードレビュー』という発表をしてきました。

ginza-rails.connpass.com

当日使ったスライドはこちらです。


どんな発表だったの?

この発表は事前に募集していたプログラミングのお題を参加者のみなさんに解いてもらい、それを僕がレビューするという発表でした。
この発表で使ったお題は「点字メーカープログラム」です。上のスライドでもこのお題の仕様を説明しています。

github.com

当日は「一番コード量(バイト数)が少ないプログラム」ということで、pofkumaさんのコードをレビューさせてもらいました。

github.com

また、Qiitaのアドベントカレンダーでも同じようにこの「点字メーカープログラム」で自分が書いたコードと解説記事を書いてもらう、という企画をやっていました。

qiita.com

この企画でTop Contributor賞(僕が一番いいと思ったコードを選んだ賞)を取った、はるぐちさんのコードも紹介させてもらいました。

qiita.com

僕の模範解答も紹介しました

さらに、僕が書いた模範解答も紹介&解説しました。今回僕が書いたコードはこんな感じです。

# lib/tenji_maker.rb
require_relative 'tenji'

class TenjiMaker
  def to_tenji(text)
    tenji_list = text.split(' ').map { |romaji| Tenji.new(romaji) }
    join(tenji_list)
  end

  private

  def join(tenji_list)
    tenji_list
      .map { |tenji| tenji.to_s.split("\n") }
      .transpose
      .map { |row| row.join(' ') }
      .join("\n")
  end
end
# lib/tenji.rb
class Tenji
  DAN = {
    'A' => 0b100000, 'I' => 0b101000, 'U' => 0b110000, 'E' => 0b111000, 'O' => 0b011000,
  }

  GYO = {
    'K' => 0b000001, 'S' => 0b000101, 'T' => 0b000110, 'N' => 0b000010,
    'H' => 0b000011, 'M' => 0b000111, 'Y' => 0b010000, 'R' => 0b000100,
  }

  def initialize(romaji)
    @romaji = romaji
  end

  def to_i
    case @romaji.chars
    in ['Y' => gyo, 'A' | 'U' => dan] then GYO[gyo] | (DAN[dan] >> 4)
    in ['Y' => gyo, 'O' => dan]       then GYO[gyo] | (DAN[dan] >> 2)
    in ['W', 'A' => dan]              then DAN[dan] >> 4
    in [gyo, dan]                     then GYO[gyo] | DAN[dan]
    in ['N']                          then 0b000111
    in [dan]                          then DAN[dan]
    end
  end

  def to_s
    sprintf('%06b', to_i).tr('01', '-o').scan(/../).join("\n")
  end
end

僕の模範解答のポイントは以下のとおりです。

  • ローマ字→点字の変換ルールはTenjiクラスにカプセル化した
  • 点字は6ビットの2進数として扱った(ドットの番号は横読みに置き換えた)
  • 母音(段)と子音(行)の各数値をビット演算の論理和で合成した
  • ローマ字を母音と子音に分解する際の条件分岐をパターンマッチで実装した

詳しい話は冒頭に載せたスライドで解説しています。

モブプロならぬ、モブコードレビュー!?

公開コードレビューということで、当日は僕があれこれ意見を述べるだけでなく、Twitter上で参加者のみなさんにも「このコード、好き!」とか「僕だったらこう書くなあ」といった観戦ツイートを積極的に投稿してもらうようにお願いしました。

当日のみなさんのツイートはこちらのページにまとめてあるので、こちらもあわせてご覧ください。

togetter.com

動画もあります

当日の発表の様子はYouTubeで公開しています。当日参加できなかった、という方はこちらの動画をチェックしてみてください。


さらに:提出してもらったコードを全部レビューしてみました

当日は時間が限られていたため、pofkumaさんのコードしかレビューできませんでしたが、後日、他のみなさんのコードもレビューしてみました。
以下のページでみなさんに提出してもらったプルリクエストに僕がコメントを入れています。

github.com

すでにノスタルジー?すごく懐かしい気持ちになった懇親会

本編も興味深い発表がたくさんあったのですが、今回僕にとって一番楽しかったのはもしかすると本編後の懇親会だったかもしれません。

本編と同様、懇親会も当然オンラインだったのですが、他の登壇者のみなさんを中心に「privateメソッドを一段インデントするのはアリ?」とか「メソッドチェーンを書くときは最初に改行する?しない?」みたいな些細なテーマで「あーだこーだ」と延々とおしゃべりしてました。

懇親会を終えた後「そういや、コロナ禍以前はピザか何かを突っつきながらこんなふうに技術ネタを話してたなー。懐かしいなー」という思い出がよみがえってきました。

コロナ禍続きでそんなことをやってたのをずっと忘れてた。ちょっとノスタルジックな気分になった。いつになったらかつての日常は戻ってくるのだろうか・・・みたいなことをふと考えてしまいました。

まとめ

というわけで、このエントリでは銀座Rails#41で発表した『銀座Rails版「Rubyプログラミング問題にチャレンジ!」公開コードレビュー』について、いろいろ書いてみました。

去年はコロナだったり、チェリー本の執筆だったりでほとんど登壇してなかったので、(事前準備がほとんどいらないパネルディスカッションへの参加はいくつかあったものの)きっちりスライドを作り込んでお話しする登壇はかなり久しぶりでした。
そのせいか、発表の仕方やスライドの作り方の「勘」を取り戻すのにちょっと時間がかかりましたが、なんとか無事に終えることができてほっとしました。

当日参加してくださったみなさん、どうもありがとうございました。
ちなみに、イベントページを見ると参加者数が252人になっていて、あまりの多さにビックリしました!
f:id:JunichiIto:20220202110706p:plain:w350

運営の @morimorihoge さんにも感謝します。
おかげさまで当日はオンラインでもスムーズに発表することができました。
どうもありがとうございました。

いつになるかわかりませんが、そのうちまたRSpecやRubyMineの発表でもできたらな〜と思っています。
そういった機会があれば、ぜひみなさん参加してやってください😄

PR:「プロを目指す人のためのRuby入門 改訂2版」を読めば模範解答のコードが全部わかる!

当日の発表でも宣伝しましたが、僕の模範解答は去年発売された「プロを目指す人のためのRuby入門 改訂2版」を読めば、全部理解できる内容になっています。
とくに、僕のコードの中で重要な役割を果たしたパターンマッチについてはかなり詳しく説明しています。

f:id:JunichiIto:20220202112042j:plain

まだ読んでいない方はぜひチェックしてみてください!

Rails 7.0に対応した「Everyday Rails - RSpecによるRailsテスト入門」をリリースしました!

僕が翻訳しているRSpecの入門本「Everyday Rails - RSpecによるRailsテスト入門」をアップデートしました。
すでに本書をお持ちの方はLeanpubから最新版をダウンロード可能です。

leanpub.com

このエントリでは今回のアップデートの注目ポイントを5つ紹介していきます。
また記事の最後には期間限定の割引情報も載ってます!
追記:記事内でお知らせしていた割引キャンペーンは2022年5月8日に終了しました。

【もくじ】

ポイントその1:サンプルアプリやサンプルコードが最新のRailsとRSpecに対応!

今回のアップデートではサンプルアプリとサンプルコードが最新のRailsとRSpecに対応しました。
Railsのバージョンは7.0に、RSpec(rspec-rails)のバージョンは5.0にそれぞれアップデートしています。
また、Rubyのバージョンも最新の3.1.0で動作することを確認しています。

コードを確認したい人は以下のGitHubリポジトリにアクセスしてください。

github.com

ポイントその2:統合テストをフィーチャスペックからシステムスペックに変更!

これまで統合テストはフィーチャスペックを使ってテストしていましたが、rspec-rails 3.7でシステムスペックが導入されて以来、フィーチャスペックは徐々にレガシーな機能になってきました。
そこで、今回のアップデートではこれまでフィーチャスペックで書いていたテストコードをすべてシステムスペックに書き直しています。
加えて、フィーチャスペックをシステムスペックに移行する手順も書籍内で紹介しています。


ポイントその3:ファイルアップロード機能をPaperclipからActive Storageに変更!

以前のサンプルアプリケーションではファイルアップロード機能をPaperclip gemを使って実現していました。
しかし、Paperclipはすでにメンテナンスが止まってしまい、現在は非推奨なgemになっています。
そこで今回のアップデートではサンプルアプリケーションの実装と書籍内のサンプルコードをRails標準のActive Storageを使うように変更しています。


ポイントその4:その他、最新バージョンのgemを使うように内容をリニューアル!

前回のアップデートは2017年11月だったため、RailsやRSpecのみならず、いろいろなgemがすでに古くなってきていました。
そのため、環境構築時にエラーが出て手を取られたり、サンプルコードがそのままでは一部動かなくなったりするなど、読者のみなさんにご不便をかけてしまう部分がありました。

今回のアップデートでは2022年1月時点で最新のgemを使っているので、gemが古くて動かないとか、サンプルコードがそのままでは使えない、といった問題は起きなくなっているはずです。

たとえば、FactoryBotのファクトリ定義もちゃんと{ }で囲む形になりました。


ポイントその5:PDFファイルのフォントを変更!

今回のアップデートからPDFファイルのフォントがNoto SerifとNoto Sans Monoに変わりました。
また、コードフォントの大きさや行間も見直しています。
この変更により以前より読みやすくなったと思うのですが、いかがでしょうか?


さらに:原著から公式にフォークしたため、今後は日本語版独自にアップデート可能!

実は上で述べてきた変更点はすべて日本語版独自のアップデート内容です。
原著者のAaronさんにお願いして、日本語版を独自にフォークすることを了承してもらっています。
これにより、内容が古くなってきた部分が出てきたら、原著のアップデートを待たずに日本語版だけを独自にアップデートすることができるようになりました。
将来的には日本語版独自の追加コンテンツとして、GitHub Actionsの導入方法やDocker環境での実行方法なども解説できたらいいな〜と思っています。

ちなみに、今回のアップデートを機に翻訳チームの体制も変わりました。これまでは僕とAki(秋元利春)さんと魚振江さんの3人体制でしたが、ここ数年は翻訳者(メンテナ)として稼働しているのが僕一人だったため、クレジット上も僕一人に変更しています。

翻訳者本人による推薦の言葉

今回のリニューアル作業を通じて、久しぶりに「Everyday Rails - RSpecによるRailsテスト入門」を最初から最後まで読み直しました。
改めて読んでみると、本書はRSpecの入門書としてとてもいいコンテンツだなと感じました。

内容がとても実践的で、この本の内容を一通り理解していればプロの現場で必要とされるRSpecの知識の8割ぐらいは十分カバーできると思います。
僕も本書を読みながら、「そうそう、こういうテスト、結構必要になるもんね〜」とたくさん頷いてしまいました。
残りの2割は公式ドキュメントやネット上の情報などを通じて自力で習得する必要がありますが、基本的な事項がちゃんと理解できていれば応用的な知識の習得も難しくないはずです。

そもそも、僕自身が実は「Everyday Rails - RSpecによるRailsテスト入門」の原著を読んでRSpecの勉強した人の一人だったりします。
8年以上前の話ですが、最初に本書を読んだときの感想は以下のエントリに書いています。

blog.jnito.com

この本と出会わなければ、RSpecを習得するのにはもっと時間がかかっていたと思います。
もちろん、ネットの情報が充実してきた昨今ではネット上の情報だけでもある程度勉強を進めることはできますが、知識の断片をかき集めながら勉強するような形になってしまいます。
こうやって書籍の形で体系的にテストコードの書き方を学べるのはネット上の情報だけでは得られない、本書ならではの利点だと僕は考えています。

Everyday Railsに関するQ&A

Everyday Railsをまだご存じでない方のために、よくある質問と回答をまとめてみました。

Q. 試し読みはできるの?

はい、できます。
こちらのページで1章から3章までの内容が公開されています。

https://leanpub.com/everydayrailsrspec-jp/read_sample

Q. どこで買えるの?紙の本はないの?

本書はLeanpubというセルフパブリッシングサイトのみで購入可能です。
具体的には以下のページになります。

leanpub.com

電子書籍版のみなので、紙の本では売っていません。
また、Amazonを探してもAmazonにはありません。

Q. どんなデバイスで読めるの?

電子書籍のフォーマットはPDF、EPUB、MOBIの3種類です。
ですので、PCにインストールされたPDFリーダーや、EPUB版であればMacやiOSのBooks app等で読むことができます。

EPUB版をMacのBooks appで表示した場合の例

また、以下のページを参考にすればKindleでも読むことができるはずです(すいません、僕はKindleを持ってないので未検証です💧)。
How do I get Leanpub books on my Kindle, or into the Kindle app on my phone or tablet? | Leanpub Help Center

Q. 最低価格と希望価格って何?

Leanpubは購入者が自由に購入価格を設定できる、ユニークな仕組みを持っています。
最低価格は文字通り、「最低でもこれだけは払っていただきたい」という購入金額で、希望価格は「著者としてはこの価格で購入してもらえると嬉しい」という購入金額になります。

こんなふうに購入ページにあるスライダーを左右に動かすことで、購入金額を上下させることができます。

ちなみにLeanpubはアメリカの会社なので販売価格はUSドルになります。
そのため日本円での購入金額は為替の影響で変動することがあります。

Q. 最低価格で購入しても大丈夫ですか?(ケチな奴って思われませんか?)

全然大丈夫です!(笑)

最低価格は作者が「これで良い」と考えて設定した金額ですので、遠慮なく最低金額を指定していただいて結構です。
(もちろん、スライダーを右に動かしてもらうほどありがたいですがw)

また、誰がいくらで購入したのかはわからないようになっているので、「ケチな奴」と思われる心配もありません!
安心してご自身の考える購入価格で購入してください。

Q. ときどき内容が無料でアップデートされるって本当?

はい、本当です。
本書を一度購入すれば、最新版の電子書籍ファイルを無料でダウンロードすることができます。
大きめのアップデートが行われた場合はメールで通知されますので、Leanpubにログインして最新版の電子書籍ファイルをダウンロードしてください。

メールが届いていない場合は以下の手順でアップデートできます。

1. 画面上のメニューからLibrary > Booksを選択する

2. 未ログインであればログイン画面が表示されるのでログインする

3. Everyday Railsを選択して"Read this book"からダウンロードしたいファイルを選択

Q. チーム内で回し読みするのって、ありですか?

ライセンスに従った共有スタイルであれば「あり」です。
企業の開発チームなど、複数人で本書を共有したい方のために「チームパッケージライセンス」を用意しているので、こちらをぜひご購入ください。
具体的にどんなライセンスになっているのかは、ランディングページ内の「チームパッケージライセンスについて」の項で説明しています。

leanpub.com

Q. 画面が英語なので買い方がわかりません😣

Leanpubのサイトは基本的に英語で表示されています。
英語が読めないので買い方がわからないという方は、Tomoyukiさんが書かれたこちらの記事を参考にしてください。
スクリーンショットなどを交えてわかりやすく買い方を説明してくれています。
(Tomoyukiさん、どうもありがとうございます!)

tomoyuki65.com

(終了しました)One more thing... 期間限定で最低価格を16.99ドルにします!🎉

ここまで読んでくれたみなさんに耳寄り情報です。

今回のアップデートを記念して、期間限定で本書の最低価格を19.00ドルから16.99ドルに変更します。
終了日はまだ決めていませんが、ある日突然終了するかもしれないので、まだお持ちでない方はお早めにご購入ください!

本書をすでに持っている人も、SNS等でこのブログ記事を拡散してもらえると嬉しいです!🙏

まとめ

というわけで、このエントリでは日本語版独自のアップデートを実施した「Everyday Rails - RSpecによるRailsテスト入門」の内容を紹介してみました。
原著の初版リリースが2012年、日本語版のリリースが2014年で、かれこれ10年ぐらいの歴史がある本書ですが、Railsでテストコードを書く方法を学ぶのには今でもベストな一冊ではないかと僕は考えています。

内容が一部古くなってきたところが昨今のウィークポイントでしたが、最新のRailsやRSpecに対応したことで再び自信をもって推薦できる一冊になりました。
本書を持っている人もまだ持っていない人も、ぜひ最新の「Everyday Rails - RSpecによるRailsテスト入門」をダウンロードして読んでみてください!

leanpub.com

あわせて読みたい

本書のサンプルコードをRails 7.0で作り直しているときに、「Rails 7.0ならではのハマりどころ」にいろいろと遭遇しました。
そのときの知見を以下のQiita記事にまとめています。よかったらこちらもあわせてどうぞ。

qiita.com
qiita.com

おまけ

去年の5月に発言したツイートをようやく実現することができました……!!!(しかもRails 7.0で✌️)