lunes, 20 de junio de 2016

[C#] Hello world desde la consola


Los lenguajes de programación como el caso de C# tienen una plataforma detras de ellos que permiten que las aplicaciones sean entendidas por la maquina (CLS, CLI, y todos los niveles del Framework de .NET), a este proceso le llamamos compilación que practicamente es convertir el codigo que escribimos de manera que sea entendible por las herramientas de la plataforma, todo esto lo tenemos un poco mas marcado en lenguajes que son como JAVA o Phyton, ya que regularmente lo hacemos mas habitual. En el caso de C# creo que Visual Studio nos da todo lo que necesitamos a mi parecer el mejor editor que hay para programación, y aunque no es muy común, tambien tiene una forma "manual" de ejecutar sus aplicaciones y compilarlas desde una linea de comandos para esto usaremos el siguiente codigo:

   class HolaMundo {
 static void Main ()
 {
  System.Console.WriteLine("Hola Mundo");
 }
}


Para poder ejecutar y compilar lo primero que haremos es abrir una terminal, en este caso abriremos el developer command prompt que ya viene con cada una de als versiones de Visual Studio, esto para evitar el buscar donde esta el compilador y posteriormente añadir variables de entorno. Ya una vez que estamos en nuestra terminal solo ingresaremos al lugar donde este el archivo que tenemos con el codigo anterior y guardado con una extensión cs.

Nos desplazamos hasta la ruta y ponemos el siguiente comando:

C:\ejercicios> csc NombreArchivo.cs 

Compilara y una vez terminado creara un archivo NombreArchivo.exe que sera ya el archivo que podra ejecutar.


[ANDROID] Marshmallow land, un juego escondido.


En la versión 6 de android, así como en las anteriores versiones, android pone imágenes y animaciones referentes a la versión, estas regularmente estan escondidas o no aparecen a simple vista, en este caso aparecen dando clic en repetidas ocasiones en la versión de android, en este caso en particular si presionas varias veces en donde dice la versión de android, en información del telefono, aparece un figura un poco rara que pareciera el logo, al presionar una vez aparece el malvavisco referente a la versión, la imagen se mejora, pero si dejas presionado aparecerá un minijuego donde tienes que pasar el logo de android entre los malvaviscos. Google siempre sorprende con cosas como esas.

viernes, 10 de junio de 2016

[Java] Configurar un Pool de conexión para mysql desde Glassfish


La mayoria de las aplicaciones requieren una forma de almacenar datos y controlar correctamente la integridad de los mismos, muchas veces en las aplicaciones web o empresariales de Java la forma de conectar es muy flexible, ya que hay desde la clasica conexión basada en JDBC, la configuración de una persistencia con los mismos datos o inclusive como el caso de ahora por medio de un Pool de conexiones. Esto hace que las conexiones sean controladas directamente por el contenedor y no lo haga el programador, ya que si por ejemplo lo hicieramos todo desde codigo duro, tendríamos que estar abriendo y cerrando las conexiones, o en el mejor de los casos implementar un singleton ( Una sola instancia para toda la aplicación) que esto complica su funcionamiento. Para dejarle el trabajo simplemente al contenedor podemos crear pool de conexiones los cuales se crean desde el mismo panel de administración (tambien puede ser por XML) que el asistente nos ayuda demasiado. 

Cuando se instala Glassfish tenemos automaticamente una serie de clases que permiten la conexión con algunos gestores de base de datos en nuestro caso con MYSQL, por lo que podemos decir que lo unico que debemos hacer es asegurarnos que tenemos dicha clase para esto vamos a la carpeta de glassfish de la instalación -> glassfish -> domains -> midominio -> lib -> ext y verificar que tenemos el conector de MYSQL


Ahora vamos a configurar el proceso de la siguiente manera: 

Entramos a la consola de administrador, una vez que glassfish este corriendo por medio de http://localhost:4848 o directamente en netbeans de la siguiente opción: 


En el panel de configuración nos dirigimos a la opción JDBC y la opción Pool 



Le damos en New para crear el que nos servirá, le podemos poner el nombre que sea ya en este caso le pondremos el funcionamiento del programa




Le damos clic en siguiente, en la pantalla que nos muestra nos desplazamos a la parte de abajo y buscaremos los siguientes elementos, los cuales modificaremos de la siguiente forma (En caso que no aparezcan los campos es muy probable que no se tenga en Driver en la posición adecuada): 

------
DatabaseName: NombreMIBaseDatos
Password: passwordUsuarioMysql
Url: jdbc:mysql://IPDondeEsteMYSQL:3306/NombreMIBaseDatos    (IPDondeEsteMYSQL puede sustituirse por localhost en caso que el servidor de mysql este instalado en el mismo equipo que el GlassFish) 
url: jdbc:mysql://IPDondeEsteMYSQL:3306/NombreMIBaseDatos    (IPDondeEsteMYSQL puede sustituirse por localhost en caso que el servidor de mysql este instalado en el mismo equipo que el GlassFish) 
User: UsuarioMysql 
------

Damos Finalizar para guardar los cambios 

Veras que en la opcion de pools ya te aparecera el nombre que acabas de agregar, puedes entrar nuevamente y dar PING para probar la conexión y que los valores sean los correctos


Despues en la misma opción de JDBC vas a encontrar JDBC Resources que es el nombre por el cual podremos acceder de la programación, predeterminadamente los nombres son jdbc/_algo pero realmente puede ser cualquier nombre, por lo que crearemos un nuevo recurso, le ponemos el nombre que queramos y en el pool importante seleccionamos el que queramos utilizar, para el ejercicio pues tendrìa que ser el ultimo que configuramos en los apartados anteriores. 


Una vez finalizado ya tenemos un recurso el cual puede ser usado de la siguiente manera dentro de un contexto valido para el contenedor (Alguna aplicaciòn que corra en Glassfish), lo pondríamos de la siguiente manera: 


package dbConnect;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

/**
 * Clase que permite traer el pool de conexion del servidor 
 * @author coby
 */
public class Conexion {
    
    protected DataSource getConexion() {
         try {
             Context c = new InitialContext();
             return (DataSource) c.lookup("java:comp/env/jdbc/siies");
         } catch (NamingException ex) {
             System.out.println("No se pudo resolver JNDI " + ex.toString());
         }
       return null; 
       
     }
    
    
    
}


Espero les sirva, saludos



sábado, 4 de junio de 2016

[APP FACEBOOK] Selective tweet para decirle a facebook que tweet son los que debe publicar



Cuando manejas las dos redes sociales veras que según mi punto de vista no siempre quieres que los tweets se vayan a facebook por lo que la aplicacion de Selective tweet permite resolver el problema. La aplicación consiste simplemente en que pongamos a tus tweets al final el hashtag #fb y automaticamente la aplicación la pondra en tu perfil o inclusive en una pagina. 

Para configurarlo es tan sencillo como simplemente entres al enlace de la aplicación y poner unicamente tu usario de twitter, posteriormente te mostrara los permisos que tomara de tu cuenta de facebook y simplemente los permites, y listo ya todo lo que publiques en Twitter con el hashtag #fab veras que aparecen en tu perfil de facebook. 

Una de las cosas que debes de tomar en cuenta es que en twitter debes de primero no debes de terner tus tweets privados y posteriormente no tener enlazada tu cuenta de facebook, con eso la aplicación podra hacer su trabajo.
 

viernes, 3 de junio de 2016

[Ubuntu] Error android studio: Unable to run mksdcard SDK tool




Cuando se instala Android Studio se puede generar un Error "Unable to run mksdcard SDK tool", esto tiene que ver directamente porque cuando se quiere armar las librerías que se descargan de la aplicación no es posible que el sistema operativo las interprete con una arquitectura de 64 bits, por lo que es recomendable descargar unas librerías, en este caso puedes ejecutar el siguiente comando y resolverá el problema, te permitirá continuar con la descarga y poder instalar Android Studio.



sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6




Espero les pueda ayudar con el funcionamiento.