JASoft.org

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

MENÚ - JASoft: JM Alarcón

Mi aplicación ASP.NET se reinicia, doctor, ¿es grave?: Aplicaciones, Grupos de aplicaciones y Dominios de Aplicación en IIS y ASP.NET

Los tres términos del título de este post suelen causar bastante confusión entre los desarrolladores ASP.NET que además deben administrar un servidor web con Internet Information Server bajo Windows. Mi objetivo hoy va a ser tratar de aclararlos y ver qué implicaciones tienen en el día a día de una aplicación Web creada con ASP.NET: cómo funcionan, cuándo se reciclan o se inician, cómo se afectan unos a otros... [Más]

JavaScript: por qué obtengo fechas diferentes por consola y por pantalla

Hoy una curiosidad rápida y simple pero puede que de interés, surgida a partir de la pregunta de un alumno y que tiene que ver con la manera de gestionar la misma información que tienen los navegadores dependiendo de si se hace en la interfaz de usuario o en la consola, la cual además puede variar de un navegador a otro. Tiene poca incidencia práctica, pero puede ser interesante... [Más]

Expresión regular para detectar caracteres repetidos

Las expresiones regulares son uno de los mejores inventos de la historia de la programación. Yo las uso para todo. El problema de las expresiones regulares es que, aunque lo básico es sencillo, pueden llegar a ser muy fastidiadas. Hay algunas que, para calcularlas, de entrada pueden parecer muy simples pero que te puede llevar horas dar con ellas. Son casi un lenguaje de programación en si mismas 😊 Otra cosa que hay que saber es que Internet está lleno de páginas con información equivocada o directamente errónea sobre expresiones regulares. En este post analizo detalladamente la construcción de una expresión regular que parece sencilla de entrada, pero que requiere dominar varias cosas importantes que no son tan evidentes para la mayoría. [Más]

Compartir código en Visual Studio: proyectos compartidos o librerías

La manera tradicional de compartir código entre proyectos en Visual Studio siempre ha sido la creación de bibliotecas de código, es decir, ensamblados en forma de DLL que permiten la reutilización de clases entre proyectos. Este es el camino a seguir en la mayor parte de las ocasiones ya que creamos una DLL con la funcionalidad requerida a compartir entre varias aplicaciones, y simplemente añadiendo una referencia a dicha DLL (o el proyecto, si está en una misma solución) a otro de nuestros proyectos en Visual Studio ya tenemos la funcionalidad que necesitábamos. Pero no siempre es lo que necesitamos. En ocasiones lo que nos interesa es compartir funcionalidad entre proyectos compartiendo directamente el código fuente. A lo mejor no nos interesa distribuir otra DLL con el producto final, o tal vez queremos ir tocando al código original en función de las necesidades y que éste evoluciones por igual en todos los proyectos que lo usan. También puede ser muy útil cuando quieres usar el mismo código genérico en varios proyectos que se enfocan y compilan para plataformas diferentes. Vamos a ver cómo conseguirlo. [Más]

TRUCO: mostrar en línea la definición de un método en Visual Studio y Visual Studio Code

Hoy un truco muy rápido pero muy útil... Estoy casi seguro de que eres consciente de la existencia de un atajo para ver la definición de cualquier método de tu código que consiste simplemente en pulsar la tecla F12. Te pones encima del nombre del método, variable, propiedad, etc, pulsas F12 y ¡Voilà!: el editor salta a la línea de código donde está definido el miembro que nos interesa. Esto es estupendo y nos ayuda a ser más ágiles y productivos, pero ¿No sería mucho mejor si ni siquiera tuviésemos que desplazarnos en el código o saltar a otro archivo? ¿Y si pudiésemos obtener la definición y examinar el código en el mismo sitio, sin que cambie nada? Pues es lo que vamos a ver. [Más]

visibilityEvents.js: detectar cuándo un elemento se muestra o se oculta en una página

Una cuestión que puede resultar muy útil en una página o aplicación web es la posibilidad de detectar cuándo aparece o desaparece de la pantalla un elemento determinado debido a las acciones del usuario. Por ejemplo, si desaparece una pieza de información importante porque el usuario hace scroll moviendo los contenidos, podemos sacar una nota resumen, recordatorio o acceso directo para ir verla de nuevo, y ocultarlo de nuevo cuando vuelva a aparecer. Cosas por el estilo. Esta funcionalidad no se incluye nativamente en HTML/JavaScript. He desarrollado una biblitoeca JavaScript que añade eventos a la página para detectar los cambios de visibilidad de cualquier elemento. [Más]

Logpoints en Chrome: una excelente utilidad para depurar y no ensuciar el código

Una de las novedades que trae Chrome 73 es pequeña pero súper-interesante. Se trata de los Logpoints. Un logpoint es un tipo especial de punto de interrupción que podemos añadir a nuestro código JavaScript y que, en lugar de detener la ejecución del código, se limita a "loguear" a la consola lo que le digamos. Esto nos evita tener que andar metiendo console.log constantemente en el código tan solo para ver algunos valores. Te lo cuento... [Más]

¿Cómo utilizar las fuentes de Google desde tu propio servidor en vez de desde Google?

Google Fonts es un recurso maravilloso y gratuito para acceder a decenas o centenares de fuentes tipográficas de manera rápida y con rendimiento, ya que además se sirven desde la CDN de Google. Sin embargo algunas personas prefieren servir las fuentes desde su propio servidor, sin depender de los servidores de Google. Aunque yo te recomiendo encarecidamente que uses las fuentes desde los servidores de Google y no desde el tuyo propio, dado que me lo han preguntado, voy a explicar cómo conseguir "gorronear" esas fuentes y utilizarlas desde tu propio servidor o en local. [Más]

Activa el historial del portapapeles en Windows 10 (y de paso en Office aunque no tengas Windows 10)

Una de las cosas que más utilizo en el sistema operativo es el portapapeles. Para mi es básico, y supongo que para la mayoría de los usuarios también. Poder copiar/cortar algo y duplicarlo en cualquier otro lado es uno de los inventos más útiles que se han dado en la informática moderna, pero como lo tenemos tan interiorizado ni siquiera le prestamos atención. Aprovecho para reivindicarlo.
El caso es que, para mi, una de las mayores limitaciones que ha tenido el portapapeles de Windows es que solo recuerda lo último que has copiado, pero nada de lo anterior. Y lleva siendo así desde Windows 1.0. No me explico cómo no han solucionado el tema antes. Aunque ha habido intentos (Office tiene algo así), no es hasta ahora cuando por fin lo han hecho. Te cuento cómo activarlo y cómo sacarle partido. [Más]

Diferencias entre RGB y HSL: ¿cuál es mejor para manejar colores CSS para la Web?

En CSS se expresan los colores de diversas maneras, pero las más comunes son dos: RGB y HSL. Tradicionalmente todos hemos aprendido a manejar colores basándonos en un principio muy simple sacado de la naturaleza: la combinación de colores. En el colegio aprendimos que todo color se puede expresar como la combinación de otros tres colores básicos: el rojo, el verde y el azul. En esto es en lo que se basa la notación RGB. Sin embargo esta notación presenta varios problemas, entre ellos que no es nada intuitiva. La notación HSL, por el contrario, es mucho más fácil de visualizar y utilizar en el día a día. En este post te explico en qué consiste cada una de ellas y cómo sacarles partido. [Más]