JASoft.org

ARTÍCULO: Búsqueda de ensamblados en tiempo de ejecución en .NET

ARTÍCULO: Búsqueda de ensamblados en tiempo de ejecución en .NET
Hoy he escrito un pequeño artículo sobre la carga de ensamblados por parte del motor de tiempo de ejecución de .NET. Se trata de algo que no muchos programadores de .NET tienen totalmente claro y que creo que puede resultar de interés general. En este documento explico los tipos de ensamblados que tenemos en .NET, cómo el motor de tiempo de ejecución de la plataforma busca los diferentes ensamblados que usan nuestras aplicaciones, y cómo podemos incluir referencias a ensamblados de la GAC desde Visual Studio. Finalmente, como apéndice, explicaré un truco para poder ver ensamblados propios en el diálogo de agregar referencia de Visual Studio. Como ves no hay más que ensamblados por todas partes ;-) Lo he colgado en la página en Scribd de Krasis Press, y lo puedes leer on-line y también descargártelo. ARTÍCULO: Búsqueda de ensamblados en tiempo de ejecución en .NET ¡Espero que te resulte útil!

Herramientas de prototipado de aplicaciones Web

Herramientas de prototipado de aplicaciones Web
Algo muy habitual en los equipos de desarrollo Web es el dibujar maquetas de las pantallas y sus elementos, de forma que podamos transmitir mejor la idea de lo que queremos a los programadores que lo van a implementar. Esto es válido también para los clientes, que a veces no se hacen una idea de lo que les estamos contando si no lo ven dibujado. Este tipo de croquis o prototipos pintados a mano de las Webs (llamados generalmente wireframes) son muy útiles, pero hacerlos realmente a mano es problemático porque no suelen quedar muy bien y luego muchas veces ni siquiera se hacen. Una herramienta especializada viene de maravilla para hacerlo mejor, más rápido y que quede de manera presentable. A continuación pongo una lista de productos, tanto gratuitos como comerciales, que sirven para hacer esto y que están muy bien: iPlotz Protoshare Justinmind Balsamiq: este es de pago pero me gusta especialmente gliffy Smartdraw Jumpchart Pencil Axure Si trabajas con ... [Más]

TRUCO: Inspecciones flotantes en Visual Studio 2010

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]

La misteriosa página que se envía dos veces

La misteriosa página que se envía dos veces
Este es uno de los problemas/bugs más raros con los que me he topado en años, y puede llegar a ser desesperante. Si has llegado aquí a través de una búsqueda de Google porque tienes el problema que indico en el título del post, estoy seguro de que me vas a dejar una nota de agradecimiento por el consejo :-) Hace unos días hicimos una nueva plantilla estética para un cliente de nuestra plataforma de e-Learning, SELF. La plataforma tiene un sistema muy potente de plantillas estéticas que permite personalizar mucho la estética y parte de la funcionalidad de la interfaz. Se pueden asociar plantillas a los diferentes campus (entornos cerrados de formación) y también se pueden asignar muchas plantillas/fachadas diferentes a cada campus de forma que se pueda acceder con aspectos diferentes para cada cliente al mismo campus a través de diferentes URLs o directorios virtuales. Una de estas plantillas, preciosa por cierto, provocaba un extraño efecto sobre todas y cada una de las páginas ... [Más]

Sistema operativo en varios idiomas al mismo tiempo para prueba de aplicaciones

Sistema operativo en varios idiomas al mismo tiempo para prueba de aplicaciones
¡Fenomenal!: nos ha salido ese cliente en Arabia Saudí o Finlandia y ahora toca localizar nuestra aplicación a esos idiomas y, sobre todo, probarla en el sistema operativo real para no llevarnos sorpresas. Lo primero que suele hacer todo el mundo es correr hacia el MSDN y rezar para no haber tirado los DVDs de Windows en todos esos idomas raros que envían. Eso o descargarlo de MSDN Online para instalarlo en algún equipo. Lo que mucha gente no sabe es que la ediciones más profesionales de Windows viene con la posibilidad de trabajar en varios idiomas al mismo tiempo. En el caso concreto de Windows Vista, las ediciones Ultimate y Enterprise disponen legalmente de esta interesante capacidad. De esta manera no es necesario que nos instalemos varios sistemas operativos diferentes en varios idiomas, ni tendremos que andar con máquinas virtuales ni nada similar: nuestro sistema operativo de trabajo, normal y corriente, nos permitirá cambiar de idioma y localización de manera muy sencilla. ¿... [Más]

