The Internet and Core Technologies Flashcards

1
Q

What does TCP/IP stand for?

A

The transmission control protocol and internet protocol

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

What is the difference between the internet and the world wide web?

A

The world wide web, or web for short, are the pages you see when you’re at a device and you’re online.

But the internet is the network of connected computers that the web works on. Think of the internet as the roads that connect towns and cities together. The world wide web contains the things you see on the roads like houses and shops.

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

What is the client-server model?

A

Client/server is a model of interaction in which a program sends a request to another program and awaits a response.

The client refers to the user’s device or program that is making a request for data. A client can be a browser or application running on a user’s laptop, smartphone, or tablet.

The server is the device or program in that network that waits for incoming requests and sends back data.

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

What is the job of the server?

A

The server is dedicated to holding the websites files. Servers contain logic for processing a request and identifying the files and data that the client has specified. It will respond to the browser’s request with the necessary files.

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

What is a server?

A

A server is a specialized computer connected to a network which provides, or “serves up”, resources or services.

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

How do browsers and servers communicate?

A

The browser and server communicate with each other using the internet protocol HTTP (hypertext transfer protocol), which allows for data transfer.

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

What’s the role of the browser?

A

The browser initiates a request to the server and renders website files.

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

What is HTTP?

A

HTTP stands for hypertext transfer protocol and is a standardized set of rules for how browsers and servers transfer data to one another.

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

What are status codes?

A

When a server responds to a client, the server specifies a status code as a part of the response. Status codes indicate whether or not the HTTP request was successfully completed and if there was an error, they contain some information about the type of error that happened.

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

What does the 404 code mean?

A

The requested resource was not found

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

How do web browsers work?

A

Every time we load a webpage, our device sends a request for each file that makes up that page.

1.When a user types in a URL and presses enter, the server processes the request and sends the HTML file back to the client. The HTML file holds content and links to display the site properly.

2.The browser will begin to search for elements in the HTML file and it will start to make additional HTTP requests for any other external resources used by the HTML file. This often includes:

a.) One or more CSS stylesheets.The browser analyzes the CSS and starts applying the visual styles to the content of the site.
b.) Website assets, like images and videos, from the server to the browser.
c.) One or more JavaScript files.

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

What are static web pages?

A

Static web pages are web pages that do not respond to user behavior and the content is the same for all users.

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

How is web 2.0 different than web 1.0?

A

Web 2.0:
1. Provides a dynamic user experience by offering content that responds to user input without forcing the page to reload.
2. Emphasizes user-generated content and social sharing.

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

What’s the function of the Console tab in Chrome developer tools?

A

The Console tab that outputs JavaScript logs and errors from a web application

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

What’s the function of the Sources tab in Chrome developer tools?

A

The Sources tab shows all content resolved for the current page. The Sources tab includes HTML, CSS, JavaScript, images and videos.

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

What’s the function of the Network tab in Chrome developer tools?

A

The Network tab allows you to inspect the timeline and details of HTTP requests and responses for a webpage.

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

What’s the function of the Memory tab in Chrome developer tools?

A

The Memory tab displays the parts of your code that are consuming the most resources. This feature helps to identify if and where your code needs improvement.

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

What’s the function of the Performance tab in Chrome developer tools?

A

The Performance tab shows what the web browser is doing over time. It can help you identify functions that are taking the most time if your web application is running slow.

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

What is an IP address?

A

It’s a unique string of characters that identifies each computer using the Internet Protocol to communicate over a network.

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

What is an Internet Protocol and which ones are typically in use?

A

IP is a set of rules governing the format of data sent over the internet or other network. Version four and version six are currently the two most widely used standards of internet protocol.

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

What is the difference between IP4 and IP6 address?

A

In protocol version four an IP address contains four octet. It’s separated by periods or dots. For example 192.0.2.235. In protocol version six. An IP address contains eight groups of hexadecimal digits separated by a colon. For example 4527:0a00:1567:0200:ff00:0042:8329.

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

What are IP packets?

A

IP packets are structures that carry data during transmission on an IP network. When you send data across a network, you send the data as a series of messages called IP packets. They are also known as data grams.

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

What are the component parts of an IP packet?

A

