php

Recursos de programación de php
#CodelyTvDaily: Alternativas a Google Authenticator evaluando seguridad y mejoras UX, estadísticas de bitLy al acortar enlaces, configuración de PHP Unit para entornos de integración continua, y más
En este episodio sufrimos las secuelas de la PEUM Conf y nos ponemos como locos a darle cariño a la seguridad como se merece, hablando del evento OWASP AppSec Europe que tuvo lugar el pasado mes de Julio.  Hablamos de la PEUMConf 2018 nuestra visión del evento y las lecciones aprendidas.Y como consecuencia de la resaca repasamos la conferencia OWASP AppSec Europe y lo que nos ha llamado la atención de alguna de sus charlas. Seguridad Serverless, buenas prácticas con Docker, mejora de la seguridad con pipelines,... Programa OWASP AppSec'18Snyk.ioGoSuGauntltOWASP DefectDojoOWASP ZapEn la sección de recomendaciones hemos visto:Ejercicios de programación: exercism.ioVídeo TDD for those who don't need it - GopherCon SG 2017 Podcast https://www.campusmvp.esAprovecha el descuento que te ofrece por ser de la coumidad de programar es una mierda: https://www.campusmvp.es/especiales/peum/Tod @s l@s que tengáis comentarios o sugerencias para el podcast podéis enviarnos un correo a programaresunamierda@gmail.com o dejarnos un comentario en Twitter: @progesunam .No olvidéis de suscribiros a nuestro podcast en FeedPress o itunes, o si lo preferís agregad el RSS a vuestra app de podcast preferida. En cualquier caso siempre agradeceremos reviews del podcast en cualquiera de las plataformas.También podéis uniros a nuestro canal de Slack.La música elegida para la entrada y salida del podcast son del grupo "Dilo". En concreto las canciones son "War Inside" y "Sick of reality"
Analizamos los beneficios de introducir una interface en términos de tolerancia al cambio y testabilidad. Nos planteamos cuándo sería apropiado por tanto introducir una interface en nuestro código, y sobre todo, cuándo y por qué sería algo a evitar. ❓ Preguntas a responder: * Cuándo definís interfaces (Árbol decisional para meter una interface como el que comentamos en el vídeo) * Inyectáis los Domain Services en los Application Services vía constructor, ¿o los instanciáis en el constructor del Application Service? Links relacionados: * ????‍????‍????‍???? Vídeo Composición sobre herencia: https://www.youtube.com/watch?v=OyTPDFyGWRc * ????️ Tweet a hacer RT para entrar en sorteo de training Kotlin: * ????‍???? Training Kotlin por Karumi: https://www.karumi.com/open-training/android-kotlin-jump-start-first-edition * ???? Repositorio ejemplos PHP: https://github.com/CodelyTV/cqrs-ddd-php-example * ⚛️ Repositorio ejemplos Scala: https://github.com/CodelyTV/scala-http-api * ????‍???? Curso Principios SOLID Aplicados: http://bit.ly/solid-codelytv * ???? Curso Arquitectura Hexagonal: http://bit.ly/hexagonal-codelytv * ℹ️ Post Matthias Noback al respecto: https://matthiasnoback.nl/2018/08/when-to-add-an-interface-to-a-class/
¿Por qué se suele decir que la herencia es mala en Programación Orientada a Objetos? ¿En qué se basa #CompositionOverInheritance? Bajemos al terreno con ejemplos de código estos conceptos ???? Links relacionados: * Repo código acoplado: https://github.com/CodelyTV/coupled-code-php-example * Repo CQRS y DDD: https://github.com/CodelyTV/cqrs-ddd-php-example * Curso Principios SOLID Aplicados: http://bit.ly/solid-codelytv * Curso Arquitectura Hexagonal: http://bit.ly/hexagonal-codelytv
El próximo 29 de septiembre de 2018 se celebrará la primera PEUMConf para poder disfrutar entre todas y todos de aquello que puedan aportarnos otros miembros. El evento serà ofrecerá online y se publicará el enlace el mismo día en este post y por twitter.Esta se basará en  exposiciones en diferentes formatos y tiempos con participantes y ponentes de la comunidad del canal de Slack de Programar es una mierda de todo el mundo.El horario de las exposiciones12:00 - Sesión de bienvenida y presentación12:15 - Dockeriza tu entorno de desarrollo - Marco Bellido (45m)13:00 - Ecosistema Microsoft en el 2018 - Alberto Chesa (30m)13:30 - Conoce a CoderDojo - Miguel Abellán, Miguel Manzano (Lightning talk 15m)13:45 - Pausa 15:00 - Competencia colaborativa - Gonzalo Nandez 30m15:30 - Desarrollo Backend/Frontend con el framework Spring Boot - Alejandro Ambroa (30m)16:00 -  ¿Por qué a los programadores les preocupa una mierda la seguridad y por qué debería preocuparnos? - Jose Antonio Bautista (45m)16:45 - Pausa17:30 - Serverless GraphQL con AWS AppSync - José Fonseca (45 min)18:15 - Animando la tasa de conversión del usuario - Laura Santana (45 min)19:00 - Pausa19:15 - Introducción a la programación funcional - Juan Manuel Cruz (45 min)20:00 - Mesa redonda y despedidaLos horarios están expresados en el huso horario utilizado en España (peninsula ibérica) CEST.En el siguiente enlace podéis ver a que hora corresponde el inicio de la PEUMConf 2018 en vuestro horario local: http://www.timebie.com/std/centraleuropeansummer.php?q=12Aunque no hemos podido cubrir las charlas teniendo el mismo número de ponentes mujeres que hombres esperamos que la participación como oyentes pueda ser más igualada.Descripción de las exposicionesDockeriza tu entorno de desarrollo Marco Bellido (45m)En esta charla me gustaría presentar una pequeña introducción a docker y cómo hemos evolucionado los entornos de desarrollo, desde la instalación de soluciones manualmente, uso de servidores, vagrant... e intentaría realizar una demo práctica usando docker-compose para montar un entorno de desarrollo de algo tipo Php, Wordpress, Node...Ecosistema Microsoft en el 2018Alberto Chesa (30m)Veremos de manera general, lo más relevante del gigante de Redmon en el área de desarrollo, herramientas, servicios, tecnologías disponibles.Conoce a CoderDojoMiguel Abellán, Miguel Manzano (Lightning talk 15m)Presentación de CoderDojo y la experiencia como mentor.Competencia colaborativaGonzalo Nandez (30m)En este nuevo mundo del open source se ha pasado de la competencia férrea de los productos informáticos a un nuevo concepto de competencia colaborativa que cambia los paradigmas incluso en la economía mundial.Desarrollo Backend/Frontend con el framework Spring BootAlejandro Ambroa (30m)Spring Boot es un conjunto de tecnologías que usan el framework Spring, ya prácticamente un estándar de facto en el mundo Java. Este sistema nos permite desarrollar aplicaciones Java-Spring de una manera muy cómoda y rápida.Veremos cómo construir una aplicación en directo con estas tecnologías incluyendo REST, JMS o MQTT, motor de plantillas tipo thymeleaf o freemarke, websockets, etc.¿Por qué a los programadores les preocupa una mierda la seguridad y por qué debería preocuparnos?Jose Antonio Bautista (45m)Una gran parte de nuestro mundo gira alrededor de las aplicaciones y el software. Los programadores sabemos mucho sobre el desarrollo, los interfaces de usuario, el acceso rápido a los datos... pero muchas veces no conocemos u olvidamos los aspectos básicos de la seguridad. Esto provoca que en los últimos años se haya disparado el número de ataques a sistemas.Esta charla no va dirigida a aprender las técnicas de desarrollo seguro del que podemos encontrar mucha información en Internet. Se centra en los problemas a los que se enfrentan nuestros usuarios y nuestras empresas cuando los programadores dejamos de lado la seguridad y porqué es tan importante en el desarrollo actual.Serverless GraphQL con AWS AppSyncJosé Fonseca (45m)AppSync es un producto de AWS que es relativamente nuevo y nos permite crear un Serverless GraphQL APIs que se puede conectar a varias fuentes de datos, Ofrece SDKs para Web, Android y iOS así como soporte para subscripciones y offline. Veremos algunas de sus características.Animando la tasa de conversión del usuarioLaura Santana (45m)Las experiencias animadas en un sitio web aumentan la participación y simplifican la presentación del contenido, lo que conduce a una mejor tasa de conversión del usuario, que es un sueño hecho realidad para los equipos de marketing. Cuantos más métodos y técnicas tenemos, como desarrolladores, para animar, más fácil es sentirse abrumados por ellos. En esta charla, compartiré algunos ejemplos de código para animaciones y experiencias personales sobre cómo trabajar eficazmente con un equipo de marketing para mejorar la tasa de conversión en el sitio web de un producto.Introducción a la programación funcionalJuan Manuel Cruz (45m)Una introducción al paradigma funcional y a sus conceptos claves explicados en términos simplesPara cualquier duda enviad un correo a programaresunamierda@gmail.comEl evento es gratuito, pero se recomienda ser miembro de la comunidad PEUM.Muchas gracias a todas y a todos.
En este vídeo desgranaremos un ejemplo para empezar a programar en #PHP siguiendo las buenas prácticas de su ecosistema: PHP7, PhpUnit, Composer, Semantic Versioning, TravisCI, y mucho más ???? ???? Repositorio de código: https://github.com/CodelyTV/php-bootstrap ???? Subscribe: https://www.youtube.com/c/CodelyTV?sub_confirmation=1 ???? Cursos CodelyTV Pro: https://codely.tv/pro/cursos ????‍????‍????‍???? Planes para empresas: https://codely.tv/pro/teams ???? Twitter: https://twitter.com/CodelyTV ???? Facebook: https://www.facebook.com/CodelyTV/
Presentación: https://www.slideshare.net/slaimer/vlctechfest-simplificando-controladores-una-introduccin-a-actiondomain-responder Es bastante común que los controladores de nuestros proyectos sean clases enormes, llenas de código, de métodos públicos, difíciles de testear, que ignoran por completo todos los principios SOLID. En esta charla introduciré el patrón ADR (Action-Domain-Responder), un patrón más orientado a web que MVC que está pensado para aplicaciones de escritorio. Veremos el tratamiento que se le da a los controladores en este patrón y como podemos pasar de tener controladores de cientos de líneas a controladores de menos de 100 líneas, tan solo usando actions en lugar de controladores y con un poco de ayuda del patrón command. Miguel Ángel Sánchez Chordi (@slaimer) Soy programador desde hace más de 10 años, especialmente en el entorno web. Los últimos años me he especializado en desarrollo backend, mi principal lenguaje es PHP.
La iniciativa Open API (OAI) se enfoca en crear, evolucionar y promover un formato de descripción de API open source e independiente del proveedor basado en la especificación de Swagger. En esta charla haremos una breve introducción a las definiciones de las API (Swagger, RAML). Comentaremos lo que tiene de nuevo OpenAPI frente a Swagger y veremos alguna herramienta específica que ligue PHP con OpenAPI, en concreto OpenApiAssertions. Meetup: https://www.meetup.com/PHPMad/events/240050432/ Twitter: https://twitter.com/phpmad Nos vemos en PHPMad...
En este vídeo analizamos 4 ejemplos de implementación de tests: Enfoque "tradicional", aplicando el patrón de diseño Builder, aplicando ObjectMother o Stubs, y haciendo uso de named arguments. Los ejemplos que analizamos son en PHP y Scala, pero es perfectamente aplicable a lenguajes como Java, .Net, etc. Links de interés: ???? Serie anti-patrones de test: https://www.youtube.com/watch?v=XbkjUz20pOk&list=PLZVwXPbHD1KN1JRaNzcU8-QA-oUkgH79C ???? Repositorio con los ejemplos: https://github.com/CodelyTV/code-examples ✍️ Post comentado en el vídeo: http://blog.koalite.com/2018/02/test-builders-en-typescript/ ???? Cursos CodelyTV Pro: https://pro.codely.tv ???? Descuento 1 mes por 25€: http://bit.ly/bdd-descuento ???? Descuento 4 meses por 99€: http://bit.ly/bdd4meses ????‍????‍????‍???? Planes para empresas: https://codely.tv/pro/teams ???? Twitter: https://twitter.com/CodelyTV
Desarrollador de software vocacional, y emprendedor ocasional. 15 años desarrollado en torno a tecnologías Java. Declarado troll de Javascript y PHP, y coordinador de MadridJUG. Creador del mejor comparador y buscador de ofertas de videojuegos (Otogami) y zapatillas (Runnics) del mundo. Actualmente trabaja en Nextail repartiendo ropa por todo el mundo. Ha ofrecido el taller de "Descubriendo los cuellos de botella y mejorando el rendimiento de tu aplicación Java - Taller práctico donde aprenderás a usar las principales herramientas del ecosistema Java. Dividido en dos partes, primero descubriremos los distintos problemas que puede tener tu aplicación mediante herramientas de profiling y análisis de ejecución (memory leaks, consumo cpu, latencias, etc), y luego veremos con microbenchmarking cómo medir el rendimiento de partes clave de tu aplicación." -------------------------------- Todos los videos de WeCodeFest 2018 https://www.youtube.com/playlist?list=PLKxa4AIfm4pVh1ycmimywRWoiShVodcH4 Todos los vídeos de la pasada edición de WTM en Madrid https://www.youtube.com/watch?v=J-cZU3Oramg&list=PLKxa4AIfm4pVgiDv0Ya7sBxM9AOTmFhH7 Suscríbete a nuestra newsletter; https://goo.gl/5jc6uP Facebook; https://goo.gl/o8HrWX Twitter; https://goo.gl/MU5pUQ LinkedIn https://goo.gl/2On7Fj/