S.O OpenSuse

openSUSE es un sistema operativo libre basado en Linux. La distribución openSUSE es estable, sencilla de usar, completa y de propósito general

Node.js

Node es una platafoma y un entorno de desarrollo basado en JavaScript al lado del servidor

Java

Java es un entorno de desarrollo multiplataforma

Java

Java es un entorno de desarrollo multiplataforma

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

viernes, 29 de marzo de 2013

Node.js Descarga e Instalacion en OpenSuse





Node es una plataforma y un entorno de desarrollo basado en codigo javaScript al lado del servidor, es personalizable ademas que tiene mayor rendimiento, a diferencia de Apache que trae por default varios modulos que aveces es muy complicado modificar, Node es una plantilla en blanco esta preparada para que tu la puedas personalizar segun tus necesidades, otra de las grandes ventajas de Node.js es el uso de memoria mientras que los servidores normales crean un hilo diferente para solicitud Node los procesa todo mediante un unico hilo multitarea de javascript.

Descarga 

En la pagina de Node.js descargamos las opcion que vemos en la imagen.

Requisitos

antes de continuar con la instalación debemos asegurarnos que tenemos instalados las siguientes dependencias.


  • zlib-devel
  • g++
  • gcc
  • make
  • libssl-dev
  • python 2.6 o 2.7

Mediante la terminal nos ubicamos en la carpeta que se halla descargado y descomprimir el paquete con el comando tar.


Nos ubicamos en la carpeta que se creo al descomprimir y ejecutamos lo siguiente ./configure

posteriormente preparamos la instalación y ejecutamos make.

por ultimo con sudo make install realizamos la instalación.

para esta versión que utilizamos en este post al instalar Node crea la variable path, lo que significa que no importa en el directorio que nos encontremos si tecleamos el comando node este se ejecutara correctamente.
para verificar que se instaló correctamente ejecutamos node -v en la terminal y nos mostrara la version instalada.



Listo Node quedo instalado correctamente en Opensuse.

en los próximos post publicare como configurar un servidor en Node y crear el primer proyecto.

miércoles, 27 de febrero de 2013

Exportar lista de Directorios a Excel, txt o Pdf usando itext y POI

En algunas ocaciones necesite una saber la lista de de archivos que se encontraban dentro de un directorio y subdirectorio y guardarlos en un archivo. asi que implemente una pequeña utileriapara ello.


Requisitos


Creando el proyecto

Creamos un nuevo proyecto Java y agregamos las librerias de iText y POI



Creamos una nueva clase llamada ExportaTxt dentro de esta crearemos el metodo crearTxt le pasaremos como parametros un List de String y un String con la cadena y el nombre del archivo.
01 public class ExportaTxt {
02 
03     public void crearTxt(ArrayList<String> list, String archivo) {
04         FileWriter fichero = null;
05         PrintWriter pw = null;
06         try {
07             fichero = new FileWriter(archivo);
08             pw = new PrintWriter(fichero);
09 for (String string : list) {
10                 pw.println(string);
11             }
12         } catch (Exception e) {
13             e.printStackTrace();
14         }
15         finally {
16             try {
17                 if (fichero != null) {
18                     fichero.close();
19                 }
20             } catch (Exception e) {
21                 e.printStackTrace();
22             }
23         }
24     }
25 }
26 
Ahora agregamos la clase exporta excel esta tendra un metodo que crearExcel al cual le pasaremos como parametros una lista de directorios, el nombre del libro y la ruta con el nombre del archivo.
01 public class ExportaExcel {
02 
03     public void crearExcel(ArrayList<String> list, String libro, String archivo) {
04         HSSFWorkbook book = new HSSFWorkbook();
05         HSSFSheet hoja = book.createSheet(libro);
06         HSSFRow fil = hoja.createRow(0);
07         HSSFCell celd = fil.createCell(0);
08         celd.setCellValue("Lista de archivos");
09         CellStyle stilo = book.createCellStyle();
10         stilo.setFillForegroundColor(HSSFColor.GREY_50_PERCENT.index);
11         stilo.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
12         HSSFFont font = book.createFont();
13         font.setFontHeightInPoints((short) 12);
14         font.setBoldweight(Font.BOLDWEIGHT_BOLD);
15         stilo.setFont(font);
16         celd.setCellStyle(stilo);
17 for (String lis : list) {
18             HSSFRow fila = hoja.createRow(list.indexOf(lis) + 1);
19             HSSFCell celda = fila.createCell(0);
20             celda.setCellValue(lis);
21             hoja.autoSizeColumn(0);
22             try {
23                 FileOutputStream fichero = new FileOutputStream(archivo);
24                 book.write(fichero);
25                 fichero.close();
26             } catch (Exception e) {
27                 e.printStackTrace();
28             }
29         }
30     }
31 }
32 

