Mixins y Traits
· ☕ 6 min · ✍️ eiximenis
En este post vamos a ver qué son y en qué consisten los mixins y los traits, dos conceptos muy parecidos entre ellos y que algunas veces se confunden. Primero comentar que no todos los lenguajes los soportan. P. ej. Java (a partir de la versión 8) permite implementarlos en parte, lo mismo que C# usando métodos de extensión. Otros lenguajes como JavaScript, Swift, C++ o Ruby (entre muchos otros) permiten una implementación más completa, ya sea de forma más o menos directa.

Como depurar fácilmente el código de ASP.NET5
· ☕ 3 min · ✍️ eiximenis
¡Muy buenas! Para los que andamos trasteando con versiones alfas y betas con nula o poca documentación, poder depurar el código fuente de las librerías es una manera muy buena de ver qué hace y como lo hace. Cierto, solo leyendo el código fuente se puede aprender mucho, pero poder depurarlo paso a paso es todavía más útil. El primer paso es, por supuesto, disponer del código fuente. En según que librerías eso no es posible, aunque siempre se podía tirar de los desensambladores (por más que eso pueda no ser legal).

Variables privadas en clases ES2015
· ☕ 4 min · ✍️ eiximenis
Una de las novedades de ES6 es la posibilidad de usar clases. Si bien esas clases son realmente sugar syntax sobre el patrón de función constructora, tienen alguna característica que simplifica el uso de dicho patrón y ofrecen una sintaxis que según como se mire puede ser más cómoda. Pero el estándard de ES2015 no tiene ningún mecanismo para indicar que una variable de una clase sea pública o privada. La visibilidad de variables en JavaScript es un clásico, sobre el que ya he escrito algún post.

[Evento]–Hel10 Windows
· ☕ 3 min · ✍️ eiximenis
Buenas! Ayer (22 octubre 2015) se celebró el “Hel10 Windows” un evento organizado por Microsoft en Madrid para hablar de las muchas novedades que incorpora Windows 10 y todo el ecosistema nuevo de la plataforma universal. Antes que nada mi opinión general del evento: Estuvo basante bien. Una keynote un poco sosilla para mi gusto, a pesar de que algunas de las novedades presentadas eran bastante interesantes. Pero, por un lado vivimos en la época de la información globalizada y quien más quien menos ya había oído hablar de continuum y el resto de novedades, y por otro no tenemos el sentido del espectáculo de los americanos (por suerte o por desgracia según cada cual).

¿Qué hace ‘new’ en JavaScript?
· ☕ 6 min · ✍️ eiximenis
Si preguntas a mucha gente cual es el objetivo de new en JavaScript te dirán que el de crear objetos. Y estarán en lo cierto, aunque esa definición no es del todo precisa. Y es que mucha gente no entiende exactamente que hace new así que vamos a dedicarle este post. Creación de objetos sin new La verdad es que new no es necesario en JavaScript. Se pueden crear objetos perfectamente sin necesidad de usar new:

Algunas consideraciones de seguridad sobre OAuth
· ☕ 6 min · ✍️ eiximenis
Cuando hablo de OAuth y del acceso con tokens, ya sea en formaciones o en charlas más o menos coloquiales, muchas veces surgen dudas sobre cuan seguros son los tokens. En este post, sin pretender dar un repaso exhaustivo a todos los flujos OAuth existentes, si que me gustaría comentar algunas consideraciones básicas de seguridad. En el principio estaba OAuth 1.0 La versión 1.0 de OAuth especifica, básicamente, un solo token, conocido como oauth_token.

La dualidad objeto-función en JavaScript
· ☕ 5 min · ✍️ eiximenis
No sé si Brendan Eich es un amante de la física cuántica, pero al menos viendo algunas de las características, así lo parece. No solo tenemos el principio de incertidumbre de this si no que también tenemos el hecho de que en JavaScript un objeto puede comportarse como una función y viceversa, es decir una dualidad objeto-función. Tomemos jQuery p. ej. Por defecto nos define el archiconocido $, con el cual podemos hacer algo como $(“#mydiv”), es decir, usarlo como una función, pero también podemos hacer $.

Módulos en JavaScript… AMD, CommonJS
· ☕ 9 min · ✍️ eiximenis
Con las aplicaciones web cada vez con mayor carga de cliente, y el uso cada vez mayor de sistemas de build en cliente como grunt o gulp, usar módulos para desarrollar en JavaScript es cada vez más habitual. Si todavía te descargas las librerías de sus páginas web y las incluyes una a una en tags <script/> es probable que este post te interese. ¿Qué es un módulo? Llamamos módulo JavaScript a un código que de alguna manera es “auto contenido” y que expone una interfaz pública para ser usada.

ASP.NET 5: Configuración
· ☕ 4 min · ✍️ eiximenis
Una de las novedades de ASP.NET5 es su sistema de configuración. En versiones anteriores el sistema de configuración estaba muy atado al fichero web.config. En este fichero se guardaba tanto la configuración propia del programa (cadenas de conexión, appsettings o información adicional que suele estar en secciones de configuración propias) como información de configuración del propio runtime: tipo de seguridad, módulos a cargar, bindings de assemblies y un sinfin más de configuraciones.

Enviar un array (JS) a un controlador MVC5
· ☕ 2 min · ✍️ eiximenis
Buenas! En los foros de MSDN aparece la pregunta sobre como enviar un array JS a un controlador de MVC. La verdad es que hay varias maneras de hacerlo… veamos dos de ellas, ambas muy sencillas. En todos los casos el controlador tiene el siguiente método: publicActionResultIndex(long[] data) { returnView(); } Opción 1 – Mandar el array como un JSON