Skip to content

Commit 4793680

Browse files
Improve backend roadmap resources (#7257)
* Phase - A to F * Phase - G to M * Phase - N to S * Phase - S to Z * Update src/data/roadmaps/backend/content/[email protected] Co-authored-by: dsh <[email protected]> * Update src/data/roadmaps/backend/content/[email protected] Co-authored-by: dsh <[email protected]> * Update src/data/roadmaps/backend/content/[email protected] Co-authored-by: dsh <[email protected]> * Update src/data/roadmaps/backend/content/[email protected] Co-authored-by: dsh <[email protected]> * Update src/data/roadmaps/backend/content/open-api-specs@9cD5ag1L0GqHx4_zxc5JX.md Co-authored-by: dsh <[email protected]> * Update twelve-factor-apps@8DmabQJXlrT__COZrDVTV.md Co-authored-by: dsh <[email protected]> --------- Co-authored-by: dsh <[email protected]>
1 parent 6b118d1 commit 4793680

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+93
-87
lines changed

src/data/roadmaps/backend/content/[email protected]

+1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. The architectural patterns address various issues in software engineering, such as computer hardware performance limitations, high availability and minimization of a business risk.
44

55
Visit the following resources to learn more:
6+
67
- [@article@14 Architectural Patterns to know](https://www.redhat.com/architect/14-software-architecture-patterns)
78
- [@article@Architectural Patterns in a nutshell](https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013)

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ Learn more from the following resources:
66

77
- [@official@AWS Neptune Website](https://aws.amazon.com/neptune/)
88
- [@video@Getting Started with Neptune Serverless](https://www.youtube.com/watch?v=b04-jjM9t4g)
9-
- [@article@Setting Up Amazon Neptune Graph Database](https://cliffordedsouza.medium.com/setting-up-amazon-neptune-graph-database-2b73512a7388)
9+
- [@article@Setting Up Amazon Neptune Graph Database](https://cliffordedsouza.medium.com/setting-up-amazon-neptune-graph-database-2b73512a7388)

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ Back pressure is a flow control mechanism in systems processing asynchronous dat
55
Visit the following resources to learn more:
66

77
- [@article@Awesome Architecture: Backpressure](https://awesome-architecture.com/back-pressure/)
8-
- [@article@Backpressure explained — the resisted flow of data through software](https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7)
8+
- [@article@Backpressure explained — The Resisted Flow of Data through Software](https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7)
99
- [@video@What is Back Pressure](https://www.youtube.com/watch?v=viTGm_cV7lE)

src/data/roadmaps/backend/content/base@QZwTLOvjUTaSb_9deuxsR.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ Oracle Base Database Service enables you to maintain absolute control over your
44

55
Learn more from the following resources:
66

7-
- [@official@Base Database Website](https://docs.oracle.com/en-us/iaas/base-database/index.html)
7+
- [@official@Base Database Website](https://docs.oracle.com/en-us/iaas/base-database/index.html)

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ Bcrypt is a password-hashing function designed to securely hash passwords for st
44

55
Visit the following resources to learn more:
66

7-
- [@article@bcrypts npm package](https://www.npmjs.com/package/bcrypt)
7+
- [@opensource@bcrypt](https://www.npmjs.com/package/bcrypt)
88
- [@article@Understanding bcrypt](https://auth0.com/blog/hashing-in-action-understanding-bcrypt/)
99
- [@video@bcrypt explained](https://www.youtube.com/watch?v=AzA_LTDoFqY)

src/data/roadmaps/backend/content/bitbucket@Ry_5Y-BK7HrkIc6X0JG1m.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Bitbucket
22

3-
Bitbucket is a web-based version control repository hosting service owned by Atlassian. It primarily uses Git version control systems, offering both cloud-hosted and self-hosted options. Bitbucket provides features such as pull requests for code review, branch permissions, and inline commenting on code. It integrates seamlessly with other Atlassian products like Jira and Trello, making it popular among teams already using Atlassian tools. Bitbucket supports continuous integration and deployment through Bitbucket Pipelines. It offers unlimited private repositories for small teams, making it cost-effective for smaller organizations. While similar to GitHub in many aspects, Bitbucket's integration with Atlassian's ecosystem and its pricing model for private repositories are key differentiators. It's widely used for collaborative software development, particularly in enterprise environments already invested in Atlassian's suite of products.
3+
Bitbucket is a web-based version control repository hosting service owned by Atlassian. It primarily uses Git version control systems, offering both cloud-hosted and self-hosted options. Bitbucket provides features such as pull requests for code review, branch permissions, and inline commenting on code. It integrates seamlessly with other Atlassian products like Jira and Trello, making it popular among teams already using Atlassian tools. Bitbucket supports continuous integration and deployment through Bitbucket Pipelines. It offers unlimited private repositories for small teams, making it cost-effective for smaller organizations.
44

55
Visit the following resources to learn more:
66

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
77
- [@article@How Browsers Work](https://www.ramotion.com/blog/what-is-web-browser/)
88
- [@article@Populating the Page: How Browsers Work](https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work)
99
- [@video@How Do Web Browsers Work?](https://www.youtube.com/watch?v=5rLFYtXHo9s)
10-
- [@feed@Explore top posts about Browsers](https://app.daily.dev/tags/browsers?ref=roadmapsh)
10+
- [@feed@Explore top posts about Browsers](https://app.daily.dev/tags/browsers?ref=roadmapsh)
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
# Caching
22

33
Caching is a technique used in computing to store and retrieve frequently accessed data quickly, reducing the need to fetch it from the original, slower source repeatedly. It involves keeping a copy of data in a location that's faster to access than its primary storage. Caching can occur at various levels, including browser caching, application-level caching, and database caching. It significantly improves performance by reducing latency, decreasing network traffic, and lowering the load on servers or databases. Common caching strategies include time-based expiration, least recently used (LRU) algorithms, and write-through or write-back policies. While caching enhances speed and efficiency, it also introduces challenges in maintaining data consistency and freshness. Effective cache management is crucial in balancing performance gains with the need for up-to-date information in dynamic systems.
4+
5+
Visit the following resources to learn more:
6+
7+
- [@article@What is Caching - AWS](https://aws.amazon.com/caching/)
8+
- [@article@Caching - Cloudflare](https://www.cloudflare.com/learning/cdn/what-is-caching/)

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ Caddy is a modern, open-source web server written in Go. It's known for its simp
55
Visit the following resources to learn more:
66

77
- [@official@Official Website](https://caddyserver.com/)
8-
- [@opensource@caddyserver/caddy](https://github.com/caddyserver/caddy)
8+
- [@opensource@caddyserver/caddy - Caddy on GitHub](https://github.com/caddyserver/caddy)
99
- [@video@How to Make a Simple Caddy 2 Website](https://www.youtube.com/watch?v=WgUV_BlHvj0)
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
# CDN (Content Delivery Network)
22

33
A Content Delivery Network (CDN) service aims to provide high availability and performance improvements of websites. This is achieved with fast delivery of website assets and content typically via geographically closer endpoints to the client requests.
4+
45
Traditional commercial CDNs (Amazon CloudFront, Akamai, CloudFlare and Fastly) provide servers across the globe which can be used for this purpose. Serving assets and contents via a CDN reduces bandwidth on website hosting, provides an extra layer of caching to reduce potential outages and can improve website security as well
56

67
Visit the following resources to learn more:
78

89
- [@article@CloudFlare - What is a CDN? | How do CDNs work?](https://www.cloudflare.com/en-ca/learning/cdn/what-is-a-cdn/)
10+
- [@article@AWS - CDN](https://aws.amazon.com/what-is/cdn/)
911
- [@video@What is Cloud CDN?](https://www.youtube.com/watch?v=841kyd_mfH0)
1012
- [@video@What is a CDN and how does it work?](https://www.youtube.com/watch?v=RI9np1LWzqw)

src/data/roadmaps/backend/content/[email protected]

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ CI/CD (Continuous Integration/Continuous Delivery) is a set of practices and too
44

55
Visit the following resources to learn more:
66

7-
- [@video@DevOps CI/CD Explained in 100 Seconds by Fireship](https://www.youtube.com/watch?v=scEDHsr3APg)
8-
- [@video@Automate your Workflows with GitHub Actions](https://www.youtube.com/watch?v=nyKZTKQS_EQ)
97
- [@article@What is CI/CD?](https://about.gitlab.com/topics/ci-cd/)
108
- [@article@A Primer: Continuous Integration and Continuous Delivery (CI/CD)](https://thenewstack.io/a-primer-continuous-integration-and-continuous-delivery-ci-cd/)
9+
- [@video@DevOps CI/CD Explained in 100 Seconds](https://www.youtube.com/watch?v=scEDHsr3APg)
10+
- [@video@Automate your Workflows with GitHub Actions](https://www.youtube.com/watch?v=nyKZTKQS_EQ)
1111
- [@article@Articles about CI/CD](https://thenewstack.io/category/ci-cd/)
1212
- [@feed@Explore top posts about CI/CD](https://app.daily.dev/tags/cicd?ref=roadmapsh)

src/data/roadmaps/backend/content/client-side@KWTbEVX_WxS8jmSaAX3Fe.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ Client-side caching is a technique where web browsers or applications store data
44

55
Visit the following resources to learn more:
66

7+
- [@article@Client Side Caching](https://redis.io/docs/latest/develop/use/client-side-caching/)
78
- [@video@Everything you need to know about HTTP Caching](https://www.youtube.com/watch?v=HiBDZgTNpXY)
8-
- [@article@Client-side Caching](https://redis.io/docs/latest/develop/use/client-side-caching/)

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ Data replication is the process of creating and maintaining multiple copies of t
44

55
Visit the following resources to learn more:
66

7-
- [@article@What is data replication?](https://www.ibm.com/topics/data-replication)
7+
- [@article@Data Replication? - IBM](https://www.ibm.com/topics/data-replication)
88
- [@video@What is Data Replication?](https://www.youtube.com/watch?v=iO8a1nMbL1o)

src/data/roadmaps/backend/content/design-and-development-principles@9Fpoor-Os_9lvrwu5Zjh-.md

+14-11
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@
22

33
Design and Development Principles are fundamental guidelines that inform the creation of software systems. Key principles include:
44

5-
1. SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion)
6-
2. DRY (Don't Repeat Yourself)
7-
3. KISS (Keep It Simple, Stupid)
8-
4. YAGNI (You Aren't Gonna Need It)
9-
5. Separation of Concerns
10-
6. Modularity
11-
7. Encapsulation
12-
8. Composition over Inheritance
13-
9. Loose Coupling and High Cohesion
14-
10. Principle of Least Astonishment
5+
- SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion)
6+
- DRY (Don't Repeat Yourself)
7+
- KISS (Keep It Simple, Stupid)
8+
- YAGNI (You Aren't Gonna Need It)
9+
- Separation of Concerns
10+
- Modularity
11+
- Encapsulation
12+
- Composition over Inheritance
13+
- Loose Coupling and High Cohesion
14+
- Principle of Least Astonishment
1515

16-
These principles aim to create more maintainable, scalable, and robust software. They encourage clean code, promote reusability, reduce complexity, and enhance flexibility. While not rigid rules, these principles guide developers in making design decisions that lead to better software architecture and easier long-term maintenance. Applying these principles helps in creating systems that are easier to understand, modify, and extend over time.
16+
Visit the following resources to learn more:
17+
18+
- [@article@Design Principles - Wikipedia](https://en.wikipedia.org/wiki/Design_principles)
19+
- [@article@Design Principles - Microsoft](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/index)

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# DNS
22

3-
DNS (Domain Name System) is a hierarchical, decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It translates human-readable domain names (like www.example.com) into IP addresses (like 192.0.2.1) that computers use to identify each other. DNS servers distributed worldwide work together to resolve these queries, forming a global directory service. The system uses a tree-like structure with root servers at the top, followed by top-level domain servers (.com, .org, etc.), authoritative name servers for specific domains, and local DNS servers. DNS is crucial for the functioning of the Internet, enabling users to access websites and services using memorable names instead of numerical IP addresses. It also supports email routing, service discovery, and other network protocols.
3+
DNS (Domain Name System) is a hierarchical, decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It translates human-readable domain names (like `www.example.com`) into IP addresses (like 192.0.2.1) that computers use to identify each other. DNS servers distributed worldwide work together to resolve these queries, forming a global directory service. The system uses a tree-like structure with root servers at the top, followed by top-level domain servers (.com, .org, etc.), authoritative name servers for specific domains, and local DNS servers. DNS is crucial for the functioning of the Internet, enabling users to access websites and services using memorable names instead of numerical IP addresses. It also supports email routing, service discovery, and other network protocols.
44

55
Visit the following resources to learn more:
66

src/data/roadmaps/backend/content/[email protected]

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ Amazon DynamoDB is a fully managed, serverless NoSQL database service provided b
44

55
Learn more from the following resources:
66

7-
- [@official@AWS DynamoDB Website](https://aws.amazon.com/dynamodb/)
7+
- [@official@AWS DynamoDB](https://aws.amazon.com/dynamodb/)
88
- [@video@AWS DynamoDB Tutorial For Beginners](https://www.youtube.com/watch?v=2k2GINpO308)
9-
- [@feed@daily.dev AWS DynamoDB Feed](https://app.daily.dev/tags/aws-dynamodb)
9+
- [@feed@daily.dev AWS DynamoDB Feed](https://app.daily.dev/tags/aws-dynamodb)

src/data/roadmaps/backend/content/failure-modes@GwApfL4Yx-b5Y8dB9Vy__.md

+3
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,6 @@
22

33
Database failure modes refer to the various ways in which a database system can malfunction or cease to operate correctly. These include hardware failures (like disk crashes or network outages), software bugs, data corruption, performance degradation due to overload, and inconsistencies in distributed systems. Common failure modes involve data loss, system unavailability, replication lag in distributed databases, and deadlocks. To mitigate these, databases employ strategies such as redundancy, regular backups, transaction logging, and failover mechanisms. Understanding potential failure modes is crucial for designing robust database systems with high availability and data integrity. It informs the implementation of fault tolerance measures, recovery procedures, and monitoring systems to ensure database reliability and minimize downtime in critical applications.
44

5+
Visit the following resources to learn more:
6+
7+
- [@article@Database Failure Modes](https://ieeexplore.ieee.org/document/7107294/)
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Firebase
22

3-
Firebase is a comprehensive mobile and web application development platform owned by Google. It provides a suite of cloud-based services that simplify app development, hosting, and scaling. Key features include real-time database, cloud storage, authentication, hosting, cloud functions, and analytics. Firebase offers real-time synchronization, allowing data to be updated across clients instantly. Its authentication service supports multiple providers, including email/password, social media logins, and phone authentication. The platform's serverless architecture enables developers to focus on front-end development without managing backend infrastructure. Firebase also provides tools for app testing, crash reporting, and performance monitoring. While it excels in rapid prototyping and building real-time applications, its proprietary nature and potential for vendor lock-in are considerations for large-scale or complex applications. Firebase's ease of use and integration with Google Cloud Platform make it popular for startups and projects requiring quick deployment.
3+
Firebase is a comprehensive mobile and web application development platform owned by Google. It provides a suite of cloud-based services that simplify app development, hosting, and scaling. Key features include real-time database, cloud storage, authentication, hosting, cloud functions, and analytics. Firebase offers real-time synchronization, allowing data to be updated across clients instantly. Its authentication service supports multiple providers, including email/password, social media logins, and phone authentication. The platform's serverless architecture enables developers to focus on front-end development without managing backend infrastructure. Firebase also provides tools for app testing, crash reporting, and performance monitoring.
44

55
Learn more from the following resources:
66

77
- [@official@Firebase Website](https://firebase.google.com/)
88
- [@video@Firebase in 100 seconds](https://www.youtube.com/watch?v=vAoB4VbhRzM)
9-
- [@course@The ultimate guide to Firebase](https://fireship.io/lessons/the-ultimate-beginners-guide-to-firebase/)
9+
- [@course@The Ultimate Guide to Firebase](https://fireship.io/lessons/the-ultimate-beginners-guide-to-firebase/)

src/data/roadmaps/backend/content/git@_I1E__wCIVrhjMk6IMieE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ Git is a distributed version control system designed to handle projects of any s
55
Visit the following resources to learn more:
66

77
- [@roadmap@Learn Git & GitHub](https://roadmap.sh/git-github)
8+
- [@official@Git Documentation](https://git-scm.com/doc)
89
- [@video@Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc)
9-
- [@article@Learn Git with Tutorials, News and Tips - Atlassian](https://www.atlassian.com/git)
1010
- [@article@Git Cheat Sheet](https://cs.fyi/guide/git-cheatsheet)
1111
- [@article@Learn Git Branching](https://learngitbranching.js.org/)
1212
- [@feed@Explore top posts about Git](https://app.daily.dev/tags/git?ref=roadmapsh)

src/data/roadmaps/backend/content/github@ptD8EVqwFUYr4W5A_tABY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ GitHub is a web-based platform for version control and collaboration using Git.
55
Visit the following resources to learn more:
66

77
- [@roadmap@Learn Git & GitHub](https://roadmap.sh/git-github)
8-
- [@official@GitHub Website](https://github.com)
8+
- [@official@GitHub](https://github.com)
99
- [@video@What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E)
1010
- [@video@Git vs. GitHub: Whats the difference?](https://www.youtube.com/watch?v=wpISo9TNjfU)
1111
- [@video@Git and GitHub for Beginners](https://www.youtube.com/watch?v=RGOj5yH7evk)

src/data/roadmaps/backend/content/gitlab@Wcp-VDdFHipwa7hNAp1z_.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ GitLab is a web-based DevOps platform that provides a complete solution for the
44

55
Visit the following resources to learn more:
66

7-
- [@opensource@GitLab Website](https://gitlab.com/)
8-
- [@article@GitLab Documentation](https://docs.gitlab.com/)
7+
- [@official@GitLab](https://gitlab.com/)
8+
- [@official@GitLab Documentation](https://docs.gitlab.com/)
99
- [@video@What is Gitlab and Why Use It?](https://www.youtube.com/watch?v=bnF7f1zGpo4)
1010
- [@feed@Explore top posts about GitLab](https://app.daily.dev/tags/gitlab?ref=roadmapsh)

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ GraphQL is a query language for APIs and a runtime for executing those queries,
55
Visit the following resources to learn more:
66

77
- [@roadmap@GraphQL Roadmap](https://roadmap.sh/graphql)
8-
- [@official@GraphQL Official Website](https://graphql.org/)
8+
- [@official@GraphQL](https://graphql.org/)
99
- [@video@Tutorial - GraphQL Explained in 100 Seconds](https://www.youtube.com/watch?v=eIQh02xuVw4)
1010
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)

src/data/roadmaps/backend/content/internet@SiYUdtYMDImRPmV2_XPkH.md

-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,3 @@ Visit the following resources to learn more:
1010
- [@roadmap.sh@Introduction to Internet](/guides/what-is-internet)
1111
- [@video@How does the Internet work?](https://www.youtube.com/watch?v=x3c1ih2NJEg)
1212
- [@video@How does the internet work? (Full Course)](https://www.youtube.com/watch?v=zN8YNNHcaZc)
13-

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ JSON or JavaScript Object Notation is an encoding scheme that is designed to eli
44

55
Visit the following resources to learn more:
66

7-
- [@official@Official Website](https://jsonapi.org/)
7+
- [@official@JSON API](https://jsonapi.org/)
88
- [@article@What is JSON API?](https://medium.com/@niranjan.cs/what-is-json-api-3b824fba2788)
99
- [@video@JSON API: Explained in 4 minutes](https://www.youtube.com/watch?v=N-4prIh7t38)

src/data/roadmaps/backend/content/[email protected]

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Apache Kafka is a distributed event streaming platform designed for high-through
44

55
Visit the following resources to learn more:
66

7-
- [@official@Apache Kafka quickstart](https://kafka.apache.org/quickstart)
7+
- [@official@Apache Kafka](https://kafka.apache.org/quickstart)
88
- [@video@Apache Kafka Fundamentals](https://www.youtube.com/watch?v=B5j3uNBH8X4)
99
- [@video@Kafka in 100 Seconds](https://www.youtube.com/watch?v=uvb00oaa3k8)
1010
- [@feed@Explore top posts about Kafka](https://app.daily.dev/tags/kafka?ref=roadmapsh)

0 commit comments

Comments
 (0)