commit
05efa1691d
84 changed files with 506 additions and 81 deletions
@ -1 +1,7 @@ |
||||
# pnpm |
||||
|
||||
PNPM is an alternative package manager for Node. js which stands for “Performant NPM”. The main purpose of PNPM is to hold all the packages at a global (centralized) store and use them if needed by other projects too by creating hard links to it. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://pnpm.io'>Official Website</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.bitsrc.io/pnpm-javascript-package-manager-4b5abd59dc9'>Meet PNPM: The Faster, More Performant NPM</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# 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> |
||||
|
@ -1 +1,8 @@ |
||||
# Mantine |
||||
|
||||
Mantine is a React components library with more than 100 customizable components and 40 hooks to cover you in any situation. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://mantine.dev/'>Mantine Website</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://mantine.dev/guides/cra/'>Usage with Create React App</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.logrocket.com/5-mantine-hooks-simplifying-ui-management-react/'>5 Mantine Hooks for UI management</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Daisy UI |
||||
|
||||
Component library around Tailwind CSS that comes with several built-in components. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://daisyui.com/'>DaisyUI Website</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://daisyui.com/docs/install/'>DaisyUI Documentation</BadgeLink> |
@ -1 +1,9 @@ |
||||
# Scp |
||||
# SCP |
||||
|
||||
`SCP` is an acronym for Secure Copy Protocol.It is a command line utility that allows the user to securely copy files and directories between two locations usually between unix or linux systems.The protocol ensures the transmission of files is encrypted to prevent anyone with suspicious intentions from getting sensitive information.`SCP` uses encryption over an `SSH` (Secure Shell) connection, this ensures that the data being transferred is protected from suspicious attacks. |
||||
|
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/scp-linux-command-example-how-to-ssh-file-transfer-from-remote-to-local/'>SCP Linux Command</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tecmint.com/scp-commands-examples/'>10 SCP command examples</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://phoenixnap.com/kb/linux-scp-command'>SCP command explained</BadgeLink> |
||||
|
@ -1 +1,5 @@ |
||||
# Management and monitoring |
||||
# Management and Monitoring |
||||
|
||||
DevOps management and monitoring entails overseeing the entire development process from planning, development, integration and testing, deployment, and operations. It involves a complete and real-time view of the status of applications, services, and infrastructure in the production environment. Features such as real-time streaming, historical replay, and visualizations are critical components of application and service monitoring. |
||||
|
||||
<BadgeLink badgeText='Get Started Guide' colorScheme='blue' href='https://www.atlassian.com/devops/devops-tools/devops-monitoring'>Management and Monitoring Get Started Guide</BadgeLink> |
@ -1 +1,12 @@ |
||||
# Observable lifecycle |
||||
|
||||
An observable is a function that acts as a wrapper for a data stream. They support to pass messages inside your application. An observable is useless until an observer subscribes to it. An observer is an object which consumes the data emitted by the observable. An observer keeps receiving data values from the observable until the observable is completed, or the observer unsubscribes from the observable. Otherwise observers can receive data values from the observable continuously and asynchronously. So we can perform various operations such as updating the user interface, or passing the JSON response. |
||||
|
||||
There are 4 stages for a life cycle of an observable. |
||||
- Creation |
||||
- Subscription |
||||
- Execution |
||||
- Destruction |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://medium.com/analytics-vidhya/understanding-rxjs-observables-ad5b34d9607f'>Understanding Observable LifeCycle</BadgeLink> |
||||
|
@ -1 +1,42 @@ |
||||
# Operators |
||||
# RxJS Operators |
||||
|
||||
|
||||
RxJS is mostly useful for its operators, even though the Observable is the foundation. Operators are the essential pieces that allow complex asynchronous code to be easily composed in a declarative manner. |
||||
|
||||
Operators are functions. There are two kinds of operators: |
||||
|
||||
**Pipeable Operators** are the kind that can be piped to Observables using the syntax observableInstance.pipe(operator()). These include, filter(...), and mergeMap(...). When called, they do not change the existing Observable instance. Instead, they return a new Observable, whose subscription logic is based on the first Observable. |
||||
|
||||
A Pipeable Operator is essentially a pure function which takes one Observable as input and generates another Observable as output. Subscribing to the output Observable will also subscribe to the input Observable. |
||||
|
||||
**Creation Operators** are the other kind of operator, which can be called as standalone functions to create a new Observable. For example: of(1, 2, 3) creates an observable that will emit 1, 2, and 3, one right after another. Creation operators will be discussed in more detail in a later section. |
||||
|
||||
## Piping |
||||
|
||||
Pipeable operators are functions, so they could be used like ordinary functions: op()(obs) — but in practice, there tend to be many of them convolved together, and quickly become unreadable: op4()(op3()(op2()(op1()(obs)))). For that reason, Observables have a method called .pipe() that accomplishes the same thing while being much easier to read: |
||||
|
||||
```bash |
||||
obs.pipe(op1(), op2(), op3(), op4()); |
||||
``` |
||||
|
||||
## Creation Operators |
||||
|
||||
**What are creation operators?** Distinct from pipeable operators, creation operators are functions that can be used to create an Observable with some common predefined behavior or by joining other Observables. |
||||
|
||||
A typical example of a creation operator would be the interval function. It takes a number (not an Observable) as input argument, and produces an Observable as output: |
||||
|
||||
```bash |
||||
import { interval } from 'rxjs'; |
||||
|
||||
const observable = interval(1000 /* number of milliseconds */); |
||||
``` |
||||
|
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://rxjs.dev/guide/operators#creation-operators-list'>List of creation operators</BadgeLink> |
||||
|
||||
|
||||
## Higher-order Observables |
||||
|
||||
Observables most commonly emit ordinary values like strings and numbers, but surprisingly often, it is necessary to handle Observables of Observables, so-called higher-order Observables. |
||||
|
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://rxjs.dev/guide/operators'>Full RxJS Operators Documentation</BadgeLink> |
||||
|
||||
|
@ -1 +1,6 @@ |
||||
# Services |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://angular.io/tutorial/toh-pt4'>Services</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Schematics |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Official Website' href='https://angular.io/guide/schematics#:~:text=A%20schematic%20is%20a%20template,collections%20and%20installed%20with%20npm.'>Angular Website</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Official Website' href='https://blog.angular.io/schematics-an-introduction-dc1dfbc2a2b2?gi=ad9571373944'>Angular Blog</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Interpolation |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='ttps://angular.io/guide/interpolation'>Angular Official Website</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Router outlets |
||||
|
||||
The router-outlet is a directive that's available from the @angular/router package and is used by the router to mark where in a template, a matched component should be inserted. |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://angular.io/api/router/RouterOutle'>Understanding Router Outlets</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Library |
||||
|
||||
Use the Angular CLI and the npm package manager to build and publish your library as an npm package. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Official Website' href='https://angular.io/guide/creating-libraries'>Angular Website</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Angular universal |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Official Website' href='https://angular.io/guide/universal'>Angular Website</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Github Repository' href='https://github.com/angular/universal'>Github Repository</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Scully |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Official Website' href='https://scully.io/'>Scully Website</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Github Repository' href='https://github.com/scullyio/scully'>Github Repository</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Testing pipes |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://angular.io/guide/testing-pipes'>Angular.io Website</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://testing-angular.com/testing-pipes/'>Testing-Angular.com</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Testing services |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://angular.io/guide/testing-services'>Angular.io Website</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://testing-angular.com/testing-services/'>Testing-Angular.com</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Testing component bindings |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://angular.io/guide/architecture-components#:~:text=Angular%20processes%20all%20data%20bindings,between%20parent%20and%20child%20components.'>Angular.io Website</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Testing directives |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://angular.io/guide/testing-attribute-directives'>Angular.io Website</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://testing-angular.com/testing-directives/'>tesing-angular Website</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Testing component templates |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://angular.io/guide/architecture-components'>Angular.io Website</BadgeLink> |
||||
|
@ -1 +1,12 @@ |
||||
# Javascript control flow |
||||
# Control Flow |
||||
|
||||
In JavaScript, the `Control flow` is a way of how your computer runs code from top to bottom. It starts from the first line and ends at the last line unless it hits any statement that changes the control flow of the program such as loops, conditionals, etc. |
||||
|
||||
We can control the flow of the program through any of these control structures: |
||||
- Sequential (default mode) |
||||
- Conditional Statements |
||||
- Exception Handling |
||||
- Loops and Iterations |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Glossary/Control_flow'>Control Flow - MDN</BadgeLink> |
@ -1,9 +1,10 @@ |
||||
# Node.js modules |
||||
# Node.js Modules |
||||
|
||||
We split our code into different files to maintain, organize and reuse code whenever possible. A module system allows us to split and include code and import code written by other developers whenever required. In simple terms, a module is nothing but a JavaScript file. Node.js has many built-in modules that are part of the platform and comes with Node.js installation, for example, HTTP, fs, path, and more. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Read' href='https://nodejs.org/api/modules.html'>Official Documentation</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://nodejs.org/api/modules.html#modules-commonjs-modules'>Modules: CommonJS modules</BadgeLink> |
||||
<BadgeLink badgeText='yellow' colorScheme="yellow" href='https://blog.logrocket.com/commonjs-vs-es-modules-node-js/'>CommonJS vs. ES modules in Node.js</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/node-js-modules/'>More about modules</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/modular-programming-nodejs-npm-modules/'>Using Modules</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=9Amxzvq5LY8&'>Modules in Node.js</BadgeLink> |
@ -1 +1,6 @@ |
||||
# Marko |
||||
|
||||
Marko is a fast and lightweight HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering, and custom tags. It is HTML re-imagined as a language for building dynamic and reactive user interfaces. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official' href='https://markojs.com/docs/guides-overview/'>Marko Documentation</BadgeLink> |
||||
|
@ -1 +1,5 @@ |
||||
# Relational |
||||
|
||||
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relational database systems are equipped with the option of using the SQL (Structured Query Language) for querying and maintaining the database. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
|
@ -1 +1,7 @@ |
||||
# Prisma |
||||
|
||||
Prisma is an open source next-generation ORM in the TypeScript ecosystem. It offer a dedicated API for relation filters. It provide an abstraction layer that makes you more productive compared to writing SQL. Prisma currently supports `PostgreSQL`, `MySQL`, `SQL Server`, `SQLite`, `MongoDB` and `CockroachDB`. |
||||
|
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.prisma.io/'>Prisma Website</BadgeLink> |
@ -1 +1,3 @@ |
||||
# Native drivers |
||||
# Native Drivers |
||||
|
||||
Another way to connect to different databases in Node.js is to use the official native drivers provided by the database. For example, here is the [list of drivers by MongoDB](https://www.mongodb.com/docs/drivers/) |
@ -1 +1,7 @@ |
||||
# Nodejs logging |
||||
# Node.js Logging |
||||
|
||||
**Logging** is an essential part of understanding the complete application life cycle of the `Node.js` application. We can much more easily and quickly fix errors by looking at logs throughout the development process, from creating to debugging to designing new features. **Error**, **warn**, **info**, and **debug** are the four basic logging levels in `Node.js`. Logging involves persistently collecting information about an application's runtime behaviour. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read more' href='https://stackify.com/node-js-logging/'>Node.js Logging</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.appsignal.com/2021/09/01/best-practices-for-logging-in-nodejs.html'>Logging best practices</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Forever |
||||
|
||||
Forever is a node.js package for ensuring that a given script runs continuously (i.e. forever) even when the server crash/stops. A CLI tool for the production environment to manage the Node applications and their processes. |
||||
|
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.npmjs.com/package/forever'>Forever package documentation</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Nohup |
||||
|
||||
Nohup, short for no hang up is a command in Linux systems that keep processes running, will ignore the SIGHUP signal even after exiting the shell or terminal. |
||||
|
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.digitalocean.com/community/tutorials/nohup-command-in-linux'>Nohup command</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/nohup-command-in-linux-with-examples/'>geekforgeeks Nohup example</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Select |
||||
|
||||
The `select` statement is similar to a `case` statement, but is primarily used for handling reading from multiple channels. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://gobyexample.com/select'>Go by Example: Select</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://golangdocs.com/select-statement-in-golang'>Select Statement in Go</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Rest |
||||
# REST |
||||
|
||||
REST (Representational State Transfer) API (Application Programming Interface) is used to deliver user functionality when dealing with websites. HTTP requests are used to communicate with REST APIs so users can navigate a URL website. These URLs can return certain information that is stored as part of the API. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://go.dev/doc/tutorial/web-service-gin'>Tutorial</BadgeLink> |
||||
<BadgeLink badgeText='Watch' colorScheme="red" href='https://youtube.com/playlist?list=PLzUGFf4GhXBL4GHXVcMMvzgtO8-WEJIoY'>RESTful APIs Series</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.geeksforgeeks.org/rest-api-introduction/'>Introduction to RESTful APIs</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Ebean |
||||
|
||||
Ebean is an object-relational mapping tool written in Java. It supports the standard JPA annotations for declaring entities. However, it provides a much simpler API for persisting. In fact, one of the points worth mentioning about the Ebean architecture is that it is sessionless, meaning it does not fully manage entities. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Site' href='https://ebean.io/'>Ebean</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Doc' href='https://ebean.io/docs/'>Ebean Documentation</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.baeldung.com/ebean-orm'>Guide to Ebean</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Jdbi3 |
||||
|
||||
Jdbi is an open source Java library (Apache license) that uses lambda expressions and reflection to provide a friendlier, higher level interface than JDBC to access the database. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Site' href='https://jdbi.org/'>Jdbi</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.baeldung.com/jdbi'>Jdbi Tutorial</BadgeLink> |
@ -1,3 +1,6 @@ |
||||
# JDBC Template |
||||
|
||||
JDBCTemplate is a central class in the JDBC core package that simplifies the use of JDBC and helps to avoid common errors. It internally uses JDBC API and eliminates many problems with JDBC API. It executes SQL queries or updates, initiating iteration over ResultSets, catching JDBC exceptions, and translating them to the generic. It executes core JDBC workflow, leaving application code to provide SQL and extract results. It handles the exception and provides informative exception messages with the help of exception classes defined in the `org.springframework.dao` package. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.baeldung.com/spring-jdbc-jdbctemplate'>JDBC Template tutorial</BadgeLink> |
@ -1 +1,9 @@ |
||||
# Cucumber jvm |
||||
# Cucumber JVM |
||||
|
||||
Cucumber is a testing tool that supports Behavior Driven Development (BDD). It offers a way to write tests that anybody can understand, regardless of their technical knowledge. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Site' href='https://cucumber.io/'>Cucumber</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Doc' href='https://cucumber.io/docs/cucumber/'>Cucumber Documentation</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://automationpanda.com/2017/10/24/cucumber-jvm-for-java/'>Cucumber-JVM for Java</BadgeLink> |
||||
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://www.youtube.com/watch?v=jCzpxvAJoZM'>Cucumber-JVM 5 with Enhanced Cucumber Expression</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Testing java apps |
||||
# Testing |
||||
|
||||
A key to building software that meets requirements without defects is testing. Software testing helps developers know they are building the right software. When tests are run as part of the development process (often with continuous integration tools), they build confidence and prevent regressions in the code. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/software-testing-introduction-importance.html'>What is Software Testing?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.browserstack.com/guide/testing-pyramid-for-test-automation'>Testing Pyramid</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Test rail |
||||
# TestRail |
||||
|
||||
TestRail is a web-based test case management tool. It is used by testers, developers and team leads to manage, track, and organize software testing efforts. TestRail allows team members to enter test cases, organize test suites, execute test runs, and track their results, all from a modern and easy to use web interface. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.gurock.com/testrail/'>TestRail Website</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.softwaretestinghelp.com/testrail-tutorial/'>TestRail Review Tutorial: Learn End-To-End Test Case Management</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Test link |
||||
# TestLink |
||||
|
||||
TestLink is most widely used web based open source test management tool. It synchronizes both requirements specification and test specification together. Tester can create test project and document test cases using this tool. With TestLink you can create an account for multiple users and assign different user roles. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://testlink.org/'>TestLink Website</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/testlink-tutorial-complete-guide.html'>TestLink Tutorial: A Complete Guide</BadgeLink> |
@ -1 +1,9 @@ |
||||
# Zephyr |
||||
|
||||
Zephyr is a testing solution that improves the quality of your software by managing and monitoring end-to-end testing. It is very effective for managing manual testing. Its key capabilities include: |
||||
- Test-case creation |
||||
- Organization of tests by product releases and components |
||||
- Assignment of tests to the Quality Assurance team |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/zephyr-agile-jira.html'>Zephyr for JIRA Tutorial: Test Management Tool</BadgeLink> |
@ -1 +1,6 @@ |
||||
# Manage your testing |
||||
# Manage Your Testing |
||||
|
||||
Test Management is a process of managing the testing activities in order to ensure high quality and high-end testing of the software application. The method consists of organizing, controlling, ensuring traceability and visibility of the testing process in order to deliver the high quality software application. It ensures that the software testing process runs as expected. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/test-management-phases-a-complete-guide-for-testing-project.html'>Test Management Process in Software Testing</BadgeLink> |
@ -1 +1,9 @@ |
||||
# Kanban |
||||
|
||||
Kanban is a very popular framework for development in the agile software development methodology. It provides a transparent way of visualizing the tasks and work capacity of a team. It mainly uses physical and digital boards to allow the team members to visualize the current state of the project they are working on. |
||||
|
||||
A kanban board is an agile project management tool designed to help visualize work, limit work-in-progress, and maximize efficiency. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.atlassian.com/agile/kanban'>Kanban - A brief introduction</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/kanban-cards-boards-methodology.html'>Kanban Model in Software Engineering</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Scrum |
||||
|
||||
Scrum in Software Testing is a methodology for building complex software applications. It provides easy solutions for executing complicated tasks. Scrum helps the development team to focus on all aspects of the software product development like quality, performance, usability, and so on. It provides with transparency, inspection and adaptation during the software development to avoid complexity. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/scrum-testing-beginner-guide.html'>Scrum Testing Methodology Tutorial</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.atlassian.com/agile/scrum'>Scrum - What is, How it works</BadgeLink> |
@ -1 +1,6 @@ |
||||
# Safe |
||||
# SAFe |
||||
|
||||
Scaled Agile Framework (SAFe) is a freely available online knowledge base that allows you to apply lean-agile practices at the enterprise level. It provides a simple and lightweight experience for software development. It is a set of organizations and workflow patterns intended to guide enterprises for scaling lean and agile practices. It is divided into three segments which are Team, Program and Portfolio. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/scaled-agile-framework.html'>SAFe (Scaled Agile Framework) Tutorial</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Xp |
||||
# XP |
||||
|
||||
Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.agilealliance.org/glossary/xp'>What is Extreme Programming (XP)?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/software-engineering-extreme-programming-xp/'>Software Engineering | Extreme Programming (XP)</BadgeLink> |
@ -1 +1,10 @@ |
||||
# Chrome devtools |
||||
# Chrome dev tools |
||||
|
||||
These are a set of tools built into the browser to aid frontend developers diagnose and solve various issues in their applications — such as JavaScript and logical bugs, CSS styling issues or even just making quick temprary alterations to the DOM. |
||||
|
||||
To enter the dev tools, right click and click **Inspect** (or press `ctrl+shift+c`/`cmd+opt+c`) to enter the Elements panel. Here you can debug CSS and HTML issues. If you want to see logged messages or interact with javascript, enter the **Console** tab from the tabs above (or press `ctrl+shift+j`/`cmd+opt+j` to enter it directly). Another very useful feature in the Chrome dev tools is the Lighthouse (for checking perfomance) — more on this later. |
||||
|
||||
NOTE: This isn't a chrome-specific feature, and most browsers (Chromium based or otherwise) will have their own, largely-similar set of devtools. |
||||
|
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.chrome.com/docs/devtools/overview/'>Official Docs</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/mastering-chrome-developer-tools-next-level-front-end-development-techniques-3ac0b6fe8a3/'>Mastering Chrome Dev Tools</BadgeLink> |
||||
|
@ -1,3 +1,11 @@ |
||||
# OOP |
||||
|
||||
Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic. An object can be defined as a data field that has unique attributes and behavior. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
|
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object-oriented_programming'>Basic concepts of object-oriented programming</BadgeLink> |
||||
<BadgeLink badgeText="course" colorScheme="blue" href="https://www.youtube.com/watch?v=wN0x9eZLix4">Object Oriented Programming (OOP) in C++ Course</BadgeLink> |
||||
<BadgeLink badgeText="Course" colorSheme="blue" href="https://www.youtube.com/watch?v=Ej_02ICOIgs">Object Oriented Programming with Python</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/object-oriented-programming-oops-concept-in-java/'>OOP Concepts</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/java/java_oop.asp'>OOP Concepts w3schools</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Cqrs eventual consistency |
||||
# CQRS eventual consistency |
||||
|
||||
CQRS (Segregation of Responsibility for Command Queries) is an architectural pattern that comes with the idea of separating read and write operations into two distinct logical processes. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
|
||||
<BadgeLink badgeText="Read" colorScheme="yellow" href="https://martinfowler.com/bliki/CQRS.html">CQRS</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs'>Introduction to CQRS</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Trello |
||||
|
||||
Trello is the visual tool that empowers your team to manage any type of project, workflow, or task tracking. |
||||
|
||||
<ResourceGroupTitle>Reference Resource</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://trello.com'>Trello</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=AyfupeWS0yY'>A Tour Of Trello</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://trello.com/guide'>Trello Guide</BadgeLink> |
@ -1 +1,14 @@ |
||||
# Service oriented |
||||
|
||||
Service-oriented architecture (SOA) is an enterprise-wide approach to software development of application components that takes advantage of reusable software components, or services. |
||||
|
||||
SOA provides four different service types: |
||||
|
||||
1. Functional services (i.e., business services), which are critical for business applications. |
||||
2. Enterprise services, which serve to implement functionality. |
||||
3. Application services, which are used to develop and deploy apps. |
||||
4. Infrastructure services, which are instrumental for backend processes like security and authentication. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://aws.amazon.com/what-is/service-oriented-architecture/'>SOA Architecture By AWS</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/service-oriented-architecture/'>SOA Architecture</BadgeLink> |
@ -1 +1,10 @@ |
||||
# Sql databases |
||||
|
||||
SQL stands for Structured Query Language. It's used for relational databases. A SQL database is a collection of tables that stores a specific set of structured data. |
||||
|
||||
Examples of SQL Databases |
||||
* MariaDB and MySQL |
||||
* PostgreSQL |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.openlogic.com/blog/what-sql-database'>SQL Databases</BadgeLink> |
@ -1 +1,12 @@ |
||||
# Nosql databases |
||||
|
||||
NoSQL databases (aka "not only SQL") are non-tabular databases and store data differently than relational tables. NoSQL databases come in a variety of types based on their data model. The main types are document, key-value, wide-column, and graph. They provide flexible schemas and scale easily with large amounts of data and high user loads. |
||||
|
||||
Types of NoSQL databases |
||||
* Document databases Ex. MongoDB |
||||
* Key-value databases Ex. Amazon S3 |
||||
* Wide-column databases Ex. Cassandra |
||||
* Graph databases Ex. Neo4J |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.mongodb.com/nosql-explained'>NoSQL Databases</BadgeLink> |
@ -1 +1,49 @@ |
||||
# React vue angular |
||||
<DedicatedRoadmap |
||||
href='/react' |
||||
title='React Roadmap' |
||||
description='Click to check the detailed React Roadmap.' |
||||
/> |
||||
|
||||
# React |
||||
|
||||
React is the most popular front-end JavaScript library for building user interfaces. React can also render on the server using Node and power mobile apps using React Native. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://reactjs.org/'>React Website</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://reactjs.org/tutorial/tutorial.html'>Official Getting Started</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://beta.reactjs.org/'>Beta React Docs</BadgeLink> |
||||
<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='Watch' href='https://www.youtube.com/watch?v=nTeuhbP7wdE'>React JS Course for Beginners</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=bMknfKXIFA8'>React Course - Beginner's Tutorial for React JavaScript Library [2022]</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=i793Qm6kv3U'>Understanding React's UI Rendering Process</BadgeLink> |
||||
|
||||
|
||||
<DedicatedRoadmap |
||||
href='/vue' |
||||
title='Vue Roadmap' |
||||
description='Click to check the detailed Vue Roadmap.' |
||||
/> |
||||
|
||||
# Vue.js |
||||
|
||||
Vue.js is an open-source JavaScript framework for building user interfaces and single-page applications. It is mainly focused on front end development. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://vuejs.org/'>Vue.js Website</BadgeLink> |
||||
<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> |
||||
|
||||
|
||||
<DedicatedRoadmap |
||||
href='/angular' |
||||
title='Angular Roadmap' |
||||
description='Click to check the detailed Angular Roadmap.' |
||||
/> |
||||
|
||||
# Angular |
||||
|
||||
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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://angular.io/start'>Official - Getting started with Angular</BadgeLink> |
||||
|
@ -1 +1,10 @@ |
||||
# Pwa |
||||
# PWA |
||||
|
||||
|
||||
Progressive Web Apps (PWAs) are websites that are progressively enhanced to function like installed, native apps on supporting platforms, while functioning like regular websites on other browsers. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.freecodecamp.org/news/what-are-progressive-web-apps/'>Progressive Web Apps for Beginners</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://web.dev/learn/pwa/'>Learn PWA</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/'>MDN Web Docs: Progressive Web Apps </BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=sFsRylCQblw'>Build a Progressive Web App</BadgeLink> |
||||
|
Loading…
Reference in new issue