Posts

Showing posts from 2019

Introducción a Golang

Image
Versión en inglés / English version El lenguaje de programación Go, también conocido como Golang , fue diseñado en 2007 (y su primera versión lanzada en 2012) en Google con el objetivo de mejorar la productividad y eficiencia del desarrollo en backend. Los creadores de Go estaban motivados por problemas recurrentes encontrados en su uso de C++ para dicho desarrollo. Por lo tanto, las metas principales de Golang como lenguaje son: Tipado estático y eficiencia en tiempo de ejecución (como C++). Legibilidad y usabilidad (como lenguajes más modernos, como Python o Javascript). Un concepto de usabilidad fuertemente adoptado por Go es la el manejo automático de dependencias, como NodeJS lo hace vía Node Package Manager (npm). Golang usa el comando `go get` para ello. Alto desempeño en networking y multiprocesamiento: Se busca aprovechar al máximo las arquitecturas multiprocesador, favoreciendo el escalado horizontal (mejorar agregando máquinas). El gopher (ardilla terrestr

Introduction to Golang

Image
Spanish version / Versión en Español The Go programming language, also known as Golang , was designed in 2007 (and first released in 2012) at Google in order to improve backend code productivity and efficiency. Its creators were motivated by problems they faced using C++ for systems programming. Therefore, Golang's main goals as a language became: Static typing and run-time efficiency (like C++). Readability and usability (like newer languages such as Python or Javascript). One usability concept deeply embraced by Go is automatic dependency management, like NodeJS does using Node Package Manager (npm). Golang uses the `go get` tool to automatically solve dependencies. High-performance networking and multiprocessing: The goal here is to take as much advantage of multiprocessor architectures as possible, and favor horizontal scaling (i.e. improve just by adding machines). The blue gopher is Go's mascot package main import "fmt" func main() { f

Upgrading Lodash from 3.x to 4.x

Spanish version / Versión en Español There are many breaking changes from version 3.x to 4.x; all changes are detailed in the Lodash changelog . There is also a list of deprecated functions , with a regex you can use to detect usages in your code. However, since it is not an exhaustive list, I will list the changes I encountered when performing my own migration, to help anyone undergoing the same process. Direct renames This section includes functions in which only the name changed, i.e. the arguments and return value are the same. 3.x 4.x contains includes first head rest tail invoke invokeMap padLeft padStart padRight padEnd Direct renames if not using thisArg This section includes functions in which the only change is dropping "thisArg". If you are not using it, you can just rename. If you are using thisArg in 3.x, it can be dropped if you are using iteratee to acce

Actualizando Lodash de 3.x a 4.x

Versión en inglés / English version Hay varios cambios que rompen código de la versión anterior al pasar de Lodash 3.x a 4.x; todos los cambios están detallados en el registro histórico de cambios de Lodash . Además, hay una lista de funciones obsoletas ( deprecated ) , con una expresión regular para encontrar usos de las mismas en tu código. Sin embargo, dado que ambos recursos no son exhaustivos, listaré los cambios que encontré al realizar mi propia migración, a fin de ayudar a quien atraviese el mismo proceso. Cambios de nombre directos Esta sección incluye funciones donde sólo el nombre cambió, vale decir, los argumentos y retorno son los mismos que en 3.x. 3.x 4.x contains includes first head rest tail invoke invokeMap padLeft padStart padRight padEnd Cambios de nombre directos (en caso de no usar thisArg) Esta sección incluye funciones en donde el único cambio es quitar el