Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como golang

Hablemos de ... Goroutines

Una de las peculiaridades del lenguaje Go son las goroutines , la cual es una forma de crear hilos de ejecución livianos y gestionables por el sistema operativo (un concepto similar a los hilos en Java). Una goroutine se considera una unidad ligera de ejecución en Go . Se lanzan con la palabra go y las gestiona el runtime de Go ( scheduler ). Son mucho más ligeras que los hilos del sistema operativo. Digamos que es una función o método que se ejecuta simultáneamente con otras goroutines en el mismo espacio de direcciones. Características principales: Es una función que se ejecuta concurrentemente con otras dentro del mismo programa.  Ocupan muy poca memoria (unos pocos KB frente a MB de un hilo).  No dependen del sistema operativo, sino del runtime de Go , que las programa sobre un conjunto de hilos del sistema. Se lanzan en microsegundos, mucho más rápido que crear un hilo. Las goroutines son abstracciones de concurrencia más eficientes que los hilos, aunq...

Creando proyectos Go con Go-Blueprint

Go-Blueprint ,llanamente, es una herramienta que nos permite crear proyectos con Go . Desde la línea de comandos podremos armar un proyecto Go , además de agregarle funcionalidades. Como el hecho de integrar, por ejemplo, el framework Fiber , Gin, Gorilla/mux, configuración Docker , conexión a PostgeSQL a nuestro proyecto, entre otras cosas más. La forma de instalarlo es la siguiente: $ go install github . com / melkeydev / go - blueprint @latest O si lo preferimos usamos Npm: $ npm install - g @melkeydev/ go - blueprint Está última solo para quienes ya están trabajando en proyectos JS/Node. Verificamos la instalación. En Linux: $ wich go - blueprint En Windows: $ where go - blueprint O simplemente: $ go - blueprint version ¿Para qué sirve Go-Blueprint? Generación rápida de proyectos Go: crea la estructura base de un proyecto en segundos. -  Integración con frameworks: soporta Gin, Fiber, Echo, Chi y otros.  Automatización de ...

chi Router: un framework web ligero para Golang

Ya hemos hablado sobre diferentes frameworks web para Go como Fiber, Gin, Echo y Gorilla. Hoy hablaremos de chi Router . chi Router es un framework web para Go cuyas características son: Ligero.  Robusto.  Rápido.  Usa y extiende el paquete net/http.   Sin dependencias externas. Paquete net/http Este paquete te permite construir servidores HTTP en Go con sus poderosas construcciones de composición. Este framework ( chi Router ) usa y extiende este paquete para mejorar su funcionamiento. Sus características más importantes son: Provee servidores HTTP. Provee clientes HTTP.  Manejo de solicitudes. Enrutamiento.  Middleware. Cookies. Comenzando con chi Router 1. Verificamos versión de Go: $ go version 2. Creamos un directorio y nos ubicamos en el: $ mkdir hola - chi $ cd hola - chi 3. Inicializamos el módulo: $ go mod init hola - chi Se creará el módulo: go: creating new go . mod: module hola - chi 4...

Hablemos de GORM: una librería ORM para Go

GORM ( Go ORM ) es una librería que sirve para el mapeo objeto relacional. Características principales: ORM con todas las funciones Asociaciones ( tiene uno, tiene muchos, pertenece a, muchos a muchos, polimorfismo, herencia de tabla única ). Ganchos ( antes/después de crear/guardar/actualizar/eliminar/buscar ). Carga diligente con precarga, uniones. Transacciones, transacciones anidadas, punto de guardado, revertir al punto guardado. Contexto, modo de sentencia preparada, modo de ejecución en seco. Inserción por lotes, búsqueda en lotes, búsqueda/creación con mapa, CRUD con SQL Expr y valorador de contexto. Constructor de SQL, Upsert, bloqueo, sugerencias de optimizador/índice/comentario, argumento con nombre, subconsulta. Clave primaria compuesta, índices, restricciones. Migraciones automáticas. Registrador API de complemento extensible y flexible: Resolvedor de bases de datos ( múltiples bases de datos, división de lectura/escritura ) / Prometheus…  Cada función incl...