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

Sistema gratuito para restaurantes

Hoy se une a la lista de mis programas gratuitos un software para gestionar restaurantes. Este programa te permitirá registrar las mesas, métodos de pago, platillos (con fotos), modificar la moneda, el idioma, generar el menú imprimible, ver la comanda e incluso permitirá que los clientes se atiendan solos. Además, el sistema gratis para restaurantes que he creado es compatible con Android (termux), Windows, Linux y Raspberry Pi. De hecho es compatible con cualquier plataforma donde C y Go puedan compilar; incluso en un servidor de internet. A lo largo de este post te enseñaré todas las características de este programa que, hasta el momento, es el más grande que he creado y no por su complejidad sino por todo lo nuevo que tiene como el instalador, el apartado multiidioma (con elección de locale y moneda), personalización del ticket, logotipo y escritorio. ...

abril 19, 2023 · 9 min · 1709 palabras · Parzibyte

Detener servidor http de Go desde el mismo servidor

El día de hoy te enseñaré a detener un servidor web creado con Go desde el propio programa. Dicho de otra manera, el servidor se va a detener a sí mismo. Para estoy hay varios enfoques pero te enseñaré 2 que yo considero son muy fáciles y no involucran canales o rutinas (go routines). ...

abril 17, 2023 · 3 min · 451 palabras · Parzibyte

Golang: validar parámetros GET en URL con servidor HTTP

En este post vamos a ver cómo validar y obtener los parámetros GET pasados en la URL cuando estamos leyendo la petición de un servidor HTTP. Recuerda que con net/http podemos obtener el mapa de parámetros con http.Request.URL.Query, luego cuando accedemos a una clave nos devolverá un arreglo con todos los valores para esa clave GET y finalmente si solo queremos el primero accederemos a la posición 0 de ese arreglo. Yo te enseñaré cómo pasar de esta validación: variablesGet := r.URL.Query() fechaInicioComoArreglo := variablesGet["fechaInicio"] fechaFinComoArreglo := variablesGet["fechaFin"] if len(fechaInicioComoArreglo) <= 0 { return nil, errors.New("no hay fechaInicio") } if len(fechaFinComoArreglo) <= 0 { return nil, errors.New("no hay fechaFin") } A esta más limpia: valores, err := validarParametrosGetDePeticionHttp(r, []string{"fechaInicio", "fechaFin"}) if err != nil { return nil, err } fechaInicio, fechaFin := valores[0], valores[1] De este modo podremos validar que el parámetro GET se encuentre presente en la petición HTTP además de que no esté vacío, y no importará la cantidad, siempre tendremos las mismas líneas. Nota: seguramente habrá frameworks o librerías que ya hacen el trabajo. Yo lo haré usando solo la librería estándar y el paquete net/http de Golang. ...

febrero 2, 2023 · 3 min · 437 palabras · Parzibyte

Rotar PDF con Golang

En este post te enseñaré a rotar un PDF usando el lenguaje de programación Go. Vamos a ser capaces de rotar un documento indicando los grados, y todo esto de manera programada indicando la ubicación del archivo de entrada y el de salida. Para modificar el PDF con Golang usaremos el paquete pdfcpu que sirve para hacer distintas operaciones a los PDF pero en esta ocasión nos vamos a centrar en la rotación de las páginas. ...

enero 27, 2023 · 2 min · 392 palabras · Parzibyte

Generador de exámenes con calificaciones automáticas

En el post de hoy te voy a mostrar un generador de exámenes o pruebas para imprimir. No solo te permitirá crear exámenes e imprimir uno por cada alumno o estudiante, también podrás: Agregar y modificar las preguntas, marcando la respuesta correcta Ver la vista previa de impresión Imprimir exámenes Calificar examen generado ingresando solo las respuestas Imprimir la hoja de respuestas Imprimir clave del examen según respuestas correctas Generar hojas de respuesta calificadas Mostrar e imprimir portadas calificadas Generar resultados y gráficas Básicamente podrás generar exámenes, imprimir cada uno por cada alumno, registrar las calificaciones de manera rápida gracias a la hoja de respuestas generada automáticamente y luego dejar que el programa calcule las calificaciones. Por cierto, el programa que te mostraré es totalmente gratis y tiene más cosas como el registro de asistencias y tareas que ya mostré en un post anterior: https://parzibyte.me/blog/posts/software-control-asistencia-tareas-escolares-gratuito/ Veamos cómo usarlo. ...

noviembre 29, 2022 · 6 min · 1164 palabras · Parzibyte

Firma digital con Go y RSA

El día de hoy vamos a ver cómo firmar y verificar un mensaje con Golang y un par de claves RSA. Es decir, por un lado veremos cómo firmar digitalmente un mensaje usando una clave privada y por otro lado vamos a ver cómo comprobar la autenticidad de dicho mensaje. Recordemos que las firmas digitales tienen el propósito de comprobar la autenticidad de un mensaje, no de ocultarlo (de eso se encarga la criptografía). Veamos entonces cómo firmar y verificar firmas con Go. ...

noviembre 25, 2022 · 7 min · 1312 palabras · Parzibyte