5 dic. 2007

Zend Framework Overview

Zend Framework Chris Shifflet nos ofrece un diagrama con una visión general de los componentes del Zend Framework. La visión general es bastante completa.Se puede destacar la existencia de unos componentes de navegación MVC (los Ez Components no los tiene) que además tienen un controller que al parecer funciona por plug-ins (para seguridad, estadísticas, etc.).

Como ya explicaban en la página oficial del framework, tratarán mediante estos componentes, de hacer frente a Ruby on Rails y Spring de Java. Podemos ver que, para ello, tienen un componente Active Record y todos los componentes son bastante independientes entre si.

Los rumores dicen que a lo largo de febrero podremos disfrutar de la primera versión de estos componentes.

Zend Framework

Zend Framework se trata de un framework para desarrollo de aplicaciones Web y servicios Web con PHP, te brinda soluciones para construir sitios web modernos, robustos y seguros. Además es Open Source y trabaja con PHP 5. a diferencia de CakePHP que trabaja con PHp 4 y PHP 5.

Logo zend framework

A Zend Framework le veo una ventaja y es que es desarrollado por Zend que es la empresa que respalda comercialmente a PHP, pero repasemos sus principales características:

  • Trabaja con MVC (Model View Controller)
  • Cuenta con módulos para manejar archivos PDF, canales RSS, Web Services (Amazon, Flickr, Yahoo), etc
  • El Marco de Zend también incluye objetos de las diferentes bases de datos, por lo que es extremadamente simple para consultar su base de datos, sin tener que escribir ninguna consulta SQL.
  • Una solución para el acceso a base de datos que balancea el ORM con eficiencia y simplicidad. Podemos ver esta función en el futuro.
  • Completa documentación y tests de alta calidad.
  • Soporte avanzado para i18n (internacionalización).
  • Un buscador compatible con Lucene.
  • Robustas clases para autenticación y filtrado de entrada.
  • Clientes para servicios web, incluidos Google Data APIs y StrikeIron.
  • Muchas otras clases útiles para hacerlo tan productivo como sea posible.

¿Cuál framework elegir?

Eso es decisión tuya, existen muchas comparaciones entre los diferentes Frameworks PHP, pero te recomiendo que les des un vistazo a la documentación y elige el que mejor se adapte para tu proyecto.

Página oficial de Zend Framework, primeros pasos con Zend Framework.

23 nov. 2007

Ahora los blogs hablan gracias a vozMe

vozMe, un novedoso servicio creado por David Cano usando la aplicación Festival Speech Synthesis System, la cual te permite escuchar los artículos (y/o contenidos) de la web al instante.

Se encuentra disponible recursos para aquellos webmasters que deseen incluir las potencialidades de vozMe en sus respectivos blogs.

Festival es un sistema de síntesis de voz de propósito general para múltiples lenguajes desarrollado originalmente por el Centro de Investigación de Tecnologías del Lenguaje de la Universidad de Edinburgo,la Universidad Carnegie Mellon así como otros centros de enseñanza han realizado contribuciones substanciales al proyecto. El cual se distribuye como software libre con licencia similar a la licencia BSD.

15 nov. 2007

Como Obtber la Ultima versión del Zend framework

Downloading the Zend framework from the framework's download page
gives you the preview 0.1.3 version, which is two months old now. This release does not include new
framework classes and bugfixes so if you want to stay in touch with it and use the latest and hot
features you need to get the code directly from framework's source code repository.
When you are familiar with Subversion, the instruction on the
Subversion Repository page will be enough for you.
But when you do not know what "svn" means and how to use it, there are a step-by-step instruction on
how to retrieve the latest framework version:

  1. Download the Subversion binaries for the windows system from the Subversion document & files: Windows. At this moment the right file with Subversion's windows binaries is svn-win32-1.3.2.zip.
  2. Unpack it to some folder with tools and small applications. If you do not have such folder it is a good time to create one and do not mix the unpacked programs with all this stuff in "Program Files". Personally I prefer the "C:\Tools" folder but you can choose any name you like.
  3. Create a folder where you want framework's latest version and open a command prompt window in this folder by executing "cmd" and navigating to this folder with "cd" command.
  4. In the command prompt execute the "C:\Tools\svn-win32-1.3.2\bin\svn.exe checkout http://framework.zend.com/svn/framework/trunk" command (without quotes, of course). When you are not behind a proxy the download will be started. When you are behind a proxy server the Subversion FAQ: Proxy can help you. The svn will create the "trunk" folder with a complete latest source code of the Zend framework.
Tomado de http://www.alexatnet.com/node/37

