1. Understanding Software Development and Web Technologies Flashcards

1
Q

Style of coding where functions are passed around as arguments and used to compose new functions

its’s focused on the evaluation of functions and expressions rather than on the statement of algorithms

A

Functional Programming

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

A sequence of instructions, each step telling the computer what to do

usually in sequential order thus breaking down the problem into smaller tasks and organizing the order of execution.

A

Procedural Programming

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

Organizes programs around objects that communicate with each other.

Objects are organized into classes that contain both data and the methods that manipulate that data.

Focused on creating reusable objects that can be used in other programs.

A

Object Oriented Code.

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

Software tool that translates a program’s source code into an equivalent executable form BEFORE it can be executed

A

Compiler

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

Software program that executes source code directly without prior compiling

A

Interpreter

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

Precompiled collections containing pre-written code that solves common programming tasks thus allowing devies to leverage EXISTING functionality rather than starting from scratch

A

Software Libraries

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

Tools such as Git enable developers to track and manage changes to their code and collaborate effectively with others.

Tracks changes made to files over time

A

Version Control System (VCS)

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

Assessing the quality, functionality and performance of a software app in order to identify defects, errors or vulnerabilities in the software to ensure its reliability, correctness and compliance with specified requirements

A

Software Testing.

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

Ensures that previously working functionality remains unnaffected after modification or bug fies and involves retesting existing test cases to verify that any changes did not introduce new defects or impact existing functionality.

A

Regression Testing

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

Employing specialized tools or frameworks to automate the execution of test cases thus improving efficiency, accuracy and repeatability of tests.

Suitable for repeitive or complex scenarios

A

Test Automation

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

Testing activities throughout the SDLC that involve automated testing, frequent feedback loops and early detection of issues thus enabling faster and more reliable software delivery

A

Continuous Testing

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

Procedural programming language know for its efficiency, low-level system acess and flexibility

suitable for system-level programming and embedded systems

A

C

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

An extension of the C programming language that introduces OOP features.

Combines low-level C control with additional features like classes, inheritance, polymorphism and templates

System Development
Game Development
Performance Critical apps

A

C++

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

Modern OOP developed by Microsoft that is designed for building wide range of apps on MS .NET framework including Windows desktop apps, web apps and games.

Incorporates features from
C++
Java

Strong integration with .NET platform

A

C# aka C sharp

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

Widely used general purpose OOP know for its platform independence and robustness.

Write Once - Run Anywhere: Java runs anywhere that has the Java Virtual Machine (Java Virtual Machine) installed.

Enterprise level applications
Android Apps
Web Applications

A

Java

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

Scripting language primarily used for front-end web development.

Enables interactive and dynamic behavior on web pages.

Runs on browsers and allows devies to manipulate web page elements, handle events, perform client side validations and interact with web APIs.

A

Javascript

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

High-level, versatile OOP known for simplicity, readability and ease of use.

Emphasizes code readability and offers extensive libraries
Web development
Data analysis
Scientific computing
AI
Automation

For code readability and productivity not known for performance

A

Python

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

Server-side scripting language widely used for web development and it is embedded within HTML code and executed on the server to generate dynamic web content.

Integrates well with databases and often used for building websites, content management systems and e-commerce platforms

A

PHP Hypertext Preprocessor

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

Tools like vim, nano, notepad++, Gedit on linux

A

Source code editors

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

Complex side of code editors that permit much deeper integration with debugging, versioning and collaboration tools

Intellij
VS
Eclipse

A

IDE - Integrated Development Environment

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

One of the most important standards for creating websites

A

HTTP - Hypertext Transfer Protocol

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

Designed to send coded requests to servers listening at remote addresses and then translate the data that comes back in response.

May encrypt data to protect us from malware and snooping.

A

Browser

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

A service that accepts requests from API clients much the same way that a website listens to browsers but the data is only accessible programatically.

Multiple computers to connect and exchange data at code level.

A

API - Application Programming Interface

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

API that uses standard HTTP methods like GET and POST to perform operations on resources identified by URL (Uniform Resource Locators)

A

REST - Representational State Transfer

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

REST APIs requests from a client to the server needs to contain all the necessary information to process that request.

A

The concept of STATELESS

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

Query language and runtime for APIs that allows clients to request specific data from a SINGLE endpoint by sending a query specifying the desired fields and their relationships.

A

GraphQL

27
Q

Databases based on relational model that have predefined schemas and use the “___” language syntax for querying.

best suited for structured data and strong data consistency

SQLite
MySQL
MariaDB
PostgreSQL

A

SQL Databases

SQL

28
Q

Database that offers flexibility in data models, scale horizontallay and are suitable for unstructured or semi-structured data.

prioritize scalability, high output and rapid development over strict data consistency.

MongoDB
CouchDB
Redis

A

NoSQL databases

29
Q

Software application that allows individuals or orgs to create, manage and publish digital content on the web without requiring advanced technical knowledge.

WordPress
Drupal

A

CMS - Content Management System

30
Q

Used to present our services to the world serve static content and handle basic server-side operations, while providing a platform for managing dynamic content

Apache HTTPD
NGINX

A

Web Servers

31
Q