At a high level IP packets contain a header and a payload or the data. They include the destination IP address and source IP address. These addresses are in the header along with some additional information to help deliver the packet. And the payload contains the data of the packet and some of the other protocols, mainly the TCP and the UDP, which contain payloads that contain further protocols inside of them.

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

What are the three typical issues with IP packet delivery?

A

These issues are:
1. they can arrive out of order,
2. they can become damaged or corrupted in transit or
3. they can be dropped or lost during transit.

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

What are the two most common protocols in the IP packet payload?

A

Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). Both of these protocols contain payloads that contain further protocols inside of them.

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

What is the TCP?

A

The Transmission Control Protocol can solve all three of the issues with IP packet delivery (when messages arrive out of order, they become damaged or corrupted in transit or be dropped or lost during transit) but at the cost of a small delay when sending the data.

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

What is the UDP?

A

The User Datagram Protocol (UDP) solves the corrupt packet issue but packets can still arrive out of order or not arrive at all. This protocol is used for sending data that can tolerate some data loss such as voice calls or live video streaming.

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

What are the primary or the most commonly used HTTP methods?

A

The primary or the most commonly used HTTP methods are GET, POST, PUT and DELETE.

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

What is GET (HTTP method)?

A

The GET method is used to retrieve information from the given server.

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

What is POST (HTTP method)?

A

The POST request is used to send data to the server.

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

What is PUT (HTTP method)?

A

The PUT method updates whatever currently exist on the website with something else

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

What is DELETE (HTTP method)?

A

The DELETE method removes the resource.

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

What is a HTTP request?

A

Submitting an HTTP request involves sending a message to the receiving server in a specific format.

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

What are the parts of a HTTP request?

A

An HTTP request is made out of three components: request line, headers and message body, the last being optional.

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

Which version of the HTTP protocol is most commonly used?

A

There are multiple versions of the HTTP protocol and Version 1.1 and 2.0 are the most used.

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

What is HTTP?

A

HTTP (Hypertext Transfer Protocol) is the communication protocol you use whenever you browse the web. It’s used for transferring web resources such as HTML documents, images, styles, and other files.

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

What is the method (in HTTP request)?

A

The HTTP method describes the type of action that the client was to perform. For certain requests methods, the requests will also contain a body of content that the client is sending.

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

What is the path (in HTTP request)?

A

The path is the representation of where the resource is stored on the webserver. For example, if you requested an image at https://example.com/index.html, the path would be /index.html.

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

What are headers (in HTTP request)?

A

Headers contain additional information about the request, and the client that is making the request.

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

What is a HTTP response?

A

An HTTP response is made by a server to a client. The aim of the response is to provide the client with the resource it requested, or inform the client that the action it requested has been carried out; or else to inform the client that an error occurred in processing its request.

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

What are the parts of a HTTP response?

A

HTTP responses follow a format similar to the request format. Following the header, the response will optionally contain a message body consisting of the response contents such as the HTML document, the image file, and so forth.

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

What are HTTP status codes?

A

An HTTP status code is a message a website’s server sends to the browser to indicate whether or not that request can be fulfilled.

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

What are the five groups of status codes and what do they mean?

A

The status codes are grouped by the first digit of the error number.
1.Informational: 100-199.
2. Successful responses: 200-299.
3. Redirection messages: 300-399.
4. Client error responses: 400-499
5. Server error responses: 500- 599.

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

Describe the Informational responses and give the most commonly used one.

A

Information responses are provisional responses sent by the server. These responses are interim before the actual response. The most common response is 100 Continue, which indicates that the web client should continue to request or ignore the response if the request is already finished.

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

Describe the Successful responses and give the most commonly used one.

A

Successful responses indicate that the request was successfully processed by the web server, with the most common success response being 200 Ok, which has a meaning depending on the method.

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

Explain meanings of the 200 Ok.

A

The meaning of 200 Ok depends on the HTTP method.
If the method is GET, it means that the resource is found and is included in the body of the HTTP response.
If it’s POST, it means that the resource was successfully transmitted to the webserver.
If it’s PUT, the resource was successfully transmitted to the webserver.
Finally, if the method is DELETE, it means the resource was deleted.

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

Describe the Redirection responses and give the most commonly used ones.

A

