jueves, 30 de abril de 2009

Inicializadores en Java

A continuación, algo respecto a los inicializadores en Java.

https://sites.google.com/site/apuntesdejava/Home/inicializadores

Es también comentado en el libro de certificación SCJP 1.5

miércoles, 29 de abril de 2009

Lanzan NetBeans 6.7 (Beta)

El nuevo NB 6.7 (por ahora en Beta) tiene las siguientes características:
  • La mas importante que considera NB: Desarrollador conectado al proyecto Kenai, integración con Bugzilla (por fin!!)
  • Maven. con su editor POM mejorado.
  • PHP: Compatibilidad con Selenium, y PHPUnit
  • C/C++: Ahora soporta con la biblioteca Qt
Para más información de la versión beta 6.7, lo verán aqui: http://www.netbeans.org/community/releases/67/


sábado, 25 de abril de 2009

Comparable y Comparator

Comparable y Comparator
Tenemos una lista de objetos como Persona, o Producto, pero necesitamos ordenarlo ¿Cómo lo hacemos?

Aquí veremos, en un pequeño tutorial, cómo ordenar colecciones en Java.

Olvídense del ordenamiento de búrbuja, quickSort... java lo tiene todo.

viernes, 24 de abril de 2009

Lenya en Tomcat 6.0

Existe un CMS de apache llamado Lenya.

En las instrucciones de compilación está para Tomcat 5.5.

Al compilarlo y después ejecutarlo, no funciona.

Esto es por algo importante que dice en las instrucciones y podría pasar por alto.

En resumen. Se debe editar el archivo local.build.properties y modificar la línea siguiente
tomcat.endorsed.dir=${tomcat.home.dir}/lib
Ya que la estructura predeterminada se usa en Tomcat 5.

Compilar, y servir

jueves, 23 de abril de 2009

Introducción en Facelets

He colocado un nuevo tutorial básico en español de cómo crear una aplicación con Facelets

http://wiki.netbeans.org/FaceletsEnNetBeans

miércoles, 22 de abril de 2009

Convertir Date a String (y String a Date)

Java almacena las fechas en un objeto llamado java.util.Date. Si se imprime o se usa como cadena, el resultado no es nada agradable ya que no se entiende: Sat Mar 27 00:00:00 COT 1976

Pues bien, existe una clase llamada java.text.DateFormat que permite convertir de Date a String (bajo un formato en especial) y visceversa (también usando el mismo formato).

Aquí dejo un pequeño código (adaptado del libro de certificación SCJP 5.0 de Katty Sierra - Página 464) donde se muestra los diferentes formatos que maneja la clase java.text.DateFormat. Si necesitas convertir una cadena (String) a Date, primero prueba este código, analízalo y luego piensa cómo lo puedes usar.
import java.text.DateFormat;

import java.text.ParseException;
import java.util.Date;

public class Main {

    public static void main(String[] args) {
        Date fecha = new Date();
        DateFormat dfDefault = DateFormat.getInstance();
        DateFormat dfDateInstance = DateFormat.getDateInstance();
        DateFormat dfDateShort = DateFormat.getDateInstance(DateFormat.SHORT);
        DateFormat dfDateMedium = DateFormat.getDateInstance(DateFormat.MEDIUM);
        DateFormat dfDateLong = DateFormat.getDateInstance(DateFormat.LONG);
        DateFormat dfDateFull = DateFormat.getDateInstance(DateFormat.FULL);

        System.out.println("getInstance()=" + dfDefault.format(fecha));
        System.out.println("getDateInstance()=" + dfDateInstance.format(fecha));
        System.out.println("getDateInstance(DateFormat.SHORT)=" + dfDateShort.format(fecha));
        System.out.println("getDateInstance(DateFormat.MEDIUM)=" + dfDateMedium.format(fecha));
        System.out.println("getDateInstance(DateFormat.LONG)=" + dfDateLong.format(fecha));
        System.out.println("getDateInstance(DateFormat.FULL)=" + dfDateFull.format(fecha));
        try {
            Date fecha2 = dfDateMedium.parse("27/03/1976");
            System.out.println("Parsed:" + fecha2);
        } catch (ParseException ex) {
            ex.printStackTrace();
        }
    }
}