QFE, GDR, COD... Siglas Microsoft para software por todas partes

QFE, GDR, COD... Siglas Microsoft para software por todas partes
El otro día leyendo este post de Bruno sobre un nuevo relase de Silverlight, Bruno decía que esta versión era un GDR. ¿Qué significa GDR? Bueno, pues se trata de terminología relacionada con un modelo de servicio incremental para liberar software, que es el que se está usando en Microsoft. De hecho los que empezaron con este modelo y terminología fueron los del equipo de SQL Server en el año 2007, pero otros equipos lo han adoptado también. El objeto de este modelo incremental es liberar parches y correcciones que tengan asegurada la calidad y al mismo tiempo permitan una planificación predecible y un tiempo razonable. Los dos tipos principales de parche que entran bajo este modelo son: · GDR: General Distribution Release. Es una versión de distribución general, para todo el mundo. Engloba todo lo que tiene un cierto nivel de importancia y que afecta a mucha gente, como parches de seguridad, actualizaciones críticas que cubren error graves, los llamados "feature packs" que añaden fu... [Más]

Cómo permitir la desactivación de los botones de radio

Cómo permitir la desactivación de los botones de radio
Esto, que parece una tontería, no lo es en modo alguno. Cuando colocas un conjunto de botones de radio en una página Web con etiquetas de tipo <input type="radio">, al pulsar sobre cualquiera de ellos, éste queda seleccionado. Al pulsar sobre cualquier otro del mismo grupo, el primero se deselecciona ya que sólo uno de ellos puede estar seleccionado al mismo tiempo. Este es el comportamiento normal y esperado. Sin embargo hay un problemilla que mucha gente se encuentra que con sorpresa no pueden solucionar: ¿qué pasa si quieres desactivarlos todos una vez que ya hay alguno seleccionado?. Prueba por ejemplo esta página. Al abrirla pulsa en los botones de radio de cualquiera de los grupos que contiene. Ahora intenta deseleccionarlos. No funciona. Normalmente estos botones de radio se usan para dar a escoger entre varias opciones excluyentes entre sí, pero también puede darse la posibilidad de que la elección sea 'ninguna'. Lo que suele hacer la gente para solucionarlo es i... [Más]

Matrices escalonadas o "jagged arrays"

Matrices escalonadas o "jagged arrays"
En mi anterior post hablaba sobre cómo definir matrices multidimensionales en .NET. Lo cierto es que hay una forma alternativa de hacerlo que tiene ventajas de rendimiento y de características y que está totalmente soportada por el compilador: las matrices escalonadas. Entre otras cosas cambia la sintaxis y además nos permite definir matrices multidimensionales con diferentes tamaños en cada dimensión (en el modo normal son matrices rectangulares). Estas matrices escalonadas son verdaderamente "matrices de matrices", tal y como comentñe en el post anterior.Estas matrices én realidad sólo tienen una dimensión y cada elemento de las mismas es una matriz. Realmente lo que se hace es definir una matriz lineal normal y a cada elemento asignarle a su vez otra matriz, así por ejemplo: Dim jArr As Integer()() = { New Integer() {1, 2, 3, 4}, _ New Integer() {5, 6, 7}, _ New Integer() {8, 9}, _ New Integer() {10, 11, 12}, _ New Integer() {13} } De esta forma define... [Más]

Definición de matrices multidimensionales en .NET

Definición de matrices multidimensionales en .NET
Este post sale, como el anterior, de una pregunta concreta que me ha hecho un alumno en campusMVP. La cuestión viene acerca de cómo se definen las matrices de varias dimensiones en .NET, lo cual es válido tanto para VB como para C#. La clave está en que se debe pensar en las matrices de más de una dimensión como en "Matrices de matrices", y así se entiende mucho mejor. Por ejemplo, si quieres utilizar coordenadas de 3 dimensiones del estilo de (x,y,z) realmente no te hace falta una matriz tridimensional, ya que puedes guardarla en una de dos dimensiones si piensas en lo he dicho de "matrices de matrices". Así, por ejemplo para guardar coordenadas como las anteriores puedes escribir: int[,] arr1 = { {1,2,3}, {4,5,6} }; Es decir, aunque tus "ristras" de datos tengan tres elementos debes usar sólo dos dimensiones porque lo que obtienes es una matriz que contiene en cada fila a otras matrices, así que con la primera dimensión indicas la fila y con la segunda la columna, así: Cons... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico