* fix: typo

* Update content/guides/journey-to-http2.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
pull/2245/head
Zasda Yusuf Mikail 2 years ago committed by GitHub
parent 64690201e7
commit e8d102cc49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      content/guides/history-of-javascript.md
  2. 4
      content/guides/journey-to-http2.md
  3. 4
      content/roadmaps.json
  4. 2
      content/roadmaps/100-frontend/content/100-internet/101-what-is-http.md
  5. 2
      content/roadmaps/100-frontend/content/118-server-side-rendering/100-react-js/101-after-js.md
  6. 2
      content/roadmaps/101-backend/content-paths.json
  7. 2
      content/roadmaps/101-backend/content/103-learn-a-language/106-python.md
  8. 2
      content/roadmaps/101-backend/content/107-nosql-databases/101-column-databases.md
  9. 0
      content/roadmaps/101-backend/content/123-scalability/103-horizontal-vertical-scaling.md
  10. 2
      content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/134-strace.md
  11. 2
      content/roadmaps/102-devops/content/103-networking-protocols/107-port-forwarding.md
  12. 2
      content/roadmaps/102-devops/meta.json
  13. 2
      content/roadmaps/103-react/content-paths.json
  14. 0
      content/roadmaps/103-react/content/102-react-ecosystem/107-state-management/100-context-state.md
  15. 2
      content/roadmaps/105-vue/content/102-ecosystem/108-vue-testing-library.md
  16. 2
      content/roadmaps/106-javascript/content/102-javascript-datatypes/101-object/readme.md
  17. 2
      content/roadmaps/106-javascript/content/105-javascript-equality-comparisons/100-equality-algorithms/100-is-loosely-equal.md
  18. 2
      content/roadmaps/106-javascript/content/105-javascript-equality-comparisons/100-equality-algorithms/101-is-strictly-equal.md
  19. 2
      content/roadmaps/106-javascript/content/109-javascript-functions/101-function-parameters/101-rest-params.md
  20. 4
      content/roadmaps/106-javascript/content/109-javascript-functions/106-built-in-functions.md
  21. 4
      content/roadmaps/106-javascript/content/117-javascript-chrome-dev-tools/readme.md
  22. 2
      content/roadmaps/107-nodejs/content/107-nodejs-apis/109-passport-js.md
  23. 2
      content/roadmaps/108-python/content/106-python-frameworks/101-asynchronous/102-tornado.md
  24. 2
      content/roadmaps/109-golang/content/100-go-basics/111-type-inference.md
  25. 2
      content/roadmaps/111-postgresql-dba/landscape.md
  26. 4
      content/roadmaps/112-blockchain/content/109-dapps/107-supporting-languages/101-python.md
  27. 2
      public/project/backend.json
  28. 2
      public/project/react.json
  29. 2
      public/project/software-architect.json