ahora creamos la clase ExportaPdf esta clase tendra un metodo llamado crearPdf le pasaremos como parametros la lista de archivos o directorios y la ruta con el nombre del archivo.
01 public class ExportaPdf {
02 
03     public void crerPdf(ArrayList<String> list, String archivo) {
04         try {
05             Document document = new Document();
06             PdfWriter.getInstance(document, new FileOutputStream(archivo));
07             document.open();
08             Font font = new Font();
09             font.setStyle(Font.BOLD);
10             PdfPTable table = new PdfPTable(1);
11             table.setWidths(new int[] {1});
12             PdfPCell cell;
13             cell = new PdfPCell(new Phrase("lista de archivos", font));
14             cell.setHorizontalAlignment(Element.ALIGN_CENTER);
15             table.addCell(cell);
16 for (String string : list) {
17                 cell = new PdfPCell(new Phrase(string));
18                 cell.setHorizontalAlignment(Element.ALIGN_LEFT);
19                 table.addCell(cell);
20             }
21             document.add(table);
22             document.close();
23         } catch (Exception e) {
24             e.printStackTrace();
25         }
26 
27     }
28 } 

Creamos una clase que sera nuestro controlador esta clase contenda un medor que nos retorne una lista de los archivos ,directorios y subdirectorios. ademas se implemetaran tres metodos exportarTxt, exportarExcel y exportarPdf.
01 public class Direc {
02 
03     ArrayList lista = new ArrayList<String>();
04 
05     public ArrayList<String> getDir(String directorio) {
06         File file = new File(directorio);
07         File[] dirs = file.listFiles();
08 for (File file1 : dirs) {
09             lista.add(file1.getName());
10             if (file1.isDirectory()) {
11                 getDir(file1.getAbsolutePath());
12             }
13         }
14 
15         return lista;
16     }
17 
18     public void exportarExcel(String dir, String dondeGuardar) {
19         ArrayList<String> list = getDir(dir);
20         ExportaExcel excel = new ExportaExcel();
21         excel.crearExcel(list, "lista de archivos", dondeGuardar + "/archivos.xls");
22     }
23 
24     public void exportarTxt(String dir, String dondeGuardar) {
25         ArrayList<String> list = getDir(dir);
26         ExportaTxt txt = new ExportaTxt();
27         txt.crearTxt(list, dondeGuardar + "/archivos.txt");
28     }
29 
30     public void exportarPdf(String dir, String dondeGuardar) {
31         ArrayList<String> list = getDir(dir);
32         ExportaPdf pdf = new ExportaPdf();
33         pdf.crerPdf(list, dondeGuardar + "/archivos.pdf");
34     }
35 }
36 

y por ultimo implementamos un pequeña interfaz.


 y listo.

aqui les dejo el codigo fuente.






martes, 30 de octubre de 2012

CRUD Hibernate 3 con Sql Server 2008 en NetBeans - Parte II.- Desarrollo

Continuando con la Practica CRUD Hibernate 3 con Sql Server 2008 ahora vamos a realizar altas, bajas, cambios de una Base de Datos. 
  • Creando los Paquetes 

    Creamos un nuevo proyecto web llamado DVDStore debemos crear los paquetes:
    • bean
    • dao
    • util
    • vista
      En el paquete default crearemos los archivos de configuracion hibernate.cfg.xml y hibernate.reveng.xml tal como se crean en el post anterior. 
 En el paquete bean creamos los archivos que seran mapeados a la base de datos. sobre el paquete bean -> new -> Hibenate Mapping Files and POJOs from Database. con esto crearemos los archivo Actor.hbm.xml y Actor.java
