Alex Casquete


A functional blog

Arquitecturas Lambda en Azure: recopilando eventos

Los dispositivos móviles se utilizan para detectar nuestra presencia en centros comerciales, salas de exposiciones, estaciones de tren, aeropuertos, hospitales, museos y un sinfín de lugares más. Esto es posible porque los dispositivos móviles pueden detectarse mediante puntos de acceso WiFi, independientemente del estado de asociación, lo que significa que incluso si un usuario no conecta su dispositivo a la red WiFi, la presencia del dispositivo puede detectarse mientras esté dentro del alcance de la red y, obviamente, la conexión WiFi del dispositivo esté habilitada.


Arquitecturas Lambda en Azure

Esta es la primera entrada, espero que de muchas, en la que veremos los principales desafíos a los que nos enfrentamos cuando tenemos que desarrollar soluciones de procesamiento de datos masivos en sistemas de Big Data. Mostraré el enfoque y tecnologías utilizadas para dar respuesta a esos desafíos y cómo implementamos estas soluciones basadas en servicios de Azure: HDInsight, Stream Analytics, EventHub, Data Lake, etc. Antes de entrar en materia, aprovecho esta primera entrada para introducir el concepto de Arquitectura Lambda, en la que veremos las técnicas de Big Data en contraposición a los sistemas tradicionales.


Desplegar una Web App Suave como un contenedor Docker

¿Has oído hablar de Docker? Seguramente sí, a no ser que te hayas pasado los últimos meses, o años podríamos decir a estas alturas, encerrado en una cueva. Para contribuir un poco más al hype creado en torno a esta tecnología, voy a dedicar una serie de entradas al uso, creación y despliegue de contenedores Docker. Si eres de los que no sabes de qué va todo esto y has caído en este blog, aquí encontrarás una guía introductoria a Docker, con los pasos necesarios para empaquetar y desplegar una aplicación web.


Primer contacto con F# y .NET Core

En este post veremos cómo comenzar a utilizar F# con .NET Core. Comenzaremos creando un proyecto F# mediante las herramientas de línea de comandos (.NET CLI). Aprovecharemos, además, este primer post para introducir el funcionamiento del servicio Configuration de .NET Core para cargar la configuración de nuestra aplicación desde distintos orígenes, utilizando una colección en memoria, los clásicos ficheros externos y la versátil línea de comandos.


Inferencia de tipos y la generalización automática

Una de las características con la que cualquier programador queda atrapado al entrar en contacto por primera vez con F# es con la inferencia de tipos. Por ejemplo, a partir del siguiente código:


Integrando FAKE y Visual Studio Team Services

FAKE (F# Make) es un DSL escrito en F# con el que podemos definir diferentes tareas para compilar y desplegar cualquier tipo de proyecto. Es un sistema de automatización de builds similar a Make o Rake, es open-source y cuenta con una comunidad, con más de 200 contributors, muy activa.


Utilizando motores de vistas con Suave

En el post anterior vimos cómo haciendo uso de la composición de funciones podíamos definir las rutas de nuestra aplicación web y devolver una respuesta con un código HTTP determinado y una cadena de texto en el cuerpo en cada una de esas respuestas. Esto lo conseguíamos fácilmente con las WebParts OK, CREATED y ACCEPTED que están definidas en el módulo Succesful. Pero además de devolver una cadena de texto, que nos puede ser muy útil e incluso suficiente para desarrollar una Web API, Suave también permite utilizar distintos motores de vistas para generar HTML y enviarlo al cliente.


Primeros pasos en el desarrollo web con Suave

En la entrada anterior vimos cómo implementar Hypermedia en una API REST utilizando Suave, en la que partíamos de una pequeña solución y dábamos por conocidos algunos conceptos. En esta entrada damos a un pequeño paso atrás para introducir el funcionamiento y conceptos básicos de Suave para poder afrontar y crear un proyecto web. A través de varios posts, iremos conociendo las distintas características de Suave con los que cualquier desarrollador, incluso sin conocimientos profundos del lenguaje, podrá crear y desplegar una web realizada íntegramente en F#.


Building an Hypermedia REST API with F# and Suave.IO

Hypermedia, also known by the acronym HATEOAS (Hypermedia as the Engine of Application State), is an architecture feature of REST applications that allows clients to fully interact with a service through resources provided dynamically by the server. This enables that client and server implementations can evolve independently.


Reconnect(); //2015

El pasado 18 de noviembre Microsoft celebró en Nueva York el evento anual para desarrolladores donde pudimos conocer de primera mano la estrategia sobre el futuro de sus herramientas de desarrollo y servicios, Microsoft Azure, desarrollo de aplicaciones web y desarrollo de apps multiplataforma para Android, iOS y Windows.