Entradas

Mostrando las entradas con la etiqueta tips

Configurando NetBeans con contenedores web / javaee

Imagen
Por la mala experiencia que tengo con los instaladores en Windows, prefiero que los aplicativos sean unos archivos que se puedan descomprimir. Si no hay más remedio que instalarlos, pues lo hago. NetBeans tiene una versión "portable" siendo el instalador un archivo .zip con todo el IDE dentro. Lo bueno de esto es que el mismo .zip puede ser ejecutado en cualquier plataforma que tenga instalado el JDK. (Ese es el gran motivo por lo que uso poco el Eclipse). Lo malo de esto es que no incluye los servidores Java EE. Es algo obvio el motivo, ya que el instalador nativo genera todos los archivos y configuraciones necesarias para que el IDE funcione.... en cambio un .zip solo contiene el contenido. Pero no hay de qué preocuparse, porque podemos configurar el NB con un Tomcat, GlassFish y demás servidores, sean nuevos, o existentes. Aquí hablaremos un poco de esto.

Cómo agregar un javascript o css a un portlet

En liferay, cuando creamos un portlet, éste tiene un .js y un .css asociados directamente al portlet. Modificamos allí, creamos nuestras cascadas o funciones JavaScript y listo. ¿Pero si queremos agregar un .js de terceros únicamente a este portlet? Aquí dejo un tip. Primero, debemos considerar el taglib liferay-util <%@ taglib uri="http://liferay.com/tld/util" prefix="liferay-util" %> Luego, debemos agregar los siguientes tags, si queremos que aparezcan nuestro JavaScript o CSS al inicio de la página web. <liferay-util:body-top> <script type="text/javascript" src="<%=PortalUtil.getStaticResourceURL(request,request.getContextPath() + "/js/mi_archivo.js")%>"></script> </liferay-util:body-top> <liferay-util:body-bottom> <script type="text/javascript"> alert("cargado"); </script> </liferay-util:body-bottom> Y si queremos que aparezca al in

¿Por valor o por referencia?

Imagen
Esta es una pregunta existencial para todo programador Java. Cada uno encuentra una respuesta satisfactoria. Pero ahora veremos, basándonos en el libro para Certificación SCJP 1.5 de Katty Sierra, sobre la respuesta correcta.

Recomendaciones para el manejo de excepciones

Imagen
Cuando se programa, es necesario manejar las excepciones, controlarlas y aprovechar su información. Considero que hay tres malas prácticas que se deben evitar cuando queremos usar un método que lanza un excepción manejada. Antes de continuar con este apunte, vamos a repasar lo que es una excepción.

Backup de todas las bases de datos en MySQL

Imagen
Comparto otro post no java (OPNJ) referente a MySQL. La idea es simple: quiero hacer backup de todas las bases de datos de MySQL, pero con las siguientes condiciones: Un archivo sql por cada base de datos Que en el nombre del archivo indique la fecha en que se hizo el backup Y que se ejecute en Windows. Hacemos un archivo .bat con el siguiente contenido: set USER=root set PASS=password set DB_LIST=databases.txt REM obtenemos todas las bases de datos echo show databases where not `Database` like '%%schema' | mysql -u %USER% -p%PASS% --column-names=false > %DB_LIST% REM recorre el contenido del archivo y ejecuta el comando mysqldump FOR /F %%G IN (%DB_LIST%) DO mysqldump -u %USER% -p%PASS% -B %%G -R --hex-blob=true > %%G-%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.sql y ahora, para que se ejecute cada cierto tiempo, usar el "Programador de Tareas de Windows".  saludos

Java EE 6 Cookbook for Securing, Tuning, and Extending Enterprise Applications

Imagen
@Mick Knutson publica su libro " Java EE 6 Cookbook for Securing, Tuning, and Extending Enterprise Applications " donde se muestra, de manera general y concisa, los aspectos de seguridad, rendimiento y mejorar las aplicaciones Java EE 6. Aquí, mis comentarios del libro.

Permisos por usuario para recursos de Liferay

Imagen
A partir del Liferay 5, los permisos a los recursos (blog, foro, contenido, etc) se hacen a través de "Roles". Es decir, si se quería compartir un solo archivo a una sola persona, habría que crear un "Rol" donde esté esa persona. Eso es algo complicado de mantener, si es que estamos usando el Liferay como una intranet y se les permite  a los usuarios que compartan información únicamente a ciertos usuarios.

Optimizando GlassFish para producción

Imagen
Gracias a un Tweet de Edwin Ilovares (@_edwini) me hizo recordar en publicar un post que lo tenía pendiente desde hace un tiempo, y es sobre la optimización de GlassFish.