Wednesday, 29 January 2014

WDI Progress Update - Manual Migrations in Rails

Progress @ General Assembly (GA)
  • Rails Key Definitions (based on personally reviewing unfamiliar keywords contained in all main Rails version 4.0.2 files/folders including Gemfile, and the Initialiser and Public folders that are generated after running 'new blog_app --database=postgresql', and summarising their definitions briefly in my own words and listing them in alphabetical order after a quick Google search, for fast-track Rails learning purposes). Accuracy in the definitions is not guaranteed (feedback welcomed!)
    • ActiveRecord Database - Postgresql
    • Action Mailer - emails from app using mailer classes/views
    • Action Model - non-database (db) functionality of ActiveRecord plus validations in tableless models
    • Action Pack - handles Controller and View layers in Rails
    • Active Support - toolkit of Rails classes that are usable in Ruby environment
    • Arel - simplifies SQL queries (it is an SQL AST manager)
    • Atomic - accessor class for values and methods to control block updates (optionally with exceptions)
    • BacktraceCleaner - includes filters and silencers to remove noisy lines of code and included in Initialisers directory
    • bcrypt - password hashing algorithm
    • builder - simplifies creating structured data in XML
    • Capistrano - deploys Rails app to production server from Git 
    • CoffeeScript - JS Coffee (assets/views)
    • Deprecated - software features that should be avoided (as typically superceded) but remain for backward compatibility to allow developers to adjust to new standard
    • Error 404 / 422 / 500 - web page not exist / change rejected (validation) / internal server error, - located in the Public folder 
    • Erubis - template system of Embedded Ruby in text documents (i.e. HTML)
    • ExecJS - enables JS code from Ruby
    • hike - Ruby library for finding files in a set of paths
    • i18n - internationalisation support that collects locale data
    • Inflections - set of singularisation and pluralisation rules for Ruby/Rails apps, located in Initialisers folder
    • jBuilder template engine Domain Specific Language (DSL) for generating JSON response (API builder) 
    • jQuery - JS library
    • JSON - Javascript Object Notation (JSON) is a lightweight data interchange format 
    • MiniTest - Ruby testing framework/facilities supporting TDD, BDD, mocking, and benchmarking (compared to RSpec which is a testing DSL)
    • MultiJSON - common interface to multiple JSON libraries
    • Parameters wrapper - wraps JSON files with Action Controller, located in Initialisers folder
    • Polyglot - library that allows Ruby module to register a loader for file extension types and augments 'require' to find and load matching files
    • Rack - modular and adaptable Ruby web server interface that wraps HTTP requests/responses across middleware in a single method call 
    • Railtie - major components of Rails (i.e. Action Mailer, Action Controller, Action View, Action Record)
    • robots - web crawlers/spiders (indexers), located in the Public folder
    • Sass - Systactically Awesome Style Sheets (Sass) is a CSS3 extension (with nested rules, variables, mixins, selector inheritance, etc)
    • SCSS - Sassy CSS (SCSS) is a CSS3 extension syntax based on and implemented with JS, with dynamic behaviour (i.e. variables, mixins, operations, functions) on either server or client-side
    • SDoc - Ruby on Rails (ROR) API documentation
    • Secret Token - verifies integrity of signed cookies, located in Initialisers folder
    • sprockets - Rack-based asset packaging system that concatenates and serves JS, CoffeeScript, CSS, LESS, Sass, and SCSS languages
    • TheRubyRacer - JS (call and manipulate from Ruby)
    • Thor - scripting framework that replaces Rake, Sake, Rubigen (command line option parsing in Ruby)
    • threadSafe - Rails app development with Ruby requests (controller, SQL, render, response) and optimal Ruby environment methods allowing switching threads (i.e. CPU in use, or CPU waiting idle) with sharing of states stored and locks, using one environment hash per request 
    • tilt - generic interface to create multiple Ruby templates with file, line, and options specified
    • Treetop - Ruby parsing and interpretation DSL based on Parsing Expression Grammars (PEGs) and analysing syntax. It defines methods on trees that it constructs automatically (Syntax-Oriented Programming)
    • Turbolinks - JS & CSS (is faster, as when its compiling, it replaces only the body/head between page changes, and does not recompile JS/CSS, memory management recommended)
    • TZinfo - Ruby Timezone library (i.e. with daylight savings, etc)
    • Uglifier - Javascript (JS) asset compressor
    • Unicorn - HTTP web server for Rack apps
    • YAML - Yet Another Markup Language (YAML) format
  • Rails (CRUD app setup, Controllers, Rake Routes, Database Migrations, Partials, Semantic URLs with Nested Routes)

No comments:

Post a Comment