Configuración de variables de entorno en Tomcat de Netbeans

Cuando utilizamos el servidor tomcat que viene junto a Netbeans, en ocasiones necesitamos agregar variables de entorno para nuestras aplicaciones java, y aunque existen diversas maneras, a continuación muestro una de ellas:

Archivo setenv.sh

Se debe crear, en el caso de no existir el siguiente archivo:

Donde ~ es la ruta del directorio home del usuario en linux

La ruta puede variar ligeramente si las versiones descargadas e instaladas son distintas.
Contenido:
En el archivo setenv.sh se puede colocar las variables necesarias.

Este archivo será utilizado por el tomcat de nuestro de netbeans al iniciarlo y con ello tendremos acceso a dichas variables en nuestra aplicación java

 

Niveles de Log4j

Cuando utilizamos componentes para gestionar el log de nuestra aplicaciones java, podemos utilizar Log4j. Este logger nos permite trabajar con varios niveles, los cuales incluyen DEBUG, INFO, WARN, ERROR y FATAL, los cuales están definidos en la clase org.apache.logging.log4j.Level

Si no se asigna un nivel de logueo, entonces se utilizará el especificado más recientemente en una clase de nuestra aplicación, según la ejecución de la misma El logger raíz (root) se ubica al inicio de la cadena de herencia y siempre tendrá asignado un nivel de logueo.

El logger es el núcleo del proceso de registro de novedades (logging) de nuestra aplicación.  Cuando utilizamos log4j, existen 5 niveles que se utilizan con normalidad (sin incluir los niveles personalizados).

DEBUG, Nivel de depuración, utilizado para mostrar información muy detallada de eventos que suceden en el sistema. Se recomienda su utilización para depurar aplicaciones

INFO, Nivel utilizado para proporcionar mensajes informativos que resalten el progreso de la aplicación de manera general.

WARN, Nivel utilizado para alertar sobre situaciones potencialmente dañinas.

ERROR, Nivel utilizado para proporcionar mensajes de error ante eventos que podrían permitir que la aplicación continúe funcionando.

TRACE, El nivel de seguimiento es utilizado para proporcionar información sobre eventos con mayor detalle que el nivel de depuración (DEBUG)

FATAL, En nivel Fatal, está destinado para eventos que producen errores muy graves que presumiblemente dará lugar a que la aplicación deje de funcionar.

Adicionalmente, existen dos niveles especiales de logueo disponibles:

ALL, Este nivel tienen el rango más bajo posible y es utilizado para activar todos los registros de logueo.

OFF, Este nivel tiene el rango más elevado posible y es utilizado para desactivar el logueo.

 

¿Qué es un patrón de diseño de software?

Un patrón de diseño de software es una solución a un problema común o repetitivo. Los patrones de diseño se los utiliza mucho en la programación orientada a objetos y se los puede clasificar en: patrones de construcción, patrones de estructuración, patrones de comportamiento y patrones compuestos.

Patrones de construcción

Están enfocados en la conceptualización de las formas para crear objetos, de esta forma los métodos de instanciación de clases se encapsulan en este tipo de patrones. Su utilidad radica en que si cambia la manera de instanciar una clase, las actualizaciones requeridas en nuestra aplicación serán mínimas o mejor aún innecesarias.

 

Patrones de estructuración

Están enfocados en conceptualizar la interfaz de uno o varios objetos con el fin de separar su implementación. Son útiles también para abstraer las relaciones de herencia o de composición presentes en varios objectos.

 

Patrones de comportamiento

Están enfocados en la estructuración de datos y la organización de las interacciones, procesamiento de datos y la distribución de los distintos algoritmos entre los objetos.

 

Patrones compuestos

Son patrones formados a partir de la combinación de uno o varios patrones de los tipos descritos anteriormente.

 

 

Generación de Entidades desde base de datos con Symfony 3

Si utilizamos Symfony como framework de desarrollo PHP, existe la posibilidad que en algún proyecto ya tengamos creada la base de datos en nuestro motor de base de datos y necesitemos crear los archivos PHP necesarios (Entidades) organizados por Bundles. A continuación vamos a mostrar un ejemplo de como hacerlo.

Vamos a suponer que tenemos varias tablas en nuestra base de datos, pero no todas corresponden al mismo Bundle, de la siguiente lista

  • mod_tabla1
  • mod_tabla2
  • otro_tabla

Solo nos interesa generar la tabla “otro_tabla” para nuestro Bundle, para ello nos ubicamos en nuestro directorio raíz del proyecto y ejecutamos:

 

Para este caso:

  • JewifcomNombreBundle es el nombre de nuestro Bundle
  • xml es el formato, puede ser también yml
  • OtroTabla es la tabla que nos interesa,notar que aunque el nombre en la base incluye “_” en el mismo se debe colocar el nombre en formato camel case

Posteriormente es conveniente limpiar el cache ejecutando:

 

Y ya es posible generar los archivos Entidad, ejecutando:

 

Si queremos que estén en formato de anotaciones, ejecutamos:

 

 

 

Test de velocidad de conexión a Internet desde terminal de Linux

Si por alguna razón necesitamos realizar un test de velocidad de la conexión a Internet desde la consola / terminal de linux, podemos utilizar la aplicación speedtest-cli. En este ejemplo realizamos la instalación en un Linux Fedora 23, pero es fácilmente instalable en otras distribuciones siguiendo la misma lógica.

Instalación:

Uso:

Speedtest-cli