20 oct. 2007

ClearType

En Windows existe una tecnología llamada ClearType, que modifica la apariencia visual de las fuentes TrueType (es decir los tipos de letra de windows) mostrandolos mucho más legibles y nítidos. Esto mejora muchísimo la facilidad de lectura y toda la apariencia del ordenador en general. En pantallas LCD (portatiles sobretodo) esta tecnología es casi indispensable.

Para instalarla en Debian etch los pasos a seguir son:

Editamos el fichero source.list y añadimos repositorios.

~$ sudo gedit /etc/apt/sources.list
Agregas las siguientes líneas al fichero.
deb http://www.elisanet.fi/mlind/ubuntu edgy fonts
deb-src http://www.elisanet.fi/mlind/ubuntu edgy fonts
Aplicamos las llaves para poder tener acceso a los archivos de los repositorios añadidos.
~$ gpg --recv-keys 937215FF
~$ gpg --export --armor 937215FF | sudo apt-key add -
Y configuramos las fuentes aplicando el comando reconfigure de la siguiente manera.
#dpkg-reconfigure fontconfig-config
Con esta orden nos salen tres pantallas. En la primera acepta la opción por defecto, en la segunda la opción “Subpixel Rendering” escoje “Always” y en la tercera “Bitmap Fonts” escoje “No”

Reiniciar las “X” con un Ctrl+Alt+Backspace, o reiniciando el sistema.

Idea original en http://www.cesarius.net/

Otra interesante página, el blog de mocek.com.ar con este tema.

15 oct. 2007

15 Consejos para aprovechar un Laptop

Si tienes una portatil, seguramente uno de los problemas que siempre te han aquejado es la bateria. Por ahi comentan, es mucho pedir más de 2 horas de vida. Sabemos que en muchos lugares siquiera hay un contacto de corriente por lo cual nos quedamos sin equipo movil.

A traves de Digg y el sitio original, atbatt.com, nos proporcionan 15 consejos para mejorar la bateria de nuestra laptop.

1- Calibrar la batería, algo que no sabia, la baterías nuevas suelen traer un procesador interno que nos da un estimado del tiempo de carga restante, esto se debería hacer unas 3 ó 4 veces al año.

2- Optimizar el consumo, la mayoría de las portátiles nuevas traen un sistema avanzado de manejo de energía, generalmente es mejor que el que incluye el sistema operativo.

3- Comprar el procesador adecuado es fundamental, lo mejor es buscar un equilibrio entre rendimiento y consumo, exceptuando los modelos que tienen la capacidad de “apagar” las partes del procesador que no se necesitan, en los modelos de AMD se llama Cool ´n Quiet. En estos momentos Intel y AMD están bastante parejos, pero la diferencia es a favor de los azules con su arquitectura Memron, los Turion de AMD también son bastante buenos.

4- Correr solo los programas necesarios, de ese modo se logra utilizar menos el procesador, el disco rígido y la memoria, también tener en cuneta que se carga al iniciar el sistema, cuanto mas aplicaciones se corran mas tiempo de carga y mas energía consumida.

5- El tamaño de la pantalla, al momento de comprar un equipo hay que tener en cuenta que cuanto mas grande la pantalla mas energía se necesitará para alimentarla, las pantallas de 14 ó 15 pulgadas son las mas adecuadas, otra cosa es tratar de mantener el brillo en un nivel bajo, también les recomiendo los displays con tratamiento anti reflejo, cuanto menos refleje menos brillo se necesitara para ver.

6- Mantener bajas las temperaturas, cuanto mas fría este la batería mas tiempo durará su carga, por eso se recomienda permitir que el aire pueda correr alrededor del equipo, cosa que también hace que lo ventiladores internos trabajen menos, un consejo casero es tomar un libro (o algo plano) y colocar la parte trasera del equipo sobre este, de modo que quede inclinado y permita un mejor flujo de aire, si no se pueden comprar soportes especiales.

7- Evitar todo tipo de tareas innecesarias, si vamos a utilizar el equipo para trabajar tratar de no mirar películas, escuchar música o jugar, es un punto demasiado obvio.

8- Evitar el uso de periféricos, todos los dispositivos electrónicos que se conecten a la PC y no tengan una fuente de poder propia consumirán energía de la batería, por eso se recomienda acostumbrarse al touchpad en vez de utilizar un mouse.

10- Acostumbrarse a dejar el equipo en hibernación cuando no se va a utilizar, el modo Stand By consume energía, en cambio al hibernar el equipo se apaga pero igualmente guarda todas las tareas y restaura el escritorio cuando se vuelve a encender.

