13 diciembre 2008

Hibernate: Primeros pasos

Este es el intento n mil de comenzar con Hibernate. Por ahora todo me va bien con mi Eclipse, mi Tomcat 5.5.27, mi MySQL 5.0 y unos servlets que me funcionan desde hace tiempo. Ahora hay que dar un paso más y utilizar Hibernate, que me han hablado maravillas, pero que no he podido hacer funcionar. Al lío:

Lo primero es bajarse el hibernate-core y las hibernate-tools. Ok. Hecho. Las tools se utilizan para poder facilitar tareas en Eclipse. Cuando las descomprimimos, tenemos dos carpetas features y plugins. Los contenidos de las mismas, los debemos pasar a las carpetas correspondientes de la instalación de Eclipse que tengamos. Ok. Hecho. Rearrancamos Eclipse con la opción -clean, y vemos qué ha ocurrido. En Software Updates > Installed Software, debemos localizar un elemento Hibernate Tools. Si es así, lo tenemos bien instalado. Continuamos.

Busco algún tutorial en Google para ver cómo comenzar y encuentro éste: http://programacion-shinseiki21.blogspot.com/2008/02/hibernate.html, que está muy bien, pero tiene algún paso demasiado rápido. Por ejemplo, a él le funcionan las librerías que indica que se han de cargar en el Build Path del proyecto, pero falta alguna. En mi caso, aparte del slf4j-api-x.y.z.jar, debía cargar slf4j-log4j12-x.y.z.jar pues de lo contrario me daba error al ejecutar el programa.

Una vez las pruebas hechas, y adaptadas a mi máquina, todo fue "flors i violes".

08 octubre 2008

Ubuntu y los problemas al compilar C



Haciendo una PAC de FPI con el Ubuntu, me he encontrado que con la instalación básica da una serie de errores al utilizar el gcc.

De hecho lo que pasa es que faltan librerías y no encuentra el stdio.h y otros. Una rápida vuelta por Google nos da la solución: hay que instalar algo más. Vamos a ello!.

sudo apt-get install build-essential

Esto instala las librerías que toque y te permite compilar sin problemas.

04 octubre 2008

Fujitsu Amilo M7440G, Disco duro y WiFi

Pues aquí estamos, con un disco duro que ha fallecido en acto de servcio, la garantía caducada y con un poquito de tiempo. Lo primero es comprar un disco duro SATA: 160 Gb, 46 EUR. OK. Segundo, se instala. OK. Probamos de instalar el XP: el ordenador no detecta el disco duro: malo! Probamos de instalar el Ubuntu, detecta el mío el del vecino y no se cuántos más ;-) Tiramos de linux y nos encontramos con que no va el WiFi, y ya me dirás un portátil sin WiFi es un fijo con la pantalla pequeña. Solución: Google, Ubuntu Amilo M7440G WiFi. Nos lleva a la página de una pequeña aplicación que te permite activar el Wifi: http://fsam7440.sourceforge.net/es/install.html. Se siguen las instrucciones al pie de la letra, y ...a navegar!

En mi caso, cada vez que quiero activar el WiFi, tengo que ir a la carpeta donde tengo el programa y hacer un sudo modprobe fsam7440.

En cuanto coja pràctica con el Linux, haré un método más ràpido.

28 septiembre 2008

81a Travessa del Port de BCN

Este año ha ido mejor que el anterior. Mucho mejor. El año pasado quedé el penúltimo, y éste, a pesar de haber llegado fuera de tiempo por 3 minutos, me ha ido muy bien. Hay cosas que he de mejorar, además de entrenar de una manera más... constante, y es el tema de orientación. He nadado muchos más metros de lo que tocaba, pues me iba continuamente hacia la derecha, perdiendo mucho tiempo volviendo hacia donde estaban el resto de los nadadores.


El año que viene el objetivo es bajar de la hora, y con un poco de tiempo y entreno, y nadando en plan waterpolista, lo conseguiré.

