Skip to content

Instantly share code, notes, and snippets.

View steele-ntwrk's full-sized avatar
🎯
Focusing

Matt Steele steele-ntwrk

🎯
Focusing
View GitHub Profile
@steele-ntwrk
steele-ntwrk / DEVNET - Control Flow.md
Last active September 18, 2021 07:04
Control flow notes

Devnet - Programming Basic Notes

Control Flow

Control flow aims to provide a structure/order to programming assists with keeping two key principles

  1. DRY - Don't Repeat Yourself
  2. KISS - Keep It Simple Stupid

Loops and Iteration

Loops allw for code to be excuted multiple times in succession

Recommended Book = Design Patters, Elements of Reusabled Object-Oriented Software

Design Patterns

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.

Singleton Design Pattern

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.

@steele-ntwrk
steele-ntwrk / DEVNET - Git Fundamentals.md
Last active January 4, 2022 04:26
Git Fundamentals

Fundamentals of Git

What is Git

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 System (VCS)

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.

DEVNET - Data Formats

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:

  • Java Script Object Notation(JSON) -
  • Yet Another Markup Language(YAML) -
  • eXtensible Markup Language(XML) -
@steele-ntwrk
steele-ntwrk / DEVNET - Parsing Data.md
Last active October 3, 2021 12:09
DEVNET - Parsing Data

DEVNET - Parsing Data Formats

Parsing JSON

To parse JSON str into python use the command json.loads(JSONFILENAMEKEY), loads stands for load str.

Example JSON str parsing

import json

DEVNET - REST API

What is REST?

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.

DEVNET - Network Progammability and Automation Fundamentals

This section will cover basic information about network progammability and automation.

Network Progambility vs Automation

Network Programmability is using scripts to perform some tasks. There are 3 main compotents:

  1. Application: python
  2. API: REST (JSON/XML)
@steele-ntwrk
steele-ntwrk / DEVNET - Data Models.md
Last active October 19, 2021 23:53
Cisco Data Models

Data Models

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:

YANG Data Model

@steele-ntwrk
steele-ntwrk / DEVNET- Enviroment Setup.md
Last active October 19, 2021 09:13
DEVNET Enviroment Setup

DEVNET - Enviroment Setup

This is a check list for setting up a DEVNET Enviroment to assist with labbing.

  1. Create a Github

    • Video Tutorial - Ben Finkel
  2. Setup VS Code

    • Getting Started Link - Ben Finkel
  • Extenisions - Ben Finkel/Knox

NETCONF

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:

  1. GET Opertaional State