Pasar argumentos de la línea de comandos usando NetBeans 6.8

Posted by Martín A. Rodríguez | Posted in , ,

A igual que la guía anterior que dí sobre cómo Abrir Javadoc desde menú contextual con NetBeans 6.8, no sé si esto que voy a explicar está en versiones anteriores de NetBeans, supongo que sí, ya que es algo muy básico y simple.
Si estamos desarrollando una aplicación (en este ejemplo será un simple Hola "Argumento"), y necesitamos que al momento de ejecutarlo, se le pasen ciertos argumentos al método public static void main (String [] args) de la aplicación, cada vez que lo quisiéramos probar, tendríamos que utilizar la consola del sistema operativo y realizar lo siguiente (si ya lo hemos compilado previamente con javac HolaArgumento.java):

> java HolaArgumento argumento1 argumento2

La idea de este post es explicar cómo se puede pasarle argumentos a un programa Java desde el IDE NetBeans 6.8 sin necesidad de estar ejecutando la aplicación por consola.
Es bastante sencillo, una vez creado el proyecto (HolaArgumentoProject), lo seleccionamos de la parte izquierda, hacemos clic derecho sobre el nombre, y elegimos la última opción Propiedades (Properties):


Ahora en la ventana de propiedades, seleccionamos a la izquierda la opción Ejecutar (Run), y en la parte derecha, en el campo de texto Argumentos (Arguments) escribimos los que nos haga falta, no olvidarse de separar cada argumento por un espacio:


Ahora vamos a probarlo con el siguiente código que guardamos en una clase llama HolaArgumento :

public class HolaArgumento {
    public static void main(String[] args) {
        for(String argumento: args) {
            System.out.println("Hola " + argumento);
        }
    }
}


Suponiendo que agregamos "argumento1 argumento2" en el campo Argumentos, cuando lo ejecutemos veremos la siguiente salida:



Y listo, cada vez que vayamos a cambiar de argumentos, volvemos a las propiedades del proyecto, opción ejecutar y en el campo Argumentos, modificamos los mismos.

Saludos!

Abrir Javadoc desde menú contextual con NetBeans 6.8

Posted by Martín A. Rodríguez | Posted in , ,

Lo que voy a explicar es como asociar la documentación a NetBeans de manera tal que cuando nos posicionemos sobre determinada clase dentro del workspace, al abrir el menú contextual con click derecho sobre la misma, podamos abrir el Javadoc asociado a esa clase en el navegador. De esta manera nos ahorramos bastante tiempo, ya que no debemos buscar la documentación a través de sistemas de archivos cada vez que queremos conocer en más detalle una clase.
No se si esta opción esta disponible en versiones anteriores de NetBeans, ya que recién ahora lo estoy usando con más profundidad. 
Bueno, lo primero que necesitamos es bajar la documentación desde el sitio de Sun: Java SE 6 Documentation. Hoy nos va a bajar la versión 6 update 18, el archivo es un .zip (jdk-6u18-docs.zip) que para nuestro propósito no necesitamos descomprimirlo, sólo lo guardamos en alguna ubicación adecuada.
Una vez que tenemos la documentación, vamos a realizar los siguientes pasos:
  1. Abrimos el Netbeans y nos dirigimos al menú Herramientas (Tools) y seleccionamos Plataformas Java (Java Platforms).

  2.  Ahora en la nueva ventana, seleccionamos el JDK 1.6 (en caso de que tengamos varios instalados), luego a la derecha elegimos la pestaña Javadoc, y hacemos clic en el botón Agregar archivo ZIP/carpeta... (Add ZIP/Folder...)

  3. Buscamos el archivo .zip que hemos bajado anteriormente (jdk-6-doc.zip) y aceptamos. Nos debería salir el archivo agregado en la lista como muestra la siguiente pantalla

  4. Si todo salió bien, cerramos esa ventana. Ahora nos dirigimos a nuestro workspace y nos posicionamos sobre cualquier clase de la API, para este ejemplo lo voy a hacer sobre la clase System. Hacemos clic derecho sobre la misma y seleccionamos Mostrar Javadoc (Show Javadoc) o con el acceso directo del teclado Alt + F1.

  5. Y de esta manera, se nos abrirá en el navegador el Javadoc de la clase seleccionada.