Redirection responses indicate to the web client that the requested resource has been moved to a different path. The most common response codes used are 301 Moved Permanently and 302 Found.

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

What is the difference between redirection messages 301 and 302?

A

The difference between the redirection messages 301 (Moved Permanently) and 302 (Found) is that 302 indicates a temporary redirection. The resource has been temporarily moved. When web browsers receive these responses, they will automatically submit the request for the resource at the new path.

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

Describe the Client error responses.

A

Client error responses indicate that the requests contained bad syntax or content and cannot be processed by the webserver.

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

What are the most common Client error responses?

A

The most common codes used are:
1. 400: used where the web browser or client submitted bad data to the webserver.
2. 401: used to indicate that the user must log into an account before the request can be processed.
3. 403: used to indicate the request was valid, but that the webserver is refusing to process it. This is often used to indicate that a user does not have sufficient permissions to execute an action in a web application.
4. 404: used to indicate that the request resource was not found on the webserver.

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

Describe the server error responses.

A

Server error responses indicate that a failure occurred on the webserver while trying to process the request. The most common code used is 500 Internal Server Error, which is a generic error status indicating that the server fail to process the request.

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

What is the HTTPS and how does it work?

A

HTTPS is the secure version of HTTP. It is used for secure communication between two computers so that nobody else can see the information being sent and received. Like an HTTP, the requests and responses still behave in the same way and have the same content. The big difference is before the content is sent, it is encrypted (turned into a secret code). Only the other computer can turn the secret code back into its original content. If someone else was to look at the code, it wouldn’t be understandable.

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

What is 101 code?

A

Status code 101 Switching Protocols means that the client has requested the server to switch protocols and the server has agreed to do so.

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

What is 201 code?

A

Status code 201 Created means that the server successfully processed the request and a resource was created.

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

What is 202 code?

A

Status code 202 Accepted means that the server accepted the request for processing but the processing has not yet been completed.

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

What is 204 code?

A

Status code 204 No Content means that the server successfully processed the request but is not returning any content.

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

What is 405 code?

A

Status code 405 Method Not Allowed means that the web server does not support the HTTP method used.

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

What is 502 code?

A

Status code 502 Bad Gateway means that the web server received an invalid response from the Application Server.

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

What is 503 code?

A

Status code 503 Service Unavailable means that the web server cannot process the request.

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

What is a request line (HTTP)? Give an example.

A

Every HTTP request begins with the request line. This consists of the HTTP method, the requested resource and the HTTP protocol version.

GET /home.html HTTP/1.1

In this example, GET is the HTTP method, /home.html is the resource requested and HTTP 1.1 is the protocol used.

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

What is a request header (HTTP)? Give an example.

A

The header of the request is where the headers of the request are located. After the request line, the HTTP headers are followed by a line break.

There are various possibilities when including an HTTP header in the HTTP request. A header is a case-insensitive name followed by a: and then followed by a value.

Host: example.com

In this case, the name of the header is Host, and its value is example.com.

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

What are HTTP Request Headers?

A

Headers are metadata that are sent in the request to provide information about that request.

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

Name five common request headers.

A

The Host, User-Agent, Accept, Accept-Language, Content-type.

64
Q

What is the Host header?

A

The Host is a request header that specifies the host of the server and indicates where the resource is requested from.

Host: example.com

65
Q

What is the User-Agent header?

A

The User-Agent request header informs the web server of the application that is making the request. It often includes the operating system (Windows, Mac, Linux), version and application vendor.

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0

66
Q

What is the Accept header?

A

The Accept request header informs the web server what type of content the client will accept as the response.

Accept: /

67
Q

What is the Accept-Language header?

A

The Accept-Language request header indicates the language and optionally the locale that the client prefers.

Accept-Language: en

68
Q

What is the Content-type header?

A

The Content-type header indicates the type of content being transmitted in the request body.

Content-type: text/json

69
Q

What is the structure of the HTTP response?

A

The first line of the response is the status line. This line shows the client if the request was successful or if an error occurred.

HTTP/1.1 200 OK

The line begins with the HTTP protocol version, followed by the status code and a reason phrase. The reason phrase is a textual representation of the status code.

70
Q

What are HTTP Response Headers?

A

A response header is a simple name-value pair used in an HTTP response to provide additional information about content or how the client should process it.

