<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://francobosg.netlify.app/blog/</loc><changefreq>daily</changefreq><priority>1.0</priority></url><url><loc>https://francobosg.netlify.app/blog/agente-ia-bucle-infinito-cline-cursor-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/aider-ia-terminal-barata-alternativa-cursor-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/alternativas-gratis-chatgpt-2026/</loc><lastmod>2026-01-28T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/animaciones-framer-motion-premium-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/aprender-ingles-para-developers-2026/</loc><lastmod>2026-03-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/auth-js-nextauth-implementacion-real-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/automatizar-tareas-ia-n8n-make-2026/</loc><lastmod>2026-02-24T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/banner-cookies-rgpd-implementacion-correcta-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/bot-telegram-ia-nodejs-2026/</loc><lastmod>2026-04-29T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/bun-vs-nodejs-produccion-2026/</loc><lastmod>2026-04-10T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/calculadora-precios-ia-2026/</loc><lastmod>2026-03-18T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/caso-real-gps-flota-vehiculos-dolibarr/</loc><lastmod>2026-04-06T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/caso-real-ia-reuniones-gemini-supabase/</loc><lastmod>2026-04-23T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/caso-real-iot-sensores-esp32-dolibarr/</loc><lastmod>2026-04-07T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/caso-real-modulo-comisiones-dolibarr/</loc><lastmod>2026-04-05T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/caso-real-saas-atrapaclientes-nestjs-react/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/casos-reales/</loc><changefreq>weekly</changefreq><priority>0.9</priority></url><url><loc>https://francobosg.netlify.app/blog/caveman-prompting-ahorrar-tokens-ia-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/cheat-sheet-css-grid-flexbox-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/claude-vs-gpt-programar-python-2026/</loc><lastmod>2026-03-24T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/comandos-git-esenciales-2026/</loc><lastmod>2026-04-01T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/como-hice-mi-portfolio-vite-tailwind/</loc><lastmod>2026-01-15T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/comparativas/</loc><changefreq>weekly</changefreq><priority>0.9</priority></url><url><loc>https://francobosg.netlify.app/blog/conectar-java-mysql-jdbc-tutorial-2026/</loc><lastmod>2026-04-02T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/conseguir-trabajo-programador-sin-experiencia-espana-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/construir-saas-2026-lo-que-nadie-te-cuenta/</loc><lastmod>2026-04-23T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/context-window-ia-como-aprovecharlo-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/coolify-self-hosting-deploy-sin-devops-2026/</loc><lastmod>2026-04-23T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/cors-nodejs-express-configuracion-produccion-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/crear-agente-ia-langchain-nodejs-tutorial/</loc><lastmod>2026-03-02T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/crear-chatbot-rag-openai-tutorial-2026/</loc><lastmod>2026-02-11T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/cursor-pro-vs-copilot-vale-la-pena-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/cursor-vs-copilot-vs-windsurf-2026/</loc><lastmod>2026-03-10T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/deploy-gratis-github-actions-netlify-vercel-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/docker-para-developers-guia-practica-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/enviar-emails-nodejs-nodemailer-resend-2026/</loc><lastmod>2026-03-05T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/error-429-too-many-requests-api-ia-2026/</loc><lastmod>2026-04-10T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/error-context-length-exceeded-openai-claude-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/errores-comunes-ia-vscode-copilot-cline-2026/</loc><lastmod>2026-04-11T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/async-await-foreach-not-working/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/aws-accessdenied-not-authorized-to-perform/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/bash-command-not-found/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/cannot-destructure-property-undefined/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/cannot-read-properties-of-undefined-react/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/cannot-use-import-statement-outside-module/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/command-build-failed-exit-code-1-netlify-vercel/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/cors-access-control-allow-origin/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/css-z-index-not-working/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/django-operationalerror-no-such-table/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/docker-cannot-connect-daemon/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/eacces-permission-denied-npm/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/each-child-unique-key-prop-react/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/eaddrinuse-address-already-in-use/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/econnrefused-database-connection/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/enoent-no-such-file-directory-nodejs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/env-variables-undefined-nextjs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/err-module-not-found-nodejs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/err-require-esm-nodejs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/eslint-parsing-error-cannot-find-module/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/express-cannot-get-route/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/failed-to-resolve-import-vite/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/fetch-is-not-defined-nodejs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/git-detached-head-state/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/git-merge-conflict/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/git-push-rejected-non-fast-forward/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/github-actions-process-exit-code-1/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/go-panic-runtime-error-index-out-of-range/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/graphql-cannot-query-field-on-type/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/hydration-mismatch-react-nextjs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/invalid-hook-call-react/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/jwt-secret-must-have-value/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/kubernetes-crashloopbackoff-back-off-restarting/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/laravel-target-class-does-not-exist/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/localstorage-is-not-defined-nextjs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/maximum-call-stack-size-exceeded/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/mongodb-e11000-duplicate-key-error/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/mysql-error-1045-access-denied-user/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/next-image-invalid-src-hostname/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/nginx-502-bad-gateway-configuration/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/npm-err-code-eresolve-peer-dependency/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/npm-missing-script/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/objects-are-not-valid-react-child/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/postgresql-password-authentication-failed/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/prisma-client-did-not-initialize/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/prisma-unique-constraint-failed/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/python-modulenotfounderror-no-module-named/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/react-setstate-during-render/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/redis-wrongtype-operation-wrong-kind-value/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/rust-cannot-borrow-as-mutable-immutable-borrowed/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/supabase-row-level-security-policy-violation/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/syntax-error-unexpected-end-json/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/tailwind-classes-not-working/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/terminal-process-failed-to-launch-vscode/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/too-many-re-renders-react/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/typescript-cannot-find-module/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/typescript-cannot-find-process-node/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/typescript-type-not-assignable/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/uncaught-typeerror-is-not-a-function/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/unexpected-token-less-than-javascript/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/unhandled-promise-rejection/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/vue-property-not-defined-on-instance/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/errores/webpack-module-not-found-cant-resolve/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://francobosg.netlify.app/blog/estructura-carpetas-react-nextjs-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/function-calling-openai-claude-conectar-ia-apis-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/git-merge-conflict-codigo-ia-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/guia-estudiantes-daw-dam-smr-2026/</loc><lastmod>2026-03-30T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/herramientas/</loc><changefreq>monthly</changefreq><priority>0.7</priority></url><url><loc>https://francobosg.netlify.app/blog/herramientas/comparador-precios/</loc><changefreq>monthly</changefreq><priority>0.7</priority></url><url><loc>https://francobosg.netlify.app/blog/herramientas/generador-prompts/</loc><changefreq>monthly</changefreq><priority>0.7</priority></url><url><loc>https://francobosg.netlify.app/blog/herramientas/traductor-errores/</loc><changefreq>monthly</changefreq><priority>0.7</priority></url><url><loc>https://francobosg.netlify.app/blog/ia-alucina-paquetes-npm-no-existen-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/ia-codigo-incompleto-lazy-coding-solucion-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/ia-para-revisar-pull-requests-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/ia/</loc><changefreq>weekly</changefreq><priority>0.9</priority></url><url><loc>https://francobosg.netlify.app/blog/ideas-proyecto-final-daw-dam-2026/</loc><lastmod>2026-04-04T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/landing-pages-tailwind-ejemplos-codigo-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/mcp-servers-cursor-copilot-que-son-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/mejores-ia-generar-imagenes-2026/</loc><lastmod>2026-02-04T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/mejores-ia-para-transcribir-2026/</loc><lastmod>2026-02-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/mejores-modelos-ia-para-programar-2026/</loc><lastmod>2026-03-14T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/mejores-prompts-programar-ia-2026/</loc><lastmod>2026-03-21T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/migracion-react-astro-rendimiento-lighthouse-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/nextjs-15-novedades-guia-completa-2026/</loc><lastmod>2026-04-29T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/nextjs-vs-remix-cual-elegir-proyecto-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/ollama-ia-local-gratis-sin-api-2026/</loc><lastmod>2026-04-12T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/parsear-json-ia-sin-errores-openai-claude-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/por-que-deje-redux-alternativas-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/por-que-nestjs-sobre-express-saas-2026/</loc><lastmod>2026-04-14T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/portfolio-profesional-a-medida-desarrollador-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/postgresql-vs-mysql-cual-elegir-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/prettier-no-formatea-guardar-vscode-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/prisma-desde-cero-tutorial-completo-2026/</loc><lastmod>2026-02-28T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/prisma-vs-drizzle-orm-2026/</loc><lastmod>2026-03-25T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/programar-con-ia-sin-arruinarte-guia-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/prompt-caching-openai-claude-ahorrar-tokens-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/proteger-api-nodejs-jwt-auth-guia-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/python-para-javascript-developers-2026/</loc><lastmod>2026-04-29T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/react-19-novedades-que-cambian-tu-codigo-2026/</loc><lastmod>2026-04-23T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/react-native-vs-flutter-expo-2026/</loc><lastmod>2026-04-29T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/repos-github-desarrolladores-ia-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/servicios/</loc><changefreq>monthly</changefreq><priority>0.7</priority></url><url><loc>https://francobosg.netlify.app/blog/shadcn-ui-guia-completa-espanol-2026/</loc><lastmod>2026-03-08T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/sobre-mi-fran-cobos-desarrollador-fullstack-ia/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/streaming-sse-chatgpt-claude-nodejs-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/stripe-webhooks-nextjs-implementacion-2026/</loc><lastmod>2026-04-02T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/subir-archivos-s3-cloudinary-nodejs-2026/</loc><lastmod>2026-03-18T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/sueldo-desarrollador-web-espana-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/supabase-vs-firebase-experiencia-produccion-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/arquitectura/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/backend/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/carrera/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/caso-real/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/codigo/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/docker/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/dolibarr/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/espana/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/frontend/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/full-stack/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/gratis/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/herramientas/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/ia/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/javascript/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/nestjs/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/next-js/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/node-js/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/php/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/react/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/saas/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/trabajo/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/tutorial/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tag/typescript/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://francobosg.netlify.app/blog/tags/</loc><changefreq>weekly</changefreq><priority>0.9</priority></url><url><loc>https://francobosg.netlify.app/blog/tailwind-css-v4-guia-migracion-2026/</loc><lastmod>2026-04-29T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/tanstack-query-v5-tutorial-2026/</loc><lastmod>2026-02-10T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/testear-codigo-generado-ia-copilot-cursor-2026/</loc><lastmod>2026-04-17T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/trabajo-remoto-developers-como-encontrar-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/tsserver-consume-cpu-vscode-solucion-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/tutoriales/</loc><changefreq>weekly</changefreq><priority>0.9</priority></url><url><loc>https://francobosg.netlify.app/blog/typescript-para-javascript-developers-guia-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/usar-api-chatgpt-claude-gratis-2026/</loc><lastmod>2026-03-06T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/variables-de-entorno-nodejs-nextjs-guia-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/vercel-vs-vps-coste-real-nextjs-2026/</loc><lastmod>2026-04-20T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/vibe-coding-bien-mal-experiencia-real-2026/</loc><lastmod>2026-04-27T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><url><loc>https://francobosg.netlify.app/blog/websockets-socketio-nodejs-react-2026/</loc><lastmod>2026-02-15T00:00:00.000Z</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url></urlset>