miércoles, junio 08, 2016

Aprendiendo Python

Hace algo más de un mes, comencé a aprender Python convencido de la potencia, flexibilidad y portabilidad de este lenguaje.

Para aquellos que quieran aprender Python y no saben cómo comenzar, les dejo el recorrido que estoy haciendo y el orden en el que lo estoy haciendo:
  1. Tutorial oficial
  2. A Byte of Python
  3. Django Girls Tutorial
  4. Django Girls Tutorial: Extensions
Pendientes
  • Creación de APIs REST sobre Django
  • Aplicaciones de escritorio
  • Aplicaciones mobile

viernes, agosto 08, 2014

Gol-Net, el camino elegido

Finalmente elegí cómo desarrollar la nueva versión de Gol-Net.

Durante mucho tiempo tuve Una duda razonable, pero ya tengo claro lo que voy a hacer.

ASP.NET 3.5


Finalmente Gol-Net seguirá siendo una aplicación .NET pero dejará el framework 2.0. Como dije antes, no será 4.5 porque el hosting no lo soporta.

Arquitectura


Me basé en la Arquitectura de aplicaciones corporativas para la nube que comenté en el blog de Wetcom, adaptandola un poco ya que se trata de un sitio chico sin tanta demanda de recursos.

La interfaz de usuario será del tipo "página única" con HTML5, CSS3 y jQuery. Esta capa se conectará a un Web Service que devuelve JSON. Este servicio se encargará de la seguridad y luego "hablará" con la aplicación Gol-Net.

La base de datos no será "en memoria", pero dejará de ser Access para pasar a un esquema SQL Server.

Novedades


El nuevo Gol-Net será "multi-tenant" lo cual permitirá la creación de campeonatos privados. Una vez terminados será posible borrar todos los datos (incluyendo los usuarios) sin afectar al Gol-Net tradicional.

La interfaz de usuario será basada en Bootstrap para que se adapte a diferentes resoluciones de pantalla.

¿Que tiene de interesante?


Utilizando este esquema, logré mantener cada capa completamente separada de las demás y me permitió mantener cada capa muy simple. Sin necesidad de MVC ni funcionalidades exóticas.

Lo único que estoy utilizando del framework 3.5 son los tipos genéricos que permiten que el código sea mucho más simple y claro.

Por último, podría modificar cada capa sin que esto afecte el resto. Bien podría migrar a Java y Spring para la aplicación y la interfaz de usuario sería exactamente igual. O podría desarrollar una aplicación de escritorio o mobile y utilizar el mismo servicio web.

jueves, junio 26, 2014

Spring Tool Suite se cierra cuando usamos Run on Server

Todo parece funcionar bien con Spring Tool Suite pero, al hacer "Run on Server", STS simplemente se cierra.

Iniciamos nuevamente STS y al volver a ejecutar "Run on Server" nos dice que el puerto 8080 está siendo usado. Esto significa que tc server inició correctamente.

Revisamos el log creado en la carpeta de STS "hs_err_pidxxxx.log" y dice algo asó como "A fatal error has been detected by the Java Runtime Environment" y luego "C  [libwebkitgtk-1.0.so.0+0x462159]  webkit_web_view_get_type+0x2489" o algo similar.


Solución


Agregar la siguiente línea al final del archivo STS.ini (o eclipse.ini):
-Dorg.eclipse.swt.browser.DefaultType=mozilla

Solución encontrada en la siguiente URL luego de buscar por horas:
http://arecordon.blogspot.com.ar/2013/06/eclipse-problematic-frame-c-libsoup.html