Ver por etiquetas

Todas las etiquetas » C# » 4.0 (RSS)

[TPL] Problemas de concurrencia por Lluis Franco

Hola a todos, He publicado otro post de las Parallel Series en mi otro blog , de modo que publico aquí el enlace del mismo: Problemas de concurrencia: http://lluisfranco.com/2013/03/01/problemas-de-concurrencia/ Resumen En un mundo en el que los procesos ya no son secuenciales sino paralelos, es cada vez más posible encontrarnos con problemas de concurrencia al acceder a recursos compartidos. Conceptualmente hablando, esto es algo a los que los desarrolladores ya estamos acostumbrados cuando trabajamos...

Parallel Series: Tasks, la 8ª maravilla por Lluis Franco

Ayer publiqué en mi otro blog otro artículo de las ‘Parallel Series’, dedicado a la clase Task. Para no duplicar todo el post, aquí os dejo un enlace al mismo: http://lluisfranco.com/2012/09/24/parallel-series-tasks-la-8-maravilla/ Y un enlace al índice de la serie: http://lluisfranco.com/2011/01/25/parallel-series-indice-de-contenidos/ Saludos,
Archivado en: ,,,

Parallel Series: La clase estática Parallel por Lluis Franco

Acabo de publicar otro post relacionado con las ‘Parallel Series’:   3 métodos para los reyes elfos bajo el cielo Hoy quiero hablaros de la clase estática Parallel . Esta clase provee soporte para paralelizar bucles y regiones, y al igual que PLINQ su uso es muy sencillo. Cabe destacar que está especialmente optimizada para iteraciones, y que en este contexto se desenvuelve un poco mejor que PLINQ. No hay una diferencia significativa en tiempos absolutos, pero puede verse perfectamente si utilizamos...

Parallel Series: Video – 02 PLINQ por Lluis Franco

Acabo de publicar otro vídeo de las las ‘Parallel Series’. Os dejo aquí también el enlace: http://lluisfranco.wordpress.com/2011/07/01/parallel-series-video-02-plinq/ En este segundo vídeo de las Parallel Series haremos un breve recorrido por las principales características de Parallel LINQ. Un saludo,

Luces, cámara… Action! por Lluis Franco

Acabo de publicar otro post relacionado con las ‘Parallel Series’. Os dejo aquí también el enlace: http://lluisfranco.com/2012/02/08/luces-camara-action/ Un saludo,

Nacen las Parallel Series por Lluis Franco

Como ya os prometí a algunos de vosotros, he empezado a publicar una nueva serie que promete ser la más larga de las que he publicado hasta ahora. El tema a tratar va a ser la programación paralela mediante la Task Parallel Library incorporada en .NET 4.0 y Visual Studio 2010. Cuento con la ventaja de haber estado creando material durante el último año y medio, en el que he publicado algunos documentos, varios vídeos y hasta un webcast con los chicos de SecondNug...

Abandona tus DataSets. Ellos no van a tener piedad de ti. por Lluis Franco

¿Todavía estás usando DataSets en tu aplicación .NET? ¿Eres consciente de que los DataSets son actualmente unas pésimas herramientas para trabajar con datos? ¿No utilizas tecnologías más modernas porque te falta capacitación para ello? Entonces estás de enhorabuena! :-D Hartos como estamos del uso de los infames DataSets, Pedro Hurtado , un servidor y otros compañeros, con la colaboración de Microsoft, hemos...

Materiales del Webcast de ayer sobre Programación Paralela por Lluis Franco

Edit (07/12/2011): Ya se ha publicado el webcast, por si algun insensato lo quiere ver. (recomiendo 'Presentación de alta fidelidad de Microsoft Office Live Meeting'): http://www.secondnug.com/EventosDesarrollo/tabid/57/Default.aspx :-) Hola de nuevo,Como ya os había anunciado anteriormente , ayer realizamos un webcast con los chicos de SecondNug sobre programación paralela. Tengo que deciros que realmente me lo pasé como un enano, tanto que de hecho ya se me han...

Webcast: Mejora el rendimiento con Programación Paralela por Lluis Franco

El próximo 29 de Noviembre montaremos un webcast con los chicos de SecondNug sobre programación paralela. La idea es empezar mostrando el porqué de la programación paralela: Que es? Cómo hemos llegado a esta singularidad? Y en que casos puede sernos útil -que son muchos más de los que os podéis imaginar-. Además, como vais a ver en el webcast esto cada vez va a ir a más. Y no sólo a largo plazo… pero no os quiero avanzar mucho más, mejor ya lo veréis :-D   A partir de las 19h30 empezaremos nuestro...

[HowTo] Modificar cadena de conexión, la eterna pregunta por Lluis Franco

Si no la he leído 200 veces en los foros MSDN no la he leído ninguna :-) vayan unos ejemplos: Es posible modificar el App.config de una aplicación C# en tiempo de ejecución? Cómo hago para cambiar los datos de conexión en tiempo de ejecución? Cadena de conexión Dinámica, ¿cómo debo hacer esta modificación desde un windows form en el mismo aplicativo? Y así unas cuantas. De hecho una búsqueda me ha arrojado más de 3.000 resultados :-S De todos modos lo que me sorprende no es tanto el alto número de...
Archivado en: ,,,,,

ParseTo: Un TryParse para unirlos a todos en las tinieblas por Lluis Franco

