Materias

PROGRMACION EN GO - 2ª Edición

Novedad PROGRMAACION EN GO - 2ª Edición Ver más grande

PRECIO: 28,56 €

Disponibilidad. De 3 a 7 días Aproximadamente

CANTIDAD

Referencia: Código 10166


DESCRIPCIÓN:

Septiembre de 2022  -  Mario Macias Lloret  - Código 10166

CONTENIDO:

Mario MAcías Lloret

Septiembre de 2022       Páginas: 264

Código 10166       ISBN/EAN:9788426734495

CONTENIDO: Incremente su cotización profesional con uno de los lenguajes de programación de Google con más empuje de la última década: Go.

Go es el lenguaje presentado por Google en 2009, concebido y diseñado para aumentar la productividad y la calidad de su propio software. Su rapidez y ligereza no obvian las características deseables de todo buen lenguaje de alto nivel: expresividad, limpieza, seguridad y potentes abstracciones que simplifican conceptos que hasta ahora eran sinónimo de complejidad. Todo ello, acompañado por un impresionante conjunto de herramientas gratuitas, han convertido a Go en la elección de grandes proyectos, como Docker o Kubernetes, y a sus programadores, en un solicitado grupo de profesionales.

Este libro le permitirá realizar un recorrido a través de las principales características de Go, en cuanto a sintaxis y funcionalidad, así como:

o Conocer las funcionalidades más utilizadas de su inmensa biblioteca estándar.
o Ahondar en la filosofía de su sistema de tipos de datos, que ha contribuido a dar la vuelta al modo en que el software se diseña.
o Crear software que es capaz de aprovechar al máximo los actuales computadores multiprocesador y multinúcleo.
o Coordinar y comunicar, con extrema sencillez, miles de procesos que se ejecutan en paralelo.
o Empezar rápidamente a crear aplicaciones profesionales, y adquirir sólidas bases sobre servicios web, serialización de datos o conexión a bases de datos, entre otras.

Además, en el apéndice de esta segunda edición se describe el mecanismo de funciones y tipos de datos genéricos, una de las últimas y más demandadas inclusiones, que amplía el paradigma del lenguaje y lo equipara en funcionalidades a los lenguajes de mayor implantación en la industria.

No pierda la oportunidad de mejorar su cotización como profesional, a través de un itinerario temático diseñado para facilitar su toma de contacto con el lenguaje y acelerar su profundización en los conceptos más avanzados de Go. Amortizará decenas de veces la adquisición de este libro con el tiempo que ahorrará en la búsqueda de documentación y tutoriales en línea. Este libro le proporciona, ya compilado y pulido, todo el conocimiento que necesita para consolidarse como programador en Go.

Mario Macías, autor de este libro, es doctor en arquitectura de computadores. Trabajó como investigador científico durante una década en el Centro Nacional de Supercomputación de Barcelona, España, compaginándolo con horas como profesor de programación en la Universidad Politécnica de Cataluña. Actualmente es ingeniero de software sénior en la empresa Red Hat. En su vertiente como divulgador, es asiduo conferenciante, y ha publicado libros sobre divulgación y Big Data.

INDICE EXTRACTADO:

