Archivo de la categoría Programación

Tutoriales de Simple PHP Blog



Recibo bastantes consultas sobre el funcionamiento de SPHPBlog, así que he decidido hacer una saga de tutoriales de forma que pueda resolver todas vuestras dudas de golpe.

Lo publicaré en tres partes, que serán estas:

1) Introducción: Como funciona SPHPBlog una vez instalado, repasando las diferentes operaciones que pueden hacerse.
2) Instalación: Como se instala SPHPBlog, resolviendo los diferentes problemas que pueden surgir durante el proceso.
3) Modificación: Como crear temas, como crear traducciones a otros idiomas, y como realizar modificaciones al código.

En uno o dos días tendré lista la primera entrega, así que seguid atentos.…

Continuar leyendo...

Error en SPHPBlog 0.3.7b y anteriores



He detectado un problema de seguridad en el Simple PHP Blog. El error afecta a todas las versiones que se han publicado hasta la fecha. A partir de la versión 0.3.7b el parche que ha desarrollado Alex, y corrige el problema, vendrá incluido en la distribución oficial.

El error permite a cualquier visitante de la bitácora, publicar un artículo tan solo visitando una URL. Es por ello que recomiendo que os actualiceis.

Podeis conseguir el parche aquí.



Continuar leyendo...

Logs del servidor web



Acabo de revisar las trazas (logs) de uno de los servidores de desarrollo del trabajo porque ultimamente el Sambar y el PHP iban un poco lentos.

Se habían registrado durante el pasado mes, un total de 400.916 peticiones, lo que representa 80 Mb de información en el archivo de log.

Cada vez que se tenía que responder a una nueva solicitud, se añadía al final de la traza, y ese proceso era el que ralentizaba la ejecución del servidor.



Continuar leyendo...

SQLite



SQLite es una base de datos de código abierto, multiplataforma, compacta y eficiente.

La diferencia que tiene SQLite con otras bases de datos, es que SQLite no está enfocada a la arquitectura cliente servidor. Es decir no hay un servidor de base de datos como tal, que se encargue de recibir peticiones, procesarlas y devolvérselas a los clientes. El propio código de SQLite se encuentra almacenado en el cliente.

La definición de cliente en este caso, es un tanto amplia. Un cliente puede ser una aplicación de catálogo de películas escrita en lenguaje C, el intérprete de PHP, una extensión TCL, …

Hace algunos meses hubo un cambio en la licencia de MySQL, de forma que era incompatible con la distribución oficial de PHP, de manera que los desarrolladores de PHP decidieron incluir en la versión 5 soporte para SQLite, y opcionalmente para MySQL (en la versión 4 es al revés).…

Continuar leyendo...

Evolución de los editores para programadores



Al igual que yo, muchos programadores empezaron en este apasionante mundo en los tiempos de DOS. Las tareas de programación son cada vez más complejas, los proyectos son más grandes, y el equipo de desarrollo es más hetereogeneo.

Las necesidades de un programador a la hora de "escribir", no son las mismas que las de un periodista o un redactor, por tanto no nos sirven en nuestro día a día productos como Word, Wordperfect o Wordstar.

Al principio, los programadores empezamos a utilizar en nuestras tareas de programación editores de lineas, como Edlin. Permitían manipular un archivo como si fuera un conjunto de lineas independientes.…

Continuar leyendo...

Simulación de carga en SPHPBlog



Los servidores de Webcindario iban muy rápido hoy, cosa rara por otro lado.

He utilizado esta circunstancia para lanzar una simulación de carga del Simple PHP Blog 0.3.7c en mi bitácora.

Utilizando dieseltest se han simulado 100 usuarios concurrentes durante 4 minutos, que han realizado unas 3500 peticiones de páginas.

El sistema (tanto webcindario como SPHPBlog) se ha comportado de forma estable, y ha respondido a buen ritmo las peticiones de los usuarios virtuales. No se hasta que punto mis optimizaciones en el motor del Simple PHP Blog han sido las que han influido en este resultado, pero en es un veredicto excelente.…

Continuar leyendo...

Shared Objects de Flash



Los Shared Objects de Macromedia Flash, son el análogo de las cookies en los navegadores web, pero en exclusiva para el reproductor de Flash.

Esta tecnología permite a los archivos de Flash almacenar información persistente en el ordenador del usuario, y luego volverla a obtener.

Por defecto el reproductor de Flash 7, está configurado a un máximo de 100 Kb de espacio para cada Flash.

Esta información se almacena dentro de la configuración local del usuario. En equipos con Windows XP o Windows 2003, esta localización es típicamente: C:\Documents and Settings\USUARIO\Datos de programa\Macromedia\Flash Player\#SharedObjects.…

Continuar leyendo...

Curiosidad en C



Tenía la curiosidad de que pasaría en un programa C con el siguiente código:

int main (void)
{
return(main());
}

Por un lado la función main, y por lo tanto el programa, acaban cuando se sale de esa función, bien porque ha acabado, bien porque se hace un return (como en este caso), o bien porque se ha abortado la ejecución, por ejemplo con exit.

Por otro lado, el programa empieza cuando se ejecuta main.

En este código, main acaba volviendo a llamarse a si mismo… Así que no sabía a ciencia cierta que pasaría. Seguramente todo acabaría con un desbordamiento de pila.

¿Cuál sería el resultado de un programa que acaba iniciándose de nuevo?…

Continuar leyendo...

Averiguar la versión del plugin de Flash



Parece una tontería, pero no me ha sido fácil encontrar alguna utilidad que dijera la versión del plugin de Flash que hay instalada en una máquina concreta.

Después de buscar un rato por las technotes de Macromedia, finalmente lo he encontrado aquí.

He decidido publicar la película en mi bitácora de forma que la gente pueda averiguar de una forma sencilla y rápida la versión que tienen. Ya se que es sencillo de implementar desde cero, pero ¿para que reinventar la rueda?



Continuar leyendo...

Actualización a Simple PHP Blog 0.3.7c



He actualizado el software de mi bitácora a Simple PHP Blog versión 0.3.7c, y está funcionando sin problemas.

Esta nueva versión corrige errores en la sindicación RSS, y en la visualización de comentarios.

Además incluye los últimos parches que envié a Alex, con optimizaciones en el acceso a ficheros, y correcciones en el sistema de envío de pings.

Estoy orgulloso de las ganancias de tiempo con las mejoras que he realizado en el código de acceso a archivos, van de un 10% hasta un 40%.

La versión 0.3.8 parece muy prometedora. Lamentablemente el desarrollador principal está saturado de trabajo y no ha podido dedicarle demasiado tiempo al SPHPBlog.…

Continuar leyendo...