Entradas

Mostrando entradas de junio, 2025

📄 ¿Qué es HTML?

HTML significa HyperText Markup Language , o en español, Lenguaje de Marcado de Hipertexto . Es el lenguaje que usamos para estructurar el contenido de una página web . HTML no es un lenguaje de programación. Es un lenguaje de marcado , lo que significa que usamos etiquetas como <p> , <h1> , <a> , etc., para indicar al navegador cómo mostrar el contenido. 🎯 ¿Qué hace HTML? Define títulos, párrafos, imágenes, enlaces, tablas y formularios. Es la base de toda página web. El navegador lo interpreta y lo convierte en la página que ves. 🧱 Ejemplo simple de HTML <!DOCTYPE html> <html> <head> <title>Mi primera página</title> </head> <body> <h1>Hola, mundo</h1> <p>Esta es mi primera página HTML.</p> </body> </html> En este ejemplo: <html> define todo el documento HTML. ...

Creación de nodos con JavaScript

Imagen
  Un enfoque práctico inspirado en Negrino y Smith ✍️ Introducción personal: Cómo comencé a manipular el DOM Por allá por el año 2005, me estaba metiendo en el mundo de la programación web. En ese momento trabajaba con HTML, algo de ASP, PHP y un poco de JavaScript. Creía que con eso bastaba para defenderme. Sin embargo, me despidieron... y reconozco que fue por una falencia mía. No entendía realmente cómo funcionaba el navegador por dentro ni qué era eso del "DOM". Fue entonces que me topé con dos libros que cambiarían por completo mi forma de ver el desarrollo web: "JavaScript" y "JavaScript and Ajax" , de Tom Negrino y Dori Smith , publicados por Peachpit Press , un sello de Prentice Hall/Pearson Education . A través de sus explicaciones claras y ejemplos directos, entendí que manipular el DOM no era un acto mágico reservado para genios, sino una habilidad lógica, concreta… y sobre todo, poderosa. Desde entonces, nunca más vi una página web como a...

¿Seguir usando Servlets o pasarme definitivamente a Spring Boot?

Esta es una pregunta que muchos desarrolladores se hacen, especialmente si vienen de un entorno más clásico en Java. Yo también me la he hecho. Y no es blanco o negro. Como todo en programación: depende . 🧱 ¿Por qué seguir usando Servlets? Aunque muchos lo ven como algo del pasado, los Servlets siguen siendo la base de todo lo que hoy conocemos como frameworks web en Java. Entenderlos no es opcional: es fundamental si quieres saber qué hace realmente Spring Boot por ti. Ventajas de usar Servlets directamente: Te dan control total del ciclo de vida de la petición. Ideal para proyectos pequeños o educativos. Sirven para aprender arquitectura web desde cero. No necesitas tantas dependencias ni configuración. Funcionan muy bien con JSPs y modelos en capas (DAO, Servicio, Controlador). Desventajas: Requiere más trabajo manual. No incluye soporte integrado para JSON, REST, seguridad, etc. No escala tan fácilmente como un framework moderno. 🚀 ¿...

De Windows pirata y administración a Java en Linux: mi camino hacia el desarrollo profesional y ético

Introducción Antes de dedicarme al desarrollo, usaba el computador solo para tareas administrativas. Tenía Windows pirata, no por rebeldía sino porque era lo que venía o lo que había a mano. No hacía nada de programación ni tenía interés en ello. Etapa 1: Administración con Windows pirata Windows venía pirata o se pirateaba porque “era lo normal”. No había conciencia ni interés en pagar licencias. Por allá por 2016, conocidos me hablaban de hacer desarrollos, pero no tenía interés; veía la programación como algo lejano y técnico. La carrera técnica (terminada en 2004) Terminé la carrera en 2004, pero no entré de inmediato en el desarrollo. La vida me llevó por otros caminos y solo más tarde comencé a programar, cuando realmente sentí la necesidad y la utilidad de hacerlo. Etapa 2: VB6 y primeros pasos en desarrollo Empecé con VB6, una herramienta accesible pero que requería muchos ajustes en el sistema operativo para funcionar bien. Era un entorno que...

Del Windows pirata al futuro real: una reflexión para el técnico de escritorio

