viernes, 3 de abril de 2015

Instalación de Java 8 en CentOS 6.5

A continuación les mostrare unos pasos sencillos para instalar Java 8 en CentOS 6.5.  Esta guía a su vez será el inicio de una serie de tutoriales que estaré presentando para la manipulación de BigData usando la base de datos HBase.

Esta instalación fue probada en un equipo con las siguientes características:
-Memoria RAM de 4GB
-Disco Duro de 160GB
-Sistema Operativo CentOS 6.5 de 64 Bits

Proceso de instalación:

1.- En la carpeta Documentos hay que crear una carpeta con el nombre Java.



2.- Descargar la última versión de Java disponible desde la página de Oracle accediendo a la siguiente liga: 

Aceptar términos y condiciones y dar clic en  la versión de Java que se desea descargar por ejemplo: 
jdk-8u40-linux-x64.tar.gz

Nota: en mi caso he descargado una versión anterior jdk-8u31-linux-x64.tar.gz pero el proceso de instalación es similar para todas las versiones.



3.- Al seleccionar la versión a descargar, aparecerá un cuadro de dialogo emergente, seleccionar la opción Guardar archivo y dar clic en Aceptar; el archivo descargado es enviado por default a la carpeta Descargas.


4.- Dirigirse a la carpeta Descargas  y copiar el archivo tar.gz recientemente descargado.



5.- Dirigirse a la carpeta Java creada previamente en la carpeta Documentos y pegar el archivo tar.gz copiado.


  
6.- Dar clic con el botón secundario del mouse en el archivo tar.gz recientemente pegado, y seleccionar la opción Extraer aquí; con esto se descomprimirá el archivo en la carpeta jdk1.8.0_31.



7.- Abrir una nueva terminal; ir a Aplicaciones>Herramientas del sistema y seleccionar la opción Terminal, con esto se nos abrirá una nueva terminal de línea de comandos.


  
8.- Acceder a la cuenta de administrador root; para ello teclear en la terminal #su root, y oprimir la tecla Entrar.



9.- La terminal nos pedirá proporcionar la clave de acceso de la cuenta root, tecleamos la clave y oprimir la tecla Entrar; con esto hemos accedido a la cuenta de administrador root.



10.- Cambiar de directorio e ir a la carpeta Java creada anteriormente en la carpeta Documentos con el siguiente comando: 
#cd /home/hilario/Documentos/java 

Donde hilario es el nombre de usuario de la cuenta.



11.- Copiar la carpeta jdk1.8.0_31 al directorio /opt con el siguiente comando:
#cp -r  jdk1.8.0_31 /opt



12.- Ir al directorio /opt/jdk1.8.0_31 con el siguiente comando: 
#cd /opt/jdk1.8.0_31



13.- Instalar Java usando alternatives para evitar desinstalar versiones anteriormente instaladas de Java, usando el siguiente comando:
#alternatives –install /usr/bin/java java /opt/jdk1.8.0_31/bin/java 2



14.- Configurar las alternativas de java y seleccionar la versión de java recién instalada con el número correspondiente. En mi caso se trata de la versión número:
4 /opt/jdk1.8.0_31/bin/java



15.- Instalar las herramientas jar y javac usando los siguientes comandos:
#alternatives –install /usr/bin/jar jar /opt/jdk1.8.0_31/bin/jar 2
#alternatives –install /usr/bin/javac javac /opt/jdk1.8.0_31/bin/javac 2
#alternatives –set jar /opt/jdk1.8.0_31/bin/jar
#alternatives –set javac /opt/jdk1.8.0_31/bin/javac



16.- Ver la versión actual de Java instalada y verificar que sea la que se ha instalado recientemente.
Usando el comando: 
#java –version



17.- Por ultimo solo queda definir las variables de entorno globales de java JAVA_HOME y JRE_HOME usando los siguientes comandos:
#export JAVA_HOME=/opt/jdk1.8.0_31
#export JRE_HOME=/opt/jdk1.8.0_31/jre
#export PATH=$PATH:/opt/jdk1.8.0_31/bin:/opt/jdk1.8.0_31/jre/bin