Espero que les sea de gran utilidad. Saludos!




Reorganización de las certificaciones de Sun

Posted by Martín A. Rodríguez | Posted in , ,

Oracle/Sun han reestructurado la jerarquía de las certificaciones relacionadas con Java. Desde la liberación de Java EE 6, se han estado realizando cambios en la jerarquía y agregando contenido para reflejar las nuevas especificaciones.
Ahora es obligatoria rendir la certificación Sun Certified Java Programmer (SCJP) para acceder a cualquiera de las otras certificaciones, antes por ejemplo para rendir la Sun Certified Enterprise Architect (SCEA) no era necesario tener rendida la SCJP.
Pero uno de los cambios más importantes, es que ahora uno puede optar por caminos más especializados entre las certificaciones disponilbres, por ejmplo se han agregado las certificaciones Sun Certified JSF Developer y Sun Certified JPA Developer.
Por otro lado, ahora es posible combinar varias certificaciones y convertirse en Master con respecto a alguna de las ramas.

Acá les dejo como era la jerarquía antes:

Jerarquía certificaciones Sun antigua

Y este es la nueva jerarquía de las certificaciones de Sun:

Jerarquía certificaciones Sun nueva

Pronto voy a rendir la certificación Sun Certified Java Programmer (SCJP), si me va bien les cuento como me fue :P

JavaPassion pasará a ser pago

Posted by Martín A. Rodríguez | Posted in , ,

Así es, el famoso sitio de cursos dictados por Sang Shin, JavaPassion, dentro de dos o tres semanas pasará a ser pago.
El costo parece que será una cuota anual de U$S 89 por acceso ilimitado a todos los cursos.
Los cursos son excelentes, y abarcan con gran profundidad la mayoría de los temas relacionados con Java.
Incluso tiene laboratorios para casi todos los tópicos que se tratan, y además para certificar que uno hizo el curso, debe entregar todas las tareas (mini proyectos) que van haciendo que uno obtenga si o si un poco de práctica, y no tanta teoría.
Una verdadera pena, justo ahora quería hacer un par :S, no me parece mal que cobre, porque son cursos muy buenos, me da bronca no haber aprovechado antes este recurso tan valioso.

En la página sale el siguiente comentario, donde no aclara si será pago o no:

Announcement from Sang Shin (Feb. 1st, 2010):  In the near future (maybe within 2 or 3 weeks), the courses in javapassion.com will be available as a subscription-based service. (Yes, it is a painful decision on my part.) If you want to receive course announcement in the future, please send an blank email to javapassion-announcement+subscribe@googlegroups.com. All course announcements will be also posted on this website.
Me suscribí para que me lleguen los anuncios sobre comienzo de nuevos cursos, y unos de los primeros mails que recibí en el grupo era de una persona que preguntaba cuando comenzaba el próximo curso, y Sang Shin dejó bastante en claro que iba a ser pago:
Please let me know when does the next batch for Java programming
starts. [...]
As soon as the "paid-subscription" scheme gets implemented. (It will be a few weeks.)
I am planning to get my Java certification. Also would
like to know the price of the course and can this course be taken
It will be $89 per year for unlimited access to all courses of javapassion.com.
during weekends only. Week days is kind of tough since I travel at
work.
The courses are basically self-paced (there is NO real-time webcasting) so you can work on the course material on your own pace.
-Sang Shin
Y navegando por otro sitio encontré otra respuesta similar pero donde explica con más detalle el porqué de su decisión:
On 2/3/2010 4:33 PM, Alex Ruiz wrote:
Pedro and Dante,
From the javapassion website, I can see that the course will be
subscription based, but I never says it requires you to pay money (I
cannot speak for Mr. Shing,) so I think you are jumping into conclusions
too quickly (unless I’m missing something.)

