4M Keys – Gestión de etiquetas Real Time con Redis en Rails – 1º Parte

leemur-logo

En enero del 2018 arranqué como co-fundador LeemurApp, una app de relatos breves en formato chat multiidoma y cuyo stack tecnológico es, todo el backend en Rails 5 y las Apps son nativas, Android / iOS. La base de datos que hemos utilizado es PostgreSQL por la componente de JSON. En este proyecto, he experimentado muchos tipos de soluciones a problemas a los que me he tenido que enfrentar, pero me voy a centrar en uno muy concreto. La gestión de las etiquetas en tiempo real de todas las historias.

Siempre me hago la pregunta de cuál es la mejor manera de aprender y seguir aprendiendo sin parar, cuál es la mejor manera de ponerme a prueba, ponerme al límite y retarme constantemente. Sin duda siempre es haciendo cosas, eso está claro, pero con un objetivo y un reto por delante.

Seguir leyendo

¿por qué he decidido cambiar de empresa?

changes-lifeSe va ya el 2016 y he tomado la decisión de cambiar de empresa para afrontar en mi vida profesional nuevos retos en este 2017 entrante y es por eso que en este post quería explicar el motivo del  ¿por qué he decidido cambiar de empresa?.

Los acontecimientos

Este mes de Diciembre del 2016 ha sido mí último mes como trabajador de The Cocktail para afrontar nuevos retos en mi vida profesional dentro de mí nueva empresa BeRuby. El balance ha sido muy positivo en estos años, me llevo amigos (gracias por todos esos momentos en lo que me habéis hecho falta y ahí estabais siempre), momentos llenos de satisfacciones, también he tenido momentos difíciles, pero me voy muy satisfecho con mi trabajo realizado. Seguir leyendo

Mí experiencia como ponente en la ConferenciaRoR Madrid-España 2016

img_2425 Este año 2016, se ha vuelto a poner en marcha una de las grandes conferencias de Rails en la que he podido participar como Speaker, es una noticia genial «me han aceptado una charla» y un gran reto para mí. El motivo, es inglés, el nivel de la gente que acude a este evento y el nivel de los ponentes me asusta el participar, ya que todos los participantes son profesionales muy conocidos en mí caso no me conoce casi nadie, pero aún así me he puesto este reto y lo voy a cumplir con la mejor de mis intenciones (no sé si he estado a la altura pero déjame un comentario con tú opinión, te lo agradezco!). La conferencia es Conferencia Rails, echa un vistazo merece la pena y deberías acudir al año proximo sin falta, si es que te interesan este tipo de temáticas.

Primero quería agradecer a los organizadores de este evento que se han dado un currazo tremendo y aquí me quito el sombrero. Por otro lado, la acogida tan cariñosa que he  tenido y así me lo han trasmitido incluso antes de entrar por la puerta en a que ya soy recibido con una sonrisa y una calurosa bienvenida por parte de Fernando y el cariño del resto del equipo organizador como  y . Mil Gracias!! Seguir leyendo

27 años de experiencia profesional hasta lo más personal

IMG_0952Este es un post que llevo mucho tiempo dando vueltas, escribiendo y re-escribiendo, intentando decidir que hago, si lo publico o no lo publico (ahora ya sabes mi decisión final) y como consecuencia de hacer un resumen en la empresa en la que actualmente trabajo – The Cocktail, he decidido seguir a delante. Realmente es una lectura profesional y personal, motivada desde la curiosidad,  que se me conozca un poco más hablando en primera persona, es decir, lo que no hago cuando hablo con gente. Pero por si alguien quiere saber mi historia profesional y algunos aspectos personales, este es el lugar adecuado. Otro motivo es que muchas veces en las entrevistas debes ir al punto de interés del puesto al que estás intentando acceder, pero en aquellos aspectos en los que se quiere ampliar  por las razones que sea y conocer más de mí como persona y profesional, este post es una buena referencia como obtención de más información.

Por tanto voy a contar en primera persona cual ha sido mi trayectoria profesional, mís decisiones, cómo he llegado hasta donde estoy ahora mismo, hacia dónde quiero ir y cómo lo voy a conseguir.

Seguir leyendo

Aclaremos los conceptos entre dos mundos: blank? y present? es Rails / empty? y nil? es Ruby

rubyonrails Hay momentos en los que llevamos mucho tiempo trabajando en proyectos de Ruby on Rails y perdemos la noción de la frontera ente dónde se encuentra cada cosa que utilizamos. A mí me ha pasado alguna vez, en ese caso es mejor parar y pensar por  un momento. También en alguna que otra ocasión he oído que no se entendía y/o sabía la diferencia o que siempre utilizo este método que me funciona siempre. Por esto me gustaría escribir este post para aclararlo.

Por tanto, si alguna vez has trabajado en proyectos Rails, seguramente estos métodos que voy a contar, te suenen e incluso los has utilizado en alguna ocasión, pero no te has parado a pensar el motivo de ¿porqué debo utilizarlos, qué es mejor, cuándo, dónde, alguna ventaja especial? así como algunas curiosidades que voy a explicar. Seguir leyendo

Rails 4: el utilizar o no inverse_of en mis relaciones ¿qué me implica? y ¿cómo afecta la versión de Rails 4.0 y 4.2?

