Internet / Computers / CLI / Devops / Misc Flashcards

1
Q

What are “rc” files

A

config files

rc –> run commands

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

First Contentful Paint (FCP)

A

Time until the user sees an indication that the page is loading

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Largest Contentful Paint (LCP)

A
  • how quickly the main content of a web page is loaded
  • the time from when the user initiates loading the page until the largest image or text block is rendered within the viewport
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cumulative Layout Shift (CLS)

A

Movement distance and impact of page elements during the entire lifetime of the document the user sees

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

First Input Delay (FID)

A

The browser time delay between the user’s first click and execution of application code

Example:
User clicks a button but eventhandler does not fire right away b/c page JS hasn’t finished loading

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

4 Web Vitals & tips for success

A

First Contentful Paint (FCP) - Respond quick
Largest Contentful Paint (LCP) - Get to the point
Cumulative Layout Shift (CLS) - Don’t move stuff
First Input Delay (FID) - Don’t load too much

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the internet?

A

The internet is composed of many computers connected to each other and exchanging information.

These connections establish what’s known as a “network.”

When you connect to the internet, you’re connecting to a huge network consisting of many computers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How computers talk to each other

A
  • Computers and other devices have addresses.
  • Computers send and receive information to and from each other with these addresses.
  • When shared between computers, the information is turned into chunks of data the internet knows how to handle.
  • Some computers, called servers, can send out information to other computers upon request.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Key components to Internet

A
  • IP addresses
  • Nodes and hosts
  • Protocols
  • Data packets
  • Networking infrastructure
  • Internet infrastructure
  • Internet routing
  • Domain names
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

IP Address

A

Computers use Internet protocol (IP) addresses to connect with one another through the internet

(similar to addresses we use to send postal mail)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Nodes and Hosts

A

Nodes - computers and devices connected to a network

Hosts - nodes that run applications that send and accept information from other nodes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Protocols

A

Protocol - a way of transmitting data between computers and other devices.

Most common protocols:
* Simple Mail Transfer Protocol (SMTP). This is used for email.
* Hypertext Transfer Protocol (HTTP). HTTP is used to connect to web pages on the World Wide Web (WWW).
* Transmission Control Protocol (TCP) - a standard that defines how to establish and maintain a network conversation by which applications can exchange data. TCP works with the Internet Protocol (IP), which defines how computers send packets of data to each other.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Data packets

A
  • how bytes of data are packaged before traveling through the internet
  • similar to normal packages that contain the parts of something that must be put together
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Networking infrastructure

A

the physical devices that networks use to transmit data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Internet infrastructure

A

The infrastructure of the internet is built and supported by network service providers (NSPs).

By “infrastructure,” we mean the physical components that carry data through the internet. For example, these would include core routers, which take data and send it someplace else, and fiber optic cables, which carry data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Internet routing

A
  • In order for data to be sent to the right place over the internet, each data packet has routing information that tells it where to go. In this way, data on the internet is similar to mail you send through the post office. Each packet of data has information that tells it where it needs to be sent.
  • Then a router, which sends data along the right route, takes the data, reads the information that says where it’s supposed to go, and sends it there.
  • Each time the data goes from one router to another, it’s called a “hop.” Eventually, the data hops to your computer or another device.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Domain names

A
  • A domain name is what you type into your browser, such as “Google.com,” “Yahoo.com,” or “Codecademy.com.” Domain names generally consist of two parts: Top-level domains (TLDs) and second-level domains (2LDs)
  • TLDs are what follow the period in a domain name, like “.com” or other common TLDs like “.gov” or “.edu.”
  • 2LDs precede the period in a domain name. For “Codecademy.com,” “Codecademy” is the 2LD. Generally, a 2LD can be whatever you want it to be — as long as it’s not already in use.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

CPU

A

Central Processing Unit

aka processor or microprocessor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

CPU Core

A

Essentially, a core is a CPU itself, a separate device inside the main CPU chip. This means that it has the ability to do just one thing at a time.

However, modern computers have the ability to support more than one core inside the main chip.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is usually meant by the term “elastic”?

