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 »

Java 8 Reference method

Puedes utilizar lambda para crear métodos anónimos, pero hay casos en el que estas expresiones lambda no hacen otra cosa más que llamar a otro método. En estos casos resulta más claro llamar al método directamente por su nombre. Si tienes una lista de personas de este modo y quieres ordenarla harías algo así de… Read More »

Java 8 Uso de Stream básico

Podemos definir Streams como una secuencia de funciones que se ejecutan una detrás de otra, de forma anidada. Las operaciones sobre Stream pueden ser intermedias o finales. En el caso de ser intermedias (filter, sorted, map) stream devolverá nuevamente otro stream permitiendo la continuidad de pasos o funciones sobre ella misma. Esto es llamado ‘pipelining’.… Read More »

Java 8 Usar expresiones Lambda

Que son las expresiones lambda Las expresiones lambda son una forma de crear funciones anónimas y que puedes utilzar en dónde el párametro recibido sea una interfaz funcional Una expresión lambda tiene esta forma (parameters) -> expression (parameters) -> { statements; } Estas son algunas expresiones lambda de ejemplo: () -> 5 // directamente devuelve… Read More »

Android Guardar el estado de un Activity

Al momento de generar valores puedes necesitar guardar estos cuando el usuario por ejemplo, rota el dispositivo. Para este propósito Android te provee de dos métodos que debes sobreescribir en tu Activity onSaveInstanceState y onRestoreInstanceState Debes utilizar el Bundle que que recibes como parámetro en ambos métodos. Codigo completo de ejemplo para guardar el state… Read More »