Muchos técnicos de PC en América Latina comenzaron su camino arreglando computadores, instalando programas y reinstalando Windows. Para muchos fue su primer acercamiento al mundo de la tecnología, y durante años fue su principal fuente de ingresos. Pero con el paso del tiempo, la práctica de instalar versiones piratas de Windows con activadores y cracks se volvió un hábito tan común que pocos se detuvieron a cuestionar su sostenibilidad o sus consecuencias. ⛔ La trampa del hábito Instalar Windows sin licencia parece una solución rápida, pero representa una trampa silenciosa: Es ilegal, aunque esté naturalizado. Limita el crecimiento profesional (¿quién contrata a un técnico que ofrece software pirateado?). Te encierra en una rutina de parches, activadores y reparaciones eternas. No te permite avanzar hacia servicios más complejos, como administración de redes o servidores. 🔄 ¿Y si cambiar fuera posible? La buena noticia es que ...

Linux en empresas: ¿Hasta dónde llega su alcance real?

En el discurso popular sobre Linux se repite con frecuencia que puede reemplazar a Windows en casi cualquier entorno. Si bien esto es cierto en muchos casos, cuando hablamos del uso empresarial , especialmente en áreas críticas como administración, contabilidad o automatización industrial , la historia es más compleja. Este artículo no busca evangelizar, sino mostrar con realismo dónde Linux encaja bien y dónde hay que tomar decisiones más cuidadosas . 🌍 Distintos mundos dentro de la empresa Una empresa no es una unidad homogénea. Tiene múltiples áreas con necesidades muy distintas: Oficinas administrativas donde se escriben informes, se gestionan correos y se manejan planillas. Departamentos contables o tributarios que deben usar software autorizado por organismos fiscales. Plantas industriales donde el software debe comunicarse con hardware específico, como sensores, PLCs o sistemas SCADA. Áreas de soporte que instalan, configuran, y manti...

Lo que viví en un encuentro de Linux: entre el idealismo y la realidad pragmática

  En 2008 asistí a un encuentro de Linux en el Teatro Diego Rivera, en la ciudad de PuertoMontt, que aunque no me aportó mucho en novedades técnicas, sí confirmó varias ideas sobre cómo funciona parte de la comunidad. Fue una experiencia que reafirmó la brecha entre el mundo técnico y el usuario común. Un mundo enfocado en servidores y configuraciones avanzadas La mayoría de las charlas estaban centradas en temas como administración de servidores, seguridad, configuraciones complejas y software para infraestructuras. Nada de esto está mal, al contrario, es esencial para mantener una infraestructura robusta. Sin embargo, noté que casi no se habló sobre las necesidades del usuario común, aquel que solo quiere usar su computador para tareas de oficina: enviar correos, usar software POS, editar documentos o hacer videollamadas. Experiencia que aporta perspectiva Aprendí Linux entre el año 2000 y 2001, y posteriormente, en 2004, tuve contacto con FreeBSD, donde también apliqué vari...

De VB6 a Linux con Xojo: una ruta posible para el desarrollador clásico

Introducción Si programaste durante años en Visual Basic 6, probablemente conoces de memoria las ventanas MDI, los DataGrid , el MSFlexGrid , y la famosa combinación de ADO + Access . Y también sabes lo difícil que fue la transición a .NET... o peor aún: a tecnologías web que cambiaban cada 6 meses. Pero hoy te traigo una alternativa real: Xojo , un entorno de desarrollo visual multiplataforma que puede ayudarte a dar el salto a Linux sin tener que desechar tu experiencia en VB6. ¿Qué es Xojo? Xojo es un entorno RAD (Rapid Application Development) que permite desarrollar aplicaciones gráficas nativas para Windows, macOS y Linux con una sintaxis muy parecida a Visual Basic . Sí, puedes arrastrar botones, escribir código tipo Button1.Caption = "Hola" y compilar para Linux con un solo clic. ¿Por qué considerar Linux ahora? Porque Windows ya no es tan cómodo como antes (actualizaciones forzadas, licencias, peso del sistema). Porque Linu...

Usar Linux en la oficina sin ser experto: una guía práctica

