Aprender Kotlin

Lo básico

Introducción

Procesos

Lanzar un programa en Kotlin

Ejecutar un comando de Windows y almacenar la salida en un archivo en Kotlin

Ejercicio: llamar desde Kotlin a un proceso en Linux con un script en Bash

Obtener información del proceso padre e hijo

Crear un proceso en Kotlin con la clase ProcessBuilder

Comunicar dos procesos

Hilos

Crear un hilo

Crear un reloj sencillo en Kotlin mediante hilos

Ejecución concurrente

Uso de coroutines

Sincronización

Tablas de multiplicar con hilos

Tablas de multiplicar utilizando coroutines en Kotlin

Aplicación de recordatorio en Kotlin con Timer

Crear y administrar tareas concurrentes utilizando hilos en Kotlin

Red

Conectar con una URL en Kotlin

Cómo conectar con una URL y cambiar el User-Agent

Realizar una petición HTTP GET en Kotlin

Realizar una petición HTTP GET en Kotlin con OkHttp

Realizar peticiones GET desde Kotlin de forma masiva

Realizar peticiones GET en Kotlin de forma masiva utilizando coroutines

Realizar una petición HTTP POST en Kotlin

Comprobar si un puerto TCP está abierto en Kotlin

Servidor y cliente TCP básicos en Kotlin

Servidor y Cliente TCP en Kotlin utilizando clases distintas

Servidor y cliente UDP básicos en Kotlin

Enviar un mensaje UDP con una dirección IP falsa entre Kotlin y Python

Cliente y servidor para enviar objeto serializado por TCP en Kotlin (utilizando hilos)

Enviar una imagen entre un cliente y un servidor utilizando sockets TCP en Kotlin

MulticastSocket en Kotlin

Realizar una comunicación multicast entre un código en Android Studio y otro en IntelliJ IDEA

Enviar un mensaje TCP con Kotlin desde una aplicación en Android Studio a un servidor en IntelliJ IDEA

Enviar la posición del cursor mediante TCP con Kotlin desde una aplicación en Android Studio a un servidor en IntelliJ IDEA

Mover el ratón remotamente mediante TCP con Kotlin desde una aplicación en Android Studio a un servidor en IntelliJ IDEA

Crear un API muy simple con Kotlin

Crear un API muy simple con Kotlin que devuelve un contenido en formato JSON

Conexión a un servidor FTP con Kotlin

Descargar archivos FTP desde Kotlin

Subir un archivo a un FTP desde Kotlin

Realizar un resumen en SHA512 de un documento descargado por FTP en Kotlin

Enviar correos electrónicos utilizando la biblioteca JavaMail desde Kotlin

Realizar en Kotlin una suma mediante una interfaz que contiene los métodos que se ejecutarán de forma remota (RMI)

Envío de formulario entre un cliente y un servidor mediante RMI en Kotlin

Envío de datos de un formulario entre cliente y servidor mediante RMI en JavaFX con Kotlin

Leyendo y analizando un Archivo JSON en línea desde Kotlin

Seguridad

Combinaciones de la primera fila del teclado en Kotlin

Mostrar propiedades (java.class.path», «java.home», «java.vendor», «java.version», «os.name», «os.version», «user.dir», «user.home», «user.name») utilizando y sin utilizar el gestor de seguridad en Kotlin

Codificación y Decodificación en Base 64 en Java

Obtención de listado de algoritmos hash disponibles en Kotlin

Hash SHA-512 en Kotlin

Generar un resumen HMAC-MD5 utilizando Kotlin

Cálculo de Hash SHA-512 en Kotlin con una semilla

Cifrado y descifrado simple de palabras en Kotlin

Cifrado simétrico TDEA (Triple Data Encryption Algorithm) en Kotlin utilizando la biblioteca Java de javax.crypto

Cifrado simétrico AES (Advanced Encryption Standard) en Kotlin, utilizaremos la clase Cipher proporcionada por el paquete javax.crypto

Almacenar claves privadas y públicas

Cifrar y descifrar utilizando clave pública

Cifrar y descifrar con clave secreta que se ha transmitido mediante cifrado asimétrico

Socket SSL en Kotlin