QUESTIONS & ANSWERS(RATED
A+)
SSH - ANSWERSecure Shell (a network protocol for secure transfer of data between
computers).
VCS - ANSWERVersion control system, software development tool used to help
teams log, track, and manage changes to source code over time.
Regular Expression - ANSWERA notation for defining all the valid strings of a formal
language or a special text string for describing a search pattern.
CSV - ANSWERComma separated values, has header that details the information in
the data column, followed by rows of data.
Server Log - ANSWERKeeps track of status of server, when people
connect/disconnect, errors, etc.
GNU Make - ANSWERA tool which controls the generation of executables and other
non-source files of a program from the program's source file.
Shell Script - ANSWERA simple file in a Mac or Linux based operating system that
contains one or more commands.
Has .sh file extension. Has many variations (BASH - Bourne Again Shell, ZSH - Z
Shell, Corn Shell).
Suffix script is because it is ran by an interpreter instead of a compiler.
Compiler - ANSWERTurns source code into machine code which can then be
executed/ran.
Interpreter - ANSWERRuns the source code instead of having to compile it first.
Running shell scripts - ANSWERTo run shell scripts you might have to change
permissions (administrator persmission).
GNU AWK - ANSWERA general-purpose scripting language designed for advanced
text processing. It is mostly used as a reporting and analysis tool.
YAML/YML - ANSWERYet Another Markup Language. A human-readable data-
serialization language. It is commonly used for configuration files and in applications
where data is being stored or transmitted.
, JSON - ANSWERJavaScript Object Notation. It is an open standard file format and
data interchange format that uses human-readable text to store and transmit data
objects consisting of attribute-value (key-value) pairs.
DFD - ANSWERData Flow Diagram; A visual representation of the information flow
through a process or system.
SDLC - ANSWERSoftware Development Life Cycle. Stages include:
1) Requirements - End goal of this phase is to create a project plan, develop critical
use cases, define the end user, system requirements, determining inputs and
expected outputs, etc.
2) Design - Look of the software is curated, inputs and outputs are modeled,
wireframing (Wireframing, Lo-Fi, Hi-Fi).
3) Scheduling - Determining what needs to be done for the project to progress,
division of tasks.
4) Implementation - Building the software.
5) Testing - Software is tested, making sure that it functions as designed, inputs
produce expected outputs, etc.
6) Delivery - Handover to client, can also be the deployment phase if the product is a
mobile app or SaaS. Documentation is produced (for end users: manual/use
instrunctions). Release notes/change logs to whomever is managing/maintaining the
software.
Git - ANSWERExample of a VCS, has an interactive GUI, but can be used via a CLI.
Git is a decentralized, this means that to edit, developers download the source code
onto their local machines to work and make edits. Scales well for larger projects.
GitHub - ANSWEROnline service for developers who use Git to upload or download
resources. GitHub is decentralized, meaning, developers can make local copies of
the repository to make changes to the code.
Subversion - ANSWERSVN, is an open source software versioning and revision
control system. It is centralized, a server acts as the main repository which stores
every version of code.
Centralized - ANSWERA main server acts as the master repository that contains all
of the versions of the code. To work on any project, the user or client needs to pull
the code from the master repository to their local machine.
In other terms we can say, you need to take an update from the master repository
and then you get the local copy of the code in your system.
Decentralized (distributed) - ANSWERInstead of one single repository which is the
server, here every single developer or client has their own server and they will have