Go
How to: ordenar elementos utilizando el paquete Sort [Go]
· ☕ 3 minutos lectura · ✍️ Saturnino Pimentel
En algunas ocasiones durante el proceso de desarrollo es necesario ordenar una colección de elementos previo a realizar algún proceso, esto suele implicar el escribir código para implementar algún algoritmo de ordenamiento, afortunadamente en Go tenemos la opción de utilizar el paquete Sort para estas tares. El paquete Sort contiene las funciones sort.Ints, sort.Float64s y sort.Strings las cuales nos van a permitir ordenar slices del tipo mencionado en las funciones, a continuación se muestra un ejemplo de cómo utilizar el método sort.

How to: utilizar sort.Search en Go
· ☕ 2 minutos lectura · ✍️ Saturnino Pimentel
Estos últimos meses he tenido la oportunidad de trabajar con Go y he encontrado funcionalidades interesantes, entre ellas la función sort.Search la cual nos da acceso a un algoritmo de busqueda binaria, actualmente el paquete sort ofrece tres funciones mas SearchInts, SearchFloat64s y SearchStrings las cuales terminan utilizando sort.Search. Algo que se debe tomar en cuenta es que para utilizar cualquiera de estos métodos es necesario que el listado de elementos sea ordendo previamente de forma ascendente o descendente, también que si eliges ordenar la lista de forma descendente debes cambiar la forma en que se valida de >= a <=.

Implementando singleton con sync.Once
· ☕ 2 minutos lectura · ✍️ Saturnino Pimentel
En wikipedia el patrón singleton se define como: ‘singleton’ o ‘instancia única’ es un patrón de diseño que permite restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto. El objetivo de este patrón es garantizar que solo exista una instancia de una clase y que dicha instancia sea accesible dentro del sistema. Para implementar este patrón en Go podemos utilizar sync.

Utilizando json.RawMessage
· ☕ 2 minutos lectura · ✍️ Saturnino Pimentel
Hoy en día es común trabajar con archivos en formato json, en general al trabajar con estos archivos se utilizan estructuras completas para realizar un unmarshal de la información pero en ciertas ocasiones se desea mantener la información de ciertos campos sin necesidad de realizar ese proceso, para estos escenarios en muchos casos se termina optando por utilizar interface{} pero si posteriormente se desea manipular la información esto suele ser un poco más complicado.

Utilizando composition con tipos embebidos en Go
· ☕ 3 minutos lectura · ✍️ Saturnino Pimentel
En Go no existe un concepto como la herencia que nos permita reutilizar métodos y propiedades de otras clases, tampoco cuenta con clases abstractas comunes en lenguajes como C#, en su lugar Go ofrece la capacidad de embeber tipos dentro de otros tipos, podemos utilizar esta característica con las siguientes combinaciones: estructuras dentro de estructuras, interfaces dentro de interfaces o interfaces dentro de estructuras. En este post voy a describir los dos más comunes con pequeños ejemplos.

Comenzando a desarrollar con Go y Visual Studio Code
· ☕ 2 minutos lectura · ✍️ Saturnino Pimentel
Durante gran parte del 2020 he tenido la oportunidad de aprender y trabajar con Go, un lenguaje que esta tomando popularidad, he dicidido compartir lo que he aprendido en estos últimos meses en una serie de post así que comencemos por preparar nuestro entorno de desarrollo. El entorno en el que suelo trabajar consta de un equipo con MacOS Big Sur 11.1 y Visual Studio Code, también se puede utilizar goland aunque es necesario adquirir una licencia.