February 26-28, 2020
Montreal, Canada

Top 20 sessions

JavaScriptTests & Quality Have you ever felt helpless, facing some cryptic code you had to change? You know, the kind of code that has no test to tell you if something breaks…

This is a scenario I frequently faced. And I learn better ways to work with such Legacy Code.

In this session, I'll show you how to write tests on existing code, even when you don't understand what it does. You'll learn how to modify this code and know that nothing broke when you’re done.
JavaScriptSecurity As long as we’ve been using the internet, and way before that, we have been authenticating through some sort of username and password combination. It has become the standard. With the ever-increasing number of web-apps, we’re seeing more and more data breaches as well. What if we could build our authentication processes in a way the user doesn’t need a password?
JavaScript Long gone are the days when JavaScript was just good for opening popup windows and validating forms. Modern browsers support countless APIs, providing access to client hardware, implementing security protocols, push notifications, and many more. Join this code-heavy whirlwind tour of APIs you didn't know existed, but you want to try out right after the session.
DevOps The end is nigh. Your application is almost ready and you will need to deploy it. And with the deployment, the endless tweaking to actually get everything running in a production environment. If only there was a way to test everything in that environment first… This is where containers will come in to save the day. With container, you not only run your code in an environment similar to the production server, it is the production environment.
JavaScript JavaScript is an interesting language. It can mimic almost any style you want: procedural, object-oriented, functional, etc. In this presentation, I will take a simple problem and will solve it using different approaches. With each step, we will see the power of the new approach to take the complexity away, while still being the JavaScript we all love to hate.
DevOpsTests & Quality Discover how 4 development teams adopted the principles of Continuous Delivery on an existing application. Learn what worked well & what didn’t, and the reality of failing pipelines, flaky tests and brittle infrastructure: transitioning from manual bi-weekly releases to 30 deployments per day.
DevOpsSecurity OWASP, a nonprofit composed of security experts from around the world, provides a number of free and open source tools designed by security experts to help your secure your applications. Learn how to integrate these tools - from active penetration tests to project dependency checkers - into your DevOps pipeline and deliver on the promise of continuous security.
JavaScriptTests & Quality This presentation looks at the variety of ways we can test a typical web application. From unit tests to end-to-end, from functional to visual testing, from happy paths to the edge cases - there are a lot of solutions available, and each new technique gives us additional confidence in our application. This presentation will teach you how to guide test writing using code coverage using Cypress open-source test runner.
Security In March 2019 the W3C released the Level 1 of the recommendation for the new Web Authentication Standard "WebAuthn". Supported by all major browser vendors, it strives to make passwords as well as phishing a thing of the past. Given millions of stolen credentials, the switch away from passwords should happen rather sooner than later. Learn what WebAuthn is about, how it works, and how to leverage its potential for you site today!
DatabasesDevOps Web technologies have come leaps and bounds. But are you still using the tired old database from last generation? Let's look at the methodology of microservices, compare it to bounded contexts, and look at ops tasks for micro-databases. Let's tour all the flavors of databases, understand their pros and cons, and when you would choose it. You'll leave with a roadmap for moving from data-monolyth to micro-databases.
Tests & Quality Comme développeur, on nous demande toujours d'aller plus vite sans jamais sacrifier la qualité. Je raconte comment j'ai réalisé ce miracle durant le développement d'une application web en appliquant le TDD (Test Driven Development) assisté de l'outil de test Cypress.io. Suite à ma présentation, vous n'aurez plus d'excuse pour ne pas faire de tests!
Git is the modern-day version management system of choice.
We all know how to commit, push, pull and merge. But what about (interactive) rebasing, fixing up commits, cherry picking lines and bisecting the history ?
And what are those atomic commits you keep hearing people talk about ?

Come and learn how to get the most out of the tooling you use every day and leave knowing how to create a clean commit history which is a joy to peruse.
Architecture & Design PatternsJavaScript Scaling is about more than servers and shards, it's about team communication, exponential complexity, and the problems that only arrive when an app gets large enough to have them. This talk is about some principles and techniques developed specifically for managing the complexity of large front-end web applications at scale, to bring sanity back to your development teams and “performance and polish” to your users.
Mobile Flutter is a new framework made by Google to build cross-platform application. Despite well-established competitors such as Ionic, React Native, Xamarin, etc., the growth and the adoption of Flutter is stunning.
Let’s open the hood of Flutter, see what is inside, demonstrate how this framework is on track to fulfill a golden promise: unifying web and mobile in a single codebase without the headache!
CareerManagementDocumentation They say a picture is worth a thousand words... I've learned that I can replace a 20 page document with a 2 page diagram that explains it all. Words do not help because words require interpretation.

However images, diagrams, pictures speak volume and their meaning is universal. In this talk I will demonstrate how to transform long documents into simple diagrams; and how you can leverage that power of communication to convince almost anybody!
HTML & CSSUX & UI Toi qui t'es déjà plongé(e) dans CSS3 Flexbox, tu t'es sans doute déjà rendu(e) compte que ce mode de positionnement n'est pas la réponse à la grande question sur la vie, l'univers et le reste.
En gros, des fois ça marche, des fois ça marche pas, ... et des fois ça dépend !
Déjouons ensemble les pièges de Flexbox et franchissons un nouveau cap dans nos projets web.
JavaScriptNode.js From bots to command-line scripts and workflows, every team has their own set of tools to help empowering individual contributors.

In this talk we are going to share some of these fun usages of Node.js for mocking all services APIs that helps us improve productivity for developers in the context of a fast growing startup.
PHP PHP loves arrays. They're the uber data structure. That's the problem.

In modern PHP there are almost always better options than bare arrays that are easier to use, safer, less bug-prone, and faster. Yes, all of those.

This talk will go through what PHP arrays actually are (hint: they are not arrays at all), why they're problematic, and what to do instead.
Management Finding highly-qualified professionals and then managing them successfully is one of the most difficult tasks leaders face. Just a small number of poor performers can bring down a team and impact delivering a great product. On top of poor hiring practices, when leaders fail to inspire, enable and provide an environment where their team can collaborate and thrive, they will consistently produce mediocre results.
PHPTests & Quality Of course you test your code... you may even use test driven development.
But are your tests actually testing your code ? Or are they just there to satisfy the CI process ?

In this talk Juliette will focus on the tips and tricks she learned over the years.

Learn how to improve your test setup, what assertions to use when, why data providers are incredibly useful and how to make your tests more descriptive and easier to debug.

View all 156 sessions