rubyonrailsEn algún momento de nuestros proyectos hemos utilizado inverse_of, pero me pregunto ¿nos hemos detenido a investigar todas sus posibilidades? y ¿qué ocurre si cambio de versión en mi proyecto y no lo tengo claro? , ¿qué problemas me puedo encontrar? cuidado!, tienes que considerar ciertos aspectos de los que vamos a ver en este post. Voy a explicar el uso de inverse_of en la versión 4.0 de Rails y cómo se comporta también en estos casos con la versión Rails 4.2 :inverse_of (puedes ver este pull request). Existen varios casos en los que un inverse_of debes saber utilizarlo y yo te explico cómo puedes entenderlo y aplicarlo. Seguir leyendo

Rails 4: ¿Cómo crear un formulario y utilizar accepts_nested_attributes_for con Has-Many-Through Relations? algunos consejos para entenderlo desde cero

rubyonrailsLa idea de escribir este post, surge de la idea de comenzar a hacer piezas cortas de código para practicar más y por otro lado ver que una y otra vez, se hacen formularios de todo tipo de relaciones entre modelos, unos son básicos en cuanto a que no existe complejidad alguna, por ejemplo una has_may/belongs_to y algunos otros se van complicando y viendo ejemplos existentes en Internet e intentar recopilar una buena información sobre cómo montar un formulario con form_for cuando tengo relaciones has_many through y necesito validar los campos que pertenecen a otro modelo utilizando accepts_nested_attributes_for demás de los propios del modelo principal, me he encontrado que no disponía de uno completo desde cero, así que me he decidido a desarrollar con un ejemplo práctico paso a paso y viendo todos los detalles que necesitas para entenderlo. Por lo que he montando un proyecto con un scaffolding y básico en este sentido, para que te lo puedas descargar de mi repositorio y probarlo por ti mismo. Hazlo y cuando lo tengas en marcha en local, sigue leyendo para terminar de entenderlo.

Antes de continuar una mención personal: me gustaría agradecer en este caso a Francis (twitter ciscou) por echarme un cable en primero, confirmar que lo estaba haciendo bien (viniendo de él es algo muy fiable) y segundo en darme cuenta finalmente que lo que estaba haciendo mal era la declaración de mi strong parameters (pensando en una declaración primitiva de los atributos de entities_attributes), haciendo que el comportamiento de la aplicación sea muy diferente y confuso a lo normalmente esperado, haciéndome creer la aplicación, que la interpretación del problema por mi parte lo tenía en en los accepts_nested_attributes_for y en las relaciones (no te preocupes que ahora te lo voy a explicar paso por paso y lo vas a entender cuando termines de leer el post o puedes ir directamente al paso cuarto, si ya sabes de qué estoy hablando). En definitiva, muchas gracias Francis!!

Seguir leyendo

Less / More – Show / Hide: necesito que mi listado pueda verlo mejor el usuario de mi aplicación ¿ JTruncate JQuery? o ¿Javascript a mano?

jquery-javascript En esta ocasión me gustaría compartir una experiencia reciente en la toma de decisión técnica y cómo gestionar el ánimo en esos momentos cuando está fallando, sabes que lo has probado y te ha funcionado, pero en el momento de salir a escena salta el fallo. En la mayoría de los casos que trabajamos con plugins o gemas, no dan muchos fallos cuando lo incorporamos en proyectos, normalmente me refiero a que o va bien o va mal, pero en otras ocasiones podemos encontrarnos casos que va bien pero también falla. Esto es lo que quiero explicar para que tomes en consideración algunos parámetros más antes de decidir que ya lo tienes terminado y probada tu funcionalidad.
Seguir leyendo

Mi experiencia como ponente en Codemotion España 2014

IMG_20141122_215106575Este año he tenido el privilegio de poder estrenarme como ponente en el Codemotion 2014 en España, es algo que ya tenía en mi mente como objetivo a cumplir desde que el año pasado asistí como oyente y pude comprobar que de Rails no se hablaba nada. Así que al ver que se permitía la posibilidad este año poder cumplir mi objetivo marcado, no me lo pensé dos veces y mandé dos charlas conjuntamente con dos compañeros de profesión Gaby que es un gran desarrollador de Rails y Samuel otro gran desarrollador de Drupal, nos sentamos y pensamos el contenido inicial de nuestras charlas a presentar.

Tengo que reconocer que inicialmente tenía previsto presentar cuatro y tocando diferentes palos, por ejemplo, dos de Rails una ya la había dado en MadridRB y era sobre «Ordenando las vistas. Decorator y Presenters» la otra es 10 cosas que deberías saber de Rails, una de NoSQL sobre The Emerging World of MongoDB que ya hablé el año pasado en ASPgems, y la última de Drupal y Rails pero pensé que sería demasiado si salían seleccionadas todas, un poco pretencioso por mi parte, pero podría ocurrir y ha ocurrido, de las 2 presentadas las dos aceptadas :).

Lo que me ha sorprendido de este año es la cantidad de asistentes, unos 2.000 y el amplio abanico de tecnologías expuestas y con un público más selectivo de lo que quiere aprender y a quién escuchar. En mi opinión personal, cuando voy a dar una charla, siempre tengo presente el respeto al público que asiste y responsabilidad para intentar trasmitirlo de forma clara y práctica la temática a tratar en cada momento y tengo que reconocer personalmente que me sorprendió «gratamente» la cantidad de asistentes, entre 20 y 30 más o menos en ambas charlas, sinceramente me esperaba menos gente y eso me motivó mucho. Los comentarios que me han llegado también, han sido sorprendentes y muy gratos. Por ese motivo, seguiré mejorando para poder ofrecer nuevas presentaciones, mostrar temas interesantes y seguir escribiendo.

Si quieres dejar un comentario, ni que decir que puedes hacerlo!!

Seguir leyendo