mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2026-09-24 15:00:31 +08:00
chore: sync content to repo (#9521)
Co-authored-by: kamranahmedse <4921183+kamranahmedse@users.noreply.github.com>
This commit is contained in:
co-authored by
kamranahmedse
parent
9efbd2da21
commit
f341b35bf8
@@ -0,0 +1,11 @@
|
||||
# CSRF
|
||||
|
||||
CSRF (Cross-Site Request Forgery) is a web security vulnerability where a malicious website tricks a user's browser into performing actions on a trusted site without the user's knowledge. In Django forms, CSRF protection works by including a unique, secret token in each form. When the form is submitted, Django verifies that this token matches the one stored in the user's session. If they don't match, the request is rejected, preventing the attacker from forging requests.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Cross Site Request Forgery protection](https://docs.djangoproject.com/en/6.0/ref/csrf/)
|
||||
- [@official@How to use Django’s CSRF protection](https://docs.djangoproject.com/en/6.0/howto/csrf/)
|
||||
- [@article@Django CSRF Protection Guide: Examples and How to Enable](https://www.stackhawk.com/blog/django-csrf-protection-guide/)
|
||||
- [@video@What Is CSRF Token In Django and Why Is It Used?](https://www.youtube.com/watch?v=iJmezMBJqEs)
|
||||
- [@video@Django - AJAX Requests, HTMX & CSRF Tokens](https://www.youtube.com/watch?v=lc1sOvRaFpg)
|
||||
@@ -0,0 +1,11 @@
|
||||
# Django Ninja
|
||||
|
||||
Django Ninja is a web framework for building APIs with Django and Python 3.7+ with type hints. It focuses on providing a fast and efficient way to create REST APIs using standard Python type annotations for request validation, serialization, and documentation generation. It simplifies API development by automating many of the common tasks, such as input validation and output serialization, while also providing automatic OpenAPI schema generation.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Django Ninja](https://django-ninja.dev/)
|
||||
- [@official@First Steps](https://django-ninja.dev/tutorial/)
|
||||
- [@opensource@django-ninja](https://github.com/vitalik/django-ninja)
|
||||
- [@video@Django-Ninja APIs - Modern API Development in Django](https://www.youtube.com/watch?v=XqkqbsdtoMI)
|
||||
- [@video@Django Ninja - The new DRF killer?! 🥷](https://www.youtube.com/watch?v=J44FpJ2CYnU)
|
||||
@@ -0,0 +1,10 @@
|
||||
# Fixtures
|
||||
|
||||
Fixtures in Django provide a way to populate your database with initial data, useful for testing, development, or providing a default dataset for your application. They are typically data files (JSON, XML, or YAML) containing serialized data for one or more database tables, allowing you to easily load and unload data into your Django project's database. This ensures a consistent and repeatable database state.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Fixtures](https://docs.djangoproject.com/en/6.0/topics/db/fixtures/)
|
||||
- [@official@How to provide initial data for models](https://docs.djangoproject.com/en/6.0/howto/initial-data/)
|
||||
- [@article@Django Fixtures: A Guide to Managing Static and Test Data](https://www.mindbowser.com/django-fixtures-guide/)
|
||||
- [@video@Django 4.0: How to Build and Load Fixtures From Scratch](https://www.youtube.com/watch?v=llO8vj6duJc)
|
||||
@@ -0,0 +1,11 @@
|
||||
# Middleware
|
||||
|
||||
Middleware is a framework of hooks into Django's request/response processing. It's a way to modify the incoming request or outgoing response at different stages of the process. Each middleware component is a class that performs a specific function, like modifying request headers, handling sessions, or logging user activity, before the view is executed or after the response is generated.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Middleware](https://docs.djangoproject.com/en/6.0/topics/http/middleware/)
|
||||
- [@official@Middleware Componetns](https://docs.djangoproject.com/en/6.0/ref/middleware/)
|
||||
- [@article@A Comprehensive Guide to Django Middleware](https://www.datree.io/resources/guide-to-django-middleware)
|
||||
- [@article@What is Django Middleware & Its Role in Request Processing](https://www.horilla.com/blogs/what-is-django-middleware-and-its-role-in-request-processing/)
|
||||
- [@video@Writing Django Middleware (with tests!) | HTMX middleware | IP Blacklist middleware](https://www.youtube.com/watch?v=--ddZc39wVQ)
|
||||
@@ -5,9 +5,9 @@ PDB (Python Debugger) is an interactive source code debugger for Python programs
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@pdb](https://docs.python.org/3/library/pdb.html)
|
||||
- [@official@ipdb](vhttps://pypi.org/project/ipdb/)
|
||||
- [@article@Python Debugging With Pdb](https://realpython.com/python-debugging-pdb/)
|
||||
- [@article@Debugging Python Apps: A Comprehensive Guide to pdb](https://sunscrapers.com/blog/python-debugging-guide-pdb/)
|
||||
- [@video@python debugger crash course: pdb / breakpoint (beginner - intermediate) anthony explains #097](https://www.youtube.com/watch?v=0LPuG825eAk)
|
||||
- [@official@ipdb](vhttps://pypi.org/project/ipdb/)
|
||||
- [@article@A Guide to Debugging Python Code with ipdb](https://betterstack.com/community/guides/scaling-python/python-debugging/)
|
||||
- [@video@python debugger crash course: pdb / breakpoint (beginner - intermediate) anthony explains #097](https://www.youtube.com/watch?v=0LPuG825eAk)
|
||||
- [@video@How to use ipdb the interactive python debugger](https://www.youtube.com/watch?v=EnC9ciDkXqA)
|
||||
@@ -0,0 +1,11 @@
|
||||
# Regex Paths
|
||||
|
||||
Regular expression paths in Django provide a powerful and flexible way to define URL patterns. Instead of using simple string matching, you can use regular expressions to capture specific parts of the URL and pass them as arguments to your view functions. This allows you to create dynamic and complex URL structures that can handle a wide range of user requests.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Using regular expressions](https://docs.djangoproject.com/en/6.0/topics/http/urls/#using-regular-expressions)
|
||||
- [@article@Understanding Django URL patterns](https://www.hostinger.com/my/tutorials/django-url-patterns)
|
||||
- [@article@How Django URLs work with Regular Expressions](https://www.codingforentrepreneurs.com/blog/how-django-urls-work-with-regular-expressions)
|
||||
- [@video@How Django URLs work with Regular Expressions](https://www.youtube.com/watch?v=8rExil_EWtk)
|
||||
- [@video@Learning Django - How to use url mapping with regexp (regular expression) in Django](https://www.youtube.com/watch?v=5zJ3LPWlfqU)
|
||||
@@ -0,0 +1,9 @@
|
||||
# Routing Middleware
|
||||
|
||||
Middleware in Django is a framework of hooks into Django's request/response processing. It's a layer of code that sits between the web server and your Django views, processing every request and response in your application. This allows you to modify the request before it reaches your view, or modify the response before it's sent to the user, enabling functionalities like authentication, session management, and request logging.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Middleware](https://docs.djangoproject.com/en/6.0/topics/http/middleware/)
|
||||
- [@article@Understanding Django Middleware: How to Create Custom Middleware](https://medium.com/@farad.dev/understanding-django-middleware-how-to-create-custom-middleware-789744722df3)
|
||||
- [@video@Writing Django Middleware (with tests!) | HTMX middleware | IP Blacklist middleware](https://www.youtube.com/watch?v=--ddZc39wVQ)
|
||||
@@ -0,0 +1,10 @@
|
||||
# Transactions
|
||||
|
||||
Transactions are a way to group a series of database operations into a single unit of work. This means that either all the operations within the transaction succeed, or none of them do. If any operation fails, the database rolls back to its previous state, ensuring data consistency and integrity. This is particularly useful when performing multiple related database updates, where a failure in one update could leave the database in an inconsistent state.
|
||||
|
||||
Visit the following resources to learn more:
|
||||
|
||||
- [@official@Database transactions](https://docs.djangoproject.com/en/6.0/topics/db/transactions/)
|
||||
- [@article@Understanding Django’s Transaction Atomic](https://plainenglish.io/blog/understanding-djangos-transaction-atomic)
|
||||
- [@article@Python: How Django Transactions Work](https://m-t-a.medium.com/python-how-django-transactions-work-a87083303102)
|
||||
- [@video@Django Database Transactions / atomic() function](https://www.youtube.com/watch?v=L8k8Ukw1P6U)
|
||||
Reference in New Issue
Block a user