Blog de Luis Arévalo


Las distintas visiones de Internet


Feb 27

Posted: under General.

Cuando vi este post me ha inundado una necesidad de compartirlo en mi blog (gracias chicadelatele). Como bien dice, The PirateBay  está en los tribunales en Suecia y, para “celebrarlo”, han puesto en su portal la siguiente viñeta. ! No hay comentarios!

ThePirateBay

Comments (0)

Compilar eXist


Feb 23

Posted: under eXist, XML, XQuery.
Tags:

Como os dije en mi anterior post, la opción más recomendable para instalar eXist es descargándote directamente el código fuente y compilándolo. Como veréis es muy sencillo y únicamente requiere de varios pasos:

more_link_text

Comments (0)

Programación II


Feb 17

Posted: under GNU/Linux.
Tags:

Las prácticas de Programación II se desarrollarán bajo GNU/Linux usando el entorno de programación KDevelop. Pasos para su instalación;

  1. Instalación de KDevelop (en debian/ubuntu)
    1. Usando adept –> Buscar Kdevelop –> Instalar el paquete kdevelop, y por consiguiente kdevelop-data
    2. Consola: sudo apt-get install  kdevelop
  2. Instalación de paquetes adicionales (mucho de ellos necesarios):
    1. gcc (sudo apt-get install gcc) (compilación)
    2. g++ (compilación)
    3. libtool (para crear librerías software portables)
    4. doxygen (Auto-documentación)
    5. valgrind (Problemas de memoria)
    6. graphviz (Gráficos en la autoDocumentación)
    7. automake (compilación)
    8. gdb (Depuración)
    9. umbrello (Generación de diagramas en UML)
    10. make (compilación)

Además es necesario la utilización del script limpia.sh (gracias a los compañeros de Cáceres) para que el alumnado pueda llevarse el trabajo realizado en la sesión a su casa. Este script elimina los ficheros innecesarios (temporales, ficheros objetos, etc) y que se pueden volver a generar cuando se vuelva a compilar el proyecto (de paso elimina la restricción del path absoluto de KDevelop).

Código del documento limpia.sh

