¿Cuál es la diferencia entre :destroy_all y :delete en Rails?

Una de las enseñanzas o instrucciones que se da cuando se diseñan bases de datos es que no debe haber información relacionada que no tenga su “dueño” o “padre”. Si un artículo tiene muchos comentarios y dicho artículo se elimina de la base de datos, tales comentarios también deben hacerlo.

En SQL a esto se le llama borrado en cascada. Para lograr esto en Rails usando ActiveRecord podemos usar la opción dependent y pasando algunas opciones disponibles. Leer más “¿Cuál es la diferencia entre :destroy_all y :delete en Rails?”

Tocando a ActiveRecord

Cuando se programan aplicaciones, puede haber ocasiones en donde queremos que un determinado objeto indiqué la última vez que fue actualizado según determinadas acciones o sucesos.

La última vez que se actualizó el repositorio, la última vez que se modificó un artículo publicado, la última vez que cambió el estado de la cuenta, etc. Son ejemplo de lo anterior.

En Rails, se puede lograr dicho comportamiento de dos formas. Depende de uno como programador determinar cual de las dos opciones es más adecuada(o incluso si se usan ambas). Leer más “Tocando a ActiveRecord”

Aprende a decir “No”

Que complicado resulta ejercer bien el poder decir “no” a ciertas cosas o personas en la vida. Es difícil porque un “no” en el momento menos adecuado o cuando menos se necesita, puede causar decepción, desazón y acabar el ánimo de quien lo escucha, incluso de quien lo dice.

Es por ello que es importante ejercitarlo bien. Al usarlo con frecuencia, si bien podríamos equivocarnos mucho, llegado el momento podremos manejar la palabra “no” con una mejor percepción de la situación.

Al final de todo, no todo en esta vida es posible. Todos tenemos un límite, hay planes que seguir, ideales que lograr, metas que conquistar. No podemos complacer a todo mundo ni tampoco debemos ser tan permisivos con nosotros mismos. Leer más “Aprende a decir “No””

Integración Continua, Entrega Continua y Despliegue Continuo, ¿Qué, cuándo y cómo?

En la actualidad, estas palabras suenan y se ven mucho cuando lees artículos, conoces alguna herramienta, concepto o en una que otra conferencia. Pero, ¿qué son? La verdad puede ser un poco confuso porque las diferencias son en realidad un toque mínimas.

Intentaré explicar un poco cada una, apoyándome en los textos donde se explican un poco mejor. Leer más “Integración Continua, Entrega Continua y Despliegue Continuo, ¿Qué, cuándo y cómo?”

De la Documentación y Otros Demonios

Las dos cosas que no le gustan a los programadores son escribir pruebas(tests) y documentar. Buen, puede que a los más educados, juiciosos u organizados no les cueste e incluso les guste pero hay quienes sí nos cuesta un poco más.

El tema es que ambas son muy importantes. Los pruebas ayudan a garantizar que tu código en realidad hace lo que tiene que hacer y la documentación permite, en el mediano y largo plazo, que otros puedan leer, entender y usar tu código sin mayores complicaciones. Incluso podría servirte a ti mismo.

Pero, ¿y por qué cuesta tanto hacer ambas si son tan útiles? Creo que es cuestión de desconocimiento de las formas sencillas para lograrlo. Para el caso de los tests es importante escoger el framework o librería que nos permita acostumbrarnos a hacerlo con frecuencia y para documentar usar herramientas que la generen a partir del código fuente. Leer más “De la Documentación y Otros Demonios”

Conferencias RailsConf para Compartir

Una de las mejores cosas de las comunidades open source es cuando la herramienta, lenguaje o técnica tiene tanta acogida que se crean eventos alrededor de esta. Tal es el caso del framework Ruby on Rails y su muy aclamada y bien acogida RailsConf.

Hoy, quiero aprovechar este espacio para compartir dos conferencias que he visto en YouTube que son bastante buenas. Una de ellas es sobre una herramienta que, al parecer, usan mucho los desarrolladores que usan Ruby o Ruby on Rails: Pry – The Good Parts! Leer más “Conferencias RailsConf para Compartir”

¿Utilizar un blog de WordPress con un VPS?

Servidores VPS para blog WordPress

Muchas personas empiezan con un blog en WordPress.com y ni se plantean la idea de contratar un hosting. Otros creen que la única forma de abrir un blog es contratar un hosting compartido, cuando realmente también se puede utilizar el hosting gratuito que nos ofrece WordPress, aunque tengamos menos opciones de personalización. Pero lo que no tantas personas consideran es la idea de combinar un VPS con un blog de WordPress.

Los Servidores VPS, también conocidos como servidores virtuales, son lo mejor para las páginas que están empezando a presentar problemas de velocidad, o un exceso de conexiones simultáneas. Esto ocurre a veces con los blogs que cuentan con una gran cantidad de visitas y empiezan a presentar errores debido a estas condiciones. Leer más “¿Utilizar un blog de WordPress con un VPS?”

Guías de Git. Porque un commit vale más que mil palabras

No encontré mejor forma de darle título a este post. En todo caso no importa. Lo que sí importa son los tres enlaces que les voy a compartir. Son enlaces a diferentes guías para trabajar con Git.

Cómo toda guía, no es que sea palabra escrita en piedra pero al menos sí deberías, como desarrollador, apegarte a alguna. Al igual que con tu código fuente, la organización de tus archivos, las nomenclaturas y más, el orden y el sentido coherente ayuda a crear proyectos más organizados(obviamente) y a la larga los hace mantenibles. Leer más “Guías de Git. Porque un commit vale más que mil palabras”

Cómo Usar el Método Includes() de ActiveRecord en Rails

Algo que tiende a frustrarme de algunas guías o documentación oficial es que solo dan el uso más básico a lo que explican. Pues, bueno, uno como desarrollador debe jugar con lo que hay para descubrir más opciones pero a veces no vendría mal un poco de ayuda en temas más complejos.

Mi insatisfacción estaba dada por la sección de las guías oficiales de Rails donde explican cómo evitar la consulta de tipo N+1. Este tipo de llamado a la base de datos ocurre como cuando por ejemplo queremos mostrar los Y valores que están relacionados con X tabla. Más preciso, a continuación. Leer más “Cómo Usar el Método Includes() de ActiveRecord en Rails”

Las Guías de Estilo para Ruby y para Rails

El único lenguaje de programación que conozco que obliga a indentación del código es Python. De resto de lenguajes, los programadores lo hacemos para mantener el código lo más legible posible, para otros desarrolladores o para nosotros mismos.

Y cómo si de reglas se tratara, algunos aplicamos ciertos estilos y formas de escribir código. Siempre buscando la forma de hacerlo lo más claro posible, bien sea que este se exprese implícitamente al leerlo o explícitamente mediante comentarios.

En la actualidad, donde trabajar con personas de cualquier parte del mundo es mucho más fácil que antes, escribir código que sea legible, reusable y bonito es un deber que todos los desarrolladores de software tenemos. Así sea que esas líneas de código solo las vea uno mismo. Sin embargo, no todos son tan ordenados ni les gusta respetar ni seguir reglas básicas al escribir código fuente. Leer más “Las Guías de Estilo para Ruby y para Rails”