Accede a todo EDteam con un único pago¡Sube a premium!
Banner de perfil
0

Andrés Forero

@sigh

Tengo un perrito llamado Firulais que me ayuda a programar.

Bogotá, Edyland

Alternativa a PgAdmin

Andrés Forero@sigh

Hola! para cualquiera que quiera una alternativa un poco más estética, le recomiendo Arctype SQL, es un cliente muy bonito :)

Está disponible en Windows, Mac y Linux (Es una appimage)


Un ejercicio en JS

Andrés Forero@sigh

Hola! ayer estuve practicando algo de JS y me gusto mucho el resultado, es algo basico, pero necesitaba repasar. :b

Les agradeceria si me dan algo de feedback sobre el codigo y si puedo mejorarlo. Gracias!

codepen ~ disculpen el Espanglish en el codigo

Screenshot


Muy buenos argumentos.

Andrés Forero@sigh

Personalmente soy de los que prefieren utilizar CSS con SASS, y si que era detractor de Bootstrap (u otros frameworks como Foundation), pero siento que ahora entiendo un poco mas porque la gente decide utilizarlo, considerando que tiene muchísimas ventajas.


Aqui mi solucion ^^

Andrés Forero@sigh

Justamente habia resuelto un ejercicio asi hace unas semanas, asi que ya tenia claro como hacerlo xD.

Lo unico que me falto fue agregar una comprobacion en caso de que la palabra sea mayuscula, pero es solo agregarle una linea que compare c == C.toUpperCase() y retorne la palabra desplazada en mayuscula.

1const alphabet_gen = () => { 2 let alphabet = Buffer.alloc(26); 3 return alphabet.map((_, i) => i+97) 4 .toString('ascii'); 5} 6 7const encrypt = (text, jump) => { 8 let crypted = text 9 .toLowerCase() 10 .split('') 11 .map(c => { 12 let index = alphabet_gen().indexOf(c) + jump; 13 if(index > 25) index -= 26; 14 if(alphabet_gen().indexOf(c) == -1) return c; 15 return alphabet_gen()[index]; 16 }); 17 return crypted.join(''); 18} 19 20console.log(encrypt('Hola mundo', 13));

Version utilizando Buffers y sin prompt ^^

Andrés Forero@sigh

Los argumentos spec (caracteres especiales), upp (mayusculas) y num (numeros) estan desactivados por defecto (0), cuando se llama la funcion con otro valor se agregan al string.

Sobre el buffer: El abecedario tiene 26 caracteres, la letra 'a' tiene el codigo ascii 97, por lo que hago un bucle que empiece en 0 y termine en 26 y en cada posicion del string le sumo i+97 (donde empieza 'a')

97+0 -> 97 (a)

97+1 -> 98 (b)

99+1 -> 100 (d)

Y por ultimo utilizo el metodo toString('ascii') para que sean caracteres.

1const gen_password = (size=8, spec=0, upp=0, num=0) => { 2 const alph = Buffer.alloc(26); 3 for(let i=0; i<26; i++){ 4 alph[i] = i+97; 5 } 6 let char = alph.toString('ascii'); 7 8 if(!upp == 0) char+= char.toUpperCase(); 9 if(!spec == 0) char+= `!@#$%^&*()-_=+`; 10 if(!num == 0) char+= '1234567890'; 11 12 let password = ''; 13 for(let i=0; i<size; i++) { 14 password+= char[Math.trunc(Math.random()*char.length)]; 15 } 16 return password; 17} 18 19console.log(gen_password(12, 1, 1, 1));

Otra forma de encontrar el numero de la tecla

Andrés Forero@sigh

Me gusto mucho el ejercicio, realmente necesitaba estos cursos de ejercicios de logica, jaja.

Aca les dejo como realice la funcion para buscar el numero de la tecla, en caso de que a alguien le interese ver otras formas de hacerlo.

1const buscarTecla = letra => { 2 const numeros = Object.keys(numPad); 3 let tecla = null; 4 5 for(let i=0; i<numeros.length; i++) { 6 if(numPad[numeros[i]].includes(letra.toLowerCase())) { 7 let index = numPad[numeros[i]].indexOf(letra.toLowerCase())+1; 8 tecla = numeros[i].padStart(index, numeros[i]); 9 } 10 } 11 12 return tecla; 13}

Un chat con Websocket ^^

Andrés Forero@sigh

Hola, quería compartir el resultado de los cursos que he tomado aquí en EDteam, hace unos meses estaba maquetando web con tablas y ver lo que puedo hacer ahora me emociona. (?)

Es algo básico, recién estoy terminando el curso de Ajax y aún no soy un experto en CSS, si me pueden dar algún feedback se los agradecería. 🤠

Codepen


Pregunta a ChatEDT