Before you accept the loan Payday loan Where does the money go

Curso de Open Wonderland en P2PU

Jan 18

Se abre curso en la Peer 2 Peer University acerca de la creación de mundos virtuales dedicados a la colaboración y a la enseñanza a través del kit de desarrollo Open Wonderland. El curso se centrara en como crear contenidos utilizando el kit y como cambiar el kit en si mismo.

El curso esta orientado a desarrolladores con dos años de experiencia en Java, que estén trabajando en un ambiente comercial, colegio o universidad, no es necesario tener conocimientos previos en Open Wonderland para acceder al curso, simplemente tener las ganas de trabajar solo o en grupo con los recursos disponibles en la web. Los estudiantes deben tener previo conocimiento en el uso de herramientas como subversion, ant y sentirse cómodos trabajando desde linea de comando.

El curso es gratuito y se dicta a través de la P2PU (Peer 2 Peer University) organización si animo de lucro que se encarga de facilitar la creación de cursos colaborativos siguiendo la idea de pares donde no existe un experto en el tema, si no que todos aprenden de todos guiados por un organizador del curso. Al terminar el curso no se expide ningún certificado pero el conocimiento adquirido y el intercambio de experiencias e informacion con los miembros de la comunidad de Open Wonderland en invaluable.

El facilitador del curso es Jose Dominguez conocido también como Josmas Flores, quien se desempeña como investigador en Trinty Doublin en Irlanda, ha sido un miembro de la comunidad desde hace mucho tiempo y ha colaborado en los foros y reuniones de desarrollo lo que lo convierte en un conocedor de la plataforma quien se ha embarcado en la creación del curso y la conformación de grupos de estudio alrededor de la creación de mundos virtuales.

El plazo para la inscripción es el 19 de Enero de 2011, para la inscripción se debe presentar una pequeña tarea que consiste en el montaje del servidor desde código fuente, así como la instalación del modulo de Beanshell disponible en los repositorios. Una vez se haya realizado la tarea se debe crear en un blog una entrada con la experiencia en el desarrollo de la tarea e incluir una imagen donde se pueda observar el modulo en funcionamiento.

Enlaces :

Read More

Nuevo en Java 7, Diamantes

Dec 23

Desde la llegada de los Generics en el año 2004 con la versión 5 de Java, utilizar las colecciones ha evitado la conversión de tipos tan utilizada en versiones anteriores, pero la declaracion de estas mismas colecciones parece redundante, ejemplo :

ArrayList<String> lista = new ArrayList<String>();
TreeMap<String,ArrayList<String>>  tabla = new TreeMap<String,ArrayList<String>>(); 

En el ejemplo anterior estamos declarando una lista de cadenas y en el segundo un mapa que contiene una llave cadena y que mapea a una lista de cadenas.  El uso de Generics siempre ha creado construcciones del lenguaje muy extrañas, a veces poco entendibles para los que apenas comienzan con la programación en Java.

La versión 7 del lenguaje de programación Java no mejora la declaración de instancias usando generics si no que evita duplicar de nuevo la definición del tipo al utilizar el diamante "<>" para especificar que se infieren los tipos utilizados en la declaración :

ArrayList<String> lista = new ArrayList<>();
 TreeMap<String,ArrayList<String>>  tabla = new TreeMap<>();

De esta forma se evita repetir la declaración de los tipos de nuevo, esta inferencia tambien se presenta de otras formas pero esta es la mas usual.

Enlaces :

Read More

Nuevo en Java 7, Literales Binarios

Dec 22

Algunos desarrolladores Java se habían estado preguntando por que no existían literales binarios si Java desde su nacimiento soportaba hexadecimal 0xCAFE, Octal 012, Decimal 1234, entonces que pasaba con los binarios ? era dificil de implementar ? esta característica seria muy util para no tener que hacer la conversión a decimal o hexadecimal cuando se esta escribiendo una mascara de bits.

