Notas técnicas de construir y operar software
Cursos de programación y notas prácticas con código que ejecutamos de verdad: Python, JavaScript, SQL, Git, Flutter, servidores e IA, desde la experiencia de operar más de 15 apps.
- Web y SEO De WordPress a estático sin romper URLs de las tiendas 24 fichas de App Store y Google Play apuntaban a WordPress. Cómo pasamos a un sitio estático en LiteSpeed con cada URL en 200 y un corte de 5 minutos.
- VB.NET Fundamentos de VB.NET: Option Strict, tipos y Nothing VB.NET en .NET 10: BC30512 con Option Strict On, InvalidCastException con Off, overflow comprobado, Nothing = 0 y late binding 165 veces más lento.
- Swift Fundamentos de Swift: let, tipos, strings y opcionales Swift desde cero con salida real de swiftc: let vs var, sin conversiones implícitas, por qué word[0] falla, opcionales y -O 145 veces más rápido.
- SQL SQL INSERT, UPDATE, DELETE y restricciones, probados Curso de SQL 2 en SQLite 3.51: errores de NOT NULL, UNIQUE, CHECK y FOREIGN KEY, un UPDATE sin WHERE deshecho con ROLLBACK y un DELETE 3,600× más lento.
- SQL SQL desde cero: SELECT, WHERE, ORDER BY y NULL Curso de SQL 1 en SQLite 3.51: tu primera tabla en 5 minutos, WHERE, ORDER BY, LIMIT, por qué = NULL no encuentra nada y 1 millón de filas medidas.
- Línea de comandos Pipes y redirección: grep, sort y uniq en un log stdin, stdout, stderr, >, >>, 2>&1 y pipes sobre un log de 20,000 líneas con grep, sort, uniq, wc y cut. Trampas reales y un bucle 7,000 veces más lento.
- Línea de comandos Terminal desde cero: rutas, archivos y espacios Primeros pasos en la terminal de macOS: pwd, ls, cd, mkdir, cp, mv, rm, errores reales, por qué rm -r My Project borró otra carpeta y cp vs. mv medidos.
- Python Funciones en Python: ámbito, defaults y closures Funciones en Python con salidas reales: *args, **kwargs, / y *, el argumento por defecto mutable, UnboundLocalError, lambdas que dan [2, 2, 2] y match.
- Python Tipos y mutabilidad en Python: copias, is vs == Python desde ejecuciones reales: por qué 0.1+0.2 no da 0.3, la trampa de [[0]*3]*3, copy vs deepcopy (20,000 veces más lento), is vs == y tracebacks.
- Rutas de aprendizaje Ruta para aprender a programar: guía de estudio Qué lenguaje aprender primero según tu trabajo, cómo estudiar, un plan de 4 semanas y en qué orden leer los cursos: terminal, Git, SQL, Python, Java y más.
- PHP PHP desde cero: tipos, == vs ===, strings y arrays Bases de PHP 8.5 con ejecuciones reales: 0 == "a" desde PHP 8, TypeError con strict_types, strlen vs mb_strlen y la trampa de foreach por referencia.
- Servidores e infraestructura MySQL 1226 max_connections_per_hour en hosting Un cron chocó con el error 1226 de MySQL (500/hora) mientras las APIs PHP en localhost hacían ~1,500/hora sin fallar. El límite es por user@host.
- Servidores e infraestructura SQLi y XSS en PHP heredado sin cambiar la salida 90 correcciones de SQL y de salida en 36 archivos de un backend PHP de hace una década, con respuestas idénticas byte por byte. Lo que el escáner no vio.
- JavaScript Funciones, this y closures en JavaScript (con jsc) Curso de JavaScript 2 en jsc: function vs flecha, qué es this, closures, por qué var en un bucle imprime 3, 3, 3 y un memoize que dejó fib(30) en 0.02 ms.
- JavaScript JavaScript desde cero: tipos, == vs === y NaN en jsc Curso de JavaScript 1, todo en jsc de macOS: errores de let/const/var, typeof null, tabla real de == vs ===, 0.1 + 0.2 y por qué "10" + 5 da "105".
- Java Fundamentos de Java: tipos, strings y == vs equals Java para principiantes en OpenJDK 26: overflow de int, double vs BigDecimal, == vs equals y la caché de Integer (127 vs 128), con errores reales de javac.
- HTTP y fundamentos web Códigos de estado HTTP y redirecciones con curl Curso de HTTP 2: un router php -S de 2xx a 5xx, qué pasa con un POST ante 301/302/303 vs 307/308, 404 vs 410 y un crash de PHP que respondió 200 OK.
- HTTP y fundamentos web HTTP desde cero: lee cada línea de curl -v Curso de HTTP 1, ejecutado de verdad: http.server local con Python, curl -v línea por línea, métodos, headers y por qué curl sale con 0 ante un 404.
- Git Git: ramas, merge y conflictos, paso a paso Crea ramas (branch), entiende cuándo Git hace fast-forward y cuándo un merge commit, y resuelve un CONFLICT real paso a paso con la salida real de Git.
- Git Git desde cero: init, add, commit y .gitignore Tu primer commit de Git en cinco minutos: working tree, staging area, status, diff, log, .gitignore y qué pasa de verdad si haces commit de una contraseña.
- Flutter 16 apps a Flutter moderno en 8 semanas: qué se rompió 6 apps WebView pasaron a nativo y 10 apps Flutter viejas se actualizaron en 8 semanas: errores de Kotlin, rechazos ITMS-91064 y 2.3.6 y lo que revertimos.
- Dart Dart desde cero: tipos, final vs const y null safety Curso de Dart 1: tu primer programa en 5 minutos, errores de final y const, el operador ~/, ? ! ?? y late, y un exe que arranca 12 veces más rápido.
- Lenguaje C C desde cero: tipos, printf, warnings y compilación Curso de C 1 con Apple clang 21: compilar en 5 minutos, warnings de -Wall -Wextra, overflow de int y por qué %d con un double imprime -1546188227.
- IA y LLM Agente de IA en un servidor en producción: controles Un agente de IA migró nuestro sitio y 8 APIs de apps en una noche. Sus 5 errores, los controles que los atraparon y lo que decidió una persona.
No hay artículos que coincidan