django vagrant ansible

Servidor de desarrollo Django con Vagrant y Ansible (parte 1)

Vagrant es una de esas herramientas que a priori parece que no tiene cabida en tu stack, pero una vez que comienzas a utilizarla se vuelve indispensable. En una entrada anterior vimos como hacer uso de la misma con el driver de Digital Ocean, en ese caso para desplegar Droplets, aunque el objetivo principal de esta herramienta es crear entornos de desarrollo aislados. Vagrant permite […]

docker swarm digital ocean

Cluster de servidores con Docker Swarm en Digital Ocean

Docker Swarm es una herramienta integrada en el ecosistema de Docker que permite la gestión de un cluster de servidores. Pone a nuestra disposición una API con la que podemos administrar las  tareas y asignación de recursos de cada contenedor dentro de cada una de las máquinas. Dicha API nos permite gestionar el cluster como si se tratase de […]

django-testing

Testing de modelos en Django, buenas prácticas.

El testing es una de las partes más importantes de cualquier proyecto de software, ya que aporta calidad y seguridad a nuestro código.  En esta entrada voy a tratar de exponer algunas prácticas muy recomendables para testear modelos en Django de forma eficiente y segura.

nginx-ssl

<Tip/> Configurar un servidor HTTPS con Nginx

Dudaba sobre si hacer esta entrada o no, ya que hay mucha documentación al respecto en la red (aunque algo desordenada a mi entender), pero la principal motivación del blog es que las entradas me sirvan a mi mismo, así que prefiero publicarlo a que quede perdido en una nota de Evernote. Bueno vamos a […]

django-users

Cómo extender el User de Django

El sistema de usuarios y autenticación integrado en Django es muy completo,  lo podemos adaptar a la mayoria de los casos de uso, pero hay situaciones en las que no podemos utilizarlo “out-of-the-box”. Por ejemplo, si nuestro proyecto tuviese carácter social es probable que necesitásemos almacenar una pequeña biografía, la localización del usuario y alguna otra información de […]

vagrant-do

Desplegando instancias de DigitalOcean con Vagrant

Vagrant es una potente herramienta open source para la configuración y despliegue de múltiples entornos, tanto de desarrollo, como de producción. Está diseñado para funcionar en Linux, Mac OS X o Windows. Por defecto utiliza VirtualBox para la capa de virtualización, se puede utilizar también con otros proveedores como VMware o AWS. En esta entrada vamos a configurarlo utilizando el driver de DigitalOcean […]

Django-rest

Optimizando Django REST Framework

Django REST Framework es una aplicación Django que permite desarrollar de forma simple APIs muy robustas. Sin embargo, los serializadores propios de la aplicación pueden ser un “kill performance” para nuestro sistema. La raíz del problema es el denominado “N+1 selects problem”, este se da al acceder a un objeto concreto y sus a N objetos relacionados, normalmente a […]