JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Mi página Web Forms con UpdatePanel se carga el hash (#) de la dirección

Bueno, esto es tecnología viejuna pero que está en uso en miles (o millones) de Web de todo el mundo, incluyendo este blog en el momento de escribir esto en 2020. La maravillosa tecnología ASP.NET Web Forms fue un invento de Scott Guthrie (sí, ese Scott del polo rojo que manda tanto en Microsoft y parece un tipo tan majo) que permitía crear aplicaciones Web orientadas a datos aunque no tengas mucha idea de la Web. Y de hecho aún lo permite, viene incluida de serie en Windows junto con la plataforma .NET, y sigue siendo muy interesante para ciertos tipos de aplicaciones. Bien, el caso es que hay un efecto secundario del uso de estas tecnologías que puede volverte loco, aunque no se da con frecuencia. Si utilizas algún tipo de hash en tu URL (esas direcciones que terminan en un # con algo a continuación y que sirven para navegación interna en la página) de modo que permitas saltar directamente a alguna parte de la página, tanto los Web Forms "puros" como los UpdatePanel para AJAX se lo cargan. Vamos a ver cómo evitarlo. [Más]

ClickOnce: los ajustes de seguridad no permiten que esta aplicación se instale

Muchas aplicaciones para Windows, tanto creadas con Windows Forms, WPF o incluso de consola, se distribuyen a los usuarios usando una tecnología vetusta pero muy útil llamada ClickOnce. Esta tecnología apareció en junto con la versión 2.0 de .NET Framework allá por 2005 y es extremadamente útil porque te permite empaquetar tus aplicaciones de modo que se puedan descargar e instalar desde una ubicación remota, en Internet, en la red local o en cualquier ubicación fija, y que al mismo tiempo se instalen las dependencias que necesites e incluso se determine si existe una versión nueva y se actualice sola automáticamente. Si vas a instalar una app con esta tecnología y el sistema no te lo permite, te explico cómo puedes conseguirlo. [Más]

Cómo evitar que se pueda seleccionar contenido en una página web sin usar JavaScript (sólo con CSS)

Tradicionalmente, si por algún motivo queremos que los usuarios no sean capaces de seleccionar ciertas partes del contenido de nuestra página Web, hemos tenido que recurrir a JavaScript. Se marcaban los elementos a "proteger" de alguna manera (por ejemplo con una clase determinada) y tras la carga de la página un código los buscaba e interceptaba ciertos eventos para anularlos e impedir así que fueran seleccionables. La versión 4 de la especificación CSS incluye una nueva funcionalidad precisamente para esto. Todavía está en borrador pero ya hace tiempo que todos los navegadores del mercado lo soportan. Vamos a conocerla. [Más]

JavaScript: cómo acceder y modificar pseudo-elementos como ::after y ::before

Acceder a un elemento del DOM con JavaScript es muy sencillo. Mientras esté definido en el HTML tiene un elemento JavaScript correspondiente en el DOM y hay métodos para acceder a ellos. Sin embargo, cuando se trata de un pseudo-elemento, al tratarse de elementos ficticios, la cosa cambia por completo. No somos capaces de acceder a ellos de manera directa y presentan además otros retos. En este artículo vamos a ver qué son estos pseudo-elementos, como podemos acceder a sus propiedades para leerlas o modificarlas y cómo podemos usar un "hack" para modificar una propiedad especial que, en principio, no es posible modificar. [Más]

VÍDEO: Cómo activar una clave de API para Google Maps

Aunque existen unas cuantas opciones hoy en día para poder usar mapas en tus desarrollos Webs, algunas de ellas de código abierto, de todas ellas la más conocida, completa y ampliamente utilizada es Google Maps. Se trata del servicio de mapas más popular del mundo, con una ingente cantidad de datos y funcionalidades a tu disposición, y además de uso gratuito en la mayor parte de los casos. La única "pega" que tiene es que, para usarla, debes dar de alta un proyecto en Google Cloud y activar y configurar ciertas APIs. En este post y vídeo te cuento paso a paso cómo hacerlo. [Más]

Carpetas remotas compartidas en la nube con Azure Storage - Guía paso a paso

Las carpetas compartidas en la nube de Azure nos proporcionan con facilidad una manera de compartir archivos a través del protocolo SMB de la misma manera que si estuviésemos en la red local de una oficina, pero a través de Internet. Nos permiten olvidarnos de mantener servidores de archivos, VPNs, copias de seguridad y disponibilidad. Y todo por un precio ridículo (incluso gratuitamente si compartimos pocos datos: 5GB máximo). En el caso de utilizar máquinas virtuales para aplicaciones, nos dan la posibilidad de tener almacenamiento compartido entre todos los servidores, con acceso simultáneo a los archivos. Si tenemos un Directorio Activo, un Azure AD o un directorio de Office 365, podemos además establecer permisos a usuarios y grupos de la misma manera que lo haríamos en un servidor de archivo Windows de toda la vida. En esta guía vamos a ver cómo se crean y se administran, y cómo podemos hacer sus copias de seguridad. [Más]

Cómo ejecutar al inicio del sistema una aplicación de la tienda de Windows

Aunque no haya muchas aplicaciones buenas, instalarlas desde la tienda de Microsoft tiene sus ventajas: se actualizan solas y nos las podemos llevar de equipo en equipo, como en un móvil, lo cual mola. Sea como fuere, a veces no nos queda más remedio que usarlas. Quizá sólo existe la versión de la Store, quizá sea una aplicación corporativa, o quizá simplemente nos gusta 😉 Existe un problema con estas aplicaciones: si queremos que se ejecuten con el sistema, para tenerlas disponibles desde el primer momento o no olvidarnos de abrirlas, no tenemos forma sencilla de lograrlo. De todos modos siempre existe una vía, y hace poco tuve la necesidad de hacerlo y me tuve que buscar la vida. Así que te cuento como lo logré. [Más]

Crear una terminal de trabajo bonita para desarrolladores

Aunque el mundo está dominado por interfaces gráficas, en el submundo de los desarrolladores, la realidad es que lo que predomina son las herramientas de línea de comandos. En la actualidad necesitas usar herramientas de este tipo todo el tiempo, y en especial si te dedicas al desarrollo Web, gracias a la preponderancia de npm o Git. En cuanto es este último, aunque siempre que puedo utilizado la magnífica indispensable GitLense para Visual Studio Code, en cuanto hay que hacer algo un poco fuera de la normal, se hace necesario acudir a la línea de comandos. En este post te cuento cómo conseguir una línea de comandos más bonita, agradable y sobre todo útil con PowerShell, PowerShel Core y terminales Linux en Windows. [Más]

¿Cómo decidir si un monitor 4K o QHD es para mi, para programar o trabajar?

¿Tienes un monitor Full-HD para trabar y estás pensando en comprarte uno nuevo de estos tan modernos 4K? A lo mejor resulta que te conviene más uno QHD, de menos resolución o, incluso, dependiendo del tamaño en el que te lo compres, ni siquiera te compense gastar ese dinero extra y te venga mejor un simple cambio de pulgadas pero quedarte en Full-HD. Si lo buscas online o incluso si vas a una tienda de esas que te dicen que no eres tonto aunque te traten como tal, no vas a poder ver en real cómo quedarían tus aplicaciones. Sólo verás imágenes de alta resolución en vídeo que siempre se ven de maravilla. Así que ¿Cómo puedes simular cómo se vería sin tocar uno real? Te lo cuento a continuación... [Más]

Git: cómo evitar que las mezclas de ramas cambien ciertos archivos

Este es un tema interesante y muy poco documentado, especialmente en Windows, y como me he tenido que pelear con ello recientemente, aprovecho y lo cuento por si le puede resultar útil a alguien más. Se trata de conseguir que cuando tenemos un repositorio Git con nuestro código, las diferentes ramas tengan uno o más archivos de configuración diferentes que no se vean afectados por las diferentes mezclas. Por ejemplo, que si mezclamos la rama de desarrollo en la de producción, los ajustes de desarrollo se queden en la primera y los ajustes de producción no se vean afectados, cosa que ocurriría en condiciones normales, fastidiándonos a lo mejor el despliegue. Vamos a ver cómo hacerlo con un poco de maña. [Más]