Intro + DVNT Pro Basics Flashcards
What is an Integrated Development Environment (IDE)?
This is where we write code, versus using something like the Notepad or Notes apps.
Offers a bunch of cool features that help write code i.e Atom or VSCode
What is a SW Compiler?
Compiler: A software compiler translates the code written in a programming language to a target language (format) that can be executed by a computer.
Once compiled, users of an application do not require the compiler on their system.
What is an interpreter?
Interpreter: Some computer languages are not designed to be compiled, but rather are processed directly by another program that can “interpret” the instructions and perform the action.
With interpreted languages, both the developer and users of the application require the interpreter to be installed.
What is a SW Dev Kit (SDK)?
Software Development Kit (SDK): SDKs are packages of software development tools installed by developers to provide them the utilities and resources necessary to create applications in a programming language, for a particular environment, or hardware platform.
SDKs are only needed by the developer to create the application, users of an application would only need the final output.
REVIEW:
- An application’s “code” is typically a collection of text files, and the act of “coding” involves writing and editing those text files.
Developers have always faced the challenge of how to package up and provide their application to the users that will need to or want to use it.
Many methods and options have been developed and used over the years, and today a very common mechanism in use is to deliver applications in “containers.”
What is an App Container?
An application container is a packaging method where the application code and anydependenciesare combined together in anefficientformat that can be easily runisolatedfrom other “containers” on ahost platform.
Containers share the instance of the host OS, whereas VMs have their own copy of the host OS per VM, making them a lot larger and more resource consuming.
Container Terms & Elements:
Dependencies - Everything an application needs outside of the code the developer directly writes is a “dependency”.
Efficient - The move to VMs was a step for efficiency, but a VM includes far more than most applications need to run. Containers provide a significant improvement in efficiencies for running applications in the areas of CPU, memory and storage space.
Isolated - When running, each application should be contained within its own execution space and not have access to, or be impacted by, other applications running. The reasons for this include security concerns as well as application stability and conflict isolation.
Host Platform - Like virtual machines, containers must be executed on some host platform. A single host platform should be able to run many containers simultaneously, each in their isolated environment.
What are data formats? What are they catered to?
Data formatting is just the method or style for how data is represented i.e different programming languages.
Data formats are all about the audience – basically all about WHO the people are reading it. Different formats have different benefits (ex JSON is very human readable).
Formatting is interchangeable - it’s all about the audience,
What are 3 very common programming languages?
XML (Extensible Markup Language)
JSON (Javascript Object Notation)
YAML (YAML Aint Markup Language)
What is an API?
Application Programmable Interface - a way for 2 pieces of SW to talk to each other; one SW now consumes other SW
API’s are a set of requirements that govern how one application can talk to another – it’s like bits and bolts made by 2 manufacturers, being able to work together, because they adhere to common specs.
Ex - when Yelp needs map data for location of a restaurant, they just use Google maps data via API.
What is SOAP (Simple Object Access Protocol)
API standard that was designed by MSFT to build Web services (rigid)
This led to other standards being created for web interaction such as REST (less rigid)
What are the 2 main API’s specific for Network Engineers/Network Automation?
NETCONF - network config protocol - designed as a replacement to SNMP
RESTCONF - REST API-like interface to the network
What is a REST API?
REST defines a set of constraints for how the architecture of an Internet-scale/Web environment, should behave
API framework that’s built on top of the already long-time existing HTTP protocol (often called “Web Services”)
What are the different REST actions?
What happens once they are sent?
○ GET - read; retrieve details
○ DELETE - remove resource from the system
○ POST - create; used to create a new object or resource
○ PUT - update; typically used to replace or update a resource; large/full updates on existing record
○ PATCH - used to modify details about a resource (a little detail for example); small updates on an existing record
→ When using methods, there are Response Status Codes that outline success or not, and why for a given action:
○ Ex - anything 400 (like “403 Forbidden”) or above mean that something went wrong with the request that’s being sent
○Ex - anything 500 is something wrong with the end service
What is POSTMAN?
Simple but powerful REST API Client. It functions to quickly and effectively test APIs in a GUI and can save API’s into a collection/repository for future use.
Postman is really good for testing out and validating APIs
Postman can take an API and turn it into code in many different languages.