Nunca me imaginé poder ejecutar Go en Jupyter Notebook. Es como si fuera un Go interpretado. Eso si está loco.
Hola mundo en Go
Introducción al Curso de Golang
¿Qué es, por qué y quienes utilizan Go?
Instalar Go en Linux
Instalar Go en Mac
Instalar Go en Windows
Nuestras primeras líneas de código con Go
Variables, funciones y documentación
Variables, constantes y zero values
Operadores aritméticos
Tipos de datos primitivos
Paquete fmt: algo más que imprimir en consola
Uso de funciones
Go doc: La forma de ver documentación
Estructuras de control de flujo y condicionales
El poder de los ciclos en Golang: for, for while y for forever
Operadores lógicos y de comparación
El condicional if
Múltiple condiciones anidadas con Switch
El uso de los keywords defer, break y continue
Estructuras de datos básicas
Arrays y Slices
Recorrido de Slices con Range
Llave valor con Maps
Structs: La forma de hacer clases en Go
Modificadores de acceso en funciones y Structs
Métodos e interfaces
Structs y Punteros
Stringers: personalizar el output de Structs
Interfaces y listas de interfaces
Concurrencia y Channels
¿Qué es la concurrencia?
Primer contacto con las Goroutines
Channels: La forma de organizar las goroutines
Range, Close y Select en channels
Manejo de paquetes y Go Modules
Go get: El manejador de paquetes
Go modules: Ir más allá del GoPath con Echo
Modificando módulos con Go
Despedida del curso
Despedida
Bonus
Cheat Sheet Go
Librerías para desarrollo web con Go
Data Science con Go
Go, así como lo viste en el curso tiene características muy particulares que lo hace encajar muy bien en el mundo del Data Science. Especialmente en estas tres características:
Manejar tareas pesadas con múltiples hilos de ejecución a través de la concurrencia es muy sencillo.
Es compilado, lo que lo hace mucho más eficiente.
Optimiza muy bien los recursos del hardware.
Por tal motivo, esta lectura está enfocada en mostrar el estado del arte actual de Go en Data Science.
Jupyter es una de las principales herramientas que utilizamos los Data Scientists en el día a día ya que nos permite ejecutar código de manera fácil e iterativa pudiendo reciclar variabless en cualquier momento.
Al momento de instalarlo vía pip
(manejador de paquetes para Python) viene instalado con el kernel de Python listo para ejecutar código Python.
A pesar, que Go es un lenguaje compilado, la comunidad ha creado un intérprete de Go llamado gomacro para ejecutar código sin compilar. Partiendo de ello, crearon también un kernel de Go para usarlo en Jupyter Notebook llamado gophernotes
De los métodos de instalación, mi sugerencia es que utilices la vía de Docker.
En este punto los más populares son: qframe, gota y dataframe-go.
Hasta la fecha, ninguno está en su versión estable, pero todos están haciendo un gran trabajo porque como lo notaste en el curso, en Go las variables vacías no son nulas sino que tienen un valor por defecto. Y esto en el mundo de los datos es todo un reto ya que tener datos nulos es el pan de cada día.
En este apartado destacan dos:
Hay muchas librerías este ámbito, sin embargo, destacaré solo dos:
GoLearn: Tiene diferentes modelos, entre ellos lineales, regresiones y clasificación.
Gorgonia: Es el más popular cuando requerimos implementar Deep Learning sino que además tiene la opción de implementar CUDA (hacer modelos de Deep Learning usando la tarjeta gráfica Nvidia)
La gran mayoría de estas librerías apenas están en sus inicios, pero tienen lo mínimo para iniciar en Data Science aplicando Go. Mi manera de apoyar a la comunidad es creando una librería para manejo de dataframes con Go llamada Higor usando mi experiencia como Data Engineer y haciendo que su implementación sea lo más amigable posible.
Aportes 7
Preguntas 0
Nunca me imaginé poder ejecutar Go en Jupyter Notebook. Es como si fuera un Go interpretado. Eso si está loco.
Que buena clase, Debería de existir un curso de Data Science y una ML con GO.
Como instalo GO en jupyter en windows?
Muchas gracias por el curso
Este material es oro puro, muchas gracias.
Guay
Me gustó el curso, como ya vengo de React y Node, me pareció digamos fácil, debido a que entiendo conceptos creo que hace falta practicar para poderlos tener marcados sólidamente, porque si bien entendí y avancé, no creo que haya memorizado al 100%
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.