Archivo de la etiqueta: .NET

Creando un clúster Hadoop en HDInsight – Parte 2

Como vimos en la primera parte, tenemos varias formas de crear nuestro clúster Hadoop en HDInsight.

En este post veremos cómo crearlo desde código .NET y desde PowerShell.

Crear el clúster desde código C#, con el SDK de HDInsight

Paso 1: Instalar los paquetes NuGet necesarios

Para crear nuestro clúster desde C# primero deberemos instalar el paquete NuGet de administración de HDInsight. Sigue leyendo

Anuncios

Accediendo a Redis caché desde .NET

Introducción

Al ser un servicio de Microsoft Azure, el servicio de caché en Redis es accesible desde una API REST, pero, ¿para qué tomarnos el trabajo de acceder de esta forma si tenemos disponibles librerías de alto nivel que nos ayudan en esta tarea?

La gente de Stack Exchange (si, los dueños de Stack Overflow) creó una librería, open source y altamente performante, para acceder a Redis (algo que ellos usan mucho para sus propios servicios), llamada StackExchange.Redis. En este post vamos a estar viendo cómo acceder a nuestro servicio de caché en Redis utilizando esta librería.

Para saber como crear el servicio de caché de Redis en Azure, pueden ver mi post de Introducción a Redis Cache. Sigue leyendo

Usando Azure Search desde .NET

En el post anterior vimos un poco de historia y cómo crear nuestro primer servicio, hoy vamos a ver cómo usar este servicio desde .NET.

Instalar el SDK oficial

Al momento de escribir este post, el SDK oficial se encuentra en la versión 0.9.7-preview, con lo cual soporta sólo una parte de la funcionalidad disponible en la API 2015-02-28, pero es suficiente para hacer las tareas más comunes. Está disponible en NuGet, bajo el nombre Microsoft.Azure.Search (no olvidarse de seleccionar “Include Prerelease” para que aparezca en el listado de búsqueda).

Escenarios

Los escenarios que vamos a estar viendo son: Sigue leyendo

Introducción a Azure Mobile Services

¿Qué es el servicio de Azure Mobile Services?

Azure Mobile Services (Servicios Móviles) nos permite crear un backend para nuestras aplicaciones móviles en minutos. Podemos integrar aplicaciones sobre múltiples plataformas: Windows Phone, Windows Store, Android, iOS, Xamarin (iOS y Android), PhoneGap, HTML, Sencha y Appcelerator.

¿Qué funcionalidad nos provee?

  • Hosting de una web API .NET o Node.js con monitoreo y administración 24×7.
  • Uso de single sign-on con Microsoft Account, Active Directory, Facebook, Twitter y Google.
  • Notificaciones push a usuarios individuales y segmentos de audiencia dinámicos.
  • Guardar datos en SQL, Table Storage, y MongoDB.
  • Acceder sistemas on-premise, Office 365, y SharePoint.
  • Usar sincronización basada en la nube para aplicaciones que funcionan offline.
  • Autoescalado a millones de dispositivos.

¿Por dónde arrancamos?

Sigue leyendo

Haciendo consultas sobre Azure Table Storage

En las primeras versiones del Azure Storage library (1.x), la experiencia era muy similar a la de un Entity Repository, en el sentido que teníamos un Context y muchos llamados LINQ. Aunque era fácil de entender, era muy complicado determinar exactamente cuándo se hacía la consulta al servicio. Y era bastante molesto estar limitado solamente a las funciones “Where”, “First” y “Select” de LINQ.

Desde la versión 2.0, tenemos disponible un objeto TableQuery que nos da más control sobre nuestra consulta y podemos entender mejor qué está pasando.

Trayendo una entidad

Para traer una entidad necesitamos hacer una consulta con el Partition Key y el Row Key. Sigue leyendo

Como publicar una aplicación Windows Phone que no soporte dispositivos de baja memoria

Hay casos en los cuales, lamentablemente, el límite de memoria que una app Windows Phone puede usar no es suficiente para poder ejecutarla, por ejemplo, en aplicaciones que hacen uso de mapas, muestren muchas imágenes o tengan largas listas de datos.

El límite depende de la versión del Sistema Operativo:

  • Para Windows Phone 8 es de 150 MB.
  • Para Windows Phone 7 es de 90 MB.

Para avisarle al Store que nuestra app no soporta funcionar en dispositivos con baja memoria (256 MB en WP7 y 512 MB en WP8) debemos agregar, en el manifiesto de la app (WMAppManifest.xml) lo siguiente (abriéndolo con el editor XML):

  1. Una sección Requirements:
    Para WP8, debe ir justo después de la sección ScreenResolutions.
    Para WP7, debe ir justo después de la sección Capabilities.
  2. Un elemento Requirement dentro de la sección Requirements:
    Para WP8, un atributo Name con valor ID_REQ_MEMORY_300.
    Para WP7, un atributo Name con valor ID_REQ_MEMORY_90.

Ejemplo (WP8):

<Requirements>
      <Requirement Name="ID_REQ_MEMORY_300" />
</Requirements>

Si se cuenta con una app para WP7.1 y se quiere dejar de soportar también los dispositivos WP8 de baja memoria (512 MB), se debe usar ID_REQ_MEMORY_300, el cual elimina el soporte para los dispositivos WP7 y WP8. Si se especifican ID_REQ_MEMORY_90 Y ID_REQ_MEMORY_300, el requerimiento ID_REQ_MEMORY_90 es ignorado.

Saludos!

@gjbellmann

Comenzando a dibujar desde .NET

En el post anterior, solamente devolvimos un mensaje de texto ante la ejecución de un comando.
En este post vamos a comenzar a agregar entidades al dibujo. Para ello lo primero que vamos a hacer crear un nuevo proyecto (librería de clases) y vamos a utilizar la clase que se crea por defecto.

Agregamos las cláusulas using necesarias:

using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;

Obtenemos la información del documento actual, su base de datos, y generamos una nueva transacción para ejecutar las modificaciones al dibujo:

      Document acDoc = Application.DocumentManager.MdiActiveDocument;
      Database acCurDb = acDoc.Database;
      using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
      {

Sigue leyendo