rm aclocal.m4   2> /dev/null
rm autom4te.cache -rf   2> /dev/null
rm debug -rf     2> /dev/null
rm templates -rf 2> /dev/null
rm src/*~  2> /dev/null
rm config.h.in  2> /dev/null
rm configure  2> /dev/null
rm AUTHORS 2> /dev/null
rm COPYING 2> /dev/null
rm INSTALL 2> /dev/null
rm NEWS 2> /dev/null
rm README 2> /dev/null
rm TODO 2> /dev/null
rm ChangeLog 2> /dev/null
rm practica.tar.gz #Elimina el fichero comprimido de la copia anterior
tar -cf practica.tar . #crea un fichero .tar
gzip practica.tar # comprime finalmente todo el proyecto en practica.tar.gz

Comments (0)

URL vitales de XML, XQuery, XSLT y XPath


Feb 17

Posted: under eXist, XML, XQuery.
Tags:

Post dedicado a aquellos documentos/enlaces útiles para indagar en esto de la tecnología XML. En lugar  de publicar un gran número he preferido incluir sólo aquellos que considero vituales.

Cualquier otro enlace que estiméis interesante, por favor añadirlo en un post.

Comments (0)

eXist: Base de Datos Nativa XML


Feb 13

Posted: under eXist, XML, XQuery.

En los últimos años han aparecido un gran número de bases de datos con soporte para documentos XML y algunas de ellas con soporte para XQuery. Existen principalmente dos tipos de bases de datos XML: 1- XML-Enabled las cuales mapean los documentos XML en una base de datos relacional u objeto-relacional 2. Bases de datos nativas XML (XNDB) donde utilizan como unidad fundamental de almacenamiento estructuras específicas para documentos XML. Un listado de bases de datos nativas junto con algunas características se encuentra en Bourret. Entre todas ellas, en este post analizaremos eXist.

eXist-db es un sistema de gestión de bases de datos libre y de código abierto que almacena datos XML de acuerdo a un modelo de datos XML. Algunas de sus características son: soporte para distintos lenguajes de consultas XML como XQuery, XPath y XSLT, indexación de documentos y soporte para la actualización de los datos y para multitud de protocolos como SOAP, XML-RPC, WebDav y REST y en la actualidad cumple el estandarestándar XQuery en un 99.4%.
Se pueden realizar distintas instalaciones:

  • Mediante un fichero de instalación  (.jar multiplataforma). Al ejecutar el instalador (java -jar fichero.jar) aparece un asistente guiándote en el proceso de instalación.
  • Mediante un fichero .war para incluirlo en un servidor Cocoon.
  • Mediante el código fuente.

Personalmente prefiero utilizar esta última opción pues siempre tendrás la base de dato actualizada mientras que las anteriores versiones se liberan cada cierto tiempo. Pasos

  • Instalar un cliente de subversion (apt-get install subversion)
  • Seleccionar la rama del código fuente a instalar:
    • Versión estable (liberada) (https://exist.svn.sourceforge.net/svnroot/exist/release)
    • Versión actualizada  (https://exist.svn.sourceforge.net/svnroot/exist/branches/eXist-stable-1.2/)
    • VersiónTrunk (https://exist.svn.sourceforge.net/svnroot/exist/trunk/)
  • En mi caso he seleccionado la rama branches  que tiene los bugs corregidos con respecto a la versión estable

 svn co https://exist.svn.sourceforge.net/svnroot/exist/branches/eXist-stable-1.2/ eXist-stable-1.2

A partir de este instante en el directorio eXist-stable-1.2 se encuentra instalada la base de datos. Cosas a saber, una vez instalada:

  • Lanzar una instancia de la bases de datos: $Home_eXist/bin/startup.sh (debes configurar $JAVA_HOME)
  • Cliente Java:  $Home_eXist/bin/client.sh (debes configurar $JAVA_HOME)
  • Cliente web: http://localhost:8080/

Con esto acabo por hoy, otro día/s veremos cómo: compilar eXist,  cambiar los puertos por defecto, incrementar la memoria asociada, definir de índices, depuración en eXist, ficheros logs, ……. !

Queda mucho camino por andar!.

Luis

Comments (4)

Bienvenido al bitácora de XML, XQuery, eXist y versionado


Feb 13

Posted: under eXist, XML, XQuery.

Este es el primer post sobre mi investigación la cual se encamina al versionado de documentos XML. En los próximos meses iré escribiendo distintas bitácoras sobre: tecnología XML (XML, XQuery, XSLT, XPATH), bases de datos nativas XML (XNDB) (principalmente eXist) y finalmente sobre como hacer el versionado de documentos XML usando una XNDB.

Espero que os sea útil.

Comments (0)

Copia de Seguridad Remota en GNU/Linux. rsync.


Feb 13

Posted: under GNU/Linux.

rsync,  qué bonito comando!!!

Wikipedia define rsync como «rsync es una aplicación de software para sistemas de tipo Unix que ofrece transmisión eficiente de datos incrementales comprimidos y cifrados».

La propia definición lo dice todo: Hacer copia de seguridad en servidores remotos de forma cifrada y eficiente. Para ello sólo es necesario instalar el paquete rsync sino esta instalado y ejecutarlo correctamente. En mi caso:

rsync -ae ssh –exclude=.* –exclude=*: trabajo/ <usuario>@<ip>:/home/user/trabajo donde

  • -ae indica la encriptación usada
  • -exclude aquellas extensiones que queremos no sincronizar (directorios ocultos y ficheros con dos puntos)
  •  trabajo/ es la carpeta que quiere sincronizar
  • :/home/user/trabajo es la carpeta destino (importante: no olvidar los dos puntos después de la ip)

De este modo, antes de acabar mi jornada laboral siempre hago la copia ejecutando este script.

Existen otras aplicaciones como unison, que incluso tienen un interfaz gráfico,  pero habitualmente no se encuentra instaladas por defecto en el servidor y sino tienes privilegios no podrás llevarlo a cabo.

Luis

Comments (1)

Montar un directorio remoto seguro (ssh) en local en Linux


Feb 09

Posted: under GNU/Linux.
Tags:

Para aquellas personas que trabajamos diariamente con varias máquinas, el comando ssh es como el pan nuestro de cada día, no falta nunca. Hasta ahora principalmente lo había utilizado para acceder únicamente de forma remota al servidor, pero hoy he necesitado copiar varios ficheros y el comando scp se me ha hecho pesado. Sólo ha hecho falta navegar un poquito para encontrar la solución que a continuación expongo. Aunque este tema se encuentra ampliamente discutido en la red, quiero publicar este pequeño resumen:

Acceder a los ficheros almacenados en un servidor se puede hacer de varias formar: Samba, nfs, ftp, etc pero, por lo menos para mi, siempre quiero realizar esta tarea lo más seguro posible. Para ello usaremos el protocolo seguro ssh,  sistema de fichero SSHFS, que requiere de FUSE (Filesystem in User Space). Pasos:

  1. Instalar SSHFS. En la mayoría de las distribuciones se incluye ya en los repositorios (supondré ubuntu). sudo apt-get install sshfs
  2. Creamos la carpeta local: sudo mkdir /media/servidor
  3. Le damos los permisos oportunos: sudo chown <<usuario>> /media/servidor
  4. Montamos el directorio remoto: sshfs usuario@servidor.com:/dir_remoto /media/servidor

A partir de ahora ya podemos copiar, editar, mover, etc.  de modo que todo lo que se haga en el directorio local se esta realizando en el directorio remoto.

Para desmontar sólo se necesita ejecutar el siguiente comando:

sudo umount /media/servidor

Comments (0)