Work-Related Topics Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

SSH

A

Secure SHell

A cryptographic (encrypted) network protocol for initiating text-based shell sessions on remote machines in a secure way.

Uses the client-server model.

SSH Tunneling is important for cloud computing, as it avoids the security issues of exposing a cloud-based virtual machine directly on the internet by providing a secure path that bypasses firewalls.

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

Tunneling Protocol

A

Allows a network user to access or provide a network service that the underlying network does not support or provide directly, e.g. running IPv6 over IPv4, or hiding the nature of the traffic that is run through the tunnel.

Works by using the data portion of a packet (the payload) to carry the packets that actually provide the service.

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

Proxy Server

A

A server that acts as an intermediary for requests from clients seeking resources from other servers.

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

OSI (Open Systems Interconnection) Model

A
  1. Application Layer
    High-level APIs, resource sharing, remote file access, directory services, and virtual terminals
    e.g. HTTP, FTP, SSH
  2. Presentation Layer
    Translation between network / application: Character encoding, data compression, encryption/decryption
    e.g. ASCII, JPEG
  3. Session Layer
    Manages sessions, i.e. continuous exchange of back & forth between two nodes.
    e.g. RPC
  4. Transport Layer
    Reliable transmission of segments between points on a network: segmentation, acknowledgement, multiplexing
    e.g. TCP, UDP
  5. Network Layer
    Structuring / Managing a multi-node network: Addressing, routing, traffic control
    e.g. IPv4, IPv6, IPSec
  6. Data link Layer
    Reliable transmission of data frames between two nodes connected by a physical layer
    e.g. IEEE, 802.2
  7. Physical Layer
    Transmission and reception of raw bit streams over a physical medium
    e.g. DSL, USB
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

IPv4 vs. IPv6

A

32-bit addressing vs. 128-bit addressing (so waaay bigger address space…)

Different packet format, designed to minimize packet header processing by routers.

Because of this, IPv4 & IPv6 are not interoperable.

Longer addresses permit simpler address allocation (since subnets are way larger), which limits the expansion of routing tables and makes everything simpler.

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

Daemon

A

A program that runs as a background process rather than being under the direct control of an interactive user.

Usually started at boot time, and serve the function of responding the network requests, hardware activity, etc.

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

Mount

A

Mounting takes place before a computer can use any kind of storage device (e.g. hard drive, CD, DVD, USB).

It is typically used for removable storage - the storage devices must be mounted before the OS can read them. The Mount command instructs the OS that the file system is ready to use, and associates it with a particular point in the overall file system hierarchy (the mount point) and sets options relating to its access.

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

XSD

A

XML Schema Definition

A recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an XML doc.

Determination of a document’s validity produces a collection of information adhering to specific data types (an infoset), which can be useful in developing XML document processing software.

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

XML Schema

A

A DDL for XML.

An abstract collection of metadata, consisting of a set of schema components: element & attribute declarations and complex & simple type definitions.

All schemas have a namespace, and all named schema components belong to a target namespace.

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

DBMS

A

Database Management System

Computer software application that interacts with the user, other applications, and the database itself to capture and analyze data.

Examples: MySQL, Microsoft SQL Server, Oracle, PostgreSQL

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

Database Schema

A

Refers to the organization of data as a blueprint of how a database is constructed.

In a relational database, defines the tables, fields, relationships, views, indexes, packages, procedures, functions, queues, triggers, types, sequences, materialized views, synonyms, database links, directories, XML schemas, and other elements.

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

Integrity Constraints

A

A set of formulas (sentences) imposed on a database that ensure compatibility between parts of the schema.

Entitiy integrity (primary key constraints)

Referential integrity (foreign key constraints)

Domain integrity (constraints on what values can be entered into the columns of a table, e.g. int, varchar)

User-defined integrity (user-made constraints)

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

ACID

A

