GithubHelp home page GithubHelp logo

alum-scrum-vocab-terms's Introduction

Vocab Review

Sometimes we know things without knowing it has a name. These are some terms you will want to be familiar with as you start interviewing.

Process

  • SDLC - Systems/Software Development Life-Cycle. How a project goes from idea to implementation. References: Tutorials Point, Wikipedia

  • TDD - Test Driven Development. The development practice of writing tests first to drive the process of writing application code. References: FreeCodeCamp, TDD Example Walkthrough

  • Single Page Application (SPA) - Web applications that load a single HTML page and then dynamically update that page using Ajax,as the user interacts with the application. References: How Single Page Apps Work, Wikipedia

  • Retrospective - A meeting where the project team is able to reflect on the past project or sprint. The team identifies specific things to stop doing, continue doing, & start doing, in order to create a plan for improvements to be enacted for the next project or sprint. References: Scrum Retrospective, Running a Retrospective w/ Examples

  • Agile - Development process built on an incremental, iterative approach. Instead of in-depth planning at the beginning of the project, Agile methodologies are open to changing requirements over time, encouraging constant feedback from the end users. Resources: What is Agile?

  • Scrum - A subset of Agile that uses an iterative model with fixed-length iterations, called sprints, which allow the team to ship software on a regular cadence. At the end of each sprint, stakeholders and team members meet to plan next steps. Resources: What is Scrum?

  • Waterfall - A linear development process where a project progresses from stage to stage sequentially. Once one of the stages is complete, the team moves onto the next step. If anything from an earlier stage changes the entire process must begin again. Resources: What is Waterfall?

  • Kanban - Is a visual project managment framework used to implement Agile that utilizes a task board with swim lanes to show the status of tasks (i.e. waiting to start, in progress, & done). Traditionally this is a physical board with paper notes, but it could also be digital. Resources: What is Kanban?

  • Backlog

  • Backlog Grooming

  • User Story

  • Ticket

  • Estimation

  • DevOps

React

  • Function Component - The simplest type of React component. A function that accepts props and returns a React element (JSX). Example:

    const Header = ({ title }) => (
      <div className="instructions">
        <div>
          <h1 className="lead">{ title }</h1>
        </div>
      </div>
    );

    Reference: React Docs: Components & Props

  • props - set of properties that are passed into a component. Reference: React Docs: State FAQ

  • state - set of properties that are managed within a component. Reference: React Docs: State FAQ

  • render - The only required method in a React class component. The method should return the React components (JSX) to render on the DOM. Reference: React Docs: Render

  • component lifecycle - the component lifecycle is a set of methods that are called on components by the React framework at specific times. These methods provide developers a set of hooks to run component code at particular times. Reference: React Docs: Component Lifecycle

  • HOC - Higher Order Component. Component that takes in a component and returns back another which extends its behavior. Example:

    import {withRouter} from 'react-router-dom';
    class MyButton extends Component {
      handleClick = () => {
        // History is added to the component by 'withRouter'
        this.props.history.push('/newPage')
      } 
      render() {
        return (
          <button onClick={this.handleClick} />
        )
      }
    }
    export default withRouter(AnimalButton);

