martes, 18 de marzo de 2014

Instalación Django y Configuración (Python)

Django es un Framework de desarrollo de aplicaciones rápido, pragmático y con un diseño limpio basado en Modelo-Vista-Template.

Existe abundante información en la web acerca de lo que es Django Framework y por tal razón no profundizaré en eso.


Aquí les enseñare como instalar y configurar Django para poder comenzar a trabajar con nuestros proyectos: 


PASO 1. Instalar Python Descargar Python
   - Luego comprobamos que se haya instalado correctamente:

 
PASO 2. Instalamos Django. 
Lo descargamos *.zip Descargar Django y lo compilamos con el CMD:
- Extraemos Django en alguna unidad  y con el cmd ubicamos el archivo y escribimos
       C:/Django-1.4.1/ python setup.py install

- Comprobamos que todo este correcto
       C:\>python
       >>>import django
       >>>django.VERSION
       (1, 4, 1, 'final', 0)

PASO 3. Instalación de APPS. 
- Hasta aquí ya tienes Django instalado en tu PC. Ahora es muy necesario instalar algunas APPS Django que son paquetes Python diseñados específicamente para usarse en un proyecto Django y que nos ayudaran en la migración, sincronización de BD, reportes pdf, etc. Los mas usados son:
  • django-debug-toolbar-0.9.4
  • django-extensions-1.0.3
  • django-mptt-master
  • django-registration-0.8
  • easy-thumbnails-1.2
  • setuptools-2.1
  • sorl-thumbnail-master
  • South-0.7.6
  • thumbs-v0.4
  • virtualenv-1.11
  • xhtml2pdf-0.0.5
Aquí les dejos todas estas apps comprimidas Descargar APPS
Para instalarlas es igual como instalamos Django, descomprimimos y vamos accediendo a las carpetas y hacemos
                C:/carpeta app/ python setup.py install

Todo esto se instalara en C:\Python27\Lib\site-packages
Debes tener en cuenta que algunas APPs dependen de otras y si durante la instalación te arroja algún error debe de ser porque ducha APP aun no ha sido instalada.

PASO 4. Base de Datos y Configuración del PATH
-Primero tienes que instalar con normalidad tu Motor MySQL
-Luego necesitamos instalar dos aplicativos extras(MySQL-python-1.2.3.win32-py2.7) Descargar AQUI e instalarlas.

-Luego que instalamos las APPs necesitamos configurar el PATH del sistema para que python pueda reconocerlas y hacer uso de ellas; nos vamos a la carpeta donde se instalo python y copiamos la dirección y lo pegamos en el path.

              C:\Python27\Lib\site-packages



Listo con esto ya tendríamos Instalado Python con Django y las principales apps. Luego ya podríamos comenzar a crear nuestros proyectos, correr nuestro servidor, sincronizar nuestros modelos, hacer migraciones etc, sin ningún problema.

En el siguiente post comenzaremos a desarrollar un proyecto desde cero.



lunes, 10 de marzo de 2014

Generación de Backup en Java

Hola, quiero compartir un ejemplo que permite generar Backup ó copias de respaldo de una BD y que me ha sido de gran ayuda al usarlo en aplicaciones que he desarrollado. Bueno Comencemos:

En el ejemplo muestro un ComboBox donde se listan todas las BD que tiene el motor de base de datos, en este ejemplo estamos trabajando con MySQL.

   private void ListaBD(){
      Connection con;
      PreparedStatement ps;
      ResultSet rs;
      try{
          //Preparamos la coneccion a la BD
         Class.forName("com.mysql.jdbc.Driver");
         con = DriverManager.getConnection("jdbc:mysql://localhost:3306","root","");
         //Preparamos consulta
         ps = con.prepareStatement("SHOW DATABASES");
         rs = ps.executeQuery();
         while(rs.next()){
             //Llenamos la lista 
            comboLista.addItem(rs.getObject(1));   
         }
      }
      catch(Exception e){
         JOptionPane.showMessageDialog(null, e.getMessage());
      }        
   }

