domingo, 1 de noviembre de 2015

Tutorial: Enviar Emails Transaccionales con Ruby on Rails

Hola! hoy vamos a hacer una pequena aplicacion para enviar emails transaccionales usando la API de Mandrill y Ruby on Rails. Pues basicamente todos los usuarios registrados en la aplicacion van a recibir multiples articulos relacionados a sus intereses. 

Para esto basicamente tengo un modelo: Usuario, y Articulo. Esto puede ser cambiado de acuerdo a sus necesidades. El mail de resultado es el siguiente,q claro puede ser fomateado como uds. prefieran:





martes, 20 de octubre de 2015

Tutorial: Serie de Fibonacci en Java

Qué es La serie de fibonacci?

La forman una serie de números tales que:

El primer término de la serie es el número 1
El segundo término de la serie es el número 1
Los siguientes términos de la serie de fibonacci se obtienen de la suma de los dos anteriores:

1, 1, 2, 3, 5, 8, 13, .....

Cómo programar un algoritmo de la serie Fibonacci en Java?

Lo primero que haremos será crear una clase main, luego crear el método static void main y dentro de este implementar un algoritmo que calcule e imprima los 20 primeros números de la serie fibonacci, de la siguiente manera:


domingo, 18 de octubre de 2015

Tutorial: Números Primos en Java

Qué es un número primo?

Un número primo es aquel número que solo es divisible por si mismo y por la unidad. Por convención solo los números naturales mayores que cero son candidatos a números primos, también por convención sabemos que el número 1 NO es primo. Así, los veinte primeros números primos son: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67 y 71.

Veamos como podemos implementar un algoritmo en Java que nos permita saber si dado un número, saber si este es un número primo o no.

Cómo programar un algoritmo de números primos en Java?

Lo primero que haremos será crear una clase main, luego crear el método static void main y dentro de este definir una lista de números enteros, de la siguiente manera:

domingo, 28 de junio de 2015

Tutorial: TCP Copiar archivos de Cliente a Servidor con Java



Hola! En este tutorial les presento un ejemplo de como transmitir archivos de un cliente a un servidor usando una conexion TCP. Para este ejemplo usare como base el codigo de un tutorial previo (Aplicacion simple TCP Cliente - Servidor en Java).

El siguiente programa tomara todos los archivos de una carpeta y los copiara en el servidor, el unico requerimiento es tener la libreria "json-simple-1.1.1.jar".  Comencemos!

Para el cliente crearemos la clase "TCPClient" con los siguientes atributos y constructor:

public class TCPClient {
    
    
    private DataInputStream in;
    private DataOutputStream out;
    private InetAddress ip;
    private int port;
    private Socket socket;
   
