La liste des présentations est sujette à changement sans préavis.
Is it possible to accelerate your career 10 times? I believe yes. Well, maybe you guessed I meant 10 as a binary number though :)
It's a fact, at least half of what it takes for an accelerated career has (almost) nothing to do with your technical skills.
In this talk I'll focus on the habits, attitude, activities and non-technical skills that enhance and accelerate your career growth - and with some discipline on these you can reap the results.
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!
While a microservices architecture is more scalable than a monolith, it has a direct hit on performance.
To cope with that, one performance improvement is to set up a cache. It can be configured for database access, for REST calls or just to store session state across a cluster of server nodes. In this demo-based talk, I'll show how Hazelcast In-Memory Data Grid can help you in each one of those areas and how to configure it.
The number of Unicode code points has never stopped to grow just like its integration in modern technologies. Your web application is likely to support input and output formatted in UTF-8 character encoding. In this talk, you will learn about the security implications. What are the potential side effects of normalizing a UTF-8 string? How encoding can affect security controls? What are the security risks brought by punycode domains?
A typical workflow of a Data Scientist involves some level of exploratory data analysis. If you’re using Python when working with your data, you are probably quite familiar with packages like pandas, matplotlib, and others. Switching from pandas to Spark - how do you explore your data? How do you visualize it? In this talk, I’ll take a dataset and will explore it with Spark using IntelliJ IDEA and Apache Zeppelin.
You’ve been to a restaurant before, right? Have you noticed how everything is structured? Everyone has a job and there is a chain of command. You can’t just walk into the kitchen and tell the cook how you want your steak done. Kubernetes is actually very similar to this. You will deploy some pods that do specific things and set the rules of communications that dictate how they all talk to each other.
Accessibility is often seen as a costly endeavour, blocker to creative design, a complicated technical solution, or a problem left to QA.
Accessibility is an opportunity to create an excellent experience for all of your customers. Understanding your role in bringing that experience to the table, might be easier than you might think.
I will share some tips and tricks for making accessibility a simple part of your process.
There is a set of commonly held beliefs which (if true) make age discrimination in Tech perfectly logical behavior. If we wish to end age discrimination (and eventually we all do) we have to challenge those beliefs. Unfortunately, most of us are really sure that those beliefs are accurate reflections of reality. I will identify those beliefs and present evidence to debunk them.
Inspirational talk on how AI and Machine Learning is shaping the future and how roles and our processes in design and development will be shaped by it. AI will help designers and developers create better experiences because AI is a creative partner, "your Augmented Intelligence.” Becoming familiar with AI will ignite new thinking, shift approaches, deliver new tools, processes, and concepts.
Blockchain is an immature technology in a space polluted with scams and snake oil. It is easy to become skeptical about a tech that promises so much and hasn't delivered a thing outside of some dicey investment opportunities. But the potential is real. And the tech is neat. This primer will cover the fundamental concepts from an engineering perspective, as well as some of the emerging open source platforms you can start experimenting with today.
Most dev teams have a code review process but not all code review processes work as well as they could. I'll talk about why your team should bother doing code reviews in the first place, how your team can derive the greatest benefit from a healthy code review process, and how vital it is to your dev team culture. Most importantly, I'll explain why you should have your interns review your most senior developers' code.
What is legacy code? Did I just write more of it? ASP.NET rebooted itself to make it more maintainable and performant. Let's learn to build highly maintainable code as well. We'll look at the low-hanging fruit to get you on a path to avoiding the common pitfalls and reach for the easy wins. You can avoid legacy.
In 2018 I built all the software for "This Is Nowhere" an innovative app-based theatre experience in downtown Halifax NS. One of the many unique things about this project is how we worked closely with accessibility activists from the beginning and considered accessibility throughout the production process.
This talk will share what we learned about accessibility, and the surprising ways that it helped far more people than expected.
Dealing with date and time in code is tricky: units are not multiple of ten, time zones and DST are annoying...
In fact it's much more complicated! Not only do sun and moon influence our calendar system, but also Sumerians, Caesar, Norse gods, tidal rise, the pope, steam engines, and Einstein. Let me entertain you with fun facts about legacy support and leaky abstractions in time, or a fix for a >1500yr old bug with >400yr roll out duration.
async, await, generators, tasks, coroutines, oh my! Let's learn how this often overlooked module can help you write concurrent code, without starting multiple threads or using multiple CPU cores. You'll leave with a better understanding of what cooperative multitasking is and how you can use it in your own projects.
You probably don't manage a hockey team but I'm sure you have a number of tasks that you do regularily that would benefit by being automated.
I could make my life easier by automating the the process of managing my team. Calculating whether or not it would be worthwhile to expend the effort. Under estimating how long it would take but being happy with the results. Along the way I'll explain serverless concepts like FaaS, triggers & cloud db's
In the 13 years since Python 3 started diverging from Python 2, Python 3's gained many new features: from co-operative async programming, to optional static typing, and to string templating. These solve performance issues, maintainability issues, and developer productivity.
In 40 minutes, we'll show you the best new features from the last few releases of Python, why they're in Python, and how to use them. We'll have example code!
Learn how bitcoin really works internally!
We will start with very basic concepts about bitcoin but after we progress over the talk we will dig deeper into how the platform works (for example what is and how it works the bitcoin script language) and how you can make use of this fascinating tecnology.
- basic concepts
- how the bitcoin ledger works
- mining process
- script language
- between others!
How can designers improve the user experience of their mobile apps, reduce abandonment rates, and increase revenue? People want convenience, speed, and efficiency when using their mobile. However, many apps don’t follow established UI design standards and best practices, as a result, frustrating people with bad UX. Good and bad examples will be shown as we cover techniques, strategies, and best practices to elevate mobile UX.
Who would have thought putting 140 charachter messages about one's life online or having a virtual farm game could ever be popular ? Then again, many of us have those weird (but sometimes brilliant) ideas. So you have the idea that will make you the next Twitter or Facebook. But how do you actually turn that into a successful service ? What hurdles do you have to take and what pitfalls will you need to avoid ?
Scikit learn, decision forests, pandas, numpy, Jupyter Notebooks, where do I start? Machine learning can help you analyze data and get information to make better decisions, but it can also be intimidating. In this session I'll explain the basic steps required to train a machine learning model then we'll see how that looks in actual code using Python code in a Jupyter Notebook.
Google Cloud Run’s use of Knative introduced a portable Serverless solution built on top of Kubernetes. In this talk, we’ll recap the basic guidelines, use cases, and benefits of a Serverless architecture. Getting up and started, you will learn to take advantage of containers and the Ambassador API Gateway to serve event-driven application workloads and save costs using your existing Kubernetes resources.
Health data is some of the most private information your app can collect. You have a duty to your users to keep that data private, secure and encrypted. You also need to adhere to strict laws protecting that privacy, while scaling your company.
You'll learn about Protected Health Information (PHI) and how to protect it on Amazon Web Services.
We will show you : How we created a machine learning model to recognize bird songs; How we exposed both the data preparation and predict steps as cloud based APIS; How we used Node-RED to combine the audio recognition with Watson Visual Recognition to build a combined audio / visual bird recognition application.
Tensorflow, Keras, PyTorch, Theano. There are numerous ways to build deep neural networks in Python to accomplish amazing tasks such as computer vision, voice assistance and much more.
But what about in .NET? Let's explore that!
Join me in this session where we'll explore the ins and outs of deep learning and neural networks. We'll take a deep dive in to the hot open-source, cross-platform library ML.NET and build our own neural network in C#.
This talk will discuss the challenges of building HTTP API SDKs and what our two pizza sized team has learned from building SDKs for the Microsoft Graph. Microsoft Graph is an API with more than a billion users and 100K+ active client applications.
Caching personalized data is hard. Most systems just avoid caching stateful data altogether and use AJAX or ESI to get the job done.
In this presentation Thijs will present a developer-friendly way to cache templates in Varnish and parse the stateful data "on the edge" by directly accessing the application's Redis session store in Varnish.
This can be leveraged with a simple template filter in both Twig for Symfony and Blade for Laravel.
Jenkins is a popular automation server first released in 2011. A more recent innovation in Jenkins are declarative pipelines, a Groovy DSL bringing both simplicity and completeness.
In this session, you will learn the basics of a Jenkins Pipeline to build and deploy a software project. Some more advanced topics will also be shown, such as parallel build stages and version control support including pull requests.
"Grid Layout" : spécification CSS du W3C officiellement déclarée "Truc CSS le plus attendu de tous les temps par tous les développeurs web"...
Grid Layout excite, Grid Layout intrigue.
Nous répondrons à toutes les questions qui nous brûlent les claviers : Qu'est vraiment CSS Grid Layout ? Est-ce compatible et utilisable en production ? Vais-je enfin aimer CSS au point de reconnaître qu'il s'agit du plus beau langage au monde ?
Most of us are probably aware of code smells, but there are other coding horrors that should trigger alarm bells whenever we see them. Like a good horror movie, coding horrors should scare us when we find them, because they're often symptomatic of deeper problems. So let's take a short tour of some of the greatest horror movies ever made (and a few turkeys); and some of the most worrying code horrors that I've seen.
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.
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.
Object Detection has become very popular during the last few years. It may look complex from afar,How to train a model on my own dataset ? How do I label data? Which architecture should I choose ? What are the standard metrics to evaluate my model ? How to deploy my model ?
In this talk, we will go over a concrete example to present the typical journey to deploy an object detection application in python and answers those questions and many more.
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.
We talk a lot about various architectural approaches. Unfortunately, we don't talk as much about the environment in which we apply those techniques - the framework. In this talk I'd like to show you how you can apply virtually any kind of approach - DDD, CQRS, Event Sourcing, Hexagonal Architecture, and many more, virtually everywhere. There are no silver bullets, but with the right approach, we can get pretty close to that goal.
At McGill University, 1700 staff manage 900 sites that generate 10M page views per month. McGill's new digital standards define our criteria for building sites in areas such as usability, accessibility, brand adherence, security and more, in a succinct, user-friendly format. These standards are aimed at helping staff build better sites that provide positive user experiences. Find out how we produced and launched this initiative and the results.
AWS is the perfect platform to run a Rails App at scale. In this talk, you'll learn how to host and deploy your app using Elastic Beanstalk with the following features and technologies: SSL termination at the ELB load balancer (including a free SSL certificate), caching using Redis on Elasticache, and a database running on RDS. You'll learn how to deploy with zero downtime using a continuous delivery service.
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!
Deploying directly to production and testing in live can be scary, especially when your business can’t afford to lose any of its traffic; but having a staging environment isn’t always an option.
Yet with the right approach, a mix of clear process and good tools, the risks of deploying straight to production can be mitigated.
Separated layers are one of the fundamental principles of software design. Your framework is just the topmost layer, and your business code should not depend on it. While we will touch a few package design basics, the focus is on how to actually DO it, while still avoiding overengineering and clutter. We’ll also take a look at Deptrac, a tool to visualize layer dependencies during development.
The career path to the Architect role is broadly regarded as the "pure" technical way forward, as opposed to leading teams and projects. And that's wrong.
An architect has many responsibilities requiring effective communication and collaboration with practically all other roles in the project team and beyond.
Join me to hear which soft skills I think are most important for an architect to be successful - and how obtaining them can be hacked.
Ll’innovation vocale doit rester ouvert.
Cette session expliquera les différentes couches dans ce nouveau secteur du Web : la couche matérielle, la couche logicielle pour assurer la connexion aux services et traiter les interactions avec l’utilisateur.
Le Libre avec le projet DeepSpeech de Mozilla offre la possibilité de contrôler le matériel par la voix pour garder un Web ouvert en s’appuyant sur le projet Common Voice
How can we improve the efficiency of an existing web application? We could completely rewrite it, leverage more concurrency and even reactive features. But is it really worth it if we don’t even measure and track the relevant metrics? In this talk, Stéphane will work on an existing Spring Boot MVC application to make it more efficient. He’ll use out-of-the-box metrics, add new ones to measure, and keep an eye on capacity gains with dashboards.
Do as you’re told! Old-school leadership at its “finest”, telling you how, but not what. And certainly not “why”.
Join me as I talk you through the principles of mission command, which is all about pushing down or shifting left decision-making authority.
Learn how to apply these principles, benefit from the input and strengths of your people and empower your team(s).
Eclipse MicroProfile provides a set of APIs for creating cloud-native microservices. I will start with a blank sheet and build a set of well documented, configurable microservices that communicates with each other in a secure, traceable and fault-tolerant way using implementations from a wide range of vendors.
Learn how to get started with Eclipse MicroProfile to create portable 12-factor microservices in an efficient manner.
In the classic paper Data on the Outside versus Data on the Inside Pat Helland argued that data within a service boundary should be treated differently than data residing outside of it.
Here, I shall argue that the same applies to messages. Inside a service boundary messages are tightly coupled to the corresponding data manipulations. Outside, the world is much more hostile and less predictable and communication strategy needs to be adequate.
In a distributed system messages sometimes get lost or duplicated. That's a fact of life. It is really hard to execute business logic that assumes one trigger equals one outcome when a trigger can be lost or fire twice.
One way of dealing with the problem is taking advantage of natural idempotency of some operations, e.g. adding element to a set. But let's face it, most code is more complex than that. Join me an explore some alternatives.
Thanks to the new release schedule, we’ve seen 3 releases of Java within about a year - 11, 12, and 13. In this live-coding session, we explore the most useful features they bring, including extensions to the Collections API, updates to IO/NIO, String improvements, support for single-file source-code programs, switch expressions, text blocks, new HTTP/2 client, and more. Come and learn what’s new in Java in the last year, and how you can use it!
Functional programming has been a hot topic these days, new languages are being developed, others are getting traction and functional programming practices are being applied to all different sorts of programming languages. In this talk, I will present F#, a stable, mature and well support functional programming language that you can use today to solve a variety of types of problems, and you won't need a major in Math to put it to use.
So, you’ve migrated your application to Reactive Microservices to get the last ounce of performance from your servers. Perhaps you forgot about the logs: they be a huge roadblock on the road.
Application produce logs, and they need to be stored e.g. in Elasticsearch, with the minimum of fuss and the fastest way possible. I’ll show you some insider tips and tricks taken from our experience put you on the track toward fast(er) log management.
Three years ago we have started to build a bank. We made some mistakes, one of them was our API.
This talk describes our journey from an improvised anarchistic REST API to a well-documented, typed GraphQL interface. I will touch on technical and cultural aspects which you should consider if you plan to step into our footsteps.
What do you know about ARIA (Accessible Rich Internet Applications)? If you've heard of it, you might know that it's for making websites more accessible, right? What if I told you that bad ARIA is actually worse than no ARIA at all?
Some accessibility is built-in to web dev, so ARIA isn't always needed. But when it is, it's crucial to understand what you're doing, so you don't end up with a site that's less accessible than when you started.
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.
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!
In this case-study talk, we will share Brent’s journey through the adoption of modern observability practices as he operated an architecture of distributed services. Facing difficulties using application logs as the primary tool to debug performance and reliability issues? Learn how to improve your company toolkit and engineering habits using existing monitoring tools with the addition of distributed tracing.
How can we go from a legacy app based on Zend Framework 1 (or no framework at all) to its "modern" equivalent using Symfony 4 without attempting the big rewrite?
Step by step, sprint by sprint, we can migrate each feature and progressively transfer responsibilities while improving the quality and maintainability of the application. In this talk, we'll see how to attack this potentially humongous project and how Symfony can help you on this path.
“I have heard about NoSQL databases, but don’t know what they are. What’s the difference between NoSQL and relational databases like SQL?” Does this sound like you? In this talk, you will learn about the current NoSQL landscape and how you as a JS developer can take advantage of NoSQL databases.
In this talk we’ll explore various use-cases for building synchronous vs. asynchronous microservice systems, trade-offs, differences in scalability, availability and observability, and how to identify when we should start planning a migration from one to the other. We’ll talk about asynchronous system patterns like CQRS, Event Sourcing, and Data Busses. And we’ll address how to gradually evolve towards an asynchronous model.
Creating a new Spring application? Spring Boot is the best starting point and your shortest path to production.
During this live-coding session, we will see how Spring Boot can help us build web applications that leverage the Spring ecosystem. From tests to production-ready features, you'll get the full Boot experience.
There are well-established, useful patterns for it to be sure, and we’ll see a
few of these. But they can also be used for less obvious results, or plain fun
with mischevious tricks and quirky behavior!
Most critical systems are partially or entirely distributed, causing a number of challenges. Learn how to REALLY leverage OSS solutions like Spring Cloud Stream, RabbitMQ, & Kafka to maximize your systems' capabilities while minimizing complexity. There be dragons when dealing with messaging platforms; the presenter will show you several ways to tame & harness them for maximum fire & altitude. All examples will be coded *live & in real-time*!
gRPC is now natively supported in ASP.NET Core. It's more efficient than any API technique you've ever used and it's is way, way faster. That makes it very suitable for communication between microservices.
I will talk about what gRPC is but also how you can implement it right away in any ASP.NET Core application. On the consuming side there's also a lot to like!
You'll leave with the ability to create and consume APIs on steroids.
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.
Content Security Policy is the most effective browser measure for web application security in a decade, and one of the reasons why browser developers start removing other security safeguards like their Cross-Site Scripting auditor. But creating an effective Content Security Policy is not always trivial. This session will discuss lessons learned from many CSP projects: what is working, where are issues, and what features can we look forward to?
What makes Go the “language of the cloud”? Should I learn it? How and why does Microsoft use Go? We’ll take a whistle-stop tour of Go and its ecosystem and then explore it hands-on with code, tools, and techniques for web applications, APIs, CLIs, containers & serverless. This talk is for both aspiring and current Go developers ("Gophers") as well as anyone who is just Go-curious!
As GraphQL is set to overtake RESTful architectures. This newfound popularity also draws the attention of hackers. Well-known companies have suffered from critical vulnerabilities hidden within GraphQL endpoints. I will show you what GraphQL looks like from a hacker's perspective and walk you through typical attacks against this technology. We will wrap up by discussing ways developers can protect their API from these threats.
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.
Developing an AI product goes well beyond building an accurate machine learning model. In addition to the traditional product management components present in AI applications, data adds complexity to the system, from ingestion and validation to model deployment and UX. In this presentation you will learn about the lifecycle of data science projects, the challenges of building data products, and some lessons learned.
The flood of information hurt our productivity, creativity, and memory - Harvard Business Review. Companies and individuals are in denial of these negative outcomes - Zeldes, former Intel engineer. The good news is, our brain can be trained to be powerful. In this course, discover the science of memory formation and neuroplasticity. Also practice memory techniques to learn and perform better, double your memory, and gain clarity.
In this session, you'll see how to leverage open source Spring Security to implement OpenID Connect & OAuth2 with ease, adding powerful & extensible mechanisms for authentication & authorization to provide end-to-end security for your critical systems.
This session is a live-coding "lock it down" exploration of how to secure your apps & assets now and maintain their security over time using 100% open source software.
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.
As your code moves along the development and deployment pipeline, it becomes increasingly expensive to remediate security vulnerabilities. We will walk through each stage of this journey to introduce low cost and open source solutions to help you identify security issues before they are exposed to hackers. I will teach you how to use hacker tools to hack yourself first and protect yourself from breaches, on a budget.
In this talk we’ll explore mechanisms for observing and debugging distributed systems, with an eye towards taking an existing codebase that lacks observability and evolving it over time. In particular, we’ll focus on monitoring and metrics, logging, and distributed tracing tools that let us track transactions which span multiple services and execution contexts.
Together, we will create a highly-scalable serverless search engine using Azure Functions and Azure Search that performs 3 tasks: listening for new packages on NuGet.org (using a custom binding), indexing packages in a distributed way, and exposing an API that accepts queries and gives our clients the best result. Expect code, insights into the service design process, and more!
GDPR has brought privacy & security to the fore, but it's not obvious to developers how to make privacy part of everyday development. "privacy by design" has been around since 1995, but is only now receiving the attention it deserves, providing a clear set of principles that can be used to embed privacy into development workflows. Find out how we can use modern frameworks, tools, and automation to build auditable privacy into our applications.
Internet of Things workloads present a different type of challenge, especially at scale. PBSC Urban Solutions is a worlwide provider of bike sharing solutions. It provides distributed services across multiple continents. In this presentation, you will learn about the challenges of running a distributed IoT system in the Cloud. We will go through scenarios involving bike sharing and see how to tackle them.
In this talk, we will be getting our hands dirty the Raspberry Pi and Node. By the end of this talk, you will be able to run Node on your Pi, hookup and read sensor data, and transmit it to the browser in real-time. Sounds cool, right?
Email has been around forever and is taken for granted – but it has become more complicated in recent years. Newer features like SPF, DKIM, and DMARC are misunderstood and, judging by the questions I answer on Stack Overflow, many are getting even simple things wrong. So we'll go back to basics, review how email works, how to avoid common mistakes, take advantage of its new powers, and stay out of the spam folder of history.
Java ne cesse d’évoluer et de plus en plus rapidement, à un tel point qu’il est parfois difficile de savoir où l’on en est ! A l’aube de la sortie de Java 14, je propose donc de présenter dans cette session technique les principales nouveautés ajoutées dans les dernières versions de Java. Et comme ce sont parfois les petits détails qui font la différence, nous allons aussi discuter de nouveautés mineures qui peuvent cependant être intéressantes.
On trouve ainsi dans Jest des concepts classiques comme les assertions ou la couverture de code, mais toujours pensés pour être réellement agréables à utiliser. Jest propose aussi des fonctionnalités innovantes tel que le snapshot testing ou encore l'auto mocking.
Kotlin is a new language for the JVM and Android. Kotlin builds upon the feature set of Java, and improves your productivity through better syntax, safer code, and faster build times.
In this talk we’ll introduce you, the Java developer, to Kotlin! We'll see the important differences between Java and Kotlin, and then Kotlin's native features – including null safety and receiver blocks – that let you write safer code more productively.
Au tout début, Java a mis la programmation parallèle en avant.
Il était simple de créer un Thread.
Depuis cette lointaine époque, de nombreuses primitives ont été ajoutées pour nous simplifier la vie.
Nous allons les découvrir ou revisiter ensemble.
La réalité mélangée (WebXR) est l’association de la réalité augmentée (WebAR) et de la réalité virtuelle (WebVR). Elle ouvre de nombreuses possibilités au Web vers les nouveaux appareils (casques, téléphones, tablettes…).
Cette session abordera à travers d’exemples et de démonstrations, le moyen d’associer la librairie A-Frame de Mozilla, du contenu web avec des projets.
In this talk, Steve will explore how we can build .NET Core applications that make HTTP requests and rely on downstream services. This session will focus on improvements which have been released in .NET Core, such as IHttpClientFactory and the new, more performant socket-based handler. Steve will identify some HTTP anti-patterns and common mistakes and demonstrate how we can refactor existing code to use the new HttpClientFactory features.
Have you ever wanted to make your apps “smarter”? This session will cover what every ML/AI developer should know about Open Neural Network Exchange (ONNX) . Why it’s important and how it can reduce friction in incorporating machine learning models to your apps. We will show how to train models using the framework of your choice, save or convert models into ONNX, and deploy to cloud and edge using a high-performance runtime.
Today’s tech news is littered with buzzwords and acronyms like - ML, AI, big data, smart devices, even graph. What does 'graph' actually provide and mean for technology and business in the artificial intelligence or machine learning space? In this session, we will look at what advantages graph brings to existing tech for AI and why graphs can solve more complex problems with less developer pain and expertise.
Want to find out which pieces of your site break down under load first? Load testing answers this question, and these days you can simulate full user behavior in a load test, versus merely hammering a single endpoint.
In this talk, we'll go through a number of conceptual points that you won't want to miss in order for your load tests to perform their intended purpose. Then we'll jump into implementation details, using the K6 load test tool.
Local variable type inference is without a doubt the biggest language feature in Java from the last couple of years. In this live-coding session, we push its limits and examine its behaviour through a series of 40 examples. We do this in the form of a quiz, and focus on situations where the type inference doesn’t work, or leads to unclean code. Come and test your knowledge of type inference, and learn how to use it well in practice!
Choosing the right evaluation metric for your machine learning project is crucial, as it decides which model you’ll ultimately use. How do you choose an appropriate metric? This talk will explore the important evaluation metrics used in regression and classification tasks, their pros and cons, and how to make a smart decision.
Modern software development sometimes feels like magic. Abstractions upon abstractions in operating systems, programming languages, frameworks, libraries and cloud services help us to solve complex problems fast in a reliable and scalable way. On the other hand, we are losing ownership and insights into how things are actually working under the hood. So should we trust all this magic?
Eclipse MicroProfile provides specifications for the most commonly used microservice patterns. This session presents a group of patterns that will be in explained and demoed live in a down-to-earth and easily understandable way.
Patterns covered include Service per Container, Externalized Configuration, Health Check API, Application Metrics, Circuit Breaker, Access Token, Distributed Tracing.
There will be live coding!
You got an ML model. How do you manage its lifecycle, and make sure both the model and its data source are versioned so that they can be audited? How do you handle the infrastructure needed to serve your model, and wouldn't it also be nice if the model training, evaluation, and deployment all where automated steps as soon as a change was checked in?
Join me in this session where we will take a deep dive in to MLOps, DevOps for Machine Learning.
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.
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.
MySQL has moved to a continuous release cycle and had been adding new features since version 8.0 has been released. So it is quite easy to miss the parallel bulk loader (CSV, JSON, TSV), Multi-values indexes, improved JSON support, the ability to clone InnoDB databases for faster replication startup, changes in SSL/TLS support, JSON schema validation, 3D GIS support, check constraints, and more. So get caught up today with the lastest from MySQL
You want your database storage to be safe, secure, and always available. MySQL Group Replication provides a fault tolerant, highly available, and elastic data groups. Groups can operate in a single-primary mode with automatic primary election, where only one server accepts updates at a time or be deployed in multi-primary mode, where all servers can accept updates. So you can scale from one to many servers without changing your application.
Building a healthy development team has never been more challenging for startups, but this is not another talk about hiring. It is about necessary endings. This talk will not prescribe the right way of growing an engineering team. It is about a balanced trade-off. Motivating and shaping software engineers is a no-brainer, however, letting people go has never been popular thus crucial to the health and growth of the team. I'll explain why and how.
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.
Gradle 6.0 concludes efforts from the Gradle team around dependency management.
As an application of library developers in the JVM ecosystem, you have a large choice of dependencies. Come discover what Gradle has to offer to help you handle your classpath efficiently, at build time instead of runtime!
Detecting and resolving logging library conflicts? Aligning the version of multi jar frameworks?
These questions will be answered!
Yes, it’s possible to use asynchronous programming in PHP and it can massively improve applications velocity. But if it was so simple everybody would already use it. Our team started to use this paradigm one year ago, it was a success in many ways but we faced a lot of questions: which applications are suited for this? How to train your team? Which tools are available? Here our feedback, from daily developments to production.
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?
Am I making a mistake? Is this the right decision in the long term? Join me as I show PHP code of over 10 years. I'll explain what worked well, what didn't and why. You can then make informed decisions for the robustness and maintainability of your application. On the menu: SOLID principles, testability, dependecy injection, exception handling, use of null and false, ORMs, etc.
Le "build" d'une application PHP peut être bien plus qu'une suite de tests quotidienne : chaque merge request peut être analysée et décortiquée ou déployée automatiquement sur un environnement éphémère. Un push dans master pourrait déclencher un déploiement sur staging ou même production.
Avec quelques lignes dans un .gitlab-ci.yml, apprenez à automatiser ce qui peut l'être tout en évitant les petits pièges qui gâchent de grosses journées.
At re:invent 2018, Amazon released custom runtime support and Layers for their Lambda runtime. With this release we as developers can create our own PHP Lambda runtime without undue overhead. This talk will show you how Lambda custom runtimes work, how to build one that speaks PHP, and how to use pre-built custom runtime layers for both job-processing and, via API Gateway, serving web traffic.
You are the product. The digital age has brought us many conveniences with the very real cost of our privacy as payment. The terms and conditions that none of us read have allowed companies to build a persona of who we are, and possibly better than we even know ourselves. Learn what your privacy looks like today, and take very real steps toward reclaiming the anonymity that allows you to move through the world without being constantly sold.
Content management systems like Drupal or Wordpress giving you grief? Tired of mucking around in databases? In this session will discuss some of the key concepts around using the JAMstack then dive deep with rapidly developing websites or applications with Vue.js and how to incorporate a headless CMS. We'll cover:
- Using a headless CMS as an API
- Scaffolding out performant and SEO friend UI's
- Deploying through Docker container
Organisations build software all the time, from developer machines to CI, even public pull requests.
There are security risks associated with these actions! Come discover what they are and how to mitigate them.
The build tool is about execution of modifications and thus inherently insecure. However risks can be mitigated through:
* Trusted dependencies
* Vulnerability tracking
Gradle will be used for examples
PSR-14 is the new PHP-FIG specification addressing event dispatching. Many frameworks have an "Event system" of some kind, but all are incompatible... until now.
PSR-14 lets you interleave these systems together, letting you easily swap libraries into the framework of your choice.
We'll cover how PSR-14 works, examples of how to use it effectively, and how to adopt it alongside, and even encompassing, your existing one-off tooling.
How would you like an API doesn’t use REST, has just has one endpoint that has the ability to return data in a form that exactly suits the data consuming application? This becomes a reality with GraphQL!
After watching this practical session you’ll be ready to implement GraphQL in your applications and write queries against it. But most of all you’ll be convinced that using GraphQL has lots of benefits compared to REST!
Are you trying to learn data science? Do you know SQL? Pandas is an open source library for loading, querying, and cleaning up data for machine learning. In this session I'll translate SQL into Pandas. What's the equivalent of a table? Can you create an index? How do I write a SELECT * FROM WHERE with Pandas. Find out why SQL lovers fall in love with Pandas for data science
Node-RED provides a browser-based flow editor that makes it easy to wire together apps using a wide range of nodes. In this session we show how to make use of the full capabilities of the Node-RED AI library to rapidly create real applications with little coding.
We will show you how to construct your own flows, re-use existing sample flows, find nodes and how to create and publish your own nodes.
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.
A common misunderstanding about Redis is that it's just a cache, or that you should only store ephemeral data there. In this talk I hope to dispel that myth by sharing some non-cache Redis recipes. I'll talk about how Redis can be used to solve problems such as distributed locking, message queues, one time tokens, and rate limiting.
With self-driving cars, robotics, …, computer vision is showing up all over the place, but what exactly is CV? What are its core principles? How does CV work? How is CV related to ML? … Attend this session to get answers to all those questions! To illustrate some of the discussed concepts, we will implement some hand gesture recognitions. But don't worry, even though CV can sometimes be academic, this session will be very hands-on, literally!
Security and Usability have been at loggerheads since we realized we need to secure our digital existence with the secure option almost always being the least usable option. More recently we have developed more usable solutions and yet users still opt for the less secure option when they can. We’ll explore how users understand their security and how we can improve their security habits through good design.
You will learn right analysis patterns, tools and best practices to troubleshoot production problems. You will learn how to analyze thread dumps, heap dumps, GC logs and other artifacts . We will be also discussing real world examples which caused outages in major enterprises. After this session, troubleshooting CPU spikes, OutOfMemoryError, response time degradations, network connectivity issues will not stump you any more.
Because of this paradigm, it's just so easy to just add a touch of Svelte to an already existing website or web app. Come learn about the best way to add a dash of awesome, for a tiny cost, using Svelte.
Bitcoin is without doubts the most decentralized blockchain at this moment. But Bitcoin can't run touring complete smart contracts. For touring complete smart contracts we have to use other less decentralized networks.
But there is a way to run smart contracts and take advantages of the security of the Bitcoin Network. In this session we will talk about RSK, how it work and his advantages.
Yes, okay, ES2015 rules, and ES2016–2019 bring about a lot of cool things (most notably async/await), but a ton of cool stuff is expected to land in the next few years, too… and we can play with it already!
Christophe takes you through a whirlwind tour of the upcoming features he’s most excited about, due to become official in 2020, 2021… or 2022 ;-)
The tree is one of the most important data structures available in Computer Science. If you know how to describe a problem using trees, you can significantly improve the speed and quality of the developed solution. In this talk, I'd like to show what kind of problems can be solved with trees and show examples of how I did that in several non-trivial situations.
Updating the look and feel of software is tough, you’re balancing best practices and user expectations. To facilitate this design process, I’ll present 10 design principles to guide the process. Unlike general design principles which rely on general best practices, these design principles guide designs in the context of an existing design that must be met. The principles were developed based on research with 50+ users and psychological theories
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.
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.
There are some exciting new things in Symfony 5. Besides removing some deprecations and bumping the PHP verison requirements, several components have left the experimetal stage. the Mailer & Mime, HttpClient (and why do we need one?), Notifier, String handling, and more.
In this talk, we'll look at the new features in depth both from the high level perspective of using them in Symfony full stack, and use the standalone.
systemd is the default init system on several Linux distros amd can do more than just start services on boot. It maintains dependencies between services, can restart failing services or activate them on demand, handle temp files, and much more. Services can also directly interact with its API. I'll show you how to use systemd to run and monitor your complex application and add tighten security like private /tmp or resource restriction on top.
Varnish is the leading content delivery software that helps developers and sysadmins scale their websites, APIs and OTT video platforms by caching content efficiently. In this presentation we will introduce Varnish and explain how it is built for scale, for speed and for stability. We'll cover how it respects HTTP best practices. But we'll also learn about the built-in Varnish Configuration Language that allows you to customize caching behavior.
Applying the 80/20 rule to people working on websites today, 80% are not primarily focused on making websites, while 20% are. However, while there are many tutorials available for a professional audience, there are almost no tutorials for everyone else. How can we create tools and documentation oriented to the majority of those working on the web today - a huge market for our skills? Learn to create accessible tools and docs for this audience.
A difficult task of management and mentorship is providing honest feedback. Many struggle with separating personal feelings from performance. Since the best managers and mentors must give feedback on performance, how can we do that effectively, so the message is heard? Learn techniques for delivering effective feedback while caring deeply for those receiving it.
It seems that every year a new tech giant announces the death of cross-platform mobile development.
The solutions are too slow (Facebook), too complex (Dropbox), or not mature enough (Airbnb). With so many negative reviews it can be quite surprising to see an ever-increasing number of companies that choose to use these solutions. This talk will try to answer the why's and the how's of the wonderful world that is cross-platform mobile development
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!
With PHP 7.4 recently released and PHP 5.3 and 5.4 still accounting for over 35% of all production environments, it's time to paint a clear picture on not just why everyone should move to 7.x, but on how to get code ready for the latest version of PHP. In this talk, we'll look at some handy tools and techniques to ease the migration.
In the last 3 months I've had the unfortunate experience of play with many Azure APIs. It's been a rough journey, some are easy to use, others are quite complicated. There are many domains ( management, graph, powerbi, legacy graph ) that you have to contend with, each requiring their own tokens. There is a lot of documentation but none that give you a global overview. In this talk I will crystallize my experience into easy to digest diagrams.
Does your application rely on autoloading? Chances are, it does – given autoloading was introduced to PHP back in Version 5. While the original global function has long been deprecated, with PHP 7.4 the whole concept of autoloading became superfluous! This talk will introduce you to preloading and how it is likely to change pretty much everything: how to load classes and when, and how to deploy new versions to production!
Every developer has had to learn a new technology from nothing to an end solution. Graph is different from other data storage solutions that exist today, so how can we learn about and evaluate decisions to apply this technology? Discover various possibilities for data import, loading, querying, and presenting the value to others, we show how to make decisions along the way. Go from 0 to 60 in building your next solution with a graph database!
PHP has its own treasure chest of classic mistakes that surprises even the most seasoned expert : code that dies just by changing its namespace, strpos() that fails to find strings or arrays that changes without touching them. Do that get on your nerves too ? Let’s make a list of them, so we can always teach them to the new guys, spot them during code reviews and kick them out of our code once and for all. Come on, you’re not frightening us !
Votre emploi précédent n'était pas à la hauteur de ce qu'on vous avait vendu dans l'offre d'emploi ? Vous n'avez pas vraiment de stratégie pour passer des entrevues ? Vous n'avez pas vraiment pensé à votre plan de carrière ? Parlons de tout ce qu'on ne vous a pas dit pour vous préparer au marché de l'emploi dans les technologies de l'information.
4 years before, I was an engineer suffering from mid-life crisis. Today I have small successful business, whose products are used by world's premier brands like: Apple, Adobe, IBM, Oracle, Bloomberg, T-mobile, Wells Fargo, TD Bank, London stock exchange ... But it didn't happen like magic. In this session, I would like to share blood, sweat, tears shed behind this journey.
In this session, you'll learn how to write C# code which executes faster and allocates less. This session is packed with practical examples and demos of where the latest high-performance APIs that can be applied in your applications. During this session, we'll apply types such as Span<T> and Memory<T> to efficiently parse data and we'll examine System.IO.Pipelines, for high-performance I/O.
Confidently speaking to more than just 1s and 0s is critical in order to be seen as the "GoTo" expert, grow our careers and make a massive difference in people's lives. Join me in this interactive session to learn proven strategies for crafting and delivering great presentations even if you are scared of public speaking. You will walk away inspired to get on the stage, share your knowledge and make an impact in people's lives.
Take your Angular knowledge from 0 to 100 as we stroll through the concepts that you need to know like modules, components, services, routes, and guards to be able to create any Angular application. See the productivity that the Angular CLI in action. You will walk away with the knowledge and resources you need to immediately start coding your own Angular applications. See you there to jump start your Angular development.
Terraform has changed the way many organizations deploy to the cloud. With a clear configuration language you can manage countless services (providers in Terraform) and ensure they are kept in sync with your deployment needs. Learn how to build out some of the most common patterns and infrastructures against AWS, and start writing your infrastructure as code today.
It is becoming clearer that Data driven UX is providing us with more sound design recommendations. If you have ever felt frustration as a result of something mal functioning, chance is the solution might not be what we think. Data analytics can help bridge the gap between randomness and predictability. In this session, we explore the belief that UX is more than art and how methodology can help implementation in a data science ecosystem.
Produire avec confiance une architecture maintenable évoluant naturellement en direction de vos objectifs, les Fitness Functions, SLOs et autres pratiques de développement assurent à chaque commit le respect des caractéristiques que doivent satisfaire votre produit.
In this session you’ll learn about WebAssembly: what is it, what problems it solves, how it works, and what makes it secure. That last point about security is an important one because that’s one area that gives many people pause when hearing the words ‘native code’ or that C++ can be used. Immediately, we have flash backs of plugins and pointers.
Do you know what accessibility is & why it's critical for 20%+ of your users? Have you ever heard of WCAG, POUR or ARIA? Accessibility should be a key element of our processes, but many people haven't even heard of it. In this introductory session you'll learn about assistive devices & technologies, accessibility standards & tools, and come away with quick & easy next steps for making your sites and applications more accessible to everyone.
We all like building and deploying applications. But what happens once that’s done? How do we know if our application behaves like we expect it to behave? Of course, logging! But how do we get that data off of our machines? How do we sift through a bunch of seemingly meaningless diagnostics? In this session, we’ll look at how we can keep track of our application using concepts like structured logging and Azure Application Insights.
Being purpose-driven requires effort, skill, and focus. Benefits: Positive Revenue Grow, Productivity, Well-Being... "Organizations that embrace purpose are 202% more likely to have positive revenue growth."
By the end of this session, you will be able to:
1. Define the importance of having a living legacy.
2. Write and share your 1-year living legacy.
3. Develop a plan to live your purpose.
Generators are often described as a simplification of iterators pattern, but they are also very powerful to perform asynchronous treatments. We will dive into event loops and promises to understand why and how generators can help us to write maintainable asynchronous functions, especially in Php. We will conclude with some concrete use cases from our experience at M6 (French media group).