feb 26 2010

Bash completion for symfony (autocomplete)

tatai

I have just pushed into GitHub a bash autocomplete script for symfony.

This script allows to autocomplete your first level option when calling to symfony script. It is easy to install (just copy one and call it manually if you do not have access rights). All steps and working issues are in the wiki. It also accepts custom actions.

This is a working example once script is corretly installed and invoked:

Assuming symfony is in current folder and [tab] y tab key press action, this is an example of how symfony_complete works:

$ ./symfony con[tab]figure:[tab][tab]
author    database
$ ./symfony doctrine:a[tab]uthor

We are pleased to know what you think and any issue you have. You can find us on GitHub.

Related links:


oct 31 2009

PHP Conference 2009. Día 2

tatai

Y, con mucha tristeza, ya ha terminado la PHP Conference 2009. Tristeza porque se acaba, pero creo que el balance final hay sido muy muy positivo y me voy realmente contento.

Al igual que hice ayer, voy a realizar un pequeño resumen de las conferencias a las que he asistido, que también prometían.

Eso sí, no me quedo sin comentar lo bien que nos lo hemos pasado en el sorteo final y entrega de premios. Como colofón a la PHP Conference 2009, la organización realizó un sorteo en que entreban 7 packs de libro de O’Reilly + elePHPant, más 3 XBOX 360. Para empezar, muchas de las personas que esperaban participar en el sorteo se encontraron con que no podían hacerlo puesto que no habían completado la encuesta. Las probabilidades de que nos tocase algo aumentaron mucho :)

Tras todo esto, para entregar los premios oparon por un método que me pareció de lo más original y que, de alguna forma u otra, adoptaré, jeje. Se trataba de obtener tantos números de forma aleatoria como premios había y para ello usaron http://www.random.org. Los números obtenidos eran los ids numéricos de las personas que habían contestado la encuesta.

Tras varios intentos frustrados por parte de Buenosvinos de dominar al MAC que le habían dejado para tal efecto (si por algo los MAC OS X tienen nombres de fieras xDD), sacaron los nombres. Arkaitz se llevó un libro + elePHPant e Iván una XBOX 360. Yo no tuve tanta suerte, pero bueno, 2 de 3 :)

Por lo menos, he aprovechado la oferta de O’Reilly para comprarme un libro de git con un 35% de descuento :D

Y bueno, estas han sido las conferencias a las que he asistido hoy:

  • PHundamental Security by Hans Zaunere
  • The State of Quality Assurance Tools for PHP by Sebastian Bergmann
  • Técnicas y Herramientas para una API con REST by Àlex Puig
  • Symfony 2.0 a sneak peak by Fabien Potencier
  • Open Classifieds by Chema Garrido

Y he aquí unn pequeño resumen:

PHundamental Security

Hans nos dio una buena charla cargada de otra buena cantidad de frases para apuntar y grabar a fuego sobre aspectos relacionados con la seguridad de nuestros servidores y PHP.

Sus comentarios inicialmente partían de sistemas en los que tenemos mucho control, pudiendo decidir hasta la forma de compilar los módulos. Algo que en algunos casos puede ser excesivo, pero desde luego tenemos que tener la oportunidad de decidir los módulos que están instalados.

Me quedo principalmente con estas dos frases (que no son las mejores, pero realmente creo que dicen mucho en poco espacio):

Let PHP do its magic inly whe you want it to – not by chance

Mayority “PHP security flaws” could be avoided by casting to int

The State of Quality Assurance Tools for PHP

http://www.slideshare.net/sebastian_bergmann/the-state-of-qa-tools-for-php-2389795

La charla de Bergmann tuvo, en mi opinión dos partes bien diferenciadas, la primera que me pareció hasta aburrida ya que eran conceptos demasiado básicos para una charla de este estilo, pero en la segunda parte (mitad-final) estuvo plagada de buenos ejemplos, herramientas y enlaces veerdaderamente útiles e interesantes.

Muy buen sabor de boca pese a ser una persona que odia los Singleton sn excepción :p

Técnicas y Herramientas para una API con REST

Charla introductoria a REST que contaba, partiendo de lo más básico, cómo realizar una API y cómo montar tu aplicación. Desde mi punto de vista, todo iba bien hasta que entró a explicarlo con un MVC y dar ciertas explicaciones dentro de un contexto más personal que general.

Interesante charla como introducción aunque a mi personalmente se me quedó algo corta.

Symfony 2.0 a sneak peak

http://www.slideshare.net/fabpot/symfony-20-on-php-53

