diff --git a/docs/atom.xml b/docs/atom.xml index 9fb441e..13be4b7 100644 --- a/docs/atom.xml +++ b/docs/atom.xml @@ -1,2 +1,2 @@ -MergePHP RSS Feed2024-02-10T03:47:40+00:00https://www.mergephp.com/https://www.mergephp.com/icons/android-chrome-512x512.pnghttps://www.mergephp.com/icons/android-chrome-512x512.pngMergePHP slogan goes hereBuilding lightning fast search with MeilisearchJosh Butts2020-06-11T19:00:00-04:002024-02-10T03:40:26+00:00https://www.mergephp.com/meetups/2020/06/11/building-lightning-fast-search-with-meilisearch.html<p>MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box.</p>Open Sourcing Mental IllnessMatt Trask2020-07-09T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/07/09/open-sourcing-mental-illness.html<p>Years ago, Ed Finkler opened up and told the community about his struggles with depression and anxiety. Fast forward today, and he has successful led a group of passionate people in an organization called Open Sourcing Mental Illness.\n\nThis talk will focus on our efforts as an organization, where we have been, where we are going and also dive into some numbers and stories along the way. While this is a heavier talk, I tend to inject humor where I can to keep it light while still delivering an impactful message.</p>New MySQL Features That You May Have MissedDave Stokes2020-08-13T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/08/13/new-mysql-features-that-you-may-have-missed.html<p>MySQL has gone to a continuous release cycle so that new features are added several times a year. This quickly provides a better product to customers. The news about these new facets may have escaped your notice if you were not paying attention. So you may have missed the addition of hash joins, multi-valued indexes, the ability to validate JSON documents before the are stored, dual passwords, the clone replication tool, and other improvements. This session will cover not only what is new, but how to use those new goodies.</p>Anti-Patterns in PHPAhmed Abdou2020-09-10T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/09/10/anti-patterns-in-php.html<p>PHP is one of the easiest programming languages to use ever and powers more than half of the internet.</p> <p>With this ease of use, certain common patterns emerge that become harmful. This is especially true when your product or service is not expected to die soon. Some anti-patterns are coding, others are related to operating your service, especially with new docker stacks. We will go over some of the most common pitfalls with a focus on enterprise development.</p>Deployments and CodeScanning with GithubLogan Lindquist2020-10-08T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/10/08/deployments-and-codescanning-with-github.html<p>Github Actions have been in general release for almost a year now. How far have we come in that time and what is left to do? Let's take a deep dive into several new features to have recently come out of Github. Last time we covered some other deployment options, but how does it compare? Come join the discussion this month with your friendly local user group. Live chat on YouTube or watch Zoom.</p>What's new in PHP 8.0Ian Littman2020-11-12T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/11/12/what-s-new-in-php-8-0.html<p>From attributes and named arguments to union types and a JIT, there's a lot of new functionality large and small landing in PHP 8, due out around Thanksgiving. We'll take a look at the highlights, as well as backward compatibility breaks to be aware of prior to upgrading.</p>Turbocharged Development with Docker, PHPStorm, and XdebugJames Seconde2020-12-10T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/12/10/turbocharged-development-with-docker-phpstorm-and-xdebug.html<p>My name is James, and I have a confession to make: I've been a var_dump()er my whole life. I tried Xdebug once years back, but a chance brush with social media from its author prompted the question: is Xdebug still relevant? Is it hard to set up?</p> <p>In a modern developer world of Docker containers and advanced IDEs, it was time to revisit how we go about writing software at Jump24 - in this talk, I'll set up Xdebug on a test project and show you how you can turbocharge your development like we did.</p>JWTs What PHP Devs Need To KnowDan Moore2021-01-14T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/01/14/jwts-what-php-devs-need-to-know.html<p>What is a JSON Web Token (JWT) and why do you care? JWTs are a stateless, standardized way to represent user data. This talk will discuss why JWTs matter and the nuts and bolts of JWTs. We'll also discuss how you might use a JWT in your web application and how to avoid certain common mistakes.</p>Never* Use ArraysLarry Garfield2021-02-11T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/02/11/never-use-arrays.html<p>PHP loves its arrays. Arrays are the uber-data structure. They’re a list, a map, a stack, a queue, everything in one! Which is the problem.</p> <p>Modern PHP grossly over-uses arrays. In most cases there are better options today, and when you find yourself reaching for “oh I’ll just make this an associative array”, stop. An extra 60 seconds of thought and code will often give you a more readable, faster, more memory-efficient, more flexible alternative. Classes, iterables, and collections can and should replace arrays in most of your day to day coding.</p> <p>This talk will go through what PHP arrays actually are (hint: they are not, in fact, arrays at all), why they’re so problematic, and what to do instead. By the end, you should find yourself (almost) never reaching for arrays to solve a problem.</p>Unicode and how to avoid troublePawel Luczkiewicz2021-03-11T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/03/11/unicode-and-how-to-avoid-trouble.html<p>In this talk, I'll be documenting the trials and tribulations I've experienced when working with Unicode; from encoding, to normalization, and the not-so-obvious differences between alphabets. I'll take you on the usual Product/Engineering journey where requirements can change, bugs are discovered where you least expect them, and your knowledge of Unicode needs to be as flexible as your Product Manager's priorities. You think 'Gemüse' === 'Gemüse'? You might be wrong!</p> <p>Attendees will walk away wielding newfound Unicode knowledge like a mighty sword, ready to slay an array of production issues related to characters and bytes. You'll get the most out of this session if you're required to show or produce text to users, but don't quite understand the barriers that exist. I've befriended the Unicode monster, and you can, too!</p>Bye Bye FPM 😓 Hello Unit!Timo Stark2021-04-08T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/04/08/bye-bye-fpm-hello-unit.html<p>NGINX Unit replaced PHP-FPM! Nginx Unit replaced the php fpm and brings an dynamically restful configurable implementation of an process manager for the PHP SAPI. With NGINX Unit we will have Full control over the Network as well as the Application Stack. Join us to learn more about how I moved my workload to NGINX Unit and why I would do it anytime again!</p>Static Analysis with PHPStanBrian Morto2021-05-13T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/05/13/static-analysis-with-phpstan.html<p>PHPStan is an excellent open-source static analysis tool. It's easy to add to your build and catches lots of bugs without writing a line of test code. This makes it especially useful for maintaining stability in older codebases which don't always have extensive test suites. I'll show you how to configure and run it, as well as some examples of subtle mistakes it will catch.</p>Using the Agile Methodology to Run My LifeIrene Mangem2021-06-10T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/06/10/using-the-agile-methodology-to-run-my-life.html<p>Interested in learning more about Agile? Me too! I am here to tell you that Agile can be applied to your life outside of software. Don't worry, there is a method to these processes or routines we are doing on a regular basis. Let's learn about how we can get better at these systems and turn them into more productive practices. Irene is here to teach you all things Agile.</p>Code Interfaces, Patents, and CopyrightsMike Stowe2021-07-08T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/07/08/code-interfaces-patents-and-copyrights.html<p>In a landmark decision that marked the end of a ten year saga, the Supreme Court ruled that APIs are not copyrightable. In this talk, we'll take a look at the claims from copyright to patent infringement, review the history of decisions, and look into the key statements behind the Supreme Court ruling. We'll discuss what this likely means for the future of code interfaces and what it means for interoperability. Note - this is not legal advice.</p>We brought OpenAPI Docs into our service catalog. Now what?Harsha Reddy and Zoe Song2021-08-12T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/08/12/we-brought-openapi-docs-into-our-service-catalog-now-what.html<p>With a large, globally distributed engineering department of over 2,000 engineers, service discoverability and access to API documentation are important problems at Wayfair. Integrations between systems require close coordination and overhead, making these kinds of projects expensive and brittle. To address this problem, we sought to surface OpenAPI documentation in our Backstage Service Catalog.</p> <p>We will discuss how over 175 API specifications are shared amongst teams at Wayfair. Our solution leverages the Kubernetes API, together with our home-grown tool for project generation, to programmatically surface OpenAPI files for inspection in Backstage. Backstage is a service catalog and developer portal recently released as open source by Spotify. Our work has had immediate service discoverability benefits for developers across our enterprise, with thousands of API doc page views since it launched. Of course, our work is never complete! As the solution rolled out, we discovered a lot of complexity in the space of surfacing API docs. We'll discuss some of the problems we've encountered, as well as the solutions we're trying, along the way. These problems include: whether to support code-first or schema-first development; how to store API schemas; and how to enforce versioning as part of the CI/CD pipeline. At the end of the talk, we want the audience to have a good understanding of the benefits of service discoverability, as well as the trade-offs inherent in making API specs discoverable.</p>Get Lando and Get Stuff DoneCal Evans2021-09-09T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/09/09/get-lando-and-get-stuff-done.html<p>How we develop software has come a long way since I started working with PHP 4.0. Today with tools like Docker, we can put each project in a container and isolate it from all other projects. The promise of Docker though has been difficult to deliver on. Crafting the proper config files and making sure all the pieces work together and talk together can be a daunting task, especially for a developer that just wants to get something done.</p> <p>Enter Lando. Lando is an abstraction layer on top of Docker that makes bringing up complex applications easy.</p> <p>In this talk, I'll demonstrate how easy it is to bring Lando up and start a project. Along the way I'll share a few of the things that I've learned about Lando and how it can make the lives of PHP developers easier.</p> <p>p.s. No StarWars jokes, I promise. :)</p>Living With Open Source ResponsibilityMario Blazek2021-10-14T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/10/14/living-with-open-source-responsibility.html<p>It is straightforward to open source a piece of code and call it a library. It is effortless to maintain it when you are the only user, but what happens when you reach the first hundred or thousand downloads.</p> <p>Semantic versioning, changelog, stable release, backward compatibility, continuous integration, and code coverage would probably be some of the buzzwords that would pop up into your head.</p> <p>Let's go through the process of being a responsible open-source developer and maintainer.</p>The Future of Continuous DeliveryPaul Dragoonis2021-11-11T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/11/11/the-future-of-continuous-delivery.html<p>It's the year 2021, an exciting time for the tech industry. Globally, software organisations and internet companies are delivering more and more software, at a rate and scale that we've never faced before.</p> <p>This unprecedented demand has created new challenges for us all, which have been hurting our organizations when creating continuous delivery solutions.</p> <p>The great thing about these new challenges is that they've sparked new and amazing innovations in the CI/CD industry.</p> <p>In Paul's talk he will be showing you:</p> <ul> <li>What new innovations the CI/CD, Cloud Native and Open Source communities have been developing.</li> <li>Where these innovations are taking the world of continuous delivery.</li> <li>What to expect, from the CD community, later this year, and into the future</li> </ul>What's New in PHP 8.1Hunter Skrasek2021-12-09T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/12/09/what-s-new-in-php-8-1.html<p>This month, we'll look at what's new, changed, and deprecated in the brand-new PHP 8.1. From larger changes like enums, fibers, readonly properties, and first-class callables, to smaller quality of life improvements like string-unpacked array keys and the array_is_list function, Laravel Austin's (and co-organizer of Longhorn PHP) Hunter Skrasek will guide you through what makes PHP 8.1 worth the upgrade effort.</p>Cool Tools for PHP DevelopmentBen Ramsey2022-01-13T19:00:00-05:002023-03-06T06:09:07+00:00https://www.mergephp.com/meetups/2022/01/13/cool-tools-for-php-development.html<p>In this talk, I'll crack open my toolbox and share some of the tools I use in daily development and why I think they improve the DX of projects I work on. We'll look at some familiar tools, such as PHPUnit and PHP_CodeSniffer, along with new tools like PHPStan and Psalm. I'll show how to configure these tools for better workflows through Composer scripts and plugins. We'll also see how to standardize your team's workflow with CaptainHook. By the end, I hope you'll leave with some good ideas for improving your team's DX.</p>Container-Native w/o k8s: PHP in ECS on AWSIan Littman2022-02-10T19:00:00-05:002023-03-05T03:17:20+00:00https://www.mergephp.com/meetups/2022/02/10/container-native-w-o-k8s-php-in-ecs-on-aws.html<p>When building Covie, I got to pick our tech stack, including where and how to run it. The choice was containerized on ECS with AWS, starting on Fargate.and so far, so good. We'll walk through how to set this stack up, with some tips and tricks along the way.</p>Becoming a Bug Exterminator!Joshua Ray Copeland2022-03-10T19:00:00-05:002023-03-06T06:09:27+00:00https://www.mergephp.com/meetups/2022/03/10/becoming-a-bug-exterminator.html<p>Have you struggled setting up XDebug or finding out what's wrong on Production? If the answer is yes then this talk is for you! We will cover how XDebug works, Debugging in PHPStorm or VS Code, advanced features of XDebug, what has changed from XDebug version 2 to 3, debugging javascript, framework debug toolbars, common pitfalls using XDebug &amp; Docker, war stories from my experience with production issues, SASS products to help you get more insight into your application, monitoring, logging, and much more. By the end, you will know all the secrets of how to become a Bug Exterminator.</p>The ABCs and 123s of HTTPMatt Trask2022-04-14T19:00:00-04:002023-03-06T06:09:40+00:00https://www.mergephp.com/meetups/2022/04/14/the-abcs-and-123s-of-http.html<p>This talk is the ABCs and 123s of HTTP. We look at the verbs, the status codes, the headers as well as things like CORS, OpenAPI, and JSON Schema</p>Docs and tests and tools, oh my!Tiffany Taylor2022-05-12T19:00:00-04:002023-03-06T06:10:08+00:00https://www.mergephp.com/meetups/2022/05/12/docs-and-tests-and-tools-oh-my.html<p>You may have heard the call for contributions to PHP, and you want to help. However, you don't know C, and don't want to become a C developer. Worry not, fellow PHP dev! There are other areas of PHP internals that need your help! This talk will pull back the veil on some of the lesser known areas of PHP docs and tooling that need sprucing up and improving.</p>Symfony vs. LaravelJoshua Copeland2022-06-09T19:00:00-04:002023-03-06T06:08:52+00:00https://www.mergephp.com/meetups/2022/06/09/symfony-vs-laravel.html<p>In this meetup, we will be having an open discussion on the features of Laravel and Symfony which are the two biggest frameworks in the world of PHP. We will be discussing pros and cons of each framework and going through setup examples, documentation, and just covering the 101 classes of these two amazing frameworks.</p>Beyond the Shire: Advanced Lando TechniquesAlec Reynolds2022-07-14T19:00:00-04:002023-03-06T06:13:52+00:00https://www.mergephp.com/meetups/2022/07/14/beyond-the-shire-advanced-lando-techniques.html<p>Every hero starts their journey from the comforts of home. However, the real adventure starts when you set aside the comforts of Bag End to head for parts unknown.</p> <p>Now that you have a few projects running in Lando, aren't you curious to see what this puppy can really do?</p> <p>In this presentation we'll cover…</p> <p>Goblin Fighting: Tips and tricks to help consultants and web teams dealing with LOTS of projects. Ring Forging: The foundations of custom Lando plugin creation. Fellowship Founding: Getting started with Lando contribution. Whether you've been up-and running with Lando for years or have just started using it, this presentation will help you find new tricks with Lando and encourage you to use your new powers for the good of all developers!</p>JavaScript Development In The Modern MonolithAlex Six2022-08-11T19:00:00-04:002023-03-06T06:08:44+00:00https://www.mergephp.com/meetups/2022/08/11/javascript-development-in-the-modern-monolith.html<p>Writing modern JavaScript applications can sometimes be such a pain. We know that JavaScript can be great for a user's experience and add whole new layers of exciting interactivity, but sometimes just the thought of having to leave our server-side PHP applications in the dust to build a single-page app can have us running for the hills. Surely, there must be a better way. And there is. Enter the Modern Monolith.</p>Microservices in Your MonolithAaron Francis2022-10-13T19:00:00-04:002023-03-05T03:17:20+00:00https://www.mergephp.com/meetups/2022/10/13/microservices-in-your-monolith.html<p>In this talk we'll look at how you can take advantage of some of the serverless platforms without taking on the complexity of managing a separate deploy process, development repository, or having to worry about securing your microservice's API. We'll see how to package, deploy, and execute small functions to serverless platforms, all from your existing monolithic application.</p>Take the helm and deploy at scaleCody Moss2022-11-10T19:00:00-05:002023-03-06T06:08:33+00:00https://www.mergephp.com/meetups/2022/11/10/take-the-helm-and-deploy-at-scale.html<p>This talk will take you through the beginner basics of K8s and will show a good example of how to deploy a PHP app to a kube cluster. This will cover the basics of kube deployments, monitoring, and scaling.</p>What's New In PHP 8.2Ian Littman2022-12-08T19:00:00-05:002023-03-05T03:17:20+00:00https://www.mergephp.com/meetups/2022/12/08/what-s-new-in-php-8-2.html<p>From new features like readonly classes, improvements to the type system, constants in traits, and backtrace parameter redaction, to changes and deprecations like dynamic properties, locale sensitivity in strtolower/upper(), and ${} in string interopolation, the latest version of PHP has something (or something to be aware of) for everyone...and it'll be released the day of this presentation! Tune in for info on how to get the latest version of PHP, detailed info on new features and changes, and a heads-up on how to most easily get your code up to date. Spoiler: if you aren't using dynamic properties, this is an easier jump than 8.1.</p>Filesystem Management with FlysystemMark Niebergall2023-01-12T19:00:00-05:002023-03-06T06:08:17+00:00https://www.mergephp.com/meetups/2023/01/12/filesystem-management-with-flysystem.html<p>Reading and writing files locally comes with many nuances and difficulties. It becomes even more complex when files are hosted on external servers like SFTP, AWS S3, Azure, and other providers. Flysystem provides an abstraction layer between an application and interacting with the filesystems. Explore how to use Flysystem Adapters for seamless file management for writing, reading, moving, copying, deleting, and other file interactions. See how to set permissions, configure adapters, get file information, stream files, write unit tests, and more in this technical dive into file management with Flysystem.</p>Docker is Dead, Long Live ContainersChris Tankersly2023-02-09T19:00:00-05:002023-03-06T06:08:08+00:00https://www.mergephp.com/meetups/2023/02/09/docker-is-dead-long-live-containers.html<p>Since Docker burst onto the scene, programmers have seen a radical shift in almost every ecosystem. From setting up environments to tooling to deployment, containers now influence many applications. The good news is that the idea of containers has taken hold, and we are no longer beholden to a technological monopoly. Let's look at the container ecosystem outside Docker and what a genuinely open, containerized future holds.</p>Webhooks: The Good, The Bad, and the UglyKeith Casey2023-03-09T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2023/03/09/webhooks-the-good-the-bad-and-the-ugly.html<p>Webhooks are a pillar of modern application development. They notify us of that new commit, an incoming text message, our email was delivered, and a payment was processed. Our systems can't function without webhooks sending data seamlessly and securely across the internet. But what happens if they're not secure? What happens if your webhooks are intercepted, manipulated, or even replayed against your systems? What are the best ways - as both a provider and consumer - to protect our systems? In this session, we'll delve into the 100+ implementations we explored to build webhooks. fyi to identify the best and worst patterns to protect our systems now and in the future.</p>Using Static Analysis To Improve Code Quality Across Both Backend and Frontend + Speeding up JSON queries with MySQL Multi-Valued IndexesDaniel Abernathy & Hunter Skrasek2023-04-13T19:00:00-04:002023-11-05T21:16:27+00:00https://www.mergephp.com/meetups/2023/04/13/using-static-analysis-to-improve-code-quality-across-both-backend-and-frontend-speeding-up-json-queries-with-mysql-multi-valued-indexes.html<p>This month we will have two talks!</p> <p>First, from Daniel Abernathy: This talk will cover Multi-Valued Indexes, a feature released in MySQL 8 which lets you index an array of values per row - perfect for improving queries that rely on certain JSON functions.</p> <p>And from Hunter Skrasek:</p> <p>Numerous technologies exist for creating web applications, with PHP and JavaScript being the most prevalent. Their dynamic typing and runtime execution capabilities allow for a seamless transition from prototype to finished product. However, as apps grow in complexity and significance in our everyday lives, the absence of type safety and compilation checks might be felt. In this presentation, we will explore the concept of static analysis and its potential to enhance your team's software development process.</p>Lightning Talks: Middleware, Cloud Run, REST, CoPilot, DuskMark Niebergall, Logan Lindquist, Ian Littman, Joshua Copeland, Chris Spruck2023-05-11T19:00:00-04:002023-08-10T21:00:22+00:00https://www.mergephp.com/meetups/2023/05/11/lightning-talks-middleware-cloud-run-rest-copilot-dusk.html<p>Mark on Laminias middleware Logan on using PHP with Cloud Run Ian on REST Requests Joshua on ChatGPT Github CoPilot Chris on Frontend testing with Laravel Dusk</p>Symfony to Laravel: Lessons LearnedIsrael Carberry2023-06-08T19:00:00-04:002023-11-05T21:16:27+00:00https://www.mergephp.com/meetups/2023/06/08/symfony-to-laravel-lessons-learned.html<p>Symfony and Laravel have emerged as the leading MVC frameworks for rapidly building and deploying web applications using PHP. While each has its advocates and naysayers, let's compare them in a way that highlights the strengths of each and their approaches to aiding the delivery of value. Whether you're a tech lead wanting to better guide the maturity of your systems, an engineer looking to broaden your knowledge, or just wanting to know if PHP is a viable option as a component in your stack, awareness of these differences can help smooth the path ahead of you.</p>Mastering Resilience: My Accidental Acting AdventureChristina Aldan2023-08-10T19:00:00-04:002023-08-11T02:52:54+00:00https://www.mergephp.com/meetups/2023/08/10/mastering-resilience-my-accidental-acting-adventure.html<p>Are you ready to explore leadership from one of the galaxy's most badass Jedi Padawans? Luckygirliegirl Christina Aldan learned first-hand how embodying the character of Asohka Tano, a Jedi Padawan from the Star Wars universe, can help us understand essential leadership principles. Asohka's courage, compassion, and resilience have inspired countless fans around the world. Drawing from her personal experience playing the Asohka Tano character on the Las Vegas Strip, Christina shares practical insights on how to apply Asohka's leadership traits to the real world. You'll learn how to embrace change, foster growth, and empower others to reach their fullest potential, all while staying true to your values and purpose. So grab your lightsaber and join Christina on a journey through a galaxy far, far away to discover the timeless wisdom of one of Star Wars' most fierce warriors.</p>Using Hasura to add a GraphQL API to existing applicationsAnirudh Sanjeev2023-09-14T19:00:00-04:002023-11-05T20:57:37+00:00https://www.mergephp.com/meetups/2023/09/14/using-hasura-to-add-a-graphql-api-to-existing-applications.html<p>Hasura is an open-source application written in Haskell which provides a robust GraphQL API for any Postgres and MySQL database. This talk will provide a brief introduction to Hasura but focus more on pathways to integrate it into an existing PHP application - with a Laravel example.</p> <p>We will cover:</p> <ul> <li>Authentication</li> <li>Access control of database records</li> <li>Applying mutations in server code</li> </ul>Architecture Design Patterns for PHPMark Niebergall2023-10-12T19:00:00-04:002023-11-05T21:16:27+00:00https://www.mergephp.com/meetups/2023/10/12/architecture-design-patterns-for-php.html<p>Understanding the various code architecture design patterns can take years of hands-on experience, and benefits from surveying the wider development community. Get all caught up with this overview of a variety of best-practice patterns, including Strategy, Factory, Adapter, Facade, Repository, and more. Learn about the different pattern classifications, dig into pros and cons for each pattern, discuss SOLID implementation considerations, and see useful code examples to get you using each pattern.</p>What's New In PHP 8.3Tim Bond2023-11-09T19:00:00-05:002024-01-12T00:04:41+00:00https://www.mergephp.com/meetups/2023/11/09/what-s-new-in-php-8-3.html<p>All the new features in PHP 8.3</p>Behavior Driven Development and Browser Testing using CodeceptionAlena Holligan2023-12-14T19:00:00-05:002024-01-12T00:04:41+00:00https://www.mergephp.com/meetups/2023/12/14/behavior-driven-development-and-browser-testing-using-codeception.html<p>Codeception provides <strong>PHP TESTING FOREVERYONE</strong>by collecting and sharing best practices and solutions for testing PHP web applications. With a flexibleset of included modules, tests are easy to write, easy to use, and easy to maintain. Join Alena Holliganto start writing your own tests today. We'll focus on acceptance testing with a browser, but Codeceptionalso provides functional, unit, and API testing. We'll take a look at setting up Codeception and writingbasic tests before jumping into Behavior Driven Development and the Gherkins syntax.</p> <p>Behavior Driven Development (BDD) is a popular software development methodology.BDD is an extension of Test Driven Development (TDD) inspired by Agile practices. But is the added layerreally worth it? The primary reason to choose BDD as your development process is to break downcommunication barriers between business and technical teams. BDD encourages automated testing to verifyall documented features of a project from the beginning.</p> <p>Narrow the idea of story BDD:</p> <ul> <li>describe features in a scenario with a formal text</li> <li>use examples to make abstract things concrete</li> <li>implement each step of a scenario for testing</li> <li>write actual code implementing the feature</li> </ul> <p>By writing every feature in User Story format that is automatically executable as a test, we ensure that: businesses, developers, QAs, and managers are all on the same page. BDD encourages exploration and debate to formalize the requirements and features by writing the User Stories so everyone can understand. By making tests part of the User Story, BDD allows non-technical personnel to write (or edit) Acceptance tests. This procedure also ensures that everyone in a team knows what wasdeveloped, what was not, what was tested, and what was not.</p> <p>If you write your tests in a reusable way, it can often make your tests LESS complicated.Codeception collects and shares best practices and solutions for testing PHP web applications. With aflexible set of included modules, tests are easy to write, use, and maintain. Get started today writing your first BDD test.</p>PHP on Lambda with Custom RuntimesIan Littman2024-01-11T19:00:00-05:002024-01-12T00:18:24+00:00https://www.mergephp.com/meetups/2024/01/11/php-on-lambda-with-custom-runtimes.html<p>It's 2024 and, while AWS still doesn't have an official PHP runtime for Lambda, it doesn't need one thanks to both custom runtime and container support in Lambda. This talk will show you how Lambda custom runtimes work, how to build one that speaks PHP, and how to set up Lambda to either handle web requests or hook into other AWS services to process jobs in a highly elastic manner. As a bonus, you'll see how things work with Lambda's Docker container support, as well as with Bref, the tooling you'll likely want to use if you choose to deploy PHP Lambdas in production without restoring to e.g. Laravel Vapor.</p>Ride the Pipelines and Deploy a PHP App. Cowabunga!Josh Copeland2024-02-08T19:00:00-05:002024-02-10T03:40:39+00:00https://www.mergephp.com/meetups/2024/02/08/ride-the-pipelines-and-deploy-a-php-app-cowabunga.html<p>In the rapidly evolving landscape of web development, the deployment of PHP applications can be a complex and time-consuming process. This talk aims to demystify and streamline the deployment process by leveraging the powerful capabilities of GitHub Actions and GitLab Pipelines. We will start by introducing Continuous Integration/Continuous Deployment (CI/CD) principles and how they can be effectively applied to PHP projects. The first part of the talk will focus on GitHub Actions. We will explore how to set up a basic workflow that includes steps for testing, building, and deploying a PHP application. This section will cover creating custom workflow files, configuring jobs, and managing dependencies. Special attention will be given to best practices for security and efficiency in a GitHub Actions environment. Transitioning to GitLab Pipelines, the second part of the talk will delve into its unique features. We will demonstrate how to configure a .gitlab-ci.yml file for a PHP project, including setting up different stages for testing, building, and deploying. We’ll also discuss how to use GitLab’s built-in features like environment variables and caching to optimize the deployment process. Throughout the talk, practical examples and real-world scenarios will be used to illustrate key concepts. By the end of this session, attendees will have a comprehensive understanding of how to effectively use GitHub Actions and GitLab Pipelines for deploying PHP applications. They will be equipped with the knowledge to set up their own CI/CD pipelines, leading to more efficient, reliable, and automated deployment processes. Slides can be found <a href="https://docs.google.com/presentation/d/1vF7mbstn58jUsd1t2OIdMeymi0Q0Y7k4ozh12PQvxGg/edit?usp=sharing">here</a></p>Debugging Unleashed: Mastering xrDebug for PHP BrillianceRodolfo Berrios2024-03-14T19:00:00-04:002024-02-10T03:45:47+00:00https://www.mergephp.com/meetups/2024/03/14/debugging-unleashed-mastering-xrdebug-for-php-brilliance.html<p>xrDebug is the Open-Source alternative to some paid debugging tools. xrDebug is a portable debug utility that lets you debug PHP code on the fly without any extensions. It has features like multi-peer support, pause functionality, an HTTP API, and end-to-end encryption. In this Meetup, we will show you how to use xrDebug effectively, explain its ideal use cases, and highlight the advantages it has over conventional debuggers.</p> +MergePHP RSS Feed2024-02-20T22:41:25+00:00https://www.mergephp.com/https://www.mergephp.com/icons/android-chrome-512x512.pnghttps://www.mergephp.com/icons/android-chrome-512x512.pngMergePHP slogan goes hereBuilding lightning fast search with MeilisearchJosh Butts2020-06-11T19:00:00-04:002024-02-20T22:40:58+00:00https://www.mergephp.com/meetups/2020/06/11/building-lightning-fast-search-with-meilisearch.html<p>MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box.</p>Open Sourcing Mental IllnessMatt Trask2020-07-09T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/07/09/open-sourcing-mental-illness.html<p>Years ago, Ed Finkler opened up and told the community about his struggles with depression and anxiety. Fast forward today, and he has successful led a group of passionate people in an organization called Open Sourcing Mental Illness.\n\nThis talk will focus on our efforts as an organization, where we have been, where we are going and also dive into some numbers and stories along the way. While this is a heavier talk, I tend to inject humor where I can to keep it light while still delivering an impactful message.</p>New MySQL Features That You May Have MissedDave Stokes2020-08-13T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/08/13/new-mysql-features-that-you-may-have-missed.html<p>MySQL has gone to a continuous release cycle so that new features are added several times a year. This quickly provides a better product to customers. The news about these new facets may have escaped your notice if you were not paying attention. So you may have missed the addition of hash joins, multi-valued indexes, the ability to validate JSON documents before the are stored, dual passwords, the clone replication tool, and other improvements. This session will cover not only what is new, but how to use those new goodies.</p>Anti-Patterns in PHPAhmed Abdou2020-09-10T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/09/10/anti-patterns-in-php.html<p>PHP is one of the easiest programming languages to use ever and powers more than half of the internet.</p> <p>With this ease of use, certain common patterns emerge that become harmful. This is especially true when your product or service is not expected to die soon. Some anti-patterns are coding, others are related to operating your service, especially with new docker stacks. We will go over some of the most common pitfalls with a focus on enterprise development.</p>Deployments and CodeScanning with GithubLogan Lindquist2020-10-08T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/10/08/deployments-and-codescanning-with-github.html<p>Github Actions have been in general release for almost a year now. How far have we come in that time and what is left to do? Let's take a deep dive into several new features to have recently come out of Github. Last time we covered some other deployment options, but how does it compare? Come join the discussion this month with your friendly local user group. Live chat on YouTube or watch Zoom.</p>What's new in PHP 8.0Ian Littman2020-11-12T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/11/12/what-s-new-in-php-8-0.html<p>From attributes and named arguments to union types and a JIT, there's a lot of new functionality large and small landing in PHP 8, due out around Thanksgiving. We'll take a look at the highlights, as well as backward compatibility breaks to be aware of prior to upgrading.</p>Turbocharged Development with Docker, PHPStorm, and XdebugJames Seconde2020-12-10T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2020/12/10/turbocharged-development-with-docker-phpstorm-and-xdebug.html<p>My name is James, and I have a confession to make: I've been a var_dump()er my whole life. I tried Xdebug once years back, but a chance brush with social media from its author prompted the question: is Xdebug still relevant? Is it hard to set up?</p> <p>In a modern developer world of Docker containers and advanced IDEs, it was time to revisit how we go about writing software at Jump24 - in this talk, I'll set up Xdebug on a test project and show you how you can turbocharge your development like we did.</p>JWTs What PHP Devs Need To KnowDan Moore2021-01-14T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/01/14/jwts-what-php-devs-need-to-know.html<p>What is a JSON Web Token (JWT) and why do you care? JWTs are a stateless, standardized way to represent user data. This talk will discuss why JWTs matter and the nuts and bolts of JWTs. We'll also discuss how you might use a JWT in your web application and how to avoid certain common mistakes.</p>Never* Use ArraysLarry Garfield2021-02-11T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/02/11/never-use-arrays.html<p>PHP loves its arrays. Arrays are the uber-data structure. They’re a list, a map, a stack, a queue, everything in one! Which is the problem.</p> <p>Modern PHP grossly over-uses arrays. In most cases there are better options today, and when you find yourself reaching for “oh I’ll just make this an associative array”, stop. An extra 60 seconds of thought and code will often give you a more readable, faster, more memory-efficient, more flexible alternative. Classes, iterables, and collections can and should replace arrays in most of your day to day coding.</p> <p>This talk will go through what PHP arrays actually are (hint: they are not, in fact, arrays at all), why they’re so problematic, and what to do instead. By the end, you should find yourself (almost) never reaching for arrays to solve a problem.</p>Unicode and how to avoid troublePawel Luczkiewicz2021-03-11T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/03/11/unicode-and-how-to-avoid-trouble.html<p>In this talk, I'll be documenting the trials and tribulations I've experienced when working with Unicode; from encoding, to normalization, and the not-so-obvious differences between alphabets. I'll take you on the usual Product/Engineering journey where requirements can change, bugs are discovered where you least expect them, and your knowledge of Unicode needs to be as flexible as your Product Manager's priorities. You think 'Gemüse' === 'Gemüse'? You might be wrong!</p> <p>Attendees will walk away wielding newfound Unicode knowledge like a mighty sword, ready to slay an array of production issues related to characters and bytes. You'll get the most out of this session if you're required to show or produce text to users, but don't quite understand the barriers that exist. I've befriended the Unicode monster, and you can, too!</p>Bye Bye FPM 😓 Hello Unit!Timo Stark2021-04-08T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/04/08/bye-bye-fpm-hello-unit.html<p>NGINX Unit replaced PHP-FPM! Nginx Unit replaced the php fpm and brings an dynamically restful configurable implementation of an process manager for the PHP SAPI. With NGINX Unit we will have Full control over the Network as well as the Application Stack. Join us to learn more about how I moved my workload to NGINX Unit and why I would do it anytime again!</p>Static Analysis with PHPStanBrian Morto2021-05-13T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/05/13/static-analysis-with-phpstan.html<p>PHPStan is an excellent open-source static analysis tool. It's easy to add to your build and catches lots of bugs without writing a line of test code. This makes it especially useful for maintaining stability in older codebases which don't always have extensive test suites. I'll show you how to configure and run it, as well as some examples of subtle mistakes it will catch.</p>Using the Agile Methodology to Run My LifeIrene Mangem2021-06-10T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/06/10/using-the-agile-methodology-to-run-my-life.html<p>Interested in learning more about Agile? Me too! I am here to tell you that Agile can be applied to your life outside of software. Don't worry, there is a method to these processes or routines we are doing on a regular basis. Let's learn about how we can get better at these systems and turn them into more productive practices. Irene is here to teach you all things Agile.</p>Code Interfaces, Patents, and CopyrightsMike Stowe2021-07-08T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/07/08/code-interfaces-patents-and-copyrights.html<p>In a landmark decision that marked the end of a ten year saga, the Supreme Court ruled that APIs are not copyrightable. In this talk, we'll take a look at the claims from copyright to patent infringement, review the history of decisions, and look into the key statements behind the Supreme Court ruling. We'll discuss what this likely means for the future of code interfaces and what it means for interoperability. Note - this is not legal advice.</p>We brought OpenAPI Docs into our service catalog. Now what?Harsha Reddy and Zoe Song2021-08-12T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/08/12/we-brought-openapi-docs-into-our-service-catalog-now-what.html<p>With a large, globally distributed engineering department of over 2,000 engineers, service discoverability and access to API documentation are important problems at Wayfair. Integrations between systems require close coordination and overhead, making these kinds of projects expensive and brittle. To address this problem, we sought to surface OpenAPI documentation in our Backstage Service Catalog.</p> <p>We will discuss how over 175 API specifications are shared amongst teams at Wayfair. Our solution leverages the Kubernetes API, together with our home-grown tool for project generation, to programmatically surface OpenAPI files for inspection in Backstage. Backstage is a service catalog and developer portal recently released as open source by Spotify. Our work has had immediate service discoverability benefits for developers across our enterprise, with thousands of API doc page views since it launched. Of course, our work is never complete! As the solution rolled out, we discovered a lot of complexity in the space of surfacing API docs. We'll discuss some of the problems we've encountered, as well as the solutions we're trying, along the way. These problems include: whether to support code-first or schema-first development; how to store API schemas; and how to enforce versioning as part of the CI/CD pipeline. At the end of the talk, we want the audience to have a good understanding of the benefits of service discoverability, as well as the trade-offs inherent in making API specs discoverable.</p>Get Lando and Get Stuff DoneCal Evans2021-09-09T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/09/09/get-lando-and-get-stuff-done.html<p>How we develop software has come a long way since I started working with PHP 4.0. Today with tools like Docker, we can put each project in a container and isolate it from all other projects. The promise of Docker though has been difficult to deliver on. Crafting the proper config files and making sure all the pieces work together and talk together can be a daunting task, especially for a developer that just wants to get something done.</p> <p>Enter Lando. Lando is an abstraction layer on top of Docker that makes bringing up complex applications easy.</p> <p>In this talk, I'll demonstrate how easy it is to bring Lando up and start a project. Along the way I'll share a few of the things that I've learned about Lando and how it can make the lives of PHP developers easier.</p> <p>p.s. No StarWars jokes, I promise. :)</p>Living With Open Source ResponsibilityMario Blazek2021-10-14T19:00:00-04:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/10/14/living-with-open-source-responsibility.html<p>It is straightforward to open source a piece of code and call it a library. It is effortless to maintain it when you are the only user, but what happens when you reach the first hundred or thousand downloads.</p> <p>Semantic versioning, changelog, stable release, backward compatibility, continuous integration, and code coverage would probably be some of the buzzwords that would pop up into your head.</p> <p>Let's go through the process of being a responsible open-source developer and maintainer.</p>The Future of Continuous DeliveryPaul Dragoonis2021-11-11T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/11/11/the-future-of-continuous-delivery.html<p>It's the year 2021, an exciting time for the tech industry. Globally, software organisations and internet companies are delivering more and more software, at a rate and scale that we've never faced before.</p> <p>This unprecedented demand has created new challenges for us all, which have been hurting our organizations when creating continuous delivery solutions.</p> <p>The great thing about these new challenges is that they've sparked new and amazing innovations in the CI/CD industry.</p> <p>In Paul's talk he will be showing you:</p> <ul> <li>What new innovations the CI/CD, Cloud Native and Open Source communities have been developing.</li> <li>Where these innovations are taking the world of continuous delivery.</li> <li>What to expect, from the CD community, later this year, and into the future</li> </ul>What's New in PHP 8.1Hunter Skrasek2021-12-09T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2021/12/09/what-s-new-in-php-8-1.html<p>This month, we'll look at what's new, changed, and deprecated in the brand-new PHP 8.1. From larger changes like enums, fibers, readonly properties, and first-class callables, to smaller quality of life improvements like string-unpacked array keys and the array_is_list function, Laravel Austin's (and co-organizer of Longhorn PHP) Hunter Skrasek will guide you through what makes PHP 8.1 worth the upgrade effort.</p>Cool Tools for PHP DevelopmentBen Ramsey2022-01-13T19:00:00-05:002023-03-06T06:09:07+00:00https://www.mergephp.com/meetups/2022/01/13/cool-tools-for-php-development.html<p>In this talk, I'll crack open my toolbox and share some of the tools I use in daily development and why I think they improve the DX of projects I work on. We'll look at some familiar tools, such as PHPUnit and PHP_CodeSniffer, along with new tools like PHPStan and Psalm. I'll show how to configure these tools for better workflows through Composer scripts and plugins. We'll also see how to standardize your team's workflow with CaptainHook. By the end, I hope you'll leave with some good ideas for improving your team's DX.</p>Container-Native w/o k8s: PHP in ECS on AWSIan Littman2022-02-10T19:00:00-05:002023-03-05T03:17:20+00:00https://www.mergephp.com/meetups/2022/02/10/container-native-w-o-k8s-php-in-ecs-on-aws.html<p>When building Covie, I got to pick our tech stack, including where and how to run it. The choice was containerized on ECS with AWS, starting on Fargate.and so far, so good. We'll walk through how to set this stack up, with some tips and tricks along the way.</p>Becoming a Bug Exterminator!Joshua Ray Copeland2022-03-10T19:00:00-05:002023-03-06T06:09:27+00:00https://www.mergephp.com/meetups/2022/03/10/becoming-a-bug-exterminator.html<p>Have you struggled setting up XDebug or finding out what's wrong on Production? If the answer is yes then this talk is for you! We will cover how XDebug works, Debugging in PHPStorm or VS Code, advanced features of XDebug, what has changed from XDebug version 2 to 3, debugging javascript, framework debug toolbars, common pitfalls using XDebug &amp; Docker, war stories from my experience with production issues, SASS products to help you get more insight into your application, monitoring, logging, and much more. By the end, you will know all the secrets of how to become a Bug Exterminator.</p>The ABCs and 123s of HTTPMatt Trask2022-04-14T19:00:00-04:002023-03-06T06:09:40+00:00https://www.mergephp.com/meetups/2022/04/14/the-abcs-and-123s-of-http.html<p>This talk is the ABCs and 123s of HTTP. We look at the verbs, the status codes, the headers as well as things like CORS, OpenAPI, and JSON Schema</p>Docs and tests and tools, oh my!Tiffany Taylor2022-05-12T19:00:00-04:002023-03-06T06:10:08+00:00https://www.mergephp.com/meetups/2022/05/12/docs-and-tests-and-tools-oh-my.html<p>You may have heard the call for contributions to PHP, and you want to help. However, you don't know C, and don't want to become a C developer. Worry not, fellow PHP dev! There are other areas of PHP internals that need your help! This talk will pull back the veil on some of the lesser known areas of PHP docs and tooling that need sprucing up and improving.</p>Symfony vs. LaravelJoshua Copeland2022-06-09T19:00:00-04:002023-03-06T06:08:52+00:00https://www.mergephp.com/meetups/2022/06/09/symfony-vs-laravel.html<p>In this meetup, we will be having an open discussion on the features of Laravel and Symfony which are the two biggest frameworks in the world of PHP. We will be discussing pros and cons of each framework and going through setup examples, documentation, and just covering the 101 classes of these two amazing frameworks.</p>Beyond the Shire: Advanced Lando TechniquesAlec Reynolds2022-07-14T19:00:00-04:002023-03-06T06:13:52+00:00https://www.mergephp.com/meetups/2022/07/14/beyond-the-shire-advanced-lando-techniques.html<p>Every hero starts their journey from the comforts of home. However, the real adventure starts when you set aside the comforts of Bag End to head for parts unknown.</p> <p>Now that you have a few projects running in Lando, aren't you curious to see what this puppy can really do?</p> <p>In this presentation we'll cover…</p> <p>Goblin Fighting: Tips and tricks to help consultants and web teams dealing with LOTS of projects. Ring Forging: The foundations of custom Lando plugin creation. Fellowship Founding: Getting started with Lando contribution. Whether you've been up-and running with Lando for years or have just started using it, this presentation will help you find new tricks with Lando and encourage you to use your new powers for the good of all developers!</p>JavaScript Development In The Modern MonolithAlex Six2022-08-11T19:00:00-04:002023-03-06T06:08:44+00:00https://www.mergephp.com/meetups/2022/08/11/javascript-development-in-the-modern-monolith.html<p>Writing modern JavaScript applications can sometimes be such a pain. We know that JavaScript can be great for a user's experience and add whole new layers of exciting interactivity, but sometimes just the thought of having to leave our server-side PHP applications in the dust to build a single-page app can have us running for the hills. Surely, there must be a better way. And there is. Enter the Modern Monolith.</p>Microservices in Your MonolithAaron Francis2022-10-13T19:00:00-04:002023-03-05T03:17:20+00:00https://www.mergephp.com/meetups/2022/10/13/microservices-in-your-monolith.html<p>In this talk we'll look at how you can take advantage of some of the serverless platforms without taking on the complexity of managing a separate deploy process, development repository, or having to worry about securing your microservice's API. We'll see how to package, deploy, and execute small functions to serverless platforms, all from your existing monolithic application.</p>Take the helm and deploy at scaleCody Moss2022-11-10T19:00:00-05:002023-03-06T06:08:33+00:00https://www.mergephp.com/meetups/2022/11/10/take-the-helm-and-deploy-at-scale.html<p>This talk will take you through the beginner basics of K8s and will show a good example of how to deploy a PHP app to a kube cluster. This will cover the basics of kube deployments, monitoring, and scaling.</p>What's New In PHP 8.2Ian Littman2022-12-08T19:00:00-05:002023-03-05T03:17:20+00:00https://www.mergephp.com/meetups/2022/12/08/what-s-new-in-php-8-2.html<p>From new features like readonly classes, improvements to the type system, constants in traits, and backtrace parameter redaction, to changes and deprecations like dynamic properties, locale sensitivity in strtolower/upper(), and ${} in string interopolation, the latest version of PHP has something (or something to be aware of) for everyone...and it'll be released the day of this presentation! Tune in for info on how to get the latest version of PHP, detailed info on new features and changes, and a heads-up on how to most easily get your code up to date. Spoiler: if you aren't using dynamic properties, this is an easier jump than 8.1.</p>Filesystem Management with FlysystemMark Niebergall2023-01-12T19:00:00-05:002023-03-06T06:08:17+00:00https://www.mergephp.com/meetups/2023/01/12/filesystem-management-with-flysystem.html<p>Reading and writing files locally comes with many nuances and difficulties. It becomes even more complex when files are hosted on external servers like SFTP, AWS S3, Azure, and other providers. Flysystem provides an abstraction layer between an application and interacting with the filesystems. Explore how to use Flysystem Adapters for seamless file management for writing, reading, moving, copying, deleting, and other file interactions. See how to set permissions, configure adapters, get file information, stream files, write unit tests, and more in this technical dive into file management with Flysystem.</p>Docker is Dead, Long Live ContainersChris Tankersly2023-02-09T19:00:00-05:002023-03-06T06:08:08+00:00https://www.mergephp.com/meetups/2023/02/09/docker-is-dead-long-live-containers.html<p>Since Docker burst onto the scene, programmers have seen a radical shift in almost every ecosystem. From setting up environments to tooling to deployment, containers now influence many applications. The good news is that the idea of containers has taken hold, and we are no longer beholden to a technological monopoly. Let's look at the container ecosystem outside Docker and what a genuinely open, containerized future holds.</p>Webhooks: The Good, The Bad, and the UglyKeith Casey2023-03-09T19:00:00-05:002023-03-23T02:47:26+00:00https://www.mergephp.com/meetups/2023/03/09/webhooks-the-good-the-bad-and-the-ugly.html<p>Webhooks are a pillar of modern application development. They notify us of that new commit, an incoming text message, our email was delivered, and a payment was processed. Our systems can't function without webhooks sending data seamlessly and securely across the internet. But what happens if they're not secure? What happens if your webhooks are intercepted, manipulated, or even replayed against your systems? What are the best ways - as both a provider and consumer - to protect our systems? In this session, we'll delve into the 100+ implementations we explored to build webhooks. fyi to identify the best and worst patterns to protect our systems now and in the future.</p>Using Static Analysis To Improve Code Quality Across Both Backend and Frontend + Speeding up JSON queries with MySQL Multi-Valued IndexesDaniel Abernathy & Hunter Skrasek2023-04-13T19:00:00-04:002023-11-05T21:16:27+00:00https://www.mergephp.com/meetups/2023/04/13/using-static-analysis-to-improve-code-quality-across-both-backend-and-frontend-speeding-up-json-queries-with-mysql-multi-valued-indexes.html<p>This month we will have two talks!</p> <p>First, from Daniel Abernathy: This talk will cover Multi-Valued Indexes, a feature released in MySQL 8 which lets you index an array of values per row - perfect for improving queries that rely on certain JSON functions.</p> <p>And from Hunter Skrasek:</p> <p>Numerous technologies exist for creating web applications, with PHP and JavaScript being the most prevalent. Their dynamic typing and runtime execution capabilities allow for a seamless transition from prototype to finished product. However, as apps grow in complexity and significance in our everyday lives, the absence of type safety and compilation checks might be felt. In this presentation, we will explore the concept of static analysis and its potential to enhance your team's software development process.</p>Lightning Talks: Middleware, Cloud Run, REST, CoPilot, DuskMark Niebergall, Logan Lindquist, Ian Littman, Joshua Copeland, Chris Spruck2023-05-11T19:00:00-04:002023-08-10T21:00:22+00:00https://www.mergephp.com/meetups/2023/05/11/lightning-talks-middleware-cloud-run-rest-copilot-dusk.html<p>Mark on Laminias middleware Logan on using PHP with Cloud Run Ian on REST Requests Joshua on ChatGPT Github CoPilot Chris on Frontend testing with Laravel Dusk</p>Symfony to Laravel: Lessons LearnedIsrael Carberry2023-06-08T19:00:00-04:002023-11-05T21:16:27+00:00https://www.mergephp.com/meetups/2023/06/08/symfony-to-laravel-lessons-learned.html<p>Symfony and Laravel have emerged as the leading MVC frameworks for rapidly building and deploying web applications using PHP. While each has its advocates and naysayers, let's compare them in a way that highlights the strengths of each and their approaches to aiding the delivery of value. Whether you're a tech lead wanting to better guide the maturity of your systems, an engineer looking to broaden your knowledge, or just wanting to know if PHP is a viable option as a component in your stack, awareness of these differences can help smooth the path ahead of you.</p>Mastering Resilience: My Accidental Acting AdventureChristina Aldan2023-08-10T19:00:00-04:002023-08-11T02:52:54+00:00https://www.mergephp.com/meetups/2023/08/10/mastering-resilience-my-accidental-acting-adventure.html<p>Are you ready to explore leadership from one of the galaxy's most badass Jedi Padawans? Luckygirliegirl Christina Aldan learned first-hand how embodying the character of Asohka Tano, a Jedi Padawan from the Star Wars universe, can help us understand essential leadership principles. Asohka's courage, compassion, and resilience have inspired countless fans around the world. Drawing from her personal experience playing the Asohka Tano character on the Las Vegas Strip, Christina shares practical insights on how to apply Asohka's leadership traits to the real world. You'll learn how to embrace change, foster growth, and empower others to reach their fullest potential, all while staying true to your values and purpose. So grab your lightsaber and join Christina on a journey through a galaxy far, far away to discover the timeless wisdom of one of Star Wars' most fierce warriors.</p>Using Hasura to add a GraphQL API to existing applicationsAnirudh Sanjeev2023-09-14T19:00:00-04:002023-11-05T20:57:37+00:00https://www.mergephp.com/meetups/2023/09/14/using-hasura-to-add-a-graphql-api-to-existing-applications.html<p>Hasura is an open-source application written in Haskell which provides a robust GraphQL API for any Postgres and MySQL database. This talk will provide a brief introduction to Hasura but focus more on pathways to integrate it into an existing PHP application - with a Laravel example.</p> <p>We will cover:</p> <ul> <li>Authentication</li> <li>Access control of database records</li> <li>Applying mutations in server code</li> </ul>Architecture Design Patterns for PHPMark Niebergall2023-10-12T19:00:00-04:002023-11-05T21:16:27+00:00https://www.mergephp.com/meetups/2023/10/12/architecture-design-patterns-for-php.html<p>Understanding the various code architecture design patterns can take years of hands-on experience, and benefits from surveying the wider development community. Get all caught up with this overview of a variety of best-practice patterns, including Strategy, Factory, Adapter, Facade, Repository, and more. Learn about the different pattern classifications, dig into pros and cons for each pattern, discuss SOLID implementation considerations, and see useful code examples to get you using each pattern.</p>What's New In PHP 8.3Tim Bond2023-11-09T19:00:00-05:002024-01-12T00:04:41+00:00https://www.mergephp.com/meetups/2023/11/09/what-s-new-in-php-8-3.html<p>All the new features in PHP 8.3</p>Behavior Driven Development and Browser Testing using CodeceptionAlena Holligan2023-12-14T19:00:00-05:002024-01-12T00:04:41+00:00https://www.mergephp.com/meetups/2023/12/14/behavior-driven-development-and-browser-testing-using-codeception.html<p>Codeception provides <strong>PHP TESTING FOREVERYONE</strong>by collecting and sharing best practices and solutions for testing PHP web applications. With a flexibleset of included modules, tests are easy to write, easy to use, and easy to maintain. Join Alena Holliganto start writing your own tests today. We'll focus on acceptance testing with a browser, but Codeceptionalso provides functional, unit, and API testing. We'll take a look at setting up Codeception and writingbasic tests before jumping into Behavior Driven Development and the Gherkins syntax.</p> <p>Behavior Driven Development (BDD) is a popular software development methodology.BDD is an extension of Test Driven Development (TDD) inspired by Agile practices. But is the added layerreally worth it? The primary reason to choose BDD as your development process is to break downcommunication barriers between business and technical teams. BDD encourages automated testing to verifyall documented features of a project from the beginning.</p> <p>Narrow the idea of story BDD:</p> <ul> <li>describe features in a scenario with a formal text</li> <li>use examples to make abstract things concrete</li> <li>implement each step of a scenario for testing</li> <li>write actual code implementing the feature</li> </ul> <p>By writing every feature in User Story format that is automatically executable as a test, we ensure that: businesses, developers, QAs, and managers are all on the same page. BDD encourages exploration and debate to formalize the requirements and features by writing the User Stories so everyone can understand. By making tests part of the User Story, BDD allows non-technical personnel to write (or edit) Acceptance tests. This procedure also ensures that everyone in a team knows what wasdeveloped, what was not, what was tested, and what was not.</p> <p>If you write your tests in a reusable way, it can often make your tests LESS complicated.Codeception collects and shares best practices and solutions for testing PHP web applications. With aflexible set of included modules, tests are easy to write, use, and maintain. Get started today writing your first BDD test.</p>PHP on Lambda with Custom RuntimesIan Littman2024-01-11T19:00:00-05:002024-01-12T00:18:24+00:00https://www.mergephp.com/meetups/2024/01/11/php-on-lambda-with-custom-runtimes.html<p>It's 2024 and, while AWS still doesn't have an official PHP runtime for Lambda, it doesn't need one thanks to both custom runtime and container support in Lambda. This talk will show you how Lambda custom runtimes work, how to build one that speaks PHP, and how to set up Lambda to either handle web requests or hook into other AWS services to process jobs in a highly elastic manner. As a bonus, you'll see how things work with Lambda's Docker container support, as well as with Bref, the tooling you'll likely want to use if you choose to deploy PHP Lambdas in production without restoring to e.g. Laravel Vapor.</p>Ride the Pipelines and Deploy a PHP App. Cowabunga!Josh Copeland2024-02-08T19:00:00-05:002024-02-10T03:40:39+00:00https://www.mergephp.com/meetups/2024/02/08/ride-the-pipelines-and-deploy-a-php-app-cowabunga.html<p>In the rapidly evolving landscape of web development, the deployment of PHP applications can be a complex and time-consuming process. This talk aims to demystify and streamline the deployment process by leveraging the powerful capabilities of GitHub Actions and GitLab Pipelines. We will start by introducing Continuous Integration/Continuous Deployment (CI/CD) principles and how they can be effectively applied to PHP projects. The first part of the talk will focus on GitHub Actions. We will explore how to set up a basic workflow that includes steps for testing, building, and deploying a PHP application. This section will cover creating custom workflow files, configuring jobs, and managing dependencies. Special attention will be given to best practices for security and efficiency in a GitHub Actions environment. Transitioning to GitLab Pipelines, the second part of the talk will delve into its unique features. We will demonstrate how to configure a .gitlab-ci.yml file for a PHP project, including setting up different stages for testing, building, and deploying. We’ll also discuss how to use GitLab’s built-in features like environment variables and caching to optimize the deployment process. Throughout the talk, practical examples and real-world scenarios will be used to illustrate key concepts. By the end of this session, attendees will have a comprehensive understanding of how to effectively use GitHub Actions and GitLab Pipelines for deploying PHP applications. They will be equipped with the knowledge to set up their own CI/CD pipelines, leading to more efficient, reliable, and automated deployment processes. Slides can be found <a href="https://docs.google.com/presentation/d/1vF7mbstn58jUsd1t2OIdMeymi0Q0Y7k4ozh12PQvxGg/edit?usp=sharing">here</a></p>Debugging Unleashed: Mastering xrDebug for PHP BrillianceRodolfo Berrios2024-03-14T19:00:00-04:002024-02-10T04:06:42+00:00https://www.mergephp.com/meetups/2024/03/14/debugging-unleashed-mastering-xrdebug-for-php-brilliance.html<p>xrDebug is the Open-Source alternative to some paid debugging tools. xrDebug is a portable debug utility that lets you debug PHP code on the fly without any extensions. It has features like multi-peer support, pause functionality, an HTTP API, and end-to-end encryption. In this Meetup, we will show you how to use xrDebug effectively, explain its ideal use cases, and highlight the advantages it has over conventional debuggers.</p> diff --git a/docs/meetups/2020/06/11/building-lightning-fast-search-with-meilisearch.html b/docs/meetups/2020/06/11/building-lightning-fast-search-with-meilisearch.html index 261a850..1cdca54 100644 --- a/docs/meetups/2020/06/11/building-lightning-fast-search-with-meilisearch.html +++ b/docs/meetups/2020/06/11/building-lightning-fast-search-with-meilisearch.html @@ -54,6 +54,7 @@

