Aprende LINQ de forma fácil y sencilla

Ahora que formalmente ya salió al mercado Visual Studio 2008 y que tiene características muy novedosas como LINQ, entre las más sobresalientes, este post está dedicado para todos quienes estén interesados en estudiar, testear o simplemente aprender las sentencias LINQ antes de realizarlo en VS2008, existe una herramienta que permite hacer todo esto, que es libre y que no necesita instalación, el único requisito previo para ejecutar esta herramienta es tener instalado el .Net Framework 3.5 y listo a usarla, esta herramienta se llama LINQPad que la puedes descargar aqui.

LINQPad Total
Esta herramienta se divide en 4 secciones:
Conexiones
LINQPad Conection

En la parte superior izquierda de LINQPad existe las opciones de conectarse a una base de datos SQL Server ocasionalmente o permanentemente como en el server explorer de Visual Studio. Además a través de la conexión se puede navegar entre los objetos de la base: tablas, funciones, procedimientos almacenados, vistas, etc.

Ejemplos y Sentencias

LINQPad Examples

La primera opción de la parte inferior izquierda se encuentra un panel con las sentencias que se han desarrollado y guardado, y junto a esto existe un sección donde se encuentran más de 200 ejemplos disponibles para aprender LINQ. La sección de ejemplos se divide en una breve introducción de lo que es LINQPad y luego ejemplos desarrollados en C# divido en secciones de LINQ Queries, LINQ Operators, LINQ to XML, LINQ Regular Expressions. Parece que en esta versión no se incluyen ejemplos para Visual Basic.

Consultas y Navegación

LINQPad Consultas

En la parte superior derecha de la herramienta se encuentra la sección de edición de las consultas, donde podremos ejecutar o detener una consulta, seleccionar la conexión que debe usar la sentencia que estamos desarrollando, además se elige el lenguaje en el que se desea escribir la consulta. Es importante mencionar que tiene soporte para C# como para Visual Basic, además puede ser útil también el compilador de sentencias SQL. Existe también alertas de error de sintaxis de las consultas en la parte superior de esta sección.

Resultados

LINQPad Results

En esta sección se muestran los resultados fruto de las consultas ejecutadas, en ella podemos encontrar el resultapo presentado en un grid. LINQ facilita en su sintaxis manejar lambda, por lo que una vez que se haya escrito y verificado el resultado de la consulta se puede generar la sintaxis de la consulta en expresiones lambda. Y la opción que está junto a lambda es SQL, al ingresar en esta opción se genera código SQL de la consulta realizada a una base de datos.

En la imagen anterior en la sección de resultados se puede observar la conversión a una sentencia lambda. En fin son varias las cosas que podemos realizar a través de esta herramienta, inclusive se pueden agregar assemblies. Entonces que esperas para ponerte a estudiar o simplemente testear tus consultas de forma sencilla y rápida. Les dejo con la imagen total de la herramienta.

LINQ con varios orígenes de datos

Una vez superado unos inconvenientes, he podido retomar un poco esta parte VS2008 y fundamentalmente LINQ, espero este post sea de su utilidad.

En un post anterior de LINQ había mostrado una demo 3 capas con SQLServer y unas pruebas con objetos y XML a lo cual LINQ ha pasado las pruebas.

Pretendía a través de este demo realizar una conexíon con 2 distintos orígenes de datos (SQL y Oracle) e intentar mapear tablas tanto de SQL como de Oracle, sin embargo, con las tablas de Oracle esto no es posible. A continuación detallo todos los pasos que se deben seguir para conectarse a una base oracle, con el Server Explorer. Tomar en cuenta que se debe instalar la base de datos Oracle y además el ODP (Oracle Data Provider) Net para que se pueda conectar.

  1. Seleccionar Oracle Database
  2. LINQ Multisource

  3. Ingresar el SID del servidor y el usuario y password de la base.
  4. LINQ Multisource 2
  5. Finalmente verificar que se haya conectado exitosamente.
  6. A continuación podemos ver el error resultante cuando pretendemos arrastrar una tabla Oracle en un dbml
  7. LINQ Multisource 3