Introducción Muchas personas creen que Linux es solo para programadores o administradores de redes. La realidad es muy distinta: hoy en día, Linux es una alternativa sólida, segura y estable para cualquier persona que use el computador para tareas de oficina. Si tu trabajo se basa en enviar correos, editar documentos, navegar por internet y asistir a reuniones en línea, entonces puedes usar Linux perfectamente sin depender de Windows, sin pagar licencias y sin sufrir por virus o pantallazos azules. Esta entrada está escrita pensando en quienes no son técnicos , no son desarrolladores y no quieren abrir la consola para trabajar. Aquí verás que Linux moderno es para todos . Uno de los errores más comunes es que muchos tutoriales sobre Linux han estado enfocados en el usuario técnico: desarrolladores, administradores de sistemas o entusiastas avanzados. Eso ha dejado fuera a una gran cantidad de personas que solo quieren usar su computador para trabajar, sin complicars...

No es que me niegue a usar Spring Boot — simplemente no se dio (aún)

Muchas veces me dicen: “¿Por qué no estás usando Spring Boot si es el estándar?” “¿No quieres actualizarte?” “¿Estás en contra de los frameworks modernos?” La verdad es mucho más simple: No he tenido la oportunidad real de trabajar en un proyecto con Spring Boot. De hecho, en una ocasión, una persona me ofreció empleo para desarrollar usando Spring Boot . Me preparé. Me entusiasmé. Comenzamos a planear. Pero al final, el proyecto no obtuvo los fondos y nunca despegó . Entonces no, no es que me resista. No es que me rehúse. Es simplemente que aún no ha llegado ese espacio en el que pueda aplicarlo en un entorno profesional real . Mientras tanto: Sigo construyendo con Java clásico. Organizo mis proyectos en capas (DAO, servicios, controladores). Aplico principios de diseño y buenas prácticas. Desarrollo desde la base, entendiendo lo que sucede “debajo del framework”....

¿Es necesario usar Spring Boot para todo? Spoiler: No (y es relativo)

Spring Boot es popular, poderoso y práctico. Pero eso no significa que debas usarlo para todo. En esta entrada no pretendo dar una verdad absoluta. Todo depende del proyecto, del equipo, del entorno y del contexto técnico. Solo quiero compartir una perspectiva basada en la experiencia: hay muchos casos donde Java puro, Servlets o Jakarta EE siguen siendo totalmente válidos . 💡 ¿Qué es Spring Boot? Spring Boot es un framework que facilita la creación de aplicaciones Java modernas. Incluye servidor embebido, inyección de dependencias, REST, seguridad, acceso a base de datos, entre muchas cosas más. Es cómodo. Pero no es obligatorio . 🔍 ¿Cuándo no necesitas Spring Boot? Si estás aprendiendo desde cero y quieres entender cómo funciona HTTP, Servlets, URLs, etc. Si estás haciendo una app pequeña o una utilidad que no justifica un framework completo. Si necesitas algo muy liviano que puedas empaquetar en un JAR...

Visual J++: el Java de Microsoft que vi... pero no entendí

Corría el año 2000. Yo estaba en el instituto, aprendiendo algo de Visual Basic 6 y algo de Linux para curiosear, ya había pasado algo de COBOL. Un día, vi algo extraño en los computadores del laboratorio: un programa llamado Visual J++ . Parecía un Visual Basic, pero decía “J++”. En ese entonces no me había enfocado en programación, así que no le tomé mayor importancia. Hoy sé que era un capítulo polémico en la historia del desarrollo de software. 🔍 ¿Qué fue Visual J++? Visual J++ fue una herramienta creada por Microsoft en los años 90 para permitir el desarrollo de aplicaciones en Java, pero con una gran diferencia: estaba fuertemente integrada con el sistema operativo Windows. Podías programar en Java, pero también utilizar componentes como ActiveX , COM y APIs de Win32. Esto rompía con la filosofía original de Java: “write once, run anywhere” . ⚖️ La demanda de Sun Microsystems Sun, los cre...

De los .jar manuales a Maven en NetBeans

Cuando empecé a programar en Java, agregar una librería externa significaba ir al sitio oficial, descargar el .jar , guardarlo en una carpeta lib , y luego configurar el classpath a mano. Un proceso tedioso, frágil y fácil de romper. Hoy, con herramientas como Apache Maven y su integración en IDEs modernos como NetBeans, ese proceso quedó en el pasado. 📦 ¿Qué es Maven? Maven es una herramienta para la gestión de proyectos Java. Automatiza tareas comunes como la descarga de dependencias, la compilación del código, las pruebas y el empaquetado del proyecto. Con Maven, ya no descargas .jar manualmente. Solo declaras lo que necesitas en un archivo llamado pom.xml , y Maven se encarga de todo. <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>6.1.4</version> </dependency> 🖱️ ¿Y cómo se usa en NetBeans? Hoy, crear un proyecto con Maven en NetBeans es tan ...