    public TCPClient(InetAddress ip, int port) {             
            this.ip = ip;
            this.port = port;
       try {
           //Creamos el socket y los streams de input y output
            this.socket = new Socket(ip, port);                             
            this.in = new DataInputStream(socket.getInputStream());
            this.out = new DataOutputStream(socket.getOutputStream());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
}

lunes, 1 de junio de 2015

Entendiendo Naive Bayes en terminos simples..



Naive Bayes es el modelo mas simple y basico en machine learning, pero que a pesar de su simplicidad da buenos resultados. Sin embargo tengo que admitir que soy muy mala entendiendo este tipo de cosas, y encontre este articulo que explica Naive Bayes en terminos muy simples y que me sirvio antes de entender como hacer los calculos y demas.  Me gusto mucho asi que decidi publicar la traduccion. 


La Selección de caramelo 
Escrito por: Pararth Shah

En las afueras de Mumbai, vivía una vieja abuela, cuya cuantitativa perspectiva hacia la vida la había ganado el apodo de la abuelita de Estadística. Vivía sola en una enorme mansión, donde se practica el análisis estadístico de sonido, protegido de la lluvia de sesgos.

Cada año en su cumpleaños, toda su familia la visitaba y se quedaba en la mansión. Hijos, hijas, sus cónyuges, sus nietos. Era una gran fiesta todos los años, con mucha fanfarria. Pero lo que la abuela más amaba era estar con sus nietos y llegar a jugar con ellos. Tenía diez nietos en total, todos ellos alrededor de 10 años de edad, y ella amorosamente los llamaría "variables aleatorias".

martes, 26 de mayo de 2015

Las Estadísticas de Facebook.. Cuánto tiempo estas conectado?


Te has preguntado cuanto tiempo pasas conectado a Facebook, pues el usuario promedio dedica 21 minutos al día a esta red social! 


Facebook Estadisticas

Te presentamos 21 datos y estadísticas de Facebook:

  1. Cada segundo hay 20,000 personas en Facebook. Esto significa que en tan solo 18 minutos hay 11 millones de usuarios en Facebook.

lunes, 18 de mayo de 2015

5 preguntas que Google hacía en sus entrevistas!


Google fue famoso, por hacer preguntas totalmente curiosas en sus entrevistas de trabajo a personas que estaban aplicando por algún puesto en la compañía. Si viste la película "the internship",pues la pregunta de "Qué harías si fueras una moneda en una licuadora" es una pregunta real! (clip adjunto)




domingo, 3 de mayo de 2015

Tutorial: Aplicacion simple TCP Cliente - Servidor en Java


Hola! hoy hare un ejemplo que sirve como base para explicar lo que es TCP, y una aplicacion cliente servidor, en Java.

TCP es un protocolo de comunicacion que es bastante confiable en comparacion a UDP por ejemplo, aunque claro cada uno tiene sus usos y sus ventajas. Entre las ventajas de TCP estan las siguientes:

  • Los mensajes no tienen un tamano limite
  • La data enviada por el cliente es encolada hasta que el servidor este listo para consumirla
  • Los mensajes se envian y se reciben en orden
Sin embargo las desventajas aparecen en el rendimiento, en una aplicacion de video juegos, UDP talvez seria mas conveniente. Entre los usos de TCP estan: aplicaciones FTP, telnet etc.

Para establecer la conexion entre cliente y servidor tendremos que crear un socket, que es un "end-point" para la comunicacion entre procesos, vale recalcar que un socket solo puede tener asignado un tipo de protocolo.

jueves, 5 de febrero de 2015

Tutorial: Aplicación CRUD con JPA y JSF en NetBeans (2da Parte)


Hola! en esta segunda parte del tutorial crearemos las paginas web, para el proyecto que dejamos en la primera parte 
  • Ahora crearemos un paquete com.controladores, damos clic derecho y escogemos la opción New/Other.. Se desplegara una ventana como la siguiente:
new file

sábado, 31 de enero de 2015

Cómo contar los clicks de tus links?



Hola! Aunque este tema no es de programación, si eres un bloggero puede servirte.

Si quieres contar cuantos clics fueron dados en cualquier vinculo que pongas, puedes hacerlo usando el Google URL Shortener, que como su nombre lo dice hace las URL pequeñas, y aparte va guardando todas las url que has acortado y cuenta los clics, como vemos en la imagen siguiente:

lunes, 26 de enero de 2015

Tutorial: Crear Data Source y Pool de conexiones en Glass Fish Server


Hola, para este tutorial configuraremos un datasource y un pool de conexiones en GlassFish.

El tiempo estimado de este tutorial es 5 a 10 minutos.

Lo único que usaremos para esto es NetBeans y un explorador.

1. Abrimos el netbeans y en el explorador de servicios, en la opción servers veremos el GlassFish Server. damos clic derecho y si no esta iniciado lo iniciamos con la opción Start

GlassFish

2. Luego una vez iniciado, damos clic derecho  y seleccionamos la opción View Admin Console, inmediatamente se nos abrirá una ventana en el explorador con algo como lo siguiente

domingo, 25 de enero de 2015

Tutorial: Aplicación CRUD con JPA y JSF en NetBeans (1era Parte)


Hola! el día de hoy  haremos un mantenimiento CRUD de productos con JPA y JSF y como Ide usaremos Netbeans, por las características rápidas que ofrece. Bueno basicamente una aplicacion CRUD es la que te permite hacer lo siguiente: CREATE-READ-UPDATE-DELETE, que significaria un mantenimiento basico de cualquier entidad.
.