Cargando...
Entradas del mes January, 2010
  1. Hace mucho tiempo (2 años) escribí una entrada sobre como realizar backup / restore de bases de datos MySQL y PostgreSQL muy escueta y básica (demasaido). Creo que sobre MySQL no hay mucho misterio y sí que, para todos los que nunca lo han usado o estén empezando, hay muchas dudas sobre como trabajar con PostgreSQL.

    Veamos como hacer backup y restore de bases de datos PostgreSQL con pg_dump y psql, para ello vamos a crear el usuario ‘mfernandez’ y base de datos ‘mybbdd’

    Ante todo, cuando empezamos a trabajar con un programa que no hemos usado antes, lo que debemos hacer es --help, -h, man o info (nunca como root).

    Backup de una base de datos

    mfernandez@paquito:~$ pg_dump --user=mfernandez mybbdd --file=backup20100110.sql

    Se solicitará password, tras ello se creará el archivo  backup20100110.sql con todo lo necesario para recrear lo que la base de datos tenía inicialmente.

    Backup de todas las bases de datos

    Primero veamos cuantas bases de datos tenemos con un psql -l (con el usuario postgres)

    mfernandez@paquito:~$ su postgres

    postgres@paquito:/home/mfernandez$ psql -l

    Obtenemos algo como esto:
    Listado de base de datos
    Nombre    |   Dueño    | Codificación |  Collation  |    Ctype    |      Privilegios
    ————-+————+————–+————-+————-+———————–
    alfresco203 | alfresco   | UTF8         | es_ES.UTF-8 | es_ES.UTF-8 |
    mybbdd      | mfernandez | UTF8         | es_ES.UTF-8 | es_ES.UTF-8 |
    postgres    | postgres   | UTF8         | es_ES.UTF-8 | es_ES.UTF-8 |
    template0   | postgres   | UTF8         | es_ES.UTF-8 | es_ES.UTF-8 | =c/postgres
    : postgres=CTc/postgres
    template1   | postgres   | UTF8         | es_ES.UTF-8 | es_ES.UTF-8 | =c/postgres
    : postgres=CTc/postgres
    (5 filas)


    postgres@paquito:/home/mfernandez$ pq_dumpall > fullbackup20100110.sql

    Backup de una tabla en concreto

    Primero veamos cuantas bases de

    mfernandez@paquito:~$ pg_dump –table tprueba -U mfernandez mybbdd -f backuptprueba20100110.sql

    Restaurar una base de datos

    mfernandez@paquito:~$ psql -U mfernandez -f backup20100110.sql

    Hacer una copia e insertarla en otra máquina

    mfernandez@paquito:~$ pg_dump mybbdd | psql -h acerito mybbdd

    Restaurar todas las bases de datos (con el usuario postgres)

    mfernandez@paquito:~$ su postgres

    postgres@paquito:/home/mfernandez$ psql -f fullbackup20100110.sql

    Restaurar una tabla en una base de datos

    postgres@paquito:/home/mfernandez$ psql -f backuptprueba20100110.sql mybbdd

  2. Hace tiempo que quiero hablar un poco sobre lo que dentro de poco será una realidad.
    He leído un poco sobre el tema, y cada vez va tomando más fuerza la idea de una web semántica, en la que todo se nos ofrecerá de forma personalizada, en dependencia directa de nuestros gustos; esta oferta tan bien definida acerca de lo que buscamos, se debe a la información que nosotros ofrecemos.

    En este sentido la WEB necesita de un mayor número de metadatos asociados a la información que se ofrece, pongo un ejemplo muy bueno que he leido (más o menos):

    Si buscamos en un navegador “realizar certificación RHCE”, aparecen infinidad de anuncios de ofertas y demás, pero no hay información referente a las fechas, donde registrarse, precios, viaje a la ciudad en las fechas de los cursos, etcétera, tendremos que indagar y buscar un buen rato para poder localizarlo; si tras ello añadimos el tiempo en buscar actividades a realizar, un mapa de donde es el lugar y donde está el hotel… nos encontramos con un buen rato delante de la pantalla. Esto mismo es lo que la WEB Semántica nos ofrecerá, hará que todo sea más fácil y accesible.

    De dónde sale el concepto de WEB Semántica ?

    Tim Berners-Lee, creador de la WWW es el impulsor junto con más personas relacionadas.

    Con estos comentarios parece que la WEB tal como la conocemos vaya a cambiar de forma radical, pero esta WEB semántica será una ampliación / extensión de la que conocemos actualmente, que manejará una mayor cantidad de información, aunque aún falta algo de tiempo para que se haga visible este cambio.

    Facebook, esa desconocida* red social, es sin duda, la que más crece entre todas a un ritmo tan increible de 450.000 usuarios y casi 25 millones de fotos y datos cada día; con cifras como estas, el volúmen de información manejado es brutal, pero no solo maneja usuarios y fotos, sino que también gestiona la información que le damos con nuestros perfiles, galerías de fotos, número de amistades, puntuación en juegos de habilidad - memoria - psicotécnicos… estamos arrojando, a una red que nos bombardea de forma constante con publicidad, datos personales sin pensar en qué o quienes gestionan esa información realmente y para qué. Es Facebook una red social semántica ?

  3. Hacía ya mucho tiempo que quería colocar esta imagen.

  4. Wallpaperscript una aplicación open source que originalmente fue creada con el objetivo de ser un lugar de descarga para wallpapers, pero que también es un recurso muy bueno con el que crear una galería, como por ejemplo galerías de fotos CSS,etcétera…

    Lo mejor; se ha desarrollado en PHP, y su código es muy claro y legible. Su trabajo con una base de datos MySQL hace aún más interesante su testeo en el “garage” y quien sabe si una implementación en algún proyecto que esté apunto salir. No puedo dejar atrás su trabajo con Smarty , un motor de plantillas “templates” que nos facilita mucho el trabajo con la apariencia de la aplicación cuando queremos darle color y forma.

    Es una aplicación modular, lo que significa que podemos agregarle más funcionalidades de forma rápida y sencilla.

    Alguna carcaterísticas:

    • Categorías ilimitadas, subcategorías
    • Los visitantes pueden agregar imágenes (y optionalmente registrarse)
    • Las imágenes pueden ser comentadas y votadas
    • Búsqueda avanzada
    • Creación de miniatuars automática en varios tamaños
  5. Codeedit es un editor de textos con el que poder escribir el tipo de código que le indiquemos; tenemos 4 posibles (HTML, PHP, JavaScript y CSS) los básicos y fundamentales para el desarrollo WEB aunque poco a poco se irán incorporando más.

    Veamos como se puede implementar en nuestro sitio, y un ejemplo de funcionamiento.

    Necesitamos agregar la librería:


    < script src=”codeedit.js” type=”text/javascript”>

    Tras este paso, tan solo necesitamos establecer los Textareas que deseamos sean usados para escribir código.

    < textarea name=”myEditor1″ class=”codeedit php” wrap=”off” />

    Dependiendo de lo que deseemos mostrar, pueden agregarse distintos parámetros al atributo class:

    • Focus: el foco se centra en este textarea
    • lineNumbers: pinta los números de las líneas
    • Lenguaje: php, javascript, html o css
  6. Leyendo HighScalability tenemos una entrada muy interesante sobre terrastore. Os pego el post que Sergio Bossa ha escrito:

    Terrastore is a new-born document store which provides advanced scalability and elasticity features without sacrificing consistency.

    Here are a few highlights:

    • Ubiquitous: based on the universally supported HTTP protocol.
    • Distributed: nodes can run and live everywhere on your network.
    • Elastic: you can add and remove nodes dynamically to/from your running cluster with no downtime and no changes at all to your configuration.
    • Scalable at the data layer: documents are partitioned and distributed among your nodes, with automatic and transparent re-balancing when nodes join and leave.
    • Scalable at the computational layer: query and update operations are distributed to the nodes which actually holds the queried/updated data, minimizing network traffic and spreading computational load.
    • Consistent: providing per-document consistency, you’re guaranteed to always get the latest value of a single document, with read committed isolation for concurrent modifications.
    • Schemaless: providing a collection-based interface holding JSON documents with no pre-defined schema, you can just create your collections and put everything you want into.
    • Easy operations: install a fully working cluster in just a few commands and no XML to edit.
    • Features rich: support for push-down predicates, range queries and server-side update functions.

    Aunque hay otras bases de datos de este tipo más afianzadas por su “experiencia” como mongodb o Apache Couchdb no podemos dejar de lado la opción de usar las novedades.

  7. En el mundillo del desarrollo web, hay muchos programadores que crean sus propios “frameworks” día a día, trabajando en proyectos personales, o simplemente queriendo cubrir las deficiencias que otros tienen. Gracias a estos frameworks, otras personas pueden avanzar en los suyos propios sin partir de cero.

    Para quien no haya usado uno y quiera hacerlo, puede decantarse por una gran variedad, Symfony, Cake, etcétera; pero también puede usar BackPress

    BackPress es una librería Open Source, escrita en PHP (por supuesto, no hay que usar esa basura de JAVA) que nos ofrece varias funcionalidades de base, para ayudarnos en el laborioso proceso de creación de nuestra aplicación web.

    Funcionalidades que ofrece:
    * Logging
    * User Roles and Capabilities (Permission systems)
    * Database connections (across multiple servers and multiple datacenters)
    * HTTP Transactions
    * XML-RPC Server and Client
    * Object caching
    * Formatting
    * XSS and SQL injection protection, including a variety of powerful escaping functions
    * Taxonomies and
    * Options management

Creado con la plantilla ExtJS traducida por Ayuda Wordpress.