En vista de que la intención inicial de la demo no fue posible, ahora intentaré al menos consultar la data de las dos bases. En Oracle están los datos de país de origen, tipo de teléfono, estado civil, etc. mientras que en SQL se encuentra la información de los empleados, por lo que para presentar el país de origen de los empleados es necesario hacer una consulta de las dos bases.

A través de un dataadapter consigo poner la data de la base Oracle en un Dataset y con el dbml de SQL intento realizar la consulta, pero nuevamente no es posible, imagino que no es posible utilizar sentencias LINQ con objetos diferentes (Dataset y dbmls), así que ya lo saben LINQ solo con objetos del mismo tipo.

El único camino que queda es mapear la data del dbml a un dataset tipificado con la estructura de las tablas de SQL e intentar realizar la consulta.

Efectivamente ese fue el mejor camino para presentar la data de dos data sources diferentes, se que la interfaz del resultado no es lo mejor que se puede hacer, pero para efectos de esta demo, considero que está bien, cumple con lo que quería mostrar.

LINQ Multisource Resultado

Además de los datos del empleado, se ha consultado los teléfonos para lo cual en el evento RowDataBound se han consultado y presentado en un grid agregado previamente como ItemTemplate. Bueno aqui tienen el código (recuerden renombrar el archivo a .zip) para que lo vean, los requerimientos para correrlo son: VS2008, SQL2005, Oracle XE 11g, ODP Net, deben crear las tablas cuyas estructuras pueden encontrar en los DataSets y la data se encuentra en la página de resultados.

A propósito de Seguridad

Existen en la actualidad la imperiosa necesidad de cuidar el bien mas preciado de las empresas que es la información que poseen de forma que ésta no caiga en personas que puedan significar un peligro en la organización, es así que existen varias posibilidades en el mercado, cuyo esfuerzo en recursos es siempre alto.

A pesar de todo ello, de las políticas que se ingrese en las compañías somos los trabajadores de las mismas los que hacemos que una norma, política o regla sea un éxito o simplemente un en enunciado más. A continuación irónicamente describiré que generalmente nos pasa cuando por algún motivo tenemos que soporte o simplemente ayudar a un usuario con un sistema.

Cuando hemos llegado al lugar del «siniestro» aún se respira un aire pesado, estresado y con nuestro arribo se ve claramente el brillo (de SOS y desesperación, mezclado con esperanza) en los ojos de las personas a las que vamos a ayudar. Hasta aquí todo normal verdad, pero luego cuando le solicitas que ingrese al sistema pues ocurre lo siguiente, lo primero que hacen es buscar ese «papelito de claves» donde uno encuentra, información de todo tipo (usuarios y claves de mail, de cuentas bancarias, número de tarjetas de crédito), demás está decir que dicho papelito se encuentra en un lugar con normas ISO de seguridad (bajo el teclado, pegado como notita en el monitor, en la cartera, en el cuaderno de notas). Otra forma «ingeniosa» de tener esta información es manejar un «archivo de claves» ubicado en el escritorio del computador, sin protección alguna, «porque si le pongo clave, me olvido».

Esto es lo que comunmente nos sucede en el día a día con los usuarios que luego dicen que el sistema no es seguro, que no ha revelado las claves a nadie, etc. etc. Sin embargo, hay algo en lo que si tienen razón y es que por políticas de seguridad se debe ingresar claves distintas y con formato específico (claves que contengan letras, números y caracteres especiales), y realmente no es fácil manejar mas 5, 10 o 15 usuarios y claves dependiendo del usuario.

Tips para manejo de claves

Es de vital importancia que al seleccionar una clave utilicemos algo que podamos recordar muy fácilmente, pero que sea muy complicado de descifrar para el resto de personas, sin embargo, este ideal no siempre se puede cumplir, para lo cual podemos:

  • Cambiar algunas letras por números. Por ejemplo. «i» por «1», «o» por «0»(cero), «e» por «3», etc.
  • Cambiar algunas letras por cacacteres especiales. Por ejemplo: «S» por «$», «a» por «@» , «l» por «|», etc.
  • Cambiar algunos números por letras. Por ejemplo. viceversa del primer ejemplo.

