From cdbfa8ae9a4853e184732b93094a34c786d9f409 Mon Sep 17 00:00:00 2001 From: Kyle Thorpe Date: Fri, 21 Jan 2022 00:20:16 -0500 Subject: [PATCH 1/5] DRY description and resources (#1020) * DRY description and resources Add a description and resources for DRY software development/design principle * Minor space change Co-authored-by: Kamran Ahmed --- .../114-design-and-development-principles/106-dry.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/106-dry.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/106-dry.md index 378c54dd5..5ca661937 100644 --- a/content/roadmaps/101-backend/content/114-design-and-development-principles/106-dry.md +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/106-dry.md @@ -1 +1,7 @@ -# Dry \ No newline at end of file +# DRY + +Don't Repeat Yourself (DRY) is a software design principle which encourages developers to not repeat software patterns or code. DRY encourages code reusability, often in the form of methods, functions, or subroutines. When DRY is implemented successfully, developers are able to make one change to update many related elements while avoiding making changes to unrelated elements. + +Free Content +Software Design Principles DRY and KISS +Best Practices for Scientific Computing From 1678bb8910a9a513ba86423d8ca623d55a2a12fa Mon Sep 17 00:00:00 2001 From: Kyle Thorpe Date: Fri, 21 Jan 2022 00:21:15 -0500 Subject: [PATCH 2/5] YAGNI description and resources (#1019) * YAGNI description and resources Add description and resources for YAGNI software development/design principle * Update 105-yagni.md Co-authored-by: Kamran Ahmed --- .../114-design-and-development-principles/105-yagni.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/105-yagni.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/105-yagni.md index 99a944f08..9072b3653 100644 --- a/content/roadmaps/101-backend/content/114-design-and-development-principles/105-yagni.md +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/105-yagni.md @@ -1 +1,7 @@ -# Yagni \ No newline at end of file +# YAGNI + +You Aren't Going to Need It (YAGNI) is a software design principle from the Extreme Programming (XP) framework that states when developing software, functionality or features should not be added until they are necessary. Within agile software development in general, requirements are always open to change; any extra functionality may end up being wasted time and resources. + +Free Content +Yagni +YAGNI From fbb252baf3f61bcbd77fc9bbbc551a088335c628 Mon Sep 17 00:00:00 2001 From: Kyle Thorpe Date: Fri, 21 Jan 2022 00:21:39 -0500 Subject: [PATCH 3/5] KISS description and resources (#1018) Add description and resources for KISS software development/design principle --- .../114-design-and-development-principles/104-kiss.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/content/roadmaps/101-backend/content/114-design-and-development-principles/104-kiss.md b/content/roadmaps/101-backend/content/114-design-and-development-principles/104-kiss.md index 19562d9b6..870ba4e9a 100644 --- a/content/roadmaps/101-backend/content/114-design-and-development-principles/104-kiss.md +++ b/content/roadmaps/101-backend/content/114-design-and-development-principles/104-kiss.md @@ -1 +1,7 @@ -# Kiss \ No newline at end of file +# KISS + +Keep It Simple, Stupid (KISS) is a software design principle that states avoiding needless complexity is the best way to build software that is easier to maintain, understand, and contains fewer defects. A simple product that does a single thing well is better than a complex product that does many things poorly. + +Free Content +Keep It Simple +Keep It Simple, Stupid (Kiss) From d03f91cb01897ddfd4fbb8f919db2f4a53216d2c Mon Sep 17 00:00:00 2001 From: Mark Rossetti Date: Thu, 20 Jan 2022 21:24:15 -0800 Subject: [PATCH 4/5] Add link to Roy Fielding's paper (#1017) * Add link to Roy Fielding's paper The backend diagram makes reference to Roy Fielding's dissertation. I thought it would be helpful to have a direct link to his paper for convenience. * Update 100-rest.md Co-authored-by: Kamran Ahmed --- .../roadmaps/101-backend/content/109-apis/100-rest.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/content/roadmaps/101-backend/content/109-apis/100-rest.md b/content/roadmaps/101-backend/content/109-apis/100-rest.md index 5088a865c..36dbc8e7c 100644 --- a/content/roadmaps/101-backend/content/109-apis/100-rest.md +++ b/content/roadmaps/101-backend/content/109-apis/100-rest.md @@ -1 +1,9 @@ -# Rest \ No newline at end of file +# REST + +REST, or REpresentational State Transfer, is an architectural style for providing standards between computer systems on the web, making it easier for systems to communicate with each other. + +Free Content + +What is REST? +What is a REST API? +Roy Fielding's dissertation chapter, "Representational State Transfer (REST)" From 2eab2b77ac049dc6968095f8e6bd356a01496263 Mon Sep 17 00:00:00 2001 From: Archit Sharma <74408634+iArchitSharma@users.noreply.github.com> Date: Fri, 21 Jan 2022 12:27:15 +0700 Subject: [PATCH 5/5] Resources added for NPM Scripts (#1012) * Resources added for NPM Scripts * Update 100-npm-scripts.md Co-authored-by: Kamran Ahmed --- .../110-build-tools/100-task-runners/100-npm-scripts.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/100-npm-scripts.md b/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/100-npm-scripts.md index e8ded7f9b..23401920c 100644 --- a/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/100-npm-scripts.md +++ b/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/100-npm-scripts.md @@ -1 +1,8 @@ -# Npm scripts \ No newline at end of file +# npm Scripts + +npm scripts are the entries in the scripts field of the package.json file. The scripts field holds an object where you can specify various commands and scripts that you want to expose. + +Free Content +Introduction to npm scripts +Codevolution: npm scripts +