El gran libro de Kotlin

Autor: Luis Criado-Fernández

ISBN: 9788426735430

Editorial: Marcombo, S.A.

Edición: 1

Páginas: 328

Formato: 17x24x1.8

Cant. tomos: 1

Año: 2023

Idioma: España

Origen: España

Disponibilidad.: Disponible

Gs 338.400
para programadores de back end. Fuentes en GitHub
Cantidad:
Si como programador de back end quiere evolucionar al mismo tiempo que aprovechar todo su código en Java, sin duda, debe empezar por adoptar Kotlin, un nuevo lenguaje de programación, equiparado a Java en el mundo Android.

Emplear profesionalmente un nuevo lenguaje de programación puede ser un problema en la empresa en la que trabaja, sobre todo si se tiene invertido mucho código. No obstante, Kotlin permite reutilizar todas las librerías Java que ya disponga y construir back ends de forma sencilla.

Este libro será su gran aliado si quiere adentrarse en Kotlin, gracias a él:

- Tendrá ejemplos originales y estimulantes.
- Se acercará rápidamente al manejo del lenguaje mediante funciones y clases.
- Tratará una gran variedad de tipos de ficheros.
- Practicará con todo tipo de bases de datos utilizando dockers.
- Revisará el manejo de cadenas y sus posibilidades, y realizará conversiones de cualquier base y funciones hash.
- Explorará la programación asíncrona con dos enfoques: thread y corrutinas.
- Implementará y desplegará un servicio API REST, ayudado de ktor.

Además, en la parte inferior de la primera página del libro encontrará el código que le permitirá acceder de forma gratuita a los contenidos adicionales del libro en www.marcombo.info. Con él, ahorrará mucho tiempo, pues podrá clonar el repositorio desde GitHub y mucho más.
Prólogo
Sobre este libro

1. Introducción
2. Objetivo y estructura

3. IDE para Kotlin
Experimentando con Kotlin en back end

4. Poco código y grandes resultados
El primer programa en Kotlin
Programa para escribir varias líneas de un fichero de texto
Programa para leer líneas de un fichero de texto
Programa para contar las líneas de un fichero
Programa para copiar un fichero
Descargar un fichero
Acceso a un recurso desde código

5. Funciones
Funciones que no requieren parámetros de entrada y salida
Funciones con parámetro de entrada y sin parámetro de salida
Funciones con parámetro de entrada y salida
Funciones con parámetro por defecto
Funciones con parámetros variables
Funciones con parámetros genéricos
Funciones de extensión
Funciones infix
Expresión y funciones lambda
Funciones de orden superior

6. Clases
6.1 Definición de una clase y compatibilidad con Java
6.2 Experimentando con métodos
6.2.1. Ejemplos de métodos sin parámetro de entrada y con parámetro de salida
6.2.2. Ejemplos de métodos privados, parámetros variables, con parámetro de entrada y salida
6.3 Tipos de clases
6.3.1 Data: clases de datos
6.3.2 Enum: clases de valores enumerados
6.3.3 Clases heredables
6.3.4 tipo interfaz
6.3.5 Clase abstracta
6.3.6 Clases anidadas: Inner
6.3.7 Objetos
6.3.8 Clases selladas
6.4 Alias
6.5 Visibilidad de los modificadores
6.6 Retrasar la inicialización de propiedades
6.6.1 Inicialización tardía para: var
6.6.2 Inicialización tardía para: val

7. Ficheros
7.1 Trazas o logs: log4j2
7.1.1 Configurando Log4j2 por consola
7.1.2 Configurando Log4j2 por fichero
7.2 Ficheros de texto
7.3 Ficheros properties
7.4 XML
7.5 RDF y OWL
7.6 EXCEL y CSVs
7.7 JSON y GSON
7.7.1 Serialización/deserialización JSON
7.8 ePub
7.9 Zip
7.10 FASTA (fa)

8. Bases de datos
8.1 Montar el entorno de pruebas
8.2 Relational DBMS
8.2.1 SQLite
8.2.2 MySQL
8.2.3 MariaDB
8.2.4 Oracle
8.3 NoSQL
8.3.1 Key-value Stores: Redis
8.3.1.1 Redis
8.3.2 Document Stores: MongoDB
8.3.2.1 MongoDB
8.3.3 RDF Stores: Apache Jena, Virtuoso y AllegroGraph
8.3.3.1 Apache Jena TDB
8.3.3.2 AllegroGraph
8.3.3.3 Virtuoso y la DBpedia

9. Números
9.1 Los números árabes
9.2 Colecciones útiles para números
9.3 Determinantes
9.4 Sistemas de ecuaciones lineales
9.4.1 Regla de Cramer
9.4.2 Método de Gauss Jordan
9.4.3 Método Gauss-Seidel
9.5 Fibonacci
9.6 Números primos
9.7 Trigonometría
9.8 Cálculo de integrales
9.9 Transformada rápida de Fourier

10. Cadenas
10.1 Cadenas
10.2 Concatenar Strings
10.3 Acceso a los caracteres de un String
10.4 Sutil diferencia entre vacíos y/o espacios
10.5 Arrays de Strings
10.6 Maps
10.7 Rellenando Strings
10.8 Quitando espacios de un Strings
10.9 Obtener términos de un Strings
10.10 Subcadenas
10.11 Conversores
10.11.1 ASCII
10.11.2 Hexadecimal
10.11.3 Binario
10.12 Claves de acceso y funciones hash

11. Concurrencia
11.1 Thread
11.1.1 Hilo principal y secundarios
11.1.2 Sección crítica de código
11.1.2.1 Semáforos
11.1.2.2 Monitores
11.1.2.3 El problema del productor-consumidor
11.1.3 Comparativas de rendimiento
11.2 Corrutinas
11.2.1 Creación de corrutinas
11.2.2 runBlocking() gestinando corrutinas
11.2.3 Funciones de suspensión
11.2.4 Canales (Channel)
11.2.5 Comparativas de rendimiento
11.3 Recapitulando ideas

12. Despliegues en war de RESTful
12.1 Ktor
12.2 Conceptos: API, REST, SOA y RESTful
12.3 Arquitectura en tres capas
12.4 Capa de negocio
12.4.1 Acercamiento a Ktor
12.4.2 Configuraciones de servidores
12.4.3 EL proyecto Ktor-cap12
12.4.3.1 Serialización y deserialización
12.4.3.2 Enrutamiento
12.4.3.3 Sesiones
12.4.3.4 Autentificación
12.4.3.5 Recomendación de mejora
12.5 Despliegues
12.5.1 War en Tomcat 9
12.5.2 En docker, war en Tomcat 9

ANEXOS
Anexo 1. Docker
Anexo 2. Máquina virtual para descargar
Anexo 3. Referencia rápida de la sintaxis Kotlin
Anexo 4. Maven y Gradle
Anexo 5. Conceptos generales sobre Programación Orientada a Objetos
Anexo 6. DBeaver

Bibliografía
Sobre el autor
No hay enlaces disponible
Libros Relacionados