Google Web
4 jun 2015
Tubular en Java, o sea mi vida no vale nada
Me di a la tarea de ayudarlos y comenzar a programar en JAVA, cosa que no hacía en varios años, y la verdad que recuerdo porque dejo de hacerlo. JAVA es feo. Tarde un rato haciendo esas cosas locas como manejar el POM, configurar el JPA, hacer que Hibernate no se matara y sobre todo que el horrible Eclipse no se colgara cada 5 minutos.
La vida en Visual Studio me volvio más holgazan quizás, o Eclipse es tan horrible que deberían quemarlo con fuego. Aún así logre mi cometido, y deje un ejemplo funcional conectado a MySQL para presentar Tubular. Un éxito. Por si estan interesados en el código (que no forma parte del proyecto) esta en mi cuenta de GitHub como tubular-spring-hibernate.
20 may 2015
EmbedIO Extras
EmbedIO Bearer Token Module - Que permite utilizar autentificación por medio de Bearer Tokens directamente en EmbedIO con una plataforma muy similar a la que cuenta en ASP.NET. El Nuget esta disponible como EmbedIO.BearerToken.
EmbedIO Owin integration - Este paquete incluye dos maneras de trabajar la integración con OWIN:
- Usar EmbedIO directamente como un server de OWIN y por lo tanto recibir todo el pipeline en los Modulos de EmbedIO.
- Si no quieres cargar con todo OWIN, puedes usar modulos Middleware de OWIN directamente en EmbedIO, registrando el modulo de EmbedIO especializado.
En el sitio web de EmbedIO Extra hay ejemplos, me falta documentarlo un poco mas. El Nuget se llama EmbedIO.OWIN
14 may 2015
EmbedIO v1.0.5
- Se agrego soporte a async Tasks en los métodos de los WebAPI's Controllers. Que no le veo tantísima utilidad pero un fan lo pidio.
- Se implementaron métodos de extensión para permitir trabajar el WebServer con metodos encadenados (Fluent Interface) para tu sabes:
var server = WebServer .CreateWithConsole(url) .WithLocalSession() .WithStaticFolderAt("c:/web");
7 may 2015
Documentando Directivas de AngularJS
Llegue al documento de AngularJS en Github titulado Writing-AngularJS-Documentation que explican, nada claro, como realizar la documentación por medio. Para realizar la documentación necesitas comenzar con escribir en tu código todo lo que necesitas explicar usando ngDoc que es un sabor extendido de jsDoc. Es lo mismo pero solo con unos campos adicionales especificos para AngularJS.
Ya con tus archivos JS llenos de comentarios relevantes y detalles que casi nadie lee. Es momento que comience lo bueno, pues hay que montar un paquete llamado Dgeni (nota: por favor instala el Dgeni-packages porque Dgeni por si mismo hace nada) y comenzar a escribir un Javascript que debera procesar los comentarios jsDoc.
Dgeni soporta muchas formas de exportar el contenido, y en los paquetes trae soporte para nunjunks que es una especie de template engine, no tan cool, que puedes usar para generar unos lindos HTML con todo. La verdad que al principio configurar dgeni es un poco raro, por eso mejor les dejo el siguiente ejemplo que use para comenzar https://github.com/petebacondarwin/dgeni-angular. El archivo "dgeni-conf.js" es donde sucede gran parte de la magía.
Finalmente ya puedes mover tu monton de archivos HTML con links internos, o como yo que los bote para usar un método de AngularJS acoplado a un controller que hice. El resultado se puede ver ya en línea: Tubular Documentation. Falta terminar de detallar, pero ya tenemos API DOC!
4 may 2015
Novedades Tubular
- Iniciar un nuevo proyecto Tubular (con AngularJS y Bootstrap) que puede usar tanto Bower como un CDN para cargar las librerías.
- Crear vistas de ejemplo o desde un archivo JSON.
- Generar una vista de Grid directamente a tu proyecto actual usando un OData, con opciones para personalizar (similares a las del generador en línea).
- Generar una vista de Form, igual con un servicio OData.
29 abr 2015
Visual Studio CODE
En otras notas, EmbedIO tiene nueva versión con algunas correcciones y mejoras como el EmbedIO CLI para tener un webserver rápido con soporte a WebAPI y WebSockets.
25 abr 2015
Tubular 0.9.6 con generadores de código
El generador interpretara el modelo para presentar un fácil diseñador de columnas o campos con opciones para extender el código AngularJS final. Y lo mejor de todo es que con un simple click se puede mandar al servicio de Plunker todos los archivos necesarios para generar un proyecto.
El generador de código para Grids se encuentra en http://unosquare.github.io/tubular/#/Generator y para Forms en http://unosquare.github.io/tubular/#/FormGenerator. De hecho también actualice la documentación y mejore un poco el diseño del sitio web.
La nueva versión ya esta en Nuget y quizás en unas horas en JsDelivr.
21 abr 2015
Novedades DEV
Lo que si esta quedando realmente guapo es el Tubular Web Generator que permite generar todo el markup para un grid de Tubular desde un modelo JSON, hasta te permite exportar todo tu diseño a Plunker para mandarlo a Git o que se yo.
20 abr 2015
Tubular 0.9.4
- Columns visibility
- Cell Templates linked to Columns Definition
- Column Selector control in dropdown menu
- Basic grouping
18 abr 2015
GitHub Pages desde Raspberry Pi
![]() |
Raspi trabajando como nunca |
![]() |
Muerte lenta en mi televisor |
17 abr 2015
Tubular en JsDelivr, lease un CDN
Por el momento solo esta publicada la version 0.9.2, igual que en el NuGet, pero en GitHub hay avances de una nueva versión más ligera y posiblemente termine con un nuevo control de menu para poder seleccionar columnas. Algo así como en este menu de Kendo Grid.
15 abr 2015
Tubular 0.9.2
Pendiente todavía integración para bower y grunt o algo así. Eso e intentar subirlo a un CDN, que previamente ya he intentado con otra librería y mori.
Revisión de cambios a partir del commit 73650e175b206c930191caae8176b73bef3cb2e5 en GitHub.
14 abr 2015
Git y yo
geoperez@LOL ~
$ git clone https://github.com/geoperez/cdnjs
Cloning into 'cdnjs'...
remote: Counting objects: 293563, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 293563 (delta 3), reused 0 (delta 0), pack-reused 293549
Receiving objects: 100% (293563/293563), 600.09 MiB | 6.01 MiB/s, done.
Resolving deltas: 100% (124052/124052), done.
Checking connectivity... done.
Checking out files: 7% (56310/727861)
13 abr 2015
Tubular 0.9.1
Quizás nueva versión de la documentación pronto.
10 abr 2015
Muriendo con CDNJS
9 abr 2015
Tubular NuGets
- Tubular - Este NuGet contiene solo el bundle de CSS y Javascript.
- Tubular Server side - Server side incluye un assembly que permite generar los modelos de Request y Response usando System.Linq.Dynamic. Lo cual es como la mitad del trabajo.
6 abr 2015
Tubular Nodejs
Estaba pensando en separar quizás un poco el proyecto de Tubular del codigo C# e incluir un proyecto nodejs en la solución de Visuek Studio. No he usado nodejs, pero supongo que quedaría bien y sin esfuerzo usando el servicio de OData.
Quizás pueda incluir algo en npm o así. Por cierto hay actualización en el código y en la documentación. Me acosan las dependencias. Pero usar RequireJs fue un fracaso con AngularJS.
1 abr 2015
EmbedIO + Tubular
Por cierto ya tengo los Nugets de Tubular, pendientes de publicar. Uno con el client-side, solamente el bundle de Javascript y CSS y otro con el server-side que incluye los helpers de Dynamic LINQ para generar los payloads. Este último trae como dependencia al client-side. En el siguiente post publico los links.
30 mar 2015
Tubular - Sitio demo
La liga para el demo esta en: http://unosquare.github.io/tubular/.
Necesito trabajar en un demo de Tubular/EmbedIO también.
27 mar 2015
Amazon Cloud Drive - La Venganza
Your 5 GB plan is no longer available and has been replaced with a free 3-month trial of one of the Unlimited plans. Access to your existing files has not changed. You can continue to download and view your content. In order to upload new files you will need to pick one of the free 3-month trials.
Accedi a mi cuenta y asi todo mágico me es imposible dar de baja el servicio. Solo existe la opción escoge un trial para luego cobrarte, y ya. Ni tengo nada en el servicio. ¿Porqué Amazon? ¿PORQUE? Solo espero que no tome mi información de tarjeta de crédito y haga una tontería...
Y asi es como una empresa con muchos servicios y muchas tonterías, hace un servicio de respaldo en línea sin un plan gratis y sin forma de matar una cuenta previa.
26 mar 2015
Tubular en GitHub
Solo espero tener un poco de tiempo para comenzar a hacer el tutorial. Mientras tanto pueden curiosar el código.
25 mar 2015
EmbedIO - Bitacora del Capitan - Fork
Tuve algunos problemas con WebSockets, necesito darle un poco de tiempo para ver que es lo que esta pasando ahi. Eso y quizás pensar en algun Bearer Tokens, eso estaría muy bien.
24 mar 2015
FutureWiz
- Se tiene una lista de "destinos" que se pueden definir como metas al futuro que tienen dependencias de otras metas y tienen un valor particular de necesidad de cierto recurso (dinero o tiempo)
- Definir los valores iniciales, reglas, del "ejercicio" que podría ser, más no limitarse, a número de dinero disponible o tiempo que podría invertirse en intervalos de tiempo.
- Verificar en base a las reglas cuales destinos son realizables y los que no, definir porque regla quedan fuera. Por ejemplo, cantidad de dinero acumulable no es suficiente.
- Representar toda la información del escenario "más probable" en base a las reglas actuales.
- Permitir modificar las reglas en base a recomendaciones generadas por el sistema.
22 mar 2015
EmbedIO
EmbedIO es un proyecto que hicieron en mi trabajo, que a diferencia del montón de aburridas pantallas de CRUD, si es interesante. Que por cierto esta en Github.
Como sea, EmbedIO es un pequeño web server de en C# que te da acceso a una versión ligera y amable de WebAPI, sin tanto drama y Web Sockets, que dios me libre nunca he usado y espero no hacer. Tiene otros detalles interesante como Static Files y Web Sessions. Claro que no tiene Razor o algún Template Engine, pero en estos días del JSON a quien le importa.
Una de las utilidades que le he visto, y en que he utilizado EmbedIO en dos proyectos, es para generar la UI de aplicaciones de escritorio que corren en Windows y Linux. De hecho tengo que probarlo en OSX con Mono, ojala y si funcione a la primera. En estos casos con la UI simplemente hubiera muerto intentando usar Winforms o Gtk#. La última app la estoy diseñando con una UI Framework en AngularJS que espero pronto me den permiso de publicar en Github de nombre Tubular, yo no escojo los nombres.
Hay algunos puntos que puede mejorar el Web Server, por ejemplo tiene de dependencia log4net, lo que se me hace absurdo y necesito trabajar en algún tipo de dependency injector sencillo para el log. No es decente depender de una librería así en un componente.
Este es solo un pequeño recordatorio para mi de la existencia del blog, aunque si posteare una pequeña guía en la semana de como trabajar con EmbedIO y Tubular. Por cierto EmbedIO tiene un Nuget, asi que no hay forma de decirle que no.