¿Qué es un Servlet en Java y por qué muchos desarrolladores de Spring Boot no lo conocen?

¿Qué es un Servlet en Java y por qué muchos desarrolladores de Spring Boot no lo conocen? 🚪 Introducción Si estás usando Spring Boot y defines un endpoint con @GetMapping("/hola") , ¿sabías que eso está siendo procesado por un servlet ? Muchos desarrolladores nuevos nunca han escrito uno, y sin embargo, ¡lo usan todos los días sin saberlo! En esta entrada te explico qué es un servlet, cómo se define, y por qué entenderlo te convierte en un mejor desarrollador Java. 🔍 ¿Qué es un Servlet? Un Servlet es una clase Java que se ejecuta en un servidor web (como Tomcat o Jetty) y responde a solicitudes HTTP . Es el componente base de la arquitectura web en Java desde los años 90. Ejemplo simple de Servlet @WebServlet("/hola") public class HolaServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) ...

¿De verdad necesitas React o Node.js para tu proyecto web?

Hoy en día pareciera que si no usas React, Node.js o algún framework JavaScript moderno, tu aplicación “no es seria”. Pero... ¿realmente necesitas toda esa infraestructura solo para mostrar un formulario, un listado o un panel de administración? Spoiler: en muchos casos, no. 🚧 El problema: sobreingeniería Hay una tendencia a usar React para absolutamente todo. Incluso si vas a hacer: Un formulario de contacto Un CRUD sencillo para una base de datos Una interfaz interna con acceso restringido Un panel de administración Entonces aparecen cosas como: React + Vite + TypeScript API REST en Node.js o Spring Docker + nginx CI/CD solo para subir 2 archivos estáticos Todo esto para terminar mostrando una tabla y un botón “Guardar”. ⚙️ ¿Y si solo usas Servlets y JSP? Con Java, puedes perfectamente construir una aplicación completa usando: Servlets como controladores JSP (o Thymeleaf si usas Spring) como vista DAO + Servicios para separar...

Aprendiendo SOLID con Java y Servlets clásicos: Separando DAO, Servicio y Controlador

Cuando comencé a desarrollar aplicaciones web en Java, usaba JSPs y Servlets sin mucho orden. Todo el código vivía en el Servlet: SQL, lógica, control de errores, todo junto. Con el tiempo me di cuenta de que esa forma de trabajar era insostenible. Así que decidí aprender algo de arquitectura. Hoy quiero compartir cómo estructuré una aplicación MVC clásica en Java , aplicando principios de diseño SOLID , sin usar Spring . El enfoque me permitió tener un sistema más limpio, extensible y fácil de mantener. 📈 ¿Qué es MVC clásico? Modelo: representa los datos de negocio ( Usuario ). Vista: JSP que muestra los datos ( usuario.jsp ). Controlador: Servlet que recibe la solicitud y coordina la respuesta. 🤔 ¿Qué principios SOLID estoy aplicando? Principio Cómo lo aplico S – Responsabilidad única Cada clase hace solo una cosa (Servlet, Servicio, DAO, Modelo). O – Abierto/cerrado Puedo extend...

🧪 Aprendiendo el patrón MVC clásico con Java: todo en un solo flujo

Cuando estás empezando con el patrón MVC clásico en Java , lo más importante no es hacer una arquitectura perfecta, sino entender bien cómo se comunican las partes : el Servlet (controlador), el modelo de datos y el acceso a base de datos. Por eso, en esta primera versión uso un DAO concreto sin interfaz , para que el flujo sea fácil de seguir. Luego, más adelante, podré abstraerlo con una interfaz, aplicar SOLID y hacer mi código más flexible. 🔍 ¿Qué es MVC clásico? Modelo: representa los datos, como un Usuario . Vista: página JSP que muestra los datos. Controlador: un HttpServlet que actúa como puente entre la petición y la lógica. Estructura usada com.miapp.model.Usuario ← Modelo (POJO) com.miapp.dao.UsuarioDAO ← Clase DAO concreta (sin interfaz) com.miapp.service.UsuarioService ← Lógica de negocio com.miapp.web.UsuarioServlet ← Servlet controlador Clase Modelo: Usuario.java package com.miapp.model; public class Usuario { privat...