Archivos de la categoría ‘Tecnología’


DISTINCT y GROUP BY normalmente generan el mismo query plan, por lo que el rendimiento debería ser el mismo con ambas construccines. Si sólo necesitas quitar los duplicados utiliza DISTINCT. Si lo que necesitas es un query plan basado en subconsultas, con lo que las consultas podrían cambiar los resultados, tienes que comprobar el plan de ejecución antes de tomar una decisión sobre qué opción es más rápida.

(más…)

Convertir String a float y float a String, en Java

Publicado: marzo 16, 2016 de elvenbyte en Tecnología
Etiquetas:, ,

java

float f = Float.parseFloat("25");
String s = Float.toString(25.0f);

Pero cuidado porque mientras 25 == 25.0 == 25.00, «25» != «25.0» != «25.00». Mientras la comparación en numérico es válida, no resulta cuando ya es String.

Colorear conexiones en Toad

Publicado: marzo 15, 2016 de elvenbyte en Tecnología
Etiquetas:, ,

toad_coloresCuando tienes que trabajar con entornos diferentes, como pueden ser DESARROLLO, PRE-PRODUCCIÓN y PRODUCCIÓN, siempre viene bien tener una forma de distinguirlos mientras trabajas, especialmente el de PRODUCCIÓN.

Para esto Toad nos permite colorear el usuario/conexión. Y, ¿cómo se hace esto? Muy fácil. En la misma ventana de conexiones, seleccionamos el usuario y desplegamos la columna que tiene un cuadro de color (a la derecha, si la pantalla está estrecha tendremos que utilizar la barra de desplazamiento horizontal para verla). Seleccionamos el color en el combo y a partir de ese momento, cualquier pantalla relacionada con ese usuario/conexión, saldrá enmarcada de ese color.

(más…)

Fecha de hoy en java

Publicado: marzo 8, 2016 de elvenbyte en Tecnología
Etiquetas:, , ,

Si entendemos que:

// create a java calendar instance
Calendar calendar = Calendar.getInstance();

// get a java date (java.util.Date) from the Calendar instance.
// this java date will represent the current date, or "now".
java.util.Date currentDate = calendar.getTime();

// now, create a java.sql.Date from the java.util.Date
java.sql.Date date = new java.sql.Date(currentDate.getTime());

(más…)


eclipseEsta es otra de las consecuencias del alto peso en memoria de los entornos de programación más utilizados hoy en día: Netbeans y Eclipse. en este caso, concretamente de Eclipse, en su versión Luna.

En ocasiones dejan de aparecer ciertas opciones del menú contextual, y en el peor de los casos, este ni siquiera aparece. Es tan grande el peso del entorno en memoria que no permite el refresco de la caché de disco. Tampoco se soluciona cuando intentamos el clean forzado manualmente.

La solución está en abrir Eclipse ya forzando de inicio ese clean, de la siguiente manera: ejecutando Eclipse con el argumento -clean, bien a través del icono en el escritorio, o bien ejecutándolo desde consola:

(más…)

Etiquetas de tarea

Publicado: May 26, 2015 de elvenbyte en Tecnología
Etiquetas:, ,

Ya sé que siempre hablo de temas muy técnicos, y muy específicos en ocasiones, o hago compendios larguísimos que no sé cuándo acabaré (como mi serie sobre las cachés). Pero tengo una razón importante, o que a mi me lo parece, para elegir esos temas.

Normalmente suele ser porque me han afectado de forma especial en mi trabajo, y no he encontrado información suficiente o interesante en Internet. Especialmente en castellano. Es es mi forma de aportar conocimiento a la Red.

Pero muy por encima de todas, como razón especial, porque me gusta escribir, y cómo no hacerlo precisamente sobre un campo que domino, como es la programación. Y dejo ya los sentimentalismos para pasar al tema en sí: las etiquetas de tarea.

(más…)


sincronizacionHoy voy a hablar de estos dos términos, consistencia y sincronización, porque en el tema de las cachés, y con mantenimiento y programación, están especialmente relacionados. Lo explico a continuación.

