Ver por etiquetas

Todas las etiquetas » .net (RSS)

Concurrent programming and Managed Extensibilty Framework por Luis Guerrero

Este últimos mes he estado dando un par de charlas sobre programación concurrente en .NET Framework con Task Parallel Library y MEF (Managed Extensibility Framework) Framework de extensibilidad administrada, así que aquí tenéis todos los recursos, la presentación y las demos. Task Parallel Lirarty demos in Visual Studio 2010 RC format No hay demos de MEF pero te puedes bajar algunas de aquí http://www.codeplex.com/mef/
Archivado en: ,,

Escribiendo código concurrente de alto rendimiento con monitores por Luis Guerrero

Las aplicaciones multi hilo o concurrentes van a ser el siguiente gran problema para los desarrolladores, y tenemos que estar listos para este cambio tan grade. En el .NET Framework 4, Microsoft incluye una serie de nuevas APIs que ayudan al desarrollador en la creación de aplicaciones concurrentes. Eso no significa que tengamos que despreocuparnos del código concurrente sino que a partir de ahora va a ser más fácil hacerlo. Actualmente estoy trabajando en una aplicación que hace un uso intensivo...
Archivado en: ,

Silverlight, un mejor manejo de los servicios por Luis Guerrero

Como todos es sabido Silverlight trae soporte para invocar servicios web, tanto servicios web tradicionales de .net como servicios de WCF. En esto últimos solo con soporte para httpBasicBinding. Cada vez que generamos un proxy en Visual Studio para un proyecto de Silverlight, el proxy generado solo soporta invocaciones asíncronas. No podemos de ninguna manera hacer una invocación síncrona a un servicio web y esperar a la respuesta. Puede haber muchas maneras por las cuales Microsoft implemento este...
Archivado en: ,

TPL – Cancelación de Task por Luis Guerrero

¡Hola a todos! Seguimos con los post sobre Task Parallel Library de .NET Framework 4, en este artículo vamos a ver cuál es el soporte de cancelación de Task que tenemos en TPL. Como hemos comentado en el artículo anterior las Task son la unidad mínima de ejecución de TPL, incluso PLINQ (Parallel LINQ) utiliza Task internamente para sus operaciones. También hemos visto como las Task tienen alguna similitud con los Worker Threads del ThreadPool de .NET. Cuando nosotros en código lanzamos un Worker...
Archivado en: ,

Tool: Memory Pressure por Luis Guerrero

Esta sencilla herramienta permite generar presión en la memoria del sistema a nuestro gusto. La interfaz de usuario es muy sencilla, podemos seleccionar la cantidad de Megabytes que queremos reservar y cuál es el tamaño de los bloques que queremos usar. Hay que tener en cuenta que esta aplicación utiliza la reserva de memoria del heap de Windows, es decir llama a Marshal.AllocHGlobal que a su vez llama a LocalAlloc . Una vez que tenemos la memoria reservada podemos liberarla...
Archivado en: ,

Constructores y Finalizadores por Luis Guerrero

Dentro de la orientación a objetos nos encontramos dos tipos de métodos especiales, el constructor y el destructor. En .NET hay dos tipos de constructores de instancia ( ctor ) y de tipo ( cctor ) también llamado constructor estático. Constructores Cuando un tipo es accedido por primera vez, se ejecuta el constructor estático bajo un doble lock ( Como implementar un Singleton concurrente ) para asegurar que solamente se llama una vez, si además se está creando una instancia del objeto se llamará...
Archivado en:

Rendimiento para el modelado de clases por Luis Guerrero

Rendimiento. En muchos proyectos en los que trabajo una de las preocupaciones a la hora de hacer el proyecto es el rendimiento de la aplicación Una de las tareas, por no decir la única, es trabajar con datos en una aplicación, modelamos constantemente clases que tiene estado y a su vez exponen una serie de métodos para que los podamos invocar. Hoy a lo que me voy a dedicar a explicar es justamente a ese modelado de datos, al estado de nuestras clases. Dentro de .NET Framework tenemos varias maneras...
Archivado en:

