chore: update roadmap content json (#7377)

Co-authored-by: kamranahmedse <4921183+kamranahmedse@users.noreply.github.com>
pull/7404/head
github-actions[bot] 1 week ago committed by GitHub
parent 31dffa82c5
commit 25661736ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 10
      public/roadmap-content/ai-engineer.json
  2. 10
      public/roadmap-content/api-design.json
  3. 5
      public/roadmap-content/frontend.json
  4. 48
      public/roadmap-content/full-stack.json
  5. 24
      public/roadmap-content/postgresql-dba.json
  6. 317
      public/roadmap-content/python.json
  7. 26
      public/roadmap-content/react.json
  8. 1609
      public/roadmap-content/redis.json
  9. 20
      public/roadmap-content/software-architect.json

@ -71,8 +71,14 @@
},
"d7fzv_ft12EopsQdmEsel": {
"title": "Pre-trained Models",
"description": "",
"links": []
"description": "Pre-trained models are Machine Learning (ML) models that have been previously trained on a large dataset to solve a specific task or set of tasks. These models learn patterns, features, and representations from the training data, which can then be fine-tuned or adapted for other related tasks. Pre-training provides a good starting point, reducing the amount of data and computation required to train a new model from scratch.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Pre-trained models: Past, present and future",
"url": "https://www.sciencedirect.com/science/article/pii/S2666651021000231",
"type": "article"
}
]
},
"1Ga6DbOPc6Crz7ilsZMYy": {
"title": "Benefits of Pre-trained Models",

@ -244,6 +244,11 @@
"url": "https://aws.amazon.com/route53/what-is-dns/",
"type": "article"
},
{
"title": "DNS Record Crash Course for Web Developers",
"url": "https://dev.to/chrisachard/dns-record-crash-course-for-web-developers-35hn",
"type": "article"
},
{
"title": "DNS explained in 100 seconds",
"url": "https://www.youtube.com/watch?v=UVR9lhUGAyU",
@ -269,6 +274,11 @@
"title": "What is a RESTul API?",
"url": "https://aws.amazon.com/what-is/restful-api/",
"type": "article"
},
{
"title": "Understanding RESTful APIs",
"url": "https://www.youtube.com/watch?v=lsMQRaeKNDk",
"type": "video"
}
]
},