Building lightning fast search with Meilisearch

+ Watch on YouTube
diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 1176fe9..07348bc 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -2,13 +2,13 @@ https://www.mergephp.com/ - 2024-02-10T03:47:40+00:00 + 2024-02-20T22:41:25+00:00 daily 1 https://www.mergephp.com/meetups/2020/06/11/building-lightning-fast-search-with-meilisearch.html - 2024-02-10T03:40:26+00:00 + 2024-02-20T22:40:58+00:00 weekly 0.5 @@ -50,7 +50,7 @@ https://www.mergephp.com/meetups/2020/index.html - 2024-02-10T03:40:26+00:00 + 2024-02-20T22:40:58+00:00 weekly 0.5 @@ -290,7 +290,7 @@ https://www.mergephp.com/meetups/2024/03/14/debugging-unleashed-mastering-xrdebug-for-php-brilliance.html - 2024-02-10T03:45:47+00:00 + 2024-02-10T04:06:42+00:00 weekly 0.5 diff --git a/src/Meetup/Meetup20200611BuildingLightningFastSearchWithMeilisearch.php b/src/Meetup/Meetup20200611BuildingLightningFastSearchWithMeilisearch.php index c7af52f..2709b94 100644 --- a/src/Meetup/Meetup20200611BuildingLightningFastSearchWithMeilisearch.php +++ b/src/Meetup/Meetup20200611BuildingLightningFastSearchWithMeilisearch.php @@ -37,4 +37,9 @@ public function getSpeakerBio(): string { return ''; } + + public function getYouTuBeLink(): string + { + return 'https://www.youtube.com/watch?v=fOJVr4wFgOo'; + } }