A
  • Ability to scale
  • Elastic cloud computing is the ability to quickly expand or decrease computer processing, memory, and storage resources to meet changing demands.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

VPS

A

Virtual Private Server
* a slice of a server
* a virtual machine that provides virtualized server resources on a physical server that is shared with other users. With VPS hosting, you get dedicated server space with a reserved amount of resources, offering greater control and customization than shared hosting.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

VPC

A

Virtual Private Cloud

a secure, isolated private cloud hosted within a public cloud.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Types of DNS Records

A

A Record
Maps name to IP Address
i.e. drinkvsdrink.com → 23.23.185.61

CNAME
Maps name to name
i.e. blog.drinkvsdrink.com → drinkvsdrink.com

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Proxy Server (Forward Proxy)

A

allows multiple clients to route traffic to an external network.

e.g. a business may have a proxy that routes and filters employee traffic to the public Internet. A reverse proxy, on the other hand, routes traffic on behalf of multiple servers.

25
Q

Reverse Proxy

A
  • accepts a request from a client, forwards it to a server that can fulfill it, and returns the server’s response to the client.
  • You can think of the reverse proxy as a website’s “public face.” Its address is the one advertised for the website, and it sits at the edge of the site’s network to accept requests from web browsers and mobile apps for the content hosted at the website.
26
Q

Benefits of Reverse Proxy

A
  • Increased security
  • Increased scalability and flexibility
  • Web Acceleration
  • Compression
  • SSL termination
  • Caching
27
Q

Load Balancer

A
  • distributes incoming client requests among a group of servers, in each case returning the response from the selected server to the appropriate client.
  • used to increase capacity (concurrent users) and reliability of applications.
28
Q

Bandwidth

A

the amount of data that can be sent from one point to another in a certain period of time. It is measured as a bit rate expressed in bits per second (bits/s) or multiples of it (kbit/s Mbit/s etc.)

29
Q

Caching

A

A cache – is hardware or software that is used to store something, usually data, temporarily in a computing environment.

30
Q

2 main types of server operating systems

A
  1. Windows
  2. Unix

Examples of lineages from these OSs:
Unix –> Linux –> Ubuntu
Unix –> Linux –> Debian
Unix –> Linux –> Red Hat

Unix –> BSD –> freeBSD –> OSX/MacOS

31
Q

Linux

A

Think about an OS like a car engine. An engine can run on its own, but it becomes a functional car when it’s connected with a transmission, axles, and wheels. Without the engine running properly, the rest of the car won’t work.

Linux was designed to be similar to UNIX, but has evolved to run on a wide variety of hardware from phones to supercomputers.

Every Linux-based OS involves the Linux kernel—which manages hardware resources—and a set of software packages that make up the rest of the operating system. Organizations can also choose to run their Linux OS on a Linux server.

32
Q

Daemon

A

In Unix and Linux, a daemon is a program that runs in the background without requiring user interaction.

33
Q

Long-term support (LTS)

A

policy in which a stable release of computer software is maintained for a longer period of time than the standard edition.

The term is typically reserved for open-source software, where it describes a software edition that is supported for months or years longer than the software’s standard edition.

34
Q

Short term support (STS)

A

support policy for the software’s standard edition. STS software has a comparatively short life cycle, and may be afforded new features that are omitted from the LTS edition to avoid potentially compromising the stability or compatibility of the LTS release

35
Q

2 types of Authentication

A
  1. username / pw
  2. SSH keys
36
Q

SSH

A

Secure Shell (aka Secure Socket Shell)

Very large key

Two Keys:
1. Private Key
2. Public Key

You need the private key (on your computer) to decrypt the public key

Strongest authentication available

37
Q

SSH vs SSHD

A

SSHD - SSH Daemon

The main difference is that sshd is a server (like a web server serving https) and SSH is a client (think of a web browser). The client/user authenticates itself against the server using the users credentials

38
Q

Firewall

A

network security device that monitors incoming and outgoing network traffic and decides whether to allow or block specific traffic based on a defined set of security rules

39
Q

Port

A

communication endpoint that maps to a specific process or network service

