- Drop-in online meet-up
This Thursday we are hosting a virtual drop-in meet-up. We'll be online officially for an hour, between 7:00pm and 8:00pm. So drop in and say hello. Not having met in a while, becoming fatigued with all the online meetings, let's dispense with the presentations and speakers for this one. This drop-in virtual meet-up is for both the York Region and GTA PHP groups. Laravel Toronto is invited as well. My guess is we'll have two dozen-ish devs dropping in. We are using Google Meet. PLEASE NOTE THAT DUE TO PARANOIA, THE GOOGLE MEET URL WILL NOT BE POSTED ON OUR MEETUP.COM GROUPS. We had "an incident" last month, due to the online meeting's URL being distributed into the public domain. So we're going to limit this meet-up to our three Toronto groups, and to a very few specific guests. So please RSVP in meetup.com, and then make sure you send your email address to "[masked]" to get your Google Meet invite. Looking forward to seeing you!
- Joint Virtual PHP Meet-up with Caleb Porzio
I am thrilled to announce that a joint virtual meet-up of five (count 'em!) PHP groups will occur on Wednesday April 29th. * GTA PHP * York Region PHP * Guelph PHP User Group * Full Stack Buffalo * Ottawa PHP We are also inviting Laravel Toronto. We are using Google Meet (formerly Google Hangouts). We are using the up-to-250-attendee version. We anticipate being comfortably below 250, but we anticipate (hope) a broader participation. Although at this moment in time we are faced with hosting virtual meet-ups or having no meet-ups at all, we want to learn from this opportunity to host a joint meet-up so that perhaps we can learn to host one annually. The thinking is that since February is always a tough month for on-site meet-ups, that we should schedule a Virtual meet-up each February. And, as a way for us to keep in touch, we should have "one big joint meet-up". I am further thrilled to announce that Caleb Porzio will be presenting Livewire and AlpineJS. Caleb is a co-organizer of Full Stack Buffalo, speaker at the recent LaraConOnline (https://laracon.net/#speakers), and author of Livewire (https://laravel-livewire.com/) and AlpineJS (https://github.com/alpinejs/alpine). You can hear Caleb on his weekly "No Plans To Merge" podcast (https://noplanstomerge.simplecast.com/). In his spare time, Caleb shares his VS Code set-up at https://learn-vscode.com. I just published a blog post about this meet-up, along with thoughts about "code of conduct" at https://bobbloom.me/joint-virtual-php-meet-up-april-29-2020. We will publish the meeting URL closer to the virtual meet-up. Looking forward to seeing you! -Bob Bloom GTA-PHP Co-organizer [masked]
- Double Feature: New in PHP 7.4 and AWS API Gateway
At our first meetup of 2020 Vic will be going over the hottest new features in PHP 7.4. Also Mike Spendlove will talk about API Gateway on AWS. He'll discuss how it integrates with "serverless" and other AWS technologies. We aim for about 45 minutes between the two talks so that we have plenty of time for Q&A and networking. We'll be meeting at my own place of work, "Checkout 51". Getting there is easy. Take the King Street car to Sherbourne and walk North one block to a building called Studio City. Come in the Adelaide St. entrance and we'll have someone to shuttle people up to the fifth floor. I walk from Union Station and it takes about 20 minutes from there. Please RSVP if you can make it, and remember to cancel your RSVP if you're no longer planning to attend. Last time we hosted at Checkout 51 we ended up with way to much leftover pizza!
- Full Scale Deployment with Laravel Vapor
I am thrilled to tell you that Colin DeCarlo and Jesse Carter of Vehikl will be coming down from Waterloo to talk about Laravel Vapor. Laravel Vapor is a serverless deployment platform for Laravel on AWS. Lambda is the Amazon service central to Vapor, with about a dozen-and-a-half related/associated Amazon services linked to it. It is cliche to say that this is a rare opportunity, but in this case it is not cliche. This is a very rare opportunity to get a first hand presentation about Vapor from the only Canadian Laravel Partner (to my knowledge!) who speaks regularly at the Laracons. Vapor was announced late July, went into beta in August, and was generally available in September. So it is very new. Vapor is a breakthrough in two main ways. First, making serverless accessible to PHP. To get a sense of this, check out this free full article in PHP Architecture magazine (https://www.phparch.com/article/serverless-php-with-bref-part-one/). The second breakthrough is being able to deploy a Laravel app to AWS serverless without needing AWS certification, blocking off a chunk of time for set-up, and, so I hear, without needing gobs of money. Two years ago (almost), we had a speaker go through deploying Laravel on AWS (https://www.meetup.com/GTA-PHP-User-Group-Toronto/events/236998559/). It was a fabulous presentation with two main themes: code as deployment; and, Laravel as enterprise software is lacking. Well, here we are today with Vapor, where we will not need deployment code -- at least not the specific code to spin up EC2 instances, do the Docker Dance, etc etc. And, Laravel itself is tweaked for Vapor. It will be an interesting contrast! As always, thank you to Bounteous for hosting our meet-up. Links: * https://vapor.laravel.com/ * https://aws.amazon.com/lambda/ * Taylor's LaraCon2019 keynote: https://www.youtube.com/watch?v=XsPeWjKAUt0 * Taylor's "Serverless Chats" interview: https://www.serverlesschats.com/7 * Taylor's "Full Stack Radio" interview: http://www.fullstackradio.com/120 * https://laravel.com/partners
- Event Storming and Paper Plane Agile
This month will feature two mini-presentations at a new location: Checkout 51. Meraj Imani and Vic Metcalfe will present Event Storming, which is a Domain Driven Design (DDD) strategy that can make requirements gathering more fun and thorough. It also feeds brilliantly into a Behaviour Driven Development (BDD) workflow. Anyone using or interested in using Behat will be find value in Event Storming. Ming Shi will be presenting Paper Plane Agile. In the game, we will follow the scrum rituals to build paper planes and iteratively improve on our processes and skills. The goal is to show how scrum rituals can/will help to improve the overall throughput of the team. Also, why retrospective is important in helping so. In addition to that, it can also potentially show the importance of a T shaped team. I don't know what a T shaped team is, but I'm looking forward to finding out. See you there!
- Laravel Framework with Nova & Dusk
I am thrilled to feature the superb Laravel Framework to kick off our 2019-'20 meet-up season. My very own LaSalle Software is nearing its first production release. Built with Laravel, and very much integrating Laravel Nova -- the Laravel Project's first-party administrative package. I will be presenting LaSalle Software, with a focus on Nova, its linking Laravel models and policies to Nova "resources", and my Dusk test suite. This is the first Laravel application I recall being presented at GTA-PHP. This is a great opportunity to get under-the-hood into Laravel code, and to see Nova in action, as it is a commercial package. Vic will follow my presentation with an ode to Event Sourcing. I hope to squeeze in questions about: * how does AWS' API Gateway work with event sourcing (https://aws.amazon.com/api-gateway/)? * are web sockets a viable trigger of events? * is it advantageous to use NoSQL db's instead of SQL db's? We are looking forward to seeing you on Sep 12th! -Bob Bloom
- Intro to Clean Architecture and Domain Driven Design
The good news is that we have a fantastic new topic. The bad news is that those of you who registered for Docker and AWS will have to wait for another night. Thanks to Kartik for taking this spot. I've heard Kartik speak and he is very well spoken and knowledgable. This is a great opportunity for any developer to refine their skills and approach to development. Here's Kartik's description: As your business evolves, and the size of your code grows with it, how can you avoid falling into the trap of spaghetti code? With modern applications commonly delivered as suites of 10s or 100s of microservices, how can you divide the logic of your application up so that the complexity stays manageable? Domain Driven Design (DDD) offers some wisdom and guidance to tackle these issues. DDD is an approach for writing software, that attempts to align concepts in code as closely as possible to how business users would think about them. The idea is that through direct conversations between a software developer and a domain expert (i.e. a product or business person), we can develop a model of the business domain that maps very closely to the concepts in code. However, it goes far beyond that. DDD is fundamentally about managing complexity in the business logic of your application. This talk will start off by introducing some of the concepts of Uncle Bob Martin's Clean Architecture, to show you where in your application you'll want to apply DDD. We will then move on to talk about some of the basic object-oriented constructs introduced by DDD along with examples in PHP. While this talk is aimed at beginner to intermediate developers, it should be also be a good refresher for anyone who has read about or attempted to implement these concepts in their work. Look forward to seeing you there!