Noticias compartidas

viernes 6 de febrero de 2009

Implementación en java del patrón Strategy GoF

El objetivo de post es presentar una implementación en java y con fines didácticos, del patrón de diseño Strategy.

Existen muchos sitios en la web donde se explica el concepto del patrón Strategy, aquí les dejo algunos links:

domingo 7 de diciembre de 2008

Autocompletar los tag de una página facelet en Eclipse

Actualmente me encuentro desarrollando una aplicación web usando J2EE, en el cual tengo toda la libertad de elegir los frameworks para toda la arquitectura del software :) así que decidí usar Facelets y RichFaces para el nivel de presentación. Pero me topé con que Eclipse no autocompleta los tag de las páginas facelets que en mi caso son .xhtml.

Si bien existe un proyecto para integrar facelets en Eclipse, buscando encontré una forma rápida de conseguir que Eclipse autocomplete los tags de una página facelet. Los pasos son:

1. Ir a "Windows->Preferences->General->Content Types" Seleccionamos JSP y le asociamos el tipo de archivo *.xhtml

2. Ir a "Windows->Preferences->General->Editors->File Associations" Seleccionamos el tipo de archivo *.xhtml y le asociamos el editor JSP por defecto.

Luego, descargar el tld y copiarlo en la carpeta /WEB-INF/tld de tu proyecto.

Con estos pasos aprovechamos el echo que Eclipse sí autocompleta los tags de los archivos .jspx para conseguir que haga los mismos con los tags de una página facelet.


links:

viernes 5 de diciembre de 2008

Dia Mundial de la Usabilidad 2008 en el Perú

El sábado 29 último asistí al evento en Perú del "Dia Mundia de la Usabilidad 2008" que en esta oportunidad tuvo su sede en la Universidad Ricardo Palma. El tema es muy bueno, porque si desarrollas software, como mi caso, o estas al tanto de los productos que salen en Internet o de los nuevos dispositivos móviles o de las consolas, nos daremos cuenta que el término "utilidad" y "facilida de uso" van bien agarraditos de la manos hoy en día. Y es que eso muchas veces determina el éxito o fracaso de un producto.

Les paso, algunos datos que quiero compartir con ustedes, obtenidos del evento.

  • Se comentó que en el campo de la usabilidad no se busca "diseñar interfaces", sino "diseñar información"
  • Una de las prácticas para medir la usabilidad es realizando pruebas con 5 usuarios. Aquí se cumple la ley de pareto, dado que con 5 usuarios se puede encontrar el 80% de errores de usubilidad de un producto.
  • Una causa de errores de usabilidad es cuando lo que busca el usuario no es lo mismo que busca la organización que desarrolla el producto. Por ejemplo, el éxito de Google es porque comprendió que sus usuarios buscan información, y destacó eso en su buscador, antes que vender publicidad. Como resultado, un buscador web cuyo diseño arrasó con el mercado de buscadores de entonces.
  • Recomendaron un libro, donde se puede aprender a evaluar la usabilidad de un producto: MEASURING THE USER EXPERIENCE, por Tom Tullis y Bill Albert.
  • Existe una norma ISO de Usabilidad, la ISO 9241
  • Hay esfuerzos en el sector público por llevar el concepto de Usabilidad a los portales del estado. Un ejemplo plausible es el de la RENIEC que tiene una unidad de Usabilidad y viene trabajando en el rediseño de su Portal, de tal forma que sea de util y facil de usar. Ojalá la SUNAT siga el ejemplo.
Entre los expositores estuvieron presente:
  • Juan Francisco Reyes, de Xentido
  • Adolfo, Regalado Pezúa, de Eurogicel (video conferencia desde Francia)
  • Juan Carlos Luján, de El Comercio - Vida&Futuro
  • Carlos Mauro Cardenas. Expuso un caso de evaluación de la Usabilidad de las OLPC.
  • Cármen Ampuero Paiss, de la RENIEC.
  • Carlos Vilchez Román.
  • Phillipe Boland, de enREDo.
También estuvo presente la Sociedad Nacional de Industrias, quienes sortearon algunas becas de cursos en e-commerce y gestión para los asistentes.

Are you Connect?

Bueno amigos, no hay mucho tiempo pero sí muchas cosas que contar. Esta semana se ha lanzado al público en general las dos plataformas web que permiten integrar a una red social cualquier sitio web, de esta forma el sitio web que se integra podrá tomar provecho de la información almacenada en la red social para explotar de mil maneras su temática. Hablo de "FaceBook Connect" y "Google Friend Connect"

Este es un video de presentación de Google Friend Connect.



Y esta es una presentación, que me parece muy buena, donde explora las potencialidades de integrar FaceBook Connect a tu sitio web.



La información oficial de cada plataforma se encuentran en las siguiente direcciones:
Google Friend Connect (aún en beta?)
FaceBook Connect

viernes 28 de noviembre de 2008

Oracle 9i sobre Ubuntu 7.04 - Feisty Fawn

Ayer me pasé casi toda la madrugada tratando de instalar la base de datos Oracle 9.2.0.4.0 sobre Ubuntu Feisty Fawn. No fue facil, la verdad sin la ayuda de los foros y demás documentación libre que se encuentra en internet no lo hubiera podido lograr. Así que estoy en deuda y para pagarla aquí les paso el dato de cómo logré a instalarlo.

