💻
notes
  • Initial page
  • sql
    • date-and-time
    • Ordering Columns
    • Replacing Portions of Text
    • count-rows
    • Changing the Case of Strings
    • Create Excerpts with Substring
    • Transactions
    • removing-data
    • Finding Length of Strings
    • add-row-to-a-table
    • limit-and-paginate-results
    • Concatenating Strings
    • SQL JOINs
    • basic-math
    • updating-rows-in-a-table
    • Subqueries
    • Set Operations
    • SQL Basics Cheatsheet
  • ruby
    • gems
      • Auto use Ruby version with gemset
      • Must Have Gems
      • Create Devise user without any validation
    • rails
      • What are the differences between #where and #find?
  • postgresql
    • Export database dump from Heroku and import to local database
  • glossary
  • vim
    • Edit Recorded Macros
    • Sort Multiple Lines
    • Search and Replace
    • Folding
  • iTerm
  • git
    • Git
  • Command Line Utilities
  • How To Use Notes
  • Terminal Cheatsheet for Mac
Powered by GitBook
On this page
  • Glossary
  • A | B | C | D | E | F | G | h | I | j | k | L | M | N | O | P | R | S | T | U | v | Y | z
  • A
  • A record
  • Arguments
  • B
  • BUFD
  • C
  • CGI
  • CNAME
  • D
  • Database
  • Database Migration
  • Database Normalization
  • DDL
  • Decorator Pattern
  • DML
  • Double (Mock)
  • Double Star
  • E
  • Encapsulation
  • F
  • Foreign Keys (Database)
  • G
  • GET
  • I
  • Inheritance
  • L
  • Lambda Literal
  • M
  • Memoization
  • Mock
  • MVP
  • N
  • psql
  • O
  • Object Relational Mapping
  • P
  • Parameters
  • Polymorphism
  • POST
  • R
  • rake
  • REST
  • RTFM
  • S
  • Serialization
  • Service Objects
  • SLOC
  • SOLID
  • Spies
  • Static Site Generator
  • Stub
  • T
  • TRUE
  • U
  • User stories
  • Y
  • YAGNI
  • YAML
  • ☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎

Was this helpful?

glossary

PreviousExport database dump from Heroku and import to local databaseNextvim

Last updated 5 years ago

Was this helpful?

Glossary

| | | | | | | | | | | | | | | | | | | | | |

A

A record

An A record maps a domain name to the IP address of the computer hosting the domain. Simply put, an A record is used to find the IP address of a computer connected to the internet from a name.

Arguments

The values supplied to the method when you call it are the corresponding arguments.

B

BUFD

Big Up Front Design.

C

CGI

Common Gateway Interface is simple protocol for passing an HTTP request from a web server to a standalone program and returning the output to the web browser.

CNAME

CNAME stands for Canonical Name. CNAME records can be used to alias one name to another. For example, add a CNAME record that points documents.example.com to docs.example.com. When someone visits documents.example.com they will see the exact same content as docs.example.com.

D

Database

Stores data, and lets you create, read, update and delete the data in some manner.

Database Migration

Database migration is the process of transferring data between storage types, formats, or computer systems. It is a key consideration for any system implementation, upgrade, or consolidation. Database migration is usually performed programmatically to achieve an automated migration, freeing up human resources from tedious tasks

Database Normalization

Database normalization is the process of organizing the columns (attributes) and tables (relations) of a relational database to reduce data redundancy and improve data integrity.

Movies Table

Genres Table

title

genre_id

🐵

id

name

Alien

3

🙈

1

Action

Avatar

3

🙉

2

Musical

Die Hard

1

🙊

3

Sci Fi

DDL

A data definition language deals with how the data is structured.

Decorator Pattern

The decorator pattern allows us to add behavior to an instance without affecting the behavior of all the instances of that class. We can “decorate” or add behavior to, a model instance before passing it to a view. Or, we can decorate an instance within a view.

