JASoft.org

Clases y estructuras en .NET: cuándo usar cuál y otras cuestiones habituales

Clases y estructuras en .NET: cuándo usar cuál y otras cuestiones habituales
Algunas preguntas que recibo con frecuencia en el curso de preparación del examen 70-536 en campusMVP están relacionadas con las estructuras y las clases en .NET. Esta misma semana he tenido un par de ellas muy interesantes, lo que me lo ha recordado y me he decidido a resumir aquí algunas de estas preguntas y sus respuestas. ¿Cuál es la principal diferencia entre una estructura y una clase? La principal diferencia entre Estructura y Clase es que las primeras son tipos por valor y las otras tipos por referencia. Es decir, aunque los primeros pueden trabajar como clases, realmente son valores ubicados en la pila directamente, y no punteros (referencias) a la estructura en memoria. Esto significa que los primeros se pueden gestionar más eficientemente al instanciarlos (se hace más rápido), sobre todo en grandes cantidades, como una matriz. Al crear una matriz de estructuras éstas se crean consecutivamente en memoria y no es necesario instanciar una a una y guardar sus referencias ... [Más]

Cómo incorporar Dynamic Data a un proyecto Web existente

Cómo incorporar Dynamic Data a un proyecto Web existente
El pasado lunes, en la charla on-line que impartí para el NEt User Group de la UOC sobre Dynamic Data, comenté que existía la posibilidad de sacarle partido a esta interesante tecnología sin tener que crear desde cero un proyecto especial de Dynamic Data, es decir, sin partir de este diálogo: Tal y como prometí ese día, a continuación explico cómo añadir las capacidades de Dynamic Data a un proyecto Web pre-existente. Como veremos se trata de algo muy sencillo. Dado que Dynamic Data se basa en el uso plantillas, tanto para las acciones como para generar campos, entidades concretas y otros controles, lo primero que debemos hacer es copiar desde un proyecto Dynamic Data pre-existente los siguientes elementos: 1.- La carpeta de nombre DynamicData2.- La página maestra Site.master y su correspondiente archivo de código Site.master.vb (o.cs si trabajamos con C#)3.- La hoja de estilos Site.css Usa el propio explorador de archivos de Windows para copiarlos, y luego refresca l... [Más]

Libro de email marketing gratuito: "49 formas de dar en el blanco"

Libro de email marketing gratuito: "49 formas de dar en el blanco"
La semana pasada estuvimos en OMExpo, la feria de marketing on-line más importante de España, y a todos los que nos visitaron en el Stand les regalamos un ejemplar de nuestro libro "The emailing experience: 49 formas de dar en el blanco". Fué un tremendo éxito y nos agotaron toda la primera edición :-) El libro recopila 49 consejos para hacer bien marketing a través de correo electrónico: desde cuestiones básicas como qué es y para qué sirve, hasta otras avanzadas como la entregabilidad. Los autores somos María Capón, Pablo Iglesias y José Manuel Alarcón. Hace unos días sacamos el libro también en formato electrónico para que puedas descargarlo gratuitamente si no tuviste la oportunidad de obtenerlo en papel. Lo tienes disponible para lectura on-line directamente en Scribd, para descarga en PDF y también para descarga en los principales eBooks del mercado en los formatos .epub y .mobi. Para descargarlo visita nuestra página de MAILCast. ¡Espero que te guste!

Próximo lunes doy una charla on-line sobre ASP.NET Dynamic Data en la UOC

Próximo lunes doy una charla on-line sobre ASP.NET Dynamic Data en la UOC
El próximo lunes día 15 de marzo de 2010, a las 19:30 hora española, voy a impartir una charla técnica on-line para el DotnetClub de la UOC titulada "Interfaces de datos a la velocidad de la luz: ASP.NET Dynamic Data". Es gratuita y on-line. Os resumo la charla a continuación: "Uno de los trabajos más aburridos de los programadores es la creación de interfaces de administración básica de bases de datos. Se trata de los famosos "mantenimientos" que todos nos hemos visto forzados a hacer. Aunque ASP.NET Web Forms nos proporciona fantásticos controles para poder crear interfaces de manera rápida de forma declarativa, ¿no sería fantástico poder automatizar todavía más la creación de estas páginas?. Esto es precisamente lo que nos ofrece ASP.NET Dynamic Data. Con esta tecnología podremos crear interfaces a toda velocidad pero teniendo un control preciso de todo lo que ocurre y pudiendo personalizarlas al máximo." Si tienes interés en crear interfaces de acceso a datos para la Web a tod... [Más]

Cómo librarte de Google Buzz

