From 0400b1d6c05d929c2bf84ce67cc40ff423362dab Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Sun, 9 Jan 2022 11:29:03 +0400 Subject: [PATCH] Add interactivity for the backend roadmap --- components/roadmap/roadmap-page-header.tsx | 4 +- content/roadmaps.json | 23 +- .../roadmaps/101-backend/content-paths.json | 138 + .../100-how-does-the-internet-work.md | 10 + .../content/100-internet/101-what-is-http.md | 9 + .../102-browsers-and-how-they-work.md | 8 + .../100-internet/103-dns-and-how-it-works.md | 7 + .../100-internet/104-what-is-domain-name.md | 8 + .../100-internet/105-what-is-hosting.md | 8 + .../content/100-internet/readme.md | 10 + .../content/101-basic-frontend/100-html.md | 8 + .../content/101-basic-frontend/101-css.md | 12 + .../101-basic-frontend/102-javascript.md | 9 + .../content/101-basic-frontend/readme.md | 8 + .../100-terminal-usage.md | 1 + .../101-how-oss-work-in-general.md | 1 + .../102-process-management.md | 1 + .../103-threads-and-concurrency.md | 1 + .../104-basic-terminal-commands.md | 1 + .../105-memory-management.md | 1 + .../106-interprocess-communication.md | 1 + .../107-io-management.md | 1 + .../108-posix-basics.md | 1 + .../109-basic-networking-concepts.md | 1 + .../102-os-general-knowledge/readme.md | 1 + .../content/103-learn-a-language/100-go.md | 1 + .../content/103-learn-a-language/101-rust.md | 1 + .../content/103-learn-a-language/102-java.md | 1 + .../103-learn-a-language/103-csharp.md | 1 + .../content/103-learn-a-language/103-php.md | 1 + .../103-learn-a-language/105-javascript.md | 1 + .../103-learn-a-language/106-python.md | 1 + .../content/103-learn-a-language/107-ruby.md | 1 + .../content/103-learn-a-language/readme.md | 1 + .../100-basic-usage-of-git.md | 1 + .../104-version-control-systems/readme.md | 1 + .../105-repo-hosting-services/100-github.md | 1 + .../105-repo-hosting-services/101-gitlab.md | 1 + .../102-bitbucket.md | 1 + .../105-repo-hosting-services/readme.md | 1 + .../100-postgresql.md | 1 + .../106-relational-databases/101-mysql.md | 1 + .../106-relational-databases/102-mariadb.md | 1 + .../106-relational-databases/103-mssql.md | 1 + .../106-relational-databases/104-oracle.md | 1 + .../106-relational-databases/readme.md | 1 + .../100-document-databases.md | 1 + .../101-column-databases.md | 1 + .../102-timeseries-databases.md | 1 + .../103-realtime-databases.md | 1 + .../content/107-nosql-databases/readme.md | 1 + .../108-more-about-databases/100-orms.md | 1 + .../108-more-about-databases/101-acid.md | 1 + .../102-transactions.md | 1 + .../103-n-plus-one-problem.md | 1 + .../104-database-normalization.md | 1 + .../105-database-indexes.md | 1 + .../106-data-replication.md | 1 + .../107-sharding-strategies.md | 1 + .../108-cap-theorem.md | 1 + .../108-more-about-databases/readme.md | 1 + .../101-backend/content/109-apis/100-rest.md | 1 + .../content/109-apis/101-json-apis.md | 1 + .../101-backend/content/109-apis/102-soap.md | 1 + .../101-backend/content/109-apis/103-grpc.md | 1 + .../content/109-apis/104-hateoas.md | 1 + .../content/109-apis/105-open-api-spec.md | 1 + .../106-authentication/100-cookie-based.md | 1 + .../109-apis/106-authentication/101-oauth.md | 1 + .../102-basic-authentication.md | 1 + .../103-token-authentication.md | 1 + .../109-apis/106-authentication/104-jwt.md | 1 + .../109-apis/106-authentication/105-openid.md | 1 + .../109-apis/106-authentication/105-saml.md | 1 + .../109-apis/106-authentication/readme.md | 1 + .../101-backend/content/109-apis/readme.md | 1 + .../content/110-caching/100-cdn.md | 1 + .../110-caching/101-server-side/100-redis.md | 1 + .../101-server-side/101-memcached.md | 1 + .../110-caching/101-server-side/readme.md | 1 + .../content/110-caching/102-client-side.md | 1 + .../101-backend/content/110-caching/readme.md | 1 + .../111-web-security-knowledge/100-md5.md | 1 + .../101-sha-family.md | 1 + .../111-web-security-knowledge/102-bcrypt.md | 1 + .../111-web-security-knowledge/104-scrypt.md | 1 + .../105-content-security-policy.md | 1 + .../111-web-security-knowledge/105-https.md | 1 + .../111-web-security-knowledge/106-cors.md | 1 + .../111-web-security-knowledge/107-ssl-tls.md | 1 + .../111-web-security-knowledge/108-owasp.md | 1 + .../111-web-security-knowledge/readme.md | 1 + .../112-testing/100-integration-testing.md | 1 + .../content/112-testing/101-unit-testing.md | 1 + .../112-testing/102-functional-testing.md | 1 + .../101-backend/content/112-testing/readme.md | 1 + .../roadmaps/101-backend/content/113-ci-cd.md | 1 + .../100-gof-design-patterns.md | 1 + .../101-domain-driven-design.md | 1 + .../102-test-driven-development.md | 1 + .../103-solid.md | 1 + .../104-kiss.md | 1 + .../105-yagni.md | 1 + .../106-dry.md | 1 + .../readme.md | 1 + .../100-monolithic-apps.md | 1 + .../101-microservices.md | 1 + .../115-architectural-patterns/102-soa.md | 1 + .../115-architectural-patterns/103-cqrs.md | 1 + .../104-serverless.md | 1 + .../115-architectural-patterns/readme.md | 1 + .../116-search-engines/100-elasticsearch.md | 1 + .../content/116-search-engines/101-solr.md | 1 + .../content/116-search-engines/readme.md | 1 + .../117-message-brokers/100-rabbitmq.md | 1 + .../content/117-message-brokers/101-kafka.md | 1 + .../content/117-message-brokers/readme.md | 1 + .../118-containerization/100-docker.md | 1 + .../content/118-containerization/101-rkt.md | 1 + .../content/118-containerization/102-lxc.md | 1 + .../content/118-containerization/readme.md | 1 + .../content/119-graphql/100-apollo.md | 1 + .../content/119-graphql/101-relay-modern.md | 1 + .../101-backend/content/119-graphql/readme.md | 1 + .../content/120-graph-databases/100-neo4j.md | 1 + .../content/120-graph-databases/readme.md | 1 + .../101-backend/content/121-web-sockets.md | 1 + .../content/122-web-servers/100-nginx.md | 1 + .../content/122-web-servers/101-apache.md | 1 + .../content/122-web-servers/102-caddy.md | 1 + .../content/122-web-servers/103-ms-iis.md | 1 + .../content/122-web-servers/readme.md | 1 + .../100-mitigation-strategies.md | 1 + ...01-instrumentation-monitoring-telemetry.md | 1 + .../102-migration-strategies.md | 1 + .../103-horizontal-vertial-scaling.md | 1 + .../123-scalability/104-observability.md | 1 + .../content/123-scalability/readme.md | 1 + .../roadmaps/101-backend/content/readme.md | 1 + content/roadmaps/101-backend/meta.json | 7 +- lib/roadmap.ts | 4 + pages/[roadmap]/index.tsx | 4 +- pages/[roadmap]/interactive.tsx | 4 + public/project/backend.json | 22463 +++++++++------- public/sitemap.xml | 28 +- 145 files changed, 13008 insertions(+), 9889 deletions(-) create mode 100644 content/roadmaps/101-backend/content-paths.json create mode 100644 content/roadmaps/101-backend/content/100-internet/100-how-does-the-internet-work.md create mode 100644 content/roadmaps/101-backend/content/100-internet/101-what-is-http.md create mode 100644 content/roadmaps/101-backend/content/100-internet/102-browsers-and-how-they-work.md create mode 100644 content/roadmaps/101-backend/content/100-internet/103-dns-and-how-it-works.md create mode 100644 content/roadmaps/101-backend/content/100-internet/104-what-is-domain-name.md create mode 100644 content/roadmaps/101-backend/content/100-internet/105-what-is-hosting.md create mode 100644 content/roadmaps/101-backend/content/100-internet/readme.md create mode 100644 content/roadmaps/101-backend/content/101-basic-frontend/100-html.md create mode 100644 content/roadmaps/101-backend/content/101-basic-frontend/101-css.md create mode 100644 content/roadmaps/101-backend/content/101-basic-frontend/102-javascript.md create mode 100644 content/roadmaps/101-backend/content/101-basic-frontend/readme.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/100-terminal-usage.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/102-process-management.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/103-threads-and-concurrency.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/104-basic-terminal-commands.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/105-memory-management.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/106-interprocess-communication.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/107-io-management.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/109-basic-networking-concepts.md create mode 100644 content/roadmaps/101-backend/content/102-os-general-knowledge/readme.md create mode 100644 content/roadmaps/101-backend/content/103-learn-a-language/100-go.md create mode 100644 content/roadmaps/101-backend/content/103-learn-a-language/101-rust.md create mode 100644 content/roadmaps/101-backend/content/103-learn-a-language/102-java.md create mode 100644 content/roadmaps/101-backend/content/103-learn-a-language/103-csharp.md create mode 100644 content/roadmaps/101-backend/content/103-learn-a-language/103-php.md create mode 100644 content/roadmaps/101-backend/content/103-learn-a-language/105-javascript.md create mode 100644 content/roadmaps/101-backend/content/103-learn-a-language/106-python.md create mode 100644 content/roadmaps/101-backend/content/103-learn-a-language/107-ruby.md create mode 100644 content/roadmaps/101-backend/content/103-learn-a-language/readme.md create mode 100644 content/roadmaps/101-backend/content/104-version-control-systems/100-basic-usage-of-git.md create mode 100644 content/roadmaps/101-backend/content/104-version-control-systems/readme.md create mode 100644 content/roadmaps/101-backend/content/105-repo-hosting-services/100-github.md create mode 100644 content/roadmaps/101-backend/content/105-repo-hosting-services/101-gitlab.md create mode 100644 content/roadmaps/101-backend/content/105-repo-hosting-services/102-bitbucket.md create mode 100644 content/roadmaps/101-backend/content/105-repo-hosting-services/readme.md create mode 100644 content/roadmaps/101-backend/content/106-relational-databases/100-postgresql.md create mode 100644 content/roadmaps/101-backend/content/106-relational-databases/101-mysql.md create mode 100644 content/roadmaps/101-backend/content/106-relational-databases/102-mariadb.md create mode 100644 content/roadmaps/101-backend/content/106-relational-databases/103-mssql.md create mode 100644 content/roadmaps/101-backend/content/106-relational-databases/104-oracle.md create mode 100644 content/roadmaps/101-backend/content/106-relational-databases/readme.md create mode 100644 content/roadmaps/101-backend/content/107-nosql-databases/100-document-databases.md create mode 100644 content/roadmaps/101-backend/content/107-nosql-databases/101-column-databases.md create mode 100644 content/roadmaps/101-backend/content/107-nosql-databases/102-timeseries-databases.md create mode 100644 content/roadmaps/101-backend/content/107-nosql-databases/103-realtime-databases.md create mode 100644 content/roadmaps/101-backend/content/107-nosql-databases/readme.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/100-orms.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/101-acid.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/102-transactions.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/103-n-plus-one-problem.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/104-database-normalization.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/105-database-indexes.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/106-data-replication.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/107-sharding-strategies.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/108-cap-theorem.md create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/readme.md create mode 100644 content/roadmaps/101-backend/content/109-apis/100-rest.md create mode 100644 content/roadmaps/101-backend/content/109-apis/101-json-apis.md create mode 100644 content/roadmaps/101-backend/content/109-apis/102-soap.md create mode 100644 content/roadmaps/101-backend/content/109-apis/103-grpc.md create mode 100644 content/roadmaps/101-backend/content/109-apis/104-hateoas.md create mode 100644 content/roadmaps/101-backend/content/109-apis/105-open-api-spec.md create mode 100644 content/roadmaps/101-backend/content/109-apis/106-authentication/100-cookie-based.md create mode 100644 content/roadmaps/101-backend/content/109-apis/106-authentication/101-oauth.md create mode 100644 content/roadmaps/101-backend/content/109-apis/106-authentication/102-basic-authentication.md create mode 100644 content/roadmaps/101-backend/content/109-apis/106-authentication/103-token-authentication.md create mode 100644 content/roadmaps/101-backend/content/109-apis/106-authentication/104-jwt.md create mode 100644 content/roadmaps/101-backend/content/109-apis/106-authentication/105-openid.md create mode 100644 content/roadmaps/101-backend/content/109-apis/106-authentication/105-saml.md create mode 100644 content/roadmaps/101-backend/content/109-apis/106-authentication/readme.md create mode 100644 content/roadmaps/101-backend/content/109-apis/readme.md create mode 100644 content/roadmaps/101-backend/content/110-caching/100-cdn.md create mode 100644 content/roadmaps/101-backend/content/110-caching/101-server-side/100-redis.md create mode 100644 content/roadmaps/101-backend/content/110-caching/101-server-side/101-memcached.md create mode 100644 content/roadmaps/101-backend/content/110-caching/101-server-side/readme.md create mode 100644 content/roadmaps/101-backend/content/110-caching/102-client-side.md create mode 100644 content/roadmaps/101-backend/content/110-caching/readme.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/100-md5.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/101-sha-family.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/102-bcrypt.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/104-scrypt.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/105-content-security-policy.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/105-https.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/106-cors.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/107-ssl-tls.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/108-owasp.md create mode 100644 content/roadmaps/101-backend/content/111-web-security-knowledge/readme.md create mode 100644 content/roadmaps/101-backend/content/112-testing/100-integration-testing.md create mode 100644 content/roadmaps/101-backend/content/112-testing/101-unit-testing.md create mode 100644 content/roadmaps/101-backend/content/112-testing/102-functional-testing.md create mode 100644 content/roadmaps/101-backend/content/112-testing/readme.md create mode 100644 content/roadmaps/101-backend/content/113-ci-cd.md create mode 100644 content/roadmaps/101-backend/content/114-design-and-development-principles/100-gof-design-patterns.md create mode 100644 content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md create mode 100644 content/roadmaps/101-backend/content/114-design-and-development-principles/102-test-driven-development.md create mode 100644 content/roadmaps/101-backend/content/114-design-and-development-principles/103-solid.md create mode 100644 content/roadmaps/101-backend/content/114-design-and-development-principles/104-kiss.md create mode 100644 content/roadmaps/101-backend/content/114-design-and-development-principles/105-yagni.md create mode 100644 content/roadmaps/101-backend/content/114-design-and-development-principles/106-dry.md create mode 100644 content/roadmaps/101-backend/content/114-design-and-development-principles/readme.md create mode 100644 content/roadmaps/101-backend/content/115-architectural-patterns/100-monolithic-apps.md create mode 100644 content/roadmaps/101-backend/content/115-architectural-patterns/101-microservices.md create mode 100644 content/roadmaps/101-backend/content/115-architectural-patterns/102-soa.md create mode 100644 content/roadmaps/101-backend/content/115-architectural-patterns/103-cqrs.md create mode 100644 content/roadmaps/101-backend/content/115-architectural-patterns/104-serverless.md create mode 100644 content/roadmaps/101-backend/content/115-architectural-patterns/readme.md create mode 100644 content/roadmaps/101-backend/content/116-search-engines/100-elasticsearch.md create mode 100644 content/roadmaps/101-backend/content/116-search-engines/101-solr.md create mode 100644 content/roadmaps/101-backend/content/116-search-engines/readme.md create mode 100644 content/roadmaps/101-backend/content/117-message-brokers/100-rabbitmq.md create mode 100644 content/roadmaps/101-backend/content/117-message-brokers/101-kafka.md create mode 100644 content/roadmaps/101-backend/content/117-message-brokers/readme.md create mode 100644 content/roadmaps/101-backend/content/118-containerization/100-docker.md create mode 100644 content/roadmaps/101-backend/content/118-containerization/101-rkt.md create mode 100644 content/roadmaps/101-backend/content/118-containerization/102-lxc.md create mode 100644 content/roadmaps/101-backend/content/118-containerization/readme.md create mode 100644 content/roadmaps/101-backend/content/119-graphql/100-apollo.md create mode 100644 content/roadmaps/101-backend/content/119-graphql/101-relay-modern.md create mode 100644 content/roadmaps/101-backend/content/119-graphql/readme.md create mode 100644 content/roadmaps/101-backend/content/120-graph-databases/100-neo4j.md create mode 100644 content/roadmaps/101-backend/content/120-graph-databases/readme.md create mode 100644 content/roadmaps/101-backend/content/121-web-sockets.md create mode 100644 content/roadmaps/101-backend/content/122-web-servers/100-nginx.md create mode 100644 content/roadmaps/101-backend/content/122-web-servers/101-apache.md create mode 100644 content/roadmaps/101-backend/content/122-web-servers/102-caddy.md create mode 100644 content/roadmaps/101-backend/content/122-web-servers/103-ms-iis.md create mode 100644 content/roadmaps/101-backend/content/122-web-servers/readme.md create mode 100644 content/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies.md create mode 100644 content/roadmaps/101-backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md create mode 100644 content/roadmaps/101-backend/content/123-scalability/102-migration-strategies.md create mode 100644 content/roadmaps/101-backend/content/123-scalability/103-horizontal-vertial-scaling.md create mode 100644 content/roadmaps/101-backend/content/123-scalability/104-observability.md create mode 100644 content/roadmaps/101-backend/content/123-scalability/readme.md create mode 100644 content/roadmaps/101-backend/content/readme.md diff --git a/components/roadmap/roadmap-page-header.tsx b/components/roadmap/roadmap-page-header.tsx index 7e0ffdf67..1f1c0d488 100644 --- a/components/roadmap/roadmap-page-header.tsx +++ b/components/roadmap/roadmap-page-header.tsx @@ -1,4 +1,4 @@ -import { RoadmapType } from '../../lib/roadmap'; +import { isInteractiveRoadmap, RoadmapType } from '../../lib/roadmap'; import { NewAlertBanner } from './new-alert-banner'; import { Badge, @@ -90,7 +90,7 @@ export function RoadmapPageHeader(props: RoadmapPageHeaderType) { - {roadmap.id === 'frontend' && ( + {isInteractiveRoadmap(roadmap.id) && ( Free Content +The Internet Explained +How Does the Internet Work? +Introduction to Internet +How does the Internet work? +How the Internet Works in 5 Minutes diff --git a/content/roadmaps/101-backend/content/100-internet/101-what-is-http.md b/content/roadmaps/101-backend/content/100-internet/101-what-is-http.md new file mode 100644 index 000000000..17733babd --- /dev/null +++ b/content/roadmaps/101-backend/content/100-internet/101-what-is-http.md @@ -0,0 +1,9 @@ +# What is HTTP? + +HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet. + +Free Content +What is HTTP? +An overview of HTTP +Journey to HTTP/2 +HTTP Crash Course & Exploration diff --git a/content/roadmaps/101-backend/content/100-internet/102-browsers-and-how-they-work.md b/content/roadmaps/101-backend/content/100-internet/102-browsers-and-how-they-work.md new file mode 100644 index 000000000..2202067c8 --- /dev/null +++ b/content/roadmaps/101-backend/content/100-internet/102-browsers-and-how-they-work.md @@ -0,0 +1,8 @@ +# Browsers + +A web browser is a software application that enables a user to access and display web pages or other online content through its graphical user interface. + +Free Content +How Browsers Work +Role of Rendering Engine in Browsers +Populating the Page: How Browsers Work diff --git a/content/roadmaps/101-backend/content/100-internet/103-dns-and-how-it-works.md b/content/roadmaps/101-backend/content/100-internet/103-dns-and-how-it-works.md new file mode 100644 index 000000000..abcad0eb7 --- /dev/null +++ b/content/roadmaps/101-backend/content/100-internet/103-dns-and-how-it-works.md @@ -0,0 +1,7 @@ +# DNS +The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources. + +Free Content +What is DNS? +DNS and How does it Work? +DNS Records diff --git a/content/roadmaps/101-backend/content/100-internet/104-what-is-domain-name.md b/content/roadmaps/101-backend/content/100-internet/104-what-is-domain-name.md new file mode 100644 index 000000000..1fb0a759e --- /dev/null +++ b/content/roadmaps/101-backend/content/100-internet/104-what-is-domain-name.md @@ -0,0 +1,8 @@ +# Domain Name + +A domain name is a unique, easy-to-remember address used to access websites, such as ‘google.com’, and ‘facebook.com’. Users can connect to websites using domain names thanks to the DNS system. + +Free Content +What is a Domain Name? +What is a Domain Name? | Domain name vs. URL +A Beginners Guide to How Domain Names Work diff --git a/content/roadmaps/101-backend/content/100-internet/105-what-is-hosting.md b/content/roadmaps/101-backend/content/100-internet/105-what-is-hosting.md new file mode 100644 index 000000000..7ab9b4f76 --- /dev/null +++ b/content/roadmaps/101-backend/content/100-internet/105-what-is-hosting.md @@ -0,0 +1,8 @@ +# Hosting + +Web hosting is an online service that allows you to publish your website files onto the internet. So, anyone who has access to the internet has access to your website. + +Free Content +What Is Web Hosting? Explained +Different Types of Web Hosting Explained +Where to Host a Fullstack Project on a Budget diff --git a/content/roadmaps/101-backend/content/100-internet/readme.md b/content/roadmaps/101-backend/content/100-internet/readme.md new file mode 100644 index 000000000..ef14a4d6e --- /dev/null +++ b/content/roadmaps/101-backend/content/100-internet/readme.md @@ -0,0 +1,10 @@ +# Internet + +The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols. + +Free Content +The Internet Explained +How Does the Internet Work? +Introduction to Internet +How does the Internet work? +How the Internet Works in 5 Minutes diff --git a/content/roadmaps/101-backend/content/101-basic-frontend/100-html.md b/content/roadmaps/101-backend/content/101-basic-frontend/100-html.md new file mode 100644 index 000000000..1d42b1287 --- /dev/null +++ b/content/roadmaps/101-backend/content/101-basic-frontend/100-html.md @@ -0,0 +1,8 @@ +# HTML + +HTML stands for Hyper Text Markup Language. It is used on the frontend and gives the structure to the webpage which you can style using CSS and make interactive using JavaScript. + +Free Content +W3Schools: Learn HTML +HTML Full Course - Build a Website Tutorial +HTML Tutorial for Beginners: HTML Crash Course diff --git a/content/roadmaps/101-backend/content/101-basic-frontend/101-css.md b/content/roadmaps/101-backend/content/101-basic-frontend/101-css.md new file mode 100644 index 000000000..6cc746a03 --- /dev/null +++ b/content/roadmaps/101-backend/content/101-basic-frontend/101-css.md @@ -0,0 +1,12 @@ +# CSS + +CSS or Cascading Style Sheets is the language used to style the frontend of any website. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript. + +Free Content +W3Schools — Learn CSS +freeCodeCamp — Responsive Web Design +Learn to Code HTML & CSS +CSS Crash Course For Absolute Beginners +HTML and CSS Tutorial +CSS Masterclass - Tutorial & Course for Beginners +What The Flexbox! diff --git a/content/roadmaps/101-backend/content/101-basic-frontend/102-javascript.md b/content/roadmaps/101-backend/content/101-basic-frontend/102-javascript.md new file mode 100644 index 000000000..f8708aa41 --- /dev/null +++ b/content/roadmaps/101-backend/content/101-basic-frontend/102-javascript.md @@ -0,0 +1,9 @@ +# JavaScript + +JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on. + +Free Content +W3Schools – JavaScript Tutorial +The Modern JavaScript Tutorial +JavaScript Crash Course for Beginners +Build a Netflix Landing Page Clone with HTML, CSS & JS diff --git a/content/roadmaps/101-backend/content/101-basic-frontend/readme.md b/content/roadmaps/101-backend/content/101-basic-frontend/readme.md new file mode 100644 index 000000000..73ef4141f --- /dev/null +++ b/content/roadmaps/101-backend/content/101-basic-frontend/readme.md @@ -0,0 +1,8 @@ +# Basic Frontend Knowledge + +As a backend developer, you may not need to have proficient knowledge of the frontend stack but you should at least have some basic understanding of HTML, CSS and JavaScript. + +Free Content +W3Schools: Learn HTML +W3Schools: Learn CSS +W3Schools: JavaScript Tutorial diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/100-terminal-usage.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/100-terminal-usage.md new file mode 100644 index 000000000..2a11f97e6 --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/100-terminal-usage.md @@ -0,0 +1 @@ +# Terminal usage \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md new file mode 100644 index 000000000..192caaaa8 --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md @@ -0,0 +1 @@ +# Operating Systems diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/102-process-management.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/102-process-management.md new file mode 100644 index 000000000..26ac6ca21 --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/102-process-management.md @@ -0,0 +1 @@ +# Process Management diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/103-threads-and-concurrency.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/103-threads-and-concurrency.md new file mode 100644 index 000000000..22c6c97e7 --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/103-threads-and-concurrency.md @@ -0,0 +1 @@ +# Threads and Concurrency diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/104-basic-terminal-commands.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/104-basic-terminal-commands.md new file mode 100644 index 000000000..910d351e0 --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/104-basic-terminal-commands.md @@ -0,0 +1 @@ +# Basic terminal Commands diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/105-memory-management.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/105-memory-management.md new file mode 100644 index 000000000..9349679e5 --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/105-memory-management.md @@ -0,0 +1 @@ +# Memory management \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/106-interprocess-communication.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/106-interprocess-communication.md new file mode 100644 index 000000000..5f3e76338 --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/106-interprocess-communication.md @@ -0,0 +1 @@ +# Interprocess communication \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/107-io-management.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/107-io-management.md new file mode 100644 index 000000000..0c20a796b --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/107-io-management.md @@ -0,0 +1 @@ +# Io management \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md new file mode 100644 index 000000000..babfb2c69 --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md @@ -0,0 +1 @@ +# Posix basics \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/109-basic-networking-concepts.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/109-basic-networking-concepts.md new file mode 100644 index 000000000..fd00d8f4f --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/109-basic-networking-concepts.md @@ -0,0 +1 @@ +# Basic networking concepts \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/readme.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/readme.md new file mode 100644 index 000000000..c4a9305ec --- /dev/null +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/readme.md @@ -0,0 +1 @@ +# General Knowledge diff --git a/content/roadmaps/101-backend/content/103-learn-a-language/100-go.md b/content/roadmaps/101-backend/content/103-learn-a-language/100-go.md new file mode 100644 index 000000000..59448b216 --- /dev/null +++ b/content/roadmaps/101-backend/content/103-learn-a-language/100-go.md @@ -0,0 +1 @@ +# Go \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/103-learn-a-language/101-rust.md b/content/roadmaps/101-backend/content/103-learn-a-language/101-rust.md new file mode 100644 index 000000000..8fc1f9db2 --- /dev/null +++ b/content/roadmaps/101-backend/content/103-learn-a-language/101-rust.md @@ -0,0 +1 @@ +# Rust \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/103-learn-a-language/102-java.md b/content/roadmaps/101-backend/content/103-learn-a-language/102-java.md new file mode 100644 index 000000000..526e9b119 --- /dev/null +++ b/content/roadmaps/101-backend/content/103-learn-a-language/102-java.md @@ -0,0 +1 @@ +# Java \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/103-learn-a-language/103-csharp.md b/content/roadmaps/101-backend/content/103-learn-a-language/103-csharp.md new file mode 100644 index 000000000..ad0f08296 --- /dev/null +++ b/content/roadmaps/101-backend/content/103-learn-a-language/103-csharp.md @@ -0,0 +1 @@ +# Csharp \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/103-learn-a-language/103-php.md b/content/roadmaps/101-backend/content/103-learn-a-language/103-php.md new file mode 100644 index 000000000..cff2d3b3f --- /dev/null +++ b/content/roadmaps/101-backend/content/103-learn-a-language/103-php.md @@ -0,0 +1 @@ +# Php \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/103-learn-a-language/105-javascript.md b/content/roadmaps/101-backend/content/103-learn-a-language/105-javascript.md new file mode 100644 index 000000000..446ae8e73 --- /dev/null +++ b/content/roadmaps/101-backend/content/103-learn-a-language/105-javascript.md @@ -0,0 +1 @@ +# Javascript \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/103-learn-a-language/106-python.md b/content/roadmaps/101-backend/content/103-learn-a-language/106-python.md new file mode 100644 index 000000000..92106a828 --- /dev/null +++ b/content/roadmaps/101-backend/content/103-learn-a-language/106-python.md @@ -0,0 +1 @@ +# Python \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/103-learn-a-language/107-ruby.md b/content/roadmaps/101-backend/content/103-learn-a-language/107-ruby.md new file mode 100644 index 000000000..cf37b2083 --- /dev/null +++ b/content/roadmaps/101-backend/content/103-learn-a-language/107-ruby.md @@ -0,0 +1 @@ +# Ruby \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/103-learn-a-language/readme.md b/content/roadmaps/101-backend/content/103-learn-a-language/readme.md new file mode 100644 index 000000000..00ac1d80a --- /dev/null +++ b/content/roadmaps/101-backend/content/103-learn-a-language/readme.md @@ -0,0 +1 @@ +# Learn a language \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/104-version-control-systems/100-basic-usage-of-git.md b/content/roadmaps/101-backend/content/104-version-control-systems/100-basic-usage-of-git.md new file mode 100644 index 000000000..65f57e71e --- /dev/null +++ b/content/roadmaps/101-backend/content/104-version-control-systems/100-basic-usage-of-git.md @@ -0,0 +1 @@ +# Git \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/104-version-control-systems/readme.md b/content/roadmaps/101-backend/content/104-version-control-systems/readme.md new file mode 100644 index 000000000..5e0249474 --- /dev/null +++ b/content/roadmaps/101-backend/content/104-version-control-systems/readme.md @@ -0,0 +1 @@ +# Version control systems \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/105-repo-hosting-services/100-github.md b/content/roadmaps/101-backend/content/105-repo-hosting-services/100-github.md new file mode 100644 index 000000000..1d347d3e4 --- /dev/null +++ b/content/roadmaps/101-backend/content/105-repo-hosting-services/100-github.md @@ -0,0 +1 @@ +# Github \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/105-repo-hosting-services/101-gitlab.md b/content/roadmaps/101-backend/content/105-repo-hosting-services/101-gitlab.md new file mode 100644 index 000000000..70157a4e6 --- /dev/null +++ b/content/roadmaps/101-backend/content/105-repo-hosting-services/101-gitlab.md @@ -0,0 +1 @@ +# Gitlab \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/105-repo-hosting-services/102-bitbucket.md b/content/roadmaps/101-backend/content/105-repo-hosting-services/102-bitbucket.md new file mode 100644 index 000000000..9c781a3b3 --- /dev/null +++ b/content/roadmaps/101-backend/content/105-repo-hosting-services/102-bitbucket.md @@ -0,0 +1 @@ +# Bitbucket \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/105-repo-hosting-services/readme.md b/content/roadmaps/101-backend/content/105-repo-hosting-services/readme.md new file mode 100644 index 000000000..ca921962f --- /dev/null +++ b/content/roadmaps/101-backend/content/105-repo-hosting-services/readme.md @@ -0,0 +1 @@ +# Repo hosting services \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/106-relational-databases/100-postgresql.md b/content/roadmaps/101-backend/content/106-relational-databases/100-postgresql.md new file mode 100644 index 000000000..a6798acec --- /dev/null +++ b/content/roadmaps/101-backend/content/106-relational-databases/100-postgresql.md @@ -0,0 +1 @@ +# Postgresql \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/106-relational-databases/101-mysql.md b/content/roadmaps/101-backend/content/106-relational-databases/101-mysql.md new file mode 100644 index 000000000..39b7062b3 --- /dev/null +++ b/content/roadmaps/101-backend/content/106-relational-databases/101-mysql.md @@ -0,0 +1 @@ +# Mysql \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/106-relational-databases/102-mariadb.md b/content/roadmaps/101-backend/content/106-relational-databases/102-mariadb.md new file mode 100644 index 000000000..2efaf2286 --- /dev/null +++ b/content/roadmaps/101-backend/content/106-relational-databases/102-mariadb.md @@ -0,0 +1 @@ +# Mariadb \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/106-relational-databases/103-mssql.md b/content/roadmaps/101-backend/content/106-relational-databases/103-mssql.md new file mode 100644 index 000000000..036266741 --- /dev/null +++ b/content/roadmaps/101-backend/content/106-relational-databases/103-mssql.md @@ -0,0 +1 @@ +# Mssql \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/106-relational-databases/104-oracle.md b/content/roadmaps/101-backend/content/106-relational-databases/104-oracle.md new file mode 100644 index 000000000..1d05ecc39 --- /dev/null +++ b/content/roadmaps/101-backend/content/106-relational-databases/104-oracle.md @@ -0,0 +1 @@ +# Oracle \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/106-relational-databases/readme.md b/content/roadmaps/101-backend/content/106-relational-databases/readme.md new file mode 100644 index 000000000..d2db20e73 --- /dev/null +++ b/content/roadmaps/101-backend/content/106-relational-databases/readme.md @@ -0,0 +1 @@ +# Relational databases \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/107-nosql-databases/100-document-databases.md b/content/roadmaps/101-backend/content/107-nosql-databases/100-document-databases.md new file mode 100644 index 000000000..a8218888d --- /dev/null +++ b/content/roadmaps/101-backend/content/107-nosql-databases/100-document-databases.md @@ -0,0 +1 @@ +# Document databases \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/107-nosql-databases/101-column-databases.md b/content/roadmaps/101-backend/content/107-nosql-databases/101-column-databases.md new file mode 100644 index 000000000..11f96ea48 --- /dev/null +++ b/content/roadmaps/101-backend/content/107-nosql-databases/101-column-databases.md @@ -0,0 +1 @@ +# Column databases \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/107-nosql-databases/102-timeseries-databases.md b/content/roadmaps/101-backend/content/107-nosql-databases/102-timeseries-databases.md new file mode 100644 index 000000000..6db12a000 --- /dev/null +++ b/content/roadmaps/101-backend/content/107-nosql-databases/102-timeseries-databases.md @@ -0,0 +1 @@ +# Timeseries databases \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/107-nosql-databases/103-realtime-databases.md b/content/roadmaps/101-backend/content/107-nosql-databases/103-realtime-databases.md new file mode 100644 index 000000000..ac39b1522 --- /dev/null +++ b/content/roadmaps/101-backend/content/107-nosql-databases/103-realtime-databases.md @@ -0,0 +1 @@ +# Realtime databases \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/107-nosql-databases/readme.md b/content/roadmaps/101-backend/content/107-nosql-databases/readme.md new file mode 100644 index 000000000..827dc6040 --- /dev/null +++ b/content/roadmaps/101-backend/content/107-nosql-databases/readme.md @@ -0,0 +1 @@ +# Nosql databases \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/100-orms.md b/content/roadmaps/101-backend/content/108-more-about-databases/100-orms.md new file mode 100644 index 000000000..0774e010e --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/100-orms.md @@ -0,0 +1 @@ +# Orms \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/101-acid.md b/content/roadmaps/101-backend/content/108-more-about-databases/101-acid.md new file mode 100644 index 000000000..727e552b0 --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/101-acid.md @@ -0,0 +1 @@ +# Acid \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/102-transactions.md b/content/roadmaps/101-backend/content/108-more-about-databases/102-transactions.md new file mode 100644 index 000000000..0125c964d --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/102-transactions.md @@ -0,0 +1 @@ +# Transactions \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/103-n-plus-one-problem.md b/content/roadmaps/101-backend/content/108-more-about-databases/103-n-plus-one-problem.md new file mode 100644 index 000000000..ad83aaa39 --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/103-n-plus-one-problem.md @@ -0,0 +1 @@ +# N plus one problem \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/104-database-normalization.md b/content/roadmaps/101-backend/content/108-more-about-databases/104-database-normalization.md new file mode 100644 index 000000000..780e08a1b --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/104-database-normalization.md @@ -0,0 +1 @@ +# Database normalization \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/105-database-indexes.md b/content/roadmaps/101-backend/content/108-more-about-databases/105-database-indexes.md new file mode 100644 index 000000000..6aa95691a --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/105-database-indexes.md @@ -0,0 +1 @@ +# Database indexes \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/106-data-replication.md b/content/roadmaps/101-backend/content/108-more-about-databases/106-data-replication.md new file mode 100644 index 000000000..cf578cd09 --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/106-data-replication.md @@ -0,0 +1 @@ +# Data replication \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/107-sharding-strategies.md b/content/roadmaps/101-backend/content/108-more-about-databases/107-sharding-strategies.md new file mode 100644 index 000000000..8da2891b6 --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/107-sharding-strategies.md @@ -0,0 +1 @@ +# Sharding strategies \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/108-cap-theorem.md b/content/roadmaps/101-backend/content/108-more-about-databases/108-cap-theorem.md new file mode 100644 index 000000000..b85469e6d --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/108-cap-theorem.md @@ -0,0 +1 @@ +# Cap theorem \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/readme.md b/content/roadmaps/101-backend/content/108-more-about-databases/readme.md new file mode 100644 index 000000000..9b82db219 --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/readme.md @@ -0,0 +1 @@ +# More about databases \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/100-rest.md b/content/roadmaps/101-backend/content/109-apis/100-rest.md new file mode 100644 index 000000000..5088a865c --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/100-rest.md @@ -0,0 +1 @@ +# Rest \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/101-json-apis.md b/content/roadmaps/101-backend/content/109-apis/101-json-apis.md new file mode 100644 index 000000000..c37be7d18 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/101-json-apis.md @@ -0,0 +1 @@ +# Json apis \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/102-soap.md b/content/roadmaps/101-backend/content/109-apis/102-soap.md new file mode 100644 index 000000000..388cb826f --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/102-soap.md @@ -0,0 +1 @@ +# Soap \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/103-grpc.md b/content/roadmaps/101-backend/content/109-apis/103-grpc.md new file mode 100644 index 000000000..5d543f43c --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/103-grpc.md @@ -0,0 +1 @@ +# Grpc \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/104-hateoas.md b/content/roadmaps/101-backend/content/109-apis/104-hateoas.md new file mode 100644 index 000000000..5d512d077 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/104-hateoas.md @@ -0,0 +1 @@ +# Hateoas \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/105-open-api-spec.md b/content/roadmaps/101-backend/content/109-apis/105-open-api-spec.md new file mode 100644 index 000000000..c0dd7fe71 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/105-open-api-spec.md @@ -0,0 +1 @@ +# Open api spec \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/106-authentication/100-cookie-based.md b/content/roadmaps/101-backend/content/109-apis/106-authentication/100-cookie-based.md new file mode 100644 index 000000000..72735c138 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/106-authentication/100-cookie-based.md @@ -0,0 +1 @@ +# Cookie based \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/106-authentication/101-oauth.md b/content/roadmaps/101-backend/content/109-apis/106-authentication/101-oauth.md new file mode 100644 index 000000000..4288db050 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/106-authentication/101-oauth.md @@ -0,0 +1 @@ +# Oauth \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/106-authentication/102-basic-authentication.md b/content/roadmaps/101-backend/content/109-apis/106-authentication/102-basic-authentication.md new file mode 100644 index 000000000..771370c96 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/106-authentication/102-basic-authentication.md @@ -0,0 +1 @@ +# Basic authentication \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/106-authentication/103-token-authentication.md b/content/roadmaps/101-backend/content/109-apis/106-authentication/103-token-authentication.md new file mode 100644 index 000000000..368549660 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/106-authentication/103-token-authentication.md @@ -0,0 +1 @@ +# Token authentication \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/106-authentication/104-jwt.md b/content/roadmaps/101-backend/content/109-apis/106-authentication/104-jwt.md new file mode 100644 index 000000000..d4a983b34 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/106-authentication/104-jwt.md @@ -0,0 +1 @@ +# Jwt \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/106-authentication/105-openid.md b/content/roadmaps/101-backend/content/109-apis/106-authentication/105-openid.md new file mode 100644 index 000000000..70dd95853 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/106-authentication/105-openid.md @@ -0,0 +1 @@ +# Openid \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/106-authentication/105-saml.md b/content/roadmaps/101-backend/content/109-apis/106-authentication/105-saml.md new file mode 100644 index 000000000..9cec13756 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/106-authentication/105-saml.md @@ -0,0 +1 @@ +# Saml \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/106-authentication/readme.md b/content/roadmaps/101-backend/content/109-apis/106-authentication/readme.md new file mode 100644 index 000000000..66a783b30 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/106-authentication/readme.md @@ -0,0 +1 @@ +# Authentication \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/109-apis/readme.md b/content/roadmaps/101-backend/content/109-apis/readme.md new file mode 100644 index 000000000..db412acd9 --- /dev/null +++ b/content/roadmaps/101-backend/content/109-apis/readme.md @@ -0,0 +1 @@ +# Apis \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/110-caching/100-cdn.md b/content/roadmaps/101-backend/content/110-caching/100-cdn.md new file mode 100644 index 000000000..10851277a --- /dev/null +++ b/content/roadmaps/101-backend/content/110-caching/100-cdn.md @@ -0,0 +1 @@ +# Cdn \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/110-caching/101-server-side/100-redis.md b/content/roadmaps/101-backend/content/110-caching/101-server-side/100-redis.md new file mode 100644 index 000000000..0de4bc736 --- /dev/null +++ b/content/roadmaps/101-backend/content/110-caching/101-server-side/100-redis.md @@ -0,0 +1 @@ +# Redis \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/110-caching/101-server-side/101-memcached.md b/content/roadmaps/101-backend/content/110-caching/101-server-side/101-memcached.md new file mode 100644 index 000000000..a77571ada --- /dev/null +++ b/content/roadmaps/101-backend/content/110-caching/101-server-side/101-memcached.md @@ -0,0 +1 @@ +# Memcached \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/110-caching/101-server-side/readme.md b/content/roadmaps/101-backend/content/110-caching/101-server-side/readme.md new file mode 100644 index 000000000..ed3765dd8 --- /dev/null +++ b/content/roadmaps/101-backend/content/110-caching/101-server-side/readme.md @@ -0,0 +1 @@ +# Server side \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/110-caching/102-client-side.md b/content/roadmaps/101-backend/content/110-caching/102-client-side.md new file mode 100644 index 000000000..2d2376520 --- /dev/null +++ b/content/roadmaps/101-backend/content/110-caching/102-client-side.md @@ -0,0 +1 @@ +# Client side \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/110-caching/readme.md b/content/roadmaps/101-backend/content/110-caching/readme.md new file mode 100644 index 000000000..07f88797a --- /dev/null +++ b/content/roadmaps/101-backend/content/110-caching/readme.md @@ -0,0 +1 @@ +# Caching \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/100-md5.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/100-md5.md new file mode 100644 index 000000000..30a6ef237 --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/100-md5.md @@ -0,0 +1 @@ +# Md5 \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/101-sha-family.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/101-sha-family.md new file mode 100644 index 000000000..4ab9c4f9b --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/101-sha-family.md @@ -0,0 +1 @@ +# Sha family \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/102-bcrypt.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/102-bcrypt.md new file mode 100644 index 000000000..4d74e8304 --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/102-bcrypt.md @@ -0,0 +1 @@ +# Bcrypt \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/104-scrypt.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/104-scrypt.md new file mode 100644 index 000000000..fd0de9978 --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/104-scrypt.md @@ -0,0 +1 @@ +# Scrypt \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/105-content-security-policy.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/105-content-security-policy.md new file mode 100644 index 000000000..9a1241811 --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/105-content-security-policy.md @@ -0,0 +1 @@ +# Content security policy \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/105-https.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/105-https.md new file mode 100644 index 000000000..cd7ede8bd --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/105-https.md @@ -0,0 +1 @@ +# Https \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/106-cors.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/106-cors.md new file mode 100644 index 000000000..7b9050194 --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/106-cors.md @@ -0,0 +1 @@ +# Cors \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/107-ssl-tls.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/107-ssl-tls.md new file mode 100644 index 000000000..064964cdf --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/107-ssl-tls.md @@ -0,0 +1 @@ +# Ssl tls \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/108-owasp.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/108-owasp.md new file mode 100644 index 000000000..2c3dd94a4 --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/108-owasp.md @@ -0,0 +1 @@ +# Owasp \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/111-web-security-knowledge/readme.md b/content/roadmaps/101-backend/content/111-web-security-knowledge/readme.md new file mode 100644 index 000000000..f440075e0 --- /dev/null +++ b/content/roadmaps/101-backend/content/111-web-security-knowledge/readme.md @@ -0,0 +1 @@ +# Web security knowledge \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/112-testing/100-integration-testing.md b/content/roadmaps/101-backend/content/112-testing/100-integration-testing.md new file mode 100644 index 000000000..30f1d7fbd --- /dev/null +++ b/content/roadmaps/101-backend/content/112-testing/100-integration-testing.md @@ -0,0 +1 @@ +# Integration testing \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/112-testing/101-unit-testing.md b/content/roadmaps/101-backend/content/112-testing/101-unit-testing.md new file mode 100644 index 000000000..94ee45331 --- /dev/null +++ b/content/roadmaps/101-backend/content/112-testing/101-unit-testing.md @@ -0,0 +1 @@ +# Unit testing \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/112-testing/102-functional-testing.md b/content/roadmaps/101-backend/content/112-testing/102-functional-testing.md new file mode 100644 index 000000000..db67a05b7 --- /dev/null +++ b/content/roadmaps/101-backend/content/112-testing/102-functional-testing.md @@ -0,0 +1 @@ +# Functional testing \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/112-testing/readme.md b/content/roadmaps/101-backend/content/112-testing/readme.md new file mode 100644 index 000000000..94cfd7d77 --- /dev/null +++ b/content/roadmaps/101-backend/content/112-testing/readme.md @@ -0,0 +1 @@ +# Testing \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/113-ci-cd.md b/content/roadmaps/101-backend/content/113-ci-cd.md new file mode 100644 index 000000000..edee7d737 --- /dev/null +++ b/content/roadmaps/101-backend/content/113-ci-cd.md @@ -0,0 +1 @@ +# Ci cd \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/100-gof-design-patterns.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/100-gof-design-patterns.md new file mode 100644 index 000000000..80a8498fd --- /dev/null +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/100-gof-design-patterns.md @@ -0,0 +1 @@ +# Gof design patterns \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md new file mode 100644 index 000000000..27cc770b3 --- /dev/null +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md @@ -0,0 +1 @@ +# Domain driven design \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/102-test-driven-development.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/102-test-driven-development.md new file mode 100644 index 000000000..3ad649e5d --- /dev/null +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/102-test-driven-development.md @@ -0,0 +1 @@ +# Test driven development \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/103-solid.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/103-solid.md new file mode 100644 index 000000000..7d6790eb1 --- /dev/null +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/103-solid.md @@ -0,0 +1 @@ +# Solid \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/104-kiss.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/104-kiss.md new file mode 100644 index 000000000..19562d9b6 --- /dev/null +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/104-kiss.md @@ -0,0 +1 @@ +# Kiss \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/105-yagni.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/105-yagni.md new file mode 100644 index 000000000..99a944f08 --- /dev/null +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/105-yagni.md @@ -0,0 +1 @@ +# Yagni \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/106-dry.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/106-dry.md new file mode 100644 index 000000000..378c54dd5 --- /dev/null +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/106-dry.md @@ -0,0 +1 @@ +# Dry \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/readme.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/readme.md new file mode 100644 index 000000000..46706a444 --- /dev/null +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/readme.md @@ -0,0 +1 @@ +# Design and development principles \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/115-architectural-patterns/100-monolithic-apps.md b/content/roadmaps/101-backend/content/115-architectural-patterns/100-monolithic-apps.md new file mode 100644 index 000000000..f45912489 --- /dev/null +++ b/content/roadmaps/101-backend/content/115-architectural-patterns/100-monolithic-apps.md @@ -0,0 +1 @@ +# Monolithic apps \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/115-architectural-patterns/101-microservices.md b/content/roadmaps/101-backend/content/115-architectural-patterns/101-microservices.md new file mode 100644 index 000000000..3ace82ef2 --- /dev/null +++ b/content/roadmaps/101-backend/content/115-architectural-patterns/101-microservices.md @@ -0,0 +1 @@ +# Microservices \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/115-architectural-patterns/102-soa.md b/content/roadmaps/101-backend/content/115-architectural-patterns/102-soa.md new file mode 100644 index 000000000..f5538ff66 --- /dev/null +++ b/content/roadmaps/101-backend/content/115-architectural-patterns/102-soa.md @@ -0,0 +1 @@ +# Soa \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/115-architectural-patterns/103-cqrs.md b/content/roadmaps/101-backend/content/115-architectural-patterns/103-cqrs.md new file mode 100644 index 000000000..53209f872 --- /dev/null +++ b/content/roadmaps/101-backend/content/115-architectural-patterns/103-cqrs.md @@ -0,0 +1 @@ +# Cqrs \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/115-architectural-patterns/104-serverless.md b/content/roadmaps/101-backend/content/115-architectural-patterns/104-serverless.md new file mode 100644 index 000000000..0ef70d396 --- /dev/null +++ b/content/roadmaps/101-backend/content/115-architectural-patterns/104-serverless.md @@ -0,0 +1 @@ +# Serverless \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/115-architectural-patterns/readme.md b/content/roadmaps/101-backend/content/115-architectural-patterns/readme.md new file mode 100644 index 000000000..9dc6d42a6 --- /dev/null +++ b/content/roadmaps/101-backend/content/115-architectural-patterns/readme.md @@ -0,0 +1 @@ +# Architectural patterns \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/116-search-engines/100-elasticsearch.md b/content/roadmaps/101-backend/content/116-search-engines/100-elasticsearch.md new file mode 100644 index 000000000..1c01a877a --- /dev/null +++ b/content/roadmaps/101-backend/content/116-search-engines/100-elasticsearch.md @@ -0,0 +1 @@ +# Elasticsearch \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/116-search-engines/101-solr.md b/content/roadmaps/101-backend/content/116-search-engines/101-solr.md new file mode 100644 index 000000000..54c3caa94 --- /dev/null +++ b/content/roadmaps/101-backend/content/116-search-engines/101-solr.md @@ -0,0 +1 @@ +# Solr \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/116-search-engines/readme.md b/content/roadmaps/101-backend/content/116-search-engines/readme.md new file mode 100644 index 000000000..bc600ec99 --- /dev/null +++ b/content/roadmaps/101-backend/content/116-search-engines/readme.md @@ -0,0 +1 @@ +# Search engines \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/117-message-brokers/100-rabbitmq.md b/content/roadmaps/101-backend/content/117-message-brokers/100-rabbitmq.md new file mode 100644 index 000000000..dc5fc1d48 --- /dev/null +++ b/content/roadmaps/101-backend/content/117-message-brokers/100-rabbitmq.md @@ -0,0 +1 @@ +# Rabbitmq \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/117-message-brokers/101-kafka.md b/content/roadmaps/101-backend/content/117-message-brokers/101-kafka.md new file mode 100644 index 000000000..96fba0ab7 --- /dev/null +++ b/content/roadmaps/101-backend/content/117-message-brokers/101-kafka.md @@ -0,0 +1 @@ +# Kafka \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/117-message-brokers/readme.md b/content/roadmaps/101-backend/content/117-message-brokers/readme.md new file mode 100644 index 000000000..08e76c75e --- /dev/null +++ b/content/roadmaps/101-backend/content/117-message-brokers/readme.md @@ -0,0 +1 @@ +# Message brokers \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/118-containerization/100-docker.md b/content/roadmaps/101-backend/content/118-containerization/100-docker.md new file mode 100644 index 000000000..687140836 --- /dev/null +++ b/content/roadmaps/101-backend/content/118-containerization/100-docker.md @@ -0,0 +1 @@ +# Docker \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/118-containerization/101-rkt.md b/content/roadmaps/101-backend/content/118-containerization/101-rkt.md new file mode 100644 index 000000000..916fd70a9 --- /dev/null +++ b/content/roadmaps/101-backend/content/118-containerization/101-rkt.md @@ -0,0 +1 @@ +# Rkt \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/118-containerization/102-lxc.md b/content/roadmaps/101-backend/content/118-containerization/102-lxc.md new file mode 100644 index 000000000..5b04c84c2 --- /dev/null +++ b/content/roadmaps/101-backend/content/118-containerization/102-lxc.md @@ -0,0 +1 @@ +# Lxc \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/118-containerization/readme.md b/content/roadmaps/101-backend/content/118-containerization/readme.md new file mode 100644 index 000000000..9268986d8 --- /dev/null +++ b/content/roadmaps/101-backend/content/118-containerization/readme.md @@ -0,0 +1 @@ +# Containerization \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/119-graphql/100-apollo.md b/content/roadmaps/101-backend/content/119-graphql/100-apollo.md new file mode 100644 index 000000000..845aec91d --- /dev/null +++ b/content/roadmaps/101-backend/content/119-graphql/100-apollo.md @@ -0,0 +1 @@ +# Apollo \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/119-graphql/101-relay-modern.md b/content/roadmaps/101-backend/content/119-graphql/101-relay-modern.md new file mode 100644 index 000000000..b821c1bb5 --- /dev/null +++ b/content/roadmaps/101-backend/content/119-graphql/101-relay-modern.md @@ -0,0 +1 @@ +# Relay modern \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/119-graphql/readme.md b/content/roadmaps/101-backend/content/119-graphql/readme.md new file mode 100644 index 000000000..92b738b69 --- /dev/null +++ b/content/roadmaps/101-backend/content/119-graphql/readme.md @@ -0,0 +1 @@ +# Graphql \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/120-graph-databases/100-neo4j.md b/content/roadmaps/101-backend/content/120-graph-databases/100-neo4j.md new file mode 100644 index 000000000..42258d939 --- /dev/null +++ b/content/roadmaps/101-backend/content/120-graph-databases/100-neo4j.md @@ -0,0 +1 @@ +# Neo4j \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/120-graph-databases/readme.md b/content/roadmaps/101-backend/content/120-graph-databases/readme.md new file mode 100644 index 000000000..54a5a1640 --- /dev/null +++ b/content/roadmaps/101-backend/content/120-graph-databases/readme.md @@ -0,0 +1 @@ +# Graph databases \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/121-web-sockets.md b/content/roadmaps/101-backend/content/121-web-sockets.md new file mode 100644 index 000000000..8b76cfb8d --- /dev/null +++ b/content/roadmaps/101-backend/content/121-web-sockets.md @@ -0,0 +1 @@ +# Web sockets \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/122-web-servers/100-nginx.md b/content/roadmaps/101-backend/content/122-web-servers/100-nginx.md new file mode 100644 index 000000000..6026f3d2d --- /dev/null +++ b/content/roadmaps/101-backend/content/122-web-servers/100-nginx.md @@ -0,0 +1 @@ +# Nginx \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/122-web-servers/101-apache.md b/content/roadmaps/101-backend/content/122-web-servers/101-apache.md new file mode 100644 index 000000000..b00666336 --- /dev/null +++ b/content/roadmaps/101-backend/content/122-web-servers/101-apache.md @@ -0,0 +1 @@ +# Apache \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/122-web-servers/102-caddy.md b/content/roadmaps/101-backend/content/122-web-servers/102-caddy.md new file mode 100644 index 000000000..0b4e60b6c --- /dev/null +++ b/content/roadmaps/101-backend/content/122-web-servers/102-caddy.md @@ -0,0 +1 @@ +# Caddy \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/122-web-servers/103-ms-iis.md b/content/roadmaps/101-backend/content/122-web-servers/103-ms-iis.md new file mode 100644 index 000000000..659721734 --- /dev/null +++ b/content/roadmaps/101-backend/content/122-web-servers/103-ms-iis.md @@ -0,0 +1 @@ +# Ms iis \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/122-web-servers/readme.md b/content/roadmaps/101-backend/content/122-web-servers/readme.md new file mode 100644 index 000000000..0ad9cf0c8 --- /dev/null +++ b/content/roadmaps/101-backend/content/122-web-servers/readme.md @@ -0,0 +1 @@ +# Web servers \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies.md b/content/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies.md new file mode 100644 index 000000000..14dcc962a --- /dev/null +++ b/content/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies.md @@ -0,0 +1 @@ +# Mitigation strategies \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md b/content/roadmaps/101-backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md new file mode 100644 index 000000000..742080177 --- /dev/null +++ b/content/roadmaps/101-backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md @@ -0,0 +1 @@ +# Instrumentation monitoring telemetry \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/123-scalability/102-migration-strategies.md b/content/roadmaps/101-backend/content/123-scalability/102-migration-strategies.md new file mode 100644 index 000000000..d3bc035a1 --- /dev/null +++ b/content/roadmaps/101-backend/content/123-scalability/102-migration-strategies.md @@ -0,0 +1 @@ +# Migration strategies \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/123-scalability/103-horizontal-vertial-scaling.md b/content/roadmaps/101-backend/content/123-scalability/103-horizontal-vertial-scaling.md new file mode 100644 index 000000000..17ce60808 --- /dev/null +++ b/content/roadmaps/101-backend/content/123-scalability/103-horizontal-vertial-scaling.md @@ -0,0 +1 @@ +# Horizontal vertial scaling \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/123-scalability/104-observability.md b/content/roadmaps/101-backend/content/123-scalability/104-observability.md new file mode 100644 index 000000000..c5ac4a2fa --- /dev/null +++ b/content/roadmaps/101-backend/content/123-scalability/104-observability.md @@ -0,0 +1 @@ +# Observability \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/123-scalability/readme.md b/content/roadmaps/101-backend/content/123-scalability/readme.md new file mode 100644 index 000000000..d6ca5f195 --- /dev/null +++ b/content/roadmaps/101-backend/content/123-scalability/readme.md @@ -0,0 +1 @@ +# Scalability \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/readme.md b/content/roadmaps/101-backend/content/readme.md new file mode 100644 index 000000000..4e768b56d --- /dev/null +++ b/content/roadmaps/101-backend/content/readme.md @@ -0,0 +1 @@ +# \ No newline at end of file diff --git a/content/roadmaps/101-backend/meta.json b/content/roadmaps/101-backend/meta.json index 5af244713..1986ddd80 100644 --- a/content/roadmaps/101-backend/meta.json +++ b/content/roadmaps/101-backend/meta.json @@ -35,11 +35,12 @@ "featuredDescription": "Step by step guide to becoming a backend developer in 2022", "featured": true, "imageUrl": "/roadmaps/backend.png", - "jsonUrl": "/project/frontend.json", + "jsonUrl": "/project/backend.json", "resourcesPath": "./resources.md", "author": { "name": "Kamran Ahmed", "url": "https://twitter.com/kamranahmedse" }, - "pdfUrl": "https://kamranahmedse.gumroad.com/l/backend-roadmap" -} + "pdfUrl": "https://kamranahmedse.gumroad.com/l/backend-roadmap", + "contentPathsFilePath": "./content-paths.json" +} \ No newline at end of file diff --git a/lib/roadmap.ts b/lib/roadmap.ts index 6f89bc5a5..1b009c9bd 100644 --- a/lib/roadmap.ts +++ b/lib/roadmap.ts @@ -40,3 +40,7 @@ export function getFeaturedRoadmaps(): RoadmapType[] { return roadmaps.filter((roadmap) => roadmap.featured); } + +export function isInteractiveRoadmap(id: string): boolean { + return ['frontend', 'backend'].includes(id); +} diff --git a/pages/[roadmap]/index.tsx b/pages/[roadmap]/index.tsx index f844d1230..f046c3f8a 100644 --- a/pages/[roadmap]/index.tsx +++ b/pages/[roadmap]/index.tsx @@ -4,7 +4,7 @@ import { GlobalHeader } from '../../components/global-header'; import { OpensourceBanner } from '../../components/opensource-banner'; import { UpdatesBanner } from '../../components/updates-banner'; import { Footer } from '../../components/footer'; -import { getAllRoadmaps, getRoadmapById, RoadmapType } from '../../lib/roadmap'; +import { getAllRoadmaps, getRoadmapById, isInteractiveRoadmap, RoadmapType } from '../../lib/roadmap'; import MdRenderer from '../../components/md-renderer'; import Helmet from '../../components/helmet'; import { RoadmapPageHeader } from '../../components/roadmap/roadmap-page-header'; @@ -17,7 +17,7 @@ type RoadmapProps = { function ImageRoadmap(props: RoadmapProps) { const { roadmap } = props; - if (roadmap.id === 'frontend') { + if (isInteractiveRoadmap(roadmap.id)) { return ; } diff --git a/pages/[roadmap]/interactive.tsx b/pages/[roadmap]/interactive.tsx index ab83dd27e..4038ee39c 100644 --- a/pages/[roadmap]/interactive.tsx +++ b/pages/[roadmap]/interactive.tsx @@ -118,6 +118,10 @@ export function InteractiveRoadmapRenderer(props: RoadmapProps) { minHeight = ['970px', '970px', '2100px', '2800px', '2800px']; } + if (roadmap.id === 'backend') { + minHeight = ['870px', '1130px', '1900px', '2500px', '2520px', '2520px']; + } + return ( {(isLoading || isRendering) && } diff --git a/public/project/backend.json b/public/project/backend.json index ff6308433..c224a1aa0 100644 --- a/public/project/backend.json +++ b/public/project/backend.json @@ -3,10 +3,15 @@ "controls": { "control": [ { - "ID": "729", + "ID": "2049", + "typeID": "Arrow", + "zOrder": "0", + "w": "62", "h": "114", - "measuredH": "113", - "measuredW": "61", + "measuredW": "150", + "measuredH": "100", + "x": "937", + "y": "1226", "properties": { "color": "2848996", "curvature": "1", @@ -26,18 +31,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "62", - "x": "937", - "y": "1226", - "zOrder": "0" + } }, { - "ID": "730", + "ID": "2050", + "typeID": "Arrow", + "zOrder": "1", + "w": "52", "h": "68", - "measuredH": "67", - "measuredW": "51", + "measuredW": "150", + "measuredH": "100", + "x": "946", + "y": "1225", "properties": { "color": "2848996", "curvature": "0", @@ -57,18 +62,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "52", - "x": "946", - "y": "1225", - "zOrder": "1" + } }, { - "ID": "731", + "ID": "2051", + "typeID": "Arrow", + "zOrder": "2", + "w": "65", "h": "39", - "measuredH": "38", - "measuredW": "64", + "measuredW": "150", + "measuredH": "100", + "x": "936", + "y": "1209", "properties": { "color": "2848996", "curvature": "0", @@ -88,18 +93,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "65", - "x": "936", - "y": "1209", - "zOrder": "2" + } }, { - "ID": "732", + "ID": "2052", + "typeID": "Arrow", + "zOrder": "3", + "w": "88", "h": "20", - "measuredH": "20", - "measuredW": "88", + "measuredW": "150", + "measuredH": "100", + "x": "1005", + "y": "1604", "properties": { "color": "2848996", "curvature": "-1", @@ -118,18 +123,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "88", - "x": "1005", - "y": "1604", - "zOrder": "3" + } }, { - "ID": "733", + "ID": "2053", + "typeID": "Arrow", + "zOrder": "4", + "w": "116", "h": "68", - "measuredH": "68", - "measuredW": "116", + "measuredW": "150", + "measuredH": "100", + "x": "850", + "y": "2910", "properties": { "color": "2848996", "direction": "bottom", @@ -148,18 +153,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "116", - "x": "850", - "y": "2910", - "zOrder": "4" + } }, { - "ID": "734", + "ID": "2054", + "typeID": "Arrow", + "zOrder": "5", + "w": "133", "h": "34", - "measuredH": "34", - "measuredW": "133", + "measuredW": "150", + "measuredH": "100", + "x": "840", + "y": "2900", "properties": { "color": "2848996", "direction": "bottom", @@ -178,18 +183,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "133", - "x": "840", - "y": "2900", - "zOrder": "5" + } }, { - "ID": "735", + "ID": "2055", + "typeID": "Arrow", + "zOrder": "6", + "w": "2", "h": "89", - "measuredH": "88", - "measuredW": "1", + "measuredW": "150", + "measuredH": "100", + "x": "727", + "y": "3123", "properties": { "color": "2848996", "curvature": "0", @@ -208,18 +213,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "2", - "x": "727", - "y": "3123", - "zOrder": "6" + } }, { - "ID": "736", + "ID": "2056", + "typeID": "Arrow", + "zOrder": "7", + "w": "8", "h": "166", - "measuredH": "165", - "measuredW": "7", + "measuredW": "150", + "measuredH": "100", + "x": "727", + "y": "2945", "properties": { "color": "2848996", "curvature": "0", @@ -237,46 +242,18 @@ "y": 0 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "8", - "x": "727", - "y": "2945", - "zOrder": "7" - }, - { - "ID": "737", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "207", - "x": "632", - "y": "3094", - "zOrder": "8" - }, - { - "ID": "738", - "measuredH": "25", - "measuredW": "117", - "properties": { - "bold": "true", - "size": "17", - "text": "Keep Learning" - }, - "typeID": "Label", - "x": "677", - "y": "3107", - "zOrder": "9" + } }, { - "ID": "739", + "ID": "2059", + "typeID": "Arrow", + "zOrder": "9", + "w": "131", "h": "1", - "measuredH": "1", - "measuredW": "131", + "measuredW": "150", + "measuredH": "100", + "x": "850", + "y": "2890", "properties": { "color": "2848996", "direction": "bottom", @@ -295,18 +272,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "131", - "x": "850", - "y": "2890", - "zOrder": "10" + } }, { - "ID": "740", + "ID": "2060", + "typeID": "Arrow", + "zOrder": "10", + "w": "71", "h": "11", - "measuredH": "11", - "measuredW": "71", + "measuredW": "150", + "measuredH": "100", + "x": "256", + "y": "2910", "properties": { "color": "2848996", "direction": "bottom", @@ -325,18 +302,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "71", - "x": "256", - "y": "2910", - "zOrder": "11" + } }, { - "ID": "741", + "ID": "2061", + "typeID": "Arrow", + "zOrder": "11", + "w": "71", "h": "31", - "measuredH": "31", - "measuredW": "71", + "measuredW": "150", + "measuredH": "100", + "x": "255", + "y": "2912", "properties": { "color": "2848996", "direction": "bottom", @@ -355,18 +332,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "71", - "x": "255", - "y": "2912", - "zOrder": "12" + } }, { - "ID": "742", + "ID": "2062", + "typeID": "Arrow", + "zOrder": "12", + "w": "64", "h": "17", - "measuredH": "17", - "measuredW": "64", + "measuredW": "150", + "measuredH": "100", + "x": "256", + "y": "2894", "properties": { "color": "2848996", "direction": "bottom", @@ -385,18 +362,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "64", - "x": "256", - "y": "2894", - "zOrder": "13" + } }, { - "ID": "743", + "ID": "2063", + "typeID": "Arrow", + "zOrder": "13", + "w": "81", "h": "52", - "measuredH": "52", - "measuredW": "81", + "measuredW": "150", + "measuredH": "100", + "x": "238", + "y": "2791", "properties": { "color": "2848996", "direction": "bottom", @@ -415,18 +392,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "81", - "x": "238", - "y": "2791", - "zOrder": "14" + } }, { - "ID": "744", + "ID": "2064", + "typeID": "Arrow", + "zOrder": "14", + "w": "87", "h": "35", - "measuredH": "35", - "measuredW": "87", + "measuredW": "150", + "measuredH": "100", + "x": "236", + "y": "2732", "properties": { "color": "2848996", "direction": "bottom", @@ -445,18 +422,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "87", - "x": "236", - "y": "2732", - "zOrder": "15" + } }, { - "ID": "745", + "ID": "2065", + "typeID": "Arrow", + "zOrder": "15", + "w": "88", "h": "39", - "measuredH": "39", - "measuredW": "88", + "measuredW": "150", + "measuredH": "100", + "x": "238", + "y": "2779", "properties": { "color": "2848996", "direction": "bottom", @@ -475,18 +452,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "88", - "x": "238", - "y": "2779", - "zOrder": "16" + } }, { - "ID": "746", + "ID": "2066", + "typeID": "Arrow", + "zOrder": "16", + "w": "92", "h": "15", - "measuredH": "15", - "measuredW": "92", + "measuredW": "150", + "measuredH": "100", + "x": "238", + "y": "2775", "properties": { "color": "2848996", "direction": "bottom", @@ -505,18 +482,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "92", - "x": "238", - "y": "2775", - "zOrder": "17" + } }, { - "ID": "747", + "ID": "2067", + "typeID": "Arrow", + "zOrder": "17", + "w": "84", "h": "11", - "measuredH": "11", - "measuredW": "84", + "measuredW": "150", + "measuredH": "100", + "x": "237", + "y": "2761", "properties": { "color": "2848996", "direction": "bottom", @@ -535,18 +512,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "84", - "x": "237", - "y": "2761", - "zOrder": "18" + } }, { - "ID": "748", + "ID": "2068", + "typeID": "Arrow", + "zOrder": "18", + "w": "131", "h": "2", - "measuredH": "2", - "measuredW": "131", + "measuredW": "150", + "measuredH": "100", + "x": "462", + "y": "2914", "properties": { "color": "2848996", "direction": "bottom", @@ -565,18 +542,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "131", - "x": "462", - "y": "2914", - "zOrder": "19" + } }, { - "ID": "749", + "ID": "2069", + "typeID": "Arrow", + "zOrder": "19", + "w": "83", "h": "112", - "measuredH": "112", - "measuredW": "83", + "measuredW": "150", + "measuredH": "100", + "x": "501", + "y": "2780", "properties": { "color": "2848996", "direction": "bottom", @@ -595,47 +572,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "83", - "x": "501", - "y": "2780", - "zOrder": "20" - }, - { - "ID": "750", - "h": "123", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "335", - "x": "938", - "y": "2962", - "zOrder": "21" - }, - { - "ID": "751", - "measuredH": "25", - "measuredW": "276", - "properties": { - "bold": "true", - "size": "17", - "text": "Building with Observability in mind" - }, - "typeID": "Label", - "w": "281", - "x": "968", - "y": "2974", - "zOrder": "22" + } }, { - "ID": "752", + "ID": "2072", + "typeID": "Arrow", + "zOrder": "21", + "w": "35", "h": "95", - "measuredH": "95", - "measuredW": "35", + "measuredW": "150", + "measuredH": "100", + "x": "802", + "y": "2754", "properties": { "color": "2848996", "direction": "bottom", @@ -653,18 +601,18 @@ "y": 0 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "35", - "x": "802", - "y": "2754", - "zOrder": "23" + } }, { - "ID": "753", + "ID": "2073", + "typeID": "Arrow", + "zOrder": "22", + "w": "162", "h": "1", - "measuredH": "1", - "measuredW": "162", + "measuredW": "150", + "measuredH": "100", + "x": "623", + "y": "2742", "properties": { "color": "2848996", "direction": "bottom", @@ -682,19 +630,19 @@ "y": 0.5 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "162", - "x": "623", - "y": "2742", - "zOrder": "24" + } }, { - "ID": "754", + "ID": "2074", + "typeID": "Arrow", + "zOrder": "23", + "w": "2", "h": "80", - "measuredH": "80", - "measuredW": "2", - "properties": { + "measuredW": "150", + "measuredH": "100", + "x": "1078", + "y": "2129", + "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", @@ -712,18 +660,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "2", - "x": "1078", - "y": "2129", - "zOrder": "25" + } }, { - "ID": "755", + "ID": "2075", + "typeID": "Arrow", + "zOrder": "24", + "w": "88", "h": "1", - "measuredH": "1", - "measuredW": "88", + "measuredW": "150", + "measuredH": "100", + "x": "811", + "y": "2137", "properties": { "color": "2848996", "direction": "bottom", @@ -741,18 +689,18 @@ "y": -0.5 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "88", - "x": "811", - "y": "2137", - "zOrder": "26" + } }, { - "ID": "756", + "ID": "2076", + "typeID": "Arrow", + "zOrder": "25", + "w": "98", "h": "196", - "measuredH": "196", - "measuredW": "98", + "measuredW": "150", + "measuredH": "100", + "x": "407", + "y": "2156", "properties": { "color": "2848996", "curvature": "-1", @@ -771,18 +719,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "98", - "x": "407", - "y": "2156", - "zOrder": "27" + } }, { - "ID": "757", + "ID": "2077", + "typeID": "Arrow", + "zOrder": "26", + "w": "95", "h": "160", - "measuredH": "160", - "measuredW": "95", + "measuredW": "150", + "measuredH": "100", + "x": "409", + "y": "2147", "properties": { "color": "2848996", "curvature": "-1", @@ -801,18 +749,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "95", - "x": "409", - "y": "2147", - "zOrder": "28" + } }, { - "ID": "758", + "ID": "2078", + "typeID": "Arrow", + "zOrder": "27", + "w": "108", "h": "80", - "measuredH": "80", - "measuredW": "108", + "measuredW": "150", + "measuredH": "100", + "x": "649", + "y": "2053", "properties": { "color": "2848996", "direction": "bottom", @@ -830,18 +778,18 @@ "y": 0 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "108", - "x": "649", - "y": "2053", - "zOrder": "29" + } }, { - "ID": "759", + "ID": "2079", + "typeID": "Arrow", + "zOrder": "28", + "w": "99", "h": "91", - "measuredH": "91", - "measuredW": "99", + "measuredW": "150", + "measuredH": "100", + "x": "410", + "y": "2135", "properties": { "color": "2848996", "curvature": "-1", @@ -860,18 +808,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "99", - "x": "410", - "y": "2135", - "zOrder": "30" + } }, { - "ID": "760", + "ID": "2080", + "typeID": "Arrow", + "zOrder": "29", + "w": "67", "h": "36", - "measuredH": "36", - "measuredW": "67", + "measuredW": "150", + "measuredH": "100", + "x": "452", + "y": "1787", "properties": { "color": "2848996", "curvature": "-1", @@ -890,18 +838,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "67", - "x": "452", - "y": "1787", - "zOrder": "31" + } }, { - "ID": "761", + "ID": "2081", + "typeID": "Arrow", + "zOrder": "30", + "w": "103", "h": "46", - "measuredH": "46", - "measuredW": "103", + "measuredW": "150", + "measuredH": "100", + "x": "404", + "y": "2132", "properties": { "color": "2848996", "curvature": "-1", @@ -920,18 +868,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "103", - "x": "404", - "y": "2132", - "zOrder": "32" + } }, { - "ID": "762", + "ID": "2082", + "typeID": "Arrow", + "zOrder": "31", + "w": "121", "h": "4", - "measuredH": "4", - "measuredW": "121", + "measuredW": "150", + "measuredH": "100", + "x": "387", + "y": "2128", "properties": { "color": "2848996", "curvature": "-1", @@ -950,18 +898,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "121", - "x": "387", - "y": "2128", - "zOrder": "33" + } }, { - "ID": "763", + "ID": "2083", + "typeID": "Arrow", + "zOrder": "32", + "w": "107", "h": "38", - "measuredH": "38", - "measuredW": "107", + "measuredW": "150", + "measuredH": "100", + "x": "401", + "y": "2086", "properties": { "color": "2848996", "curvature": "-1", @@ -980,18 +928,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "107", - "x": "401", - "y": "2086", - "zOrder": "34" + } }, { - "ID": "764", + "ID": "2084", + "typeID": "Arrow", + "zOrder": "33", + "w": "105", "h": "128", - "measuredH": "128", - "measuredW": "105", + "measuredW": "150", + "measuredH": "100", + "x": "402", + "y": "2136", "properties": { "color": "2848996", "curvature": "-1", @@ -1010,18 +958,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "105", - "x": "402", - "y": "2136", - "zOrder": "35" + } }, { - "ID": "765", + "ID": "2085", + "typeID": "Arrow", + "zOrder": "34", + "w": "57", "h": "105", - "measuredH": "105", - "measuredW": "57", + "measuredW": "150", + "measuredH": "100", + "x": "741", + "y": "2132", "properties": { "color": "2848996", "direction": "bottom", @@ -1039,131 +987,18 @@ "y": 0 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "57", - "x": "741", - "y": "2132", - "zOrder": "36" - }, - { - "ID": "766", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "317", - "x": "887", - "y": "2111", - "zOrder": "37" - }, - { - "ID": "767", - "measuredH": "25", - "measuredW": "179", - "properties": { - "bold": "true", - "size": "17", - "text": "Architectural Patterns" - }, - "typeID": "Label", - "w": "183", - "x": "954", - "y": "2124", - "zOrder": "38" - }, - { - "ID": "768", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "243", - "x": "958", - "y": "2179", - "zOrder": "39" - }, - { - "ID": "769", - "measuredH": "25", - "measuredW": "121", - "properties": { - "size": "17", - "text": "Monolithic Apps" - }, - "typeID": "Label", - "w": "123", - "x": "1018", - "y": "2187", - "zOrder": "40" - }, - { - "ID": "770", - "h": "37", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "244", - "x": "958", - "y": "2224", - "zOrder": "41" - }, - { - "ID": "771", - "measuredH": "25", - "measuredW": "109", - "properties": { - "size": "17", - "text": "Microservices" - }, - "typeID": "Label", - "w": "112", - "x": "1024", - "y": "2231", - "zOrder": "42" - }, - { - "ID": "772", - "h": "37", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "245", - "x": "957", - "y": "2306", - "zOrder": "43" - }, - { - "ID": "773", - "measuredH": "25", - "measuredW": "207", - "properties": { - "size": "17", - "text": "CQRS and Event Sourcing" - }, - "typeID": "Label", - "w": "209", - "x": "975", - "y": "2312", - "zOrder": "44" + } }, { - "ID": "774", + "ID": "2094", + "typeID": "Arrow", + "zOrder": "39", + "w": "1", "h": "63", - "measuredH": "63", - "measuredW": "0", + "measuredW": "150", + "measuredH": "100", + "x": "582", + "y": "2245", "properties": { "color": "2848996", "curvature": "0", @@ -1183,18 +1018,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "1", - "x": "582", - "y": "2245", - "zOrder": "45" + } }, { - "ID": "775", + "ID": "2095", + "typeID": "Arrow", + "zOrder": "40", + "w": "1", "h": "181", - "measuredH": "181", - "measuredW": "1", + "measuredW": "150", + "measuredH": "100", + "x": "799", + "y": "2235", "properties": { "color": "2848996", "direction": "bottom", @@ -1212,160 +1047,47 @@ "y": 0 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "1", - "x": "799", - "y": "2235", - "zOrder": "46" + } }, { - "ID": "776", - "h": "50", - "measuredH": "140", - "measuredW": "200", + "ID": "2104", + "typeID": "Arrow", + "zOrder": "45", + "w": "4", + "h": "109", + "measuredW": "150", + "measuredH": "100", + "x": "598", + "y": "2630", "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "313", - "x": "512", - "y": "2210", - "zOrder": "47" + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 4, + "y": -0.5 + }, + "p1": { + "x": 0.5130929473772274, + "y": -0.0344683343093784 + }, + "p2": { + "x": 3, + "y": 108.5 + }, + "rightArrow": "false" + } }, { - "ID": "777", - "measuredH": "25", - "measuredW": "124", - "properties": { - "bold": "true", - "size": "17", - "text": "Search Engines" - }, - "typeID": "Label", - "w": "126", - "x": "606", - "y": "2222", - "zOrder": "48" - }, - { - "ID": "778", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "160", - "x": "514", - "y": "2290", - "zOrder": "49" - }, - { - "ID": "779", - "measuredH": "25", - "measuredW": "104", - "properties": { - "size": "17", - "text": "Elasticsearch" - }, - "typeID": "Label", - "w": "106", - "x": "546", - "y": "2298", - "zOrder": "50" - }, - { - "ID": "780", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "157", - "x": "514", - "y": "2334", - "zOrder": "51" - }, - { - "ID": "781", - "measuredH": "25", - "measuredW": "31", - "properties": { - "size": "17", - "text": "Solr" - }, - "typeID": "Label", - "w": "36", - "x": "575", - "y": "2342", - "zOrder": "52" - }, - { - "ID": "782", - "h": "37", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "244", - "x": "958", - "y": "2265", - "zOrder": "53" - }, - { - "ID": "783", - "measuredH": "25", - "measuredW": "35", - "properties": { - "size": "17", - "text": "SOA" - }, - "typeID": "Label", - "w": "38", - "x": "1061", - "y": "2272", - "zOrder": "54" - }, - { - "ID": "784", - "h": "109", - "measuredH": "109", - "measuredW": "4", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 4, - "y": -0.5 - }, - "p1": { - "x": 0.5130929473772274, - "y": -0.0344683343093784 - }, - "p2": { - "x": 3, - "y": 108.5 - }, - "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "4", - "x": "598", - "y": "2630", - "zOrder": "55" - }, - { - "ID": "785", - "h": "3", - "measuredH": "3", - "measuredW": "96", + "ID": "2105", + "typeID": "Arrow", + "zOrder": "46", + "w": "96", + "h": "3", + "measuredW": "150", + "measuredH": "100", + "x": "394", + "y": "2622", "properties": { "color": "2848996", "curvature": "0", @@ -1385,46 +1107,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "96", - "x": "394", - "y": "2622", - "zOrder": "56" - }, - { - "ID": "786", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "144", - "x": "259", - "y": "2603", - "zOrder": "57" - }, - { - "ID": "787", - "measuredH": "25", - "measuredW": "47", - "properties": { - "size": "17", - "text": "Neo4j" - }, - "typeID": "Label", - "w": "51", - "x": "305", - "y": "2611", - "zOrder": "58" + } }, { - "ID": "788", + "ID": "2108", + "typeID": "Arrow", + "zOrder": "48", + "w": "120", "h": "29", - "measuredH": "29", - "measuredW": "120", + "measuredW": "150", + "measuredH": "100", + "x": "851", + "y": "2537", "properties": { "color": "2848996", "curvature": "0", @@ -1444,18 +1138,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "120", - "x": "851", - "y": "2537", - "zOrder": "59" + } }, { - "ID": "789", + "ID": "2109", + "typeID": "Arrow", + "zOrder": "49", + "w": "121", "h": "13", - "measuredH": "13", - "measuredW": "121", + "measuredW": "150", + "measuredH": "100", + "x": "849", + "y": "2570", "properties": { "color": "2848996", "curvature": "0", @@ -1475,18 +1169,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "121", - "x": "849", - "y": "2570", - "zOrder": "60" + } }, { - "ID": "790", + "ID": "2110", + "typeID": "Arrow", + "zOrder": "50", + "w": "188", "h": "66", - "measuredH": "66", - "measuredW": "188", + "measuredW": "150", + "measuredH": "100", + "x": "619", + "y": "2559", "properties": { "color": "2848996", "direction": "bottom", @@ -1504,18 +1198,18 @@ "y": 0 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "188", - "x": "619", - "y": "2559", - "zOrder": "61" + } }, { - "ID": "791", + "ID": "2111", + "typeID": "Arrow", + "zOrder": "51", + "w": "75", "h": "25", - "measuredH": "25", - "measuredW": "75", + "measuredW": "150", + "measuredH": "100", + "x": "311", + "y": "2462", "properties": { "color": "2848996", "curvature": "0", @@ -1535,18 +1229,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "75", - "x": "311", - "y": "2462", - "zOrder": "62" + } }, { - "ID": "792", + "ID": "2112", + "typeID": "Arrow", + "zOrder": "52", + "w": "78", "h": "4", - "measuredH": "3", - "measuredW": "78", + "measuredW": "150", + "measuredH": "100", + "x": "310", + "y": "2498", "properties": { "color": "2848996", "curvature": "0", @@ -1566,18 +1260,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "78", - "x": "310", - "y": "2498", - "zOrder": "63" + } }, { - "ID": "793", + "ID": "2113", + "typeID": "Arrow", + "zOrder": "53", + "w": "96", "h": "47", - "measuredH": "47", - "measuredW": "96", + "measuredW": "150", + "measuredH": "100", + "x": "304", + "y": "2499", "properties": { "color": "2848996", "curvature": "0", @@ -1597,18 +1291,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "96", - "x": "304", - "y": "2499", - "zOrder": "64" + } }, { - "ID": "794", + "ID": "2114", + "typeID": "Arrow", + "zOrder": "54", + "w": "199", "h": "84", - "measuredH": "84", - "measuredW": "199", + "measuredW": "150", + "measuredH": "100", + "x": "885", + "y": "2745", "properties": { "color": "2848996", "curvature": "0", @@ -1628,18 +1322,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "199", - "x": "885", - "y": "2745", - "zOrder": "65" + } }, { - "ID": "795", + "ID": "2115", + "typeID": "Arrow", + "zOrder": "55", + "w": "199", "h": "42", - "measuredH": "42", - "measuredW": "199", + "measuredW": "150", + "measuredH": "100", + "x": "887", + "y": "2746", "properties": { "color": "2848996", "curvature": "0", @@ -1659,18 +1353,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "199", - "x": "887", - "y": "2746", - "zOrder": "66" + } }, { - "ID": "796", + "ID": "2116", + "typeID": "Arrow", + "zOrder": "56", + "w": "196", "h": "5", - "measuredH": "5", - "measuredW": "196", + "measuredW": "150", + "measuredH": "100", + "x": "894", + "y": "2736", "properties": { "color": "2848996", "curvature": "0", @@ -1690,18 +1384,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "196", - "x": "894", - "y": "2736", - "zOrder": "67" + } }, { - "ID": "797", + "ID": "2117", + "typeID": "Arrow", + "zOrder": "57", + "w": "197", "h": "42", - "measuredH": "42", - "measuredW": "197", + "measuredW": "150", + "measuredH": "100", + "x": "892", + "y": "2696", "properties": { "color": "2848996", "curvature": "0", @@ -1721,18 +1415,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "197", - "x": "892", - "y": "2696", - "zOrder": "68" + } }, { - "ID": "798", + "ID": "2118", + "typeID": "Arrow", + "zOrder": "58", + "w": "199", "h": "54", - "measuredH": "54", - "measuredW": "199", + "measuredW": "150", + "measuredH": "100", + "x": "540", + "y": "2507", "properties": { "color": "2848996", "direction": "bottom", @@ -1750,18 +1444,18 @@ "y": -0.5 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "199", - "x": "540", - "y": "2507", - "zOrder": "69" + } }, { - "ID": "799", + "ID": "2119", + "typeID": "Arrow", + "zOrder": "59", + "w": "192", "h": "55", - "measuredH": "56", - "measuredW": "192", + "measuredW": "150", + "measuredH": "100", + "x": "526", + "y": "2437", "properties": { "color": "2848996", "direction": "bottom", @@ -1779,18 +1473,18 @@ "y": 0.5 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "192", - "x": "526", - "y": "2437", - "zOrder": "70" + } }, { - "ID": "800", + "ID": "2120", + "typeID": "Arrow", + "zOrder": "60", + "w": "149", "h": "15", - "measuredH": "15", - "measuredW": "149", + "measuredW": "150", + "measuredH": "100", + "x": "876", + "y": "2441", "properties": { "color": "2848996", "curvature": "0", @@ -1809,18 +1503,18 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "149", - "x": "876", - "y": "2441", - "zOrder": "71" + } }, { - "ID": "801", + "ID": "2121", + "typeID": "Arrow", + "zOrder": "61", + "w": "106", "h": "9", - "measuredH": "9", - "measuredW": "106", + "measuredW": "150", + "measuredH": "100", + "x": "910", + "y": "2422", "properties": { "color": "2848996", "curvature": "0", @@ -1840,1818 +1534,1818 @@ }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "106", - "x": "910", - "y": "2422", - "zOrder": "72" + } }, { - "ID": "802", - "measuredH": "32", - "measuredW": "95", - "properties": { - "align": "center", - "color": "16770457", - "size": "18", - "text": "RabbitMQ" - }, - "typeID": "TextInput", - "w": "183", - "x": "1006", - "y": "2403", - "zOrder": "73" + "ID": "2154", + "typeID": "Arrow", + "zOrder": "79", + "w": "85", + "h": "75", + "measuredW": "150", + "measuredH": "100", + "x": "602", + "y": "1137", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 85, + "y": 0 + }, + "p1": { + "x": 0.6098445595854923, + "y": -0.2025906735751296 + }, + "p2": { + "x": 0, + "y": 74.5 + }, + "rightArrow": "false" + } }, { - "ID": "803", - "measuredH": "32", - "measuredW": "63", + "ID": "2155", + "typeID": "Arrow", + "zOrder": "80", + "w": "14", + "h": "62", + "measuredW": "150", + "measuredH": "100", + "x": "590", + "y": "1983", "properties": { - "align": "center", - "color": "16770457", - "size": "18", - "text": "Kafka" - }, - "typeID": "TextInput", - "w": "183", - "x": "1006", - "y": "2439", - "zOrder": "74" + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 12, + "y": 62 + }, + "p1": { + "x": 0.5415800415800416, + "y": 0.21101871101871103 + }, + "p2": { + "x": 14, + "y": 0 + }, + "rightArrow": "false" + } }, { - "ID": "804", - "h": "50", - "measuredH": "140", - "measuredW": "200", + "ID": "2156", + "typeID": "Arrow", + "zOrder": "81", + "w": "78", + "h": "48", + "measuredW": "150", + "measuredH": "100", + "x": "464", + "y": "1975", "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "221", - "x": "701", - "y": "2413", - "zOrder": "75" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 48 + }, + "p1": { + "x": 0.469926650366748, + "y": -0.0004889975550122233 + }, + "p2": { + "x": 78, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "805", - "measuredH": "25", - "measuredW": "139", + "ID": "2157", + "typeID": "Arrow", + "zOrder": "82", + "w": "81", + "h": "4", + "measuredW": "150", + "measuredH": "100", + "x": "455", + "y": "1973", "properties": { - "bold": "true", - "size": "17", - "text": "Message Brokers" - }, - "typeID": "Label", - "w": "141", - "x": "741", - "y": "2425", - "zOrder": "76" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 4 + }, + "p1": { + "x": 0.4699266503667479, + "y": -0.0004889975550122077 + }, + "p2": { + "x": 81, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "806", - "h": "50", - "measuredH": "140", - "measuredW": "200", + "ID": "2158", + "typeID": "Arrow", + "zOrder": "83", + "w": "86", + "h": "33", + "measuredW": "150", + "measuredH": "100", + "x": "457", + "y": "1932", "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "294", - "x": "383", - "y": "2470", - "zOrder": "77" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.469926650366748, + "y": -0.0004889975550122311 + }, + "p2": { + "x": 86, + "y": 33 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "807", - "measuredH": "25", - "measuredW": "269", + "ID": "2159", + "typeID": "Arrow", + "zOrder": "84", + "w": "107", + "h": "129", + "measuredW": "150", + "measuredH": "100", + "x": "683", + "y": "1839", "properties": { - "bold": "true", - "size": "17", - "text": "Containerization vs Virtualization" - }, - "typeID": "Label", - "w": "270", - "x": "396", - "y": "2483", - "zOrder": "78" + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 128 + }, + "p1": { + "x": 0.47671351663836425, + "y": -0.2605051125483238 + }, + "p2": { + "x": 106, + "y": -0.5 + }, + "rightArrow": "false" + } }, { - "ID": "808", - "h": "50", - "measuredH": "140", - "measuredW": "200", + "ID": "2160", + "typeID": "Arrow", + "zOrder": "85", + "w": "80", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "959", + "y": "1833", "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "163", - "x": "750", - "y": "2716", - "zOrder": "79" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": -0.5 + }, + "p1": { + "x": 0.5633394785356862, + "y": -0.002106926520937582 + }, + "p2": { + "x": 80, + "y": -0.5 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "809", - "measuredH": "25", - "measuredW": "104", + "ID": "2161", + "typeID": "Arrow", + "zOrder": "86", + "w": "123", + "h": "5", + "measuredW": "150", + "measuredH": "100", + "x": "642", + "y": "1839", "properties": { - "bold": "true", - "size": "17", - "text": "Web Servers" - }, - "typeID": "Label", - "w": "108", - "x": "784", - "y": "2729", - "zOrder": "80" + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 123, + "y": 0 + }, + "p1": { + "x": 0.5029666818804199, + "y": 0.002738475581926061 + }, + "p2": { + "x": 0, + "y": 4.5 + }, + "rightArrow": "false" + } }, { - "ID": "810", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2162", + "typeID": "Arrow", + "zOrder": "87", + "w": "94", + "h": "52", + "measuredW": "150", + "measuredH": "100", + "x": "693", + "y": "1630", "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "144", - "x": "1053", - "y": "2675", - "zOrder": "81" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 51.5 + }, + "p1": { + "x": 0.44142114384748704, + "y": -0.10589254766031196 + }, + "p2": { + "x": 94, + "y": -0.5 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "811", - "measuredH": "25", - "measuredW": "43", + "ID": "2163", + "typeID": "Arrow", + "zOrder": "88", + "w": "70", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "386", + "y": "1682", "properties": { - "size": "17", - "text": "Nginx" - }, - "typeID": "Label", - "w": "46", - "x": "1102", - "y": "2683", - "zOrder": "82" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 1 + }, + "p1": { + "x": 0.469926650366748, + "y": -0.0004889975550122329 + }, + "p2": { + "x": 70, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "812", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, + "ID": "2164", "typeID": "TextArea", - "w": "144", - "x": "1053", - "y": "2721", - "zOrder": "83" - }, - { - "ID": "813", - "measuredH": "25", - "measuredW": "58", - "properties": { - "size": "17", - "text": "Apache" - }, - "typeID": "Label", - "w": "60", - "x": "1095", - "y": "2729", - "zOrder": "84" - }, - { - "ID": "814", - "h": "40", - "measuredH": "140", + "zOrder": "89", + "w": "248", + "h": "282", "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "144", - "x": "1053", - "y": "2766", - "zOrder": "85" + "measuredH": "140", + "x": "165", + "y": "1472" }, { - "ID": "815", - "measuredH": "25", - "measuredW": "50", + "ID": "2171", + "typeID": "Arrow", + "zOrder": "96", + "w": "57", + "h": "33", + "measuredW": "150", + "measuredH": "100", + "x": "456", + "y": "1843", "properties": { - "size": "17", - "text": "Caddy" - }, - "typeID": "Label", - "w": "53", - "x": "1098", - "y": "2774", - "zOrder": "86" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 33 + }, + "p1": { + "x": 0.4920052363364346, + "y": -0.09642807050352983 + }, + "p2": { + "x": 57, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "816", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2172", + "typeID": "Arrow", + "zOrder": "97", + "w": "95", + "h": "3", + "measuredW": "150", + "measuredH": "100", + "x": "427", + "y": "1832", "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "144", - "x": "1053", - "y": "2810", - "zOrder": "87" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 3 + }, + "p1": { + "x": 0.4699266503667481, + "y": -0.000488997555012226 + }, + "p2": { + "x": 95, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "817", - "measuredH": "25", - "measuredW": "53", + "ID": "2173", + "typeID": "Arrow", + "zOrder": "98", + "w": "81", + "h": "20", + "measuredW": "150", + "measuredH": "100", + "x": "269", + "y": "1836", "properties": { - "size": "17", - "text": "MS IIS" - }, - "typeID": "Label", - "w": "55", - "x": "1102", - "y": "2818", - "zOrder": "88" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": -0.5, + "y": 19.5 + }, + "p1": { + "x": 0.4816763425253991, + "y": -0.05932510885341123 + }, + "p2": { + "x": 80, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "818", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2174", + "typeID": "Arrow", + "zOrder": "99", + "w": "87", + "h": "23", + "measuredW": "150", + "measuredH": "100", + "x": "262", + "y": "1809", "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "144", - "x": "170", - "y": "2436", - "zOrder": "89" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": -0.5, + "y": 1 + }, + "p1": { + "x": 0.5043513295729252, + "y": 0.08807413376309427 + }, + "p2": { + "x": 86, + "y": 23 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "819", - "measuredH": "25", - "measuredW": "55", + "ID": "2175", + "typeID": "Arrow", + "zOrder": "100", + "w": "242", + "h": "206", + "measuredW": "150", + "measuredH": "100", + "x": "646", + "y": "1622", "properties": { - "size": "17", - "text": "Docker" - }, - "typeID": "Label", - "w": "58", - "x": "217", - "y": "2444", - "zOrder": "90" + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 242, + "y": 0 + }, + "p1": { + "x": 0.5151777033596199, + "y": 0.14994058550286274 + }, + "p2": { + "x": 0.21212121212113288, + "y": 206.030303030303 + } + } }, { - "ID": "820", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2188", + "typeID": "Arrow", + "zOrder": "107", + "w": "103", + "h": "16", + "measuredW": "150", + "measuredH": "100", + "x": "988", + "y": "1446", "properties": { - "borderColor": "6710886", - "color": "15658734", - "textColor": "6710886" - }, - "typeID": "TextArea", - "w": "144", - "x": "170", - "y": "2482", - "zOrder": "91" + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 15 + }, + "p1": { + "x": 0.4615951248911806, + "y": 0.017310654255675347 + }, + "p2": { + "x": 102, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "821", - "measuredH": "25", - "measuredW": "22", + "ID": "2189", + "typeID": "Arrow", + "zOrder": "108", + "w": "103", + "h": "23", + "measuredW": "150", + "measuredH": "100", + "x": "989", + "y": "1469", "properties": { - "color": "3355443", - "size": "17", - "text": "rkt" - }, - "typeID": "Label", - "w": "24", - "x": "230", - "y": "2490", - "zOrder": "92" + "color": "2848996", + "curvature": "-1", + "direction": "top", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.45604025566412953, + "y": -0.030700026684625844 + }, + "p2": { + "x": 103, + "y": 22 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "822", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "borderColor": "6710886", - "color": "14540253", - "textColor": "6710886" - }, - "typeID": "TextArea", - "w": "144", - "x": "170", - "y": "2527", - "zOrder": "93" - }, - { - "ID": "823", - "measuredH": "25", - "measuredW": "34", - "properties": { - "color": "3355443", - "size": "17", - "text": "LXC" - }, - "typeID": "Label", - "w": "37", - "x": "223", - "y": "2535", - "zOrder": "94" - }, - { - "ID": "824", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "163", - "x": "695", - "y": "2535", - "zOrder": "95" - }, - { - "ID": "825", - "measuredH": "25", - "measuredW": "72", - "properties": { - "bold": "true", - "size": "17", - "text": "GraphQL" - }, - "typeID": "Label", - "w": "79", - "x": "737", - "y": "2548", - "zOrder": "96" - }, - { - "ID": "826", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "144", - "x": "957", - "y": "2518", - "zOrder": "97" - }, - { - "ID": "827", - "measuredH": "25", - "measuredW": "47", - "properties": { - "size": "17", - "text": "Apollo" - }, - "typeID": "Label", - "w": "50", - "x": "1004", - "y": "2526", - "zOrder": "98" - }, - { - "ID": "828", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "144", - "x": "957", - "y": "2564", - "zOrder": "99" - }, - { - "ID": "829", - "measuredH": "25", - "measuredW": "106", - "properties": { - "size": "17", - "text": "Relay Modern" - }, - "typeID": "Label", - "w": "108", - "x": "975", - "y": "2572", - "zOrder": "100" - }, - { - "ID": "830", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "184", - "x": "454", - "y": "2597", - "zOrder": "101" - }, - { - "ID": "831", - "measuredH": "25", - "measuredW": "140", - "properties": { - "bold": "true", - "size": "17", - "text": "Graph Databases" - }, - "typeID": "Label", - "w": "143", - "x": "474", - "y": "2610", - "zOrder": "102" - }, - { - "ID": "832", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "159", - "x": "549", - "y": "2718", - "zOrder": "103" - }, - { - "ID": "833", - "measuredH": "25", - "measuredW": "101", - "properties": { - "bold": "true", - "size": "17", - "text": "WebSockets" - }, - "typeID": "Label", - "w": "104", - "x": "577", - "y": "2731", - "zOrder": "104" - }, - { - "ID": "834", - "h": "75", - "measuredH": "75", - "measuredW": "85", + "ID": "2190", + "typeID": "Arrow", + "zOrder": "109", + "w": "100", + "h": "15", + "measuredW": "150", + "measuredH": "100", + "x": "688", + "y": "1622", "properties": { "color": "2848996", - "direction": "bottom", + "curvature": "-1", "leftArrow": "false", "p0": { - "x": 85, - "y": 0 + "x": 0, + "y": 15 }, "p1": { - "x": 0.6098445595854923, - "y": -0.2025906735751296 + "x": 0.4699266503667482, + "y": -0.000488997555012225 }, "p2": { - "x": 0, - "y": 74.5 + "x": 100, + "y": 0 }, - "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "85", - "x": "602", - "y": "1137", - "zOrder": "105" + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "835", - "h": "62", - "measuredH": "62", - "measuredW": "14", + "ID": "2191", + "typeID": "Arrow", + "zOrder": "110", + "w": "109", + "h": "24", + "measuredW": "150", + "measuredH": "100", + "x": "676", + "y": "1592", "properties": { "color": "2848996", - "direction": "bottom", + "curvature": "-1", "leftArrow": "false", "p0": { - "x": 12, - "y": 62 + "x": -0.5, + "y": 1 }, "p1": { - "x": 0.5415800415800416, - "y": 0.21101871101871103 + "x": 0.5043513295729251, + "y": 0.08807413376309428 }, "p2": { - "x": 14, - "y": 0 + "x": 108.5, + "y": 24 }, - "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "14", - "x": "590", - "y": "1983", - "zOrder": "106" + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "836", - "h": "48", - "measuredH": "48", - "measuredW": "78", + "ID": "2192", + "typeID": "Arrow", + "zOrder": "111", + "w": "104", + "h": "75", + "measuredW": "150", + "measuredH": "100", + "x": "995", + "y": "1539", "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", "p0": { "x": 0, - "y": 48 + "y": 75 }, "p1": { - "x": 0.469926650366748, - "y": -0.0004889975550122233 + "x": 0.5126056879323597, + "y": 0.057109915449654144 }, "p2": { - "x": 78, + "x": 103.5, "y": 0 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "78", - "x": "464", - "y": "1975", - "zOrder": "107" + } }, { - "ID": "837", - "h": "4", - "measuredH": "4", - "measuredW": "81", + "ID": "2193", + "typeID": "Arrow", + "zOrder": "112", + "w": "96", + "h": "37", + "measuredW": "150", + "measuredH": "100", + "x": "1001", + "y": "1615", "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", "p0": { - "x": 0, - "y": 4 + "x": -0.5, + "y": 0 }, "p1": { - "x": 0.4699266503667479, - "y": -0.0004889975550122077 + "x": 0.553292254417681, + "y": -0.1507867800580538 }, "p2": { - "x": 81, - "y": 0 + "x": 95.5, + "y": 33 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "81", - "x": "455", - "y": "1973", - "zOrder": "108" + } }, { - "ID": "838", - "h": "33", - "measuredH": "33", - "measuredW": "86", + "ID": "2194", + "typeID": "Arrow", + "zOrder": "113", + "w": "93", + "h": "66", + "measuredW": "150", + "measuredH": "100", + "x": "1004", + "y": "1625", "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", "p0": { - "x": 0, + "x": -0.5, "y": 0 }, "p1": { - "x": 0.469926650366748, - "y": -0.0004889975550122311 + "x": 0.5583937813065076, + "y": -0.1856462910232163 }, "p2": { - "x": 86, - "y": 33 + "x": 92.5, + "y": 65 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "86", - "x": "457", - "y": "1932", - "zOrder": "109" + } }, { - "ID": "839", - "h": "129", - "measuredH": "129", - "measuredW": "106", + "ID": "2195", + "typeID": "Arrow", + "zOrder": "114", + "w": "21", + "h": "147", + "measuredW": "150", + "measuredH": "100", + "x": "892", + "y": "1465", "properties": { "color": "2848996", + "curvature": "-1", "direction": "bottom", "leftArrow": "false", "p0": { - "x": 0, - "y": 128 + "x": 3, + "y": 0 }, "p1": { - "x": 0.47671351663836425, - "y": -0.2605051125483238 + "x": 0.5150179959193967, + "y": 0.1283510235895555 }, "p2": { - "x": 106, - "y": -0.5 + "x": 0, + "y": 147 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "107", - "x": "683", - "y": "1839", - "zOrder": "110" + } }, { - "ID": "840", - "h": "1", - "measuredH": "1", - "measuredW": "80", - "properties": { - "color": "2848996", + "ID": "2196", + "typeID": "Arrow", + "zOrder": "115", + "w": "105", + "h": "58", + "measuredW": "150", + "measuredH": "100", + "x": "984", + "y": "1399", + "properties": { + "color": "2848996", "curvature": "-1", + "direction": "bottom", "leftArrow": "false", "p0": { "x": 0, - "y": -0.5 + "y": 57 }, "p1": { - "x": 0.5633394785356862, - "y": -0.002106926520937582 + "x": 0.43648681345269785, + "y": 0.055165739172513925 }, "p2": { - "x": 80, - "y": -0.5 + "x": 104, + "y": 0 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "80", - "x": "959", - "y": "1833", - "zOrder": "111" + } }, { - "ID": "841", - "h": "5", - "measuredH": "5", - "measuredW": "123", + "ID": "2197", + "typeID": "Arrow", + "zOrder": "116", + "w": "7", + "h": "227", + "measuredW": "150", + "measuredH": "100", + "x": "844", + "y": "1221", "properties": { "color": "2848996", - "direction": "bottom", + "curvature": "0", + "direction": "top", "leftArrow": "false", "p0": { - "x": 123, + "x": 1, "y": 0 }, "p1": { - "x": 0.5029666818804199, - "y": 0.002738475581926061 + "x": 0.5023004996784247, + "y": -0.007519912927323998 }, "p2": { - "x": 0, - "y": 4.5 + "x": 6, + "y": 226 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "123", - "x": "642", - "y": "1839", - "zOrder": "112" + } }, { - "ID": "842", - "h": "52", - "measuredH": "52", - "measuredW": "94", + "ID": "2198", + "typeID": "Arrow", + "zOrder": "117", + "w": "82", + "h": "58", + "measuredW": "150", + "measuredH": "100", + "x": "690", + "y": "1471", "properties": { "color": "2848996", "curvature": "-1", + "direction": "bottom", "leftArrow": "false", "p0": { - "x": 0, - "y": 51.5 + "x": 81, + "y": 0 }, "p1": { - "x": 0.44142114384748704, - "y": -0.10589254766031196 + "x": 0.6458011220568096, + "y": 0.05946017581835049 }, "p2": { - "x": 94, - "y": -0.5 + "x": 0, + "y": 58 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "94", - "x": "693", - "y": "1630", - "zOrder": "113" + } }, { - "ID": "843", - "h": "1", - "measuredH": "1", - "measuredW": "70", + "ID": "2199", + "typeID": "Arrow", + "zOrder": "118", + "w": "81", + "h": "8", + "measuredW": "150", + "measuredH": "100", + "x": "689", + "y": "1471", "properties": { "color": "2848996", - "curvature": "-1", + "curvature": "1", + "direction": "bottom", "leftArrow": "false", "p0": { - "x": 0, - "y": 1 + "x": 80, + "y": 0 }, "p1": { - "x": 0.469926650366748, - "y": -0.0004889975550122329 + "x": 0.5775782957636026, + "y": -0.025361653846795687 }, "p2": { - "x": 70, - "y": 0 + "x": 0, + "y": 7 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "70", - "x": "386", - "y": "1682", - "zOrder": "114" - }, - { - "ID": "844", - "h": "282", - "measuredH": "140", - "measuredW": "200", - "typeID": "TextArea", - "w": "248", - "x": "165", - "y": "1472", - "zOrder": "115" - }, - { - "ID": "845", - "measuredH": "32", - "measuredW": "63", - "properties": { - "align": "center", - "color": "16770457", - "size": "18", - "text": "OAuth" - }, - "typeID": "TextInput", - "w": "223", - "x": "177", - "y": "1524", - "zOrder": "116" - }, - { - "ID": "846", - "measuredH": "32", - "measuredW": "180", - "properties": { - "align": "center", - "color": "16770457", - "size": "18", - "text": "Basic Authentication" - }, - "typeID": "TextInput", - "w": "223", - "x": "177", - "y": "1560", - "zOrder": "117" - }, - { - "ID": "847", - "measuredH": "32", - "measuredW": "183", - "properties": { - "align": "center", - "color": "16770457", - "size": "18", - "text": "Token Authentication" - }, - "typeID": "TextInput", - "w": "223", - "x": "177", - "y": "1596", - "zOrder": "118" - }, - { - "ID": "848", - "measuredH": "32", - "measuredW": "55", - "properties": { - "align": "center", - "color": "16770457", - "size": "18", - "text": "JWT" - }, - "typeID": "TextInput", - "w": "223", - "x": "177", - "y": "1633", - "zOrder": "119" - }, - { - "ID": "849", - "measuredH": "32", - "measuredW": "77", - "properties": { - "align": "center", - "color": "16770457", - "size": "18", - "text": "OpenID" - }, - "typeID": "TextInput", - "w": "223", - "x": "178", - "y": "1669", - "zOrder": "120" - }, - { - "ID": "850", - "measuredH": "32", - "measuredW": "63", - "properties": { - "align": "center", - "color": "16770457", - "size": "18", - "text": "SAML" - }, - "typeID": "TextInput", - "w": "223", - "x": "178", - "y": "1706", - "zOrder": "121" + } }, { - "ID": "851", - "h": "33", - "measuredH": "33", - "measuredW": "57", + "ID": "2200", + "typeID": "Arrow", + "zOrder": "119", + "w": "85", + "h": "29", + "measuredW": "150", + "measuredH": "100", + "x": "685", + "y": "1436", "properties": { "color": "2848996", "curvature": "-1", + "direction": "top", "leftArrow": "false", "p0": { - "x": 0, - "y": 33 + "x": 84, + "y": 28 }, "p1": { - "x": 0.4920052363364346, - "y": -0.09642807050352983 + "x": 0.6101477809142017, + "y": -0.07187418459567801 }, "p2": { - "x": 57, - "y": 0 + "x": 0, + "y": 1 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "57", - "x": "456", - "y": "1843", - "zOrder": "122" + } }, { - "ID": "852", - "h": "3", - "measuredH": "3", - "measuredW": "95", + "ID": "2201", + "typeID": "Arrow", + "zOrder": "120", + "w": "97", + "h": "69", + "measuredW": "150", + "measuredH": "100", + "x": "675", + "y": "1385", "properties": { "color": "2848996", "curvature": "-1", + "direction": "top", "leftArrow": "false", "p0": { - "x": 0, - "y": 3 + "x": 96, + "y": 68 }, "p1": { - "x": 0.4699266503667481, - "y": -0.000488997555012226 + "x": 0.6632615833637359, + "y": -0.099598686610726 }, "p2": { - "x": 95, - "y": 0 + "x": 0, + "y": 1 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "95", - "x": "427", - "y": "1832", - "zOrder": "123" + } }, { - "ID": "853", - "h": "20", - "measuredH": "20", - "measuredW": "81", + "ID": "2202", + "typeID": "Arrow", + "zOrder": "121", + "w": "74", + "h": "94", + "measuredW": "150", + "measuredH": "100", + "x": "693", + "y": "1343", "properties": { "color": "2848996", "curvature": "-1", + "direction": "top", "leftArrow": "false", "p0": { - "x": -0.5, - "y": 19.5 + "x": 73, + "y": 93 }, "p1": { - "x": 0.4816763425253991, - "y": -0.05932510885341123 + "x": 0.6010928961748633, + "y": -0.054644808743169335 }, "p2": { - "x": 80, - "y": 0 + "x": 0, + "y": 1 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "81", - "x": "269", - "y": "1836", - "zOrder": "124" + } }, { - "ID": "854", - "h": "23", - "measuredH": "23", - "measuredW": "87", + "ID": "2203", + "typeID": "Arrow", + "zOrder": "122", + "w": "83", + "h": "213", + "measuredW": "150", + "measuredH": "100", + "x": "711", + "y": "1226", "properties": { "color": "2848996", - "curvature": "-1", + "curvature": "1", + "direction": "top", "leftArrow": "false", "p0": { - "x": -0.5, + "x": 0, "y": 1 }, "p1": { - "x": 0.5043513295729252, - "y": 0.08807413376309427 + "x": 0.2883988681822617, + "y": 0.12014830715191724 }, "p2": { - "x": 86, - "y": 23 + "x": 82, + "y": 212 }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "87", - "x": "262", - "y": "1809", - "zOrder": "125" + "rightArrow": "false" + } }, { - "ID": "855", - "h": "203", - "measuredH": "203", - "measuredW": "242", + "ID": "2204", + "typeID": "Arrow", + "zOrder": "123", + "w": "82", + "h": "5", + "measuredW": "150", + "measuredH": "100", + "x": "926", + "y": "1201", "properties": { "color": "2848996", - "direction": "bottom", + "curvature": "-1", + "direction": "top", "leftArrow": "false", "p0": { - "x": 242, - "y": 0 + "x": 81, + "y": 4 }, "p1": { - "x": 0.5151777033596199, - "y": 0.14994058550286277 + "x": 0.4444444444444445, + "y": -0.04938271604938272 }, "p2": { "x": 0, - "y": 202.5 + "y": 4 }, - "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "242", - "x": "646", - "y": "1622", - "zOrder": "126" - }, - { - "ID": "856", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "159", - "x": "502", - "y": "1809", - "zOrder": "127" - }, - { - "ID": "857", - "measuredH": "25", - "measuredW": "65", - "properties": { - "bold": "true", - "size": "17", - "text": "Caching" - }, - "typeID": "Label", - "w": "70", - "x": "545", - "y": "1822", - "zOrder": "128" - }, - { - "ID": "858", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "144", - "x": "145", - "y": "1790", - "zOrder": "129" - }, - { - "ID": "859", - "measuredH": "25", - "measuredW": "44", - "properties": { - "size": "17", - "text": "Redis" - }, - "typeID": "Label", - "w": "46", - "x": "194", - "y": "1798", - "zOrder": "130" - }, - { - "ID": "860", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "144", - "x": "145", - "y": "1836", - "zOrder": "131" - }, - { - "ID": "861", - "measuredH": "25", - "measuredW": "93", - "properties": { - "size": "17", - "text": "Memcached" - }, - "typeID": "Label", - "w": "96", - "x": "173", - "y": "1844", - "zOrder": "132" - }, - { - "ID": "862", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "129", - "x": "341", - "y": "1814", - "zOrder": "133" - }, - { - "ID": "863", - "measuredH": "25", - "measuredW": "93", - "properties": { - "size": "17", - "text": "Server Side" - }, - "typeID": "Label", - "w": "95", - "x": "360", - "y": "1822", - "zOrder": "134" - }, - { - "ID": "864", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "128", - "x": "341", - "y": "1859", - "zOrder": "135" - }, - { - "ID": "865", - "measuredH": "25", - "measuredW": "85", - "properties": { - "size": "17", - "text": "Client Side" - }, - "typeID": "Label", - "w": "88", - "x": "362", - "y": "1867", - "zOrder": "136" - }, - { - "ID": "866", - "h": "37", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "129", - "x": "342", - "y": "1772", - "zOrder": "137" - }, - { - "ID": "867", - "measuredH": "25", - "measuredW": "36", - "properties": { - "size": "17", - "text": "CDN" - }, - "typeID": "Label", - "w": "40", - "x": "387", - "y": "1779", - "zOrder": "138" + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "868", - "h": "16", - "measuredH": "15", - "measuredW": "102", + "ID": "2205", + "typeID": "Arrow", + "zOrder": "124", + "w": "67", + "h": "111", + "measuredW": "150", + "measuredH": "100", + "x": "428", + "y": "1241", "properties": { "color": "2848996", "curvature": "-1", - "direction": "bottom", "leftArrow": "false", "p0": { - "x": 0, - "y": 15 + "x": 67, + "y": 0 }, "p1": { - "x": 0.4615951248911806, - "y": 0.017310654255675347 + "x": 0.5, + "y": 0 }, "p2": { - "x": 102, - "y": 0 + "x": 0, + "y": 111 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "103", - "x": "988", - "y": "1446", - "zOrder": "139" + } }, { - "ID": "869", - "h": "23", - "measuredH": "22", - "measuredW": "103", + "ID": "2206", + "typeID": "Arrow", + "zOrder": "125", + "w": "78", + "h": "157", + "measuredW": "150", + "measuredH": "100", + "x": "426", + "y": "1242", "properties": { "color": "2848996", "curvature": "-1", - "direction": "top", "leftArrow": "false", "p0": { - "x": 0, + "x": 78, "y": 0 }, "p1": { - "x": 0.45604025566412953, - "y": -0.030700026684625844 + "x": 0.4932456861133936, + "y": 0.07316351684470009 }, "p2": { - "x": 103, - "y": 22 + "x": 0, + "y": 157 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "103", - "x": "989", - "y": "1469", - "zOrder": "140" + } }, { - "ID": "870", - "h": "15", - "measuredH": "15", - "measuredW": "100", + "ID": "2207", + "typeID": "Arrow", + "zOrder": "126", + "w": "73", + "h": "79", + "measuredW": "150", + "measuredH": "100", + "x": "421", + "y": "1229", "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", "p0": { - "x": 0, - "y": 15 + "x": 73, + "y": 0 }, "p1": { - "x": 0.4699266503667482, - "y": -0.000488997555012225 + "x": 0.5, + "y": 0 }, "p2": { - "x": 100, - "y": 0 + "x": 0, + "y": 79 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "100", - "x": "688", - "y": "1622", - "zOrder": "141" + } }, { - "ID": "871", - "h": "24", - "measuredH": "24", - "measuredW": "109", + "ID": "2208", + "typeID": "Arrow", + "zOrder": "127", + "w": "86", + "h": "32", + "measuredW": "150", + "measuredH": "100", + "x": "414", + "y": "1222", "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", "p0": { - "x": -0.5, - "y": 1 + "x": 86, + "y": 0 }, "p1": { - "x": 0.5043513295729251, - "y": 0.08807413376309428 + "x": 0.5, + "y": 0 }, "p2": { - "x": 108.5, - "y": 24 + "x": 0, + "y": 32 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "109", - "x": "676", - "y": "1592", - "zOrder": "142" + } }, { - "ID": "872", - "h": "75", - "measuredH": "75", - "measuredW": "104", + "ID": "2209", + "typeID": "Arrow", + "zOrder": "128", + "w": "125", + "h": "14", + "measuredW": "150", + "measuredH": "100", + "x": "405", + "y": "1207", "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", "p0": { - "x": 0, - "y": 75 + "x": 125, + "y": 14 }, "p1": { - "x": 0.5126056879323597, - "y": 0.057109915449654144 + "x": 0.5, + "y": 0 }, "p2": { - "x": 103.5, + "x": 0, "y": 0 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "104", - "x": "995", - "y": "1539", - "zOrder": "143" + } }, { - "ID": "873", - "h": "37", - "measuredH": "36", - "measuredW": "96", + "ID": "2274", + "typeID": "Arrow", + "zOrder": "154", + "w": "1", + "h": "156", + "measuredW": "150", + "measuredH": "100", + "x": "920", + "y": "1832", "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", "p0": { - "x": -0.5, - "y": 0 + "x": 0, + "y": -0.5 }, "p1": { - "x": 0.553292254417681, - "y": -0.1507867800580538 + "x": 0.4652565385165071, + "y": 0.0007431756467057314 }, "p2": { - "x": 95.5, - "y": 33 - }, + "x": 0, + "y": 155 + }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "96", - "x": "1001", - "y": "1615", - "zOrder": "144" + } }, { - "ID": "874", - "h": "66", - "measuredH": "66", - "measuredW": "93", + "ID": "2277", + "typeID": "TextArea", + "zOrder": "156", + "w": "456", + "h": "171", + "measuredW": "200", + "measuredH": "140", + "x": "834", + "y": "1915" + }, + { + "ID": "2286", + "typeID": "TextArea", + "zOrder": "161", + "w": "270", + "h": "185", + "measuredW": "200", + "measuredH": "140", + "x": "1018", + "y": "1719" + }, + { + "ID": "2295", + "typeID": "Label", + "zOrder": "166", + "w": "155", + "measuredW": "149", + "measuredH": "25", + "x": "1075", + "y": "1866", "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": -0.5, - "y": 0 - }, - "p1": { - "x": 0.5583937813065076, - "y": -0.1856462910232163 - }, - "p2": { - "x": 92.5, - "y": 65 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "93", - "x": "1004", - "y": "1625", - "zOrder": "145" + "size": "17", + "text": "Hashing Algorithms" + } }, { - "ID": "875", - "h": "147", - "measuredH": "147", - "measuredW": "20", + "ID": "2307", + "typeID": "Arrow", + "zOrder": "173", + "w": "42", + "h": "152", + "measuredW": "150", + "measuredH": "100", + "x": "744", + "y": "513", "properties": { "color": "2848996", - "curvature": "-1", "direction": "bottom", "leftArrow": "false", "p0": { - "x": 3, + "x": 0, "y": 0 }, "p1": { - "x": 0.5150179959193967, - "y": 0.1283510235895555 + "x": 0.4470340174304187, + "y": 0.25307843688501525 }, "p2": { - "x": 0, - "y": 147 + "x": 9, + "y": 151.5 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "21", - "x": "892", - "y": "1465", - "zOrder": "146" + } }, { - "ID": "876", - "h": "58", - "measuredH": "57", - "measuredW": "104", + "ID": "2308", + "typeID": "Arrow", + "zOrder": "174", + "w": "26", + "h": "112", + "measuredW": "150", + "measuredH": "100", + "x": "672", + "y": "317", "properties": { "color": "2848996", - "curvature": "-1", "direction": "bottom", "leftArrow": "false", "p0": { - "x": 0, - "y": 57 + "x": 26, + "y": 0 }, "p1": { - "x": 0.43648681345269785, - "y": 0.055165739172513925 + "x": 0.540933899332929, + "y": -0.1946634323832626 }, "p2": { - "x": 104, - "y": 0 + "x": 18, + "y": 112 }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "105", - "x": "984", - "y": "1399", - "zOrder": "147" + "rightArrow": "false" + } }, { - "ID": "877", - "h": "227", - "measuredH": "226", - "measuredW": "6", + "ID": "2309", + "typeID": "Label", + "zOrder": "175", + "measuredW": "130", + "measuredH": "40", + "x": "644", + "y": "263", "properties": { - "color": "2848996", - "curvature": "0", - "direction": "top", - "leftArrow": "false", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.5023004996784247, - "y": -0.007519912927323998 - }, - "p2": { - "x": 6, - "y": 226 - }, - "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "7", - "x": "844", - "y": "1221", - "zOrder": "148" + "bold": "true", + "size": "32", + "text": "Backend" + } }, { - "ID": "878", - "h": "58", - "measuredH": "58", - "measuredW": "81", + "ID": "2310", + "typeID": "Arrow", + "zOrder": "176", + "w": "19", + "h": "80", + "measuredW": "150", + "measuredH": "100", + "x": "741", + "y": "176", "properties": { "color": "2848996", "curvature": "-1", "direction": "bottom", "leftArrow": "false", "p0": { - "x": 81, + "x": 17, "y": 0 }, "p1": { - "x": 0.6458011220568096, - "y": 0.05946017581835049 + "x": 0.4835868694955965, + "y": 0.10168134507606086 }, "p2": { "x": 0, - "y": 58 + "y": 79 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "82", - "x": "690", - "y": "1471", - "zOrder": "149" + } }, { - "ID": "879", - "h": "8", - "measuredH": "7", - "measuredW": "80", - "properties": { - "color": "2848996", - "curvature": "1", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 80, - "y": 0 - }, - "p1": { - "x": 0.5775782957636026, - "y": -0.025361653846795687 - }, - "p2": { - "x": 0, - "y": 7 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "81", - "x": "689", - "y": "1471", - "zOrder": "150" + "ID": "2311", + "typeID": "Canvas", + "zOrder": "177", + "w": "350", + "h": "141", + "measuredW": "100", + "measuredH": "70", + "x": "949", + "y": "169" }, { - "ID": "880", - "h": "29", - "measuredH": "28", - "measuredW": "84", + "ID": "2312", + "typeID": "Label", + "zOrder": "178", + "measuredW": "314", + "measuredH": "25", + "x": "963", + "y": "186", "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "top", - "leftArrow": "false", - "p0": { - "x": 84, - "y": 28 - }, - "p1": { - "x": 0.6101477809142017, - "y": -0.07187418459567801 - }, - "p2": { - "x": 0, - "y": 1 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "85", - "x": "685", - "y": "1436", - "zOrder": "151" + "size": "17", + "text": "Find the detailed version of this roadmap" + } }, { - "ID": "881", - "h": "69", - "measuredH": "68", - "measuredW": "96", + "ID": "2313", + "typeID": "Label", + "zOrder": "179", + "measuredW": "319", + "measuredH": "25", + "x": "963", + "y": "214", "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "top", - "leftArrow": "false", - "p0": { - "x": 96, - "y": 68 - }, - "p1": { - "x": 0.6632615833637359, - "y": -0.099598686610726 - }, - "p2": { - "x": 0, - "y": 1 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "97", - "x": "675", - "y": "1385", - "zOrder": "152" + "size": "17", + "text": "along with resources and other roadmaps" + } }, { - "ID": "882", - "h": "94", - "measuredH": "92", - "measuredW": "73", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "top", + "ID": "2320", + "typeID": "Canvas", + "zOrder": "181", + "w": "408", + "h": "162", + "measuredW": "100", + "measuredH": "70", + "x": "137", + "y": "159" + }, + { + "ID": "2321", + "typeID": "Icon", + "zOrder": "182", + "measuredW": "24", + "measuredH": "24", + "x": "160", + "y": "180", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2322", + "typeID": "Icon", + "zOrder": "183", + "measuredW": "24", + "measuredH": "24", + "x": "160", + "y": "180", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "2323", + "typeID": "Label", + "zOrder": "184", + "measuredW": "269", + "measuredH": "24", + "x": "196", + "y": "180", + "properties": { + "size": "16", + "text": "Personal Recommendation / Opinion" + } + }, + { + "ID": "2324", + "typeID": "Label", + "zOrder": "185", + "measuredW": "159", + "measuredH": "24", + "x": "196", + "y": "277", + "properties": { + "size": "16", + "text": "I wouldn't recommend" + } + }, + { + "ID": "2325", + "typeID": "Icon", + "zOrder": "186", + "measuredW": "24", + "measuredH": "24", + "x": "160", + "y": "277", + "properties": { + "color": "10066329", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2326", + "typeID": "Label", + "zOrder": "187", + "w": "324", + "measuredW": "315", + "measuredH": "24", + "x": "197", + "y": "245", + "properties": { + "size": "16", + "text": "Order in roadmap not strict (Learn anytime)" + } + }, + { + "ID": "2327", + "typeID": "Icon", + "zOrder": "188", + "measuredW": "24", + "measuredH": "24", + "x": "160", + "y": "245", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2328", + "typeID": "Icon", + "zOrder": "189", + "measuredW": "24", + "measuredH": "24", + "x": "160", + "y": "245", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "2329", + "typeID": "Label", + "zOrder": "190", + "measuredW": "272", + "measuredH": "24", + "x": "196", + "y": "213", + "properties": { + "size": "16", + "text": "Alternative Option - Pick this or purple" + } + }, + { + "ID": "2330", + "typeID": "Icon", + "zOrder": "191", + "measuredW": "24", + "measuredH": "24", + "x": "160", + "y": "212", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2331", + "typeID": "Icon", + "zOrder": "192", + "measuredW": "24", + "measuredH": "24", + "x": "160", + "y": "212", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2332", + "typeID": "Icon", + "zOrder": "193", + "measuredW": "24", + "measuredH": "24", + "x": "160", + "y": "212", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "2333", + "typeID": "Arrow", + "zOrder": "194", + "w": "41", + "h": "264", + "measuredW": "150", + "measuredH": "100", + "x": "718", + "y": "675", + "properties": { + "color": "2848996", + "direction": "bottom", "leftArrow": "false", "p0": { - "x": 73, - "y": 93 + "x": 28, + "y": -0.5 }, "p1": { - "x": 0.6010928961748633, - "y": -0.054644808743169335 + "x": 0.4709081800615472, + "y": -0.12924926644242468 }, "p2": { - "x": 0, - "y": 1 + "x": 41, + "y": 263.5 }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "74", - "x": "693", - "y": "1343", - "zOrder": "153" + "rightArrow": "false" + } }, { - "ID": "883", - "h": "213", - "measuredH": "212", - "measuredW": "82", + "ID": "2334", + "typeID": "Arrow", + "zOrder": "195", + "w": "87", + "h": "151", + "measuredW": "150", + "measuredH": "100", + "x": "687", + "y": "951", "properties": { "color": "2848996", - "curvature": "1", - "direction": "top", + "direction": "bottom", "leftArrow": "false", "p0": { - "x": 0, - "y": 1 + "x": 72, + "y": 0 }, "p1": { - "x": 0.2883988681822617, - "y": 0.12014830715191724 + "x": 0.4164731105949616, + "y": 0.25156333750223336 }, "p2": { - "x": 82, - "y": 212 + "x": 0, + "y": 151 }, "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "83", - "x": "711", - "y": "1226", - "zOrder": "154" + } }, { - "ID": "884", - "h": "5", - "measuredH": "4", - "measuredW": "81", + "ID": "2335", + "typeID": "Arrow", + "zOrder": "196", + "w": "43", + "h": "82", + "measuredW": "150", + "measuredH": "100", + "x": "830", + "y": "856", "properties": { "color": "2848996", - "curvature": "-1", - "direction": "top", + "curvature": "0", + "direction": "bottom", "leftArrow": "false", "p0": { - "x": 81, - "y": 4 + "x": -0.5, + "y": 82 }, "p1": { - "x": 0.4444444444444445, - "y": -0.04938271604938272 + "x": 0.5274187832250412, + "y": -0.12252805670406892 }, "p2": { - "x": 0, - "y": 4 + "x": 42.5, + "y": 0 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "82", - "x": "926", - "y": "1201", - "zOrder": "155" + } }, { - "ID": "885", - "h": "111", - "measuredH": "111", - "measuredW": "67", + "ID": "2336", + "typeID": "Arrow", + "zOrder": "197", + "w": "48", + "h": "73", + "measuredW": "150", + "measuredH": "100", + "x": "612", + "y": "866", "properties": { "color": "2848996", - "curvature": "-1", + "curvature": "0", "leftArrow": "false", "p0": { - "x": 67, - "y": 0 + "x": 48, + "y": 72.5 }, "p1": { - "x": 0.5, - "y": 0 + "x": 0.5228612603170445, + "y": 0.14935150006550507 }, "p2": { "x": 0, - "y": 111 + "y": -0.5 }, "rightArrow": "false", "stroke": "dotted" - }, + } + }, + { + "ID": "2337", "typeID": "Arrow", - "w": "67", - "x": "428", - "y": "1241", - "zOrder": "156" + "zOrder": "198", + "w": "118", + "h": "74", + "measuredW": "150", + "measuredH": "100", + "x": "457", + "y": "962", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 118, + "y": -0.5 + }, + "p1": { + "x": 0.5873541588257404, + "y": 0.06127211140383051 + }, + "p2": { + "x": 0, + "y": 73.5 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "886", - "h": "157", - "measuredH": "157", - "measuredW": "78", + "ID": "2338", + "typeID": "Arrow", + "zOrder": "199", + "w": "91", + "h": "61", + "measuredW": "150", + "measuredH": "100", + "x": "940", + "y": "960", "properties": { "color": "2848996", - "curvature": "-1", "leftArrow": "false", "p0": { - "x": 78, - "y": 0 + "x": 91, + "y": 60 }, "p1": { - "x": 0.4932456861133936, - "y": 0.07316351684470009 + "x": 0.486318838754369, + "y": 0.01448408325199147 }, "p2": { "x": 0, - "y": 157 + "y": -0.5 }, "rightArrow": "false", "stroke": "dotted" - }, + } + }, + { + "ID": "2339", "typeID": "Arrow", - "w": "78", - "x": "426", - "y": "1242", - "zOrder": "157" + "zOrder": "200", + "w": "93", + "h": "24", + "measuredW": "150", + "measuredH": "100", + "x": "936", + "y": "949", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 93, + "y": 23 + }, + "p1": { + "x": 0.4798692360633174, + "y": -0.0049896765313145654 + }, + "p2": { + "x": 0, + "y": -0.5 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "887", - "h": "79", - "measuredH": "79", - "measuredW": "73", + "ID": "2340", + "typeID": "Arrow", + "zOrder": "201", + "w": "115", + "h": "18", + "measuredW": "150", + "measuredH": "100", + "x": "931", + "y": "922", "properties": { "color": "2848996", - "curvature": "-1", + "direction": "bottom", "leftArrow": "false", "p0": { - "x": 73, + "x": 115, "y": 0 }, "p1": { - "x": 0.5, - "y": 0 + "x": 0.4495149461236092, + "y": -0.004886187015480865 }, "p2": { "x": 0, - "y": 79 + "y": 17.5 }, "rightArrow": "false", "stroke": "dotted" - }, + } + }, + { + "ID": "2341", "typeID": "Arrow", - "w": "73", - "x": "421", - "y": "1229", - "zOrder": "158" + "zOrder": "202", + "w": "131", + "h": "45", + "measuredW": "150", + "measuredH": "100", + "x": "447", + "y": "946", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 131, + "y": -0.5 + }, + "p1": { + "x": 0.5873541588257396, + "y": 0.061272111403828454 + }, + "p2": { + "x": 0, + "y": 44.5 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "888", - "h": "32", - "measuredH": "32", - "measuredW": "86", + "ID": "2342", + "typeID": "Arrow", + "zOrder": "203", + "w": "141", + "h": "5", + "measuredW": "150", + "measuredH": "100", + "x": "458", + "y": "937", "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", "p0": { - "x": 86, + "x": 141, "y": 0 }, "p1": { @@ -3660,8475 +3354,11520 @@ }, "p2": { "x": 0, - "y": 32 + "y": 5 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "86", - "x": "414", - "y": "1222", - "zOrder": "159" + } }, { - "ID": "889", - "h": "14", - "measuredH": "14", - "measuredW": "125", + "ID": "2384", + "typeID": "Arrow", + "zOrder": "213", + "w": "154", + "h": "40", + "measuredW": "150", + "measuredH": "100", + "x": "844", + "y": "500", "properties": { "color": "2848996", "curvature": "-1", "leftArrow": "false", "p0": { - "x": 125, - "y": 14 + "x": 0, + "y": 0 }, "p1": { - "x": 0.5, - "y": 0 + "x": 0.4299387442572742, + "y": 0.06087289433384378 }, "p2": { - "x": 0, - "y": 0 + "x": 154, + "y": 40 }, "rightArrow": "false", "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "125", - "x": "405", - "y": "1207", - "zOrder": "160" + } }, { - "ID": "890", - "h": "50", - "measuredH": "140", - "measuredW": "200", + "ID": "2385", + "typeID": "Arrow", + "zOrder": "214", + "w": "152", + "h": "83", + "measuredW": "150", + "measuredH": "100", + "x": "852", + "y": "502", "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "229", - "x": "488", - "y": "1201", - "zOrder": "161" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5124862467909179, + "y": -0.09515553629180144 + }, + "p2": { + "x": 152, + "y": 83 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "891", - "measuredH": "25", - "measuredW": "172", + "ID": "2386", + "typeID": "Arrow", + "zOrder": "215", + "w": "124", + "h": "57", + "measuredW": "150", + "measuredH": "100", + "x": "488", + "y": "504", "properties": { - "bold": "true", - "size": "17", - "text": "Relational Databases" - }, - "typeID": "Label", - "w": "174", - "x": "516", - "y": "1214", - "zOrder": "162" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 124, + "y": 0 + }, + "p1": { + "x": 0.4977437042068999, + "y": -0.11213547479256634 + }, + "p2": { + "x": 0, + "y": 57 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "892", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2387", + "typeID": "Arrow", + "zOrder": "216", + "w": "151", + "h": "29", + "measuredW": "150", + "measuredH": "100", + "x": "852", + "y": "454", "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "191", - "x": "243", - "y": "1192", - "zOrder": "163" + "color": "2848996", + "leftArrow": "false", + "p0": { + "x": 150, + "y": 28 + }, + "p1": { + "x": 0.4823054457996908, + "y": 0.02336368321594228 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "893", - "measuredH": "25", - "measuredW": "95", - "properties": { - "size": "17", - "text": "PostgreSQL" - }, - "typeID": "Label", - "w": "96", - "x": "291", - "y": "1200", - "zOrder": "164" + "ID": "2388", + "typeID": "Arrow", + "zOrder": "217", + "w": "153", + "h": "13", + "measuredW": "150", + "measuredH": "100", + "x": "854", + "y": "437", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 152, + "y": 0 + }, + "p1": { + "x": 0.4798692360633173, + "y": -0.004989676531314521 + }, + "p2": { + "x": 0, + "y": 12 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "894", - "measuredH": "24", - "measuredW": "24", + "ID": "2389", + "typeID": "Arrow", + "zOrder": "218", + "h": "60", + "measuredW": "150", + "measuredH": "100", + "x": "852", + "y": "388", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1185", - "zOrder": "165" + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 149, + "y": 0 + }, + "p1": { + "x": 0.4552212800557556, + "y": -0.05494250203275647 + }, + "p2": { + "x": 0, + "y": 59 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "895", - "measuredH": "24", - "measuredW": "24", + "ID": "2390", + "typeID": "Arrow", + "zOrder": "219", + "w": "129", + "h": "36", + "measuredW": "150", + "measuredH": "100", + "x": "473", + "y": "456", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1185", - "zOrder": "166" + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 129, + "y": 0 + }, + "p1": { + "x": 0.4772874058127019, + "y": 0.05888051668460705 + }, + "p2": { + "x": 0, + "y": 36 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "896", - "measuredH": "24", - "measuredW": "24", + "ID": "2391", + "typeID": "Arrow", + "zOrder": "220", + "w": "131", + "h": "9", + "measuredW": "150", + "measuredH": "100", + "x": "473", + "y": "445", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1185", - "zOrder": "167" + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 129, + "y": 7 + }, + "p1": { + "x": 0.4652789342214826, + "y": -0.001332223147377271 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "897", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2392", + "typeID": "Arrow", + "zOrder": "221", + "w": "143", + "h": "53", + "measuredW": "150", + "measuredH": "100", + "x": "463", + "y": "398", "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "191", - "x": "243", - "y": "1238", - "zOrder": "168" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 141, + "y": 51 + }, + "p1": { + "x": 0.45522128005575574, + "y": -0.054942502032756434 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "898", - "measuredH": "25", - "measuredW": "58", + "ID": "2428", + "typeID": "Arrow", + "zOrder": "233", + "w": "135", + "h": "195", + "measuredW": "150", + "measuredH": "100", + "x": "867", + "y": "674", "properties": { - "size": "17", - "text": "MySQL" - }, - "typeID": "Label", - "w": "60", - "x": "309", - "y": "1246", - "zOrder": "169" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 134.5, + "y": 195 + }, + "p1": { + "x": 0.5227813114793675, + "y": 0.0017380179353795955 + }, + "p2": { + "x": -0.5, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "899", - "measuredH": "24", - "measuredW": "24", + "ID": "2429", + "typeID": "Arrow", + "zOrder": "234", + "w": "136", + "h": "131", + "measuredW": "150", + "measuredH": "100", + "x": "872", + "y": "672", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1235", - "zOrder": "170" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 135.5, + "y": 131 + }, + "p1": { + "x": 0.5227813114793675, + "y": 0.0017380179353796794 + }, + "p2": { + "x": -0.5, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "900", - "measuredH": "24", - "measuredW": "24", + "ID": "2430", + "typeID": "Arrow", + "zOrder": "235", + "w": "138", + "h": "76", + "measuredW": "150", + "measuredH": "100", + "x": "865", + "y": "666", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1235", - "zOrder": "171" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 137.5, + "y": 76 + }, + "p1": { + "x": 0.524315747719159, + "y": -0.026418088060293544 + }, + "p2": { + "x": -0.5, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "901", - "measuredH": "24", - "measuredW": "24", + "ID": "2431", + "typeID": "Arrow", + "zOrder": "236", + "w": "141", + "h": "30", + "measuredW": "150", + "measuredH": "100", + "x": "864", + "y": "660", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1235", - "zOrder": "172" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 140.5, + "y": 30 + }, + "p1": { + "x": 0.5227813114793672, + "y": 0.0017380179353795478 + }, + "p2": { + "x": -0.5, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "902", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2432", + "typeID": "Arrow", + "zOrder": "237", + "w": "144", + "h": "5", + "measuredW": "150", + "measuredH": "100", + "x": "861", + "y": "649", "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "191", - "x": "243", - "y": "1283", - "zOrder": "173" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 143.5, + "y": 0 + }, + "p1": { + "x": 0.5227813114793672, + "y": 0.001738017935379522 + }, + "p2": { + "x": -0.5, + "y": 5 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "903", - "measuredH": "25", - "measuredW": "65", + "ID": "2444", + "typeID": "Arrow", + "zOrder": "243", + "w": "128", + "h": "151", + "measuredW": "150", + "measuredH": "100", + "x": "486", + "y": "678", "properties": { - "size": "17", - "text": "MariaDB" - }, - "typeID": "Label", - "w": "68", - "x": "305", - "y": "1291", - "zOrder": "174" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 128, + "y": 0 + }, + "p1": { + "x": 0.4075757037878519, + "y": -0.014129007064503547 + }, + "p2": { + "x": 0, + "y": 151 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "904", - "measuredH": "24", - "measuredW": "24", + "ID": "2445", + "typeID": "Arrow", + "zOrder": "244", + "w": "125", + "h": "107", + "measuredW": "150", + "measuredH": "100", + "x": "487", + "y": "671", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1280", - "zOrder": "175" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 125, + "y": 0 + }, + "p1": { + "x": 0.4291571249168944, + "y": -0.03135849892886164 + }, + "p2": { + "x": 0, + "y": 107 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "905", - "measuredH": "24", - "measuredW": "24", + "ID": "2446", + "typeID": "Arrow", + "zOrder": "245", + "w": "119", + "h": "55", + "measuredW": "150", + "measuredH": "100", + "x": "489", + "y": "669", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1280", - "zOrder": "176" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 119, + "y": 0 + }, + "p1": { + "x": 0.513033864773653, + "y": -0.03543581985336902 + }, + "p2": { + "x": 0, + "y": 55 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "906", - "measuredH": "24", - "measuredW": "24", + "ID": "2447", + "typeID": "Arrow", + "zOrder": "246", + "w": "131", + "h": "11", + "measuredW": "150", + "measuredH": "100", + "x": "482", + "y": "663", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1280", - "zOrder": "177" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 131, + "y": 0 + }, + "p1": { + "x": 0.4401290896950813, + "y": -0.005675495214778532 + }, + "p2": { + "x": 0, + "y": 11 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "907", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2448", + "typeID": "Arrow", + "zOrder": "247", + "w": "138", + "h": "32", + "measuredW": "150", + "measuredH": "100", + "x": "477", + "y": "629", "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "191", - "x": "243", - "y": "1329", - "zOrder": "178" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 138, + "y": 32 + }, + "p1": { + "x": 0.4566473988439307, + "y": -0.03179190751445087 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "908", - "measuredH": "25", - "measuredW": "66", + "ID": "2466", + "typeID": "Arrow", + "zOrder": "254", + "w": "58", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "1124", + "y": "1120", "properties": { - "size": "17", - "text": "MS SQL" - }, - "typeID": "Label", - "w": "67", - "x": "305", - "y": "1337", - "zOrder": "179" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 58, + "y": 1 + }, + "p1": { + "x": 0.4872751951136749, + "y": -0.011876484560570062 + }, + "p2": { + "x": 0, + "y": 1 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "909", - "measuredH": "24", - "measuredW": "24", + "ID": "2467", + "typeID": "Arrow", + "zOrder": "255", + "w": "85", + "h": "3", + "measuredW": "150", + "measuredH": "100", + "x": "787", + "y": "1116", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1326", - "zOrder": "180" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 83, + "y": 1 + }, + "p1": { + "x": 0.4872751951136748, + "y": -0.01187648456057007 + }, + "p2": { + "x": 0, + "y": 1 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "910", - "measuredH": "24", - "measuredW": "24", + "ID": "2468", + "typeID": "Arrow", + "zOrder": "256", + "w": "56", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "420", + "y": "1122", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1326", - "zOrder": "181" + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": -0.5, + "y": 0 + }, + "p1": { + "x": 0.4872751951136748, + "y": -0.011876484560570066 + }, + "p2": { + "x": 55, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } }, { - "ID": "911", - "measuredH": "24", - "measuredW": "24", + "ID": "2526", + "typeID": "Label", + "zOrder": "277", + "w": "84", + "measuredW": "83", + "measuredH": "25", + "x": "169", + "y": "2906", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "235", - "y": "1326", - "zOrder": "182" + "size": "17", + "text": "Monitoring" + } }, { - "ID": "912", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2527", + "typeID": "Label", + "zOrder": "278", + "w": "78", + "measuredW": "73", + "measuredH": "25", + "x": "162", + "y": "2749", "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "191", - "x": "243", - "y": "1375", - "zOrder": "183" + "size": "17", + "text": "Throttling" + } + }, + { + "ID": "2528", + "typeID": "Label", + "zOrder": "279", + "w": "109", + "measuredW": "107", + "measuredH": "25", + "x": "131", + "y": "2777", + "properties": { + "size": "17", + "text": "Backpressure" + } }, { - "ID": "913", + "ID": "2529", + "typeID": "Label", + "zOrder": "280", + "w": "100", + "measuredW": "94", "measuredH": "25", - "measuredW": "51", + "x": "140", + "y": "2805", "properties": { "size": "17", - "text": "Oracle" - }, + "text": "Loadshifting" + } + }, + { + "ID": "2530", "typeID": "Label", - "w": "54", - "x": "312", - "y": "1383", - "zOrder": "184" + "zOrder": "281", + "w": "70", + "measuredW": "66", + "measuredH": "25", + "x": "168", + "y": "2699", + "properties": { + "size": "17", + "text": "Graceful" + } }, { - "ID": "914", - "measuredH": "24", + "ID": "2531", + "typeID": "Label", + "zOrder": "282", + "w": "84", + "measuredW": "76", + "measuredH": "25", + "x": "167", + "y": "2931", + "properties": { + "size": "17", + "text": "Telemetry" + } + }, + { + "ID": "2532", + "typeID": "Label", + "zOrder": "283", + "w": "124", + "measuredW": "121", + "measuredH": "25", + "x": "129", + "y": "2881", + "properties": { + "size": "17", + "text": "Instrumentation" + } + }, + { + "ID": "2534", + "typeID": "Label", + "zOrder": "284", + "w": "118", + "measuredW": "116", + "measuredH": "25", + "x": "122", + "y": "2830", + "properties": { + "size": "17", + "text": "Circuit Breaker" + } + }, + { + "ID": "2539", + "typeID": "Label", + "zOrder": "287", + "w": "96", + "measuredW": "96", + "measuredH": "25", + "x": "142", + "y": "2719", + "properties": { + "size": "17", + "text": "Degradation" + } + }, + { + "ID": "2580", + "typeID": "Icon", + "zOrder": "288", "measuredW": "24", + "measuredH": "24", + "x": "431", + "y": "1501", "properties": { "color": "16777215", "icon": { "ID": "circle", "size": "small" } - }, - "typeID": "Icon", - "x": "235", - "y": "1372", - "zOrder": "185" + } }, { - "ID": "915", + "ID": "2581", + "typeID": "Icon", + "zOrder": "289", + "measuredW": "24", "measuredH": "24", + "x": "431", + "y": "1501", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "2623", + "typeID": "Icon", + "zOrder": "290", "measuredW": "24", + "measuredH": "24", + "x": "1272", + "y": "1703", "properties": { "color": "16777215", "icon": { "ID": "circle", "size": "small" } - }, - "typeID": "Icon", - "x": "235", - "y": "1372", - "zOrder": "186" + } }, { - "ID": "916", - "measuredH": "24", + "ID": "2624", + "typeID": "Icon", + "zOrder": "291", "measuredW": "24", + "measuredH": "24", + "x": "1272", + "y": "1703", "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" } - }, - "typeID": "Icon", - "x": "235", - "y": "1372", - "zOrder": "187" - }, - { - "ID": "917", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "191", - "x": "756", - "y": "1187", - "zOrder": "188" - }, - { - "ID": "918", - "measuredH": "25", - "measuredW": "149", - "properties": { - "bold": "true", - "size": "17", - "text": "NoSQL Databases" - }, - "typeID": "Label", - "w": "151", - "x": "775", - "y": "1199", - "zOrder": "189" - }, - { - "ID": "919", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "326", - "x": "990", - "y": "1182", - "zOrder": "190" + } }, { - "ID": "920", - "measuredH": "24", + "ID": "2625", + "typeID": "Icon", + "zOrder": "292", "measuredW": "24", + "measuredH": "24", + "x": "1277", + "y": "1910", "properties": { "color": "16777215", "icon": { "ID": "circle", "size": "small" } - }, - "typeID": "Icon", - "x": "1221", - "y": "1315", - "zOrder": "191" + } }, { - "ID": "921", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2626", + "typeID": "Icon", + "zOrder": "293", + "measuredW": "24", + "measuredH": "24", + "x": "1277", + "y": "1910", "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "171", - "x": "528", - "y": "1326", - "zOrder": "192" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } }, { - "ID": "922", - "measuredH": "25", - "measuredW": "41", + "ID": "2733", + "typeID": "__group__", + "zOrder": "180", + "measuredW": "320", + "measuredH": "45", + "w": "320", + "h": "45", + "x": "964", + "y": "250", "properties": { - "size": "17", - "text": "ACID" + "controlName": "ext_link:roadmap.sh" }, - "typeID": "Label", - "w": "43", - "x": "592", - "y": "1334", - "zOrder": "193" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "320", + "h": "45", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "4273622", + "color": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "28", + "x": "141", + "y": "8", + "properties": { + "color": "16777215", + "size": "20", + "text": "roadmap.sh" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "35", + "measuredH": "28", + "x": "76", + "y": "8", + "properties": { + "color": "16777215", + "size": "20", + "text": "http" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "measuredW": "5", + "measuredH": "28", + "x": "113", + "y": "8", + "properties": { + "bold": "true", + "color": "16777215", + "size": "20", + "text": ":" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "measuredW": "10", + "measuredH": "28", + "x": "120", + "y": "9", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + }, + { + "ID": "5", + "typeID": "Label", + "zOrder": "5", + "measuredW": "10", + "measuredH": "28", + "x": "128", + "y": "9", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + } + ] + } + } }, { - "ID": "923", - "h": "50", - "measuredH": "140", - "measuredW": "200", + "ID": "2734", + "typeID": "__group__", + "zOrder": "222", + "measuredW": "278", + "measuredH": "60", + "w": "278", + "h": "60", + "x": "586", + "y": "414", "properties": { - "color": "16776960" + "controlName": "100-internet" }, - "typeID": "TextArea", - "w": "238", - "x": "762", - "y": "1432", - "zOrder": "194" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "272", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "10", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "69", + "measuredW": "63", + "measuredH": "25", + "x": "107", + "y": "23", + "properties": { + "bold": "true", + "size": "17", + "text": "Internet" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "924", - "measuredH": "25", - "measuredW": "184", + "ID": "2735", + "typeID": "__group__", + "zOrder": "223", + "measuredW": "306", + "measuredH": "53", + "w": "306", + "h": "53", + "x": "189", + "y": "366", "properties": { - "bold": "true", - "size": "17", - "text": "More about Databases" + "controlName": "100-internet:how-does-the-internet-work" }, - "typeID": "Label", - "w": "186", - "x": "792", - "y": "1445", - "zOrder": "195" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "299", + "h": "44", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "223", + "measuredW": "219", + "measuredH": "25", + "x": "45", + "y": "19", + "properties": { + "size": "17", + "text": "How does the internet work?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "925", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2736", + "typeID": "__group__", + "zOrder": "224", + "measuredW": "307", + "measuredH": "47", + "w": "307", + "h": "47", + "x": "188", + "y": "418", "properties": { - "color": "16770457" + "controlName": "101-internet:what-is-http" }, - "typeID": "TextArea", - "w": "171", - "x": "528", - "y": "1370", - "zOrder": "196" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "299", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "119", + "measuredW": "113", + "measuredH": "25", + "x": "98", + "y": "15", + "properties": { + "size": "17", + "text": "What is HTTP?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "926", - "measuredH": "25", - "measuredW": "100", + "ID": "2737", + "typeID": "__group__", + "zOrder": "225", + "measuredW": "307", + "measuredH": "48", + "w": "307", + "h": "48", + "x": "188", + "y": "463", "properties": { - "size": "17", - "text": "Transactions" + "controlName": "102-internet:browsers-and-how-they-work" }, - "typeID": "Label", - "w": "105", - "x": "568", - "y": "1377", - "zOrder": "197" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "299", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "230", + "measuredW": "225", + "measuredH": "25", + "x": "42", + "y": "16", + "properties": { + "size": "17", + "text": "Browsers and how they work?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "927", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2739", + "typeID": "__group__", + "zOrder": "226", + "measuredW": "290", + "measuredH": "49", + "w": "290", + "h": "49", + "x": "989", + "y": "361", "properties": { - "color": "16770457" + "controlName": "103-internet:dns-and-how-it-works" }, - "typeID": "TextArea", - "w": "171", - "x": "528", - "y": "1414", - "zOrder": "198" - }, - { - "ID": "928", - "measuredH": "25", - "measuredW": "96", - "properties": { - "size": "17", - "text": "N+1 Problem" - }, - "typeID": "Label", - "w": "98", - "x": "571", - "y": "1421", - "zOrder": "199" - }, - { - "ID": "929", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "206", - "x": "1080", - "y": "1425", - "zOrder": "200" - }, - { - "ID": "930", - "measuredH": "25", - "measuredW": "153", - "properties": { - "size": "17", - "text": "Sharding Strategies" - }, - "typeID": "Label", - "w": "155", - "x": "1107", - "y": "1432", - "zOrder": "201" - }, - { - "ID": "931", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "266", - "x": "435", - "y": "1460", - "zOrder": "202" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "__group__", + "zOrder": "0", + "measuredW": "290", + "measuredH": "49", + "w": "290", + "h": "49", + "x": "0", + "y": "0", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "179", + "measuredW": "175", + "measuredH": "25", + "x": "51", + "y": "17", + "properties": { + "size": "17", + "text": "DNS and how it works?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "266", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "266", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } }, { - "ID": "932", - "measuredH": "25", - "measuredW": "184", + "ID": "2740", + "typeID": "__group__", + "zOrder": "227", + "measuredW": "290", + "measuredH": "45", + "w": "290", + "h": "45", + "x": "988", + "y": "411", "properties": { - "size": "17", - "text": "Database Normalization" + "controlName": "104-internet:what-is-domain-name" }, - "typeID": "Label", - "w": "188", - "x": "482", - "y": "1468", - "zOrder": "203" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "179", + "measuredW": "180", + "measuredH": "25", + "x": "51", + "y": "13", + "properties": { + "size": "17", + "text": "What is Domain Name?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "266", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "266", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "933", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2741", + "typeID": "__group__", + "zOrder": "228", + "measuredW": "289", + "measuredH": "46", + "w": "289", + "h": "46", + "x": "989", + "y": "456", "properties": { - "color": "16770457" + "controlName": "105-internet:what-is-hosting" }, - "typeID": "TextArea", - "w": "207", - "x": "1080", - "y": "1380", - "zOrder": "204" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "133", + "measuredW": "126", + "measuredH": "25", + "x": "74", + "y": "14", + "properties": { + "size": "17", + "text": "What is hosting?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "934", - "measuredH": "25", - "measuredW": "126", + "ID": "2742", + "typeID": "__group__", + "zOrder": "229", + "measuredW": "277", + "measuredH": "55", + "w": "277", + "h": "55", + "x": "587", + "y": "475", "properties": { - "size": "17", - "text": "Data Replication" + "controlName": "101-basic-frontend" }, - "typeID": "Label", - "w": "129", - "x": "1122", - "y": "1387", - "zOrder": "205" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "272", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "5", + "y": "5", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "208", + "measuredH": "25", + "x": "37", + "y": "18", + "properties": { + "bold": "true", + "text": "Basic Frontend Knowledge", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "935", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2743", + "typeID": "__group__", + "zOrder": "230", + "measuredW": "148", + "measuredH": "52", + "w": "148", + "h": "52", + "x": "347", + "y": "527", "properties": { - "color": "16770457" + "controlName": "100-basic-frontend:html" }, - "typeID": "TextArea", - "w": "268", - "x": "434", - "y": "1506", - "zOrder": "206" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "142", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "49", + "measuredW": "48", + "measuredH": "25", + "x": "52", + "y": "19", + "properties": { + "size": "17", + "text": "HTML" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "936", - "measuredH": "25", - "measuredW": "210", + "ID": "2745", + "typeID": "__group__", + "zOrder": "231", + "measuredW": "150", + "measuredH": "50", + "w": "150", + "h": "50", + "x": "989", + "y": "508", "properties": { - "size": "17", - "text": "Indexes and how they work" + "controlName": "101-basic-frontend:css" }, - "typeID": "Label", - "w": "214", - "x": "466", - "y": "1514", - "zOrder": "207" - }, - { - "ID": "937", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "238", - "x": "776", - "y": "1592", - "zOrder": "208" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "142", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "38", + "measuredW": "33", + "measuredH": "25", + "x": "52", + "y": "17", + "properties": { + "size": "17", + "text": "CSS" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "126", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "126", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "938", - "measuredH": "25", - "measuredW": "142", + "ID": "2746", + "typeID": "__group__", + "zOrder": "232", + "measuredW": "150", + "measuredH": "48", + "w": "150", + "h": "48", + "x": "989", + "y": "561", "properties": { - "bold": "true", - "size": "17", - "text": "Learn about APIs" + "controlName": "102-basic-frontend:javascript" }, - "typeID": "Label", - "w": "143", - "x": "823", - "y": "1605", - "zOrder": "209" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "142", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "84", + "measuredW": "81", + "measuredH": "25", + "x": "34", + "y": "14", + "properties": { + "size": "17", + "text": "JavaScript" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "126", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "126", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "939", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2747", + "typeID": "__group__", + "zOrder": "248", + "measuredW": "276", + "measuredH": "60", + "w": "276", + "h": "60", + "x": "601", + "y": "633", "properties": { - "color": "16770457" + "controlName": "102-os-general-knowledge" }, - "typeID": "TextArea", - "w": "188", - "x": "1085", - "y": "1520", - "zOrder": "210" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "272", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "4", + "y": "10", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "222", + "measuredW": "213", + "measuredH": "25", + "x": "32", + "y": "23", + "properties": { + "bold": "true", + "size": "17", + "text": "OS and General Knowledge" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "940", - "measuredH": "25", - "measuredW": "46", + "ID": "2748", + "typeID": "__group__", + "zOrder": "249", + "measuredW": "275", + "measuredH": "52", + "w": "275", + "h": "52", + "x": "222", + "y": "594", "properties": { - "size": "17", - "text": "REST" + "controlName": "100-os-general-knowledge:terminal-usage" }, - "typeID": "Label", - "w": "49", - "x": "1155", - "y": "1528", - "zOrder": "211" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "269", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "123", + "measuredW": "121", + "measuredH": "25", + "x": "79", + "y": "19", + "properties": { + "size": "17", + "text": "Terminal Usage" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "941", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2749", + "typeID": "__group__", + "zOrder": "253", + "measuredW": "275", + "measuredH": "48", + "w": "275", + "h": "48", + "x": "222", + "y": "647", "properties": { - "color": "16770457" + "controlName": "101-os-general-knowledge:how-oss-work-in-general" }, - "typeID": "TextArea", - "w": "188", - "x": "1085", - "y": "1584", - "zOrder": "212" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "197", + "measuredW": "195", + "measuredH": "25", + "x": "42", + "y": "14", + "properties": { + "size": "17", + "text": "How OSs work in General" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "942", - "measuredH": "25", - "measuredW": "89", + "ID": "2750", + "typeID": "__group__", + "zOrder": "251", + "measuredW": "274", + "measuredH": "50", + "w": "274", + "h": "50", + "x": "222", + "y": "695", "properties": { - "size": "17", - "text": "JSON APIs" + "controlName": "102-os-general-knowledge:process-management" }, - "typeID": "Label", - "w": "90", - "x": "1134", - "y": "1592", - "zOrder": "213" - }, - { - "ID": "943", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "188", - "x": "1085", - "y": "1630", - "zOrder": "214" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "267", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "172", + "measuredW": "170", + "measuredH": "25", + "x": "55", + "y": "16", + "properties": { + "size": "17", + "text": "Process Management" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "944", - "measuredH": "25", - "measuredW": "45", + "ID": "2751", + "typeID": "__group__", + "zOrder": "252", + "measuredW": "275", + "measuredH": "49", + "w": "275", + "h": "49", + "x": "222", + "y": "746", "properties": { - "size": "17", - "text": "SOAP" + "controlName": "103-os-general-knowledge:threads-and-concurrency" }, - "typeID": "Label", - "w": "49", - "x": "1154", - "y": "1638", - "zOrder": "215" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "202", + "measuredW": "200", + "measuredH": "25", + "x": "40", + "y": "16", + "properties": { + "size": "17", + "text": "Threads and Concurrency" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "945", - "measuredH": "22", - "measuredW": "168", + "ID": "2752", + "typeID": "__group__", + "zOrder": "250", + "measuredW": "275", + "measuredH": "106", + "w": "275", + "h": "106", + "x": "222", + "y": "797", "properties": { - "size": "14", - "text": "Read Roy Fielding’s Paper" + "controlName": "104-os-general-knowledge:basic-terminal-commands" }, - "typeID": "Label", - "w": "179", - "x": "1092", - "y": "1560", - "zOrder": "216" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "269", + "h": "101", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "210", + "measuredW": "208", + "measuredH": "25", + "x": "36", + "y": "17", + "properties": { + "bold": "true", + "size": "17", + "text": "Basic Terminal Commands" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "238", + "measuredW": "223", + "measuredH": "25", + "x": "22", + "y": "43", + "properties": { + "size": "17", + "text": "grep, awk, sed, lsof, curl, wget" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "w": "216", + "measuredW": "204", + "measuredH": "25", + "x": "33", + "y": "69", + "properties": { + "size": "17", + "text": "tail, head, less, find, ssh, kill" + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "946", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2753", + "typeID": "__group__", + "zOrder": "238", + "measuredW": "276", + "measuredH": "51", + "w": "276", + "h": "51", + "x": "989", + "y": "618", "properties": { - "color": "16770457" + "controlName": "105-os-general-knowledge:memory-management" }, - "typeID": "TextArea", - "w": "268", - "x": "434", - "y": "1570", - "zOrder": "217" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "267", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "170", + "measuredW": "169", + "measuredH": "25", + "x": "50", + "y": "18", + "properties": { + "size": "17", + "text": "Memory Management" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "947", - "measuredH": "25", - "measuredW": "76", + "ID": "2754", + "typeID": "__group__", + "zOrder": "239", + "measuredW": "276", + "measuredH": "47", + "w": "276", + "h": "47", + "x": "989", + "y": "671", "properties": { - "size": "17", - "text": "HATEOAS" + "controlName": "106-os-general-knowledge:interprocess-communication" }, - "typeID": "Label", - "w": "78", - "x": "529", - "y": "1578", - "zOrder": "218" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "224", + "measuredW": "222", + "measuredH": "25", + "x": "23", + "y": "13", + "properties": { + "size": "17", + "text": "Interprocess Communication" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "948", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2755", + "typeID": "__group__", + "zOrder": "240", + "measuredW": "276", + "measuredH": "47", + "w": "276", + "h": "47", + "x": "989", + "y": "721", "properties": { - "color": "16770457" + "controlName": "107-os-general-knowledge:io-management" }, - "typeID": "TextArea", - "w": "268", - "x": "434", - "y": "1616", - "zOrder": "219" - }, - { - "ID": "949", - "measuredH": "25", - "measuredW": "227", - "properties": { - "size": "17", - "text": "Open API Spec and Swagger" - }, - "typeID": "Label", - "w": "230", - "x": "456", - "y": "1623", - "zOrder": "220" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "135", + "measuredW": "133", + "measuredH": "25", + "x": "66", + "y": "14", + "properties": { + "size": "17", + "text": "I/O Management" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "950", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2756", + "typeID": "__group__", + "zOrder": "241", + "measuredW": "276", + "measuredH": "69", + "w": "276", + "h": "69", + "x": "989", + "y": "771", "properties": { - "color": "16770457" + "controlName": "108-os-general-knowledge:posix-basics" }, - "typeID": "TextArea", - "w": "206", - "x": "1081", - "y": "1471", - "zOrder": "221" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "65", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "115", + "measuredW": "106", + "measuredH": "25", + "x": "78", + "y": "15", + "properties": { + "bold": "true", + "size": "17", + "text": "POSIX Basics" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "180", + "measuredW": "172", + "measuredH": "23", + "x": "44", + "y": "36", + "properties": { + "size": "15", + "text": "stdin, stdout, stderr, pipes" + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "951", - "measuredH": "25", - "measuredW": "106", + "ID": "2757", + "typeID": "__group__", + "zOrder": "242", + "measuredW": "276", + "measuredH": "44", + "w": "276", + "h": "44", + "x": "989", + "y": "846", "properties": { - "size": "17", - "text": "CAP Theorem" + "controlName": "109-os-general-knowledge:basic-networking-concepts" }, - "typeID": "Label", - "w": "109", - "x": "1129", - "y": "1478", - "zOrder": "222" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "1", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "218", + "measuredW": "213", + "measuredH": "25", + "x": "25", + "y": "10", + "properties": { + "size": "17", + "text": "Basic Networking Concepts" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "252", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "952", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2758", + "typeID": "__group__", + "zOrder": "208", + "measuredW": "380", + "measuredH": "98", + "w": "380", + "h": "98", + "x": "566", + "y": "920", "properties": { - "color": "16770457" + "controlName": "103-learn-a-language" }, - "typeID": "TextArea", - "w": "268", - "x": "434", - "y": "1663", - "zOrder": "223" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "380", + "h": "98", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "149", + "measuredW": "142", + "measuredH": "25", + "x": "115", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "Learn a Language" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "347", + "measuredW": "343", + "measuredH": "23", + "x": "16", + "y": "41", + "properties": { + "size": "15", + "text": "Make sure to learn its quirks. Core details about its" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "w": "306", + "measuredW": "300", + "measuredH": "23", + "x": "37", + "y": "64", + "properties": { + "size": "15", + "text": "runtime e.g. concurrency, memory model etc." + } + } + ] + } + } }, { - "ID": "953", - "measuredH": "25", - "measuredW": "109", + "ID": "2759", + "typeID": "__group__", + "zOrder": "204", + "measuredW": "144", + "measuredH": "48", + "w": "144", + "h": "48", + "x": "792", + "y": "819", "properties": { - "size": "17", - "text": "Authentication" + "controlName": "100-learn-a-language:go" }, - "typeID": "Label", - "w": "111", - "x": "512", - "y": "1671", - "zOrder": "224" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "136", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "26", + "measuredW": "23", + "measuredH": "25", + "x": "63", + "y": "15", + "properties": { + "size": "17", + "text": "Go" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "954", - "h": "156", - "measuredH": "156", - "measuredW": "0", + "ID": "2760", + "typeID": "__group__", + "zOrder": "206", + "measuredW": "144", + "measuredH": "49", + "w": "144", + "h": "49", + "x": "534", + "y": "822", "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4652565385165071, - "y": 0.0007431756467057314 - }, - "p2": { - "x": 0, - "y": 155 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "1", - "x": "920", - "y": "1832", - "zOrder": "225" - }, - { - "ID": "955", - "h": "54", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "240", - "x": "739", - "y": "1808", - "zOrder": "226" - }, - { - "ID": "956", - "measuredH": "25", - "measuredW": "202", - "properties": { - "bold": "true", - "size": "17", - "text": "Web Security Knowledge" - }, - "typeID": "Label", - "w": "203", - "x": "762", - "y": "1823", - "zOrder": "227" - }, - { - "ID": "957", - "h": "171", - "measuredH": "140", - "measuredW": "200", - "typeID": "TextArea", - "w": "456", - "x": "834", - "y": "1915", - "zOrder": "228" - }, - { - "ID": "958", - "h": "42", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "163", - "x": "849", - "y": "1979", - "zOrder": "229" - }, - { - "ID": "959", - "measuredH": "25", - "measuredW": "49", - "properties": { - "bold": "true", - "size": "17", - "text": "CORS" - }, - "typeID": "Label", - "w": "51", - "x": "905", - "y": "1988", - "zOrder": "230" - }, - { - "ID": "960", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "166", - "x": "848", - "y": "1929", - "zOrder": "231" - }, - { - "ID": "961", - "measuredH": "25", - "measuredW": "57", - "properties": { - "bold": "true", - "size": "17", - "text": "HTTPS" - }, - "typeID": "Label", - "w": "63", - "x": "899", - "y": "1939", - "zOrder": "232" - }, - { - "ID": "962", - "h": "44", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "257", - "x": "1019", - "y": "1929", - "zOrder": "233" - }, - { - "ID": "963", - "measuredH": "25", - "measuredW": "191", - "properties": { - "bold": "true", - "size": "17", - "text": "Content Security Policy" - }, - "typeID": "Label", - "w": "196", - "x": "1050", - "y": "1939", - "zOrder": "234" - }, - { - "ID": "964", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "427", - "x": "848", - "y": "2027", - "zOrder": "235" - }, - { - "ID": "965", - "measuredH": "25", - "measuredW": "183", - "properties": { - "bold": "true", - "size": "17", - "text": "OWASP Security Risks" - }, - "typeID": "Label", - "w": "187", - "x": "968", - "y": "2037", - "zOrder": "236" - }, - { - "ID": "966", - "h": "185", - "measuredH": "140", - "measuredW": "200", - "typeID": "TextArea", - "w": "270", - "x": "1018", - "y": "1719", - "zOrder": "237" - }, - { - "ID": "967", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "239", - "x": "1033", - "y": "1727", - "zOrder": "238" - }, - { - "ID": "968", - "measuredH": "25", - "measuredW": "201", - "properties": { - "size": "17", - "text": "MD5 and why not to use it" - }, - "typeID": "Label", - "w": "203", - "x": "1053", - "y": "1735", - "zOrder": "239" - }, - { - "ID": "969", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "237", - "x": "1034", - "y": "1772", - "zOrder": "240" - }, - { - "ID": "970", - "measuredH": "25", - "measuredW": "87", - "properties": { - "size": "17", - "text": "SHA Family" - }, - "typeID": "Label", - "w": "93", - "x": "1106", - "y": "1779", - "zOrder": "241" - }, - { - "ID": "971", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "119", - "x": "1035", - "y": "1818", - "zOrder": "242" - }, - { - "ID": "972", - "measuredH": "25", - "measuredW": "50", - "properties": { - "size": "17", - "text": "scrypt" - }, - "typeID": "Label", - "w": "62", - "x": "1073", - "y": "1825", - "zOrder": "243" - }, - { - "ID": "973", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "111", - "x": "1161", - "y": "1818", - "zOrder": "244" - }, - { - "ID": "974", - "measuredH": "25", - "measuredW": "51", - "properties": { - "size": "17", - "text": "bcrypt" - }, - "typeID": "Label", - "w": "53", - "x": "1196", - "y": "1825", - "zOrder": "245" - }, - { - "ID": "975", - "measuredH": "25", - "measuredW": "150", - "properties": { - "size": "17", - "text": "Hashing Algorithms" - }, - "typeID": "Label", - "w": "155", - "x": "1075", - "y": "1866", - "zOrder": "246" - }, - { - "ID": "976", - "measuredH": "32", - "measuredW": "127", - "properties": { - "align": "center", - "color": "16770457", - "size": "18", - "text": "Cookie Based" - }, - "typeID": "TextInput", - "w": "223", - "x": "177", - "y": "1486", - "zOrder": "247" - }, - { - "ID": "977", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "258", - "x": "1018", - "y": "1979", - "zOrder": "248" - }, - { - "ID": "978", - "measuredH": "25", - "measuredW": "73", - "properties": { - "bold": "true", - "size": "17", - "text": "SSL/TLS" - }, - "typeID": "Label", - "w": "75", - "x": "1109", - "y": "1988", - "zOrder": "249" - }, - { - "ID": "979", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "159", - "x": "527", - "y": "1945", - "zOrder": "250" - }, - { - "ID": "980", - "measuredH": "25", - "measuredW": "60", - "properties": { - "bold": "true", - "size": "17", - "text": "Testing" - }, - "typeID": "Label", - "w": "63", - "x": "575", - "y": "1958", - "zOrder": "251" - }, - { - "ID": "981", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "192", - "x": "279", - "y": "1914", - "zOrder": "252" - }, - { - "ID": "982", - "measuredH": "25", - "measuredW": "146", - "properties": { - "size": "17", - "text": "Integration Testing" - }, - "typeID": "Label", - "w": "150", - "x": "300", - "y": "1922", - "zOrder": "253" - }, - { - "ID": "983", - "h": "37", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "193", - "x": "278", - "y": "1961", - "zOrder": "254" - }, - { - "ID": "984", - "measuredH": "25", - "measuredW": "95", - "properties": { - "size": "17", - "text": "Unit Testing" - }, - "typeID": "Label", - "w": "99", - "x": "325", - "y": "1968", - "zOrder": "255" - }, - { - "ID": "985", - "h": "37", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "193", - "x": "278", - "y": "2002", - "zOrder": "256" - }, - { - "ID": "986", - "measuredH": "25", - "measuredW": "142", - "properties": { - "size": "17", - "text": "Functional Testing" - }, - "typeID": "Label", - "w": "151", - "x": "299", - "y": "2009", - "zOrder": "257" - }, - { - "ID": "987", - "h": "152", - "measuredH": "152", - "measuredW": "42", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.4470340174304187, - "y": 0.25307843688501525 - }, - "p2": { - "x": 9, - "y": 151.5 - }, - "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "42", - "x": "744", - "y": "513", - "zOrder": "258" - }, - { - "ID": "988", - "h": "112", - "measuredH": "112", - "measuredW": "26", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 26, - "y": 0 - }, - "p1": { - "x": 0.540933899332929, - "y": -0.1946634323832626 - }, - "p2": { - "x": 18, - "y": 112 - }, - "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "26", - "x": "672", - "y": "317", - "zOrder": "259" - }, - { - "ID": "989", - "measuredH": "40", - "measuredW": "131", - "properties": { - "bold": "true", - "size": "32", - "text": "Backend" - }, - "typeID": "Label", - "x": "644", - "y": "263", - "zOrder": "260" - }, - { - "ID": "990", - "h": "80", - "measuredH": "79", - "measuredW": "18", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 17, - "y": 0 - }, - "p1": { - "x": 0.4835868694955965, - "y": 0.10168134507606086 - }, - "p2": { - "x": 0, - "y": 79 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "19", - "x": "741", - "y": "176", - "zOrder": "261" - }, - { - "ID": "991", - "h": "141", - "measuredH": "70", - "measuredW": "100", - "typeID": "Canvas", - "w": "350", - "x": "949", - "y": "169", - "zOrder": "262" - }, - { - "ID": "992", - "measuredH": "25", - "measuredW": "314", - "properties": { - "size": "17", - "text": "Find the detailed version of this roadmap" - }, - "typeID": "Label", - "x": "963", - "y": "186", - "zOrder": "263" - }, - { - "ID": "993", - "measuredH": "25", - "measuredW": "322", - "properties": { - "size": "17", - "text": "along with resources and other roadmaps" - }, - "typeID": "Label", - "x": "963", - "y": "214", - "zOrder": "264" - }, - { - "ID": "994", - "h": "45", - "measuredH": "70", - "measuredW": "100", - "properties": { - "borderColor": "4273622", - "color": "4273622" - }, - "typeID": "Canvas", - "w": "320", - "x": "964", - "y": "250", - "zOrder": "265" - }, - { - "ID": "995", - "measuredH": "28", - "measuredW": "103", - "properties": { - "color": "16777215", - "size": "20", - "text": "roadmap.sh" - }, - "typeID": "Label", - "x": "1105", - "y": "258", - "zOrder": "266" - }, - { - "ID": "996", - "measuredH": "28", - "measuredW": "36", - "properties": { - "color": "16777215", - "size": "20", - "text": "http" - }, - "typeID": "Label", - "x": "1040", - "y": "258", - "zOrder": "267" - }, - { - "ID": "997", - "measuredH": "28", - "measuredW": "10", - "properties": { - "bold": "true", - "color": "16777215", - "size": "20", - "text": ":" - }, - "typeID": "Label", - "x": "1077", - "y": "258", - "zOrder": "268" - }, - { - "ID": "998", - "measuredH": "28", - "measuredW": "10", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - }, - "typeID": "Label", - "x": "1084", - "y": "259", - "zOrder": "269" - }, - { - "ID": "999", - "measuredH": "28", - "measuredW": "10", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - }, - "typeID": "Label", - "x": "1092", - "y": "259", - "zOrder": "270" - }, - { - "ID": "1000", - "h": "162", - "measuredH": "70", - "measuredW": "100", - "typeID": "Canvas", - "w": "408", - "x": "137", - "y": "159", - "zOrder": "271" - }, - { - "ID": "1001", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "160", - "y": "180", - "zOrder": "272" - }, - { - "ID": "1002", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "160", - "y": "180", - "zOrder": "273" - }, - { - "ID": "1003", - "measuredH": "24", - "measuredW": "263", - "properties": { - "size": "16", - "text": "Personal Recommendation / Opinion" - }, - "typeID": "Label", - "x": "196", - "y": "180", - "zOrder": "274" - }, - { - "ID": "1004", - "measuredH": "24", - "measuredW": "159", - "properties": { - "size": "16", - "text": "I wouldn't recommend" - }, - "typeID": "Label", - "x": "196", - "y": "277", - "zOrder": "275" - }, - { - "ID": "1005", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "160", - "y": "277", - "zOrder": "276" - }, - { - "ID": "1006", - "measuredH": "24", - "measuredW": "319", - "properties": { - "size": "16", - "text": "Order in roadmap not strict (Learn anytime)" - }, - "typeID": "Label", - "w": "324", - "x": "197", - "y": "245", - "zOrder": "277" - }, - { - "ID": "1007", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "160", - "y": "245", - "zOrder": "278" - }, - { - "ID": "1008", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "160", - "y": "245", - "zOrder": "279" - }, - { - "ID": "1009", - "measuredH": "24", - "measuredW": "277", - "properties": { - "size": "16", - "text": "Alternative Option - Pick this or purple" - }, - "typeID": "Label", - "x": "196", - "y": "213", - "zOrder": "280" - }, - { - "ID": "1010", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "160", - "y": "212", - "zOrder": "281" - }, - { - "ID": "1011", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "160", - "y": "212", - "zOrder": "282" - }, - { - "ID": "1012", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "160", - "y": "212", - "zOrder": "283" - }, - { - "ID": "1013", - "h": "264", - "measuredH": "264", - "measuredW": "41", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 28, - "y": -0.5 - }, - "p1": { - "x": 0.4709081800615472, - "y": -0.12924926644242468 - }, - "p2": { - "x": 41, - "y": 263.5 - }, - "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "41", - "x": "718", - "y": "675", - "zOrder": "284" - }, - { - "ID": "1014", - "h": "151", - "measuredH": "151", - "measuredW": "87", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 72, - "y": 0 - }, - "p1": { - "x": 0.4164731105949616, - "y": 0.25156333750223336 - }, - "p2": { - "x": 0, - "y": 151 - }, - "rightArrow": "false" - }, - "typeID": "Arrow", - "w": "87", - "x": "687", - "y": "951", - "zOrder": "285" - }, - { - "ID": "1015", - "h": "82", - "measuredH": "82", - "measuredW": "43", - "properties": { - "color": "2848996", - "curvature": "0", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": -0.5, - "y": 82 - }, - "p1": { - "x": 0.5274187832250412, - "y": -0.12252805670406892 - }, - "p2": { - "x": 42.5, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "43", - "x": "830", - "y": "856", - "zOrder": "286" - }, - { - "ID": "1016", - "h": "73", - "measuredH": "73", - "measuredW": "48", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "p0": { - "x": 48, - "y": 72.5 - }, - "p1": { - "x": 0.5228612603170445, - "y": 0.14935150006550507 - }, - "p2": { - "x": 0, - "y": -0.5 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "48", - "x": "612", - "y": "866", - "zOrder": "287" - }, - { - "ID": "1017", - "h": "74", - "measuredH": "74", - "measuredW": "118", - "properties": { - "color": "2848996", - "curvature": "0", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 118, - "y": -0.5 - }, - "p1": { - "x": 0.5873541588257404, - "y": 0.06127211140383051 - }, - "p2": { - "x": 0, - "y": 73.5 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "118", - "x": "457", - "y": "962", - "zOrder": "288" - }, - { - "ID": "1018", - "h": "61", - "measuredH": "61", - "measuredW": "91", - "properties": { - "color": "2848996", - "leftArrow": "false", - "p0": { - "x": 91, - "y": 60 - }, - "p1": { - "x": 0.486318838754369, - "y": 0.01448408325199147 - }, - "p2": { - "x": 0, - "y": -0.5 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "91", - "x": "940", - "y": "960", - "zOrder": "289" - }, - { - "ID": "1019", - "h": "24", - "measuredH": "24", - "measuredW": "93", - "properties": { - "color": "2848996", - "curvature": "0", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 93, - "y": 23 - }, - "p1": { - "x": 0.4798692360633174, - "y": -0.0049896765313145654 - }, - "p2": { - "x": 0, - "y": -0.5 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "93", - "x": "936", - "y": "949", - "zOrder": "290" - }, - { - "ID": "1020", - "h": "18", - "measuredH": "18", - "measuredW": "115", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 115, - "y": 0 - }, - "p1": { - "x": 0.4495149461236092, - "y": -0.004886187015480865 - }, - "p2": { - "x": 0, - "y": 17.5 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "115", - "x": "931", - "y": "922", - "zOrder": "291" - }, - { - "ID": "1021", - "h": "45", - "measuredH": "45", - "measuredW": "131", - "properties": { - "color": "2848996", - "curvature": "0", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 131, - "y": -0.5 - }, - "p1": { - "x": 0.5873541588257396, - "y": 0.061272111403828454 - }, - "p2": { - "x": 0, - "y": 44.5 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "131", - "x": "447", - "y": "946", - "zOrder": "292" - }, - { - "ID": "1022", - "h": "5", - "measuredH": "5", - "measuredW": "141", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 141, - "y": 0 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 0, - "y": 5 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "141", - "x": "458", - "y": "937", - "zOrder": "293" - }, - { - "ID": "1023", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "136", - "x": "800", - "y": "827", - "zOrder": "294" - }, - { - "ID": "1024", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "136", - "x": "329", - "y": "921", - "zOrder": "295" - }, - { - "ID": "1025", - "measuredH": "25", - "measuredW": "36", - "properties": { - "size": "17", - "text": "Java" - }, - "typeID": "Label", - "w": "38", - "x": "378", - "y": "929", - "zOrder": "296" - }, - { - "ID": "1026", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "136", - "x": "542", - "y": "831", - "zOrder": "297" - }, - { - "ID": "1027", - "measuredH": "25", - "measuredW": "37", - "properties": { - "size": "17", - "text": "Rust" - }, - "typeID": "Label", - "w": "39", - "x": "590", - "y": "839", - "zOrder": "298" - }, - { - "ID": "1028", - "measuredH": "25", - "measuredW": "22", - "properties": { - "size": "17", - "text": "Go" - }, - "typeID": "Label", - "w": "26", - "x": "855", - "y": "834", - "zOrder": "299" - }, - { - "ID": "1029", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "136", - "x": "329", - "y": "970", - "zOrder": "300" - }, - { - "ID": "1030", - "measuredH": "25", - "measuredW": "24", - "properties": { - "size": "17", - "text": "C#" - }, - "typeID": "Label", - "w": "27", - "x": "383", - "y": "978", - "zOrder": "301" - }, - { - "ID": "1031", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "792", - "y": "819", - "zOrder": "302" - }, - { - "ID": "1032", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "792", - "y": "819", - "zOrder": "303" - }, - { - "ID": "1033", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "792", - "y": "819", - "zOrder": "304" - }, - { - "ID": "1034", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "321", - "y": "914", - "zOrder": "305" - }, - { - "ID": "1035", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "321", - "y": "914", - "zOrder": "306" - }, - { - "ID": "1036", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "321", - "y": "914", - "zOrder": "307" - }, - { - "ID": "1037", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "534", - "y": "822", - "zOrder": "308" - }, - { - "ID": "1038", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "534", - "y": "822", - "zOrder": "309" - }, - { - "ID": "1039", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "534", - "y": "822", - "zOrder": "310" - }, - { - "ID": "1040", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "321", - "y": "964", - "zOrder": "311" - }, - { - "ID": "1041", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "321", - "y": "964", - "zOrder": "312" - }, - { - "ID": "1042", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "321", - "y": "964", - "zOrder": "313" - }, - { - "ID": "1043", - "h": "98", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "380", - "x": "566", - "y": "920", - "zOrder": "314" - }, - { - "ID": "1044", - "measuredH": "25", - "measuredW": "146", - "properties": { - "bold": "true", - "size": "17", - "text": "Learn a Language" - }, - "typeID": "Label", - "w": "149", - "x": "681", - "y": "933", - "zOrder": "315" - }, - { - "ID": "1045", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "136", - "x": "329", - "y": "1017", - "zOrder": "316" - }, - { - "ID": "1046", - "measuredH": "25", - "measuredW": "33", - "properties": { - "size": "17", - "text": "PHP" - }, - "typeID": "Label", - "w": "34", - "x": "380", - "y": "1025", - "zOrder": "317" - }, - { - "ID": "1047", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "321", - "y": "1013", - "zOrder": "318" - }, - { - "ID": "1048", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "321", - "y": "1013", - "zOrder": "319" - }, - { - "ID": "1049", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "321", - "y": "1013", - "zOrder": "320" - }, - { - "ID": "1050", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "136", - "x": "1019", - "y": "906", - "zOrder": "321" - }, - { - "ID": "1051", - "measuredH": "25", - "measuredW": "82", - "properties": { - "size": "17", - "text": "JavaScript" - }, - "typeID": "Label", - "w": "85", - "x": "1046", - "y": "914", - "zOrder": "322" - }, - { - "ID": "1052", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "136", - "x": "1019", - "y": "952", - "zOrder": "323" - }, - { - "ID": "1053", - "measuredH": "25", - "measuredW": "53", - "properties": { - "size": "17", - "text": "Python" - }, - "typeID": "Label", - "w": "56", - "x": "1059", - "y": "960", - "zOrder": "324" - }, - { - "ID": "1054", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "136", - "x": "1019", - "y": "998", - "zOrder": "325" - }, - { - "ID": "1055", - "measuredH": "25", - "measuredW": "39", - "properties": { - "size": "17", - "text": "Ruby" - }, - "typeID": "Label", - "w": "42", - "x": "1066", - "y": "1006", - "zOrder": "326" - }, - { - "ID": "1056", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1140", - "y": "899", - "zOrder": "327" - }, - { - "ID": "1057", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1140", - "y": "899", - "zOrder": "328" - }, - { - "ID": "1058", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1141", - "y": "947", - "zOrder": "329" - }, - { - "ID": "1059", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1141", - "y": "947", - "zOrder": "330" - }, - { - "ID": "1060", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1141", - "y": "947", - "zOrder": "331" - }, - { - "ID": "1061", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1141", - "y": "991", - "zOrder": "332" - }, - { - "ID": "1062", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1141", - "y": "991", - "zOrder": "333" - }, - { - "ID": "1063", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1141", - "y": "991", - "zOrder": "334" - }, - { - "ID": "1064", - "h": "40", - "measuredH": "40", - "measuredW": "154", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.4299387442572742, - "y": 0.06087289433384378 - }, - "p2": { - "x": 154, - "y": 40 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "154", - "x": "844", - "y": "500", - "zOrder": "335" - }, - { - "ID": "1065", - "h": "83", - "measuredH": "83", - "measuredW": "152", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.5124862467909179, - "y": -0.09515553629180144 - }, - "p2": { - "x": 152, - "y": 83 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "152", - "x": "852", - "y": "502", - "zOrder": "336" - }, - { - "ID": "1066", - "h": "57", - "measuredH": "57", - "measuredW": "124", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 124, - "y": 0 - }, - "p1": { - "x": 0.4977437042068999, - "y": -0.11213547479256634 - }, - "p2": { - "x": 0, - "y": 57 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "124", - "x": "488", - "y": "504", - "zOrder": "337" - }, - { - "ID": "1067", - "h": "29", - "measuredH": "28", - "measuredW": "150", - "properties": { - "color": "2848996", - "leftArrow": "false", - "p0": { - "x": 150, - "y": 28 - }, - "p1": { - "x": 0.4823054457996908, - "y": 0.02336368321594228 - }, - "p2": { - "x": 0, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "151", - "x": "852", - "y": "454", - "zOrder": "338" - }, - { - "ID": "1068", - "h": "13", - "measuredH": "12", - "measuredW": "152", - "properties": { - "color": "2848996", - "curvature": "0", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 152, - "y": 0 - }, - "p1": { - "x": 0.4798692360633173, - "y": -0.004989676531314521 - }, - "p2": { - "x": 0, - "y": 12 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "153", - "x": "854", - "y": "437", - "zOrder": "339" - }, - { - "ID": "1069", - "h": "60", - "measuredH": "59", - "measuredW": "149", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 149, - "y": 0 - }, - "p1": { - "x": 0.4552212800557556, - "y": -0.05494250203275647 - }, - "p2": { - "x": 0, - "y": 59 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "x": "852", - "y": "388", - "zOrder": "340" - }, - { - "ID": "1070", - "h": "36", - "measuredH": "36", - "measuredW": "129", - "properties": { - "color": "2848996", - "curvature": "0", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 129, - "y": 0 - }, - "p1": { - "x": 0.4772874058127019, - "y": 0.05888051668460705 - }, - "p2": { - "x": 0, - "y": 36 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "129", - "x": "473", - "y": "456", - "zOrder": "341" - }, - { - "ID": "1071", - "h": "9", - "measuredH": "7", - "measuredW": "129", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "p0": { - "x": 129, - "y": 7 - }, - "p1": { - "x": 0.4652789342214826, - "y": -0.001332223147377271 - }, - "p2": { - "x": 0, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "131", - "x": "473", - "y": "445", - "zOrder": "342" - }, - { - "ID": "1072", - "h": "53", - "measuredH": "51", - "measuredW": "141", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 141, - "y": 51 - }, - "p1": { - "x": 0.45522128005575574, - "y": -0.054942502032756434 - }, - "p2": { - "x": 0, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "143", - "x": "463", - "y": "398", - "zOrder": "343" - }, - { - "ID": "1073", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "272", - "x": "592", - "y": "424", - "zOrder": "344" - }, - { - "ID": "1074", - "measuredH": "25", - "measuredW": "68", - "properties": { - "bold": "true", - "size": "17", - "text": "Internet" - }, - "typeID": "Label", - "w": "69", - "x": "693", - "y": "437", - "zOrder": "345" - }, - { - "ID": "1075", - "h": "44", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "299", - "x": "196", - "y": "375", - "zOrder": "346" - }, - { - "ID": "1076", - "measuredH": "25", - "measuredW": "221", - "properties": { - "size": "17", - "text": "How does the internet work?" - }, - "typeID": "Label", - "w": "223", - "x": "234", - "y": "385", - "zOrder": "347" - }, - { - "ID": "1077", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "299", - "x": "196", - "y": "425", - "zOrder": "348" - }, - { - "ID": "1078", - "measuredH": "25", - "measuredW": "117", - "properties": { - "size": "17", - "text": "What is HTTP?" - }, - "typeID": "Label", - "w": "119", - "x": "286", - "y": "433", - "zOrder": "349" - }, - { - "ID": "1079", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "299", - "x": "196", - "y": "471", - "zOrder": "350" - }, - { - "ID": "1080", - "measuredH": "25", - "measuredW": "229", - "properties": { - "size": "17", - "text": "Browsers and how they work?" - }, - "typeID": "Label", - "w": "230", - "x": "230", - "y": "479", - "zOrder": "351" - }, - { - "ID": "1081", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "280", - "x": "989", - "y": "370", - "zOrder": "352" - }, - { - "ID": "1082", - "measuredH": "25", - "measuredW": "178", - "properties": { - "size": "17", - "text": "DNS and how it works?" - }, - "typeID": "Label", - "w": "179", - "x": "1040", - "y": "378", - "zOrder": "353" - }, - { - "ID": "1083", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "280", - "x": "988", - "y": "416", - "zOrder": "354" - }, - { - "ID": "1084", - "measuredH": "25", - "measuredW": "179", - "properties": { - "size": "17", - "text": "What is Domain Name?" - }, - "typeID": "Label", - "w": "179", - "x": "1039", - "y": "424", - "zOrder": "355" - }, - { - "ID": "1085", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "280", - "x": "989", - "y": "462", - "zOrder": "356" - }, - { - "ID": "1086", - "measuredH": "25", - "measuredW": "129", - "properties": { - "size": "17", - "text": "What is hosting?" - }, - "typeID": "Label", - "w": "133", - "x": "1063", - "y": "470", - "zOrder": "357" - }, - { - "ID": "1087", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "586", - "y": "414", - "zOrder": "358" - }, - { - "ID": "1088", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "586", - "y": "414", - "zOrder": "359" - }, - { - "ID": "1089", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "189", - "y": "366", - "zOrder": "360" - }, - { - "ID": "1090", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "189", - "y": "366", - "zOrder": "361" - }, - { - "ID": "1091", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "188", - "y": "418", - "zOrder": "362" - }, - { - "ID": "1092", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "188", - "y": "418", - "zOrder": "363" - }, - { - "ID": "1093", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "188", - "y": "463", - "zOrder": "364" - }, - { - "ID": "1094", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "188", - "y": "463", - "zOrder": "365" - }, - { - "ID": "1095", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1255", - "y": "361", - "zOrder": "366" - }, - { - "ID": "1096", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1255", - "y": "361", - "zOrder": "367" - }, - { - "ID": "1097", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1254", - "y": "411", - "zOrder": "368" - }, - { - "ID": "1098", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1254", - "y": "411", - "zOrder": "369" - }, - { - "ID": "1099", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1254", - "y": "456", - "zOrder": "370" - }, - { - "ID": "1100", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1254", - "y": "456", - "zOrder": "371" - }, - { - "ID": "1101", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "272", - "x": "592", - "y": "480", - "zOrder": "372" - }, - { - "ID": "1102", - "measuredH": "25", - "measuredW": "215", - "properties": { - "bold": "true", - "size": "17", - "text": "Basic Frontend Knowledge" - }, - "typeID": "Label", - "w": "221", - "x": "620", - "y": "492", - "zOrder": "373" - }, - { - "ID": "1103", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "142", - "x": "353", - "y": "536", - "zOrder": "374" - }, - { - "ID": "1104", - "measuredH": "25", - "measuredW": "47", - "properties": { - "size": "17", - "text": "HTML" - }, - "typeID": "Label", - "w": "49", - "x": "399", - "y": "546", - "zOrder": "375" - }, - { - "ID": "1105", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "142", - "x": "989", - "y": "515", - "zOrder": "376" - }, - { - "ID": "1106", - "measuredH": "25", - "measuredW": "36", - "properties": { - "size": "17", - "text": "CSS" - }, - "typeID": "Label", - "w": "38", - "x": "1041", - "y": "525", - "zOrder": "377" - }, - { - "ID": "1107", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "142", - "x": "989", - "y": "566", - "zOrder": "378" - }, - { - "ID": "1108", - "h": "195", - "measuredH": "195", - "measuredW": "135", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 134.5, - "y": 195 - }, - "p1": { - "x": 0.5227813114793675, - "y": 0.0017380179353795955 - }, - "p2": { - "x": -0.5, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "135", - "x": "867", - "y": "674", - "zOrder": "379" - }, - { - "ID": "1109", - "h": "131", - "measuredH": "131", - "measuredW": "136", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 135.5, - "y": 131 - }, - "p1": { - "x": 0.5227813114793675, - "y": 0.0017380179353796794 - }, - "p2": { - "x": -0.5, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "136", - "x": "872", - "y": "672", - "zOrder": "380" - }, - { - "ID": "1110", - "h": "76", - "measuredH": "76", - "measuredW": "138", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 137.5, - "y": 76 - }, - "p1": { - "x": 0.524315747719159, - "y": -0.026418088060293544 - }, - "p2": { - "x": -0.5, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "138", - "x": "865", - "y": "666", - "zOrder": "381" - }, - { - "ID": "1111", - "h": "30", - "measuredH": "30", - "measuredW": "141", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 140.5, - "y": 30 - }, - "p1": { - "x": 0.5227813114793672, - "y": 0.0017380179353795478 - }, - "p2": { - "x": -0.5, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "141", - "x": "864", - "y": "660", - "zOrder": "382" - }, - { - "ID": "1112", - "h": "5", - "measuredH": "5", - "measuredW": "144", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 143.5, - "y": 0 - }, - "p1": { - "x": 0.5227813114793672, - "y": 0.001738017935379522 - }, - "p2": { - "x": -0.5, - "y": 5 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "144", - "x": "861", - "y": "649", - "zOrder": "383" - }, - { - "ID": "1113", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "267", - "x": "989", - "y": "626", - "zOrder": "384" - }, - { - "ID": "1114", - "measuredH": "25", - "measuredW": "167", - "properties": { - "size": "17", - "text": "Memory Management" - }, - "typeID": "Label", - "w": "170", - "x": "1039", - "y": "636", - "zOrder": "385" - }, - { - "ID": "1115", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "268", - "x": "989", - "y": "675", - "zOrder": "386" - }, - { - "ID": "1116", - "measuredH": "25", - "measuredW": "221", - "properties": { - "size": "17", - "text": "Interprocess Communication" - }, - "typeID": "Label", - "w": "224", - "x": "1012", - "y": "684", - "zOrder": "387" - }, - { - "ID": "1117", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "268", - "x": "989", - "y": "725", - "zOrder": "388" - }, - { - "ID": "1118", - "measuredH": "25", - "measuredW": "132", - "properties": { - "size": "17", - "text": "I/O Management" - }, - "typeID": "Label", - "w": "135", - "x": "1055", - "y": "735", - "zOrder": "389" - }, - { - "ID": "1119", - "h": "65", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "268", - "x": "989", - "y": "775", - "zOrder": "390" - }, - { - "ID": "1120", - "measuredH": "25", - "measuredW": "113", - "properties": { - "bold": "true", - "size": "17", - "text": "POSIX Basics" - }, - "typeID": "Label", - "w": "115", - "x": "1067", - "y": "786", - "zOrder": "391" - }, - { - "ID": "1121", - "measuredH": "23", - "measuredW": "179", - "properties": { - "size": "15", - "text": "stdin, stdout, stderr, pipes" - }, - "typeID": "Label", - "w": "180", - "x": "1033", - "y": "807", - "zOrder": "392" - }, - { - "ID": "1122", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "268", - "x": "989", - "y": "847", - "zOrder": "393" - }, - { - "ID": "1123", - "measuredH": "25", - "measuredW": "215", - "properties": { - "size": "17", - "text": "Basic Networking Concepts" - }, - "typeID": "Label", - "w": "218", - "x": "1014", - "y": "856", - "zOrder": "394" - }, - { - "ID": "1124", - "h": "151", - "measuredH": "151", - "measuredW": "128", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 128, - "y": 0 - }, - "p1": { - "x": 0.4075757037878519, - "y": -0.014129007064503547 - }, - "p2": { - "x": 0, - "y": 151 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "128", - "x": "486", - "y": "678", - "zOrder": "395" - }, - { - "ID": "1125", - "h": "107", - "measuredH": "107", - "measuredW": "125", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 125, - "y": 0 - }, - "p1": { - "x": 0.4291571249168944, - "y": -0.03135849892886164 - }, - "p2": { - "x": 0, - "y": 107 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "125", - "x": "487", - "y": "671", - "zOrder": "396" - }, - { - "ID": "1126", - "h": "55", - "measuredH": "55", - "measuredW": "119", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 119, - "y": 0 - }, - "p1": { - "x": 0.513033864773653, - "y": -0.03543581985336902 - }, - "p2": { - "x": 0, - "y": 55 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "119", - "x": "489", - "y": "669", - "zOrder": "397" - }, - { - "ID": "1127", - "h": "11", - "measuredH": "11", - "measuredW": "131", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 131, - "y": 0 - }, - "p1": { - "x": 0.4401290896950813, - "y": -0.005675495214778532 - }, - "p2": { - "x": 0, - "y": 11 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "131", - "x": "482", - "y": "663", - "zOrder": "398" - }, - { - "ID": "1128", - "h": "32", - "measuredH": "32", - "measuredW": "138", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 138, - "y": 32 - }, - "p1": { - "x": 0.4566473988439307, - "y": -0.03179190751445087 - }, - "p2": { - "x": 0, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "138", - "x": "477", - "y": "629", - "zOrder": "399" - }, - { - "ID": "1129", - "measuredH": "25", - "measuredW": "82", - "properties": { - "size": "17", - "text": "JavaScript" - }, - "typeID": "Label", - "w": "84", - "x": "1023", - "y": "575", - "zOrder": "400" - }, - { - "ID": "1130", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "272", - "x": "605", - "y": "643", - "zOrder": "401" - }, - { - "ID": "1131", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "269", - "x": "228", - "y": "603", - "zOrder": "402" - }, - { - "ID": "1132", - "measuredH": "25", - "measuredW": "121", - "properties": { - "size": "17", - "text": "Terminal Usage" - }, - "typeID": "Label", - "w": "123", - "x": "301", - "y": "613", - "zOrder": "403" - }, - { - "ID": "1133", - "h": "101", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "269", - "x": "228", - "y": "802", - "zOrder": "404" - }, - { - "ID": "1134", - "measuredH": "25", - "measuredW": "214", - "properties": { - "bold": "true", - "size": "17", - "text": "Basic Terminal Commands" - }, - "typeID": "Label", - "w": "210", - "x": "258", - "y": "814", - "zOrder": "405" - }, - { - "ID": "1135", - "measuredH": "25", - "measuredW": "234", - "properties": { - "size": "17", - "text": "grep, awk, sed, lsof, curl, wget" - }, - "typeID": "Label", - "w": "238", - "x": "244", - "y": "840", - "zOrder": "406" - }, - { - "ID": "1136", - "measuredH": "25", - "measuredW": "215", - "properties": { - "size": "17", - "text": "tail, head, less, find, ssh, kill" - }, - "typeID": "Label", - "w": "216", - "x": "255", - "y": "866", - "zOrder": "407" - }, - { - "ID": "1137", - "measuredH": "25", - "measuredW": "220", - "properties": { - "bold": "true", - "size": "17", - "text": "OS and General Knowledge" - }, - "typeID": "Label", - "w": "222", - "x": "633", - "y": "655", - "zOrder": "408" - }, - { - "ID": "1138", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "267", - "x": "229", - "y": "702", - "zOrder": "409" - }, - { - "ID": "1139", - "measuredH": "25", - "measuredW": "169", - "properties": { - "size": "17", - "text": "Process Management" - }, - "typeID": "Label", - "w": "172", - "x": "277", - "y": "711", - "zOrder": "410" - }, - { - "ID": "1140", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "268", - "x": "229", - "y": "752", - "zOrder": "411" - }, - { - "ID": "1141", - "measuredH": "25", - "measuredW": "201", - "properties": { - "size": "17", - "text": "Threads and Concurrency" - }, - "typeID": "Label", - "w": "202", - "x": "262", - "y": "762", - "zOrder": "412" - }, - { - "ID": "1142", - "h": "43", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "268", - "x": "229", - "y": "652", - "zOrder": "413" - }, - { - "ID": "1143", - "measuredH": "25", - "measuredW": "196", - "properties": { - "size": "17", - "text": "How OSs work in General" - }, - "typeID": "Label", - "w": "197", - "x": "264", - "y": "661", - "zOrder": "414" - }, - { - "ID": "1144", - "measuredH": "23", - "measuredW": "347", - "properties": { - "size": "15", - "text": "Make sure to learn its quirks. Core details about its" - }, - "typeID": "Label", - "w": "347", - "x": "582", - "y": "961", - "zOrder": "415" - }, - { - "ID": "1145", - "measuredH": "23", - "measuredW": "301", - "properties": { - "size": "15", - "text": "runtime e.g. concurrency, memory model etc." - }, - "typeID": "Label", - "w": "306", - "x": "603", - "y": "984", - "zOrder": "416" - }, - { - "ID": "1146", - "h": "1", - "measuredH": "1", - "measuredW": "58", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 58, - "y": 1 - }, - "p1": { - "x": 0.4872751951136749, - "y": -0.011876484560570062 - }, - "p2": { - "x": 0, - "y": 1 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "58", - "x": "1124", - "y": "1120", - "zOrder": "417" - }, - { - "ID": "1147", - "h": "3", - "measuredH": "1", - "measuredW": "83", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 83, - "y": 1 - }, - "p1": { - "x": 0.4872751951136748, - "y": -0.01187648456057007 - }, - "p2": { - "x": 0, - "y": 1 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "85", - "x": "787", - "y": "1116", - "zOrder": "418" - }, - { - "ID": "1148", - "h": "1", - "measuredH": "0", - "measuredW": "56", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": -0.5, - "y": 0 - }, - "p1": { - "x": 0.4872751951136748, - "y": -0.011876484560570066 - }, - "p2": { - "x": 55, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - }, - "typeID": "Arrow", - "w": "56", - "x": "420", - "y": "1122", - "zOrder": "419" - }, - { - "ID": "1149", - "h": "54", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "216", - "x": "210", - "y": "1094", - "zOrder": "420" - }, - { - "ID": "1150", - "measuredH": "25", - "measuredW": "153", - "properties": { - "bold": "true", - "size": "17", - "text": "Basic Usage of Git" - }, - "typeID": "Label", - "w": "155", - "x": "241", - "y": "1109", - "zOrder": "421" - }, - { - "ID": "1151", - "h": "49", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "131", - "x": "1178", - "y": "996", - "zOrder": "422" - }, - { - "ID": "1152", - "measuredH": "25", - "measuredW": "57", - "properties": { - "bold": "true", - "size": "17", - "text": "GitHub" - }, - "typeID": "Label", - "w": "64", - "x": "1212", - "y": "1009", - "zOrder": "423" - }, - { - "ID": "1153", - "h": "78", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "319", - "x": "833", - "y": "1079", - "zOrder": "424" - }, - { - "ID": "1154", - "measuredH": "25", - "measuredW": "180", - "properties": { - "bold": "true", - "size": "17", - "text": "Repo hosting services" - }, - "typeID": "Label", - "w": "189", - "x": "899", - "y": "1094", - "zOrder": "425" - }, - { - "ID": "1155", - "measuredH": "23", - "measuredW": "278", - "properties": { - "size": "15", - "text": "Create account and Learn to use GitHub" - }, - "typeID": "Label", - "w": "279", - "x": "854", - "y": "1120", - "zOrder": "426" - }, - { - "ID": "1156", - "h": "77", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "336", - "x": "464", - "y": "1080", - "zOrder": "427" - }, - { - "ID": "1157", - "measuredH": "25", - "measuredW": "199", - "properties": { - "bold": "true", - "size": "17", - "text": "Version Control Systems" - }, - "typeID": "Label", - "w": "201", - "x": "529", - "y": "1095", - "zOrder": "428" - }, - { - "ID": "1158", - "measuredH": "23", - "measuredW": "290", - "properties": { - "size": "15", - "text": "What are they and why you should use one" - }, - "typeID": "Label", - "w": "292", - "x": "483", - "y": "1120", - "zOrder": "429" - }, - { - "ID": "1159", - "h": "49", - "measuredH": "140", - "measuredW": "200", - "properties": { - "backgroundAlpha": "0.5", - "borderColor": "16777215", - "color": "10066329" - }, - "typeID": "TextArea", - "w": "131", - "x": "1178", - "y": "1104", - "zOrder": "430" - }, - { - "ID": "1160", - "measuredH": "25", - "measuredW": "78", - "properties": { - "bold": "true", - "color": "3355443", - "size": "17", - "text": "Bitbucket" - }, - "typeID": "Label", - "w": "80", - "x": "1204", - "y": "1116", - "zOrder": "431" - }, - { - "ID": "1161", - "h": "48", - "measuredH": "140", - "measuredW": "200", - "properties": { - "backgroundAlpha": "0.25", - "borderColor": "6710886", - "color": "15658734" - }, - "typeID": "TextArea", - "w": "131", - "x": "1178", - "y": "1104", - "zOrder": "432" - }, - { - "ID": "1162", - "h": "49", - "measuredH": "140", - "measuredW": "200", - "properties": { - "backgroundAlpha": "0.5", - "borderColor": "16777215", - "color": "10066329" - }, - "typeID": "TextArea", - "w": "131", - "x": "1178", - "y": "1050", - "zOrder": "433" - }, - { - "ID": "1163", - "measuredH": "25", - "measuredW": "55", - "properties": { - "bold": "true", - "color": "3355443", - "size": "17", - "text": "GitLab" - }, - "typeID": "Label", - "w": "52", - "x": "1218", - "y": "1062", - "zOrder": "434" - }, - { - "ID": "1164", - "h": "49", - "measuredH": "140", - "measuredW": "200", - "properties": { - "backgroundAlpha": "0.25", - "borderColor": "6710886", - "color": "15658734" - }, - "typeID": "TextArea", - "w": "131", - "x": "1178", - "y": "1050", - "zOrder": "435" - }, - { - "ID": "1165", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "0", - "y": "0", - "zOrder": "0" - }, - { - "ID": "1", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "0", - "y": "0", - "zOrder": "1" - } - ] - } - }, - "h": "24", - "measuredH": "24", - "measuredW": "24", - "typeID": "__group__", - "w": "24", - "x": "202", - "y": "1086", - "zOrder": "436" - }, - { - "ID": "1166", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "0", - "y": "0", - "zOrder": "0" - }, - { - "ID": "1", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "0", - "y": "0", - "zOrder": "1" - } - ] - } - }, - "h": "24", - "measuredH": "24", - "measuredW": "24", - "typeID": "__group__", - "w": "24", - "x": "1292", - "y": "988", - "zOrder": "437" - }, - { - "ID": "1167", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1294", - "y": "1045", - "zOrder": "438" - }, - { - "ID": "1168", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1294", - "y": "1045", - "zOrder": "439" - }, - { - "ID": "1169", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1294", - "y": "1045", - "zOrder": "440" - }, - { - "ID": "1170", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1294", - "y": "1100", - "zOrder": "441" - }, - { - "ID": "1171", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1294", - "y": "1100", - "zOrder": "442" - }, - { - "ID": "1172", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1294", - "y": "1100", - "zOrder": "443" - }, - { - "ID": "1173", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "171", - "x": "528", - "y": "1282", - "zOrder": "444" - }, - { - "ID": "1174", - "measuredH": "25", - "measuredW": "48", - "properties": { - "size": "17", - "text": "ORMs" - }, - "typeID": "Label", - "w": "49", - "x": "592", - "y": "1290", - "zOrder": "445" - }, - { - "ID": "1175", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "140", - "x": "533", - "y": "2029", - "zOrder": "446" - }, - { - "ID": "1176", - "measuredH": "25", - "measuredW": "61", - "properties": { - "bold": "true", - "size": "17", - "text": "CI / CD" - }, - "typeID": "Label", - "w": "62", - "x": "572", - "y": "2042", - "zOrder": "447" - }, - { - "ID": "1177", - "h": "50", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "324", - "x": "501", - "y": "2113", - "zOrder": "448" - }, - { - "ID": "1178", - "measuredH": "25", - "measuredW": "284", - "properties": { - "bold": "true", - "size": "17", - "text": "Design and Development Principles" - }, - "typeID": "Label", - "w": "292", - "x": "525", - "y": "2126", - "zOrder": "449" - }, - { - "ID": "1179", - "h": "37", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "261", - "x": "155", - "y": "2203", - "zOrder": "450" - }, - { - "ID": "1180", - "measuredH": "25", - "measuredW": "53", - "properties": { - "size": "17", - "text": "SOLID" - }, - "typeID": "Label", - "w": "55", - "x": "258", - "y": "2210", - "zOrder": "451" - }, - { - "ID": "1181", - "h": "37", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "261", - "x": "155", - "y": "2245", - "zOrder": "452" - }, - { - "ID": "1182", - "measuredH": "25", - "measuredW": "40", - "properties": { - "size": "17", - "text": "KISS" - }, - "typeID": "Label", - "w": "44", - "x": "264", - "y": "2252", - "zOrder": "453" - }, - { - "ID": "1183", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "260", - "x": "156", - "y": "2286", - "zOrder": "454" - }, - { - "ID": "1184", - "measuredH": "25", - "measuredW": "49", - "properties": { - "size": "17", - "text": "YAGNI" - }, - "typeID": "Label", - "w": "53", - "x": "259", - "y": "2294", - "zOrder": "455" - }, - { - "ID": "1185", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "260", - "x": "156", - "y": "2330", - "zOrder": "456" - }, - { - "ID": "1186", - "measuredH": "25", - "measuredW": "35", - "properties": { - "size": "17", - "text": "DRY" - }, - "typeID": "Label", - "w": "38", - "x": "267", - "y": "2338", - "zOrder": "457" - }, - { - "ID": "1187", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "260", - "x": "156", - "y": "2067", - "zOrder": "458" - }, - { - "ID": "1188", - "measuredH": "25", - "measuredW": "165", - "properties": { - "size": "17", - "text": "GOF Design Patterns" - }, - "typeID": "Label", - "w": "168", - "x": "202", - "y": "2074", - "zOrder": "459" - }, - { - "ID": "1189", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "260", - "x": "156", - "y": "2112", - "zOrder": "460" - }, - { - "ID": "1190", - "measuredH": "25", - "measuredW": "171", - "properties": { - "size": "17", - "text": "Domain Driven Design" - }, - "typeID": "Label", - "w": "175", - "x": "198", - "y": "2119", - "zOrder": "461" - }, - { - "ID": "1191", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "260", - "x": "156", - "y": "2157", - "zOrder": "462" - }, - { - "ID": "1192", - "measuredH": "25", - "measuredW": "194", - "properties": { - "size": "17", - "text": "Test Driven Development" - }, - "typeID": "Label", - "w": "196", - "x": "188", - "y": "2164", - "zOrder": "463" - }, - { - "ID": "1193", - "h": "37", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "245", - "x": "957", - "y": "2347", - "zOrder": "464" - }, - { - "ID": "1194", - "measuredH": "25", - "measuredW": "84", - "properties": { - "size": "17", - "text": "Serverless" - }, - "typeID": "Label", - "w": "87", - "x": "1036", - "y": "2353", - "zOrder": "465" - }, - { - "ID": "1195", - "h": "129", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16776960" - }, - "typeID": "TextArea", - "w": "318", - "x": "571", - "y": "2833", - "zOrder": "466" - }, - { - "ID": "1196", - "measuredH": "25", - "measuredW": "143", - "properties": { - "bold": "true", - "size": "17", - "text": "Building for Scale" - }, - "typeID": "Label", - "w": "147", - "x": "656", - "y": "2849", - "zOrder": "467" - }, - { - "ID": "1197", - "measuredH": "24", - "measuredW": "260", - "properties": { - "size": "16", - "text": "General topics that you should learn" - }, - "typeID": "Label", - "w": "264", - "x": "598", - "y": "2877", - "zOrder": "468" - }, - { - "ID": "1198", - "measuredH": "24", - "measuredW": "263", - "properties": { - "size": "16", - "text": "and care about for the sustainability" - }, - "typeID": "Label", - "w": "270", - "x": "595", - "y": "2900", - "zOrder": "469" - }, - { - "ID": "1199", - "measuredH": "24", - "measuredW": "106", - "properties": { - "size": "16", - "text": "of the product." - }, - "typeID": "Label", - "w": "108", - "x": "676", - "y": "2924", - "zOrder": "470" - }, - { - "ID": "1200", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "199", - "x": "315", - "y": "2758", - "zOrder": "471" - }, - { - "ID": "1201", - "measuredH": "25", - "measuredW": "157", - "properties": { - "size": "17", - "text": "Mitigation Strategies" - }, - "typeID": "Label", - "w": "159", - "x": "335", - "y": "2765", - "zOrder": "472" - }, - { - "ID": "1202", - "measuredH": "23", - "measuredW": "294", - "properties": { - "size": "15", - "text": "Metrics logging and other observable items" - }, - "typeID": "Label", - "w": "299", - "x": "957", - "y": "3002", - "zOrder": "473" - }, - { - "ID": "1203", - "measuredH": "23", - "measuredW": "302", - "properties": { - "size": "15", - "text": "that could help you in debugging and solving" - }, - "typeID": "Label", - "w": "305", - "x": "954", - "y": "3025", - "zOrder": "474" - }, - { - "ID": "1204", - "measuredH": "23", - "measuredW": "225", - "properties": { - "size": "15", - "text": "the issues when things go wrong" - }, - "typeID": "Label", - "w": "229", - "x": "992", - "y": "3049", - "zOrder": "475" - }, - { - "ID": "1205", - "h": "36", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "198", - "x": "316", - "y": "2895", - "zOrder": "476" - }, - { - "ID": "1206", - "measuredH": "25", - "measuredW": "81", - "properties": { - "size": "17", - "text": "Monitoring" - }, - "typeID": "Label", - "w": "84", - "x": "169", - "y": "2906", - "zOrder": "477" - }, - { - "ID": "1207", - "measuredH": "25", - "measuredW": "75", - "properties": { - "size": "17", - "text": "Throttling" - }, - "typeID": "Label", - "w": "78", - "x": "162", - "y": "2749", - "zOrder": "478" - }, - { - "ID": "1208", - "measuredH": "25", - "measuredW": "107", - "properties": { - "size": "17", - "text": "Backpressure" - }, - "typeID": "Label", - "w": "109", - "x": "131", - "y": "2777", - "zOrder": "479" - }, - { - "ID": "1209", - "measuredH": "25", - "measuredW": "97", - "properties": { - "size": "17", - "text": "Loadshifting" - }, - "typeID": "Label", - "w": "100", - "x": "140", - "y": "2805", - "zOrder": "480" - }, - { - "ID": "1210", - "measuredH": "25", - "measuredW": "66", - "properties": { - "size": "17", - "text": "Graceful" - }, - "typeID": "Label", - "w": "70", - "x": "168", - "y": "2699", - "zOrder": "481" - }, - { - "ID": "1211", - "measuredH": "25", - "measuredW": "78", - "properties": { - "size": "17", - "text": "Telemetry" - }, - "typeID": "Label", - "w": "84", - "x": "167", - "y": "2931", - "zOrder": "482" - }, - { - "ID": "1212", - "measuredH": "25", - "measuredW": "122", - "properties": { - "size": "17", - "text": "Instrumentation" - }, - "typeID": "Label", - "w": "124", - "x": "129", - "y": "2881", - "zOrder": "483" - }, - { - "ID": "1213", - "measuredH": "25", - "measuredW": "154", - "properties": { - "size": "17", - "text": "Understand the Diff." - }, - "typeID": "Label", - "w": "155", - "x": "338", - "y": "2901", - "zOrder": "484" - }, - { - "ID": "1214", - "measuredH": "25", - "measuredW": "115", - "properties": { - "size": "17", - "text": "Circuit Breaker" - }, - "typeID": "Label", - "w": "118", - "x": "122", - "y": "2830", - "zOrder": "485" - }, - { - "ID": "1215", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "333", - "x": "938", - "y": "2868", - "zOrder": "486" - }, - { - "ID": "1216", - "measuredH": "25", - "measuredW": "152", - "properties": { - "size": "17", - "text": "Migration Strategies" - }, - "typeID": "Label", - "w": "154", - "x": "1031", - "y": "2875", - "zOrder": "487" - }, - { - "ID": "1217", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "332", - "x": "939", - "y": "2914", - "zOrder": "488" - }, - { - "ID": "1218", - "measuredH": "25", - "measuredW": "228", - "properties": { - "size": "17", - "text": "Horizontal vs Vertical Scaling" - }, - "typeID": "Label", - "w": "230", - "x": "993", - "y": "2921", - "zOrder": "489" - }, - { - "ID": "1219", - "measuredH": "25", - "measuredW": "93", - "properties": { - "size": "17", - "text": "Degradation" - }, - "typeID": "Label", - "w": "96", - "x": "142", - "y": "2719", - "zOrder": "490" - }, - { - "ID": "1220", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "587", - "y": "475", - "zOrder": "491" - }, - { - "ID": "1221", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "587", - "y": "475", - "zOrder": "492" - }, - { - "ID": "1222", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "601", - "y": "633", - "zOrder": "493" - }, - { - "ID": "1223", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "601", - "y": "633", - "zOrder": "494" - }, - { - "ID": "1224", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "594", - "zOrder": "495" - }, - { - "ID": "1225", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "594", - "zOrder": "496" - }, - { - "ID": "1226", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "647", - "zOrder": "497" - }, - { - "ID": "1227", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "647", - "zOrder": "498" - }, - { - "ID": "1228", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "695", - "zOrder": "499" - }, - { - "ID": "1229", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "695", - "zOrder": "500" - }, - { - "ID": "1230", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "746", - "zOrder": "501" - }, - { - "ID": "1231", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "746", - "zOrder": "502" - }, - { - "ID": "1232", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "797", - "zOrder": "503" - }, - { - "ID": "1233", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "222", - "y": "797", - "zOrder": "504" - }, - { - "ID": "1234", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "347", - "y": "527", - "zOrder": "505" - }, - { - "ID": "1235", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "347", - "y": "527", - "zOrder": "506" - }, - { - "ID": "1236", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1115", - "y": "508", - "zOrder": "507" - }, - { - "ID": "1237", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1115", - "y": "508", - "zOrder": "508" - }, - { - "ID": "1238", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1115", - "y": "561", - "zOrder": "509" - }, - { - "ID": "1239", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1115", - "y": "561", - "zOrder": "510" - }, - { - "ID": "1240", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "618", - "zOrder": "511" - }, - { - "ID": "1241", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "618", - "zOrder": "512" - }, - { - "ID": "1242", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "671", - "zOrder": "513" - }, - { - "ID": "1243", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "671", - "zOrder": "514" - }, - { - "ID": "1244", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "721", - "zOrder": "515" - }, - { - "ID": "1245", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "721", - "zOrder": "516" - }, - { - "ID": "1246", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "771", - "zOrder": "517" - }, - { - "ID": "1247", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "771", - "zOrder": "518" - }, - { - "ID": "1248", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "846", - "zOrder": "519" - }, - { - "ID": "1249", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "1241", - "y": "846", - "zOrder": "520" - }, - { - "ID": "1250", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "521", - "y": "1274", - "zOrder": "521" - }, - { - "ID": "1251", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "521", - "y": "1274", - "zOrder": "522" - }, - { - "ID": "1252", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "521", - "y": "1322", - "zOrder": "523" - }, - { - "ID": "1253", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "521", - "y": "1322", - "zOrder": "524" - }, - { - "ID": "1254", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "521", - "y": "1365", - "zOrder": "525" - }, - { - "ID": "1255", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "521", - "y": "1365", - "zOrder": "526" - }, - { - "ID": "1256", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "521", - "y": "1411", - "zOrder": "527" - }, - { - "ID": "1257", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "521", - "y": "1411", - "zOrder": "528" - }, - { - "ID": "1258", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "429", - "y": "1451", - "zOrder": "529" - }, - { - "ID": "1259", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "429", - "y": "1451", - "zOrder": "530" - }, - { - "ID": "1260", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "431", - "y": "1501", - "zOrder": "531" - }, - { - "ID": "1261", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "101-learn-a-language:rust" }, - "typeID": "Icon", - "x": "431", - "y": "1501", - "zOrder": "532" - }, - { - "ID": "1262", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "136", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "39", + "measuredW": "36", + "measuredH": "25", + "x": "56", + "y": "17", + "properties": { + "size": "17", + "text": "Rust" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1271", - "y": "1371", - "zOrder": "533" + } }, { - "ID": "1263", - "measuredH": "24", - "measuredW": "24", + "ID": "2761", + "typeID": "__group__", + "zOrder": "205", + "measuredW": "144", + "measuredH": "47", + "w": "144", + "h": "47", + "x": "321", + "y": "914", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "102-learn-a-language:java" }, - "typeID": "Icon", - "x": "1271", - "y": "1371", - "zOrder": "534" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "136", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "38", + "measuredW": "36", + "measuredH": "25", + "x": "57", + "y": "15", + "properties": { + "size": "17", + "text": "Java" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1264", - "measuredH": "24", - "measuredW": "24", + "ID": "2762", + "typeID": "__group__", + "zOrder": "207", + "measuredW": "144", + "measuredH": "46", + "w": "144", + "h": "46", + "x": "321", + "y": "964", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "103-learn-a-language:csharp" }, - "typeID": "Icon", - "x": "1271", - "y": "1421", - "zOrder": "535" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "136", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "27", + "measuredW": "24", + "measuredH": "25", + "x": "62", + "y": "14", + "properties": { + "size": "17", + "text": "C#" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1265", - "measuredH": "24", - "measuredW": "24", + "ID": "2763", + "typeID": "__group__", + "zOrder": "209", + "measuredW": "144", + "measuredH": "44", + "w": "144", + "h": "44", + "x": "321", + "y": "1013", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "103-learn-a-language:php" }, - "typeID": "Icon", - "x": "1271", - "y": "1421", - "zOrder": "536" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "136", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "34", + "measuredW": "34", + "measuredH": "25", + "x": "59", + "y": "12", + "properties": { + "size": "17", + "text": "PHP" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1266", - "measuredH": "24", - "measuredW": "24", + "ID": "2764", + "typeID": "__group__", + "zOrder": "210", + "measuredW": "145", + "measuredH": "47", + "w": "145", + "h": "47", + "x": "1019", + "y": "899", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "controlName": "105-learn-a-language:javascript" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "136", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "85", + "measuredW": "81", + "measuredH": "25", + "x": "27", + "y": "15", + "properties": { + "size": "17", + "text": "JavaScript" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "121", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "121", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1271", - "y": "1466", - "zOrder": "537" + } }, { - "ID": "1267", - "measuredH": "24", - "measuredW": "24", + "ID": "2765", + "typeID": "__group__", + "zOrder": "211", + "measuredW": "146", + "measuredH": "45", + "w": "146", + "h": "45", + "x": "1019", + "y": "947", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "106-learn-a-language:python" }, - "typeID": "Icon", - "x": "1271", - "y": "1466", - "zOrder": "538" - }, - { - "ID": "1268", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "136", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "56", + "measuredW": "53", + "measuredH": "25", + "x": "40", + "y": "13", + "properties": { + "size": "17", + "text": "Python" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "122", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "122", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "122", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "428", - "y": "1562", - "zOrder": "539" + } }, { - "ID": "1269", - "measuredH": "24", - "measuredW": "24", + "ID": "2766", + "typeID": "__group__", + "zOrder": "212", + "measuredW": "146", + "measuredH": "47", + "w": "146", + "h": "47", + "x": "1019", + "y": "991", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "107-learn-a-language:ruby" }, - "typeID": "Icon", - "x": "428", - "y": "1562", - "zOrder": "540" - }, - { - "ID": "1270", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "136", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "42", + "measuredW": "39", + "measuredH": "25", + "x": "47", + "y": "15", + "properties": { + "size": "17", + "text": "Ruby" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "122", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "122", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "122", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "428", - "y": "1610", - "zOrder": "541" + } }, { - "ID": "1271", - "measuredH": "24", - "measuredW": "24", + "ID": "2767", + "typeID": "Paragraph", + "zOrder": "297", + "measuredW": "275", + "measuredH": "80", + "x": "314", + "y": "702", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - }, - "typeID": "Icon", - "x": "428", - "y": "1610", - "zOrder": "542" + "text": "105-learn-a-language:javascript" + } }, { - "ID": "1272", - "measuredH": "24", - "measuredW": "24", + "ID": "2769", + "typeID": "__group__", + "zOrder": "260", + "measuredW": "336", + "measuredH": "77", + "w": "336", + "h": "77", + "x": "464", + "y": "1080", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "104-version-control-systems" }, - "typeID": "Icon", - "x": "429", - "y": "1657", - "zOrder": "543" - }, - { - "ID": "1273", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "336", + "h": "77", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "201", + "measuredW": "189", + "measuredH": "25", + "x": "65", + "y": "15", + "properties": { + "bold": "true", + "size": "17", + "text": "Version Control Systems" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "292", + "measuredW": "285", + "measuredH": "23", + "x": "19", + "y": "40", + "properties": { + "size": "15", + "text": "What are they and why you should use one" + } + } + ] } - }, - "typeID": "Icon", - "x": "429", - "y": "1657", - "zOrder": "544" + } }, { - "ID": "1274", - "measuredH": "24", - "measuredW": "24", + "ID": "2770", + "typeID": "__group__", + "zOrder": "257", + "measuredW": "224", + "measuredH": "62", + "w": "224", + "h": "62", + "x": "202", + "y": "1086", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "controlName": "100-version-control-systems:git" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "216", + "h": "54", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "8", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "155", + "measuredW": "146", + "measuredH": "25", + "x": "39", + "y": "23", + "properties": { + "bold": "true", + "size": "17", + "text": "Basic Usage of Git" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1257", - "y": "1511", - "zOrder": "545" + } }, { - "ID": "1275", - "measuredH": "24", - "measuredW": "24", + "ID": "2771", + "typeID": "__group__", + "zOrder": "259", + "measuredW": "319", + "measuredH": "78", + "w": "319", + "h": "78", + "x": "833", + "y": "1079", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "105-repo-hosting-services" }, - "typeID": "Icon", - "x": "1257", - "y": "1511", - "zOrder": "546" - }, - { - "ID": "1276", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "319", + "h": "78", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "189", + "measuredW": "171", + "measuredH": "25", + "x": "66", + "y": "15", + "properties": { + "bold": "true", + "size": "17", + "text": "Repo hosting services" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "279", + "measuredW": "275", + "measuredH": "23", + "x": "21", + "y": "41", + "properties": { + "size": "15", + "text": "Create account and Learn to use GitHub" + } + } + ] } - }, - "typeID": "Icon", - "x": "1258", - "y": "1577", - "zOrder": "547" + } }, { - "ID": "1277", - "measuredH": "24", - "measuredW": "24", + "ID": "2772", + "typeID": "__group__", + "zOrder": "258", + "measuredW": "138", + "measuredH": "57", + "w": "138", + "h": "57", + "x": "1178", + "y": "988", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "100-repo-hosting-services:github" }, - "typeID": "Icon", - "x": "1258", - "y": "1577", - "zOrder": "548" - }, - { - "ID": "1278", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "131", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "8", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "64", + "measuredW": "55", + "measuredH": "25", + "x": "34", + "y": "21", + "properties": { + "bold": "true", + "size": "17", + "text": "GitHub" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "114", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "114", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1258", - "y": "1625", - "zOrder": "549" + } }, { - "ID": "1279", - "measuredH": "24", - "measuredW": "24", + "ID": "2773", + "typeID": "__group__", + "zOrder": "262", + "measuredW": "140", + "measuredH": "54", + "w": "140", + "h": "54", + "x": "1178", + "y": "1045", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "101-repo-hosting-services:gitlab" }, - "typeID": "Icon", - "x": "1258", - "y": "1625", - "zOrder": "550" - }, - { - "ID": "1280", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "131", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "5", + "properties": { + "backgroundAlpha": "0.5", + "borderColor": "16777215", + "color": "10066329" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "52", + "measuredW": "52", + "measuredH": "25", + "x": "40", + "y": "17", + "properties": { + "bold": "true", + "color": "3355443", + "size": "17", + "text": "GitLab" + } + }, + { + "ID": "2", + "typeID": "TextArea", + "zOrder": "2", + "w": "131", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "5", + "properties": { + "backgroundAlpha": "0.25", + "borderColor": "6710886", + "color": "15658734" + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "116", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "116", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "116", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "170", - "y": "1520", - "zOrder": "551" + } }, { - "ID": "1281", - "measuredH": "24", - "measuredW": "24", + "ID": "2774", + "typeID": "__group__", + "zOrder": "261", + "measuredW": "140", + "measuredH": "53", + "w": "140", + "h": "53", + "x": "1178", + "y": "1100", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "controlName": "102-repo-hosting-services:bitbucket" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "131", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "backgroundAlpha": "0.5", + "borderColor": "16777215", + "color": "10066329" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "80", + "measuredW": "75", + "measuredH": "25", + "x": "26", + "y": "16", + "properties": { + "bold": "true", + "color": "3355443", + "size": "17", + "text": "Bitbucket" + } + }, + { + "ID": "2", + "typeID": "TextArea", + "zOrder": "2", + "w": "131", + "h": "48", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "backgroundAlpha": "0.25", + "borderColor": "6710886", + "color": "15658734" + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "116", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "116", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "116", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "170", - "y": "1520", - "zOrder": "552" + } }, { - "ID": "1282", - "measuredH": "24", - "measuredW": "24", + "ID": "2775", + "typeID": "__group__", + "zOrder": "129", + "measuredW": "229", + "measuredH": "50", + "w": "229", + "h": "50", + "x": "488", + "y": "1201", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "106-relational-databases" }, - "typeID": "Icon", - "x": "170", - "y": "1556", - "zOrder": "553" - }, - { - "ID": "1283", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "229", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "174", + "measuredW": "167", + "measuredH": "25", + "x": "28", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "Relational Databases" + } + } + ] } - }, - "typeID": "Icon", - "x": "170", - "y": "1556", - "zOrder": "554" + } }, { - "ID": "1284", - "measuredH": "24", - "measuredW": "24", + "ID": "2776", + "typeID": "__group__", + "zOrder": "130", + "measuredW": "199", + "measuredH": "47", + "w": "199", + "h": "47", + "x": "235", + "y": "1185", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "100-relational-databases:postgresql" }, - "typeID": "Icon", - "x": "170", - "y": "1593", - "zOrder": "555" - }, - { - "ID": "1285", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "191", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "96", + "measuredW": "93", + "measuredH": "25", + "x": "56", + "y": "15", + "properties": { + "size": "17", + "text": "PostgreSQL" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "170", - "y": "1593", - "zOrder": "556" + } }, { - "ID": "1286", - "measuredH": "24", - "measuredW": "24", + "ID": "2777", + "typeID": "__group__", + "zOrder": "131", + "measuredW": "199", + "measuredH": "43", + "w": "199", + "h": "43", + "x": "235", + "y": "1235", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-relational-databases:mysql" }, - "typeID": "Icon", - "x": "170", - "y": "1629", - "zOrder": "557" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "191", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "3", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "60", + "measuredW": "56", + "measuredH": "25", + "x": "74", + "y": "11", + "properties": { + "size": "17", + "text": "MySQL" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1287", - "measuredH": "24", - "measuredW": "24", + "ID": "2778", + "typeID": "__group__", + "zOrder": "132", + "measuredW": "199", + "measuredH": "43", + "w": "199", + "h": "43", + "x": "235", + "y": "1280", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "controlName": "102-relational-databases:mariadb" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "191", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "3", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "69", + "measuredH": "25", + "x": "69", + "y": "11", + "properties": { + "size": "17", + "text": "MariaDB" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "170", - "y": "1629", - "zOrder": "558" + } }, { - "ID": "1288", - "measuredH": "24", - "measuredW": "24", + "ID": "2779", + "typeID": "__group__", + "zOrder": "133", + "measuredW": "199", + "measuredH": "43", + "w": "199", + "h": "43", + "x": "235", + "y": "1326", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "103-relational-databases:mssql" }, - "typeID": "Icon", - "x": "171", - "y": "1664", - "zOrder": "559" - }, - { - "ID": "1289", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "191", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "3", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "67", + "measuredW": "63", + "measuredH": "25", + "x": "70", + "y": "11", + "properties": { + "size": "17", + "text": "MS SQL" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "171", - "y": "1664", - "zOrder": "560" + } }, { - "ID": "1290", - "measuredH": "24", - "measuredW": "24", + "ID": "2780", + "typeID": "__group__", + "zOrder": "134", + "measuredW": "199", + "measuredH": "43", + "w": "199", + "h": "43", + "x": "235", + "y": "1372", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "104-relational-databases:oracle" }, - "typeID": "Icon", - "x": "171", - "y": "1702", - "zOrder": "561" - }, - { - "ID": "1291", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "191", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "3", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "54", + "measuredW": "52", + "measuredH": "25", + "x": "77", + "y": "11", + "properties": { + "size": "17", + "text": "Oracle" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "171", - "y": "1702", - "zOrder": "562" + } }, { - "ID": "1292", - "measuredH": "24", - "measuredW": "24", + "ID": "2781", + "typeID": "__group__", + "zOrder": "135", + "measuredW": "191", + "measuredH": "50", + "w": "191", + "h": "50", + "x": "756", + "y": "1187", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "107-nosql-databases" }, - "typeID": "Icon", - "x": "171", - "y": "1480", - "zOrder": "563" - }, - { - "ID": "1293", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "191", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "151", + "measuredW": "144", + "measuredH": "25", + "x": "19", + "y": "12", + "properties": { + "bold": "true", + "size": "17", + "text": "NoSQL Databases" + } + } + ] } - }, - "typeID": "Icon", - "x": "171", - "y": "1480", - "zOrder": "564" + } }, { - "ID": "1294", - "measuredH": "24", - "measuredW": "24", + "ID": "2782", + "typeID": "__group__", + "zOrder": "136", + "measuredW": "326", + "measuredH": "40", + "w": "326", + "h": "40", + "x": "990", + "y": "1182", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "100-nosql-databases:document-databases" }, - "typeID": "Icon", - "x": "136", - "y": "1782", - "zOrder": "565" - }, - { - "ID": "1295", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "326", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "80", + "measuredH": "25", + "x": "15", + "y": "8", + "properties": { + "bold": "true", + "size": "17", + "text": "Document" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "160", + "measuredH": "25", + "x": "105", + "y": "8", + "properties": { + "bold": "true", + "size": "17", + "text": "{color:blue}MongoDB{color}, CouchDB" + } + } + ] } - }, - "typeID": "Icon", - "x": "136", - "y": "1782", - "zOrder": "566" + } }, { - "ID": "1296", - "measuredH": "24", - "measuredW": "24", + "ID": "2783", + "typeID": "__group__", + "zOrder": "295", + "measuredW": "326", + "measuredH": "40", + "w": "326", + "h": "40", + "x": "990", + "y": "1227", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-nosql-databases:column-databases" }, - "typeID": "Icon", - "x": "138", - "y": "1831", - "zOrder": "567" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "326", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "97", + "measuredH": "25", + "x": "15", + "y": "8", + "properties": { + "bold": "true", + "size": "17", + "text": "Column DBs" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "84", + "measuredH": "25", + "x": "120", + "y": "8", + "properties": { + "bold": "true", + "size": "17", + "text": "{color:blue}Cassandra{color}" + } + } + ] + } + } }, { - "ID": "1297", - "measuredH": "24", - "measuredW": "24", + "ID": "2784", + "typeID": "__group__", + "zOrder": "296", + "measuredW": "328", + "measuredH": "40", + "w": "328", + "h": "40", + "x": "989", + "y": "1272", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "102-nosql-databases:timeseries-databases" }, - "typeID": "Icon", - "x": "138", - "y": "1831", - "zOrder": "568" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "328", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "90", + "measuredH": "25", + "x": "16", + "y": "8", + "properties": { + "bold": "true", + "size": "17", + "text": "Time series" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "178", + "measuredH": "25", + "x": "120", + "y": "9", + "properties": { + "bold": "true", + "size": "17", + "text": "{color:blue}InfluxDB{color}, TimescaleDB" + } + } + ] + } + } }, { - "ID": "1298", - "measuredH": "24", - "measuredW": "24", + "ID": "2785", + "typeID": "__group__", + "zOrder": "137", + "measuredW": "328", + "measuredH": "42", + "w": "328", + "h": "42", + "x": "989", + "y": "1315", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "103-nosql-databases:realtime-databases" }, - "typeID": "Icon", - "x": "138", - "y": "1831", - "zOrder": "569" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "232", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "TextArea", + "zOrder": "1", + "w": "328", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "2", + "properties": { + "color": "16770457" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "70", + "measuredH": "25", + "x": "16", + "y": "10", + "properties": { + "bold": "true", + "size": "17", + "text": "Realtime" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "measuredW": "160", + "measuredH": "25", + "x": "99", + "y": "10", + "properties": { + "bold": "true", + "size": "17", + "text": "{color:blue}Firebase{color}, RethinkDB" + } + } + ] + } + } }, { - "ID": "1299", - "measuredH": "24", - "measuredW": "24", + "ID": "2786", + "typeID": "__group__", + "zOrder": "139", + "measuredW": "238", + "measuredH": "50", + "w": "238", + "h": "50", + "x": "762", + "y": "1432", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "108-more-about-databases" }, - "typeID": "Icon", - "x": "333", - "y": "1763", - "zOrder": "570" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "238", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "186", + "measuredW": "178", + "measuredH": "25", + "x": "30", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "More about Databases" + } + } + ] + } + } }, { - "ID": "1300", - "measuredH": "24", - "measuredW": "24", + "ID": "2787", + "typeID": "__group__", + "zOrder": "263", + "measuredW": "178", + "measuredH": "48", + "w": "178", + "h": "48", + "x": "521", + "y": "1274", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "100-more-about-databases:orms" }, - "typeID": "Icon", - "x": "333", - "y": "1763", - "zOrder": "571" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "171", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "49", + "measuredW": "49", + "measuredH": "25", + "x": "71", + "y": "16", + "properties": { + "size": "17", + "text": "ORMs" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1301", - "measuredH": "24", - "measuredW": "24", + "ID": "2788", + "typeID": "__group__", + "zOrder": "138", + "measuredW": "178", + "measuredH": "44", + "w": "178", + "h": "44", + "x": "521", + "y": "1322", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "controlName": "101-more-about-databases:acid" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "171", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "43", + "measuredW": "40", + "measuredH": "25", + "x": "71", + "y": "12", + "properties": { + "size": "17", + "text": "ACID" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "334", - "y": "1855", - "zOrder": "572" + } }, { - "ID": "1302", - "measuredH": "24", - "measuredW": "24", + "ID": "2789", + "typeID": "__group__", + "zOrder": "140", + "measuredW": "178", + "measuredH": "45", + "w": "178", + "h": "45", + "x": "521", + "y": "1365", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "102-more-about-databases:transactions" }, - "typeID": "Icon", - "x": "334", - "y": "1855", - "zOrder": "573" - }, - { - "ID": "1303", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "171", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "105", + "measuredW": "99", + "measuredH": "25", + "x": "47", + "y": "12", + "properties": { + "size": "17", + "text": "Transactions" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1272", - "y": "1703", - "zOrder": "574" + } }, { - "ID": "1304", - "measuredH": "24", - "measuredW": "24", + "ID": "2790", + "typeID": "__group__", + "zOrder": "141", + "measuredW": "178", + "measuredH": "43", + "w": "178", + "h": "43", + "x": "521", + "y": "1411", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "103-more-about-databases:n-plus-one-problem" }, - "typeID": "Icon", - "x": "1272", - "y": "1703", - "zOrder": "575" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "171", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "3", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "99", + "measuredH": "25", + "x": "46", + "y": "11", + "properties": { + "text": "N+1 Problem", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1305", - "measuredH": "24", - "measuredW": "24", + "ID": "2791", + "typeID": "__group__", + "zOrder": "143", + "measuredW": "272", + "measuredH": "49", + "w": "272", + "h": "49", + "x": "429", + "y": "1451", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "104-more-about-databases:database-normalization" }, - "typeID": "Icon", - "x": "1277", - "y": "1910", - "zOrder": "576" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "266", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "188", + "measuredW": "185", + "measuredH": "25", + "x": "53", + "y": "17", + "properties": { + "size": "17", + "text": "Database Normalization" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1306", - "measuredH": "24", - "measuredW": "24", + "ID": "2792", + "typeID": "__group__", + "zOrder": "145", + "measuredW": "268", + "measuredH": "40", + "w": "268", + "h": "40", + "x": "434", + "y": "1506", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "105-more-about-databases:database-indexes" }, - "typeID": "Icon", - "x": "1277", - "y": "1910", - "zOrder": "577" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "214", + "measuredW": "205", + "measuredH": "25", + "x": "32", + "y": "8", + "properties": { + "size": "17", + "text": "Indexes and how they work" + } + } + ] + } + } }, { - "ID": "1307", - "measuredH": "24", - "measuredW": "24", + "ID": "2793", + "typeID": "__group__", + "zOrder": "144", + "measuredW": "215", + "measuredH": "49", + "w": "215", + "h": "49", + "x": "1080", + "y": "1371", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "controlName": "106-more-about-databases:data-replication" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "207", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "129", + "measuredW": "128", + "measuredH": "25", + "x": "42", + "y": "16", + "properties": { + "size": "17", + "text": "Data Replication" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "191", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "191", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "272", - "y": "1905", - "zOrder": "578" + } }, { - "ID": "1308", - "measuredH": "24", - "measuredW": "24", + "ID": "2794", + "typeID": "__group__", + "zOrder": "142", + "measuredW": "215", + "measuredH": "44", + "w": "215", + "h": "44", + "x": "1080", + "y": "1421", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "107-more-about-databases:sharding-strategies" }, - "typeID": "Icon", - "x": "272", - "y": "1905", - "zOrder": "579" - }, - { - "ID": "1309", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "206", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "155", + "measuredW": "151", + "measuredH": "25", + "x": "27", + "y": "11", + "properties": { + "size": "17", + "text": "Sharding Strategies" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "191", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "191", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "272", - "y": "1954", - "zOrder": "580" + } }, { - "ID": "1310", - "measuredH": "24", - "measuredW": "24", + "ID": "2795", + "typeID": "__group__", + "zOrder": "152", + "measuredW": "214", + "measuredH": "45", + "w": "214", + "h": "45", + "x": "1081", + "y": "1466", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "108-more-about-databases:cap-theorem" }, - "typeID": "Icon", - "x": "272", - "y": "1954", - "zOrder": "581" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "206", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "109", + "measuredW": "107", + "measuredH": "25", + "x": "48", + "y": "12", + "properties": { + "size": "17", + "text": "CAP Theorem" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "190", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "190", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1311", - "measuredH": "24", - "measuredW": "24", + "ID": "2796", + "typeID": "__group__", + "zOrder": "146", + "measuredW": "238", + "measuredH": "50", + "w": "238", + "h": "50", + "x": "776", + "y": "1592", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "109-apis" }, - "typeID": "Icon", - "x": "272", - "y": "1996", - "zOrder": "582" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "238", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "143", + "measuredW": "135", + "measuredH": "25", + "x": "47", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "Learn about APIs" + } + } + ] + } + } }, { - "ID": "1312", - "measuredH": "24", - "measuredW": "24", + "ID": "2797", + "typeID": "__group__", + "zOrder": "147", + "measuredW": "196", + "measuredH": "71", + "w": "196", + "h": "71", + "x": "1085", + "y": "1511", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "100-apis:rest" }, - "typeID": "Icon", - "x": "272", - "y": "1996", - "zOrder": "583" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "188", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "49", + "measuredW": "44", + "measuredH": "25", + "x": "70", + "y": "17", + "properties": { + "size": "17", + "text": "REST" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "179", + "measuredW": "167", + "measuredH": "22", + "x": "7", + "y": "49", + "properties": { + "size": "14", + "text": "Read Roy Fielding’s Paper" + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "172", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "172", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1313", - "measuredH": "24", - "measuredW": "24", + "ID": "2798", + "typeID": "__group__", + "zOrder": "148", + "measuredW": "197", + "measuredH": "47", + "w": "197", + "h": "47", + "x": "1085", + "y": "1577", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "controlName": "101-apis:json-apis" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "188", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "90", + "measuredW": "85", + "measuredH": "25", + "x": "49", + "y": "15", + "properties": { + "size": "17", + "text": "JSON APIs" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "173", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "173", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "525", - "y": "2022", - "zOrder": "584" + } }, { - "ID": "1314", - "measuredH": "24", - "measuredW": "24", + "ID": "2799", + "typeID": "__group__", + "zOrder": "149", + "measuredW": "197", + "measuredH": "45", + "w": "197", + "h": "45", + "x": "1085", + "y": "1625", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "102-apis:soap" }, - "typeID": "Icon", - "x": "525", - "y": "2022", - "zOrder": "585" - }, - { - "ID": "1315", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "188", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "49", + "measuredW": "44", + "measuredH": "25", + "x": "69", + "y": "13", + "properties": { + "size": "17", + "text": "SOAP" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "173", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "173", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1187", - "y": "2171", - "zOrder": "586" + } }, { - "ID": "1316", - "measuredH": "24", - "measuredW": "24", + "ID": "2800", + "typeID": "__group__", + "zOrder": "294", + "measuredW": "197", + "measuredH": "47", + "w": "197", + "h": "47", + "x": "1086", + "y": "1667", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "103-apis:grpc" }, - "typeID": "Icon", - "x": "1187", - "y": "2171", - "zOrder": "587" - }, - { - "ID": "1317", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "188", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "90", + "measuredW": "45", + "measuredH": "25", + "x": "49", + "y": "15", + "properties": { + "align": "center", + "size": "17", + "text": "gRPC" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "173", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "173", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1187", - "y": "2220", - "zOrder": "588" + } }, { - "ID": "1318", - "measuredH": "24", - "measuredW": "24", + "ID": "2801", + "typeID": "__group__", + "zOrder": "150", + "measuredW": "274", + "measuredH": "48", + "w": "274", + "h": "48", + "x": "428", + "y": "1562", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "104-apis:hateoas" }, - "typeID": "Icon", - "x": "1187", - "y": "2220", - "zOrder": "589" - }, - { - "ID": "1319", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "78", + "measuredW": "76", + "measuredH": "25", + "x": "101", + "y": "16", + "properties": { + "size": "17", + "text": "HATEOAS" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1187", - "y": "2261", - "zOrder": "590" + } }, { - "ID": "1320", - "measuredH": "24", - "measuredW": "24", + "ID": "2802", + "typeID": "__group__", + "zOrder": "151", + "measuredW": "274", + "measuredH": "46", + "w": "274", + "h": "46", + "x": "428", + "y": "1610", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "105-apis:open-api-spec" }, - "typeID": "Icon", - "x": "1187", - "y": "2261", - "zOrder": "591" - }, - { - "ID": "1321", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "230", + "measuredW": "222", + "measuredH": "25", + "x": "28", + "y": "13", + "properties": { + "size": "17", + "text": "Open API Spec and Swagger" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1189", - "y": "2303", - "zOrder": "592" + } }, { - "ID": "1322", - "measuredH": "24", - "measuredW": "24", + "ID": "2803", + "typeID": "__group__", + "zOrder": "153", + "measuredW": "273", + "measuredH": "46", + "w": "273", + "h": "46", + "x": "429", + "y": "1657", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "106-apis:authentication" }, - "typeID": "Icon", - "x": "1189", - "y": "2303", - "zOrder": "593" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "268", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "5", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "111", + "measuredW": "111", + "measuredH": "25", + "x": "83", + "y": "14", + "properties": { + "size": "17", + "text": "Authentication" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1323", - "measuredH": "24", - "measuredW": "24", + "ID": "2804", + "typeID": "__group__", + "zOrder": "167", + "measuredW": "229", + "measuredH": "38", + "w": "229", + "h": "38", + "x": "171", + "y": "1480", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "100-apis:authentication:cookie-based" }, - "typeID": "Icon", - "x": "1187", - "y": "2344", - "zOrder": "594" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "223", + "measuredW": "129", + "measuredH": "32", + "x": "6", + "y": "6", + "properties": { + "align": "center", + "color": "16770457", + "size": "18", + "text": "Cookie Based" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1324", - "measuredH": "24", - "measuredW": "24", + "ID": "2805", + "typeID": "__group__", + "zOrder": "90", + "measuredW": "230", + "measuredH": "36", + "w": "230", + "h": "36", + "x": "170", + "y": "1520", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "101-apis:authentication:oauth" }, - "typeID": "Icon", - "x": "1187", - "y": "2344", - "zOrder": "595" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "223", + "measuredW": "64", + "measuredH": "32", + "x": "7", + "y": "4", + "properties": { + "align": "center", + "color": "16770457", + "size": "18", + "text": "OAuth" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1325", - "measuredH": "24", - "measuredW": "24", + "ID": "2806", + "typeID": "__group__", + "zOrder": "91", + "measuredW": "230", + "measuredH": "36", + "w": "230", + "h": "36", + "x": "170", + "y": "1556", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "102-apis:authentication:basic-authentication" }, - "typeID": "Icon", - "x": "148", - "y": "2200", - "zOrder": "596" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "223", + "measuredW": "181", + "measuredH": "32", + "x": "7", + "y": "4", + "properties": { + "align": "center", + "color": "16770457", + "size": "18", + "text": "Basic Authentication" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1326", - "measuredH": "24", - "measuredW": "24", + "ID": "2807", + "typeID": "__group__", + "zOrder": "92", + "measuredW": "230", + "measuredH": "35", + "w": "230", + "h": "35", + "x": "170", + "y": "1593", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "controlName": "103-apis:authentication:token-authentication" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "223", + "measuredW": "185", + "measuredH": "32", + "x": "7", + "y": "3", + "properties": { + "align": "center", + "color": "16770457", + "size": "18", + "text": "Token Authentication" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "148", - "y": "2200", - "zOrder": "597" + } }, { - "ID": "1327", - "measuredH": "24", - "measuredW": "24", + "ID": "2808", + "typeID": "__group__", + "zOrder": "93", + "measuredW": "230", + "measuredH": "36", + "w": "230", + "h": "36", + "x": "170", + "y": "1629", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "104-apis:authentication:jwt" }, - "typeID": "Icon", - "x": "147", - "y": "2243", - "zOrder": "598" - }, - { - "ID": "1328", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "223", + "measuredW": "51", + "measuredH": "32", + "x": "7", + "y": "4", + "properties": { + "align": "center", + "color": "16770457", + "size": "18", + "text": "JWT" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "147", - "y": "2243", - "zOrder": "599" + } }, { - "ID": "1329", - "measuredH": "24", - "measuredW": "24", + "ID": "2809", + "typeID": "__group__", + "zOrder": "94", + "measuredW": "230", + "measuredH": "37", + "w": "230", + "h": "37", + "x": "171", + "y": "1664", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "105-apis:authentication:openid" }, - "typeID": "Icon", - "x": "147", - "y": "2285", - "zOrder": "600" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "223", + "measuredW": "78", + "measuredH": "32", + "x": "7", + "y": "5", + "properties": { + "align": "center", + "color": "16770457", + "size": "18", + "text": "OpenID" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1330", - "measuredH": "24", - "measuredW": "24", + "ID": "2810", + "typeID": "__group__", + "zOrder": "95", + "measuredW": "230", + "measuredH": "36", + "w": "230", + "h": "36", + "x": "171", + "y": "1702", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "105-apis:authentication:saml" }, - "typeID": "Icon", - "x": "147", - "y": "2285", - "zOrder": "601" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "223", + "measuredW": "62", + "measuredH": "32", + "x": "7", + "y": "4", + "properties": { + "align": "center", + "color": "16770457", + "size": "18", + "text": "SAML" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1331", - "measuredH": "24", - "measuredW": "24", + "ID": "2811", + "typeID": "__group__", + "zOrder": "101", + "measuredW": "159", + "measuredH": "50", + "w": "159", + "h": "50", + "x": "502", + "y": "1809", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "110-caching" }, - "typeID": "Icon", - "x": "149", - "y": "2328", - "zOrder": "602" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "159", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "70", + "measuredW": "64", + "measuredH": "25", + "x": "43", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "Caching" + } + } + ] + } + } }, { - "ID": "1332", - "measuredH": "24", - "measuredW": "24", + "ID": "2812", + "typeID": "__group__", + "zOrder": "106", + "measuredW": "138", + "measuredH": "46", + "w": "138", + "h": "46", + "x": "333", + "y": "1763", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "controlName": "100-caching:cdn" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "40", + "measuredW": "38", + "measuredH": "25", + "x": "54", + "y": "16", + "properties": { + "size": "17", + "text": "CDN" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "149", - "y": "2328", - "zOrder": "603" + } }, { - "ID": "1333", - "measuredH": "24", - "measuredW": "24", + "ID": "2813", + "typeID": "__group__", + "zOrder": "104", + "measuredW": "129", + "measuredH": "40", + "w": "129", + "h": "40", + "x": "341", + "y": "1814", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-caching:server-side" }, - "typeID": "Icon", - "x": "148", - "y": "2154", - "zOrder": "604" - }, - { - "ID": "1334", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "95", + "measuredW": "90", + "measuredH": "25", + "x": "19", + "y": "8", + "properties": { + "size": "17", + "text": "Server Side" + } + } + ] } - }, - "typeID": "Icon", - "x": "148", - "y": "2154", - "zOrder": "605" + } }, { - "ID": "1335", - "measuredH": "24", - "measuredW": "24", + "ID": "2814", + "typeID": "__group__", + "zOrder": "102", + "measuredW": "153", + "measuredH": "48", + "w": "153", + "h": "48", + "x": "136", + "y": "1782", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "100-caching:server-side:redis" }, - "typeID": "Icon", - "x": "148", - "y": "2107", - "zOrder": "606" - }, - { - "ID": "1336", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "46", + "measuredW": "45", + "measuredH": "25", + "x": "58", + "y": "16", + "properties": { + "size": "17", + "text": "Redis" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "148", - "y": "2107", - "zOrder": "607" + } }, { - "ID": "1337", - "measuredH": "24", - "measuredW": "24", + "ID": "2815", + "typeID": "__group__", + "zOrder": "103", + "measuredW": "151", + "measuredH": "45", + "w": "151", + "h": "45", + "x": "138", + "y": "1831", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-caching:server-side:memcached" }, - "typeID": "Icon", - "x": "148", - "y": "2061", - "zOrder": "608" - }, - { - "ID": "1338", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "96", + "measuredW": "96", + "measuredH": "25", + "x": "35", + "y": "13", + "properties": { + "size": "17", + "text": "Memcached" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "148", - "y": "2061", - "zOrder": "609" + } }, { - "ID": "1339", - "measuredH": "24", - "measuredW": "24", + "ID": "2816", + "typeID": "__group__", + "zOrder": "105", + "measuredW": "135", + "measuredH": "44", + "w": "135", + "h": "44", + "x": "334", + "y": "1855", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "102-caching:client-side" }, - "typeID": "Icon", - "x": "507", - "y": "2284", - "zOrder": "610" - }, - { - "ID": "1340", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "128", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "88", + "measuredW": "84", + "measuredH": "25", + "x": "28", + "y": "12", + "properties": { + "size": "17", + "text": "Client Side" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "507", - "y": "2284", - "zOrder": "611" + } }, { - "ID": "1341", - "measuredH": "24", - "measuredW": "24", + "ID": "2820", + "typeID": "__group__", + "zOrder": "155", + "measuredW": "240", + "measuredH": "54", + "w": "240", + "h": "54", + "x": "739", + "y": "1808", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "111-web-security-knowledge" }, - "typeID": "Icon", - "x": "507", - "y": "2329", - "zOrder": "612" - }, - { - "ID": "1342", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "240", + "h": "54", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "203", + "measuredW": "192", + "measuredH": "25", + "x": "23", + "y": "15", + "properties": { + "bold": "true", + "size": "17", + "text": "Web Security Knowledge" + } + } + ] } - }, - "typeID": "Icon", - "x": "507", - "y": "2329", - "zOrder": "613" + } }, { - "ID": "1343", - "measuredH": "24", - "measuredW": "24", + "ID": "2821", + "typeID": "__group__", + "zOrder": "162", + "measuredW": "239", + "measuredH": "40", + "w": "239", + "h": "40", + "x": "1033", + "y": "1727", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "100-web-security-knowledge:md5" }, - "typeID": "Icon", - "x": "162", - "y": "2430", - "zOrder": "614" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "239", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "203", + "measuredW": "197", + "measuredH": "25", + "x": "20", + "y": "8", + "properties": { + "size": "17", + "text": "MD5 and why not to use it" + } + } + ] + } + } }, { - "ID": "1344", - "measuredH": "24", - "measuredW": "24", + "ID": "2822", + "typeID": "__group__", + "zOrder": "163", + "measuredW": "237", + "measuredH": "40", + "w": "237", + "h": "40", + "x": "1034", + "y": "1772", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "101-web-security-knowledge:sha-family" }, - "typeID": "Icon", - "x": "162", - "y": "2430", - "zOrder": "615" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "237", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "93", + "measuredW": "87", + "measuredH": "25", + "x": "72", + "y": "7", + "properties": { + "size": "17", + "text": "SHA Family" + } + } + ] + } + } }, { - "ID": "1345", - "measuredH": "24", - "measuredW": "24", + "ID": "2823", + "typeID": "__group__", + "zOrder": "165", + "measuredW": "111", + "measuredH": "40", + "w": "111", + "h": "40", + "x": "1161", + "y": "1818", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "102-web-security-knowledge:bcrypt" }, - "typeID": "Icon", - "x": "1088", - "y": "2510", - "zOrder": "616" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "111", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "53", + "measuredW": "48", + "measuredH": "25", + "x": "35", + "y": "7", + "properties": { + "size": "17", + "text": "bcrypt" + } + } + ] + } + } }, { - "ID": "1346", - "measuredH": "24", - "measuredW": "24", + "ID": "2824", + "typeID": "__group__", + "zOrder": "164", + "measuredW": "119", + "measuredH": "40", + "w": "119", + "h": "40", + "x": "1035", + "y": "1818", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "104-web-security-knowledge:scrypt" }, - "typeID": "Icon", - "x": "1088", - "y": "2510", - "zOrder": "617" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "119", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "62", + "measuredW": "47", + "measuredH": "25", + "x": "38", + "y": "7", + "properties": { + "size": "17", + "text": "scrypt" + } + } + ] + } + } }, { - "ID": "1347", - "measuredH": "24", - "measuredW": "24", + "ID": "2825", + "typeID": "__group__", + "zOrder": "158", + "measuredW": "166", + "measuredH": "43", + "w": "166", + "h": "43", + "x": "848", + "y": "1929", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "105-web-security-knowledge:https" }, - "typeID": "Icon", - "x": "1062", - "y": "2510", - "zOrder": "618" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "166", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "63", + "measuredW": "53", + "measuredH": "25", + "x": "51", + "y": "10", + "properties": { + "bold": "true", + "size": "17", + "text": "HTTPS" + } + } + ] + } + } }, { - "ID": "1348", - "measuredH": "24", - "measuredW": "24", + "ID": "2826", + "typeID": "__group__", + "zOrder": "159", + "measuredW": "257", + "measuredH": "44", + "w": "257", + "h": "44", + "x": "1019", + "y": "1929", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "105-web-security-knowledge:content-security-policy" }, - "typeID": "Icon", - "x": "1062", - "y": "2510", - "zOrder": "619" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "257", + "h": "44", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "196", + "measuredW": "179", + "measuredH": "25", + "x": "31", + "y": "10", + "properties": { + "bold": "true", + "size": "17", + "text": "Content Security Policy" + } + } + ] + } + } }, { - "ID": "1349", - "measuredH": "24", - "measuredW": "24", + "ID": "2827", + "typeID": "__group__", + "zOrder": "157", + "measuredW": "163", + "measuredH": "42", + "w": "163", + "h": "42", + "x": "849", + "y": "1979", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "controlName": "106-web-security-knowledge:cors" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "163", + "h": "42", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "51", + "measuredW": "47", + "measuredH": "25", + "x": "56", + "y": "9", + "properties": { + "bold": "true", + "size": "17", + "text": "CORS" + } + } + ] } - }, - "typeID": "Icon", - "x": "1086", - "y": "2560", - "zOrder": "620" + } }, { - "ID": "1350", - "measuredH": "24", - "measuredW": "24", + "ID": "2828", + "typeID": "__group__", + "zOrder": "168", + "measuredW": "258", + "measuredH": "43", + "w": "258", + "h": "43", + "x": "1018", + "y": "1979", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "107-web-security-knowledge:ssl-tls" }, - "typeID": "Icon", - "x": "1086", - "y": "2560", - "zOrder": "621" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "258", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "75", + "measuredW": "69", + "measuredH": "25", + "x": "91", + "y": "9", + "properties": { + "bold": "true", + "size": "17", + "text": "SSL/TLS" + } + } + ] + } + } }, { - "ID": "1351", - "measuredH": "24", - "measuredW": "24", + "ID": "2829", + "typeID": "__group__", + "zOrder": "160", + "measuredW": "427", + "measuredH": "43", + "w": "427", + "h": "43", + "x": "848", + "y": "2027", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "108-web-security-knowledge:owasp" }, - "typeID": "Icon", - "x": "1086", - "y": "2560", - "zOrder": "622" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "427", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "187", + "measuredW": "172", + "measuredH": "25", + "x": "120", + "y": "10", + "properties": { + "bold": "true", + "size": "17", + "text": "OWASP Security Risks" + } + } + ] + } + } }, { - "ID": "1352", - "measuredH": "24", - "measuredW": "24", + "ID": "2830", + "typeID": "__group__", + "zOrder": "169", + "measuredW": "159", + "measuredH": "50", + "w": "159", + "h": "50", + "x": "527", + "y": "1945", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "112-testing" }, - "typeID": "Icon", - "x": "447", - "y": "2585", - "zOrder": "623" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "159", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "63", + "measuredW": "55", + "measuredH": "25", + "x": "48", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "Testing" + } + } + ] + } + } }, { - "ID": "1353", - "measuredH": "24", - "measuredW": "24", + "ID": "2831", + "typeID": "__group__", + "zOrder": "170", + "measuredW": "199", + "measuredH": "49", + "w": "199", + "h": "49", + "x": "272", + "y": "1905", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "100-testing:integration-testing" }, - "typeID": "Icon", - "x": "447", - "y": "2585", - "zOrder": "624" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "192", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "150", + "measuredW": "144", + "measuredH": "25", + "x": "28", + "y": "17", + "properties": { + "size": "17", + "text": "Integration Testing" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1354", - "measuredH": "24", - "measuredW": "24", + "ID": "2832", + "typeID": "__group__", + "zOrder": "171", + "measuredW": "199", + "measuredH": "44", + "w": "199", + "h": "44", + "x": "272", + "y": "1954", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-testing:unit-testing" }, - "typeID": "Icon", - "x": "253", - "y": "2595", - "zOrder": "625" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "193", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "99", + "measuredW": "91", + "measuredH": "25", + "x": "53", + "y": "14", + "properties": { + "size": "17", + "text": "Unit Testing" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1355", - "measuredH": "24", - "measuredW": "24", + "ID": "2833", + "typeID": "__group__", + "zOrder": "172", + "measuredW": "199", + "measuredH": "43", + "w": "199", + "h": "43", + "x": "272", + "y": "1996", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "controlName": "102-testing:functional-testing" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "193", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "151", + "measuredW": "140", + "measuredH": "25", + "x": "27", + "y": "13", + "properties": { + "size": "17", + "text": "Functional Testing" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "253", - "y": "2595", - "zOrder": "626" + } }, { - "ID": "1356", - "measuredH": "24", - "measuredW": "24", + "ID": "2834", + "typeID": "__group__", + "zOrder": "264", + "measuredW": "148", + "measuredH": "57", + "w": "148", + "h": "57", + "x": "525", + "y": "2022", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "113-ci-cd" }, - "typeID": "Icon", - "x": "844", - "y": "2527", - "zOrder": "627" - }, - { - "ID": "1357", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "140", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "7", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "62", + "measuredW": "60", + "measuredH": "25", + "x": "47", + "y": "20", + "properties": { + "bold": "true", + "size": "17", + "text": "CI / CD" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "844", - "y": "2527", - "zOrder": "628" + } }, { - "ID": "1358", - "measuredH": "24", - "measuredW": "24", + "ID": "2835", + "typeID": "__group__", + "zOrder": "265", + "measuredW": "324", + "measuredH": "50", + "w": "324", + "h": "50", + "x": "501", + "y": "2113", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "114-design-and-development-principles" }, - "typeID": "Icon", - "x": "1174", - "y": "2394", - "zOrder": "629" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "324", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "292", + "measuredW": "276", + "measuredH": "25", + "x": "24", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "Design and Development Principles" + } + } + ] + } + } }, { - "ID": "1359", - "measuredH": "24", - "measuredW": "24", + "ID": "2836", + "typeID": "__group__", + "zOrder": "270", + "measuredW": "268", + "measuredH": "46", + "w": "268", + "h": "46", + "x": "148", + "y": "2061", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "100-design-and-development-principles:gof-design-patterns" }, - "typeID": "Icon", - "x": "1174", - "y": "2394", - "zOrder": "630" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "260", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "168", + "measuredW": "164", + "measuredH": "25", + "x": "54", + "y": "13", + "properties": { + "size": "17", + "text": "GOF Design Patterns" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1360", - "measuredH": "24", - "measuredW": "24", + "ID": "2837", + "typeID": "__group__", + "zOrder": "271", + "measuredW": "268", + "measuredH": "45", + "w": "268", + "h": "45", + "x": "148", + "y": "2107", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-design-and-development-principles:domain-driven-design" }, - "typeID": "Icon", - "x": "1151", - "y": "2393", - "zOrder": "631" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "260", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "175", + "measuredW": "172", + "measuredH": "25", + "x": "50", + "y": "12", + "properties": { + "size": "17", + "text": "Domain Driven Design" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1361", - "measuredH": "24", - "measuredW": "24", + "ID": "2838", + "typeID": "__group__", + "zOrder": "272", + "measuredW": "268", + "measuredH": "43", + "w": "268", + "h": "43", + "x": "148", + "y": "2154", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "controlName": "102-design-and-development-principles:test-driven-development" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "260", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "3", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "196", + "measuredW": "194", + "measuredH": "25", + "x": "40", + "y": "10", + "properties": { + "size": "17", + "text": "Test Driven Development" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1151", - "y": "2393", - "zOrder": "632" + } }, { - "ID": "1362", - "measuredH": "24", - "measuredW": "24", + "ID": "2839", + "typeID": "__group__", + "zOrder": "266", + "measuredW": "268", + "measuredH": "40", + "w": "268", + "h": "40", + "x": "148", + "y": "2200", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "103-design-and-development-principles:solid" }, - "typeID": "Icon", - "x": "907", - "y": "2403", - "zOrder": "633" - }, - { - "ID": "1363", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "261", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "3", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "55", + "measuredW": "51", + "measuredH": "25", + "x": "110", + "y": "10", + "properties": { + "size": "17", + "text": "SOLID" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "907", - "y": "2403", - "zOrder": "634" + } }, { - "ID": "1364", - "measuredH": "24", - "measuredW": "24", + "ID": "2840", + "typeID": "__group__", + "zOrder": "267", + "measuredW": "269", + "measuredH": "39", + "w": "269", + "h": "39", + "x": "147", + "y": "2243", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "104-design-and-development-principles:kiss" }, - "typeID": "Icon", - "x": "1175", - "y": "2434", - "zOrder": "635" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "261", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "2", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "44", + "measuredW": "37", + "measuredH": "25", + "x": "117", + "y": "9", + "properties": { + "size": "17", + "text": "KISS" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1365", - "measuredH": "24", - "measuredW": "24", + "ID": "2841", + "typeID": "__group__", + "zOrder": "268", + "measuredW": "269", + "measuredH": "41", + "w": "269", + "h": "41", + "x": "147", + "y": "2285", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "105-design-and-development-principles:yagni" }, - "typeID": "Icon", - "x": "1175", - "y": "2434", - "zOrder": "636" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "260", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "1", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "53", + "measuredW": "50", + "measuredH": "25", + "x": "112", + "y": "9", + "properties": { + "size": "17", + "text": "YAGNI" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1366", - "measuredH": "24", - "measuredW": "24", + "ID": "2842", + "typeID": "__group__", + "zOrder": "269", + "measuredW": "267", + "measuredH": "42", + "w": "267", + "h": "42", + "x": "149", + "y": "2328", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "106-design-and-development-principles:dry" }, - "typeID": "Icon", - "x": "1175", - "y": "2434", - "zOrder": "637" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "260", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "2", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "38", + "measuredW": "35", + "measuredH": "25", + "x": "118", + "y": "10", + "properties": { + "size": "17", + "text": "DRY" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1367", - "measuredH": "24", - "measuredW": "24", + "ID": "2843", + "typeID": "__group__", + "zOrder": "35", + "measuredW": "317", + "measuredH": "50", + "w": "317", + "h": "50", + "x": "887", + "y": "2111", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "controlName": "115-architectural-patterns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "317", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "183", + "measuredW": "170", + "measuredH": "25", + "x": "67", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "Architectural Patterns" + } + } + ] } - }, - "typeID": "Icon", - "x": "541", - "y": "2710", - "zOrder": "638" + } }, { - "ID": "1368", - "measuredH": "24", - "measuredW": "24", + "ID": "2844", + "typeID": "__group__", + "zOrder": "36", + "measuredW": "253", + "measuredH": "48", + "w": "253", + "h": "48", + "x": "958", + "y": "2171", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "100-architectural-patterns:monolithic-apps" }, - "typeID": "Icon", - "x": "541", - "y": "2710", - "zOrder": "639" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "243", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "123", + "measuredW": "123", + "measuredH": "25", + "x": "60", + "y": "16", + "properties": { + "size": "17", + "text": "Monolithic Apps" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "229", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "229", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1369", - "measuredH": "24", - "measuredW": "24", + "ID": "2845", + "typeID": "__group__", + "zOrder": "37", + "measuredW": "253", + "measuredH": "41", + "w": "253", + "h": "41", + "x": "958", + "y": "2220", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-architectural-patterns:microservices" }, - "typeID": "Icon", - "x": "896", - "y": "2704", - "zOrder": "640" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "244", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "112", + "measuredW": "108", + "measuredH": "25", + "x": "66", + "y": "11", + "properties": { + "size": "17", + "text": "Microservices" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "229", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "229", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1370", - "measuredH": "24", - "measuredW": "24", + "ID": "2846", + "typeID": "__group__", + "zOrder": "44", + "measuredW": "253", + "measuredH": "41", + "w": "253", + "h": "41", + "x": "958", + "y": "2261", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "102-architectural-patterns:soa" }, - "typeID": "Icon", - "x": "896", - "y": "2704", - "zOrder": "641" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "244", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "38", + "measuredW": "34", + "measuredH": "25", + "x": "103", + "y": "11", + "properties": { + "size": "17", + "text": "SOA" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "229", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "229", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1371", - "measuredH": "24", - "measuredW": "24", + "ID": "2847", + "typeID": "__group__", + "zOrder": "38", + "measuredW": "256", + "measuredH": "40", + "w": "256", + "h": "40", + "x": "957", + "y": "2303", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "103-architectural-patterns:cqrs" }, - "typeID": "Icon", - "x": "1181", - "y": "2666", - "zOrder": "642" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "245", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "3", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "209", + "measuredW": "202", + "measuredH": "25", + "x": "18", + "y": "9", + "properties": { + "size": "17", + "text": "CQRS and Event Sourcing" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "232", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "232", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1372", - "measuredH": "24", - "measuredW": "24", + "ID": "2848", + "typeID": "__group__", + "zOrder": "273", + "measuredW": "254", + "measuredH": "40", + "w": "254", + "h": "40", + "x": "957", + "y": "2344", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "controlName": "104-architectural-patterns:serverless" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "245", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "3", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "87", + "measuredW": "82", + "measuredH": "25", + "x": "79", + "y": "9", + "properties": { + "size": "17", + "text": "Serverless" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "230", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "230", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1181", - "y": "2666", - "zOrder": "643" + } }, { - "ID": "1373", - "measuredH": "24", - "measuredW": "24", + "ID": "2849", + "typeID": "__group__", + "zOrder": "41", + "measuredW": "313", + "measuredH": "50", + "w": "313", + "h": "50", + "x": "512", + "y": "2210", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "116-search-engines" }, - "typeID": "Icon", - "x": "1155", - "y": "2666", - "zOrder": "644" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "313", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "126", + "measuredW": "122", + "measuredH": "25", + "x": "94", + "y": "12", + "properties": { + "bold": "true", + "size": "17", + "text": "Search Engines" + } + } + ] + } + } }, { - "ID": "1374", - "measuredH": "24", - "measuredW": "24", + "ID": "2850", + "typeID": "__group__", + "zOrder": "42", + "measuredW": "167", + "measuredH": "46", + "w": "167", + "h": "46", + "x": "507", + "y": "2284", "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "100-search-engines:elasticsearch" }, - "typeID": "Icon", - "x": "1155", - "y": "2666", - "zOrder": "645" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "160", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "106", + "measuredW": "104", + "measuredH": "25", + "x": "39", + "y": "14", + "properties": { + "size": "17", + "text": "Elasticsearch" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1375", - "measuredH": "24", - "measuredW": "24", + "ID": "2851", + "typeID": "__group__", + "zOrder": "43", + "measuredW": "164", + "measuredH": "45", + "w": "164", + "h": "45", + "x": "507", + "y": "2329", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-search-engines:solr" }, - "typeID": "Icon", - "x": "1181", - "y": "2717", - "zOrder": "646" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "157", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "36", + "measuredW": "30", + "measuredH": "25", + "x": "68", + "y": "13", + "properties": { + "size": "17", + "text": "Solr" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1376", - "measuredH": "24", - "measuredW": "24", + "ID": "2852", + "typeID": "__group__", + "zOrder": "64", + "measuredW": "230", + "measuredH": "60", + "w": "230", + "h": "60", + "x": "701", + "y": "2403", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "117-message-brokers" }, - "typeID": "Icon", - "x": "1181", - "y": "2717", - "zOrder": "647" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "221", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "10", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "141", + "measuredW": "137", + "measuredH": "25", + "x": "40", + "y": "22", + "properties": { + "bold": "true", + "size": "17", + "text": "Message Brokers" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "206", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "206", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1377", - "measuredH": "24", - "measuredW": "24", + "ID": "2853", + "typeID": "__group__", + "zOrder": "62", + "measuredW": "192", + "measuredH": "42", + "w": "192", + "h": "42", + "x": "1006", + "y": "2393", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" + "controlName": "100-message-brokers:rabbitmq" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "183", + "measuredW": "97", + "measuredH": "32", + "x": "0", + "y": "10", + "properties": { + "align": "center", + "color": "16770457", + "size": "18", + "text": "RabbitMQ" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "168", + "y": "1", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "168", + "y": "1", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "145", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "145", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1181", - "y": "2717", - "zOrder": "648" + } }, { - "ID": "1378", - "measuredH": "24", - "measuredW": "24", + "ID": "2854", + "typeID": "__group__", + "zOrder": "63", + "measuredW": "193", + "measuredH": "37", + "w": "193", + "h": "37", + "x": "1006", + "y": "2434", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-message-brokers:kafka" }, - "typeID": "Icon", - "x": "1181", - "y": "2806", - "zOrder": "649" - }, - { - "ID": "1379", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "183", + "measuredW": "60", + "measuredH": "32", + "x": "0", + "y": "5", + "properties": { + "align": "center", + "color": "16770457", + "size": "18", + "text": "Kafka" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "169", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "169", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "169", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1181", - "y": "2806", - "zOrder": "650" + } }, { - "ID": "1380", - "measuredH": "24", - "measuredW": "24", + "ID": "2855", + "typeID": "__group__", + "zOrder": "65", + "measuredW": "294", + "measuredH": "50", + "w": "294", + "h": "50", + "x": "383", + "y": "2470", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "118-containerization" }, - "typeID": "Icon", - "x": "1181", - "y": "2806", - "zOrder": "651" - }, - { - "ID": "1381", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "294", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "270", + "measuredW": "255", + "measuredH": "25", + "x": "13", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "Containerization vs Virtualization" + } + } + ] } - }, - "typeID": "Icon", - "x": "1181", - "y": "2762", - "zOrder": "652" + } }, { - "ID": "1382", - "measuredH": "24", - "measuredW": "24", + "ID": "2856", + "typeID": "__group__", + "zOrder": "71", + "measuredW": "152", + "measuredH": "46", + "w": "152", + "h": "46", + "x": "162", + "y": "2430", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "100-containerization:docker" }, - "typeID": "Icon", - "x": "1181", - "y": "2762", - "zOrder": "653" - }, - { - "ID": "1383", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "58", + "measuredW": "56", + "measuredH": "25", + "x": "55", + "y": "14", + "properties": { + "size": "17", + "text": "Docker" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1181", - "y": "2762", - "zOrder": "654" + } }, { - "ID": "1384", - "measuredH": "24", - "measuredW": "24", + "ID": "2857", + "typeID": "__group__", + "zOrder": "72", + "measuredW": "144", + "measuredH": "40", + "w": "144", + "h": "40", + "x": "170", + "y": "2482", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-containerization:rkt" }, - "typeID": "Icon", - "x": "501", - "y": "2750", - "zOrder": "655" - }, - { - "ID": "1385", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "borderColor": "6710886", + "color": "15658734", + "textColor": "6710886" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "24", + "measuredW": "20", + "measuredH": "25", + "x": "60", + "y": "8", + "properties": { + "color": "3355443", + "size": "17", + "text": "rkt" + } + } + ] } - }, - "typeID": "Icon", - "x": "501", - "y": "2750", - "zOrder": "656" + } }, { - "ID": "1386", - "measuredH": "24", - "measuredW": "24", + "ID": "2858", + "typeID": "__group__", + "zOrder": "73", + "measuredW": "144", + "measuredH": "40", + "w": "144", + "h": "40", + "x": "170", + "y": "2527", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "controlName": "102-containerization:lxc" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "borderColor": "6710886", + "color": "14540253", + "textColor": "6710886" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "37", + "measuredW": "32", + "measuredH": "25", + "x": "53", + "y": "8", + "properties": { + "color": "3355443", + "size": "17", + "text": "LXC" + } + } + ] } - }, - "typeID": "Icon", - "x": "561", - "y": "2824", - "zOrder": "657" + } }, { - "ID": "1387", - "measuredH": "24", - "measuredW": "24", + "ID": "2859", + "typeID": "__group__", + "zOrder": "74", + "measuredW": "173", + "measuredH": "58", + "w": "173", + "h": "58", + "x": "695", + "y": "2527", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "119-graphql" }, - "typeID": "Icon", - "x": "561", - "y": "2824", - "zOrder": "658" - }, - { - "ID": "1388", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "163", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "8", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "79", + "measuredW": "71", + "measuredH": "25", + "x": "42", + "y": "21", + "properties": { + "bold": "true", + "size": "17", + "text": "GraphQL" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "149", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "149", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1256", - "y": "2859", - "zOrder": "659" + } }, { - "ID": "1389", - "measuredH": "24", - "measuredW": "24", + "ID": "2860", + "typeID": "__group__", + "zOrder": "75", + "measuredW": "155", + "measuredH": "48", + "w": "155", + "h": "48", + "x": "957", + "y": "2510", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "100-graphql:apollo" }, - "typeID": "Icon", - "x": "1256", - "y": "2859", - "zOrder": "660" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "50", + "measuredW": "48", + "measuredH": "25", + "x": "47", + "y": "16", + "properties": { + "size": "17", + "text": "Apollo" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "131", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "131", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "105", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "105", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1390", - "measuredH": "24", - "measuredW": "24", + "ID": "2861", + "typeID": "__group__", + "zOrder": "76", + "measuredW": "153", + "measuredH": "44", + "w": "153", + "h": "44", + "x": "957", + "y": "2560", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "101-graphql:relay-modern" }, - "typeID": "Icon", - "x": "1256", - "y": "2912", - "zOrder": "661" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "108", + "measuredW": "107", + "measuredH": "25", + "x": "18", + "y": "12", + "properties": { + "size": "17", + "text": "Relay Modern" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "129", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "129", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "129", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1391", - "measuredH": "24", - "measuredW": "24", + "ID": "2862", + "typeID": "__group__", + "zOrder": "77", + "measuredW": "191", + "measuredH": "62", + "w": "191", + "h": "62", + "x": "447", + "y": "2585", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "controlName": "120-graph-databases" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "184", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "12", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "143", + "measuredW": "136", + "measuredH": "25", + "x": "27", + "y": "25", + "properties": { + "bold": "true", + "size": "17", + "text": "Graph Databases" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1256", - "y": "2912", - "zOrder": "662" + } }, { - "ID": "1392", - "measuredH": "24", - "measuredW": "24", + "ID": "2863", + "typeID": "__group__", + "zOrder": "47", + "measuredW": "150", + "measuredH": "48", + "w": "150", + "h": "48", + "x": "253", + "y": "2595", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "controlName": "100-graph-databases:neo4j" }, - "typeID": "Icon", - "x": "1256", - "y": "2958", - "zOrder": "663" - }, - { - "ID": "1393", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "51", + "measuredW": "47", + "measuredH": "25", + "x": "52", + "y": "16", + "properties": { + "size": "17", + "text": "Neo4j" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1256", - "y": "2958", - "zOrder": "664" - }, - { - "ID": "1394", - "h": "40", - "measuredH": "140", - "measuredW": "200", - "properties": { - "color": "16770457" - }, - "typeID": "TextArea", - "w": "188", - "x": "1086", - "y": "1674", - "zOrder": "665" + } }, { - "ID": "1395", - "measuredH": "25", - "measuredW": "46", + "ID": "2864", + "typeID": "__group__", + "zOrder": "78", + "measuredW": "167", + "measuredH": "58", + "w": "167", + "h": "58", + "x": "541", + "y": "2710", "properties": { - "align": "center", - "size": "17", - "text": "gRPC" + "controlName": "121-web-sockets" }, - "typeID": "Label", - "w": "90", - "x": "1135", - "y": "1682", - "zOrder": "666" - }, - { - "ID": "1396", - "measuredH": "24", - "measuredW": "24", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "159", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "8", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "104", + "measuredW": "97", + "measuredH": "25", + "x": "36", + "y": "21", + "properties": { + "bold": "true", + "size": "17", + "text": "WebSockets" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } - }, - "typeID": "Icon", - "x": "1259", - "y": "1667", - "zOrder": "667" + } }, { - "ID": "1397", - "measuredH": "24", - "measuredW": "24", + "ID": "2865", + "typeID": "__group__", + "zOrder": "66", + "measuredW": "170", + "measuredH": "62", + "w": "170", + "h": "62", + "x": "750", + "y": "2704", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "controlName": "122-web-servers" }, - "typeID": "Icon", - "x": "1259", - "y": "1667", - "zOrder": "668" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "163", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "12", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "108", + "measuredW": "99", + "measuredH": "25", + "x": "34", + "y": "25", + "properties": { + "bold": "true", + "size": "17", + "text": "Web Servers" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "146", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "146", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1398", - "measuredH": "25", - "measuredW": "83", + "ID": "2866", + "typeID": "__group__", + "zOrder": "67", + "measuredW": "152", + "measuredH": "49", + "w": "152", + "h": "49", + "x": "1053", + "y": "2666", "properties": { - "bold": "true", - "size": "17", - "text": "Document" + "controlName": "100-web-servers:nginx" }, - "typeID": "Label", - "x": "1005", - "y": "1190", - "zOrder": "669" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "46", + "measuredW": "45", + "measuredH": "25", + "x": "49", + "y": "17", + "properties": { + "size": "17", + "text": "Nginx" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "102", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "102", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1399", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2867", + "typeID": "__group__", + "zOrder": "68", + "measuredW": "152", + "measuredH": "44", + "w": "152", + "h": "44", + "x": "1053", + "y": "2717", "properties": { - "color": "16770457" + "controlName": "101-web-servers:apache" }, - "typeID": "TextArea", - "w": "326", - "x": "990", - "y": "1227", - "zOrder": "670" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "60", + "measuredW": "59", + "measuredH": "25", + "x": "42", + "y": "12", + "properties": { + "size": "17", + "text": "Apache" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1400", - "measuredH": "25", - "measuredW": "98", + "ID": "2868", + "typeID": "__group__", + "zOrder": "69", + "measuredW": "152", + "measuredH": "44", + "w": "152", + "h": "44", + "x": "1053", + "y": "2762", "properties": { - "bold": "true", - "size": "17", - "text": "Column DBs" + "controlName": "102-web-servers:caddy" }, - "typeID": "Label", - "x": "1005", - "y": "1235", - "zOrder": "671" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "53", + "measuredW": "49", + "measuredH": "25", + "x": "45", + "y": "12", + "properties": { + "size": "17", + "text": "Caddy" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1401", - "measuredH": "25", - "measuredW": "87", + "ID": "2870", + "typeID": "__group__", + "zOrder": "70", + "measuredW": "152", + "measuredH": "44", + "w": "152", + "h": "44", + "x": "1053", + "y": "2806", "properties": { - "bold": "true", - "size": "17", - "text": "{color:blue}Cassandra{color}" + "controlName": "103-web-servers:ms-iis" }, - "typeID": "Label", - "x": "1110", - "y": "1235", - "zOrder": "672" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "55", + "measuredW": "51", + "measuredH": "25", + "x": "49", + "y": "12", + "properties": { + "size": "17", + "text": "MS IIS" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1402", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2871", + "typeID": "__group__", + "zOrder": "274", + "measuredW": "328", + "measuredH": "138", + "w": "328", + "h": "138", + "x": "561", + "y": "2824", "properties": { - "color": "16770457" + "controlName": "123-scalability" }, - "typeID": "TextArea", - "w": "328", - "x": "989", - "y": "1272", - "zOrder": "673" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "318", + "h": "129", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "9", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "147", + "measuredW": "139", + "measuredH": "25", + "x": "95", + "y": "25", + "properties": { + "bold": "true", + "size": "17", + "text": "Building for Scale" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "264", + "measuredW": "260", + "measuredH": "24", + "x": "37", + "y": "53", + "properties": { + "size": "16", + "text": "General topics that you should learn" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "w": "270", + "measuredW": "258", + "measuredH": "24", + "x": "34", + "y": "76", + "properties": { + "size": "16", + "text": "and care about for the sustainability" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "w": "108", + "measuredW": "105", + "measuredH": "24", + "x": "115", + "y": "100", + "properties": { + "size": "16", + "text": "of the product." + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "6", + "typeID": "Icon", + "zOrder": "6", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1403", - "measuredH": "25", - "measuredW": "96", + "ID": "2873", + "typeID": "__group__", + "zOrder": "275", + "measuredW": "210", + "measuredH": "48", + "w": "210", + "h": "48", + "x": "315", + "y": "2750", "properties": { - "bold": "true", - "size": "17", - "text": "Time series" + "controlName": "100-scalability:mitigation-strategies" }, - "typeID": "Label", - "x": "1005", - "y": "1280", - "zOrder": "674" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "199", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "159", + "measuredW": "159", + "measuredH": "25", + "x": "20", + "y": "15", + "properties": { + "size": "17", + "text": "Mitigation Strategies" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "186", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "186", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1404", - "measuredH": "25", - "measuredW": "183", + "ID": "2874", + "typeID": "__group__", + "zOrder": "276", + "measuredW": "198", + "measuredH": "36", + "w": "198", + "h": "36", + "x": "316", + "y": "2895", "properties": { - "bold": "true", - "size": "17", - "text": "{color:blue}InfluxDB{color}, TimescaleDB" + "controlName": "101-scalability:instrumentation-monitoring-telemetry" }, - "typeID": "Label", - "x": "1109", - "y": "1281", - "zOrder": "675" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "198", + "h": "36", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "155", + "measuredW": "154", + "measuredH": "25", + "x": "22", + "y": "6", + "properties": { + "size": "17", + "text": "Understand the Diff." + } + } + ] + } + } }, { - "ID": "1405", - "measuredH": "25", - "measuredW": "157", + "ID": "2875", + "typeID": "__group__", + "zOrder": "285", + "measuredW": "342", + "measuredH": "49", + "w": "342", + "h": "49", + "x": "938", + "y": "2859", "properties": { - "bold": "true", - "size": "17", - "text": "{color:blue}MongoDB{color}, CouchDB" + "controlName": "102-scalability:migration-strategies" }, - "typeID": "Label", - "x": "1095", - "y": "1190", - "zOrder": "676" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "333", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "155", + "measuredH": "25", + "x": "93", + "y": "16", + "properties": { + "text": "Migration Strategies", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "318", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "318", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1406", - "h": "40", - "measuredH": "140", - "measuredW": "200", + "ID": "2876", + "typeID": "__group__", + "zOrder": "286", + "measuredW": "341", + "measuredH": "42", + "w": "341", + "h": "42", + "x": "939", + "y": "2912", "properties": { - "color": "16770457" + "controlName": "103-scalability:horizontal-vertial-scaling" }, - "typeID": "TextArea", - "w": "328", - "x": "989", - "y": "1317", - "zOrder": "677" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "332", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "2", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "230", + "measuredW": "221", + "measuredH": "25", + "x": "54", + "y": "9", + "properties": { + "size": "17", + "text": "Horizontal vs Vertical Scaling" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "317", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "317", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1407", - "measuredH": "25", - "measuredW": "73", + "ID": "2877", + "typeID": "__group__", + "zOrder": "20", + "measuredW": "342", + "measuredH": "127", + "w": "342", + "h": "127", + "x": "938", + "y": "2958", "properties": { - "bold": "true", - "size": "17", - "text": "Realtime" + "controlName": "104-scalability:observability" }, - "typeID": "Label", - "x": "1005", - "y": "1325", - "zOrder": "678" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "335", + "h": "123", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "281", + "measuredW": "264", + "measuredH": "25", + "x": "30", + "y": "16", + "properties": { + "bold": "true", + "size": "17", + "text": "Building with Observability in mind" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "299", + "measuredW": "294", + "measuredH": "23", + "x": "19", + "y": "44", + "properties": { + "size": "15", + "text": "Metrics logging and other observable items" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "w": "305", + "measuredW": "300", + "measuredH": "23", + "x": "16", + "y": "67", + "properties": { + "size": "15", + "text": "that could help you in debugging and solving" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "w": "229", + "measuredW": "220", + "measuredH": "23", + "x": "54", + "y": "91", + "properties": { + "size": "15", + "text": "the issues when things go wrong" + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "318", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "6", + "typeID": "Icon", + "zOrder": "6", + "measuredW": "24", + "measuredH": "24", + "x": "318", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } }, { - "ID": "1408", - "measuredH": "25", - "measuredW": "162", + "ID": "2878", + "typeID": "__group__", + "zOrder": "8", + "measuredW": "207", + "measuredH": "50", + "w": "207", + "h": "50", + "x": "632", + "y": "3094", "properties": { - "bold": "true", - "size": "17", - "text": "{color:blue}Firebase{color}, RethinkDB" + "controlName": "ext_link:google.com" }, - "typeID": "Label", - "x": "1088", - "y": "1325", - "zOrder": "679" + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "207", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "114", + "measuredH": "25", + "x": "45", + "y": "13", + "properties": { + "bold": "true", + "size": "17", + "text": "Keep Learning" + } + } + ] + } + } } ] }, - "measuredH": "3212", - "measuredW": "1318", + "attributes": { + "name": "New Wireframe 7", + "order": 1000068.7430630563, + "parentID": null, + "notes": null + }, + "branchID": "Master", + "resourceID": "93ECBB28-32EE-4BB7-BDD8-29A9F331416F", "mockupH": "3053", "mockupW": "1196", + "measuredW": "1318", + "measuredH": "3212", "version": "1.0" } } diff --git a/public/sitemap.xml b/public/sitemap.xml index 91bc8e987..5ad2831a3 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -3,73 +3,73 @@ https://roadmap.sh/frontend monthly - 2021-12-07T20:45:44.001Z + 2022-01-01T14:33:25.342Z 1.0 https://roadmap.sh/backend monthly - 2021-12-07T12:24:10.383Z + 2022-01-08T17:34:17.532Z 1.0 https://roadmap.sh/devops monthly - 2021-12-07T12:24:29.396Z + 2022-01-01T14:33:25.337Z 1.0 https://roadmap.sh/react monthly - 2021-12-07T12:24:47.750Z + 2022-01-01T14:33:25.341Z 1.0 https://roadmap.sh/angular monthly - 2021-12-07T12:25:01.864Z + 2022-01-01T14:31:59.549Z 1.0 https://roadmap.sh/android monthly - 2021-12-07T12:25:10.650Z + 2022-01-01T14:32:00.124Z 1.0 https://roadmap.sh/python monthly - 2021-12-07T12:25:20.397Z + 2022-01-01T14:31:59.350Z 1.0 https://roadmap.sh/golang monthly - 2021-12-07T12:25:48.316Z + 2022-01-01T14:31:59.192Z 1.0 https://roadmap.sh/java monthly - 2021-12-07T12:26:09.478Z + 2022-01-01T14:31:59.515Z 1.0 https://roadmap.sh/postgresql-dba monthly - 2021-12-03T13:12:58.599Z + 2022-01-01T14:31:59.273Z 1.0 https://roadmap.sh/aws monthly - 2021-12-03T13:12:58.597Z + 2022-01-01T14:31:59.852Z 1.0 https://roadmap.sh/qa monthly - 2021-12-03T13:12:58.589Z + 2022-01-01T14:31:59.633Z 1.0 @@ -255,7 +255,7 @@ https://roadmap.sh/ monthly - 2021-12-04T13:06:07.143Z + 2021-12-18T08:12:35.720Z 1.0 @@ -273,7 +273,7 @@ https://roadmap.sh/thanks monthly - 2021-12-06T14:21:37.276Z + 2022-01-01T14:45:56.924Z 0.5