@ -1,7 +1,7 @@
Around 10 years ago, Jeff Atwood (the founder of stackoverflow) made a case that JavaScript is going to be the future and he coined the “Atwood Law” which states that *Any application that can be written in JavaScript will eventually be written in JavaScript*. Fast-forward to today, 10 years later, if you look at it it rings truer than ever. JavaScript is continuing to gain more and more adoption.
### JavaScript is announced
JavaScript was initially created by [Brendan Eich](https://twitter.com/BrendanEich) of NetScape and was first announced in a press release by Netscape in 1995. It has a bizarre history of naming; initally it was named `Mocha` by the creator, which was later renamed to `LiveScript`. In 1996, about a year later after the release, NetScape decided to rename it to be `JavaScript` with hopes of capitalizing on the Java community (although JavaScript did not have any relationship with Java) and released Netscape 2.0 with the official support of JavaScript.
JavaScript was initially created by [Brendan Eich](https://twitter.com/BrendanEich) of NetScape and was first announced in a press release by Netscape in 1995. It has a bizarre history of naming; initially it was named `Mocha` by the creator, which was later renamed to `LiveScript`. In 1996, about a year later after the release, NetScape decided to rename it to be `JavaScript` with hopes of capitalizing on the Java community (although JavaScript did not have any relationship with Java) and released Netscape 2.0 with the official support of JavaScript.
### ES1, ES2 and ES3
In 1996, Netscape decided to submit it to [ECMA International](https://en.wikipedia.org/wiki/Ecma_International) with the hopes of getting it standardized. First edition of the standard specification was released in 1997 and the language was standardized. After the initial release, `ECMAScript` was continued to be worked upon and in no-time two more versions were released ECMAScript 2 in 1998 and ECMAScript 3 in 1999.

@ -71,7 +71,7 @@ Three-way handshake in its simplest form is that all the `TCP` connections begin
- `SYN ACK` - Server acknowledges the request by sending an `ACK` packet back to the client which is made up of a random number, let's say `y` picked up by server and the number `x+1` where `x` is the number that was sent by the client
- `ACK` - Client increments the number `y` received from the server and sends an `ACK` packet back with the number `y+1`
Once the three-way handshake is completed, the data sharing between the client and server may begin. It should be noted that the client may start sending the application data as soon as it dispatches the last `ACK` packet but the server will still have to wait for the `ACK` packet to be recieved in order to fulfill the request.
Once the three-way handshake is completed, the data sharing between the client and server may begin. It should be noted that the client may start sending the application data as soon as it dispatches the last `ACK` packet but the server will still have to wait for the `ACK` packet to be received in order to fulfill the request.
![](http://i.imgur.com/uERG2G2.png)
@ -121,7 +121,7 @@ Google went ahead and started experimenting with alternative protocols to make t
It was seen that if we keep increasing the bandwidth, the network performance increases in the beginning but a point comes when there is not much of a performance gain. But if you do the same with latency i.e. if we keep dropping the latency, there is a constant performance gain. This was the core idea for performance gain behind `SPDY`, decrease the latency to increase the network performance.
> For those who don't know the difference, latency is the delay i.e. how long it takes for data to travel between the source and destination (measured in milliseconds) and bandwidth is the amount of data transfered per second (bits per second).
> For those who don't know the difference, latency is the delay i.e. how long it takes for data to travel between the source and destination (measured in milliseconds) and bandwidth is the amount of data transferred per second (bits per second).
The features of `SPDY` included, multiplexing, compression, prioritization, security etc. I am not going to get into the details of SPDY, as you will get the idea when we get into the nitty gritty of `HTTP/2` in the next section as I said `HTTP/2` is mostly inspired from SPDY.

@ -125,7 +125,7 @@
"devops roadmap 2022",
"sre roadmap 2022",
"operations roadmap 2022",
"guide to becoming a devops enginer",
"guide to becoming a devops engineer",
"devops roadmap",
"sre roadmap",
"site reliability engineer roadmap",
@ -1003,4 +1003,4 @@
"id": "software-design-architecture",
"metaPath": "/roadmaps/115-software-design-architecture/meta.json"
}
]
]

@ -1,6 +1,6 @@
# What is HTTP?
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. HTTP follows a classical "Client-Server model" with a client opening a connection request, then waiting until it recieves a response. HTTP is a stateless protocol, that means that the server does not keep any data (state) between two requests.
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. HTTP follows a classical "Client-Server model" with a client opening a connection request, then waiting until it receives a response. HTTP is a stateless protocol, that means that the server does not keep any data (state) between two requests.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/'>What is HTTP?</BadgeLink>

@ -4,4 +4,4 @@ After.js is an open-source JavaScript framework for developing SSR (Server Side
<ResourceGroupTitle>Free Resources</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Repository' href='https://github.com/jaredpalmer/after.js'>Official GitHub repository</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://www.npmjs.com/package/@jaredpalmer/after'>Documetation</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://www.npmjs.com/package/@jaredpalmer/after'>Documentation</BadgeLink>

@ -133,6 +133,6 @@
"scalability:mitigation-strategies": "/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies.md",
"scalability:instrumentation-monitoring-telemetry": "/roadmaps/101-backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md",
"scalability:migration-strategies": "/roadmaps/101-backend/content/123-scalability/102-migration-strategies.md",
"scalability:horizontal-vertial-scaling": "/roadmaps/101-backend/content/123-scalability/103-horizontal-vertial-scaling.md",
"scalability:horizontal-vertical-scaling": "/roadmaps/101-backend/content/123-scalability/103-horizontal-vertical-scaling.md",
"scalability:observability": "/roadmaps/101-backend/content/123-scalability/104-observability.md"
}

@ -6,7 +6,7 @@
# Python
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedureal or object-oriented programmatic ways.
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.python.org/'>Python Website</BadgeLink>

@ -1,6 +1,6 @@
# Column Databases
A **<u>wide-column database</u>** (sometimes refered to as a column database) is similar to a relational database. It store data in tables, rows and columns. However in opposite to relational databases here each row can have its own format of the columns. Column databases can be seen as a two-dimensional key-value database. One of such database system is **Apache Cassandra**.
A **<u>wide-column database</u>** (sometimes referred to as a column database) is similar to a relational database. It store data in tables, rows and columns. However in opposite to relational databases here each row can have its own format of the columns. Column databases can be seen as a two-dimensional key-value database. One of such database system is **Apache Cassandra**.
**Warning:** <a href="https://en.wikipedia.org/wiki/Wide-column_store#Wide-column_stores_versus_columnar_databases">note that a "columnar database" and a "column database" are two different terms!</a>

@ -1,6 +1,6 @@
# strace
`strac` is a useful diagnsotic, debugging tool for unix based operating systems. It traces the system calls and signals a processs uses during its lifetime. And usually returns the name of the each system calls , its arguments and what it returned.
`strac` is a useful diagnsotic, debugging tool for unix based operating systems. It traces the system calls and signals a process uses during its lifetime. And usually returns the name of the each system calls , its arguments and what it returned.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://strace.io/'>Strace Official Website</BadgeLink>

@ -4,4 +4,4 @@ Port forwarding, sometimes called **port mapping**, allows computers or services
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://learn.g2.com/port-forwarding'>What is Port Forwarding?</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://cybernews.com/what-is-vpn/port-forwarding/'>Types of Port Fowarding</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://cybernews.com/what-is-vpn/port-forwarding/'>Types of Port Forwarding</BadgeLink>

@ -6,7 +6,7 @@
"devops roadmap 2022",
"sre roadmap 2022",
"operations roadmap 2022",
"guide to becoming a devops enginer",
"guide to becoming a devops engineer",
"devops roadmap",
"sre roadmap",
"site reliability engineer roadmap",

@ -52,7 +52,7 @@
"react-ecosystem:testing:react-testing-library": "/roadmaps/103-react/content/102-react-ecosystem/106-testing/101-react-testing-library.md",
"react-ecosystem:testing:cypress": "/roadmaps/103-react/content/102-react-ecosystem/106-testing/102-cypress.md",
"react-ecosystem:state-management": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/readme.md",
"react-ecosystem:state-management:conext-state": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/100-conext-state.md",
"react-ecosystem:state-management:context-state": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/100-context-state.md",
"react-ecosystem:state-management:redux": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/101-redux.md",
"react-ecosystem:state-management:mobx": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/102-mobx.md",
"react-ecosystem:styling": "/roadmaps/103-react/content/102-react-ecosystem/108-styling/readme.md",

@ -3,4 +3,4 @@
The Vue Testing Library is a very lightweight solution for testing Vue components. Its primary guiding principle is: The more your tests resemble the way your software is used, the more confidence they can give you.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Getting Started' href='https://testing-library.com/docs/vue-testing-library/intro/'>Geting Started with Vue Testing Library</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Getting Started' href='https://testing-library.com/docs/vue-testing-library/intro/'>Getting Started with Vue Testing Library</BadgeLink>

@ -6,5 +6,5 @@ JavaScript object is a data structure that allows us to have key-value pairs; so
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://javascript.info/object'>Objects</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects'>Working with Objects</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/js/js_object_definition.asp'>JavaScript Object Defination</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/js/js_object_definition.asp'>JavaScript Object Definition</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/objects-in-javascript/'>Objects in JavaScript </BadgeLink>

@ -4,4 +4,4 @@
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality'> Loosely Equality (==) Operator</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://javascript.info/comparison'>Comparsion - javascript.info</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://javascript.info/comparison'>Comparison - javascript.info</BadgeLink>

@ -4,4 +4,4 @@
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Strict_equality'> Strictly Equality (===) Operator</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://javascript.info/comparison'>Comparsion - javascript.info</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://javascript.info/comparison'>Comparison - javascript.info</BadgeLink>

@ -2,4 +2,4 @@
The rest parameter syntax allows a function to accept an indefinite number of arguments as an array, providing a way to represent [variadic functions](https://en.wikipedia.org/wiki/Variadic_function) in JavaScript.
<BadgeLink colorScheme='yellow' badgeText='Rest parameters MDN documentation' href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters'>Rest Paremeters - MDN Docs</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Rest parameters MDN documentation' href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters'>Rest Parameters - MDN Docs</BadgeLink>

@ -1,10 +1,10 @@
# Built in functions
- A JavaScript **method** is a property containing a **function definition** . In other words, when the data stored on an object is a function we call that a method.
- To differenciate between properties and methods, we can think of it this way: **A property is what an object has, while a method is what an object does.**
- To differentiate between properties and methods, we can think of it this way: **A property is what an object has, while a method is what an object does.**
- Since JavaScript methods are actions that can be performed on objects, we first need to have objects to start with. There are several objects built into JavaScript which we can use.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialspoint.com/javascript/javascript_builtin_functions.htm'>JavaScript Built-in Functions</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://dev.to/elpepebenitez/built-in-methods-in-javascript-4bll'>Built-in Methods in Javascript</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialride.com/javascript/javascript-built-in-functions.htm'>Built-in Functions:</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialride.com/javascript/javascript-built-in-functions.htm'>Built-in Functions:</BadgeLink>

@ -1,8 +1,8 @@
# Javascript chrome dev tools
These are a set of tools built into the browser to aid frontend developers diagnose and solve various issues in their applications — such as JavaScript and logical bugs, CSS styling issues or even just making quick temprary alterations to the DOM.
These are a set of tools built into the browser to aid frontend developers diagnose and solve various issues in their applications — such as JavaScript and logical bugs, CSS styling issues or even just making quick temporary alterations to the DOM.
To enter the dev tools, right click and click **Inspect** (or press `ctrl+shift+c`/`cmd+opt+c`) to enter the Elements panel. Here you can debug CSS and HTML issues. If you want to see logged messages or interact with javascript, enter the **Console** tab from the tabs above (or press `ctrl+shift+j`/`cmd+opt+j` to enter it directly). Another very useful feature in the Chrome dev tools is the Lighthouse (for checking perfomance) — more on this later.
To enter the dev tools, right click and click **Inspect** (or press `ctrl+shift+c`/`cmd+opt+c`) to enter the Elements panel. Here you can debug CSS and HTML issues. If you want to see logged messages or interact with javascript, enter the **Console** tab from the tabs above (or press `ctrl+shift+j`/`cmd+opt+j` to enter it directly). Another very useful feature in the Chrome dev tools is the Lighthouse (for checking performance) — more on this later.
NOTE: This isn't a chrome-specific feature, and most browsers (Chromium based or otherwise) will have their own, largely-similar set of devtools.

@ -1,6 +1,6 @@
# Passport js
Passport.js is authentication middleware for Node.js. It makes implementing authetication in express apps really easy and fast. It is extremely flexible and modular. It uses "strategies" to support authentication using a username and password, Facebook, Twitter, and a lot of other sites.
Passport.js is authentication middleware for Node.js. It makes implementing authentication in express apps really easy and fast. It is extremely flexible and modular. It uses "strategies" to support authentication using a username and password, Facebook, Twitter, and a lot of other sites.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.passportjs.org/'>PassportJS Website</BadgeLink>

@ -5,6 +5,6 @@ Tornado is a scalable, non-blocking web server and web application framework wri
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.tornadoweb.org/'>Tornado — Official Website</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://phrase.com/blog/posts/tornado-web-framework-i18n/'>A Step-by-Step Tutorial on Python Tornado</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=-gJ21qzpieA'>Torando Python Framework</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=-gJ21qzpieA'>Tornado Python Framework</BadgeLink>

@ -1,6 +1,6 @@
# Type Inference
Type inference gives go the capability to detect the type of a value without being explicitly indicated , hence the posibility to declare variables without providing its type at first
Type inference gives go the capability to detect the type of a value without being explicitly indicated , hence the possibility to declare variables without providing its type at first
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.callicoder.com/golang-variables-zero-values-type-inference/#type-inference'>Go Variables: Type Inference</BadgeLink>

@ -148,7 +148,7 @@ Get basic understanding about troubleshooting tools and get practical skills of
- [Linux Performance](http://www.brendangregg.com/linuxperf.html) by Brendan Gregg
- [USE Method](http://www.brendangregg.com/usemethod.html)
## Learn SQL optimization technics
## Learn SQL optimization techniques
Get understanding and practical skills of how to optimize SQL queries.
- **Indexes, and their use cases**: B-tree, Hash, GiST, SP-GiST, GIN, BRIN
- SQL queries patterns and anti-patterns

@ -6,7 +6,7 @@
# Python
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedureal or object-oriented programmatic ways.
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Python Website' href='https://www.python.org/'>Python Website</BadgeLink>
@ -14,4 +14,4 @@ Python is a well known programming language which is both a strongly typed and a
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.w3schools.com/python/'>W3Schools - Python Tutorial </BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://ehmatthes.github.io/pcc/'>Python Crash Course</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Read' href='https://automatetheboringstuff.com/'>Automate the Boring Stuff</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.codecademy.com/learn/learn-python'>Codecademy - Learn Python 2</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.codecademy.com/learn/learn-python'>Codecademy - Learn Python 2</BadgeLink>

@ -14252,7 +14252,7 @@
"x": "959",
"y": "2932",
"properties": {
"controlName": "103-scalability:horizontal-vertial-scaling"
"controlName": "103-scalability:horizontal-vertical-scaling"
},
"children": {
"controls": {

@ -4411,7 +4411,7 @@
"x": "847",
"y": "1127",
"properties": {
"controlName": "100-react-ecosystem:state-management:conext-state"
"controlName": "100-react-ecosystem:state-management:context-state"
},
"children": {
"controls": {

@ -662,7 +662,7 @@
"y": "12",
"properties": {
"size": "18",
"text": "ACID, CAP Thoerem"
"text": "ACID, CAP Theorem"
}
}
]

Loading…
Cancel
Save