Following the status line, there are optional HTTP response headers followed by a line break.

Similar to the request headers, there are many possible HTTP headers that can be included in the HTTP response.

71
Q

Name four common response headers.

A

The Date, Server, Content-Length, and the Content-Type.

72
Q

What is the Date header?

A

The Date response header specifies the date and time the HTTP response was generated.

Date: Fri, 11 Feb 2022 15:00:00 GMT+2

73
Q

What is the Server header?

A

The Server response header describes the web server software used to generate the response.

Server: Apache/2.2.14 (Linux)

74
Q

What is the Content-Length header?

A

The Content-Length response header describes the length of the response.

Content-Length: 84

75
Q

What is the Content-Type header?

A

The Content-Type response header describes the media type of the resource returned (e.g. HTML document, image, video).

Content-Type: text/html

76
Q

What is the relationship between HTTP and TCP?

A

Hypertext Transfer Protocols (HTTP) are used on top of Transmission Control Protocol (TCP) to transfer webpages and other content from websites.

77
Q

Name eight common Internet Protocols other than HTTP and TCP.

A

Dynamic Host Configuration Protocol (DHCP), Domain Name System Protocol (DNS), Internet Message Access Protocol (IMAP), Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP), File Transfer Protocol (FTP), Secure Shell Protocol (SSH), SSH File Transfer Protocol (SFTP).

78
Q

Explain the Dynamic Host Configuration Protocol (DHCP).

A

Computers need IP addresses to communicate with each other. When your computer connects to a network, the Dynamic Host Configuration Protocol or DHCP as it is commonly known, is used to assign your computer an IP address.

Your computer communicates over User Datagram Protocol (UDP) using the protocol with a type of server called a DHCP server. The server keeps track of computers on the network and their IP addresses.

It will assign your computer an IP address and respond over the protocol to let it know which IP address to use.

Once your computer has an IP address, it can communicate with other computers on the network.

79
Q

Explain Domain Name System Protocol (DNS).

A

Your computer needs a way to know with which IP address to communicate when you visit a website in your web browser, for example, meta.com. The Domain Name System Protocol, commonly known as DNS, provides this function. Your computer then checks with the DNS server associated with the domain name and then returns the correct IP address.

80
Q

Explain Internet Message Access Protocol (IMAP).

A

Do you check your emails on your mobile or tablet device? Or maybe you use an email application on your computer?
Your device needs a way to download emails and manage your mailbox on the server storing your emails. This is the purpose of the Internet Message Access Protocol or IMAP.

81
Q

Explain Simple Mail Transfer Protocol (SMTP).

A

Now that your emails are on your device, you need a way to send emails. The Simple Mail Transfer Protocol, or SMTP, is used. It allows email clients to submit emails for sending via an SMTP server. You can also use it to receive emails from an email client, but IMAP is more commonly used.

82
Q

Explain Post Office Protocol (POP).

A

The Post Office Protocol (POP) is an older protocol used to download emails to an email client. The main difference in using POP instead of IMAP is that POP will delete the emails on the server once they have been downloaded to your local device. Although it is no longer commonly used in email clients, developers often use it to implement email automation as it is a more straightforward protocol than IMAP.

83
Q

Explain File Transfer Protocol (FTP).

A

When running your websites and web applications on the Internet, you’ll need a way to transfer the files from your local computer to the server they’ll run on. The standard protocol used for this is the File Transfer Protocol or FTP. FTP allows you to list, send, receive and delete files on a server. Your server must run an FTP Server and you will need an FTP Client on your local machine.

84
Q

Explain Secure Shell Protocol (SSH).

A

When you start working with servers, you’ll also need a way to log in and interact with the computer remotely. The most common method of doing this is using the Secure Shell Protocol, commonly referred to as SSH. Using an SSH client allows you to connect to an SSH server running on a server to perform commands on the remote computer.
All data sent over SSH is encrypted. This means that third parties cannot understand the data transmitted. Only the sending and receiving computers can understand the data.

85
Q

Explain SSH File Transfer Protocol (SFTP).

A

