JASoft.org

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

MENÚ - JASoft: JM Alarcón

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]

Utilidad de PowerShell para listar y exportar archivos de vídeo con sus tamaños

Hoy he tenido la necesidad de clasificar cientos de archivos de vídeo en función de su duración. En campusMVP manejamos literalmente miles de archivos de vídeo en formato MP4/H2.64 para nuestros cursos, y eso que también tienen en conjunto miles de páginas de teoría y otros recursos, que no solo de vídeo vive el hombre... Bien, el caso es que la tarea no se antojaba fácil, ya que tenía que sacar un listado con todos esos archivos (eso es fácil) pero obteniendo además su duración en minutos y segundos. Por suerte, Windows cuenta de serie con uno de los shells más potentes que existen: PowerShell. Así que me puse manos a la obra y en un rato de pegarme con ello y con un poco de ayuda, llegué a algo que creo que te resultará interesante. Te lo cuento. [Más]

Buscar y reemplazar en Visual Studio Code cambiando mayúsculas por minúsculas

Visual Studio Code, como casi todos los editores potentes que hay por ahí, permite hacer búsqueda y reemplazo de cadenas utilizando expresiones regulares, tanto en el archivo que estamos editando, como de manera global. Aunque la funcionalidad es muy potente, tiene algunas limitaciones. Una de estas limitaciones es que no permite sustituir por los mismos contenidos pero transformados a mayúsculas o minúsculas. Vamos a ver cómo solventar esta limitación... [Más]

¿Cómo averiguar qué versión o versiones de la plataforma .NET tengo instaladas en mi equipo?

A veces, quieres ejecutar o instalar una aplicación en una nueva máquina o en un servidor que no controlas, y tu aplicación escrita en .NET necesita una versión determinada. Lo normal que cualquiera se preguntarías ¿dónde se ven las versiones instaladas? Seguro que hay un sitio en el que se muestra esta información o, en el peor de los casos, se puede lanzar algún comando desde la terminal del sistema que nos lo diga ¿verdad? Pues en .NET 4.x o anterior, o sea, .NET "tradicional" no hay nada similar. En este post te hablo de una utilidad muy sencilla que he creado para facilitar averiguar esta información. [Más]

Git: establecer WinMerge como herramienta de diferenciación de archivos

En este post te hablo de algunas herramientas muy interesantes para trabajar con control de código fuente (con Git en concreto), y para comparar archivos y carpetas, y te comento cómo puedes hacer para utilizar una de ellas, WinMerge, para ser utilizada por Git como herramienta de diferenciación externa. Aunque en el 95% de los casos me arreglo con lo que trae de serie VSCode + GitLense, a veces tener a mano esta otra opción es muy interesante también. Veamos cómo hacerlo... [Más]

Cómo arreglar definitivamente la búsqueda de Windows

Seamos sinceros: la búsqueda que trae Windows integrada siempre ha sido tremendamente mala. Aunque ahora tenemos a Cortana y además nos da resultados de búsqueda de aplicaciones, ajustes... y hasta de Internet, al final lo que casi todos queremos es encontrar el maldito archivo que nos hace falta. Y en eso siempre se ha quedado corta por desgracia. Yo hace años que he resuelto el problema. ¿Cómo? Muy sencillo: pasando totalmente de la búsqueda de Windows y utilizando herramientas alternativas. En concreto utilizo dos, con propósitos totalmente diferentes y que cubren todas mis necesidades de búsqueda. Te las cuento a continuación. [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]

Tutorial: ngrok - cómo publicar en Internet cualquier página o aplicación web que tengas en tu equipo local

Está claro que si queremos publicar un sitio o aplicación web de manera permanente debemos configurar y gestionar un servidor web, o contratar algún tipo de servicio básico (hosting) o avanzado (Cloud PaaS) para hacerlo. Pero en muchas ocasiones lo único que queremos es poder exponer temporalmente hacia el exterior de manera sencilla un desarrollo que hemos hecho y que tenemos en nuestra máquina local. Existen muchos casos en los que esto es interesante. Para suplir estas necesidades, una herramienta estupenda y cada vez más utilizada es ngrok (pronunciado "en-groc"). Como me gusta mucho y le saco mucho partido, m he decidido a crear este tutorial para que tú también puedas exprimirle toda su utilidad. ¡Allá vamos! [Más]

Funcionalidad "Overrides" en Chrome 65: guardando cambios en tu CSS desde el navegador

¿Cuántas veces has estado toqueteando una página que gestionas desde las herramientas del desarrollador? Seguro que muchas. Lo típico es que un elemento rebelde no acaba de quedar en donde a ti te gustaría o quieres afinar mucho más un margen, un tamaño o un color. Así que abres las herramientas del desarrollador y te pones a seleccionar elementos, ver sus reglas resultantes, cuáles influyen sobre el resultado final, y retocas directamente los estilos en el editor del lateral. Si tus cambios se reducen a un par de propiedades CSS es muy fácil llevarlos a producción, pero si son muchos hacerles el seguimiento puede ser una locura. A partir de ahora la cosa cambia mucho gracias a Crrome 65... [Más]

TRUCO: Hacer "bundling" de archivos JavaScript o CSS sin necesidad de herramientas externas

Este es un truco rápido pero muy útil para programadores Front-End que trabajan con HTML, CSS y JavaScript.Como todo el mundo sabe (o debería saber), con HTTP 1.1 cada petición que se envía al servidor añade "peso" a la carga total de la página porque se debe abrir una nueva conexión, se deben enviar las cabeceras y recibirlas, hay un máximo de conexiones abiertas a la vez, etc... Por ello, si la página incluye por ejemplo 10 archivos .css que en conjunto pesan 250KB, su descarga va a tardar más que si descargásemos ese mismo contenido exactamente, con el mismo peso, pero en un solo archivo .css.Esto no ocurre con la nueva versión HTTP 2, pero no siempre está disponible todavía.Como en una aplicación o en una página web cada milisegundo cuenta, se suelen utilizar dos técnicas habitualmente para disminuir el efecto de tener varios archivos y disminuir su peso:"Bundling" o empaquetamiento: consiste en combinar varios archivos dentro de uno solo para que, aunque ocupen lo mismo, puedan de... [Más]