Luego se crea el método para evento del boton "Backup", estamos usando un JFileChooser para especificar la ruta donde deseamos guardar nuestro backup.

   private void GenerarBackup(String bd){    
      //Creamos la ruta para guadar el backup
      int resp = FileChooser.showSaveDialog(this);   
      if(resp==JFileChooser.APPROVE_OPTION){
         //le añadimos la extencion *.sql
         dir=String.valueOf(FileChooser.getSelectedFile().toString())+".sql";      
         try{
            Runtime runtime = Runtime.getRuntime();
            File fichero = new File(dir);
            FileWriter fw = new FileWriter(fichero); 
            Process child = runtime.exec("C:/Archivos de programa/MySQL/MySQL Server 5.1/bin/mysqldump --opt --password= --user=root --databases "+bd+" -R");
         
            //Process es el que ejecuta el comando para buscar el mysqldump.exe
            InputStreamReader irs = new InputStreamReader(child.getInputStream());
            BufferedReader br = new BufferedReader(irs);

             //Aquí espesamos a sobrescribir el archivo *.sql

            String line;
            while( (line=br.readLine()) != null){
               fw.write(line + "\n");
               System.out.println(""+ line);
            }
            msg.setText("Se ha creador un archivo *sql en la ruta: \n"+dir);
            fw.close();
            irs.close();
            br.close();
            JOptionPane.showMessageDialog(null, "Backup generado correctamente", "Operacion completada",JOptionPane.INFORMATION_MESSAGE);
         }
         catch(Exception e){
            e.printStackTrace();
            JOptionPane.showMessageDialog(null, "Error no se genero el backup por el siguiente motivo: " + e.getMessage(), "Verificar",JOptionPane.ERROR_MESSAGE);
         }
      }      

   }  

Nota: 
 Process child = runtime.exec("C:/Archivos de programa/MySQL/MySQL Server 5.1/bin/mysqldump --opt --password= --user=root --databases "+bd+" -R");
Es el que crea el proceso para ejecutar la consulta con el mysqldump, mi MySQL no tiene password pero si tuviera hay que ponerlo así: 

 Process child = runtime.exec("C:/Archivos de programa/MySQL/MySQL Server 5.1/bin/mysqldump --opt --password=tu_pass --user=user_bd --databases "+tu_bd+" -R");

Eso es todo y espero les ayude este post, aqui les dejo el ejemplo completo.
Descargar codigo fuente completo

lunes, 3 de marzo de 2014

Los 5 Mejores LookAndFeel para Java

Para los que hemos desarrollado aplicaciones en java para escritorio, siempre nos hemos encontrado con la inquietud  de querer cambiar el aspecto de nuestra aplicacion y por ende usabamos imagenes,  texturas de fondo, pero el aspecto de las ventanas siempre eran la misma.

Quisas algunos han usado Metal, CDE/Motif, Windows Windows Classic, que son muy conocidos y que tambien viene por defecto con algunos IDE (yo uso JGrasp); la cuestion es que estos no son tan llamativos a la vista.
Por tal motivo quisiera compartir algunos LookAndFeel que considero son mejores y elegantes.

Al final voy a colgar un pequeo ejemplo, es un codigo que obtiene datos desde una BD en MySQL. Para hacer todas las pruebas de LookAndFeel solo tienes que remplazar  la clase Void main por la de este post.

NOTA: Algunos LookAndFeel  necesitan de algun archivo *.jar. Lo descargas y pegas en la carpeta donde se encuentra tu proyecto o en donde esta instalado tu Java JDK.(C:\ProgramFiles\Java\jdk1.7.0_06\jre\lib\ext).
Descargar archivos jar