Servers that provide a more comprehensive runtime environment for executing complex web apps, managing app components and supporting advanced features like transaction management and scalability

Apache Tomcat
MSIIS

A

Applicatin Servers

32
Q

Web applications that operate within a single HTML page and dynamically update the content on that page without requiring full page reloads and instead of navigation to different pages they load the initial HTML, CSS and Javascript resources and then interact with the server via APIs to retrieve and update data asynchronously.

A

SPA

Single Page Application

33
Q

Binary instruction format that allows you to run high-performance code in web browsers.

Designed for efficiency in running C, C+, Rust and other code languages.

Near-native performance

Used for high-performance or working with existing app written in a language like C or C++

A

WebAssembly (Wasm)

34
Q

Streamline the deployment process thus allowing developers to bundle all necessary components of the app into a self contained package.

Simplifies deployment, improves portability and ensures consistency across different environments thus making it easier to distribute and install web applications

A

Web Application Packaging

35
Q

Protocol that makes everything happen

moves data packets back and forth across busy networks requires planning

A

Hypertext Transfer Protocol

36
Q

HTTP addresses used to locate resources on the internet.

HTTP
HTTPS
Domain Names
Paths to specific resources

A

URL

Uniform Resource Locators.

37
Q

Website that servs pre-existing files like HTML, CSS or videos

A

Static

38
Q

Website that interprets parameters to generate custom content by, for instance querying backend databases or making calculations.

A

Dynamic

39
Q

Path to the resources (docs/content) is mapped to the root web directory on your web server and on Linux this woud be “___________” and any files and directories you create within that root directory will be available to your visitors website.

A

/var/www/html/

40
Q

Storing copies of web resources like HTML pages, images, CSS and Javascript files on the client-side or intermediary servers to improve performance and reduce network traffic.

A

Caching

41
Q

HTTP methods used to interact with web servers

A

GET and POST

42
Q

Primarily used to retrieve data from a server by sending a request to a speific url and it appends the requests parameters in the URL itself

A

GET

43
Q

Used to submit data to be processed by the server and it sends the request parameters in the body of the request.

A

POST

44
Q

Three-digit numbers sent by a server in response to an HTTP request that indicate the outcome of the request and provide information about success or error states.

A

Status Codes.

45
Q

Status code that indicates success and is commonly used for successful GET requests

A

200 OK

46
Q

Resource request that indicates that the requested resource has moved permanently to a new location

Client should update its bookmarked URL or follow the new URL provided in the response

A

301 Moved Permanently

47
Q

Resource request that indicates the requested resource has been temporarily moved to a different location.

Client should continue to use current URL for future requests.

A

302 Moved Temporarily

48
Q

Resource request that indicates that the request requires authentication and the client must provide valid creds such as username and password to access the requested resource

A

401 Unauthorized

49
Q

Resource request indicates that the server understood the request but refuses to fuflill it.

Authentication will not make a difference and the client does not have the necessary permissions to access the resource.

A

403 Forbidden

50
Q

Resource request indicates that the requested resource could not be found on the server and is commonly used when the server cannot locate the resource corresponding to the provided URL

A

404 Not Found

51
Q

Resource request indicates that an unexpected error occurred on the server while processing the request and its a generic error message used when the server encounters and internal problem and cannot provide a more specific code.

A

500 Internal Server Error

52
Q

Additional info sent in an HTTP request or response to provide details about the message and contain metadata such as the content type, caching directives, authentication credentials and more.

Help in defining the behavaior and characteristics of the request or response.

A

Headers

53
Q

Mechanisms used to maintain state and enable persistence in web applications.

A

HTTP sessions

54
Q

When a client makes an initial request to a server the server assigns a unique “____” to the client and stores it on the server side.

A

Session ID

55
Q

The session ID is typically sent back to the client as response in the form of a “________” or appended to the url as a query parameter.

various attributes like expiration time, domain and path restrictions that can be set by the server to control their behavior.

Subsequent requests from the client include the known session id to id and associate the request with the corresponding session on the server.

A

cookie

56
Q

Stores session data associated with the session ID such as user authentication infomation or other relevant data.

A

The Server

57
Q

Sessions are typically temporary and have a configurable expiration time and once the session expires or is invalidated the client needs to establish a new session by obtaining a

A

New Session ID

58
Q

Security attack where an unauthorized individual intercepts and takes control of a user’s session on a web application.

Attacker aims to exploit the trust established between the user and the web app to gain unauthorized access to sensitive info or perform malicious actions.

A

Session hijacking

59
Q

Session hijacking can happen through

A

eavesdropping network traffic

stealing session cookies

exploiting vulnerabilities in a web app

60
Q

Important tool for protecting your sites against some elements of session hijacking and from other threats

A

Encryption

61
Q

When a session is properly encrypted all data packets moving back and forth between a browser and a server will be transmitted in

A

non-readable form.

62
Q

Best way to encrypt website sessions is by configuring the exclusive use of

Websites using TLS use HTTPS on the app lwy to secure communications.

A

Transport Layer Security (TLS)

63
Q

Use alternate communication protocol that distinct from HTTP and enable full-duplex communication between a client and a server over a single, long-lived connection.

Real time bidirectional communication.

A

WebSockets