- Reading privileged memory with a side-channel - Project Zero
- Vulnerability of Speculative Processors to Cache Timing Side-Channel Mechanism - ARM Developer
- Mitigations landing for new class of timing attack - Mozilla Security Blog
- Time-travelling exploits with Meltdown - Pwn All The Things
- Actions Required to Mitigate Speculative Side-Channel Attack Techniques - The Chromium Projects
- meltdownattack.com
- Site Isolation - The Chromium Projects
- Spectre PoC
#Strings
Hacer una función que reciba dos parámetros del tipo string. La función deberá retornar la cantidad de apariciones que tiene el segundo parámetro en el primer parámetro. Ejemplo:
console.log(contarOcurrencias("sarasa", "a")); // imprime 3
console.log(contarOcurrencias("sarasa", "z")); // imprime 0
Hacer una función que reciba una string y retorne la misma string pero agregando después de cada caracter su índice correspondiente. Es decir, que retorne la misma string transformada de la siguiente forma:
function sumar(parametro1, parametro){ | |
return parametro1 + parametro; | |
} | |
console.log(contarvocales("coderhouse")); | |
function contarvocales(string){ | |
var totaldevocales = 0; |
try{ | |
setTimeout(function(){ | |
throw new Error('kaboom'); // be my guess to throw outside the setTimeout function | |
}, 4000); | |
} | |
catch (err){ | |
console.log(err); | |
} |
#Objetos
Crear una función merge que reciba dos objetos cómo parámetros, obj1 y obj2, y que retorne un objeto nuevo con las todas las propiedades de obj1 y de obj2 con sus respectivos valores. En el caso de que ambos objetos posean una misma propiedad, el objeto resultado deberá tener la propiedad en cuestión con el valor que posee obj2.
var foo = { a: 1};
var bar = { z: "sarasa"};
var res = merge(foo, bar);
console.log(res.a, res.z); // 1 "sarasa"
Sabemos que un objeto es una "bolsa" de keys (propiedades) y values (valores). Por ejemplo si ejecutamos el siguiente código:
var obj = { a: 1 };
console.log(Object.keys(obj)); // [ "a" ]
podemos entender que Object.keys nos retorna un array con los keys que contiene el objeto que recibe por parámetro. A su vez, un objeto puede poseer propiedades pero éstas estar definidas para que no sean enumerables. Una propiedad no-enumerable no es recorrida con loops for...in
y no es considerada por Object.keys
. La forma de definir propiedades no-enumerables es con Object.defineProperty. Se puede saber también si una propiedad es enumerable usando Object.prototype.propertyIsEnumerable, por ejemplo:
[sadfad.com](hey there]
{ "firstMessage": "publicado el 02/09/2021", "secondMessage": "01/10/2021 a las 11:00 hs."} |
Ir a la página de descargas. Si no sabés cual elegir y tenés Windows, simplemente hacé click en el ícono que dice "Windows Installer":
Va a descargar un archivo.
Ejecutá el archivo que acabas de descargar. Te aparecerá la siguiente ventana de confirmación:
var fs = require('fs'); | |
var EventEmitter = require('events').EventEmitter; | |
var pos = 0; | |
var messenger = new EventEmitter(); | |
messenger.on('message', function(msg) { console.log(++pos + " message:" + msg); | |
}); | |
console.log(++pos + " first"); |