En el paquete until creamos la clase HibenateUtil esta clase viene incluida en el Framework de Hibernate. 
new->HibernateUtil y le nombramos HibenateUtil
continuamos creando nuetra clase DAO(Data Access Object) la cual nos facilitara la manipulacion de los datos contenidos en la tabla. esta clase estara contenida en el paquete dao y la llamaremos ActorDao en esta clase tendremos los metodos. insert(), update(Actor actor),  find(String busqueda), find(int id) y delete(int id).
05 package dao;
06 
07 import bean.Actor;
08 import java.util.ArrayList;
09 import javax.swing.JOptionPane;
10 import org.hibernate.HibernateException;
11 import org.hibernate.Session;
12 import org.hibernate.SessionFactory;
13 import org.hibernate.Transaction;
14 import org.hibernate.cfg.Configuration;
15 import util.HibernateUtil;
16 
17 /**
18  *
19  * @author xm07689
20  */
21 public class ActorDao {
22 
23     public void insert(Actor actor) {
24         Session sess = null;
25         try {
26             SessionFactory factory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
27             sess = factory.getCurrentSession();
28             Transaction tx = sess.beginTransaction();
29             sess.save(actor);
30             tx.commit();
31             JOptionPane.showMessageDialog(null, "Successfully data insert in database");
32         } catch (Exception e) {
33             JOptionPane.showMessageDialog(null, e.getMessage());
34         }
35     }
36 
37     public void update(Actor actor) {
38         Session sess = null;
39         try {
40             SessionFactory factory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
41             sess = factory.getCurrentSession();
42             Transaction tx = sess.beginTransaction();
43             sess.update(actor);
44             tx.commit();
45             JOptionPane.showMessageDialog(null, "Successfully data update in database");
46         } catch (Exception e) {
47             JOptionPane.showMessageDialog(null, e.getMessage());
48         }
49     }
50 
51     public ArrayList<Actor> find(String busqueda) {
52         Session sess = null;
53         ArrayList<Actor> listAct;
54         SessionFactory factory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
55         sess = factory.getCurrentSession();
56         Transaction tx = sess.beginTransaction();
57         if (busqueda.equals("")) {
58             listAct = (ArrayList<Actor>) sess.createQuery("from Actor").list();
59         } else {
60             listAct = (ArrayList<Actor>) sess.createQuery("from Actor where name='" + busqueda + "'").list();
61         }
62         return listAct;
63     }
64 
65     public Actor find(int id) {
66         Actor actor = null;
67         Session sess = null;
68         SessionFactory factory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
69         sess = factory.getCurrentSession();
70         Transaction tx = sess.beginTransaction();
71         actor = (Actor) sess.createQuery("from Actor where actor_id=" + id).uniqueResult();
72 
73         return actor;
74     }
75 
76     public void delete(int id) {
77         try {
78             Session sess = null;
79             sess = HibernateUtil.getSessionFactory().openSession();
80             sess.beginTransaction();
81             Actor actor = (Actor) sess.createQuery("from Actor where actor_id=" + id).uniqueResult();
82             sess.delete(actor);
83             sess.getTransaction().commit();
84             sess.close();
85         } catch (HibernateException ie) {
86             JOptionPane.showMessageDialog(null, ie.getMessage());
87         }
88     }
89 }  

El ultimo paso es creal la vista asi que en este paquete creamos un nuevo JFrame Form este ya viene predefinido en los paqutes de Swing Gui Forms de Netbeans
new->JFrame Form lo llamaremos FrmActor.

el proyecto debe quedar de la siguente forma.
  
el paquete img es una carpeta que debemos crear para ir guardando las imagenes de los actores este proceso de guardado y se hace en la clase FrmActor. les dejo unas imagenes de como funciona el ejemplo y ademas les pondre el script de la base de datos y los fuentes del proyecto. espero les sirva de ejemplo.

                                                      cargando los datos......
Ventana Principal

Seleccionando un actor
cambiando la foto

Saludos y dejen sus cometarios.

viernes, 27 de julio de 2012

CRUD Hibernate 3 con Sql Server 2008 en NetBeans - Parte I.- Configuracion


Hibernate es un poderos framewok  de Mapeo Objeto Relacional el cual podemos implementar an la capa del Acceso a Datos. En esta ocacion les mostrare como configurarlo en el IDE de Desarrollo Netbeans.
utilizando SQL Server 2008 como manejador de Bases de datos, bueno sin  mas rodeos vamos a iniciar con la configuracion.

Requisitos


Creando la Base de Datos

