Mario Macías Lloret

Programación en Go


Скачать книгу

       16.5 Múltiples receptores

       16.6 Sincronización mediante canales

       16.7 Demultiplexión con select

       16.8 Cancelando lecturas después de un tiempo de espera

       16.9 Cancelando tareas mediante contextos

       CAPÍTULO 17. SERVICIOS WEB

       17.1 HTTP explicado en 3 minutos

       17.2 REST explicado en 3 minutos

       17.3 Creación de un servicio HTTP en Go

       17.3.1 Interfaz http.Handler

       17.3.2 Funciones http.ListenAndServe y http.ListenAndServeTLS

       17.3.3 Ejemplo de servidor HTTP

       17.4 Creación de un cliente HTTP en Go

       17.4.1 Ejemplo de cliente HTTP

       17.5 Ejemplo práctico de servicio REST

       17.5.1 Probando el servicio REST

       CAPÍTULO 18. SERIALIZACIÓN DE DATOS

       18.1 Serialización de tipos Go a JSON

       18.2 Deserialización de JSON a tipos Go

       18.3 Serializando y deserializando documentos JSON sin formato

       18.4 Serialización de porciones y arrays

       18.5 Serialización y deserialización en otros formatos

       CAPÍTULO 19. CONEXIÓN A BASES DE DATOS SQL

       19.1 Carga de controlador

       19.2 Abriendo una base de datos

       19.3 Modificando la base de datos

       19.4 Consultando datos

       19.5 Declaraciones preparadas

       19.6 Transacciones

       19.7 Reserva de conexiones

       CAPÍTULO 20. PRUEBAS AUTOMATIZADAS DE SOFTWARE

       20.1 Código a probar: la función Factorial

       20.2 El paquete testing

       20.3 Probando servicios HTTP

       20.4 Pruebas de rendimiento

       20.5 Cobertura de las pruebas

       INTRODUCCIÓN

      Go es el lenguaje de moda entre informáticos. Sin duda, es uno de los lenguajes de programación que durante la última década han ganado más impulso entre los programadores de diversas disciplinas. Pese a ser un lenguaje relativamente “joven”, no ha tardado en hacerse con una legión, ya no de adeptos, sino de auténticos fans.

      Son muchas las causas del éxito de Go:

      • Es versátil. Combina características de los lenguajes de bajo nivel, como C++, con características de lenguajes dinámicos, como Python o Ruby. Esto hace de Go un lenguaje tan idóneo para software de sistema (controladores, comandos de sistema, agentes de monitorización, incluso programación de sistemas embebidos gracias a la implementación de tinygo.org) como para la creación de grandes aplicaciones web y sistemas de servicios distribuidos.

      • Es rápido. Es un lenguaje cuyos ejecutables se distribuyen en código nativo, sin necesidad de máquinas virtuales o intérpretes de lenguaje. Compila las técnicas de optimización más vanguardistas.

      • Es compacto. Genera ejecutables pequeños que incluyen todo el código necesario, sin necesidad de bibliotecas externas o entornos de ejecución extra.

      • Es muy rápido compilando. Está enfocado hacia las tendencias actuales de integración y despliegue continuo de aplicaciones, mediante las cuales el software está en continua actualización. Hoy, el tiempo de compilación es una métrica clave para la productividad de los equipos de desarrollo.

      • Es seguro. A diferencia de otros lenguajes como C o C++, donde un apuntador a memoria “desbocado” puede suponer un grave fallo de seguridad, Go comprueba la seguridad de los accesos a memoria de tal manera que un usuario malintencionado lo tendrá mucho más difícil para encontrar fallos de seguridad explotables.

      • Es sencillo. Los equipos de desarrollo modernos pasan muchas horas revisando código de sus compañeros, con tal de reforzar unos estándares de calidad altos. Go es un lenguaje diseñado para ser fácil de leer y entender, lo cual incentiva