Redondear números en C

Introducción El lenguaje de programación C provee métodos para redondear números. Vamos a estudiarlos a los 3 y veremos cómo redondear según el número, redondear hacia abajo y redondear hacia arriba. Las funciones que permiten eso vienen en la librería math.h. Recuerda que esto mismo hicimos con JavaScript hace algún tiempo. ...

noviembre 8, 2018 · 4 min · 706 palabras · Parzibyte

Trabajando con arreglos de cadenas en C

Introducción El tipo de dato cadena, al menos en los estándares de C, no existe. Una cadena es un arreglo de caracteres, o sea, del tipo char. Por lo tanto, para declarar un arreglo de cadenas o strings en C necesitamos un arreglo de caracteres bidimensional, porque tendrá arreglos dentro de un arreglo. Veamos hoy cómo declararlo, calcular su tamaño, recorrerlo y pasarlo como argumento a una función en C. ...

noviembre 8, 2018 · 4 min · 671 palabras · Parzibyte

Cargar archivo a PHP desde JavaScript con FormData

Introducción Enviar datos con AJAX es algo relativamente fácil; pues al final de todo son simples datos. Ya sean cadenas o números, todo es texto. Pero algo distinto pasa cuando queremos cargar un archivo o fichero con JavaScript hacia PHP. Esto es más complicado cuando queremos hacerlo con AJAX, pues no hay una forma estandarizada de enviar un archivo; y nos topamos con que el usuario podría seleccionar archivos pesados. Lo que nos quedaría sería poner un formulario y agregar un <input type="file"> pero nuestra página perdería dinamismo. Afortunadamente desde hace algunos años existe la API de FormData, la cual ofrece una manera de enviar todo tipo de datos como se enviarían en un formulario; con la ventaja de poder hacerlo sin interrumpir al usuario o recargar la página. ...

noviembre 7, 2018 · 4 min · 852 palabras · Parzibyte

Cuando descubrí que las contraseñas de una web no estaban hasheadas

Introducción Esto es otra historia personal, se trata sobre una plataforma web que está mal programada, de la cual descubrí que no hashea (o encripta como dicen por ahí, aunque no es la forma correcta) las contraseñas de los usuarios, además de que no valida nada. Todo comenzó porque por gracioso cambié mi contraseña y puse una de 100 caracteres. La cambié, cerré sesión y magia, ya no podía entrar. ...

noviembre 7, 2018 · 4 min · 749 palabras · Parzibyte

Palíndromo en C usando recursividad y ciclos

Introducción Ya comprobamos si una cadena es palíndroma o palíndromo en C#, un lenguaje de alto nivel en donde no nos importa mucho el manejo de la memoria, tenemos booleanos y funciones para cortar cadenas. Ahora veamos lo mismo pero en el lenguaje de programación C, uno antiguo en donde ni siquiera existe un recolector de basura. En resumen, veremos cómo: Comprobar si una cadena es palíndroma usando recursividad Usar el ciclo while para determinar si una cadena es palíndroma Todo esto en el lenguaje ANSI C. Si no sabes lo que esto es, visita la Wikipedia. ...

noviembre 7, 2018 · 4 min · 819 palabras · Parzibyte

Explicación de watch en Vue JS 2

Introducción Vue.Js es un framework maravilloso. Ofrece, al igual que AngularJS (y no sé cuáles otros, no los he usado) una forma de vigilar el cambio de un valor a través de un watch, watcher u observador. Esto permite observar el cambio de una variable, ya sea primitiva o compleja como un objeto o arreglo. Veamos entonces cómo usar de forma correcta a watch en el framework web de JavaScript Vue.js ...

noviembre 6, 2018 · 5 min · 911 palabras · Parzibyte

Extraer extensión de archivo en PHP

Introducción PHP provee una manera fácil y rápida de obtener la extensión de un archivo. No necesitamos estar buscando el último índice del punto y cortando cadenas; no, nada de eso. Veremos cómo obtener la extensión de un archivo, dada una cadena. Por ejemplo, si introducimos “canción.asd.asd.mp3” devolverá “mp3”. ...

noviembre 6, 2018 · 1 min · 200 palabras · Parzibyte

Haciendo un conversor de bases numéricas con JavaScript y Vue JS 2

Introducción Para reforzar y aplicar lo que vimos en cómo convertir entre binario, octal, decimal y hexadecimal en JavaScript decidí crear un convertidor (o conversor) de bases numéricas o números. Lo que hace es muy simple, convierte (desde cualquier base) a las siguientes: Binario Octal Decimal Hexadecimal Para agregarle más comodidad al usuario pusimos la opción de copiar el texto directamente en el portapapeles. Veamos una pequeña explicación. ...

noviembre 6, 2018 · 3 min · 446 palabras · Parzibyte

Conversiones de números en JavaScript: Binario, Octal, Hexadecimal y Decimal

Introducción Hoy veremos cómo podemos convertir números a una base distinta en JavaScript. Es decir, cómo hacer la operación (y lo inverso) para convertir un número de determinada a base a otra. Por ejemplo, convertir binario a octal, binario a decimal, decimal a hexadecimal y todas esas conversiones. Para ello, no utilizaremos más que los métodos que le lenguaje provee; nada de librerías externas o algoritmos complicados. ...

noviembre 5, 2018 · 5 min · 884 palabras · Parzibyte

Juego de la serpiente en JavaScript: versión 2

Introducción Como he visto que mi implementación del juego de la serpiente ha ganado un poco de visitas (lo que significa que puede que alguien lo use, y qué pena que esté incompleto) decidí darle mantenimiento. Y por lo tanto, he escrito la versión 2 del juego de snake en JavaScript. Esto trae nuevos cambios… Ya no es necesario jQuery (ya estamos en el 2018, incluso hay robots en Marte y es una vergüenza seguir usándolo). Además, sólo se usaba para los selectores, lo cual puede ser fácilmente remplazado por querySelector Ahora sí toma la pantalla completa, sin scrolls o barras (era molesto porque al usar el teclado, la ventana bajaba o subía) Lo mejor es: ahora ya no sigue avanzando cuando choca contra una pared Veamos cómo logramos eso, además de explicar las cosas paso por paso. El código fuente está en GitHub, y la versión para jugar en el navegador la dejaré abajo. Vamos allá. ...

noviembre 5, 2018 · 3 min · 482 palabras · Parzibyte