11- Cuidar la batería, es recomendable limpiar los contacto, esto permite una mejorar transferencia de la energía; evitar exponer la batería al sol o a altas temperaturas; utilizar la batería, es poco recomendable dejarlas cargadas por mas de 3 semanas, sobre todo si no son Li-Ion, lo ideal es cargarlas y descargarlas cada 2 ó 3 semanas.

12- Desactivar el Bluetooth y el Wi-Fi cuando no los estemos utilizando, además evitamos que alguien entre en nuestro equipo ilegalmente.

13- Desfragmentar el disco ayuda a que los cabezales de lectura tengan que moverse menos, por lo que el motor trabaja menos y consume menos energía.

14- Evitar el uso del lector de CD/DVD cuanto se pueda.

15- En lo posible utilizar software que utilice pocos recursos, en caso de haber varias alternativas utilizar la más “liviana” en cuanto a requerimientos de hardware.

3 oct. 2007

Programar Bien PHP


¿Cómo? Vamos a ir por partes:

  1. Saber programar, cómo vas a saber programar PHP sino no sabes metodologías de programación y algoritmos. Una vez uno me dijo, yo es que sólo se PHP, Java no…eso es como el anuncio de la ONCE sólo que este sí que era un iluso.
  2. Domina HTML, PHP no es nada sin él y digo sin usar Dreamweaver.
  3. Crea tu código pero no olvides el de los demás, un buen programador no es el que crea el mejor código, es el que da la mejor solución en el mejor tiempo posible y los programadores PHP nos convertimos a veces en perfectos documentalistas de todo el código que anda por la red.
  4. Aprende bases de datos, es vital con MySQL, saber relacionar tablas es importante.
  5. Separa el código del diseño, usa algún sistema de templates, existen algunos como Smarty.
  6. Usa un buen editor de código como Zend Studio (de pago) o Eclipse (código abierto).
  7. Reutiliza tu código, no es necesario POO pero bueno, si la sabes mejor que mejor.
  8. Ten algún amigo que pueda prestar ayuda en momentos puntuales con el tema.
  9. Ten en cuenta siempre a quien va destinado el sitio web, tanto a usuarios como a motores de búsqueda, intenta usar mod_rewrite, encapsula bien tu código para que sea rápido e intenta siempre optimizarlo al máximo, también usando algún acelerador de PHP en tu servidor.
  10. Internet no es sólo que tú sepas PHP, hay más, AJAX, Java, RoR, si PHP no es lo mejor para un determinado proyecto no lo uses, usa otra cosa, no te empecines e innovate a ti mismo.
Tomado de http://avivancos.com/programar-bien-php/

28 sept. 2007

20 Síntomas De Que Podrias Ser Un Geek

¿Quien no se ha hecho la clara pregunta, o presume de ser un Geek?

Pues aquí les traigo una lista de 20 síntomas de que podrías ser un Geek.

  • Coleccionas mensajes de SPAM graciosos.
  • Le hablas a tus computadoras, no porque estés aburrido, sino porque tienes miedo de que ellas estén aburridas.
  • La proporción de computadoras a humanos en tu casa es de por lo menos 4:1.
  • Estás totalmente libre de las líneas de bronceado.
  • Cuando alguien dice ‘deportes organizados’ piensas en ‘LAN party’
  • Has perdido prácticamente todas tus habilidades sociales.
  • Nunca las usaste de todas formas.
  • Cuando tienes que conversar con otros, hablas un lenguaje encriptado de acrónimos descifrables solamente por otro geek.
  • Ningún “sello de garantía” está seguro en tu presencia.
  • Tienes una caja gigante de cables de sobra que nunca usas.
  • Nunca podrían convencerte de separarte de ella.
  • Quieres que te entierren con tu monitor CRT Trinitron de 21″.
  • Entiendes porqué ‘42′ y ‘AYBABTU’ son graciosos, y todavía te causan gracia.
  • Le tienes miedo al teléfono.
  • Siempre estás libre un viernes en la noche. Libre para jugar tu MMORPG favorito.
  • Consideras el término ‘Geek’ un cumplido.
  • Tus amigos no-geeks no tienen idea de qué haces para ganarte la vida.
  • Acampar en el bosque, sin electricidad, o acceso wireless es tu idea de una pesadilla, no de unas vacaciones.
  • Tienes más de 30 cuentas de E-mail, y las chequeas todas regularmente.
  • Entiendes mejor a las computadoras que a la gente.
Yo se que muchos, se sienten Geek ahora…

27 sept. 2007