25 septiembre 2008

Vuelta, de nuevo, a correr...

Después de varias semanas acudiendo puntual a la cita con el fisio, de saber lo que es aguantar dolor de verdad, de saber lo que es una Indiba, y de buscar en Internet qué es eso de Ciriax, con lo que duele, por fín, me han dejado que trotase 10 min. por Collserola. Para mi una experiencia quasi-religiosa, y rara, pues no he tenido ninguna molestia en la pierna. Esperemos que vaya bien...!


26 julio 2008

Nos vamos de vacaciones...


No te das cuenta, pero las esperas. Al menos es mi caso. Estás tan metido en la rutina, en las teclas que has de ir tocando cada día que a veces cuesta dar el paso de pensar en qué vas a hacer en vacaciones. Antes esto era parte ya del momento. Ahora lo que pides es tiempo para hacer aquello que no haces durante el resto del año: NADA. O como mucho leer un poco y jugar con tus hijos, los que tenemos.


Este año toca Almería, por muchas razones, y sobre todo por recomendación de los amigos: es un paraíso, payas vírgenes, etc... Para mi, que sea tranquilo relajado, con pocas cosas que tenga que ver (obligadas) y con rutina vacacional: desayuno, piscina, comida, siesta, piscina, cena y a las diez en la cama estés. La panacea...


Powered by Qumana

11 mayo 2007

Continuamos entrenando

Hoy, Jueves 10/05. Oportunidad para entrenar y dar un paseito por Collserola. Tiro de mi repertorio de entrenos, y por el tiempo escojo el itinerario R1 de 7'6km. Subida fuerte por la entrada a Collserola que hay detrás de la Clínica Stauros, llegada al passeig de les aigües y vuelta por detrás de la montaña a Torre Baró y bajada por la carretera. La subida bien, tranquila sin parar y con sensaciones buenas. La pierna no me duele, y eso ya es un logro. No me quiero forzar. Así que me relajo al llegar arriba y voy al trote cochinero hasta la parte más alta del recorrido donde bajo las pulsaciones hasta dejarlas por debajo de 120. Continuamos para bingo, hasta la parada de autobús de Torre Baró, donde para otro minutillo para bajar pulsaciones. Y continúo carretera abajo por la acera que han acabado hace un par de meses, y que evitará que el autobús y los coches hagan extraños para evitar a los caminantes. A los 40 min., como me tengo acostumbrado últimamente, comienzo a caminar para relajar músculos y llegar a casa bien.

Lo que sí he notado es que en la bajada se me cargan mucho las piernas. La causa no la tengo clara, pero no debo de apoyar bien el pie, y las zapatillas que uso no deben ser especialmente blandas. Todo ello hace que tema las bajadas como pocas cosas. Prefiero subir, o bien bajar por un sitio blandito...

Espero este finde continuar con la recuperación...

10 mayo 2007

Java Byte[] y los acentos

Cómo una cosa tan sencilla se complica tanto. Total, unos acentos de nada. Pero claro, la informática la dominan los ingleses, que carecen de estas lindezas de la escritura. Y menos mal que alguien le da por inventar un "nuevo" código de caracteres ISO-8859-1... Y claro, si trabajas en Java con byte[] necesitas decirle el tipo de codificación que hay en esa matriz de byte. Y cómo? Pues al final con InputSource (org.xml.sax.InputSource) que dispone de un método para decir qué tipo de codificación tiene, y así forzar a que el SAXBuilder cree el documento XML correctamente. Espero que pueda servir a alguien....

