viernes, 16 de enero de 2015

!Apunte semanal - Utilizar nombres de variables con palabras reservadas de C#

Hola amigos, en este apunte semanal les quiero compartir un truco bastante sencillo, que si bien no es una buena práctica puede servir en algún caso extremo que tengamos y que por motivos de fuerza mayor necesitemos utilizar, sin embargo solo lo recomiendo en un caso extremo que tengamos.

Sabemos que en C# y en los diferentes lenguajes no podemos usar las palabras reservadas del lenguaje para el nombramiento de variables como por ejemplo, using, namespace, int, string y un lago etcétera, ya que obtendremos un error como el siguiente:



Como en este caso se quiere utilizar el nombre de variable int, se debe anteponer el carácter @ al nombre de la variable, como se muestra a continuación:


Como podemos apreciar no es una buena práctica ni muy cómodo para escribir, leer o mantener el código, sin embargo como digo puede servir en un caso de fuerza mayor, o por ejemplo si queremos interactuar con código escrito en otro lenguaje, es decir si por ejemplo tenemos una librería de clases escrita en VisualBasic .net y en esta librería tenemos escrita alguna palabra reservada de C# pero que no es reservada en Vb, nos compilaría perfectamente la librería, pero al momento de invocarla desde C# tendríamos un error de compilación, en este caso podemos resolver el problema usando el carácter @ para referirnos a la palabra reservada.

Bueno y eso es todo de este apunte semanal, espero sea de utilidad.

Saludos y buena suerte!

jueves, 15 de enero de 2015

Microsoft MVP .Net 2015


Hola amigos, al inicio de este año recibí una gran noticia por parte de Microsoft, más específicamente del programa Microsoft MVP, que es un programa en el cual se reconocen a líderes excepcionales de la comunidad por sus aportes en ella y por su especialidad en algún producto de Microsoft. Pues bien, esa gran noticia es que he sido reconocido este año como Microsoft MVP en la especialidad de .NET.


Es para mí un orgullo pertenecer a este selecto grupo y no quería dejar pasar la oportunidad para
agradecerles a ustedes, Comunidad, quienes hacen esto posible, gracias a ti, que lees mis post y aportas a ellos, pues ustedes son quienes fortalecen la labor de apasionados por la tecnología como yo y como muchos otros, que buscan aportar su granito de arena para que la comunidad tecnológica siga creciendo y cambiando el mundo.

Aprovecho también para felicitar a los nuevos MVP`s de mi país Colombia, y a todos los nuevos MVP`s de todo el mundo, y a los demás MVP`s antiguos quienes aportan a la comunidad en su especialidad.

Muchas gracias a todos! y espero poder seguir escribiendo, aportando en los foros, dictando charlas y demás cosas que me apasionan y contribuyen y ayudan a las demás personas.

Saludos y buena suerte!

martes, 23 de diciembre de 2014

Usando ExistDB (No Sql) desde .Net con C#

ExistDB es una base de datos No Sql, de la familia documental, es decir es una base de datos basada en documentos, y estos documentos tienen notación Xml. A través de las bases de datos No Sql podemos llegar a suplir requerimientos de manejo de grandes volúmenes de datos sin afectar el rendimiento de nuestras aplicaciones, y pensadas para aplicaciones donde la consistencia y transaccionalidad de datos no sean la prioridad, al contrario de los sistemas de bases de datos relaciones RDBMS como Sql Server por ejemplo. Si no estás muy familiarizado con las bases de datos No Sql aquí te dejo esta presentación que te puede orientar un poco: Introducción a las bases de datos No Sql


Si quieres encontrar más información acerca de ExistDB, puedes observar su sitio oficial exist-db.org, adicional en la siguiente página toda la documentación del producto ExistDB Documentación y como no puede faltar también cuenta con una guía para desarrolladores.

Y después de esta breve introducción, ahora si vamos a ver cómo podemos guardar documentos Xml en una base de datos ExistDB desde .Net, con nuestro lenguaje preferido C#. Y este artículo surge básicamente por la falta de documentación del tema en Internet, ya que la verdad no pude encontrar ejemplos de esto y por eso les quiero compartir un ejemplo muy sencillo, de como interactuar con esta base de datos a través de unas Apis Rest que expone (de otras opciones que tiene)

var credenciales = new HttpClientHandler { Credentials = new NetworkCredential("user""pass")};
            
using (var httpClient = new HttpClient(credenciales))
{
     var request = new HttpRequestMessage(HttpMethod.Put, string.Concat("UrlExistDB""NombreColeccion""nombreArchivo"))
     {
        Content = new StringContent("DocumentoXML"Encoding.UTF8, "text/xml")
     };
     var response = httpClient.SendAsync(request).Result;
     //response.Content.ReadAsStringAsync();
}


Como podemos ver es algo bastante sencillo, en donde consumimos el Api expuesta por la instalación que hicimos de ExistDB, indicamos en que colección queremos almacenar el archivo, ExistDB agrupa en diferentes colecciones que creamos para almacenar los diferentes archivos xml el nombre del archivo y por último enviamos el archivo xml que queremos almacenar, y todo usando un httpClient o cualquiera de las otras opciones que nos ofrece .Net para realizar este tipo de peticiones.

Nótese que en esta ocasión usamos el verbo http Put, pero podríamos usar cualquier otro dependiendo de la operación que queramos realizar en la base de datos.

Cabe resaltar que el secreto está en estudiar las diferentes Apis que nos ofrece ExistDB y obviamente comprender REST, y al manejar esta filosofía es bastante eficiente el almacenamiento, lo puedo decir ya que he tenido óptimos resultados almacenando archivos xml bastante grandes.

Y bueno amigos eso es todo de este ejemplo de cómo interactuar con ExistDB desde .Net usando el lenguaje C#, espero sea de utilidad. saludos y buena suerte!

domingo, 7 de diciembre de 2014

Big Data & Hadoop & HDInsight

Hola amigos, el día de ayer 6 de diciembre de 2014, estuve en el evento CloudCamp Medellín organizado por Microsoft Colombia DX, en el cual estuve compartiendo sobre Big data en general, y acerca de una herramienta como lo es Hadoop, y obviamente compartiendo la propuesta por parte de Microsoft llamada HDInsight, la cual esta basada sobre Hadoop y nos permite tener una versión on premise y una versión en la nube, acá les dejo la presentación y espero sea de utilidad para ustedes. Saludos!


miércoles, 26 de noviembre de 2014

[EntityFramework] Usando EntityFramewok y sql Azure

Hola amigos, tuve el gusto de ser invitado a participar con un par de vídeos para la campaña #100DevDays de Microsoft Visual Estudio, realizada en el Channel9 Latam, en esta ocasión expliqué como usar EntityFramework y Sql Azure, aquí les dejo el vídeo y también puedes observar el paso a paso en este artículo: EntityFramework y Sql Azure

jueves, 20 de noviembre de 2014

Introducción a la arquitectura de software

Hola amigos, hace algún tiempo dicté una charla de introducción a la arquitectura del software, aquí les comparto la presentación, espero sea de utilidad. Saludos!


Introducción a Asp.Net MVC

Hola amigos, hace algún tiempo dicté una charla de introducción a Asp.Net Mvc, aquí les comparto la presentación, espero sea de utilidad. Saludos!