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/bcrypt@dlG1bVkDmjI3PEGpkm1xH.md

Co-authored-by: dsh <daniel.s.holdsworth@gmail.com>

* Update src/data/roadmaps/backend/content/caddy@Op-PSPNoyj6Ss9CS09AXh.md

Co-authored-by: dsh <daniel.s.holdsworth@gmail.com>

* Update src/data/roadmaps/backend/content/loadshifting@HoQdX7a4SnkFRU4RPQ-D5.md

Co-authored-by: dsh <daniel.s.holdsworth@gmail.com>

* Update src/data/roadmaps/backend/content/ms-sql@dEsTje8kfHwWjCI3zcgLC.md

Co-authored-by: dsh <daniel.s.holdsworth@gmail.com>

* Update src/data/roadmaps/backend/content/open-api-specs@9cD5ag1L0GqHx4_zxc5JX.md

Co-authored-by: dsh <daniel.s.holdsworth@gmail.com>

* Update twelve-factor-apps@8DmabQJXlrT__COZrDVTV.md


Co-authored-by: dsh <daniel.s.holdsworth@gmail.com>

---------

Co-authored-by: dsh <daniel.s.holdsworth@gmail.com>
pull/7289/head
Vedansh 2 weeks ago committed by GitHub
parent 6b118d14d3
commit 47936801fd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      src/data/roadmaps/backend/content/architectural-patterns@tHiUpG9LN35E5RaHddMv5.md
  2. 2
      src/data/roadmaps/backend/content/aws-neptune@5xy66yQrz1P1w7n6PcAFq.md
  3. 2
      src/data/roadmaps/backend/content/backpressure@JansCqGDyXecQkD1K7E7e.md
  4. 2
      src/data/roadmaps/backend/content/base@QZwTLOvjUTaSb_9deuxsR.md
  5. 2
      src/data/roadmaps/backend/content/bcrypt@dlG1bVkDmjI3PEGpkm1xH.md
  6. 2
      src/data/roadmaps/backend/content/bitbucket@Ry_5Y-BK7HrkIc6X0JG1m.md
  7. 2
      src/data/roadmaps/backend/content/browsers-and-how-they-work@P82WFaTPgQEPNp5IIuZ1Y.md
  8. 5
      src/data/roadmaps/backend/content/caching@ELj8af7Mi38kUbaPJfCUR.md
  9. 2
      src/data/roadmaps/backend/content/caddy@Op-PSPNoyj6Ss9CS09AXh.md
  10. 2
      src/data/roadmaps/backend/content/cdn@Nq2BO53bHJdFT1rGZPjYx.md
  11. 4
      src/data/roadmaps/backend/content/ci--cd@mGfD7HfuP184lFkXZzGjG.md
  12. 2
      src/data/roadmaps/backend/content/client-side@KWTbEVX_WxS8jmSaAX3Fe.md
  13. 2
      src/data/roadmaps/backend/content/data-replication@wrl7HHWXOaxoKVlNZxZ6d.md
  14. 25
      src/data/roadmaps/backend/content/design-and-development-principles@9Fpoor-Os_9lvrwu5Zjh-.md
  15. 2
      src/data/roadmaps/backend/content/dns-and-how-it-works@hkxw9jPGYphmjhTjw8766.md
  16. 4
      src/data/roadmaps/backend/content/dynamodb@dwfEHInbX2eFiafM-nRMX.md
  17. 3
      src/data/roadmaps/backend/content/failure-modes@GwApfL4Yx-b5Y8dB9Vy__.md
  18. 4
      src/data/roadmaps/backend/content/firebase@RyJFLLGieJ8Xjt-DlIayM.md
  19. 2
      src/data/roadmaps/backend/content/git@_I1E__wCIVrhjMk6IMieE.md
  20. 2
      src/data/roadmaps/backend/content/github@ptD8EVqwFUYr4W5A_tABY.md
  21. 4
      src/data/roadmaps/backend/content/gitlab@Wcp-VDdFHipwa7hNAp1z_.md
  22. 2
      src/data/roadmaps/backend/content/graphql@zp3bq38tMnutT2N0tktOW.md
  23. 1
      src/data/roadmaps/backend/content/internet@SiYUdtYMDImRPmV2_XPkH.md
  24. 2
      src/data/roadmaps/backend/content/json-apis@sNceS4MpSIjRkWhNDmrFg.md
  25. 2
      src/data/roadmaps/backend/content/kafka@VoYSis1F1ZfTxMlQlXQKB.md
  26. 2
      src/data/roadmaps/backend/content/learn-about-apis@EwvLPSI6AlZ4TnNIJTZA4.md
  27. 4
      src/data/roadmaps/backend/content/lxc@31ZlpfIPr9-5vYZqvjUeL.md
  28. 4
      src/data/roadmaps/backend/content/mariadb@tD3i-8gBpMKCHB-ITyDiU.md
  29. 2
      src/data/roadmaps/backend/content/memcached@xPvVwGQw28uMeLYIWn8yn.md
  30. 2
      src/data/roadmaps/backend/content/migration-strategies@f7iWBkC0X7yyCoP_YubVd.md
  31. 4
      src/data/roadmaps/backend/content/migrations@ZsZvStCvKwFhlBYe9HGhl.md
  32. 4
      src/data/roadmaps/backend/content/monitoring@QvMEEsXh0-rzn5hDGcmEv.md
  33. 2
      src/data/roadmaps/backend/content/monolithic-apps@Ke522R-4k6TDeiDRyZbbU.md
  34. 2
      src/data/roadmaps/backend/content/ms-iis@0NJDgfe6eMa7qPUOI6Eya.md
  35. 2
      src/data/roadmaps/backend/content/ms-sql@dEsTje8kfHwWjCI3zcgLC.md
  36. 4
      src/data/roadmaps/backend/content/mysql@VPxOdjJtKAqmM5V0LR5OC.md
  37. 2
      src/data/roadmaps/backend/content/nginx@z5AdThp9ByulmM9uekgm-.md
  38. 4
      src/data/roadmaps/backend/content/open-api-specs@9cD5ag1L0GqHx4_zxc5JX.md
  39. 2
      src/data/roadmaps/backend/content/openid@z3EJBpgGm0_Uj3ymhypbX.md
  40. 4
      src/data/roadmaps/backend/content/oracle@h1SAjQltHtztSt8QmRgab.md
  41. 2
      src/data/roadmaps/backend/content/profiling-perfor@SYXJhanu0lFmGj2m2XXhS.md
  42. 5
      src/data/roadmaps/backend/content/real-time-data@5XGvep2qoti31bsyqNzrU.md
  43. 2
      src/data/roadmaps/backend/content/rethinkdb@5T0ljwlHL0545ICCeehcQ.md
  44. 2
      src/data/roadmaps/backend/content/rust@CWwh2abwqx4hAxpAGvhIx.md
  45. 4
      src/data/roadmaps/backend/content/saml@UCHtaePVxS-0kpqlYxbfC.md
  46. 2
      src/data/roadmaps/backend/content/scrypt@kGTALrvCpxyVCXHRmkI7s.md
  47. 4
      src/data/roadmaps/backend/content/search-engines@gKTSe9yQFVbPVlLzWB0hC.md
  48. 4
      src/data/roadmaps/backend/content/server-security@TZ0BWOENPv6pQm8qYB8Ow.md
  49. 2
      src/data/roadmaps/backend/content/server-sent-events@RUSdlokJUcEYbCvq5FJBJ.md
  50. 4
      src/data/roadmaps/backend/content/short-polling@Tt7yr-ChHncJG0Ge1f0Xk.md
  51. 6
      src/data/roadmaps/backend/content/solr@iN_1EuIwCx_7lRBw1Io4U.md
  52. 2
      src/data/roadmaps/backend/content/sqlite@kdulE3Z_BdbtRmq6T2KmR.md
  53. 2
      src/data/roadmaps/backend/content/telemetry@neVRtPjIHP_VG7lHwfah0.md
  54. 2
      src/data/roadmaps/backend/content/timescale@WiAK70I0z-_bzbWNwiHUd.md
  55. 2
      src/data/roadmaps/backend/content/twelve-factor-apps@8DmabQJXlrT__COZrDVTV.md
  56. 2
      src/data/roadmaps/backend/content/types-of-scaling@osQlGGy38xMcKLtgZtWaZ.md
  57. 2
      src/data/roadmaps/backend/content/version-control-systems@ezdqQW9wTUw93F6kjOzku.md
  58. 2
      src/data/roadmaps/backend/content/what-is-domain-name@ZhSuu2VArnzPDp6dPQQSC.md
  59. 2
      src/data/roadmaps/backend/content/what-is-hosting@aqMaEY8gkKMikiqleV5EP.md

