Kata #3 - Happy Number

Happy Number es un Kata muy divertido que se define así: Escribir un algoritmo para determinar si un número es “feliz”. Los números felices se definen por el siguiente procedimiento: empezando con cualquier número entero positivo, se reemplaza el número por la suma de los cuadrados de sus dígitos, y se repite el proceso hasta que el número es igual a 1, si el número nunca llega a 1, se dice que es un número infeliz :( …

So you want to be a developer?

La gente siempre me ha preguntado por tips para seguir en el mundo de la tecnología que crece a pasos enormes, un mundo en el que cada semana hay un nuevo framework o nuevas best practices que aplicar a nuestra vida diaria en los proyectos que nos encontramos. La idea original del blog es para ayudarme a recordar todas las cosas que aprendo y, por accidente, ser de ayuda para otras personas. Así que hoy compartiré algunos tips que me han servido para seguir en el vasto mundo de la programación. …

Kata #2 - Balanced Parentheses

El Kata balance de paréntesis es una pregunta muy común en las entrevistas para ver el potencial de un desarrollador y dice así: dada una cadena de apertura y cierre de paréntesis, verificar si es equilibrada. Tenemos 4 tipos de paréntesis: paréntesis: (), corchetes: [], llaves: {} y tags: <>. La cadena no contiene ningún otro caractér. Los paréntesis balanceados requieren estar cerrados de una manera correcta. Por ejemplo ‘([])’ es equilibrado, pero ‘([)]’ no lo es. …

The Amazing World of Functional Programming

Los lenguajes funcionales no son algo nuevo, pero cada vez está mas en boca de los programadores que hace unos ayeres. Cuando se habla de lenguajes funcionales, siempre salen a la luz conceptos como “immutable data”, “first class functions”, “tail call optimisation”, currying, entre otras hierbas. Inmutable data es aquél dato que no se puede cambiar. Cualquier operación de “mutación” copia el valor, lo cambia y regresa la copia. Esto elimina los errores que surgen de un modelo incompleto al alterar los posibles estados de un sistema. Aquellos lenguajes que soportan first class functions permiten a las funciones ser tratados...…

classical inheritance != prototypal inheritance

Cuando utilicé por primera vez Javascript, creí que había entrado a la dimensión desconocida, un mundo de terror donde sólo los mejores científicos podrían entender la lógica detrás de las líneas de códigos que realizaban una sencilla tarea como la de abrir o cerrar un menú. Con la llegada de Jquery creía que no debería de preocuparme por entender el lío de javascript, ¿acaso sería importante aprender algo más allá de seleccionar DOM? Qué equivocado estaba. …