Ese cambio de signos y números en las claves que conocemos es de gran ayuda por que de esa manera no olvidaremos la clave y además estaremos cumpliendo con la política de seguridad de los sistemas.

Entonces si la clave que manejamos es «francisco» quedaría «f&@nc1sc0», si uso la clave «european» quedaría «3ur0pe@n». Lo importante es mezclar estos símbolos, letras y números aleatoriamente.

PD. Finalmente recuerden que por más seguridad que se tenga, siempre existe forma de descifrarla.

Bluetooth celebra décimo aniversario

Desde sus inicios en 1998, más de 1,5 billones de productos con Bluetooth han sido distribuidos.

 

Bluetooth es una tecnología inalámbrica de redes de ámbito personal, que permite a dispositivos electrónicos conectarse entre sí inalámbricamente. Esta tecnología es recomendable cuando se desea transmitir pocos datos entre estos dispositivos ya que es más lento que Wi-Fi.

Apple ha venido fabricando computadores equipados con Bluetooth para que puedan trabajar con teclados y ratones inalámbricos, sincronizar datos con teléfonos celulares y PDAs, comunicarse con impresoras y compartir datos con otros equipos.

Bluetooth ha tenido que librar una ardua batalla con los fabricantes de computadoras, sin embargo, los fabricantes de telefonía celular han sido quienes lo han utilizado y difundido enormemente en especial para soportar el uso de auriculares inalámbricos (manos libres).

Bluetooth 2.0 aumentó el ancho de banda a tal punto que los fabricantes de dispositivos multimedia lo utilizan para sus auriculares inalámbricos.

Fuente PCWorld

Herramientas útiles para la red

Imagen de como se ve la redLa maravillosa Internet brinda una infinidad de sitios de todo tipo y para todos los gustos, sin embargo, justamente esta infinita variedad hace que pasemos webando demasiado y que varias veces nos encontremos con cosas que no son del todo o para nada útiles. A continuación detallo algunas herramientas, sitios, portales como quieran denominarle que al momento de estar en la Red pueden ser de nuestra utilidad.

Búsqueda multibuscador, existe una herramienta web que permite realizar búsquedas en los mejores motores de búsqueda de la red o seleccionar el de su preferencia. Además tienen múltiples categorías para realizar búsquedas de temas específicos. All Internet

Calcular el costo de tu web, para varias personas que tienen varias visitas en sus páginas, que desean monetizar sus blogs o simplemente si deseas saber cuán importante, visitada, referida es tu página o una web de la red, este sitio es de gran interés para ti. Este sitio valoriza tu web en la red, muestra estadísticas y proyecta tus ingresos mensuales de acuerdo a un tipo de publicidad. WebSiteValueCalculator, además puedes encontrar los 50 sitios mejor rankeados. Sitios mas costosos

Viajeros conectados, y al más puro estilo de twitter existe una herramienta 2.0 que ahora basa su pregunta básica en ¿dónde estás ahora? con lo que comentas en Dopprl de tu viaje actual, o del siguiente viaje que realizarás, entonces el sistema te avisa de viajes en los que vas a coincidir con otras personas. Dopprl

TV a tu gusto, se trata de una televisión hecha para el usuario, con dos grandes diferencias: sin cortes comerciales y aprende tus preferencias. La última es de las ventajas más sobresalientes con eso podrás ver tus películas, videos, etc. solo de las categorías que realmente deseas, para ello debes registrarte y pedirle a la TV lo que quieres ver. Cada vez que vayas valorando cada video que recibes el sistema aprenderá tus preferencias. ADNStream

Widget de tu preferencia, para quienes la apariencia de su blog es muy importante, el sitio widgetmate tiene varias opciones de tamaño, colores, fuentes para personalizar tu widget. Con esto quienes siguen tus post podrán disfrutar de tu creatividad. Widgetmate

Calcule Todo, por distintos motivos es necesario realizar distintas conversiones de temperatura, monedas, números, etc y es un poco molestoso tener que buscar un convertidor en cada web, este sitio te permitirá realizar varias conversiones (longitud, temperatura, números romanos, peso, etc.) en el mismo lugar. Calculateme