Como implementar un Singleton concurrente por Luis Guerrero

Bajo este título se encuentra una de los clásicos problemas de concurrencia que seguramente más de uno se haya enfrentado en su vida de programador. En este artículo repasaremos las posibles implementaciones correctas e incorrectas de este patrón de manera concurrente. Implementación sin concurrencia. 1: public class Singleton<T> where T : new () 2: { 3: private static T instance = new T(); 4: public static T Instance 5: { 6: get 7: { 8: return instance; 9: } 10: } 11: } 12: public class SingletonV2<T>...
Archivado en: ,

Silverlight 3 Beta 1 !! por Luis Guerrero

Hoy gracias al Mix09 ha salido la primera beta de Silverlight 3.0, en los proximos días escribiré algún post sobre las caracteristicas concretas, ahora os dejo enlaces y caracteristicas. Enlaces: Silverlight 3 Beta Tools for Visual Studio – this will install the developer runtime of Silverlight 3 Beta, the Visual Studio project templates and the Silverlight 3 Beta SDK . Silverlight 3 Beta developer runtimes : Windows or Mac . If you installed the tools above, you will get...
Archivado en: ,

Microsoft Surface, SDK y WPF por Luis Guerrero

Como todos sabréis esta semana se ha presentado el Microsoft Surface en Microsoft España. No se pueden decir más cosas sobre el proy ecto que vosotros sepáis, pero de lo que podemos hablar es del desarrollo de aplicaciones para Surface. El Surface como cualquier otro gadget, el desarrollo de aplicaciones es una de las partes más importantes del dispositivo, pues las aplicaciones hacen que el Surface brille. Pues bien esta semana el día 2 de Marzo hice una presentación en Microsoft España sobre el...
Archivado en: ,,

¿De donde sale este DataRow? por Luis Guerrero

Hace poco gracias al equipo DOT de PlainConcepts, tuve oportunidad de participara en un caso muy interesante, el software de la empresa en cuestión tenía un problema de fuga de memoria porque las referencias de los objetos no eran recolectadas por el GC, así que WinDGB en mano me puse a averiguar porque era. Una de las primeras cosas que se hace cuando te encuentras un caso como este es intentar que la aplicación que vas a depurar se encuentre en ese caso, ósea...
Archivado en: ,,

Forzar un BSOD en Windows por Luis Guerrero

Hola a todos de nuevo !! Cualquiera me puede decir que el título del post es un poco raro, y lo es !! :), resulta que quiero forzar un pantallazo azul, pero, ¿porqué?. Como bien sabéis Windows es perfecto (cási perfecto) y solamente se puede desencadenar un BSOD cuando se produce una operación no valida dentro de la memoria del Kernel. Esto no ocurre todas las veces que uno quisiera. Y claro imaginad por un momento que queréis hacer un dump completo porque tenéis un memory leak en una aplicación...
Archivado en: ,,,

Primera aplicación de Microsoft Surface por Luis Guerrero

Este fin de semana, y gracias a un proyecto que tenemos ente unos amigos, hemos hecho la primera aplicación de Microsoft Surface de PlainConcepts.com Es un videojuego, porque claro no vamos a hacer una aplicación comercial, (de esas hacemos muchas en el día a día), y el videojuego es para jugar al hockey sobre hielo, os dejo unas capturas de pantalla y un vídeo en mp4. El videojuego está hecho en WPF (Windows Presentation Foundation) + API de Surface + Pixel...
Archivado en: ,

[Evento] Windows Presentation Foundation y Silverlight para programadores (Recursos) por Luis Guerrero

