Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly (con Golang) en Vue 3 con Vite y Pinia. Voy a explicar cómo comunicar las funciones de WASM con JavaScript y viceversa, dejando mucho código del lado de Golang con WASM. Toma en cuenta que es una documentación muy específica a mi modo de trabajo. No esperes un tutorial paso a paso. ...

noviembre 5, 2024 · 4 min · 783 palabras · Parzibyte

Respaldar archivo con Bot de Telegram

El día de hoy te enseñaré a respaldar un archivo o directorio y enviarlo a Telegram, de modo que puedas tener un respaldo o backup de información en la nube de Telegram de manera programada usando un Bot. Con el programa que vamos a ver serás capaz de: Enviar un archivo a cualquier usuario, grupo o canal de Telegram a nombre de un Bot En caso de que quieras hacer un respaldo de un directorio en Telegram, el directorio será comprimido en un zip Si el archivo pesa más que el límite, será dividido en varias partes y enviado a Telegram, así que no hay límite de tamaño Así que dicho con otras palabras vas a ser capaz de respaldar información en Telegram usando un Bot, sin importar el tamaño o contenido del directorio. Más adelante puedes combinar esto con algo como el Cron para Golang y hacer respaldos periódicos. ...

julio 31, 2024 · 8 min · 1631 palabras · Parzibyte

Algoritmo Floyd-Steinberg Dithering con Golang

En este post de programación con Go te voy a enseñar cómo aplicar el algoritmo Floyd-Steinberg Dithering a cualquier imagen, de modo que puedas convertir una imagen de color completo a una en blanco y negro respetando la iluminación. Para que tengas una idea de lo que hace este algoritmo, mira la siguiente comparación donde aparece la imagen a color, en blanco y negro sin dithering y finalmente en blanco y negro pero con dithering: Como puedes ver, al aplicarle el dithering aparecen más detalles en la imagen, dando la ilusión de iluminación. De hecho pareciera que está en escala de grises, pero no, en este caso el dithering solo convierte la imagen a blanco y negro, nada más. Veamos entonces cómo implementar este algoritmo Floyd-Steinberg Dithering con Golang a cualquier imagen ya sea PNG o JPG. ...

julio 28, 2024 · 9 min · 1737 palabras · Parzibyte

Certificado Let's encrypt con Apache y Golang en distinto puerto

En este post te voy a enseñar cómo usar un certificado SSL previamente configurado con Apache para usarlo en un programa de Go. El sitio web de un cliente tenía un servidor con Apache y Let’s encrypt, pero quería que una aplicación de Golang (que escucha en un puerto distinto) usara ese mismo certificado. Por ello es que hoy vamos a ver cómo reutilizar ese mismo certificado que ya funciona con Apache pero que también queremos usar en otro puerto en una aplicación distinta, sin proxy. ...

junio 24, 2024 · 2 min · 304 palabras · Parzibyte

Imagen a PDF con Go

En este tutorial de programación con Golang vamos a ver cómo convertir varias imágenes en un PDF, indicando el tamaño del papel y ajustando la imagen para que tenga el tamaño de la hoja. Dicho con pocas palabras veremos cómo convertir imágenes a PDF con Go, agregando una imagen por hoja, cubriendo toda la hoja. ...

mayo 22, 2024 · 2 min · 339 palabras · Parzibyte

Mejorando el descargador de libros de CONALITEG

Hace algún tiempo te mostré cómo descargar cualquier libro de la CONALITEG usando Python, luego publiqué una herramienta programada con Flask en donde podías descargar el libro, pero dicha herramienta quedó saturada. El programa hecho con Flask sigue funcionando y es open source, pero necesitas tener conocimientos de programación para ejecutarlo. En este post expongo mi segundo intento de hacer una herramienta más fácil para el usuario y he mejorado varios aspectos. Vas a poder descargar la herramienta y ejecutarla en tu computadora. ...

mayo 22, 2024 · 3 min · 517 palabras · Parzibyte

Agregar texto a imagen con Golang

En este tutorial de trabajo con imágenes en Golang vamos a ver cómo escribir texto sobre una imagen, cambiado la alineación, tamaño, espaciado de línea e incluso cargando una fuente TTF. Veamos entonces cómo dibujar texto sobre una imagen con Golang. El ejemplo que te mostraré crea una imagen en blanco y dibuja el texto en la misma, ajustando el texto como sea necesario. ...

enero 24, 2024 · 4 min · 651 palabras · Parzibyte

Sincronizar archivo con PHP

En este post de programación de servidores con PHP te voy a enseñar a mantener sincronizado un archivo, de modo que si el archivo es modificado se puede subir la nueva versión, y luego descargar esa última versión en cualquier otro dispositivo. Lo único que vamos a hacer con este script es mantener sincronizado un archivo con PHP cada vez que ejecutemos el programa cliente que sube o baja el archivo. No es el próximo rsync, solo permite, a petición del usuario, subir o descargar un archivo usando PHP en el servidor y Golang en el cliente a partir de su fecha de modificación. El programa es open source y con alguna modificación también va a permitir mantener un historial de versiones del archivo. Recuerda que ya hice un gestor de archivos en la nube con PHP hace algún tiempo, solo que ahora te enseñaré a subir y bajar un archivo de manera automática. ...

enero 24, 2024 · 6 min · 1242 palabras · Parzibyte

SQLite3 en JavaScript con WebAssembly y OPFS

Anteriormente te he hablado de SQLite en el navegador web, ya sea con Svelte o JavaScript puro. Hoy voy a mostrarte otra cosa: cómo invocar a SQLite3 desde WASM o WebAssembly. Al final vamos a estar invocando la API de SQLite3 de JS desde WebAssembly. Te enseñaré cómo es mi entorno de trabajo y cómo usar SQLite3 con WebAssembly. ...

septiembre 7, 2023 · 4 min · 748 palabras · Parzibyte

Código fuente - Software POS restaurante

En este post escribiré los detalles del código fuente para mi sistema gratuito para restaurantes. Te enseñaré a compilarlo y te enseñaré algunos de sus detalles para tenerlo en tu plataforma favorita. El programa está hecho con Vue, Buefy, Golang, SQLite3. Utiliza JWT para la autentificación, Gorilla para crear la API REST y NSIS para el instalador. Recuerda que, como está hecho con Go, C y Node, puede compilar en cualquier plataforma que soporte Go y C. Así que puedes compilar en Linux, Android, Mac, Windows, Raspberry Pi, servidores de internet y cualquier otra que soporte estos lenguajes. ...

abril 27, 2023 · 9 min · 1899 palabras · Parzibyte