@ -45,11 +45,6 @@
"title": "What is HTTP?",
"description": "HTTP (Hypertext Transfer Protocol) is the foundation of data communication on the World Wide Web. It's an application-layer protocol that defines how messages are formatted and transmitted between web browsers and servers. HTTP operates on a request-response model: clients (usually web browsers) send requests to servers, which then respond with the requested data. The protocol is stateless, meaning each request is independent of any previous requests. HTTP supports various methods (GET, POST, PUT, DELETE, etc.) for different types of interactions with resources. HTTPS is the secure version of HTTP, using encryption to protect data in transit. HTTP/2 and HTTP/3 are more recent versions, offering improved performance through features like multiplexing and header compression. Understanding HTTP is crucial for web development, as it underpins how web applications communicate and function.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "HTTP Crash Course",
"url": "https://www.youtube.com/watch?v=qgZiUvV41TI",
"type": "course"
},
{
"title": "Everything you need to know about HTTP",
"url": "https://cs.fyi/guide/http-in-depth",

@ -137,6 +137,11 @@
"title": "Git",
"description": "[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Visit Dedicated Git & Github Roadmap",
"url": "https://roadmap.sh/git-github",
"type": "article"
},
{
"title": "Learn Git with Tutorials, News and Tips - Atlassian",
"url": "https://www.atlassian.com/git",
@ -220,7 +225,7 @@
"description": "CSS Framework that provides atomic CSS classes to help you style components e.g. `flex`, `pt-4`, `text-center` and `rotate-90` that can be composed to build any design, directly in your markup.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Tailwind Website",
"title": "Tailwind CSS Website",
"url": "https://tailwindcss.com",
"type": "article"
},
@ -307,7 +312,12 @@
"description": "Node.js is an open-source and cross-platform JavaScript runtime environment. It is a popular tool for almost any kind of project! Node.js runs the V8 JavaScript engine, Google Chrome's core, outside the browser. This allows Node.js to be very performant. A Node.js app runs in a single process, without creating a new thread for every request. Node.js provides a set of asynchronous I/O primitives in its standard library that prevent JavaScript code from blocking and generally, libraries in Node.js are written using non-blocking paradigms, making blocking behavior the exception rather than the norm.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Official Website",
"title": "Visit Dedicated Node.js Roadmap",
"url": "https://roadmap.sh/nodejs",
"type": "article"
},
{
"title": "Node.js Website",
"url": "https://nodejs.org/en/about/",
"type": "article"
},
@ -356,6 +366,11 @@
"title": "Learn REST: A RESTful Tutorial",
"url": "https://restapitutorial.com/",
"type": "article"
},
{
"title": "What Is A RESTful API? Explanation of REST & HTTP",
"url": "https://www.youtube.com/watch?v=Q-BpqyOT3a8",
"type": "video"
}
]
},
@ -409,11 +424,21 @@
"title": "Redis",
"description": "Redis is an open source (BSD licensed), in-memory **data structure store** used as a database, cache, message broker, and streaming engine. Redis provides data structures such as [strings](https://redis.io/topics/data-types-intro#strings), [hashes](https://redis.io/topics/data-types-intro#hashes), [lists](https://redis.io/topics/data-types-intro#lists), [sets](https://redis.io/topics/data-types-intro#sets), [sorted sets](https://redis.io/topics/data-types-intro#sorted-sets) with range queries, [bitmaps](https://redis.io/topics/data-types-intro#bitmaps), [hyperloglogs](https://redis.io/topics/data-types-intro#hyperloglogs), [geospatial indexes](https://redis.io/commands/geoadd), and [streams](https://redis.io/topics/streams-intro). Redis has built-in [replication](https://redis.io/topics/replication), [Lua scripting](https://redis.io/commands/eval), [LRU eviction](https://redis.io/topics/lru-cache), [transactions](https://redis.io/topics/transactions), and different levels of [on-disk persistence](https://redis.io/topics/persistence), and provides high availability via [Redis Sentinel](https://redis.io/topics/sentinel) and automatic partitioning with [Redis Cluster](https://redis.io/topics/cluster-tutorial).\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Visit Dedicated Redis Roadmap",
"url": "https://roadmap.sh/redis",
"type": "article"
},
{
"title": "Redis Website",
"url": "https://redis.io/",
"type": "article"
},
{
"title": "Redis Documentation",
"url": "https://redis.io/docs/latest/",
"type": "article"
},
{
"title": "Explore top posts about Redis",
"url": "https://app.daily.dev/tags/redis?ref=roadmapsh",
@ -632,6 +657,11 @@
"title": "Monit",
"description": "When it comes to monitoring the health of your applications, there are several different options available. My favorite monitoring stack is Prometheus and Grafana, but it can be a bit overwhelming to set up and configure. If you're looking for a simpler solution, **Monit** is a great alternative that can be utilized to monitor and manage system resources such as services, processes, files, directories, devices, and network connections, making your application more reliable and resilient to issues like crashes, unresponsiveness, or resource exhaustion.\n\nSome of the key features of Monit are:\n\n* **Automatic Recovery:** Monit can automatically restart a service or process if it fails, making your application more resistant to unexpected issues.\n* **Alert Notifications:** Monit can send email notifications when a problem is detected or when a certain condition is met, keeping you informed about the health of your application.\n* **Event Logging:** All events detected by Monit are stored in a log for easy troubleshooting and analysis.\n* **Resource Limit Monitoring:** Monit can monitor the resource utilization (CPU, memory, network, etc.) of a process or service and take action if a specific limit is exceeded.\n* **Flexible Configuration:** Monit uses a simple, human-readable configuration syntax that allows you to tailor its behavior to your needs.\n* **Web Interface:** Monit provides a built-in web interface for remotely monitoring your application's status and manage services.\n\nHave a look at the following resources to learn more about Monit:",
"links": [
{
"title": "Monit Website",
"url": "https://mmonit.com/monit/",
"type": "article"
},
{
"title": "Monit documentation",
"url": "https://mmonit.com/monit/documentation/",
@ -654,7 +684,7 @@
"type": "article"
},
{
"title": "Official Website",
"title": "PostgreSQL Website",
"url": "https://www.postgresql.org/",
"type": "article"
},
@ -705,6 +735,11 @@
"url": "https://github.com/features/actions",
"type": "opensource"
},
{
"title": "Visit Dedicated Git & Github Roadmap",
"url": "https://roadmap.sh/git-github",
"type": "article"
},
{
"title": "Github Actions Documentation",
"url": "https://docs.github.com/en/actions",
@ -712,7 +747,7 @@
},
{
"title": "Explore top posts about GitHub",
"url": "https://app.daily.dev/tags/github?ref=roadmapsh",
"url": "https://app.daily.dev/tags/github-actions?ref=roadmapsh",
"type": "article"
},
{
@ -772,6 +807,11 @@
"title": "Terraform",
"description": "Terraform is an extremely popular open source Infrastructure as Code (IaC) tool that can be used with many different cloud and service provider APIs. Terraform focuses on an immutable approach to infrastructure, with a terraform state file center to tracking the status of your real world infrastructure.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Visit Dedicated Terraform Roadmap",
"url": "https://roadmap.sh/terraform",
"type": "article"
},
{
"title": "Terraform Website",
"url": "https://www.terraform.io/",

@ -20,8 +20,8 @@
"type": "article"
},
{
"title": "Explore top posts about Backend Development",
"url": "https://app.daily.dev/tags/backend?ref=roadmapsh",
"title": "Explore top posts about Relational Databases",
"url": "https://app.daily.dev/tags/relational-databases?ref=roadmapsh",
"type": "article"
}
]
@ -505,8 +505,14 @@
},
"ANUgfkADLI_du7iRvnUdi": {
"title": "Learn SQL",
"description": "SQL stands for Structured Query Language. It is a standardized programming language designed to manage and interact with relational database management systems (RDBMS). SQL allows you to create, read, edit, and delete data stored in database tables by writing specific queries.",
"links": []
"description": "SQL stands for Structured Query Language. It is a standardized programming language designed to manage and interact with relational database management systems (RDBMS). SQL allows you to create, read, edit, and delete data stored in database tables by writing specific queries.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Visit Dedicated SQL Roadmap",
"url": "https://roadmap.sh/sql",
"type": "article"
}
]
},
"KMdF9efNGULualk5o1W0_": {
"title": "For Schemas",
@ -702,6 +708,11 @@
"title": "Grouping",
"description": "Grouping is a powerful technique in SQL that allows you to organize and aggregate data based on common values in one or more columns. The `GROUP BY` clause is used to create groups, and the `HAVING` clause is used to filter the group based on certain conditions.\n\nLearn more from the following resources:",
"links": [
{
"title": "PostgreSQL GROUP BY CLAUSE",
"url": "https://www.postgresql.org/docs/current/sql-select.html#SQL-GROUPBY",
"type": "article"
},
{
"title": "PostgreSQL GROUP BY",
"url": "https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-group-by/",
@ -716,6 +727,11 @@
"title": "PostgreSQL - HAVING",
"url": "https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-having/",
"type": "article"
},
{
"title": "PostgreSQL Group BY",
"url": "https://www.youtube.com/watch?v=SI-bPx4jaGc",
"type": "video"
}
]
},