Cómo librarte de Google Buzz
Por si teníamos ya pocas distracciones en este mundillo digital, ahora va Google y nos saca una nueva, y además sin habérselo pedido siquiera: Google Buzz. Se supone que es un mix entre Twitter, Facebook, LinkedIn... y cualquier otra red social que quieras. Te aparece en un lateral de GMail como una carpeta de correo más, pero en realidad es un flujo de información constante de chorradas dichas por cualquiera. Por que esa es otra: es el propio Google el que, según su criterio, te hace "amigo" en Buzz de otra gente, y viceversa. Vale, puedes cambiar tú de amigos si quieres pero ¿quién lo ha hecho? Hasta hay un chiste con muy mala baba que circula por Internet que dice que Google va a batir todos los records de ingresos en 2010: cobrará 20 dólares a cada usuario de GMail para quitarle Buzz ;-) A mi me parece una cosa muy poco útil y con Twitter y Facebook ya tengo más que de sobra. Además, esto es como el "double opt-in vs opt-it" en el email: que siempre debería pe... [Más]

Tu sitio o aplicación Web, bien adaptado para iPhone

Tu sitio o aplicación Web, bien adaptado para iPhone
He de confesarlo: me encanta el iPhone de Apple. A la espera del nuevo Windows Phone 7, del que tengo muchas dudas y hasta que lo vea en la mano y sepa que hay muchas y buenas aplicaciones, mi favorito sin duda sigue siendo el iPhone 3Gs. Intenté volver a un HTC Touch hace unos meses cuando me cargué el anterior iPhone y no lo soporté ni un día. Sólo de pensar en volver al stylus me dan escalofríos. Una de las cosas que más me gusta es el navegador Safari que lleva embebido. Ahora empieza a ser algo más normal que los navegadores móviles visualicen las páginas Web como en un navegador de escritorio, pero no era así ni mucho menos hasta que apareció el iPhone 2G (el primero que tuve) hace ya 3 años. Este teléfono de hecho fue el que sirvió de revulsivo para que el mercado de los Smartphone haya explotado, y ahora todos siguen la estela a ver si lo imitan. En eso, he de reconocerlo, Windows Phone 7 (al contrario del 6.5), parece que va a ser innovador escapando de las pantallitas de icon... [Más]

El miércoles que viene evento en la UAM

El miércoles que viene evento en la UAM
El próximo miércoles día 24 a las 18:30 de la tarde, estaré en la Universidad Autónoma de Madrid hablando con los estudiantes de informática acerca de muchas cosas interesantes de la vida tecnológica :-) Esta charla/encuentro coincide con el OMExpo (antiguo Online Marketing España) y con Expo e-learning, por lo que habrá mucha gente por la zona. Si estás cerca, ¡Apùntate! Ah!, y por cierto, si vas a estar en OMExpo, pásate por nuestro stand (el 92) y sólo por hacerlo te regalaremos nuestro último libro lleno de consejos prácticos para desarrollar campañas de email marketing exitosas. Toda la info aquí.

Microsoft Free SEO Toolkit: optimiza tus webs para los buscadores

Microsoft Free SEO Toolkit: optimiza tus webs para los buscadores
Hoy en día si no apareces en las primeras posiciones en los resultados de las principales búsquedas relacionadas con tu actividad, es como si no existieras. Si analizas los logs del servidor puedes comprobar que un altísimo porcentaje del tráfico que entra en tu Web es directamente procedente de buscadores. En España, además, el cuasi-monopolio en esto lo tiene Google, por lo que casi se puede afirmar que si no apareces en Google no existes. Hay gente que no se da cuenta del verdadero poder que tienen estas herramientas de búsqueda y lo que podrían hacer si decidieran sesgar un poco sus resultados. En los últimos años se ha desarrollado ampliamente el concepto y las técnicas de SEO: Search Engine Optimization, u Optimización para Motores de Búsqueda. Existen técnicas SEO lícitas y por lo tanto aprobadas por los buscadores, y también técnicas ilícitas que pueden... [Más]

Objetos dinámicos en .NET 4.0: ExpandoObject

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]

¿Por qué tenemos dos claves para acceder al almacenamiento de Azure?

¿Por qué tenemos dos claves para acceder al almacenamiento de Azure?
Si has utilizado en producción Windows azure, y en concreto su almacenamiento local para tablas, blobx y colas (Windows Azure Storage), habrás observado que cuando defines una cuenta de almacenamiento dispones de dos claves de seguridad para acceder a las mismas, una primaria y otra secundaria: ¿Por qué hay dos claves, para qué sirven y cómo se relacionan? La verdad es que es un sistema interesante. Ambas claves son equivalentes y ambas sirven para acceder a la cuenta de almacenamiento, así que podemos utilizar una u otra indistintamente. Generalmente usaremos la primera y la desplegaremos en nuestra aplicación Azure, dentro de sus propiedades de configuración. Al tener dos claves lo que conseguimos es que no exista ni un segundo de parada de nuestra aplicación si necesitamos cambiarla. Supongamos que estamos usando la primera clave y alguien nos la roba y tiene acceso también al almacenamiento. ¿Cómo procederíamos para cambiarla y no parar el servicio? El procedimiento sería e... [Más]

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

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.