Archivo de la categoría ‘programacion’

Frameworks PHP

Llego tarde a esto de los Frameworks en PHP. Siempre he renegado de Rails y similares por su capacidad de “meterse donde no le llaman” a la hora de optimizar u organizar el código, que para eso estoy yo :D. Es como cuando a los que hemos aprendido HTML “a pelo” con el Notepad, lo intentábamos después con Dreamweaver y añade (o añadía, no lo uso desde hace años) etiquetas extra. No nos gusta, queremos mantener el control. Los Frameworks de PHP emulan un poco ese comportamiento tipo Dreamweaver, quizá poniendo más código del que hace falta.

Pero bueno, hay que renovarse y explorar nuevos caminos.

Lo primero ha sido elegir uno. Parece que el “state of the art” en PHP está entre CakePHP, Zend y Symfony. Por lo que he leído por ahí este último es el más completo, a la vez que el más complicado. Prefiero empezar con algo así, antes que luego tener que cambiar. Ya que nos remangamos, hagámoslo con todas las consecuencias.

Me han convencido las ventajas promete:

- Adopta un modelo MVC. Separando el Modelo (lógica de la aplicación) ,la vista (capa de presentación) y controlador (la parte que controla la interacción)

- Object-relational Mapping (ORM). Mediante el cual se crean automáticamente objetos que dan acceso a funciones de base de datos (recuperación, inserción, etc…)

- Preparado para internacionalización y localización.

- Fácil creación de formularios y validación

- Cache integrada.

- Funciones de AJAX.

- Módulo de autenticación ya preparado.

- Código independiente a base de datos.

Además, mis antiguos compañeros de Yahoo! lo van a empezar a utilizar y han sido tan majetes de hacer una buena presentación y dejarla pública.

Teóricamente, te lo da todo hecho para que lo hagas todo bajo unas determinadas “Buenas Prácticas”. En definitiva, todo creado para poder hacer las cosas rápidas y mantenibles, que es lo que buscaba. Veremos si da los resultados esperados!

Friday, July 18th, 2008

WebMonkey: El Retorno

Me he enterado esta mañana y me ha alegrado el día. Webmonkey fue para muchos una referencia a la hora de empezar en esto de la programación Web. Pero bajó mucho (muchísimo) el nivel, hasta el punto de convertirse en una sucursal barata de Macromedia, con artículos (y escasos) de Flash y poco más.

Ha vuelto y parece que con la misma frescura con la que empezó.

Según entro me encuentro con un tutorial para dar los primeros pasos en Python. Algo muy oportuno, ya que Python va a dar que hablar en las próximas fechas gracias al empujón que le va a dar la plataforma  Google App Engine.  Es decir, están buscando las nuevas tendencias del sector.

Además se ha modernizado y es mucho más del estilo “web 2.0″, permitiendo a los usuarios incluir contenido, tutoriales, etc…

Espero que tenga el éxito que se merece y salga de la decadencia en la que ha estado algunos años. Yo ya estoy suscrito!

Monday, May 19th, 2008

Error 404 en Wordpress 2.5 para páginas estáticas

word pressDespués de actualizar a Worpress 2.5 he tenido un único problema (que haya visto hasta ahora). Las páginas propiamente dichas daban error 404. Esto afecta sólo si tienes un permalink customizado, parece ser que si usas el que viene por defecto no hay problema.

He probado varias cosas, pero la mejor solución la he encontrado en helpdeskgeek.com . Lo explica muy bien, pero he encontrado un pequeño fallo en el código, así que dejo por aquí mi solución.

Hay que editar el fichero wp-includes/rewrite.php y modificar un par de líneas:

if ( 0 === strpos($structure, ‘%postname%’) ||
0 === strpos($structure, ‘%category%’) ||
0 === strpos($structure, ‘%tag%’) ||
0 === strpos($structure, ‘%author%’) )
$this->use_verbose_page_rules = true;

Cambiar por:

if ( 0 === strpos($structure, ‘%postname%’) ||
0 === strpos($structure, ‘%category%’) ||
0 === strpos($structure, ‘%tag%’) ||
0 === strpos($structure, ‘%author%’) ||
$this->using_index_permalinks() )
$this->use_verbose_page_rules = true;

En negrita están las nuevas líneas. Después de cambiarlo habría que ir a Plugins/Permalinks y forzar una regerneración. Para eso se puede seleccionar “Default”, por ejemplo, y volver a seleccionar el permalink que queráis.

Parece que ha habido bastantes problemas (1,2,3,4,5) con esta actualización, ¡suerte con el upgrade!

Tuesday, April 15th, 2008

Cache con PHP

Cache php LiteLa optimización de un sistema es algo que llega tarde o temprano, y cuanto antes se empiece uno a plantear soluciones para no consumir recursos, mejor y más escalables serán los desarrollos.