¡En mi máquina sí funciona!… excusas comunes de los programadores

20. ¿Pues es raro??
19. ¿Nunca había pasado antes.?
18. ¿Pues ayer funcionaba??
17. ¿Cómo es posible??
16. ¿Tiene que ser un problema de tu hardware.?
15. ¿Qué hiciste mal para lograr que fallara??
14. ¿Algo debe de estar mal en tus datos.?
13. ¿Si no he tocado ese módulo en meses!?
12. ¿Debes de estar usando una versión anterior.?
11. ¿Es solo una desafortunada coincidencia.?
10. ¿Es que no lo puedo probar todo!?
9. ¿ESTO, no puede ser la causa de ESO?
8. ¿Funciona, pero no lo he probado?
7. ¿Alguien debe de haber cambiado mi código!?
6. ¿Has comprobado que no haya algún virus en tu sistema??
5. Ya se que no funciona, ¿pero te gusta??
4. ¿No puedes utilizar esa versión en tu sistema?
3. ¿Por qué quieres hacer eso??
2. ¿Y tú dónde estabas cuando se colgó el programa??
1. ¿EN MI MAQUINA SI FUNCIONA!?

Ahora ya saben qué decir cuando el sistema no les funcione, el código no corra y afines…

25 sept. 2007

21 errores comunes programando en PHP

Leyendo en Zend.com, encuentro una completa lista de errores comunes de los programadores de PHP.
Aunque muchos de los que programamos constantemente en PHP hemos superado varios puntos, siempre hay cosas en las que caemos, pudiendo mejorar la calidad de nuestro código.

Los errores están divididos en 3 partes, siendo los primeros los mas "benignos" y los últimos, "críticos". Comentare los más importantes.

Parte 1

Uso impropio del printf

Abusando de la semántica
Esto es, básicamente, no usar una misma variable para guardar en un momento números, en otras cadenas de texto, o hacer funciones que por parámetros reciban variables de varios tipos de datos.
Una adecuada forma es la declaración de variables antes de usarlas, mantener un mismo tipo de datos para todas las variables, etc.

Falta de documentación por línea
En pocas palabras, es saber crear comentarios adecuados, no hacer un comentario por línea, pero tampoco una palabra por función, además de hacerlos comprensivos, lógicos y no estupidos, como:

Código :

//Esta función imprime
function imprimir($datos){
echo $datos;
}


Creación de demasiadas variables temporales

Rescribir funciones existentes de PHP
Esta es muy común, si no sabes que hace PHP y tienes un problema para lo que PHP tiene ya una función que lo soluciona, pero haces una función propia que haga lo mismo.
Hay que leer Riendo

No separar el lado del cliente del lado del servidor
Lo que muchos principiantes hacen, llenar de echos el código HTML, no hacer plantillas, ni siquiera funciones para separar lógicamente la parte de PHP de la parte de HTML.

Usar paradigmas del siglo pasado
PHP es muy flexible, por lo que puedes usar aun cosas como "if endif" o "while endwhile", pero eso es taaan viejo, como usar GOTOs.
Otro ejemplo similar es seguir usando variables globales al recibir valores de formularios, hay que actualizarse.

Parte 2

No seguir convenciones básicas en los nombres
Poner cosas como $xdb2 a una variable o convfunxml() a una función, son practicas muy malas, que llevan al desastre al mantener una aplicación. En las variables, lo mas recomendado es mantener "simples" las cosas, mientras que en las funciones, hacerlas lo mas "verbales" posible seria lo mejor.

Usar de una manera horrible la conexión a bases de datos
Gente que trae todos los resultados de una consulta solo para ver si es mayor que cero, hacer la consulta columna por columna en vez de traer un recordset completo, usar PHP para ordenar los resultados en vez de SQL, esas son formas horribles de conectarse a una DB.

Falta de detección de errores
Asúmanlo, ocurrirán errores, sea porque al hosting se le lleno la tabla de temporales, porque se acabo el espacio en disco que tenían, porque un usuario encontró una manera de saltarse una validación de datos o por lo que sea, siempre, en cuestiones delicadas (Consultas, escritura al disco, etc) hay que hacer control de errores.

Sobrepasarse con la programación orientada a objetos
PHP aun no esta 100% orientado a objetos de una manera estricta, de modo que aunque usemos MVC, frameworks como PEAR entre otras muchas cosas, podemos llegar a sobrepasarnos en el uso de POO en PHP, creando una serie de clases, métodos y propiedades exagerada que probablemente nos den mas problemas que beneficios en el futuro. No hay que exagerar

