Go como usar Goroutines

Un Goroutine es un hilo de ejecución ligero manejado por GO. Gorutine son funciones o métodos que se ejecutan simultáneamente. Podemos entenderlas como “hilos ligeros” con un costo mucho menor que un hilo tradicional. Supongamos que tienes dos funciones Si llamas a estas funciones de la forma habitual tendrías este resultado. Observa cómo la ejecución… Read More »

Java 8 Stream map flatMap y filter

Stream map te permite leer cada elemento y transformar los valores que se encuentran en el Stream entregandote otro Stream con el resultado para seguir realizando operaciones. Cómo usar Stream map Como puedes ver en el ejemplo a continuación map() recibe una función como parámetro para realizar alguna transformación sobre cada elemento y devuelve otro… Read More »

Java 8 Variable Scope en Lambda

Variable Scope en Lambdas El acceso a variables dentro de lambdas puede ser algo confuso, pero es sencillo si lo ves con un ejemplo. Observa este código en el cual accedemos a los parámetros “text” y “count” desde la expresión lambda. Cuando llamamos al método showText este ejecutará un nuevo hilo con la expresión lambda… Read More »

Java 8 Constructor por Referencia

Java Constructor por Referencia En Java 8 se han introducido importantes cambios como lambdas, interfaces funcionales y métodos por referencia. Veamos ahora cómo hacer uso de constructores por referencia. Si no has leido el articulo sobre métodos por referencia te recomiendo que le des un vistazo porque tiene mucho en común con el artículo a… Read More »

Java 8 Optional

Java 8 Optional Evitar los Nullpointer es uno de los problemas con los que habitualmente nos encontramos los programadores en Java. Continuamente realizamos operaciones para verificar que el valor no sea null o tener la precaución de devolver valores not null y a pesar de esto es habitual el fallo por los null pointer. Java… Read More »

Java 8 como usar fechas y horas con la api java.time

Java 8 nos trae al fin una nueva api para el manejo de fechas. Nos encontramos dentro del paquete java.time con nuevas clases para resolver los problemas con fechas como LocalDate, horas con LocalTime o la combinación de fecha y hora con LocalDateTime. También incluye como es debido dentro de esta api el uso de… Read More »

Java – como usar ExecutorService

Java ExecutorService ExecutorService nos simplifica las tareas asincronas proveyendo un pool de hilos que son manejados por esta API abstrayendonos del trabajo de crearlos y asignarles tareas a estos hilos. Utilizando la factory class Executors La forma más común para crear una instancia de ExecutorService es a través de la factory class Executors. Por ejemplo… Read More »

Go Tipos Básicos

Go Types – Go Tipos básicos ¿Cuáles son los tipos básicos definidos en Go? Go define diferentes tipos básicos entre los que puedes encontrar booleanos, string, numéricos enteros (con signo o sin signo), flotantes (números reales) y números complejos. Este recuadro te muestra los tipos básicos definidos en Go Los tipos int, uint y uintptr… Read More »

Go Errors

Go Errors ¿Cómo manejar los errores en Go? Go utilizar como concepto de error cualquier devolución a través de alguna implementación de la interfaz “error” provista por el lenguaje Para usar esta interfaz y devolver un error puedes utilizar una implementación ya provista por Go sobre esta interfaz haciendo uso de la función errors.New() del… Read More »

Go Punteros

Go Punteros (Pointers) ¿Qué son los punteros en Go? Un puntero es una referencia al valor almacenado en memoria. Para obtener la referencia al puntero del valor debes usar el símbolo “&” por delante y para obtener la desreferencia usas el símbolo “*” Por defecto Go envia los argumentos como valor, si deseas que los… Read More »

Go Interfaces

Go Interfaces ¿Qué son las interfaces en Go? En Go una Interface es un conjunto o colección de métodos que deberán ser implementados. Por ejemplo, suponemos que deseas una interfaz para figuras geométricas IShape que defina un método de cálculo del área para todos los tipos de figuras Ahora lo que haces es implementar esa… Read More »

Go conceptos básicos con ejemplos

Te explico los conceptos básicos de Go para iniciarte en este lenguaje. Go es un lenguaje simple de aprender, si ya conoces cualquier otro lenguaje en pocas horas puedes comprender su semántica.

Go Hola Mundo

¿Cómo escribir un hola mundo en Golang? En Go escribes un ‘hola mundo’ de este modo: -Los paquetes se definen en la primer línea como “package” -A continuación van los “import” -El ‘main’ del programa se inicia con func main() ¿Como ejecutar hello-world.go? ¿Cómo hacer un build de hello-world.go? …

Como instalar Go en Mac OS

Para instalar Golang en Mac OS sigue estos pasos: Descargar la versión de golang para Mac desde esta dirección: https://golang.org/dl/ Al finalizar la descarga, ejecuta el archivo pkg descargado. Sigue los pasos del instalador de go   Al finalizar la instalación go queda en la carpeta /usr/local/go Crea tu espacio de trabajo Go utiliza como… Read More »

Strategy Pattern con Spring Boot

Strategy Pattern con Spring Boot Un buen patrón para resolver la complejidad cuando debes implementar diferentes comportamientos según algún estado es el patrón strategy. Un patrón strategy encapsula comportamiento que podemos intercambiar en ejecución. Es decir, cambiar el comportamiento o lógica de negocio acorde al estado del modelo o contexto en el que te se… Read More »

Spring Boot + MySql + HikariCP

Configurar Spring Boot con MySql usando HikariCP Para configurar tu proyecto Spring con MySql utilizando HikariCP debes agregar las dependencias y configurar tu archivo properties con estos simples pasos. Dependencias Detalle de dependencias que necesitas para tu proyecto Spring con MySql y Hikari Definición del archivo properties Debes especificar el dialect para MySql, y para… Read More »

Spring Batch – Como eliminar las tablas de jobs

Spring Batch mantiene diferentes tablas con las instancias de los Jobs, las ejecuciones de los Jobs y las ejecuciones de los Steps, entre otras. Cuando estas en etapa de desarrollo resulta muchas veces útil eliminar las tablas para iniciar la app en limpio. Si necesitas eliminar todas las tablas de Jobs y Steps debes correr… Read More »