Atomicity
Each transaction is “all or nothing”. If any part of a transaction fails, the state of the database should be unchanged (i.e. none of the transaction occurs)

Consistency
Each transaction will bring the database from one valid state to another valid state.

Isolation
Concurrent execution of transactions results in a state that would be the same as if they were executed serially.

Durability
Once a transaction has been committed, it will remain committed, regardless of power outage, errors, etc.

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

Database Indices: Clustered vs. Non-Clustered

A

Non-Clustered: Data is in arbitrary order, but the logical ordering is specified by the index. Physical order is not the same as index order. Typically non-primary key columns used in JOIN, WHERE, and ORDER BY clauses. There can be more than one.

Clustered: Row data is stored in order to match the index. Only one per table. Can greatly increase retrieval speed, but only when the data is accessed sequentially or a range is selected.

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

Redundancy

A

Existence of additional data that permits corrections of errors in stored or transmitted data.

Not good in databases however - can lead to inconsistency. Foreign keys and proper segregation of data are preferable.

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

Views vs Table-Valued Functions

A

Views are generally simpler and quicker, and don’t return actual tables, but only virtual tables. Can’t take parameters.

TVFs (multi-statement ones at least) return actual tables & take up memory. However, they can also take parameters.

This means that if a function is returning a large dataset, a view will generally be faster since filters (e.g. WHERE clauses) will be more easily applied to it.

17
Q

DDL

A

Data Definition Language

Vocabulary used to define data structures (especially database schemas).

In T-SQL, the DDL consists of: ALTER, CREATE, DISABLE TRIGGER, DROP, ENABLE TRIGGER, TRUNCATE TABLE, UPDATE STATISTICS…

18
Q

Dynamic Linking

A

AKA Late Binding

Linking performed while a program is being loaded or executed, rather than when the executable is being created.

19
Q

Module

A

Any of a number of distinct but interrelated units from which a program may be built up or into which a complex activity may be analyzed.

20
Q

Linking

A

AKA Binding

Resolves references (links) to library modules. The references may be addresses for jumps and other routine calls. Each library module is allocated memory at runtime for the memory segments of the reference module.

So basically, just dereferencing.

21
Q

AGILE

A

Working in cross-functional teams. Co-location (face-to-face comm) and pair programming.

Goal is constantly having some, if still unfinished, working software, rather than just documents.

Go through small iterations (1-4 weeks) at a time.

Continuous customer collaboration.

Focused on quick responses.

Testing is generally done at the same time as programming (rather than separately, as in Waterfall).

22
Q

Waterfall (what we do!)

A
  1. System and software requirements: captured in a product requirements document
  2. Analysis: models, schema, business rules
  3. Design: software architecture
  4. Coding: Development, proving, integration
  5. Testing: systematic discovery & debugging of defects
  6. Operations: Installation, migration, support, & maintenance
23
Q

Three-tier archiecture

A

A client-server archiecture in which the UI (Presentation tier), business rules (Application tier), and data storage/access (Data tier) are developed and maintained as independent modules, most often on separate platforms.

24
Q

Relational vs. Non-Relational Databases

A

Relational: Requires strict structuring of data. Schemas are created that define constraints on exactly what can go into the tables. Allows for very fast lookups of items in groupings, and allows you to join together with little effort. Based around a mathematical basis (set theory, relational theory) which has been distilled into SQL (structured query language).

Non-Relational: Allows any data to be associated with other data; no defined schema. Allows for flexible data structuring if it’s evolving over time, or if it’s too complex to model in a relational way. Is not as good at aggregating data, since you have to look through way more data to obtain results; however it can often be faster at retrieving data. Examples are document-based, graph-based, object-based, key-value store based, etc. Data that can be represented as a graph can be queried extraordinarily fast in this model.

25
Q

Database normalization

A

Organizing the attributes and tables of a relational database to minimize data redundancy without losing information.

Involves defining foreign keys in old tables referencing primary keys in new ones.