¿Cómo usar este apunte?
Este apunte es una guía de referencia rápida y un complemento a las clases, pensado para que puedas profundizar en los temas cuando lo necesites.
Incluye explicaciones detalladas, ejemplos ilustrativos y problemas prácticos para facilitar tu aprendizaje. Aunque las clases (diapositivas) suelen ser suficientes para comprender los conceptos, este apunte ofrece una mirada más profunda para reforzar y aplicar lo aprendido.
Estructura del apunte
Cada unidad se organiza en lecciones que desarrollan un tema específico de manera gradual y práctica. Estas lecciones pueden incluir distintas secciones, pensadas para apoyar diversos estilos de aprendizaje:
📌 Sección | 📖 Contenido |
Conceptos | Explicaciones detalladas de los temas clave y su motivación. |
Ejemplos | Fragmentos de código que muestran cómo aplicar lo aprendido. |
Ejercicios | Problemas diseñados para poner en práctica los conceptos estudiados. |
Soluciones | Respuestas y explicaciones de los ejercicios propuestos. |
Referencias | Recursos adicionales para profundizar en el estudio. |
Ejemplos en otros lenguajes | Comparaciones entre Kotlin y otros lenguajes de programación. |
Contenido opcional cajita == opcional
cajita == opcional
cajita == opcional
cajita == opcional
Todo lo que esté en una caja como la siguiente:
es opcional
¿Por qué usamos scripts para tareas simples?
A lo largo de estos apuntes verás scripts que, a primera vista, podrían parecer innecesarios, ya que muchas tareas se pueden resolver con unas pocas líneas en la terminal. Sin embargo, optamos por scripts más detallados por razones didácticas y prácticas.
Valor didáctico
- Permite mostrar cada paso de forma clara y controlada.
- Introduce gradualmente conceptos clave de scripting:
- Validación de parámetros.
- Mensajes informativos (
echo
echo
Write-Verbose
Write-Verbose
- Manejo de errores con
try
try
catch
catch
set -e
set -e
trap
trap
-
- Refuerza buenas prácticas útiles para la automatización de tareas más complejas.
Útil para el desarrollo de bibliotecas
En el desarrollo de bibliotecas reutilizables, especialmente cuando se integran múltiples herramientas, es común enfrentar casos no cubiertos por los sistemas de construcción (como Gradle o npm). En esos casos, los scripts permiten:
- Personalizar el proceso de construcción según las necesidades específicas del proyecto.
- Integrar herramientas externas que no están directamente soportadas por el sistema de construcción principal.
- Automatizar tareas auxiliares, como validaciones previas, configuraciones iniciales o pasos de instalación personalizados.
- Hacer los procesos reproducibles y fáciles de seguir.
- Reducir errores al minimizar instrucciones manuales.
Ejemplo
Esta tarea puede hacerse en la terminal en unas pocas líneas:
mkdir my-lib
cd my-lib
gradle init
Sin embargo, encapsular esta lógica en un script permite añadir validaciones, mensajes claros y manejo de errores:
[CmdletBinding()]
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $ProjectRoot
)
try {
if (-not (Test-Path $ProjectRoot)) {
Write-Verbose "📁 Creating directory '$ProjectRoot'"
New-Item -Path $ProjectRoot -ItemType Directory -Force | Out-Null
}
$fullPath = Resolve-Path -Path $ProjectRoot
Set-Location $fullPath
Write-Verbose "🚀 Running 'gradle init' in '$fullPath'"
& gradle init
}
catch {
Write-Error "❌ Gradle init failed: $_"
exit 1
}
#!/usr/bin/env bash
set -euo pipefail
if [ "$#" -ne 1 ] || [ -z "$1" ]; then
echo "❌ Usage: $0 <project_root>" >&2
exit 1
fi
project_root="$1"
if [ ! -d "${project_root}" ]; then
echo "📁 Creating directory '${project_root}'"
mkdir -p "${project_root}"
fi
cd "${project_root}"
echo "🚀 Running 'gradle init' in $(pwd)"
gradle init
Así, incluso para tareas simples, se enseña scripting real, validación de parámetros y prácticas seguras que facilitan la evolución del proyecto.
Estrategia de lectura
La lectura diagonal es una técnica rápida para obtener una visión general del contenido sin leer cada palabra. Consiste en mover los ojos en diagonal por la página, prestando atención a títulos, palabras en negrita, listas y frases destacadas.
Esta estrategia te ayuda a identificar las ideas principales, entender la estructura del texto y decidir en qué partes profundizar. Es especialmente útil para revisar materiales extensos, buscar información puntual o prepararte para una lectura más detallada.
Cómo aplicar la lectura diagonal
- 1. Lee títulos y subtítulos para obtener una visión general de la estructura.
- 2. Revisa los primeros párrafos, donde suele estar el mensaje clave de cada sección.
- 3. Ve a la conclusión para anticipar los puntos clave antes de leer en detalle.
- 4. Escanea elementos destacados como listas, texto en negrita o bloques de código.
Consejos de estudio
Sigue estas recomendaciones para estudiar de forma más efectiva:
- Organiza tu tiempo: estudia en sesiones cortas y regulares. Por ejemplo, 30 minutos al día son más efectivos que tres horas seguidas.
- Practica de forma activa: realiza ejercicios y resuelve problemas, en lugar de limitarte a leer teoría.
- Enseña lo que aprendes: explicar conceptos a otra persona refuerza tu comprensión y te ayuda a detectar vacíos.
- Toma descansos: las pausas entre sesiones facilitan que tu cerebro procese y consolide la información.
Planificación del tiempo
Cada lección incluye una estimación de tiempo para ayudarte a organizar tu estudio. Esta puede variar según tu experiencia y conocimientos previos.
No pasa nada si tardas más: lo importante es comprender los conceptos y poder aplicarlos correctamente. Muchas estimaciones incluyen margen, así que también podrías terminar antes.
¿Tienes ideas para mejorar estos apuntes?
Tu colaboración es más que bienvenida. Puedes:
- Reportar errores o proponer cambios abriendo un issue en GitLab.
- Enviar mejoras mediante un merge request.
- Compartir estos apuntes con otrxs que puedan beneficiarse.
🎉 ¡Gracias por ser parte de esta comunidad de aprendizaje! 🚀