YAML Zero to Master (by a Real example Production Project)

Build a Secure Industry-Standard python App with lots of YAML, FastAPI, Swagger OpenAPI, CI/CD & Pytest.

Ratings: 3.78 / 5.00




Description

In this hands-on course, you'll learn YAML, by implementing a real world project.
You will also get to build a FastAPI Python application that can validate and store YAML in a database exposing it through a RESTful CRUD API.

You'll learn how to implement a continuous integration (CI) system that uses pytest to automate testing and ensure the reliability of your application.

Throughout the course, you'll work on building a real-world application that uses YAML for various relevant industrial purposes, such as creating GitHub workflows and describing OpenAPI specs.

You'll start with the basics of YAML and move on to building a RESTful CRUD API that can handle YAML data.

You'll also learn how to set up a CI system using GitHub Actions that runs pytest tests every time you push code changes to GitHub. (And guess how will you write it? with a YAML file)


The course will also cover YAML deserialization vulnerabilities and how to mitigate them.
You'll learn how attackers can exploit vulnerabilities in YAML deserialization to execute arbitrary code on your server, and you'll learn how to prevent these attacks by properly sanitizing user input and using safe YAML libraries.


By the end of the course, you'll have a deep understanding of YAML with a fun hands-on experience with FastAPI, RESTful APIs, CI/CD systems and a production-ready API that you can use for your own projects.


Skills You'll Gain:

  1. Advanced YAML syntax and real world usage

  2. Building RESTful APIs with FastAPI

  3. Open API Specification and swagger

  4. Validating and storing YAML data in a database

  5. Testing with pytest

  6. Setting up a CI system using GitHub Actions


Course Outline:

  1. Introduction to YAML and its syntax

  2. Building a RESTful CRUD API with FastAPI

  3. YAML-based GitHub workflows

  4. YAML-based OpenAPI specs

  5. Using Pytest for testing

  6. Setting up a CI system using GitHub Actions

What You Will Learn!

  • Become proficient in YAML for real-world development scenarios
  • Understand, exploit and prevent YAML deserialization attacks.
  • Build a FastAPI-based CRUD REST API web server
  • Create pytest-based testing suites and configure a GitHub Workflows CI system to automatically execute those tests

Who Should Attend!

  • Software Engineers looking to learn YAML