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.
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:
Advanced YAML syntax and real world usage
Building RESTful APIs with FastAPI
Open API Specification and swagger
Validating and storing YAML data in a database
Testing with pytest
Setting up a CI system using GitHub Actions
Course Outline:
Introduction to YAML and its syntax
Building a RESTful CRUD API with FastAPI
YAML-based GitHub workflows
YAML-based OpenAPI specs
Using Pytest for testing
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