JASoft.org

Diferencias al usar Clases y Estructuras en matrices

Diferencias al usar Clases y Estructuras en matrices
No voy a entrar aquí a explicar las diferencias "de bulto" entre clases y estructuras en .NET. Todo programador de la plataforma debería conocerlas pues es lo primero que se aprende. Sin embargo sí me gustaría resaltar una cuestión simple consecuencia de sus diferencias y que a muchos les puede pasar inadvertida. Se trata del comportamiento obtenido al instanciar una matriz. Imaginemos que tenemos una sencilla estructura como esta: struct Usuario{   public string Nombre;   public string Apellidos;} Si creamos una matriz de estructuras de este tipo así: Usuario[] usuarios = new Usuario[10]; podremos inmediatamente asignar valores a cada elemento de la matriz, ya que la estrucutra al ser un tipo por valor está disponible para que la usemos: usuarios[0].Nombre = "Pepe"; //No fallará Sin embargo si cambiamos la definición de Usuario conviertiéndola en una clase: class Usuario{   public string Nombre;   public string Apellidos;} El código de asignación anterior fallará deb... [Más]

Kit de desarrollo gratuito para TabletPC

Kit de desarrollo gratuito para TabletPC
El SDK para TabletPC que proporciona Microsoft está muy bien y comenzar a desarrollar aplicaciones con él no es complicado. Sin embargo hay ciertas cosas que no son tan fáciles de hacer como debería ser. Por ejemplo, si tienes un TabletPC o has jugado con alguno conocerás y amarás la aplicación Journal (o si tienes Office pues entonces OneNote). Intenta meter toda la funcionalidad de Journal en una de tus aplicaciones. Te reto ;-) La cosa ya no es tan fácil ¿verdad? Pues para ponértelo liso y llano la empresa Agilix ofrece su producto InfiNotes para Visual Studio. Lo que hace es incluir unos espectaculares controles que sólo con arrastraR y soltar ofrecen todo tipo de impresionantes características para hacer aplicaciones para TabletPC. Hacer una réplica de Journal es casi inmediato. El producto tiene dos versiones, la Standard y la Professional. La Standard es gratuita y la puedes descargar desde su página inmediatamente. En realidad la paga Microsoft para facilitarte que crees ... [Más]

Microsoft llevará al cine "Halo"

Microsoft llevará al cine "Halo"
Al gigante de Redmond  no le llega con el mercado del software y de Internet que quiere también comerse el cinematográfico :-) Microsoft ha contratado al guionista Alex Garland ("La Playa", o "28 Días Después") para que adapta la historia a la gran pantalla. Finalizado este proceso, Microsoft ofrecería el texto (sin derecho a alteraciones) a alguno de los grandes estudios de Hollywood Entre los candidatos que suenan para dirigir la versión cinematográfica de Halo figura Ridley Scott tras el interés mostrado por los productores Ronald Shussett y Daniel Alter. El argumento del juego se sitúa en una cruenta guerra entre la raza humana y una especie de alianza alienígena conocida como El Pacto. Halo2 ha sido uno de los grandes superventas de la industria de los videojuegos durante la recien finalizada temporada navideña. Se situó justo por detrás de GTA San Andreas, ambos aparecidas exclusivamente en versiones para consolas. Microsoft consiguió el record de 2,4 millones de copias vendi... [Más]

Windows Scripting Host para .NET