Comentarios centralizados, a la lista de comentarios centralizados debemos incorporar a Spipra, cuyo objetivo es comentar en todos los blogs y páginas que integren el sistema con una sola autenticación, permite también rastrear las entradas dejadas en los blogs que se ha visitado, aunque tiene la restricción que es solo para los sitios que tienen integrado este sistema de comentarios. Spipra

Siga los envíos, si acostumbra recibir cosas de otros países y tiene el número de seguimiento del paquete, pruebe TrackThePack. Ingresando este número a este sitio, automáticamente determina la empresa y realiza la consulta, permite el seguimiento de envíos realizados con Fedex, UPS, USPS y DHL. No es necesario registrarse. Si poseemos IP fija, el sitio recordará nuestros seguimientos y la próxima vez que entremos nos mostrará nuevamente nuestras consultas. El sitio evita la molestia de tener que visitar el web site de cada compañía de envío individual para seguir los paquetes que recibe. TrackThePack

Correo falso, Cuando por algún motivo necesite una dirección de correo para publicar, pero no desea utilizar su cuenta para evitar el spam, puede usar una cuenta de MintEmail. Este sistema entrega una dirección de correo que tu defines su tiempo de vida, desde 1 semana a tres meses. Solo tienes que elegir tu correo @mintemail.com y la dirección real a la que quieres que se dirijan los correos recibidos. Una vez termine el tiempo por ti definido ya no te llegarán mas correos a tu email real porque la dirección @mintemail habrá dejado de funcionar. Servicio útil para situaciones temporales. Mintemail

Continuamente estaré actualizando este post con las cosas útiles que encuentre en la red.

Mini Teclado Inalámbrico de mano

En la próxima Feria Electrónica de Comsumo (Consumer Electronics Show, CES), Logitech presentará diNovo un mini teclado para las personas que han conectado sus computadores con el televisor.

Se trata de un mini teclado que les permite acceder a fotos, videos y otros contenidos del computador además les permite navegar por la Web, para controlar todas estas funciones este dispositivo utiliza Bluetooth, teclas de rápido acceso para funciones multimedia y para navegadores, así como también botones de avance o retroceso de páginas, muy útiles cuando se navega en la red y botones de zoom, tiene un alcance aproximado de 9 metros (30 pies).

El dispositivo posee además una almohadilla táctil que facilita hacer selecciones y moverse en los menús, este ClickPad toma un color naranja cuando funciona como almohadilla táctil y toma un color verde cuando está controlando las funciones multimedia. Las teclas están retroiluminadas para ver en la obscuridad.

 

Se espera que este mini teclado esté a la venta a finales de este mes en EEUU y Europa a un precio de US 150.

Fuente y mayor información en PC World

Para quienes están cercanos al matrimonio

Conozco unos cuantos amigos que están por contraer nupcias, para ellos está especialmente dedicado este post.

Por un momento voy a imaginarme y ubicarme en los zapatos de quienes están por contraer nupcias, a parte de todas las grandes decisiones que se han de tomar, también está la parte social y por supuesto no puede faltar la vestimenta para el evento.

Considero que las personas que están por dar este gran paso como es el matrimonio han pasado algunas etapas y ahora se encuentran próximos a este gran evento, para todos ellos pongo a disposición este video que puede ser de mucha utilidad en especial para quienes actualmente estén preparando la boda y la recepción.

Aquí como pueden ver existen modelos de todos los colores, sabores, tipos y para todos los gustos, existen de la edad media, de cuentos de hadas, de caricaturas, de películas, de videojuegos, etc. etc. así que bueno espero que sea una guía para quienes «desean salir de lo común» y que su matrimonio sea realmente un día inolvidable (jejeje), por supuesto me refiero a las vestimentas.

Lenovo lanza Notebooks con reconocimiento facial


Lenovo presenta exclusivamente para el mercado de consumo de EEUU los modelos IdeaPad Y510 y Y710, que fueran lanzados en Asia en mayo del año anterior, a estos modelos se unirá en marzo el IdeaPad U110, una ultraportátil de 11 pulgadas, sin embargo, la empresa china espera vender en otras plazas como Francia, Rusia, Australia, Sudáfrica, India, etc.

