Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

Ruby on Rails

Ruby is an open-source programming language that blends features of Perl, Smalltalk, Lisp, Ada and Eiffel to form a language that balances imperative and functional programming, and is highly portable. It is a popular open-source web framework that’s optimized for programmer happiness and sustainable productivity. It lets one to write beautiful code by focusing on convention over configuration.

The Ruby on Rails - Essentials training course will introduce the Ruby programming language and the Ruby on Rails framework.

The Ruby on Rails - Advanced training course helps experienced Ruby and RoR developers take their programming skills to the next level. In this course, you will learn new tips, tricks, and ideas to make Rails applications more robust and make development efforts more efficient.

By attending Advanced Ruby on Rails workshop, delegates will learn:

  • Rails performance tuning techniques
  • Building a Ruby-based SOA
  • Deployment strategies and Capistrano
  • Apply robust testing techniques using Rspec and Cucumber
  • Perform advanced refactoring techniques
  • Work with advanced Ruby datastructures including Nested sets, state machines, and polymorphic associations
  • Design and implement single-app, multi-database design strategies
  • Understand the process of custom Ruby plugin development

COURSE AGENDA

Ruby on Rails - Essentials
(Duration : 4 Days)

1

Ruby’s syntax, object model, and major built-in classes

  • Basic object-orientation principles
  • Program design with Ruby
  • The use of Ruby as a “scripting” tool for administrative tasks
  • Testing basics and Ruby testing facilities
2

Basic Ruby concepts and features

  • “Everything’s an object”
  • Local variables and assignment
  • Top-level method definitions
  • Arithmetic and logical operators
  • Global variables
  • The default object (self)
3

Object orientation in Ruby

  • Messages and methods
  • Ruby’s class model
  • Inheritance
  • The object method lookup-path
4

Classes and modules

  • Class methods
  • Constants
  • Module “mix-ins” in classes
  • Modules as namespaces
  • Instance method definition syntax
  • Reopening class and module definitions
  • Overriding methods
5

Instances and attributes

  • Instance variables
  • Attribute setter and getter techniques
  • Ruby and the “Equal Access Principle”
6

Strings, symbols, and regular expressions

  • Basic string manipulation and indexing
  • Symbols and the symbol table
  • Regular expression syntax
  • Pattern-matching with scan, sub, and match
7

Collection objects and iterators

  • Array, Hash, and Range classes
  • Code blocks and iteration
  • Creating iterators with the Enumerable module
  • Collection filtering, selecting, and transforming
  • Enumerators and external iteration
8

Object dynamism

  • Adding singleton methods to objects
  • Modular extension of per-object behavior
  • Singleton classes
  • Extending existing classes
9

Threads

  • Starting, running, stopping threads
  • Threads and variable scope
  • Thread-safety considerations
10

Lambdas and function objects

  • Creating first-class functions
  • Lambda argument semantics
  • Variable scope and closures
  • Block, Proc, lambda interaction
11

Metaprogramming

  • The eval family of methods
  • Programmatic method creation
  • Runtime reflection on objects
  • Traversing ObjectSpace
  • method_missing and other hooks and callbacks
12

Exception handling

  • The Exception class hierarchy
  • Raising exceptions
  • Rescue and ensure clauses
  • Writing attendees own exception classes
13

File and I/O operations

  • Keyboard input and screen output
  • Basic file reading and writing
  • File handles as iterators
  • Low-level I/O techniques
14

Date, time, and numeric types

  • Date, Time, and DateTime classes
  • Date calculation and parsing
  • Integers and floating-point numbers
15

The standard library

  • StringIO hybrid objects
  • Struct and OpenStruct
  • Math extensions
  • FileUtils and Pathname
  • Socket and network programming facilities
  • Administrative and system libraries
16

Testing in Ruby

  • Unit testing principles
  • The MiniTest and TestUnit libraries
17

Ruby tools

  • Interactive Ruby (irb)
  • Embedded Ruby (erb)
  • The RubyGems packaging system
  • Rake task management utility
18

Rails Fundamentals

  • Rails overview and walkthrough
  • The Model-View-Controller framework architecture
  • Creating a new Rails application
  • Rails request-handling and URL parsing
  • Development-mode deployment
  • Generating models and controllers
19

Database Creation and Configuration

  • Basic MySQL creation commands
  • Configuring database.yml
  • Automatically-generated migrations
  • Custom migrations
20

Working with ActiveRecord

  • Modeling a domain
  • ActiveRecord models and Ruby classes
  • ActiveRecord associations
  • Writing Rails-friendly SQL
  • Data validation techniques
21

ActionView Essentials

  • RHTML templates
  • Embedded Ruby (ERb)
  • Partial templates
  • Built-in and custom helper methods
  • Layouts
22

Using ActionController

  • The session and flash facilities
  • Planning and writing actions
  • Controller/view communication via instance variables
  • The special params hash
  • Filter methods for specific actions
  • Redirecting actions
  • Explicit rendering commands
23

Working with Forms in Rails

  • ActionPack form helper methods
  • “Magic” form-field population
  • Processing forms
  • Hash-based batch processing of CGI data
24

Routing and REST

  • The routes.rb file
  • Simple route customization
  • Named routes
  • Resource mapping
  • Default REST action names
25

Session management and security

  • The session hash
  • Password deployment and encryption
  • Avoiding SQL injection
26

Deployment

  • Distributed deployment with Capistrano
  • Mongrel and mongrel_cluster
  • Load-balancing with Apache and nginx
27

Testing in Rails

  • Writing fixtures
  • Unit tests
  • Functional tests
  • Integration tests
28

AJAX, JavaScript, and RJS

  • JavaScript facilities and support in Rails
  • Basic DOM updating with AJAX calls
  • RJS templates
  • Graceful degradation of AJAX
29

Reflective Rails

  • The Rails application console
  • Examining the Rails source code tree
  • The API docs
Ruby on Rails - Advanced
(Duration : 3 Days)

1

Diving deeper with Ruby

2

Understanding the Rails stack

3

Working with Gems and Engines

4

Database migrations

5

Testing with RSpec

6

Full-stack testing with Capybara (browser & headless)

7

Mocking, Stubbing, and Factories

8

Building APIs

9

Upgrading Rails

10

Scaling

11

Deployment best-practices

12

Scoping business logic with interactors

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X