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

Prevenir salto de línea en textarea de HTML

En este post vamos a ver cómo evitar que el usuario presione “Enter” en un textarea de HTML para que no se puedan agregar nuevas líneas o saltos de línea. Te voy a enseñar a prevenir que el usuario agregue más líneas dentro del textarea escuchando el evento del teclado, y a partir del mismo puedes hacer más cosas para prevenirlo al momento de copiar y pegar o arrastrar. ...

febrero 1, 2023 · 2 min · 398 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

Tiempo relativo con JavaScript y RelativeTimeFormat

En este post de JavaScript vamos a mostrar el tiempo relativo transcurrido o faltante entre 2 fechas de manera relativa usando Intl.RelativeTimeFormat. Básicamente vamos a mostrar el “hace 2 minutos”, “hace 2 horas,” “dentro de 1 día”, “dentro de un mes” pero siendo capaces de cambiar el idioma. De este modo podremos mostrar el tiempo que falta o el tiempo que ha transcurrido con JavaScript en cualquier idioma. ...

enero 27, 2023 · 4 min · 661 palabras · Parzibyte

Curl: mostrar respuesta HTTP raw con encabezados

En este post veremos cómo ver el cuerpo de una respuesta HTTP sin parsear ni interpretar, es decir, de manera “cruda” o raw para ver todos los encabezados y respuestas HTTP. Yo lo he usado para probar un servidor web en una Raspberry Pi Pico W, ya que me daba algunos errores con Postman y otros clientes, así que necesitaba ver toda la respuesta HTTP y lo hice con curl. ...

enero 24, 2023 · 2 min · 330 palabras · Parzibyte

Flutter: compilar APK desde Visual Studio Code

Hoy veremos cómo generar una APK lista para producción usando Flutter si es que programamos con Visual Studio Code. Al final tendremos una APK lista para distribuir en Android, creada con Flutter. Veamos cómo hacer la compilación. ...

enero 24, 2023 · 1 min · 133 palabras · Parzibyte

Java: eliminar nodo de árbol binario ABB

Ya te enseñé a implementar un árbol binario en Java, insertar elementos, recorrer de 3 maneras distintas y buscar un elemento pero no vimos cómo eliminar un elemento de ese ABB. Por ello es que en este corto post de programación en Java vamos a ver cómo eliminar un nodo, hoja o dato de un árbol binario sin importar su posición y respetando a los nodos hijos en caso de que tenga. ...

enero 18, 2023 · 4 min · 843 palabras · Parzibyte

C# - Enviar datos ESC POS a impresora térmica

En este post vamos a ver cómo usar C# nativamente para abrir una impresora térmica como un archivo y enviarle bytes o datos entre los cuales puede haber comandos ESC POS. Recuerda que yo ya tengo un plugin que permite imprimir en impresoras térmicas y expone una API HTTP consumible desde cualquier lenguaje de programación para que tú lo uses y no implementes tu propia librería, pero si quieres ver cómo se hace sigue leyendo. ...

enero 9, 2023 · 3 min · 543 palabras · Parzibyte

Cambiar ubicación e idioma en página web

Hoy vamos a ver cómo modificar o falsificar nuestro idioma y ubicación en un sitio web. Esto sirve a los programadores para: Probar si el sitio web funciona en varios idiomas Revisar si la ubicación se mueve y no exponer la propia ubicación al momento de hacer pruebas También puede servir para otras cosas como para no revelar tu ubicación real a las páginas web o ver una página en otro idioma. Por cierto, lo haremos con Google Chrome pero me imagino que cualquier navegador decente debe funcionar. ...

diciembre 16, 2022 · 2 min · 252 palabras · Parzibyte

Habilitar claves foráneas en SQLite3

Hoy vamos a ver cómo habilitar las foreign keys de SQLite3 ya que en ocasiones las mismas no funcionan incluso al especificar el on delete y on update. Esto es porque debemos habilitar las claves foráneas de SQLite3 al momento de abrir la base de datos o cambiar el PRAGMA. Veamos cómo hacerlo al abrir la base de datos. ...

diciembre 16, 2022 · 2 min · 290 palabras · Parzibyte