The data is transmitted insecurely when using the File Transfer Protocol. This means that third parties may understand the data that you are sending. This is not right if you transmit company files such as software and databases. To solve this, the SSH File Transfer Protocol, alternatively called the Secure File Transfer Protocol, can be used to transfer files over the SSH protocol. This ensures that the data is transmitted securely. Most FTP clients also support the SFTP protocol.

86
Q

What is a library (software development)?

A

A library supplies reusable pieces of code that you can use in your application instead of you having to re-create the required code. They are purpose-built to provide a specific functionality.

87
Q

What is a Framework (software development)?

A

In software development, a framework provides a structure for developers to build an application.

88
Q

What is the difference between frameworks and libraries in software development?

A

A library is a collection of functions developers can call at will and still control the flow of the software application. The operations performed to be performed by libraries are precisely and specifically defined.

A framework is a structure in which the application defines the content of the operation by asking the developer to fill in the spaces. The framework defines the concept with the functionality itself is defined by the developer with the end-user in mind.

A key difference between the two is the inversion of control. When using a library, the control remains with the developer who tells the application when to call library functions. When using a framework, the control is reversed, which means that the framework tells the developer where code needs to be provided and calls it as it requires.

89
Q

What are APIs (software development)?

A

An API is a set of functions and procedures for creating applications that access the features or data of an operating system, application or other service. The term is used widely to represent many different tools and systems. They are also known as gateways or middleware because they act as a bridge between systems.

90
Q

Name three common APIs used by developers.

A

Browser/Web API, REST API, and Sensor-Based API.

91
Q

Explain Browser/Web API.

A

Browser or Web APIs are a common type of API, which are built into the browser itself. They extend the functionality of the browser by adding new services and are designed to simplify complex functions and provide easy syntax for building advanced features.

92
Q

Give five examples of Browser APIs.

A
  1. The DOM API: turns the html document into a tree of nodes that are represented as JavaScript objects,
  2. The geolocation API: returns coordinates of where the browser is located,
  3. Fetch API: other APIs available for fetching data,
    drawing, graphics or Canvas API,
  4. History API: APIs available for keeping history,
  5. Web Storage API: for client side storage.
93
Q

Explain RESTful or REST API.

A

These are also called web servers. This kind of API provides data for popular web and mobile apps. REST or representational state transfer, is a set of principles that help build highly efficient API’s. One of the main responsibilities of these kinds of API’s is sending and receiving data to and from a centralized database. We can query our own REST API or third party ones.

94
Q

Explain Sensor-Based API.

A

This is what the internet of things also known as IOT is based on. These are actual physical senses that are interconnected with each other. The sensors can communicate through API and track and respond to physical data. Some examples are Philips hue, smart lights and node bots.

95
Q

What is the most common data API for web developers and why?

A

The most common data API for web developers is a RESTtful API which is a web server that provides responses to requests. These API web servers are designed to provide the data backbone for a web client like a web page or mobile app. This means that these API’s must be able to accomplish things like getting data or get, creating data. Also referred to as post, updating data or put, and deleting data or delete. API issues, REST principles and good design practices to create discoverable interfaces. This helps us get the exact response expected.

96
Q

How exactly does the REST API work?

A

But exactly how do they work? Here’s a closer description of their activity. These API’s use endpoints to specify how different resources can be accessed. The endpoint is built into the URL when accessing the API. Once the endpoint is hit, the API performs whatever service side processing is needed to build the response.

97
Q

Name two common response types for the REST API.

A

Two common forms of response are full web page and a data form based on JavaScript called Json.

98
Q

What is an IDE?

A

An integrated development environment, or IDE, is software for building applications. This kind of software application has many different features to help developers.

99
Q

Name five of the features of the IDEs.

A
  1. Syntax Highlighting,
  2. Error Highlighting,
  3. IntelliSense,
  4. Refactoring,
  5. Autocomplete.
100
Q

What is refactoring?

A

Refactoring is a feature of IDEs that changes the structure of the code but keeps the functionality intact - an example of this is changing a function name in all instances of its use throughout a document.

101
Q

What is Syntax Highlighting?

A

Syntax highlighting is a feature of IDEs where special keywords of the programming language are highlighted in different colors to make the code easier to read.

102
Q

What is IntelliSense?

A

IntelliSense is a feature of IDEs that can detect variables and functions and offer them as suggestions during autocomplete.

103
Q

