Below is a full listing of the 3-hour in-depth SunshinePHP tutorials to be presented on February 2nd the day prior to the official conference.
NOTE: In order to attend these 3-hour in-depth tutorials an additional ticket for the tutorial day must be purchased from the Registration page.
Build Security In
There's a classic mantra when it comes to security in applications: "build in security from the start". This is easy to say but much more difficult to put into practice, especially when first starting out. In this tutorial session let me guide you though some of the basic concepts and how to apply them in your code to ensure the security of your application is well architected and effective against your ultimate adversary: the hacker.
I'll start with some of the basic topics, like authorization/authentication and input validation, before moving on to good security principles like "defense in depth", fault-tolerant development and tools and techniques to ensure the security of your application. Come get your hands dirty and learn to secure your applications from the start!
Create Your Own Local Development Environments With Vagrant
Every project, it's the same dang thing! You setup a special snowflake that is your development environment. What if each environment didn't have to be an artisanal wortutorial_tagk of art? What if you could build one, spin it up for each project and never have to worry about it again? Let's talk.
In this tutorial, we will see how Vagrant, VirtualBox, Ansible, and other tools will make setting up a new development environment easier than getting your next cup of coffee. In this session you will learn:
- Vagrant Basics
- Customizing Vagrant using shell scripts and Ansible Playbooks
- Advanced Vagrant customization options
Join us and go from snowflakes to lego blocks for your next development environment.
Docker for PHP Developers
Thanks to tools like vagrant, puppet/chef, and Platform as a Service services like Heroku, developers are extremely used to being able to spin up a development environment that is the same every time. What if we could go a step further and make sure our development environment is not only using the same software, but 100% configured and set up like production. Docker will let us do that, and so much more. We'll look at what Docker is, why you should look into using it, and all of the features that developers can take advantage of.
From SQL to noSQL
In this tutorial I will explain the differences between different types of
noSQL databases as well as the CAP theorem. I will then progress to illustrate
which paradigm shifts are necessary to successfully implement noSQL, using
MongoDB as an example.
The approaches to schema design, fault tolerance, the network breaking and
latency are all things that are inherent to scalability with noSQL solutions
and with this talk you will learn how to use MongoDB effectively considering
all the above mentioned situations.
Covered subjects will be: CAP theorem, schema design, dealing with error
situations and architecture of multi-node set-ups.
Introduction to Event Sourcing and CQRS
Have you heard about event sourcing and wondered what it is all about? Have you looked into it and wondered what sort of sorcery is going on behind the scenes that makes this magical technology work? Are you convinced that you cannot possibly move your existing applications to be event sourced? Take a step back and learn how event sourcing can be applied to a simple database-backed object model with little to no fuss. From there, see how you can start adding read models and begin to see how event sourcing and CQRS (Command Query Responsibility Segregation) go hand in hand!
Learn To Test Like A Grumpy Programmer
In the middle of Web 3.0 it's become obvious that a very large percentage of developers are aware that there are tools available that allow them to write automated tests for the code they write. But you don't write tests. Never have. You feel a little bad about it but you tell yourself that it looks really tough to get into and you have a hard deadline that doesn't have any time for you to learn to use these tools.
What if you could learn how to write tests from someone who has been using them for a long time and also knows how to explain it in a way that cuts down on the fear and anxiety while teaching you what you need to go to get started immediately? That's what Chris Hartjes, long-time PHP testing evangelist, wants to do for you.
In this workshop Chris starts you off from the point of never having written a unit test and guides you through what tests really are. Then he will show you PHPUnit works and what features are the ones you really need to know. Next you will walk through using Test Driven Development using some code katas and leave with a solid, practical foundation that you can take back to your regular job and actually use. Testing your code is hard and might require you to relearn some closely-held practices. Let a grumpy programmer fix that for you!
Please come with the following setup and ready:
PHP 7.0.x (whatever the stable version is)
PHPUnit (latest stable)
Mockery (latest stable)
PHP Extensions Tutorial
Elizabeth M Smith
Ever had a need for some library in C in your PHP code? Or want to hook into the engine to do evil? Or maybe you just want to make some part of PHP better. And then you say “but I don't know enough C”. PHP extensions are actually quite easy to write, even for those with only the smallest amount of C knowledge, if you know the secret incantations, places to find help, and where to get your tribal knowledge.
Write your own extension in this step by step tutorial which assumes you know nothing of PHP internals, the very basics of C syntax and little more, and have the ability to type “./configure && make && make install && make test”
We'll also touch on recognizing and fixing non PHP7 compatible extensions.
Untangle your async spaghetti code
No Preparation Instructions Needed