Con estos simples pasos se contará con la última versión de Java instalada en Centos6.5.

sábado, 7 de junio de 2014

Evitar caracteres raros al consultar en Oracle y MySQL desde PHP

En esta ocacion les ofresco una solucion a los molestos caracteres raros que aparecen de repente al realizar una consulta desde PHP a MySQL ó Oracle, Hace poco me sucedio algo similar; al consultar campos que contenian caracteres latinos como ñ, á, é, etc. El resultado de esas consultas me reemplazaba esos caracteres con un "?". Al principio crei que se trataba de la codificacion que se define en la cabecera del documento HTML . Pero despues de varios intentos simplemente no conseguia solucionarlo; hasta que encontre en un post que al realizar una conexion con algun cliente de base de datos a un servidor de base de datos, es necesario establecer la codificacion de caracteres con las que este recibiria la informacion.

Asi que buscando en Google encontre la solucion tanto para MySQL como para Oracle.

Para MySQL la solucion es colocar el metodo:
mysqli_set_charset( mysqli $link , string $charset)
Justo despues de realizar la conexion.

Ejemplo de conexion a MySQL con codificacion de caracteres:

/*
Conexion a una base de datos con el cliente de mysql
usando la codificacion de caracteres UTF-8
para evitar la aparicion de caracteres raros al
realizar una consulta.
*/
//Variables de conexion
$host="ip";
$user="usuario";
$password="password";

$conexion = mysqli_connect($host, $user, $password);

//Se verifica si hubo algun error al conectarse
if (mysqli_connect_errno()) {
    echo("Error al conectarse: \n".mysqli_connect_error());
    exit();
}

//Se establece la codificacion de caracteres UTF-8
if (!mysqli_set_charset($conexion, "utf8")) {
    echo("Error al estableces la codificacion utf8: \n".mysqli_error($conexion));
} else {
    echo("Se ha establecido el conjunto de caracteres: \n".mysqli_character_set_name($conexion));
}

mysqli_close($conexion);
?>


Para Oracle la solucion es establecer la codificacion de caracteres al realizar la conexion con el metodo:
oci_connect( string $username , string $password [, string $connection_string [,string $character_set [, int $session_mode ]]] )

Ejemplo de conexion a Oracle con codificacion de caracteres:
/*
Conexion a una base de datos con el cliente de oracle
usando la codificacion de caracteres de Windows
para evitar la aparicion de caracteres raros al
realizar una consulta.
*/
//Variables de conexion
$host="ip";
$user="usuario";
$password="password";
$conexion = oci_connect($user, $password=, $host.'/XE', 'WE8MSWIN1252');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['mensage'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM empleados');
oci_execute($stid);

while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    foreach ($row as $item) {
        echo ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "
";
    }
}

?>

sábado, 6 de abril de 2013

Juego de Memoria en Python

Les comparto otro clásico juego hecho en Python "El juego de memoria"; Originalmente consiste en encontrar parejas de cartas, pero en esta versión consistirá en encontrar parejas de números;  el objetivo es encontrar todas las parejas de números con el menor numero de intentos posibles, para eso habrá un contador que llevara el conteo de los intentos, al hacer clic en una carta, esta se volteara para mostrar el numero que esconde posteriormente se esperará a que el jugador haga clic en otra carta; si la segunda carta volteada es idéntica a la primera estas quedaran volteadas, de lo contrario las dos cartas se voltearan nuevamente para ocultar su contenido. Este programa también lo hice en el curso "An Introduction to Interactive Programming in Python" impartido por RICE UNIVERSITY en la página de Coursera.

Podrán descargar el programa en la siguiente liga: Memory
Para poder jugar con el programa, copien el código en este interprete de Python: http://www.codeskulptor.org/ 
Si les interesa ir directamente a la aplicación  simplemente accedan a la siguiente liga sin necesidad de copiar y pegar el código: memory_to_code_skulptor




