Al usar el ORM para Go llamado GORM el nombre de la tabla a la que se refiere el modelo es calculado de acuerdo al nombre de este último, sin embargo, es posible especificar el nombre de la tabla.
Hoy veremos cómo especificarlo usando la función TableName y devolviendo un string.
Este artículo es una demostración sobre cómo poder montar una aplicación web que usa VueJS del lado del cliente (con la vue cli), Go/Golang del lado del servidor y PostgreSQL como base de datos.
Vamos a montar el proyecto web en un teléfono móvil con Android, usando la app Termux. Todo estará ejecutándose en Android, ya que se usará para programar.
Es decir, tendremos a node vigilando los archivos js, a go compilando en el lado del servidor y a PostgreSQL almacenando los datos.
En este post te voy a mostrar un sistema de control escolar o gestión de escuelas. Es un software web que hice hace algún tiempo y vengo a mostrar hoy. Lo que tiene a grandes rasgos es:
Control de estudiantes o alumnos
Registro de profesores o docentes
Registro de materias
Control de calificaciones
Calificaciones por período y número de evaluación
Asignación de materias a docentes
Generación de boletas
Control de horarios de materias
Impresión de boleta
Impresión de horario de clases
Gráficas de comparación entre períodos
Como lo dije, el sistema es un sistema web que puede trabajar en internet o de manera offline. Es compatible con Linux y Windows. También es totalmente responsivo, es decir, se adapta a cualquier pantalla.
Hoy veremos cómo hacer que no aparezca una consola o interfaz al ejecutar un archivo del lenguaje Go.
En las aplicaciones de Go o Golang, se crea una consola indicando el estado; ya sea para interactuar con el usuario o para mostrar cierta información; incluso para ejecutar servidores web.
Sin embargo en ciertas ocasiones vamos a necesitar ocultar la consola y justamente hoy vengo a explicar eso. Por cierto, este truco funciona en Windows, no lo he probado en otros sistemas operativos.
Resumen: en este post te mostraré a usar la función strings.Split de Go, la cual sirve para separar una cadena y convertirla a un arreglo utilizando un delimitador o separador, por ejemplo, la coma.
El lenguaje de programación Go (también conocido como GoLang) ofrece una manera sencilla de eliminar un archivo o eliminar una carpeta/directorio con todo su contenido a través de os.
Eliminar archivo en Go
En este post veremos cómo eliminar un archivo y también cómo eliminar un directorio con todo su contenido: son dos operaciones distintas pero que de alguna forma se relacionan.
Los tests automatizados o pruebas son una parte fundamental de todo lenguaje de programación y framework.
Hoy vamos a ver cómo escribir tests para probar nuestro código en Go. Será un ejemplo bastante sencillo pero ilustrará perfectamente cómo realizar pruebas a nuestro código.
Lo que veremos será:
Usar el paquete testing
Cómo escribir un test en Go
Probar nuestras funciones con go test
Recuerda que antes de esto debes instalar y configurar Go. Si estás en Windows mira este post, y si estás en Linux Ubuntu mira este otro.
En un post anterior vimos cómo responder peticiones HTTP con rutas en Go, pero las mismas no eran tan simples cuando se trataba de variables en la URL o métodos HTTP.
Hoy vamos a ver un enrutador o router de Go, que permite definir rutas y métodos HTTP para responder a ellos, de una manera fácil.
El enrutador, llamado Mux (que es de las herramientas de Gorilla) permite:
Definir middleware en las rutas, es decir, aplicar funciones que se ejecutan antes de cada petición HTTP y que permiten detener la ejecución o loguear determinadas cosas
Definición de rutas con verbos HTTP
Lectura de parámetros GET
Lectura de variables dentro de la url. Por ejemplo si definimos algo como usuario/{id} y se consulta a usuario/1 podemos obtener el valor 1 accediendo a la variable
Variables dentro de la URL con expresiones regulares
En resumen, Mux es un router de Go que soporta además Middleware. Veamos algunos ejemplos del mismo.
De hecho ya tenía el ejemplo desde antes, pero no iba a poner toda la definición de WebAssembly aquí.
En fin, veamos cómo utilizar Go para compilar a WebAssembly y llamar al código desde JavaScript.
WASM y Go – Hola mundo
Pero no te confundas, WebAssembly no es JavaScript, es código que se ejecuta directamente en el navegador, solo que JavaScript le dice al navegador cómo usarlo.
En esta semana me tocó actualizar Go/golang en Windows a la versión 1.12.5 y he decidido documentar el proceso, pues esto no es una nueva instalación, sino una actualización
Golang es un lenguaje utilizado del lado del servidor debido a su simplicidad de uso, potencia y velocidad.
Sin embargo, con Go también se pueden hacer peticiones HTTP. Es decir, Go también puede funcionar como cliente HTTP, no solo como servidor.
Como sabemos, hay 4 métodos básicos para las peticiones HTTP: POST para enviar datos, GET para obtener, PUT para actualizar y DELETE para eliminar.
Peticiones HTTP con Go y net http
En este post veremos ejemplos de cómo hacer estas 4 peticiones con Go usando el paquete net/http para lograr hacer una petición GET, POST, PUT y DELETE usando Golang.
También vamos a ver cómo escribir y enviar encabezados o el código de respuesta (200 para OK, 500 de error, 405 de no permito, etcétera)
El sitio web que vamos a usar para probar será httpbin.org, el cual sirve como espejo para probar que realmente estamos haciendo las peticiones y enviando datos.
En este post voy a explicar cómo codificar y decodificar el formato JSON (JavaScript Object Notation) usando el lenguaje de programación Go, también conocido como Golang.
Para hacerlo no necesitamos librerías externas ni paquetes extraños; solamente a encoding/json con las funciones Marshal y Unmarshal que nos permitirán trabajar con structs, arreglos, cadenas y todos los tipos de datos.
Codificar y decodificar JSON en Go con Marshal y Unmarshal