JavaScript/Programming

  • function - A function is a callable, repeatable stack of code. It may take in one or more inputs, and may return output.

  • argument/parameter - input to a function. Technically in the definition of the function it is called a parameter. The actual value passed into the function is an argument. Example:

    myFunction(param1, param2) { 
      // do something
    }
    let arg1 = "foo";
    let arg2 = "bar";
    myFunction(arg1, arg2);

    References: Stack Overflow, Wikipedia

  • return value - the output of a function, or what the function returns back to the calling code.

  • function declaration - Way to define a function. It will "hoist" the definition so that you can use it in the file before it is defined. Example:

    function doubleItBetter(x) {
      return x * 2;
    }
  • function expressions - A way to define a function, basically you have a variable and give it a (anonymous) function as its value. Example:

    // function expression
    let doubleIt = function(x) {
      return x * 2;
    }
  • anonymous function - A function that doesn't get a name. They are often used to handle events. Example:

    $('#myButton').on('click', function() {
      console.log('Clicked the button');
    });
  • module - a reusable piece of JavaScript code which exports specific objects, making them available for other modules to require in their programs. Example: movies.js

    const favMovies = [
        'Harry Potter',
        'Case of Benjamin Button',
        'Ace Ventura',
        'Groundhog Day',
        'Willow'
    ];
    
    function logMovies() {
        for(let movie of favMovies) {
            console.log(movie);
        }
    }
    
    module.exports = {
        displayMovies: logMovies
    }

    main.js

    console.log('Show the movies:')
    let moviesModule = require('./movies');
    moviesModule.displayMovies();   

    References: Free Code Camp - JS Modules a Beginner's Guide

  • object - An object is a collection of properties, where a property is a name (or key) and value pair. Example:

    let myCar = {
        make: 'Ford',
        model: 'Mustang',
        year: 1969
    }
    

    References: MDN Developer Guide, Wikipedia

  • class - in OOP (object-oriented programming), a class is a template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods). Example:

    class Car {
        constructor(make, model, year){
            this.make = make;
            this.model = model;
            this.year = year;
        }
        start(){
            console.log(`Starting the ${this.year}  ${this.make} ${this.model}`);
        }
        stop(){
            console.log(`Stopping the ${this.year}  ${this.make} ${this.model}`);
        }
    }

    Reference: MDN Developer Guide - Classes in JS, Wikipedia - OOP Classes

  • prototype - A template object from which other objects may inherit properties. Reference: MDN Developer Guide

  • generator function - A function which can be exited and later re-entered with its context (variable bindings) saved across re-entrances. We have used generator functions in React Sagas. Example:

    function* myGenerator() {
        yield 1;
        yield 2;
        yield 3;
    }
    //create an instance
    const inst = myGenerator();
    // call generator with .next()
    console.log(inst.next()); // 1
    console.log(inst.next()); // 2
    console.log(inst.next()); // 3

    References: MDN Docs, Wikipedia

  • currying - a function that returns a function. More specifically, it is breaking down a function that takes multiple arguments into a series of functions that take a part of the arguments. We have used this to pass parameters to event handlers. Example:

    // Need function that takes an event for the event handler,
    // but we also want to know the name of the property to change
    handleChangeFor = (propertyName) => {
      // returns a function that takes an event
      return (
        (event) => {
          this.setState({
            newCreature: {
              ...this.state.newCreature,
              // the propertyName is plugged in here
              // before the function is returned
              [propertyName]: event.target.value,
            }
          })
        }
      );
    }

    References: Stack Overflow, Wikipedia

  • conditional

  • data type

  • algorithm

  • iterator

  • collection

  • event

  • event handler

  • destructuring - JavaScript expression that makes it possible to unpack values from arrays, or properties from objects, into distinct variables. Example:

    Refrences: MDN: Object Destructuring, MDN: Array Destructuring

  • API - Application Programming Interface - a set of functions and procedures allowing that access the features or data of an operating system, application, or other service. Example: Giphy API Reference: Wikipedia

  • MVC

  • MVVM

  • JSON - JavaScript Object Notation - syntax used in JS to create object literals. It has two main structures: objects with key/value pairs & arrays Reference: Introducing JSON

  • IDE - Integrated Development Environment - software for programming that generally includes a editor with syntax highlighting and intelligent code-completion for source code & a debugger, and may also include build tools and/or source code management tools.

Concepts

Web

  • CMS - Content Management System - system that manages the creation and publication of digital content. Often this is used specifically to refer to the creation and management of web content. Examples: Top CMS of 2018 References: Wikipedia: CMS, Wikipedia: Web CMS

  • cookies

  • session

  • token

  • request

  • response

  • ajax

  • asynchronous - Processes that are happening concurrently or at the same time. One process does not have to complete before the next one may begin. Reference: Wikipedia

  • HTTP

  • HTTPS/TLS/SSL

  • proxy - a stand in for someone/something - Typically refers to a proxy server, which acts as an intermediary for client requests, forwarding those to other servers. We have seen this in our React development projects where a proxy is used to forward requests from our client process to our server. Resources: Wikipedia, Setting up a React Node Proxy

  • REST - Representational State Transfer - an architectural style for building Web services that are lightweight, maintainable, and scalable. A service based on REST is called a RESTful service. While REST is not dependent on any protocol, they typically use HTTP. References: Wikipedia

  • SOAP - SOAP (Simple Object Access Protocol) - a messaging protocol to exchange structured information for web services. It uses XML for the message format and generally HTTP for message exchange. References: Wikipedia

  • XML - eXtensible Markup Language - A markup language, similar in structure to HTML, which aims to be both human readable and machine readable. Tags are used to markup content, but there is not a fixed set of tags. References: Wikipedia

Databases

  • ERD - Entity Relationship Diagram (aka Entity Relationship Model) - An ERD is a data modeling technique that visually shows a system's entities (objects) and the relationships between those entities. It is often used to design a relational database, but may also be used in a larger system design. References: Wikipedia, How to create an ERD

  • entity - An entity is an object or thing. When discussing relational databases, an entity represents a table.

  • schema - The formal definition of the database structure, tables with their column names, data types and any constraints and/or relationships. References: Wikipedia

  • relation - This is NOT a relationship between entities in an ERD. When applied to a database it refers to a table and it's rows of data. References: Stack Overflow

  • primary key

  • foreign key

  • ORM - Object Relational Mapping - Technique of converting data between the logical representation of the data (objects in code) and an atomized form that is stored in a database. Examples: Sequelize & Mongoose References: Wikipedia

Other

  • Mock
  • Testing
  • Data Structures
  • unit test
  • greenfield
  • brownfield

alum-scrum-vocab-terms's People

Contributors

kdszafranski avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

purplereign09

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.