Home - CameronAuler/python-devops GitHub Wiki
A Python repository specifically for teaching SECURE Python software development.
Table of Contents
Topic |
Sub-topics |
Environment Configuration |
Windows, Mac, Linux, Virtual Environments |
Data Types & Variables |
Numbers, Strings, Boolean and NoneType, Type Conversion and Casting |
Operators |
Arithmetic Operators, Comparison Operators, Logical Operators, Assignment Operators, Bitwise Operators |
Control Flow |
Conditional Statements, Loops, Loop Control Statements |
Data Structures |
Lists, Tuples, Dictionaries, Sets |
Functions |
Defining and Calling Functions, Function Arguments, Return Values, Lambda Functions, Scope and Lifetime of Variables |
Modules & Packages |
Importing Modules, Standard Library Overview, Creating & Using Packages |
File Handling |
Reading from & Writing to Files, Working with File Modes, Handling File Exceptions |
Exception Handling |
Understanding Exceptions, Try-Except-Else-Finally Blocks, Raising Exceptions, Creating Custom Exceptions |
Object Oriented Programming (OOP) |
Classes & Objects, Instance & Class Variables, Methods (Instance, Class, Static), Inheritance, Polymorphism, Encapsulation, Magic Methods & Operator Overloading |
Advanced Data Structures |
Collections Module, Heapq and Bisect Modules |
Decorators |
Function Decorators, Class Decorators, Understanding functools.wraps |
Generators and Iterators |
Creating and Using Generators, Generator Expressions, Building Custom Iterators |
Context Managers |
Using the with Statement, Creating Custom Context Managers with contextlib |
Metaprogramming |
Understanding Metaclasses, Dynamic Class Creation, Using the type() Function |
Concurrency and Parallelism |
Threading Module, Multiprocessing Module, Asyncio for Asynchronous Programming |
Networking |
Socket Programming, HTTP Requests with the requests Module, Building Simple Web Servers |
Database Interaction |
SQLite with the sqlite3 Module, Interfacing with MySQL and PostgreSQL, Using Object-Relational Mappers (ORMs) like SQLAlchemy |
Testing |
Unit Testing with the unittest Module, Test Discovery and Organization, Mocking and Patching |
Web Development |
Introduction to Web Frameworks (Django and Flask), Building RESTful APIs, Template Rendering |
Data Science and Machine Learning |
NumPy for Numerical Computing, Pandas for Data Manipulation, Matplotlib and Seaborn for Data Visualization, Scikit-learn for Machine Learning Algorithms |
File and Data Serialization |
Working with CSV, JSON, and XML Files, Using the pickle Module for Object Serialization |
Regular Expressions |
Pattern Matching with the re Module |
DevOps |
Infrastructure as Code (IaC), CI/CD, Configuration Management, Monitoring & Logging, Containerization and Orchestration, Security Automation |
AI/ML |
Deep Learning Frameworks, Natural Language Processing (NLP), Computer Vision, Reinforcement Learning, Model Deployment, Data Engineering, Explainability & Bias in AI, Optimization & Hyperparameter Tuning |
Topics that need to be added to an existing section
- Environment Configuration
- installing pip
- Python quirks and troubleshooting
- Naming conventions (classes: capital case, variables: lowercase with _)
- Concurrency and Parallelism
- Threads (technical explanation/description)
- I/O vs CPU
- runtime (definition, technical explanation)
- runtime speed (async/await)
- Data types & variables
- range()
- Advanced string types and manipulation
- enums/enumerate
- Modules & Packages
- importing classes
__init__.py
- publishing packages
- Advanced Data Structures
- DevOps
- Exporting Python apps to .exe and .deb files
- File Handling
- Metaprogramming
- How the Python compiler works
- monkey patching
- Data Science and ML
- algorithms
- data standardization
pip freeze > requirements.txt
Resources