Entre las características principales destaca un programa que reconoce los rostros de los usuarios que les permite autenticarse en la computadora y en otros programas sin necesidad de claves. Además poseen características multimedias y 4 parlantes con un subwoofer que componen el sistema Dolby Home Theater de Lenovo.

El modelo Y510 cuenta con una pantalla de 15,4″, cámara integrada de 1.3 M, mas de 250GB en disco duro y un porcesador Intel Core 2 Duo T5550 (1.83 GHz), lectograbadora de DVD, 2GB de RAM, mientras que el modelo Y710 tiene un pantalla de 17″, disco duro de 500GB, procesador Intel Core 2 Duo T9300 (2.5 GHz).

Mayores detalles aqui

Impresiones iniciales de Visual Studio 2008

Visual Studio 2008 fue recientemente liberado para los suscriptores MSDN, y pronto estará disponible para el público en general. Estos recientes acontecimientos me incentivan a mirar de cerca la última versión del IDE símbolo de Microsoft.

En esta vista general de Visual Studio 2008, empezaré por nombrar las diferentes versiones y luego me enfocaré en las nuevas características y la forma en la que el IDE le puede ayudar a ser más productivo. A continuación mis primeras impresiones de VS 2008.

Versiones de Visual Studio 2008

Existen varias Ediciones Express que ofrecen una versión reducida del IDE y focalizados en lenguajes específicos como C#, Visual Basic, and C++ así como también el Visual Web Developer Express Edition.

El siguiente paso es la versión estándar, la misma que ofrece todas las características del IDE y le permite utilizar el lenguaje de su elección.

Todo el paquete incluye herramientas de colaboración como Team System, el mismo que permite que varios desarrolladores trabajen juntos en proyectos .Net.

Visite MSDN para mayor información de las versiones.

Nuevas Características

El mayor cambio con Visual Studio 2008 es el uso del .Net Framework 3.5 y sus múltiples características nuevas como un mayor apoyo a los desarrolladores web y nuevas tecnologías como el lenguaje integrado de sentencias (LINQ, Language Integrated Query). El IDE además incluye: orientación a múltiples versiones de .Net, incremento de soporte para AJAX, integración con LINQ, y funciones para una unidad de pruebas.

Mi característica favorita del Visual Studio 2008 y por mucho es la capacidad de desarrollar aplicaciones utilizando otras versiones del .Net Framework. Esto significa que puede utilizar el nuevo IDE sin tener que actualizar a los proyectos existentes a la última versión del .NET Framework. Puede mantener estas aplicaciones mientras construye nuevas aplicaciones aprovechando las nuevas características del IDE. Es el mayor cambio de las versiones anteriores de Visual Studio, las que están obligados a versiones específicas de .NET (por ejemplo, .NET 1.x con Visual Studio 2003, .Net 2.x con Visual Studio 2005).

Esta característica es fácil de usar, la versión de .NET se selecciona de un menú desplegable cuando se va a crear un nuevo proyecto en el IDE. La lista de las plantillas disponibles cambia automáticamente de acuerdo a la versión de .Net seleccionada. Otro beneficio es que puedo usar una versión de Visual Studio en contraposición con el cambio de una diferente versión que refleje la versión de .NET que estoy usando.

Incluso si no está utilizando la última versión del .NET Framework, puede usar las nuevas características del IDE de Visual Studio 2008, independientemente de la versión de .NET elegida.

Aumentar la Productividad

Visual Studio 2008 incluye varias características que pueden ayudarle a utilizar mejor el tiempo, mientras codifica. Un buen ejemplo es el soporte de intellisense para JavaScript, que le permite obtener ayuda de la sintaxis JavaScript mientras está codificando, esto significa no más tiempo buscando libros o búsquedas en Google para obtener ayuda. Existe también mayor soporte de depuración en JavaScript, lo que hace más fácil la depuración de código del lado del cliente.

Se ha incrementado también el soporte de CSS a través de un mejor editor y un diseñador WYSIWIG que proporciona información instantánea de su trabajo. Además AJAX es ahora una parte estándar de .NET Framework con cambios que incluyen 3 nuevos controles.

