なぜRuby?

数あるプログラミング言語の中でRubyを学ぶのは、以下の利点があるからです。

  • 社内でよく使われている言語 = 社内に知見が多く、実践にも役立つ
  • 記述の自由度が高く、簡易的なアプリケーションであれば短時間で実装できる
  • RubyのDSL (Domain Specific Language) で書けるようなツールも数多く存在 : Chef, Vagrant, Rakeなど(今はツール名がわからなくてもOKです)
  • 楽しい

    開発者のまつもとゆきひろは、「Rubyの言語仕様策定において最も重視しているのはストレスなくプログラミングを楽しむことである (enjoy programming)」と述べている。
    Wikipediaより引用

Ruby講義の心得

ゴール

この資料は以下のゴールを想定して作られています。

この講義を受けた人が、1人でSinatraによるWebアプリを開発するための土台が身についていること

資料の使い方

構成

この資料は、いくつかのコンテンツによって構成されています。

  • Lecture
    講義でメインで使用する資料です。基本的は、この流れに沿って講義を進めていきます。
  • Tips
    Rubyやその周辺に関して役に立ちそうな資料をまとめています。
    時間の都合上で講義中はすべての内容を説明できませんが、今後業務でも使えそうな知識もあると思いますので時間があるときに読んでみてください。
  • Exercise
    講義の最後で行う演習問題です。
    新人さんには講義が一通り終わったタイミングで公開する予定です。
  • Bug Report
    資料に関する不具合報告フォーム(Googleフォーム)へのリンクです。
    資料の質を上げていくために、リンク切れやタイポ、その他何かおかしな部分を見つけたらこちらへの投稿をお願いします。

検索ボックス

サイドメニューにある検索ボックスから、資料内検索ができます。
「講義で聞いて気がするけど、この用語ってなんだっけ?」というような場合は、こちらで検索してみてください。

目次

試しにこちらのページを見てみてください。
画面の右上に、ボタンがあると思います。
このボタンを押すと、今開いているページの見出し一覧が表示され、各見出しにジャンプすることができます。
是非ご活用ください。

資料中の表記について

  • 講義中、ターミナルからコマンドを実行することがあります。
    この場合は、$をつけて実行するコマンドを表現します。
    実際にコマンドをターミナルで実行する際には、$をつける必要はありません。
1
$ {コマンド}

ファイル管理

講義を進めていくと、ファイルがいっぱいできますので、以下に従って整理しておきましょう。

Ruby講義の推奨ディレクトリ構成(~はホームディレクトリ)

1
2
3
4
5
6
7
8
9
~/Documents/ruby_lecture/
  ├ examples/       : 練習用(講義中にでてきたサンプルコードを試すときなど、自由に使ってください。)
  └ exercises/      : 演習用(こちらは提出してもらう予定なので、わからなくならないようにしましょう。)
    ├ chapter1/
    │  ├ 1-1.rb
    │  ├ 1-2.rb
    │  :
    ├ chapter2/
    :  :

わからないことがあったら…

講義中

分からないこと、気になることがあったときは、説明中であってもその場で遠慮なく質問してください
質問しづらいなと思ったら、講師陣に何かしらわかるようにアピールをするだけでもOKです。
この講義の内容はそれまで説明した内容を踏まえてステップアップしていくので、わからないまま進んでしまうと追いつくのが大変になってしまいます!
「どう質問すれば良いか分からん!」というときは、そう言ってください。

演習中

演習中につまづいた際、自分で考えることはもちろん大事なことです。
しかし、スケジュールの都合上、演習時間は長くありません。
もし自分で考えてもわかりそうにない場合は、まずは隣にいる同期に聞いてみましょう(業務では、聞くスキルも重要です)。
聞かれた人は、分かる範囲で説明してみましょう。
うまく説明できない / 同期も分からない場合は、講師が手助けに入りますので、遠慮なくヘルプを出してください。

楽しむ

堅苦しさを捨てて、プログラミングの楽しさを感じながら学んでいきましょう。

講義を始める前に

Ruby講義を受けるにあたって、「自分が講義中に意識して行動したいこと(具体的なアクション)」を各自で考えて表明してください。
ただし、「Rubyを理解する」といった抽象的なアクションはNGとします
表明したアクションは付箋等に書いて、常に目がつくところに貼っておきましょう。