SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
HOLA!
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
Soy Aida Albarrán
@aidaispro
aidalbla@gmail.com
¿DE QUÉ VAMOS A HABLAR
HOY?
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
1. Javascript. No sabes Javascript, John Snow.
2. Clean Code. El arte de programar.
3. Testing. Para refactorizar, crear tests debes.
4. Asincronía. Esa gran “amiga”.
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
COMIENZOS
TESTING
TDD
SOLID
PATRONES DE
DISEÑO
FUNCIONES
QUERY
NO SABES JAVASCRIPT, JOHN SNOW
Primer encuentro con la realidad
1 JAVASCRIPT
CLEAN CODE
TESTING
2
3
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
ASINCRONÍA4
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
OBJETIVO FUNCIONES
BEFORE:
handleResponse(firstList){
const getAllPokeDatas = firstList.results.map(poke =>
this.getPokemonByUrl(poke.url));
}
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
OBJETIVO FUNCIONES
AFTER:
handleResponse(firstList){
firstList.results.forEach(poke =>
this.getPokemonByUrl(poke.url));
}
TIPOS DE FUNCIONES
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
QUERY ACTION (o COMMAND)
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
OBJETIVO FUNCIONES
AFTER:
BEFORE:
handleResponse(firstList){
firstList.results.forEach(poke => this.getPokemonByUrl(poke.url));
}
handleResponse(firstList){
firstList.results.forEach(poke => this.setPokemonByUrl(poke.url));
}
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
COMMAND QUERY SEPARATION (CQS)
EL ARTE DE SEPARAR
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
EDUCACIÓN PARA LA
CIUDADANÍA EN JAVASCRIPT
Maléfica
SON CIUDADANOS DE PRIMERA CLASE
PORQUE PUEDEN SER...
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
DEVUELTAS
por otras
funciones
ALMACENADAS
en variables
usadas como
PARÁMETROS
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
FUNCIONES COMO CIUDADANOS DE PRIMERA
function assignClass(className) {
return function(element) { //Se devuelve esta función
document.getElementbyId(element).classList.add(className);
}
}
const hideElement = assignClass('hide'); // Que se almacena en esta
variable
hideElement('myId'); //Ejecuto la función almacenada
const pokemonNames = pokemons.map(function(pokemon){
return pokemon.name;
});
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
FUNCIONES COMO CIUDADANOS DE
PRIMERA CLASE
SIRVEN IGUAL PARA UN ROTO QUE PARA UN “DESCOSÍO”
EL ARTE DE PROGRAMAR
Código limpio y sin malos olores
2
JAVASCRIPT
CLEAN CODE
TESTING
1
3
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
ASINCRONÍA4
Any fool can write code that a computer
can understand. Good programmers write
code that humans can understand.
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
—Martin Fowler.
“
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
SINGLE
RESPONSIBILITY
DEPENDENCY
INVERSION
PRINCIPIOS S.O.L.I.D.
SOY UNA ARTISTA
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
VISTA
LÓGICA DE
NEGOCIO /
MODELO
PERSISTENCIA
DE DATOS
CONTROLADOR
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
export interface TweetInfo {
tweetid: string
followers: number
retweets: number
favs: number
date: string
...
}
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
PRIMITIVE OBSESSION SMELL
CODE SMELLS QUE NO HUELEN MUY BIEN
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
export interface TweetInfo {
tweetid: string
followers: number
retweets: number
favs: number
date: string
...
}
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
VALUE OBJECT
Objetos que lo valen. Tanto es así, que se diferencian unos de otros
por su valor, pero conservan la misma estructura y además son
inmutables.
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
interface PersonProps {
name: string;
age: number;
}
VALUE OBJECT APLICADO
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
import { valueObject, type } from "valueobject.ts";
class Person extends valueObject({
name: type.string,
age: type.number,
}) {
constructor(args: PersonProps) {
super(args);
if (!this.validateAge()) throw new Error('INVALID_AGE');
}
validateAge(): boolean {
if (this.age < 0) return false;
return true;
}
}
VALUE OBJECT APLICADO
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
function printPerson(person: Person) {
console.log('Se ha creado:', person);
}
const personData = {
name: "Aida",
age: 25
};
const person = new Person(personData);
printPerson(person);
VALUE OBJECT APLICADO
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
function printPerson(person: Person) {
console.log('Se ha creado:' , person);
}
const personData = {
name: "Aida",
age: -20
};
const person = new Person(personData);
printPerson(person);
VALUE OBJECT APLICADO
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
VALUE OBJECT APLICADO
export interface TweetInfo {
tweetid: string
followers: number
retweets: number
favs: number
date: string
...
}
PARA REFACTORIZAR, CREAR TESTS
DEBES
O cómo el testing me ayudó a
mejorar mi código.
3
JAVASCRIPT
CLEAN CODE
TESTING
1
2
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
ASINCRONÍA4
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
TESTING Y REFACTOR
Comportamiento MOBILE
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
TESTING Y REFACTOR
Comportamiento DESKTOP
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
TESTING Y REFACTOR
context('Active and not active elements management' , () => {
function checkIfElementsAreActive(listItem, itemContainer , itemSubmenu) {
expect(listItem.getAttribute('aria-expanded' )).to.be.equal('true');
expect(listItem.querySelector('menu-item').className).to.contain('active');
expect(itemContainer .className).to.contain('active');
expect(itemSubmenu.className).to,contain('active');
}
function checkIfElementsAreNotActive(listItem, itemContainer , itemSubmenu) {
expect(listItem.getAttribute('aria-expanded' )).to.be.equal('false');
expect(listItem.querySelector('menu-item').className).not.to.contain('active');
expect(itemContainer .className).not.to.contain('active');
expect(itemSubmenu.className).not.to,contain('active');
}
//...
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
TESTING Y REFACTOR
it ('should close active menu elements after click ', (done) => {
flush(() => {
const currentItem = sut.shadowRoot.querySelectorAll('menu-item')[1];
const mockEvent = { currentTarget : currentItem .parentNode,};
sut.toggleMenuItem(mockEvent);
const listItem = currentItem .parentNode;
const itemContainer = listItem.parentNode;
const itemSubmenu = itemContainer .querySelector('submenu').shadowRoot...
checkIfElementsAreActive(listItem, itemContainer , itemSubmenu );
sut.closeSubmenu();
checkIfElementsAreNotActive(listItem, itemContainer , itemSubmenu );
done();
});
});
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
TESTING Y REFACTOR
Momento de refactorizar
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
TDD
Deja que los test “conduzcan” y controlen tus funciones.
ASINCRONÍA
Esa gran amiga a la que todos los
desarrolladores de Javascript
“amamos”.
4
JAVASCRIPT
CLEAN CODE
TESTING
1
2
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
ASINCRONÍA
3
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
it ('should close active menu elements after click ', (done) => {
flush(() => {
const currentItem = sut.shadowRoot.querySelectorAll('menu-item')[1];
const mockEvent = { currentTarget : currentItem .parentNode,};
sut.toggleMenuItem(mockEvent);
const listItem = currentItem .parentNode;
const itemContainer = listItem.parentNode;
const itemSubmenu = itemContainer .querySelector('submenu').shadowRoot...
checkIfElementsAreActive(listItem, itemContainer , itemSubmenu );
sut.closeSubmenu();
checkIfElementsAreNotActive(listItem, itemContainer , itemSubmenu );
done();
});
});
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
LENGTH
EN ARRAY:
EN STRING:
EN NUMBER Y OBJECT:
const myArray = ['Besis', 'de', 'fresi'];
console.log(myArray.length); // 3
const myText = 'Besis';
console.log(myText.length); // 5
const myNumber = 4;
console.log(myNumber.length); // undefined
const myObject = {};
console.log(myObject.length); // undefined
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
LENGTH
EN FUNCTION:
function myFunction() {
// Hago cosas
}
console.log(myFunction.length); // 0
function myFunctionWithArguments(name, age, phone)
{
// Hago cosas
}
console.log(myFunctionWithArguments .length); // 3
it ('should close active menu elements after click ', (done) => {
flush(() => {
const currentItem = sut.shadowRoot.querySelectorAll('menu-item')[1];
const mockEvent = { currentTarget : currentItem .parentNode,};
sut.toggleMenuItem(mockEvent);
const listItem = currentItem .parentNode;
const itemContainer = listItem.parentNode;
const itemSubmenu = itemContainer .querySelector('submenu').shadowRoot...
checkIfElementsAreActive(listItem, itemContainer , itemSubmenu );
sut.closeSubmenu();
checkIfElementsAreNotActive(listItem, itemContainer , itemSubmenu );
done();
});
});
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
LENGTH
Una propiedad con más usos que el aceite de oliva virgen extra.
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
V8
ECMAScript
SETTIMEOUT Y SETINTERVAL
- Navegadores
- Nodejs
SpiderMonkey ...
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
MOTOR JS + APIS DEL NAVEGADOR
El extra que te ofrecen los navegadores para hacer tu experiencia
con Javascript más placentera....
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
WEB APIS
Fn
MOTOR JS
FIFO
STACK/PILA
Fn
Fn
HEAP
DOM
SetTimeout..
AJAX
EVENT LOOP
X
...
CALLBACKS QUEUE
onClick cb cb cb
EVENT LOOP EN NAVEGADORES
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
setTimeout(function firstCallback() {
console.log('Primer log de SETTIMEOUT');
}, 0);
console.log('Primer log de FUERA');
setTimeout(function secondCallback() {
console.log('Segundo log de
SETTIMEOUT');
}, 0);
console.log('Segundo log de FUERA');
EVENT LOOP EN NAVEGADORES
STACK/PILA
setTimeout
(firstCallback)
WEB APIS
EVENT LOOP
X
...
CALLBACKS QUEUE
//Primer log de FUERA
//Segundo log de FUERA
//Primer log de SETTIMEOUT
//Segundo log de SETTIMEOUT
firstCallback
main()
log(1º FUERA)
setTimeout
(secondCallback)
secondCallback
firstCallback
log(2º FUERA)
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
EVENT LOOP
La magia de posibilitar hacer varias cosas “a la vez” y del mismo
modo volvernos locos con la concurrencia...
¡GRACIAS!
¿Alguna pregunta?
@aidaispro
aidalbla@gmail.com
ENLACES DE APOYO
PRIMITIVEOBSESSION/AIDAALBARRÁN@aidaispro
Estos son los enlaces a los videos mencionados en la charla y otros
canales de interés.
● Quiero ser una desarrolladora del montón. By Azahara Fernández
● Javascript, the Unknown. By Carlos Hernández
● What the heck is the Event Loop anyway?. By Philip Roberts.
● Canal de youtube de Carlos Blé.

Más contenido relacionado

La actualidad más candente

Noticias de negocios, Finanzas Personales y Dinero de Noticias
Noticias de negocios, Finanzas Personales y Dinero de NoticiasNoticias de negocios, Finanzas Personales y Dinero de Noticias
Noticias de negocios, Finanzas Personales y Dinero de Noticiascameronvoeflvlxeo
 
Problemas propuestos2.0
Problemas propuestos2.0Problemas propuestos2.0
Problemas propuestos2.0YO Por Que
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQueryContinuum
 
taller administrar bd mysql desde php
taller administrar bd mysql desde phptaller administrar bd mysql desde php
taller administrar bd mysql desde phpEl Progreso
 
Procesar estado
Procesar estadoProcesar estado
Procesar estadoLismirabal
 
Noticias de negocios, Finanzas Personales y Dinero de Noticias
Noticias de negocios, Finanzas Personales y Dinero de NoticiasNoticias de negocios, Finanzas Personales y Dinero de Noticias
Noticias de negocios, Finanzas Personales y Dinero de Noticiasroundcomedian383
 
Programa que almacena en una base de datos las características de un carro co...
Programa que almacena en una base de datos las características de un carro co...Programa que almacena en una base de datos las características de un carro co...
Programa que almacena en una base de datos las características de un carro co...jbersosa
 
jQuery
jQueryjQuery
jQueryCoya14
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con phpFer Nando
 
Quasi - Practicas de Programacion en C
Quasi - Practicas de Programacion en CQuasi - Practicas de Programacion en C
Quasi - Practicas de Programacion en Cdegarden
 
Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1Jose Luis Orosco Marcos
 
Php y my sql con manejo de sesiones
Php y my sql con manejo de sesionesPhp y my sql con manejo de sesiones
Php y my sql con manejo de sesionescapo1988
 
Charla Jquery
Charla JqueryCharla Jquery
Charla Jquerykaolong
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLjubacalo
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeansedgar muñoz
 

La actualidad más candente (20)

Doctrine2 sf2Vigo
Doctrine2 sf2VigoDoctrine2 sf2Vigo
Doctrine2 sf2Vigo
 
Noticias de negocios, Finanzas Personales y Dinero de Noticias
Noticias de negocios, Finanzas Personales y Dinero de NoticiasNoticias de negocios, Finanzas Personales y Dinero de Noticias
Noticias de negocios, Finanzas Personales y Dinero de Noticias
 
Problemas propuestos2.0
Problemas propuestos2.0Problemas propuestos2.0
Problemas propuestos2.0
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQuery
 
taller administrar bd mysql desde php
taller administrar bd mysql desde phptaller administrar bd mysql desde php
taller administrar bd mysql desde php
 
Procesar estado
Procesar estadoProcesar estado
Procesar estado
 
Noticias de negocios, Finanzas Personales y Dinero de Noticias
Noticias de negocios, Finanzas Personales y Dinero de NoticiasNoticias de negocios, Finanzas Personales y Dinero de Noticias
Noticias de negocios, Finanzas Personales y Dinero de Noticias
 
Programa que almacena en una base de datos las características de un carro co...
Programa que almacena en una base de datos las características de un carro co...Programa que almacena en una base de datos las características de un carro co...
Programa que almacena en una base de datos las características de un carro co...
 
jQuery
jQueryjQuery
jQuery
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
 
Quasi - Practicas de Programacion en C
Quasi - Practicas de Programacion en CQuasi - Practicas de Programacion en C
Quasi - Practicas de Programacion en C
 
Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1Mantenimiento de Usuarios usando MVC ver1
Mantenimiento de Usuarios usando MVC ver1
 
Lista dinamica
Lista dinamicaLista dinamica
Lista dinamica
 
Php y my sql con manejo de sesiones
Php y my sql con manejo de sesionesPhp y my sql con manejo de sesiones
Php y my sql con manejo de sesiones
 
Charla Jquery
Charla JqueryCharla Jquery
Charla Jquery
 
Create database reservacodigos
Create database reservacodigosCreate database reservacodigos
Create database reservacodigos
 
Informe chabot
Informe chabotInforme chabot
Informe chabot
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTML
 
Trabajo array
Trabajo arrayTrabajo array
Trabajo array
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 

Similar a Primitive Obsession. FrontFest 2020

Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jspBoris Salleg
 
Informe Final Del Proyecto Poo
Informe Final Del Proyecto PooInforme Final Del Proyecto Poo
Informe Final Del Proyecto PooEPN
 
05. Creando e implementando objetos y métodos
05. Creando e implementando objetos y métodos05. Creando e implementando objetos y métodos
05. Creando e implementando objetos y métodosDanae Aguilar Guzmán
 
REPORTE RUBI VERONICA J3 ISC A
REPORTE RUBI VERONICA J3 ISC AREPORTE RUBI VERONICA J3 ISC A
REPORTE RUBI VERONICA J3 ISC AChisurin
 
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetosluis freddy
 
Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2josegmay
 
Desarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capasDesarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capasNelson Salinas
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencapaulcuenca9
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datosjubacalo
 
Object Oriented Javascript
Object Oriented JavascriptObject Oriented Javascript
Object Oriented JavascriptGabriel Chertok
 
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetosluis freddy
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apisCloudAppi
 

Similar a Primitive Obsession. FrontFest 2020 (20)

Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jsp
 
Informe Final Del Proyecto Poo
Informe Final Del Proyecto PooInforme Final Del Proyecto Poo
Informe Final Del Proyecto Poo
 
05. Creando e implementando objetos y métodos
05. Creando e implementando objetos y métodos05. Creando e implementando objetos y métodos
05. Creando e implementando objetos y métodos
 
REPORTE RUBI VERONICA J3 ISC A
REPORTE RUBI VERONICA J3 ISC AREPORTE RUBI VERONICA J3 ISC A
REPORTE RUBI VERONICA J3 ISC A
 
Informe Tecnico Unidad 1 (Rubi veronica)
Informe Tecnico Unidad 1 (Rubi veronica)Informe Tecnico Unidad 1 (Rubi veronica)
Informe Tecnico Unidad 1 (Rubi veronica)
 
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
Javascript OOP
Javascript OOPJavascript OOP
Javascript OOP
 
Clase 7 objetos globales de javaScript
Clase 7 objetos globales de javaScriptClase 7 objetos globales de javaScript
Clase 7 objetos globales de javaScript
 
Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2
 
ProyectoFinal-Reporte
ProyectoFinal-ReporteProyectoFinal-Reporte
ProyectoFinal-Reporte
 
Desarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capasDesarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capas
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuenca
 
EXAMEN
EXAMENEXAMEN
EXAMEN
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
 
Object Oriented Javascript
Object Oriented JavascriptObject Oriented Javascript
Object Oriented Javascript
 
Prac1
Prac1Prac1
Prac1
 
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
 
Guia 12 js
Guia 12 jsGuia 12 js
Guia 12 js
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apis
 

Último

SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 

Último (20)

SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 

Primitive Obsession. FrontFest 2020