20110925

Matar proceso que usa un puerto

Ahora mismo estoy trabajando en el PFC, y arrancando y parando el Tomcat integrado en Eclipse hasta la saciedad (debería usar JRebel ahora que hay una versión libre?)

Lo que me ha ocurrido es algo que pasa "a veces" sin saber porqué : al arrancar Tomcat, me dice que alguno de los puertos que necesita está ocupado. Me voy a la vista de Debug para ver si hay algo en ejecución, y la vista de Servers para ver si está levantado, y ... nada, no veo nada desde ahí.

En el monitor del sistema si veo varios procesos java, pero claro, cual matar? No quiero que se me cierre el Eclipse o cualquier otra cosa que tenga levantada en ese momento.

Googleando un poco me encuentro esto.

Básicamente, ejecutando el comando:

netstat -anp|grep :

vas a poder ver qué proceso está usando qué puerto, para lo que necesites (en mi caso, matar el proceso que se ha quedado "suelto")

A veces pasan estas cosas y no sabes porqué, pero mejor tener a mano la forma de solucionarlas sin más y poder seguir trabajando.

20110525

Susto con 'mv *' en linux

Hoy he tenido un pequeño susto en mi equipo de casa, al intentar mover unos ficheros
Quería mover todos los logs a un directorio para mantener históricos, logs de mi aplicación, y he ido a teclear:

mv *.log ../_rutahistoricos_

en ese momento se me ha ido la mano y he tecleado:

mv *

y al pulsar enter... han desaparecido todos los .log y todo lo que había en ese directorio!

La mala suerte hace que, mi configuración, haga que deje las trazas en el HOME de mi usuario, con lo que se había perdido TODO mi contenido.

Perdido? No! Aquí hay un alma caritativa que dice básicamente que:

"si ejecutas 'mv *' se moveran todos los ficheros al último elemento, en caso de ser un subdirectorio, en otro caso se produce un error"

Efectivamente, en mi caso hay un directorio "workspace" (eclipse ;) ) donde estaba TODO mi home.
Curiosamente no se habían movido los directorios/ficheros ocultos.

Así que he podido recuperar todo lo que tenía, simplemente ejecutando de nuevo un mv, esta vez, con mucho cuidado!

He comprobado, además, que ejecutando mv * en un directorio cuyo último elemento no es otro directorio, se da el siguiente error:

mv: el destino, «applogxxxxxx.log», no es un directorio

20110507

SpringSecurity y Sitemesh : filters

A la hora de integrar SpringSecurity con Sitemesh, se me planteó un problema : al usar las tags de springsecurity, en los decoradores de sitemesh, no funcionaban.
La solución estaba a unos cuantos enlaces de Google:
aquí


La idea:
Al cambiar el orden de los filtros en el web.xml de la aplicación web, de forma que el filter de SpringSecurity actue antes que el de Sitemesh, todo funciona. Tiene sentido, ya que antes de que pueda usarse la información de SpringSecurity, debe haberse pasado por su filtro.

20110225

Autocompletado en las JSP de Eclipse

Estoy trabajando en mi proyecto fin de carrera, y una parte del mismo es una aplicación web (como no!)

En esta parte estoy usando Spring MVC, y en la vista estoy usando JSPs ayudándome de los grandes aliados : los tags.

Para que esta ayuda sea cómoda, lo mejor es que el autocompleado (ese mágico Ctrl+Espacio) funcione correctamente. Para ello, la solución ha sido declarar en la jsp los tags a usar de la siguiente forma:

<jsp:root version="1.2"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:jsp="http://java.sun.com/JSP/Page">

... código de la JSP aquí ...

</jsp:root>

De esta manera, el editor de JSP de eclipse "se da cuenta" de los TLD de definición de estos tags, que de otra forma no lo hacía. Voilà!

En mi caso, el proyecto está usando Maven para gestión de las dependencias, por lo que los JAR necesarios no están físicamente en el lib del proyecto, sino que están en el repositorio local maven y se despliegan en el servidor de aplicaciones al publicar la aplicación web.

20100903

A vueltas con fstab

Ayer instalé un disco duro en mi equipo. Tras pelearme con los cables (la caja es grande, pero sigue sin ser todo lo accesible que debería) procedo con la configuración:
  • Formatear la partición, es un almacen de datos, así que no me complico y creo la partición completa en ext4 y ocupando todo el espacio, con GParted
  • Añadir la entrada en fstab
En mi caso, fstab tiene un aspecto que no conocía hasta ahora:

UUID=f33AAAAA-4d70-EEEE-bfea-XXXXXXXXXXXX / ext4 defaults 0 1
UUID=547OOOOO-497f-BBBB-b7cd-YYYYYYYYYYYY swap swap sw 0 0

El UUID es usado para identificar el dispositivo, sin necesidad de indicar el /dev/sdX habitual. Así que, cómo obtengo ese valor? Google me ayuda, como siempre, guiándome hasta aquí , de donde obtengo la orden para listar los UUID de mis discos duros:

ls /dev/disk/by-uuid -alh

Una vez obtenido el UUID, solo hay que añadirlo al fstab indicando el punto de montaje, al gusto del consumidor (típicamente /mnt/nombre_disco_duro)

El otro "inconveniente" es conseguir que se monte el disco sin reiniciar y sin ejecutar el mount correspondiente, de forma que pueda comprobarse que el fstab generado es correcto. Para ello, encuentro la respuesta en este blog que básicamente indica lanzar

mount -a

Con esto, se montan las unidades en sus puntos de montaje correspondientes y comprobamos que el fstab es correcto.

Simple verdad?

20100701

Traveling : una ruta por la Costa Brava

Dado que unos amigos van a viajar a la Costa Brava, mi tierra, voy a elaborar una pequeña ruta para que no dejen de visitar mis sitios favoritos.

Os he creado en el un mapa los puntos que no debéis dejar de visitar.
En amarillo, las playas.
En azul, los pueblos.
En verde, los restaurantes que me encantan.
En rosita, otros sitios que visitar. En el mapa no aparecen, arrastrad hacia el norte, está Figueres, Cadaqués y el Cap de Creus, dignos de visitar.
No olvidéis visitar Gerona, no os defraudará.

Mis recomendaciones:

Ir temprano a la playa. Son pequeñas calas, carreteras estrechas y se llenan enseguida.
En la mayoría de sitios cobran por aparcar, y no hay mucha más opción. En los pueblos, te cobran por día, así que si podéis, planificad la visita para aprovechar el timpo, y ya os quedáis a comer allí.
Paciencia, se forman atascos, pero es que estas carreteras no están preparadas para lo que llega en verano... como en cualquier zona turística.



Os enlazo un mapa de googlemaps:


Ver Costa Brava en un mapa más grande

20091113

Cacharreo: gadgets

Las próximas entradas del blog estarán dedicadas a dar mis impresiones sobre los últimos gadgets que he adquirido. La lista es corta pero intensa (por orden cronóligo de más antiguo a más nuevo):
  1. Dell XPS 1530 (conocido en mi red como Hell)
  2. EeePC 901 (conocido en mi red como dickpad)
  3. iPod Nano 16Gb (sin bautizar)
  4. Papyre 5.1 (sin bautizar)
Mi intención es dar las impresiones personales sobre su funcionamiento, las características que más me convencen de cada uno y lo que echo en falta o lo que menos me ha gustado.

Si os queréis comprar alguno de estos, puede que os interese leer la opinión de uno de sus usuarios.