Add resource paragraph before links

astro
Kamran Ahmed 2 years ago
parent 02883e50f0
commit fed1803243
  1. 1
      bin/content-migrator.cjs
  2. 2
      src/components/MarkdownContent/MarkdownContent.astro
  3. 2
      src/components/TopicOverlay.astro
  4. 2
      src/roadmaps/angular/content/100-typescript-basics/100-what-is-typescript.md
  5. 2
      src/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md
  6. 2
      src/roadmaps/angular/content/100-typescript-basics/102-structural-typing.md
  7. 2
      src/roadmaps/angular/content/100-typescript-basics/103-type-inference.md
  8. 2
      src/roadmaps/angular/content/100-typescript-basics/104-union-types.md
  9. 2
      src/roadmaps/angular/content/100-typescript-basics/105-builtin-types.md
  10. 2
      src/roadmaps/angular/content/100-typescript-basics/106-type-guard.md
  11. 2
      src/roadmaps/angular/content/100-typescript-basics/index.md
  12. 2
      src/roadmaps/angular/content/101-rxjs-basics/100-observable-pattern.md
  13. 2
      src/roadmaps/angular/content/101-rxjs-basics/101-observable-lifecycle.md
  14. 2
      src/roadmaps/angular/content/101-rxjs-basics/102-marble-diagrams.md
  15. 2
      src/roadmaps/angular/content/101-rxjs-basics/103-rxjs-vs-promises.md
  16. 2
      src/roadmaps/angular/content/101-rxjs-basics/104-operators/index.md
  17. 2
      src/roadmaps/angular/content/102-angular-basics/100-angularjs-vs-angular.md
  18. 2
      src/roadmaps/angular/content/102-angular-basics/101-angular-components.md
  19. 2
      src/roadmaps/angular/content/102-angular-basics/102-angular-templates.md
  20. 2
      src/roadmaps/angular/content/102-angular-basics/103-angular-modules.md
  21. 2
      src/roadmaps/angular/content/102-angular-basics/104-dependency-injection.md
  22. 2
      src/roadmaps/angular/content/102-angular-basics/105-services.md
  23. 2
      src/roadmaps/angular/content/102-angular-basics/106-routing.md
  24. 2
      src/roadmaps/angular/content/103-angular-cli/100-ng-build.md
  25. 2
      src/roadmaps/angular/content/103-angular-cli/101-ng-serve.md
  26. 2
      src/roadmaps/angular/content/103-angular-cli/102-ng-generate.md
  27. 2
      src/roadmaps/angular/content/103-angular-cli/103-ng-test.md
  28. 2
      src/roadmaps/angular/content/103-angular-cli/104-ng-e2e.md
  29. 2
      src/roadmaps/angular/content/103-angular-cli/105-ng-new.md
  30. 2
      src/roadmaps/angular/content/103-angular-cli/106-schematics.md
  31. 2
      src/roadmaps/angular/content/103-angular-cli/index.md
  32. 2
      src/roadmaps/angular/content/104-templates/100-interpolation.md
  33. 2
      src/roadmaps/angular/content/104-templates/101-property-binding.md
  34. 2
      src/roadmaps/angular/content/104-templates/102-template-statements.md
  35. 2
      src/roadmaps/angular/content/104-templates/103-binding-data-props-attrs-events.md
  36. 2
      src/roadmaps/angular/content/104-templates/104-reference-vars.md
  37. 2
      src/roadmaps/angular/content/104-templates/105-input-output.md
  38. 2
      src/roadmaps/angular/content/104-templates/index.md
  39. 2
      src/roadmaps/angular/content/105-rendering-topics/100-builtin-directives.md
  40. 2
      src/roadmaps/angular/content/105-rendering-topics/101-builtin-pipes.md
  41. 2
      src/roadmaps/angular/content/105-rendering-topics/102-change-detection.md
  42. 2
      src/roadmaps/angular/content/106-forms/100-reactive-forms.md
  43. 2
      src/roadmaps/angular/content/106-forms/101-template-driven-forms.md
  44. 2
      src/roadmaps/angular/content/106-forms/index.md
  45. 2
      src/roadmaps/angular/content/107-routing/101-router-outlets.md
  46. 2
      src/roadmaps/angular/content/107-routing/104-guards.md
  47. 2
      src/roadmaps/angular/content/107-routing/105-lazy-loading.md
  48. 2
      src/roadmaps/angular/content/107-routing/index.md
  49. 2
      src/roadmaps/angular/content/108-services-remote-data/100-dependency-injection.md
  50. 2
      src/roadmaps/angular/content/108-services-remote-data/index.md
  51. 2
      src/roadmaps/angular/content/109-lifecycle-hooks.md
  52. 2
      src/roadmaps/angular/content/110-state-management/100-ngxs.md
  53. 2
      src/roadmaps/angular/content/110-state-management/101-ngrx.md
  54. 2
      src/roadmaps/angular/content/110-state-management/index.md
  55. 2
      src/roadmaps/angular/content/112-creating-a-custom-x/100-directive.md
  56. 2
      src/roadmaps/angular/content/112-creating-a-custom-x/101-pipe.md
  57. 2
      src/roadmaps/angular/content/112-creating-a-custom-x/102-library.md
  58. 2
      src/roadmaps/angular/content/113-angular-ssr/100-angular-universal.md
  59. 2
      src/roadmaps/angular/content/113-angular-ssr/index.md
  60. 2
      src/roadmaps/angular/content/114-angular-ssg/100-scully.md
  61. 2
      src/roadmaps/angular/content/115-testing-angular-apps/100-testing-pipes.md
  62. 2
      src/roadmaps/angular/content/115-testing-angular-apps/101-testing-services.md
  63. 2
      src/roadmaps/angular/content/115-testing-angular-apps/102-testing-component-bindings.md
  64. 2
      src/roadmaps/angular/content/115-testing-angular-apps/103-testing-directives.md
  65. 2
      src/roadmaps/angular/content/115-testing-angular-apps/104-testing-component-templates.md
  66. 2
      src/roadmaps/aspnet-core/content/100-basics-of-csharp/100-csharp.md
  67. 2
      src/roadmaps/aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md
  68. 2
      src/roadmaps/aspnet-core/content/101-general-development-skills/100-git.md
  69. 2
      src/roadmaps/aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md
  70. 2
      src/roadmaps/aspnet-core/content/101-general-development-skills/103-http-https.md
  71. 2
      src/roadmaps/aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md
  72. 2
      src/roadmaps/aspnet-core/content/102-database-fundamentals/102-stored-procedures.md
  73. 2
      src/roadmaps/aspnet-core/content/102-database-fundamentals/103-constraints.md
  74. 2
      src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md
  75. 2
      src/roadmaps/aspnet-core/content/104-orm/index.md
  76. 2
      src/roadmaps/aspnet-core/content/114-microservices/102-kubernetes.md
  77. 2
      src/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md
  78. 2
      src/roadmaps/backend/content/100-internet/101-what-is-http.md
  79. 2
      src/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md
  80. 2
      src/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md
  81. 2
      src/roadmaps/backend/content/100-internet/104-what-is-domain-name.md
  82. 2
      src/roadmaps/backend/content/100-internet/105-what-is-hosting.md
  83. 2
      src/roadmaps/backend/content/100-internet/index.md
  84. 2
      src/roadmaps/backend/content/101-basic-frontend/100-html.md
  85. 2
      src/roadmaps/backend/content/101-basic-frontend/101-css.md
  86. 2
      src/roadmaps/backend/content/101-basic-frontend/102-javascript.md
  87. 2
      src/roadmaps/backend/content/101-basic-frontend/index.md
  88. 2
      src/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md
  89. 2
      src/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md
  90. 2
      src/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md
  91. 2
      src/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md
  92. 2
      src/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md
  93. 2
      src/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md
  94. 2
      src/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md
  95. 2
      src/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md
  96. 2
      src/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md
  97. 2
      src/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md
  98. 2
      src/roadmaps/backend/content/102-os-general-knowledge/index.md
  99. 2
      src/roadmaps/backend/content/103-learn-a-language/100-go.md
  100. 2
      src/roadmaps/backend/content/103-learn-a-language/101-rust.md
  101. Some files were not shown because too many files have changed in this diff Show More

