José Galisteo Ruiz

¯\_(ツ)_/¯

Ofuscar bases de datos

| Comments

Cuando trabajas con aplicaciones un poco complejas a nivel de modelo de datos o cuando necesitas una replica de la base de datos de producción para poder hacer debuggin cómodamente en el entorno de desarrollo muchas veces lo mas eficiente es tener una COPIA de la base de datos, eso si ofuscada.

Para ello estuvimos probando durante un tiempo con un sencillo sistema basado en expresiones regulares, pero finalmente nos hemos decantado por my_obfuscate.

Entre esto y builds parametrizados de Jenkins podemos descargarnos toda la base de datos, solo ciertas tablas o datos específicos de alguna relación pero por supuesto ofuscada.

fast_bundler

| Comments

Estoy trabajando en un proyecto muy grande y muy antiguo. Una de las consecuencias es que tenemos más de 100 gemas en nuestro Gemfile.

Si tienes 100 gemas o menos Bundler consulta la API de Rubygems para calcular las dependencias pero si tienes más se descarga todo el indice, el cual es bastante pesado y dependiendo de tu conexión a Internet puede ser muy lento.

Para el día a día quizás no sea un gran beneficio, pero cuando estás actualizando las versión de Rails de un proyecto antiguo se agradece mucho.

Comentándolo con compañeros de trabajo pensamos que sería buena idea probar si nos podíamos saltar ese límite y acabamos haciendo fast_bundler.

fast_bundler actua como un proxy que envía todos los comandos a bundler pero redefine las constante API_REQUEST_LIMIT.

La gema es totalmente experimental y no se que efectos puede tener en Rubygems pero hasta ahora no sabemos que haya problemas, de cualquier modo el limite lo podrían poner a nivel de API si lo considerasen oportuno.

Aunque yo empecé la gema casi todo el trabajo lo ha hecho Michal Cichra.

Para usarlo tan sencillo como bundler.

1
2
3
4
5
$ gem install fast_bundler

$ fast_bundle
$ fast_bundle outdate
$ fast_bundle update rails