Windows Scripting Host para .NET
No sé hasta que punto es conocido por los programadores (no así para los administradores de sistemas) esa pequeña joya del sistema operativo llamada Windows Scripting Host (WSH). WSH permite ejecutar directamente con un doble-click código escrito en un lenguaje de script tradicional (VBScript y JScript sobre todo) y llevar a cabo así multitud de tareas automatizadas, no relacionadas a la fuerza con la administración de sistemas. De hecho yo lo uso a menudo para probar código de todo tipo, hacer prototipos rápidos de algoritmos, automatizar muchas cosas (desde cargas de datos hasta procesamiento de directorios o cifrado de archivos pasando por monitorización de servidores). Es realmente útil porque permite el uso de cualquier objeto COM automatizable, lo cual incluye ADO o incluso aplicaciones como Excel o Word. Como también se pueden usar sus archivos (con extensión .vbs, .js o .wsh) en el administrador de tareas programadas sirve incluso para realizar tareas periódicas (mis copias de... [Más]

El blog directamente desde el móvil

El blog directamente desde el móvil
Nokia ha anunciado el lanzamiento de 'Nokia LifeBlog 1.5', un programa interactivo que permite montar un 'blog' en el móvil a partir de los mensajes, imágenes o vídeos que cada usuario almacena durante el día. Los espacios personales en la Red se han convertido en los protagonistas del último año, y la nueva tecnología de Nokia permite que sus usuarios puedan organizar contenidos dentro de su móvil como un 'blog' en la Red. Durante 2004, el fenómeno del 'weblog' se ha extendido y muchos internautas se han atrevido a convertirse en emisores de información en la Red con tan sólo tres sencillos pasos. Un informe publicado por la empresa Pew Internet of American Life Project en enero de este año aseguraba que el número de adeptos a los 'blog' en EEUU había aumentado un 58% durante 2004. El nuevo programa informático lanzado por la compañía finlandesa permite crear un diario personal móvil al habilitar un espacio para añadir anotaciones a los elementos que el usuario va guardando en su ... [Más]

Interesante descarga sobre mobilidad en Microsoft

Interesante descarga sobre mobilidad en Microsoft
Microsoft acaba de publicar la Small IT Solution for Mobility v1.0 (Beta). Se trata de una colección de documentos que ofrecen guía sobre planificación, distribución y operación de soluciones basadas en sistemas móviles (Microsoft Mobile 2003) en la empresa pequeña y mediana (PYME). habla también de cómo combinarlos con Exchange y SBS 2003. Se puede descargar gratuitamente desde aquí.

Algunas cuestiones reveladas sobre IIS 7.0

Algunas cuestiones reveladas sobre IIS 7.0
Hasta ahora poco se sabía de las nuevas características que ofrecerá la próxima versión de Internet Information Services, la 7.0. Pero últimamente se han empezado a oir rumores y algunas publicaciones electrónicas relacionadas con el mundo Microsoft están empezando a soltar algunos datos. Parece ser que en 2006, IIS 7.0 nos traerá como mínimo: Una mayor modularidad. Podremos escoger con libertad, a nivel de núcleo, qué funcionalidades queremos que tenga nuestro servidor. Así el servidor estará menos cargado y ofrecerá una menos "superficie de ataque". Una integración íntima y absoluta con ASP.NET, no como ahora que es un filtro ISAPI encima de IIS. Un nuevo sistema de configuración distribuido basado en XML y al que se podrá sacar partido desde ASP.NET. Una remozada interfaz de administración orientada a tareas y mucho más avanzada que la actual. Mejoras importantes en diagnosis, trazado y estadísticas de uso. Ya veremos qué más podemos ir conociendo sobre el asunto.

En todas partes se hacen chapucillas de vez en cuando...

En todas partes se hacen chapucillas de vez en cuando...
Brad Adams es uno de los que estuvo en el desarrollo de la plataforma .NET desde el principio, en 1998, y que también ha participado en el desarrollo de Longhorn. Me ha llamado la anteción leer en su Blog personal un post que habla del porqué de la existencia de un método DontTouchThis() en la clase Int32 y en otras similares dentro del código fuente de Rotor (la implementación de código abierto de la plataforma .NET). Parece ser que lo hacen exclusivamente para que el compilador no les lance una advertencia por tener un miembro privado que aparentemente no se usa y que en realidad sirve para almacenar el valor asociado a la clase. Es una tontería pero me ha parecido curioso comprobar cómo incluso en productos tan trabajados como .NET sus experimentados programadores hacen chapucillas como esta de vez en cuando. Yo os aseguro que si tengo que hacer algo similar para salir del paso acabaría pensando que seguro que hay una forma mejor (o correcta) de hacerlo y que se me está escapando ... [Más]

Cambiar el propietario de una tabla de SQL Server

Cambiar el propietario de una tabla de SQL Server
Cuando restauramos una copia de seguridad de una base de datos de SQL Server desde un servidor a otro diferente es posible que los propietarios de las tablas de la base de datos recién restaurada no coincidan con el propietario que tenemos en el resto de bases de datos o con el de las tablas del sistema. Si deseamos establecer de forma manual el propietario de una tabla (o en general de cualqueier objeto) de SQL Server podemos recurrir al procedimiento almacenado sp_changeobjectowner. Basta con abrir el analizador de consultas y escribir: sp_changeobjectowner 'propietario.tabla', 'nuevo_propietario' para cambiarlo. Por ejemplo: sp_changeobjectowner 'usuario.Articulos', 'dbo' cambiaría el propietario a 'dbo', es decir, el propietario por defecto de los objetos de una base de datos y el que normalmente se utiliza.

Cortocircuito de expresiones y su importancia

Cortocircuito de expresiones y su importancia
Se trata esta de una observación que, aunque obvia, en muchos casos puede pasar inadvertida y me parece por tanto interesante destacarla aquí. Las expresiones condicionales en C# se cortocircuitan. Esto quiere decir que se detienen las comprobaciones en cuanto no es necesario comprobar el resto de condiciones por haber hecho suficientes pruebas para determinar el resultado. Me explico. Todo el mundo sabe que para que una condición AND proporcione un valor positivo (true) ambas condiciones que se comprueban deben ser positivas (true). Por ello, cuando C# encuentra una condición AND, y verifica que la primera de las dos condiciones que se comparan es falsa, automáticamente deja de comprobar la que falta, puesto que aunque fuese cierta el resultado será falso al serlo ya la primera y, entonces, ¿para qué seguir perdiendo el tiempo?. Lo mismo ocurre con los otros tipos de operadores booleanos. Por ejemplo, en una expresión O... [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