Comencemos: Despues de pegar los archivos JAR, Lo nico que hay que modificar es la clase: Public static void main()...

  1. JTattoo LookAndFeel  http://www.jtattoo.net/

   //jtattoo
            public static void main(String args[]){        
               try{            
                    UIManager.setLookAndFeel("com.jtattoo.plaf.acryl.AcrylLookAndFeel");   
                    FrmANALISIS form=new FrmANALISIS();
                    form.setVisible(true);         
             }
             catch (Exception e) {
            }         
}

    2.  LiquidLookAndFeel  http://www.docjar.com/jar_detail/LiquidLnF.jar.html

        Aqui es necesario importar el paquete:  import com.birosoft.liquid.LiquidLookAndFeel;

           public static void main(String args[]){      
                try{
                     javax.swing.UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");                                    FrmANALISIS form=new FrmANALISIS();
                     form.setVisible(true);      
                } catch (Exception e) {
                 }      
           }

   3. QuaquaLookAndFeel http://www.randelshofer.ch/quaqua/









  /*QuaquaLookAndFeel*/
     public static void main(String args[]){    
      System.setProperty("Quaqua.tabLayoutPolicy","wrap");
      try{
         UIManager.setLookAndFeel("ch.randelshofer.quaqua.QuaquaLookAndFeel");
         JFrame.setDefaultLookAndFeelDecorated(true);      
         FrmANALISIS frame=new FrmANALISIS();    
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.show();      
      }
      catch (Exception e){
      }  
   }


4.  NimbusLookAndFeel http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/nimbus.html


/*NimbusLookAndFeel*/
  public static void main(String args[]){           
    try{
        UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");      
        FrmANALISIS frame=new FrmANALISIS();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.show(); 
      }
      catch (Exception event){
        System.out.print("No se puede mostrar Look");
      }
   }

5. NimRODLookAndFeel http://nilogonzalez.es/nimrodlf/faq.html

 Aqui es necesario importar el paquete: import com.nilo.plaf.nimrod.*;

  //NimRODLookAndFeel//
   //   import com.nilo.plaf.nimrod.*;
    public static void main(String args[]){
      try{         
         NimRODLookAndFeel nf = new NimRODLookAndFeel();
         UIManager.setLookAndFeel( nf);      
         FrmANALISIS frame=new FrmANALISIS();
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.show(); 
      }
      catch (Exception event){
         System.out.print("No se puede mostrar Look");
      }
   } 

Nota: La ventaja de NimRODLookAndFeel es que podemos personalizar nuestro propio estilo de manera muy facil y practico http://nilogonzalez.es/nimrodlf/screenshots.html. Como hacerlo? Aqu te va:
  - Abre el archivo nimrodlf-1.2a.jar (Click derecho abrir con Java(ME))

  - Aqui puedes modificar los colores, fondo, bordes, estilo de tablas, InternalFrame, etc. y para ir viendo el resultado de prueba le das click en Test.
 - Luego que hayas personalizado tu tema a tu preferencia tienes que guardarlo. Para ello le das click en en boton Save en Config. Guardar en (C:\ProgramFiles\Java\jdk1.7.0_06\jre\lib\ext).
 - Al guardar se guardara como *.theme. Ejemplo: "Copia de ThemeAzul.theme"  que es el archivo que usaras en tu proyecto para obtener un aspecto muy diferente al original de  NimRODLookAndFeel.
Por ejemplo



*Para poder usar tu nuevo tema haces lo siguiente, remplazas nuevamnete tu Void main asi:

  public static void main(String args[]){
      try{
         NimRODTheme nt = new NimRODTheme( "Copia de ThemeAzul.theme");
         NimRODLookAndFeel nf = new NimRODLookAndFeel();
         nf.setCurrentTheme(nt);
         UIManager.setLookAndFeel(nf);
 
         FrmANALISIS frame=new FrmANALISIS();
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.show(); 
      }
      catch (Exception event){
         System.out.print("No se puede mostrar Look");
      }  
   }

 - Eso es todo, espero les aya sido de ayuda este material y aqui les dejo el codigo java completo. Compilarlo en JGrasp y restaurar la BD.

DESCARGAR CODIGO COMPLETO