Primero me descargué la base de datos Oracle9i Release 2 (9.2.0.4) para linux. Los pasos para extraer los archivos se encuentran en la misma página de descarga. Una vez extraidos los archivos es muy importante, primero leer la documentación que se encuentra en el Disk1; sobre todo los pasos previos a la instalación. Yo copié el Disk1, Disk2 y Disk3 en un CD respectivamente para realizar desde ahí la instalación.

En líneas generales lo que hice antes de proceder a la instalación es lo siguiente:

1. Ejecutar los pasos indicados en este link, excepto el ./runInstaller.
2.
Crear los grupo dba, oper y oinstall. Recomiendo usar el comando groupadd
3. Crear el usuario oracle. Ahora, en este punto me pasó algo curioso. No me funcionaban los botones de la interfaz que aparece luego de ejecutar el runInstaller. Es decir no podía avanzar de dicha ventana. me percaté que esto se solucionaba cuando incluia las variables de entorno ORACLE_BASE y ORACLE_HOME en el archivo .profile del usuario oracle (usuario con el que se ejecuta el runInstaller). Así que para que el archivo .profile contenga desde el inicio dichas variables de entorno, las adicioné en el archivo .profile del directorio /etc/skel antes de crear el usuario oracle. En mi caso esto fue lo que adicioné:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0.4.0

Puedes eliminarlas luego de crear el usuario oracle.

Luego, el comando que ejecuté para crear el usuario fue el siguiente:

useradd -d/home/oracle -goinstall -Gdba -pclave -s/bin/bash -m oracle

por alguna razón el password no se fijaba así que tuve que ejecutar el comando

passwd oracle

para fijar nuevamente el password.


4. Luego cambié mi entorno gráfico al usuario oracle.

5. Me aseguré que el comando xclock funcionara correctamente desde una terminal.
En caso de que no funcione, revisar la documentación de oracle en el Disk1.

6. Agregé en el archivo .profile del usuario oracle la variable de entorno ORACLE_SID.

ejecuté el comando

. .profile

para cargar las modificaciones.

7. Luego fui al Disk1 y ejecuté el comando

./runInstaller

aquí me salió el siguiente mensaje de error:

./runInstaller: 62: Syntax error: word unexpected (expecting ")")

para solucionarlo encontré que debía cambiar la primera línea del archivo
/Disk1/runInstaller de

#!/bin/sh

por

#!/bin/bash

Como esto no lo podía hacer en el CD tube que copiar todo el Disk1 a mi disco duro y hacer el cambio respectivo ahí mismo. También me tuve que asegurar que estos dos archivos tuvieran permiso de ejecución:
/Disk1/runInstaller
/Disk1/install/linux/runInstaller

este mensaje de error me apareció más de una vez, y la solución siempre es la misma.

ahora sí, ejecuté el comando ./runInstaller sin problemas.

8. Proseguí con la instalación, opté por crear una base de datos de propósito general.

9. Al final fallaron la ejecución del network configuration assistant y del database configuration assistant así que seguí las siguientes instrucciones, acondicionadas a mi instalación:

cd $ORACLE_HOME
rm JRE
ln -s /home/oracle/jre/1.3.1 JRE
su -
# cd $ORACLE_HOME/JRE/bin
# ln -s java jre
# cd i386/native_threads
# ln -s java jre

volví a ejecutar los asistentes y esta vez no hubo problemas y la instalación culminó.

10. Intenté ejecutar el dbastudio para administrar mi base de datos.
cd $ORACLE_HOME/bin
./oemapp dbastudio

seleccioné Iniciar en modo autónomo. Pero, luego cuando tenía que ingresar el usuario y contraseña, la ventana no reconocía los caracteres de mi teclado, simplemente como si el teclado no funcionara.

Para solucionar esto, tuve que descargar e instalar el jre 1.3.1_15, en mi caso lo instalé en /home/oracle/bin. Luego agregé la variable de entorno

ORACLE_OEM_JAVARUNTIME=/home/oracle/bin/jre1.3.1_15

al archivo .profile

Ejecuté el comando

. .profile

para cargar las modificaciones al archivo .profile y ahora sí levantó el dbastudio sin problemas.

El único inconveniente ahora es que no me podía conectar con el usuario system como sysdba a mi base de datos. Para solucionar esto seguí las siguiente instrucciones:

cd $ORACLE_HOME/bin

./sqlplus /nolog

SQL> connect system/clave as sysdba

SQL> grant sysdba to system;

SQL> select * from v$pwfile_users;
USERNAME SYSDBA SYSOPER
------------------------- ------ -------
SYS TRUE TRUE
SYSTEM TRUE FALSE

Y listo.

Espero les sirva.

lunes 27 de octubre de 2008

Material multimedia del Instituto de Empresa


Si hay algo que el ser humano ha manifestado exponencialmente desde la aparición de Internet y que considero es parte de nuestra naturaleza es el hecho de "Compartir". Comento esto porque Enrique Dans, anunció hoy a través de su Blog que el Instituto de Empresa, ha puesto a libre disposición su material multimedia utilizado en la capacitación de empresarios y ejecutivos. Hay buenos casos que seguro serán de mucha ayuda en nuestro desarrollo profesional.

domingo 12 de octubre de 2008

Los Drugos en Agenda Academica: Reporte: Rocanrol movie

Aquí un reporte de Agenda Académica sobre los Drugos
Agenda Academica: Reporte: Rocanrol movie