What is error highlighting in IDEs?

A

Error Highlighting is a feature of IDEs where - just like checking spelling in a text document - IDEs can highlight mistakes you make in your code.

104
Q

What is the difference between text editors and IDEs?

A

Text editors, also called code editors, are applications used by developers to write code. IDEs, or “integrated development environments” allow you to not only edit, but also compile, and debug your code through one application or interface.

105
Q

What do we call a folder when programming?

A

A directory.

106
Q

What is boilerplate in IT?

A

In Information Technology, a boilerplate is a unit of writing that can be reused over and over without change. By extension, the idea is sometimes applied to reusable programming, as in “boilerplate code.

107
Q

What is the DOM in IT?

A

The Document Object Model (DOM) is the data representation of the objects that comprise the structure and content of a document on the web. Effectively, it’s a representation of the source code in the browser. This is why the changes in Chrome Dev tools are not permanent - we are only changing the DOM and not the source code.

108
Q

What is prototyping in the browser?

A

Websites can be described as digital interfaces built to run in a web browser. Many designers like to create these interfaces in graphics editors before moving on to coding. But it makes more sense to prototype websites in a browser to see how each feature works, and to gauge initial concepts like layout structure and page animations. This can be done by changing the DOM with Chrome Dev Tools.

109
Q

What’s the function of the Styles tab in Chrome Dev Tools>Elements>Styles?

A

The Styles tab shows all CSS styles for a given element.

110
Q

What is the function of the Computed tab in Chrome Dev Tools>Elements>Styles?

A

The Computed tab shows computed styles for a given element, which means only the styles that actively apply to this element.

111
Q

What does it mean when a CSS rule is striked through in Chrome Dev Tools>Elements>Styles?

A

As rules can often be overwritten by more specific rules, when a given rule is overruled for a specific element this is what causes the horizontal black line through some CSS rules - these lines denote that that this rule is not being used. You can switch to Computed tab to see only the active rules.

112
Q

What is a root directory?

A

A root first directory in the filesystem, it is the parent of all other directories and files in the filesystem.

113
Q

What is a filesystem?

A

A filesystem organizes a computer’s files and directories into a tree structure.

114
Q

What is a shell prompt?

A

It appears when the terminal is ready to accept a command.

115
Q

What is a ls command?

A

When you type ls, the command line looks at the directory you are in, and then “lists” all the files and directories inside of it. Be sure to type the letter l as in “List” and not the number 1.

116
Q

What is the command line?

A

The command line is a text interface for your computer. It’s a program that takes in commands, which it passes on to the computer’s operating system to run. From the command line, you can navigate through files and folders on your computer, just as you would with Windows Explorer on Windows or Finder on Mac OS.

117
Q

What is the pwd command?

A

pwd stands for “print working directory.” It outputs the name of the directory you are currently in, called the working directory.

118
Q

What is the cd command?

A

cd stands for “change directory.” Just as you would click on a folder in Windows Explorer or Finder, cd switches you into the directory you specify that is one level down in the command line system. In other words, cd changes the working directory. It’s used by writing cd and the directory you want to go to, like cd 2015, and pressing enter.

119
Q

What are command line arguments?

A

Command-line arguments are simple parameters that are given on the system’s command line, and the values of these arguments are passed on to your program during program execution. For example in the cd command cd 2020, 2020 is the argument.

120
Q

What is cd .. command?

A

This is the cd command to move to one directory up. The argument .. stands for the directory above the current working directory.

121
Q

How can we move across multiple directories with a single command in the command line?

A

We can do so by providing cd a relative path to the given directory as an argument. The relative path is a forward slash (/) separated list of all the directories leading to the goal directory.

122
Q

How can we move up multiple directories in the command line?

A

We can move up multiple directories using the .. argument. To go from memory up 2 directories, we use ../..

123
Q

How can we move to an adjacent directory in the command line?

A

We can move to an adjacent directory using ../ and then a directory name, for example we can move from a folder named ‘jan’ to an adjacent folder named ‘feb’ by the command cd ../feb

124
Q

What is the mkdir command?

A

The mkdir command stands for “make directory”. It takes in a directory name as an argument and then creates a new directory in the current working directory. We use it, then a space, then a new directory name.

125
Q

How can we use the mdir command with a relative path?

