JASoft.org

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

MENÚ - JASoft: JM Alarcón

Cómo usar expresiones regulares en las búsquedas de Visual Studio

Aparte de para las labores habituales de todo desarrollador (o sea, escribir código, jeje), Visual Studio es también una estupenda herramienta para procesar archivos, sobre todo cuando necesitas hacer cambios masivos en contenidos mediante buscar y reemplazar. Como te permite abrir muchos archivos y luego buscar cadenas sobre ellos usando expresiones regulares, puedes hacer cambios más o menos complejos con relativa facilidad. Sin embargo la sintaxis de expresiones regulares que admite difiere en bastantes cosas de la sintaxis habitual en la mayoría de los lenguajes de programación, como C#/.NET o JavaScript, por ejemplo. Para expresiones regulares básicas es igual y no tendrás problemas, pero hay otras cuestiones que, de entrada, resultarán más complejas porque cambia la sintaxis. Por ejemplo, imagina que tienes que cambiar todas las etiquetas <ul>  dentro de varios archivos HTML por etiquetas <ol>, para convertir todas las listas en listas ordenadas. Abrirías el ... [Más]

Internet Information Server (IIS) Express y Visual Studio 2010 SP1

Desde hoy por la mañana está disponible para descarga el Service Pack 1 de Visual Studio 2010. Trae algunas novedades (nada que ver con el SP1 de VS2008 que fue realmente un cambio gigantesco) y corrige decenas de bugs. Una de las novedades que trae respecto a desarrollo Web es la posibilidad de utilizar el recientemente aparecido IIS 7.5 Express para probar los desarrollos. IIS Express es una versión reducida del servidor de aplicaciones Web de Microsoft y nos proporciona una experiencia mucho más real a la hora de probar las aplicaciones, frente al habitual "Cassini" (o Web Development Server, como se le llama oficialmente). IIS Express contiene el motor de IIS y funciona exactamente igual que éste, por lo que te resultará muy fácil probar las configuraciones reales en él o, incluso, distribuirlo con tus propias aplicaciones en un momento dado. Lo puedes descargar desde aquí o instalarlo desde el Web Platform Installer. ... [Más]

Resolver el error “No se puede encontrar el tipo” al cargar un formulario con un control propio

Yo no programo demasiado para Windows Forms, ya sabéis que lo mío es más la Web. Pero últimamente estoy trabajando a los ratos en un proyecto que tienen una parte de visualización para escritorio hecha con esta tecnología. Como soy partidario de reutilizar al máximo, siempre encapsulo la funcionalidad todo lo que puedo, incluyendo funcionalidad de la interfaz de usuario. Por eso en este trabajo, tengo varios controles de usuario listos para arrastrar y soltar en cualquier formulario que los requiera. El caso es que tras haber trasteado bastante con la interfaz, de repente algunos formularios me empezaron a fallar, mostrándome un error como el de la figura (yo trabajo con todo en inglés, incluidos los nombres de clases  y variables):  (la parte difusa lleva el nombre del control que no se carga y su espacio de nombres) A pesar de que en el código del diseñador del formulario todo parecía estar bien y se reconoce el tipo del control y a pesar de que si ejecutas la aplicación... [Más]

Uso de la caché de ASP.NET 4.0 fuera de aplicaciones Web - Perfiles de .NET

La caché de ASP.NET es una maravilla. Permite almacenar en memoria (o en otra ubicación, ya que es extensible) datos costosos de obtener y que no caduquen de inmediato. De esta forma las siguientes veces que debamos utilizarlos en la misma aplicación podremos obtenerlos desde la caché sin necesidad de volver a calcularlos o generarlos. Además la caché de ASP.NET ofrece un montón de características avanzadas que van más allá del simple almacenamiento. Por ejemplo podemos establecer caducidades de la información tanto en un determinado momento en el futuro, si no se utiliza tras un periodo, haciendo que unas informaciones dependan del valor de otras o creando dependencias de ciertos elementos externos (como un archivo, una consulta en la base de datos o una clave del registro). Esto último es de especial interés, pues nos brinda la posibilidad de hacer cosas bastante complicadas sin apenas código. Por ejemplo, si nuestra aplicación depende de la información almacenada en un archivo en e... [Más]

Por qué debería importarte la programación paralela

De este tema ya había hablado en una ocasión en este blog (o más bien en su blog gemelo), y lo cierto es que levantó bastante polémica. Cuando hablo con alguna gente acerca de las novedades de Visual Studio 2010 y sale lo de las mejoras para la programación en paralelo, mucha gente lo ve como una mera anécdota, algo que no va con ellos en absoluto. Si bien es cierto que muchas aplicaciones que se hacen, como las de gestión por ejemplo, no suelen tener que sacarle partido, no es menos cierto que en muchas circunstancias nuestras aplicaciones deben poder sacarle el máximo rendimiento al hardware del que disponemos. Desde hace unos años lo más habitual en cualquier ordenador corriente es que disponga de un procesador con al menos dos núcleos. En servidores o máquinas destinadas a tareas más demandantes es muy frecuente que haya varios procesadores con al menos cuatro núcleos. La tendencia es que cada vez haya más núcleos en los procesadores, ya no sólo por rendimiento sino por las venta... [Más]