@ -88,6 +88,7 @@ roadmapDirs.forEach((roadmapDirName) => {
resourceLinks = [`- [Visit Dedicated ${title}](${href})`, ...resourceLinks];
}
resourceLinks = ['Visit the following resources to learn more:\n', ...resourceLinks];
resourceLinks = resourceLinks.join('\n');
let newFileContent = fileContent.replace(

@ -3,7 +3,7 @@ import "./Prism.css";
---
<div class="bg-gray-50 py-4 sm:py-10">
<div class="container prose prose-headings:mt-4 prose-headings:mb-2 prose-p:mb-0.5 prose-ul:mt-0">
<div class="container prose prose-headings:mt-4 prose-headings:mb-2 prose-p:mb-0.5">
<slot />
</div>
</div>

@ -24,7 +24,7 @@ import Loader from "./Loader.astro";
</button>
</div>
<div id='topic-content' class='prose prose-h1:mt-7 prose-h1:mb-1.5 prose-p:mt-0'></div>
<div id='topic-content' class='prose prose-h1:mt-7 prose-h1:mb-2.5 prose-p:mt-0 prose-li:m-0 prose-li:mb-0.5'></div>
</div>
<div class="bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-30"></div>
</div>

@ -2,6 +2,8 @@
TypeScript is a strongly typed, object-oriented, compiled programming language that builds on JavaScript. It is a superset of the JavaScript language, designed to give you better tooling at any scale. TypeScript calls itself “JavaScript with syntax for types.” In short, it is JavaScript with some additional features. The secret to the success of TypeScript is in the type checking, ensuring that the data flowing through the program is of the correct kind of data.
Visit the following resources to learn more:
- [What is TypeScript](https://thenewstack.io/what-is-typescript/)
- [W3Schools – TypeScript Tutorial](https://www.w3schools.com/typescript/)
- [Tutorials point – TypeScript Tutorial](https://www.tutorialspoint.com/typescript/index.htm)

@ -2,5 +2,7 @@
TypeScript extends JavaScript, providing a better developer experience. The benefits of using TypeScript over JavaScript include.Static typing – TypeScript comes with optional static typing and a type inference system, which means that a variable declared with no type may be inferred by TypeScript based on its value. Object-oriented programming – TypeScript supports object-oriented programming concepts like classes, inheritance, etc. Compile time checks – JavaScript is an interpreted programming language. There is no compilation involved. Hence, the errors get caught during the runtime. Since TypeScript compiles into JavaScript, errors get reported during the compile time rather than the runtime. Code editor support – IDEs or code editors like VS Code support autocomplete for a TypeScript codebase. They also provide inline documentation and highlight the errors. Use existing packages – You might want to use an npm package written in JavaScript. Since TypeScript is a superset of JavaScript, you can import and use that package. Moreover, the TypeScript community creates and maintains type definitions for popular packages that can be utilized in your project.
Visit the following resources to learn more:
- [linguinecode - Reasons to use TypeScript](https://linguinecode.com/post/5-reasons-why-to-use-typescript)
- [Codemotion - Reasons to use TypeScript](https://www.codemotion.com/magazine/backend/why-you-should-use-typescript-for-your-next-project/)

@ -4,6 +4,8 @@ Type compatibility in TypeScript is based on structural subtyping. `Structural t
TypeScript’s structural type system was designed based on how JavaScript code is typically written. Because JavaScript widely uses anonymous objects like function expressions and object literals, it’s much more natural to represent the relationships found in JavaScript libraries with a structural type system instead of a nominal one.
Visit the following resources to learn more:
- [Structural typings — Medium](https://medium.com/redox-techblog/structural-typing-in-typescript-4b89f21d6004)
- [Structural typings — Typescriptlang](https://www.typescriptlang.org/docs/handbook/type-compatibility.html)
- [Structural typing video for Beginners](https://www.youtube.com/watch?v=kWtwsX_rT3k)

@ -2,5 +2,7 @@
In TypeScript, several places where `type inference` is used to provide type information when there is no explicit type annotation. The type of the x variable is inferred to be a number. This inference occurs when variables and members are initialized, set parameter default values are, and determine function return types. For example, `let x: number`. In most cases, type inference is straightforward. In the following sections, we’ll explore some nuances in how types are inferred. For example, `let x: (number | null)[]`
Visit the following resources to learn more:
- [Type Interface - typescriptlang](https://www.typescriptlang.org/docs/handbook/type-inference.html)
- [Type Inference video for Beginners](https://www.youtube.com/watch?v=3ui_st7rtfA)

@ -2,5 +2,7 @@
In TypeScript, we can define a variable that can have multiple types of values. In other words, TypeScript can combine one or two types of data (i.e., number, string, etc.) in a single type, a union type. Union types are a powerful way to express a variable with multiple types. Two or more data types can be combined using the pipe ('|') symbol between the types. For example, `(type1 | type2 | type3 | .. | typeN)`.
Visit the following resources to learn more:
- [Union Types - typescriptlang](https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html)
- [Union Type video for Beginners](https://www.youtube.com/watch?v=uxjpm4W5pCo)

@ -2,5 +2,7 @@
The Builtin types represent the different types of values supported by the language. The builtin types check the validity of the supplied values before they are stored or manipulated by the program. This ensures that the code behaves as expected. The Builtin types further allow for richer code hinting and automated documentation too.
Visit the following resources to learn more:
- [TypeScript Types - Tutorialspoint](https://www.tutorialspoint.com/typescript/typescript_types.htm)
- [Builtin Type video for Beginners](https://www.youtube.com/watch?v=Nt9ajBrqV_M)

@ -6,4 +6,6 @@ TypeScript uses built-in JavaScript operators like `typeof`, `instanceof`, and t
Type guards are typically used for narrowing a type and are pretty similar to feature detection, allowing you to detect the correct methods, prototypes, and properties of a value. Therefore, you can quickly figure out how to handle that value.
Visit the following resources to learn more:
- [Types Guards - Blog](https://blog.logrocket.com/how-to-use-type-guards-typescript/)

@ -2,5 +2,7 @@
In order to enter into the world of Angular application development, typescript is necessary and it is the primary language here. Typescript is a superset of JavaScript. It comes with design-time support which is useful for type safety and tooling. Since, browsers cannot execute the TypeScript directly, it will be 'Transpiled' into JavaScript using the tsc compiler.
Visit the following resources to learn more:
- [Typescript a Beginners Guide](https://medium.com/jspoint/typescript-a-beginners-guide-6956fe8bcf9e)
- [TypeScript Playground](https://www.typescriptlang.org/play)

@ -4,4 +4,6 @@ The observer pattern is a software design pattern in which an object, named the
Angular uses the Observer pattern which simply means — Observable objects are registered, and other objects observe (in Angular using the subscribe method) them and take action when the observable object is acted on in some way.
Visit the following resources to learn more:
- [Angular and Observable](https://medium.com/fuzzycloud/angular-and-observable-4bf890b2a282)

@ -8,4 +8,6 @@ There are 4 stages for a life cycle of an observable.
- Execution
- Destruction
Visit the following resources to learn more:
- [Understanding Observable LifeCycle](https://medium.com/analytics-vidhya/understanding-rxjs-observables-ad5b34d9607f)

@ -2,6 +2,8 @@
Marble testing allows you to test asynchronous RxJS code synchronously and step-by-step with the help of RxJS TestScheduler test utility and using virtual time steps.
Visit the following resources to learn more:
- [Angular Marble Testing: A Brief Introduction](https://www.altamira.ai/blog/angular-marble-testing-a-brief-introduction/)
- [IUnderstanding Marble Diagrams for Reactive Streams](https://medium.com/@jshvarts/read-marble-diagrams-like-a-pro-3d72934d3ef5)
- [Interactive Diagrams](https://rxmarbles.com/#from)

@ -7,4 +7,6 @@ In a nutshell, the main differences between the Promise and the Observable are a
- The Promise can provide a single value, whereas the Observable is a stream of values (from 0 to multiple values),
you can apply RxJS operators to the Observable to get a new tailored stream.
Visit the following resources to learn more:
- [Why RxJS? RxJS vs Promises](https://javascript.plainenglish.io/why-rxjs-rxjs-vs-promises-b28962771d68)

@ -31,6 +31,8 @@ import { interval } from 'rxjs';
const observable = interval(1000 /* number of milliseconds */);
```
Visit the following resources to learn more:
- [List of creation operators](https://rxjs.dev/guide/operators#creation-operators-list)
- [Full RxJS Operators Documentation](https://rxjs.dev/guide/operators)

@ -2,5 +2,7 @@
AngularJS was the older version of Angular, whose support officially ended in January 2022. Angular is a component-based front-end development framework built on TypeScript, which includes a collection of well-integrated libraries that include features like routing, forms management, client-server communication, and more.
Visit the following resources to learn more:
- [AngularJS Website](https://angularjs.org/)
- [Official - Getting started with Angular](https://angular.io/start)

@ -7,5 +7,7 @@ Components are the main building block for Angular applications. Each component
* A CSS selector that defines how the component is used in a template
* Optionally, CSS styles applied to the template
Visit the following resources to learn more:
- [Angular Components Overview](https://angular.io/guide/component-overview)
- [Standalone Components in Angular](https://www.youtube.com/watch?v=x5PZwb4XurU)

@ -2,5 +2,7 @@
A Template is a form of HTML which tells Angular to go towards another component. To create many Angular features, special syntax within the templates is used.
Visit the following resources to learn more:
- [Understanding Templates](https://angular.io/guide/template-overview)
- [Template Syntax](https://angular.io/guide/template-syntax)

@ -2,4 +2,6 @@
Modules in Angular act like a container where we can group the components, directives, pipes, and services, related to the application.
Visit the following resources to learn more:
- [Introduction to Modules](https://angular.io/guide/architecture-modules)

@ -2,5 +2,7 @@
Dependency Injection is one of the fundamental concepts in Angular. DI is wired into the Angular framework and allows classes with Angular decorators, such as Components, Directives, Pipes, and Injectables, to configure dependencies that they need.
Visit the following resources to learn more:
- [Understanding Dependency Injection](https://angular.io/guide/dependency-injection)
- [Dependency Injection in Action](https://angular.io/guide/dependency-injection-in-action)

@ -2,6 +2,8 @@
Services let you define code or functionalities that are then accessible and reusable in many other components in the Angular project. It also helps you with the abstraction of logic and data that is hosted independently but can be shared across other components.
Visit the following resources to learn more:
- [Services](https://angular.io/tutorial/toh-pt4)
- [What is an Angular Service](https://www.javatpoint.com/what-is-an-angular-service)
- [Service for API Calls](https://www.knowledgehut.com/blog/web-development/make-api-calls-angular)

@ -2,5 +2,7 @@
Routing in Angular allows the users to create a single-page application with multiple views and allows navigation between them.
Visit the following resources to learn more:
- [Angular Routing](https://angular.io/guide/routing-overview)
- [Common Routing Tasks](https://angular.io/guide/router)

@ -2,5 +2,7 @@
The command can be used to build a project of type "application" or "library". When used to build a library, a different builder is invoked, and only the ts-config, configuration, and watch options are applied. All other options apply only to building applications.
Visit the following resources to learn more:
- [Ng Build - Angular.io](https://angular.io/cli/build)
- [Building an Angular project](https://www.youtube.com/watch?v=VB6WuCPDwz0)

@ -2,5 +2,7 @@
ng serve — This command builds, deploy, serves and every time watches your code changes. if find any change in code it builds and serves that code automatically. How do Angular builds? After coding our Angular apps using TypeScript, we use the Angular CLI command to build the app.
Visit the following resources to learn more:
- [Ng serve - Angular.io](https://angular.io/cli/serve)
- [Running a project with ng serve](https://www.youtube.com/watch?v=-w-RfHcLt5U)

@ -3,5 +3,7 @@
ng generate is used to create the component in angular project. These are the two main ways to generate a new component in Angular: using ng g c <component_name>, and using ng generate component <component_name>. Using either of these two commands, the new component can be generated pretty easily and followed by the suitable component name of your choice.
Visit the following resources to learn more:
- [Ng generate - Angular.io](https://angular.io/cli/generate)
- [Angular cli generate component](https://www.youtube.com/watch?v=NlHlu_zzmo4)

@ -5,5 +5,7 @@ ng test is used to runs unit tests in angular project.
`ng test <project> [options]` | `ng t <project> [options]`
Visit the following resources to learn more:
- [Ng test - Angular.io](https://angular.io/cli/test)
- [Angular Ng test commands](https://www.youtube.com/watch?v=n1O_eRwzRKA)

@ -2,5 +2,7 @@
End-to-end testing (E2E) of Angular applications is performed using the Protractor testing framework, which is created by the Angular team themselves. Protractor can perform end to end tests on Angular applications that are running in a real browser by interacting with it, similar to that of an end-user.
Visit the following resources to learn more:
- [Ng e2e - Angular.io](https://angular.io/cli/e2e)
- [Angular cli generate component](https://www.youtube.com/watch?v=3vFnhzEGfew)

@ -6,5 +6,7 @@ That’s the default usage of the command and creating a new project folder with
The default Angular project, All dependencies installed in node_modules folder , Testing files for each components
Visit the following resources to learn more:
- [Ng New - Angular.io](https://angular.io/cli/new)
- [ng New command](https://www.youtube.com/watch?v=NdEpZezptkQ)

@ -2,5 +2,7 @@
A schematic is a template-based code generator that supports complex logic. It is a set of instructions for transforming a software project by generating or modifying code.
Visit the following resources to learn more:
- [Angular Website](https://angular.io/guide/schematics#:~:text=A%20schematic%20is%20a%20template,collections%20and%20installed%20with%20npm.)
- [Angular Blog](https://blog.angular.io/schematics-an-introduction-dc1dfbc2a2b2?gi=ad9571373944)

@ -4,5 +4,7 @@ The Angular CLI is a command-line interface tool that you use to initialize, dev
`npm install -g @angular/cli`
Visit the following resources to learn more:
- [Angular CLI - Angular.io](https://angular.io/cli)
- [Angular CLI - setup](https://www.youtube.com/watch?v=mZnzX3J5XKI)

@ -2,4 +2,6 @@
Interpolation refers to embedding expressions into marked up text. By default, interpolation uses the double curly braces {{ and }} as delimiters. Angular replaces currentCustomer with the string value of the corresponding component property.
Visit the following resources to learn more:
- [Angular Official Website](ttps://angular.io/guide/interpolation)

@ -2,4 +2,6 @@
Property binding helps you set values for properties of HTML elements or directives. To bind to an element's property, enclose it in square brackets `[]` which causes Angular to evaluate the right-hand side of the assignment as a dynamic expression.
Visit the following resources to learn more:
- [Angular Official Website](https://angular.io/guide/property-binding)

@ -2,4 +2,6 @@
Template statements are methods or properties that you can use in your HTML to respond to user events. With template statements, your application can engage users through actions such as displaying dynamic content or submitting forms. Enclose the event in `()` which causes Angular to evaluate the right hand side of the assignment as one or more template statements chained together using semicolon `;`.
Visit the following resources to learn more:
- [Angular Official Website](https://angular.io/guide/template-statements)

@ -7,4 +7,6 @@ In an Angular template, a binding creates a live connection between view and the
- **event**: lets you listen for and respond to user actions such as keystrokes, mouse movements, clicks, and touches.
- **data**: It's a combination of property and event binding and helps you share data between components.
Visit the following resources to learn more:
- [Angular Official Website](https://angular.io/guide/binding-overview)

@ -2,4 +2,6 @@
Template reference variables help you use data from one part of a template in another part of the template. A template variable can refer to a DOM element within a template, component or directive. In the template, use the hash symbol, `#`, to declare a template reference variable.
Visit the following resources to learn more:
- [Angular Official Website](https://angular.io/guide/template-reference-variables)

@ -2,4 +2,6 @@
`@Input()` and `@Output()` give a child component a way to communicate with its parent component. `@Input()` lets a parent component update data in the child component. Conversely, `@Output()` lets the child send data to a parent component.
Visit the following resources to learn more:
- [Angular Official Website](https://angular.io/guide/inputs-outputs)

@ -2,4 +2,6 @@
A template is a form of HTML that tells Angular how to render the component.
Visit the following resources to learn more:
- [Introduction to Components and Templates](https://angular.io/guide/architecture-components)

@ -5,5 +5,7 @@ SKDirectives are classes that add additional behavior to elements in your Angula
`NgClass` Adds and removes a set of CSS classes. | `NgStyle` Adds and removes a set of HTML styles. | `NgModel` Adds two-way data binding to an HTML form element.
Visit the following resources to learn more:
- [Understanding BuiltIn Directives](https://angular.io/guide/built-in-directives)
- [BuiltIn Directives Types](https://thinkster.io/tutorials/angular-2-directives)

@ -5,5 +5,7 @@ Use pipes to transform strings, currency amounts, dates, and other data for disp
`DatePipe` | `UpperCasePipe` | `LowerCasePipe` | `CurrencyPipe` | `DecimalPipe` | `PercentPipe`
Visit the following resources to learn more:
- [Understanding BuiltIn Pipes](https://angular.io/guide/pipes)
- [BuiltIn Pipes - exampls](https://codecraft.tv/courses/angular/pipes/built-in-pipes/)

@ -2,5 +2,7 @@
Change detection is the process through which Angular checks to see whether your application state has changed, and if any DOM needs to be updated. At a high level, Angular walks your components from top to bottom, looking for changes. Angular runs its change detection mechanism periodically so that changes to the data model are reflected in an application’s view. Change detection can be triggered either manually or through an asynchronous event
Visit the following resources to learn more:
- [Understanding Change detection](https://angular.io/guide/change-detection)
- [4 Runtime Performance Optimizations ( Change detection )](https://www.youtube.com/watch?v=f8sA-i6gkGQ)

@ -2,6 +2,8 @@
Reactive Forms in angular are those which used to handle the inputs coming from the user. We can define controls by using classes such as FormGroup and FormControl.
Visit the following resources to learn more:
- [Reactive forms - Angular](https://angular.io/guide/reactive-forms)
- [Angular Reactive Forms](https://www.javatpoint.com/angular-reactive-forms)
- [How To Use Reactive Forms in Angular](https://www.digitalocean.com/community/tutorials/angular-reactive-forms-introduction)

@ -4,6 +4,8 @@ A Template driven form is the simplest form we can build in Angular. It is mainl
It uses two-way data-binding (ngModel) to create and handle the form components.
Visit the following resources to learn more:
- [Building a template-driven form](https://angular.io/guide/forms)
- [Template-Driven Forms](https://codecraft.tv/courses/angular/forms/template-driven/)
- [Template driven form](https://www.youtube.com/watch?v=whr14XxB8-M)

@ -4,6 +4,8 @@ Forms are used to handle user inputs in many applications. It enables users from
Angular provides two approachs to handle user inputs trough forms: reactive and template-driven forms.
Visit the following resources to learn more:
- [Introduction to forms in Angular](https://angular.io/guide/forms-overview)
- [Angular Forms](https://www.w3schools.com/angular/angular_forms.asp)
- [Angular Forms Tutorial](https://www.youtube.com/watch?v=-bGgjgx3fGs)

@ -4,4 +4,6 @@ The router-outlet is a directive that's available from the @angular/router packa
Thanks to the router outlet, your app will have multiple views/pages and the app template acts like a shell of your application. Any element, you add to the shell will be rendered in each view, only the part marked by the router outlet will be changed between views.
Visit the following resources to learn more:
- [Understanding Router Outlets](https://angular.io/api/router/RouterOutle)

@ -4,6 +4,8 @@ Angular route guards are interfaces provided by Angular which, when implemented,
Some types of angular guards are `CanActivate`, `CanActivateChild`, `CanLoad`, `CanDeactivate` and `Resolve`.
Visit the following resources to learn more:
- [Angular Official Website](https://angular.io/api/router)
- [Can Activate Guard](https://angular.io/api/router/CanActivate)
- [Can Activate Child](https://angular.io/api/router/CanActivateChild)

@ -2,5 +2,7 @@
Lazy loading is a technique in Angular that allows you to load JavaScript components asynchronously when a specific route is activated. It improves the application load time speed by splitting the application into several bundles. The bundles are loaded as required when the user navigates through the app.
Visit the following resources to learn more:
- [What is Lazy loading ? - Angular.io ](https://angular.io/guide/lazy-loading-ngmodules)
- [Angular Tutorial - Lazy Loading](https://www.youtube.com/watch?v=JjIQq9lh-Bw)

@ -2,6 +2,8 @@
Routing in Angular allows the users to create a single-page application with multiple views and navigation between them. Users can switch between these views without losing the application state and properties.
Visit the following resources to learn more:
- [What is Routing ? - Geeksforgeeks ](https://www.geeksforgeeks.org/routing-in-angular-9-10/)
- [Explanation of Routing ? - Angular.io ](https://angular.io/guide/router)
- [Angular Tutorial - Routing and Navigation](https://www.youtube.com/watch?v=Nehk4tBxD4o)

@ -2,6 +2,8 @@
Dependency Injection (DI) is a design pattern that creates the dependencies of a class and provides those objects to the class when required. Angular being a nice framework, provides a built-in dependency injection mechanism that creates and provides a runtime version of a dependency value using dependency injectors.
Visit the following resources to learn more:
- [What is Dependency Injection ? - angular.io ](https://angular.io/guide/dependency-injection)
- [Introduction of Dependency injection](https://www.youtube.com/watch?v=OFPIGlxunL0)

@ -2,5 +2,7 @@
Components shouldn't fetch or save data directly and shouldn't knowingly present fake data. They should focus on presenting data and delegate data access to a service. Service is where all the remote API calls exist to retrieve and provide data to components.
Visit the following resources to learn more:
- [Adding Services in Angular](https://angular.io/tutorial/toh-pt4)
- [Get Data from Server](https://angular.io/tutorial/toh-pt6)

@ -8,5 +8,7 @@ The following life cycle hooks of angular are :
`OnChanges` , `OnInit` , `DoCheck` , `OnDestroy` , `AfterContentInit` , `AfterContentChecked` , `AfterViewInit` , `AfterViewChecked`
Visit the following resources to learn more:
- [What is Life Cycle Hooks? - Angular.io ](https://angular.io/guide/lifecycle-hooks)
- [The life cycle hooks of angular - Blog ](https://blog.logrocket.com/angular-lifecycle-hooks/)

@ -2,6 +2,8 @@
Ngxs is a state management pattern for the Angular framework. It acts as a single source of truth for our application. Ngxs is very simple and easily implementable. It reduce lots of boilerplate code . It is a replacement for Ngrx. In Ngrx we are creating state, action, reducer, and effects but in Ngxs, we are creating only state and actions instead of all of this. Like Ngrx, Ngxs is also asynchronous and when we dispatch any action we can get a response back.
Visit the following resources to learn more:
- [What is NGXS ? - Ngxs.io ](https://www.ngxs.io/)
- [Details about NGXS - Medium ](https://medium.com/@knoldus/introduction-to-ngxs-state-management-pattern-library-for-angular-ec76f681ceba)
- [Practise of NGXS](https://www.youtube.com/watch?v=SGj11j4hxmg)

@ -1,6 +1,8 @@
# Ngrx
Ngrx is a group of Angular libraries for reactive extensions that implements the Redux pattern and it’s supercharged with RXJS.
Visit the following resources to learn more:
- [What is NGRX ? - ngrx.io ](https://ngrx.io/)
- [Details about NGRX - Medium ](https://ahmedrebai.medium.com/introduction-to-state-management-with-ngrx-and-angular-91f4ff27ec9f)
- [Practise of NGRX](https://www.youtube.com/watch?v=f97ICOaekNU)

@ -2,6 +2,8 @@
Application state management is the process of maintaining knowledge of an application's inputs across multiple related data flows that form a complete business transaction -- or a session -- to understand the condition of the app at any given moment. In computer science, an input is information put into the program by the user and state refers to the condition of an application according to its stored inputs -- saved as variables or constants. State can also be described as the collection of preserved information that forms a complete session.
Visit the following resources to learn more:
- [What is State Management?](https://www.techtarget.com/searchapparchitecture/definition/state-management)
- [ Angular state management made simple with NgRx](https://blog.logrocket.com/angular-state-management-made-simple-with-ngrx/)
- [Angular State Management with NgRx](https://www.syncfusion.com/blogs/post/angular-state-management-with-ngrx.aspx)

@ -4,5 +4,7 @@ Directives are the functions that will execute whenever the Angular compiler fin
From the core concept, Angular directives are categorized into three categories: Attribute Directives, Structural Directives, and Component Directives.
Visit the following resources to learn more:
- [Create a custom directive - Freecodecamp](https://www.freecodecamp.org/news/angular-directives-learn-how-to-use-or-create-custom-directives-in-angular-c9b133c24442/)
- [Create a custom directive video for Beginners](https://www.youtube.com/watch?v=AoN56g6UAsE)

@ -2,5 +2,7 @@
Pipes to transform strings, currency amounts, dates, and other data for display. Pipes are simple functions in template expressions to accept an input value and return a transformed value. Pipes are helpful because you can use them throughout your application while only declaring each pipe once. For example, you would use a pipe to show the date as April 15, 1988, rather than the raw string format.
Visit the following resources to learn more:
- [Create a custom pipe - angular.io](https://angular.io/guide/pipes-custom-data-trans)
- [Create a custom pipe video for Beginners](https://www.youtube.com/watch?v=P2587FN4Y0w)

@ -2,4 +2,6 @@
Use the Angular CLI and the npm package manager to build and publish your library as an npm package.
Visit the following resources to learn more:
- [Angular Website](https://angular.io/guide/creating-libraries)

@ -2,5 +2,7 @@
Angular Universal also known as server-side rendering is tool which allows server to pre-render Angular application while user hits your website for first time.
Visit the following resources to learn more:
- [Angular Website](https://angular.io/guide/universal)
- [Github Repository](https://github.com/angular/universal)

@ -2,5 +2,7 @@
A normal Angular application executes in the browser, rendering pages in the DOM in response to user actions. Angular Universal executes on the server, generating static application pages that later get bootstrapped on the client. This means that the application generally renders more quickly, giving users a chance to view the application layout before it becomes fully interactive.
Visit the following resources to learn more:
- [Angular Universal](https://angular.io/guide/universal)
- [Rendering on the Web](https://web.dev/rendering-on-the-web/)

@ -2,5 +2,7 @@
Scully is the best static site generator for Angular projects looking to embrace the Jamstack. It will use your application and will create a static index. html for each of your pages/routes.
Visit the following resources to learn more:
- [Scully Website](https://scully.io/)
- [Github Repository](https://github.com/scullyio/scully)

@ -2,5 +2,7 @@
An Angular Pipe is a special function that is called from a Component template. Its purpose is to transform a value: You pass a value to the Pipe, the Pipe computes a new value and returns it.
Visit the following resources to learn more:
- [Angular.io Website](https://angular.io/guide/testing-pipes)
- [Testing-Angular.com](https://testing-angular.com/testing-pipes/)

@ -2,5 +2,7 @@
In an Angular application, Services are responsible for fetching, storing and processing data. Services are singletons, meaning there is only one instance of a Service during runtime. They are fit for central data storage, HTTP and WebSocket communication as well as data validation.
Visit the following resources to learn more:
- [Angular.io Website](https://angular.io/guide/testing-services)
- [Testing-Angular.com](https://testing-angular.com/testing-services/)

@ -2,4 +2,6 @@
Angular processes all data bindings once for each JavaScript event cycle, from the root of the application component tree through all child components. Data binding plays an important role in communication between a template and its component, and is also important for communication between parent and child components.
Visit the following resources to learn more:
- [Angular.io Website](https://angular.io/guide/architecture-components#:~:text=Angular%20processes%20all%20data%20bindings,between%20parent%20and%20child%20components.)

@ -2,5 +2,7 @@
Directives are classes that add new behavior or modify the existing behavior to the elements in the template. Basically directives are used to manipulate the DOM, for example adding/removing the element from DOM or changing the appearance of the DOM elements.
Visit the following resources to learn more:
- [Angular.io Website](https://angular.io/guide/testing-attribute-directives)
- [tesing-angular Website](https://testing-angular.com/testing-directives/)

@ -2,4 +2,6 @@
With a component template , you can save and reuse component processes and properties and create components from them; template-based components inherit the template's properties and process.
Visit the following resources to learn more:
- [Angular.io Website](https://angular.io/guide/architecture-components)

@ -2,5 +2,7 @@
C# is a modern coding language that was developed by Microsoft that focuses on applying the coding style to C++ and making it so that way it's more condensed and simple. It's similar to Java by both being static, strong, and manifestive languages. Both use the System's prebuilt class to do certain features like printing output to the screen, etc.C#, like Java, also contains a garbage collection, which removes lower-level maintenance code from the programmer.
Visit the following resources to learn more:
- [C# official website?](https://learn.microsoft.com/en-us/dotnet/csharp//)
- [The Beginners Guide to C#](https://www.w3schools.com/CS/index.php)

@ -2,5 +2,7 @@
.NET CLI is the command-line interface (CLI) for the .NET platform. It is a tool that provides a common interface for running .NET Core command-line tools and utilities. .NET Core is a cross-platform, open-source, and modular version of the .NET framework, and the .NET CLI provides a way to interact with it from the command line.
Visit the following resources to learn more:
- [Microsoft - .NET CLI overview](https://learn.microsoft.com/en-us/dotnet/core/tools/)
- [Intro To The .NET CLI](https://youtu.be/RQLzp2Z8-BE)

@ -2,6 +2,8 @@
[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.
Visit the following resources to learn more:
- [Learn Git on the command line](https://github.com/jlord/git-it-electron)
- [Version Control System Introduction](https://www.youtube.com/watch?v=zbKdDsNNOhg)
- [Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc)

@ -2,6 +2,8 @@
There are different repository hosting services with the most famous one being GitHub, GitLab and BitBucket. I would recommend creating an account on GitHub because that is where most of the OpenSource work is done and most of the developers are.
Visit the following resources to learn more:
- [GitHub: Where the world builds software](https://github.com)
- [GitLab: Iterate faster, innovate together](https://gitlab.com)
- [BitBucket: The Git solution for professional teams](https://bitbucket.com)

@ -8,6 +8,8 @@ HTTPS (**H**ypertext **T**ransfer **P**rotocol **S**ecure) is the secure version
`HTTPS = HTTP + SSL/TLS`
Visit the following resources to learn more:
- [What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/)
- [An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
- [Journey to HTTP/2](https://kamranahmed.info/blog/2016/08/13/http-in-depth)

@ -2,6 +2,8 @@
As the name indicates, a **Data Structure** is a way of organizing the data in the **memory** so it can be used efficiently. Some common data structures are array, linked list, stack, hashtable, queue, tree, heap, and graph.
Visit the following resources to learn more:
- [What are Data Structures?](https://www.geeksforgeeks.org/data-structures)
- [ Data Structures and Algorithms](https://www.javatpoint.com/data-structure-tutorial)
- [Data Structures Illustrated](https://www.youtube.com/watch?v=9rhT3P1MDHk&list=PLkZYeFmDuaN2-KUIv-mvbjfKszIGJ4FaY)

@ -2,4 +2,6 @@
A stored procedure is a pre-compiled collection of SQL statements that can be executed on a database server. Stored procedures are typically used to perform specific tasks, such as retrieving data from a database, inserting or updating data, or performing complex calculations. They are stored on the database server and can be called or executed from a client application or other stored procedures. Stored procedures can improve database performance by reducing the amount of SQL code needed to be executed and allowing developers to reuse common pieces of code. They can also provide security by allowing database administrators to control which users have access to specific stored procedures.
Visit the following resources to learn more:
- [Stored Procedure Tutorial](https://www.w3schools.com/sql/sql_stored_procedures.asp)

@ -2,4 +2,6 @@
Database constraints are rules that are used to limit the data that can be stored in a database table. These constraints can be used to ensure the integrity and accuracy of the data in the table, and they can be used to enforce business rules or other requirements. For example, a constraint might be used to ensure that a column only contains positive numbers, or to ensure that a column always has a unique value. Constraints can be specified at the time a table is created, or they can be added to an existing table. Some common types of constraints include primary keys, foreign keys, and NOT NULL constraints.
Visit the following resources to learn more:
- [SQL Constraints](https://www.w3schools.com/sql/sql_constraints.asp)

@ -6,4 +6,6 @@ MVC is an architectural design pattern used for developing applications, specifi
- **View** - Handles UI part of the applications (data presentation).
- **Controller** - Handles request flow, and acts as an intermediary between view and model.
Visit the following resources to learn more:
- [MVC Official Documentation](https://learn.microsoft.com/en-us/aspnet/core/mvc/overview?WT.mc_id=dotnet-35129-website&view=aspnetcore-7.0)

@ -2,4 +2,6 @@
ORM stands for Object-Relational Mapping, and it is a technique that allows a developer to work with a database using objects. It is a way of abstracting the database so that the developer can think in terms of objects, rather than tables and SQL queries. This can make it easier to write and maintain code, as well as improve the performance of the application.
Visit the following resources to learn more:
- [ORM (Object Relational Mapping)](https://www.telerik.com/blogs/dotnet-basics-orm-object-relational-mapping)

@ -4,6 +4,8 @@ Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) contain
The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues.
Visit the following resources to learn more:
- [Kubernetes Website](https://kubernetes.io/)
- [Kubernetes Documentation](https://kubernetes.io/docs/home/)
- [Kubernetes Crash Course for Absolute Beginners](https://www.youtube.com/watch?v=s_o8dwzRlu4)

@ -2,6 +2,8 @@
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
Visit the following resources to learn more:
- [The Internet Explained](https://www.vox.com/2014/6/16/18076282/the-internet)
- [How Does the Internet Work?](http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm)
- [Introduction to Internet](/guides/what-is-internet)

@ -2,6 +2,8 @@
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet.
Visit the following resources to learn more:
- [What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/)
- [An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
- [Journey to HTTP/2](https://kamranahmed.info/blog/2016/08/13/http-in-depth)

@ -2,6 +2,8 @@
A web browser is a software application that enables a user to access and display web pages or other online content through its graphical user interface.
Visit the following resources to learn more:
- [How Browsers Work](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/)
- [Role of Rendering Engine in Browsers](https://www.browserstack.com/guide/browser-rendering-engine)
- [Populating the Page: How Browsers Work](https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work)

@ -2,6 +2,8 @@
The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
Visit the following resources to learn more:
- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/)
- [How DNS works (comic)](https://howdns.works/)
- [DNS and How does it Work?](https://www.youtube.com/watch?v=Wj0od2ag5sk)

@ -2,6 +2,8 @@
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.
Visit the following resources to learn more:
- [What is a Domain Name?](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name)
- [What is a Domain Name? | Domain name vs. URL](https://www.cloudflare.com/en-gb/learning/dns/glossary/what-is-a-domain-name/)
- [A Beginners Guide to How Domain Names Work](https://www.youtube.com/watch?v=Y4cRx19nhJk)

@ -2,6 +2,8 @@
Web hosting is an online service that allows you to publish your website files onto the internet. So, anyone who has access to the internet has access to your website.
Visit the following resources to learn more:
- [What Is Web Hosting? Explained](https://www.youtube.com/watch?v=htbY9-yggB0)
- [Different Types of Web Hosting Explained](https://www.youtube.com/watch?v=AXVZYzw8geg)
- [Where to Host a Fullstack Project on a Budget](https://www.youtube.com/watch?v=Kx_1NYYJS7Q)

@ -2,6 +2,8 @@
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
Visit the following resources to learn more:
- [The Internet Explained](https://www.vox.com/2014/6/16/18076282/the-internet)
- [How Does the Internet Work?](http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm)
- [Introduction to Internet](/guides/what-is-internet)

@ -2,6 +2,8 @@
HTML stands for HyperText Markup Language. It is used on the frontend and gives the structure to the webpage which you can style using CSS and make interactive using JavaScript.
Visit the following resources to learn more:
- [W3Schools: Learn HTML](https://www.w3schools.com/html/html_intro.asp)
- [Codecademy - Learn HTML](https://www.codecademy.com/learn/learn-html)
- [Interactive HTML Course](https://github.com/denysdovhan/learnyouhtml)

@ -2,6 +2,8 @@
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.
Visit the following resources to learn more:
- [W3Schools — Learn CSS](https://www.w3schools.com/css/)
- [freeCodeCamp — Responsive Web Design](https://www.freecodecamp.org/learn/2022/responsive-web-design)
- [Learn to Code HTML & CSS](https://learn.shayhowe.com/html-css/building-your-first-web-page/)

@ -8,6 +8,8 @@
JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on.
Visit the following resources to learn more:
- [Visit Dedicated JavaScript Roadmap](/javascript)
- [W3Schools – JavaScript Tutorial](https://www.w3schools.com/js/)
- [The Modern JavaScript Tutorial](https://javascript.info/)

@ -2,6 +2,8 @@
As a backend developer, you may not need to have proficient knowledge of the frontend stack but you should at least have some basic understanding of HTML, CSS and JavaScript.
Visit the following resources to learn more:
- [W3Schools: Learn HTML](https://www.w3schools.com/html/html_intro.asp)
- [W3Schools: Learn CSS](https://www.w3schools.com/css/)
- [W3Schools: JavaScript Tutorial](https://www.w3schools.com/js/)

@ -2,5 +2,7 @@
Terminals, also known as command lines or consoles, allow us to accomplish and automate tasks on a computer without the use of a graphical user interface.
Visit the following resources to learn more:
- [Command line crash course](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line)
- [Basic Terminal Usage - Cheat Sheet to make the command line EASY](https://www.youtube.com/watch?v=jDINUSK7rXE)

@ -2,6 +2,8 @@
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.
Visit the following resources to learn more:
- [Operating System - Overview](https://www.tutorialspoint.com/operating_system/os_overview.htm)
- [Operating System Concepts](https://codex.cs.yale.edu/avi/os-book/OS10/index.html)
- [Operating System Basics ](https://www.youtube.com/watch?v=9GDX-IyZ_C8)

@ -2,5 +2,7 @@
Process management involves various tasks like creation, scheduling, termination of processes, and a deadlock. Process is a program that is under execution, which is an important part of modern-day operating systems. The OS must allocate resources that enable processes to share and exchange information. It also protects the resources of each process from other methods and allows synchronization among processes.
Visit the following resources to learn more:
- [Operating System: Process and Process Management](https://medium.com/@akhandmishra/operating-system-process-and-process-management-108d83e8ce60)
- [Process Management in OS: PCB in Operating System](https://www.guru99.com/process-management-pcb.html)

@ -4,6 +4,8 @@ A thread is the smallest unit of processing that can be performed in an OS. In m
Concurrency refers to the execution of multiple threads at the same time. It occurs in an operating system when multiple process threads are executing concurrently. These threads can interact with one another via shared memory or message passing. Concurrency results in resource sharing, which causes issues like deadlocks and resource scarcity. It aids with techniques such as process coordination, memory allocation, and execution schedule to maximize throughput.
Visit the following resources to learn more:
- [What’s the Diff: Programs, Processes and Threads](https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/)
- [Concurrency in Operating System](https://www.javatpoint.com/concurrency-in-operating-system)
- [Intro to Processes & Threads](https://www.youtube.com/watch?v=exbKr6fnoUw)

@ -8,6 +8,8 @@ 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
Visit the following resources to learn more:
- [40 Basic Linux Commands](https://www.hostinger.com/tutorials/linux-commands)
- [A collection of modern/faster/saner alternatives to common unix commands](https://github.com/ibraheemdev/modern-unix)
- [Command Line Tutorial](https://www.learnenough.com/command-line-tutorial)

@ -4,5 +4,7 @@ The term Memory can be defined as a collection of data in a specific format. It
To achieve a degree of multiprogramming and proper utilization of memory, memory management is important. There are several memory management methods, reflecting various approaches, and the effectiveness of each algorithm depends on the situation.
Visit the following resources to learn more:
- [Demystifying memory management in modern programming languages](https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd)
- [Memory Management in Operating System](https://www.geeksforgeeks.org/memory-management-in-operating-system/)

@ -2,5 +2,7 @@
Interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data
Visit the following resources to learn more:
- [Interprocess Communication](https://www.geeksforgeeks.org/inter-process-communication-ipc/)
- [Interprocess Communication - Neso Academy](https://www.youtube.com/watch?v=dJuYKfR8vec)

@ -2,6 +2,8 @@
One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touchpad, disk drives, display adapters, USB devices, Bit-mapped screens, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers, etc.
Visit the following resources to learn more:
- [Operating System - I/O Hardware](https://www.tutorialspoint.com/operating_system/os_io_hardware.htm)
- [IO Management](https://www.omscs-notes.com/operating-systems/io-management/)
- [Basics of OS (I/O Structure)](https://www.youtube.com/watch?v=F18RiREDkwE)

@ -8,6 +8,8 @@ So, in this case, when we want to interact with any of these streams (through a
POSIX also adds a standard for exit codes, filesystem semantics, and several other command line utility API conventions.
Visit the following resources to learn more:
- [POSIX standard by IEEE](https://pubs.opengroup.org/onlinepubs/9699919799/)
- [Summary of some POSIX implementations](https://unix.stackexchange.com/a/220877)
- [A guide to POSIX](https://www.baeldung.com/linux/posix)

@ -2,4 +2,6 @@
Computer networking refers to interconnected computing devices that can exchange data and share resources with each other. These networked devices use a system of rules, called communications protocols, to transmit information over physical or wireless technologies.
Visit the following resources to learn more:
- [What is Computer Networking?](https://aws.amazon.com/what-is/computer-networking/)

@ -2,6 +2,8 @@
Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections.
Visit the following resources to learn more:
- [What is an operating system?](https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/)
- [Operating System summary](https://www.guru99.com/os-tutorial.html)
- [Operating Systems: Crash Course Computer Science #18](https://www.youtube.com/watch?v=26QPDBe-NB8&ab_channel=CrashCourse)

@ -9,6 +9,8 @@
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
Visit the following resources to learn more:
- [Visit Dedicated Go Roadmap](/golang)
- [A Tour of Go – Go Basics](https://go.dev/tour/welcome/1)
- [Go Reference Documentation](https://go.dev/doc/)

@ -2,6 +2,8 @@
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection.
Visit the following resources to learn more:
- [The Rust Programming Language - online book](https://doc.rust-lang.org/book/)
- [Rust by Example - collection of runnable examples](https://doc.rust-lang.org/stable/rust-by-example/index.html)
- [Rust vs. Go: Why They’re Better Together](https://thenewstack.io/rust-vs-go-why-theyre-better-together/)

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

Loading…
Cancel
Save