Contando con la presencia de Fabien Potencier como ponente, mostró lo que va a ser el nuevo Symfony 2, orientado principalmente a las nuevas incorporaciones. Cabe destacar que funcionará únicamente para PHP 5.3 y será una reealidad inicialmente a finales de 2010. El respaso fue demasiado exhaustivo entrando quiás demasiado a poner ejemplos con código, algo que creo que no ayudó mucho a mostrar el potencial de algunos apartados.

Cotnamos con una completa explicación de Event Dispatcher, Request Handler, Templating Framework y Dependency Injection Container.

Esperábamos haber visto algo de Twig, pero no salió nada del tema.

Open Classifieds

De esta charla tengo que decir que alabo las ganas que le echó el ponente por dar a conocer su proyecto, pero predicar con el hecho de que hay que seguir el concepto KISS y que se ha venido de controlar la programación en  Java a PHP para decir que no se usa un framework para hacer tu código más efectivo, hacer código spaguetthi y considerarlo bueno y mantenible… creo que te has confundido de sitio.


oct 30 2009

PHP Conference 2009. Día 1

tatai

Hoy ha sido el primer día del PHP Conference 2009 y tars todo el día de conferencias voy a hacer un pequeño repaso a las que yo he asistido. Todas a las que he asistido ha sido en inglés y, en general, hay que decir que mucho nivel tanto entre los conferenciantes como entre el público.

De entre todas las disponibles en el schedule, he ido a estas:

  • Working with webservices by Lorna Mitchel
  • Trees in database by Lorenzo Alberton
  • Simple is hard by Rasmus Lerdorf
  • AJAX for Scalability by Erik Schultink
  • Integrating Zend Framework and Symfony by Stefan Koopmanshap
  • PHP Security audits by Damien Seguy

Seguidamente voy a hacer un breve resumen de cada uno de ellos.

Working with webservices

http://www.slideshare.net/lornajane/working-with-web-services

Introducción a los servicios web con un repaso completo de los diferentes formatos usados: JSON, XML e incluso serialize, los formatos más usados: SOAP, RPC (XML-RPC y JSON-RPC) y REST, así como alguna de las herramientas más utilizadas para debuggear como cURL, Wireshark o Charles.

Por último, Lorna dio un repaso a realizar webservices con REST.

Trees in database

http://www.slideshare.net/quipo/trees-in-the-database-advanced-data-structures?type=presentation

Charla enfocada al problema de trabajar el mateo de árboles en bases de datos relacionales mediante SQL.

Muy interesante la aportación de soluciones aunque el alto componente matemático de alguna de las partes unido a la necesidad de realizar sentencias SQL complejas hicieron algo complicada de seguir en ciertos momentos.

Las diferentes posibilidades incluían tanto soluciones de código abierto como propietarias.

Simple is hard

http://talks.php.net/show/phpbcn

Gran keynote a cargo de Rasmus Lerdorf centrada en la optimizaciónde rendimiento en backend de aplicaciones PHP y en la seguridad del código generado.

Rasmus dio cantidad de herramientas e indicios de posibles problemas que nos podemos encontrar cuando realizamos código en PHP.

Sinceramente, todo un gusto oirle hablar. Ha sido una oportunidad que no me volvería a perder por nada del mundo. Destila conocimiento y experiencia que contrasta con su pragmatismo y su incredulidad ante procesos y sistemas de hoy en día.

AJAX for Scalability

Esta charla aunque se inició con temas relacionados con AJAX y como tuenti realiza monta y desmonta su página mediante javascript, la mayor parte constó de la explicación de cómo optimizar los servidores y escalar nuestro sistema mediante mediciones en la conexión, datos transferidos, etc.

Integrating Zend Framework and Symfony

Mediante ejemplos prácticos se mostró cómo se puede usar Zend Framework en proyectos con Symfony y viceversa. La potencia de frameworks como Zend que permite el uso de sus diversos módulos de forma particular con otro como Symfony con las funciones separadas, permite aprovechar al máximo de los dos.

A la espera de la charla de mañana de Fabien Potencier, se mostraron algunos de los nuevos desarrollos que tendrá Symfony 2.0.

PHP Security audits

A última hora entró esta charla dada por el genial Damien Seguy en el que mostró el proceso que sigue cuando realiza una auditoría de seguridad. El papá de los elePHPants nos mostró muchos de los elementos que con un alto porcentaje de acierto nos provocarán problemas así como diversas herramientas y recetas que podemos usar para intentar evitar estos problemas.

Update: sigue leyendo el resumen del día 2