#+STARTUP: indent nolineimages * app - ruby_learner * install - gem install ruby_learner ** 注意点 - 作成者の知識不足から、アプリのバージョンアップ時に古いバージョンが残った状態になっている。それが原因で起動エラーが起こる可能性があるので、その場合のエラー解消方法を以下に記載する。 - gem list ruby_learner - gem uninstall ruby_learner * purpose - プログラミング言語Rubyを実際の開発環境に近い状況で習得させること。 - 習得のレベルは"期待される振る舞いの実装"および"設定より規約の考えの元、適切なコーディングができる"に設定。 - 開発環境に近い状況での開発は、使用者の本アプリ外での学習や開発をスムーズにさせる。 * target - プログラミング言語Rubyの未経験者。 * overview ** 期待される振る舞いについて - 期待される振る舞いとは、コーダーがコードに持たせる意図する動作のことである。 - コードの振る舞いを確認するrspecファイルを用いることで、使用者は解答方法を柔軟に考えることができる。これは期待される振る舞いを実現するコードに唯一の正解はないことから、回答は使用者自身が考えて記述することでより効率的な学習が見込めるのではないかという理由から選択した。 ** 設定より規約について - 設定より規約とは、開発者の決定すべきことを減少させ、単純にするが柔軟性は失わせないというソフトウェア設計の概念である。 - 設定より規約はrubocopを用いることで検査する。設定より規約の概念を重視することで、OSS開発等の複数人で開発を行う場合にスムーズな開発が行える。また、不適切はコードは使用者の成長を間違った方向に進めつ可能性があるのでこの検査は必須だと考える。 * function ** common - 本アプリは使用者のパソコンのホームディレクトリにruby_learnerというディレクトリを形成する。 - ruby_learnerに含まれる要素はemacsの設定ファイル・学習を行う場所のworkshop・学習の履歴を保存するrestoreである。 - 今までの自分の回答コードはworkshopのrestoreに保存されて行く ** emacs_key *** 使用コマンド - emacsのキーバインドの確認: ruby_learner emacs_key ** sequential_check *** 使用コマンド - 任意のドリルの受講: ruby_learner sequential_check section part (sectionとpartには整数が入る) - 次のドリルの受講: ruby_learner sequential_check -next - ドリルの内訳の確認: ruby_learner sequential_check -drill *** 学習手順 **** 手順1 - 任意のコマンドで実行 - 問題文とコード記入スペースがemacsで起動 **** 手順2 - 回答を記入する - ctrl x + ctrl cでemacsを保存終了する **** 手順3 - rspecのチェックが行われる - 不適切な場合は改善を要求される - cotinue, answer, exitの3つを標準入力で打ち込むことで次の画面が変わる - continue...問題文とコード記入スペースがemacsで起動して手順2に戻る - answer...問題文とコード記入スペースと解答例がemacsで起動して手順2に戻る - exit...アプリを終了 **** 手順4 - rspecのチェックが終了すると - rubocopのチェックもrspecのチェックと同様に始まる **** 手順5 - rubocopのチェックが終わると - 最後にrspecのチェックが行われ、不適切な場合は手順3へと戻る