Material

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

OPERACIONES CON COLUMNAS DE LA BASE DE DATOS:

LAS VARIABLES LET SOLO ESTÁN DEFINIDAS DENTRO DE UN BLOQUE

let count = 0; // Variable que puede cambiar

let message = 'Hello';

count = 1; // Se permite reasignar

message = 'Hola';

// Las variables let también pueden ser declaradas en un bloque

if (true) {

let blockVariable = 'Inside block';

console.log(blockVariable); // Output: Inside block

console.log(count); // Output: 1

console.log(message); // Output: Hola

// console.log(blockVariable); // Error: blockVariable is not defined


OPERADORES DE LA BASE DE DATOS
ORDEN A SEGUIR PARA PONER LAS RUTAS EN LOS MIDDLEWARES:

Y por último la función principal de la ruta

Veamos los elementos que componen esta estructura:

1. Parámetros: Los parámetros de una función flecha se definen entre


paréntesis (param1, param2, ..., paramN). Puedes especificar cero o más
parámetros separados por comas. Estos parámetros representan los
valores de entrada que la función puede recibir al ser llamada. Los
parámetros son opcionales, por lo que también puedes tener una función
flecha sin parámetros: () => {...}.
2. Flecha =>: Después de los parémetros, se utiliza la flecha => para separar
los parámetros del cuerpo de la función. Esta flecha es característica de
las funciones flecha y es lo que distingue a este tipo de funciones de las
funciones regulares.
3. Cuerpo de la función: El cuerpo de la función contiene las instrucciones
que se ejecutan cuando la función es llamada. Puede consistir en una
sola instrucción o en varias instrucciones agrupadas dentro de llaves
{...}. Si el cuerpo de la función es una sola instrucción, no es necesario
utilizar las llaves y se puede escribir de forma más compacta.
4. Valor de retorno: Si la función flecha debe retornar un valor, puedes
hacerlo de dos formas:
• Si el cuerpo de la función contiene una sola instrucción, esta
instrucción se considera el valor de retorno y no es necesario usar
la palabra clave return. Por ejemplo: (x, y) => x + y.
• Si el cuerpo de la función contiene varias instrucciones o si deseas
especificar explícitamente el valor de retorno, puedes utilizar la
palabra clave return. Por ejemplo: (x, y) => { return x + y; }.

Es importante tener en cuenta que las funciones flecha tienen un enlace léxico
(lexically scoped) del valor this, lo que significa que this se refiere al valor del
this en el contexto circundante donde se define la función, en contraste con las
funciones regulares que pueden tener su propio valor this basado en cómo son
llamadas.

Además, si la función flecha tiene un solo parámetro, los paréntesis alrededor


del parámetro pueden ser omitidos. Por ejemplo: x => {...}.

En resumen, una función flecha es una forma concisa y más expresiva de definir
una función en JavaScript. Utiliza una sintaxis más compacta y tiene un enlace
léxico del valor this

TODOS LOS METODOS DE VALIDACIONES

En el contexto mencionado, la diferencia entre los métodos de validación y los métodos de


desinfección es la siguiente:

1. Métodos de Validación: Los métodos de validación son funciones que se utilizan para
verificar si un valor cumple con ciertos criterios o restricciones. Estos métodos se utilizan para
asegurar que los datos ingresados por los usuarios o provenientes de otras fuentes sean válidos
según ciertas reglas predefinidas. Por ejemplo, se pueden usar métodos de validación para
verificar si un campo de entrada es un número, una dirección de correo electrónico válida, una
URL válida, etc. Estos métodos devuelven un valor booleano (verdadero o falso) que indica si el
valor cumple con la validación.

2. Métodos de Desinfección: Los métodos de desinfección, también conocidos como métodos


de sanitización, se utilizan para limpiar y asegurar los datos de entrada, eliminando cualquier
contenido no deseado o potencialmente peligroso. Estos métodos se utilizan para prevenir
ataques de inyección de código malicioso, como ataques de script cruzado (XSS) o inyección de
SQL. Los métodos de desinfección modifican el valor de entrada para asegurarse de que solo
contenga caracteres seguros y no represente una amenaza. Por ejemplo, se pueden usar
métodos de desinfección para eliminar etiquetas HTML o escapar caracteres especiales en una
cadena de texto.

En resumen, los métodos de validación se utilizan para verificar si un valor cumple con ciertas
reglas o restricciones, mientras que los métodos de desinfección se utilizan para limpiar y
asegurar los datos de entrada, eliminando contenido no deseado o peligroso. Ambos tipos de
métodos son importantes para garantizar la integridad y seguridad de los datos en una
aplicación.

https://github.com/validatorjs/validator.js#validators

CUANDO REALIZAR UNA TRANSACCION

En JavaScript, una transacción se utiliza principalmente en operaciones que involucran cambios


en la base de datos o en otros recursos que deben realizarse de manera atómica, es decir, o se
completan todas las acciones correctamente o ninguna de ellas se lleva a cabo.

A continuación, se presentan algunos casos comunes en los que se suele implementar código
con transacciones en JavaScript:

1. Modificación de múltiples registros: Si necesitas realizar una operación que involucra la


modificación de varios registros en una base de datos, como actualizar múltiples filas en una
tabla, es recomendable utilizar una transacción. Esto garantiza que todas las modificaciones se
realicen correctamente o se deshagan por completo si ocurre algún error en el proceso.

2. Operaciones de inserción y actualización relacionadas: Cuando necesitas realizar una


operación de inserción y una operación de actualización relacionada en la base de datos, es
importante que ambas se realicen de manera consistente. Por ejemplo, si estás creando una
orden de compra y actualizando el inventario al mismo tiempo, quieres asegurarte de que
ambas operaciones se completen correctamente o se deshagan en caso de un fallo.

3. Operaciones que involucran varias solicitudes a la base de datos: Si tienes un escenario en el


que necesitas realizar varias solicitudes a la base de datos en diferentes puntos de tu código,
pero quieres asegurarte de que todas se ejecuten como una sola unidad lógica, puedes utilizar
una transacción. Esto es útil para mantener la consistencia de los datos en situaciones en las
que una operación depende del resultado de otra.

4. Acciones críticas que requieren atomicidad: Si tienes una acción crítica en tu aplicación que
debe ser atómica, es decir, se realice en su totalidad o no se realice en absoluto, entonces una
transacción es esencial. Esto puede incluir operaciones financieras, actualizaciones de datos
sensibles o cualquier acción que no deba quedar en un estado intermedio o inconsistente.
En resumen, la implementación de código con transacciones en JavaScript se requiere en
situaciones donde es crucial garantizar la integridad de los datos y la consistencia en
operaciones complejas que involucran cambios en la base de datos o en otros recursos. Las
transacciones ayudan a mantener la atomicidad de estas operaciones, asegurando que se
completen correctamente o se deshagan en caso de errores.

GANCHOS

El gancho `useEffect` en React se utiliza para realizar efectos secundarios en un componente.


Un efecto secundario es cualquier acción que no esté directamente relacionada con la
representación del componente, como hacer una solicitud a una API, suscribirse a eventos,
manipular el DOM, entre otros.

La función `useEffect` se ejecuta después de que el componente se haya renderizado en el


DOM y se le permite realizar ciertas tareas. Puedes pensar en `useEffect` como una forma de
especificar qué hacer después de que el componente se haya actualizado o se haya montado
en la pantalla.

El `useEffect` toma dos argumentos: una función de efecto y una matriz de dependencias
opcional. La función de efecto se ejecuta cada vez que el componente se actualiza o se monta.
Puedes utilizar esta función para realizar tareas como llamar a una API, suscribirte a eventos,
actualizar el estado del componente, entre otros.

La matriz de dependencias es opcional y se utiliza para especificar qué valores o propiedades


debe tener en cuenta el efecto. Si la matriz de dependencias está vacía, el efecto se ejecutará
solo una vez después del montaje inicial del componente. Si proporcionas valores en la matriz
de dependencias, el efecto se ejecutará solo cuando esos valores cambien.

Aquí tienes un ejemplo para ilustrar cómo usar `useEffect`:

```javascript

import React, { useEffect, useState } from 'react';

function MyComponent() {

const [data, setData] = useState([]);

useEffect(() => {

// Este efecto se ejecutará después del montaje inicial y cada vez que 'data' cambie.
fetchData();

}, [data]);

const fetchData = async () => {

// Lógica para obtener datos de una API

const response = await fetch('https://api.example.com/data');

const data = await response.json();

setData(data);

};

return (

<div>

{/* Renderizar los datos obtenidos */}

</div>

);

```

En este ejemplo, el efecto `useEffect` se ejecutará después del montaje inicial del componente
y cada vez que el valor de `data` cambie. Dentro del efecto, se realiza una solicitud a una API
para obtener datos y luego se actualiza el estado del componente usando `setData`. Esto
asegura que los datos se obtengan y se actualice la representación del componente cuando sea
necesario.

En resumen, `useEffect` te permite realizar efectos secundarios en un componente, como


llamar a una API o actualizar el estado, después de que el componente se haya actualizado o
montado. Puedes especificar cuándo se debe ejecutar el efecto utilizando una matriz de
dependencias y la función de efecto que proporcionas.

COMPONENTES REACT

https://reactnative.dev/docs/flatlist#listemptycomponent
https://reactnative.dev/docs/flexbox?language=javascript

PARCIAL

https://github.com/IISSI2-IS-profs/DeliverUS-Owner-Monorepo-Enunciados-y-Soluciones-
Evaluacion-Continua/compare/sortProductsByPriceSolution?expand=1

https://github.com/IISSI2-IS-profs/DeliverUS-Owner-Monorepo-Enunciados-y-Soluciones-
Evaluacion-Continua/compare/customRestaurantCategories?expand=1

También podría gustarte