すがブロ

sugamasaoのhatenablogだよ

かんたんRubyという書籍を執筆しました(6/21発売)

表題の通りですが、もうすぐ技術評論社から「かんたんRuby」というRubyの入門書が発売されます。

f:id:seiunsky:20180620081212p:plain

かんたんRuby is 何

技術評論社から出版している「プログラミングの教科書」シリーズのRuby版です。

http://gihyo.jp/book/series?s=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8

基本的にはプログラミングの経験があまり無い人向けの入門書という位置付けです。

gihyo.jp

対象読者

  • なんとなくターミナルの操作ができる
    • 難しいことはしていませんが、全く触ったことないとちょっと大変かも
  • プログラミングは初めて、あるいはちょっと触ったことがある

これくらいの経験の方向けに、Rubyを通じてプログラミングを経験してもらえると良いなと思っています。

目次

  • 1章 Rubyを始めよう
    • 01 Rubyとは
    • 02 Rubyの特徴
    • 03 開発環境の構築
    • 04 エディタの準備
    • 05 プログラムの入出力
    • 06 プログラムの実行
  • 2章 Rubyの基本を学ぼう
    • 01 Rubyをより深く学ぶために
    • 02 プログラムのはじまりとおわり
    • 03 変数とは
    • 04 オブジェクトとメソッド
    • 05 演算子とは
    • 06 コメントをつける
    • 07 インデント
  • 3章 変数
    • 01 変数の種類
    • 02 擬似変数
    • 03 定数
    • 04 nilオブジェクト
  • 4章 数値と演算子
    • 01 数値オブジェクト
    • 02 算術演算子
    • 03 シフト演算子とビット演算子
    • 04 比較演算子
    • 05 Integerのよく使われるメソッド
    • 06 Floatのよく使われるメソッド
  • 5章 文字列
  • 6章 制御構造
    • 01 条件分岐とは
    • 02 繰り返し処理
  • 7章 配列/レンジ/ハッシュ
    • 01 配列オブジェクト(Array)
    • 02 配列でよく使われるメソッド
    • 03 レンジオブジェクト(Range)
    • 04 ハッシュオブジェクト(Hash)
    • 05 ハッシュでよく使われるメソッド
    • 06 配列とレンジ,ハッシュのまとめ
  • 8章 メソッド
    • 01 メソッド定義
    • 02 メソッドと戻り値
    • 03 ブロック付きメソッド
  • 9章 クラスの基本
    • 01 クラスとは
    • 02 クラスにメソッドを定義する
    • 03 再び変数について
    • 04 アクセッサメソッド
    • 05 メソッドと可視性
    • 06 クラスの継承
    • 07 別ファイルを読み込む
    • 08 クラスと抽象化
  • 10章 モジュール
    • 01 モジュールとは
    • 02 モジュールを名前空間として使う
    • 03 モジュールでMix-inを実現する
    • 04 トップレベルや名前空間と値の探索順
  • 11章 例外処理
    • 01 例外処理とは
    • 02 例外を捕捉する
    • 03 例外を発生させる
  • 12章 組み込みライブラリ
    • 01 Timeクラス
    • 02 Fileクラス
    • 03 Dirクラス
  • 13章 標準添付ライブラリ
    • 01 標準添付ライブラリとは
    • 02 日付クラス(Timeクラスの拡張)
    • 03 CSVを扱う(CSVクラス)
    • 04 JSONを扱う(JSONクラス)
    • 05 YAMLを扱う(YAMLクラス)
    • 06 一時ディレクトリ/ファイルを扱う(tmpdir/tempfile)
    • 07 ファイルの操作を行う(FileUtilsモジュール)
    • 08 プログラムのテスト
  • 14章 組み込みツール
    • 01 irb
    • 02 RDoc
    • 03 Rake
    • 04 RubyGems
    • 05 Bundler
  • Appendix より高度なRubyの知識

本書を通じて、独り立ちできるように

