4 formas de manejar dependencias en NodeJS

La gestión de dependencias es uno de los trabajos importantes que tenemos los programadores a la hora de desarrollar sistemas. La forma en que creamos módulos y los relacionamos los unos con los otros puede ser el factor determinante para que nuestro proyecto sea un éxito o no.

¿Cuanta funcionalidad incluyo en un módulo? ¿Cuándo divido un módulo en partes más pequeñas? ¿Cómo los conecto? ¿Qué módulo depende de quien? Contestar todas estas preguntas suele ser difícil y dependiendo del programador con el que hables y el contexto en el que te encuentres, podrás tomar decisiones de diseño diferentes.

Pero ya no es solo en cómo creamos esos módulos y los conectamos, sino más bien, en cómo hacemos que los módulos sean lo mas independientes posibles, cómo podemos hacer que nuestro módulo pueda ser extraído de la maraña para, sino ya ser reutilizado, por lo menos ser testado de manera aislada del resto.

Cómo podremos manejar las dependencias de un módulo, nos va ayudar en nuestro cometido, por ello, el post de hoy nos hablará de cómo incluir dependencias de 4 formas diferentes que nos podrán ser útiles dependiendo del contexto de cada uno de los módulos.

Veremos que la versatilidad de JavaScript nos va a ayudar a la hora de manejar dependencias.

Read More

Anuncios

ES7: El operador ::bind

12528337624_f9437aca7d_b.jpg

Imagen de ewka2205

Aviso: El post explica funcionalidades experimentales que no se encuentran el estándar todavía y que puede que nunca lo estén.

Investigando un poco sobre las propuestas que se hacen al grupo de trabajo de EcmaScript he topado con una que me parece interesante traer aquí al blog y que quizá os interese.

Se trata de la posibilidad de incluir un nuevo operador que nos permita enlazar el contexto a la función que nosotros queramos. Lo han denominado coloquialmente operador bind.

En este post os hablo de qué trata, en qué casos nos podría ser útil y el estado en el que se encuentra actualmente su implementación final. Espero que os guste:

Read More

Reseña: Dar y recibir

Me apetecía leer algo relacionado con temas socioculturales y psicológicos. Me interesan muchos aquellos asuntos que tienen que ver con las interacciones humanas, con cómo nos relacionamos, con cómo demostramos empatía hacia ciertas situaciones y con cuáles no.

Me interesan muchos estos temas, porque creo que una parte complicada de llevar a cabo Scrum como marco de trabajo en nuestro día a día, viene enfocado en cómo tratamos todos nuestros problemas como equipo. Conocer el manifiesto, los artefactos, las reuniones o roles es, por lo general, bastante sencillo. Sin embargo, llevar Scrum a buen puerto en un equipo de desarrollo, cuesta más de lo que muchas veces pensamos al principio.

Bajo mi humilde opinión, creo que esto es debido al alto componente humano y la gran cantidad de responsabilidad que se delega en el equipo de trabajo. No lo critico, que conste. Me encanta la idea. Creo en los equipos autoorganizados como forma de motivación y de mejora continua. Pero si es cierto que con los sistemas educacionales con los que contamos y esta cultura de competencia que triunfa, no nos han preparado para trabajar de esta forma.

Por eso, de vez en cuando, intento leer libros que no tienen tanto que ver con la técnica o las metodologías y sí más con las interacciones y la forma de relacionarnos. Si en meses anteriores ya os hablé sobre Comunicación No Violenta, hoy os venía hablar de otro libro: Dar y recibir.

Read More

#Codemotion2016: Compartir. Escuchar. Vivirlo.

img_20161119_233445

Diapositiva de la charla “Nadie quiere trabajar conmigo”

Cuando uno conoce a personas que saben más que tú, lo mejor que puedes hacer es escuchar

Volvimos este fin de semana a Codemotion, la conferencia de las comunidades para las comunidades. 2100 personas aprendiendo los uno de los otros, poniéndonos al día, madurando nuestro sector a base de charla, conversación de pasillo o comentario en Twitter.

Tras mi segunda edición, me voy con una sensación extraordinaria: me gusta mucho cuando mis cimientos e ideas se tambalean en mi cabeza y los ponentes consiguen que piense de otra manera. Lo han conseguido durante este fin de semana en más de una ocasión y eso para mi es una señal de que ha merecido mucho la pena.

Esta es mi review sobre lo que fue mi experiencia en Codemotion. Seguramente muy diferente a la que vosotros tuvisteis. Pues esa es la magia de esta conferencia. Dos días, tantas charlas, tantas personas dan para contar mil y una historias. Empecemos:

Read More

La tecnología que ha ayudado a Pokémon Go a ser un éxito de masas

pokemon-go_3afs

Lo reconozco. Estoy un poco viciado a Pokemon Go desde salió en el Google Play. El videojuego ha hecho que me reencuentre con mi yo de hace 16 años. Fuera de debates de si se nos está yendo de las manos o no, hay que reconocer que el videojuego ha sido el fenómeno de este verano y que está arrasando por cualquier parte a la que voy. Todo el mundo habla de ello.

Los que hayáis podido jugar en sus primeras semanas de nacimiento habréis podido comprobar que la aplicación no ha funcionado a nivel de rendimiento tal y como se esperaba. Creo que ni la propia Niantic (empresa encargada del desarrollo de la aplicación) se esperaba este recibimiento y las previsiones de escalado no debieron ser las correctas. Es normal.

Si es cierto que cada vez que el juego me ha dejado tirado en el momento más inoportuno me venía a la mente ese gusanillo informático por saber lo que estaría sufriendo esos desarrolladores por solucionar todos esos problemas y a la vez me corroía una intriga sana por saber qué tecnologías les habían ayudado a conseguir este éxito tan descomunal.

Investigando un poquillo en un rato muerto de las vacaciones he podido hacer una foto a muy alto nivel de qué tecnologías usan y cómo deben tener montado todo el tinglao. ¿Os interesa saberlo? Seguidme:

Read More

Bots: Qué son y cómo crearlos

bothead

Desde el nacimiento de servicios como Siri, Ok Google y Cortana hemos visto cómo los clientes y desarrolladores han empezado a interesarse por la magia de los asistentes personalizados que están llamados a ser el futuro de la interacción entre los seres humanos y los dispositivos móviles. Estos sistemas, denominados coloquialmente en la jerga informática como bots, son solo un ejemplo de las muchas posibilidades que  nos van a proporcionar en el futuro.

Y estos bots ¿Que son? y quizá lo más importante si eres desarrollador ¿cómo puedo crear uno? Durante este post espero que veas un poco de luz en tu camino hacia la construcción de bots.

Read More

AngularJS 1.x: Componentizando tus aplicaciones

banner_puzzle

EDIT: En el tiempo que he dedicado este post, Carlos Azaustre ha subido una entrada entera para explicar el taller que dió en la AngularCamp de Barcelona y habla exactamente sobre el mismo tema de una manera mucho más profunda y concisa.

Como tenía bastante avanzado el post he decidido publicarlo, sin embargo, os recomiendo encarecidamente que vayáis al suyo ya que deja todo los conceptos mucho más claros.

Sí, estoy hablando de Angular 1.x, no me he equivocado de framework. No, no me he vuelto loco, voy a componentizar vuestras aplicaciones hecha en AngularJS 1.x con… AngularJS 1.x. ¿Queréis saber cómo? Adelante 🙂

Read More