what are those?

What things are in three points or less. A continually updating brain dump.

MAC address

  • Media Access Control
  • Unique to device; hard-coded into a network adapter/network interface card


  • A key stopping point for data traveling between networks
  • Can be a computer routing traffic (workplace) or router (at home)
  • Checks IPs of messages and forwards accordingly


  • Application Program Interface
  • The specification for how a service is to be interacted with


  • Uniform Resource Locator, i.e. web address, endpoint
  • A reference to a web resource


  • HyperText Transfer Protocol
  • Defines how messages are formatted and transmitted on the web
  • Common methods: GET, PUT (idempotent), POST, DELETE, etc.


  • REpresentational State Transfer
  • A set of guiding principles, design patterns, architecture for APIs
  • Statelessly performs CRUD operations on resources usually through HTTP


  • Create (POST), Read (GET), Update (PUT), Delete (DELETE)
  • Standardized use of HTTP methods in RESTful APIs


  • Inter-Process Communication
  • Methods an OS uses to allow processes to manage shared data


  • Transmission Control Protocol/Internet Protocol
  • Communication protocols used to connect devices on the web
  • TCP does management, IP does routing


  • Throughput: number of items transferred per unit time
  • Latency: amount of time required for single item
  • Queue Size = Throughput * Latency

Stack (Data Structure)

  • A Last-In, First-Out (LIFO) structure
  • Push (add to stack), pop (remove from stack), math, etc.

Queue (Data Structure)

  • A First-In, First-Out (FIFO) structure
  • Enqueue, dequeue, etc.
  • Can be made thread safe (queue.Queue in Python)

Heap (Data Structure)

  • A tree where all nodes are in a specific order
  • Min heap has smallest element as root (max v.v.)
  • Often used to implement a priority queue

Stack (Memory)

  • A fast-access memory region managed by CPU
  • Freed upon function completion (local memory)

Heap (Memory)

  • A larger but slower access memory region (vs. stack)
  • Accessed with addresses, needs intelligent cleanup


  • A fast-access, temporary data store
  • Used to avoid rereqeusting or recomputing a resource


  • The portion of the operating system code that is always resident in memory
  • Has complete control over everything in the system

Linux Process

  • A running instance of a program, identified by a process ID
  • Foreground/interactive and background processes


  • Background processes that start at system startup and run forever


  • An intermediary server separating end users from the websites they browse.

Reverse Proxy

  • A type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client, appearing as if they originated from the proxy server itself.