|

Composite Pattern en PHP 5

Aunque a la gente que trabajamos con Java este concepto nos es muy conocido, ha sido en PHP5 cuando han sacado los composite patterns para usar esta funcionalidad, la cual nos puede dar mucho juego.
Una composite pattern ofrece una sencilla interfaz que permite a los programadores de clientes trabajar con un componente o un conjunto de componentes de forma intercambiable. De hecho, según el código no se debe saber si se trata de un componente o de un conjunto de ellos.
Para ello se define una clase como abstracta y los métodos que la componen también. Luego habrá que crear otras clases que se extiendan de esta primera para poder tratar los diferentes tipos.
Un buen inicio para aprender a usar está técnica, que es sencilla aunque no lo parezca.
Introducing the Composite Pattern in PHP 5 – Introducing the basics of the composite pattern
Vía / PHPDeveloper.org

Wikia planea un buscador editable

wikia.pngWikia, la empresa cofundada por el creador de la Wikipedia, Jimmy Wales, está planeando desarrollar un buscador que pretende ser gratuito, abierto y transparente. Los usuarios podrán editar y refinar los resultados obtenidos.
Entre sus objetivos se encuentra el tener el 5% de la cuota de usuarios de los buscadores. A diferencia de Google y Yahoo, ellos pretenden no ocultar el código del motor de búsqueda, pudiendo conseguir el éxito de la Wikipedia. Los usuarios se encargarán de ayudar en la creación del índice de sitios web donde buscar, siendo esta lista editable por cualquier otro usuario. Y también podrán modificar los resultados si no han obtenido nada útil.
Wikia plans editable Web search engine
Vía / Techmeme

links for 2007-03-12

CodeCodex: reutilizar código

codecodex.pngCodeCodex es una wiki que guarda distintos trozos de código en varios lenguajes de programación para que podamos acceder a ellos y reutilizarlos.

La filosofía es no reinventar la rueda y reutilizar código ya creado. Con CodeCodex podremos buscar y usar código ya creado, aprender nuevos algoritmos y ayudar a la comunidad de desarrolladores con tu propio código.

Es curioso ver el Hola Mundo en los diferentes tipos de programación, por ejemplo ensamblador.

    .model tiny
.data
message    db    'Hello, World!'
.code
org 100h
start:
mov ah,9
mov dx,offset message
int 21h
ret
end start

CodeCodex

Vía / Dzone

Paginación mediante Javascript

Sencillo pero efectivo método para paginar contenidos mediante Javascript. Puede ser muy útil cuando el diseño no permite grandes espacios para contenidos.
El funcionamiento es muy sencillo, se ocultan los contenidos y mediante los botones de paginación se van mostrando. La verdad es que no sería necesaria esta librería, porque como ya he dicho el método es muy sencillo y nosotros mismos lo podríamos implementar, incluso mejorar, porque usa la librería cssQuery unicamente para obtener los elementos, mientras que podríamos hacerlo nosotros mismos con un getElementsByTagName, si es que nuestras necesidades no son obtener elementos mediante sus estilos, rel u otras cosas.
Javascript pagination in yer face

links for 2007-03-09

| | |

Personaliza los radio y los checkbox

Muchas veces los diseños no suelen ir de acuerdo con el aspecto de los radio y los checkbox que nos ofrecen los navegadores.
Crear controles que sustituyan los ya existentes puede darnos problemas de accesibilidad, salvo en este caso (bueno, y supongo que en otros), ya que lo que hace este script es aprovechar la funcionalidad de las etiquetas label para que el funcionamiento recaiga sobre estas etiquetas y no sobre las checkbox o los radio.
radiocheckbox.png
El script buscará los inputs radio y checkbox y los ocultará y cambiará el estilo de las label asociadas para que el funcionamiento sea el mismo.
ARC – Adam’s Radio/Checkbox customisation
Vía / Infected-FX

Reescribe condiciones de Apache dependientes de la hora

Cuando queremos redirigir mediante Apache se puede realizar teniendo en cuenta la hora y los minutos actuales. Tieniendo en cuenta que las horas son en formato 24 y que empieza por 01 para la 1 am y 24 para las 12 pm, podemos redirigir nuestra página según sea la hora y el minuto.

RewriteCond %{TIME_HOUR} ^(.*)
RewriteCond %{TIME_MIN} ^(.*)
RewriteRule (.*) http://${HTTP_HOST}%{REQUEST_URI}?H=%1&M=%2 [R,L]

Si se da el caso de que el servidor está ciertas horas de retraso respecto a tí, por ejemplo 3, se podría hacer de la siguiente manera:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /demo/apache/
# 5am > < 8am
RewriteCond %{TIME_HOUR} >02
RewriteCond %{TIME_HOUR} <05
RewriteRule ^index.html$ /demo/apache/manyana/index.html
# 8am > < 4pm
RewriteCond %{TIME_HOUR} >05
RewriteCond %{TIME_HOUR} <13
RewriteRule ^index.html$ /demo/apache/mediodia/index.html
# 4pm > < 10pm
RewriteCond %{TIME_HOUR} >13
RewriteCond %{TIME_HOUR} <19
RewriteRule ^index.html$ /demo/apache/tarde/index.html
# 10pm > < 5am
RewriteCond %{TIME_HOUR} >19
RewriteCond %{TIME_HOUR} <02
RewriteRule ^index.html$ /demo/apache/noche/index.html

Using TIME_HOUR and TIME_MIN RewriteCond in htaccess