GithubHelp home page GithubHelp logo

karaimin / programming101-ruby Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hackbulgaria/programming101-ruby

0.0 2.0 0.0 7 KB

The repository for Programming 101 with Ruby.

Ruby 100.00%

programming101-ruby's Introduction

Programming101-Ruby

The repository for Programming 101 with Ruby.

Course Program

This is a detailed program about the course, separated in weeks

Week 1

  • Ruby introduction.
  • Rbenv/Ruby Installer and Git setup.
  • Introduction to the basic Ruby types, syntax & language structures.
  • Solving problems with Ruby.

Week 2

  • In depth look of Array, Hash, String, Symbol, Numeric.
  • Introducing Ruby blocks.
  • Working with Enumerable and all it's magic.

Week 3

  • OOP Introduction. Classes, Modules and Constants.
  • Freedom patching. Opening classes & adding functionality.
  • Method resolution lookup and ancestor chain.
  • Implementing our own Enumerable objects.

Week 4

  • Keyword arguments & parallel assingments.
  • Second take on Ruby OOP model
  • Sending messages arround and responding to them. Working with method aliases.
  • Understanding Duck Typing & SOLID principles.
  • Solving OOP problems

Week 5

  • Enumerators in Ruby.
  • Lambda vs Proc semantics.
    • require vs load.
  • Working IO in Ruby. Dealing with Files.
  • Dealing with exceptions.

Week 6

  • Kernel & Module methods.
  • Constants & Scope
  • Making namespaces in Ruby

Week 7

  • Singleton classes.
  • Dynamic method definition.
  • Don't be evil: class_eval and instance_eval.
  • Constants, instance variables API.

Week 8

  • Threading or: How I Learned to Stop Worrying and Learned to Love the GIL.
  • JRuby and Rubinius.
  • Threading locals. Fibers.
  • Basic networking.

Week 9

  • RubyGems: The structure of a gem. Gem specifications. Rake. Bundler.
  • Introspection & Meta programming in Ruby.

Week 10

  • Looking at the bigger picture & solving problems using everything we know up to know.
  • Working in teams

Week 11

  • Intro to HTTP. The Tricky Parts: Cookies, Sessions.
  • Intro to Sinatra.

Week 12

  • Intro to SQL. Transactions, Primary Keys, Foreign Keys, Indexes.
  • The Architecture of a Web app.

Week 13, 14, 15, 16 - The Rails part

  • Intro to Rails: Convention over Configuration.
  • Overview of the Builtin Frameworks, Scaffolding.
  • Basic Routing and Controller Rendering.
  • Views, Layouts and Partials Structure.
  • Controller Rendering and Redirection. Basic Authentication. Rendering forms. Mailers, Intro to ActiveJob.
  • Intro to ActiveRecord. Intro to schema.rb and Migrations. Validations and Callbacks. How not to abuse the callbacks.
  • Basic Query Interface. Intro to associations. Associations in depth. Many-to-many, .through, Automatic Reverses.
  • Transactions, Single table inheritence. Has Secure Password. Musings on Small Models. Sandi Metz 5 Rules. Thoughts on OOP.
  • Routes inside out. Introduction to engines. Middleware, Rack, Railties, Initializers and Configuration.
  • The Rails Eco System. Third party gems. Responders, Timecop, RSpec, Capybara. Active Model, Internationalization.
  • Constant Autoloading explained. The Asset Pipeline. Rake Tasks, Command Line Tools and Debugging Rails applications.

programming101-ruby's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.