Para empezar debemos tener un esquema de una base da Datos, para ello crearemos una Base de Datos llamada DVDStore a la cual a gregaremos una tabla llamada actor.
01 USE [DVDStore]
02 GO
03 
04 CREATE TABLE [dbo].[actor](
05  [actor_id] [int] IDENTITY(1,1) NOT NULL,
06  [name] [varchar](50) NULL,
07  [first_name] [varchar](50) NULL,
08  [last_name] [varchar](50) NULL,
09  [genero] [char](1) NULL,
10  [last_update] [datetime] NULL,
11  [photo] [varchar](50) NULL,
12  CONSTRAINT [PK_actor] PRIMARY KEY CLUSTERED ([actor_id] ASC ) 
 

Construyendo un nuevo Proyecto

En NetBeans creamos un nuevo proyecto Java Aplications.

  Una vez creado en Proyecto agregamos las librerias de hibernate.

 Ahora vamos a crear un nueva coneccion de Base de Datos.

en la pestaña de servicios damos click derecho sobre la opcion Bases de Datos.

Seleccionamos nueva coneccion.

En combobox Driver(controlador), seleccionamos nuevo controlador. aparecera una nueva ventana donde elegiremos el driver JDBC(sqljdbc4).

En el Combobox nos aparecera el nuevo driver agregado lo selecionamos y damos click en siguiente.

En esta ventana agregamos:

   servidor:    mi_servidor
   puerto:       1433
   Base de Datos:DVDStore
   Instancia:    sqlspress
   Usuario:      sa
   Contraseña:   *********



En nuestro Poyecto agregamos 3 paquetes:
  • bean
  • dao
  • vista
  • util
 Crearemos un archivo de configuracion de hibernate, Nuevo-> otros->hibernate->Hibernate Configuration Wizard, se le dejaremos el nombre de default. Seleccionamos la coneccion que se creo anteriormente.
01 <?xml version="1.0" encoding="UTF-8"?>
02 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration 
03 DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
04 <hibernate-configuration>
05   <session-factory>
06     <property name="hibernate.connection.driver_class">com.microsoft.sqlserver.
07     jdbc.SQLServerDriver</property>
08     <property name="hibernate.connection.url">jdbc:sqlserver:
09     //DESARROLLOPC\SQLEXPRESS:1433;databaseName=DVDStore</property>
10     <property name="hibernate.connection.username">admin</property>
11     <property name="hibernate.connection.password">qwert12345</property>
12     <property name="hibernate.connection.pool_size">10</property>
13     <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect<
14     /property>
15     <property name="hibernate.show_sql">true</property>
16     <property name="hibernate.current_session_context_class">thread</property>
17     <property name="hibernate.connection.autocommit">true</property>
18     <mapping resource="bean/Actor.hbm.xml"/>
19   </session-factory>
20 </hibernate-configuration>
 
A continuacion crearemos un nuevo archivo de Hibernate Reverse Engeering Wizard
Nuevo-> otros->hibernate->Hibernate Reverse Engeering Wizard
agregamos a las tablas que deseamos mapear. 
01 <?xml version="1.0" encoding="UTF-8"?>
02 <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate 
03 Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.
04 net/hibernate-reverse-engineering-3.0.dtd">
05 <hibernate-reverse-engineering>
06   <schema-selection match-catalog="DVDStore" match-schema="dbo"/>
07   <table-filter match-name="actor"/>
08 </hibernate-reverse-engineering>
 
Sobre el paquete Bean creamos un nuevo Hibernate Mapping Files and POJOS from 
Database nos va crear las clases Bean(POJOS)
 mapeadas de las tablas que se agregaron al archivo Hibernate Reverse Engeering Wizard
  En el paquete util creamos una nueva clase Hibernateutil Nuevo-> otros->hibernate->
HibernateUtil  
 
 
 
En el paquete dao creamos una nueva clase llamada ActorDao el cual tendra un
 metodo nos retornara un ArrayList de todos los Actores del la tabla actor y otro
metodo metodo para insertar un Actor
 
01 public class ActorDao {
02 
03     public ArrayList<Actor> find() {
04 
05         ArrayList<Actor> listAct;
06         Session sess = HibernateUtil.getSessionFactory().getCurrentSession();
07         Transaction tx = sess.beginTransaction();
08         listAct = (ArrayList<Actor>) sess.createQuery("from Actor").list();
09         return listAct;
10 
11     }
12 
13     public void insert(Actor actor) {
14         Session sess = HibernateUtil.getSessionFactory().getCurrentSession();
15         Transaction tx = sess.beginTransaction();
16         sess.save(actor);
17         tx.commit();
18     }
19 }

Ahora creamos un clase de prueba llamada TestStore  donde primero insertamos un nuevo Actor y posteriormente imprimimos el nombre de todos los actores que estan en la base de datos.

01 public class TestStore {
02 
03     public static void main(String[] args) {
04         ActorDao dao = new ActorDao();
05 
06         Actor newobj = new Actor();
07         newobj.setFirstName("Joseph");
08         newobj.setLastName("Rosa");
09         newobj.setLastName("Alberth");
10         newobj.setGenero('M');
11         newobj.setLastUpdate(new Date());
12         dao.insert(newobj);
13 
14         ArrayList<Actor> listAct = dao.find();
15 for (Actor actor : listAct) {
16             System.out.println(actor.getFirstName());
17         }
18     }
19 }  

El proyecto debe quedar de esta manera.

  



En el siguiente post Realizaremos un CRUD con hibernate y sql Server 2008 con NetBeans utilizando Java Swing.

porfavor dejen sus comentarios para ir mejorando los posts y se aceptan preguntas a cerca del tema.

Saludos.