Espero que este juego sea de su agrado y se diviertan con él.

Nota: el interprete no es soportado por Internet Explorer

domingo, 11 de noviembre de 2012

Juego de Ping-Pong en Python

Les comparto el clásico juego de Ping-Pong hecho en Python, Este juego lo hice en un curso de Coursera llamado "An Introduction to Interactive Programming in Python" el cual es impartido por RICE UNIVERSITY. Este juego contiene las nociones básicas del juego de Ping-Pong; contiene la dificultad de incrementar la velocidad de la pelota cada vez que rebote en una de las paletas.



Podrán descargar el programa en la siguiente liga: ping_pong
Para poder jugar con el programa, copien el código en este interprete de Python: http://www.codeskulptor.org/ 
Si les interesa ir directamente a la aplicación  simplemente accedan a la siguiente liga sin necesidad de copiar y pegar el código: ping_pong_to_code_skulptor




  • Para mover la paleta izquierda oprimir: w(Arriba) y s(Abajo)
  • Para mover la paleta derecha oprimir: Flecha Arriba(Arriba) y Flecha Abajo(Abajo)
  • Oprimir el boton Restart para reiniciar el juego.






Bueno espero que les guste el juego y que se diviertan con él. Posteriormente subiré las mejoras del juego.

Nota: el interprete no es soportado por Internet Explorer

#----MEJORAS---
#Se le agregaron los siguientes sonidos al juego:
#--Sonido de colisión en la parte arriba y abajo del tablero
#--Sonido de colisión con las paletas
#--Sonido de balón fuera de la zona de juego

miércoles, 28 de marzo de 2012

Mover Leds con el Puerto Serie y Paralelo en Java

Este Programa es similar al programa de la publicación anterior Mover Leds con el Puerto Paralelo en Java, Utiliza el mismo circuito para el puerto paralelo y de igual manera sirve para mover la posición de un led activo con las teclas direccionales del teclado.

La diferencia con el anterior programa se encuentra en que este utiliza también el Puerto Serie. En este caso se envía una señal por el puerto serie y esa misma señal es recibida por el puerto serie para posteriormente pasarla al puerto paralelo.

Aparte del circuito anterior se debe utilizar también el siguiente circuito para el puerto serie:











Se enviara una señal al puerto serie a travéz del pin 3 y esa misma señal se recibirá a travéz del pin 2.

Les dejo el link del programa: Mover Leds con el Puerto Serie y Paralelo en Java

martes, 21 de febrero de 2012

Mover Leds con el Puerto Paralelo en Java

El siguiente programa trata sobre la manipulación del puerto paralelo desde java, usando la librería RXTXcomm.jar; en resumen lo que hace es mover la posición de un led activo usando las teclas direccionales del teclado.
Para poder probarlo necesitaran:
-1 cable del puerto paralelo
-1 tablilla
-8 resistencias de 330 homs
-8 leds

y crear el siguiente circuito:
Los pines 2 al 9 son pines de datos y es donde se conectaran los leds.

Una vez hecho el circuito, lo conectan al puerto paralelo y ejecutan el programa(Nota: es importante que conecten los pines 10,11 y 12 a tierra o al pin 25 ya que de lo contrario el programa se ciclara).

Una vez ejecutado el programa verán la siguiente ventana:

posteriormente darle clic en abrir puerto:

Seleccionar Activar:

Y al mover las teclas direccionales izquierda y derecha podrán observar como el led prendido ira cambiando de posición:

Por ultimo podrán cerrar el puerto:

El programa lo podrán descargar desde aquí: MoverLeds


domingo, 12 de febrero de 2012

Convertir Numero a Letra

Bueno esta vez les traigo un programa hecho en java que convierte una cantidad a su respectivo nombre en letra; el cual lo pueden descargar desde la siguiente liga: ImporteLetra.java