A

We can use mkdir from a current position by using the relative path as an argument, so in an example where we have a directory ‘main’ with a nested directory ‘deep’, we can make a subdirectory of deep called ‘shovel’ from active position in main by using mkdir deep/shovel

126
Q

What is the touch command?

A

The touch command creates a new file inside the working directory. It takes in a filename as an argument and then creates an empty file with that name in the current working directory. For example we can create a new file named keyboard.txt by using touch keyboard.txt

127
Q

Name some helpful commands for the command line.

A

tab can be used to autocomplete your command. When you are typing the name of an existing file or directory, you can use tab to finish the rest of the name.

The up and down arrows (↑ and ↓) can be used to cycle through your previous commands. ↑ will take you up through your most recent commands, and ↓ will take you back through to the most recent one.

clear is used to clear your terminal, which is useful when it’s full of previous commands and outputs. It doesn’t change or undo your previous commands, it just clears them from view.

128
Q

What is Bash?

A

Bash, or the Bourne-Again SHell, is a CLI that was created over twenty-seven years ago by Brian Fox as a free software replacement for the Bourne Shell. A shell is a specific kind of CLI. Bash is “open source” which means that anyone can read the code and suggest changes. Since its beginning, it has been supported by a large community of engineers who have worked to make it an incredible tool. Bash is the default shell for Linux and Mac. For these reasons, Bash is the most used and widely distributed shell.

129
Q

What does the tilde sign represent in Bash Command Line?

A

The tilde sign, ~, represents the home directory.

130
Q

Read–eval–print loop

A

A read–eval–print loop (REPL), also termed an interactive toplevel or language shell, is a simple interactive computer programming environment that takes single user inputs, executes them, and returns the result to the user; a program written in a REPL environment is executed piecewise.
Common examples include command-line shells and similar environments for programming languages, and the technique is very characteristic of scripting languages like JavaScript.

131
Q

front-end applications

A

Applications created for and executed in the browser.

132
Q

What was the relationship of JS and the browser pre-2009/Node runtime environment?

A

For a long time, JavaScript code could only be executed in a browser and was used exclusively for creating front-end applications.

133
Q

What is the purpose of Node runtime environment?

A

The Node runtime environment was created for the purpose of executing JavaScript code without a browser, thus enabling programmers to create full-stack (front-end and back-end) applications using only the JavaScript language.

134
Q

Differences between Node runtime environment and browser runtime environment?

A

Node is an entirely different runtime environment, meaning that browser-environment data values and functions, like window.alert(), can’t be used. Instead, the Node runtime environment gives back-end applications access to a variety of features unavailable in a browser, such as access to the server’s file system, database, and network.

135
Q

What is a Runtime Environment? Give two examples of JavaScript runtime environments.

A

A runtime environment is where your program will be executed. It determines what global objects your program can access and it can also impact how it runs.
two JavaScript runtime environments:

the runtime environment of a browser (like Chrome, or Firefox)
the Node runtime environment

136
Q

Diferences between JS front-end and back-end applications (executions and access to data values and functions)

A

Front-end JavaScript applications are executed in a browser’s runtime environment and have access to the window object.
Back-end JavaScript applications are executed in the Node runtime environment and have access to the file system, databases, and networks attached to the server.

137
Q

Where can JS code be executed

A

JavaScript code may be executed in one of two runtime environments:
a browser’s runtime environment
the Node runtime environment

138
Q

A runtime environment (browser)

A

A runtime environment is where your program will be executed. It determines what global objects your program can access and it can also impact how it runs.

139
Q

Differences between front-end and back-end applications (environments and execution)

A

In each of these environments, different data values and functions are available, and these differences help distinguish front-end applications from back-end applications.

Front-end JavaScript applications are executed in a browser’s runtime environment and have access to the window object.
Back-end JavaScript applications are executed in the Node runtime environment and have access to the file system, databases, and networks attached to the server.

140
Q

A runtime

A

A “runtime” converts code written in a high-level, human-readable, programming language and compiles it down to code the computer can execute.

141
Q

Node.js

A

Node.js is a JavaScript runtime, or an environment which runs JavaScript code outside of the browser.
Node was created with the goal of building web servers and web applications in JavaScript, but it’s a powerful and flexible environment that can be used for building all sorts of applications.