MUAHAHA!!! :-) ¿Quién no conoce los métodos Parse y TryParse ? Estos métodos son comúnmente usados para verificar si una cadena puede ser convertida a un número, fecha, etc. El problema con éstos métodos es que pertenecen a los tipos base de .NET (int, long, decimal, DateTime), de modo que cada vez que tenemos que parsear un valor hay que utilizar un método distinto en una clase distinta. Además, en el caso de Parse si intentamos parsear un valor incorrecto (por ejemplo “123,45” a int) se produce...
Archivado en: ,,,

[HowTo] Crear una pantalla que espere la conclusión de una tarea larga (con cancelación) por Lluis Franco

En el post anterior vimos un ejemplo de cómo crear una ventana que espere la conclusión de una tarea. Si bien este ejemplo cubría sobradamente el objetivo, dejamos abierta la puerta a la posibilidad de que dicha tarea pudiese ser cancelada por petición del usuario, pulsando el botón ‘cancel’ de la ventana. Si se hizo de este modo fue para evitar complicar en exceso el post, ya que el objetivo inicial era simplemente “mostrar una ventana mientras...

[HowTo] Crear una pantalla que espere la conclusión de una tarea larga por Lluis Franco

Nota: Otro post en respuesta a una pregunta bastante habitual en los foros MSDN: “Mi frmPrincipal ejecuta una función (no tengo el tiempo preciso) y mientras realiza esto quiero que aparezca una ventana … que impida el acceso al frmPrincipal y una vez que se termine de ejecutar la función, desaparezca frmMensaje.” La verdad es que hay un montón de posibles soluciones. Desde el uso del componente BackgroundWorker (la opción más sencilla pero la...

Usando SQL Server Table-Valued Parameters en C# (mediante un Custom Iterator) por Lluis Franco

Una de las características más esperadas de SQL Server 2008 son los parámetros de tipo tabla en procedimientos almacenados y funciones de SQL SERVER. Estos Table-Valued Parameter (TVP en adelante ) permiten definir un tipo de datos estructurado (al fin!) que puede ser pasado como parámetro a un PROCEDURE o a una FUNCTION, mejorando sustancialmente el manejo de datos de tipo tabla, ya que anteriormente dependíamos de tablas temporales o variables de tipo tabla, pero...
Archivado en: ,,,,,

Editar documentos almacenados como array de bits en SQL Server [FileStream] (3/n) por Lluis Franco

Es viernes, así que intentaré terminar la serie. Espero que no me quede un post muy ‘tocho’ :-P Después de abrir boca con los dos posts anteriores, en los que hemos mostrado cómo crear una tabla con almacenamiento FILESTREAM , y posrteriormente cómo almacenar en ella documentos en forma de información binaria , hoy vamos a terminar la serie viendo cómo poder visualizar esta información mediante su aplicación asociada (Word, Excel, Acrobar Reader, etc.) y cómo no, editarla para guardar los cambios...
Archivado en: ,,,,,

Editar documentos almacenados como array de bits en SQL Server [FileStream] (2/n) por Lluis Franco

En el anterior post de la serie os comentaba: “En los próximos posts veremos dónde se almacenan REALMENTE estos ficheros, cómo visualizarlos, y lo más importante de todo, cómo editarlos y guardarlos otra vez en la base de datos de forma transparente para el usuario.” Dicho y hecho. Vamos a dar una ojeada al servidor SQL para ver dónde se almacenan estos ficheros. Recordar que al crear la base de datos debemos especificar un FILEGROUP explícitamente...
Archivado en: ,,,,,

Editar documentos almacenados como array de bits en SQL Server [FileStream] (1/n) por Lluis Franco

Bajo este título -a priori tan chorra-, voy a empezar una serie de posts que muestren cómo almacenar documentos (ficheros NTFS) en una base de datos SQL Server 2008 mediante el uso de FILESTREAM storage, y cómo visualizarlos y editarlos con su aplicación asociada. En realidad, ésta última parte –la edición- es la única compleja, pero me ha parecido un buen tema para empezar una serie, y así de paso retomar las viejas costumbres...
Archivado en: ,,,,,,

[HowTo] - LINQ to SQL: Mostrando el progreso de Context.SumbitChanges() por Lluis Franco

Hola de nuevo, En el proyecto que me ocupa actualmente he tenido que pelearme con algo curioso: Resulta que hay que realizar un proceso que lea una serie de ficheros de texto (si, si, de texto) que contienen una serie de información que debo analizar y posteriormente volcar a la base de datos. Hasta aquí ningún problema, salvo el de tener que lidiar con unos ficheros de texto cuyos formatos parecen haber sido diseñados por un loco (parece mentira que hoy en día...
Archivado en: ,,,,,,,

Sharpwhere over the rainbow… por Lluis Franco

…skies are blue :-) Si, se que el título del post está ‘pillado’ con pinzas, pero de lo que trata este post es de “cómo utilizar una brocha para pintar el interior de un control con varios niveles de degradado“, o sea “pintar un control Label con los colores del arco iris” :-D Que? Ya habéis terminado de reíros? Pues ahora os cuento el porqué se me ha ocurrido todo esto: Resulta que un proyecto en el que estoy trabajando, se muestran unas barras de progreso de color azul que indican el % de realización...

[HowTo] Obtener el valor de una propiedad de usuario en LDAP por Lluis Franco

El motivo A raíz de una pregunta que me lanzó ayer mi colega Ricardo, hoy vamos a ver cómo obtener el valor de una propiedad de un usuario del directorio activo de la organización. Esto de por si, no tiene ningún secreto, basta con utilizar las clases contenidas en el namespace System.DirectoryServices . Lo que sí tenemos que tener muy claro, es el nombre de esa propiedad dentro del esquema del LDAP de nuestra organización. Por ejemplo, para obtener el mail, la propiedad a utilizar es mail , obvio...
Más artículos Página siguiente >