Objetos dinámicos en .NET 4.0: ExpandoObject

.NET 4.0 dispone de soporte para tiempo de ejecución de lenguajes dinámicos, el DLR (Dynamic Language Runtime). El propósito del DLR es permitir que los lenguajes de tipo dinámico -como PHP, JavaScript, Ruby, Python, Lisp o Groovy, por citar unos cuantos- puedan ejecutarse en la plataforma y además interactuar con código escrito en un lenguaje .NET -como C# o VB. El DLR introduce en el framework una serie de clases dinámicas de comportamiento dinámico que ayudan mucho a la hora de interactuar con estos lenguajes o acceder a COM, pero que abren la puerta a crear monstruos de código si son mal utilizados. De hecho gurús de la plataforma como mi buen amigo Octavio Hernández, reniegan de esta característica ;-) Lo cierto es que en general yo no recomendaría el uso de las clases dinámicas, pero sí que pueden llegar a ser útiles en algunas ocasiones. Por ello en este artículo voy a presentar la más útil y fácil de usar de todas, la clase ExpandoObject. Añadiendo miembros dinámicament... [Más]

Cambios importantes en movilidad para ASP.NET 4.0

Hoy he sabido, directamente a través de la gente de producto de Microsoft, que han realizado unos cuantos cambios de cierto calado a la parte de soporte para dispositivos móviles en ASP.NET 4.0. Estos cambios se verán cuando salga la versión definitiva pero ahora no están disponibles en la Beta de Visual Studio 2010. 1.- Han convertido en obsoletas todas las clases de System.Web.Mobile, es decir, todo el soporte de controles móviles para WAP que existían en versiones anteriores de ASP.NET. Con obsoletas no quiero decir que dejen de funcionar o de soportarse, simplemente que han sido marcadas con el atributo Obsolete y que generarán una advertencia cuando compiles apliaciones que las usen. Así que ojo si usas el compilador con la opción de que las advertencias se traten como errores, porque no te compilarán. Simplemente ahora no se recomienda su uso. 2.- Han modificado sustancialmente los archivos de definición de navegadores (archivos .browser) tanto para HttpBrowserCapabilities... [Más]

SOLUCIÓN: Visual Studio 2008 rompe tras haber desacoplado barras de herramientas

Hoy me he estado volviendo loco con Visual Studio 2008 SP1. Resulta que necesitaba hacer capturas de pantalla de la barra de propiedades, para lo cual la desacoplaba dellateral, donde la suelo tener, y hacía la captura. Luego la volvía a poner la barra en su sitio. Bien, nada más hacer eso, si se me ocurría ejecutar la aplicación con F5: ¡crassss! cuelgue miserable de Visual Studio y el ordenador medio colgado (casi no me dejaba sacar ni el administrador de tareas para matarlo) :-(( Al principio no lo asocié a lo de desacoplar la ventana pero luego me di cuenta de que era claramente por eso. Así qeu buscando, buscando llegué a este artículo de la Knowledge Base de Microsoft. Resulta que hay un bug en el Service Pack 1 de Visual Studio que puede hacer que cuando desacoplas ventanas y las vuelves a coplar algo vaya mal y se te cuelgue el entorno (y de paso casi el sistema). Desde el enlace anterior te puedes bajar el parche que te proporcionan "por el buen rollito" pero del cual no s... [Más]

TRUCO: Inspecciones flotantes en Visual Studio 2010

Soy fan de esos pequeños detalles de calidad que muchas veces pasan inadvertidos pero que, una vez descubiertos, no puedes vivir sin ellos. En este caso me gustaría hablar de una nueva característica del depurador de Visual Studio 2010 que me resulta muy útil y que echo de menos cuando tengo que volver a versiones anteriores: las inspecciones/watches flotantes. Quizá no lo hayas notado, pero cuando te colocas encima de una variable o de una expresión cualquiera en el código mientras estás depurando, en la habitual ventanita flotante que te permite inspeccionar las variables y los objetos verás una especie de cuadrito amarillo a la derecha,como en la figura siguiente (por cierto, depurando JavaScript, o sea que funciona con todos los lenguajes): Si lo pulsas verás que la ventana flotante se convierte en el típico Post-it que se queda visible de forma permanente, y puedes arrastrar a donde queiras. De este modo puedes tener tus objetos de interés siempre visibles, de manera muc... [Más]

ADO.NET Entity Framework: first book on the subject worldwide

Last week, we at Krasis Press launched what we believe is the first book fully dedicated to ADO.NET Entity Framework published worldwide, in any language: "ADO.NET Entity Framework: Data centric applications and services" (in Spanish). And what a book! Honestly, I firmly believe we have produced an excellent resource, created by three experts that have been working with this technology since the very first betas, and using it in real life projects for many months: Unai Zorrilla, Octavio Hernandez and Eduardo Quintas. Unai and Octavio (Microsoft MVPs) are already well known to audiences for their frequent articles in publications, and for being the authors of the books "Modeling business processes with Workflow Foundation" and "C# 3.0 and LINQ", both published by Krasis in October, 2007 (in Spanish). The book consists of six chapters plus five appendixes, which cover in depth most of the features of the Entity Framework: The book begins with a chapter introducing the technol... [Más]