Your current filters are…
You've written an application and now the worst thing that can happen to you has come about - People are using it! You now have load spikes to deal with. You can scale up to deal with the excess traffic, but what do you do when your load is variable? How do you do that, and stay on budget?
This session is a case study on getting an App Engine app to scale to serve 30,000,000 requests an hour. It will take you through the architecture, the code changes and the technology trade offs to get to that level of traffic.
by Emily Stamey
Being flexible to changes in business process makes our jobs easier, and it helps our applications adapt to those changes with minimal code changes. One of the biggest adaptions in our applications has been the addition of Event Sourcing to make a note of an Event that happened in the system. With these Events, we can affect change immediately, or even later. This is most helpful in our reporting interfaces. We can build, change, and throw away our reports very easily. This is much easier than our older reports being generated by large SQL queries.
Attendees will learn:
- idealogical differences between status flags and events
- triggering events in your application
- handling events to reflect the state of your application data
- building reports from events that are easy to chang
by ᴠᴀɴᴄᴇ ʟᴜᴄᴀꜱ
This talk gives a brief introduction to Node.js and the event loop model (don’t block the event loop!), and covers common pitfalls when using Node.js with simple and practical solutions.
It takes a special kind of person to enjoy writing documentation; not only do I have to write [ideally] working code, but now I have to write words that a human being can understand? What is this madness?!
Luckily, good documentation lives on outside your codebase. By following common documentation standards, we can generate comprehensive manuals that instruct others how to integrate with our software. After all, to code is human, but to document is divine.
by Adam Culp
Developers would love to "automate all the things", but where do we start? What tools exist for automating? And what can actually be automated? If we don't have unit tests can we still benefit from deployment automation? Adam Culp will show how a PHP application pulled from git, complete with unit tests, Composer dependency management, and package creation, can be deployed flawlessly using Jenkins. Then see how "Dev" and "Ops" are supported by a system if the application breaks through automated rollbacks.
PHP has been adopting testing on a wider scale over the past several years, and it feels like we're finally at a point where we can start to sharpen our skills and tools, rather than rallying to see any testing at all. At this point we should start ensuring that our tests tell the story we'd like them to.
Through an analogy of storytelling, this talk aims to help you be the hero of your testing story by giving new context and perspective to the way a test suite should read to both your colleagues and your future self. We'll demonstrate how proper naming and assertions can lead to simpler, faster debugging. We'll also see how an end-to-end test has a far more compelling story when you focus on describing the feature and business goals over describing a specific UI workflow in painful detail.
REGEX! Love it or hate it, sometimes you actually need it. And when that time comes, there’s no reason to be afraid or to ask for help from that weirdo on your team who actually loves regular expressions. (I’m that weirdo, fwiw.)
This session is geared towards beginning and intermediate regex users, and will cover topics using practical examples that you might encounter in your own projects.
by Eli White
Best practices are important, but are they always the best for your situation? I spent years working on large software projects where best practices were crucial. Milestone planning, multiple code branching, 99.9% uptime requirements, heavy testing, deployment processes, etc. But I then blindly applied those to every project afterward. In retrospect, that hurt many projects, especially in smaller companies and startups where the speed of innovation was more important and downtime acceptable. In this session, learn from my experience and discover where cutting corners is not only acceptable but better for the project. At the same time, determine which practices are crucial and should be used no matter what!
by Joel Lord
When higher traffic coupled with costly operations begin to degrade your site’s performance, an asynchronous job queue can be a valuable tool to help relieve the stress. With Gearman, PHP developers can easily farm out non-time-critical jobs like image processing, external API requests, and complex data processing operations to a pool of workers better suited to the task, leaving their webservers free to continue serving requests.
Join Michael Moussa as he walks you through the basics of setting up a Gearman job server, writing clients to communicate with it, and creating workers to do the heavy lifting. After the basics are out of the way, he'll go into some pitfalls to watch out for when working with Gearman, as well as some tricks to make development easier.
If you build it, they will come.. well no, not really. Not even close.
As developers, too often we believe the best tech wins. We want to believe customers care about clean code, the most features, and our architecture. It turns out, no one cares.
When we’re building products, we need to understand the problem we’re solving, who we’re solving it for, and how to reach them. In this session, we'll review concrete steps and discuss how to turn your project into a product.
by David Hayes
WordPress is almost certainly the most successful PHP software in the world. And that success is not — though some might joke that it is — an accident. In this talk we'll examine what WordPress has done right and what that can teach other software. We'll also talk about some of WordPress's problems, and understand how they mirror those of other large open-source projects.
Reviewing your peers' code is a critical part of working on a team - it helps prevent bugs and can give you understanding of parts of the application you haven't worked on. The key is knowing what to look for in a code review - and then communicating your thoughts in an effective way. In this session, we'll look at example PRs and practice reviewing them to get the best results.
Are you an experienced developer that is now in charge of other business tasks maybe as part of a small business or startup? Customer service can be tricky and leave a lasting impression. Come learn from first-hand experience what to expect, how to answer the question that is meant- not the one that is asked, and how to effectively communicate with your customer and achieve a better outcome for all.
by Ben Edmunds
Learn to expand beyond just PHP to integrate other languages into both your personal skill set and the solutions you deliver.
Not only will this give you another tool in your tool belt, it will give you a greater understanding of development practices and the ability to on new jobs, new projects, and new challenges.
by Adam Wathan
Learning how to test your code can be overwhelming. Sure, building a calculator with TDD is easy, but when you're trying to build a real application, things get complicated fast.
What's the difference between a mock and a stub? Are my tests allowed to hit the database? How do I test this billing code that interacts with Stripe?
Together we'll TDD a fresh Laravel app from scratch, never writing a line of code without writing a test first. I'll show you how to get the ball rolling with your application's very first test, how to add new features with outside-in TDD, and how to design tests that make it easy to refactor with confidence.
by Cal Evans
Contribute to Open Source!
Everyone tells you that you need to. What if you don't want to run an Open Source project? What if you just need something to work? What if you just want to use Open Source, can you still make a contribution? Of course you can!
In this talk we will look at three broad groupings of roles that you can play in any Open Source project. Take a look around, find your role and your project and make a difference.
20th–22nd April 2017