what’s the point of ports? - you can hit the IP address, but then where do you want to go? By specifying the port, you can say exactly where you want communication to go - much better than having a trillion ip addresses.

40
Q

HTTP

A
  • Hypertext transport protocol
  • defines how the code moves from the server to the client and how to decrypt that
  • Runs over TCP
41
Q

HTTPS:

A
  • Hypertext transfer protocol secure (HTTPS) is the secure version of HTTP, which is the primary protocol used to send data between a web browser and a website.
  • Encrypted on the client, decrypted on the server
42
Q

HTTP Headers and Cookies

A

Header - metadata about where the packet is going, where its from (think of it like the writing on an envelope - you can read it without opening up the packet)

Headers are different based on if its a request or response

Common headers:
* Host: tells request where its going
* User-Agent: information about the requesting user agent (e.g. browser)

43
Q

How to SSH into a Server

A

ssh user@[ip_address]

44
Q

Bash

A

Bash is a shell program.

A shell program is typically an executable binary that takes commands that you type and (once you hit return), translates those commands into (ultimately) system calls to the Operating System API.

Note: A binary is a file that contains the instructions for a program, ie it is a ‘program’ file, rather than a ‘text’ file, or an ‘application’ file (such as a Word document).

If you’re not sure what an Operating System API is, then don’t worry. You only need to know that a shell program is a program that allows you to tell the computer what to do. In that way, it’s not much different to many other kinds of programming languages.

45
Q

dot .

linux

A

The dot (.) represents the current directory in the filesystem.

46
Q

dot-dot ..

linux

A

The dot-dot (..) represents one level above the current directory.

47
Q

/

linux

A

The forward slash (/) represents the “root” of the filesystem. (Every directory/file in the Linux filesystem is nested under the root / directory.)

48
Q

tilde ~

linux

A

The tilde (~) represents the home directory of the currently logged in user.

The tilde (~) is a Linux “shortcut” to denote a user’s home directory. Thus tilde slash (~/) is the beginning of a path to a file or directory below the user’s home directory.

49
Q

pwd

linux

A

pwd - print working directory

50
Q

cd

linux

A

cd - change directory

51
Q

apt

linux

A

Advanced Package Tool

  • set of core tools inside Debian and Ubuntu Linux system.
  • You can use the apt command to install, delete or remove apps, keep Ubuntu/Debian server up to date with security patches and more.
52
Q

source

linux

A

reads and executes the file content in the current shell

(useful when updating ~/.zshrc file and you want iterm to access those updated values without restarting iterm)

source ~/.zshrc
53
Q

redirection

A

|
read from stdout

> write stdout to file

> append stdout to file

<
read from stdin

2>
read from stderr

54
Q

Multi Plexing

A

HTTP/2 can send multiple requests for data in parallel over a single TCP connection. This is the most advanced feature of the HTTP/2 protocol because it allows you to download web files asynchronously from one server.

Most modern browsers limit TCP connections to one server. This reduces the additional round trip time (RTT), making your website load faster without any optimization, and makes domain sharding unnecessary.

55
Q

What is a CDN and what is the benefit of using one?

A

A content delivery network (CDN) is a network of interconnected servers that speeds up webpage loading for data-heavy applications.

CDN can stand for content delivery network or content distribution network.

When a user visits a website, data from that website’s server has to travel across the internet to reach the user’s computer. If the user is located far from that server, it will take a long time to load a large file, such as a video or website image. Instead, the website content is stored on CDN servers geographically closer to the users and reaches their computers much faster.

We use AWS Cloudfront as our CDN

56
Q

What is the difference between AWS ECR and ECS?

A

The primary difference between Amazon ECR and ECS is that while ECR provides the repository that stores all code that has been written and packaged as a Docker image, the ECS takes these files and actively uses them in the deployment of applications.

57
Q

vertical vs horizontal scaling

A

Vertical - add more power (CPU, RAM) to existing machine

Horizontal - add more machines into your pool of resources

58
Q

What does bit stand for

A

Binary digit.

  • smallest unit of data in a computer. Either 0 or 1