Async/await explicado con ejemplos reales
Domina las promesas modernas en JavaScript y evita el infierno de los callbacks anidados con patrones claros.
Tutoriales, snippets y guías sobre programación, desarrollo web y las herramientas que hacen funcionar internet. Escrito en español, sin relleno y siempre desde la terminal.
# Instala tu curiosidad
$ git clone https://codelatam.dev/tutoriales.git
Cloning into 'tutoriales'...
remote: Contando artículos: 214, listo.
remote: Comprimiendo objetos: 100% (214/214)
Receiving objects: 100% (214/214), 3.14 MiB
$ cd tutoriales && ls
javascript/ python/ css/ devops/
react/ node/ seguridad/ redes/
$ ./empezar.sh --nivel=principiante
✓ listo para hackear ✨Domina las promesas modernas en JavaScript y evita el infierno de los callbacks anidados con patrones claros.
Un recorrido por el protocolo que reemplaza a HTTP/2, con QUIC, multiplexado real y menor latencia.
Renombra archivos, procesa CSVs y programa scripts. Un tutorial paso a paso pensado para principiantes.
Dependencias, cierres obsoletos y renders infinitos. Guía práctica basada en casos reales de producción.
Contenedores, imágenes y volúmenes explicados sin jerga. Ideal para dejar de decir «pero en mi máquina sí».
JWT, refresh tokens, hashing de contraseñas y errores clásicos que abren la puerta a atacantes.
Reglas simples para elegir el layout correcto y dejar de pelear con tu hoja de estilos.
Estructura, versionado semántico, README efectivo y automatización de publicación con GitHub Actions.
Reescribe historial de forma segura, resuelve conflictos y mantén un log limpio en equipos grandes.
Fragmentos de código listos para copiar, con licencia libre. Probados en proyectos reales de la comunidad.
export function debounce<T extends (...a: any[]) => void>(
fn: T, ms = 300
) {
let t: ReturnType<typeof setTimeout>;
return (...args: Parameters<T>) => {
clearTimeout(t);
t = setTimeout(() => fn(...args), ms);
};
}async function fetchJSON(url, options = {}) {
const res = await fetch(url, {
headers: { "Content-Type": "application/json" },
...options,
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
return res.json();
}import re, unicodedata
def slugify(texto: str) -> str:
texto = unicodedata.normalize("NFKD", texto)
texto = texto.encode("ascii", "ignore").decode()
texto = re.sub(r"[^\w\s-]", "", texto).strip().lower()
return re.sub(r"[-\s]+", "-", texto)La referencia definitiva de HTML, CSS y JavaScript, con traducciones mantenidas por la comunidad.
Cursos interactivos gratuitos con certificaciones para aprender desarrollo web desde cero.
Currículum abierto y práctico para convertirte en desarrollador full-stack con proyectos reales.
Rutas visuales de aprendizaje para frontend, backend, DevOps y más, actualizadas cada año.
Documentación offline unificada de decenas de lenguajes y frameworks en una sola interfaz.
Los mejores tutoriales, herramientas nuevas y noticias del ecosistema web, resumidos cada lunes. Puedes darte de baja cuando quieras.
# Al suscribirte aceptas nuestra Política de Privacidad.