Mostrando entradas con la etiqueta JavaScript. Mostrar todas las entradas
Mostrando entradas con la etiqueta JavaScript. Mostrar todas las entradas

jueves, 12 de marzo de 2020

Cuando tienes un martillo (TypeScript) ...

todo parecen clavos (tipos). 

Estaba buscando como se hacen uniones discriminadas y pattern matching con typescript y me he encontrado con artículo en un blog con una solución para "reducir la cantidad de código que tenemos que escribir en una funcion reduce de Redux sin comprometer la seguridad de tipos".

Traducido al castellano significa que así pulsamos menos teclas para construir la función reduce porque al estar fuertemente tipado salen las letritas y los cartelitos de autocompletado del intellisense del VS Code.

martes, 10 de marzo de 2020

Composición de software - Inyeccion de dependencias funcional en la canalización de funciones.

La cosa viene de la I  y II parte. Pégale un vistazo si no lo has hecho todavía.

En esta entrada voy a demostrar lo fácilmente que se puede modificar y/o extender el comportamiento del workflow de la aplicación y además como se puede hacer inyectando las dependencias para conseguir una arquitectura con bajo acoplamiento.

lunes, 9 de marzo de 2020

Composición de software - Canalización de funciones con aridad heterogénea en JavaScript usando mónadas.

La cosa viene de la I parte. Pégale un vistazo si no lo has hecho todavía.

En esta entrada voy a usar una unión disyuntiva en las funciones orquestables del ejemplo anterior y modificamos la función pipe para que opere con ella.

jueves, 5 de marzo de 2020

Composición de software - Canalización de funciones con aridad heterogénea en JavaScript

La canalización de funciones es una de las partes más importantes para el desarrollo de software usando el paradigma de programación funcional.

Si revisas las entradas del gran Eric Elliott en Medium verás una línea de código extremadamente sagaz:

const pipe = (...fns) => x => fns.reduce((v, f) => f(v), x);

viernes, 24 de enero de 2020

Mi nuevo pet project.

Un completo engine en node.js y su bot de telegram acompañándolo, que permite jugar al juego de mesa MOON(1110011). Habla con el bot para jugar en single player; añade el bot a un grupo y podrás jugar en cooperativo con tus amigos! allá donde estés, sin fronteras!


Si alguien se siente generoso podría hacer un bot en otras plataformas; slack, messenger, etc utilizando el mismo engine por lo que en un principio lo tiene facilito ;)

miércoles, 5 de junio de 2019

Que las promesas no te controlen a ti.

Pues sí; aquí estamos tirando código Javascript que tenga que funcionar en navegadores relativamente antiguos y sin que me dejen usar Babel debido al gañanismo atávico de Españistan.

Aquí estamos usando la implementación de las promesas provistas por JQuery que deja mucho que desear. Pero a lo tonto he interiorizado varias cosas interesantes que quiero compartir.


viernes, 12 de febrero de 2016

Promesitas titas titas...!

Casi cualquiera que haya trasteado un poco con JavaScript y principalmente con NodeJS es casi seguro que se ha encontrado con el patrón promesa y lo ha usado para quitarse anidaciones infinitas e infiernos de callbacks en operaciones asíncronas.

El patrón en sí mola y es una buena idea aunque, como todo, también depende de la implemetación que se use para que te de más o menos funcionalidades.

¿Pero cómo funciona por dentro este patrón?

jueves, 14 de enero de 2016

Mi nuevo proyecto mascota.

Alertas de consumo Servicio de notificación de alertas de productos no alimenticios. Fuente: aecosan. Contacto: alertasconsumotelegram@gmail.com 
Hecho con Node.js. Suscribiros bastardillos!

miércoles, 13 de enero de 2016

Aplana tu código asíncrono en JavaScript

Debido al modelo asíncrono y de loop de eventos de NodeJS, en ciertas ocasiones nos encontramos con una situación en la que tenemos una terrible pirámide de callbacks y acabamos en lo que la gente llama "callback hell".

jueves, 27 de agosto de 2015

Indispensables (o no tanto) para empezar con Node.js

En una entrada anterior hice una reseña sobre mi primer acercamiento a Node.js. Esta entrada tiene por objeto agrupar en unas pocas líneas algunas anotaciones y recomendaciones sobre las herramientas necesarias para empezar a explorar este mundo. Aunque he procurado hacer algunas pesquisas adicionales, mi punto de partida es, como no podía ser de otro modo, el curso al que hice mención con anterioridad. 

Bien, ¿Por dónde empiezo? Estoy ávido de conocimiento. Quiero hacer un "Hola mundo" ya... 

Lo primero y más importante (y tan absolutamente obvio que podrías mandarme a tomar viento...) es instalarse Node.js en el equipo. Cuando empecé con el curso, los tutores (y varios sitios web que consulté) recomendaban trabajar en un entorno Linux porque "Node en Windows podía dar algunos problemas". Yo habitualmente trabajo con Windows 7, así que al principio me rondó la idea de instalar un VirtualBox o similar, pero finalmente decidí arriesgarme con la instalación para Windows y no tuve mayores problemas. Podéis descargar el archivo .msi en este enlace. Una vez instalado tendremos a nuestra disposición todo un abanico de módulos que nos facilitarán la vida en el desarrollo de aplicaciones. 

jueves, 20 de agosto de 2015

Trasteando con Node.js y JavaScript

De un tiempo a esta parte me estoy aficionando a los MOOC (Massive Open Online Course). Me parece una magnífica manera de satisfacer mi curiosidad y de enriquecerme un poquito profesionalmente, ¡Y por un precio muy módico! De hecho creo que de disponer de más tiempo podría llegar a convertirse en una verdadera adicción afición. Hace algún tiempo conocí una plataforma en castellano (también en portugués) que se llama MiriadaX. Hice con ellos un curso de HTML5, CSS y Javascript, desarrollado por la Universidad Politécnica de Madrid y, salvando los inconvenientes y pequeñas carencias de este tipo de plataformas, me gustó bastante y me dejó cierto poso, sobre todo en lo referente a hojas de estilo. 

Hace poco he terminado otro, también de la Politécnica de Madrid, sobre servicios en la nube y Node.js. No es que me vaya a convertir en un experto en Node.js (Probablemente eso no ocurrirá en un plazo de tiempo razonable... ¡más quisiera!) pero me ha dado dado una buena overview y sobre todo me ha dejado con ganas de aprender más. Como estas cosas, si no se practican, empiezan a olvidarse casi en el mismo momento en el que presentas el último ejercicio, me hubiera gustado revisar profundamente todos los temas del curso en el blog, pero lo cierto es que el tiempo del que dispongo es muy limitado, así que no voy a hacerlo; aunque probablemente sí que iré dejando algunas píldoras... Dicen que tratando de explicar algo es como mejor termina de comprenderlo uno mismo. Sea, al menos, por tener donde agarrarme cuando quiera recordar alguna de estas cosas...