¿Cómo realizar búsquedas full-text en una tabla con miles o millones de registros, sin que el mysql falle y el site siga siendo relevante y no se caiga? La solución se llama Sphinx. Es un motor de búsqueda (search engine) que proporciona velocidad, gran eficiencia y proporciona a aplicaciones y webs la función de búsquedas full-text relevantes. Básicamente lo que hace es indexar todo el contenido de una tabla, o varias tablas, en el disco duro, cuando se realiza una búsqueda el servidor requiere espacio en disco duro y memora RAM para realizar la búsqueda. Al tenerla indexada es capaz de procesar una búsqueda full-text en 6GB de texto en 0.1 segundos, mientras que esto en SQL sería imposible o tardaría muchísimo. Tremendo descubrimiento…. recomiendo usarlo Bueno esto es algo de la teoría, la práctica es otra cosa, yo he estado 2 días para entender, implementar y dejarlo funcionando. Para poder instalarlo necesitareis tener permisos como root en vuestro servidor. Las librerías necesarias son mysql-devel y los compiladores gcc y g++. En el caso que no vengan instaladas ejecutar los siguientes comandos para descargar los paquetes e instalarlos. $ yum -y install mysql-devel $ yum -y install gcc $ yum [...]
En este post voy a comentar lo que he hecho para crear archivos PDF con CakePHP. Los ingredientes para esta “receta” son: 1.- La librería TCPDF que se encarga de generar los archivos PDF. 2.- Un layout 3.- Una vista Para implementar esta funcionalidad en vuestro desarrollo en CakePHP es muy sencillo y da muy buenos resultados. Tendréis que descargar la última versión de la librería TCPDF que como he dicho es la encargada de generar los documentos PDF. Tendréis que crear la carpeta app/vendors/tcpdf y extraer los ficheros en esta ruta. Al menos necesitareis copiar el archivo tcpdf.php y las carpetas tcpdf/config y tcpdf/fonts. Por defecto la librería TCPDF crea unas cabeceras y pie definidas en los métodos header() y footer(), lo que hacemos es sobrescribir estos métodos creando una clase en app/vendors/tcpdf que extienda las propiedades y métodos de la librería TCPDF. Para ello creamos el archivo app/vendors/tcpdf/xtcpdf.php <?php App::import(‘Vendor’,'tcpdf/tcpdf’); class XTCPDF extends TCPDF { var $xheadertext = ‘PDF creado using CakePHP y TCPDF’; var $xheadercolor = array(0,0,200); var $xfootertext = ‘Copyright © %d XXXXXXXXXXX. All rights reserved.’; var $xfooterfont = PDF_FONT_NAME_MAIN ; var $xfooterfontsize = 8 ; function Header() { list($r, $b, $g) = $this->xheadercolor; $this->setY(10); $this->SetFillColor($r, [...]
¿Cómo meter widgets en el pie o footer de tu wordpress cuando no existe esa zona en la sección widgets de tu panel de control de WordPress? Éstos días he conseguido hacer una mejora de funcionalidad en el tema de mi blog. La situación es la siguiente: El tema de mi blog es un template premium que he comprado a una empresa de diseño. Si queréis saber mas sobre el template y la empresa que hace los hace (la cual recomiendo) ver este post: nuevo look & feel, bueno pues el template no tenia una zona para meter widgets en el footer. Normalmente las zonas que vienen por defecto en los templates son: “Left column” y “Right column” o solo una de ellas, que son las zonas dentro del template donde irán los widgets es decir en la columna izquierda o en la columna derecha. (mis zonas son un poco distintas porque sólo tengo una columna pero muestro unos widgests u otros dependiendo si estoy en la home de la web o en el resto del blog). Pero que pasa si queréis meter widgets en el footer?! Os cuento como lo he hecho. 1.- Lo primero es registrar la zona [...]
Desde hace mucho tiempo, aproximadamente 4 meses, llevo buscando un nuevo servidor dedicado para el nuevo desarrollo de la web de la empresa donde trabajo. Es un proyecto que actualmente tiene mas de 20.000 usuarios al día y una gran necesitad de espacio en disco, entre otras características. En este post, no voy a comentar cuanto valen o que especificaciones dan cada uno de los servidores dedicados de las empresas, ni voy a intentar vender nada, sino que voy a dar algo mucho mas valioso y es comentar mis experiencias y frustraciones a modo de comparativa real para que pueda servir de guía a otros jefes de proyecto o programadores que se quieran aventurar a contratar un servidor dedicado en España. Yo he probado y experimentado los servicios de 6 empresas de hosting, 4 españolas y 2 americanas. No necesito dar nombres. Simplemente voy a dar unas pautas que hay que tener en cuenta a la hora de llevar a cabo esta ardua tarea. También he navegado y comparado el feedback de muchas mas empresas españolas. Las empresas españolas comparten los mismos defectos: precios abusivos y una cierta incompetencia(*). Las empresas americanas son mas baratas, ya que el mercado es [...]
Hay que tener cuidado cuando ya tienes tu página indexada y al crear una nueva aplicacion, dejas que el robot de Google indexe muchas urls de golpe esto es considerado como SPAM para los spiders. Esto es la idea básica, claro, pero siempre hay parámetros que considerar. Lo que yo se y he experimentado es que si tienes una web que ya tiene indexada 10.000 urls y al lanzar un especial, o una nueva aplicación en la web, o si insertas nuevos posts (si es un blog) de tal manera que creas 3.000 nuevas urls, es obvio spam. Esto se ve muy claro, pero por lo general no se tiene en cuenta cuando se pone en producción un nuevo desarrollo, aplicación, o lo que sea. La lógica de los robots y los spiders, es que ningún humano puede crear tantas nuevas páginas. Éstos datos son un ejemplo, realmente no se el porcentaje que consideran los robots, pero se que es un punto importante a tener en cuenta cuando ponéis en producción aplicaciones en vuestro site. La solución más fácil que se puede llevar a cabo y no afectar a las fechas de lanzamiento de las aplicaciones y que los usuarios [...]