Ir al contenido principal

Entradas

Mostrando entradas de 2025

Ballerina en un vistazo (8): visualizando código

Existe una extensión en VsCode que permite, entre otras cosas más, visualizar el código que hacemos con Ballerina. El enlace es el siguiente: https://marketplace.visualstudio.com/items?itemName=WSO2.ballerina Abrimos el editor y buscamos el plugin. Visual Studio Code también nos permite ejecutar el código: Visualicemos el siguiente código. tipos.bal import ballerina/io; // Definiciones de tipos a nivel de módulo type Persona record {| string nombre; int edad; |}; enum Estado { ACTIVO, INACTIVO } public function main() { int edad = 30 ; float altura = 1.75 ; boolean activo = true ; string inicial = "C" ; // no existe 'char' string nombre = "Thomas Muller." ; int [] numeros = [ 1 , 2 , 3 , 4 ]; [ int , float , string ] tupla = [ 25 , 1.80 , "Ana" ]; Persona p = { nombre: "Luis" , edad: 40 }; Estado estado = ACTIVO; map < string ...

Instalando Lobster con Docker

  En esta ocasión instalaremos una imagen de Ubuntu para poder instalar Lobster. ¿Por qué instalar Ubuntu para poder instalar Lobster? La razón es que no existe una imagen de Lobster para poder usarlo sin la necesidad de una instalación. Además de que nos servirá para poder conocer la herramienta de Docker Desktop. Requisitos: Tener una cuenta en Docker Hub.  Tener instalada la herramienta de Docker Desktop.  Saber como instalar paquetes en Ubuntu. Saber como usar Git. Instalando Ubuntu con Docker 1. Como primer paso es buscar una imagen de Ubuntu, lo podemos hacer desde la línea de comandos: $ docker search ubuntu También usando la herramienta de Docker Desktop: 2. Descargamos la imagen de Ubuntu con la línea de comandos: $ docker pull ubuntu O con la herramienta visual: Con esto iniciará la descarga de la imagen. 3. Listamos la imagen descargada usando la línea de comandos: $ docker images # o con este otro comando $...

Diesel: un ORM para Rust

Diesel es una herramienta para el mapeo objeto relacional (ORM, Object-Relational Mapping) para el lenguaje de programación Rust . Esta herramienta nos ayuda a crear relaciones entre bases de datos y, en este caso, código hecho en Rust. Además crear operaciones CRUD ( Crear, Leer, Actualizar y Eliminar datos ) de manera más sencilla. Podemos usar PostgreSQL, MySQL y SQLite. El sitio oficial dice que debemos tener una versión de Rust superior a la 1.86.0 de preferencia. Verficamos las versiones de Cargo y Rust instalados en nuestro sistema: $ rustc -- version $ cargo -- version En caso de no tener una versión actualizada, podemos hacerlo lanzando este comando: $ rustup update stable Empezando con Diesel Requisitos: Tener la última versión instalada de Rust (y Cargo).  Tener SQLite instalado. En caso de no tener SQLite instalado, ver este sitio: https://sqlite.org/download.html 1. Crearemos un proyecto Rust: $ cargo new -- lib di...

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...