¡Hola!
Resumen de este email:
- Curso de Tailwind publicado al 100% en el plan Standard
- 🆕 Nueva sección: Descubre el bug
- 🆕 Nueva sección: Noticias tech y de programación top de la semana
- ¡Sorteamos 1 entrada para la JSConf y para el SOSZ26!
⏱️ Tiempo estimado de lectura: 1 minutillo… o 2.
⛵ Curso de Tailwind publicado al 100% en el plan standard
Tailwind CSS es el framework más famoso para CSS. Previo a la época de la IA ya lo era por la facilidad de escribir su código, pero gracias a la IA su popularidad ha crecido más que nunca.
Pero con todo esto llegan nuevos problemas: estilos que no escalan.
Y la solución puede parecer compleja, pero es bastante simple: Hay que tener unos buenos cimientos, y por lo tanto, una buena arquitectura.
En el curso nos centramos en cómo tener una arquitectura escalable y cómo aplicar buenas prácticas en:
- 📐 Layouts
- 💫 Animaciones
- 📱 Responsive
- 🎨 Temas
Todo esto aplicando BEM y planteándonos si tiene sentido Atomic. Ya publicado al 100% en Codely Pro Standard.
🐛 Descubre el bug
Hoy estrenamos esta nueva sección. Cada vez que tengamos un bug en Codely, os lo traeremos aquí para ver si lo puedes detectar.
Esta semana nos ha pasado que queríamos añadir un hook de git de pre-push, pero se quedaba pillado.
Viendo el código, intenta ver qué pasa. A ver si puedes sacarlo sin utilizar la IA. Al final de la newsletter te damos la solución.
# .husky/pre-push
echo "👌 Running pre-push hooks from `.husky/pre-push`"
branch="$(git rev-parse --abbrev-ref HEAD)"
if [ "$branch" = "main" ]; then
echo "You can't commit directly to main branch"
exit 1
fi
yarn prep
🎟️ ¡Sorteamos 1 entrada para la JSConf y para el SOSZ26!
Una de las cosas que nos encanta de lo que hacemos, es poder compartir con la comunidad. 😊
Hoy estamos sorteando 2 entradas:
- JSConf: Un evento TOP de front donde las entradas ya están más que agotadas. Puedes participar desde aquí.
- SOSZ26: Un evento donde siempre nos hemos traído cositas interesantes de vuelta a casa. Puedes participar desde aquí.
¡Esperamos que tengas suerte!
🗞️ Noticias tech y de programación top de la semana
¡Es una locura el ritmo al que avanza la tecnología últimamente! Por ello hemos decidido añadir esta nueva sección a la newsletter, para darte los titulares más significativos de la semana.
Lo más relevante que ha pasado, es la migración de usuarios de ChatGPT (OpenAI) a Claude (Anthropic) por todo el lío que ha habido con el Departamento de Guerra de Estados Unidos.
Resumidamente, Anthropic dijeron que ellos no iban a quitar la protección a sus modelos para poder espiar a gente de su propio país, cosa que Sam Altman (CEO de OpenAI) apoyó. Al poco, el gobierno de EEUU dijo que Anthropic son unos radicales de izquierdas y que anulan cualquier colaboración.
Hasta aquí, todo "normal" (dentro de la nueva normalidad). Lo que lo cambió todo es que a las pocas horas de anunciar la rotura del acuerdo del Departamento de Guerra con Anthropic, OpenAI anunció un nuevo acuerdo con ellos. Cosa que hizo que mucha gente cancelara su suscripción de OpenAI para irse a Claude.
Esto no se lo esperaban por parte de Anthropic y ha hecho que sus servidores vayan al máximo. Tanto es así, que en Claude Code ha cambiado la sugerencia de utilizar Opus con el razonamiento al máximo, a pasarlo a usar con el razonamiento al medio.
Además, esta semana han salido nuevos productos de Apple, Cursor se ha integrado dentro de IntelliJ, ha salido el modo voz para Claude Code… ¡Una locura!
Todas estas noticias y muchas más, las estaremos contando mañana en directo a las 9 CET en el Café con Codely. ¡Te esperamos en nuestro YouTube o Twitch!
🦋 Solución al bug
Este bug le ocurrió a Javi. Una vez se dio cuenta de lo que estaba pasando, me compartió pantalla para que yo lo detectara y me costó horrores poder verlo.
No lo vi hasta el punto de que, cada vez que yo decía dónde podía estar el bug, él iba borrando la línea de código que mencionaba. Y borró tanto que al final sólo quedó una línea y allí ya me fijé en qué pasaba. 😅
Es que bug estaba… ¡en la primera línea!
echo "👌 Running pre-push hooks from `.husky/pre-push`"
Lo que está pasando, es que dentro de comillas dobles, si hay algo con backticks (`) se entiende que es un comando a ejecutar (command substitution). O sea, básicamente habíamos creado una recursión infinita que no tenía punto de escape, por lo tanto se quedaba pillado hasta el infinito y más allá.
La solución fue escapar esos backticks para que se imprimiera el texto sin volver a ejecutarse. ✨ ¿Lo habías podido detectar? ¿o te ha pasado igual que a mi?
Y ya que has llegado hasta esta parte de la newsletter (que hoy has llegado muy velozmente), te dejamos aquí el chiste de la semana, qué sé que lo estabas esperando:
¿Hasta cuándo sigue comiendo una API? Hasta que state·ful 😂 😂 😂 // Enviado por @soy_capo 🙌
¡Un saludo!