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

Angular Logo

$Http & $q AngularJs

Es poco probable encontrar hoy dia una aplicación web hecha en cualquier framework que no realice alguna petición ajax, debido a esto y al gran uso de AngularJS este tutorial sera de estos 2 AngluarJS service $http y $q.

$http

Servicio que nos proporciona todo un set de metodos para realiza nuestras peticiones xhr de la forma es que mejor nos guste y cumpla con los requerimentos de nuestras apies.

Realizar un request con angular es tan facil como:

var config = {};
$http.get('http://localhost/api/test', config)
     .then(function(response){ console.log('request exitosa.') }, 
           function(response){ console.log('error'); });

Sigue leyendo

Socket.IO Rooms & NameSpace

Socket.io es una excelente herramienta para lo que conocemos como aplicaciones en tiempo real, si tenemos una gran cantidad de usuario y queremos organizarlos y/o segmentarlo para saber a que grupo de usuarios le enviamos cierta información las características de Room y Namespace.

Los namespace

Son una segmentación de nivel superior, tanto el cliente como el server deben tener definidos estos contextos ya definidos una vez la aplicación esta en ejecución a diferencia de los rooms. Por defecto todas las instancias de socket.io usan un namespace ‘/’ dependera de nosotros queremos usar uno extra.

var server = require('http').Server(app);
var io = require('socket.io')(server);

Sigue leyendo

Tomar una foto con android y cortarla

Tomar una foto con android es bien facil de hacer:

Tomar Foto

Permisos necesarios:

<uses-permission android:name="android.permission.CAMERA" />

Codigo:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

//3434 es un int que esperaremos como resultado una vez sea tomada la foto.
startActivityForResult(intent, 3434);

Sigue leyendo

WebSockets (SocketIO & Express)

SocketIO una vez salió a la luz revoluciono la forma en la que las aplicaciones se realizaban, y nos brindo a los desarrolladores una herramienta bastante poderosa en cuanto al desarrollo de aplicaciones web se refiere. Brindándonos la capacidad de poder comunicarnos con nuestros clientes de forma directa en tiempo real.

Aprovechando la acogida de las apis de HTML5 socket.io nos brinda una interface para poder utilizar WebSockets y ademas a eso nos abstrae de usar metodos alternativos a WebSockets para navegadores que no lo soporten y aun así brindar a todos nuestros usuarios aplicaciones en tiempo real. Esta libreria cae perfecto para aplicaciones como Chats, Juegos, Analitica y demás, se puede ser bien creativo cuando tiene una comunicación bi-direccional con nuestros usuarios.

Sigue leyendo