nov 20 2011

Instalar extensión solr para PHP en ArchLinux/Chakra

Hace algún tiempo trabajando para alguna empresa, necesité instalar la extensión php_solr en mi laptop con Chakra (basado en ArchLinux) y luego de investigar un poco acá está el método que utilicé.

Instalamos los paquetes autoconf y php-pear (si ya están instalados se ignoran)

sudo pacman -S autoconf php-pear

Luego bajamos el archivo de la extensión desde http://pecl.php.net/package/solr y lo descomprimimos:

tar -zxvf solr.1.0.1.tgz

Entramos al directorio y ejecutamos “phpize” en el directorio:

cd solr.1.0.1
phpize

Configuramos el paquete antes de instalarlo:

./configure

Lo instalamos:

make && make install

Activamos la extensión en el archivo php.ini o /etc/php/conf.d/solr.ini

extension=solr.so

Y reiniciamos el servidor (normalmente Apache, en mi caso es nginx).

Espero que haya sido útil.

 

Actualización:

Desde que solr dejó de ser beta, ahora es posible instalar la extensión usando el comando:

sudo pecl install -f solr

nov 17 2011

Cómo corregir direcciones erróneas en válidas

He encontrado un post bastante interesante acerca de la distancia de Levenshtein que aplicado a la programación web, sirve para cuando nos hacen un vínculo a nuestro sitio web y la dirección contiene “typos” o errores de digitación y el servidor reinterpreta y corrige la dirección evitando así un error 404. ¿Interesante verdad?

Wikipedia nos dice lo siguiente:

En Teoría de la información y Ciencias de la Computación se llama Distancia de Levenshtein, distancia de edición, o distancia entre palabras, al número mínimo de operaciones requeridas para transformar una cadena de caracteres en otra. Se entiende por operación, bien una inserción, eliminación o la sustitución de un carácter. Esta distancia recibe ese nombre en honor al científico ruso Vladimir Levenshtein, quien se ocupara de esta distancia en 1965. Es útil en programas que determinan cuán similares son dos cadenas de caracteres, como es el caso de los correctores de ortografía.
Por ejemplo, la distancia de Levenshtein entre “casa” y “calle” es de 3 porque se necesitan al menos tres ediciones elementales para cambiar uno en el otro.
casa → cala (sustitución de ‘s’ por ‘l’)
cala → calla (inserción de ‘l’ entre ‘l’ y ‘a’)
calla → calle (sustitución de ‘a’ por ‘e’)

 

Podríamos decir entonces que si tuviésemos una URL que fuese: http://miservidor.com/mipaigna se podría reescribir a http://miservidor.com/mipagina evitando así el error 404.

He aquí algunos vínculos con el código fuente para WordPress, Drupal y el código genérico.

WordPress Plugin: http://pro.virante.com/404/predictive404.txt
Drupal Module: http://www.socialseo.com/
Generic PHP Code : http://pastebin.com/P35zHGDW

Creo que próximamente estaré desarrollando una extensión para mi framework :)


sep 29 2011

Libro de cocina de Aplicaciones en Yii Framework lanzado

Quienes me hayan seguido o me conozcan habrán notado mi preferencia hacia Yii como framework de desarrollo, pues bien, un buen colega mío y desarrollador del framework,llamado Alexander Makarov  ha redactado este espectacular libro “Yii 1.1 Application Development Cookbook” o en español (o castellano como más gusten) se llamaría algo como: Libro de Cocina del Desarrollo de Aplicaciones en Yii 1.1.

El libro puede ser adquirido a través del sitio de Packt Publishing desde donde podremos adquirir el libro (con interesantes descuentos sea dicho de paso) que también puede ser adquirido en versión PDF.

Próximamente estaremos haciendo una evaluación del libro, pero para quienes deseen darle un vistazo a uno de los capítulos, acá está el capítulo 8.

Espero sus comentarios del libro y del framework.