Nota: Muchos de los comentarios que he leído son positivos acerca de la mejora en rendimiento de las páginas de diseño ASP.NET en Visual Studio 2008, pero no he trabajado lo suficiente en el IDE para estimar los méritos de estos comentarios.

Unidad de Pruebas

Una unidad de pruebas y VS no siempre han sido una buena combinación, pero Microsoft parece mejorar con cada versión de Visual Studio. Con Visual Studio 2008, se han añadido a la unidad de pruebas características de la edición profesional. Una nueva opción en el menú contextual (ejecutar pruebas) hace que sea más fácil de usar una vez que se haya establecido, esto le permite ejecutar una prueba con un clic del mouse. También, puede hacer clic derecho sobre la clase y ejecutar todas las pruebas en la clase.

Trabajando con Datos

Uno de los complementos más promocionados con el .Net Framework 3.5 y posteriormente por Visual Stuio0 2008 es LINQ. LINQ es un nuevo paradigma declarativo para consultar fuentes de datos de una manera coherente independientemente de la fuente de datos en memoria, SQL backend, XML, y algunos otros. LINQ es completamente extensible, así que las posibilidades son infinitas.

Tiene planes de utilizar Visual Studio 2008 pronto?

En el año que empieza, continuaré explorando varias características de VS2008 con proyectos antiguos y nuevos. Espero también resaltar mejoras adicionales para desarrollo y pruebas de aplicaciones móviles y desarrollo con Microsoft Office.

Esta pensando en utilizar esta nueva versión de VS en los próximos meses? Si ya está utilizando Visual Studio 2008, comparta sus ideas de uso y las nuevas características con la comunidad .Net.

Tomado de TechRepublic: Link

Retraso en el vuelo a quito

Luego del super Loxa Bloggers 2007 y sin poder asistir a la mejor parte del evento el B&B, asistí a las consabidas cenas navidenias planificadas para este viernes, tomando en cuenta que al día siguiente salgo temprano a quito, decidí hacer jornada única sin pegar un solo ojo y dirigirme al aeropuerto de catamayo. El taxi ya confirmó la hora en la que me recogería, pero lo inusual es que uno de los pasajeros celebraba su diplomado y estaba muy ebrio, finalmente lo recogimos y rumbo a catamayo (por cierto fue el viaje más corto).

 

Llegamos al aeropuerto con la tranquilidad de siempre, el chequeo, el ingreso a la sala de preembarque y sucede algo inusual, resulta que están de regreso los artistas del concierto de ayer y como se imaginarán todas las camaras y celulares, buscaban las mejores fotos con Juan Fernando Velasco, Daniel Betancourth y los verdes 70, y esto se vuelve en un interminable deseo de conseguir autógrafos, fotos, etc. Anuncian la salida del vuelo a guayaquil y con éste nos indican que el vuelo a quito ha sufrido un retraso de «1 hora» que hasta este momento son más de 2 horas, cruzamos un par de palabras con unos viajeros con los que luego nos dispusimos a desayunar en la cafetería cuya demanda era altísima y las personas no pueden atendernos a todos.

 

Una vez que degustamos una suculenta humita con jugo de tomate de árbol, el ambiente se vuelve menos tenso y es el momento adecuado para acercarme a Juan Fernando y solicitarle una fotografía a punta de celular, conseguido el objetivo regreso a la sala de espera y me encuentro con una explicación breve pero interesante del piloto acerca de los dispositivos con los que cuenta el embraer de Tame para aterrizar con visibilidad 0%, con lo que aumenta nuestra confianza pero concluye que las autoridades han cerrado el aeropuerto por mal tiempo, así que a esperar.

 

 

Juan Fernando Velasco

 

Vuelve la esperanza del viaje con el anuncio para que ingresemos nuevamente a la sala de pre embarque, pero al más puro estilo de broma fuimos engañados, y nuevamente anuncian que sigue cerrado el aeropuerto, han transcurrido 10 minutos y ahora si estamos subiendo al avión, se cierran las puertas apago mi laptop y a volar a quito.