Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

1036 artículos publicados

Bootstrap 4.2 - spinners, notificaciones "toast", interruptores y otros detalles

Hace unos días Bootstrap liberó su versión 4.2.0, con algunas novedades dignas de mención que vamos a repasar a continuación, entre ellas unos nuevos componentes para denotar progreso en tareas en segundo plano, unas nuevas notificaciones e interruptores sí/no del mismo estilo que los que tiene iPhone. Además también han incluido unas cuantas mejoras de características ya existentes. Vamos a verlas. [Más]

FIX: Planes de mantenimiento de SQL Server - no se borran las copias de seguridad antiguas

Una buena política a la hora de trabajar con SQL Server es sacar partido a los planes de mantenimiento para crear flujos de trabajo que nos ayuden a realizar todo tipo de tareas del día a día en las bases de datos, pero automatizándolos para no tener que estar pendientes. Una de las tareas típicas es el borrado de copias de seguridad antiguas para liberar valioso espacio en disco pero al mismo tiempo respetar los periodos de retención. Solo hay un problema: si usas la UI de SQL Server y según cómo tengas montadas las copias, NO te va a funcionar. Veamos por qué y cómo evitarlo.... [Más]

TRUCO: Desarrollo Web - Cómo "congelar" en el tiempo una página Web para depurar el HTML/CSS

El truco de hoy es corto y muy sencillo, pero al mismo tiempo poco intuitivo, y puede resultar útil en ciertas ocasiones. Básicamente consiste en "detener el tiempo" o "congelar" una página web de modo que podamos examinarla tal cual está en ese preciso instante sin preocuparnos de que nuestra interacción sobre esta pueda cambiar nada, no mediante un script ni por culpa de cualquier otra acción. Esto puede ser muy útil para depurar o afinar elementos HTML o reglas CSS que afectan a elementos dinámicos, que aparecen y desaparecen en función de las acciones del usuario. Vamos a verlo... [Más]

Qué es el Responsive Web Design y por qué debería importarte aunque no seas diseñador

¿Con qué dispositivo estás leyendo este artículo? Si lo piensas, dependiendo del momento del día y otros factores, seguramente podrías responder varias cosas diferentes: con mi smartphone táctil personal de 6 pulgadas, un tablet de 10'' con resolución de 2048x1536, a o mi monitor de 32'' con resolución WQHD y usando un teclado y un ratón. Y es que hoy en día la información y las aplicaciones se consumen en infinidad de formatos, y una misma persona utiliza diversos dispositivos con capacidades de pantalla, factores de forma, tamaños y resoluciones diferentes, y usándolos de manera táctil o de la manera tradicional: con teclado y ratón. Esto afecta tanto a webs como a aplicaciones y se dominar todos los formatos con un solo diseño es indispensable para cualquier desarrollador o diseñador web. [Más]

Java 11 ya está aquí: te toca pagar a Oracle o cambiarte a otras opciones

Con el lanzamiento de Java 11 y su JDK hace unos días se han lanzado también unos cambios radicales en la plataforma. Y no, no se trata de cambios técnicos sino de cambios de licencia. A partir de ahora si quieres usar el JDK oficial de Oracle y poner una aplicación en producción, tendrás que pagar. Y si quieres soporte a largo plazo tendrás que pagar también. Por suerte todo tiene solución. En este artículo te contamos los cambios y novedades y cómo evitar pagar por desarrollar en Java. ¡Allá vamos! [Más]

Instaladores en Windows y qué diferencia existe entre un instalador .exe y uno .msi

En Windows existen fundamentalmente dos maneras de instalar un programa en el sistema: descargándose un archivo ejecutable (.exe) que es un programa de instalación específico, o bien descargándose un archivo .msi. Estos últimos se ofrecen en muchos casos para "instalaciones empresariales", pero no parece haber gran diferencia entre estos y los anteriores. Realmente ¿las hay? ¿Cuál nos conviene más? ¿Qué programas podemos utilizar para crear un paquete de instalación para nuestras aplicaciones? Te lo contamos a continuación... [Más]

Desarrollo Web móvil: ¿Qué diferencia existe entre el Viewport y la resolución de pantalla de un dispositivo?

El viewport de un dispositivo es el tamaño teórico que tiene la pantalla de dicho dispositivo, el cual no tiene por qué coincidir con la resolución real de la pantalla (de hecho no coincide casi nunca en dispositivos modernos). La resolución se refiere al número de píxeles que puede mostrar dicha pantalla. Estos dos conceptos a pesar de ser tan sencillos tienen un gran potencial y es la base del funcionamiento de los navegadores móviles. Te contamos qué son, en qué se diferencian y cómo gestionarlos. Y te hablamos del concepto "píxeles CSS". [Más]

Cómo sustituir GIFs animados por vídeo y ganar en el proceso

Los GIF animados vuelven a estar de moda. Cada vez se ven más. Pero este tipo de archivo es muy ineficiente, consume mucho ancho de banda, ralentiza las páginas y hace que el navegador haga más uso del procesador del que debiera. De hecho, la mayor parte de las páginas que tienen GIFs realmente no los utilizan. Usan otro truco para que parezcan GIFs pero en realidad los optimizan para que no tengan ninguno de estos inconvenientes. En este post te contamos cómo conseguir lo mismo... [Más]

SQL Server: cuáles son las diferencias entre @@identity y Scope_identity

Cuando insertamos un registro en una tabla de una base de datos, lo más habitual es que se genere automáticamente un nuevo identificador único para el nuevo registro, generalmente un autonumérico. Este identificador es el que vamos a utilizar luego para relacionar el nuevo registro con cualquier otra tabla de la base de datos que necesite utilizarlo. La generación de este autonumérico es mucho más compleja de lo que parece ya que debe tener en cuenta la simultaneidad a la hora de usar la base de datos. Y lo mismo ocurre al recuperarlo para que podamos sacarle partido y relacionar nuestros registros con los de otras tablas. Te explicamos qué métodos tienes en SQL Server, cuáles son sus diferencias y cuál te recomendamos. [Más]