INTRODUCCIÓN . Acerca de este libro. Organización del libro. Convenciones de formato. Acerca del autor. Capítulo 1. INSTALACIÓN Y USO DE GO. 21 Instalando Go. 1.2 Comandos básicos de Go. 1.3 Editando su código en Go. 1.4 Compilando y ejecutando su primer programa. Capítulo 2. SINTAXIS BÁSICA DE GO 272.1 Tipos de datos básicos. 2.2 Cadenas de texto. El tipo string. 2.3 Definición de variables. 2.4 Conversiones explícitas de tipos. 2.5 Constantes. 2.6 Bases de numeración. 2.7 Operadores numéricos.2.8 Operadores numéricos de comparación. 2.9 Operadores aplicables al tipo string. 2.10 Operadores lógicos con bool. 2.11 Operadores lógicos a nivel de bit. 2.12 Salida estándar de datos. 2.13 Entrada estándar de datos. Capítulo 3. CONTROL DE FLUJO 393.1 Bloques condicionales. 3.1.1 if. 3.1.2 if … else. 3.1.3 switch – case. 3.2 Órdenes iterativas (bucles for. 3.3 Contexto y ocultación de variables. Capítulo 4. APUNTADORES 494.1 Definición de un apuntador4.2 La referencia a nil4.3 Apuntando hacia una variable.4.4 Leyendo o modificando el valor apuntado4.5 Valores versus referencias.Capítulo 5. FUNCIONES 555.1 Definición e invocación.5.2 Retorno de valores5.3 Retorno de múltiples valores. 5.4 Retorno de múltiples valores nombrados. 5.5 El identificador vacío. 5.6 Paso por valor vs. paso por referencia. 5.7 Literales de función. 5.8 Otras consideraciones. Capítulo 6. ESTRUCTURAS DE DATOS LINEALES 656.1 Vectores..65 6.2 Porciones. 6.3 Declarando variables a porciones. 6.4 Añadir elementos a una porción. Función append. 6.5 Medir dimensiones con len y cap. 6.6 Controlar el tamaño inicial con make. 6.7 Copia de porciones con copy..8 Uso de porciones en funciones..9 Recorriendo vectores y porciones..10 Creando "vistas" desde las porciones..11 Funciones con número variable de argumentos..12 El operador difusor. Capítulo 7. CADENAS DE TEXTO 797.1 Diferencias con porciones y vectores. 7.2 Obteniendo la longitud de un string. 7.3 De string a porción. 7.4 Construcción dinámica de cadenas. 7.4.1 Concatenación de cadenas. 7.4.2 Construcción con strings.Builder. 7.4.3 Paquete fmt. Capítulo 8. DICCIONARIOS (MAPAS) 878.1 Declaración de mapas..2 Acceso a elementos. 8.3 Eliminando entradas con delete. 8.4 Recorriendo mapas con range. 8.5 Contando el número de elementos. 8.6 Conjuntos. 8.7 Detalles internos de map. Capítulo 9. ORGANIZACIÓN DE CÓDIGO 95Paquetes y módulos9.1 Paquetes (package).9.2 Módulos9.3 Creando módulos y paquetes9.4 Importando paquetes del módulo local9.4.1 Dependencias circulares9.5 Incorporando paquetes de módulos externos9.6 Copias locales de módulos. El directorio vendor9.7 Elementos públicos y privados a nivel de paquete9.8 Alias de paquete9.9 La función initCapítulo 10. DEFINICIÓN DE TIPOS DE DATOS 10910.1 Tipos a partir de porciones10.2 Tipos a partir de mapas10.3 Tipos funcionales10.4 Receptores de función. Métodos10.5 Tipos pseudoenumerados10.5.1 El operador iota10.6 Caso de estudio: time.DurationCapítulo 11. TIPOS DE DATOS ESTRUCTURADOS 125 Struct11.1 Tipos de datos estructurados: struct11.2 Punteros a struct11.3 Receptores de función y creación de métodos11.4 Incrustado de estructuras11.5 La estructura vacía: struct{}..11.6 Caso práctico: opciones funcionales como alternativa a constructoresCapítulo 12. INTERFACES 13712.1 Caso de estudio: la interfaz Stringer12.2 La filosofía del tipado estructural12.3 Implementando interfaces: receptores ¿mediante apuntadores o mediante valores? 12.4 La interfaz vacía interface{}.12.5 Manejo seguro de tipos de datos12.6 Incrustando interfacesCapítulo 13. GESTIÓN DE ERRORES 14713.1 La interfaz error13.2 Instanciando errores de manera genérica13.3 Comprobación de tipos de error13.3.1 Errores centinela13.3.2 Distintas implementaciones de error13.4 Envolviendo errores13.5 Verificando la cadena de errores: errors.As13.6 defer13.7 Entrando en pánico13.8 Función panic13.9 Función recoverCapítulo 14. ENTRADA Y SALIDA 165Flujos de datos14.1 Interfaces io.Writer e io.Reader14.2 Archivos de disco14.3 Entrada y salida formateada14.4 Paquete bufio14.5 Paquete ioutilCapítulo 15. PARALELISMO Y CONCURRENCIA 175Gorrutinas15.1 Un poco de historia15.2 Gorrutinas15.3 Sincronización mediante sync.WaitGroup15.4 Problemas de concurrencia: condiciones de carrera15.5 Sincronización mediante sync.Mutex15.5.1 sync.RWMutex15.6 Sincronización mediante atomic15.7 Conclusiones: ¿cuándo y cómo sincronizar gorrutinas? Capítulo 16. CANALES 19116.1 Creación, uso y cierre16.2 Canales solo de lectura y de escritura16.3 Bloqueo en la escritura: canales con o sin búfer16.4 Iterando canales con for16.5 Múltiples receptores16.6 Sincronización mediante canales16.7 Demultiplexión con select16.8 Cancelando lecturas después de un tiempo de espera.9 Cancelando tareas mediante contextosCapítulo 17. SERVICIOS WEB 20717.1 HTTP explicado en 3 minutos17.2 REST explicado en 3 minutos17.3 Creación de un servicio HTTP en Go17.3.1 Interfaz http.Handler17.3.2 Funciones http.ListenAndServe y http.ListenAndServeTLS17.3.3 Ejemplo de servidor HTTP17.4 Creación de un cliente HTTP en Go17.4.1 Ejemplo de cliente HTTP17.5 Ejemplo práctico de servicio REST17.5.1 Probando el servicio RESTCapítulo 18. SERIALIZACIÓN DE DATOS 22318.1 Serialización de tipos Go a JSON18.2 Deserialización de JSON a tipos Go18.3 Serializando y deserializando documentos JSON sin formato18.4 Serialización de porciones y arrays18.5 Serialización y deserialización en otros formatosCapítulo 19. CONEXIÓN A BASES DE DATOS SQL 23119.1 Carga de controlador19.2 Abriendo una base de datos19.3 Modificando la base de datos19.4 Consultando datos19.5 Declaraciones preparadas19.6 Transacciones19.7 Reserva de conexiones.Capítulo 20. PRUEBAS AUTOMATIZADAS DE SOFTWARE .20.1 Código a probar: la función Factorial20.2 El paquete testing20.3 Probando servicios HTTP20.4 Pruebas de rendimiento20.5 Cobertura de las pruebasAP ÉNDICE. PROGRAMACIÓN GENÉRICA 249Tipos de datos genéricosValor cero de un tipo genéricoFunciones genéricasRestricciones sobre argumentos de tipoRestricciones como interfacesDefiniendo nuevas restriccionesMúltiples argumentos de tipoEjemplo: MultiMapa

Más detalles

TAMBIEN LE PUEDE INTERESAR

OTROS PRODUCTOS DE LA MISMA MATERIA

También puede hacer sus pedidos sin necesidad de crear una cuenta a: pedidos@belliscovirtual.com . Deberá indicar todos sus datos y los códigos de los libros solicitados.