Devoogle tiene indexados actualmente 17971 recursos relacionados con el desarrollo de software.

Cuando realizas una petición HTTP a un servidor con una aplicación Symfony, hay una increible cantidad de procesos que se ponen en marcha antes de obtener una respuesta: construcción del contenedor de dependencias, enrutamiento, accesos a la base de datos, templating, etc... ¿Cómo puede Symfony manejar toda esta complejidad y aún así ser super rápido? En esta ponencia hablaremos de la principal arma que usa Symfony: las cachés de aplicación (que no deben confundirse con los caches HTTP). Estudiaremos los distintos cachés que Symfony usa, como se construyen (cuando y por quien), como son usados, las principales diferencias entre los entornos de desarrollo y producción y que se puede hacer para hacer Symfony más rápido aún.
Desde hace varios meses en Bodaclick estamos trabajando para cambiar la antigua plataforma (un monolito PHP 4 que abarca varias aplicaciones internas aparte de la web) por una nueva plataforma basada en Symfony 2. Esta ponencia hablará cómo hemos pulido las asperezas de la convivencia de dos aplicaciones diametralmente diferentes utilizando: * RabbitMQ * Diseño Orientado a Servicios * Lazy migration * Mapeo parcial de bbdd * Eventos asíncronos (en Symfony 2) * Redis Y otras más junto con los trucos que hemos encontrado para resolver el manejo de hasta 5 bases de datos diferentes.
Actualmente el mundo de CSS esta mejorando increíblemente para los desarrolladores como nosotros. Lenguajes como Sass y Less nos ayudan a crear hojas de estilo que son fácilmente mantenibles y esto nos da una velocidad para crear increíble. Al mismo tiempo como desarrolladores web tenemos que crear sites que sean útiles en todo tipo de dispositivos, desde móviles a televisores. En Ofertix estamos reescribiendo el frontal y estamos aplicando este conjunto de técnicas. En la ponencia se darian unas pinceladas de Sass/Less, y explicaríamos los pequeños trucos que utilizamos en Ofertix. Al mismo tiempo explicaría las diferentes técnicas para hacer que un site sea multidispositivo (Responsive Design, Multiface Application, etc...) y que decisiones hemos aplicado en Ofertix. Y como final ver como Assetic i Twig nos simplifican la vida para aplicar todas estas técnicas.
Basándonos en la aplicación PadelLeague que ganó el concurso de Mucho+Symfony veremos algunas de las buenas prácticas que se usaron mediante ejemplos. Los managers son usados para gestionar los objetos de dominio, quitando responsabilidades al controlador. Se suelen usar en combinación con los eventos para ofrecer una funcionalidad más completa. El uso de eventos nos permite extender una aplicación o bundle y desacoplar servicios unos de otros, relacionado con los bundles FOSCommentBundle es un buen ejemplo de extensión mediante eventos y FOSUserBundle ha dejado de usar Form handlers a favor de los eventos. También se hará un repaso a las buenas prácticas con los formularios viendo el uso de DataTransformers, models, custom Types y eventos para generar formularios dinámicos.
Symfony aparte de un framework full-stack es una genial librería de componentes desacoplados. Aunque no uses el framework MVC tienes a tu disposición una serie de componentes de una alta calidad listos para su uso. Uno de estos componentes es el Contenedor de Inyección de Dependencias que, además de formar parte del corazón de Symfony, podemos usarlo de una manera muy sencilla como una dependencia externa más en nuestros proyectos PHP con Composer. En esta charla hablaremos sobre Inyección de Dependencias como patrón de diseño y sobre Contenedores de Inyección en PHP. Mas de sobre "que son" hablaremos sobre su "porque" y sobre que nos aportan al usarlos en nuestros proyectos PHP, así como ejemplos de como implementar todo esto usando el componente de Symfony.
En Bodaclick estamos desarrollando una nueva plataforma que nos permita crecer cómodamente y para ello nos hemos basado en dos arquitecturas: 1. Orientada a servicios 2. Orientada a recursos mediante una API REST (nos gusta creer que estamos cerca del nivel 2) En la ponencia comentaremos las dificultades que nos hemos encontrado al aplicar estas dos arquitecturas, la arquitectura final que tenemos en Bodaclick (¡tenemos bundles hasta para los estilos!), como hemos utilizado composer para repositorios privados (Satis) y la estructura de frontales desligados de la lógica de negocio vinculados mediante un bundle de conexión al API.
Guzzle es un cliente HTTP que facilita de forma increíble el crear, consumir e interactuar con servicios web, como por ejemplo, la api REST de un servicio web como Twitter, Amazon AWS, Github, entre otros. Nos ofrece completo control del estándar HTTP para la generación de un Request y nos permite de forma organizada manejar el Response y definir modelos sobre las respuestas para actuar mas facilmente sobre ellas. En esta charla se introducirá como configurar la libreria de forma independiente en menos de 10 minutos, y como integrarlo en un proyecto de Symfony2 y Silex, para empezar a atacar APIs, se explicaran sus usos mas comunes, se hablara de proyectos que ya lo tienen incorporado (como Drupal, el Amazon AWS SDK para PHP, y la libreria Goutte, para hacer Webscraping, de Fabien Potencier, entre otras). Se terminara con un ejemplo practico en dos proyectos de Acilia, para atacar a un servicio web (emailvision), para envíos de emails transaccionales y masivos de dos aplicaciones y posterior recopilación de reportes de dichos envíos, todo mediante llamadas y respuestas HTTP a una API REST.
El ritmo de desarrollo de Symfony es tan alto que en muchas ocasiones cuesta estar al corriente de todo lo que está ocurriendo en el proyecto. A lo largo de la charla se presentarán las novedades que están por venir en Symfony 2.3.
En esta charla se pretenden tocar todas las cosas que debemos tener en cuenta para sacar el máximo rendimiento y poder escalar usando Symfony2. Se tocará desde parámetros de configuración de PHP y APC, optimización de Composer, dónde optimizar, quick wins varios, cómo hacer profiling correctamente, BBDD NoSQL vs SQL y por supuesto lecciones aprendidas en Ulabox, SocialPoint y espero tener cosas que contar de Brighttalk!