By extracting complex presentation logic out of our views and models, and into decorator classes, we can simplify views (which should be stupid) and models (which shouldn't know about presentation), and decorate instances as needed.

DML

A data manipulation language deals with how you create, read, update and delete data.

Double (Mock)

A simple object that's preprogrammed with expectations and responses as preparation for the calls that it will receive (a newer term to represent an object that stands in for another object).

ruby new_car = double(Car.new)

Double Star

A double star will take any parameter given in the format key: value at the end of the method call.

one_param(1) #=> [1, [], {}]
more_than_one_param(1, 2, 3, 4) #=> [1, [2, 3, 4], {}]
more_than_one_hash_style_param(1, 2, 3, 4, a: 1, b: 2) #=> [1, [2, 3, 4], {:a=>1, :b=>2}]

E

Encapsulation

Encapsulation means that the internal representation of an object is hidden from the outside. Only the object can interact with its internal data. Public methods can be created to open a defined way to access the logic inside an object.

F

Foreign Keys (Database)

Special keys that describe the relationship between data in two tables. Foreign keys also known as reference keys.

G

GET

It is a HTTP protocol that is used to retrieve remote data.

I

Inheritance

Inheritance is a relation between two classes. A child class inherits all the features of its parent class. Methods from the parent can be overridden in the child and new logic can be added. However a certain form of multi-inheritance can be replicated through the use of modules as mix-ins.

L

Lambda Literal

-> allows you to create lambda easily in Ruby.

M

Memoization

If we already have a value for the instance variable, use it. If not, then go get a new value, and assign it to the instance variable.

def car
  @car ||= Car.new
end

Mock

Fake implementation of an object.

MVP

In "Model, View, Controller";

  • The models write Ruby objects to the database, and read them out again later.

  • The views show data to users, most often in the form of HTML webpages.

  • Controllers respond to requests from users, usually by coordinating the model

    and the view.

N

psql

It is the interactive terminal for working with Postgres (similar to Ruby's irb).

O

Object Relational Mapping

ORM (O/RM or O/R mapping tool), in computer science, is a programming technique for converting data between incompatible type systems in object-oriented programming languages.

P

Parameters

The variables listed in the method definition are the method's formal parameters.

Polymorphism

In Ruby, polymorphism is the ability to send any method calls (also know as messages, in OOP parlance) to any object without having to check the object’s class. This is also known as “duck typing”.

class Cat
  def make_noise
    puts 'meow! meow!'
  end
end

class Dog
  def make_noise
    puts 'woof! woof!'
  end
end

dog = Dog.new
cat = Cat.new

animals = [dog, cat]

animals[0].make_noise
animals[1].make_noise

POST

It is a HTTP protocol that is used to insert/update remote data.

R

rake

As its name suggests (it comes from "Ruby make"), rake is a task management utility. It reads and executes tasks defined in a Rakefile.

REST

REST stands for REpresentational State Transfer. REST is a web standards based architecture and uses HTTP Protocol for data communication. It revolves around resources where every component is a resource and a resource is accessed by a common interface using HTTP standard methods.

RTFM

Read the fucking manual. 🙃

S

Serialization

In computer science, in the context of data storage, serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer, or transmitted across a network connection link) and reconstructed later in the same or another computer environment

Service Objects

A service is a Plain Old Ruby Object (PORO) that helps us keep our controllers clean and DRY. Service objects encapsulate some of the user’s interactions with the application––the kind of stuff that doesn’t belong in the controller, but also doesn’t rightfully belong to the controller. Think of them as the administrative assistant of your app.

SLOC

Source Lines Of Code (In the days of yore, programmers were sometimes judged by the number of lines of code they produced.

SOLID

The SOLID acronym, coined by Michael Feathers and popularized by Robert Martin, represents five of the most well known principles of object-oriented design: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.

Spies

They are like test doubles with a tape recorder turned on. They keep track for the messages that are received so that you can look back at the messages after the fact, in your expectations.

Static Site Generator

A static site generator takes a set templates and raw text files, runs them through a converter and renderer, then generates a plain HTML website that's ready to publish on any web server.

Stub

An instruction to an object to return a specific response to a method call (fake implementation of a method).

allow(car).to receive(brake).and_return('Slowing down')

T

TRUE

  • Transparent: The consequences of change should be obvious in the code that

    is changing and in distant code that relies upon it.

  • Reasonable: The cost of any change should be proportional to the benefits

    the change achieves.

  • Usable: Existing code should be usable in new and unexpected contexts.

  • Exemplary: The code itself should encourage those who change it to

    perpetuate these qualities.

U

User stories

User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system. They typically follow a simple template:

As a <type of user>,
I want <some goal>,
So that <some reason>.

User stories are often written on index cards or sticky notes, stored in a shoe box, and arranged on walls or tables to facilitate planning and discussion. As such, they strongly shift the focus from writing about features to discussing them. In fact, these discussions are more important than whatever text is written.

Y

YAGNI

"You aren't gonna need it" is a principle of extreme programming (XP) that states a programmer should not add functionality until deemed necessary.

YAML

YAML is a human friendly data standard for all programming languages.

A
B
C
D
E
F
G
h
I
j
k
L
M
N
O
P
R
S
T
U
v
Y
z
serialization
☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎☝︎