@ -32,7 +32,7 @@
},
"dEFLBGpiH6nbSMeR7ecaT": {
"title": "Variables and Data Types",
"description": "Variables\n---------\n\nVariables are used to store information to be referenced and manipulated in a computer program. They also provide a way of labeling data with a descriptive name, so our programs can be understood more clearly by the reader and ourselves. It is helpful to think of variables as containers that hold information. Their sole purpose is to label and store data in memory. This data can then be used throughout your program.\n\nVisit the following resources to learn more:",
"description": "Variables are used to store information to be referenced and manipulated in a computer program. They also provide a way of labeling data with a descriptive name, so our programs can be understood more clearly by the reader and ourselves. It is helpful to think of variables as containers that hold information. Their sole purpose is to label and store data in memory. This data can then be used throughout your program.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Variables in Python",
@ -49,11 +49,6 @@
"url": "https://www.w3schools.com/python/python_datatypes.asp",
"type": "article"
},
{
"title": "Basic Data Types in Python",
"url": "https://realpython.com/python-data-types/",
"type": "article"
},
{
"title": "Python for Beginners: Data Types",
"url": "https://thenewstack.io/python-for-beginners-data-types/",
@ -68,33 +63,28 @@
},
"NP1kjSk0ujU0Gx-ajNHlR": {
"title": "Conditionals",
"description": "Conditional Statements in Python perform different actions depending on whether a specific condition evaluates to true or false. Conditional Statements are handled by IF-ELIF-ELSE statements and MATCH-CASE statements in Python.\n\nVisit the following resources to learn more:",
"description": "Conditional Statements in Python perform different actions depending on whether a specific condition evaluates to true or false. Conditional Statements are handled by _if-elif-else_ statements and MATCH-CASE statements in Python.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Python Conditional Statements: IF…Else, ELIF & Switch Case",
"url": "https://www.guru99.com/if-loop-python-conditional-structures.html",
"type": "article"
},
{
"title": "Conditional Statements in Python",
"url": "https://realpython.com/python-conditional-statements/",
"type": "article"
},
{
"title": "How to use a match statement in Python",
"url": "https://learnpython.com/blog/python-match-case-statement/",
"title": "Python Conditional Statements",
"url": "https://www.guru99.com/if-loop-python-conditional-structures.html",
"type": "article"
},
{
"title": "W3Schools - Python Conditions and If statements",
"url": "https://www.w3schools.com/python/python_conditions.asp",
"title": "How to Use a Match Statement in Python",
"url": "https://learnpython.com/blog/python-match-case-statement/",
"type": "article"
}
]
},
"R9DQNc0AyAQ2HLpP4HOk6": {
"title": "Type Casting",
"description": "Typecasting\n-----------\n\nThe process of converting the value of one data type (integer, string, float, etc.) to another data type is called type conversion. Python has two types of type conversion: Implicit and Explicit.\n\nVisit the following resources to learn more:",
"description": "The process of converting the value of one data type (integer, string, float, etc.) to another data type is called type conversion. Python has two types of type conversion: Implicit and Explicit.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Type Conversion and Casting",
@ -127,11 +117,6 @@
"url": "https://www.programiz.com/python-programming/exception-handling",
"type": "article"
},
{
"title": "Python Try Except",
"url": "https://www.w3schools.com/python/python_try_except.asp",
"type": "article"
},
{
"title": "Exception Handling in Python",
"url": "https://www.youtube.com/watch?v=V_NXT2-QIlE",
@ -141,23 +126,23 @@
},
"-DJgS6l2qngfwurExlmmT": {
"title": "Functions, Builtin Functions",
"description": "In programming, a function is a reusable block of code that executes a certain functionality when it is called. Functions are integral parts of every programming language because they help make your code more modular and reusable.\n\nIn Python, you define a function with the `def` keyword, then write the function identifier (name) followed by parentheses and a colon.\n\nVisit the following resources to learn more:",
"description": "In programming, a function is a reusable block of code that executes a certain functionality when it is called. Functions are integral parts of every programming language because they help make your code more modular and reusable. In Python, we define a function with the `def` keyword, then write the function identifier (name) followed by parentheses and a colon.\n\nExample\n-------\n\n def greet(name):\n print(f\"Hello, {name}!\")\n \n greet(\"Roadmap.sh\") \n \n\nVisit the following resources to learn more:",
"links": [
{
"title": "Python Functions - W3Schools",
"url": "https://www.w3schools.com/python/python_functions.asp",
"title": "Built-in Functions in Python",
"url": "https://docs.python.org/3/library/functions.html",
"type": "article"
},
{
"title": "Built-in Functions in Python",
"url": "https://docs.python.org/3/library/functions.html",
"title": "Python Functions - W3Schools",
"url": "https://www.w3schools.com/python/python_functions.asp",
"type": "article"
}
]
},
"UT_SR7G-LYtzqooWrEtF1": {
"title": "Lists",
"description": "**Lists:** are just like dynamic sized arrays, declared in other languages (vector in C++ and ArrayList in Java). Lists need not be homogeneous always which makes it the most powerful tool in Python.\n\n**Tuple:** A Tuple is a collection of Python objects separated by commas. In some ways, a tuple is similar to a list in terms of indexing, nested objects, and repetition but a tuple is immutable, unlike lists that are mutable.\n\n**Set:** A Set is an unordered collection data type that is iterable, mutable, and has no duplicate elements. Python’s set class represents the mathematical notion of a set.\n\n**Dictionary:** In python, Dictionary is an ordered (since Py 3.7) \\[unordered (Py 3.6 & prior)\\] collection of data values, used to store data values like a map, which, unlike other Data Types that hold only a single value as an element, Dictionary holds key:value pair. Key-value is provided in the dictionary to make it more optimized.\n\nVisit the following resources to learn more:",
"description": "**Lists:** A list is just like dynamic sized arrays, declared in other languages (vector in C++ and ArrayList in Java). Lists need not be homogeneous always which makes it the most powerful tool in Python.\n\n**Tuple:** A Tuple is a collection of Python objects separated by commas. In some ways, a tuple is similar to a list in terms of indexing, nested objects, and repetition but a tuple is immutable, unlike lists that are mutable.\n\n**Set:** A Set is an unordered collection data type that is iterable, mutable, and has no duplicate elements. Python’s set class represents the mathematical notion of a set.\n\n**Dictionary:** In python, Dictionary is an ordered (since Py 3.7) \\[unordered (Py 3.6 & prior)\\] collection of data values, used to store data values like a map, which, unlike other Data Types that hold only a single value as an element, Dictionary holds key:value pair. Key-value is provided in the dictionary to make it more optimized.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Tuples vs. Lists vs. Sets in Python",
@ -197,13 +182,13 @@
"description": "Python Set is an unordered collection of data types that is iterable, mutable, and has no duplicate elements. The order of elements in a set is undefined though it may consist of various elements. The major advantage of using a set, as opposed to a list, is that it has a highly optimized method for checking whether a specific element is contained in the set.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "An W3Schools - Python Sets",
"url": "https://www.w3schools.com/python/python_sets.asp",
"title": "An In-Depth Guide to Working with Python Sets",
"url": "https://learnpython.com/blog/python-sets/",
"type": "article"
},
{
"title": "An In-Depth Guide to Working with Python Sets",
"url": "https://learnpython.com/blog/python-sets/",
"title": "An W3Schools - Python Sets",
"url": "https://www.w3schools.com/python/python_sets.asp",
"type": "article"
},
{
@ -217,6 +202,11 @@
"title": "Dictionaries",
"description": "In Python, a dictionary is a built-in data type that allows you to store key-value pairs. Each key in the dictionary is unique, and each key is associated with a value. Dictionaries are unordered collections, meaning the order of items is not guaranteed.\n\nLearn more from the following resources:",
"links": [
{
"title": "Dictionaries in Python",
"url": "https://docs.python.org/3/tutorial/datastructures.html#dictionaries",
"type": "article"
},
{
"title": "W3 Schools - Dictionaries",
"url": "https://www.w3schools.com/python/python_dictionaries.asp",
@ -301,22 +291,22 @@
"description": "Python is a high-level, interpreted, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically-typed and garbage-collected.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Official Website: Python",
"title": "Python Website",
"url": "https://www.python.org/",
"type": "article"
},
{
"title": "Tutorial Series: How to Code in Python",
"url": "https://www.digitalocean.com/community/tutorials/how-to-write-your-first-python-3-program",
"title": "Python - Wiki",
"url": "https://en.wikipedia.org/wiki/Python_(programming_language)",
"type": "article"
},
{
"title": "Python Wikipedia",
"url": "https://en.wikipedia.org/wiki/Python_(programming_language)",
"title": "Tutorial Series: How to Code in Python",
"url": "https://www.digitalocean.com/community/tutorials/how-to-write-your-first-python-3-program",
"type": "article"
},
{
"title": "Googles Python Class",
"title": "Google's Python Class",
"url": "https://developers.google.com/edu/python",
"type": "article"
},
@ -325,11 +315,6 @@
"url": "https://www.w3schools.com/python",
"type": "article"
},
{
"title": "Python",
"url": "https://www.kaggle.com/learn/python",
"type": "article"
},
{
"title": "Explore top posts about Python",
"url": "https://app.daily.dev/tags/python?ref=roadmapsh",
@ -341,6 +326,11 @@
"title": "Data Structures & Algorithms",
"description": "A data structure is a named location that can be used to store and organize data. And, an algorithm is a collection of steps to solve a particular problem. Learning data structures and algorithms allow us to write efficient and optimized computer programs.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Visit Dedicated DSA Roadmap",
"url": "https://roadmap.sh/data-structures-and-algorithms",
"type": "article"
},
{
"title": "Learn DS & Algorithms",
"url": "https://www.programiz.com/dsa",
@ -425,13 +415,13 @@
"description": "Hash Table, Map, HashMap, Dictionary or Associative are all the names of the same data structure. It is a data structure that implements a set abstract data type, a structure that can map keys to values.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Hash Tables and Hashmaps in Python",
"url": "https://www.edureka.co/blog/hash-tables-and-hashmaps-in-python/",
"title": "Build a Hash Table in Python",
"url": "https://realpython.com/python-hash-table/",
"type": "article"
},
{
"title": "Build a Hash Table in Python",
"url": "https://realpython.com/python-hash-table/",
"title": "Hash Tables and Hashmaps in Python",
"url": "https://www.edureka.co/blog/hash-tables-and-hashmaps-in-python/",
"type": "article"
},
{
@ -480,7 +470,7 @@
},
"YNptpfK9qv2ovmkUXLkJT": {
"title": "Sorting Algorithms",
"description": "Sorting refers to arranging data in a particular format. Sorting algorithm specifies the way to arrange data in a particular order. Most common orders are in numerical or lexicographical order.\n\nThe importance of sorting lies in the fact that data searching can be optimized to a very high level, if data is stored in a sorted manner.\n\nVisit the following resources to learn more:",
"description": "Sorting refers to arranging data in a particular format. Sorting algorithm specifies the way to arrange data in a particular order. Most common orders are in numerical or lexicographical order. The importance of sorting lies in the fact that data searching can be optimized to a very high level, if data is stored in a sorted manner.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Sorting Algorithms in Python",
@ -503,6 +493,11 @@
"title": "Builtin",
"description": "Python has a rich standard library of built-in modules that provide a wide range of functionality. Some of the most commonly used built-in modules include: sys, os, math, datetime, random, re, itertools, etc.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Python Module Index",
"url": "https://docs.python.org/3/py-modindex.html",
"type": "article"
},
{
"title": "Python Modules",
"url": "https://www.digitalocean.com/community/tutorials/python-modules",
@ -554,8 +549,13 @@
},
"pIluLJkySqn_gI_GykV6G": {
"title": "Decorators",
"description": "decorator is a design pattern in Python that allows a user to add new functionality to an existing object without modifying its structure. Decorators are usually called before the definition of a function you want to decorate.\n\nVisit the following resources to learn more:",
"description": "Decorator is a design pattern in Python that allows a user to add new functionality to an existing object without modifying its structure. Decorators are usually called before the definition of a function you want to decorate.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Learn Decorators in Python",
"url": "https://pythonbasics.org/decorators/",
"type": "article"
},
{
"title": "Python Decorators",
"url": "https://www.datacamp.com/tutorial/decorators-python",
@ -659,7 +659,7 @@
},
"S0FLE70szSVUPI0CDEQK7": {
"title": "Inheritance",
"description": "Inheritance allows us to define a class that inherits all the methods and properties from another class.\n\nVisit the following resources to learn more:",
"description": "Inheritance is a fundamental concept in object-oriented programming (OOP) that allows one class to inherit the properties and behavior of another class.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Python Inheritance",
@ -691,10 +691,10 @@
},
"qeCMw-sJ2FR4UxvU9DDzv": {
"title": "Package Managers",
"description": "Package managers allow you to manage the dependencies (external code written by you or someone else) that your project needs to work correctly.\n\n`PyPI` and `Pip` are the most common contenders but here are some other options available as well:",
"description": "Package managers allow you to manage the dependencies (external code written by you or someone else) that your project needs to work correctly.\n\n`PyPI` and `Pip` are the most common contenders but there are some other options available as well.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "PIPX",
"title": "pypa/pipx",
"url": "https://github.com/pypa/pipx",
"type": "opensource"
},
@ -710,7 +710,7 @@
"description": "PyPI, typically pronounced pie-pee-eye, is a repository containing several hundred thousand packages. These range from trivial Hello, World implementations to advanced deep learning libraries.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "PyPI Official Website",
"title": "PyPI Website",
"url": "https://pypi.org/",
"type": "article"
},
@ -735,6 +735,11 @@
"title": "Pip",
"description": "The standard package manager for Python is pip. It allows you to install and manage packages that aren’t part of the Python standard library.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "pip Documentation",
"url": "https://pip.pypa.io/en/stable/installation/",
"type": "article"
},
{
"title": "Using Pythons pip to Manage Your Projects Dependencies",
"url": "https://realpython.com/what-is-pip/",
@ -754,10 +759,10 @@
},
"uh67D1u-Iv5cZamRgFEJg": {
"title": "Conda",
"description": "Conda is an open source package management system and environment management system that runs on Windows, macOS, and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language.\n\nConda as a package manager helps you find and install packages. If you need a package that requires a different version of Python, you do not need to switch to a different environment manager, because conda is also an environment manager. With just a few commands, you can set up a totally separate environment to run that different version of Python, while continuing to run your usual version of Python in your normal environment.\n\nVisit the following resources to learn more:",
"description": "Conda is an open source package management system and environment management system that runs on Windows, macOS, and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Conda Docs",
"title": "Conda Documentation",
"url": "https://docs.conda.io/en/latest/",
"type": "article"
}
@ -778,6 +783,11 @@
"title": "List Comprehensions",
"description": "List comprehensions are a concise way to create a list using a single line of code in Python. They are a powerful tool for creating and manipulating lists, and they can be used to simplify and shorten code.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Python List Comprehensions",
"url": "https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions",
"type": "article"
},
{
"title": "Python - List Comprehension",
"url": "https://www.w3schools.com/python/python_lists_comprehension.asp",
@ -792,17 +802,12 @@
"title": "Python List Comprehensions Quiz - CodeGuage",
"url": "https://www.codeguage.com/courses/python/lists-list-comprehensions-quiz",
"type": "article"
},
{
"title": "Python List Comprehensions",
"url": "https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions",
"type": "article"
}
]
},
"jnLIVRrWxcX3yq3Op91Vr": {
"title": "Generator Expressions",
"description": "Generator expressions are a concise way to create a generator using a single line of code in Python. They are similar to list comprehensions, but instead of creating a list, they create a generator object that produces the values on-demand, as they are needed.\n\nGenerator expressions are a useful tool for efficiently producing large sequence of values, as they allow you to create the generator without creating the entire sequence in memory at once. This tends to use less memory, especially for large sequences.\n\nVisit the following resources to learn more:",
"description": "Generator expressions are a concise way to create a generator using a single line of code in Python. They are similar to list comprehensions, but instead of creating a list, they create a generator object that produces the values on-demand, as they are needed. Generator expressions are a useful tool for efficiently producing large sequence of values, as they allow you to create the generator without creating the entire sequence in memory at once. This tends to use less memory, especially for large sequences.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Python Generator Expressions",
@ -818,20 +823,31 @@
},
"4GU5HNi3W8yFkImVY9ZpW": {
"title": "Paradigms",
"description": "Python is a multi-paradigm programming language, which means that it supports several programming paradigms. Some of the main paradigms supported by Python are:\n\n* Imperative programming: This paradigm focuses on telling the computer what to do, step by step. Python supports imperative programming with features such as variables, loops, and control structures.\n* Object-oriented programming (OOP): This paradigm is based on the idea of objects and their interactions. Python supports OOP with features such as classes, inheritance, and polymorphism.\n* Functional programming: This paradigm is based on the idea of functions as first-class citizens, and it emphasizes the use of pure functions and immutable data. Python supports functional programming with features such as higher-order functions, lambda expressions, and generators.\n* Aspect-oriented programming: This paradigm is based on the idea of separating cross-cutting concerns from the main functionality of a program. Python does not have built-in support for aspect-oriented programming, but it can be achieved using libraries or language extensions.\n\nPython's support for multiple paradigms makes it a versatile and flexible language, and it allows developers to choose the paradigm that best fits their needs.",
"links": []
"description": "Python is a multi-paradigm programming language, which means that it supports several programming paradigms. Some of the main paradigms supported by Python are:\n\n* Imperative programming: This paradigm focuses on telling the computer what to do, step by step. Python supports imperative programming with features such as variables, loops, and control structures.\n* Object-oriented programming (OOP): This paradigm is based on the idea of objects and their interactions. Python supports OOP with features such as classes, inheritance, and polymorphism.\n* Functional programming: This paradigm is based on the idea of functions as first-class citizens, and it emphasizes the use of pure functions and immutable data. Python supports functional programming with features such as higher-order functions, lambda expressions, and generators.\n* Aspect-oriented programming: This paradigm is based on the idea of separating cross-cutting concerns from the main functionality of a program. Python does not have built-in support for aspect-oriented programming, but it can be achieved using libraries or language extensions.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Python Paradigms",
"url": "https://opensource.com/article/19/10/python-programming-paradigms",
"type": "article"
}
]
},
"KAXF2kUAOvtBZhY8G9rkI": {
"title": "Context Manager",
"description": "Context managers are a contruct in Python that allows you to set up context for a block of code, and then automatically clean up or relase resources when the block is exited. It is most commonly used with the `with` statement.\n\nVisit the following resources to learn more:",
"description": "Context Managers are a construct in Python that allows you to set up context for a block of code, and then automatically clean up or release resources when the block is exited. It is most commonly used with the `with` statement.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Context managers in Python",
"title": "Context Libraries",
"url": "https://docs.python.org/3/library/contextlib.html",
"type": "article"
},
{
"title": "Context Managers in Python",
"url": "https://www.freecodecamp.org/news/context-managers-in-python/",
"type": "article"
},
{
"title": "Context managers",
"title": "Context Managers",
"url": "https://book.pythontips.com/en/latest/context_managers.html",
"type": "article"
}
@ -839,10 +855,10 @@
},
"0-ShORjGnQlAdcwjtxdEB": {
"title": "Learn a Framework",
"description": "Frameworks automate the common implementation of common solutions which gives the flexibility to the users to focus on the application logic instead of the basic routine processes.\n\nFrameworks make the life of web developers easier by giving them a structure for app development. They provide common patterns in a web application that are fast, reliable and easily maintainable. Visit the following resources to learn more:",
"description": "Frameworks automate the common implementation of common solutions which gives the flexibility to the users to focus on the application logic instead of the basic routine processes. Frameworks make the life of web developers easier by giving them a structure for app development. They provide common patterns in a web application that are fast, reliable and easily maintainable.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Pyscript: A Browser-Based Python Framework for the 99%",
"title": "Pyscript: A Browser-Based Python Framework",
"url": "https://thenewstack.io/pyscript-a-browser-based-python-framework/",
"type": "article"
},
@ -858,7 +874,7 @@
"description": "Pyramid is a general, open source, web application development framework built in python. It allows python developer to create web applications with ease. Pyramid is backed by the enterprise knowledge Management System KARL (a George Soros project).\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Pyramid - Official Website",
"title": "Pyramid Website",
"url": "https://trypyramid.com/",
"type": "article"
},
@ -876,20 +892,31 @@
},
"7zcpXN3krnS3tMRWVNIVe": {
"title": "Plotly Dash",
"description": "",
"links": []
"description": "Plotly Dash is a Python framework that allows you to build analytical web applications. It's a high-level library that enables you to create interactive, web-based data visualization dashboards without requiring extensive knowledge of web development.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Plotly Dash Documentation",
"url": "https://dash.plotly.com/",
"type": "article"
},
{
"title": "20 Minutes Tutorial",
"url": "http://dash.plotly.com/tutorial",
"type": "article"
}
]
},
"InUJIGmTnf0X4cSoLuCEQ": {
"title": "gevent",
"description": "gevent is a Python library that provides a high-level interface to the event loop. It is based on non-blocking IO (libevent/libev) and lightweight greenlets. Non-blocking IO means requests waiting for network IO won't block other requests; greenlets mean we can continue to write code in synchronous style.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "GitHub Repository",
"title": "gevent/gevent",
"url": "https://github.com/gevent/gevent",
"type": "opensource"
},
{
"title": "gevent — Official Website",
"title": "gevent Website",
"url": "http://www.gevent.org/",
"type": "article"
},
@ -905,7 +932,7 @@
"description": "aiohttp is a Python 3.5+ library that provides a simple and powerful asynchronous HTTP client and server implementation.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Official Docs",
"title": "aiohttp docs",
"url": "https://docs.aiohttp.org/en/stable/",
"type": "article"
},
@ -926,7 +953,7 @@
"description": "Tornado is a scalable, non-blocking web server and web application framework written in Python. It was developed for use by FriendFeed; the company was acquired by Facebook in 2009 and Tornado was open-sourced soon after.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Tornado — Official Website",
"title": "Tornado Website",
"url": "https://www.tornadoweb.org/",
"type": "article"
},
@ -947,7 +974,7 @@
"description": "Sanic is a Python 3.7+ web server and web framework that's written to go fast. It allows the usage of the async/await syntax added in Python 3.5, which makes your code non-blocking and speedy.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Sanic Official Website",
"title": "Sanic Website",
"url": "https://sanic.dev/en/",
"type": "article"
}
@ -958,7 +985,7 @@
"description": "FastAPI is a Web framework for developing RESTful APIs in Python. FastAPI is based on Pydantic and type hints to validate, serialize, and deserialize data and automatically auto-generate OpenAPI documents.",
"links": [
{
"title": "Official Documentation",
"title": "FastAPI Documentation",
"url": "https://fastapi.tiangolo.com/",
"type": "article"
},
@ -979,17 +1006,17 @@
"description": "Django is a free and open-source, Python-based web framework that follows the model–template–views architectural pattern. It is maintained by the Django Software Foundation, an independent organization established in the US as a 501 non-profit\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Django Official Website",
"title": "Django Website",
"url": "https://www.djangoproject.com/",
"type": "article"
},
{
"title": "Official Getting Started Guide",
"title": "Getting Started",
"url": "https://www.djangoproject.com/start/",
"type": "article"
},
{
"title": "Is Django synchronous or asynchronous?",
"title": "Is Django Synchronous or Asynchronous?",
"url": "https://stackoverflow.com/questions/58548089/django-is-synchronous-or-asynchronous",
"type": "article"
},
@ -1010,12 +1037,12 @@
"description": "Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions. Instead, it provides flexibility by requiring you to choose and integrate the best libraries for your project's needs.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Flask - Official Website",
"title": "Flask Website",
"url": "https://flask.palletsprojects.com/",
"type": "article"
},
{
"title": "Flask - Official Tutorial",
"title": "Flask Tutorial",
"url": "https://flask.palletsprojects.com/en/3.0.x/tutorial/",
"type": "article"
},
@ -1030,6 +1057,11 @@
"title": "Concurrency",
"description": "Concurrency in Python allows multiple tasks to be executed simultaneously using different approaches. GIL (Global Interpreter Lock) limits thread execution, making multithreading less efficient for computational tasks, but suitable for I/O. Multiprocessing, using the multiprocessing module, allows multiple cores to be utilized, providing true parallelism. Asynchrony via asyncio is optimal for I/O operations, allowing thousands of connections to be processed simultaneously without blocking. The choice of approach depends on the nature of the task.\n\nLearn more about concurrency using the following resources:",
"links": [
{
"title": "Concurrent Execution",
"url": "https://docs.python.org/3/library/concurrency.html",
"type": "article"
},
{
"title": "Python Concurrency",
"url": "https://realpython.com/python-concurrency/",
@ -1050,7 +1082,7 @@
},
"UIx0XYaOgXXlYbbQtjiPq": {
"title": "Threading",
"description": "Multithreading allows multiple threads within a single process. However, because of GIL, threads cannot run in parallel on different cores, which makes multithreading suitable for I/O tasks (e.g., network requests) but not for computational tasks.\n\nLearn more about it from the following resources:",
"description": "Multithreading allows multiple threads within a single process. However, because of GIL, threads cannot run in parallel on different cores, which makes multithreading suitable for I/O tasks (e.g., network requests) but not for computational tasks.\n\nLearn more from the following resources:",
"links": [
{
"title": "Python Threading Library",
@ -1069,7 +1101,7 @@
"description": "Multiprocessing utilizes multiple processes, each with its own GIL. This allows full utilization of multiple processor cores, which is effective for computationally intensive tasks. Python's multiprocessing module supports creating processes and exchanging data between them.\n\nLearn more about multiprocessing with the following resources:",
"links": [
{
"title": "Official Documentation",
"title": "Python Documentation",
"url": "https://docs.python.org/3/library/multiprocessing.html",
"type": "article"
},
@ -1087,7 +1119,7 @@
},
"Mow7RvropbC4ZGDpcGZmw": {
"title": "Asynchrony",
"description": "Asynchronous programming, supported by asyncio, allows code to be executed without blocking, using async and await. This is especially useful for I/O tasks such as networking or file manipulation, allowing thousands of connections to be handled without blocking the main thread.\n\nLearn more about asynchronous programming in Python with the following resources:",
"description": "Asynchronous programming, supported by asyncio, allows code to be executed without blocking, using async and await. This is especially useful for I/O tasks such as networking or file manipulation, allowing thousands of connections to be handled without blocking the main thread.\n\nLearn more from the following resources:",
"links": [
{
"title": "Python AsyncIO library",
@ -1103,18 +1135,18 @@
},
"p3Frfs6oxpuciUzeCEsvb": {
"title": "uv",
"description": "uv is an \"extremely fast\" python package installer and resolver.\n\nLearn more about it using the following resources:",
"description": "uv is an \"extremely fast\" python package installer and resolver.\n\nLearn more from the following resources:",
"links": [
{
"title": "uv GitHub Repository",
"title": "astral-sh/uv",
"url": "https://github.com/astral-sh/uv",
"type": "article"
"type": "opensource"
}
]
},
"GHKAY9gOykEbxkEeR30wL": {
"title": "pyproject.toml",
"description": "This file is used to define the project configuration and dependencies. It is a configuration file that contains metadata about the project, such as its name, version, dependencies, and build settings. The `pyproject.toml` file is used by tools like `poetry` and `flit` to manage Python projects and their dependencies.\n\nLearn more about `pyproject.toml` by visiting the following resources:",
"description": "This file is used to define the project configuration and dependencies. It is a configuration file that contains metadata about the project, such as its name, version, dependencies, and build settings. The `pyproject.toml` file is used by tools like `poetry` and `flit` to manage Python projects and their dependencies.\n\nLearn more from the following resources:",
"links": [
{
"title": "Writing pyproject.toml files",
@ -1125,7 +1157,7 @@
},
"IWq-tfkz-pSC1ztZl60vM": {
"title": "Pipenv",
"description": "Pipeline Environment (pipenv) is a tool that aims to bring the best of all packaging worlds (bundled, requirements.txt, [setup.py](http://setup.py), setup.cfg, etc.) to the Python world. It automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your Pipfile as you install/uninstall packages. It also generates the ever-important Pipfile.lock, which is used to produce deterministic builds.\n\nLearn more about Pipenv by visiting the following resources:",
"description": "Pipeline Environment (pipenv) is a tool that aims to bring the best of all packaging worlds (bundled, requirements.txt, [setup.py](http://setup.py), setup.cfg, etc.) to the Python world. It automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your Pipfile as you install/uninstall packages. It also generates the ever-important Pipfile.lock, which is used to produce deterministic builds.\n\nLearn more from the following resources:",
"links": [
{
"title": "Pipenv Documentation",
@ -1141,21 +1173,21 @@
},
"N5VaKMbgQ0V_BC5tadV65": {
"title": "pyenv",
"description": "pyenv is a tool for managing multiple versions of the Python programming language on Unix-like systems. It works by setting environment variables to point to the directory where the desired version of Python is installed. This allows you to switch between different versions of Python without having to modify your system's default Python installation.\n\nLearn more about pyenv by exploring the following resources:",
"description": "pyenv is a tool for managing multiple versions of the Python programming language on Unix-like systems. It works by setting environment variables to point to the directory where the desired version of Python is installed. This allows you to switch between different versions of Python without having to modify your system's default Python installation.\n\nLearn more from the following resources:",
"links": [
{
"title": "@Official@pyenv GitHub Repository",
"title": "pyenv/pyenv",
"url": "https://github.com/pyenv/pyenv",
"type": "article"
"type": "opensource"
}
]
},
"1PXApuUpPmJjgi12cmWo4": {
"title": "Static Typing",
"description": "Static typing can be a powerful tool to help you catch bugs before they happen. It can also help you understand the code you're working with, and make it easier to maintain and refactor.\n\nLearn more about static typing with the following resources:",
"description": "Static typing can be a powerful tool to help you catch bugs before they happen. It can also help you understand the code you're working with, and make it easier to maintain and refactor.\n\nLearn more from the following resources:",
"links": [
{
"title": "Static typing in Python",
"title": "Static Typing in Python",
"url": "https://typing.readthedocs.io/en/latest/index.html",
"type": "article"
}
@ -1166,7 +1198,7 @@
"description": "Pydantic is a python library for data validation and settings management using python type annotations.\n\nLearn more from the following resources:",
"links": [
{
"title": "Pydantic documentation",
"title": "Pydantic Documentation",
"url": "https://docs.pydantic.dev/latest/",
"type": "article"
}
@ -1174,8 +1206,13 @@
},
"gIcJ3bUVQXqO1Wx4gUKd5": {
"title": "mypy",
"description": "mypy is an optional static type checker for Python that aims to combine the benefits of dynamic (or \"duck\") typing and static typing. Mypy combines the expressive power and convenience of Python with a powerful type system and compile-time type checking. Mypy type checks standard Python programs; run them using any Python VM with basically no runtime overhead.",
"description": "mypy is an optional static type checker for Python that aims to combine the benefits of dynamic (or \"duck\") typing and static typing. Mypy combines the expressive power and convenience of Python with a powerful type system and compile-time type checking. Mypy type checks standard Python programs; run them using any Python VM with basically no runtime overhead.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "python/mypy",
"url": "https://github.com/python/mypy",
"type": "opensource"
},
{
"title": "mypy documentation",
"url": "https://mypy-lang.org/",
@ -1185,7 +1222,7 @@
},
"1q9HWgu9jDTK757hTNOmE": {
"title": "pyright",
"description": "pyright is a static type checker for Python. It is a Microsoft product and is written in TypeScript. It is a language server that uses the Language Server Protocol (LSP) to communicate with the editor. It is a good alternative to mypy and pytype.\n\nLearn more about pyright from the following resources:",
"description": "pyright is a static type checker for Python. It is a Microsoft product and is written in TypeScript. It is a language server that uses the Language Server Protocol (LSP) to communicate with the editor. It is a good alternative to mypy and pytype.\n\nLearn more from the following resources:",
"links": [
{
"title": "Pyright Documentation",
@ -1196,10 +1233,10 @@
},
"9mFR_ueXbIB2IrkqU2s85": {
"title": "pyre",
"description": "pyre is a static type checker for Python. It is a tool that helps you find type errors in your Python code. Pyre is designed to be fast, scalable, and easy to use. It is used at Facebook to help developers catch type errors before they make it to production.\n\nLearn more about pyre from the following resources:",
"description": "pyre is a static type checker for Python. It is a tool that helps you find type errors in your Python code. Pyre is designed to be fast, scalable, and easy to use. It is used at Facebook to help developers catch type errors before they make it to production.\n\nLearn more from the following resources:",
"links": [
{
"title": "pyre documentation",
"title": "pyre Documentation",
"url": "https://pyre-check.org/",
"type": "article"
}
@ -1207,8 +1244,19 @@
},
"0F0ppU_ClIUKZ23Q6BVZp": {
"title": "Code Formatting",
"description": "",
"links": []
"description": "Python code formatting is crucial for maintaining readability, consistency, and reducing errors. Black is a code formatter for Python. It is a tool that automatically formats Python code to adhere to the PEP 8 style guide. It is a great tool to use in your Python projects to ensure that your code is formatted consistently and correctly.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Pylint for Python",
"url": "https://www.pylint.org/",
"type": "article"
},
{
"title": "Black Documentation",
"url": "https://black.readthedocs.io/en/stable/",
"type": "article"
}
]
},
"6cB0pvUO1-gvCtgqozP-Q": {
"title": "ruff",
@ -1226,7 +1274,12 @@
"description": "black is a code formatter for Python. It is a tool that automatically formats Python code to adhere to the PEP 8 style guide. It is a great tool to use in your Python projects to ensure that your code is formatted consistently and correctly.",
"links": [
{
"title": "black documentation",
"title": "Getting Started with Black",
"url": "https://black.readthedocs.io/en/stable/getting_started.html",
"type": "article"
},
{
"title": "Black Documentation",
"url": "https://black.readthedocs.io/en/stable/",
"type": "article"
}
@ -1234,23 +1287,29 @@
},
"tsh_vbhzKz1-H9Vh69tsK": {
"title": "yapf",
"description": "yapf is a formatter for Python files. It is a tool that automatically formats Python code to conform to the PEP 8 style guide. It is similar to black but has more configuration options.\n\nLearn more about yapf and how to use it effectively in your Python projects.",
"description": "yapf is a formatter for Python files. It is a tool that automatically formats Python code to conform to the PEP 8 style guide. It is similar to black but has more configuration options.\n\nLearn more from the following resources:",
"links": [
{
"title": "yapf Documentation",
"title": "google/yapf",
"url": "https://github.com/google/yapf",
"type": "article"
"type": "opensource"
}
]
},
"maYNuTKYyZndxk1z29-UY": {
"title": "Sphinx",
"description": "Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license.\n\nLearn more about Sphinx by visiting the [official website](https://www.sphinx-doc.org/en/master/).",
"links": []
"description": "Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Shpinx Website",
"url": "https://www.sphinx-doc.org/en/master/",
"type": "article"
}
]
},
"_94NrQ3quc4t_PPOsFSN0": {
"title": "Common Packages",
"description": "Python has a rich ecosystem of packages and modules that can be used to get the most out of the language.\n\nHere are some common Python packages that are widely used in various domains:",
"description": "Python has a rich ecosystem of packages and modules that can be used to get the most out of the language. A package is essentially a directory that contains multiple modules and subpackages. A module is a single file that contains a collection of related functions, classes, and variables. Modules are the basic building blocks of Python code organization. A module can be thought of as a container that holds a set of related code.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "requests",
@ -1286,25 +1345,31 @@
"title": "pandas",
"url": "https://pandas.pydata.org/docs/",
"type": "article"
},
{
"title": "polars",
"url": "https://github.com/pola-rs/polars",
"type": "article"
}
]
},
"WQOYjuwKIWB2meea4JnsV": {
"title": "Testing",
"description": "",
"links": []
"description": "Testing in programming means checking if your code works as expected. It's a systematic way to find and fix errors (bugs) before your code goes live. Imagine building a beautiful house without checking if the walls are straight or the roof doesn't leak—that's what coding without testing can feel like!\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Unit Testing in Python",
"url": "https://docs.python.org/3/library/unittest.html",
"type": "article"
},
{
"title": "Python Testing Tutorial",
"url": "https://realpython.com/python-testing/",
"type": "article"
}
]
},
"aVclygxoA9ePU5IxaORSH": {
"title": "doctest",
"description": "Python’s standard library comes equipped with a test framework module called doctest. The doctest module programmatically searches Python code for pieces of text within comments that look like interactive Python sessions. Then, the module executes those sessions to confirm that the code referenced by a doctest runs as expected.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Doctest module reference",
"title": "Doctest Module",
"url": "https://docs.python.org/3/library/doctest.html",
"type": "article"
},
@ -1336,7 +1401,7 @@
"description": "pytest is a mature full-featured Python testing tool that helps you write better programs.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Official Docs",
"title": "Pytest Docs",
"url": "https://docs.pytest.org/",
"type": "article"
},
@ -1362,13 +1427,13 @@
"description": "PyUnit is an easy way to create unit testing programs and UnitTests with Python. (Note that [docs.python.org](http://docs.python.org) uses the name \"unittest\", which is also the module name.)\n\nVisit the following resources to learn more:",
"links": [
{
"title": "How To Use unittest to Write a Test Case for a Function in Python",
"url": "https://www.digitalocean.com/community/tutorials/how-to-use-unittest-to-write-a-test-case-for-a-function-in-python",
"title": "PyUnit Docs",
"url": "https://wiki.python.org/moin/PyUnit%C2%A0",
"type": "article"
},
{
"title": "PyUnit Docs",
"url": "https://wiki.python.org/moin/PyUnit%C2%A0",
"title": "How To Use unittest to Write a Test Case for a Function in Python",
"url": "https://www.digitalocean.com/community/tutorials/how-to-use-unittest-to-write-a-test-case-for-a-function-in-python",
"type": "article"
},
{
@ -1380,10 +1445,10 @@
},
"o1wi39VnjnFfWIC8XcuAK": {
"title": "typing",
"description": "typing is a module in Python that provides runtime support for type hints. The typing module defines a standard set of names that can be used to describe types in the Python language. The typing module was added to the standard library in Python 3.5.",
"description": "Typing is a module in Python that provides runtime support for type hints. The typing module defines a standard set of names that can be used to describe types in the Python language. The typing module was added to the standard library in Python 3.5.",
"links": [
{
"title": "typing python",
"title": "Typing Module",
"url": "https://docs.python.org/3/library/typing.html",
"type": "article"
}
@ -1391,10 +1456,10 @@
},
"jPFOiwbqfaGshaGDBWb5x": {
"title": "tox",
"description": "tox is a tool for automating test environment management and testing against multiple interpreter configurations. It is particularly useful for Python codebases that need to support multiple versions of Python.\n\nLearn more about tox from the following resources:",
"description": "Tox is a tool for automating test environment management and testing against multiple interpreter configurations. It is particularly useful for Python codebase that need to support multiple versions of Python.\n\nLearn more about tox from the following resources:",
"links": [
{
"title": "tox documentation",
"title": "Tox Documentation",
"url": "https://tox.wiki/en/",
"type": "article"
}

@ -240,16 +240,36 @@
},
"8OBlgDRUg-CTgDXY-QHyO": {
"title": "Component Lifecycle",
"description": "React components have a lifecycle consisting of three phases: Mounting, Updating, and Unmounting along with several “lifecycle methods” that you can override to run code at particular times in the process. You can use this [lifecycle diagram](https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/) as a cheat sheet.\n\nIt is not recommended to use lifecycle methods manually. Instead, use the useEffect hook with functional components.\n\nVisit the following resources to learn more:",
"description": "React components have a lifecycle consisting of three phases: Mounting, Updating, and Unmounting along with several “lifecycle methods” that you can override to run code at particular times in the process.\n\nIt is not recommended to use lifecycle methods manually. Instead, use the useEffect hook with functional components.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Lifecycle of Reactive Effects",
"url": "https://react.dev/learn/lifecycle-of-reactive-effectsv",
"type": "article"
},
{
"title": "Class Component",
"url": "https://react.dev/reference/react/Component",
"type": "article"
},
{
"title": "Lifecycle of Reactive Effects",
"url": "https://react.dev/learn/lifecycle-of-reactive-effects",
"title": "React component lifecycle: React lifecycle methods & hooks",
"url": "https://tsh.io/blog/react-component-lifecycle-methods-vs-hooks/",
"type": "article"
},
{
"title": "The React lifecycle: methods and hooks explained",
"url": "https://retool.com/blog/the-react-lifecycle-methods-and-hooks-explained#react-hooks-and-the-component-lifecycle",
"type": "article"
},
{
"title": "React Lifecycle: Methods & Hooks In Detail",
"url": "https://www.bairesdev.com/blog/react-lifecycle-methods-hooks/",
"type": "article"
},
{
"title": "lifecycle diagram",
"url": "https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/",
"type": "article"
}
]

File diff suppressed because it is too large Load Diff

@ -1392,8 +1392,14 @@
},
"hRug9yJKYacB9X_2cUalR": {
"title": "PMI",
"description": "",
"links": []
"description": "The PMI certification (Project Management Institute) is an internationally recognized credential in project management. The most well-known is the PMP® (Project Management Professional), which validates the skills and knowledge of professionals to manage projects effectively by applying best practices and standards defined in the PMBOK® (Project Management Body of Knowledge) guide.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Project Managment Institute",
"url": "https://www.pmi.org/",
"type": "article"
}
]
},
"Rq1Wi-cHjS54SYo-Btp-e": {
"title": "ITIL",
@ -1418,8 +1424,14 @@
},
"7rudOREGG-TTkCosU0hNw": {
"title": "RUP",
"description": "",
"links": []
"description": "The RUP (**Rational Unified Process**) is not a widely recognized certification like PMP or Scrum, but rather a software development framework created by Rational Software (now IBM). It follows an iterative and incremental approach to project development, based on best practices for delivering high-quality software on time and within budget.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "IBM certified solution designer RUP",
"url": "https://www.ibm.com/training/certification/ibm-certified-solution-designer-ibm-rational-unified-process-v70-38008003",
"type": "article"
}
]
},
"qwpsGRFgzAYstM7bJA2ZJ": {
"title": "LeSS",

Loading…
Cancel
Save