Esto aplicado a un sitio web dinámico, como lo son casi todos hoy en día, tiene como primer paso reducir la carga de procesamiento al que sometemos al servidor cada vez que se realiza una petición. Si vamos a mostrar el mismo contenido a todos los usuarios durante las próximas horas, ¿por qué hacer trabajar al sistema para que haga una consulta a la base de datos, o ejecutar una script cada vez si el resultado va a ser el mismo?

Para evitar esto podemos hacer “cache” de contenidos, es decir, hacerlos estáticos, y solo regenerarlos cada cierto tiempo. Con esto el sistema no sólo tendrá menos carga de proceso y memoria, también será mucho más rápido.

Hay varias alternativas y de las que he evaluado me quedo con la librería Cache_Lite, por sencillez y versatilidad. He escrito un ejemplo completo que sirve par a ver cóm funciona y dejo por aquí.

(more…)

Sunday, February 10th, 2008

OpenId, ahora con Yahoo!

OpenId Yahoo DoorMe ha encantado la decsión de Yahoo! de apostar por OpenID, algo realmente interesante para extender este sistema de autentificación descentralizado, ya en uso por parte de otros servicios conocidos como AOL, Orange, Technorati o LiveJournal, por poner algunos ejemplos.

La principal característica de este sistema es que cualquier usuario puede utilizar un único login en cualquier servicio web que tenga este sistema para validar usuarios, de forma que no tendrá que hacerse múltiples cuentas, una en cada sitio, y tener que recordar múltiples contraseñas.

El funcionamiento es simple. Cuando nuestro usuario introduce su login y password en el sistema, éste se pone en contacto con un servidor de identidad OpenID, que validará las credenciales del usuario.

Pero hay más.

(more…)

Wednesday, January 23rd, 2008

Un vistazo a las APIs Web

Para entender completamente el movimiento que ha supuesto lo que se llama Web 2.0 hay que entender también el fenómeno de las APIs web. Básicamente, una API es una puerta a una aplicación, en este caso una aplicación Web, que nos deja interactuar de forma estandarizada, haciendo queries para recuperar contenido, subirlo o manipularlo. No es algo que se haya inventado para la web, pero su uso desde hace unos años en este entorno está ganando mucha fuerza.

Gracias a esto, hay un tipo de sites que ha prosperado que son los llamados mash-ups, que se basan en agregar diferentes APIs con contendidos propios (aunque puede que incluso no sea el caso). Un ejemplo de mash-up sería agregar Mapas de Google, con fotos de Flickr y datos de tráfico de alguna otra fuente.

(more…)

Tuesday, December 25th, 2007

En Trío Calavera (Object, Youtube, Wordpress)

Sirva este mini-post de alivio para aquellos que han tratado de poner vídeos de YouTube en Wordpress 2.x y han visto como el editor “inteligente” a lo clip de Office de Windows les rompía el código. Ayer me estuve dando de cabezazos por ello hasta la desesperación.

Parece ser que la estructura de la etiqueta <object> que YouTube propone no es del todo del agrado del editor de Wordpress y la transforma. La estructura correcta es la de aquí abajo:

<object type=”application/x-shockwave-flash” style=”width:425px;height:350px” data=”http://www.youtube.com/v/XXXXXXXXXXX“><param name=”movie” value=”http://www.youtube.com/v/XXXXXXXXXXX” /></object>

Encontrada en varios sitios “salvadores”, que se merecen un aplauso o por lo menos un link:

http://www.miniplug.tv/16-03-2006/youtube-wordpress-2-y-xhtml/

http://www.galder.net/2006/06/01/videos-de-youtube-en-wordpress-202/

http://aliciapac.blogspot.com/2006/05/videos-de-youtube-en-wordpress-2.html

… y ahora sí, el post.

Wednesday, July 11th, 2007

AJAX en 30 segundos

Ajax

Es muy común en tecnología encontrarse con profesionales que intentan dar una visión complicada de las cosas, ocultarse tras la muralla del conocimiento tecnológico para no facilitar la información y mantener por lo tanto una posición, ocultar su incompetencia, incrementar su ego o simplemente salvar un puesto de trabajo. Lo cierto es que a largo plazo esta táctica no funciona.

Muchas veces la forma de identificar a un auténtico experto o (palabra que odio) gurú de un tema es por la facilidad de hacer simple lo aparentemente difícil y, normalmente, esto se consigue gracias al dominio de la materia que se trata.

Esta reflexión me vino a la cabeza cuando vi un email de Rasmus Lerdof acerca de AJAX. El mail es de 2005, cuando AJAX no era tan conocido, y muchos intentaban hacer temblar a su interlocutor pronunciando sus siglas.

Lo he probado y, aunque he tardado algo más de 30 segundos, no ha sido mucho más. Aquí está el ejemplo:

http://www.quevidaesta.com/code/ajax_30_segundos/rasmustest.html

Y aquí el mail original de Rasmus:

(more…)

Monday, July 9th, 2007