jueves, 30 de julio de 2009

NetBeans 6.7.1 (ahora con JavaFX)

Ya está disponible (desde hace dos días) NetBeans 6.7.1, ahora con JavaFX 1.2.

Pero si tienes ya instalado el NetBeans 6.7, puedes descargar la actualización desde el Centro de Actualización del IDE: Ayuda > Verificar actualizaciones.

lunes, 20 de julio de 2009

Anydump

Este es un proyecto creado por este humilde blogger.

http://code.google.com/p/anydump/

Lo que hace es   descargar los registros de cualquier base de datos (que cuente con su Driver respectivo, naturalmente) en sentencias INSERT, lo comprime en archivos .gz, y los envía a un URL através de un POST.

En el URL debería haber una página capaz de recibir un archivo (tipo upload), descomprimir el archivo .gz, y ejecutar las sentencias enviadas desde Java.

¿Para que sirve?
Bueno, me he topado con un par de proyectos donde su base de datos está en un servidor local, y quieren que sea visible desde la web, pero ya que no tienen un servidor web público en su oficina, han alquilado un hosting. Así que lo que se les propuso es que con un programita ejecutado desde el "Planificador de tareas" haga el "dump" de la base de datos local y lo cargue a su hosting. Su hosting cuenta con MySQL + PHP, por lo que se les  hizo un .php que haga el gunzip y ejecutar las sentencias INSERT.

Funciona con una base de datos local Oracle y Access. Si funcionó con Access, entonces funciona con cualquier base de datos decente. :)

Este proyecto no va a quedar ahí. Tengo en mente más funcionalidades que serán útiles... incluso contará con instalador!

viernes, 17 de julio de 2009

Robocode

Para los que le gusta los retos, aquí el proyecto Robocode.

Fue creado por Mathew Nelson de IBM Alphaworks allá a inicios de 2001. El objetivo es simple: tú como programador programas una estrategia en Java para el "cerebro" de un tanque, luego se pone en ruedo con otros tanques, y gana la mejor estrategia.

Los tanques tienen un radar que permite detectar al contricante, girar su cañón, guirar todo el tanque, moverse dentro de la arena, detectar si tocó la pared, detectar un disparo enemigo.. en fin.. todo lo necesario para entrar en combate.

Es una buena manera para aprender o mejorar la lógica de programación.

Autenticacion Google

Este es un pequeño y minúsculo tutorial de cómo usar la autenticación de Google.

Aunque este método no es el recomendado para autenticar una aplicación usando una cuenta de Google, esto nos puede dar pie para conocer el SaaS (Software as a Service) usando Google desde NetBeans.

1. Crearemos una aplicación Java ya sea Desktop o Web. Igual da :)
2. Abrimos el panel de Prestaciones (Services) Ctrl+5
3. Seleccionamos el nodo Servicios Web > Google > Accounts Service > [accounts] >[ClientLogin] > accounts_clientLogin

4. Lo arrastramos y lo soltamos sobre el editor de código de Java. Debería mostrar una ventana que pide parámetros para el servicio de Google. Yo lo hice sobre un JSP, y me muestra lo siguiente:
Naturalmente que el passwd es de cada uno.
Clic en Aceptar y con esto nos generará un código especial.

5. Hay que definir un key único. Lo que recomiendo es hacer un md5 de cualquier texto que le guste. Por ejemplo, para la frase "Anita lava la tina", el md5 generado es "064439084cee1308a77cb7a9aa67773a" y lo usaré como key. Así que, abrimos el archivo googleaccountsserviceauthenticator.properties que se creó en el proyecto y colocamos ese valor para la propiedad api_key.
6. Editamos el código fuente donde insertamos el SaaS como algo a lo siguiente:


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%@ page import="org.netbeans.saas.*, org.netbeans.saas.google.*" %>
        <pre>
            <%

            try {
                String accountType = "GOOGLE";
                String email = "diego.silval@gmail.com";
                String passwd = "loremloremlorem";
                String service = "xapi";
                String source = "apuntesdejava-demogoogle-1";

                RestResponse result = GoogleAccountsService.accountsClientLogin(accountType, email, passwd, service, source);
                //TODO - Uncomment the print Statement below to print result.
                if (result.getResponseCode() == 200) {
                    out.println("The SaasService returned:\n" + result.getDataAsString() + "");
                    out.println("Response: " + result.getResponseMessage());
                } else {
                    out.println("Hubo error en la autenticacion:" + result.getResponseMessage());
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }

            %>

        </pre>

    </body>
</html>
Y listo.. lo ejecutamos, y nos debería mostrar los tokens de respuesta.

En otro post comentaré cómo acceder en sí a los servicios de google. Son bastantes y muy interesantes.

miércoles, 8 de julio de 2009

Google anuncia el lanzamiento del sistema operativo Google Chrome OS

Está primeramente orientado a las Netbooks, pero luego tratarán de orientarlo más hacia usuarios comunes.

Será OpenSource y su lanzamiento será en la segunda mita del 2010. (Aunque creo que habrán unos betas antes de su lanzamiento oficial)

"Even more importantly, they don't want to spend hours configuring their computers to work with every new piece of hardware, or have to worry about constant software updates."
Nota completa en:
http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html

Eze Singer en Lima

Ezequiel Singer (a) Eze estará en Lima en agosto, y anuncia que estará visitando la UPC el día 13 a las 4pm.

Eze es OSUM Leader y Sun Campus Ambassador.