Parzibyte's blog

Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.

JavaScript: descargar archivo con fetch

En este post vamos a ver cómo descargar un archivo en segundo plano usando JavaScript del lado del cliente y la función fetch para hacer peticiones HTTP.

Veremos cómo descargar un archivo como blob usando AJAX para después preguntar al usuario en dónde guardarlo, sugiriendo un nombre.

Lo bueno de esto es que podemos enviar parámetros para solicitar la descarga del archivo (por ejemplo, si el mismo estuviera protegido por contraseña o autentificación).

(más…)

Python – Hacer que la computadora adivine un número

El día de hoy vamos a resolver un ejercicio en Python en donde el usuario va a pensar un número y el programa o la computadora va a adivinarlo.

Para ello vamos a usar la búsqueda binaria: vamos a hacer que la computadora piense en un número y se lo muestre al usuario. Luego el usuario le debe decir si acertó, y en caso de que no, le debe decir si es menor o mayor.

Lo interesante aquí es que la computadora adivinará en el menor número de intentos posibles, sin confiar en la suerte.

(más…)

Convertir decimal a binario manualmente

En este post te mostraré la base para la conversión de decimal a binario manualmente, como se haría en la clase de Matemáticas discretas.

También te mostraré una aplicación web que puedes usar para ver el procedimiento de conversión de binario a decimal si lo hicieras con papel y lápiz.

(más…)

JavaScript – Generar archivo txt con Blob

En este post te mostraré cómo crear un archivo de texto en el navegador con JavaScript, escribir contenido dentro del mismo y luego forzar su descarga. Básicamente vamos a guardar un Blob con JS.

De este modo vas a poder generar un txt con JS y descargarlo. Además, con lo que te mostraré podrás generar un CSV o cualquier tipo de archivo siempre y cuando sepas estructurarlo.

Todo lo que aprenderás será aplicado del lado del cliente, así que no harás llamadas al servidor. Por cierto, usaremos Blob y URL.createObjectURL.

(más…)

Python – Ejecutar comando en terminal de Linux

En el post de hoy te mostraré cómo ejecutar un comando de Linux desde el lenguaje de programación Python. Es decir, invocar un comando de la terminal de Linux pero desde Python.

Algo así como ejecutar o iniciar un programa desde Python, llamando a ejecutables o binarios de Linux.

(más…)

Python: transformar binario a texto

Hoy vamos a ver cómo transformar un conjunto de texto binario a texto normal, en español, ASCII o como le llames. En otras palabras vamos a decodificar texto binario en Python.

Es decir, transformar algo como “01101000,01101111,01101100,01100001” en “hola”. Para esto vamos a usar funciones para transformar números de base 2 a base 10, split y chr.

(más…)

Python: convertir decimal con parte fraccionaria a binario, octal y hexadecimal

En este post de programación en Python te mostraré cómo convertir un número decimal en base 10 con parte fraccionaria a cualquier otra base; para el ejemplo te mostraré cómo convertir a la base 2 (binario), base 8 (octal) y base 16 (hexadecimal).

La diferencia con otros posts que te he mostrado es que ahora vamos a soportar números con punto decimal, parte fraccionaria o como le llames, y no solo números enteros.

Por ejemplo, podremos convertir el número decimal 3722.24 a E8A.3D70 en hexadecimal, usando Python.

(más…)

Python – Traductor binario a texto

En este post de programación en Python te mostraré un traductor de binario a texto y de texto a binario. Es decir, codificar de texto plano a binario, y de binario a texto plano.

Traductor binario texto en Python - Ejecución del código

Traductor binario texto en Python – Ejecución del código

Con esto podremos codificar y decodificar mensajes, ya sea proporcionando el texto plano para convertirlo a ceros y unos, o proporcionando la cadena de ceros y unos para transformarlo a texto plano.

Al terminar vamos a tener un traductor en Python capaz de traducir la cadena (por ejemplo) 01010000 01100001 01110010 01111010 01101001 01100010 01111001 01110100 01100101 en Parzibyte.

(más…)