Actually it will be indeed “paid service”. I am not sure how
successful it will be. But I decided to try mainly because
the other choice is “killing javapassion.com” all together.

The price point I am thinking about is $89 per year for unlimited
access to all the courses of “javapassion.com”. (My market research
shows that this is much less expensive compared to other similar
sites which offer “less quality” contents in my opinio. And frankly
my suspicion is that it will be barely enough to sustain “javapassion.com” and me.)
Even if Mr. Shing decides to charge. So what? Mr. Shing already made
public that he left Oracle, and now he is independent. He is completely
free to charge for his knowledge and time, isn’t he? After all, we all
have to make a living.

Thanks for your clarification and support.
-Sang Shin

Relanzamiento del blog

Posted by Martín A. Rodríguez | Posted in

Luego de varios meses sin postear nada, quiero realizar un relanzamiento del blog, a ver si esta vez le puedo poner más pilas ;).
Para ello he cambiado rotundamente la plantilla para darle un aire nuevo y porque me la criticaron mucho :D. Espero que esta vez les guste aunque sea un poquito más que la anterior.
Para comentarles un poco, no he podido continuar con el blog durante un largo tiempo debido a que estuve a full junto a mis compañeros de tesis para poder recibirnos en el 2009.
Hasta que el momento llegó, las 19 hs. del jueves 19 de noviembre, con el mayor de los éxitos, hicimos la presentación final frente a un tribunal de profesores y frente a todos nuestros familiares y amigos. Y de esa manera logramos obtener el tan anhelado título de Ingeniero en Sistemas de Información.
Y luego de estar casi dos meses sin escribir nada, ya había perdido la costumbre y la confianza, y me costaba mucho escribir sobre algo, así que pasaban los días y nada.
Y por último, en estas semanas estuve preparando el exámen de Microsoft 70-632: TS: Microsoft Office Project 2007, Managing Projects, que aprobé con 949 sobre 1000 :)
Pero bueno, aquí estoy de vuelta, resurgiendo de las cenizas :P. Voy a aprovechar que estoy de vacaciones por unos días más, para ver si me pongo al día con los posts.
Saludos!
Ing. Martín A. Rodríguez (ya puedo firmar con mi Ing.)

Disponible NetBeans IDE 6.8 Beta

Posted by Martín A. Rodríguez | Posted in , ,



NetBeans IDE 6.8 Beta es el primer IDE que ofrece soporte completo para la especificación Java EE 66. Incluye, entre otras cosas, soporte para JSF 2.0/Facelets, Java Persistence 2.0, EJB 3.1 incluyendo el uso de EJBs en aplicaciones web, RESTful web services, y GlassFish v3. La integración del IDE con Project Kenai (un entorno colaborativo para hjosting de proyectos open-source) ahora ofrece soporte completo para JIRA, un messenger instantáneo mejorado e integración con el issue tracker. El soporte para PHP ha sido extendido para incluir el Symfony framework y PHP 5.3. Esta versión también soporta JavaFX SDK 1.2.1, viene con agregados para Maven e integración con base de datos. Mejoras en el editor y herramientas para proyectos en Ruby, Groovy y C/C++.


Error en Oracle: ORA-00937: not a single-group group function

Posted by Martín A. Rodríguez | Posted in , ,


Este error suele ser muy común cuando damos nuestros primeros pasos en SQL.

En una consulta SQL, en el SELECT no se puede incluir a la vez una función de agrupación (como son AVG, COUNT, MAX, MIN, SUM, STDDEV, o VARIANCE) y una expresión de columna individual (como el nombre de una columna, o alguna función que calcule para cada fila, como "INGRESOS - EGRESOS"), al menos que la expresión de columna individual esté incluida en la clausula GROUP BY.

Para resolver este error debemos elegir entre las siguientes opciones:

  • eliminar la función de agrupación del SELECT,
  • eliminar la expresión de columna individual del SELECT, ó
  • agregar un clausula GROUP BY que incluya todas las columnas de expresión individual listadas en el SELECT
Listo! ya eliminamos este error y podemos seguir adelante con nuestra consulta