Control flow aims to provide a structure/order to programming assists with keeping two key principles
- DRY - Don't Repeat Yourself
- KISS - Keep It Simple Stupid
Loops allw for code to be excuted multiple times in succession
Recommended Book = Design Patters, Elements of Reusabled Object-Oriented Software
Design patterns are tried and tested solutions for providing a particular framework for different programming requirements such as Web Development, Configuration files and Event Management. They also provide intent and communication to other devleopers.
A class with a private instance variable representing it's only instance, a public get/instance method to retrieve that object and a constructor to enforce singlt instantion.
Singleton Design Pattern certain classes should only be instantiated once during the the execution of the program.
Git is a distributed version control system, this means whole repositories are copied and kept locally by clients and uploaded to a central location like Git Hub or Git Lab.
Version Control Systems are used to maintain a copy of files for future reference, this is good encase you need to look at past file history, rollback or compare two files.
Data formats are used to serialize data into common formats that can be maniuplated and transmitted between systems. The most common data formats are plain text data formats, these combine human readability and computer readable.
The most common plain text data formats are:
REST stands for Representational State Transfer and is a architure that provides guidelines for the structure and organisation of an API. REST is not a protocol and commonly uses the followintg data formats JSON, XML, YAML, MD, CSV and plain text.
RESTful API is a Application Programe Interface to a HTTP/Web Resource using a stateless client server session.
This section will cover basic information about network progammability and automation.
Network Programmability is using scripts to perform some tasks. There are 3 main compotents:
Data Models are used to format and structure data, this ensures data adheres to a structure so they are readable and can be exchanged between different systems.
Modules relates to an object with Leafs relating to charchteristics of this object for examle:
module Person: leaf Height:
NETCONF was developed in 2006 in RFC 4741 and its sole purposed was to replace SNMP. Although it wasn't effective until YANG data models were introducted in 2010 and NETCONF was revised in RFC6241.
NETCONF is a network protocol used to transmit data from network devices to another system and vice versea, it's built on top of ssh however uses port TCP 830 and uses XML Encoding Data format.
3 Key things it can do is: