Compare commits

...

509 Commits

Author SHA1 Message Date
Kamran Ahmed
76263c73f3 Update DevOps Roadmap spacing 2022-12-27 17:28:30 +04:00
Kamran Ahmed
33ced944ba Update devops roadmap image and pdfs 2022-12-27 17:23:00 +04:00
Kamran Ahmed
c7612ca700 Add secret management topic 2022-12-27 17:02:49 +04:00
Kamran Ahmed
534fe54561 Add GitOps topic to DevOps roadmap 2022-12-27 16:18:06 +04:00
Kamran Ahmed
1db9958793 Remove C and C++ 2022-12-27 16:02:44 +04:00
Kamran Ahmed
205fe9f9e6 Update operating systems, networking tools, servers, ci/cd and config mgmt 2022-12-27 16:00:26 +04:00
Kamran Ahmed
2968bde697 Fix - Kafka node is loading RabbitMQ 2022-12-27 13:59:33 +04:00
Kamran Ahmed
0996ca6006 Add event tracking 2022-12-27 00:26:38 +04:00
Kamran Ahmed
e3ae882cbc Add TNS banner on FE, BE and DevOps roadmaps 2022-12-26 20:58:35 +04:00
Kamran Ahmed
09478a8ac8 Add node for Server Security 2022-12-23 18:41:55 +04:00
Kamran Ahmed
c8dd18a283 Update backend roadmap pdf and image 2022-12-23 18:14:44 +04:00
Kamran Ahmed
70f7d36eb4 Add DevOps roadmap as a next step 2022-12-23 18:14:06 +04:00
Kamran Ahmed
03ce53bffc Remove bonus content 2022-12-23 18:14:06 +04:00
Kamran Ahmed
b1da55261b Add a database topic - Failure modes 2022-12-23 18:14:06 +04:00
Kamran Ahmed
15d0a91e1e Update migration strategies 2022-12-23 18:14:06 +04:00
Kamran Ahmed
00b9ad0016 Add new topics to backend roadmap 2022-12-23 18:14:06 +04:00
Kamran Ahmed
7a9dd74f21 Update backend roadmap for 2023 2022-12-23 18:14:06 +04:00
Kamran Ahmed
314c95a0ed Update design principles 2022-12-23 18:14:06 +04:00
Akash Kishore Mukhia
300c07c315 Remove non-English resources 2022-12-22 16:09:53 +04:00
Kamran Ahmed
dac327faef Add GraphQL roadmap link 2022-12-22 15:24:33 +04:00
Kamran Ahmed
1b7447326f Add updated frontend roadmap 2022-12-22 15:23:32 +04:00
Kamran Ahmed
c5fe69c81e Add bonus content 2022-12-22 15:21:10 +04:00
Kamran Ahmed
7103263ba6 Breakdown the performance metrics 2022-12-22 15:21:10 +04:00
Kamran Ahmed
8e257d3168 Add content for web apis 2022-12-22 15:21:10 +04:00
Kamran Ahmed
8dd1665cd0 Add bonus content to frontend roadmap 2022-12-22 15:21:10 +04:00
Kamran Ahmed
1a493a9dbe Add authentication strategies 2022-12-22 15:21:10 +04:00
Kamran Ahmed
586b160f7e Remove enzyme from testing 2022-12-22 15:21:10 +04:00
Kamran Ahmed
76c9147608 Add Svelte and Svelte Kit to SSR 2022-12-22 15:21:10 +04:00
Kamran Ahmed
025288075b Add astro to SSG and SSE beside web sockets 2022-12-22 15:21:10 +04:00
Kamran Ahmed
68cd3a658b Add flutter to desktop options 2022-12-22 15:21:10 +04:00
Kamran Ahmed
1eedacab43 Update sponsor heading 2022-12-22 10:10:55 +04:00
Kamran Ahmed
c5c3a4f560 Remove mercurial 2022-12-21 17:25:05 +04:00
Kamran Ahmed
c668c84ba0 Add ambassador eBook link 2022-12-20 13:19:06 +04:00
Kamran Ahmed
be8c82974f Fix GraphQL FE and BE implementations 2022-12-19 22:23:03 +04:00
Heru Purnama
2d5e6fd22c Add resource for Karate Framework (#3106)
Update tutorial video from youtube
2022-12-14 13:36:21 +04:00
Chandrashekhar R
c11a28a034 Fixes the === operator format (#3108)
Displays it in code format so that it is appears the same as the other operators.
2022-12-14 13:35:21 +04:00
Kamran Ahmed
1f7554df5b Add functionality to mark done topic as pending 2022-12-13 14:36:16 +04:00
Kamran Ahmed
a0bc3200ed Add functionality to mark as done on right click 2022-12-13 14:32:16 +04:00
Kamran Ahmed
72a918116a Add PDF for GraqphQL roadmap 2022-12-12 18:07:07 +04:00
Kamran Ahmed
6bfd15d85a Add interactive GraphQL roadmap 2022-12-12 17:54:37 +04:00
Kamran Ahmed
b8b4ae4a5a Remove OS resource 2022-12-10 14:31:44 +04:00
Amardeep
6da7560c06 Add content for MVC in ASP.NET Roadmap (#3079)
* Update 100-mvc.md

* Update content/roadmaps/116-aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-09 19:21:47 +04:00
Kamran Ahmed
7b78d4c21e Disable ad on the devops roadmap 2022-12-06 17:11:05 +04:00
Abhilash Panicker
db911ebfee Add content for constraints (#3059)
* Update 103-constraints.md

* Update content/roadmaps/116-aspnet-core/content/102-database-fundamentals/103-constraints.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-06 12:56:12 +04:00
Abhilash Panicker
3f97475a2b Add content for ORM (#3060)
* Update readme.md

* Update content/roadmaps/116-aspnet-core/content/104-orm/readme.md

* Update content/roadmaps/116-aspnet-core/content/104-orm/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-06 12:52:43 +04:00
Kamran Ahmed
7997a4126f Fix broken buld 2022-12-05 18:08:35 +04:00
The New Stack
12cce5ca92 Add resource for OWASP 10 (#2963) 2022-12-05 17:06:07 +04:00
Tran Dinh Dong
38a5a399c3 Remove duplicate link for semantic HTML (#2935)
Remove the duplicated documentation link.
2022-12-05 17:05:44 +04:00
Felipe Carvalho
7df11ac8ba Add instructions for VS Code for flutter (#2938)
* Update a setup from Vs Code for Flutter.

* Update content/roadmaps/117-flutter/content/101-setup-development-environment/101-ides/100-vs-code.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 17:05:15 +04:00
collegedude9300
db65e65f26 Add content for C# (#2949)
* Update readme.md

* Update content/roadmaps/116-aspnet-core/content/100-basics-of-csharp/readme.md

* Update content/roadmaps/116-aspnet-core/content/100-basics-of-csharp/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 17:02:21 +04:00
The New Stack
023ff838c3 Add resource for HTTP3. (#2954) 2022-12-05 16:56:00 +04:00
The New Stack
693f88a879 Add resource for accessibility (#2956) 2022-12-05 16:54:20 +04:00
The New Stack
9025f032a2 Add resource for CSS Gri (#2958) 2022-12-05 16:53:24 +04:00
The New Stack
fbb28af577 Add resource for ES6 (#2959) 2022-12-05 16:53:05 +04:00
The New Stack
60ccde483a Add resource for learning git (#2960)
* Update 100-basic-usage-of-git.md

* Update content/roadmaps/100-frontend/content/104-version-control-systems/100-basic-usage-of-git.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:51:31 +04:00
The New Stack
830b5e9125 Add gitlab content (#2962) 2022-12-05 16:42:06 +04:00
The New Stack
cbf101c83f Add resource for vue.js (#2964) 2022-12-05 16:41:34 +04:00
The New Stack
725a8cd120 Add resources for svelte (#2965)
* Update 103-svelte.md

* Update content/roadmaps/100-frontend/content/111-pick-a-framework/103-svelte.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:41:13 +04:00
The New Stack
a82229832c Add playwright content (#2966) 2022-12-05 16:40:40 +04:00
The New Stack
ae41703f71 Add TypeScript resources (#2967) 2022-12-05 16:40:01 +04:00
The New Stack
c0adde8957 Add resource for Vue.js (#2970) 2022-12-05 16:37:04 +04:00
The New Stack
09d1816901 Add resource for static site generators (#2973) 2022-12-05 16:35:11 +04:00
The New Stack
7cb292f032 Add content for Gatsby (#2974) 2022-12-05 16:34:45 +04:00
The New Stack
5296d2adb5 Add resource for Hugo (#2975) 2022-12-05 16:34:22 +04:00
The New Stack
ac5755bbf3 Add GraphQL resources (#2976) 2022-12-05 16:34:07 +04:00
The New Stack
9da0656e72 Add resource for flutter (#2977) 2022-12-05 16:33:39 +04:00
The New Stack
cd8b6c8434 Add resource for Tarui (#2978) 2022-12-05 16:33:22 +04:00
The New Stack
388deb5eac Add resources for web assembly (#2979) 2022-12-05 16:33:07 +04:00
Heru Purnama
4b77d63f94 Add resource for white box testing (#2981)
Update with new resource, example and concept
2022-12-05 16:32:44 +04:00
Heru Purnama
31f198068e Add resource for blackbox testing (#2982)
Update with new resource, example and concept
2022-12-05 16:32:27 +04:00
Heru Purnama
d711f92418 Add content for learning automation (#2983)
Update new resource learning path for automate. This update include path using Java, Pyhton, And javascript with free certificate
2022-12-05 16:31:54 +04:00
Rachelle Palmer
c1dad0da30 Update link for MongoDB course (#2986) 2022-12-05 16:31:20 +04:00
Azim Ahmed Warsi
9b52b68823 Add resources for Dart (#2989)
* Added Resources and Information for "Dart Basics"

* Update content/roadmaps/117-flutter/content/100-dart-basics/readme.md

* Update content/roadmaps/117-flutter/content/100-dart-basics/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:30:37 +04:00
Mauricio Allegretti
8028e244da Add information to Atlassian Tools node (#2993) 2022-12-05 16:29:45 +04:00
Zeeshan Safdar
863bc41fe9 Add playlist link for React Query (#3000)
* Add complete playlist link for React Query

Add complete playlist link for React Query

* Update color scheme and badge Text
2022-12-05 16:29:26 +04:00
Mauricio Allegretti
07bccc6bce Add content to layered architecture (#3003)
* Add Layered architecture node information

* 'Update content/roadmaps/114-software-architect/content/107-architectures/103-layered-architecture.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:28:10 +04:00
Mauricio Allegretti
0130d25e0d Add PKI node information (#3006)
* Add PKI node information

* Update content/roadmaps/114-software-architect/content/108-security/101-pki.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:22:54 +04:00
Obed David Pérez Uri
495e5af71f Add content for type conversion (#3007)
* Update 100-type-conversion-coercion.md

Added English and Spanish videos, evaluated videos :)

* Update content/roadmaps/106-javascript/content/103-javascript-type-casting/100-type-conversion-coercion.md

* Update content/roadmaps/106-javascript/content/103-javascript-type-casting/100-type-conversion-coercion.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:21:19 +04:00
Kamil
5885de7179 Remove invalid resource Golang 102 (#3008)
Remove invalid resource from Golang 102-types-and-type-assertions.md
The provided resource is a video about protocol buffers in Go, not types or type assertion
2022-12-05 16:19:25 +04:00
Md Abid Hussain
a9c7b88f1a Update resource tag (#3010) 2022-12-05 16:18:30 +04:00
Atharva Hinge
84c7a05e88 Fixed the issue of npx link broken. (#3013)
* Update 100-npx.md

* Update 100-npx.md

* Update 100-npx.md

* Update 100-npx.md

* Update content/roadmaps/107-nodejs/content/102-nodejs-npm/100-npx.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:17:33 +04:00
dawgaw
93fd576573 Add tutorial for OS (#3015)
* Add link to OS tutorial

* Add introduction

* Update content/roadmaps/101-backend/content/102-os-general-knowledge/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:14:57 +04:00
Shrijal Shrestha
9cd611a51f Add shared preferences package description (#3016)
* Added SharedPreference description

Added SharedPreference description from pub.dev

* Update content/roadmaps/117-flutter/content/109-storage/101-shared-preferences.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:13:42 +04:00
Shrijal Shrestha
79892a7470 Add content for SQLite (#3017)
* Update 100-sqlite.md

Added Sqlite description from pub.dev

* Update content/roadmaps/117-flutter/content/109-storage/100-sqlite.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:11:58 +04:00
Anthony_256
d7fe2eae86 Add QA definitions (#3018)
* add QA definitions
Add image of the QA process illustration

* Update readme.md

* Delete QA process.vpd

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 16:09:47 +04:00
Ali koleiny zadeh
300c386820 Add content for .NET CLI
* added content in Learn the Basics of csharp (.NET CLI) in ASP.NET Core roadmap

* Update content/roadmaps/116-aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 15:56:09 +04:00
Revuza
5277a36977 Add TON to Blockchains in Blockchain roadmap (#3023)
* ton

* added TON

* fix

* fix id

* Update public/project/blockchain.json

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 15:54:22 +04:00
yu-lia
f93685308a Add content for marble diagram (#3028)
* Update 102-marble-diagrams.md

* Update content/roadmaps/104-angular/content/101-rxjs-basics/102-marble-diagrams.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 15:49:08 +04:00
Thomas R
6cc1fc3a5c Fixed DNS System (Domain Name System System) (#3029) 2022-12-05 15:48:18 +04:00
FercueNat
9993554485 Adding information to the Registers and Ram node - CS Roadmap (#3035)
* Adding information to the Registers and Ram node - CS Roadmap

* Update content/roadmaps/103-computer-science/content/120-how-computers-work/102-registers-and-ram.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 15:44:47 +04:00
Abhishek Kumar
7fa27a2cd9 Add content for JavaScript course (#3037)
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=PkZNo7MFNFg'>Learn Javascript - Full course for bignners></BadgeLink>
2022-12-05 15:43:17 +04:00
Marco Behler
1d5b7a3d79 Add link for Spring (#3038) 2022-12-05 15:42:48 +04:00
Marco Behler
a5d8c120d3 Update 104-java-orm with marcobehler article (#3039)
* Update 104-java-orm with marcobehler article

* Update content/roadmaps/110-java/content/104-java-orm/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 15:42:27 +04:00
Marco Behler
3e423a6327 Update 105-java-logging-frameworks with marcobehler article (#3040)
* Update 105-java-logging-frameworks with marcobehler article

* Update content/roadmaps/110-java/content/105-java-logging-frameworks/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 15:41:12 +04:00
Bacem_Zarai
2830241e8b Add content for RxJs vs Promsies (#3044)
* Update 103-rxjs-vs-promises.md

* Update content/roadmaps/104-angular/content/101-rxjs-basics/103-rxjs-vs-promises.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 15:40:35 +04:00
Abhilash Panicker
3fd3e696ce Add content for Stored Procedures (#3047)
* Update 102-stored-procedures.md

Added information and link

* Update content/roadmaps/116-aspnet-core/content/102-database-fundamentals/102-stored-procedures.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 15:39:42 +04:00
Felipe Luz
1148dfb35e design-systems glossary page unavailable (#3048)
Add a snapshot of the post https://web.archive.org/web/20220620075140/https://superfriendly.com/design-systems/glossary/
2022-12-05 15:38:25 +04:00
AHN
8990f0912a Added W3Schools resource about form validation (#3054) 2022-12-05 15:38:13 +04:00
Vaidic Dodwani
e58c29ee6b Add content for flutter package manager (#3056)
* Content For Flutter/Package_Manager

* Update content/roadmaps/117-flutter/content/107-package-manager/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-12-05 15:37:13 +04:00
Džiugas Pečiulevičius
7af784b2d7 JS inequality and strict inequality fixes (#3057) 2022-12-05 12:11:36 +04:00
Kamran Ahmed
b2647f7702 Add author image 2022-12-01 11:36:07 +05:00
Kamran Ahmed
dd6ade038e Add utm parameters to tns links 2022-11-30 16:51:50 +05:00
Kamran Ahmed
22350387a6 Update footer link for tns 2022-11-29 14:51:05 +05:00
Kamran Ahmed
30f9b1ea32 Add fastapi to python roadmap 2022-11-27 00:11:11 +05:00
Kamran Ahmed
427441c311 Add tns footer 2022-11-25 15:29:25 +04:00
Dominic Flocea
ba27e84e8b update article name for basic linux commands (#3005)
The article name has changed from 34 to 40 Basic Linux Commands
2022-11-23 18:02:22 +04:00
Mohamed Elkholy
aa8bf22580 Update course title (#2996)
* It's not polite term ' Dummies

* Update content/roadmaps/101-backend/content/100-internet/100-how-does-the-internet-work.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-11-22 11:37:06 +04:00
Muhammad Pazrin Andreanor
e2c5064f33 added: DedicatedRoadmap Flutter Roadmap (#2995) 2022-11-22 09:25:14 +04:00
Tonin
c6cbaadc44 removed duplicated topic (#2990)
theres a duplicated topic here and in the website
2022-11-21 14:55:16 +04:00
Alexey
2a51efd4fa Fix GraphQL typo (#2984) 2022-11-18 15:28:10 +04:00
collegedude9300
edf71d31c6 Add content for datastructures (#2950)
* Update 104-datastructures-and-algorithms.md

* Update content/roadmaps/116-aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-11-17 17:03:02 +04:00
Kamran Ahmed
1aeddd7080 Rename roadmap note file 2022-11-15 22:30:17 +04:00
Kamran Ahmed
932808f87a Fix computer science roadmap note not opening 2022-11-15 18:19:45 +04:00
Kamran Ahmed
ab0f15ddf1 Add stormforge ebook link 2022-11-15 16:47:11 +04:00
Archit Sharma
0171e76b6a Resources added for Http/Https Protocol (#2929) 2022-11-14 11:50:54 +04:00
Ansat
bc9ee6921f feat: add software-design-architecture roadmap (#2934) 2022-11-14 11:30:18 +04:00
Ashik Kabeer
910df79e0f Deleted roadmap.sh page (#2928)
Understanding Javascript Promises this page won't be available anymore
2022-11-12 10:41:32 +04:00
CodeGuage
f4cdb36381 Add JavaScript data types resource (#2915) 2022-11-11 23:47:59 +04:00
CodeGuage
ff5b15f080 Added new resource (#2916) 2022-11-11 23:47:40 +04:00
CodeGuage
ae2c33551c Added new resource for functions (#2917) 2022-11-11 23:44:31 +04:00
CodeGuage
91c422bf4c Added new resource for variables (#2918) 2022-11-11 23:44:18 +04:00
CodeGuage
37e5cf4057 Added new resource for variable naming rules (#2919)
This resource gives some very useful variable naming tips for JavaScript.
2022-11-11 23:44:00 +04:00
CodeGuage
09a35e8235 Add resource for constr (#2920) 2022-11-11 23:43:40 +04:00
Archit Sharma
24ef0346e8 Resources added for Git (#2925) 2022-11-11 23:41:58 +04:00
Moaaz Adel
be446d6013 Add cypress content (#2907) 2022-11-10 16:17:27 +04:00
Rachelle Palmer
ea83588f8d Add sharding strategies resource (#2909) 2022-11-10 16:16:51 +04:00
minikill
d176c72a54 Update 103-nosql-databases.md (#2911)
I guess we cannot count S3 as key-value in the common meaning
2022-11-10 16:15:54 +04:00
Md Abid Hussain
5219b8c78f Add resources to frontend roadmap (#2903)
* Added new resource and arrange the content

* Update readme.md

* Update 101-making-layouts.md
2022-11-10 16:15:24 +04:00
ChuckD3ath
66f311face Update Bug Magnet (#2902) 2022-11-10 16:13:23 +04:00
Kamran Ahmed
4429643d23 Remove spacing from next-tick file 2022-11-10 13:13:11 +04:00
Kamran Ahmed
302eb2737c Change hiring text to hiring a devrel 2022-11-10 12:58:13 +04:00
Kamran Ahmed
43dc75f21b Fix missing text in link 2022-11-09 19:08:07 +04:00
Kamran Ahmed
ef68ef79ba Fix missing text in link 2022-11-09 19:06:17 +04:00
Kamran Ahmed
cdbb3fb09b Add content for k-d trees and skip lists 2022-11-09 14:22:46 +04:00
Kamran Ahmed
17aa1ae88d Add content for CPU processes and threads 2022-11-09 14:18:35 +04:00
Kamran Ahmed
082593165f Add content for how computers work 2022-11-09 14:06:24 +04:00
Kamran Ahmed
ed3c5eef7c Add security content in computer science 2022-11-09 14:01:20 +04:00
Kamran Ahmed
250485b5f8 Add content to networking node 2022-11-09 13:50:32 +04:00
Kamran Ahmed
50a1f04c23 Add database items content 2022-11-09 13:34:08 +04:00
Kamran Ahmed
1dac6caa56 Add content for system design 2022-11-09 13:01:25 +04:00
Kamran Ahmed
51a543f013 Add content for tries and balanced search trees 2022-11-09 12:15:43 +04:00
Kamran Ahmed
e7a2e027e5 Add content for complexity classes 2022-11-09 11:17:17 +04:00
Kamran Ahmed
19fcd33993 Ad content for design patterns and math skills 2022-11-08 18:02:20 +04:00
Kamran Ahmed
0b112c3d32 Add content for UML diagrams 2022-11-08 17:23:09 +04:00
Kamran Ahmed
e0b156d4fb Add content for character encodings 2022-11-08 17:04:04 +04:00
Kamran Ahmed
0ec0ab4d3c Add content for bitwise bitwise, floating point and endianess 2022-11-08 16:56:47 +04:00
Kamran Ahmed
6fa7117a33 Add content for string search and manipulation algorithms 2022-11-08 16:39:13 +04:00
Kamran Ahmed
09b95f30d7 Add content for common algorithms in computer science roadmap 2022-11-08 16:19:19 +04:00
Archit Sharma
2b4dede970 Resources added for HTTP (#2901) 2022-11-08 16:05:15 +04:00
Kamran Ahmed
4405919d57 Add greedy algorithms content 2022-11-08 15:36:29 +04:00
Kamran Ahmed
242d755de6 Add graph traversal algorithm 2022-11-08 15:26:17 +04:00
Kamran Ahmed
e2b1d4b6bc Add tree algorithms content 2022-11-08 15:26:17 +04:00
Manish Kumar
7d4d390b64 Add content for command line applications (#2900)
* node.js command line apps readme added

* Update content/roadmaps/107-nodejs/content/106-nodejs-command-line-apps/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-11-08 14:37:45 +04:00
Kamran Ahmed
a79342b6eb Add sorting algorithms content 2022-11-08 00:16:42 +04:00
Kamran Ahmed
75843e114f Add asymptotic notation content 2022-11-07 17:33:48 +04:00
Kamran Ahmed
19ae880d6a Add content to graph nodes 2022-11-07 17:10:15 +04:00
Kamran Ahmed
64e9abd20a Add resources for queue, hash, tree and heap data structures 2022-11-07 16:49:37 +04:00
Kamran Ahmed
681ff8147e Add content to cs/pick-language and cs/datastructures 2022-11-07 16:22:36 +04:00
Kamran Ahmed
9dae390d5d Add link to computer science roadmap 2022-11-07 15:30:17 +04:00
Kamran Ahmed
439aab60b0 Hover style for the hiring link 2022-11-07 15:26:32 +04:00
Kamran Ahmed
63d07c559a Make share icons to appear on scroll 2022-11-07 14:36:30 +04:00
Kamran Ahmed
7068b95b10 Update computer science roadmap meta 2022-11-07 14:19:01 +04:00
Kamran Ahmed
a7dd614c8c Add hiring link in top nav 2022-11-07 14:11:47 +04:00
Kamran Ahmed
b39eac78ff Fix typo 2022-11-07 13:42:39 +04:00
Kamran Ahmed
50ba6b9279 Add computer science roadmap pdf and image 2022-11-07 13:27:48 +04:00
Kamran Ahmed
c3f64f243d Add readme for computer science roadmap 2022-11-07 13:23:03 +04:00
Kamran Ahmed
236495cdd8 Improve web vitals 2022-11-07 13:15:37 +04:00
Kamran Ahmed
d82a421812 Fix alignment of note 2022-11-07 13:04:43 +04:00
Kamran Ahmed
b6a954c48d Add computer science roadmap 2022-11-07 12:59:15 +04:00
collegedude9300
c97fa1a537 Add repo hosting services content (#2876)
* Update 102-vcs-hosting-services.md

* Update content/roadmaps/116-aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-11-07 12:22:43 +04:00
collegedude9300
67ec74e804 Add resources for C#(#2877)
* Update 100-csharp.md

* Update content/roadmaps/116-aspnet-core/content/100-basics-of-csharp/100-csharp.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-11-07 12:21:43 +04:00
Archit Sharma
e122a7d0bf Resources added for Forms in Vue (#2879) 2022-11-07 12:13:48 +04:00
ChuckD3ath
8cb6de5994 Updated Frontend Automation Introductions (#2880) 2022-11-07 12:13:36 +04:00
dawgaw
178e8748c3 Remove broken link (#2883) 2022-11-07 12:13:18 +04:00
ChuckD3ath
6d5a54e7a2 Updated Nightwatch.js Automation Framework (#2885) 2022-11-07 12:12:53 +04:00
ChuckD3ath
b1e588c4b2 Added REST Assured Tutorial (#2886) 2022-11-07 12:12:37 +04:00
ChuckD3ath
b7ae990a05 Update Accessibility Tools (#2887) 2022-11-07 12:12:25 +04:00
ChuckD3ath
79528144e2 Add content for gmail tester (#2888) 2022-11-07 12:12:09 +04:00
Sophie Obomighie
30d974f21d Fix CSS url in node (#2873)
Changed the legacy version of freecodecamp's responsive web design course to the present one.
2022-11-04 19:02:28 +04:00
Tiago Pedutti
a9047f8ef3 Fix React Roadmap URL on Readme file (#2874) 2022-11-04 18:56:15 +04:00
Kamran Ahmed
7832e09826 Fix flicker of share buttons 2022-11-04 17:26:30 +04:00
Kamran Ahmed
47dd9e5522 Add buttons to share roadmaps on Hacker News, Reddit, Twitter, Facebook 2022-11-04 16:54:09 +04:00
Kamran Ahmed
ededf3017a Add sharer urls 2022-11-04 16:51:06 +04:00
Kamran Ahmed
5f4b0744c9 Add sharer links 2022-11-04 16:47:09 +04:00
Kim Hallberg
9f23ff0b48 Add missing apostrophes (#2864) 2022-11-04 10:29:29 +04:00
Colin Eberhardt
14a888f69e Fix typo in azure (#2865) 2022-11-04 10:29:12 +04:00
collegedude9300
ccf527a447 Add C# Content (#2868)
* Update 100-csharp.md

* Update content/roadmaps/116-aspnet-core/content/100-basics-of-csharp/100-csharp.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-11-04 10:26:10 +04:00
Rudrakshi
50dc3ed972 Added resource to 103-linux-unix.md (#2855) 2022-11-03 14:27:51 +04:00
Archit Sharma
efb369e717 Add java/kotlin/scala resources (#2854)
* Resources added for Java kotlin scala

* Update content/roadmaps/114-software-architect/content/104-programming-languages/100-java-kotlin-scala.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-11-03 14:27:05 +04:00
Aakash Rana
e6b02e1308 Add basic authentication content (#2853)
* Intro to Basic Authentication added

* Update content/roadmaps/101-backend/content/109-apis/106-authentication/102-basic-authentication.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-11-03 14:25:12 +04:00
Md Abid Hussain
2156e13f65 Added more oops resources (#2860)
Added OOPs playlist by Kunal Kushwaha
2022-11-03 13:50:58 +04:00
Md Abid Hussain
b979a79556 Added new resources (#2861)
Added HTML Full Course for Beginners | Complete All-in-One Tutorial  by Dave gray
2022-11-03 13:49:37 +04:00
Max
8dae98dc4e Fix typo in resources (#2859) 2022-11-02 18:44:57 +04:00
Kamran Ahmed
8f4eea751f Add video about session authentication 2022-11-02 18:42:33 +04:00
Max
8ee7ae1d22 Fix spelling errors (#2847) 2022-11-01 23:54:37 +04:00
Mauricio Allegretti
e49517cf2a Update style 100 swas pwas jamstack (#2850)
* Add SWAs, PWAs and Jamstack node information

* Update styles into SWAs, PWAs and Jamstack node
2022-11-01 23:54:25 +04:00
Krystian Budulski
e2489c43f7 Add content for flutter roadmap nodes (#2851)
- add descriptions with links to mostly official Flutter/Dart documentation and libraries from pub.dev
2022-11-01 23:53:54 +04:00
FercueNat
00bcb512ed Added Free content title missing - QA roadmap (#2846) 2022-11-01 18:55:40 +04:00
Kamran Ahmed
a70739bc4a Reformat session based authentication code samples 2022-11-01 18:00:25 +04:00
Kamran Ahmed
9727a3daae Add guide on session based authentication 2022-11-01 17:55:53 +04:00
Ahmad Dusmatov
430b78f8ae Remove duplicated resource (#2833) 2022-11-01 11:30:24 +04:00
Md Abid Hussain
5c6cc3a950 Updated and fixed java resources (#2835)
* Fixed resource type

Fixed resource type from watch to read in 'Learn more about Data types and Variables'

* Updated java-fundamental resources

Replaced non-English resource with English one.
Added switch and nested conditional video resource
2022-11-01 11:30:07 +04:00
Md Abid Hussain
c76e2c9468 Added more resources in java roadmap (#2836)
* Replaced paid resource with free one

* Added new resources
2022-11-01 11:29:52 +04:00
FercueNat
10bfd2be39 Adding information to Reporting node - QA Roadmap (#2838) 2022-11-01 11:28:52 +04:00
Mauricio Allegretti
c7bf402ed5 Add SWAs, PWAs and Jamstack node information (#2840)
* Add SWAs, PWAs and Jamstack node information

* Update content/roadmaps/113-qa/content/103-qa-automated-testing/100-frontend-automation/100-basic-introduction/swas-pwas-jamstack.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-11-01 11:28:35 +04:00
Md Abid Hussain
5e98c9ce50 Added Git and GitHub learning resources (#2830)
* Added Git and Github complete course

Added Git and Github complete course by Kunal Kushwaha(YouTube).

* Added GitHub skill learning path
2022-10-31 14:12:51 +04:00
Kamran Ahmed
b96665c358 Merge branch 'master' of github.com:kamranahmedse/developer-roadmap 2022-10-31 13:13:44 +04:00
Kamran Ahmed
117dc41540 Fix pinch zoom not working on resources 2022-10-31 13:13:32 +04:00
shubham patil
1ad1faa7b4 Fix broken event loop link (#2829)
The Node.Js Event Loop link has changes, updating the href
2022-10-31 12:52:27 +04:00
Adekola Olawale
0effd71366 Add content to frontend roadmap (#2709)
* Added resources in frontend and react roadmaps

* moved new resources below exiting ones && BadgeLink stick to one line

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:50:11 +04:00
Shahriar Ahmmed
b77f2b2aef Add JSX resource (#2714) 2022-10-31 12:42:56 +04:00
SamarS1ngh
c7db305fab Added additional details about Hooks (#2715)
added a more user friendly description about what hooks in react do, so that learners can understand the concept quickly and easily
2022-10-31 12:42:38 +04:00
SamarS1ngh
297cb7a702 Added more about API calls (#2717)
Added a small description of what an API is and what is an API call and how it benefits people
2022-10-31 12:41:40 +04:00
Hossam Kandil
8eafa71a73 Add content for webdriver.io
* Update webdriver-io.md

* Update qa-wolf.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:40:49 +04:00
Deevanshu Kushwah
709392984d Add content for angular services (#2720)
* Update 107-nodejs-apis/101-express-js.md

* Update content/roadmaps/107-nodejs/content/107-nodejs-apis/101-express-js.md

* Update 110-nodejs-databases /100-relational /102-sequelize.md

* Update  109-nodejs-template-engines/102-ejs.md

* Update content/roadmaps/107-nodejs/content/109-nodejs-template-engines/102-ejs.md

* Update content/roadmaps/107-nodejs/content/110-nodejs-databases/100-relational/102-sequelize.md

* Update   content/roadmaps/104-angular/content/102-angular-basics/105-services.md

* Update content/roadmaps/104-angular/content/102-angular-basics/105-services.md

* Update content/roadmaps/104-angular/content/102-angular-basics/105-services.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:39:58 +04:00
JatinR05
f3b49f23c0 Fix typos in readme (#2722)
updated
2022-10-31 12:37:40 +04:00
Alex Guja
6421722157 Add resource for HTTP (#2723)
Added ByteByteGo's concise but high-quality video about HTTP
2022-10-31 12:37:21 +04:00
dinaisrael
16ae93a9e5 Add Spring Docs (#2724)
Add Spring Framework Documentation
2022-10-31 12:37:03 +04:00
The New Stack
c058501dbf Add content for frontend development (#2725)
* Update readme.md

Added 1 TNS link

* Update content/roadmaps/101-backend/content/101-basic-frontend/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:36:13 +04:00
The New Stack
3abb0846dd Add rust resources (#2727)
Add 2 TNS links
2022-10-31 12:33:15 +04:00
The New Stack
7526d69f79 Add go resources (#2728)
Add 2 TNS links
2022-10-31 12:32:56 +04:00
The New Stack
870681889c Add python resources (#2729)
Add 2 TNS links
2022-10-31 12:32:39 +04:00
The New Stack
234a9f9838 Add ruby resource (#2730) 2022-10-31 12:32:22 +04:00
The New Stack
e8ba7f4824 Add resources for CI/CD (#2732)
* Update 113-ci-cd.md

Add 3 new TNS links

* Update content/roadmaps/101-backend/content/113-ci-cd.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:28:17 +04:00
The New Stack
dd0ad295ff Add integration testing resources (#2733)
Add 1 TNS link
2022-10-31 12:27:28 +04:00
The New Stack
39a7755e4e Add microservices resources (#2734)
* Update 101-microservices.md

3 TNS links added

* Update content/roadmaps/101-backend/content/115-architectural-patterns/101-microservices.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:26:44 +04:00
Mauricio Allegretti
533d240bce Add QA Wolf node information (#2737) 2022-10-31 12:22:12 +04:00
Mauricio Allegretti
83d8f8d2fa Add content for mailinator (#2736) 2022-10-31 12:21:58 +04:00
justbeingkat
4597657f6d Update 101-writing-semantic-html.md (#2740)
Same link was included twice

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:21:01 +04:00
leopaul29
6b944fbf55 Remove dead link for ORM (#2741) 2022-10-31 12:19:47 +04:00
Haseeb Ansari
55f72610c9 Add content for email (#2742)
* devops roadmap email readme.md node added

* Update content/roadmaps/102-devops/content/103-networking-protocols/103-emails/readme.md

Co-authored-by: haseebansari <haseeb.ansari@qordata.com>
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:19:21 +04:00
leopaul29
a2d973d399 Add jUnit resources (#2744) 2022-10-31 12:18:19 +04:00
Amir Elsagan
3225de6443 Add redux tutoria (#2745)
* add redux tutorial course from free code camp

* Update content/roadmaps/103-react/content/102-react-ecosystem/107-state-management/101-redux.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:17:47 +04:00
Illia Sheremetov
58e6eab43c Add link to nestjs tutorial (#2746)
That's actually a link to the nest-js tutorial, previously it was React things, doesn’t related with node js
2022-10-31 12:17:02 +04:00
Dominik Pabst
e446a79090 Add resource for infrastructure as code (#2747) 2022-10-31 12:16:14 +04:00
GalNey
e4be992c37 Add content for architectural patterns (#2748)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:15:52 +04:00
GalNey
8fab931771 Add details for real-time databases (#2750) 2022-10-31 12:12:47 +04:00
GalNey
1526af1860 Add content for wave (#2751) 2022-10-31 12:12:26 +04:00
Dominik Pabst
f5dc08bedb Add agile manifesto link (#2752) 2022-10-31 12:12:08 +04:00
ChuckD3ath
5bf995814a Update Ghost Inspector (#2754) 2022-10-31 12:11:30 +04:00
Md Abid Hussain
d8d8895b5e Added new networking content (#2757)
Full free networking course by Kunal Kushwaha
2022-10-31 12:11:21 +04:00
Haseeb Ansari
848ca8a662 Add content for architectural patterns (#2759)
Co-authored-by: haseebansari <haseeb.ansari@qordata.com>
2022-10-31 12:09:34 +04:00
Pranshu Agrawal
c452e689ca Add link to roadmap.sh from repo header (#2760)
* added link in the header

* Update readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:08:14 +04:00
Haseeb Ansari
03b731ba35 Update content for spark node (#2761)
* Java Roadmap Spark: Fixed Spark framework node. It is Spark , not Apache Spark

* link fix

Co-authored-by: haseebansari <haseeb.ansari@qordata.com>
2022-10-31 12:07:31 +04:00
Amir Elsagan
13cf59caae Add vitest course (#2767)
* add course from youtube

* Update content/roadmaps/103-react/content/102-react-ecosystem/106-testing/103-vitest.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 12:05:31 +04:00
Wemi Moyela
73cba4f942 Add content for scope in JavaScript (#2769) 2022-10-31 12:03:39 +04:00
Wemi Moyela
9cd709198f Add details for JS Functions (#2772) 2022-10-31 12:01:44 +04:00
Wemi Moyela
0f443d6e0a Add content for equality algorithms (#2773) 2022-10-31 12:01:12 +04:00
Rudrakshi
959d96b24f Add resource for bash scripting (#2776) 2022-10-31 12:00:20 +04:00
Aayan Pathan
7c73452438 Add python decorators resource (#2777) 2022-10-31 11:59:33 +04:00
Aayan Pathan
f912937775 Add crash course for OOP (#2778)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 11:59:05 +04:00
Sojin Samuel
35b9540bd0 Update Grammar Mistakes (#2780)
found grammatical errors
2022-10-31 11:57:29 +04:00
Mauricio Allegretti
498fd5c4b0 Add info to Check My Links node (#2781) 2022-10-31 11:56:45 +04:00
Mauricio Allegretti
c1a249735e Add info to Responsive vs Adaptive node (#2783) 2022-10-31 11:56:26 +04:00
Sojin Samuel
5a1416aca9 Add resource for axios in react (#2784)
Talks about why we should use it, set up instructions, GET, POST,  PUT, DELETE Requests, creating a custom useAxios Hook, and much more.
2022-10-31 11:56:08 +04:00
Rachelle Palmer
6f92fa052d Add resources for mongoose (#2812)
Add resources for Mongoose
2022-10-31 11:55:52 +04:00
Yash Dewasthale
3d88325aae Add firewall contnet (#2813)
* Update 104-firewall.md

Updated guidance path for Firewall topic from DevOps series.

* Update content/roadmaps/102-devops/content/104-setting-up-x/104-firewall.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 11:55:29 +04:00
Care99
4b3a462076 Fix typois(#2816)
Co-authored-by: Care99 <cesar.rodas@fpuna.edu.py>
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 11:52:03 +04:00
izembrandt
18da889d02 Fixed typos (small changes) see commits (#2817)
* Fixed Typo of the word 'Practises' to 'Practices'

* Fixed typo with ')' after a dot

* fixed typo in SoapUI name
2022-10-31 11:51:04 +04:00
Sodium Antimony
fbc497519f Add PHP course (#2828)
* A course added for PHP

- Add a link to PHP for Beginners (2023 Edition) [Free Course]

* Update content/roadmaps/101-backend/content/103-learn-a-language/103-php.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-31 11:50:39 +04:00
Julio Lezcano
6f2b5f3378 Fix comma (#2818) 2022-10-31 11:49:14 +04:00
Arya Sharma
ff20c28a78 Add OOP course (#2766) 2022-10-31 11:48:57 +04:00
CarmenResquin
0348cc9616 Fix typos in non-functional testing 2022-10-31 11:37:27 +04:00
Sojin Samuel
b4e5eec650 Add a resource to plugins in Vue.js (#2820)
Talks about what are plugins, shows how to create a simple vue.js plugin, Add directives, mixins, filters, and how to accept options.
2022-10-31 10:22:39 +04:00
Adarsh Pratap Singh
7d14aee45b Add JavaScript resource (#2822) 2022-10-31 10:21:21 +04:00
Kamran Ahmed
80b11c91af Add flutter resource 2022-10-31 10:17:18 +04:00
Kamran Ahmed
03de323ba6 Add flutter content 2022-10-31 10:17:18 +04:00
Marvin
b1a25276b1 Fix link to Go roadmap (#2827) 2022-10-31 10:16:36 +04:00
Sojin Samuel
8ef69d19ef Indepth guide about Routing (Beginner Friendly) (#2785)
Talks about how the development of single-page websites or mobile applications that permit navigating without refreshing the page. Additionally, how react-router allows us to access browser history functionalities while preserving the correct application view, how component-based routing plays a huge role, and much more.
2022-10-29 17:14:01 +04:00
Sojin Samuel
e6840173b9 An indepth introductory guide about watchers (#2786)
* An indepth introductory guide about watchers

Talks about deep and immediate options with examples. showcases example use cases on how to use watchers in action, and when to utilize computed properties, and when to use watchers.

* Update content/roadmaps/105-vue/content/101-advanced-topics/104-watch.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-29 17:12:38 +04:00
Pradyumna Chatterjee
714c8fb221 Go Web Frameworks comparison (#2789)
Added a github repository that compares the state of Web frameworks in Golang
2022-10-29 17:11:19 +04:00
Sojin Samuel
2a8a3c03b1 A detailed guide about Apache Log4j Project (#2796)
Talks about why Apache Log4 had become the most deployed pieces of open source software, Log4j exploits, and How to protect against it.
2022-10-29 17:10:59 +04:00
Rachelle Palmer
698cda1765 Add prisma tutorial (#2802)
* Update 101-prisma.md

update prisma resource with youtube tutorial

* Update content/roadmaps/107-nodejs/content/110-nodejs-databases/101-document/101-prisma.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-29 17:08:37 +04:00
Sojin Samuel
118deb48dc Add a resource to angular course (#2807)
This course is an in-depth angular introductory course with 17hrs of content from freecodecamp. covers topics ranging from TS introduction to Important Angular topics.
2022-10-29 17:07:07 +04:00
Sojin Samuel
8d608948d3 Add an Introductory Text to Solid.js (#2808)
* Add an Introductory Text to Solid.js

Update the Solid.js Resource panel with an introductory text

* Update content/roadmaps/100-frontend/content/111-pick-a-framework/104-solid-js.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-29 17:06:40 +04:00
Kamran Ahmed
7c32eed873 Add links to new roadmaps 2022-10-28 19:41:24 +04:00
Kamran Ahmed
91b3d39ecd Add flutter roadmap 2022-10-28 19:22:48 +04:00
Kamran Ahmed
7052774a29 Update react topics in react roadmap 2022-10-26 11:51:01 +05:00
Kamran Ahmed
4804be7899 Make asp.net core roadmap interactive 2022-10-25 09:53:28 +05:00
Kamran Ahmed
927e060ac8 Add asp.net core developer roadmap 2022-10-25 09:05:59 +05:00
Kamran Ahmed
20b5cdb16f Fix broken build 2022-10-24 13:49:38 +05:00
Kamran Ahmed
fb5efa4f6d Remove asp.net roadmap from homepage 2022-10-24 13:45:28 +05:00
Kamran Ahmed
31d87796f3 Add vite, vitest and playwright 2022-10-24 13:38:24 +05:00
Kamran Ahmed
3fe37d1e50 Add asp.net core developer roadmap 2022-10-24 13:33:10 +05:00
Subhash Karthik
566c786475 Add JavaScript type conversion and coercion resource (#2700)
* Added one of the best and new resource to the java datastructures list

* Added content to JavaScript Type Conversion vs Coercion

* Update content/roadmaps/110-java/content/100-java-fundamentals/104-datastructures.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-23 07:56:37 +05:00
Benjamin Yee
c9e21615f1 Add playlist for web security knowledge (#2704)
Added YouTube OWASP Course Playlist by Arkenstone Learning
2022-10-23 07:51:03 +05:00
Jorge Bolpe
3b8c59c8eb Fix typos in angular roadmap (#2706) 2022-10-23 07:49:58 +05:00
SamarS1ngh
a89236f333 Add content for client-side caching (#2689)
* Added client-side-file-caching

There was no data on client-side-file-caching, so I added some for people to learn.

* Update content/roadmaps/101-backend/content/110-caching/102-client-side.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-22 21:55:09 +05:00
SamarS1ngh
edd56527ad Added instrumentation, telemetry, monitoring (#2691)
* Added instrumentation, telemetry, monitoring

There was no data on instrumentation, monitoring, and telemetry, so I decided to contribute and help others by also providing links.

* Update content/roadmaps/101-backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md

* Update content/roadmaps/101-backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-22 21:51:47 +05:00
Madawa De Silva
d4a70d0d13 Added content for IBM cloud (#2694)
Added content related to IBM-Cloud under "developer-roadmap/content/roadmaps/102-devops/content/108-cloud-providers"
2022-10-22 21:45:52 +05:00
Kalpit Shah
460da72850 Add content for errors in Node.js roadmap (#2695)
* Update 101-system-errors.md

* Update 102-user-specified-errors.md

* Update content/roadmaps/107-nodejs/content/103-nodejs-error-handling/103-error-types/101-system-errors.md

* Update content/roadmaps/107-nodejs/content/103-nodejs-error-handling/103-error-types/102-user-specified-errors.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-22 21:45:26 +05:00
Tomasz Hamerla
24693f1089 Add salesforce content (#2697)
* Update 104-salesforce.md

* Update content/roadmaps/114-software-architect/content/116-enterprise-software/104-salesforce.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-22 21:43:15 +05:00
SURAJ39
a781862937 added content to 102-backend-automation (#2675)
* added content to  102-backend-automation

* Update content/roadmaps/113-qa/content/103-qa-automated-testing/102-backend-automation/102-soap-ui.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-22 02:28:45 +05:00
SURAJ39
d9b39182b9 added content to 104-native-drivers.md (#2676)
* added content to 104-native-drivers.md

* Update content/roadmaps/107-nodejs/content/110-nodejs-databases/100-relational/104-native-drivers.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-22 02:28:01 +05:00
SURAJ39
1881f20c90 added content to 101-fetch.md (#2677)
* added content to  101-fetch.md

* Update content/roadmaps/106-javascript/content/118-working-with-apis/101-fetch.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-22 02:27:21 +05:00
SURAJ39
2c4ee13552 added content to 106-chokidar.md (#2678) 2022-10-22 02:26:30 +05:00
SURAJ39
a66e5fbce3 added content to 103-glob.md (#2679) 2022-10-22 02:26:19 +05:00
Harshit Arora
085e592141 hyperlink typo fix (#2680)
* hyperlink typo fix

* hyperlink typo fix
2022-10-22 02:25:56 +05:00
Kamran Ahmed
e4f9d8b475 Fix broken build 2022-10-22 02:25:32 +05:00
Ironspider42
c4a16e20b6 Add Java content (#2682)
* Update readme.md

* Update content/roadmaps/110-java/content/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-22 02:25:20 +05:00
Lane Wagner
6581bf1cb2 docs: add go resource (#2684) 2022-10-22 02:22:24 +05:00
Kartikey Verma
1e13e15a60 Add operating system content (#2475) 2022-10-21 22:53:56 +05:00
Harshit Arora
7113a8c73e added content for mobile applications (#2674) 2022-10-21 22:53:10 +05:00
Kevin Falentio
d234900a03 Fix typos (#2478)
* fix readable content color scheme

* add content to 103-glob

* remove duplicate resources group title in 102-updating-packages

* fix swaped color in 100-morgan

* Update content/roadmaps/107-nodejs/content/107-nodejs-apis/101-express-js.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:52:42 +05:00
Deevanshu Kushwah
5867ac4b16 Resources added to Nodejs/Databases/Sequelize (#2479)
* Update 107-nodejs-apis/101-express-js.md

* Update content/roadmaps/107-nodejs/content/107-nodejs-apis/101-express-js.md

* Update 110-nodejs-databases /100-relational /102-sequelize.md

* Update  109-nodejs-template-engines/102-ejs.md

* Update content/roadmaps/107-nodejs/content/109-nodejs-template-engines/102-ejs.md

* Update content/roadmaps/107-nodejs/content/110-nodejs-databases/100-relational/102-sequelize.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:51:59 +05:00
Apoorva
fec3a8c66d Added content to Java Roadmap (110-java) (#2490)
* Update 102-cukes.md

* Update 102-cukes.md

* Update readme.md

* Update content/roadmaps/110-java/content/103-java-web-frameworks/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:40:30 +05:00
Koshima Goyal
022b0e27e8 added content to 100-java-fundamentals (#2491) 2022-10-21 22:37:45 +05:00
Arya Singh
1f3b2a280d Add content for error handling in node.js (#2492) 2022-10-21 22:37:06 +05:00
DeadSkull786
1ae152ead1 Add content for frontend automation (#2493) 2022-10-21 22:36:08 +05:00
Nicolas
e1d0a7cf6d feat: erc tokens content complement (#2494) 2022-10-21 22:35:38 +05:00
DeadSkull786
43087a1740 Add email testing content (#2496)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:31:01 +05:00
Archit Sharma
c61a8e96c1 Resources added for Infrastructure as Code (#2498)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:27:59 +05:00
Deepak gupta
b55f8d4951 added content to 102-test-rail.md (#2500)
added content with free read docs

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:26:48 +05:00
Sameer Kumar
2922ab42e6 [#1838] Added content for fetch and XMLHttpRequest. (#2503)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:23:43 +05:00
Sameer Kumar
f042739690 Add content for CSR/SSR, Caching and UAT. (#2505)
* [#1838] Added content for CSR/SSR, Caching and UAT.

* Update content/roadmaps/113-qa/content/103-qa-automated-testing/100-frontend-automation/100-basic-introduction/csr-vs-ssr.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:21:56 +05:00
Julio Martins
80296dcfb1 Added PostgreSQL tutorial for beginners (#2506)
* feat: free content about ci/cd

add a read free content about ci/cd

* feat: add a postgre tutorial

Added PostgreSQL full tutorial for beginners in SQL

Thank you '-'
2022-10-21 22:21:10 +05:00
shagun199
19c92a7ac2 Add resources for micro (#2672) 2022-10-21 22:18:43 +05:00
Carlos Samuel Hernández
1d4638fe46 Node.js 108: Keep App Running (new --watch option) (#2508)
* Node.js 108: Keep App Alive (new --watch option)

* Delete non-necessary link

* Update content/roadmaps/107-nodejs/content/108-nodejs-keep-app-running/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:16:29 +05:00
gsemyong
7b3ad47415 Fix typo (#2509) 2022-10-21 22:11:40 +05:00
Chloe Wray
3272ccb58e Add content to for...in statement (#2510) 2022-10-21 22:11:26 +05:00
Tomasz Hamerla
aba85cc221 Add DNS mini-series (#2524) 2022-10-21 22:11:00 +05:00
AyushRaghuvanshi
ff9b797f85 Add link to react hook (#2576) 2022-10-21 22:10:46 +05:00
@baba
2f1fc7712a Add content for backend automation (#2578)
* added content to readme.md file of  102-backend-automation

(#1840 ) [https://github.com/kamranahmedse/developer-roadmap/issues/1840] I solved this issue, Please look at my PR!!

* Update content/roadmaps/113-qa/content/103-qa-automated-testing/102-backend-automation/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 22:10:17 +05:00
nikhilkalburgi
5cd17f5bce Added common modules to node.js (#2579)
DNS , events , child_processes , REPL , readline , util , querystring , string_decoder , tls
2022-10-21 22:08:14 +05:00
Kamran Ahmed
944d9c8b93 Add content to exiting and exit codes 2022-10-21 20:42:51 +05:00
Arya Singh
9262576f50 Add content to nodemon (#2583)
Although `Nodemon` is widely used in local development but `PM2` handles everything and even performs better in production environment.
2022-10-21 20:40:22 +05:00
ChuckD3ath
d2a9ac0805 Update Testing Techniquest readme (#2584) 2022-10-21 20:38:35 +05:00
Dev-Arhaan
447a2dfa4b Fix typo in roadmap (#2589)
Changed abstarction to abstraction in **Design Principles** - _Program against abstraction_
2022-10-21 20:38:20 +05:00
Adekola Olawale
64cdfd2ba0 Add content to useContext hook (#2592) 2022-10-21 20:37:51 +05:00
Chris McQueen
70e557a8c1 Add fetch content (#2593)
Added a brief description and added to links to tutorials and a YouTube video.

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:35:57 +05:00
Mauricio Allegretti
4d7eb33f0d Add content to TestRail node (#2594)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:34:36 +05:00
Mauricio Allegretti
7e0c283542 Fixed typo in Allure node (#2595) 2022-10-21 20:33:48 +05:00
Mayank Prakash
6b3c0f628d Add content to go-zero and micro (#2596)
* added content in 104-go-zero.md

* added content in 103-micro.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:33:30 +05:00
getcoder-top
03d2e3607f Add content to working with apis in javascript (#2600)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:32:40 +05:00
Kaivalya Vanguri
50fae02d12 Add Solana content (#2601) 2022-10-21 20:30:32 +05:00
Paritosh Panda
1d3a017873 fix link (#2603)
link was pointing to wrong url, fixed to correct
2022-10-21 20:30:04 +05:00
chauhanJaideep
f1cd9edb07 Add email testing content (#2670)
* updated  105-qa-email-testing

* Update content/roadmaps/113-qa/content/105-qa-email-testing/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:29:29 +05:00
chauhanJaideep
0ca73da56f Add content for TestRail (#2671)
* added content to  106-qa-reporting

* Update content/roadmaps/113-qa/content/106-qa-reporting/102-test-rail.md

* Update content/roadmaps/113-qa/content/106-qa-reporting/102-test-rail.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:28:20 +05:00
Laukik Chahande
a6db97d200 Add content for CLI (#2609)
* Update readme.md

* Update readme.md

* Update readme.md

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/readme.md

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:26:33 +05:00
AyushRaghuvanshi
4a42ba9c2b Add spring boot resources
Fixed a Typo Spring was written as Sprint
2022-10-21 20:25:05 +05:00
AyushRaghuvanshi
a0e7c07ecf Add binary search tree resource (#2614)
I added a Geek for Geeks Link for Problem Set as User Should get the access to proper practice problems as well.
2022-10-21 20:24:16 +05:00
FercueNat
2242802e1a Fix content resource headings in js roadmap (#2616)
* Adding information on QA SDLC Delivery Model node

* Update content/roadmaps/113-qa/content/101-qa-sdlc/readme.md

* Tweaking files in the Chrome Dev Tools section - JS roadmap

* Tweaking format on files from Memory Management - JS roadmap

* Fixed issue with one of the Free Contents - CommonJS readme

* Format tweak on Callback nodes - JS Roadmap

* Format tweaks on different files from the Expressions and Operators tree

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:23:42 +05:00
Haseeb Ansari
9d21da2254 Add content for cukes (#2617)
* cukes-rest node added in java roadmap

* Update content/roadmaps/110-java/content/107-testing-java-apps/102-cukes.md

Co-authored-by: haseebansari <haseeb.ansari@qordata.com>
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:22:47 +05:00
Dami Izolan
96d2adaf89 add nodejs/native relational db drivers (#2618) 2022-10-21 20:21:52 +05:00
Archit Sharma
8feef45546 Add resources for Enterprise Level Architecture (#2620) 2022-10-21 20:21:17 +05:00
Hossam Kandil
c5eac023b7 Add go-zero content (#2621)
#1836

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:20:46 +05:00
Arya Singh
21fdc05b6b fixes typo and spacing (#2622) 2022-10-21 20:19:16 +05:00
Anjali Sharma
c91a6ab1b3 added string docs in python (#2623) 2022-10-21 20:19:00 +05:00
GalNey
21b4fb3349 add explanation about the use of this library (#2626) 2022-10-21 20:17:53 +05:00
GalNey
a0f493d872 Add explanation for async programming (#2627) 2022-10-21 20:17:22 +05:00
Kaivalya Vanguri
cc3a7e2ea0 Add content for databases node (#2629)
* Update Databases Readme.md

* Update content/roadmaps/101-backend/content/108-more-about-databases/readme.md

* Update content/roadmaps/101-backend/content/108-more-about-databases/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:16:29 +05:00
Yash Dewasthale
a9b4f86dc5 Add content for google cloud (#2631)
Updated Google Cloud section from DevOps Developer roadmap #1885
2022-10-21 20:15:28 +05:00
Yash Dewasthale
2ee962a2b8 Update AWS node content (#2632)
* Update 100-aws.md

Updated Aws section of DevOps Developer Roadmap #1885

* Update content/roadmaps/102-devops/content/108-cloud-providers/100-aws.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:14:52 +05:00
chauhanJaideep
8814e86f45 added content to 104-go-zero.md (#2667)
* added content to 104-go-zero.md

added content to go zero with free-read content

* Update content/roadmaps/109-golang/content/109-go-microservices/104-go-zero.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:12:59 +05:00
chauhanJaideep
51459444d1 Add content to API clients in Go roadmap (#2668)
* added content to 107-go-api-clients

* Update content/roadmaps/109-golang/content/107-go-api-clients/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:12:08 +05:00
chauhanJaideep
0373f7722f Add content to microservices node in Go roadmap (#2669)
* added content to 109-go-microservices

* Update content/roadmaps/109-golang/content/109-go-microservices/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:11:20 +05:00
Giovana do Nascimento
02e0430d98 Add content to cypress (#2633) 2022-10-21 20:09:28 +05:00
William Méndez
3b7b6cb944 Add airodump content in devops roadmap (#2634)
* Add airodump content in devops roadmap

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/117-airodump.md

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/117-airodump.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:08:05 +05:00
Kaushal Rathi
5687283568 feat: add content for fs-extra node for Node.js Roadmap (#2635)
* docs: added content for fs-extra

* feat: added content for nodejs > working-with-files > chokidar

* Update content/roadmaps/107-nodejs/content/105-nodejs-working-with-files/105-fs-extra.md

* Update content/roadmaps/107-nodejs/content/105-nodejs-working-with-files/106-chokidar.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:06:20 +05:00
SamarS1ngh
1603d815e9 Added more to semantic elements (#2637)
I think the already given description was not enough for new learners, so I added a little more about what semantic elements in HTML are and what they do.
2022-10-21 20:05:02 +05:00
Tomasz Hamerla
6139c6dc25 Add content for infrastructure as code (#2640)
* Update 100-infrastructure-as-code.md

* Update content/roadmaps/114-software-architect/content/115-operations-knowledge/100-infrastructure-as-code.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 20:02:50 +05:00
dianyehezkiel
12e4304e01 Added content for Working with APIs. (#2642) 2022-10-21 20:00:00 +05:00
Alvaro Portela
d7bf7bb744 fix typo to wrong direction on 'testing your apps' (#2646) 2022-10-21 18:28:45 +05:00
Tomasz Hamerla
24dd4bbcd2 Add content to ETL (#2647)
* Update 101-etl-datawarehouses.md

* Add content to ETL datawarehouses

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 18:27:46 +05:00
Diego Oliveira
cdfe24fa8c Add new course option to react-native node content (#2648) 2022-10-21 18:25:50 +05:00
Tomasz Hamerla
167cd44095 Add content for spark and mapreduce (#2649)
* Update 100-hadoop-spark-mapreduce.md

* Update content/roadmaps/114-software-architect/content/109-working-with-data/100-hadoop-spark-mapreduce.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 18:24:34 +05:00
Nishant Singh
e8b23415be Add more content to Go Roadmap (#2650)
* Add reference to Effective Go for Arrays

* Add reference to Effective Go for Slices

* Add reference to Effective Go for Maps

* Add reference to Effective Go for make

* Add reference to Effective Go for 'for' loop

* Add reference to Effective Go for Conditionals

* Add reference to Effective Go for Interfaces

* Add reference to Effective Go for Goroutines

* Add reference to Effective Go for Channels

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 18:20:19 +05:00
Alexander Emelin
c3f401bc6a fix typo in href (#2651)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 18:18:35 +05:00
Tomasz Hamerla
a54043ad74 Add content for MS Dynamics (#2652)
* Update 100-ms-dynamics.md

* Update content/roadmaps/114-software-architect/content/116-enterprise-software/100-ms-dynamics.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 18:13:40 +05:00
Tomasz Hamerla
5ad55aa6bd Add content for BPEM BPEL (#2653)
* Update 104-bpm-bpel.md

* Update content/roadmaps/114-software-architect/content/110-apis-and-integrations/104-bpm-bpel.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 18:09:33 +05:00
Tomasz Hamerla
59398a9c15 Add content for IBM BPM (#2654)
* Update 103-ibm-bpm.md

* Update content/roadmaps/114-software-architect/content/116-enterprise-software/103-ibm-bpm.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-21 18:08:04 +05:00
Reo Uehara
4533c48589 fix typo in 109-golang meta information (#2657) 2022-10-21 18:06:14 +05:00
Harshit Arora
bb5d60cf35 added initial mounting phase as well for useeffect (#2659)
Co-authored-by: Harshit Arora <harshit.arora04@ad.infosys.com>
2022-10-21 18:05:37 +05:00
Harshit Arora
1c94053e09 Fix typos in golang roadmap (#2660)
* added initial mounting phase as well for useeffect

* fixed typos in hyperlinks

Co-authored-by: Harshit Arora <harshit.arora04@ad.infosys.com>
2022-10-21 18:05:12 +05:00
William Méndez
e5f107f248 Add GraphQL-go content in Golang Roadmap (#2512) 2022-10-17 12:06:22 +05:00
Daulet Abishev
c820bdf4df add content uat testing (#2513)
* add content uat testing

* Update content/roadmaps/113-qa/content/100-qa-basics/107-testing-techniques/100-functional-testing/uat.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-17 12:05:22 +05:00
Daulet Abishev
28feb9f642 add content browser devtools (#2514) 2022-10-17 12:03:50 +05:00
Daulet Abishev
7a7d1c4d58 add ajax content (#2515) 2022-10-17 12:03:25 +05:00
Virtual Wiz
eae9b82a0b Fix typo in scripts/readme (#2517)
Fixed some typos
2022-10-17 12:02:06 +05:00
Ari P Zhorifiandi
1742e08174 docs: Explain Sharding Strategies (#2519)
- Add Sharding Strategies Description
- Add Sharding Strategies Relevant links
2022-10-17 12:01:34 +05:00
Ari P Zhorifiandi
2b78f1be06 docs: add video references on 'what is an API?' (#2520) 2022-10-17 12:01:09 +05:00
Arya Singh
98a7ab792c Fixes typo (#2521) 2022-10-17 12:00:37 +05:00
Tomasz Hamerla
00b6dcc013 Add content for melody (#2522)
* Update 100-melody.md

* Update content/roadmaps/109-golang/content/106-go-realtime-communication/100-melody.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-17 11:56:49 +05:00
Tomasz Hamerla
637478b31e Add content for centrifugo (#2523)
* Update 101-centrifugo.md

* Update content/roadmaps/109-golang/content/106-go-realtime-communication/101-centrifugo.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-17 11:55:29 +05:00
Adityaaah
de9ccf7448 Add content for certain go nodes (#2525) 2022-10-17 11:48:45 +05:00
AyushRaghuvanshi
952aac7217 Update content for https (#2529) 2022-10-17 11:47:10 +05:00
AyushRaghuvanshi
c8b1be9055 Add content for cobra (#2530)
Added another resource link I feel will help people in understanding it better
2022-10-17 11:46:40 +05:00
Adarsh Pratap Singh
94527a61d1 Update 101-writing-semantic-html.md (#2569)
Adding a couple of more resources for semantics best practices.
2022-10-17 11:43:48 +05:00
Adarsh Pratap Singh
9354b8a6e2 Add content to making layouts (#2571)
* Update 101-making-layouts.md

Adding CSS-Grid resources to watch and learn

* Update content/roadmaps/100-frontend/content/102-css/101-making-layouts.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-17 11:42:30 +05:00
Adarsh Pratap Singh
ee103eb7d8 Add content for responsive media queries (#2573)
Adding resources to learn more about Responsive-design
2022-10-17 11:41:21 +05:00
@baba
76113f0dd9 added content to databases in node.js roadmap (#2575)
* added content to read.md file of   110-nodejs-databases

(#1839 ) [https://github.com/kamranahmedse/developer-roadmap/issues/1839] I solved this issue by adding content. Please look at my PR!!

* Update content/roadmaps/107-nodejs/content/110-nodejs-databases/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-17 11:38:44 +05:00
Matt Connolly
0b692eccd5 Update headers of JavaScript roadmap (#2534)
* update 103-iifes.md

Add header to free content; add new resources

* Update readme.md

add resources header

* Update 100-default-params.md

add resources header

* Update 101-rest-params.md

add resources header; correct badge title

* Update 102-arrow-functions.md

add resources header; better description for resource link, show its from MDN

* Update readme.md

add resources header; add video resource
2022-10-17 11:35:11 +05:00
Patryk Krawaczyński
b9d2a2832b The Bash Hackers Wiki (#2535)
Update bash scripting with 'The Bash Hackers Wiki' link. Must read for everyone who wants to learn bash.
2022-10-17 11:34:23 +05:00
ChuckD3ath
63e752e2f9 Update Testing Approaches readme (#2539) 2022-10-17 11:32:26 +05:00
ChuckD3ath
97cec3a5ec Update Manual Testing Processes (#2540) 2022-10-17 11:32:11 +05:00
@baba
dcb0e3a843 Add content about APIs (#2546)
* added readme.md file

(#1839) [https://github.com/kamranahmedse/developer-roadmap/issues/1839] Please look at my PR!

* Update content/roadmaps/107-nodejs/content/107-nodejs-apis/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-17 11:19:45 +05:00
Ari P Zhorifiandi
2a1a214f01 docs: Add Twirp Brief Explanation and Links (#2548) 2022-10-17 11:18:34 +05:00
Ari P Zhorifiandi
390733da7f docs: Put critical information on Protobuf in Go (#2549) 2022-10-17 11:16:52 +05:00
Ari P Zhorifiandi
d81aa25710 docs: add document database explanation (#2550) 2022-10-17 08:42:00 +05:00
@baba
7407929235 Added content to readme.md file of 106-javascript. (#2551)
* Added content to readme.md file of 106-javascript.

(#1838) [https://github.com/kamranahmedse/developer-roadmap/issues/1838]  I resolved this issue by adding the content. Please look into my PR!!

* Update content/roadmaps/106-javascript/content/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-17 08:41:42 +05:00
Ari P Zhorifiandi
1c175215e0 docs: add Rpcx description (#2552)
* docs: add Rpcx description

* Update 101-rpcx.md

* Update 101-rpcx.md
2022-10-17 08:40:23 +05:00
Archit Sharma
5e4e79c76c Resources added for REST (#2554) 2022-10-17 08:38:41 +05:00
Vladyslav Nikiforov
97fe8030de Fix arithmetic operators typo (#2565) 2022-10-17 08:37:34 +05:00
Paritosh Panda
7c8be79a1b Add resource for got tesint (#2566)
new source for learning testing
2022-10-17 08:36:59 +05:00
Bishaw Shrestha
6a6330718f Fix: JWT typo (#2567) 2022-10-17 08:36:20 +05:00
ChuckD3ath
2c94954312 Update Functional Testing Types (#2526) 2022-10-15 15:29:32 +04:00
Soma Mehra
5488df0957 Add content for sed(#2480)
Updating tutorial for sed command
2022-10-13 22:55:55 +04:00
Soma Mehra
5718c1a75b Add content for grep (#2481)
Adding YouTube tutorial for grep command
2022-10-13 22:55:36 +04:00
Soma Mehra
1852a9e147 Add content for echo command (#2482)
Updating tutorial for echo command
2022-10-13 22:54:38 +04:00
Soma Mehra
929dead11b Add content for cat command (#2483)
Updating tutorial for cat command
2022-10-13 22:54:00 +04:00
Soma Mehra
d62661e86c Add sort command content (#2484)
Adding sort command tutorial
2022-10-13 22:52:58 +04:00
ChuckD3ath
516969321b Update Mobile Automation readme (#2485) 2022-10-13 22:52:26 +04:00
Aroyan
1148d09e0c feat: add unfetch content (#2472)
* feat: add Set JavaScript content

* feat: add unfetch content
2022-10-13 17:57:28 +04:00
Kalpit Shah
d06347c9a3 Add content for uncaught exceptions (#2473) 2022-10-13 17:57:02 +04:00
edwin-serrano
c511b94ca4 Fix badge type (#2474)
Update BadgeLink badgeText for 100-var.md for youtube video
2022-10-13 17:56:06 +04:00
Cristiano Raffi Cunha
f333b8427e Software Architect/Auth Strategies (#2470)
* Add Video Session vs Token Authentication in 100 Seconds

* Fix JWT Title
2022-10-13 16:36:05 +04:00
Robin Wieruch
68d360c0b4 docs(react-roadmap): new content by robinwieruch.de (#2467) 2022-10-13 16:32:43 +04:00
Archit Sharma
64aec7abe3 Added Resources for Containers (#2466) 2022-10-13 12:40:26 +04:00
William Méndez
e1b37109a4 Fix: typo and remove duplicated link (#2453) 2022-10-13 12:40:10 +04:00
hussainweb
0945105c07 Update page for PHP (#2454)
- Add a link to PHP: The Right Way website
- Update description of PHP to match the current state
2022-10-13 12:39:52 +04:00
hussainweb
60c6964b66 Add link to modern alternatives of terminal commands (#2456) 2022-10-13 12:39:33 +04:00
Soma Mehra
f2ab6a7f88 Add content for ps (#2459)
Adding YouTube tutorial for ps command
2022-10-13 12:37:24 +04:00
Arya Singh
a992fea69e Adds shortcut for opening dev tools (#2460)
* Adds shortcut for opening dev tools

`F12` open up Console tab in `Chrome`, `Mozilla`, `Brave` by default. However in `Microsoft Edge` it open up `Elements` panel.

* Update content/roadmaps/106-javascript/content/117-javascript-chrome-dev-tools/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-13 12:36:49 +04:00
Deepak gupta
d6a3e867e4 added content to 101-accessibility-testing (#2461)
content added in 101-accessibility-testing with a free read content
2022-10-13 12:35:40 +04:00
Deepak gupta
1b70787ec4 Add content for allure (#2463)
* added content to 101-allure.md

* Update content/roadmaps/113-qa/content/106-qa-reporting/101-allure.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-13 12:34:35 +04:00
Soma Mehra
b407ed3f19 Add resource links for awk (#2464)
Updating tutorial for "awk" command
2022-10-13 12:33:28 +04:00
Kalpit Shah
f6d3938c6a Updated 101-using-debugger.md (#2465) 2022-10-13 12:32:37 +04:00
Bogdan Cerovac
7176d1638a Added Mozilla Developer Network article about semantics (#2437) 2022-10-13 01:53:18 +04:00
Bogdan Cerovac
43fa1b3000 Added some build tools (#2439)
There are a lot of others but these seem to be quite stable and not deprecated
2022-10-13 01:53:02 +04:00
Bogdan Cerovac
d8509302a4 Added link to webcomponents official resource (#2441)
* Added link to community driven https://webcomponents.github.io/

* Update content/roadmaps/100-frontend/content/113-web-components/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-13 01:52:38 +04:00
Apoorva
26d0660c99 Add jetpack compose (#2444) 2022-10-13 01:46:41 +04:00
Arya Singh
e6f810e1c8 Fixes minor semantic error (#2445) 2022-10-13 01:45:38 +04:00
sanjibgirics
3229cf4be9 Add content 107-grpc-gateway (#2446) 2022-10-13 01:45:17 +04:00
sanjibgirics
44a9343a00 Add content 105-protocol-buffers (#2447) 2022-10-13 01:44:57 +04:00
Julio Martins
1e82189c88 feat: free content about ci/cd (#2449)
add a read free content about ci/cd
2022-10-13 01:44:13 +04:00
Soma Mehra
536b5a4822 Add netstat resource (#2451)
Adding additional YouTube resource for netstat command,
2022-10-13 01:43:53 +04:00
Julio Martins
8a4278777c Add summary and one free content to cli-progress package (#2452)
* feat: free content about ci/cd

add a read free content about ci/cd

* feat: add cli-progress summary and content

Add summary and content to cli-progress package

Thank you '-'
2022-10-13 01:41:31 +04:00
Kamran Ahmed
69f625af39 Add playwright content 2022-10-12 18:21:05 +04:00
Kamran Ahmed
4ef4e0993b Add XMLHttpRequest and Fetch to frontend roadmap 2022-10-12 18:20:28 +04:00
Nitesh Patel
83f969f11c Fixes typo (#2433) 2022-10-12 17:55:40 +04:00
Muhammad Moinuddin
012fafc2de Edited Javascript Roadmaps Content (#2142)
* Edited Javascript Roadmaps Content

Added some content in arithmetic operators & arrow functions. Amended one file name as well.

* Reverted the File name

Just reverted the name of the file as it was breaking the build.
2022-10-12 17:54:29 +04:00
puru-khedre
f95471b31d Update if/else content in JavaScript roadmap (#2162)
Add syntax highlighting in code snippet.
2022-10-12 17:53:03 +04:00
Haseeb Ansari
587772e38f Add OWASP Documentation (#2258)
Co-authored-by: haseebansari <haseeb.ansari@qordata.com>
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 17:52:31 +04:00
JAIHARISHAN AV
97a2e085eb Added a tutorial for DeFi (Blockchain) (#2148)
* Contribute: Added Tutorial for solana

* Added a tutorial for DeFi (Blockchain)
2022-10-12 17:51:21 +04:00
Joseph Olayanju
f74d4e469c Add content for templating engines (#2153)
* Update readme.md

* Update content/roadmaps/107-nodejs/content/109-nodejs-template-engines/readme.md

* Update content/roadmaps/107-nodejs/content/109-nodejs-template-engines/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 17:48:17 +04:00
Oresztesz Margaritisz
77598e730e Added contents related to architecture (#2154)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 17:45:47 +04:00
puru-khedre
7af71de4f2 Update JavaScript switch statement (#2161)
add syntax highlighting in code snippet.
2022-10-12 17:44:53 +04:00
Devesh Swarnkar
b6818a42ea Resources and content added for Ejs (#2163)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 17:44:14 +04:00
Tanvi
1596822d44 Add content for threads in Node.js (#2246)
* Added content to prisma.md and native-drivers.md

* Content added to forever.md

* link updated to forever documentation

* Content added to Nohup.md with links

* Update content/roadmaps/107-nodejs/content/110-nodejs-databases/101-document/102-native-drivers.md

* content added to threads readme.md

* Content added to thread - readme.md

* Content added to threads - child-pocess.md

* Content added to threads - cluster.md

* Content added to thread - worker-threads.md

* update three node module threads typo

* Update content/roadmaps/107-nodejs/content/114-nodejs-threads/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 17:42:21 +04:00
Dhruva Sagar
da09b4fa3e Add documentation for du, df & dtrace (#2247)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 17:37:34 +04:00
Platiplus
55379e94ec Adding content for chalk and inquirer.js (#2248)
* Adding official docs and tutorials for Chalk and InquirerJS

* Update 102-inquirer.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:58:34 +04:00
Rafael B. Pires
a22029db0b Add You Don't Know JS Yet (book series) (#2249)
* add book to javascript roadmap

* add book to javascript section on frontend roadmap

* add book to javascript section on backend roadmap

* add book to javascript section on blockchain roadmap
2022-10-12 16:57:32 +04:00
Ankan Banerjee
ab708775bf Add CI/CD content (#2252)
* Update readme.md

Added CI/CD introductory description.

* Update readme.md

Added link to blog for further reference

* Update readme.md

Mentioned a video link

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:57:14 +04:00
Haseeb Ansari
c47b80026a Add content for java logging frameworks (#2254)
Co-authored-by: haseebansari <haseeb.ansari@qordata.com>
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:56:27 +04:00
Lukas
99333f8caf Add dnsimple comics (#2255)
* Add link to `howdns.works`

* Add link to `howhttps.works`
2022-10-12 16:55:06 +04:00
Rishabh044
63fd5e2e2c Added prettier content (#2256)
* Update 101-explicit-type-casting.md

* Updated 101-explicit-type-casting.md

* Update content/roadmaps/106-javascript/content/103-javascript-type-casting/101-explicit-type-casting.md

* Added more content to 100-prettier.md in Frontend Roadmap

* Update content/roadmaps/106-javascript/content/103-javascript-type-casting/101-explicit-type-casting.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:54:25 +04:00
Haseeb Ansari
c145ec38c5 CI CD readme documentation added (#2257)
* CI CD readme documentation added

* Update content/roadmaps/102-devops/content/106-ci-cd/readme.md

Co-authored-by: haseebansari <haseeb.ansari@qordata.com>
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:52:18 +04:00
NaveenKumar Namachivayam ⚡
575e50a8b5 Add monitoring logs (#2140)
* Add: Monitoring tools

Signed-off-by: NaveenKumar Namachivayam  <catch.nkn@gmail.com>

* Add: Security Testing

Signed-off-by: NaveenKumar Namachivayam  <catch.nkn@gmail.com>

* Add: Security Testing

Signed-off-by: NaveenKumar Namachivayam  <catch.nkn@gmail.com>

* Add: Security Testing

Signed-off-by: NaveenKumar Namachivayam  <catch.nkn@gmail.com>

* Update 105-data-dog.md

* Update 105-data-dog.md

* Update 105-data-dog.md

Signed-off-by: NaveenKumar Namachivayam  <catch.nkn@gmail.com>
2022-10-12 16:45:05 +04:00
Emilio Castro
d14f405595 Missing content on DevOps roadmap (#2259)
* Adding Windows definition

* Adding to terminal multiplexers

* Fixing Windows links and added SAR description

* Adding VMStat description

* Fixing typos

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:44:35 +04:00
Darío Hereñú
e3a33719e7 Update internal URL of contribution (#2260)
Fixed line 54 `contributing` > `contributing.md`
2022-10-12 16:42:48 +04:00
Darío Hereñú
fde01e7bc1 Fixed duplicate word (line135) (#2261) 2022-10-12 16:42:30 +04:00
Darío Hereñú
8120cfe262 Typographical fix (paragraph 04) (#2262) 2022-10-12 16:40:49 +04:00
Platiplus
eb21f2067b Adding sections about observability and scalability (#2263)
* Adding sections about observability and scalability

* Update content/roadmaps/101-backend/content/123-scalability/104-observability.md

* Update content/roadmaps/101-backend/content/123-scalability/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:40:34 +04:00
Darío Hereñú
f0afc4538c Fix typo in blockchain roadmap (#2264) 2022-10-12 16:39:22 +04:00
William Méndez
24e7c0ce37 Add GraphQL content in Golang Roadmap (#2265)
* Add GraphQL content in Golang Roadmap

* Add content for gqlgen library
2022-10-12 16:39:01 +04:00
Mahmudul Hasan
4f4cbe4f47 added html, css & JS content (#2267) 2022-10-12 16:38:42 +04:00
Pankaj Biradar
247cf82071 Added content for HTML (#2270) 2022-10-12 16:37:26 +04:00
CodeWAdi
e975c7d016 Add content to go nodes (#2273)
* Updated content in various nodes in NodeJS  -Why nodejs, Installing NodeJS , CommonJS vs ESM , Global keyword,npm workspaces , creating packages , __dirname , __filename

Updated various sub groups with information in NODEJS

* Update content/roadmaps/107-nodejs/content/100-nodejs-introduction/101-why-nodejs.md

* Update content/roadmaps/107-nodejs/content/100-nodejs-introduction/101-why-nodejs.md

* Update content/roadmaps/107-nodejs/content/100-nodejs-introduction/104-running-nodejs-code.md

* Update content/roadmaps/107-nodejs/content/100-nodejs-introduction/101-why-nodejs.md

* Update content/roadmaps/107-nodejs/content/101-nodejs-modules/100-commonjs-vs-esm.md

* Update content/roadmaps/107-nodejs/content/101-nodejs-modules/102-global-keyword.md

* Update content/roadmaps/107-nodejs/content/100-nodejs-introduction/101-why-nodejs.md

* Update content/roadmaps/107-nodejs/content/100-nodejs-introduction/101-why-nodejs.md

* Update 101-why-nodejs.md

* Update content/roadmaps/107-nodejs/content/102-nodejs-npm/105-npm-workspaces.md

* Update content/roadmaps/107-nodejs/content/102-nodejs-npm/106-creating-packages.md

* Update content/roadmaps/107-nodejs/content/105-nodejs-working-with-files/107-dirname.md

* Update content/roadmaps/107-nodejs/content/105-nodejs-working-with-files/108-filename.md

* Updated content in various nodes of GOLANG

Updated content in the nodes
go modules
interfaces
context
goroutines
channels
buffer
select

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:36:45 +04:00
eaccmk
408ab9752f Add content for testing frameworks (#2274)
* Update cypress.md

Added details from official website https://cypress.io/ and https://docs.cypress.io/

* Update 100-appium.md

Added details from Official web https://appium.io/ and  https://appium.io/docs/en/about-appium/intro/

* Update 100-karate-framework.md

Added details from official website : 
https://www.karatelabs.io/ and documentation from https://github.com/karatelabs/karate

* Update 102-espresso.md

https://developer.android.com/training/testing/espresso' and https://github.com/android/testing-samples

* Update 103-detox.md

Added details from official website :
https://wix.github.io/Detox/docs/introduction/getting-started and https://wix.github.io/Detox/docs/introduction/getting-started

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:31:01 +04:00
ChuckD3ath
01270f8c0e Update Project Management Tools (#2275) 2022-10-12 16:28:52 +04:00
Ankur Sharma
3f6cea4387 Update 107-cloud-design-patterns.md (#2277)
* Update 107-cloud-design-patterns.md

* Update content/roadmaps/114-software-architect/content/115-operations-knowledge/107-cloud-design-patterns.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:28:34 +04:00
Darío Hereñú
c6375a3219 Low vision (added to group of disadvantaged) (#2278) 2022-10-12 16:27:06 +04:00
Ankan Banerjee
6cd62287e9 Fix typo in 103-travis-ci.md (#2280) 2022-10-12 16:26:30 +04:00
Kalpit Shah
52841adab4 Update content for got and stack-trace (#2284)
* Update 104-got.md

* Update 100-stack-trace.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:25:02 +04:00
Roberto Jacobo
13f2c6c470 Badge Text Updated (#2285)
* Node.js Introduction updated

...developer-roadmap/content/roadmaps/107-nodejs/content/100-nodejs-introduction/readme.md file updated with the appropriate guidelines.

* 101-nodejs-modules.md file updated

* Update content/roadmaps/107-nodejs/content/100-nodejs-introduction/readme.md

* Update content/roadmaps/107-nodejs/content/101-nodejs-modules/readme.md

* Update content/roadmaps/107-nodejs/content/101-nodejs-modules/readme.md

* Node modules updated (fixed)

* Node.js Modules main text

* badge text fixed

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:23:46 +04:00
Akash Kishore Mukhia
b978f8d48f Added video resource(Youtube video) for event loop. (#2286)
* Added video resource(youtube) for event loop.

* Update content/roadmaps/106-javascript/content/112-javascript-asynchronous-javascript/100-event-loop.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:22:25 +04:00
CHAKKA PHANI SIMHA
2230ac817b Added content to the Running Scripts in Node.js - npm (#2294)
* Edited the typeof operator file

* Update 104-running-scripts.md

* Added the content to the stack-trace.md

* Added content for the 104-asyn-errors.md file

* Update content/roadmaps/107-nodejs/content/103-nodejs-error-handling/100-stack-trace.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:21:04 +04:00
Julio Martins
f9079b12e6 Add summary and one free content to commander.js package (#2295)
* Add summary and one free content to commander.js package

* Update content/roadmaps/107-nodejs/content/106-nodejs-command-line-apps/103-command-line-args/101-commander-js.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:16:06 +04:00
CHAKKA PHANI SIMHA
13be140b58 Added content to the readme.md file (#2299)
[#1838 ](https://github.com/kamranahmedse/developer-roadmap/issues/1838) Added the content for the readme.md file in 104-javascript-datastructures

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:15:40 +04:00
Muneeb Mughal
26d7497fe9 Added Python Refrence read guide link. (#2306)
* Added Python Refrence read guide link from freecodecamp.org How to Learn python ?

* tag mistake update colorscheme

* \Update content/roadmaps/101-backend/content/103-learn-a-language/106-python.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:14:31 +04:00
Jefferson Barrero
81e8bd6ea3 Added content to Software Architect (#2307)
* added content in Software Arquitect

* Update content/roadmaps/114-software-architect/content/105-patterns-and-design-principles/102-cqrs-eventual-consistency.md

* added content

* Update content/roadmaps/114-software-architect/content/107-architectures/101-microservices.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 16:14:06 +04:00
Aarti Verma
dea1d6808d Added content for desktop applications in JavaScript (#2316)
* Added content on desktop applications, examples and types along with free video and blog content

* Update content/roadmaps/100-frontend/content/122-desktop-applications/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:59:29 +04:00
Aarti Verma
b9a43a5f32 Added content for JavaScript Error and its types (#2317)
* Added content for JavaScript Error and its types

along with free tutorial link and YouTube link

* Update content/roadmaps/107-nodejs/content/103-nodejs-error-handling/103-error-types/100-javascript-errors.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:55:54 +04:00
Pradeep J
ee25c3712c Fix typos (#2318) 2022-10-12 15:55:02 +04:00
Aritra Bhadra
3e0456026f Added content to what-is-internet.md (#2319)
Unlike other topics, cybersecurity and cybercrime didn't have a brief intro, so i added one.
2022-10-12 15:54:32 +04:00
CHAKKA PHANI SIMHA
c6e0971d5a Add content to creating custom pipe, filters, directives and libraries (#2320)
* Added content to readme.md file of 112-creating-a-custom-x folder

[#1847 ](https://github.com/kamranahmedse/developer-roadmap/issues/1847) I made the required addition of content to readme.md file of 112-creating-a-custom-x to resolve the issue.

* Update content/roadmaps/104-angular/content/112-creating-a-custom-x/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:54:06 +04:00
CHAKKA PHANI SIMHA
0240b5c256 Add content for Angular SSR (#2321)
* Added content to readme.md file of 113-angular-ssr

[#1847](https://github.com/kamranahmedse/developer-roadmap/issues/1847) I made the content addition to readme.md file of 113-angular-ssr folder to resolve the issue

* Update content/roadmaps/104-angular/content/113-angular-ssr/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:52:32 +04:00
CHAKKA PHANI SIMHA
2923205195 Added content to Angular SSG (#2323)
* Added content to readme.md file in 114-angular-ssg

[#1847 ](https://github.com/kamranahmedse/developer-roadmap/issues/1847) I added the required content to the readme.md file in 114-angular-ssg folder to resolve the issue.

* Update content/roadmaps/104-angular/content/114-angular-ssg/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:50:35 +04:00
Kartikey Verma
eeafcf8587 Add content for java logging frameworks (#2335)
* Update readme.md

* Update content/roadmaps/110-java/content/105-java-logging-frameworks/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:50:01 +04:00
Shivam Kotak
5650101775 Update content for web and mobile in software architect (#2336)
* Update 102-spa-ssr-ssg.md

* Update 104-microfrontends.md

* Update 105-w3c-and-whatwg-standards.md

* Update 100-reactive-functional-programming.md

* Update content/roadmaps/114-software-architect/content/111-web-and-mobile/100-reactive-functional-programming.md

* Update content/roadmaps/114-software-architect/content/111-web-and-mobile/102-spa-ssr-ssg.md

* Update content/roadmaps/114-software-architect/content/111-web-and-mobile/105-w3c-and-whatwg-standards.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:49:05 +04:00
Shivam Kotak
ac1cf06b72 Add content for taking input from user (#2337) 2022-10-12 15:46:24 +04:00
Aarti Verma
d0d58321be Added content for Nodejs to keep app running prod along with blog links (#2338)
* Added content for Nodejs to keep app running prod along with blog links

* Update content/roadmaps/107-nodejs/content/113-nodejs-keep-app-running-prod/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:44:58 +04:00
Fhilipe Coelho
bd36c2ffa5 Add vitest (#2422) 2022-10-12 15:43:59 +04:00
code-with-rajeev
4ec00277a1 Minor typo fix (#2423)
Fixed grammatical errors. Missing "is" on line 3.
2022-10-12 15:43:18 +04:00
Joseph Olayanju
24f2d2c12b Add content for keep app running in node.js (#2424)
* Update readme.md

* Update content/roadmaps/107-nodejs/content/108-nodejs-keep-app-running/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:40:29 +04:00
Uma Das
95724f621a Add content to Angular Roadmap:Basics (#2428)
* Add content to Angular Roadmap - Basics - Dependency Injection

* Add content to Angular Roadmap:Basics[Routing]

* Add content to Angular Roadmap:Basics[Routing]
2022-10-12 15:33:19 +04:00
Shanit Paul
d78ca8072b Add software architect resource (#2429)
I'd like to contribute a better definition with proper functionality of an Artitect.
2022-10-12 15:33:06 +04:00
egorrrrr
aaee04d7ef Add datastructures playlist (#2430)
* Update 104-datastructures.md

good guide to learn ds and alghoritms

* Update content/roadmaps/110-java/content/100-java-fundamentals/104-datastructures.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 15:32:04 +04:00
Kamran Ahmed
4d2ccb1432 Fix broken build 2022-10-12 02:08:38 +04:00
Deepak gupta
c55673c1a3 Added content to data structure readme.md (#2325)
* Added content to data structure readme.md

Added basic understanding of data structures with a free-read content

* Update readme.md

* Update content/roadmaps/106-javascript/content/104-javascript-data-structures/readme.md

* Update content/roadmaps/106-javascript/content/104-javascript-data-structures/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 02:06:37 +04:00
Shivam Kotak
cf7a3d8298 Update content for templates in angular (#2328)
* Update 101-property-binding.md

* Update 102-template-statements.md

* Update 103-binding-data-props-attrs-events.md

* Update 104-reference-vars.md

* Update 105-input-output.md
2022-10-12 02:04:45 +04:00
Deepak gupta
f2d49b9206 Add links to memory management docs (#2329)
* added links to memory management docs

.added read free-content docs

* Update 100-memory-lifecycle.md

* Update content/roadmaps/106-javascript/content/116-javascript-memory-management/100-memory-lifecycle.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 02:04:02 +04:00
Deepak gupta
6ff7cff880 Add content to Puppeteer (#2330)
added content with free read content
2022-10-12 02:03:03 +04:00
Deepak gupta
80db357946 Add content to playwright (#2331)
* added content to playwright

added content with free-read content

* Update content/roadmaps/113-qa/content/103-qa-automated-testing/100-frontend-automation/102-automation-frameworks/playwright.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 02:02:29 +04:00
Sandra Laguna
204079d1ab Added W3Schools resource about ES6 (#2332) 2022-10-12 02:01:28 +04:00
ChuckD3ath
0511d2267e Update All Mobile Automation Tools (#2334) 2022-10-12 01:59:36 +04:00
CHAKKA PHANI SIMHA
6efbf1581c Added content to readme.md file of 103-qa-automated-testing folder (#2339)
* Added content to readme.md file of 103-qa-automated-testing folder

[#1840 ](https://github.com/kamranahmedse/developer-roadmap/issues/1840) I contributed to this issue by adding the readme.md file for the 103-qa-automated-testing folder.

* Update content/roadmaps/113-qa/content/103-qa-automated-testing/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 01:59:01 +04:00
Aarti Verma
ae959049e4 Added content for debugging in node.js and how to debug. (#2340)
* Added content for debugging in node.js and how to debug.

added tutorial links for the same to learn more about debugging in node.js

* Update content/roadmaps/107-nodejs/content/116-nodejs-more-debugging/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-10-12 01:57:08 +04:00
Kamran Ahmed
233c5d8105 Revert "Removed Nodejs Error (#2341)" (#2420)
This reverts commit e020389df9.
2022-10-12 01:54:38 +04:00
1125 changed files with 75650 additions and 18596 deletions

1
.gitignore vendored
View File

@@ -5,6 +5,7 @@ out
/node_modules
/.pnp
.pnp.js
yarn.lock
# testing
/coverage

View File

@@ -9,13 +9,14 @@ function getPageSlug() {
export const CustomAd = () => {
const slug = getPageSlug();
if (slug !== 'devops') {
return null;
}
return (
<Link
href='https://thenewstack.io/ebooks/devops/cloud-native-devops-2019/?utm_source=Roadmap.sh&utm_medium=Banner&utm_campaign=Roadmap+DevOps+Ebook'
href='https://www.getambassador.io/edge-stack-guide-v4?utm_source=roadmap.sh&utm_medium=ebook&utm_campaign=edgestack-guide'
id='custom-ad'
pos='fixed'
bottom='15px'
@@ -31,13 +32,13 @@ export const CustomAd = () => {
onClick={() => {
event({
category: 'SponsorClick',
action: `TNS EBook Redirect`,
label: `Clicked TNS EBook Link`
action: `Ambassador EBook Redirect`,
label: `Clicked Ambassador EBook Link`
});
}}
>
<Image
src='https://i.imgur.com/fEKq19S.png'
src='https://i.imgur.com/0bH1Vl6.png'
alt='Custom Logo'
height={['100px', '100px', '100px', 'auto']}
width='130'
@@ -45,9 +46,9 @@ export const CustomAd = () => {
/>
<Flex as='span' flexDirection='column' justifyContent='space-between'>
<Box as='span' p='10px'>
<Heading as='span' fontSize='14px' mb='5px' display='block'>Free DevOps eBook</Heading>
<Heading as='span' fontSize='14px' mb='5px' display='block'>Free eBook</Heading>
<Box display='block' as='span' fontSize='13px' lineHeight={1.5} fontWeight={500} color='gray.500'>
Learn all about doing DevOps the Cloud Native way with this free ebook from our partner, The New Stack
Learn about API Gateways, Microservices, Load Balancing, and more with this free eBook.
</Box>
</Box>
<Box as='span'

View File

@@ -1,12 +1,14 @@
import { Box, Container, Flex, Image, Link, Stack, Text } from '@chakra-ui/react';
import { Box, Container, Flex, Image, Link, SimpleGrid, Stack, Text } from '@chakra-ui/react';
import siteConfig from '../content/site.json';
import { CustomAd } from './custom-ad';
import React from 'react';
import { event } from '../lib/gtag';
function NavigationLinks() {
return (
<>
<Stack isInline d={['none', 'none', 'flex']} color='gray.400' fontWeight={600} spacing='30px'>
<Stack isInline display={['none', 'none', 'flex']} justifyContent='center' color='gray.400' fontWeight={600}
spacing='30px'>
<Link _hover={{ color: 'white' }} href='/roadmaps'>Roadmaps</Link>
<Link _hover={{ color: 'white' }} href='/guides'>Guides</Link>
<Link _hover={{ color: 'white' }} href='/watch'>Videos</Link>
@@ -14,7 +16,7 @@ function NavigationLinks() {
<Link _hover={{ color: 'white' }} href={siteConfig.url.youtube} target='_blank'>YouTube</Link>
</Stack>
<Stack d={['flex', 'flex', 'none']} color='gray.400' fontWeight={600} spacing={0}>
<Stack display={['flex', 'flex', 'none']} color='gray.400' fontWeight={600} spacing={0}>
<Link py='7px' borderBottomWidth={1} borderBottomColor='gray.800' _hover={{ color: 'white' }}
href='/roadmaps'>Roadmaps</Link>
<Link py='7px' borderBottomWidth={1} borderBottomColor='gray.800' _hover={{ color: 'white' }}
@@ -36,32 +38,84 @@ export function Footer() {
<Container maxW='container.md'>
<NavigationLinks />
<Box mt={['40px', '40px', '50px']} mb='40px' maxW='500px'>
<Flex spacing={0} alignItems='center' color='gray.400'>
<Link d='flex' alignItems='center' fontWeight={600} _hover={{ textDecoration: 'none', color: 'white' }}
href='/'>
<Image alt='' h='25px' w='25px' src='/logo.svg' mr='6px' />
roadmap.sh
<SimpleGrid mt={['40px', '40px', '50px']} mb='40px' gap={['40px', '40px', '75px']} columns={[1, 1, 2, 2]}
justifyContent='space-between'>
<Box maxWidth={'550px'}>
<Flex gap={0} alignItems='center' color='gray.400'>
<Link d='flex' alignItems='center' fontWeight={600} _hover={{ textDecoration: 'none', color: 'white' }}
href='/'>
<Image alt='' h='25px' w='25px' src='/logo.svg' mr='6px' />
roadmap.sh
</Link>
<Text as='span' mx='7px'>by</Text>
<Link bg='blue.500' px='6px' py='2px' rounded='4px' color='white' fontWeight={600} fontSize='13px'
_hover={{ textDecoration: 'none', bg: 'blue.600' }} href={siteConfig.url.twitter}
target='_blank'>@kamranahmedse</Link>
</Flex>
<Text my='15px' fontSize='14px' color='gray.500'>Community created roadmaps, articles, resources and
journeys to help you choose your path and grow in your career.</Text>
<Text fontSize='14px' color='gray.500'>
<Text as='span' mr='10px'>&copy; roadmap.sh</Text>&middot;
<Link href='/about' _hover={{ textDecoration: 'none', color: 'white' }} color='gray.400'
mx='10px'>FAQs</Link>&middot;
<Link href='/terms' _hover={{ textDecoration: 'none', color: 'white' }} color='gray.400'
mx='10px'>Terms</Link>&middot;
<Link href='/privacy' _hover={{ textDecoration: 'none', color: 'white' }} color='gray.400'
mx='10px'>Privacy</Link>
</Text>
</Box>
<Box maxWidth={'550px'} textAlign={['left', 'left', 'right']}>
<Link display='flex' justifyContent={['flex-start', 'flex-start', 'flex-end']} fontWeight={600}
_hover={{ textDecoration: 'none', color: 'white' }}
href='https://thenewstack.io?utm_source=roadmap-sh&utm_medium=Referral&utm_campaign=Footer'
target='_blank'>
<Image alt='' w='195px' src='/tns.png' />
</Link>
<Text as='span' mx='7px'>by</Text>
<Link bg='blue.500' px='6px' py='2px' rounded='4px' color='white' fontWeight={600} fontSize='13px'
_hover={{ textDecoration: 'none', bg: 'blue.600' }} href={siteConfig.url.twitter}
target='_blank'>@kamranahmedse</Link>
</Flex>
<Text my='15px' fontSize='14px' color='gray.500'>Community created roadmaps, articles, resources and
journeys to help you choose your path and grow in your career.</Text>
<Text my='15px' fontSize='14px' color='gray.500'>The leading DevOps resource for Kubernetes, cloud-native
computing, and the latest in at-scale development, deployment, and management.</Text>
<Text fontSize='14px' color='gray.500'>
<Text as='span' mr='10px'>&copy; roadmap.sh</Text>&middot;
<Link href='/about' _hover={{ textDecoration: 'none', color: 'white' }} color='gray.400'
mx='10px'>FAQs</Link>&middot;
<Link href='/terms' _hover={{ textDecoration: 'none', color: 'white' }} color='gray.400'
mx='10px'>Terms</Link>&middot;
<Link href='/privacy' _hover={{ textDecoration: 'none', color: 'white' }} color='gray.400'
mx='10px'>Privacy</Link>
</Text>
</Box>
<Text fontSize='14px' color='gray.500'>
<Link
href='https://thenewstack.io/category/devops/?utm_source=roadmap-sh&utm_medium=Referral&utm_campaign=Footer'
target='_blank'
_hover={{ textDecoration: 'none', color: 'white' }}
onClick={() => {
event({
category: 'PartnerClick',
action: `TNS Referral`,
label: `TNS Referral - Footer`,
});
}}
color='gray.400' mx='10px' ml={['0', '0', '10px']}>DevOps</Link>&middot;
<Link
href='https://thenewstack.io/category/kubernetes/?utm_source=roadmap-sh&utm_medium=Referral&utm_campaign=Footer'
target='_blank' _hover={{ textDecoration: 'none', color: 'white' }}
onClick={() => {
event({
category: 'PartnerClick',
action: `TNS Referral`,
label: `TNS Referral - Footer`,
});
}}
color='gray.400' mx='10px'>Kubernetes</Link>&middot;
<Link
href='https://thenewstack.io/category/cloud-native/?utm_source=roadmap-sh&utm_medium=Referral&utm_campaign=Footer'
target='_blank' _hover={{ textDecoration: 'none', color: 'white' }}
onClick={() => {
event({
category: 'PartnerClick',
action: `TNS Referral`,
label: `TNS Referral - Footer`,
});
}}
color='gray.400' mx='10px'>Cloud-Native</Link>
</Text>
</Box>
</SimpleGrid>
</Container>
<CustomAd />

View File

@@ -1,16 +1,25 @@
import { useState } from 'react';
import { HamburgerIcon } from '@chakra-ui/icons';
import { Box, CloseButton, Container, Flex, IconButton, Image, Link, Stack, Text } from '@chakra-ui/react';
import { Box, CloseButton, Container, Flex, IconButton, Link, Stack, Text } from '@chakra-ui/react';
import RoadmapLogo from '../components/icons/roadmap.svg';
import siteConfig from '../content/site.json';
type MenuLinkProps = {
text: string;
link: string;
target?: '_blank' | '_self' | '_parent' | '_top';
isFancy?: boolean;
};
function MenuLink(props: MenuLinkProps) {
const { text, link } = props;
const { text, link, target = '_self', isFancy = false } = props;
const gradientProp = isFancy ? {
bgGradient: 'linear(to-r, yellow.100, teal.100)',
bgClip: 'text',
_hover: {
color: 'yellow.100'
}
} : {};
return <Link
borderBottomWidth={0}
@@ -18,6 +27,8 @@ function MenuLink(props: MenuLinkProps) {
_hover={{ textDecoration: 'none', borderBottomColor: 'white' }}
fontWeight={500}
href={link}
target={target}
{...gradientProp}
>
{text}
</Link>;
@@ -29,7 +40,13 @@ function DesktopMenuLinks() {
fontSize='15px'>
<MenuLink text={'Roadmaps'} link={'/roadmaps'} />
<MenuLink text={'Guides'} link={'/guides'} />
<MenuLink text={'Videos'} link={'/watch'} />
<MenuLink
target={'_blank'}
text={'Hiring a DevRel'}
isFancy
link={'https://docs.google.com/forms/d/e/1FAIpQLSesFpPxgKx_8-L5hm7fw6NQpgGixrMGC4Cg3M8NHPQhFfSajQ/viewform'}
/>
<Link ml='10px' bgGradient='linear(to-l, yellow.700, red.600)' p='7px 10px' rounded='4px'
_hover={{ textDecoration: 'none', bgGradient: 'linear(to-l, red.800, yellow.700)' }}

View File

@@ -15,17 +15,23 @@ export const upcomingRoadmaps = [
id: 'react-native'
},
{
type: 'Skill Based',
title: 'TypeScript',
description: 'Step by step guide to learn TypeScript in 2022',
id: 'typescript'
},
{
type: 'Skill Based',
title: 'Rust',
description: 'Step by step guide to learn Rust in 2022',
id: 'rust'
type: 'Role Based',
title: 'Cyber Security',
description: 'Step by step guide to become a Cyber Security Expert',
id: 'cyber-security'
},
// {
// type: 'Skill Based',
// title: 'TypeScript',
// description: 'Step by step guide to learn TypeScript in 2022',
// id: 'typescript'
// },
// {
// type: 'Skill Based',
// title: 'Rust',
// description: 'Step by step guide to learn Rust in 2022',
// id: 'rust'
// },
];
export function FeaturedRoadmapsList(props: FeaturedRoadmapsListProps) {

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z"/></svg>

After

Width:  |  Height:  |  Size: 507 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z"/></svg>

After

Width:  |  Height:  |  Size: 515 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z"/></svg>

After

Width:  |  Height:  |  Size: 840 B

View File

@@ -11,13 +11,33 @@ type ContentDrawerProps = {
onClose?: () => void;
};
export function markTopicDone(groupId: string) {
localStorage.setItem(groupId, 'done');
queryGroupElementsById(groupId).forEach((item) =>
item?.classList?.add('done')
);
}
export function markTopicPending(groupId: string) {
localStorage.removeItem(groupId);
queryGroupElementsById(groupId).forEach((item) =>
item?.classList?.remove('done')
);
}
export function isTopicDone(groupId: string) {
return localStorage.getItem(groupId) === 'done';
}
export function ContentDrawer(props: ContentDrawerProps) {
const { roadmap, groupId, onClose = () => null } = props;
if (!groupId) {
return null;
}
const isDone = localStorage.getItem(groupId) === 'done';
const isDone = isTopicDone(groupId);
return (
<Box zIndex={99999} pos="relative">
@@ -52,10 +72,7 @@ export function ContentDrawer(props: ContentDrawerProps) {
{!isDone && (
<Button
onClick={() => {
localStorage.setItem(groupId, 'done');
queryGroupElementsById(groupId).forEach((item) =>
item?.classList?.add('done')
);
markTopicDone(groupId);
onClose();
}}
colorScheme="green"
@@ -75,10 +92,7 @@ export function ContentDrawer(props: ContentDrawerProps) {
{isDone && (
<Button
onClick={() => {
localStorage.removeItem(groupId);
queryGroupElementsById(groupId).forEach((item) =>
item?.classList?.remove('done')
);
markTopicPending(groupId);
onClose();
}}
colorScheme="red"

View File

@@ -23,6 +23,7 @@ import { AtSignIcon, ChatIcon, DownloadIcon } from '@chakra-ui/icons';
import React from 'react';
import { SIGNUP_EMAIL_INPUT_NAME, SIGNUP_FORM_ACTION } from '../../pages/signup';
import { event } from '../../lib/gtag';
import { TNSAlert } from './tns-alert';
type RoadmapPageHeaderType = {
roadmap: RoadmapType;
@@ -116,7 +117,7 @@ function RoadmapSubscriber({ roadmapTitle }: { roadmapTitle: string }) {
<ModalCloseButton />
<ModalBody p={6}>
<Heading mb='5px' fontSize='2xl'>Subscribe</Heading>
<Text fontSize={'md'} color='gray.700'>Enter your below to receive updates to this roadmap.</Text>
<Text fontSize={'md'} color='gray.700'>Enter your email below to receive updates to this roadmap.</Text>
<form action={SIGNUP_FORM_ACTION} method='post' target='_blank' onSubmit={() => {
event({
category: 'Subscription',
@@ -139,12 +140,14 @@ function RoadmapSubscriber({ roadmapTitle }: { roadmapTitle: string }) {
export function RoadmapPageHeader(props: RoadmapPageHeaderType) {
const { roadmap } = props;
const hasTNSAlert = ['frontend', 'backend', 'devops'].includes(roadmap.id);
return (
<Box
pt={['25px', '20px', '45px']}
pb={['20px', '15px', '30px']}
borderBottomWidth={1}
mb='30px'
mb='50px'
>
<Container maxW='container.md' position='relative'>
<NewAlertBanner />
@@ -161,7 +164,7 @@ export function RoadmapPageHeader(props: RoadmapPageHeaderType) {
<Flex justifyContent='space-between' alignItems={'center'} mt='20px'>
<Stack isInline flex={1}>
<Button
d={['flex', 'flex']}
display={['flex', 'flex']}
as={Link}
href={'/roadmaps'}
size='xs'
@@ -172,7 +175,7 @@ export function RoadmapPageHeader(props: RoadmapPageHeaderType) {
_hover={{ textDecoration: 'none' }}
>
&larr;
<Text as='span' d={['none', 'inline']} ml='5px'>
<Text as='span' display={['none', 'inline']} ml='5px'>
All Roadmaps
</Text>
</Button>
@@ -180,7 +183,7 @@ export function RoadmapPageHeader(props: RoadmapPageHeaderType) {
<RoadmapDownloader roadmapTitle={roadmap.featuredTitle} />
<RoadmapSubscriber roadmapTitle={roadmap.featuredTitle} />
<Box flex={1} justifyContent='flex-end' d='flex'>
<Box flex={1} justifyContent='flex-end' display='flex'>
<Button
as={Link}
href={`${siteConfig.url.issue}?title=[Suggestion] ${roadmap.title}`}
@@ -198,21 +201,21 @@ export function RoadmapPageHeader(props: RoadmapPageHeaderType) {
</Stack>
</Flex>
{isInteractiveRoadmap(roadmap.id) && (
<Text
mt='30px'
mb={['-37px', '-32px', '-47px']}
fontWeight={500}
fontSize='14px'
bg='white'
borderWidth={1}
p='5px 7px'
rounded='3px'
>
<Badge pos='relative' top={'-1px'} mr='6px' colorScheme='yellow'>
New
</Badge>
Resources are here, try clicking any nodes.
</Text>
<Box mt='30px' mb={hasTNSAlert ? ['-53px', '-48px', '-63px'] : ['-37px', '-32px', '-47px']} borderWidth={1} rounded='3px'>
{ hasTNSAlert && <TNSAlert roadmapName={roadmap.featuredTitle} />}
<Text
fontWeight={500}
fontSize='14px'
bg='white'
p='5px 7px'
rounded='3px'
>
<Badge pos='relative' top={'-1px'} mr='6px' colorScheme='yellow'>
New
</Badge>
Resources are here, try clicking any nodes.
</Text>
</Box>
)}
</Container>
</Box>

View File

@@ -0,0 +1,52 @@
import { Box, Link, Text } from '@chakra-ui/react';
import { ExternalLinkIcon } from '@chakra-ui/icons';
import React from 'react';
import { event } from '../../lib/gtag';
type TNSAlertProps = {
roadmapName: string;
};
export function TNSAlert(props: TNSAlertProps) {
const { roadmapName } = props;
return (
<Text
fontWeight={500}
fontSize='14px'
bg='gray.100'
p='5px 7px'
rounded='2px 2px 0 0'
borderBottomWidth={1}
>
<Box as='span' display={['none', 'none', 'inline']}>Get the latest {roadmapName} news from our sister site&nbsp;
<Link
href={'https://thenewstack.io?utm_source=roadmap-sh&utm_medium=Referral&utm_campaign=Banner'}
target='_blank' textDecoration='underline'
onClick={() => {
event({
category: 'PartnerClick',
action: `TNS Referral`,
label: `TNS Referral - ${roadmapName}`,
});
}}
fontWeight={600}>TheNewStack.io <ExternalLinkIcon />
</Link>
</Box>
<Box as='span' display={['inline', 'inline', 'none']}>Get latest {roadmapName} news on &nbsp;
<Link
href={'https://thenewstack.io?utm_source=roadmap-sh&utm_medium=Referral&utm_campaign=Banner'}
target='_blank' textDecoration='underline'
onClick={() => {
event({
category: 'PartnerClick',
action: `TNS Referral`,
label: `TNS Referral - ${roadmapName}`,
});
}}
fontWeight={600}>TheNewStack.io <ExternalLinkIcon />
</Link>
</Box>
</Text>
);
}

View File

@@ -0,0 +1,43 @@
import { Box, Flex, Link } from '@chakra-ui/react';
import HackerNewsIcon from 'components/icons/hackernews-square.svg';
import FacebookIcon from 'components/icons/facebook-square.svg';
import TwitterIcon from 'components/icons/twitter-square.svg';
import RedditIcon from 'components/icons/reddit-square.svg';
import { Icon } from '@chakra-ui/icons';
import { getFacebookShareUrl, getHnShareUrl, getRedditShareUrl, getTwitterShareUrl } from '../lib/url';
import { useEffect, useState } from 'react';
type ShareIconProps = {
text: string;
url: string;
}
export function ShareIcons(props: ShareIconProps) {
const { text, url } = props;
const [offset, setOffset] = useState(0);
useEffect(() => {
const onScroll = () => setOffset(window.scrollY);
window.removeEventListener('scroll', onScroll);
window.addEventListener('scroll', onScroll, { passive: true });
return () => window.removeEventListener('scroll', onScroll);
}, []);
if (offset <= 100) {
return null;
}
return (
<Box pos='absolute' left={'-15px'} top={'190px'} height='100%' display={['none', 'none', 'none', 'block']}>
<Flex pos='sticky' top='100px' flexDir='column'>
<Link target='_blank' color='gray.500' href={getTwitterShareUrl({ url, text })} _hover={{ color: "gray.700" }}><Icon fill='currentColor' height='24px' width='24px' as={TwitterIcon} /></Link>
<Link target='_blank' color='gray.500' href={getFacebookShareUrl({ url, text })} _hover={{ color: "gray.700" }}><Icon fill='currentColor' height='24px' width='24px' as={FacebookIcon} /></Link>
<Link target='_blank' color='gray.500' href={getHnShareUrl({ url, text })} _hover={{ color: "gray.700" }}><Icon fill='currentColor' height='24px' width='24px' as={HackerNewsIcon} /></Link>
<Link target='_blank' color='gray.500' href={getRedditShareUrl({ text, url })} _hover={{ color: "gray.700" }}><Icon fill='currentColor' height='24px' width='24px' as={RedditIcon} /></Link>
</Flex>
</Box>
);
}

View File

@@ -2,6 +2,8 @@ import { Box, Button, Container, Heading, Link, Text } from '@chakra-ui/react';
import { event } from '../lib/gtag';
export function TeamsBanner() {
return null;
return (
<Box bg='teal.500' borderTopWidth={1} py={['45px', '45px', '70px']} textAlign='center'>
<Container maxW='container.sm'>

View File

@@ -1,4 +1,14 @@
[
{
"id": "session-based-authentication",
"title": "Session Based Authentication",
"description": "Learn what is Session Based Authentication and how to implement it in Node.js",
"isNew": true,
"type": "textual",
"authorUsername": "kamranahmedse",
"updatedAt": "2022-11-01T19:59:14.191Z",
"createdAt": "2022-11-01T19:59:14.191Z"
},
{
"id": "http-basic-authentication",
"title": "HTTP Basic Authentication",
@@ -13,7 +23,7 @@
"id": "basics-of-authentication",
"title": "Basics of Authentication",
"description": "Learn the basics of Authentication and Authorization",
"isNew": true,
"isNew": false,
"type": "textual",
"authorUsername": "kamranahmedse",
"updatedAt": "2022-09-21T19:59:14.191Z",
@@ -132,7 +142,7 @@
{
"id": "unfamiliar-codebase",
"title": "Unfamiliar Codebase",
"description": "Tips on getting getting familiar with an unfamiliar codebase",
"description": "Tips on getting familiar with an unfamiliar codebase",
"isNew": false,
"type": "visual",
"authorUsername": "kamranahmedse",

View File

@@ -1,14 +1,3 @@
export const guideMeta = {
"title": "WebStorm — Project History",
"description": "Learn how to peek through the history of any git repository to learn how it grew.",
"url": "/guides/project-history",
"fileName": "project-history",
"featured": true,
"author": "kamranahmedse",
"updatedAt": "2020-07-16T19:59:14.191Z",
"createdAt": "2020-07-16T19:59:14.191Z"
};
Asymptotic notation is the standard way of measuring the time and space that an algorithm will consume as the input grows. In one of my last guides, I covered "Big-O notation" and a lot of you asked for a similar one for Asymptotic notation. You can find the [previous guide here](/guides/big-o-notation).
[![](/guides/asymptotic-notation.png)](/guides/asymptotic-notation.png)

View File

@@ -20,7 +20,7 @@ When the browser first requests the server, the server tries to check the availa
```text
401 Unauthorized
WWWW-Authenticate: Basic realm='user_pages'
WWW-Authenticate: Basic realm='user_pages'
```
If you notice the response, we have an additional parameter called `realm`, which is just a value assigned to a group of pages that share the same credentials.

View File

@@ -89,7 +89,7 @@ After merely 3 years of `HTTP/1.0`, the next version i.e. `HTTP/1.1` was release
- **Hostname Identification** In `HTTP/1.0` `Host` header wasn't required but `HTTP/1.1` made it required.
- **Persistent Connections** As discussed above, in `HTTP/1.0` there was only one request per connection and the connection was closed as soon as the request was fulfilled which resulted in accute performance hit and latency problems. `HTTP/1.1` introduced the persistent connections i.e. **connections weren't closed by default** and were kept open which allowed multiple sequential requests. To close the connections, the header `Connection: close` had to be available on the request. Clients usually send this header in the last request to safely close the connection.
- **Persistent Connections** As discussed above, in `HTTP/1.0` there was only one request per connection and the connection was closed as soon as the request was fulfilled which resulted in acute performance hit and latency problems. `HTTP/1.1` introduced the persistent connections i.e. **connections weren't closed by default** and were kept open which allowed multiple sequential requests. To close the connections, the header `Connection: close` had to be available on the request. Clients usually send this header in the last request to safely close the connection.
- **Pipelining** It also introduced the support for pipelining, where the client could send multiple requests to the server without waiting for the response from server on the same connection and server had to send the response in the same sequence in which requests were received. But how does the client know that this is the point where first response download completes and the content for next response starts, you may ask! Well, to solve this, there must be `Content-Length` header present which clients can use to identify where the response ends and it can start waiting for the next response.
@@ -111,7 +111,7 @@ After merely 3 years of `HTTP/1.0`, the next version i.e. `HTTP/1.1` was release
I am not going to dwell about all the `HTTP/1.1` features in this post as it is a topic in itself and you can already find a lot about it. The one such document that I would recommend you to read is [Key differences between `HTTP/1.0` and HTTP/1.1](http://www.ra.ethz.ch/cdstore/www8/data/2136/pdf/pd1.pdf) and here is the link to [original RFC](https://tools.ietf.org/html/rfc2616) for the overachievers.
`HTTP/1.1` was introduced in 1999 and it had been a standard for many years. Although, it improved alot over its predecessor; with the web changing everyday, it started to show its age. Loading a web page these days is more resource-intensive than it ever was. A simple webpage these days has to open more than 30 connections. Well `HTTP/1.1` has persistent connections, then why so many connections? you say! The reason is, in `HTTP/1.1` it can only have one outstanding connection at any moment of time. `HTTP/1.1` tried to fix this by introducing pipelining but it didn't completely address the issue because of the **head-of-line blocking** where a slow or heavy request may block the requests behind and once a request gets stuck in a pipeline, it will have to wait for the next requests to be fulfilled. To overcome these shortcomings of `HTTP/1.1`, the developers started implementing the workarounds, for example use of spritesheets, encoded images in CSS, single humungous CSS/Javascript files, [domain sharding](https://www.maxcdn.com/one/visual-glossary/domain-sharding-2/) etc.
`HTTP/1.1` was introduced in 1999 and it had been a standard for many years. Although, it improved alot over its predecessor; with the web changing everyday, it started to show its age. Loading a web page these days is more resource-intensive than it ever was. A simple webpage these days has to open more than 30 connections. Well `HTTP/1.1` has persistent connections, then why so many connections? you say! The reason is, in `HTTP/1.1` it can only have one outstanding connection at any moment of time. `HTTP/1.1` tried to fix this by introducing pipelining but it didn't completely address the issue because of the **head-of-line blocking** where a slow or heavy request may block the requests behind and once a request gets stuck in a pipeline, it will have to wait for the next requests to be fulfilled. To overcome these shortcomings of `HTTP/1.1`, the developers started implementing the workarounds, for example use of spritesheets, encoded images in CSS, single humongous CSS/Javascript files, [domain sharding](https://www.maxcdn.com/one/visual-glossary/domain-sharding-2/) etc.
### SPDY - 2009
@@ -176,7 +176,7 @@ While we are talking headers, let me add here that the headers are still the sam
Server push is another tremendous feature of `HTTP/2` where the server, knowing that the client is going to ask for a certain resource, can push it to the client without even client asking for it. For example, let's say a browser loads a web page, it parses the whole page to find out the remote content that it has to load from the server and then sends consequent requests to the server to get that content.
Server push allows the server to decrease the roundtrips by pushing the data that it knows that client is going to demand. How it is done is, server sends a special frame called `PUSH_PROMISE` notifying the client that, "Hey, I am about to send this resource to you! Do not ask me for it." The `PUSH_PROMISE` frame is associated with the stream that caused the push to happen and it contains the promised stream ID i.e. the stream on which the server will send the resource to be pushed.
Server push allows the server to decrease the round trips by pushing the data that it knows that client is going to demand. How it is done is, server sends a special frame called `PUSH_PROMISE` notifying the client that, "Hey, I am about to send this resource to you! Do not ask me for it." The `PUSH_PROMISE` frame is associated with the stream that caused the push to happen and it contains the promised stream ID i.e. the stream on which the server will send the resource to be pushed.
#### 5. Request Prioritization
@@ -186,7 +186,7 @@ Without any priority information, server processes the requests asynchronously i
#### 6. Security
There was extensive discussion on whether security (through `TLS`) should be made mandatory for `HTTP/2` or not. In the end, it was decided not to make it mandatory. However, most vendors stated that they will only support `HTTP/2` when it is used over `TLS`. So, although `HTTP/2` doesn't require encryption by specs but it has kind of become mandatory by default anyway. With that out of the way, `HTTP/2` when implemented over `TLS` does impose some requirementsi.e. `TLS` version `1.2` or higher must be used, there must be a certain level of minimum keysizes, ephemeral keys are required etc.
There was extensive discussion on whether security (through `TLS`) should be made mandatory for `HTTP/2` or not. In the end, it was decided not to make it mandatory. However, most vendors stated that they will only support `HTTP/2` when it is used over `TLS`. So, although `HTTP/2` doesn't require encryption by specs but it has kind of become mandatory by default anyway. With that out of the way, `HTTP/2` when implemented over `TLS` does impose some requirements i.e. `TLS` version `1.2` or higher must be used, there must be a certain level of minimum key sizes, ephemeral keys are required etc.
`HTTP/2` is here and it has already [surpassed SPDY in adaption](http://caniuse.com/#search=http2) which is gradually increasing. `HTTP/2` has alot to offer in terms of performance gain and it is about time we should start using it.

View File

@@ -16,21 +16,21 @@ Proxy servers serve as a single point of control making it easier to enforce sec
## Forward Proxy Server
A forward proxy is generally implemented on the client side and **sits in front of multiple clients** or client sources. Forward proxy servers are mainly used by companies to **manage internet usage** of their employees and **restrict content**. It is also used as a **firewall** to secure the company's network by blocking any request which would pose threat to the companies's network. Proxy servers are also used to **bypass geo-restriction** and browse content that might be blocked in the user's country. It enables users to **browse anonymously**, as the proxy server masks their details from the website's servers.
A forward proxy is generally implemented on the client side and **sits in front of multiple clients** or client sources. Forward proxy servers are mainly used by companies to **manage the internet usage** of their employees and **restrict content**. It is also used as a **firewall** to secure the company's network by blocking any request which would pose threat to the company's network. Proxy servers are also used to **bypass geo-restriction** and browse content that might be blocked in the user's country. It enables users to **browse anonymously**, as the proxy server masks their details from the website's servers.
![Forward Proxy Description](/guides/proxy/forward-proxy.png)
> NOTE: This is not an accurate description but rather just an illustration
## Reverse Proxy Server
Reverse proxy servers are implemented on the **server side** instead of the client side. It **sits in front of multiple webservers** and manages the incoming requests by forwarding them to the web servers. It provides anonymity for the **back-end web servers and not the client**. Reverse proxy servers are generally used to perform tasks such as **authentication, content caching, and encryption/decryption** on behalf of the web server. These tasks would **hog CPU cycles** on the web server and degrade the performance of the website by introducing a high amount of delay in loading the webpage. Reverse proxies are also used as **load balancers** to distribute the incoming traffic efficiently among the web servers but it is **not optimized** for this task. In essence, a reverse proxy server is a gateway to a web-server or group of web-servers.
Reverse proxy servers are implemented on the **server side** instead of the client side. It **sits in front of multiple webservers** and manages incoming requests by forwarding them to the web servers. It provides anonymity for the **back-end web servers and not the client**. Reverse proxy servers are generally used to perform tasks such as **authentication, content caching, and encryption/decryption** on behalf of the web server. These tasks would **hog CPU cycles** on the web server and degrade the performance of the website by introducing a high amount of delay in loading the webpage. Reverse proxies are also used as **load balancers** to distribute the incoming traffic efficiently among the web servers but it is **not optimized** for this task. In essence, a reverse proxy server is a gateway to a web-server or group of web-servers.
![Reverse Proxy Description](/guides/proxy/reverse-proxy.png)
> NOTE: This is not an accurate description but rather just an illustration. Red lines represent server's response and black lines represent initial request from client(s).
> NOTE: This is not an accurate description but rather just an illustration. Red lines represent the server's response and black lines represent the initial request from client(s).
## Summary
A proxy server acts as a gateway between client *(you)* and the internet and separates end-users from the websites you browse. ***The position of the proxy server on the network determines whether it is a forward or a reverse proxy server***. A Forward proxy is implemented on the client side and **sits in front of multiple clients** or client sources and forwards requests to the web server. Reverse proxy servers are implemented on the **server side** it **sits in front of multiple webservers** and manages the incoming requests by forwarding them to the web servers.
A proxy server acts as a gateway between client *(you)* and the internet and separates end-users from the websites you browse. ***The position of the proxy server on the network determines whether it is a forward or a reverse proxy server***. A Forward proxy is implemented on the client side and **sits in front of multiple clients** or client sources and forwards requests to the web server. Reverse proxy servers are implemented on the **server side** it **sits in front of multiple webservers** and manage the incoming requests by forwarding them to the web servers.
If all this was too much to take in, I have a simple analogy for you.

View File

@@ -0,0 +1,199 @@
HTTP is the internet protocol that standardizes how clients and servers interact with each other. When you open a website, among other things, HTTP is the protocol that helps load the website in the browser.
## HTTP is Stateless
HTTP is a stateless protocol which means that each request made from the client to the server is treated as a standalone request; neither the client nor the server keeps track of the subsequent requests. Sessions allow you to change that; with sessions, the server has a way to associate some information with the client so that when the same client requests the server, it can retrieve that information.
In this guide, we will learn what is Session-Based Authentication and how to implement it in Node.js. We also have a separate [visual guide on Session-Based Authentication](/guides/session-authentication) as well that explains the topic visually.
## What is Session-Based Authentication?
Session-based authentication is a stateful authentication technique where we use sessions to keep track of the authenticated user. Here is how Session Based Authentication works:
* User submits the login request for authentication.
* Server validates the credentials. If the credentials are valid, the server initiates a session and stores some information about the client. This information can be stored in memory, file system, or database. The server also generates a unique identifier that it can later use to retrieve this session information from the storage. Server sends this unique session identifier to the client.
* Client saves the session id in a cookie and this cookie is sent to the server in each request made after the authentication.
* Server, upon receiving a request, checks if the session id is present in the request and uses this session id to get information about the client.
And that is how session-based authentication works.
## Session-Based Authentication in Node.js
Now that we know what session-based authentication is, let's see how we can implement session-based authentication in Node.js.
Please note that, for the sake of simplicity, I have intentionally kept the project strictly relevant to the Session Based Authentication and have left out a lot of details that a production-ready application may require. Also, if you don't want to follow along, project [codebase can be found on GitHub](https://github.com/kamranahmedse/node-session-auth-example).
First things first, create an empty directory that will be holding our application.
```shell
mkdir session-auth-example
```
Now run the following command to setup a sample `package.json` file:
```shell
npm init -y
```
Next, we need to install the dependencies:
```shell
npm install express express-session
```
`Express` is the application framework, and `express-session` is the package that helps work with sessions easily.
### Setting up the server
Now create an `index.js` file at the root of the project with the following content:
```javascript
const express = require('express');
const sessions = require('express-session');
const app = express();
app.use(sessions({
secret: "some secret",
cookie: {
maxAge: 1000 * 60 * 60 * 24 // 24 hours
},
resave: true,
saveUninitialized: false,
}));
app.use(express.json());
app.use(express.urlencoded({extended: true}));
// @todo register routes
app.listen(3000, () => {
console.log(`Server Running at port 3000`);
});
```
The important piece to note here is the `express-session` middleware registration which automatically handles the session initialization, cooking parsing and session data retrieval, and so on. In our example here, we are passing the following configuration options:
* `secret`: This is used to sign the session ID cookie. Using a secret that cannot be guessed will reduce the ability to hijack a session.
* `cookie`: Object containing the configuration for session id cookie.
* `resave`: Forces the session to be saved back to the session store, even if the session data was never modified during the request.
* `saveUninitialized`: Forces an "uninitialized" session to be saved to the store, i.e., saves a session to the store even if the session was not initiated.
Another important option is `store` which we can configure to change how/where the session data is stored on the server. By default, this data is stored in the memory, i.e., `MemoryStore`.
Look at the [express-session documentation](https://github.com/expressjs/session) to learn more about the available options.
### Creating Handlers
Create a directory called the `handlers` at the project's root. This is the directory where we will be placing all the route-handling functions.
Now let's create the homepage route, which will show the welcome message and a link to log out for the logged-in users and redirect to the login screen for the logged-out users. Create a file at `handlers/home.js` with the following content.
```javascript
module.exports = function HomeHandler(req, res) {
if (!req.session.userid) {
return res.redirect('/login');
}
res.setHeader('Content-Type', 'text/HTML')
res.write(`
<h1>Welcome back ${req.session.userid}</h1>
<a href="/logout">Logout</a>
`);
res.end()
}
```
At the top of this function, you will notice the check `req.session.userid`. `req.session` is automatically populated using the session cookie by the `express-session` middleware that we registered earlier. `req.session.userid` is one of the data fields that we will set to store the `userid` of the logged in user.
Next, we need to register this handler with a route. Open the `index.js` file at the root of the project and register the following route:
```javascript
const HomeHandler = require('./handlers/home.js');
app.get('/', HomeHandler);
```
Next, we have the login page, redirecting the user to the home screen if the user is logged in or showing the login form. Create a file at `handlers/login.js` with the following content:
```javascript
module.exports = function LoginHandler(req, res) {
if (req.session.userid) {
return res.redirect('/');
}
res.setHeader('Content-Type', 'text/HTML')
res.write(`
<h1>Login</h1>
<form method="post" action="/process-login">
<input type="text" name="username" placeholder="Username" /> <br>
<input type="password" name="password" placeholder="Password" /> <br>
<button type="submit">Login</button>
</form>
`);
res.end();
}
```
Again, at the top of the function, we are simply checking if we have `userid` in the session (which means the user is logged in). If the user is logged in, we redirect them to the homepage; if not, we show the login screen. In the login form, we have the method of `post`, and we submit the form to `/process-login`. Please note that, for the sake of simplicity, we have a simple HTML string returned in the response, but in a real-world application, you will probably have a separate view file.
Let's first register this page and then implement `/process-login` endpoint. Open the `index.js` file from the root of the project and register the following route:
```javascript
const LoginHandler = require('./handlers/login.js');
app.get('/login', LoginHandler);
```
Next, we have to implement the functionality to process the login form submissions. Create a file at `handlers/process-login.js` with the following content:
```javascript
module.exports = function processLogin(req, res) {
if (req.body.username !== 'admin' || req.body.password !== 'admin') {
return res.send('Invalid username or password);
}
req.session.userid = req.body.username;
res.redirect('/');
}
```
As you can see, we are simply checking that the username and password should both be `admin` and `admin` for a user to authenticate successfully. Upon finding valid credentials, we set the `userid` in the session by updating `req.session.userid`. Similarly, you can set any data in the session. For example, if we wanted to store the user role, we would do the following:
```javascript
req.session.role = 'admin'
```
And later access this value out of the session anywhere in the subsequent requests.
Register this route in the `index.js` file at the root of the project:
```javascript
const ProcessLoginHandler = require('./handlers/process-login.js');
app.post('/process-login', ProcessLoginHandler);
```
Finally, we have the logout functionality. Create a file at `handlers/logout.js` with the following content:
```javascript
module.exports = function Logout(req, res) {
req.session.destroy();
res.redirect('/');
}
```
We reset the session by calling `req.session.destroy()` and then redirecting the user to the homepage. Register the logout handler in the `index.js` file using the following:
```javascript
const LogoutHandler = require('./handlers/logout.js');
app.get('/logout', LogoutHandler);
```
## Running the Application
Open the `package.json` file and register the `start` script as follows:
```javascript
"scripts": {
"start": "node index.js"
},
```
Now you can start the application by running the following command:
```shell
npm run start
```
Now, if you open up your browser and visit the project at `http://localhost:3000` you will be able to see the Session-Based Authentication in action.

View File

@@ -475,7 +475,7 @@ Files, pieces, and piece hashes aren't the full story—we can go further by bre
A peer is supposed to sever the connection if they receive a request for a block larger than 16KB. However, based on my experience, they're often perfectly happy to satisfy requests up to 128KB. I only got moderate gains in overall speed with larger block sizes, so it's probably better to stick with the spec.
#### Pipelining
Network round-trips are expensive, and requesting each block one by one will absolutely tank the performance of our download. Therefore, it's important to **pipeline** our requests such that we keep up a constant pressure of some number of unfulfilled requests. This can increase the throughput of our connection by an order of magnitude.
Network round-trips are expensive, and requesting each block one by one will absolutely thank the performance of our download. Therefore, it's important to **pipeline** our requests such that we keep up a constant pressure of some number of unfulfilled requests. This can increase the throughput of our connection by an order of magnitude.
![Two email threads simulating peer connections. The thread on the left shows a request followed by a reply, repeated three times. The thread on the left sends three requests, and receives three replies in quick succession.](/guides/torrent-client/pipelining.png)

View File

@@ -49,13 +49,13 @@ HTTP is the standard protocol by which webpages are transferred over the Interne
## Encryption and Public Keys
Cryptography is what keeps our communication secure on the Internet. In this short video, you will learn the basics of cryptograpy, SSL/TLS, and how they help make the communication on the Internet secure.
Cryptography is what keeps our communication secure on the Internet. In this short video, you will learn the basics of cryptography, SSL/TLS, and how they help make the communication on the Internet secure.
<iframe width="100%" height="400" src="https://www.youtube.com/embed/ZghMPWGXexs" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Cybersecurity and Crime
In this video, you will learn about the basics of cybersecurity and common cybercrimes
Cybersecurity refers to the protective measures against criminal activity accomplished through using a network, technological devices, and the internet.In this video, you will learn about the basics of cybersecurity and common cybercrimes.
<iframe width="100%" height="400" src="https://www.youtube.com/embed/AuYNXgO_f3Y" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

View File

@@ -51,7 +51,7 @@ be:
* Becoming a sponsor
Just make sure
to [follow the contribution guidelines](https://github.com/kamranahmedse/developer-roadmap/tree/master/contributing) when you
to [follow the contribution guidelines](https://github.com/kamranahmedse/developer-roadmap/tree/master/contributing.md) when you
decide to contribute.
## Can I redistribute the content?

View File

@@ -8,15 +8,20 @@ Here is the list of PDF links for each of the roadmaps.
* **Frontend Roadmap** - [Roadmap Link](https://roadmap.sh/frontend) / [PDF Link](https://roadmap.sh/pdfs/frontend.pdf)
* **Backend Roadmap** - [Roadmap Link](https://roadmap.sh/backend) / [PDF Link](https://roadmap.sh/pdfs/backend.pdf)
* **DevOps Roadmap** - [Roadmap Link](https://roadmap.sh/devops) / [PDF Link](https://roadmap.sh/pdfs/devops.pdf)
* **Computer Science Roadmap** - [Roadmap Link](https://roadmap.sh/computer-science) / [PDF Link](https://roadmap.sh/pdfs/computer-science.pdf)
* **QA Roadmap** - [Roadmap Link](https://roadmap.sh/qa) / [PDF Link](https://roadmap.sh/pdfs/qa.pdf)
* **ASP.NET Core Roadmap** - [Roadmap Link](https://roadmap.sh/aspnet-core) / [PDF Link](https://roadmap.sh/pdfs/aspnet-core.pdf)
* **Flutter Roadmap** - [Roadmap Link](https://roadmap.sh/flutter) / [PDF Link](https://roadmap.sh/pdfs/flutter.pdf)
* **Software Architect Roadmap** - [Roadmap Link](https://roadmap.sh/software-architect) / [PDF Link](https://roadmap.sh/pdfs/software-architect.pdf)
* **Software Design and Architecture Roadmap** - [Roadmap Link](https://roadmap.sh/software-design-architecture) / [PDF Link](https://roadmap.sh/pdfs/software-design-architecture.pdf)
* **JavaScript Roadmap** - [Roadmap Link](https://roadmap.sh/javascript) / [PDF Link](https://roadmap.sh/pdfs/javascript.pdf)
* **Node.js Roadmap** - [Roadmap Link](https://roadmap.sh/nodejs) / [PDF Link](https://roadmap.sh/pdfs/nodejs.pdf)
* **GraphQL Roadmap** - [Roadmap Link](https://roadmap.sh/graphql) / [PDF Link](https://roadmap.sh/pdfs/graphql.pdf)
* **Angular Roadmap** - [Roadmap Link](https://roadmap.sh/angular) / [PDF Link](https://roadmap.sh/pdfs/angular.pdf)
* **React Roadmap** - [Roadmap Link](https://roadmap.sh/react) / [PDF Link](https://roadmap.sh/pdfs/react.pdf)
* **Vue Roadmap** - [Roadmap Link](https://roadmap.sh/vue) / [PDF Link](https://roadmap.sh/pdfs/vue.pdf)
* **Design System Roadmap** - [Roadmap Link](https://roadmap.sh/design-system) / [PDF Link](https://roadmap.sh/pdfs/design-system.pdf)
* **Blockchain Roadmap** - [Roadmap Link](https://roadmap.sh/blockchain) / [PDF Link](https://roadmap.sh/pdfs/blockchain.pdf)
* **Go Roadmap** - [Roadmap Link](https://roadmap.sh/go) / [PDF Link](https://roadmap.sh/pdfs/go.pdf)
* **Go Roadmap** - [Roadmap Link](https://roadmap.sh/golang) / [PDF Link](https://roadmap.sh/pdfs/go.pdf)
* **Java Roadmap** - [Roadmap Link](https://roadmap.sh/java) / [PDF Link](https://roadmap.sh/pdfs/java.pdf)
* **Python Roadmap** - [Roadmap Link](https://roadmap.sh/python) / [PDF Link](https://roadmap.sh/pdfs/python.pdf)

View File

@@ -174,6 +174,55 @@
"metaPath": "/roadmaps/102-devops/meta.json",
"isUpcoming": false
},
{
"seo": {
"title": "Computer Science Roadmap: Curriculum for the self taught developer",
"description": "Computer Science study plan with free resources for the self-taught and bootcamp grads wanting to learn Computer Science.",
"keywords": [
"computer science roadmap",
"computer science",
"computer science roadmap 2022",
"guide to computer science",
"software engineer roadmap",
"software engineer roadmap 2022",
"self-taught computer science roadmap",
"computer science skills",
"computer science skills test",
"cs roadmap",
"computer science curriculum",
"cs curriculum",
"skills for computer science",
"what is computer science",
"computer science quiz",
"computer science interview questions"
]
},
"title": "Computer Science",
"description": "Computer Science curriculum with free resources for a self-taught developer.",
"featuredTitle": "Computer Science",
"type": "tool",
"featuredDescription": "Curriculum with free resources for a self-taught developer.",
"isTextHeavy": false,
"isNew": true,
"isCommunity": false,
"featured": true,
"jsonUrl": "/project/computer-science.json",
"author": {
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "/pdfs/computer-science.pdf",
"relatedRoadmaps": [
"frontend",
"backend",
"devops",
"software-design-architecture"
],
"contentPathsFilePath": "/roadmaps/103-computer-science/content-paths.json",
"id": "computer-science",
"metaPath": "/roadmaps/103-computer-science/meta.json",
"isUpcoming": false
},
{
"seo": {
"title": "React Developer Roadmap: Learn to become a React developer",
@@ -575,7 +624,7 @@
{
"seo": {
"title": "Learn to become a Go developer",
"description": "Community driven, articles, resources, guides, interview questions, quizzes for Go development. Learn to become a modern React developer by following the steps, skills, resources and guides listed in this roadmap.",
"description": "Community driven, articles, resources, guides, interview questions, quizzes for Go development. Learn to become a modern Go developer by following the steps, skills, resources and guides listed in this roadmap.",
"keywords": [
"guide to becoming a golang developer",
"guide to becoming a go developer",
@@ -1002,5 +1051,168 @@
],
"id": "software-design-architecture",
"metaPath": "/roadmaps/115-software-design-architecture/meta.json"
},
{
"seo": {
"title": "Learn to become a modern ASP.NET core developer",
"description": "Community driven, articles, resources, guides, interview questions, quizzes for asp.net core development. Learn to become a modern ASP.NET core developer by following the steps, skills, resources and guides listed in this roadmap.",
"keywords": [
"guide to becoming a developer",
"guide to becoming an asp.net core developer",
"asp.net core developer",
"asp.net core engineer",
"asp.net core skills",
"guide to asp.net core",
"asp.net developer roadmap",
"asp net developer roadmap",
"asp developer roadmap",
"asp.net core roadmap",
"asp.net core skills",
"asp.net core skills test",
"skills for asp.net core",
"cloud development",
"what is asp.net core",
"asp.net core quiz",
"asp.net core interview questions",
"asp.net core engineer roadmap",
"asp.net core developer roadmap",
"become an asp.net core developer",
"asp.net core developer career path",
"asp.net core developer",
"modern asp.net core developer"
]
},
"title": "ASP.NET Core Developer",
"description": "Step by step guide to becoming an ASP.NET core developer in 2022",
"featuredTitle": "ASP.NET Core",
"type": "role",
"featuredDescription": "Step by step guide to becoming an ASP.NET Core Developer in 2022",
"isTextHeavy": false,
"isCommunity": false,
"isUpcoming": false,
"featured": true,
"isNew": true,
"jsonUrl": "/project/aspnet-core.json",
"versions": [
"latest",
"2018",
"2017"
],
"author": {
"name": "Moien Tajik",
"url": "https://twitter.com/MoienTajik"
},
"pdfUrl": "/pdfs/aspnet-core.pdf",
"relatedRoadmaps": [
"backend",
"devops",
"python",
"golang",
"java",
"nodejs"
],
"contentPathsFilePath": "/roadmaps/116-aspnet-core/content-paths.json",
"id": "aspnet-core",
"metaPath": "/roadmaps/116-aspnet-core/meta.json"
},
{
"seo": {
"title": "GraphQL Roadmap",
"description": "Learn GraphQL with this step by step guide and resources.",
"keywords": [
"guide to learn graphql",
"graphql roadmap",
"graphql roadmap",
"modern graphql roadmap",
"fullstack graphql roadmap",
"design and architecture roadmap",
"scalable design roadmap",
"design architecture patterns roadmap",
"application architectures"
]
},
"title": "GraphQL",
"description": "Step by step guide to learn GraphQL in 2022",
"featuredTitle": "GraphQL",
"type": "tool",
"featuredDescription": "Step by Step guide to learn GraphQL in 2022",
"isTextHeavy": false,
"isCommunity": false,
"isNew": true,
"isUpcoming": false,
"featured": true,
"jsonUrl": "/project/graphql.json",
"author": {
"name": "Denis Badurina",
"url": "https://twitter.com/enisdenjo"
},
"pdfUrl": "/pdfs/graphql.pdf",
"relatedRoadmaps": [
"frontend",
"backend",
"nodejs",
"javascript",
"react",
"vue",
"angular"
],
"contentPathsFilePath": "/roadmaps/116-graphql/content-paths.json",
"id": "graphql",
"metaPath": "/roadmaps/116-graphql/meta.json"
},
{
"seo": {
"title": "Learn to become a modern Flutter developer",
"description": "Community driven, articles, resources, guides, interview questions, quizzes for flutter development. Learn to become a modern Flutter developer by following the steps, skills, resources and guides listed in this roadmap.",
"keywords": [
"guide to becoming a flutter developer",
"guide to becoming a flutter developer",
"flutter developer",
"flutter engineer",
"flutter skills",
"guide to flutter",
"flutter roadmap",
"flutter skills",
"flutter skills test",
"skills for flutter",
"what is flutter",
"flutter quiz",
"flutter interview questions",
"flutter engineer roadmap",
"flutter developer roadmap",
"become a flutter developer",
"flutter developer career path",
"flutter developer",
"modern flutter developer"
]
},
"title": "Flutter Developer",
"description": "Step by step guide to becoming a Flutter developer in 2022",
"featuredTitle": "Flutter",
"type": "role",
"featuredDescription": "Step by step guide to becoming a Flutter Developer in 2022",
"isTextHeavy": false,
"isCommunity": false,
"isUpcoming": false,
"featured": true,
"isNew": true,
"jsonUrl": "/project/flutter.json",
"versions": [
"latest",
"2018",
"2017"
],
"pdfUrl": "/pdfs/flutter.pdf",
"relatedRoadmaps": [
"backend",
"devops",
"python",
"golang",
"java",
"nodejs"
],
"contentPathsFilePath": "/roadmaps/117-flutter/content-paths.json",
"id": "flutter",
"metaPath": "/roadmaps/117-flutter/meta.json"
}
]
]

View File

@@ -97,18 +97,30 @@
"testing-your-apps:playwright": "/roadmaps/100-frontend/content/115-testing-your-apps/104-playwright.md",
"testing-your-apps:react-testing-library": "/roadmaps/100-frontend/content/115-testing-your-apps/101-react-testing-library.md",
"testing-your-apps:cypress": "/roadmaps/100-frontend/content/115-testing-your-apps/102-cypress.md",
"testing-your-apps:enzyme": "/roadmaps/100-frontend/content/115-testing-your-apps/103-enzyme.md",
"testing-your-apps:other-options": "/roadmaps/100-frontend/content/115-testing-your-apps/104-other-options.md",
"testing-your-apps:mocha": "/roadmaps/100-frontend/content/115-testing-your-apps/105-mocha.md",
"testing-your-apps:chai": "/roadmaps/100-frontend/content/115-testing-your-apps/106-chai.md",
"testing-your-apps:ava": "/roadmaps/100-frontend/content/115-testing-your-apps/107-ava.md",
"testing-your-apps:jasmine": "/roadmaps/100-frontend/content/115-testing-your-apps/108-jasmine.md",
"auth-strategies": "/roadmaps/100-frontend/content/116-auth-strategies/readme.md",
"type-checkers": "/roadmaps/100-frontend/content/116-type-checkers/readme.md",
"type-checkers:typescript": "/roadmaps/100-frontend/content/116-type-checkers/100-typescript.md",
"type-checkers:flow": "/roadmaps/100-frontend/content/116-type-checkers/101-flow.md",
"progressive-web-apps": "/roadmaps/100-frontend/content/117-progressive-web-apps/readme.md",
"progressive-web-apps:performance": "/roadmaps/100-frontend/content/117-progressive-web-apps/101-performance.md",
"progressive-web-apps:apis": "/roadmaps/100-frontend/content/117-progressive-web-apps/100-apis.md",
"progressive-web-apps:storage": "/roadmaps/100-frontend/content/117-progressive-web-apps/100-storage.md",
"progressive-web-apps:web-sockets": "/roadmaps/100-frontend/content/117-progressive-web-apps/101-web-sockets.md",
"progressive-web-apps:server-sent-events": "/roadmaps/100-frontend/content/117-progressive-web-apps/102-server-sent-events.md",
"progressive-web-apps:service-workers": "/roadmaps/100-frontend/content/117-progressive-web-apps/103-service-workers.md",
"progressive-web-apps:location": "/roadmaps/100-frontend/content/117-progressive-web-apps/104-location.md",
"progressive-web-apps:notifications": "/roadmaps/100-frontend/content/117-progressive-web-apps/105-notifications.md",
"progressive-web-apps:device-orientation": "/roadmaps/100-frontend/content/117-progressive-web-apps/106-device-orientation.md",
"progressive-web-apps:payments": "/roadmaps/100-frontend/content/117-progressive-web-apps/107-payments.md",
"progressive-web-apps:credentials": "/roadmaps/100-frontend/content/117-progressive-web-apps/108-credentials.md",
"progressive-web-apps:prpl-pattern": "/roadmaps/100-frontend/content/117-progressive-web-apps/109-prpl-pattern.md",
"progressive-web-apps:rail-model": "/roadmaps/100-frontend/content/117-progressive-web-apps/110-rail-model.md",
"progressive-web-apps:performance-metrics": "/roadmaps/100-frontend/content/117-progressive-web-apps/111-performance-metrics.md",
"progressive-web-apps:lighthouse": "/roadmaps/100-frontend/content/117-progressive-web-apps/112-lighthouse.md",
"progressive-web-apps:browser-devtools": "/roadmaps/100-frontend/content/117-progressive-web-apps/113-browser-devtools.md",
"server-side-rendering": "/roadmaps/100-frontend/content/118-server-side-rendering/readme.md",
"server-side-rendering:react-js": "/roadmaps/100-frontend/content/118-server-side-rendering/100-react-js/readme.md",
"server-side-rendering:react-js:next-js": "/roadmaps/100-frontend/content/118-server-side-rendering/100-react-js/100-next-js.md",
@@ -118,6 +130,8 @@
"server-side-rendering:angular:universal": "/roadmaps/100-frontend/content/118-server-side-rendering/101-angular/100-universal.md",
"server-side-rendering:vue-js": "/roadmaps/100-frontend/content/118-server-side-rendering/102-vue-js/readme.md",
"server-side-rendering:vue-js:nuxt-js": "/roadmaps/100-frontend/content/118-server-side-rendering/102-vue-js/100-nuxt-js.md",
"server-side-rendering:svelte": "/roadmaps/100-frontend/content/118-server-side-rendering/103-svelte/readme.md",
"server-side-rendering:svelte:svelte-kit": "/roadmaps/100-frontend/content/118-server-side-rendering/103-svelte/100-svelte-kit.md",
"graphql": "/roadmaps/100-frontend/content/119-graphql/readme.md",
"graphql:apollo": "/roadmaps/100-frontend/content/119-graphql/100-apollo.md",
"graphql:relay-modern": "/roadmaps/100-frontend/content/119-graphql/101-relay-modern.md",
@@ -129,7 +143,7 @@
"static-site-generators:vuepress": "/roadmaps/100-frontend/content/120-static-site-generators/103-vuepress.md",
"static-site-generators:jekyll": "/roadmaps/100-frontend/content/120-static-site-generators/104-jekyll.md",
"static-site-generators:hugo": "/roadmaps/100-frontend/content/120-static-site-generators/105-hugo.md",
"static-site-generators:gridsome": "/roadmaps/100-frontend/content/120-static-site-generators/106-gridsome.md",
"static-site-generators:astro": "/roadmaps/100-frontend/content/120-static-site-generators/106-astro.md",
"static-site-generators:eleventy": "/roadmaps/100-frontend/content/120-static-site-generators/107-eleventy.md",
"mobile-applications": "/roadmaps/100-frontend/content/121-mobile-applications/readme.md",
"mobile-applications:react-native": "/roadmaps/100-frontend/content/121-mobile-applications/100-react-native.md",
@@ -139,6 +153,6 @@
"desktop-applications": "/roadmaps/100-frontend/content/122-desktop-applications/readme.md",
"desktop-applications:electron": "/roadmaps/100-frontend/content/122-desktop-applications/100-electron.md",
"desktop-applications:tauri": "/roadmaps/100-frontend/content/122-desktop-applications/101-tauri.md",
"desktop-applications:proton-native": "/roadmaps/100-frontend/content/122-desktop-applications/102-proton-native.md",
"web-assembly": "/roadmaps/100-frontend/content/123-web-assembly.md"
"desktop-applications:flutter": "/roadmaps/100-frontend/content/122-desktop-applications/102-flutter.md",
"bonus-content": "/roadmaps/100-frontend/content/123-bonus-content.md"
}

View File

@@ -8,4 +8,5 @@ HTTP is the `TCP/IP` based application layer communication protocol which standa
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview'>An overview of HTTP</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://kamranahmed.info/blog/2016/08/13/http-in-depth'>Journey to HTTP/2</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/'>HTTP/3 From A To Z: Core Concepts</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/http-3-is-now-a-standard-why-use-it-and-how-to-get-started/'>HTTP/3 Is Now a Standard: Why Use It and How to Get Started</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=iYM2zFP3Zn0'>HTTP Crash Course & Exploration</BadgeLink>

View File

@@ -5,6 +5,7 @@ The Domain Name System (DNS) is the phonebook of the Internet. Humans access inf
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/'>What is DNS?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://messwithdns.net/'>Mess with DNS - DNS Playground</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://howdns.works/'>How DNS works (comic)</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=Wj0od2ag5sk'>DNS and How does it Work?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7lxgpKh_fRY'>DNS Records</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=e48AyJOA9W8'>When to add glue records to DNS settings</BadgeLink>

View File

@@ -1,6 +1,6 @@
# 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.
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 Domain Name System (DNS).
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name'>What is a Domain Name?</BadgeLink>

View File

@@ -4,5 +4,8 @@ HTML stands for HyperText Markup Language. It is used on the frontend and gives
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3schools.com/html/html_intro.asp'>W3Schools: Learn HTML</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started'>MDN Docs: Getting Started with HTML </BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=pQN-pnXPaVg'>HTML Full Course - Build a Website Tutorial</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=qz0aGYrrlhU'>HTML Tutorial for Beginners: HTML Crash Course</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://htmlcheatsheet.com'>HTML Cheatsheet</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.scaler.com/topics/html'>Scaler: HTML</BadgeLink>

View File

@@ -1,9 +1,11 @@
# Semantic HTML
Semantic element clearly describes its meaning to both the browser and the developer.
Semantic element clearly describes its meaning to both the browser and the developer. In HTML, semantic element are the type of elements that can be used to define different parts of a web page such as `<form>`, `<table>`, `<article>`, `<header>`, `<footer>`, etc.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://developer.mozilla.org/en-US/docs/Glossary/Semantics'>Semantics - MDN Web Docs Glossary: Definitions of Web-related terms | MDN</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3schools.com/html/html5_semantic_elements.asp'>W3Schools: Semantic HTML</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://hackernoon.com/how-to-write-semantic-html-dkq3ulo'>How To Write Semantic HTML</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.freecodecamp.org/news/html-best-practices/'>HTML Best Practices How to Build a Better HTML-Based Website</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://blog.hubspot.com/website/semantic-html'>Semantic HTML: What It Is and How It Improves Your Site</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://html.com/semantic-markup'>Semantic Markup</BadgeLink>

View File

@@ -5,3 +5,5 @@ Before submitting data to the server, it is important to ensure all required for
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation'>MDN Web Docs: Client-side form validation</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://web.dev/learn/forms/'>Learn Forms by web.dev</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3schools.com/js/js_validation.asp'>W3Schools: JavaScript Form Validation</BadgeLink>

View File

@@ -1,10 +1,13 @@
# Accessibility
Web accessibility means that websites, tools, and technologies are designed and developed in such a way that people with disabilities can use them easily.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3.org/WAI/tips/developing/'>Developing for Web Accessibility by W3C WAI
</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3schools.com/accessibility/index.php'>Accessibility Tutorial
</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3.org/WAI/tips/developing/'>Developing for Web Accessibility by W3C WAI</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3schools.com/accessibility/index.php'>Accessibility Tutorial</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.smashingmagazine.com/2021/03/complete-guide-accessible-front-end-components/'>A Complete Guide To Accessible Front-End Components</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtube.com/playlist?list=PLNYkxOF6rcICWx0C9LVWWVqvHlYJyqw7g'>Complete Playlist on Accessibility</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://developer.mozilla.org/en-US/docs/Web/Accessibility'>MDN Accessibility</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://web.dev/accessibility'>Accessibility for Developers by Google</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.udacity.com/course/web-accessibility--ud891'>Web Accessibility by Udacity</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://thenewstack.io/accessibility-as-an-essential-part-of-the-inclusive-developer-experience/'>Accessibility as an Essential Part of the Inclusive Developer Experience</BadgeLink>

View File

@@ -4,8 +4,11 @@ HTML stands for HyperText Markup Language. It is used on the frontend and gives
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3schools.com/html/html_intro.asp'>W3Schools: Learn HTML</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://htmlreference.io/'>htmlreference.io: All HTML elements at a glance</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://html.com'>HTML For Beginners The Easy Way</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.internetingishard.com/html-and-css/'>Web Development Basics</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.codecademy.com/learn/learn-html'>Codecademy - Learn HTML</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://github.com/denysdovhan/learnyouhtml'>Interactive HTML Course</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/mJgBOIoGihA'>HTML Full Course for Beginners | Complete All-in-One Tutorial </BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=pQN-pnXPaVg'>HTML Full Course - Build a Website Tutorial</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=qz0aGYrrlhU'>HTML Tutorial for Beginners: HTML Crash Course</BadgeLink>

View File

@@ -1,6 +1,6 @@
# Making layouts
Float, grid, flexbox, positioning, display and box model are some of the key topics that are used for making layouts. Use the resources below to learn about these topics:
Float, grid, flexbox, positioning, display and box model are some of the key topics that are used for making layouts. Use the resources below to learn about these topics:
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
@@ -10,3 +10,8 @@ Float, grid, flexbox, positioning, display and box model are some of the key top
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://css-tricks.com/absolute-relative-fixed-positioining-how-do-they-differ/'>Positioning Types: How Do They Differ?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model'>The Box Model</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/the-css-display-property-display-none-display-table-inline-block-and-more/'>The CSS Display Property</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://css-tricks.com/snippets/css/a-guide-to-flexbox'>A Complete Guide to Flexbox</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://css-tricks.com/snippets/css/complete-guide-grid'>A Complete Guide to Grid</BadgeLink>
<BadgeLink badgeText='Watch' href='https://cssgrid.io/'>Learn CSS Grid - Course</BadgeLink>
<BadgeLink badgeText='Watch' href='https://scrimba.com/learn/cssgrid'>Learn CSS Grid for free</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/get-grid-last-css-grid-template-markup/'>Get on the Grid at Last with the CSS Grid Layout Module</BadgeLink>

View File

@@ -6,4 +6,7 @@ Responsive Web Designing is the technique to make your webpages look good on all
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/css/css_rwd_intro.asp'>Responsive Web Design</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.dev/learn/design/'>Learn Responsive Design</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://kinsta.com/blog/responsive-web-design/'>The Beginners Guide to Responsive Web Design</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://webflow.com/blog/responsive-web-design'>The guide to responsive web design in 2022</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=VQraviuwbzU'>5 simple tips to making responsive layouts the easy way</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=srvUrASNj0s'>Introduction To Responsive Web Design</BadgeLink>

View File

@@ -3,14 +3,20 @@
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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.theodinproject.com//'>The Odin Project</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://flexbox.io/'>What The Flexbox!</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-css'>Learn CSS | Codecademy</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-intermediate-css'>Learn Intermediate CSS | Codecademy</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/n4R2E7O-Ngo'>CSS Complete Course</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=yfoY53QXEnI'>CSS Crash Course For Absolute Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=D-h8L5hgW-w'>HTML and CSS Tutorial</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=FqmB-Zj2-PA'>CSS Masterclass - Tutorial & Course for Beginners</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/css/'>W3Schools — Learn CSS</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://cssreference.io/'>cssreference.io: All CSS properties at a glance</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.dev/learn/css/'>Web.dev by Google — Learn CSS</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/learn/responsive-web-design/'>freeCodeCamp — Responsive Web Design</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://learn.shayhowe.com/html-css/building-your-first-web-page/'>Learn to Code HTML & CSS</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.joshwcomeau.com/'>Joshw Comeau's CSS Hack Blog Posts</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=yfoY53QXEnI'>CSS Crash Course For Absolute Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=D-h8L5hgW-w'>HTML and CSS Tutorial</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=FqmB-Zj2-PA'>CSS Masterclass - Tutorial & Course for Beginners</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://flexbox.io/'>What The Flexbox!</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-css'>Learn CSS | Codecademy</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-intermediate-css'>Learn Intermediate CSS | Codecademy</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://100dayscss.com'>100 Days CSS Challenge</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.scaler.com/topics/css'>CSS Tutorial | Scaler</BadgeLink>

View File

@@ -4,6 +4,9 @@ ECMAScript 2015 or ES2015 is a significant update to the JavaScript programming
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.javascripttutorial.net/es6/'>ES6 Tutorial</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.w3schools.com/js/js_es6.asp'>W3Schools: Javascript ES6</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=NCwa_xi0Uuc'>Learn Modern JavaScript in 1 Hour</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=nZ1DMMsyVyI'>JavaScript ES6, ES7, ES8</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=3PHXvlpOkf4'>Build 15 JavaScript Projects - Vanilla JavaScript</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://codeloop.org/learn-modern-javascript-es6-es7-es8'>Modern JavaScript ES6, ES7 & ES8</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/fat-arrow-points-way-easy-es6-goodies-busy-js-devs/'>Easy ES6 Goodies for Busy JavaScript Developers</BadgeLink>

View File

@@ -11,3 +11,4 @@ Learn and understand the concepts such as Hoisting, Event Bubbling, Scope, Proto
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode'>JavaScript Strict Mode</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif'>JavaScript Visualized (7 Part Series)</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7Tok22qxPzQ'>DOM vs Shadow DOM vs Virtual DOM</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://blog.greenroots.info/series/javascript-promises'>Demystifying JavaScript Promises</BadgeLink>

View File

@@ -11,7 +11,11 @@ JavaScript allows you to add interactivity to your pages. Common examples that y
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.w3schools.com/js/'>W3Schools JavaScript Tutorial</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://javascript.info/'>The Modern JavaScript Tutorial</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.javascripttutorial.net/'>Learn JavaScript: Covered many topics</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://eloquentjavascript.net/'>Eloquent JavaScript textbook</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://github.com/getify/You-Dont-Know-JS'>You Don't Know JS Yet (book series) </BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/hdI2bqOjy3c?t=2'>JavaScript Crash Course for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/P7t13SGytRk?t=22'>Build a Netflix Landing Page Clone with HTML, CSS & JS</BadgeLink>
<BadgeLink badgeText='Watch' href='https://javascript30.com/'>Build 30 Javascript projects in 30 days</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://github.com/workshopper/javascripting'>Learn the basics of JavaScript</BadgeLink>
<BadgeLink badgeText='Course' colorScheme="green" href='https://www.scaler.com/topics/course/javascript-beginners'>JavaScript for Beginners </BadgeLink>

View File

@@ -3,6 +3,9 @@
[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://marklodato.github.io/visual-git-guide/index-en.html'>Visual Git Guide</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/apGV9Kg7ics'>Git and Github full course</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=zbKdDsNNOhg'>Version Control System Introduction</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=SWYqp7iY_Tc'>Git & GitHub Crash Course For Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/Y9XZQO1n_7c?t=21'>Learn Git in 20 Minutes</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://thenewstack.io/tutorial-git-for-absolutely-everyone/'>Tutorial: Git for Absolutely Everyone</BadgeLink>

View File

@@ -6,3 +6,5 @@ Version control systems allow you to track changes to your codebase/files over t
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=zbKdDsNNOhg'>Version Control System Introduction</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=SWYqp7iY_Tc'>Git & GitHub Crash Course For Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/Y9XZQO1n_7c?t=21'>Learn Git in 20 Minutes</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://git-scm.com/docs'>Git Documentation</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.atlassian.com/git'>Learn Git by Atlassian</BadgeLink>

View File

@@ -5,6 +5,7 @@
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://docs.github.com/en/get-started/quickstart/hello-world'>GitHub: Quickstart</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://skills.github.com/'>Learn Github by doing</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=w3jLJU7DT5E'>What is GitHub?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=wpISo9TNjfU'>Git vs. GitHub: What's the difference?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=RGOj5yH7evk'>Git and GitHub for Beginners</BadgeLink>

View File

@@ -6,3 +6,4 @@
<BadgeLink badgeText='Read' href='https://docs.gitlab.com/'>GitLab Documentation</BadgeLink>
<BadgeLink badgeText='Course' colorScheme="green" href='https://gitlab.com/'>GitLab Website</BadgeLink>
<BadgeLink badgeText='Read' href='https://thenewstack.io/development-connect-git-to-gitlab-for-small-projects/'>Development: Connect git to GitLab for Small Projects</BadgeLink>

View File

@@ -2,11 +2,12 @@
HTTPS is a secure way to send data between a web server and a browser.
Hypertext transfer protocol secure (HTTPS) is the secure version of HTTP, which is the primary protocol used to send data between a web browser and a website. HTTPS is encrypted in order to increase security of data transfer. This is particularly important when users transmit sensitive data, such as by logging into a bank account, email service, or health insurance provider
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/'>What is HTTPS?</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https'>Why HTTPS Matters</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https'>Enabling HTTPS on Your Servers</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://howhttps.works/'>How HTTPS works (comic)</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=hExRDVZHhig'>SSL, TLS, HTTP, HTTPS Explained</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=GoXgl9r0Kjk'>HTTPS — Stories from the field</BadgeLink>

View File

@@ -7,3 +7,4 @@ OWASP or Open Web Application Security Project is an online community that produ
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://github.com/0xRadi/OWASP-Web-Checklist'>OWASP Web Application Security Testing Checklist</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2021/'>OWASP Top 10 Security Risks</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html'>OWASP Cheatsheets</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/owasp-top-10-a-guide-to-the-worst-software-vulnerabilities/'>OWASP Top 10: A Guide to the Worst Software Vulnerabilities</BadgeLink>

View File

@@ -9,3 +9,4 @@ Web security refers to the protective measures taken by the developers to protec
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2021/'>OWASP Top 10 Security Risks</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html'>OWASP Cheatsheets</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP'>Content Security Policy (CSP)</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.youtube.com/playlist?list=PLH8n_ayg-60J9i3nsLybper-DR3zJw6Z5'>OWASP ZAP Step-by-Step Tutorial</BadgeLink>

View File

@@ -6,3 +6,4 @@ Webpack is a module bundler. Its main purpose is to bundle JavaScript files for
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://webpack.js.org/'>Webpack Official Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Documentation' href='https://webpack.js.org/concepts/'>Webpack Documentation</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Documentation' href='https://www.valentinog.com/blog/webpack'>A Complete Guide to Webpack 5</BadgeLink>

View File

@@ -1,6 +1,7 @@
# Prettier
Prettier is an opinionated code formatter with support for JavaScript, HTML, CSS, and more.
Prettier is an opinionated code formatter with support for JavaScript, HTML, CSS, YAML, Markdown, GraphQL Schemas. By far the biggest reason for adopting Prettier is to stop all the on-going debates over styles.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://prettier.io'>Prettier Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://prettier.io/docs/en/why-prettier.html'>Why Prettier</BadgeLink>

View File

@@ -2,4 +2,9 @@
Task runners automatically execute commands and carry out processes behind the scenes. This helps automate your workflow by performing mundane, repetitive tasks that you would otherwise waste an egregious amount of time repeating yourself.
Common usages of task runners include numerous development tasks such as: spinning up development servers, compiling code (ex. SCSS to CSS), running linters, serving files up from a local port on your computer, and many more!
Common usages of task runners include numerous development tasks such as: spinning up development servers, compiling code (ex. SCSS to CSS), running linters, serving files up from a local port on your computer, and many more!
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://webpack.js.org/'>webpack is a static module bundler for modern JavaScript applications</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://vitejs.dev'>Vite Next Generation Frontend Tooling</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://parceljs.org/'>Parcel is a zero configuration build tool for the web</BadgeLink>

View File

@@ -10,3 +10,4 @@ Angular is a component based front-end development framework built on TypeScript
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://angular.io/start'>Official - Getting started with Angular</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=3qBXWUpoPHo'>Angular for Beginners Course [Full Front End Tutorial with TypeScript]</BadgeLink>

View File

@@ -13,3 +13,4 @@ Vue.js is an open-source JavaScript framework for building user interfaces and s
<BadgeLink colorScheme='blue' badgeText='Official Guide' href='https://vuejs.org/v2/guide/'>Official Getting Started</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=FXpIoQ_rT_c'>Vue.js Course for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=qZXt1Aom3Cs'>Vue.js Crash Course</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/meet-vue-js-flexible-javascript-framework/'>Meet Vue.js, the Flexible JavaScript Framework</BadgeLink>

View File

@@ -6,3 +6,5 @@ Svelte is a javascript framework that unlike Vue and React does not use vertical
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://svelte.dev/'>Svelte Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Guide' href='https://svelte.dev/docs'>Svelte Documentation</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/playlist?list=PL4cUxeGkcC9hlbrVO_2QFVqVPhlZmz7tO'>Svelte Course Playlist for beginners</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/all-about-svelte-the-much-loved-state-driven-web-framework/'>All About Svelte, the Much-Loved, State-Driven Web Framework</BadgeLink>
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://thenewstack.io/svelte-and-the-future-of-front-end-development/'>Svelte and the Future of Frontend Development</BadgeLink>

View File

@@ -1 +1,6 @@
# SolidJS
Solid is a reactive JavaScript toolkit for building user interfaces without a virtual DOM. To ensure that only the relevant code is executed when a state update occurs, it compiles templates down to real DOM nodes once and wraps modifications into fine-grained reactions.
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.solidjs.com/'>Official Website - SolidJS</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Tutorial' href='https://www.solidjs.com/tutorial/introduction_basics'>SolidJS Tutorial</BadgeLink>

View File

@@ -4,4 +4,5 @@ Web Components is a suite of different technologies allowing you to create reusa
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://developer.mozilla.org/en-US/docs/Web/Web_Components'>Web Components | MDN</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://webcomponents.github.io/'>WebComponents.org</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=PCWaFLy3VUo'>Web Components Crash Course</BadgeLink>

View File

@@ -1,6 +0,0 @@
# Enzyme
Enzyme is a JavaScript Testing utility for React that makes it easier to test your React Components' output. You can also manipulate, traverse, and in some ways simulate runtime given the output.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://enzymejs.github.io/enzyme/'>Enzyme Website</BadgeLink>

View File

@@ -1 +1,8 @@
# Playwright
Playwright is an open-source test automation library initially developed by Microsoft contributors. It supports programming languages such as Java, Python, C#, and NodeJS. Playwright comes with Apache 2.0 License and is most popular with NodeJS with Javascript/Typescript.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://playwright.dev/'>Playwright Website</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.browserstack.com/guide/playwright-tutorial'>Playwright Tutorial: Learn Basics and Setup</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/playwright-a-time-saving-end-to-end-testing-framework/'>Playwright, a Time-Saving End-to-End Testing Framework</BadgeLink>

View File

@@ -0,0 +1,7 @@
# Vitest
Vitest is a fast Vite-native unit test framework with out-of-box ESM, TypeScript and JSX support.
Works on React, Vue, Svelte and more projects created with Vite
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://vitest.dev/'>Vitest Website</BadgeLink>

View File

@@ -0,0 +1,22 @@
# Authentication Strategies
Authentication strategies are methods or techniques used to verify the identity of a user or system in order to grant access to a protected resource. There are several different authentication strategies that can be used, including:
- Basic Authentication
- Session Based Authentication
- Token Based Authentication
- JWT Authentication
- OAuth
- SSO
You don't necessarily need to learn all of these, how to implement and the ins and outs from the get go. But it's important to know what they are and how they work. This will help you make better decisions when choosing an authentication strategy for your application.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://roadmap.sh/guides/basic-authentication'>Basic Authentication</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://roadmap.sh/guides/session-authentication'>Session Based Authentication</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://roadmap.sh/guides/token-authentication'>Token Based Authentication</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://roadmap.sh/guides/jwt-authentication'>JWT Authentication</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://roadmap.sh/guides/oauth'>OAuth</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://roadmap.sh/guides/sso'>SSO - Single Sign On</BadgeLink>

View File

@@ -9,3 +9,6 @@ TypeScript is a strongly typed programming language that builds on JavaScript, g
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialspoint.com/typescript/index.htm'>TypeScript Tutorial</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://scrimba.com/learn/typescript'>Scrimba — TypeScript Basics</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=BwuLxPH8IDs'>TypeScript for Beginners</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/what-is-typescript/'>What Is TypeScript?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/typescript-tutorial-go-beyond-hello-world/'>TypeScript Tutorial: Go beyond Hello, World!</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/typescript-tutorial-a-guide-to-using-the-programming-language/'>TypeScript Tutorial: A Guide to Using the Programming Language</BadgeLink>

View File

@@ -1,8 +0,0 @@
# PWA APIs
One of the main purposes of PWAs is to provide a native-app-like experience. APIs like service workers, web sockets, and storage allow a PWA to fast load, access data offline, and other capabilities, similar to a native app.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.dev/progressive-web-apps/'>Progressive Web Apps</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps'>Progressive web apps (PWAs)</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.logrocket.com/project-fugu-5-new-apis-to-try-out-in-your-pwa/'> 5 new APIs to try out in your PWA</BadgeLink>

View File

@@ -0,0 +1,8 @@
# Web Storage API
The Web Storage API provides mechanisms for storing key-value pairs in a web browser. It includes two storage objects: localStorage and sessionStorage, which allow you to save data on the client side and persist it across multiple browser sessions, respectively.
The Web Storage API is designed to be simple and easy to use, and it is widely supported across modern web browsers. It is often used as an alternative to cookies, as it allows for larger amounts of data to be stored and is more efficient in terms of performance.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API'>Web Storage API - MDN</BadgeLink>

View File

@@ -1,12 +0,0 @@
# Performance
Performance plays a significant role in the success of any online venture, as high performing sites engage and retain users better than poorly performing ones. Tools like Lighthouse and Devtools highlight performance metrics and help improve performance of PWAs.
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.dev/fast/'> Fast load times: Techniques for improving site performance.</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.patterns.dev/posts/prpl/'>PRPL pattern</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.dev/apply-instant-loading-with-prpl/'>Apply instant loading with PRPL</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.dev/rail/'>Measure performance with the RAIL model</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/introduction-to-chrome-lighthouse/'>Introduction to Chrome Lighthouse</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developers.google.com/web/ilt/pwa/lighthouse-pwa-analysis-tool'>Lighthouse PWA Analysis Tool</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.chrome.com/docs/devtools/speed/get-started/'>Lighthouse: Optimize website speed</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=egmwY9n6qWY'>PWA Tutorial: Lighthouse Audit</BadgeLink>

View File

@@ -0,0 +1,10 @@
# Web Sockets
Web Sockets is a technology that allows for full-duplex communication over a single TCP connection. It enables real-time, bi-directional communication between a client and a server, and is typically used in applications that require high-speed, low-latency communication, such as online gaming and real-time data streaming.
Web Sockets utilizes a persistent connection between a client and a server, allowing for continuous data exchange without the need for the client to send additional requests to the server. This makes it more efficient and faster than other technologies, such as HTTP, which require a new request to be sent for each piece of data.
Web Sockets is supported by most modern web browsers and can be used with a variety of programming languages and frameworks.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API'>Web Sockets - MDN</BadgeLink>

View File

@@ -0,0 +1,10 @@
# Server Sent Events
Server-Sent Events (SSE) is a technology that allows a web server to push data to a client in real-time. It uses an HTTP connection to send a stream of data from the server to the client, and the client can listen for these events and take action when they are received.
SSE is useful for applications that require real-time updates, such as chat systems, stock tickers, and social media feeds. It is a simple and efficient way to establish a long-lived connection between a client and a server, and it is supported by most modern web browsers.
To use SSE, the client must create an EventSource object and specify the URL of the server-side script that will send the events. The server can then send events by writing them to the response stream with the proper formatting.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events'>Server-Sent Events - MDN</BadgeLink>

View File

@@ -0,0 +1,10 @@
# Service Workers
Service Workers are a type of web worker that acts as a proxy between a web page and the network, allowing web developers to build offline-first and reliable applications. Service Workers can intercept network requests, access the cache, and make decisions on how to respond to a request based on the available resources.
Service Workers are written in JavaScript and are registered by a web page. Once registered, they can control the page and all its requests, even when the page is not open in a browser. This allows Service Workers to enable features such as push notifications, background synchronization, and offline support.
Service Workers are supported by most modern web browsers, and they are an essential component of progressive web applications (PWAs).
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API'>Service Workers - MDN</BadgeLink>

View File

@@ -0,0 +1,8 @@
# Location API
The Geolocation API is a web API that provides access to the device's location data, such as latitude and longitude. It allows web developers to build location-based applications, such as mapping and location sharing, by using the device's GPS, Wi-Fi, and other sensors to determine the user's location.
To use the Geolocation API, a web page must first request permission from the user to access their location. If permission is granted, the page can then use the `navigator.geolocation` object to access the device's location data. The API provides several methods for getting the user's current location, watching for location changes, and calculating distances between two locations.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API'>Geolocation API - MDN</BadgeLink>

View File

@@ -0,0 +1,8 @@
# Notifications API
The Notifications API is a web API that allows web pages to display system-level notifications to the user. These notifications can be used to alert the user of important events, such as new messages or updates, even when the web page is not open in the browser.
To use the Notifications API, a web page must first request permission from the user to display notifications. If permission is granted, the page can then use the `Notification` constructor to create a new notification and display it to the user. The notification can include a title, body text, and an icon, and it can be customized with options such as a timeout and a click action.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API'>Notifications API - MDN</BadgeLink>

View File

@@ -0,0 +1,10 @@
# Device Orientation API
The Device Orientation API is a web API that provides access to the device's orientation and motion data, such as its pitch, roll, and yaw. It allows web developers to build applications that can respond to the device's orientation and motion, such as augmented reality and motion-controlled games.
To use the Device Orientation API, a web page must first request permission from the user to access the device's orientation data. If permission is granted, the page can then use the DeviceOrientationEvent object to access the device's orientation data and respond to changes in orientation. The API provides several properties for accessing the device's orientation and motion data, as well as events for detecting changes in orientation.
The Device Orientation API is supported by most modern web browsers and is often used in conjunction with other APIs, such as the Geolocation API, to build location-based applications.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/API/Device_orientation_events'>Device Orientation API - MDN</BadgeLink>

View File

@@ -0,0 +1,13 @@
# Payments
The Payment Request API is a web API that allows web developers to build checkout flows within their web applications. It provides a standardized, browser-based interface for collecting payment and shipping information from the user, and it supports a wide range of payment methods, including credit cards, debit cards, and digital wallets.
To use the Payment Request API, a web page must first create a `PaymentRequest` object and specify the payment and shipping options that are available to the user. The page can then invoke the Payment Request UI by calling the `show()` method on the `PaymentRequest` object. The user can then select their preferred payment and shipping options and confirm the payment, at which point the Payment Request API will return a payment response object that can be used to complete the transaction.
The Payment Request API is supported by most modern web browsers and is designed to be simple and efficient for both the developer and the user.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API'>Payment Request API - MDN</BadgeLink>

View File

@@ -0,0 +1,10 @@
# Credentials API
The Credential Management API is a web API that allows web developers to integrate password-based and federated login flows into their applications. It provides a standardized, browser-based interface for storing and retrieving user credentials, such as username and password combinations and OAuth tokens.
To use the Credential Management API, a web page must first create a Credential object and specify the credentials that the user wishes to store. The page can then use the navigator.credentials object to store and retrieve the user's credentials. The API provides several methods for storing and retrieving credentials, as well as for prompting the user to sign in or sign up.
The Credential Management API is supported by most modern web browsers and is designed to improve the security and usability of login flows by allowing the user to store and reuse their credentials across multiple sites and devices.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/API/Credential_Management_API'>Credential Management API - MDN</BadgeLink>

View File

@@ -0,0 +1,13 @@
# PRPL Pattern
The PRPL pattern is a performance optimization pattern for web applications that focuses on minimizing the time it takes for the initial rendering of a web page. It stands for Push, Render, Pre-cache, and Lazy-load, and it involves the following steps:
* Push: Prioritize the delivery of critical resources, such as HTML, CSS, and JavaScript, to the client as early as possible.
* Render: Start rendering the web page as soon as the critical resources are received, even if some non-critical resources are still being downloaded.
* Pre-cache: Pre-cache non-critical resources in the background so that they are available when needed.
* Lazy-load: Defer the loading of non-critical resources until they are needed, such as when the user scrolls to them or interacts with them.
The PRPL pattern is designed to improve the perceived performance of a web page by reducing the time it takes for the page to become interactive. It is particularly useful for applications that are served over slow or unreliable networks, as it allows the page to render as quickly as possible and then gradually load the remaining resources.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developers.google.com/web/fundamentals/performance/prpl-pattern'>PRPL Pattern - Google Developers</BadgeLink>

View File

@@ -0,0 +1,13 @@
# RAIL Model
The RAIL model is a performance optimization model for web applications that focuses on improving the perceived performance of a web page. It stands for Response, Animation, Idle, and Load, and it involves the following four performance goals:
* Response: The time it takes for the web page to respond to user input should be under 100 milliseconds.
* Animation: The time it takes for an animation to run should be under 10 milliseconds.
* Idle: The web page should take advantage of idle time to perform non-critical tasks.
* Load: The time it takes for the web page to fully load should be under 1 second.
The RAIL model is designed to provide a framework for optimizing the performance of a web page by focusing on the four key areas that impact the user's perception of performance. It is particularly useful for applications that require high levels of interactivity, such as games and social media applications.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developers.google.com/web/fundamentals/performance/rail'>RAIL Model - Google Developers</BadgeLink>

View File

@@ -0,0 +1,16 @@
# Performance Metrics
Web performance metrics are quantitative measures of the performance of a web page or application. They are used to assess the speed and efficiency of a web page, and they can help identify areas for improvement. Some common web performance metrics include:
* Load time: The time it takes for a web page to fully load and become interactive.
* First contentful paint (FCP): The time it takes for the first content to appear on the page.
* Time to interactive (TTI): The time it takes for the page to become fully interactive.
* First input delay (FID): The time it takes for the page to respond to the first user input.
* Total blocking time (TBT): The time it takes for the page to become fully interactive, taking into account the time spent blocking the main thread.
There are many tools and techniques available for measuring web performance metrics, including browser dev tools, performance monitoring tools, and web performance APIs. By tracking these metrics and analyzing the results, web developers can identify areas for improvement and optimize the performance of their web pages.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developers.google.com/web/fundamentals/performance/user-centric-performance-metrics'>Web Performance Metrics - Google Developers</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.dev/metrics/'>Measuring performance and user experience - Google Developers</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/Guide/Performance'>Measuring performance and user experience - MDN</BadgeLink>

View File

@@ -0,0 +1,10 @@
# Lighthouse
Lighthouse is an open-source tool developed by Google that is used to audit the performance, accessibility, and SEO of web pages. It is available as a browser extension and as a command-line tool, and it can be run on any web page to generate a report with recommendations for improvement.
Lighthouse works by simulating the load and interaction of a web page and measuring various performance metrics, such as load time, time to first paint, and time to interactive. It also checks for common issues such as incorrect image sizes, missing alt text, and broken links.
Lighthouse provides a comprehensive and easy-to-use tool for identifying and fixing performance and accessibility issues on web pages. It is widely used by web developers and is integrated into many popular development tools.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developers.google.com/web/tools/lighthouse'>Lighthouse - Google Developers</BadgeLink>

View File

@@ -0,0 +1,18 @@
# Browser DevTools
Most of the browsers have built-in developer tools that help you perform web development specific tasks on a webpage. My personal recommendation would be to use Chrome DevTools as it is the most advanced and has the most features. However, if you are using a different browser, you can still use the DevTools to debug your web application.
Chrome DevTools is a set of web development tools built into the Google Chrome browser. It allows web developers to debug and optimize web pages by providing a range of features for inspecting and manipulating the page's HTML, CSS, and JavaScript.
Some of the features provided by Chrome DevTools include:
* **Elements panel**: Inspect and modify the page's HTML and CSS.
* **Console panel**: View and debug JavaScript errors and log messages.
* **Network panel**: Monitor network requests and responses, and analyze performance issues.
* **Performance panel**: Analyze the performance of the page and identify bottlenecks.
* **Application panel**: Inspect the page's resources, such as cookies and local storage.
Chrome DevTools is a powerful and essential tool for web developers, and it is widely used to debug and optimize web pages. It is constantly updated with new features and improvements, and it is available on all modern web browsers.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developers.google.com/web/tools/chrome-devtools'>Chrome DevTools - Google Developers</BadgeLink>

View File

@@ -8,5 +8,5 @@ React is the most popular front-end JavaScript library for building user interfa
<BadgeLink badgeText='Course' colorScheme='green' href='https://egghead.io/courses/the-beginner-s-guide-to-react'>The Beginner's Guide to React</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.youtube.com/watch?v=nTeuhbP7wdE'>React JS Course for Beginners</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.youtube.com/watch?v=bMknfKXIFA8'>React Course - Beginner's Tutorial for React JavaScript Library [2022]</BadgeLink>
<BadgeLink badgeText='Roadmap' colorScheme='yellow' href='https://roadmap.sh/frontend'>React Roadmap</BadgeLink>
<BadgeLink badgeText='Roadmap' colorScheme='yellow' href='https://roadmap.sh/react'>React Roadmap</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=i793Qm6kv3U'>Understanding React's UI Rendering Process</BadgeLink>

View File

@@ -7,3 +7,4 @@ Vue.js is an open-source JavaScript framework for building user interfaces and s
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://vuejs.org/v2/guide/'>Official Getting Started</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=FXpIoQ_rT_c'>Vue.js Course for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=qZXt1Aom3Cs'>Vue.js Crash Course</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/meet-vue-js-flexible-javascript-framework/'>Meet Vue.js, the Flexible JavaScript Framework</BadgeLink>

View File

@@ -0,0 +1,7 @@
# Svelte Kit
Svelte Kit is a framework for building web applications with the Svelte JavaScript framework. It is designed to be a complete solution for building web applications, with support for server-side rendering, automatic code splitting, and optimized performance.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://kit.svelte.dev/'>Svelte Kit Official Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://kit.svelte.dev/docs/introduction'>Official Svelte Kit Docs</BadgeLink>

View File

@@ -0,0 +1,10 @@
# Svelte
Svelte is a javascript framework that unlike Vue and React does not use vertical DOM diffing but instead knows exactly what and where to update when the state changes. It's mainly focused on frontend and building user interfaces.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://svelte.dev/'>Svelte Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Guide' href='https://svelte.dev/docs'>Svelte Documentation</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/playlist?list=PL4cUxeGkcC9hlbrVO_2QFVqVPhlZmz7tO'>Svelte Course Playlist for beginners</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/all-about-svelte-the-much-loved-state-driven-web-framework/'>All About Svelte, the Much-Loved, State-Driven Web Framework</BadgeLink>
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://thenewstack.io/svelte-and-the-future-of-front-end-development/'>Svelte and the Future of Frontend Development</BadgeLink>

View File

@@ -7,3 +7,5 @@ GraphQL is a query language for APIs and a runtime for fulfilling those queries
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.howtographql.com/'>The Fullstack Tutorial for GraphQL</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://odyssey.apollographql.com/'>GraphQL Tutorials</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=ed8SzALpx1Q'>GraphQL Course for Beginners</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/introduction-to-graphql/'>Introduction to GraphQL</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/how-to-execute-a-simple-graphql-query/'>How to Execute a Simple GraphQL Query</BadgeLink>

View File

@@ -6,3 +6,5 @@ Gatsby is a React-based open source framework with performance, scalability and
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.gatsbyjs.com/'>Gatsby Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://www.gatsbyjs.com/docs'>Gatsby Docs</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtube.com/playlist?list=PL4cUxeGkcC9hw1g77I35ZivVLe8k2nvjB'>Gatsby Tutorial</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/getting-started-with-gatsby-the-cloud-native-static-site-generator/'>Getting Started with Gatsby, the Cloud Native Static Site Generator</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/static-site-revolution-top-websites-built-with-gatsby/'>Static Site Revolution: Top Websites Built with Gatsby</BadgeLink>

View File

@@ -6,3 +6,4 @@ Hugo is the worlds fastest static website engine. Its written in Go (aka G
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://gohugo.io/'>Official Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://gohugo.io/documentation/'>Official Docs for Getting Started</BadgeLink>
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://www.youtube.com/watch?v=qtIqKaDlqXo&list=PLLAZ4kZ9dFpOnyRlyS-liKL5ReHDcj4G3'>Introduction to Hugo - Static Site Generator </BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/tutorial-use-hugo-to-generate-a-static-website/'>Tutorial: Use Hugo to Generate a Static Website</BadgeLink>

View File

@@ -0,0 +1,14 @@
# Astro
Astro is an all-in-one web framework for building fast, content-focused websites. Astro combines the power of a modern component-based framework with the performance and flexibility of a static site generator.
- Component Islands: A new web architecture for building faster websites.
- Server-first API design: Move expensive hydration off of your users devices.
- Zero JS, by default: No JavaScript runtime overhead to slow you down.
- Edge-ready: Deploy anywhere, even a global edge runtime like Deno or Cloudflare.
- Customizable: Tailwind, MDX, and 100+ other integrations to choose from.
- UI-agnostic: Supports React, Preact, Svelte, Vue, Solid, Lit and more.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://astro.build/'>Official Astro Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://docs.astro.build/'>Official Astro Docs</BadgeLink>

View File

@@ -6,5 +6,5 @@ A static site generator is a tool that generates a full static HTML website base
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.cloudflare.com/learning/performance/static-site-generator/'>What is a static site generator?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://nextjs.org/docs/advanced-features/static-html-export'>Next.js SSG</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.gatsbyjs.com/docs/glossary/static-site-generator/'>Gatsby SSG</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.smashingmagazine.com/2021/10/building-ssg-11ty-vite-jam-sandwich/'>SSG — An 11ty, Vite And JAM Sandwich
</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.smashingmagazine.com/2021/10/building-ssg-11ty-vite-jam-sandwich/'>SSG — An 11ty, Vite And JAM Sandwich</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/get-back-basics-static-website-generators/'>Get Back to Basics With Static Website Generators</BadgeLink>

View File

@@ -6,3 +6,5 @@ React Native is a popular JavaScript-based mobile app framework that allows you
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://reactnative.dev/'>Official Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://reactnative.dev/docs/getting-started'>Official Getting Started to React Native</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=0-S5a0eXPoc'>Build a React Native App by Mosh</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-react-native'>Learn React Native by CodeAcademy</BadgeLink>

View File

@@ -1,3 +1,9 @@
<DedicatedRoadmap
href='/flutter'
title='Flutter Roadmap'
description='Click to check the detailed Flutter Roadmap.'
/>
# Flutter
Flutter is a free and open-source mobile UI framework created by Google and released in May 2017. In a few words, it allows you to create a native mobile application with only one codebase. This means that you can use one programming language and one codebase to create two different apps (for iOS and Android).
@@ -18,3 +24,4 @@ If you know a bit of programming, Dart is a typed object programming language. Y
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.youtube.com/watch?v=1ukSR1GRtMU&list=PL4cUxeGkcC9jLYyp2Aoh6hcWuxFDX6PBJ'>Flutter Tutorial for Beginners</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3adda.com/flutter-tutorial'>Flutter Tutorial</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialspoint.com/dart_programming/index.htm'>Learn Dart Programming</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/12-ways-flutter-streamlines-app-development/'>12 Ways Flutter Streamlines App Development</BadgeLink>

View File

@@ -1 +1,8 @@
# Mobile applications
# Mobile applications
A while back, developing a mobile app using JavaScript was impossible. But now JavaScript developers can create mobile applications using their knowledge for web development. Here is the list of options to create mobile applications in JavaScript.
* [React Native](https://reactnative.dev/)
* [Flutter](https://flutter.dev)
* [Ionic](https://ionicframework.com)
* [NativeScript](https://nativescript.org/)

View File

@@ -5,3 +5,4 @@ Tauri is a toolkit that helps developers make applications for the major desktop
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://tauri.app/'>Tauri Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://tauri.app/v1/guides/'>Tauri Docs</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/how-tauri-turns-web-designs-into-compact-native-apps/'>How Tauri Turns Web Designs into Compact Native Apps</BadgeLink>

View File

@@ -0,0 +1,18 @@
<DedicatedRoadmap
href='/flutter'
title='Flutter Roadmap'
description='Click to check the detailed Flutter Roadmap.'
/>
# Flutter
Flutter is a free and open-source multi-platform UI framework created by Google and released in May 2017. In a few words, it allows you to create a native mobile application with only one codebase. This means that you can use one programming language and one codebase to create three different apps (for iOS, Android and Desktop).
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://flutter.dev'>Flutter Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://flutter.dev/multi-platform/desktop'>Flutter for Desktop</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3adda.com/flutter-tutorial'>Flutter Tutorial</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.youtube.com/watch?v=1ukSR1GRtMU&list=PL4cUxeGkcC9jLYyp2Aoh6hcWuxFDX6PBJ'>Flutter Tutorial for Beginners</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3adda.com/flutter-tutorial'>Flutter Tutorial</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialspoint.com/dart_programming/index.htm'>Learn Dart Programming</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/12-ways-flutter-streamlines-app-development/'>12 Ways Flutter Streamlines App Development</BadgeLink>

View File

@@ -1,7 +0,0 @@
# Proton native
Proton Native allows you to create desktop applications through a React syntax, on all platforms.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://proton-native.js.org/'>Official Website and Docs</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=Hw6vPBfVVeo'>Getting Started With Proton Native</BadgeLink>

View File

@@ -1 +1,8 @@
# Desktop applications
# Desktop Applications in JavaScript
A while back, developing a desktop app using JavaScript was impossible. But now JavaScript developers can create desktop applications using their knowledge for web development. Here is the list of options to create desktop applications in JavaScript.
* [Electron](https://www.electronjs.org/)
* [NodeGUI](https://docs.nodegui.org/)
* [NW.js](https://nwjs.io/)
* [Meteor](https://www.meteor.com/)

View File

@@ -0,0 +1,16 @@
# Bonus Content
It is not required to complete the bonus content, it just expands on the topics covered in the roadmap and has the items which were missed in the roadmap. Go through them if you want.
* **UI / UX Knowledge** - Gaining UI/UX knowledge is not a must for a Frontend Developer but having an eye for design and a good understanding of UI/UX will help you in your career.
* **[Design Systems](/design-system)** - Learn how to create and work with design systems.
* **Visual Programming** — it is entirely possible to be a successful, competent frontend developer without it, but for many frontend developers this path represents a serious chunk of their workload, and represents a very in-demand option for frontend development especially for developers who are have a visual aptitude.
* **For Animations**: [GSAP](https://greensock.com/gsap/), [Lottie](https://airbnb.design/lottie/), [Framer Motion](https://github.com/framer/motion) or [MoJs](https://mojs.github.io/)
* **Web Graphics Library (WebGL)**: [WebGL MDN](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial), [WebGL Fundamentals](https://webglfundamentals.org/webgl/lessons/webgl-fundamentals.html)
* **2D Graphics**: [Canvas](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API), [PixiJS](https://pixijs.com/), [PhaserJS](https://phaser.io/)
* **3D Graphics**: [ThreeJS](https://threejs.org/), [BabylonJS](https://www.babylonjs.com/)
* Have a look at [Qwik](https://qwik.builder.io/) and **[Partytown](https://partytown.builder.io/)**.
* [Houdini](https://developer.mozilla.org/en-US/docs/Web/Guide/Houdini) — Here is a good [introductory article to houdini](https://www.smashingmagazine.com/2020/03/practical-overview-css-houdini/).
* **[WebRTC](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API)** - WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
* **[IDLs](https://developer.mozilla.org/en-US/docs/Glossary/IDL)** - Not every developer will have a need for understanding [IDLs](https://developer.mozilla.org/en-US/docs/Glossary/IDL) but but there's a good argument for having more JavaScript developers aware of their existence and hopefully the ability for making use of them as well.
* **[WebAssembly](https://developer.mozilla.org/en-US/docs/WebAssembly)** - WebAssembly is a comparatively new technology that allows you to run code written in languages other than JavaScript on the web. It's a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++ and Rust with a compilation target so that they can run on the web.

View File

@@ -1,8 +0,0 @@
# Web Assembly
WebAssembly is a new type of code that can be run in modern web browsers — it is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++, C# and Rust with a compilation target so that they can run on the web. It is also designed to run alongside JavaScript, allowing both to work together.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://webassembly.org/'>Official Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://webassembly.org/getting-started/developers-guide/'>Official Getting Started to Web Assembly</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=3sU557ZKjUs'>An introduction to WebAssembly</BadgeLink>

View File

@@ -48,22 +48,27 @@
"nosql-databases:column-databases": "/roadmaps/101-backend/content/107-nosql-databases/101-column-databases.md",
"nosql-databases:timeseries-databases": "/roadmaps/101-backend/content/107-nosql-databases/102-timeseries-databases.md",
"nosql-databases:realtime-databases": "/roadmaps/101-backend/content/107-nosql-databases/103-realtime-databases.md",
"nosql-databases:key-value-databases": "/roadmaps/101-backend/content/107-nosql-databases/104-key-value-databases.md",
"more-about-databases": "/roadmaps/101-backend/content/108-more-about-databases/readme.md",
"more-about-databases:orms": "/roadmaps/101-backend/content/108-more-about-databases/100-orms.md",
"more-about-databases:acid": "/roadmaps/101-backend/content/108-more-about-databases/101-acid.md",
"more-about-databases:transactions": "/roadmaps/101-backend/content/108-more-about-databases/102-transactions.md",
"more-about-databases:n-plus-one-problem": "/roadmaps/101-backend/content/108-more-about-databases/103-n-plus-one-problem.md",
"more-about-databases:database-normalization": "/roadmaps/101-backend/content/108-more-about-databases/104-database-normalization.md",
"more-about-databases:database-indexes": "/roadmaps/101-backend/content/108-more-about-databases/105-database-indexes.md",
"more-about-databases:data-replication": "/roadmaps/101-backend/content/108-more-about-databases/106-data-replication.md",
"more-about-databases:sharding-strategies": "/roadmaps/101-backend/content/108-more-about-databases/107-sharding-strategies.md",
"more-about-databases:cap-theorem": "/roadmaps/101-backend/content/108-more-about-databases/108-cap-theorem.md",
"more-about-databases:failure-modes": "/roadmaps/101-backend/content/108-more-about-databases/105-failure-modes.md",
"more-about-databases:profiling-performance": "/roadmaps/101-backend/content/108-more-about-databases/106-profiling-performance.md",
"scaling-databases": "/roadmaps/101-backend/content/109-scaling-databases/readme.md",
"scaling-databases:database-indexes": "/roadmaps/101-backend/content/109-scaling-databases/100-database-indexes.md",
"scaling-databases:data-replication": "/roadmaps/101-backend/content/109-scaling-databases/101-data-replication.md",
"scaling-databases:sharding-strategies": "/roadmaps/101-backend/content/109-scaling-databases/102-sharding-strategies.md",
"scaling-databases:cap-theorem": "/roadmaps/101-backend/content/109-scaling-databases/103-cap-theorem.md",
"apis": "/roadmaps/101-backend/content/109-apis/readme.md",
"apis:rest": "/roadmaps/101-backend/content/109-apis/100-rest.md",
"apis:json-apis": "/roadmaps/101-backend/content/109-apis/101-json-apis.md",
"apis:soap": "/roadmaps/101-backend/content/109-apis/102-soap.md",
"apis:grpc": "/roadmaps/101-backend/content/109-apis/103-grpc.md",
"apis:hateoas": "/roadmaps/101-backend/content/109-apis/104-hateoas.md",
"apis:graphql": "/roadmaps/101-backend/content/109-apis/106-graphql.md",
"apis:open-api-spec": "/roadmaps/101-backend/content/109-apis/105-open-api-spec.md",
"apis:authentication": "/roadmaps/101-backend/content/109-apis/106-authentication/readme.md",
"apis:authentication:cookie-based": "/roadmaps/101-backend/content/109-apis/106-authentication/100-cookie-based.md",
@@ -86,6 +91,7 @@
"web-security-knowledge:scrypt": "/roadmaps/101-backend/content/111-web-security-knowledge/104-scrypt.md",
"web-security-knowledge:https": "/roadmaps/101-backend/content/111-web-security-knowledge/105-https.md",
"web-security-knowledge:content-security-policy": "/roadmaps/101-backend/content/111-web-security-knowledge/105-content-security-policy.md",
"web-security-knowledge:server-security": "/roadmaps/101-backend/content/111-web-security-knowledge/106-server-security.md",
"web-security-knowledge:cors": "/roadmaps/101-backend/content/111-web-security-knowledge/106-cors.md",
"web-security-knowledge:ssl-tls": "/roadmaps/101-backend/content/111-web-security-knowledge/107-ssl-tls.md",
"web-security-knowledge:owasp": "/roadmaps/101-backend/content/111-web-security-knowledge/108-owasp.md",
@@ -98,16 +104,15 @@
"design-and-development-principles:gof-design-patterns": "/roadmaps/101-backend/content/114-design-and-development-principles/100-gof-design-patterns.md",
"design-and-development-principles:domain-driven-design": "/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md",
"design-and-development-principles:test-driven-development": "/roadmaps/101-backend/content/114-design-and-development-principles/102-test-driven-development.md",
"design-and-development-principles:solid": "/roadmaps/101-backend/content/114-design-and-development-principles/103-solid.md",
"design-and-development-principles:kiss": "/roadmaps/101-backend/content/114-design-and-development-principles/104-kiss.md",
"design-and-development-principles:yagni": "/roadmaps/101-backend/content/114-design-and-development-principles/105-yagni.md",
"design-and-development-principles:dry": "/roadmaps/101-backend/content/114-design-and-development-principles/106-dry.md",
"design-and-development-principles:cqrs": "/roadmaps/101-backend/content/114-design-and-development-principles/103-cqrs.md",
"design-and-development-principles:event-sourcing": "/roadmaps/101-backend/content/114-design-and-development-principles/104-event-sourcing.md",
"architectural-patterns": "/roadmaps/101-backend/content/115-architectural-patterns/readme.md",
"architectural-patterns:monolithic-apps": "/roadmaps/101-backend/content/115-architectural-patterns/100-monolithic-apps.md",
"architectural-patterns:microservices": "/roadmaps/101-backend/content/115-architectural-patterns/101-microservices.md",
"architectural-patterns:soa": "/roadmaps/101-backend/content/115-architectural-patterns/102-soa.md",
"architectural-patterns:cqrs": "/roadmaps/101-backend/content/115-architectural-patterns/103-cqrs.md",
"architectural-patterns:serverless": "/roadmaps/101-backend/content/115-architectural-patterns/104-serverless.md",
"architectural-patterns:service-mesh": "/roadmaps/101-backend/content/115-architectural-patterns/105-service-mesh.md",
"architectural-patterns:twelve-factor-apps": "/roadmaps/101-backend/content/115-architectural-patterns/106-twelve-factor-apps.md",
"search-engines": "/roadmaps/101-backend/content/116-search-engines/readme.md",
"search-engines:elasticsearch": "/roadmaps/101-backend/content/116-search-engines/100-elasticsearch.md",
"search-engines:solr": "/roadmaps/101-backend/content/116-search-engines/101-solr.md",
@@ -116,7 +121,7 @@
"message-brokers:kafka": "/roadmaps/101-backend/content/117-message-brokers/101-kafka.md",
"containerization": "/roadmaps/101-backend/content/118-containerization/readme.md",
"containerization:docker": "/roadmaps/101-backend/content/118-containerization/100-docker.md",
"containerization:rkt": "/roadmaps/101-backend/content/118-containerization/101-rkt.md",
"containerization:kubernetes": "/roadmaps/101-backend/content/118-containerization/103-kubernetes.md",
"containerization:lxc": "/roadmaps/101-backend/content/118-containerization/102-lxc.md",
"graphql": "/roadmaps/101-backend/content/119-graphql/readme.md",
"graphql:apollo": "/roadmaps/101-backend/content/119-graphql/100-apollo.md",
@@ -124,13 +129,19 @@
"graph-databases": "/roadmaps/101-backend/content/120-graph-databases/readme.md",
"graph-databases:neo4j": "/roadmaps/101-backend/content/120-graph-databases/100-neo4j.md",
"web-sockets": "/roadmaps/101-backend/content/121-web-sockets.md",
"server-sent-events": "/roadmaps/101-backend/content/122-server-sent-events.md",
"web-servers": "/roadmaps/101-backend/content/122-web-servers/readme.md",
"web-servers:nginx": "/roadmaps/101-backend/content/122-web-servers/100-nginx.md",
"web-servers:apache": "/roadmaps/101-backend/content/122-web-servers/101-apache.md",
"web-servers:caddy": "/roadmaps/101-backend/content/122-web-servers/102-caddy.md",
"web-servers:ms-iis": "/roadmaps/101-backend/content/122-web-servers/103-ms-iis.md",
"scalability": "/roadmaps/101-backend/content/123-scalability/readme.md",
"scalability:mitigation-strategies": "/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies.md",
"scalability:mitigation-strategies": "/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies/readme.md",
"scalability:mitigation-strategies:graceful-degradation": "/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md",
"scalability:mitigation-strategies:throttling": "/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies/101-throttling.md",
"scalability:mitigation-strategies:backpressure": "/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md",
"scalability:mitigation-strategies:loadshifting": "/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md",
"scalability:mitigation-strategies:circuit-breaker": "/roadmaps/101-backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.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-vertical-scaling": "/roadmaps/101-backend/content/123-scalability/103-horizontal-vertical-scaling.md",

View File

@@ -8,4 +8,4 @@ The Internet is a global network of computers connected to each other which comm
<BadgeLink colorScheme='yellow' badgeText='Read' href='/guides/what-is-internet'>Introduction to Internet</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=x3c1ih2NJEg'>How does the Internet work?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7_LPdttKXPc'>How the Internet Works in 5 Minutes</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=zN8YNNHcaZc'>Internet for Dummies</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=zN8YNNHcaZc'>How does the internet work? (Full Course)</BadgeLink>

View File

@@ -7,4 +7,5 @@ HTTP is the `TCP/IP` based application layer communication protocol which standa
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview'>An overview of HTTP</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://kamranahmed.info/blog/2016/08/13/http-in-depth'>Journey to HTTP/2</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/'>HTTP/3 From A To Z: Core Concepts</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=a-sBfyiXysI'>HTTP/1 to HTTP/2 to HTTP/3</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=iYM2zFP3Zn0'>HTTP Crash Course & Exploration</BadgeLink>

View File

@@ -1,7 +1,10 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/'>What is DNS?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://howdns.works/'>How DNS works (comic)</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=Wj0od2ag5sk'>DNS and How does it Work?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7lxgpKh_fRY'>DNS Records</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=zEmUuNFBgN8&list=PLTk5ZYSbd9MhMmOiPhfRJNW7bhxHo4q-K'>Complete DNS mini-series</BadgeLink>

View File

@@ -4,7 +4,7 @@ CSS or Cascading Style Sheets is the language used to style the frontend of any
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/css/'>W3Schools — Learn CSS</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/learn/responsive-web-design/'>freeCodeCamp — Responsive Web Design</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/learn/2022/responsive-web-design'>freeCodeCamp — Responsive Web Design</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://learn.shayhowe.com/html-css/building-your-first-web-page/'>Learn to Code HTML & CSS</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://flexbox.io/'>What The Flexbox!</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-css'>Learn CSS | Codecademy</BadgeLink>

View File

@@ -6,3 +6,4 @@ As a backend developer, you may not need to have proficient knowledge of the fro
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3schools.com/html/html_intro.asp'>W3Schools: Learn HTML</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/css/'>W3Schools: Learn CSS</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.w3schools.com/js/'>W3Schools: JavaScript Tutorial</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/category/frontend-dev/'>Articles about Frontend Development</BadgeLink>

Some files were not shown because too many files have changed in this diff Show More