Entradas

Mostrando entradas de marzo, 2026

🔐 Login con Spring Security + MVC + MySQL + Thymeleaf + Bootstrap

Imagen
  🧩 Guía COMPLETA y EXPLICADA paso a paso (nivel principiante → intermedio) En este tutorial no solo vas a copiar código: vas a entender cómo funciona cada pieza de un sistema de autenticación real con Spring Boot. 🧠 1. ¿Qué estamos construyendo? Vamos a crear un sistema que: Permite iniciar sesión con usuario y contraseña Valida credenciales contra MySQL Protege rutas según roles (ADMIN / USER) Usa vistas con Thymeleaf Tiene diseño con Bootstrap 👉 Todo esto usando el patrón MVC (Modelo - Vista - Controlador) . 🏗️ 2. Crear el proyecto Puedes usar Spring Initializr o NetBeans. Selecciona: Spring Web → para controladores y MVC Spring Security → autenticación Spring Data JPA → acceso a base de datos Thymeleaf → vistas HTML dinámicas MySQL Driver → conexión a BD 📦 3. Dependencias (¿por qué son importantes?) <dependencies> <!-- Permite crear controladores y endpoints web --> <dependency> <groupId>org.springframework.boot</groupId> ...

¿SQL Server Standard + CAL o Per Core? Caso practico

  ¿SQL Server Standard + CAL o Per Core? La verdad sobre el licenciamiento en aplicaciones web La respuesta corta es sí puedes usar SQL Server Standard con CALs , pero existe una condición técnica muy importante que muchos desarrolladores pasan por alto. No se trata de si la base de datos funciona (porque técnicamente lo hará sin problemas), sino de si estás cumpliendo correctamente con los términos de licenciamiento de Microsoft. 🔍 El punto clave: no es técnico, es legal En el modelo Server + CAL (Client Access License) , cada usuario o dispositivo que accede a los datos necesita una licencia. Aquí es donde aparece el problema más común en aplicaciones modernas. ⚠️ El problema del “Multiplexing” Cuando desarrollas una aplicación web, los usuarios no se conectan directamente a SQL Server . En su lugar: Se conectan a un servidor web (IIS, Node.js, etc.) Ese servidor hace una única conexión a la base de datos A simple vista, parece que solo necesitas una conexión… pero no es así. Re...

CRUD con Spring Boot 4 + JPA + MySQL + Bootstrap 🚀

Imagen
  CRUD con Spring Boot 4 + JPA + MySQL + Bootstrap (Guía Completa) Si estás aprendiendo Spring Boot o necesitas crear un sistema rápido tipo CRUD para una base de datos, este tutorial te guía paso a paso para construir una aplicación real usando: ✅ Spring Boot 4 ✅ JPA (Hibernate) ✅ MySQL ✅ Thymeleaf ✅ Bootstrap Trabajaremos con la tabla city de la base de datos world . 🧠 ¿Qué vamos a construir? Un sistema web que permita: 📋 Listar ciudades ➕ Agregar nuevas ✏️ Editar registros ❌ Eliminar datos 🧱 1. Dependencias del proyecto Agrega estas dependencias en tu archivo pom.xml : <dependencies> <!-- Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Vistas --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId...

🚀 Cómo crear presentaciones automáticamente con IA usando NotebookLM

Imagen
Hoy en día, crear presentaciones profesionales puede tomar horas… pero gracias a la inteligencia artificial , ahora puedes hacerlo en minutos. En este artículo te enseñaré cómo usar NotebookLM para generar presentaciones listas para exponer, de forma rápida y eficiente. 📌 ¿Qué es NotebookLM? NotebookLM es una herramienta de Google impulsada por inteligencia artificial que te permite: Analizar documentos automáticamente Generar resúmenes Crear ideas estructuradas Convertir información en contenido útil (como presentaciones) Es ideal para estudiantes, docentes, programadores y creadores de contenido. 🎯 ¿Por qué usar NotebookLM para presentaciones? Crear presentaciones manualmente puede ser tedioso. Con NotebookLM puedes: ✅ Ahorrar tiempo ✅ Generar contenido estructurado ✅ Obtener ideas claras y organizadas ✅ Crear guiones listos para PowerPoint o Canva 🧠 Paso a paso: Crear una presentación con NotebookLM 1. 📂 Subir tu contenido Puedes subir: PDFs Documentos de texto Apuntes Informa...