@ -3,5 +3,6 @@
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.
Visit the following resources to learn more:
- [@article@14 Architectural Patterns to know](https://www.redhat.com/architect/14-software-architecture-patterns)
- [@article@Architectural Patterns in a nutshell](https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013)

@ -6,4 +6,4 @@ Learn more from the following resources:
- [@official@AWS Neptune Website](https://aws.amazon.com/neptune/)
- [@video@Getting Started with Neptune Serverless](https://www.youtube.com/watch?v=b04-jjM9t4g)
- [@article@Setting Up Amazon Neptune Graph Database](https://cliffordedsouza.medium.com/setting-up-amazon-neptune-graph-database-2b73512a7388)
- [@article@Setting Up Amazon Neptune Graph Database](https://cliffordedsouza.medium.com/setting-up-amazon-neptune-graph-database-2b73512a7388)

@ -5,5 +5,5 @@ Back pressure is a flow control mechanism in systems processing asynchronous dat
Visit the following resources to learn more:
- [@article@Awesome Architecture: Backpressure](https://awesome-architecture.com/back-pressure/)
- [@article@Backpressure explained — the resisted flow of data through software](https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7)
- [@article@Backpressure explained — The Resisted Flow of Data through Software](https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7)
- [@video@What is Back Pressure](https://www.youtube.com/watch?v=viTGm_cV7lE)

@ -4,4 +4,4 @@ Oracle Base Database Service enables you to maintain absolute control over your
Learn more from the following resources:
- [@official@Base Database Website](https://docs.oracle.com/en-us/iaas/base-database/index.html)
- [@official@Base Database Website](https://docs.oracle.com/en-us/iaas/base-database/index.html)

@ -4,6 +4,6 @@ Bcrypt is a password-hashing function designed to securely hash passwords for st
Visit the following resources to learn more:
- [@article@bcrypts npm package](https://www.npmjs.com/package/bcrypt)
- [@opensource@bcrypt](https://www.npmjs.com/package/bcrypt)
- [@article@Understanding bcrypt](https://auth0.com/blog/hashing-in-action-understanding-bcrypt/)
- [@video@bcrypt explained](https://www.youtube.com/watch?v=AzA_LTDoFqY)

@ -1,6 +1,6 @@
# Bitbucket
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.
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.
Visit the following resources to learn more:

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

@ -1,3 +1,8 @@
# Caching
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.
Visit the following resources to learn more:
- [@article@What is Caching - AWS](https://aws.amazon.com/caching/)
- [@article@Caching - Cloudflare](https://www.cloudflare.com/learning/cdn/what-is-caching/)

@ -5,5 +5,5 @@ Caddy is a modern, open-source web server written in Go. It's known for its simp
Visit the following resources to learn more:
- [@official@Official Website](https://caddyserver.com/)
- [@opensource@caddyserver/caddy](https://github.com/caddyserver/caddy)
- [@opensource@caddyserver/caddy - Caddy on GitHub](https://github.com/caddyserver/caddy)
- [@video@How to Make a Simple Caddy 2 Website](https://www.youtube.com/watch?v=WgUV_BlHvj0)

@ -1,10 +1,12 @@
# CDN (Content Delivery Network)
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.
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
Visit the following resources to learn more:
- [@article@CloudFlare - What is a CDN? | How do CDNs work?](https://www.cloudflare.com/en-ca/learning/cdn/what-is-a-cdn/)
- [@article@AWS - CDN](https://aws.amazon.com/what-is/cdn/)
- [@video@What is Cloud CDN?](https://www.youtube.com/watch?v=841kyd_mfH0)
- [@video@What is a CDN and how does it work?](https://www.youtube.com/watch?v=RI9np1LWzqw)

@ -4,9 +4,9 @@ CI/CD (Continuous Integration/Continuous Delivery) is a set of practices and too
Visit the following resources to learn more:
- [@video@DevOps CI/CD Explained in 100 Seconds by Fireship](https://www.youtube.com/watch?v=scEDHsr3APg)
- [@video@Automate your Workflows with GitHub Actions](https://www.youtube.com/watch?v=nyKZTKQS_EQ)
- [@article@What is CI/CD?](https://about.gitlab.com/topics/ci-cd/)
- [@article@A Primer: Continuous Integration and Continuous Delivery (CI/CD)](https://thenewstack.io/a-primer-continuous-integration-and-continuous-delivery-ci-cd/)
- [@video@DevOps CI/CD Explained in 100 Seconds](https://www.youtube.com/watch?v=scEDHsr3APg)
- [@video@Automate your Workflows with GitHub Actions](https://www.youtube.com/watch?v=nyKZTKQS_EQ)
- [@article@Articles about CI/CD](https://thenewstack.io/category/ci-cd/)
- [@feed@Explore top posts about CI/CD](https://app.daily.dev/tags/cicd?ref=roadmapsh)

@ -4,5 +4,5 @@ Client-side caching is a technique where web browsers or applications store data
Visit the following resources to learn more:
- [@article@Client Side Caching](https://redis.io/docs/latest/develop/use/client-side-caching/)
- [@video@Everything you need to know about HTTP Caching](https://www.youtube.com/watch?v=HiBDZgTNpXY)
- [@article@Client-side Caching](https://redis.io/docs/latest/develop/use/client-side-caching/)

@ -4,5 +4,5 @@ Data replication is the process of creating and maintaining multiple copies of t
Visit the following resources to learn more:
- [@article@What is data replication?](https://www.ibm.com/topics/data-replication)
- [@article@Data Replication? - IBM](https://www.ibm.com/topics/data-replication)
- [@video@What is Data Replication?](https://www.youtube.com/watch?v=iO8a1nMbL1o)

@ -2,15 +2,18 @@
Design and Development Principles are fundamental guidelines that inform the creation of software systems. Key principles include:
1. SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion)
2. DRY (Don't Repeat Yourself)
3. KISS (Keep It Simple, Stupid)
4. YAGNI (You Aren't Gonna Need It)
5. Separation of Concerns
6. Modularity
7. Encapsulation
8. Composition over Inheritance
9. Loose Coupling and High Cohesion
10. Principle of Least Astonishment
- SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion)
- DRY (Don't Repeat Yourself)
- KISS (Keep It Simple, Stupid)
- YAGNI (You Aren't Gonna Need It)
- Separation of Concerns
- Modularity
- Encapsulation
- Composition over Inheritance
- Loose Coupling and High Cohesion
- Principle of Least Astonishment
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.
Visit the following resources to learn more:
- [@article@Design Principles - Wikipedia](https://en.wikipedia.org/wiki/Design_principles)
- [@article@Design Principles - Microsoft](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/index)

@ -1,6 +1,6 @@
# DNS
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.
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.
Visit the following resources to learn more:

@ -4,6 +4,6 @@ Amazon DynamoDB is a fully managed, serverless NoSQL database service provided b
Learn more from the following resources:
- [@official@AWS DynamoDB Website](https://aws.amazon.com/dynamodb/)
- [@official@AWS DynamoDB](https://aws.amazon.com/dynamodb/)
- [@video@AWS DynamoDB Tutorial For Beginners](https://www.youtube.com/watch?v=2k2GINpO308)
- [@feed@daily.dev AWS DynamoDB Feed](https://app.daily.dev/tags/aws-dynamodb)
- [@feed@daily.dev AWS DynamoDB Feed](https://app.daily.dev/tags/aws-dynamodb)

@ -2,3 +2,6 @@
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.
Visit the following resources to learn more:
- [@article@Database Failure Modes](https://ieeexplore.ieee.org/document/7107294/)

@ -1,9 +1,9 @@
# Firebase
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.
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.
Learn more from the following resources:
- [@official@Firebase Website](https://firebase.google.com/)
- [@video@Firebase in 100 seconds](https://www.youtube.com/watch?v=vAoB4VbhRzM)
- [@course@The ultimate guide to Firebase](https://fireship.io/lessons/the-ultimate-beginners-guide-to-firebase/)
- [@course@The Ultimate Guide to Firebase](https://fireship.io/lessons/the-ultimate-beginners-guide-to-firebase/)

@ -5,8 +5,8 @@ Git is a distributed version control system designed to handle projects of any s
Visit the following resources to learn more:
- [@roadmap@Learn Git & GitHub](https://roadmap.sh/git-github)
- [@official@Git Documentation](https://git-scm.com/doc)
- [@video@Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc)
- [@article@Learn Git with Tutorials, News and Tips - Atlassian](https://www.atlassian.com/git)
- [@article@Git Cheat Sheet](https://cs.fyi/guide/git-cheatsheet)
- [@article@Learn Git Branching](https://learngitbranching.js.org/)
- [@feed@Explore top posts about Git](https://app.daily.dev/tags/git?ref=roadmapsh)

@ -5,7 +5,7 @@ GitHub is a web-based platform for version control and collaboration using Git.
Visit the following resources to learn more:
- [@roadmap@Learn Git & GitHub](https://roadmap.sh/git-github)
- [@official@GitHub Website](https://github.com)
- [@official@GitHub](https://github.com)
- [@video@What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E)
- [@video@Git vs. GitHub: Whats the difference?](https://www.youtube.com/watch?v=wpISo9TNjfU)
- [@video@Git and GitHub for Beginners](https://www.youtube.com/watch?v=RGOj5yH7evk)

@ -4,7 +4,7 @@ GitLab is a web-based DevOps platform that provides a complete solution for the
Visit the following resources to learn more:
- [@opensource@GitLab Website](https://gitlab.com/)
- [@article@GitLab Documentation](https://docs.gitlab.com/)
- [@official@GitLab](https://gitlab.com/)
- [@official@GitLab Documentation](https://docs.gitlab.com/)
- [@video@What is Gitlab and Why Use It?](https://www.youtube.com/watch?v=bnF7f1zGpo4)
- [@feed@Explore top posts about GitLab](https://app.daily.dev/tags/gitlab?ref=roadmapsh)

@ -5,6 +5,6 @@ GraphQL is a query language for APIs and a runtime for executing those queries,
Visit the following resources to learn more:
- [@roadmap@GraphQL Roadmap](https://roadmap.sh/graphql)
- [@official@GraphQL Official Website](https://graphql.org/)
- [@official@GraphQL](https://graphql.org/)
- [@video@Tutorial - GraphQL Explained in 100 Seconds](https://www.youtube.com/watch?v=eIQh02xuVw4)
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)

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

@ -4,6 +4,6 @@ JSON or JavaScript Object Notation is an encoding scheme that is designed to eli
Visit the following resources to learn more:
- [@official@Official Website](https://jsonapi.org/)
- [@official@JSON API](https://jsonapi.org/)
- [@article@What is JSON API?](https://medium.com/@niranjan.cs/what-is-json-api-3b824fba2788)
- [@video@JSON API: Explained in 4 minutes](https://www.youtube.com/watch?v=N-4prIh7t38)

@ -4,7 +4,7 @@ Apache Kafka is a distributed event streaming platform designed for high-through
Visit the following resources to learn more:
- [@official@Apache Kafka quickstart](https://kafka.apache.org/quickstart)
- [@official@Apache Kafka](https://kafka.apache.org/quickstart)
- [@video@Apache Kafka Fundamentals](https://www.youtube.com/watch?v=B5j3uNBH8X4)
- [@video@Kafka in 100 Seconds](https://www.youtube.com/watch?v=uvb00oaa3k8)
- [@feed@Explore top posts about Kafka](https://app.daily.dev/tags/kafka?ref=roadmapsh)

@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@What is an API?](https://aws.amazon.com/what-is/api/)
- [@video@What is an API (in 5 minutes)](https://www.youtube.com/watch?v=ByGJQzlzxQg)
- [@feed@daily.dev API Feed](https://app.daily.dev/tags/rest-api)
- [@feed@daily.dev API Feed](https://app.daily.dev/tags/rest-api)

@ -6,5 +6,5 @@ Visit the following resources to learn more:
- [@official@LXC Documentation](https://linuxcontainers.org/lxc/documentation/)
- [@article@What is LXC?](https://linuxcontainers.org/lxc/introduction/)
- [@video@Getting started with LXD Containerization](https://www.youtube.com/watch?v=aIwgPKkVj8s)
- [@video@Getting started with LXC containers](https://youtu.be/CWmkSj_B-wo)
- [@video@Getting Started with LXD Containerization](https://www.youtube.com/watch?v=aIwgPKkVj8s)
- [@video@Getting Started with LXC containers](https://youtu.be/CWmkSj_B-wo)

@ -1,10 +1,10 @@
# MariaDB
MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB was created with the intention of being a more versatile, drop-in replacement version of MySQL
MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most feature rich, stable, and sanely licensed open SQL server in the industry. MariaDB was created with the intention of being a more versatile, drop-in replacement version of MySQL
Visit the following resources to learn more:
- [@official@MariaDB website](https://mariadb.org/)
- [@official@MariaDB](https://mariadb.org/)
- [@article@MariaDB vs MySQL](https://www.guru99.com/mariadb-vs-mysql.html)
- [@video@MariaDB Tutorial For Beginners in One Hour](https://www.youtube.com/watch?v=_AMj02sANpI)
- [@feed@Explore top posts about Infrastructure](https://app.daily.dev/tags/infrastructure?ref=roadmapsh)

@ -2,8 +2,6 @@
Memcached (pronounced variously mem-cash-dee or mem-cashed) is a general-purpose distributed memory-caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source (such as a database or API) must be read. Memcached is free and open-source software, licensed under the Revised BSD license. Memcached runs on Unix-like operating systems (Linux and macOS) and on Microsoft Windows. It depends on the `libevent` library. Memcached's APIs provide a very large hash table distributed across multiple machines. When the table is full, subsequent inserts cause older data to be purged in the least recently used (LRU) order. Applications using Memcached typically layer requests and additions into RAM before falling back on a slower backing store, such as a database.
Memcached has no internal mechanism to track misses which may happen. However, some third-party utilities provide this functionality.
Visit the following resources to learn more:
- [@opensource@memcached/memcached](https://github.com/memcached/memcached#readme)

@ -9,8 +9,6 @@ Migration strategies involve planning and executing the transition of applicatio
5. **Retain**: Keeping certain applications or systems in their current environment due to specific constraints or requirements.
6. **Retire**: Decommissioning applications that are no longer needed or are redundant.
Each strategy has its own trade-offs in terms of cost, complexity, and benefits, and the choice depends on factors like the application’s architecture, business needs, and resource availability.
Visit the following resources to learn more:
- [@article@Databases as a Challenge for Continuous Delivery](https://phauer.com/2015/databases-challenge-continuous-delivery/)

@ -4,5 +4,5 @@ Database migrations are a version-controlled way to manage and apply incremental
Learn more from the following resources:
- [@article@What are database migrations?](https://www.prisma.io/dataguide/types/relational/what-are-database-migrations)
- [@video@Database Migrations for Beginners](https://www.youtube.com/watch?v=dJDBP7pPA-o)
- [@article@What are Database Migrations?](https://www.prisma.io/dataguide/types/relational/what-are-database-migrations)
- [@video@Database Migrations for Beginners](https://www.youtube.com/watch?v=dJDBP7pPA-o)

@ -4,6 +4,6 @@ Monitoring involves continuously observing and tracking the performance, availab
A few popular tools are Grafana, Sentry, Mixpanel, NewRelic.
- [@article@Top monitoring tools 2024](https://thectoclub.com/tools/best-application-monitoring-software/)
- [@article@Top Monitoring Tools](https://thectoclub.com/tools/best-application-monitoring-software/)
- [@video@Grafana Explained in 5 Minutes](https://www.youtube.com/watch?v=lILY8eSspEo)
- [@feed@daily.dev Monitoring Feed](https://app.daily.dev/tags/monitoring)
- [@feed@daily.dev Monitoring Feed](https://app.daily.dev/tags/monitoring)

@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@Pattern: Monolithic Architecture](https://microservices.io/patterns/monolithic.html)
- [@article@Monolithic Architecture - Advantages & Disadvantages](https://datamify.medium.com/monolithic-architecture-advantages-and-disadvantages-e71a603eec89)
- [@video@Monolithic vs Microservice Architecture](https://www.youtube.com/watch?v=NdeTGlZ__Do)
- [@video@Monolithic vs Microservice Architecture](https://www.youtube.com/watch?v=NdeTGlZ__Do)

@ -4,7 +4,7 @@ Microsoft Internet Information Services (IIS) is a flexible, secure, and high-pe
Visit the following resources to learn more:
- [@official@Official Website](https://www.iis.net/)
- [@official@Microsoft -IIS](https://www.iis.net/)
- [@video@Learn Windows Web Server IIS](https://www.youtube.com/watch?v=1VdxPWwtISA)
- [@video@What is IIS?](https://www.youtube.com/watch?v=hPWSqEXOjQY)
- [@feed@Explore top posts about .NET](https://app.daily.dev/tags/.net?ref=roadmapsh)

@ -5,6 +5,6 @@ Microsoft SQL Server (MS SQL) is a relational database management system develop
Visit the following resources to learn more:
- [@roadmap@SQL Roadmap](https://roadmap.sh/sql)
- [@article@MS SQL website](https://www.microsoft.com/en-ca/sql-server/)
- [@official@MS SQL](https://www.microsoft.com/en-ca/sql-server/)
- [@article@Tutorials for SQL Server](https://docs.microsoft.com/en-us/sql/sql-server/tutorials-for-sql-server-2016?view=sql-server-ver15)
- [@video@SQL Server tutorial for beginners](https://www.youtube.com/watch?v=-EPMOaV7h_Q)

@ -4,8 +4,8 @@ MySQL is an open-source relational database management system (RDBMS) known for
Visit the following resources to learn more:
- [@official@MySQL website](https://www.mysql.com/)
- [@article@W3Schools - MySQL tutorial ](https://www.w3schools.com/mySQl/default.asp)
- [@official@MySQL](https://www.mysql.com/)
- [@article@W3Schools - MySQL Tutorial](https://www.w3schools.com/mySQl/default.asp)
- [@article@MySQL for Developers](https://planetscale.com/courses/mysql-for-developers/introduction/course-introduction)
- [@article@MySQL Tutorial](https://www.mysqltutorial.org/)
- [@video@MySQL Full Course for free](https://www.youtube.com/watch?v=5OdVJbNCSso)

@ -4,7 +4,7 @@ Nginx is a high-performance, open-source web server and reverse proxy server kno
Visit the following resources to learn more:
- [@official@Official Website](https://nginx.org/)
- [@official@Nginx Website](https://nginx.org/)
- [@video@NGINX Explained in 100 Seconds](https://www.youtube.com/watch?v=JKxlsvZXG7c)
- [@video@NGINX Tutorial for Beginners](https://www.youtube.com/watch?v=9t9Mp0BGnyI)
- [@feed@Explore top posts about Nginx](https://app.daily.dev/tags/nginx?ref=roadmapsh)

@ -1,4 +1,4 @@
# Open api spec
# Open API Spec
The OpenAPI Specification (OAS), formerly known as Swagger, is a standard for defining and documenting RESTful APIs. It provides a structured format in YAML or JSON to describe API endpoints, request and response formats, authentication methods, and other metadata. By using OAS, developers can create a comprehensive and machine-readable API description that facilitates client generation, automated documentation, and testing. This specification promotes consistency and clarity in API design, enhances interoperability between different systems, and enables tools to generate client libraries, server stubs, and interactive API documentation.
@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@official@OpenAPI Specification Website](https://swagger.io/specification/)
- [@official@Open API Live Editor](https://swagger.io/tools/swagger-editor/)
- [@video@OpenAPI 3.0: How to Design and Document APIs with the Latest OpenAPI Specification 3.0](https://www.youtube.com/watch?v=6kwmW_p_Tig)
- [@vidoe@ REST API and OpenAPI: It’s Not an Either/Or Question ](https://www.youtube.com/watch?v=pRS9LRBgjYg)
- [@video@ REST API and OpenAPI: It’s Not an Either/Or Question](https://www.youtube.com/watch?v=pRS9LRBgjYg)

@ -4,7 +4,7 @@ OpenID is an open standard for decentralized authentication that allows users to
Visit the following resources to learn more:
- [@official@Official Website](https://openid.net/)
- [@official@OpenID Website](https://openid.net/)
- [@article@OpenID Connect Protocol](https://auth0.com/docs/authenticate/protocols/openid-connect-protocol)
- [@video@An Illustrated Guide to OAuth and OpenID Connect](https://www.youtube.com/watch?v=t18YB3xDfXI)
- [@video@OAuth 2.0 and OpenID Connect (in plain English)](https://www.youtube.com/watch?v=996OiexHze0)

@ -4,7 +4,7 @@ Oracle Database is a highly robust, enterprise-grade relational database managem
Visit the following resources to learn more:
- [@official@Official Website](https://www.oracle.com/database/)
- [@article@Official Docs](https://docs.oracle.com/en/database/index.html)
- [@official@Oracle Website](https://www.oracle.com/database/)
- [@official@Oracle Docs](https://docs.oracle.com/en/database/index.html)
- [@video@Oracle SQL Tutorial for Beginners](https://www.youtube.com/watch?v=ObbNGhcxXJA)
- [@feed@Explore top posts about Oracle](https://app.daily.dev/tags/oracle?ref=roadmapsh)

@ -4,5 +4,5 @@ Profiling performance involves analyzing a system or application's behavior to i
Learn more from the following resources:
- [@video@Performance Profiling](https://www.youtube.com/watch?v=MaauQTeGg2k)
- [@article@How to Profile SQL Queries for Better Performance](https://servebolt.com/articles/profiling-sql-queries/)
- [@video@Performance Profiling](https://www.youtube.com/watch?v=MaauQTeGg2k)

@ -3,5 +3,6 @@
Real-time data refers to information that is processed and made available immediately or with minimal delay, allowing users or systems to react promptly to current conditions. This type of data is essential in applications requiring immediate updates and responses, such as financial trading platforms, online gaming, real-time analytics, and monitoring systems. Real-time data processing involves capturing, analyzing, and delivering information as it is generated, often using technologies like stream processing frameworks (e.g., Apache Kafka, Apache Flink) and low-latency databases. Effective real-time data systems can handle high-speed data flows, ensuring timely and accurate decision-making.
Learn more from the following resources:
- [@article@Real-time data - Wiki](https://en.wikipedia.org/wiki/Real-time_data)
- [@article@What is Real-time Data?](https://www.qlik.com/us/streaming-data/real-time-data)
- [@article@Real-time Data - Wiki](https://en.wikipedia.org/wiki/Real-time_data)
- [@article@What is Real-time Data?](https://www.qlik.com/us/streaming-data/real-time-data)

@ -5,4 +5,4 @@ RethinkDB is an open-source, distributed NoSQL database designed for real-time a
Learn more from the following resources:
- [@official@RethinkDB Website](https://rethinkdb.com/)
- [@course@RethinkDB Crash Course](https://www.youtube.com/watch?v=pW3PFtchHDc)
- [@course@RethinkDB Crash Course](https://www.youtube.com/watch?v=pW3PFtchHDc)

@ -4,7 +4,7 @@ Rust is a systems programming language known for its focus on safety, performanc
Visit the following resources to learn more:
- [@official@The Rust Programming Language - online book](https://doc.rust-lang.org/book/)
- [@official@The Rust Programming Language - Book](https://doc.rust-lang.org/book/)
- [@article@Rust vs. Go: Why They’re Better Together](https://thenewstack.io/rust-vs-go-why-theyre-better-together/)
- [@article@Rust by the Numbers: The Rust Programming Language in 2021](https://thenewstack.io/rust-by-the-numbers-the-rust-programming-language-in-2021/)
- [@video@Learn Rust Programming](https://www.youtube.com/watch?v=BpPEoZW5IiY)

@ -1,8 +1,8 @@
## Security Assertion Markup Language (SAML)
# Security Assertion Markup Language (SAML)
Security Assertion Markup Language (SAML) is an XML-based framework used for single sign-on (SSO) and identity federation, enabling users to authenticate once and gain access to multiple applications or services. It allows for the exchange of authentication and authorization data between an identity provider (IdP) and a service provider (SP). SAML assertions are XML documents that contain user identity information and attributes, and are used to convey authentication credentials and permissions. By implementing SAML, organizations can streamline user management, enhance security through centralized authentication, and simplify the user experience by reducing the need for multiple logins across different systems.
Learn more from the following resources:
- [@video@How SAML Authentication Works](https://www.youtube.com/watch?v=VzRnb9u8T1A)
- [@article@SAML Explained in Plain English](https://www.onelogin.com/learn/saml)
- [@article@SAML Explained in Plain English](https://www.onelogin.com/learn/saml)

@ -5,4 +5,4 @@ scrypt is a key derivation function designed to be computationally intensive and
Visit the following resources to learn more:
- [@official@sCrypt Website](https://scrypt.io/)
- [@article@sCrypt: A Beginner’s Guide](https://medium.com/@yusufedresmaina/scrypt-a-beginners-guide-cf1aecf8b010)
- [@article@sCrypt: A Beginner’s Guide](https://medium.com/@yusufedresmaina/scrypt-a-beginners-guide-cf1aecf8b010)

@ -8,4 +8,6 @@ Search engines like Elasticsearch are specialized tools designed for fast, scala
4. **Powerful Query DSL**: A domain-specific language for constructing and executing sophisticated queries.
5. **Analytics**: Capabilities for aggregating and analyzing data, often used for log and event data analysis.
Elasticsearch is commonly used in applications requiring advanced search functionality, such as search engines, data analytics platforms, and real-time monitoring systems.
Visit the following resources to learn more:
- [@official@Elasticsearch](https://www.elastic.co/elasticsearch/)

@ -10,9 +10,7 @@ Server security involves protecting servers from threats and vulnerabilities to
6. **Regular Backups**: Performing regular backups to ensure data can be restored in case of loss or corruption.
7. **Monitoring and Logging**: Continuously monitoring server activity and maintaining logs for auditing and detecting potential security incidents.
Effective server security is crucial for safeguarding against attacks, maintaining system stability, and protecting sensitive data.
Learn more from the following resources:
- [@video@10 Tips for Hardening your Linux Servers](https://www.youtube.com/watch?v=Jnxx_IAC0G4)
- [@article@What is a hardened server?](https://www.sophos.com/en-us/cybersecurity-explained/what-is-server-hardening)
- [@article@What is a hardened server?](https://www.sophos.com/en-us/cybersecurity-explained/what-is-server-hardening)

@ -4,5 +4,5 @@ Server-Sent Events (SSE) is a technology for sending real-time updates from a se
Visit the following resources to learn more:
- [@article@Server-Sent Events - MDN](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events)
- [@article@Server Sent Events - MDN](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events)
- [@video@Server-Sent Events | Postman Level Up](https://www.youtube.com/watch?v=KrE044J8jEQ&t=1s)

@ -4,5 +4,5 @@ Short polling is a technique where a client periodically sends requests to a ser
Learn more from the following resources:
- [@article@Amazon SQS short and long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html)
- [@video@Short Polling vs Long Polling vs WebSockets](https://www.youtube.com/watch?v=ZBM28ZPlin8)
- [@article@Amazon SQS Short and Long Polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html)
- [@video@Short Polling vs Long Polling vs WebSockets](https://www.youtube.com/watch?v=ZBM28ZPlin8)

@ -4,7 +4,7 @@ Solr is an open-source, highly scalable search platform built on Apache Lucene,
Visit the following resources to learn more:
- [@article@Official Website](https://solr.apache.org/)
- [@article@Official Documentation](https://solr.apache.org/resources.html#documentation)
- [@opensource@apache/solr](https://github.com/apache/solr)
- [@article@Solr Website](https://solr.apache.org/)
- [@article@Solr Documentation](https://solr.apache.org/resources.html#documentation)
- [@opensource@Solr on Github](https://github.com/apache/solr)
- [@video@Apache Solr vs Elasticsearch Differences](https://www.youtube.com/watch?v=MMWBdSdbu5k)

@ -4,7 +4,7 @@ SQLite is a lightweight, serverless, self-contained SQL database engine that is
Visit the following resources to learn more:
- [@official@SQLite website](https://www.sqlite.org/index.html)
- [@official@SQLite](https://www.sqlite.org/index.html)
- [@article@SQLite Tutorial](https://www.sqlitetutorial.net/)
- [@video@SQLite Introduction](https://www.youtube.com/watch?v=8Xyn8R9eKB8)
- [@feed@Explore top posts about SQLite](https://app.daily.dev/tags/sqlite?ref=roadmapsh)

@ -6,4 +6,4 @@ Learn more from the following resources:
- [@article@What is telemetry and how does it work?](https://www.techtarget.com/whatis/definition/telemetry)
- [@course@OpenTelemetry Course - Understand Software Performance](https://www.youtube.com/watch?v=r8UvWSX3KA8)
- [@feed@daily.dev OpenTelemetry feed](https://app.daily.dev/tags/opentelemetry)
- [@feed@daily.dev OpenTelemetry feed](https://app.daily.dev/tags/opentelemetry)

@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Timescale Website](https://www.timescale.com/)
- [@video@Tutorial - TimeScaleDB Explained in 100 Seconds](https://www.youtube.com/watch?v=69Tzh_0lHJ8)
- [@video@What is time series data?](https://www.youtube.com/watch?v=Se5ipte9DMY)
- [@video@What is Time Series Data?](https://www.youtube.com/watch?v=Se5ipte9DMY)

@ -15,8 +15,6 @@ The Twelve-Factor App methodology is a set of principles for building modern, sc
11. **Logs**: Treat logs as streams of events.
12. **Admin Processes**: Run administrative or management tasks as one-off processes.
These principles help create applications that are easy to deploy, manage, and scale in cloud environments, promoting operational simplicity and consistency.
Visit the following resources to learn more:
- [@article@The Twelve-Factor App](https://12factor.net/)

@ -4,8 +4,6 @@ Horizontal scaling (scaling out/in) involves adding or removing instances of res
Vertical scaling (scaling up/down) involves increasing or decreasing the resources (CPU, memory, storage) of a single instance or server to handle more load or reduce capacity. This method improves performance by upgrading the existing hardware or virtual machine but has limits based on the maximum capacity of the individual resource.
Both approaches have their advantages: horizontal scaling offers better fault tolerance and flexibility, while vertical scaling is often simpler to implement but can be limited by the hardware constraints of a single machine.
Visit the following resources to learn more:
- [@article@Horizontal vs Vertical Scaling](https://touchstonesecurity.com/horizontal-vs-vertical-scaling-what-you-need-to-know/)

@ -5,6 +5,6 @@ Version Control Systems (VCS) are tools that manage and track changes to code or
Visit the following resources to learn more:
- [@roadmap@Learn Git & GitHub](https://roadmap.sh/git-github)
- [@article@Git](https://git-scm.com/)
- [@official@Git Documentation](https://git-scm.com/doc)
- [@article@What is Version Control?](https://www.atlassian.com/git/tutorials/what-is-version-control)
- [@video@Version Control System (VCS) - Everything you need to know](https://www.youtube.com/watch?v=SVkuliabq4g)

@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@article@What is a Domain Name?](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name)
- [@article@What is a Domain Name? | Domain name vs. URL](https://www.cloudflare.com/en-gb/learning/dns/glossary/what-is-a-domain-name/)
- [@video@A Beginners Guide to How Domain Names Work](https://www.youtube.com/watch?v=Y4cRx19nhJk)
- [@video@Everything You Need to Know About Domain Names](https://www.youtube.com/watch?v=qO5qcQgiNX4)
- [@video@Everything You Need to Know About Domain Names](https://www.youtube.com/watch?v=qO5qcQgiNX4)

@ -8,4 +8,4 @@ Visit the following resources to learn more:
- [@article@What is a web server?](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_web_server)
- [@video@What is Web Hosting and How Does It Work?](https://www.youtube.com/watch?v=H8oAvyqQwew)
- [@video@Different Types of Web Hosting Explained](https://www.youtube.com/watch?v=AXVZYzw8geg)
- [@video@Where to Host a Fullstack Project on a Budget](https://www.youtube.com/watch?v=Kx_1NYYJS7Q)
- [@video@Where to Host a Fullstack Project on a Budget](https://www.youtube.com/watch?v=Kx_1NYYJS7Q)

Loading…
Cancel
Save