Django

Celery & Django (Python 2.7 Celery 3.1.23)

Celery es un framework para el manejo de tareas basado en colas, basandoce en el patrón de diseño Productor consumidor donde el productor le envía trabajo a realizar al consumidor celery se encarga de manejarnos tanto el manejo de la cola de trabajos (jobs) como los workers (consumidores / trabajadores) que serán los que realicen dicha tarea. En este post estaremos integrando Django & Celery y algunos casos de usos para los que son buenos.

Sigue leyendo

Remplazar color en una imagen usando Pillow – Python

Pillow es una super libreria para el trabajo con imagenes en python que a su vez es un fork de otra super libreria llamada PIL.

Hace varios dias tenia que descargar / generar al rededor de 80 iconos de un color en particular estos, resulta que dicho color no era el que necesitaba :/ y tenia que cambiar estas 80 imagenes o descargarlas nuevamente, algo que no iba a pasar, pero bueno soy programador y pos recorde esta libreria Pillow :).

Sigue leyendo

Android Logo

Scanear codigo QR con android

Muchos desarrollo ven utilidad en el hecho de tener que escanear un código QR para hacer x funcionalidad, bueno hasta hace unos anos esto con android no era tan fácil, pero ahora con gradle android studio, es cuestión de mins y se logra el objetivo.

En su momento la forma de lograr esta funcionalidad era llamar una aplicación que ya implementara esto y que esta hiciera el trabajo por nosotros.

Sigue leyendo

Entrega Continua

Integración Continua & Entregado continuo CodeShip (Python Fabric)

Integración Continua y Entregado continuo son términos que en estos últimos anos han estado tomando bastante auge, los principios han existido desde siempre en esta área de la tecnología pero ultimamente son tendencia en el área del desarrollo de Software.

Estos términos toman este auge con la tendencia y la gran cantidad que nuevas aplicaciones que necesitan que sus cambios lleguen mas rápido a sus usuarios, cosa de que una funcionalidad sea contemplada en el día 1, en el día 2 se desarrolle y se pruebe y en el día 3 este puesta en producción para el disfrute de los usuarios.

Sigue leyendo

Django

Multiple configuraciones en Django

Mientras estamos desarrollando cualquier proyecto y tenemos nuestra configuración todo va bien, pero en el momento que hay que desplegar dicho proyecto y necesitamos cambiar esa configuración en producción, se convierte en algo incomodo, cuando estas trabajando con un ambiente que tiene integración continua ahi es donde se convierte en un problema.

Lo recomendable es crear un archivo de configuración base de donde cada entorno estará en caso de ser necesario sobre-escribiendo cada configuración.
Sigue leyendo

Como Obtener un Certificado SSL Gratis (letsencrypt) Y Configurarlo para Nginx

Asi mismo como dice el titulo, un certificado ssl gratis, ya no tenemos que pagar para que nuestra pagina aparesca como segura sino que podemos obtenerlo gratis gracias al proyecto letsencrypt.

El proyecto letsencrypt es una iniciativa para contrarrestar este sistema / monopolio de los ssl ofreciendo una alternativa gratis, hasta el momento se encuentra en una etapa beta y queda a nuestro criterio usarlo o no. Los certificados generados por este proyecto duran solo 90 dias luego de eso tenemos que generar otro con ellos mismo, pensaran que es poco tiempo pero por que preocuparse “esto es gratis” podemos actualizar sin costo alguno la vigencia de nuestros certificados sin problemas.

Sigue leyendo

Notificaciones Android

Las notificaciones son una buena forma de darle feedback al usuario de que algo sucedió y le concierne, se debe usar estas con precaución sabiduría ya que el mal uso de las mismas podría llevar a que el usuario simplemente las inhabilite para nuestra aplicación.

NotificationCompat.Builder mBuilder =
    new NotificationCompat.Builder(this)
    .setSmallIcon(R.drawable.ic_launcher)
    .setContentTitle("Mi Aplicacion")
    .setContentText("Hola mundo");

NotificationManager mNotificationManager = (NotificationManager)this.getSystemService(Context.NOTIFICATION_SERVICE);

int notificacion_id = 2345;

mNotificationManager.notify(notificacion_id, notification);

Sigue leyendo