6 formas de hacer un diseño destacable

Marzo 28, 2008

Ver Nota

Salu2


Patrón estrategia

Marzo 28, 2008

a serie de patrones de diseño en PHP5, veamos ahora uno de los patrones que más me llaman la atención: el strategy pattern (patrón estrategia).Este patrón se usa generalmente cuando se desea cambiar entre diferentes versiones de un algoritmo. Es decir, si tenemos un código que genera un archivo comprimido, bajo ciertas circunstancias, podemos querer un archivo .ZIP y bajo circunstancias diferentes, queremos crear un archivo .TAR.GZ.

Para implementar este patrón debemos declarar una interface (o bien una clase abstracta) base con un método para el algoritmo, el cual es implementado heredando desde las clases concretas.

En el código de nuestro sistema, debemos decidir cual estrategia concreta es la relevante, la cual debe ser instanciada para ser usada.

El ejemplo que usaré para mostrar este patrón, es la selección del idioma del contenido al abrir una página Web. Por simplicidad, asumiré que si la palabra “es” existe en $_SERVER["HTTP_ACCEPT_LANGUAGE"], estamos frente a un usuario que habla español, de otra forma, estamos frente a un usuario que prefiere el inglés.

PHP:
  1. < ?php
  2. interface langStrategy {
  3.         public function helloWorld();
  4. }
  5. class enLang implements langStrategy {
  6.     public function helloWorld() {
  7.         return “Hello World”;
  8.     }
  9. }
  10. class esLang implements langStrategy {
  11.     public function helloWorld() {
  12.         return “Hola Mundo”;
  13.     }
  14. }
  15. $ln = explode(‘;’,$_SERVER[HTTP_ACCEPT_LANGUAGE]);
  16. if (preg_match(‘/es/’,$ln[0])) {
  17.         $langObj = new esLang();
  18. } else {
  19.     $langObj = new esLang();
  20. }
  21. echo $langObj->helloWorld();
  22. ?>

El patrón estrategia es usado a menudo al mismo tiempo que el patrón factory, el cual se encargaría de elegir la estrategia correcta. La siguiente entrega vendrá con este patrón.


Firefox 2.0.0.13 disponible

Marzo 26, 2008

Otro nuevo lanzamiento de la linea 2.0 de Firefox, en la cual no hay grandes cambios solo es catalogada como una actualización de seguridad y estabilidad, por lo que habrá que esperar a la versión 3 en beta todavía.Descarga de los FTP de Mozilla
Pagina del proyecto Firefox


TJPzoom: zoom mediante Javascript

Marzo 26, 2008

Un buen Javascript que permite añadir zoom a nuestras imágenes. El script añade una ventana con marco sombreado a la imagen en la que se ve el zoom, pudiendo moverla por toda la imagen.

jszoom.png

Si hacemos drag hacia arriba el zoom aumenta, hacia abajo disminuye, hacia la derecha la ventana aumenta y hacia la izquierda disminuye. Además permite utilizar otra imágen con mayor resolución para evitar el pixelado.

TJPzoom

Vía / WebAppers


Tux y su historia

Marzo 19, 2008

La idea de que la mascota de Linux fuera un pingüino provino de Linus Torvalds, creador de Linux. Según se cuenta, cuando era niño le picó un pingüino, y le resultó simpática la idea de asociar un pingüino a su proyecto.

Existen dos versiones sobre el origen de su nombre. La primera sugiere que el nombre surge del hecho de que los pingüinos parecen vestir un esmoquin (que en inglés es tuxedo, abreviado tux). La segunda es que las letras que componen Tux provienen de las palabras Torvalds Unix.

Tux fue diseñado durante un concurso para elegir un logotipo para Linux. Las herramientas utilizadas para su creación fueron, por supuesto, un computador con el sistema operativo con kernel Linux y el software libre de manipulación de imágenes GIMP. Algunas de las imágenes enviadas se encuentran aún disponibles en el sitio del concurso.

El logotipo se puede usar y modificar sin restricciones, siempre que se reconozca la autoría de Larry Ewing, ya que es su trabajo y se debe reconocer su autoría tal y como se indica en su página: http://www.isc.tamu.edu/~lewing/linux.

Tux se ha vuelto un ícono para las comunidades de Linux y de software libre; es mucho más famoso que su gran amigo, GNU, un ñu pacífico y algo tímido que representa el proyecto GNU.

Mayor información:
http://www.linuxcds.com.ar/drupal/content/tux-las-historias-del-origen