Mal uso de las expresiones regulares
Aunque es un tema muy avanzado, las expresiones regulares son muy útiles en muchos casos donde debemos analizar cadenas de texto raras para obtener resultados; pero son lentas, por lo que no hay que usarlas para tooodo, como reemplazar patrones simples en cadenas, buscar un carácter, etc.
Existen muchas funciones de manejo de strings ya hechas y más fáciles de usar.

Programar en PHP como si fuera otro lenguaje
Mucha gente que empieza en PHP, viene de otros lenguajes y con ello, traen también sus mañas y costumbres de acuerdo a cada uno de ellos.
Los de Perl que les fascina programar todo en una sola línea, los de Java que directamente hacen un framework orientado a objetos de modo que en el código HTML solo haya $pagina = new Pagina();, los que se ponen a renombrar o rescribir funciones inherentes de PHP, etc. De nuevo, hay que leer.

No ser consciente de la seguridad
PHP puede ser programado elegante o terriblemente... y aun así dar el mismo resultado a los ojos del usuario; cosas como las protecciones básicas de seguridad son olvidadas.
No permitir que, en un campo que se usara en una consulta a una DB, un usuario ponga comillas simples o punto y coma, tomar todos los valores raros y hacerles "escape" (Es decir, poner un backslash en frente de ellos) y en general validar dentro de PHP todos los valores que puedan haber sido escritos a mano es una responsabilidad nuestra.

Parte 3

Cortar y pegar; el camino incorrecto
Siempre haces la misma función de validar un correo electrónico, la misma de conectarse a la base de datos, etc... ¿Copias y pegas cuando lo haces?
Es mas optimo crear una librería de tus propias funciones, también puedes usar librerías como PEAR y demás, pero recuerda, solo usa librerías de una fuente conocida o crea las tuyas.

No tener guías de estilo de codificación en un proyecto
Iniciar proyectos "por mis huevos" siempre ha sido un error; cuando inicias un proyecto, sin importar si eres tú solo o tienes un grupo de trabajo, hay que definir unos lineamientos de codificación.
Que variables son globales y como deberían ser marcadas como global, la estructura de las carpetas de código, convenciones de los comentarios, procesos de documentación, etc.

No hacer una revisión de código
Revisar nuestro código después de hecho, ver que hace, que se puede mejorar, etc, es algo que siempre se obvia, mucho mas en nuestra cultura donde todo es "urgente" (Sobre todo hacer prilouders).
¿Cuál era el propósito de X código?, ¿Cómo se relaciona el archivo X con los demás en el proyecto?, ¿Cómo verifica los errores el programa?, ¿Dónde podría encontrar errores el usuario?... etc.

Hacerle "hacks" al código PHP abusando de fallos de diseño
Tu lo sabes, tu sabes cuando estas haciendo un código feo, sabes cuando estas solucionando algo de la peor manera, sabes cuando estas metiendo a las patadas un código para que algo funcione... no lo hagas, recapacita, piensa en los niños.

Excluir al usuario del proceso de diseño
El usuario, ese engendro infernal que nos hace eliminar, corregir, cambiar, actualizar, repetir, borrar y maldecir. ¿Por qué no lo metemos al proceso, hacemos prototipos de prueba, le mostramos todo, vemos si vamos por buen camino? La mayoría de problemas con los usuarios finales es por culpa de nuestra discriminación (con razón) hacia ellos... Cada vez que ignoras a tu usuario, Dios le quita un punto y coma a una parte aleatoria de tu código.

No apegarse al plan del proyecto
¿Seguiste el análisis, diseño e implementación como estaban planeados?, de hecho, ¿Lo hiciste si quiera en ese orden?; cuando se planea un proyecto y en un punto debes salirte del esquema planteado, sabes que las cosas irán mal.

Perderte en el tiempo
Los programadores, por defecto, son optimistas; "Si, eso sale en un mes", decimos.
No subestimes la complejidad de nada, tiende a pedir el doble de lo que necesitas, de cualquier manera, siempre lo querrán en la mitad del tiempo. Conocete a ti mismo, conoce tu trabajo, pide el tiempo real, pide mas que eso y se conciente de cuanto código llevas, cuanto te falta y cuanto tiempo tienes.




No solo a PHP aplican estos "errores comunes", pero de cualquier manera tenerlos en cuenta muy seguramente te ayudara en la mayoría de proyectos que inicies.
Aunque claro, siempre hay gente que jamás cae en estos errores.

¿Como tu?

Tomado de http://www.cristalab.com/blog/14290/21-errores-comunes-programando-en-php

 
Too Cool for Internet Explorer