これは「はじめに」にも書いてあるんですが、とにかく、自分がプログラミングを始めた時に一番困ったのは、入門書に書いてあることは理解できても、その後「どう調べていけば良いのか」がよくわからなかったという記憶があります。

そのため、本書では細かく本文中にリファレンスマニュアルのURLを記載しています。

このような文章を読むことで、わからないことがあったらまずはリファレンスマニュアルを見れば良いんだな、という体験をしてもらいたいという狙いがあります。

また、あまり深くは踏み込んでいないのですが、正規表現エンコード、テストについても解説があります。

これらをはじめとして「知らないとハマる」類のものや、初心者向けの説明としては不要と思われるかもしれないけれど、世の中のコードを見るときに知らないと意味がわからない類のものは適宜解説を入れているつもりです。

この本を読めば中級者になれる!とかそういうのは難しいかもしれませんが、ある程度自分で調べる分別が着くようになってほしいーーつまり独り立ちするための基礎体力がつくように、というコンセプトで執筆しました。

👏お礼👏

本書を書くにあたって、 @willnet さん、 @koemu さんにレビューをしてもらいました。なかなかタイトなスケジュールになってしまったにも関わらず、快く引き受けていただいて本当に嬉しかったです。ありがとうございました><

Rubyの動作について完全に思い違いしていた部分や、プログラミングの説明で難しいなーとついボヤかした部分などをズバッと指摘してもらって、かなりクオリティが高まったというか、本当に見てもらって助かりました……。余談ですが、頭がイカれていたのかGemfileを異常にtypoしていた(日常生活ではそんなことほとんどない)のをめっちゃ指摘してもらったのが印象深いです😇

購入はこちら

紙の書籍

Amazonで買えます(執筆時点では予約購入)。

かんたん Ruby (プログラミングの教科書)

かんたん Ruby (プログラミングの教科書)

あるいは、先行入荷している以下の書店では在庫があれば本日購入することが可能です!

電子書籍

技術評論社電子書籍サイトでEPUB/PDF版を購入できます。

かんたん Ruby | Gihyo Digital Publishing … 技術評論社の電子書籍

あるいは、AmazonKindle版を購入することもできます。

かんたん Ruby プログラミングの教科書

かんたん Ruby プログラミングの教科書

どちらもリフロー版とのことです。

良いなと思ってくれた方はぜひamazonのレビューなどに記載してくれるととても嬉しいです。おかしい点や改善点があれば技術評論社の書籍ページからいけるお問い合わせか、私に伝えてもらえると今後の改善につながるかもしれません。

それはそれとして単著 is 辛い

私は今まで、パーフェクトRuby, パーフェクトRuby on Rails, Webアプリエンジニア養成読本という書籍を共著で執筆してきました。 今回は色々あって単著という運びになったのですが、とにかく想像を絶する厳しさでほぼイキかけました

何が辛いかって、

  • 自分がやらないと進まない
  • 自分がやらないと進まない
  • 自分がやらないと進まない
  • 自分がやらないと進まない
  • 自分がやらないと進まない

本当にこれに尽きるというか、共著の場合はチームで誰かが執筆している気配があると良い意味でプレッシャーになって自分も書かなくてはという感じになるのですが、とにかく自分一人しかいないのでやらないと何も進まないんですよね……。

チームでやるのは、それはそれで苦労があるのですが単著というのはとにかく夏休みの宿題をギリギリまでやらないタイプのスタンド使いとは相性悪いのではないか😇

色々あって自分が手元でテキストベースの原稿を執筆した期間がおよそ3ヶ月(その後はDTPしてPDFになった原稿での調整や見直しがある)で、その後の加筆修正なども考慮するとだいたい24万文字くらい書いた感じですが、とにかく執筆期間は人間性を捨てて時間を作っていた結果3kgくらい太って厳しみがあります(こんなの人生で初めて)。

そんなわけで、結構苦労して書いたのでもし本屋さんで見かけたらどんなもんかチラ見くらいしてもらえると幸いです(良いと思ったら買ってね!)。