Se pretende, por norma general, que los datos de la caché sean lo más parecidos posible a los que hay en la propia base de datos. Esto es lo que denominamos consistencia de la caché. Para lograr esto, necesitamos sincronizar los datos, entre la caché y la base de datos. Esto puede ser algo muy tedioso si se hace a mano, por eso hay sistemas y metodologías que nos ayudan a automatizarlo.

No hablaré de las herramientas por no darle demasiada extensión al artículo, pero sí de algún método o solución. Estos métodos se constituyen normalmente en políticas de uso, concretamente en políticas especiales, que en nuestro caso llamaremos Políticas de Actualización o Escritura. Estas políticas determinan el instante en que se actualiza la información en la memoria principal, siendo esta la base de datos en nuestro caso, cuando se hace una escritura en la memoria caché.

(más…)


glassfishnetbeansYa sé que Netbeans, al igual que Eclipse, es un come RAM de los peores, y que Glassfish como servidor web no es lo más aconsejable. Pero hace poco me he metido con Activiti y BPMN (Business Process Modeling), y sinceramente era la forma más lógica para empezar a jugar con esta tecnología.

Más pronto que tarde, empecé a encontrarme con los problemas de compilación para generar los WAR que desplegaría en el Glassfish. Me había pasado antes que por alguna razón, la carpeta de Build se me quedaba bloqueada, pero no con tanta frecuencia.

Al principio, al no saber qué ocurría, me limitaba a apagar el Netbeans, y el problema se solucionaba. Pero al ser tan frecuentes, pronto me pregunté qué era lo que bloqueaba la carpeta Build de forma tan catastrófica.

Me hice con el Unlocker, no por desbloquear y ya está, sino porque te dice quién está bloqueando los archivos, y mira por dónde que se trataba del propio Glassfish.

(más…)

Instalación y puesta en marcha de Oracle Service Bus

Publicado: May 4, 2015 de elvenbyte en Tecnología
Etiquetas:,

osbAlgunas veces te hacen encargos que parecen sencillos, teniendo en cuenta que ya has utilizado la herramienta anteriormente, y sin embargo se te complica en la instalación llevándote días conseguir hacelo funcionar. Para colmo la información que hay en Internet es poca y en otros idiomas, y teniendo en cuenta que el proveedor tampoco da una información clara, ahí dejo una guía de cómo conseguir ponerlo en funcionamiento, con la intención de que quien la encuentre no tenga que pasarse días en ello.

Es muy importante tener en cuenta que todo este proceso es exclusivo para windows. Concretamente estos pasos se han realizado enteros con Windows 7 64bit.
Todo el proceso puede requerir varios reinicios.

(más…)

Trabajando con cachés IV

Publicado: marzo 28, 2015 de elvenbyte en Tecnología
Etiquetas:,

memoriaLa duración de la caché es quizás el concepto del que menos se habla cuando se habla de cachés. Suele hablarse más de conceptos que ya hemos tratado, como persistencia de los datos, o tiempo de acceso. Pero la permanencia o duración de la caché también es importante.
Para la duración utilizaremos el término TTL (Time To Live, o tiempo de vida, en su traducción), y veremos cómo funciona.
Al trabajar con cachés no pensamos en cuánto nos tiene que durar. Damos por hecho que cuando la tengamos montada, cargada y lista, en nuestra memoria, o en nuestro clúster, se va a ir actualizando cuando está programado, y vamos a tener acceso a ella de forma permanente.
Pero a veces necesitamos que no se produzca esa permanencia. A veces nos hace falta que esos datos en memoria «mueran», por decirlo así, tras un periodo de tiempo determinado, o en un momento concreto. Las razones para querer esto pueden ser muchas y variadas, pero no tengo intención de incorporar ejemplos. Lo que sí voy a aportar, como información adicional, es que este TTL puede forzarse para una caché concreta, o sólo para parte de los datos de la misma.

(más…)