142
Q

What is Git?

A

Git is the industry-standard version control system for web developers.

143
Q

Name the three parts of each Git project

A
  1. A Working Directory: where we’ll be doing all the work: creating, editing, deleting and organizing files
  2. A Staging Area: where we’ll list changes you make to the working directory
  3. A Repository: where Git permanently stores those changes as different versions of the project
144
Q

Describe the basic Git workflow

A

The Git workflow consists of editing files in the working directory, adding files to the staging area, and saving changes to a Git repository.

145
Q

How do we save changes in Git?

A

In Git, we save changes with a commit.

146
Q

What makes Git useful to the typical software developer?

A
  1. Peace of mind. I know that when I use Git, I have a history of changes I’ve made to my work, and I know I can access those old versions whenever I need to. So if I break something by trying to add some new feature, I can simply revert to an older, working version of the code.
  2. Collaboration. Working on a team with other developers means, at least in part, knowing how to use Git. It allows you to work on the same project at the same time and not interfere with each other’s work. This is possible because of branching, which you’ll learn about soon.
  3. Production. When you’re developing any non-trivial product, you’ll likely have a production version that is available to your end users, and versions that aren’t. The versions that aren’t are where you’re testing new features, working out bugs, and making improvements to existing code. This is all made possible, or at least much easier, through Git.
  4. Responsibility/”Blame”. Git keeps track of who wrote what and made what changes in a project. This is called blame, and it’s not a bad thing like it might sound. It can be very useful to know who worked on a piece of code so you know who to talk to about it if it needs changing or if you’re curious about how it works.
  5. Ubiquity. Git is used practically everywhere today, and for good reason! It saves a lot of headache in the development cycle, and has become a part of almost every developer’s toolkit.
147
Q

What does it mean for a project to be a Git project?

A

If we have an existing directory with some files already in it, it’s often already a project of sorts. But! It’s not yet a Git project – better known as a Git repository, or repo.

When you use git init and initialize a repo, you’re officially making a Git project and can now make use of all the git commands in the world! If you’re not inside of a git repo, you won’t be able to use git commands and the terminal will complain to you about it.

148
Q

Explain git init command

A

git init creates a new Git repository

149
Q

Explain git status command

A

git status inspects the contents of the working directory and staging area

As we work on a Git project/repo, we will be changing the contents of the working directory. We can use the git status to check the status of those changes.

150
Q

Explain git add command

A

git add adds files from the working directory to the staging area

In order for Git to start tracking our file (e.g. scene-1.txt), the file needs to be added to the staging area.

We can add a file to the staging area with:

git add filename

The word filename here refers to the name of the file we are editing, such as scene-1.txt.

151
Q

Explain the following Git error: “fatal: Not a git repository (or any of the parent directories)”

A

This error typically means we’re not in the right directory to be using git commands. Recall that we can only use git commands in a git repo.

To navigate back to where we should be we’ll want to make use of pwd and ls while we cd your way back from wherever we currently are.

If that still doesn’t fix the issue, be sure we’re correctly typing the filename we want to add. To avoid typos, type the first few letters of the file and press tab and it’ll autocomplete for us.

152
Q

Explain git diff command

A

git diff shows the difference between the working directory and the staging area

Imagine that we have a file that we are tracking in Git already - and we add another line to it. Since the file is tracked, we can check the differences between the working directory and the staging area with:

git diff filename

Here, filename is the actual name of the file. If the name of our file was changes.txt the command would be

git diff changes.txt

153
Q

Explain git commit command

A

git commit permanently stores file changes from the staging area in the repository

A commit is the last step in our Git workflow. A commit permanently stores changes from the staging area inside the repository.

However, one more bit of code is needed for a commit: the option -m followed by a message. Here’s an example:

git commit -m “Complete first line of dialogue”

154
Q

Name the standard conventions for commit messages in Git

A

Standard Conventions for Commit Messages:

Must be in quotation marks
Written in the present tense
Should be brief (50 characters or less) when using -m

155
Q

Explain git log command

A

git log shows a list of all previous commits

Often with Git, we’ll need to refer back to an earlier version of a project. Commits are stored chronologically in the repository and can be viewed with the git log command.