Libro: Building Scalable Web Sites
Llevo un par de días leyendo el libro Building Scalable Web Sites de Cal Henderson (el creador de Flikr). Estoy gratamente sorprendido.
A parte del primer capítulo, que es una mera introducción, los demás capítulos que he leido por el momento son bastante interesantes.
Por ejemplo, el segundo capítulo trata el tema de la arquitectura de un sitio web en terminos generales (para los detalles ya está el resto del libro). Analiza tanto la arquitectura a nivel de software como a nivel de hardware. Está muy bien.
En el tercer capítulo habla del proceso de desarrollo y las herramientas que hacen falta. Aunque no me ha contado nada nuevo, debo decir que sintetiza muy bien los contenidos de las dos asignaturas de Ingenieria del Software que tuve. Si quieres desarrollar software y no tienes muy claro qué herramientas utilizar y por qué motivos usarlas, leete este capítulo, los conceptos son fundamentales.
El cuarto capítulo es también genial. Trata el problema de la internacionalización y la localización, analizando que son, por qué existen, de qué formas se pueden soportar, cual es la mejor forma según las necesidades y cuales son los problemas que existen con los caracteres unicode. Este capítulo es fundamental para todos aquellos que piensen en desarrollar una aplicación (sea web o no) y quieran incluir soporte multiidioma en su web.
El quinto capítulo lo he ojeado por encima, pero creo que es básico. Trata sobre seguridad web. El problema de la inyección de código malicioso en formularios, etc… Parece muy completo y creo que es muy recomendable, sobretodo si tu aplicación web va a ser usada por un gran número de usuarios.
He saltado al capítulo ocho, que trata sobre los cuellos de botella, y de momento cumple bien las expectativas.
Mi valoración por el momento es que es un libro de lectura obligada para todo informático que se precie. Lo recomiendo encarecidamente, y, aunque hay capítulos que únicamente interesen a los desarrolladores web, hay otros que son fundamentales y explican conceptos generales que todo ingeniero informático debe conocer y aplicar.
Si teneis ocasión, ya sabeis.