Программа тренинга

В данном разделе размещена программа тренинга на первые 2 недели обучения. Информация об учебном проекте будет опубликована после 1 сентября.

Training 1.

Try ruby: Strings, Objects (everything in ruby is an object) and message passing. Neat methods: :nil?, :blank?, present?, empty?, etc. Arrays, Ranges. Blocks!!!. Hashes. Symbols.

Defining methods. Open classes.

Training 2. 

Install git, ruby, rails.

Generate first rails app, describe directory structure, talks about bundler, rails server, brief introduction to MVC
Introduction to git: setup, initial commit, adding and committing, branching and merging, push and pull.

Deploy to heroku.

Training 3. 

Resources, Scaffold (use simple blog/twitter app). MVC once again, talk about router (CRUD, REST). How Rails handles PUT, DELETE. Rails Models, validation, attr_accessible (???), Relations (has_many, belongs_to, has_one). Inheritance (ActionController::Base, ActiveRecord::Base)

Training 4.

Controller with static pages (public folder vs. rendering static view). Layouts (yield). Embedded ruby. Talk more about router (match method). Install rspec and capybara. Write request test (simpler to start). Helpers. Partials.

Training 5.

CSS, Twitter bootstrap. Asset pipeline: Directory structure. Where assets included from (lib, app, vendor). Manifest files. Processor engines. SASS. migrate to HAML.

Training 6-8.

User signup app. Authentication system. DB migrations. RSpec for models. More validations (password confirmation, format of, length, etc). Regexp (for email). Rubular. Modeling authentication system. Introduce has_secure_password (SURPRISE: after all is done). Rails console. Forms. Back to helpers = Gravatar images. Form errors. Flash messages. Sessions. Params. protect_from_forgery. Current_user :) How to require signed in user. FactoryGirl with RSpec. Admin panel. Pagination (will_pagintae or kaminari). OAuth.

ActiveRecord: query, scopes, dependent destroy, relationship model. Try to implement follow user functionality. Try AJAX here.

Training 9

Uploading assets (images, css, sitemaps) to AWS (precompile). Sitemap generation. Deploy to Heroku first. Try Capistrano (Amazon EC2). Unicorn, Thin cluster, Apache.