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.

Leer el resto de esta entrada »

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());

Leer el resto de esta entrada »


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:

Leer el resto de esta entrada »

Etiquetas de tarea

Publicado: mayo 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.

Leer el resto de esta entrada »


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é.

Leer el resto de esta entrada »


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.

Leer el resto de esta entrada »

Instalación y puesta en marcha de Oracle Service Bus

Publicado: mayo 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.

Leer el resto de esta entrada »

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.

Leer el resto de esta entrada »

Problema: fallo al crear tarea o tipo eclipse. AntTaskName

Publicado: febrero 16, 2015 de elvenbyte en Tecnología
Etiquetas:, ,

eclipse-ant-view

Hace poco me surgió este problema, y como muchos otros para los desarrolladores avanzados, no solemos encontrar solución en Castellano, pero en inglés casi siempre está. A mi particularmente me da igual porque hablo inglés, pero a veces echo de menos encontrar la información en castellano.
La cuestión es que no existe mucha documentación en nuestro idioma para las las tareas Ant que muchas veces necesitamos ejecutar, bien en Eclipse, bien en NetBeans, para automatizar procesos, que de otra forma sería muy tediosos en su paso a paso. El problema es que Ant se integra siempre como un plugin, normalmente de terceros, y esto tiende a producir fallos, en ocasiones bastante engorrosos, y que nos hacen perder mucho tiempo.
Uno de estos es precisamente el que nos ocupa. La solución la encontré en el siguiente enlace: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W75c8733d99bb_4d55_9ee8_4dbc8c56ebee/page/Ant%20-%20More%20Information
Y la traducción, como sigue:

Fallo al crear tarea o tipo eclipse.AntTaskName

Ejemplo: Cadena sintomática al final de la salida de consola

BUILD FAILED

D:workspace_rbdv8ABuildControlProjectruntimesBatchsetAsCurrentRuntime.xml:6:
Problem: failed to create task or type eclipse.convertPath

Cause: The name is undefined.

Action: Check the spelling.

Action: Check that any custom tasks/types have been declared.

Action: Check that any <presetdef>/<macrodef> declarations have taken place.
Causa: Si el nombre de la tarea es de formato eclipse.AntTaskName, el script no se está ejecutando bajo el IDE JRE. El problema se arregla yendo a la carpeta JRE del script de configuración del Ant y marcando la opción “Run in the same JRE as the workspace.” También hay que ir a la carpeta Build  y desmarcar “Build before launch”. De esta manera, los scripts siempre ejecutarán cualquier build de Eclipse que se requiera, ya que precisamente el fallo se produce porque estos no se ejecutan por defecto, al estar las opciones anteriores marcadas y desmarcadas de la forma contraria a la que se especifica.
Si el artículo te ha ayudado, o lo encuentras interesante, por favor no dudes en compartirlo. Un saludo, y hasta la siguiente.

Leer el resto de esta entrada »