Ir al contenido principal

Entradas

Consumir un servicio Spring Boot desde React

Como desarrolladores web, específicamente de Java y Spring Boot , muchas veces tenemos a la vista miles de opciones para crear el frontend. Angular, Vue, Svelte y React siempre están a la cabeza de todas ellas. Actualmente React está llevando la delantera aunque Angular y Vue no se quedan muy atrás. En esta ocasión crearemos una aplicación backend con Spring Boot (con Java como lenguaje base) y un sencillo frontend con React. ¿Qué aplicación crearemos? Se tratará de una aplicación web para crear tickets de soporte técnico donde: El usuario indicará el problema y lo enviará al equipo de soporte.  El equipo del soporte lo recibirá y atenderá. Hay otros factores a tomar en cuenta como lo pueden ser: El tiempo de espera del usuario.  El nivel de prioridad de su solicitud (que afectará el tiempo de espera). Un ticket o solicitud puede esperar más si no es grave o urgente. ¿Qué herramientas necesitamos? Tener el JDK 21 instalado.  Tener Maven inst...
Entradas recientes

Comparativa entre Go, Odin y Rust

En esta ocasión veremos una comparativa entre tres lenguajes de programación modernos: Go, Odin y Rust . Comencemos observando esta tabla comparativa. Comparativa entre lenguajes. Característica Go Odin Rust Creador Ken Thompson, Robert Pike y Robert Griesemer Ginger Bill Graydon Hoare Paradigma Multiparadigma Multiparadigma (con limitantes) y orientado a datos Multiparadigma (con limitantes) Extensión .go .odin .rs Tipado Estático Estático Estático Nivel de abstracción Alto nivel Alto nivel Alto nivel Tipo de e...

Rust y la programación concurrente

  Rust tiene la filosofía de " concurrencia sin miedo "; lo cual te permitirá escribir código libre de errores sutiles y fácil de refactorizar. Rust ofrece una variedad de herramientas para modelar problemas de la manera que sea más apropiada para su situación y requisitos. Entre ellas tenemos: Creación de hilos(threads) para ejecutar múltiples fragmentos de código simultáneamente.  Concurrencia mediante paso de mensajes , donde los canales envían mensajes entre hilos.  Concurrencia de estado compartido , donde múltiples hilos tienen acceso a un mismo dato.  Los traits ` Sync ` y ` Send ` , que extienden las garantías de concurrencia de Rust a tipos definidos por el usuario, así como a tipos proporcionados por la biblioteca estándar. Rust garantiza que solo un hilo puede modificar datos a la vez, o que múltiples hilos pueden leerlos sin riesgo. Si intentas compartir datos de forma insegura, el compilador no te dejará compilar. Cada hilo de Rust cor...

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