Section 1

Preview this deck

What is semantic versioning?

Front

Star 0%
Star 0%
Star 0%
Star 0%
Star 0%

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Active users

0

All-time users

0

Favorites

0

Last updated

6 years ago

Date created

Mar 1, 2020

Cards (48)

Section 1

(48 cards)

What is semantic versioning?

Front

Given a version number MAJOR.MINOR.PATCH (e.g. 2.0.6), increment the MAJOR version when you add any backwards incompatible changes, the MINOR version when you add backwards compatible features, and the PATCH version when you make backwards compatible bug fixes.

Back

What is HTML?

Front

HyperTest Markup Language defines the structure of a website semantically and the content that will be rendered by the web browser.

Back

What is an ArgumentError?

Front

Wrong number of arguments given.

Back

What is encapsulation?

Front

A principle of object- oriented design. It dictates that the programmer: 1. Place all code concerned with a particular set of data in one class 2. Hide methods and data essential only to a class's internal workings (information hiding). Conversely, the programmer should expose via methods only what's necessary to a class's relationships with other classes, thereby preventing external interference and misuse.

Back

What is test coverage?

Front

Refers to how much of a software program has been tested. i.e. the percentage of functions that have been called by the test suite, or the percentage of statements in the code that have been executed by the test suite.

Back

What is scope?

Front

The context in which a variable name is valid and can be used.

Back

What is the result of: cats = Hash.new([]) 1) cats["John"] << "Kiki" 2) cats 3) cats["Raul"]

Front

1) ["Kiki"] 2) { } 3) ["Kiki"] "John" is not a key in the hash, so the default (an empty array) is returned. We then mutate the default value by adding "Kiki" to it. We never set a value for "John" though, so this is not stored in the Hash (see the result of line 9). Later, when we try to access some other non-present key ("Raul"), the default value is returned again. But since we mutated the value by shovelling "Kiki" in, this is no longer empty.

Back

How does Git store things?

Front

1. Git stores data as a series of snapshots (every time you make a commit or store your data, Git takes a snapshot of all the changes you've made and stores a reference to that snapshot) 2. Git performs most operations locally

Back

What is open source software?

Front

software where the original source code is available to be redistributed and modified

Back

What is peer-to-peer?

Front

each client holds a complete repository and synchronizes by exchange patches peer- to- peer (an example of a distributed system)

Back

What is Agile?

Front

Agile methodology operates on a number of core principles. Key to these principles is the idea of rapid, iterative design. The agile philosophy is that a product should be broken up into small parts that can be rapidly developed so that results can be shown to the client constantly.

Back

What is object- oriented programming?

Front

A programming paradigm that privileges objects rather than actions and data rather than functions or logic.

Back

What is a dynamic programming language?

Front

One that can execute many common programming behaviors at runtime (when the interpreter executes the program) that static programming languages perform during compilation. When a program-- the compiler-- translates high- level source code to a lower- level language. Dynamic programming languages can compile code at runtime and execute code during compile time.

Back

T/F "=" mutates an object

Front

F = merely reassigns the variable so that it now refers to a new object

Back

What does the command git init do?

Front

Creates an empty repo in the current directory

Back

What is happening under the hood in this example: arr2 = Array.new(3, 1) arr2[0] += 1 arr2[0] == 2 arr2[1] == 1 arr2[2] == 1

Front

0) First, fetch the number at position 0 (which is 1). 1) Next, add one to this number. This creates a new number object. The + operation does not mutate the original object. 3) Finally, assign a reference to the new object (2) to position 0 of array

Back

What is DRY?

Front

Don't repeat yourself. The most common way to avoid repetition is to break duplicated code into methods.

Back

What is Behavior- Driven Development?

Front

BDD structures the testing process through the use of user stores- a description of the user's use of the feature being developed. The goal of the user story is to help focus the developer on what to test and what not to test.

Back

What are the three states of Git?

Front

1. Working Directory 2. Staging Area 3. .git Directory (Repository)

Back

What is the NoMethodError?

