Compare commits

...

418 Commits

Author SHA1 Message Date
Kamran Ahmed
3ac65ea1e1 Update react roadmap image and PDFs 2022-12-28 19:55:26 +04:00
Kamran Ahmed
234b562857 Update react roadmap 2022-12-28 19:54:40 +04:00
Kamran Ahmed
ef67abc210 Update react roadmap 2022-12-28 16:23:09 +04:00
Kamran Ahmed
e1fec34ad9 Update FE, BE and DevOps year to 2023 2022-12-27 17:35:18 +04:00
Kamran Ahmed
dfa3c5d921 Update devops roadmap image and pdfs 2022-12-27 17:26:21 +04:00
Kamran Ahmed
717d0a723a Add secret management topic 2022-12-27 17:26:21 +04:00
Kamran Ahmed
16a8bac55d Add GitOps topic to DevOps roadmap 2022-12-27 17:26:21 +04:00
Kamran Ahmed
bf7952401d Remove C and C++ 2022-12-27 17:26:21 +04:00
Kamran Ahmed
fb5b777425 Update operating systems, networking tools, servers, ci/cd and config mgmt 2022-12-27 17:26:21 +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
1063 changed files with 78998 additions and 21695 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",

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

@@ -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

@@ -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

@@ -4,9 +4,9 @@
"title": "Frontend Developer Roadmap: Learn to become a modern frontend developer",
"description": "Learn to become a modern frontend developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern frontend development.",
"keywords": [
"javascript roadmap 2022",
"frontend roadmap 2022",
"frontend developer roadmap 2022",
"javascript roadmap 2023",
"frontend roadmap 2023",
"frontend developer roadmap 2023",
"guide to becoming a developer",
"guide to becoming a frontend developer",
"frontend developer",
@@ -32,9 +32,9 @@
]
},
"title": "Frontend Developer",
"description": "Step by step guide to becoming a modern frontend developer in 2022",
"description": "Step by step guide to becoming a modern frontend developer in 2023",
"featuredTitle": "Frontend",
"featuredDescription": "Step by step guide to becoming a frontend developer in 2022",
"featuredDescription": "Step by step guide to becoming a frontend developer in 2023",
"type": "role",
"author": {
"name": "Kamran Ahmed",
@@ -63,8 +63,8 @@
"title": "Backend Developer Roadmap: Learn to become a modern backend developer",
"description": "Learn to become a modern backend developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern backend development.",
"keywords": [
"backend roadmap 2022",
"backend developer roadmap 2022",
"backend roadmap 2023",
"backend developer roadmap 2023",
"guide to becoming a developer",
"guide to becoming a backend developer",
"backend roadmap",
@@ -90,10 +90,10 @@
]
},
"title": "Backend Developer",
"description": "Step by step guide to becoming a modern backend developer in 2022",
"description": "Step by step guide to becoming a modern backend developer in 2023",
"type": "role",
"featuredTitle": "Backend",
"featuredDescription": "Step by step guide to becoming a backend developer in 2022",
"featuredDescription": "Step by step guide to becoming a backend developer in 2023",
"featured": true,
"imageUrl": "/roadmaps/backend.png",
"jsonUrl": "/project/backend.json",
@@ -122,9 +122,9 @@
"title": "DevOps Roadmap: Learn to become a DevOps Engineer or SRE",
"description": "Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap.",
"keywords": [
"devops roadmap 2022",
"sre roadmap 2022",
"operations roadmap 2022",
"devops roadmap 2023",
"sre roadmap 2023",
"operations roadmap 2023",
"guide to becoming a devops engineer",
"devops roadmap",
"sre roadmap",
@@ -143,10 +143,10 @@
]
},
"title": "DevOps Roadmap",
"description": "Step by step guide for DevOps, SRE or any other Operations Role in 2022",
"description": "Step by step guide for DevOps, SRE or any other Operations Role in 2023",
"featuredTitle": "DevOps",
"type": "role",
"featuredDescription": "Step by step guide for DevOps or operations role in 2022",
"featuredDescription": "Step by step guide for DevOps or operations role in 2023",
"featured": true,
"imageUrl": "/roadmaps/devops.png",
"jsonUrl": "/project/devops.json",
@@ -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",
@@ -202,7 +251,6 @@
"isTextHeavy": false,
"isCommunity": false,
"featured": true,
"resourcesPath": "/roadmaps/103-react/resources.md",
"jsonUrl": "/project/react.json",
"versions": [
"latest",
@@ -575,7 +623,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 +1050,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

@@ -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

@@ -7,3 +7,5 @@ HTML stands for HyperText Markup Language. It is used on the frontend and gives
<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,8 +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

@@ -5,8 +5,10 @@ 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,15 +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

@@ -8,3 +8,5 @@ ECMAScript 2015 or ES2015 is a significant update to the JavaScript programming
<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

@@ -16,4 +16,6 @@ JavaScript allows you to add interactivity to your pages. Common examples that y
<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,6 +2,8 @@
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>

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

@@ -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

@@ -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

@@ -5,3 +5,4 @@ Playwright is an open-source test automation library initially developed by Micr
<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,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

@@ -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

@@ -3,9 +3,9 @@
"title": "Frontend Developer Roadmap: Learn to become a modern frontend developer",
"description": "Learn to become a modern frontend developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern frontend development.",
"keywords": [
"javascript roadmap 2022",
"frontend roadmap 2022",
"frontend developer roadmap 2022",
"javascript roadmap 2023",
"frontend roadmap 2023",
"frontend developer roadmap 2023",
"guide to becoming a developer",
"guide to becoming a frontend developer",
"frontend developer",
@@ -31,9 +31,9 @@
]
},
"title": "Frontend Developer",
"description": "Step by step guide to becoming a modern frontend developer in 2022",
"description": "Step by step guide to becoming a modern frontend developer in 2023",
"featuredTitle": "Frontend",
"featuredDescription": "Step by step guide to becoming a frontend developer in 2022",
"featuredDescription": "Step by step guide to becoming a frontend developer in 2023",
"type": "role",
"author": {
"name": "Kamran Ahmed",

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

@@ -7,3 +7,4 @@ The Domain Name System (DNS) is the phonebook of the Internet. Humans access inf
<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>

View File

@@ -3,6 +3,5 @@
An operating system is a main program on computer, that governs all other applications. It allows you to use browsers, play games, print documents, launch your favorite program.
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialspoint.com/operating_system/os_overview.htm'>Operating System - Overview</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://infinite.education/view/how_oss_work_in_general'>How OSs work in general</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://codex.cs.yale.edu/avi/os-book/OS10/index.html'>Operating System Concepts</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=9GDX-IyZ_C8'>Operating System Basics </BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=9GDX-IyZ_C8'>Operating System Basics </BadgeLink>

View File

@@ -9,7 +9,7 @@ To understand these commands, read through the manual pages by using `man` comma
After enough exposure and practice to these commands, it will become easier to use these in practice
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.hostinger.com/tutorials/linux-commands'>34 Basic Linux Commands</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.hostinger.com/tutorials/linux-commands'>40 Basic Linux Commands</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://github.com/ibraheemdev/modern-unix'>A collection of modern/faster/saner alternatives to common unix commands</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.learnenough.com/command-line-tutorial'>Command Line Tutorial</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Challenge' href='https://cmdchallenge.com/'>Commandline Challenge</BadgeLink>

View File

@@ -4,5 +4,6 @@ Operating System is a program that manages a computers resources, especially
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/'>What is an operating system?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/os-tutorial.html'>Operating System summary</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=26QPDBe-NB8&ab_channel=CrashCourse'>Operating Systems: Crash Course Computer Science #18</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=vBURTt97EkA&list=PL9hkZBQk8d1zEGbY7ShWCZ2n1gtxqkRrS&index=1'>Introduction to Operating System</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=vBURTt97EkA&list=PL9hkZBQk8d1zEGbY7ShWCZ2n1gtxqkRrS&index=1'>Introduction to Operating System</BadgeLink>

View File

@@ -15,3 +15,5 @@ Go is an open source programming language supported by Google. Go can be used to
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://gobyexample.com/'>Go by Example - annotated example programs</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-go'>Learn Go | Codecademy</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.w3schools.com/go/'>W3Schools Go Tutorial </BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/make-a-restful-json-api-go/'>Making a RESTful JSON API in Go</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/go-the-programming-language-of-the-cloud/'>Go, the Programming Language of the Cloud</BadgeLink>

View File

@@ -5,3 +5,5 @@ Rust is a modern systems programming language focusing on safety, speed, and con
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://doc.rust-lang.org/book/'>The Rust Programming Language - online book</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://doc.rust-lang.org/stable/rust-by-example/index.html'>Rust by Example - collection of runnable examples</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/rust-vs-go-why-theyre-better-together/'>Rust vs. Go: Why Theyre Better Together</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/rust-by-the-numbers-the-rust-programming-language-in-2021/'>Rust by the Numbers: The Rust Programming Language in 2021</BadgeLink>

View File

@@ -1,4 +1,4 @@
# Csharp
# C#
C# (pronounced "C sharp") is a general purpose programming language made by Microsoft. It is used to perform different tasks and can be used to create web apps, games, mobile apps, etc.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>

View File

@@ -6,5 +6,6 @@ PHP is a general purpose scripting language often used for making dynamic and in
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://php.org/'>PHP Website</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/php/'>Learn PHP - W3Schools</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://phptherightway.com/'>PHP - The Right Way</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=U2lQWR6uIuo&list=PL3VM-unCzF8ipG50KDjnzhugceoSG3RTC'>PHP for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=2eebptXfEvw'>PHP For Absolute Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=sVbEyFZKgqk&list=PLr3d3QYzkw2xabQRUpcZ_IBk9W50M9pe-'>Full PHP 8 Tutorial - Learn PHP The Right Way In 2022</BadgeLink>

View File

@@ -6,8 +6,9 @@
# JavaScript
JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. It lets us add interactivity to pages e.g. you might have seen sliders, alerts, click interactions, and popups etc on different websites -- all of that is built using JavaScript. Apart from being used in the browser, it is also used in other non-browser environments as well such as Node.js for writing server-side code in JavaScript, Electron for writing desktop applications, React Native for mobile applications and so on.
Apart from being used in the browser, JavaScript is also used in backend e.g. using [Node.js](https://nodejs.org/) or [Deno](https://deno.land/) for writing server-side code in JavaScript.
If you pick up JavaScript for the Backend, my personal recommendation would be to learn [JavaScript](/javascript) and then go with [Node.js](/nodejs) as it is the most popular and widely used option. Also, I would recommend learning TypeScript later on as you continue with your backend development Journey; it's a superset of JavaScript and is used in many projects.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>

View File

@@ -17,3 +17,5 @@ Python is a well known programming language which is both a strongly typed and a
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.w3schools.com/python/'>W3Schools - Python Tutorial </BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://ehmatthes.github.io/pcc/'>Python Crash Course</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.codecademy.com/learn/learn-python'>Codecademy - Learn Python 2</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/an-introduction-to-python-for-non-programmers/'>An Introduction to Python for Non-Programmers</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/getting-started-with-python-and-influxdb/'>Getting Started with Python and InfluxDB</BadgeLink>

View File

@@ -6,3 +6,4 @@ Ruby is a high-level, interpreted programming language that blends Perl, Smallta
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.ruby-lang.org/en/'>Ruby Website</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.ruby-lang.org/en/documentation/quickstart/'>Learn Ruby in 20 minutes</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.codecademy.com/learn/learn-ruby'>Learn Ruby | Codecademy</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://thenewstack.io/ruby-a-programmers-best-friend/'>Ruby, An Introduction to a Programmers Best Friend</BadgeLink>

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