HTTP Caching is something many people have heard of, and usually know a bit about but skip implementing in any real way. Browsers are expected to do everything correctly by default, and backend systems don’t bother because Redis Caching is apparently fine... Well it’s not. Balancing real-time information and avoiding making unnecessary requests isn’t a pipe dream, and there are plenty of tools out there to help you get it done right now.
This prototype works, but it's not pretty, and now it's in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it's imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we'll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
We are still not working together on our projects. And that leads to frustration and hinders productivity. See how by using a common developer tool you enforce a common process and a common language, boosting your projects and making developers happier.
Let Nigel explain why you shouldn't use the Git command line.
I will deliberate on the importance of stress-testing an application before launch and also introducing a very simple helper package that I made to speed up bulk inserting thousands of rows of test data. The package is Laravel-specific but the general concept is tech agnostic.
For both the frontend and backend there are many frameworks that allow for the rapid and solid build of web applications. Many projects require the knowledge of a framework. In some cases this leads a developer to be more understanding of a framework instead of the language that the framework is written in. Should every application be built using a framework and if not, when is it OK not to use a framework?
The OWASP Top 10 2017 is a powerful awareness document for web application security and a new version has been recently released. The list, which represents the most common vulnerabilities found in web applications, suits very well testers. But how can developers write more secure applications to prevent these ? What are the security techniques they can use while writing their software to prevent these? These are hard questions, as evidenced by the increased cyber breaches. In this talk, we will explore together the new OWASP Top10 2017. Staring from real world examples and breaches, we identify the security controls that developers can use in SDLC to help them to prevent the most common vulnerabilities.
An overview of how web developers can protect their applications, their businesses, but most importantly; their sanity. It will include a brief overview of common mistakes made with web applications that could lead the developer, and/or others to a security faux pas. Some best practices to follow, and some real world examples of where I/others have screwed up.
PHP’s latest major release is a truly major release! (And tautologies are tautologies.) With more ease-of-use functionality than you can shake a stick at, PHP 8.0 promises to offer more power in less code than any PHP version to date. Covering the whole of PHP 8.0's improvements would take a whole book (and has), but we can cover the major features in an hour. Expect code that is easier to write, easier to read, and more flexible than ever before in the web’s premiere server-side language. If after this talk you aren’t itching to move your code to PHP 8.0, you’re either asleep or not a PHP developer (so why are you here?)
Building APIs can be easy right, we design the data model, slap some routes in and controllers to wrap our ORM access. But is this efficient, and does it scale? What happens when our application grows to a point where we have 100s of Models and more scopes than your average game of Call of Duty? How can we structure and approach our APIs in Laravel, so that scale from a code perspective isn't an issue? In this talk I will take you through how I approach this problem, and have been approaching this problem for the last few years.