Unificar Interfaces con el Patrón Adapter, parte 2
En esta lección del Curso de Patrones de Diseño con PHP aprenderemos cómo adaptar una interfaz de terceros para que tenga otra interfaz con la que podamos trabajar de forma más fácil y amigable.
En esta lección del Curso de Patrones de Diseño con PHP aprenderemos cómo adaptar una interfaz de terceros para que tenga otra interfaz con la que podamos trabajar de forma más fácil y amigable.
Adapter convierte la interfaz de una clase en otra que los clientes esperan. De esta forma un Adaptador permite que 2 clases con interfaces incompatibles puedan trabajar en conjunto. En esta lección plantearé un problema común: tener que trabajar con diferentes interfaces de terceros incompatibles entre sí y veremos cómo intentar solucionar este problema con programación estructurada solo complica el código aún más.
El rendimiento de una consulta en MySQL que utilice solamente JOINs versus otra que emplee subconsultas es relativo; esto depende mucho de la naturaleza del problema que necesites resolver. Puesto que la respuesta a esta incertidumbre es asociada más bien a la optimización de la consultas como un todo donde cada parte aporta un peso que puede ser revisado o expuesto con un analizador de consultas tal como hace el comando EXPLAIN
de MySQL. En muchas ocasiones verás que la solución es usar una combinación de JOIN y subconsultas.
Sin embargo, en este post dejaremos lo anterior a un lado y nos enfocaremos solamente en comparar JOINs y subconsultas de manera independiente. Así podremos ver que existen algunos factores que inciden en esta comparación, describiremos en qué escenarios uno tiene ventaja sobre el otro, cómo proceder a evaluarlos hasta llegar a una conclusión.
La base de una aplicación en Vue.js son los componentes. Sin embargo, cuando comenzamos a crear nuestros propios componentes, combinarlos y a usar diferentes componentes dentro de otros nuestra aplicación puede llegar a crecer y terminemos teniendo muchos componentes sin un orden o estructura alguna. En este tutorial aprenderemos algunas técnicas para estructurar y organizar los componentes de nuestra aplicación.
En esta lección voy a hablarte de las recomendaciones estándares para PHP (o PSR según las siglas en inglés) y veremos la herramienta php-cs-fixer de SensioLabs la cual nos permitirá aplicar una serie de mejoras de estilo y formato al código en cuestión de segundos.
Con cada línea de código que agregamos a nuestros proyectos aumentamos su complejidad y la posibilidad de que los bugs comiencen a acecharnos cuando menos lo esperamos: unos minutos antes de una reunión con el cliente o un domingo cuando estamos en el cine lejos de nuestro computador. Para prevenir estas situaciones aterradoras te brindaré 7 consejos para escribir código más seguro:
En este video aprenderás cómo instalar Ignition en versiones inferiores a Laravel 6. Para que puedas usar este componente aun cuando tu aplicación no esté actualizada.
Laravel 6 viene con Ignition: la nueva página de error de Laravel y este componente trae un nuevo helper ddd
que es una versión más poderosa de dd
puesto que además de mostrar el contenido de una o más variables y detener el flujo de la aplicación, nos permite ver toda la información disponible en Ignition incluyendo el «Stack Trace» y más como veremos en el siguiente video:
Recientemente fue lanzada la versión de VuePress 1.0, que incluye diferentes cambios a tener en cuenta al momento de actualizar nuestros sitios. En Styde ya hemos hablado anteriormente de VuePress, explicamos cómo realizar un deploy automatizado usando Travis CI y el sitio de la traducción de la documentación de Laravel funciona también en VuePress. A continuación hablaremos un poco sobre estos cambios que debemos realizar para que nuestro sitio funcione correctamente.
En la primera parte de este tutorial configuramos nuestro sitio con VuePress, la estructura de repositorios y agregamos los archivos que necesitamos para realizar el proceso de deploy en GitHub Pages usando Travis CI. En esta segunda parte agregaremos las opciones de configuración de Travis CI y veremos cómo realizar el proceso de despligue.