Es así como para la versión 7 del lenguaje de programación Java ahora es posible escribir los numeros en binario directamente en el codigo, ejemplo :

int mascara = 0B10; // El 2 en binario 
int mascara = 0b10; // Tambien en minuscula 
int mascara = 0B0001_0010; // Con separadores

Enlaces :

Read More

Nuevo en Java 7, Numero con Separador

Dec 21

Una de las nuevas caracteristicas nuevas del lenguaje de programación Java en su versión 7 es la posibilidad de separar los dígitos de un numero con guion bajo sin afectar el valor del numero, esto según la especificación se utiliza para facilitar la lectura de los números a los desarrolladores, por ejemplo si tenemos números de teléfono o tarjetas de crédito los veríamos así :

long tarjetaCredito = 1234567890123456L;
long numeroTelefonico = 57688123456L;

Con la nueva especificacion podemos escribir los numeros utilizando el underscore como separador :

long tarjetaCredito = 1234_5678_9012_3456L;
long numeroTelefonico = 57_6_8812345L;

Permitiendo al desarrollador un mejor lectura del codigo, pero sin afectar el contenido del numero, por ejemplo al imprimir el numero se visualiza este sin separadores.

Enlaces :

Read More

Nuevo en Java 7, Manejo Automatico de Recursos

Dec 21

El manejo de excepciones es un trabajo complicado cuando se trata de manejo de recursos como archivos, por ejemplo si queremos abrir un archivo, leer todos los datos y copiarlos en otro archivo, el código sin manejo de excepciones seria algo así :

FileInputStream fis = new FileInputStream("origen.txt");
FileOutputStream fos = new FileOutputStream("destino.txt");

while(fis.available() < 0)
    fos.write(fis.read());

fis.close();
fos.close();

Ahora pensemos en como manejaríamos las excepciones, por ejemplo la forma mas sencilla seria tener un solo bloque con el código y capturar por ejemplo cualquier excepción posible, costumbre que muchos desarrolladores tienen :

        try {
            FileInputStream fis = new FileInputStream("origen.txt");
            FileOutputStream fos = new FileOutputStream("destino.txt");

            while (fis.available() > 0) {
                fos.write(fis.read());
            }

            fis.close();
            fos.close();
        } catch (Exception e) {
            System.err.println(e.getMessage());
        }

Pero que pasaría si por algún motivo mientras leemos sucede alguna excepción, como cerramos el archivo que estábamos escribiendo, lo borramos, que hacemos, así que debemos comenzar a manejar cada excepción y sus consecuencias por aparte. En el caso mas sencillo simplemente pensemos en cerrar el archivo de salida donde estábamos escribiendo, como lo haríamos ? con bloques de manejo de excepciones anidados de tal modo que si sucede una excepción mientras estamos leyendo, en el catch cerremos el archivo de salida, lo que conlleva de nuevo a tener un nuevo bloque de manejo de excepción :

        FileOutputStream fos = null;
        try {
            FileInputStream fis = new FileInputStream("origen.txt");
            fos = new FileOutputStream("destino.txt");
            while(fis.available() > 0)
                fos.write(fis.read());
            fis.close();
            fos.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            try {
                fos.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }

El manejo automático de recursos que aparece en Java 7 permite que se cierren los recursos una vez abiertos si se especifican dichos recursos dentro del try, de tal forma que si sucede algún error la aplicación es capaz de cerrar el recurso :

    try (FileInputStream fis = new FileInputStream("origen.txt"); 
          FileOutputStream fos = new FileOutputStream("destino.txt"))

            while(fis.available() > 0)
                fos.write(fis.read());
        }
        catch(Exception e) {
            e.printStackTrace();
        }

Esto especifica que los recursos fis y fos deben cerrarse después de ejecutar el bloque del try, se haya lanzado una excepción o no.

Enlaces :

Page 1 of 3123