Tuesday Review Part 2

Cards (78)

  • API
    An access point to an app that can access a database, not a database itself
  • API interaction with databases
    1. Send data to API
    2. API has permission to push data into database
    3. API has permission to read data from database
    4. API has permission to update data from database
    5. API has permission to delete data from database
  • Components / Process

    • A request is sent to the API endpoint or resource
    • The endpoint lives on the backend, and is typically specific to a type of data
    • The API endpoint then determines what type of request it is (Get, Put, Post, Delete) and if it knows what to do with it
    • A response is then sent back to the client
  • Protocol Layers

    • Applications- HTTP, DNS, FTP, Ports
    • Transport- TCP, UDP
  • Ports
    Endpoints in network communication, help differentiate between multiple connections and processes, each port is associated with a specific process
  • Common ports

    • 80- Non-Secure webpage
    • 443- secure webpage
    • 25- email
  • TCP
    Connection between client/server before sending data
  • UDP
    No connection beforehand
  • Differences between IPv4 and IPv6

    • Address Size: 32 bit # vs 128 bit #
    • Address format: dotted decimal vs Hexadecimal Notation
    • Prefix Notation: 255.255.255.0/24 vs /64
    • Number of addresses: 2**32= 4,294,967,296 vs 2**128= 340,282,366,920,938,463,374,607,431,768,211,456
  • HTML
    Content and structure
  • CSS
    Styling and design
  • JavaScript
    Action and interactivity
  • DNS
    Domain Name Service (Port 53), simplifies communication
  • HTTP
    Hypertext transfer protocol used to transfer data across the web, the client makes a request and server responds
  • HTTPS
    Secure version of HTTP, data can be attacked without it
  • 5 Primary Components of HTTP
    • HTTP version
    • URL
    • Method (CRUD)
    • Request headers
    • Body
  • Response Status Codes

    • 1xx- Informational
    • 2xx-Successful
    • 3xx-Multiple Choice
    • 4xx-Client Error
    • 5xx-Server Error
  • Intranet vs Internet vs Extranet

    • Internet- Public, info shared across globe, not secured
    • Intranet- Private, info shared between staff/employees, secured
    • Extranet- Private, info shared between different organizations, secured
  • Common Ports

    • HTTP (port 80)
    • HTTPS (port 443)
    • MySQL (port 3306)
    • Microsoft SQL (port 1433)
  • Backend
    The code running on the server that processes front end actions (REQUEST) and returns data back to user (RESPONSE)
  • Backend Layers
    • Tech Stack and Languages
    • Design patterns
    • Client-Server Pattern 3-tier
    • Client-Server Pattern 2-tier
    • Layered Pattern N-tier
  • Tech Stack
    • Programming languages
    • Frameworks
    • Libraries
    • Patterns
    • Servers
    • UI/UX solutions
    • Software
    • Tools
  • Backend Languages

    • Python
    • C
    • C++
    • C#
    • Java
  • LAMP vs MEAN
    • LAMP- PHP, MySQL, Apache, Linux
    • MEAN- Node.js, Express.js, Angular.js, MongoDB
  • MVC
    Model represents the state and business logic, View is responsible for the presenting content, Controller handles user interactions
  • Client-Server Pattern 3-tier
    • Presentation Tier - user interface and communication layer
    • Application Tier - middle tier that processes information
    • Data Tier - database where information is stored and managed
  • Client-Server Pattern 2-tier

    Presentation tier has direct access to the data tier, business logic is limited
  • Layered Pattern N-tier
    Multi-tier architecture with more than one tier, very rare to see more than 3 layers
  • Layers in N-tier

    • Presentation tier (UI layer)
    • Application tier (service layer)
    • Business logic tier (domain layer)
    • Data Access tier (persistence layer)
  • Single Tenant
    Cloud runs on a dedicated infrastructure, each paying customer gets their own version
  • Multi-Tenant

    Single infrastructure built to serve multiple businesses, all customers access the same source code and database
  • Monolithic
    Built as a single unified unit, entire application is deployed
  • Microservice
    Collection of smaller independent deployable services
  • The 3 main clouds

    • Amazon Web Services (AWS)
    • Microsoft Azure
    • Google Cloud Platform (GCP)
  • ONPREM, HYBRID, CLOUD
    • Cloud - Only can be access digitally
    • On-Prem - Is where there is a physical place where data is stored
    • Hybrid- Combination of on-prem and having cloud that can be access digitally
  • DBMS
    A big program that allows us to manage a large database and allows it to persist over long periods of time
  • RDBMS
    Relational Database Management System, used in healthcare due to data structure with relationships
  • SQL
    A query language used to retrieve information from a database management system, not a database itself
  • Tiers
    • 1-tier - Client, application code, and database all in the same place
    • 2-tier - Client on own machine, database and application code on separate machine
    • 3-tier - Client, Application server, DB server all separated
  • SQLite
    Lightweight single file (.db) where you can create a relational database, ideal for embedded systems, prototyping, and local storage