diff --git a/README.md b/README.md index 7fd8fbd..e9bf1f9 100644 --- a/README.md +++ b/README.md @@ -20,32 +20,110 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - [Python](#python) - [Career Path](#career-path) - [Backend](#backend) + - [Django](#django) + - [FastAPI](#fastapi) + - [Flask](#flask) + - [Tornado](#tornado) + - [Web2Py](#web2py) + - [Sanic](#sanic) + - [AIOHTTP](#aiohttp) + - [Bottle](#bottle) + - [Dash](#dash) + - [BlackSheep](#blacksheep) - [Data Science](#data-science) + - [Data Analysis](#data-analysis) + - [Numpy](#numpy) + - [Scipy](#scipy) + - [Pandas](#pandas) + - [Data Visualization](#data-visualization) + - [Matplotlib](#matplotlib) + - [Plotly](#plotly) - [Machine Learning](#machine-learning) - [Deep Learning](#deep-learning) - [Neural Networks](#neural-networks) - [Image Processing](#image-processing) - [DevOps](#devops) - - [Hacking](#hacking) + - [CyberSecurity](#cybersecurity) - [Algorithmic Trading](#algorithmic-trading) - - [Bot](#bot) + - [Automation](#automation) + - [Web](#web) + - [Selenium](#selenium) + - [PlayWright](#playwright) + - [Scrapy](#scrapy) + - [WebBot](#webbot) + - [Browser](#mozbase) + - [Telegram](#telegram) + - [Telethon](#telethon) + - [Pygram](#pygram) + - [Pyrogram](#pyrogram) + - [Python Telegram Bot](#python-telegram-bot) + - [AIOGram](#aiogram) + - [PyTelegramBotApi](#pytelegrambotapi) + - [TeleBot](#telebot) + - [Discord](#discord) + - [DiscordPy](#discordpy) + - [Instagram](#instagram) + - [Instagram-Scraper](#instagram-scraper) + - [InstaPy](#instapy) + - [InstaLoader](#instaLoader) + - [Linkedin](#linkedin) + - [Linkedin Job Finder](#linkedin-scraper) + - [Robot](#robot) + + - [Game Development](#game) - [Advanced Topics](#advanced-topics) - [Databases](#databases) + - [General](#general) + - [SQLite](#sqlite) + - [PostgreSQL](#postgresql) + - [MySQL](#mysql) + - [Oracle](#oracle) + - [MongoDB](#mongodb) + - [Redis](#redis) + - [MemCached](#memcached) + - [Apache Cassandra](#apache-cassandra) - [ORM](#orm) + - [SQLAlchemy](#sqlalchemy) + - [Django ORM](#django-orm) + - [Tortoise](#tortoise) + - [Peewee](#peewee) + - [Pony ORM](#pony) - [Clean Code](#clean-code) - [Clean Architecture](#clean-architecture) - [Caching](#caching) - [Testing](#testing) + - [Python `unittest` Package](#python-unittest-package) + - [`PyTest` Testing Package](#pytest-testing-package) + - [DRF Test Framework](#drf-test-framework) - [Container Platforms](#container-platforms) + - [Docker](#docker) + - [Kubernetes](#kubernetes) - [Programming Paradigms](#programming-paradigms) + - [Object-Oriented Programming](#object-oriented-programming) + - [Functional Programming](#functional-programming) - [Architectural Patterns](#architectural-patterns) + - [Microservice](#microservice) + - [Enterprise Applications](#enterprise-applications) - [Design Principles](#design-principles) + - [SOLID](#solid) + - [KISS](#kiss) + - [DRY](#dry) - [Design Patterns](#design-patterns) - [Message Brokers](#message-brokers) + - [RabbitMQ](#rabbitmq) + - [Apache Kafka](#apache-kafka) - [WSGI Servers](#wsgi-servers) + - [Gunicorn](#gunicorn) + - [uWSGI](#uwsgi) - [ASGI Servers](#asgi-servers) + - [Uvicorn](#uvicorn) + - [Starlette](#starlette) - [Web Servers](#web-servers) + - [Nginx](#nginx) + - [Apache](#apache) - [API](#api) + - [Design](#design) + - [Security](#security) - [Availability and Reliability](#availability-and-reliability) - [Distributed Systems](#distributed-systems) - [Reactive Systems](#reactive-systems) @@ -57,9 +135,10 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - [IoT](#iot) - [Where to Go Next?](#where-to-go-next) -## Prerequisites -- ### Algorithms and Data Structures +## Prerequisites +
+ Algorithms and Data Structures
- **Book** - ✅ [Grokking Algorithms by Aditya Bhargava](https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230) @@ -85,9 +164,12 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [Data Structures Cheat Sheet](https://intellipaat.com/mediaFiles/2019/02/Python-Data-structures-cheat-sheet.pdf) +
+ + +
+ System Design
-- ### System Design - - **Book** - ✅ [System Design Interview by Alex Xu](https://www.amazon.com/System-Design-Interview-insiders-Second/dp/B08CMF2CQF) - [System Design Interview: Volume 2 by Alex Xu & Sahn Lam](https://www.amazon.com/System-Design-Interview-Insiders-Guide/dp/1736049119) @@ -96,8 +178,10 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - [Educative - Grokking the System Design Interview](https://www.educative.io/courses/grokking-the-system-design-interview) - [NeetCode - System Design for Beginners](https://neetcode.io/courses/system-design-for-beginners/0) - [NeetCode - System Design Interview](https://neetcode.io/courses/system-design-interview/0) +
-- ### Git +
+ Git
- **Documentation** - [Git Documentation](https://git-scm.com/docs) @@ -120,8 +204,10 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [Git cheat sheet](https://wac-cdn.atlassian.com/dam/jcr:e7e22f25-bba2-4ef1-a197-53f46b6df4a5/SWTM-2088_Atlassian-Git-Cheatsheet.pdf?cdnVersion=353) +
-- ### Operating System +
+ Operating System
- **Book** - ✅ [LPIC-1: Linux Professional Institute Certification Study Guide: Exams 101 and 102 by Roderick W. Smith](https://www.amazon.com/LPIC-1-Linux-Professional-Institute-Certification/dp/1118495632) @@ -138,11 +224,13 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [Linux commands cheat sheet](https://www.guru99.com/linux-commands-cheat-sheet.html) +
+ -- ### Virtual Environment +
+ Virtual Environment
- **VENV** - - **Documentation** - [VENV Documentation](https://docs.python.org/3/library/venv.html) @@ -161,8 +249,11 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Python-Poetry** - **Documentation** - [Python-Poetry Documentation](https://python-poetry.org/docs/) +
-- ### Python + +
+ Python
- **Documentation** - [Python Documentation](https://docs.python.org/3/) @@ -229,12 +320,17 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [Python cheat sheet](https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf) - +
+ + ## Career Path - ### Backend + - [List Of All Python Backend Web Frameworks](https://wiki.python.org/moin/WebFrameworks) +
+
+ Django
- - #### Django - **Documentation** - [Django Documentation](https://www.djangoproject.com/) - [Django Tutorial - w3schools](https://www.w3schools.com/django/) @@ -270,8 +366,12 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - [Django Models Cheat Sheet](https://cheatography.com/lewiseason/cheat-sheets/django-models/) - [Django Class Based Views Cheat Sheet](https://cheatography.com/papousekp/cheat-sheets/django-class-based-views/) - [Django Class Based Views Cheat Sheet 2](https://ccbv.co.uk/) +
+ + - - #### FastAPI +
+ Fast API
- **Video** - [Python API Development - Comprehensive Course for Beginners by Sanjeev Thiyagarajan](https://www.youtube.com/watch?v=0sOvCWFmrtA) @@ -289,9 +389,12 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Community** - [FastApi Discord group](https://discord.gg/VQjSZaeJmf) - [FastApi Gitter](https://gitter.im/tiangolo/fastapi) +
- - #### Flask - + +
+ Flask
+ - **Book** - [Flask Web Development: Developing Web Applications with Python](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) - [Flask Framework Cookbook](https://www.amazon.de/Flask-Framework-Cookbook-techniques-development/dp/1789951291/) @@ -306,8 +409,11 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [Flask Cheat Sheet and Quick Reference](https://s3.us-east-2.amazonaws.com/prettyprinted/flask_cheatsheet.pdf) - - - #### Tornado +
+ + +
+ Tornado
- **Book** - [Introduction to Tornado by Michael Dory](https://www.amazon.com/Introduction-Tornado-Michael-Dory-2012-03-31/dp/B01FEK31OM) @@ -319,8 +425,11 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Documentation** - [Tornado Document](https://www.tornadoweb.org/en/stable/) +
+ - - #### Web2Py +
+ Web2Py
- **Documentation** - [Web2Py Document](https://web2py.readthedocs.io/en/latest/) @@ -328,8 +437,11 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Book** - [Complete Reference Manual by Massimo Di Pierro](http://www.web2py.com/book) - [Killer Web Development by Marco Laspe](http://killer-web-development.com/) - - - #### Sanic +
+ + +
+ Sanic
- **Documentation** - [Sanic Document](https://sanic.readthedocs.io/en/stable/index.html) @@ -340,18 +452,27 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Video** - [Async Web Apps with Sanic by Dougal Matthews](https://www.youtube.com/watch?v=wb0lk4e9DEg) +
+ - - #### AIOHTTP +
+ AIOHTTP
- **Documentation** - [AIOHTTP Document](https://docs.aiohttp.org/en/stable/) +
- - #### Bottle + +
+ Bottle
- **Documentation** - [Bottle Document](https://bottlepy.org/docs/dev/) +
+ - - #### Dash +
+ Dash
- **Documentation** - [Dash-Python Document](https://dash.plotly.com/introduction) @@ -361,174 +482,350 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Template** - [Dash Clean Architecture Template](https://github.com/CzakoZoltan08/dash-clean-architecture-template) - - - #### BlackSheep +
+ + +
+ BlackSheep
- **Documentation** - [BlackSheep Document](https://neoteroi.dev/blacksheep/) - - [List Of All Python Backend Web Frameworks](https://wiki.python.org/moin/WebFrameworks) +
+ - ### Data Science - - #### Data Analysis +
+ Data Analysis
- - ##### Numpy - - **Documentation** - - [Numpy Document](https://numpy.org/doc/stable/user/index.html) - - - ##### Scipy +
+ Numpy
+ + - **Documentation** + - [Numpy Document](https://numpy.org/doc/stable/user/index.html) +
+ +
+ Scipy
+ + - **Documentation** + - [Scipy Document](https://docs.scipy.org/doc/scipy/tutorial/index.html) +
+ +
+ Pandas
+ + + - **Documentation** + - [Pandas Document](https://pandas.pydata.org/docs/user_guide/index.html) +
+
+ + +
+ Data Visualization
+ +
+ Matplotlib
+ + - **Documentation** + - [Matplotlib Document](https://matplotlib.org/stable/users/index.html) +
+ +
+ Plotly
+ + - **Documentation** + - [Plotly Document](https://plotly.com/python-api-reference/) +
+
+ + + +
+Machine Learning
+ +- **Video** + - [Machine Learning Course by Andrew Ng](https://coursera.org/learn/machine-learning) +
- - **Documentation** - - [Scipy Document](https://docs.scipy.org/doc/scipy/tutorial/index.html) - - - ##### Pandas - - **Documentation** - - [Pandas Document](https://pandas.pydata.org/docs/user_guide/index.html) +
+Deep Learning
- - #### Data Visualization +- **Video** + - [Deep Learning Specialization by Andrew Ng](https://www.coursera.org/specializations/deep-learning) + - [AladdinPersson](https://www.youtube.com/c/AladdinPersson) +
- - ##### Matplotlib +
+Neural Networks
- - **Documentation** - - [Matplotlib Document](https://matplotlib.org/stable/users/index.html) +- **Video** + - [Neural Networks and Calculus](https://www.youtube.com/c/3blue1brown) +
+ +
+Image Processing
+ +
+ + + +
+DevOps
+ +- **Community** + - [DevOps, SRE, & Infrastructure](https://discord.com/invite/VEEnHkPzY6) + +- **CI/CD** + - [CI/CD Full Course | Continuous Integration And Continuous](https://www.youtube.com/watch?v=h9K1NnqwUvE) + - [GitLab CI CD Tutorial for Beginners](https://www.youtube.com/watch?v=qP8kir2GUgo) +
+ + +
+Algorithmic Trading
+ +
+ + +
+CyberSecurity
- - ##### Plotly +- **Book** + - [Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers](https://www.amazon.com/Violent-Python-Cookbook-Penetration-Engineers/dp/1597499579) + - [Black Hat Python, 2nd Edition: Python Programming for Hackers and Pentesters](https://www.amazon.com/Black-Hat-Python-2nd-Programming/dp/1718501129) - - **Documentation** - - [Plotly Document](https://plotly.com/python-api-reference/) +- **Tutorials** + - [Python for Ethical Hacking: A Complete Course](https://www.udemy.com/course/python-for-ethical-hacking/) + - [Python for Cybersecurity](https://www.udemy.com/course/python-for-cybersecurity/) + - [Python Penetration Testing Essentials](https://www.packtpub.com/product/python-penetration-testing-essentials/9781784398583) + - [Zero to Hero: A Practical Network Penetration Testing Course Using Python](https://www.youtube.com/playlist?list=PLLKT__MCUeiwBa7d7F_vN1GUwz_2TmVQj) -- ### Machine Learning - - **Video** - - [Machine Learning Course by Andrew Ng](https://coursera.org/learn/machine-learning) +- **Tools and Frameworks** + - [Scapy](https://scapy.net/) + - [OWASP ZAP](https://www.zaproxy.org/) -- ### Deep Learning - - **Video** - - [Deep Learning Specialization by Andrew Ng](https://www.coursera.org/specializations/deep-learning) - - [AladdinPersson](https://www.youtube.com/c/AladdinPersson) +
-- ### Neural Networks - - **Video** - - [Neural Networks and Calculus](https://www.youtube.com/c/3blue1brown) -- ### Image Processing +
+Game Development
-- ### DevOps +- **Library** + - [Pygame](https://www.pygame.org/news) - - **Community** - - [DevOps, SRE, & Infrastructure](https://discord.com/invite/VEEnHkPzY6) +- **Tutorial** + - [Pygame Tutorial for Beginners - Python Game Development Course](https://www.youtube.com/watch?v=FfWpgLFMI7w) - - **CI/CD** - - [CI/CD Full Course | Continuous Integration And Continuous](https://www.youtube.com/watch?v=h9K1NnqwUvE) - - [GitLab CI CD Tutorial for Beginners](https://www.youtube.com/watch?v=qP8kir2GUgo) +- **Book** + - [Python Game Programming by Example](https://www.amazon.com/Python-Programming-Example-Alejandro-Rodas/dp/1785281534) + +
-- ### Hacking - - **Book** - - [Black Hat Python, 2nd Edition: Python Programming for Hackers and Pentesters](https://www.amazon.com/Black-Hat-Python-2nd-Programming/dp/1718501129) -- ### Algorithmic Trading +- ### Automation -- ### Bot - #### Web - - #### Selenium - - [Selenium (Main Home)](https://github.com/SeleniumHQ/selenium) - - [CDP Documentation](https://chromedevtools.github.io/devtools-protocol/) - - [Source](https://github.com/SeleniumHQ/selenium/tree/trunk/py) - - [Documentation](https://www.selenium.dev/selenium/docs/api/py/) - - [Helium](https://github.com/mherrmann/selenium-python-helium) - - [Base](https://github.com/seleniumbase/SeleniumBase) - - [InstaPy](https://github.com/InstaPy/InstaPy) - - [AutoCrawler](https://github.com/YoongiKim/AutoCrawler) - - [Wire](https://github.com/wkeeling/selenium-wire) - - [Cucucumber](https://github.com/executeautomation/SeleniumWithCucucumber) - - [Requestium](https://github.com/tryolabs/requestium) - - [Undetected](https://github.com/ultrafunkamsterdam/undetected-chromedriver) - - - #### PlayWright - - [Source](https://github.com/microsoft/playwright-python) - - [Documentation](https://playwright.dev/python/docs/intro) - - +
+ Selenium
+ + - [Selenium (Main Home)](https://github.com/SeleniumHQ/selenium) + - [CDP Documentation](https://chromedevtools.github.io/devtools-protocol/) + - [Source](https://github.com/SeleniumHQ/selenium/tree/trunk/py) + - [Documentation](https://www.selenium.dev/selenium/docs/api/py/) + - [Helium](https://github.com/mherrmann/selenium-python-helium) + - [Base](https://github.com/seleniumbase/SeleniumBase) + - [InstaPy](https://github.com/InstaPy/InstaPy) + - [AutoCrawler](https://github.com/YoongiKim/AutoCrawler) + - [Wire](https://github.com/wkeeling/selenium-wire) + - [Cucucumber](https://github.com/executeautomation/SeleniumWithCucucumber) + - [Requestium](https://github.com/tryolabs/requestium) + - [Undetected](https://github.com/ultrafunkamsterdam/undetected-chromedriver) +
+ + +
+ PlayWright
+ + - [Source](https://github.com/microsoft/playwright-python) + - [Documentation](https://playwright.dev/python/docs/intro) +
+ +
+ Scrapy
+ + - **Documentation** + - [Scrapy Documentation](https://docs.scrapy.org/en/latest/) + + - **Tutorials** + - [Scrapy Tutorial for Beginners](https://www.datacamp.com/community/tutorials/making-web-crawlers-scrapy-python) + - [Advanced Web Scraping with Python using Scrapy & Splash](https://www.udemy.com/course/advanced-web-scraping-with-python-using-scrapy-splash/) + + - **Books** + - [Learning Scrapy: Learn the art of efficienct web scraping and crawling with Python](https://www.amazon.com/Learning-Scrapy-Dimitrios-Kouzis-Loukas/dp/1784399787) + - [Web Scraping with Python: Collecting More Data from the Modern Web](https://www.amazon.com/Web-Scraping-Python-Collecting-Modern/dp/1491985577) + + - **Frameworks and Libraries** + - [ScrapyRT: Real-time web scraping for Scrapy](https://github.com/scrapy/scrapyrt) + - [Splash: A Javascript rendering service for Scrapy](https://splash.readthedocs.io/en/stable/) + - [Portia: A visual scraping tool for Scrapy](https://github.com/scrapinghub/portia) + +
+ +
+ Browser
+ + - [Source](https://wiki.mozilla.org/Auto-tools/Projects/Mozbase) + - [Documentation](https://firefox-source-docs.mozilla.org/mozbase/index.html) +
+ +
+ WebBot
+ + - [Source](https://github.com/nateshmbhat/webbot) +
+ - - #### Browser - - [Source](https://wiki.mozilla.org/Auto-tools/Projects/Mozbase) - - [Documentation](https://firefox-source-docs.mozilla.org/mozbase/index.html) - - - - #### WebBot - - [Source](https://github.com/nateshmbhat/webbot) - - - #### Telegram - - #### Telethon - - [Source](https://github.com/LonamiWebs/Telethon) - - [Documentation](https://docs.telethon.dev/) - - - #### Pygram - - [Source](https://github.com/pygram/pygram) - - [Documentation](https://pygram.readthedocs.io/en/latest/) - - #### Pyrogram - - [Source](https://github.com/pyrogram/pyrogram) - - [Documentation](https://docs.pyrogram.org/) - - - #### Python Telegram Bot - - [Source](https://github.com/python-telegram-bot/python-telegram-bot) - - [Documentation](https://python-telegram-bot.readthedocs.io/) - - - #### AIOGram - - [Source](https://github.com/aiogram/aiogram) - - [Documentation](https://docs.aiogram.dev/) - - - #### PyTelegramBotApi - - [Source](https://github.com/eternnoir/pyTelegramBotAPI) - - [Documentation](https://pytba.readthedocs.io/) - - - #### TeleBot - - [Source](https://github.com/KyleJamesWalker/telebot) + + +
+ Telethon
+ + - [Source](https://github.com/LonamiWebs/Telethon) + - [Documentation](https://docs.telethon.dev/) +
+ + +
+ Pygram
+ + - [Source](https://github.com/pygram/pygram) + - [Documentation](https://pygram.readthedocs.io/en/latest/) +
+ +
+ Pyrogram
+ + - [Source](https://github.com/pyrogram/pyrogram) + - [Documentation](https://docs.pyrogram.org/) +
+ +
+ Python Telegram Bot
+ - [Source](https://github.com/python-telegram-bot/python-telegram-bot) + - [Documentation](https://python-telegram-bot.readthedocs.io/) +
+ +
+ AIOGram
+ + - [Source](https://github.com/aiogram/aiogram) + - [Documentation](https://docs.aiogram.dev/) +
+ +
+ PyTelegramBotApi
+ + - [Source](https://github.com/eternnoir/pyTelegramBotAPI) + - [Documentation](https://pytba.readthedocs.io/) +
+ +
+ TeleBot
+ + - [Source](https://github.com/KyleJamesWalker/telebot) +
+ + - #### Discord - - #### DiscordPy - - [Source](https://github.com/Rapptz/discord.py) - - [Documentation](https://discordpy.readthedocs.io) +
+ DiscordPy
+ + - [Source](https://github.com/Rapptz/discord.py) + - [Documentation](https://discordpy.readthedocs.io) +
+ - #### Instagram - - #### Instagram-Scraper - - [Source](https://github.com/realsirjoe/instagram-scraper) - - #### InstaPy - - [Source](https://github.com/InstaPy/InstaPy) - - ### Instaloader - - [Source](https://github.com/instaloader/instaloader) +
+ Instagram-Scraper
+ + - [Source](https://github.com/realsirjoe/instagram-scraper) +
+ +
+ InstaPy
+ + - [Source](https://github.com/InstaPy/InstaPy) +
+ +
+ Instaloader
+ + - [Source](https://github.com/instaloader/instaloader) +
+ +
+ Robot
+ + - [Robot Framework Official Website](https://robotframework.org/) + - [Robot Framework Official Repository](https://github.com/robotframework/robotframework) + + - **Tutorials** + - [Robot Framework Test Automation - Level 2](https://www.udemy.com/course/robot-framework-2/) +
+ + + - #### Linkedin +
+ Linkedin Job Finder
+ + - [Source](https://github.com/ManiMozaffar/linkedIn-scraper) +
+ ## Advanced Topics ⚠️ The following topics don't have any order or priority of learning.\ 🔥 Choose topics that you are **interested in** or **suit your needs**. + - ### Databases - - #### General - +
+ General
+ - **Book** - ✅ [Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems](https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321) - [Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement](https://www.amazon.com/Seven-Databases-Weeks-Modern-Movement/dp/1680502530/) +
+ + +
+ SQLite
- - #### SQLite - - **Documentation** - [SQLite Documentation](https://www.sqlite.org/docs.html) - **Tutorials** - [SQLite Tutorial](https://www.sqlitetutorial.net/) +
+ - - #### PostgreSQL +
+ PostgreSQL
- **Documentation** - [PostgreSQL Documentation](https://www.postgresql.org/docs/) @@ -546,9 +843,12 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Video** - [SQL and PostgreSQL: The Complete Developer's Guide](https://www.udemy.com/course/sql-and-postgresql/) +
+ + +
+ MySQL
- - #### MySQL - - **Documentation** - [MySQL Documentation](https://dev.mysql.com/doc/) @@ -557,8 +857,11 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [MySQL Cheat Sheet by GoalKicker](https://books.goalkicker.com/MySQLBook/MySQLNotesForProfessionals.pdf) +
+ - - #### Oracle +
+ Oracle
- **Documentation** - [Oracle Documentation](https://docs.oracle.com/en/database/index.html) @@ -568,8 +871,10 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [Oracle Cheat Sheet by GoalKicker](https://books.goalkicker.com/OracleDatabaseBook/OracleDatabaseNotesForProfessionals.pdf) +
- - #### MongoDB +
+ MongoDB
- **Documentation** - [MongoDB Documentation](https://www.mongodb.com/docs/) @@ -579,9 +884,11 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [MongoDB Cheat Sheet by GoalKicker](https://books.goalkicker.com/MongoDBBook/MongoDBNotesForProfessionals.pdf) +
- - #### Redis - +
+ Redis
+ - **Documentation** - [Redis Documentation](https://redis.io/docs/) @@ -595,18 +902,25 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [Redis Cheat Sheet 1](https://cheatography.com/tasjaevan/cheat-sheets/redis/) - [Redis Cheat Sheet 2](https://masonoise.files.wordpress.com/2010/03/redis-cheatsheet-v1.pdf) +
- - #### MemCached +
+ MemCached
- **Documentation** - [MemCached Wiki](https://github.com/memcached/memcached/wiki) +
- - #### Apache Cassandra +
+ Apache Cassandra
- **Documentation** - [Apache Cassandra Documentation](https://cassandra.apache.org/_/index.html) +
+ -- ### Clean Code +
+Clean Code
- **Book** - ✅ [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.amazon.com/gp/product/0132350882) @@ -614,10 +928,13 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - [Code Complete: A Practical Handbook of Software Construction, Second Edition by Steve Mcconnell](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670) - [Clean Python: Elegant Coding in Python by Sunil Kapil](https://www.amazon.com/Clean-Python-Elegant-Coding/dp/1484248775) +
+ - ### ORM - - ### SQLAlchemy +
+ SQLAlchemy
- **Documentation** - [SQLAlchemy documentation](https://docs.sqlalchemy.org/en/14/) @@ -626,8 +943,10 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - [SQLAlchemy tutorials](https://www.sqlalchemy.org/library.html#tutorials) - [SQLAlchemy ORM tutorial](https://auth0.com/blog/sqlalchemy-orm-tutorial-for-python-developers/) +
- - ### Django-ORM +
+ Django-ORM - **Book** - [Django ORM cookbook](https://books.agiliq.com/projects/django-orm-cookbook/en/latest/) (by Agiliq) @@ -639,16 +958,20 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - [Django ORM examples](https://github.com/django/django/tree/main/tests/queries) (in Django's official GitHub repository) - [Using Django ORM Outside Of Framework](https://abdus.dev/posts/django-orm-standalone/) - [How to use FastAPI with Django ORM and Admin](https://nsikakimoh.com/blog/fastapi-and-django-orm) +
- - ### Tortoise +
+ Tortoise - **Documentation** - [Tortoise ORM documentation](https://tortoise-orm.readthedocs.io/en/latest/) - **Tutorial** - [Tortoise ORM tutorial](https://tortoise-orm.readthedocs.io/en/latest/examples.html) +
- - ### Peewee +
+ Peewee - **Documentation** - [Peewee documentation](http://docs.peewee-orm.com/en/latest/index.html) @@ -656,8 +979,10 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Tutorial** - [Peewee tutorial](http://docs.peewee-orm.com/en/latest/peewee/quickstart.html) - [Peewee ORM examples](https://github.com/coleifer/peewee/tree/master/examples) +
- - ### Pony +
+ Pony - **Documentation** - [Pony ORM documentation](https://docs.ponyorm.org/) @@ -666,6 +991,7 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - [Pony ORM tutorial](https://docs.ponyorm.org/tutorials/first-steps.html) - [Pony ORM examples](https://github.com/ponyorm/pony/tree/master/examples) +
@@ -673,39 +999,56 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You (In Progress) -- ### Caching + + +
+Caching - **Article** - [Caching in django with redis by Real Python](https://realpython.com/caching-in-django-with-redis/) - **Video** - [Redis Course - In-Memory Database Tutorial](https://www.youtube.com/watch?v=XCsS_NVAa1g) +
+ + - ### Testing - - #### Python `unittest` package +
+ Python `unittest` package
- **Documentation** - [Testing in Python](https://docs.python.org/3/library/unittest.html) - [Getting Started With Testing in Python](https://realpython.com/python-testing/) - - - #### `PyTest` Testing Package +
+ + +
+ `PyTest` Testing Package
- **Documentation** - [Official PyTest Documentation](https://docs.pytest.org/en/stable/index.html) +
+ - - #### DRF Test Framework +
+ DRF Test Framework
- **Documentation** - [Testing - Django REST framework](https://www.django-rest-framework.org/api-guide/testing/) - **Video** - [Pytest Django and Django Rest Framework](https://www.youtube.com/watch?v=KIIdbVs7e8I&list=PLP1DxoSC17LZTTzgfq0Dimkm6eWJQC9ki) +
+ + - ### Container Platforms - - #### Docker - +
+ Docker
+ - **Documentation** - [Docker Documentation](https://docs.docker.com/) @@ -720,9 +1063,12 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [Docker Cheat Sheet](https://www.docker.com/wp-content/uploads/2022/03/docker-cheat-sheet.pdf) +
+ + +
+ Kubernetes
- - #### Kubernetes - - **Documentation** - [Kubernetes Documentation](https://kubernetes.io/docs/home/) @@ -735,57 +1081,84 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Community** - [Kubernetes Discord group](https://discord.gg/k8s-at-home) +
+ + - ### Programming Paradigms - - #### Object-Oriented Programming - - **Tutorial** - - [Python Classes and Objects by W3Schools (Beginners)](https://www.w3schools.com/python/python_classes.asp) - - [Python Object Oriented Programming by programiz.com (Beginners)](https://www.programiz.com/python-programming/object-oriented-programming) +
+ Object-Oriented Programming
- - **Article** - - [Python OOPs Concepts 3 by GeeksForGeeks (Beginners)](https://www.geeksforgeeks.org/python-oops-concepts/) - - [Object-Oriented Programming (OOP) in Python 3 by David Amos (Intermediate)](https://realpython.com/python3-object-oriented-programming/#:~:text=Programming%20with%20Python.-,What%20Is%20Object%2DOriented%20Programming%20in%20Python%3F,are%20bundled%20into%20individual%20objects.) + - **Tutorial** + - [Python Classes and Objects by W3Schools (Beginners)](https://www.w3schools.com/python/python_classes.asp) + - [Python Object Oriented Programming by programiz.com (Beginners)](https://www.programiz.com/python-programming/object-oriented-programming) - - **Book** - - [Python Object-Oriented Programming](https://www.amazon.com/Python-Object-Oriented-Programming-maintainable-object-oriented/dp/1789615852/ref=pd_sbs_sccl_2_2/138-1551814-9810765?pd_rd_w=jzyei&pf_rd_p=3676f086-9496-4fd7-8490-77cf7f43f846&pf_rd_r=MFK3P1Y675XM2K837YAX&pd_rd_r=392af586-64f4-4790-83f3-4b2ba1954b3d&pd_rd_wg=0Wk4G&pd_rd_i=1789615852&psc=1) - + - **Article** + - [Python OOPs Concepts 3 by GeeksForGeeks (Beginners)](https://www.geeksforgeeks.org/python-oops-concepts/) + - [Object-Oriented Programming (OOP) in Python 3 by David Amos (Intermediate)](https://realpython.com/python3-object-oriented-programming/#:~:text=Programming%20with%20Python.-,What%20Is%20Object%2DOriented%20Programming%20in%20Python%3F,are%20bundled%20into%20individual%20objects.) + + - **Book** + - [Python Object-Oriented Programming](https://www.amazon.com/Python-Object-Oriented-Programming-maintainable-object-oriented/dp/1789615852/ref=pd_sbs_sccl_2_2/138-1551814-9810765?pd_rd_w=jzyei&pf_rd_p=3676f086-9496-4fd7-8490-77cf7f43f846&pf_rd_r=MFK3P1Y675XM2K837YAX&pd_rd_r=392af586-64f4-4790-83f3-4b2ba1954b3d&pd_rd_wg=0Wk4G&pd_rd_i=1789615852&psc=1) + +
- - #### Functional Programming +
+ Functional Programming
+ - **Article** - [Functional Programming in Python](https://realpython.com/python-functional-programming/) +
+ + - ### Architectural Patterns - - #### Microservice +
+ Microservice
- **Book** - [Microservice Architecture](https://www.oreilly.com/library/view/microservice-architecture/9781491956328) - [Building Microservices, 2nd Edition](https://www.oreilly.com/library/view/building-microservices-2nd/9781492034018/) +
- - #### Enterprise Applications +
+ Enterprise Applications
- **Book** - [Patterns of Enterprise Application Architecture](https://www.amazon.de/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420) - [Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions](https://www.amazon.de/-/en/Gregor-Hohpe/dp/0321200683/) +
+ + - ### Design Principles - - #### SOLID + +
+ SOLID
- **Article** - [SOLID Principles In Python by Philip Norton](https://www.hashbangcode.com/article/solid-principles-python) - [Uncle Bob's SOLID principles made easy 🍀 - in Python!](https://www.youtube.com/watch?v=pTB30aXS77U) +
+ +
+ KISS
+ +
- - #### KISS +
+ DRY
- - #### DRY +
-- ### Design Patterns +
+Design Patterns
- **Book** - [Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software](https://www.amazon.com/Head-First-Design-Patterns-Object-Oriented/dp/149207800X) @@ -795,11 +1168,16 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Video** - [Design Patterns Course by Mosh Hamedani](https://codewithmosh.com/p/design-patterns) - [Become a better software developer](https://www.youtube.com/c/ArjanCodes) +
+ -- ### Message Brokers - - #### RabbitMQ +- ### Message Brokers + +
+ RabbitMQ
+ - **Documentation** - [RabbitMQ Documentation](https://www.rabbitmq.com/documentation.html) @@ -814,43 +1192,64 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [RabbitMQ Cheat Sheet 1](https://cheatography.com/francisuk/cheat-sheets/rabbitmq/pdf/) - [RabbitMQ Cheat Sheet 2](https://lzone.de/cheat-sheet/RabbitMQ) +
- - #### Apache Kafka - +
+ Apache Kafka
+ - **Documentation** - [Apache Kafka Documentation](https://kafka.apache.org/documentation/) - **Cheat Sheet** - [Apache Kafka Cheat Sheet 1](https://gist.github.com/sahilsk/d2a6ec384f5f2333e3fef40a581a97e1) - [Apache Kafka Cheat Sheet 2](https://medium.com/@TimvanBaarsen/apache-kafka-cli-commands-cheat-sheet-a6f06eac01b) +
+ + + - ### WSGI Servers - - #### Gunicorn - +
+ Gunicorn
+ - **Documentation** - [Gunicorn Documentation](https://docs.gunicorn.org/en/stable/) +
- - #### uWSGI - +
+ uWSGI
+ - **Documentation** - [uWSGI Documentation](https://uwsgi-docs.readthedocs.io/en/latest/) +
+ + - ### ASGI Servers + - - #### Uvicorn - +
+ Uvicorn
+ - **Documentation** - [Uvicorn Documentation](https://www.uvicorn.org/) +
+ +
+ Starlette
- - #### Starlette - - **Documentation** - [Starlette Documentation](https://www.starlette.io/) +
+ + - ### Web Servers + - - #### Nginx +
+ Nginx
- **Documentation** - [NGINX Documentation](http://nginx.org/en/docs/) @@ -860,9 +1259,11 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [NGINX CHEAT SHEET](https://kiza.dev/notes/nginx-cheat-sheet) +
- - #### Apache - +
+ Apache
+ - **Documentation** - [Apache Documentation](https://httpd.apache.org/docs/) @@ -871,38 +1272,56 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - **Cheat Sheet** - [Apache Cheat Sheet](http://www.cheat-sheets.org/saved-copy/apache-refcard-a4.pdf) +
+ + - ### API - - #### Design + +
+ Design
- **Guidelines and Best Practices** - [Zalando RESTful API and Event Guidelines](https://opensource.zalando.com/restful-api-guidelines/) - [Microsoft REST API Guidelines](https://github.com/microsoft/api-guidelines) +
- - #### Security - +
+ Security
+ - **Checklist** - [API Security Checklist](https://github.com/bobycloud/API-Security-Checklist/blob/master/README-en.md) +
+ + - ### Availability and Reliability (In Progress) - + + - ### Distributed Systems (In Progress) - + + - ### Reactive Systems (In Progress) -- ### Refactoring +
+Refactoring
+ - **Video** - [Dive Into REFACTORING](https://refactoring.guru/refactoring/course) +
-- ### Security + + +
+Security
- **Book** - [The Web Application Hacker's Handbook](https://www.amazon.com/Web-Application-Hackers-Handbook-Exploiting/dp/1118026470) @@ -917,27 +1336,43 @@ Before you head over, read the [Contribution Guide](CONTRIBUTING.md) first. You - [OWASP Top 10](https://owasp.org/www-project-top-ten/) - [OWASP Top 10 for Web with live training](https://application.security/free/owasp-top-10) - [SANS SWAT Checklist](https://www.sans.org/cloud-security/securing-web-application-technologies/) +
+ + + +
+Monitoring
-- ### Monitoring - - **Article** - - [log vs metric vs trace](https://microsoft.github.io/code-with-engineering-playbook/observability/log-vs-metric-vs-trace/) - - [things to know about observability mechanisms](https://medium.com/@surfd1001/things-to-know-about-observability-mechanisms-a52876e421c7) - - [The 3 pillars of observability: Logs, metrics and traces](https://www.techtarget.com/searchitoperations/tip/The-3-pillars-of-observability-Logs-metrics-and-traces) - - [ Logging vs Tracing: Why Logs Aren’t Enough to Debug Your Microservices ](https://dev.to/aspecto/logging-vs-tracing-why-logs-aren-t-enough-to-debug-your-microservices-4jgi) + - [log vs metric vs trace](https://microsoft.github.io/code-with-engineering-playbook/observability/log-vs-metric-vs-trace/) + - [things to know about observability mechanisms](https://medium.com/@surfd1001/things-to-know-about-observability-mechanisms-a52876e421c7) + - [The 3 pillars of observability: Logs, metrics and traces](https://www.techtarget.com/searchitoperations/tip/The-3-pillars-of-observability-Logs-metrics-and-traces) + - [ Logging vs Tracing: Why Logs Aren’t Enough to Debug Your Microservices ](https://dev.to/aspecto/logging-vs-tracing-why-logs-aren-t-enough-to-debug-your-microservices-4jgi) -- ### Soft Skill +
+ + + +
+Soft Skill
- **Book** - [The Clean Coder: A Code of Conduct for Professional Programmers](https://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073) +
+ + - ### Public Cloud (In Progress) - + + + - ### IoT + +
+ Concept
- - #### Concept - #### Protocol - [Practical MQTT with Steve](http://www.steves-internet-guide.com/)