viernes, 28 de agosto de 2015

Cómo Instalar Oracle Java JDK/JRE SE en Linux Mint Ubuntu

Esta es una Actualización de mi anterior entrada donde explico como hacer una Instalación de Oracle Java JDK/JRE en Linux Mint reemplazando el OpenJDK/JRE que viene instalado por defecto en las distribuciones Linux basadas en Ubuntu Debian.


ANTERIOR ENTRADA [Cómo Instalar Oracle Java JDK/JRE SE en Linux Mint]



Los pasos para realizar el proceso son los siguientes:


  • Paso 1: Debemos comprobar cual es la arquitectura de nuestro sistema operativo Linux, en un terminal ejecutamos el siguiente comando con el cual podemos ver si es de 32-bit ó 64-bit

usuario@linux~$  file /lib/systemd/systemd
/lib/systemd/systemd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=635141ec29ae1dec6bbb11b117a1a5dad5e0e9cb, stripped
  • Paso 2: Revisar si tenemos alguna versión de Java instalada en el sistema

usuario@linux~$  java -version
java version "1.7.0_25"
OpenJDK Runtime Enviroment (IcedTead 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK Client VM (build 23.7-b01, mixed mode, sharing)

  • Paso 3: Desinstalar y eliminar OpenJDK/JRE del sistema

usuario@linux~$  sudo apt-get purge openjdk-\*
  • Paso 4: Descargar Oracle JDK SE para Linux Java Platform (JDK) al descargar el JDK también incluye el JRE, descargamos la versión de 64-bit

Descarga Oracle JDK
Descarga Oracle JDK

  • Paso 5: Descomprimir el archivo descargado

usuario@linux~$  tar xvfz jdk-8u60-linux-x64.tar.gz
  • Paso 6: Crear el directorio donde será instalado Oracle JDK/JRE

usuario@linux~$  sudo mkdir /usr/local/jdk
usuario@linux~$  ls /usr/local/
bin    etc    games    include    jdk    lib    man    sbin    share    src
  • Paso 7: Copiar los binarios del archivo que descomprimimos en el directorio de instalación

usuario@linux~$  sudo cp -rfv Descargas/jdk1.8.0_60/ /usr/local/jdk/
usuario@linux~$  ls /usr/local/jdk
jdk1.8.0_60
  • Paso 8: Otorgar permisos de ejecución a todos los usuarios del sistema sobre el directorio de instalación de Java

usuario@linux~$  sudo chmod -R a+x /usr/local/jdk/
usuario@linux~$  ls -la /usr/local/jdk
total 12
drwxr-xr-x  3 root root 4096 ago 28 10:47 .
drwxr-xr-x 11 root root 4096 ago 28 10:46 ..
drwxr-xr-x  8 root root 4096 ago 28 10:47 jdk1.8.0_60
  • Paso 9: Es hora de actualizar el PATH agregando las nuevas variables de entorno al sistema, usamos un editor de texto para modificar el archivo /etc/profile y agregando al final del archivo las nuevas variables de entorno

usuario@linux~$  sudo vim /etc/profile
# Al final del archivo agrego las nuevas variables de entorno
JAVA_HOME=/usr/local/jdk/jdk1.8.0_60
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
  • Paso 10: Notificar al sistema Linux donde está instalado nuestro Oracle Java JDK/JRE

usuario@linux~$  sudo update-alternatives --install "/usr/local/java" "java" "/usr/local/jdk/jdk1.8.0_60/bin/java" 1
usuario@linux~$  sudo update-alternatives --install "/usr/local/javac" "javac" "/usr/local/jdk/jdk1.8.0_60/bin/javac" 1
usuario@linux~$  sudo update-alternatives --install "/usr/local/javaws" "javaws" "/usr/local/jdk/jdk1.8.0_60/bin/javaws" 1
  • Paso 11: Configurar Oracle Java JDK/JRE como el Java a usar por defecto

usuario@linux~$  sudo update-alternatives --set java /usr/local/jdk/jdk1.8.0_60/bin/java
usuario@linux~$  sudo update-alternatives --set javac /usr/local/jdk/jdk1.8.0_60/bin/javac
usuario@linux~$  sudo update-alternatives --set javaws /usr/local/jdk/jdk1.8.0_60/bin/javaws

  • Paso 12: Finalmente solo queda recargar el PATH y verificar si la instalación se realizó correctamente

usuario@linux~$  . /etc/profile
usuario@linux~$  java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
usuario@linux~$  javac -version
javac 1.8.0_60

Con esto ya se ha terminado de instalar correctamente Oracle Java JDK/JRE SE en nuestras maquinas con sistema operativo Linux basado en Debian.





miércoles, 12 de agosto de 2015

Instalar Servidor LAMP Apache PHP MySQL PhpMyAdmin en Linux Mint Debian

Bueno en esta entrada quiero compartir como instalar un Servidor LAMP en un Sistema Operativo tipo Linux basado en Debian como Ubuntu y en este caso la instalación la realizo en Linux Mint.

Linux Mint es una distribución de Linux basada en Ubuntu por lo tanto todo el proceso de instalación que voy a seguir debe funcionar igual para Ubuntu y cualquier distribución tipo Debian.

Cuando queremos aprender el desarrollo de Aplicaciones Web necesitamos las siguientes herramientas de software instaladas en nuestro equipo que vamos a usar para desarrollo, los programas que se requieren son los siguientes:


  • Apache
  • PHP
  • MySQL
  • PhpMyAdmin (Opcional)

El acrónimo LAMP surge de la combinación de palabras Linux Apache PHP MySQL por eso en Internet podemos encontrar información adicional de como instalar un Servidor Web LAMP.


NOTA: En esta entrada sólo se da a conocer los programas a instalar y su proceso de instalación, en el mundo real es necesario después de instalar realizar el proceso de configuración de cada programa en cuanto a los aspectos de seguridad de los mismos, espero hacer otra entrada donde mencione algunos.


Desde una Terminal ejecutamos los siguientes comandos para realizar la instalación de cada programa:

  • Apache
    • prompt:~$ sudo apt-get install apache2

Al terminar la instalación de Apache se crea un directorio raíz para el localhost donde podemos crear proyectos web, este directorio es /var/www/html

Cuando ingresamos desde un navegador web al directorio raíz de apache desde la siguiente URL http://localhost/ nos muestra una pagina con información de la instalación de Apache.

Apache
Apache

  • PHP
    • prompt:~$ sudo apt-get install php5
Cuando finaliza la instalación de PHP podemos probar si funciona correctamente invocando la función phpinfo(); desde un archivo .php que debemos guardar en el directorio raíz de Apache, el archivo debe contener el siguiente código:

<?php phpinfo(); ?>

Cuando se ejecuta el archivo desde localhost de Apache en un Navegador Web se muestra una pagina con información sobre la versión de PHP que se ha instalado ademas de información del Servidor Web.

PHP
PHP

  • MySQL
    • prompt:~$ sudo apt-get install mysql-server
Durante la instalación de MySQL el sistema nos pregunta si deseamos configurar una contraseña para el usuario root, esto es opcional, si queremos podemos dejarlo en blanco, claro que en el mundo real debemos darle una contraseña.


  • PhpMyAdmin
    • prompt:~$ sudo apt-get install phpmyadmin
Cuando se realiza la instalación de PhpMyAdmin nos pregunta por la contraseña del usuario root de MySQL para poder ingresar desde un Navegador Web en la aplicación web de PhpMyAdmin.

Para hacer uso de PhpMyAdmin desde un navegador web debemos ingresar localmente a la siguiente URL http://localhost/phpmyadmin/ donde nos solicita el usuario y contraseña que tenemos configurado en MySQL.

PhpMyAdmin
PhpMyAdmin


Sugerencia:

Cuando ya han terminado de instalar todos los programas para un Servidor LAMP cada vez que se crean archivos en el directorio raíz de Apache /var/www/html/ es necesario tener permisos de administrador ya que el propietario del directorio html es el usuario root, podemos modificar esto cambiando el propietario del directorio html a nuestro usuario, de esta forma podemos crear y modificar archivos sin necesidad de tener permisos de usuario root.




Ya para terminar y si les da mucha pereza leer toda esta carreta pueden ver el siguiente video de instalación de Servidor LAMP paso a paso:







Referencias:
http://goo.gl/Xf54KY


martes, 28 de julio de 2015

Notepadqq Editor de Texto de Propósito General para Linux

Esta es otra pequeña entrada al blog donde quiero compartir a quienes les gusta usar editores de texto ligeros de propósito general para programar sus pequeñas rutinas o scripts en lenguajes de programación como Python, Bash, C++, Javascript, entre otros.


Un día revisando la Página Principal de Google+ me encontré con cierta información acerca de un Editor de Texto para Sistema Operativo Linux, me interesó mucho por que hace algún tiempo estaba buscando un Editor de Texto similar al famoso Notepad++ pero para Sistemas Operativos tipo Linux.

Finalmente he encontrado un Editor de Texto como Notepad++ para Linux Desktop, su nombre es Notepadqq y ha sido desarrollado bajo Licencia tipo GNU General Public License versión 3.


Notepadqq
Notepadqq

En el sitio web oficial de los desarrolladores mencionan que es un Editor de Texto de propósito General con resaltado de sintaxis para mas de 100 diferentes lenguajes de Programación, esquemas de color, explorador de archivos, selección múltiple, permite realizar búsquedas mediante expresiones regulares, también es posible la instalación de Plugins lo cual extiende aun mas las funcionalidades y herramientas disponibles en Notepadqq.


En Ubuntu Linux y otras distribuciones basadas en Debian podemos hacer la Descarga y la Instalación del paquete Notepadqq como se describe a continuación:


Paso 1

Agregar a la lista de repositorios de nuestro Linux el PPA donde se encuentra el repositorio no oficial del paquete Notepadqq:

$ sudo add-apt-repository ppa:notepadqq-team/notepadqq


Paso 2

Actualizar la lista de paquetes disponibles para instalar en nuestro Linux desde la lista de repositorios disponibles:

$ sudo apt-get update


Paso 3

Finalmente solo queda instalar el paquete del Editor de Textos ligero Notepadqq:

$ sudo apt-get install notepadqq



Ya con la instalación terminada solo queda ejecutar Notepadqq y explorar las múltiples herramientas que nos brinda este interesante Editor de Texto. Para quienes ya están familiarizados usando Notepad++ se van a sentir muy bien usando Notepadqq y para los que son nuevos usando este Editor de Texto ligero para Linux tendrán la posibilidad de conocer las múltiples ventajas que ofrece Notepadqq frente a otros Editores de Texto ligeros como Gedit.



Para los que son mas visuales y no les gusta leer, a continuación pueden ver un corto video donde se muestran los pasos anteriores para Descarga y la Instalación de Notepadqq:







Referencias
http://goo.gl/5mAj3k

miércoles, 1 de julio de 2015

¿Que Es Un Activity En Android? - Actividades El Núcleo De Las Aplicaciones Android

Llevo mucho tiempo sin escribir una entrada en el Blog de IdeaFalaz, ahora que tengo un poquito de tiempo vengo a publicar una breve introducción a las Actividades de Android, es de gran importancia entender el concepto de la clase Activity antes de iniciar el desarrollo de Aplicaciones para Android.

Android Activity
Android Activity

En Android un Activity es un componente de aplicación que provee una pantalla con la cual los usuarios pueden interactuar para hacer alguna cosa, por ejemplo marcar un número de teléfono, tomar una foto, enviar un email o ver un mapa.

Cada Actividad es una ventana en la cual se puede dibujar la interfaz de usuario que brinda interacción con acciones del usuario. La ventana por lo general ocupa toda la pantalla pero puede ser tan pequeña y flotar sobre otras ventanas.

Una aplicación consiste de múltiples Actividades que mantienen una baja cohesión entre ellas. Lo mas normal es que una aplicación tenga definida una actividad que se especifica como la actividad principal o "main" Activity, desde la cual el usuario ejecuta la aplicación por primera vez.

Cada Activity puede iniciar otras Actividades con el fin de realizar diferentes acciones, cada vez que una nueva actividad inicia, la actividad anterior es detenida, pero el sistema Android mantiene la actividad en un pila "stack" también conocido como el "back stack".

El Back Stack usa el concepto de pila "Ultimo en entrar, Primero en salir", cuando una nueva actividad se inicia, la actividad actual es colocada en la pila, entonces cuando el usuario termina sus acciones en la nueva actividad y presiona el botón de regresar, se llama la ultima actividad que fue puesta en la pila.

Back Stack Android
Back Stack Android

En una próxima entrada pienso escribir en mas detalle sobre el concepto y funcionalidad del Back Stack que tiene Android para el manejo de las Actividades en las Aplicaciones.

Cuando un Activity es detenida por que una nueva Actividad es iniciada, esta es notificada en el cambio de estado a través del ciclo de vida de la actividad, esto mediante el llamado a métodos "callback" que se invocan en cada cambio de estado.

Estos métodos permite conocer cuando el sistema está Creando, Deteniendo, Reanudando o Destruyendo una Actividad. Cada "CallBack" provee un mecanismo con el cual el programado especifica el trabajo adecuado para el cambio de estado. Por ejemplo cuando una Actividad es detenida, se debería liberar recursos como conexiones a la red o base de datos, cuando una actividad se reanuda se debería volver a obtener los recursos necesarios.

La transición entre los estados de un Activity hace parte del Ciclo de Vida de una Actividad en Android.


En una Actividad pueden existir en esencia tres estados:

  • Resumed: La actividad está en primer plano de la pantalla y tiene el foco del usuario, también es referenciado este estado como; la actividad esta "running" o en "ejecución"

  • Paused: Una actividad esta en primer plano de la pantalla pero otra actividad está parcialmente visible o no visible en toda la pantalla, esta actividad parcialmente visible o no visible se dice que está pausada, pero no ha sido destruida lo cual hace que mantenga en memora su estado y la información que contenga, permanece unida al gestor de ventanas. Pero puede ser terminada o destruida en cualquier momento por el sistema Android en situaciones de poca memoria.

  • Stopped: La actividad está totalmente oculta por otra actividad, se dice que la actividad está en background. Una actividad detenida mantiene en memoria, su estado y la información, pero no está ligada al gestor de ventanas. Si embargo ya no es visible para el usuario y puede ser terminada o destruida en cualquier momento cuando el sistema requiera memoria.

Si una Actividad es pausada o detenida, el sistema puede liberar esta de la memoria haciendo uso del método finish() o simplemente destruyendo el proceso. Cuando la Actividad es abierta nuevamente después de ser finalizada o destruida, esta debe ser creada desde el inicio nuevamente.

Ciclo de Vida Activity
Ciclo de Vida Activity

En una próxima entrada pienso escribir en mas detalle sobre el concepto y funcionalidad del Ciclo de Vida de la clase Activity que tiene Android para el manejo de las Actividades en las Aplicaciones.



Bueno eso es todo, como mencioné al principio esta entrada es solo una introducción y conceptos básicos de la clase Activity pero que hay que tener claros para el desarrollo de Aplicaciones Android.




Referencias:
http://goo.gl/MEYlDI


jueves, 29 de enero de 2015

Herramientas Básicas Para Salir De Paseo En Bicicleta

Herramientas Básicas
Herramientas Básicas



En la siguiente entrada quiero compartir lo importante de estar preparado con las herramientas necesarias cuando pensemos en salir de paseo en bicicleta.

Cada persona tiene una forma de entender lo que es un paseo en bicicleta, pero para dar un contexto de lo que es un paseo en bicicleta, yo identifico 3 tipos que defino a continuación en base al perfil del usuario.




El Dominguero
Se caracteriza por hacer uso de la bicicleta cada 8 días, generalmente los días Domingos en un recorrido por las Ciclo Vías de la ciudad, su motivación es hacer deporte y farandulear entre otras multitudes que asisten a la Ciclo Vía.



El Obrero
Se caracteriza por hacer uso de la bicicleta diariamente para transportarse por la ciudad, desde su hogar hasta su sitio de trabajo, por lo que regularmente hace uso de la bicicleta en horas de la mañana muy temprano y finalmente en horas de la tarde alrededor del ocaso para regresar a su hogar.



El Pro
Es aquella persona que tiene como estilo de vida el uso de la bicicleta, tanto para ir al trabajo como para salir los domingos, ademas de hacer recorridos largos y subiendo montañas. Es una persona muy madrugadora y que busca constantemente nuevas rutas y paisajes para conocer, en casa salida que hace en bicicleta se exige físicamente, es una persona competitiva que disfruta del aire libre así como también de los paisajes del camino durante sus aventuras.




Con esta pequeña introducción puedo continuar y mencionar los diferentes tipos de herramientas básicas que son recomendables llevar en un paseo en bicicleta.
También estoy pensando en publicar otra entrada donde pueda hacer una descripción mas detallada de los diferentes perfiles de usuarios de bicicleta.





En el caso de ser un usuario Dominguero las herramientas para cargar son lo más básicas posibles, hasta es posible arriesgarse a no cargar herramienta ya que en el recorrido que hace cada Domingo en las Ciclo Vías siempre es fácil encontrar un mecánico que pueda ayudarlo en cualquier situación que se presente, aunque tiene un precio. Pero si quiere ser un Dominguero que desea llevar herramienta propia, lo mínimo que debe cargar es:

  • Bomba de aire
Bomba de Aire
Bomba de Aire

  • Parches

Parches
Parches

  • Lija
Lija
Lija

  • Pegante
Pegante
Pegante

  • Palancas
Palancas
Palancas



Si se es un usuario Obrero es muy importante andar con herramienta, ya que nunca sabremos en que situación tengamos un daño mecánico en nuestra bicicleta, ademas de tener dos factores en contra al momento de presentarse dicha situación, primero que todo puede ser a cualquier hora y no a cualquier hora hay un taller mecánico abierto, segundo tampoco sabemos si hay algún taller mecánico cerca a nuestra ubicación, por lo que es importante cargar nuestra propia herramienta para seguir adelante.

Las herramientas básicas para un usuario Obrero son las mismas que un usuario Dominguero pero adicionalmente se debe cargar las siguientes:

  • Destornillador de pala y estria
Destornillador
Destornillador

  • Neumático extra
Neumático
Neumático

  • Gusanillo extra
Gusanillos
Gusanillos

  • Tronchacadenas
Tronchacadena
Tronchacadena



Cuando se trata de un usuario Pro es mas que obvio andar con un kit de herramientas bien dotado para esos viajes de mas de 50 Km diarios y que tiene varios factores a tener en cuenta, como por ejemplo cada camino es nuevo para nosotros y no sabemos si cerca por donde nos embarcamos en una aventura pueda haber alguien que nos ayude, ademas los caminos no siempre son pavimentados, algunas veces vamos a rodar por trochas y caminos destapados, es muy importante que en cualquier situación podamos seguir rodando.

Las herramientas básicas para este tipo de usuario Pro son las que se han mencionado hasta ahora sumando las siguientes:

  • Alicates
Alicates
Alicates

  • Llave Allen
Llave Allen
Llave Allen

  • Llave Inglesa
Llave Inglesa
Llave Inglesa

  • Recorte de Neumatico
Recorte de Neumático
Recorte de Neumático

  • Guaya extra
Guaya
Guaya




Listo esas serian las herramientas más básicas que debería cargar una personas al momento de salir a un paseo en bicicleta, con estas herramientas tenemos una probabilidad mucho mayor de poder seguir rodando en caso de que se nos presente alguna situación.


Y como siempre hay que tener en cuenta que es muy posible que en cualquier salida de paseo en bicicleta nos acompañe la Ley De Murphy


.