0
Comments

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: ,,
3
Comments

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: ,
0
Comments

Writing high performance parallel code with monitors [EN] por Luis Guerrero

Multithread application is going to be next issue for developer, and we need to be ready for this big change. In .NET Framework 4, Microsoft introduced Task Parallel Library, a set of API that helps developer creating concurrent applications. That’s means that you don’t have to take care about all those concurrent issues anymore, its mean now is easier to create concurrent code. Currently I’m working in an application that makes a hard use of all TLP code. What I do is creating...
0
Comments

Trabajando con Heap Corruptions in .NET por Luis Guerrero

Una de las mejores características de .NET Framework es la administración automática de la memoria, eso significa que no tenemos que estar pendientes de memory leaks, corrupciones y demás problemas. Pero en este artículo encontraremos que esto no es así todas las veces. Os quiero mostrar un bug que he encontrado en una aplicación .NET 4. Como ya sabreis el clr tiene una heap administrado que contiene todos los objetos que se han ido creando en todo...
Archivado en:
2
Comments

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: ,
3
Comments

UX Showcase at PlainConcepts por Luis Guerrero

Dentro de Plain Concepts tenemos un departamento de UX (Experiencia de Usuario) en la que trabajamos con prototipos de aplicaciones y diseños. Ahora hemos decidido hacer una Web para mostrarlos todos en un mismo lugar. http://ux.plainconcepts.com/ La web está desarrollada en Silverlight 3 y utiliza todo el potencial de Silverlight para mostrar de una manera diferente el contenido. No os digo más, disfrutarla. Saludos. Luis.
Archivado en:
0
Comments

CodeCamp 2009 por Luis Guerrero

Este año participo como ponente en la CodeCamp 2009 que se celebra en Tarragona del 17 al 18 de Octubre. Como no podía ser de otra manera mi charla será sobre WPF + Surface + Silverlight, y hablaremos sobre lo nuevo que viene en WPF4, como hacer cosas en Surface y que hace de nuevo en Siverlight 3. Así que os invito a que os registréis en la web http://www.codecamp.es/ La lista de speakers que vamos a tener este año. http://www.codecamp.es/Speakers.aspx Yo por lo menos no me pierdo ninguna! Nos vemos...
0
Comments

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: ,
3
Comments

TPL – Task por Luis Guerrero

Como comentamos en el anterior artículo las Task son las unidades básicas de ejecución dentro de TPL (Task Parallel Library) y en este doble artículo vamos a ver cuáles son las posibilidades que tenemos para trabajar con las Task dentro de nuestro código. Una de las misiones de la TPL es ofrece una API consistente para el trabajo concurrente de software, es decir para tareas que se van a ejecutar de manera concurrente en un sistema con más de un procesador. Como bien es sabido la unidad mínima que...
Archivado en: ,
8
Comments

Task Parallel Library - Introducción por Luis Guerrero

Una de las nuevas novedades que .NET Framework 4.0 incluye es el la Task Parallel Library una serie de APIS nuevas para la programación multihilo. La idea principal de esta librería, que viene incluida en el propio framework, es que cuando tengamos que añadir paralelismo y concurrencia a nuestras aplicaciones sea de lo más sencillo. Actualmente los procesadores ya no incrementan la velocidad en Gigahercios sino que lo que hacen es replicar el hardware haciendo que nos encontremos dentro del mismo...
Archivado en: ,
5
Comments

Firefox 3.5 : Multithreading javascript code por Luis Guerrero

Ya ha salido Firefox 3.5… pero yo solamente voy a hablar de una característica que han introducido la gente de Mozilla que es realmente interesante: Web Workers Threads La utilización de java script en los navegadores se ha disparado, todo se hace hoy en día con javascript y eso ha tenido como consecuencia que la gente que se dedica a hacer los navegadores mejore cada día la velocidad con la que se ejecute el código. Pero aunque tenemos muchos tipos de runtimes para ejecutar javascript V8, TraceMonkey...
Archivado en:
0
Comments

[Curso] WPF para programadores de Windows Forms 9 : Templates por Luis Guerrero

[Curso] WPF para programadores de Windows Forms 9 : Templates En el post anterior comentábamos como en WPF existen el árbol visual y el árbol lógico que nos permite definir como un control se comporta y como se dibuja en la pantalla, pues bien lo que vamos a ver ahora es como se pueden modificar el árbol visual y cómo podemos crear un árbol visual para una clase que no tiene árbol visual. Todas los tipos de plantillas heredan de la misma clase...
0
Comments

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

Ha pasado mucho tiempo desde mi último post de esta serie, el trabajo y haberme mudado de casa no me han permitido escribir este tipo de posts. Ahora un poco más relajado podemos continuar con esta serie de post sobre como programar WPF para los programadores de Windows Forms. En este post vamos a hablar sobre los dos tipos de arboles de controles que hay que WPF: el árbol visual (Visual Tree) y el árbol lógico (Logical Tree). Estos dos conceptos son muy importantes...
Archivado en:
1
Comments

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: ,
1
Comments

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:
1
Comments

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:
0
Comments

Remote Desktop Services en Windows Server 2008 R2 por Luis Guerrero

Durante la semana pasada estuve liado montando un servidor en mi casa, como podréis imaginaros le instale la última versión de Windows Server, Windows Server 2008 R2 que solamente está en 64bits. Quería hacer dos cosas con el servidor, montar un Media Center Extender para mi Xbox360 y tener Hyper-V para mis maquinas virtuales. Al final he instado un Windows 7 32bits, virtualizado para HomeGroup, Media Center Extender y demás. La otra máquina virtual...
Archivado en:
9
Comments

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: ,
5
Comments

Taskbar de Windows 7 desde WPF por Luis Guerrero

Ahora que se acerca el lanzamiento de Windows 7 tenemos que intentar que nuestras aplicaciones se integren de la mejor manera con Windows 7, y esto pasa por hacer que nuestras aplicaciones se lleven bien con la nueva Taskbar. Como comentaba en mi artículo anterior http://geeks.ms/blogs/luisguerrero/archive/2009/04/05/windows-7-taskbar.aspx se pueden trabajar con varias características de la Taskbar, nosotros vamos a ver cómo crear una tarea personalizada y como añadir...
Archivado en: ,
0
Comments

Virtual Tech Days 09 por Luis Guerrero

El 1 de abril se celebro un evento mundial online en Microsoft llamado Virtual Tech Days 09, que duro 24 horas ininterrumpidamente desde diferentes localizaciones del planeta, una agenda cargada de contenidos para que podáis aprender sobre lo nuevo que viene en Microsoft. Yo participé en este evento como conferenciante hablando de WPF, en concreto de los problemas que se puede encontrar los programadores de Windows Forms cuando quieren migrar a WPF. Hay que recordar que yo mantengo...
Archivado en:
Más artículos Página siguiente >