Determinar la versión de una clase Java

Este tip ya se encuentra publicado en cientos de sitios pero quiero publicarlo para mis propios registros y para los que den primero con este sitio espero que les sea de utilidad.

Si tenemos un servidor o una aplicación ejecutandose bajo una versión vieja del JDK, al querer usar una clase compilada con un JDK nuevo ésta nos dará problemas...

Java usa internamente un número de versión para los archivos .class:

Script de inicio de JBoss AS7 para Ubuntu 12.04

JBoss 7

Intentando encontrar en internet un script de inicio de JBoss 7 que funcione correctamente en Ubuntu, me dí cuenta que no existia ninguno decente (ni siquiera los que vienen con el propio jboss) por lo que me dí a la tarea de escribir un script de inicio lo más completo y sencillo posible.

Tags: 

Técnicas de desarrollo de software, AR1

Este post entra en la categoría de apuntes rápidos, no me pondré a explicar nada y solo lo pongo para futuras referencias, pero de cualquier forma es posible que a cualquiera le sea útil. Publicaré varios artículos con el mismo enfoque y para los que quieran profundizar les recomiendo leer el libro Head First Software Development.

Tags: 

No uses SELECT * en tus consultas SQL

Este es el primer micro-post que trata sobre como optimzar las consultas SQL, en todos los micro-post hablaré particularmente sobre MySQL (a menos que indique lo contrario) pero en muchas ocaciones estos tips aplican a cualquier base de datos SQL sea esta PostgreSQL, SQL Server, Oracle, etc.

Tags: 

Montar carpetas temporales en memoria

RAM Folder

Supongamos que tenemos un servidor GNU/Linux con suficiente memoria RAM y que realiza tareas que usan bastante carpetas "temporales", pero al tener demasiadas peticiones o escribir muchos datos en esa carpeta temporal el rendimiento del servidor decae.

Ahora bien, la descripción que acabo de dar es muy genérica y también puede aplicarse a nuestra computadora de escritorio, asi que voy a poner el ejemplo más obio:

La carpeta /tmp es una carpeta volátil donde las aplicaciones y/o usuarios almacenan datos de forma temporal y en cada reinicio del sistema esta carpeta se "limpia".

Como ya sabrán la memoria ram es mucho más rápida que el disco duro, incluso a los discos duros de estado sólido (SSD) más rápidos les cuesta llegar a ponerse a la par de una memoria ram común y corriente, estamos hablando de que un SSD sobre un bus PCI Express puede llegar a 1.5 GB/s mientras que una simple DDR2 puede superar los 3 GB/s e incluso hasta 16GB/s con una DDR3 (al menos en la teoría).

Tags: 

Restricciones por usuario/grupos en Postfix

Una situación común que se puede presentar al montar un servidor de correo en una organización es la de restringir a ciertos usuarios o grupos de usuarios el envío de correo, en Postfix podremos lograr esto usando la opción smtpd_restriction_classes.

En la vida real podrían existir muchas combinaciónes para restringir a un usuario/grupos el envío de correo, con estas restriciones me refiero a quienes tienen permitido enviar y quienes tienen permitido recibir. En esencia esta basado en la documentación de Postfix, Restriction Class Readme.

Tags: 

sSMTP una simple alternativa a sendmail

En el post anterior usamos lsb-invalid-mta para satisfacer la dependencia de mutt en los casos que nuestro servidor no tenga un MTA instalado, dicho de otra forma, en los casos que no sea un servidor de correo al que le estemos instalando ciertos paquetes (ej. mutt), pero llega un momento en que es más que necesario tener activado el envío de correos desde un servidor, comúnmente para envíar los reportes de logs y otras tareas como bloqueos a clientes que intentan ingresar por fuerza o atacar nuestro servidor (nuevamente esto para otro post).

Bien, como no queremos configurar un Postfix, Exim o similar para realizar esta simple tarea de enviar logs y reportes por correo, ya que podemos tomar en cuenta que entre más servicios se instalan en un servidor es más propenso a vulnerabilidades, o simplemente por lo complejo que puede ser esta labor además de que no necesitamos que este "reciba" correos solo que los envíe, vamos a irnos por la via simple, usando "simple SMTP".

Tags: 

Respaldos automáticos de bases de datos MySQL

Si tienes un servidor corriendo MySQL y necesitas realizar respaldos periódicos de tus bases de datos, entonces AutoMySQLBackup te será de gran ayuda. AutoMySQLBackup es un shell script que te permite crear respaldos automáticos diarios, semanales y mensuales. Usa mysqldump para realizar el volcado de las bases de datos y ordenarlas en el directorio que nosotros le configuremos y nos envía por correo el reporte de lo que se realizó.

Tags: 

Páginas

Subscribe to JorSol Weblog RSS