El resultado para este código, en mi caso, es el siguiente:

getInstance()=22/04/09 11:12 AM
getDateInstance()=22/04/2009
getDateInstance(DateFormat.SHORT)=22/04/09
getDateInstance(DateFormat.MEDIUM)=22/04/2009
getDateInstance(DateFormat.LONG)=22 de abril de 2009
getDateInstance(DateFormat.FULL)=miércoles 22 de abril de 2009
Parsed:Sat Mar 27 00:00:00 COT 1976

Glassfish como servicio de Linux (CentOS / RedHat o similar) y de Windows

Estaba buscando cómo configurar Glassfish como servicio de Linux. Justo mi servidor es CentOS, así que este post me cayó a pelo


http://anandnalya.com/2009/04/07/running-glassfish-as-a-service-on-centos/

Y para Windows (tuve que instalarlo en el servidor de un cliente que tiene Windows 2003 Server)

http://www.ryandelaplante.com/rdelaplante/entry/creating_a_windows_service_for

lunes, 20 de abril de 2009

Otros proyectos de Sun Microsystems

Ya sabemos los productos estrellas de Sun Microsystems. Sino hagamos un poco de memoria:
  • Plataforma y lenguaje de programación: Java
  • Sistema operativo: OpenSolaris
  • Suite de ofimática: OpenOffice.org
  • Base de datos: MySQL
  • Servidor de aplicaciones: Glassfish
  • Entorno de desarrollo: NetBeans
  • lenguaje script para animación: JavaFX
  • Entorno virtual: VirtualBox
Y si siguen así, van a querer comprar Firefox y ya sería la competencia de Microsoft

Bueno, pero no todo son software. sino tambien colaboración.

Existen dos buenos productos que tiene Sun Microsystem:
  • Project Kenai (http://kenai.com/): Es una especie de Google Code hosting o SourceForge. Muy bueno. Sugiero que lo prueben.
  • Zemby (http://zembly.com/) Es para desarrollar aplicaciones para redes sociales como Facebook, OpenSocial y cosas parecidas.
Ambos, naturalmente, son gratuitos
Bueno, a ver si le dan una revisada a esos productos.

La historia de 10 años de NetBeans en 5 minutos

Usando Code Swarm, la gentita de NB hizo un vídeo utilizando el repositorio de CVS, para visualizar la historia del software desde el año 1998 hasta el 2008. En el 2009 dejaron el CVS y comenzaron a usar Mercurial.






http://netbeans.tv/community/NetBeans-Code-Swarm-Video%3A-10-Years-of-NetBeans-History-in-5-Minutes!-436/

martes, 14 de abril de 2009

ICEFaces 1.8 disponible

ICEfaces lanza su versión 1.8, con 350 correcciones a su versión anterior, además de nuevas mejoras.

http://www.icefaces.org/releasenotes/icefaces-1.8.0-RN.html

Se puede descargar esta versión aquí

http://www.icefaces.org/main/downloads/os-downloads.iface

Además, incluye el plugin para netbeans. Si se tiene instalado el plugin descargado de NetBeans Update Center, primero hay que desinstalarlo antes de instalar el plugin descargado de ICEfaces.

miércoles, 8 de abril de 2009

MD5 en Java (2)

Este realmente me pareció el más óptimo para crear un resumen MD5. Lo encontré en www.gravatar.com.

1 import java.io.UnsupportedEncodingException;

2 import java.security.MessageDigest;
3 import java.security.NoSuchAlgorithmException;
4
5 public class MD5Util {

6
7 public static String hex(byte[] array) {
8 StringBuffer sb = new StringBuffer();

9 for (int i = 0; i < array.length; ++i) {
10 sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(1, 3));
11 }

12 return sb.toString();
13 }
14
15 public static String md5Hex(String message) {

16 try {
17 MessageDigest md =
18 MessageDigest.getInstance("MD5");
19 return hex(md.digest(message.getBytes("CP1252")));

20 } catch (NoSuchAlgorithmException e) {
21 } catch (UnsupportedEncodingException e) {
22 }
23 return null;

24 }
25 }
26
27