Front

Thrown when it's clear the user wanted to call a method (didn't try to look up a variable) that doesn't exist.

Back

What is serialization?

Front

Ruby objects live within the context of a Ruby program. You may want to send your Ruby object to another computer across a network.

Back

What are four common code smells?

Front

1) duplicated/ similar code 2) long methods 3) too many parameters 4) data clump 5) long method chains i.e. bicycle.front_tire.rotate bicycle.rear_tire.rotate # vs bicycle.rotate_tires

Back

What is functional programming?

Front

FP privileges pure functions, those who return value is only determined by the input, without side effects such as changes in state.

Back

What is compile- time?

Front

the instance where the code you entered is converted to executable

Back

What is Git?

Front

a Version Control System that allows us to: 1) keep a log of changes made to a project 2) revert the project back to a previous state if we mess something up uses a distributed (peer- to- peer) model and full history trees are available offline

Back

What is a repository?

Front

a collection of commits, and branches, and tags to identify commits

Back

What does the command git push do?

Front

pushes our local commits to the remote repository

Back

What is a gem? How do you install a gem?

Front

library (in the context of Ruby) gem install _______

Back

What is the result of: cats = Hash.new([]) 1) cats["Devon"] 2) cats["Devon"] += ["Earl"] 3) cats["Devon"] += ["Breakfast"]

Front

1) [ ] 2) ["Earl"] 3) ["Earl", "Breakfast"]

Back

What is a LoadError?

Front

Thrown when 1) Trying to load a file that is provided by a gem, but the gem hasn't been installed yet 2) Trying to load another source file in your project, but you forgot the initial './' i.e. pry(main)> require './primes.rb'

Back

What is Javascript?

Front

One of the most popular coding languages, brings movement and user interaction to websites

Back

What is run-time?

Front

the instance where the executable is running

Back

What does the command git remote do?

Front

Accesses the git commands that interact with remote repos

Back

What is atomic operations?

Front

operations whose changes are rolled back if they are somehow interrupted before completion (helps prevent source corruption) i.e. SQL

Back

What are the steps for Test- Driven Development? (TDD)

Front

1. Add a test 2. Run all the tests and make sure the new test fails 3. Write code 4. Run all the tests and make sure the new test passes 5. Refactor the code

Back

What is a branch in Git?

Front

a private copy of the main project that can be changed without modifying the original these branches, when complete, may be merged back into the main project

Back

What is CSS?

Front

Cascading Stylesheets deal with the presentation of content including aspects such as layout, formatting, and colors.

Back

What is an uninitialized constant?

Front

Means that Ruby is trying to find a class (or other constant), but didn't find it. This could be because of a class name typo or because we forgot to require the Ruby file.

Back

What is unit testing?

Front

Unit testing is a way of testing an application by breaking the application down into its smallest constituent parts and testing each part in isolation. Unit testing is often automated at larger/ more sophisticated companies.

Back

What is version control?

Front

aka revision control/ source control versions are usually identified by some number/ code, a timestamp, and the person who made the change

Back

What is YAML?

Front

("YAML Ain't Markup Language") a human-readable data serialization language

Back

What is server- based?

Front

there exists a single central repository that each client synchronizes with i.e. Google is a server- based application

Back

What is syntactic sugar?

Front

Shortcuts in language to make things easier to see.

Back

What is a NameError?

Front

An exception that is thrown when you try to use a variable or method that hasn't been defined.

Back

What is the definition of dynamically typed language?

Front

When the language is dynamically typed, the language enforces type constraints at runtime v.s. statically typed languages, which enforces type constraints at compile- time

Back

What does the command add do?

Front

v.s. git add a git remote command that adds a remote repo to the current repo

Back

What is reflection?

Front

the ability of a program to manipulate its own structure and behavior as data In objected- oriented reflective languages like Ruby, reflection permits not only the examination of classes, modules, and methods, but also instantiation and method invocation

Back

What is a TypeError?

Front

Thrown if you pass the wrong type of thing to a method.

Back