public Document genXMLDocument(byte[] b){
Document doc = null;
try {
ByteArrayInputStream bais = new ByteArrayInputStream(b);
InputSource is = new InputSource(bais);
is.setEncoding("ISO-8859-1");
SAXBuilder sxb = new SAXBuilder();
doc = sxb.build(is);
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

return doc;
}

25 diciembre 2006

Mitja Marató de Vilanova del 2006

El recorrido de la Mitja Marató de Vilanova del 2006. Per mi la primera vegada que intentava una distància com aquesta en una cursa, i la veritat és que és una miqueta dur, però bé. Total 1:44 en fer els 21 km i escaig.

He tingut tiretes durnat uns dies, però ho he pogut aguantar bé i he tornat a entrenar.

L'any que vé ho farem millor! Posted by Picasa

06 noviembre 2006

Cross Popular de Sants 2006

El recorrido del Cross Popular de Sants 2006 con una marca personal impresionante, para mi, 46:18. Sufrimiento a partir del kilómetro 6, pero he aguantado como un campeón. Estoy orgulloso! Posted by Picasa

09 octubre 2006

El entreno de muchos días

O bien en el sentido de las agujas del reloj, más duro al principio y más suave al final, o bien al revés, éste es el itinerario de muchas tardes de entreno. Aproximadamente són unos 8km, por Collserola. Posted by Picasa

03 octubre 2006

Volviendo al Apache 2.0.59

Esto que hago como unas cuantas veces al año siempre me acaba por dar problemas. En fin, que tengo que poner en marcha el Apache, MySQL, PHP, Perl y alguna cosilla más, y la primera en la frente: tengo instalada la versión de Apache la 2.2.2, que se supone que es la última. Pues bien, cuando hay que configurar el PHP como módulo, empieza a ponerme peros. Tira de Google, hasta que algún buen samaritano pone en su web que hay incompatibilidades. Tiramos para atrás. Vamos a ver qué es lo que se soporta y qué es lo que no. En el "curro" tengo una 1.3.27 que va como una moto, pero por aquello de no ser un individuo poco moderno, digo, vamos a poner una 2.0.xx. Descargamos a buena velocidad, y le damos al .msi, que a más de uno le ha dado un disgusto. Pues no iba a ser menos: no funciona. Da un error de Windows de que hay un problema con el Windows Installer.
Google de nuevo nos da la respuesta a través de la página de Microsoft, que dicho sea de paso, no se lleva bien con el Firefox, o era al revés? El caso es que ábrete un Explorer, y la respuesta: hay que volver a registrar (msiexec /regserver) el MsiExec.exe con el Windows en modo a prueba de fallos. Como es la primera vez, pues hace "ilu". Reinicio, aprieto F8, y entramos en un "nuevo mundo", donde todo debe estar más controlado. Ejecutamos el comando para re-registrar el msiexec.exe, y recuerdo que el otro día mientras instalaba nosequé (puede que la última versión de la mula), se fue la luz por una avería de Fecsa-Endesa. Ya sabemos el porqué de las cosas.
Una vez ejecutado el comando, volvemos a reiniciar, seleccionamos Windows XP dentro de las posibilidades de la máquina, y desinstalamos el Apache 2.2.x (pero qué bien y que ordenadito!) mediante el apache_2.2.2-win32-x86-no_ssl.msi. Ya queda menos. Volvemos a ejecutar mediante un doble-clic el apache_2.0.59-win32-x86-no_ssl.msi, y esta vez va como una moto. Ponemos el directorio que nos interesa, el dominio que queremos y voilà, la máquina está preparada. Apuntamos el Firefox a http://localhost, y voilà: la página de inicio del Apache. Esta noche promete!

Instalamos el PHP 5.1.6

Lo tengo descomprimidito y preparado en mi %PHP_HOME%. Ahora volvemos a Google, y buscamos "configuring apache php5", y lo primero que hemos de hacer es localizar nuestro httpd.conf, que hallamos inmaculado en %APACHE_HOME%conf. Lo editamos y empezamos a "meterle mano":

# For PHP 5 do something like this:
LoadModule php5_module "%PHP_HOME%/php5apache2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "%PHP_HOME%"

Donde %PHP_HOME% es el directorio donde tengamos instalado nuestro PHP. Esto va bien, ya que cuando cambiemos de PHP, poco hemos de tocar el httpd.conf.

Probamos a colocar en la carpeta donde sirve los documentos el fichero con el phpinfo():


phpinfo();
?>

y ahí está, perfecto! Ya tenemos el Apache+PHP5. Vamos a ver si se lleva bien con el MySQL que ya funciona desde hace unos días.... Algo que no veo en el phpinfo() me da en la nariz que tendremos "dificultades".

Probando MySQL 5.22

Hacemos un script de conexión a una tabla que tengo funcionando, y falla. Parece que tenía razón. Nos vamos al php.ini, y verificamos las líneas:

; Directory in which the loadable extensions (modules) reside.
extension_dir = "%PHP_HOME%ext"

y descomentamos la línea:

extension=php_mysql.dll

Ahora sí que sí.









30 junio 2006

01 abril 2006

Mis princesas

Pero qué guapas están mis princesas! En casa estamos enganchados desde pequeños... Posted by Picasa

10 diciembre 2005

La Sara i la Martina

08/12/2005

La Sara i la Martina.

Què guapes són les dues cosinetes!! Posted by Picasa

09 diciembre 2005

La Sara de vancances

La Sara a la Plaça dels Voluntaris Olímpics a Barcelona. Aquest dia ens ho hem passat d'allò més bé!

sara
 Posted by Picasa

05 julio 2004

Java: Como aplicar un XSL a un XML

import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

import java.io.*;
public class ApplyXSLT {

public static void main(String[] args) {
int argsCount=0;
try
{
argsCount = args.length;
if(argsCount != 2)
{
System.err.println("Usage java ApplyXSLT " +
"");

System.exit(1);
}
}
catch(Exception exp)
{
exp.printStackTrace();
System.exit(1);
}

try
{

// Source XML File
StreamSource xmlFile = new StreamSource(new File(args[0]));

// Source XSLT Stylesheet
StreamSource xsltFile = new StreamSource(new File(args[1]));
TransformerFactory xsltFactory = TransformerFactory.newInstance();
Transformer transformer = xsltFactory.newTransformer(xsltFile);

// Send transformed output to the console
StreamResult resultStream = new StreamResult(System.out);

// Apply the transformation
transformer.transform(xmlFile, resultStream);
}
catch(Exception exp)
{
exp.printStackTrace();
}
}
}

21 junio 2004

Java Skyline: Learning JavaServer Pages

Calling a JSP from a Servlet. To call a JSP from a Servlet, write the following code into the Servlet:


public void doPost(HttpServletRequest request, HttpServletResponse response) {
...
try {
String jsp2Call=/jsp/myJsp.jsp';
getServletConfig().getServletContext().getRequestDispatcher(
jsp2Call).forward(request, response); } catch (Exception e) {.....}
...
}

Java Skyline: Java Servlet/Server Headline News

Java Skyline: Java Servlet/Server Headline News

20 junio 2004

Primers passos amb Tomcat 4.1.24

Abans de res, i per a poder compilar, hem de posar el servlet.jar que ve en TOMCAT_HOME/common/lib en el classpath que tinguem definit, o bé copiar-lo en JAVA_HOME/jre/lib/ext. A partir d'ara podrem compilar.

Per comprobar que funciona:

Fitxer HTML de prova:
-----------------------------------------------------


Nom:














------------------------------------------------------

el copiem a TOMCAT_HOME/examples/hola.html

Servidor

------------------------------------------------------
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class hola extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

res.setContentType("text/html");
PrintWriter out = res.getWriter();
String nom = req.getParameter("nom");

out.println("Hi, "+ nom + "!.");
}

public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

doGet(req, res);
}

}
-------------------------------------------------------

Compilem amb javac hola.java i obtenim hola.class. Copiem el hola.class a TOMCAT_HOME/examples/WEB-INF/classes.

Cridem des d'un navegador a:

http://127.0.0.1:8080/examples/hola.html

omplim el nom i cliquem a POST.

Si obtenim quelcom com:

Hi, nom!

Anem bé!