Del 1 al 5 de Diciembre en Vic (Barcelona), se celebró un curso sobre Windows Presentation Foundation y Silverlight, en este post pondré los ejemplos de codigo que se generarón en el curso, además enlaces de intenrés y libros recomendados. En el Zip que os poideis descargar desde aquí , encontrareis ejemplos sobre: UnhandledException, evento que se lanza en el dominio de aplicación cuando una excepción no es filtrada y se propaga hacia abajo en la pila de llamadas. Un ejemplo de EntityFramework El...
Archivado en: ,,,

[Curso] WPF para programadores de Windows Forms 7 por Luis Guerrero

Hola a todos de nuevo, volvemos a la carga con otro artículo sobre WFP para programadores de Windows Forms. En este articulo voy a hablar sobre los diferentes tipos de controles que hay en WPF y como encontramos similitud con los controles de WF. En artículos anteriores estuvimos hablando sobre el árbol de herencia de WPF y sobre las diferentes clases de las que heredaba un control normal de WPF, pusimos como ejemplo Label , al ser un control que vamos a usar mucho en nuestras aplicaciones. System...

[Evento] Taller de Nuevos interfaces para aplicaciones ( WPF/SILVERLIGHT) por Luis Guerrero

El lunes de la semana que viene en Pamplona, se va a celebrar un evento para programadores sobre WPF / Silverlight. Introducción al WPF / Silverlight La mayoría de desarrollos actuales son como los de hace 15 o 20 años: La información se presenta de la misma manera, no se tiene en cuenta para nada la usabilidad de la UI y la experiencia de usuario (UX). Con Windows Presentation Foundation se pueden crear aplicaciones para Windows y la Web de una manera mucho más flexible, los controles son mucho...

WPF Advanced - ISealable por Luis Guerrero

Recientemente en un cliente me ha ocurrido un caso muy extraño con las Dependecy Property de WPF y quiero escribir sobre el tema. Es un poco enrevesado pero creo que puede ser útil. Veamos. WPF tiene un sistema de Binding muy potente que hace que se puedan hacer enlaces a datos a entidades de negocio. Pues bien el caso es que para que una clase pueda tener Dependency Property (DP a partir de ahora), es necesario que heredemos como mínimo de la clase DependencyObject que permite que una clase almacene...
Archivado en: ,,,,

CCR and DSS Toolkit 2008 por Luis Guerrero

Microsoft ha anunciado a través del blog de Robotics Studio la disponibilidad de CCR and DSS Toolkit 2008. ¿Qué es CCR and DSS Toolkit 2008?, como he hablado anteriormente Robotics Studio tiene dos componentes principales CCR (Concurrency and coordinator runtime) y DSS (Descentralizated Software Services), que hacen posible que todo el procesamiento de los mensajes que los Robots y el software procesan sean concurrentes, seguros frente a subprocesos y además los servicios que se diseñen sean bajamente...

Descentralized Software Services (DSS) por Luis Guerrero

En esta tercera entrega sobre Robotics Studio (MSRS) vamos a hablar sobre DSS, o los servicios descentralizados de software. En los dos artículos previos sobre CCR estuvimos hablando sobre la base sobre la que se construirían los servicios de Robotics a través de esas colas asíncronas y concurrentes representadas por la clase Port<T>. Ahora lo que queremos construir son servicios autónomos que representan una funcionalidad concreta dentro de Robotics Studio. Los servicios son los bloques básico...

Robotics 2 por Luis Guerrero

Continuamos con Robotics, como habíamos comentado en el post anterior, con CCR podemos ejecutar tareas de manera concurrente, esta tareas normalmente van a ser el procesamiento de los valores que el robot nos devuelve a través de la clase Port<T>. Vimos unos ejemplos de cómo trabajar con CCR, ahora continuamos con algún ejemplo más complejo. void RunFromIterator() { Dispatcher d = new Dispatcher(0, "Test Pool" ); DispatcherQueue taskQ = new DispatcherQueue( "Test Queue"...
Más artículos Página siguiente >