The list of presentations is subject to change without notice.
Every person has a first and last name, a day has 24 hours, and Christmas is in Winter — or so you think. Some seemingly incontrovertible certainties are in fact social and cultural biases. Even lower-casing a string or sorting text correctly is surprisingly complex. Misconceptions can inflict great pain on users, cause products to fail in a market, introduce security bugs, or even lead to gruesome murder. This talk introduce you to some issues.
The last ones who told me I could learn from a plush toy were my daughters. Of course, I acknowledged. Yet, it dawned on me: after ten years of life, the PHP plush has achieved so much! It went to the White House and Antarctica; it spawned forty thousand offsprings and a jet-set generation of collectors; it built bridges within and outside the community.
Nowadays, it is alive and kicking. No one can have enough elePHPant.
Most applications use databases, yet many fail to follow even the most basic best practices causing poor performance, downtime and security incidents.
In this presentation, we will look into the foundational best practices you as a Developer should know about databases, with particular focus on the most popular Open Source Databases - MySQL, PostgreSQL, and MongoDB.
Why limit Git for version control only? Git can reduce your work, improve the quality of your projects and even speed up your deployments. All you need is simple to implement integration between Git and your project.
Run your tests faster, accelerate your CI automation, make your deployments more predictable and error-free. The tips in this presentation will solve hard problems in your project and get more time for you to do what is important
There are 600+ arguments that you can pass to JVM just around Garbage collection and memory. It's way too many arguments for anyone to digest and comprehend. In this session, we will be highlighting 7 important JVM arguments that will boost your application performance.
We spend most of our time changing existing code. Often, there’s no test and the authors are long gone!
It feels like a pain because you're always in a hurry, rushing to ship new features and bug fixes before the end of the Sprint…
But what if you had a secret weapon? Let me share with you 7 concrete techniques that will help you regain control of any Legacy.
In this session, we will introduce Serverless computing in a friendly and approachable way. We will discuss the pros and cons of using a Serverless platform. We will then build an app together from scratch using MongoDB Stitch.
Jobs to be done is a framework that helps us look at the goals that customers have and what they're trying to get done. The primary focus of the framework is to help us create an experience that meets core customer needs with a focus around what they're trying to get done. The session will cover: A brief overview of theJTBDframework, A value creation model that extends our view into customers' needs, Approaches to become outcome driven
Where should we start considering accessibility?
If you think the title is a giveaway, you’re right; starting with accessibility in mind is the way to go. But who is the first person to take that step?
Spoilers, it’s you.
Learn about what you can do in your role to move accessibility left in the software development lifecycle.
As we preach that the web should be accessible to all, I believe technology experiences generally should also be for everyone. When building Augmented, Virtual or Mixed Reality experiences, it's always important to remember.
In this session, we would go over a few key things to consider when creating an accessible Mixed Reality User Experience so that regardless of disabilities or any other differences, we can build immersive tech for everyone!
Back in 2016, I deployed an ASP.NET monolith app to IIS on Windows. It worked but it was clunky in every sense of the word. Over the years, the app was freed from Windows (thanks to .NET Core), containerized to run consistently in different environments (thanks to Docker) and decomposed into a set of loosely-coupled, event-driven, microservices (thanks to Knative and Cloud Run). Let's talk about the journey and learnings along the way.
Before, CI in the JVM ecosystem meant Jenkins. Since then, other tools have been made available. But they follow the same pattern. Besides, what about continuous deployment? There’s no tool that allows to deploy new versions of a JVM-based application without downtime.
Achieving true CD of bytecode on one JVM is possible if one changes one’s way of looking at things. What if compilation could be seen as events?
Computer Vision is revolutionizing the world around us. It's ubiquitous and yet the entry points are opaque and can be a bit daunting to understand. This talk will break down these barriers as we cover some of the basics of Computer Vision in .NET - convolution, edge detection, facial detection, feature tracking, and some basic augmented reality using OpenCV.
This talk will explore all the necessary ingredients to create a bug in software. In fact they shouldn't be called bugs because in reality they are logical omissions. And those omissions are generally born high up in the hierarchy of a company by giving incomplete instructions, or an incomplete context, or mock data, or generally not doing the ground work necessary upstream for the software developer to do his job properly.
Apache Groovy provides several ways to modify and update programs and classes by means of metaprogramming. Some of this options are available at runtime, some others at compile time, and some are even reachable to other JVM languages. These options allow library and framework authors to design better integrations, prototype new language constructs without grammar changes, deliver powerful and and gratifying DSLs, and more.
Volume of data is continuously growing bigger and traditional storage and tools are not capable of catching up. Distributed technologies have been able to accommodate commodity hardwares in distributed environments to achieve faster and more reliable performance. Apache Spark, a distributed processing engine, has simplified distributed computing in many ways. In this talk we will cover the essentials of Apache Spark and its usage.
Everybody knows that we need a cache, but where exactly to place it? Inside your application or as a layer in front of it? In the container or outside the container? In the era of Cloud Native and Microservices these questions get even more complicated. In this session I'll present different architectural patterns for distributed caching: Embedded, Client-Server, (Kubernetes) Sidecar, and Reverse HTTP Proxy Caching.
La présentation sur l'architecture que je vous propose parle de comment partir d'une architecture plus traditionnelle et passer à une vision plus agile de l'architecture.
Les application d'aujourd'hui sont de plus en plus exigeantes et demandent d'être robustes mais aussi flexibles. Donc je vous propose de faire le chemin avec moi vers une architecture plus agile.
You can do a lot more with Blazor components than what you see in "Getting Started with Blazor" sessions and blog posts.
In this session we zoom into the Blazor component. I kind of expect that you know the basics of Blazor but I'll do a very brief intro anyways to be sure we're on the same page. After that we'll look at things like event propagation, child content, chained binds and templated components!
Part of my job is finding groups that serve under-represented folks in tech. A sentiment voiced in the community is these groups are hard to find. I worked to make the organizations that I found visible and accessible for the public to use.
Elastic App Search provides a fast experience for creating a full-featured search. I will breakdown the pieces of diversityorgs.tech from initial import to search maintenance using Elastic App Search.
Firebase is the Google's mobile and web application development platform. In this session, We will learn how to create a rich web application using Angular and Firebase. We will create an employee management system which uses Angular on the frontend and Google cloud firestore as the database. The application will have Google based authentication configured with the help of Firebase. We will also learn how to deploy the application on Firebase.
It's day 2. Kubernetes is running. You have your deployments and services set. Now how do you migrate the data store? Let's journey together on this code-focused tour through ConfigMaps, Secrets, Persistent Volumes, Persistent Volume Claims, and StatefulSets. We'll craft and launch a strategy to care for your users' data in this new container world. You can power your business on Kubernetes: stateless or stateful.
If you are a leader (or aspire to be one), a member of a team (or may be in one in the future), or are just looking to develop your skills, this talk will give you a practical framework with actionable tips for working in and leading teams successfully. You'll learn about the five phases — Forming, Storming, Norming, Performing, and Adjourning — including detailed descriptions of each along with proven strategies for addressing any challenges.
We will share our journey on how we make progress on application resiliency. We transform from monolith base chaos to Micro service and later on the container-native platform, Kubernetes chaos. We will share how we use Chaostoolkit & Litmuschaos on kubernetes, and how we automate the entire process using Argo workflow and Jenkins. Later moved everything in code and via gitops controlling the chaos experiments. This all using opensource .
Minute papillon. Inspire et laisse-moi arranger ça.
Java est probablement le language le plus déterministe jamais créé.
Mais lire la spécification du Java Memory Model c'est un peu comme lire "À la Recherche du temps perdu" en plus court.
Fort heureusement, j'ai un truc. On va regarder ça ensemble.
The adoption of CI/CD has automated the process of how DevOps teams build, test, and deliver software at rapid speeds. Although CI/CD platforms offer many benefits, in the attempt to make sophisticated pipelines, many teams run into the issue of “Pipeline Sprawl”. In this talk we will discuss the common pain points associated with CI/CD platforms. The talk will pull in examples from recent experience and conversations with DevOps teams.
Most advice about coding interviews is designed to help the candidate get a job. However, one day you may be the interviewer, expected to administer and evaluate a coding interview. What makes a good coding question? What are you looking for in the candidate's response? How much of a hint should you give? This talk will draw on the speaker's 20+ years of experience at Microsoft, where he interviewed hundreds of programming candidates.
Découvrez-le avec les anecdotes vécues à travers les années par une startup devenue maintenant PME. Nous verrons quels sont les différents niveaux de monitoring qu'il est possible de mettre en place, selon vos besoins, ainsi que quelques tactiques et conseils pour rendre le on-call facile et vivable pour les développeurs.
Le on-call n'est pas un fardeau et bien mené, il peut même être le moteur principal de la future qualité de vos projets!
Authorization and authentication are two of main problems on modern web application’s security,. They were both solved by OAuth 2.0 and OpenId Connect(OIDC). Considering them being fundamentally complicated, and variety of implementation, this may cause developers making some mistakes. I want to discuss some details in the specs which may lead to misconceptions and also go over common mistakes.
We spend a lot of our time reading code for many different reasons. So why not make our future selves and colleagues a favour and write code that at a glance will communicate what it’s doing? Let’s leverage what TypeScript has to offer as well as some good functional programming practices. In the end, we want to spend less time trying to understand some “clever” code or uncover some hidden surprises and more time shipping value to our clients.
Communities are increasingly important in this Digital Transformation era. Getting together people and technology with common interests, a strong sense of belonging and collaboration is a powerful platform to empower individuals and connect organizations with their audience.
We will dive the principles of building diverse and innovative communities with a positive impact in the society.
Internationalisation is more than translating the content on your site into multiple languages and calling it a day. There are various nuances to the presentation of that content which affect the experience of a native speaker using your site. There are CSS properties that provide layout and typographic capabilities for scripts and writing systems beyond the Latin-based horizontal top-to-bottom ones that are predominantly seen on the web today. L
CSS storytelling architecture. It is an imaginary story that represents the CSS, in a way that we can understand the CSS code nature, from a direct reading of the CSS and/or the HTML. In this talk Elad will talk about:
Project folder and file structure
Global Variable Definitions
How to reset a CSS project
And a lot more
In this talk we'll review the state of the tools for data science in Ruby!
Python is the "crown jewel" of the data science languages today, but many of us work mostly with Ruby for the business applications, and it is important to use the best tool for each job.
So we'll analyse gems and groups of gems available in Ruby for Data Science
* their performance
* features available
* is ruby is being used for data science at all?
This talk will take you through all the bits and pieces needed to deploy an ASP.NET Core Web API with DevSecOps. The infrastructure is deployed using ARM Templates and I will show you a secure and safe way to use and read values from the KeyVault keeping all your secrets safe.
The web page as the name suggests was developed for a 2 dimensional experience. However with better technology we increasingly support and exhibit 3D experiences on the web. 3D content varies widely in its application - from VR experience to inline product configurators. There is no single scale that can cover all 3D content. This talk talks about how can we deliver the best experience given current state of technology and intended application.
OpenAPI is the industry leading format for describing HTTP APIs. With a low barrier to entry, and a large ecosystem of tools, this format can bring tremendous savings to teams that work with HTTP APIs. Let me take you on a journey through an OpenAPI description and highlight where tools can be used to make every developer's life easier.
The Machine Learning lifecycle is complex by essence.Many organizations where ML models are developed with Data Scientists and SMEs are facing these 3 challenges: the model management, the reproducibility / "works on my machine" and the collaboration problem.In this session we will go over the rising concept of MLOps and show how 2 open source projects mlflow and Kubeflow can be leveraged to initiate the MLOps mindset inside your company.
Anomaly detection is the process of identifying unexpected items or events in data sets. It’s about detecting the deviation from expected pattern of a dataset. It’s like having “spidey senses” for your apps that can detect when there’s danger or something is not right. Attend this session and learn about using anomaly detection in ML.NET, Azure Stream Analytics and Cognitive Services API, become a superhero and save the day.
A picture is worth a thousand words, they say - but unfortunately it is not always the case. If done right, diagrams are a treasure - but we've all seen and suffered from spaghetti diagrams and ones bringing confusion rather than clarity and added value.
Let's see what makes a diagram effective, what are the techniques and principles for creating good diagrams - and how everyone can get better at using this powerful communication tool.
Découvrons ce pattern et comment il fonctionne à travers des exemples réels, j’espère vous faire découvrir des capacités cachées dans votre application !
Les conteneurs d’injection de dépendance font parti intégrante des frameworks que nous utilisons tous les jours. On peut même dire que c’est le coeur de votre application. Aujourd'hui, on automatise au maximum leur configuration pour faciliter leur usage, mais ils gagnent à être mieux connu !
The internet has an identity crisis. How do you know that the person interacting with your product is who they claim to be? How can you be sure that they are a person at all? This is a talk about the evolution of identity on the internet, from a product development perspective. An overview of the things you should be aware of around digital identity when building software today, and the things you should pay attention to for the future.
Continuous Testing initiatives cope with several issues, some of them are highly linked to environments and test data. End-to-end environments do not allow on-demand deployments, since they are usually shared across other applications and used by manual testers.
Using dynamic environments, will help to resolve both these issues: to remove the collision with manual testing or other applications, and to control test data available for testing.
There are several key trade-offs to consider while using Docker and Kubernetes with Java EE applications. Examples include: whether to use thin WARs, fat JARs, or hollow uber-JARs to effectively work with Docker or how Docker networking and Kubernetes cluster deployments align with application server administration, clustering and load-balancing. This entirely slide-less, fast-paced, demo-driven session walks through some of these considerations.
You fear your code. You are afraid of changing it. A bug? You fix it using messy hacks, rather than a refactoring that leaves your code better. Admit it! You fear your code. But there's a way out: just write tests.
"But it makes my productivity tank! My boss doesn’t leave me any time for writing tests!"
These are all just excuses. Come to this talk to learn why to test, how to test, and how testing makes you a much better developer.
Ethereum permet d’exécuter des applications distribuées (DApps) sous un blockchain. C’est ce que l’on appelle le blockchain 2.0. Nous allons présenter des exemples de DApps sur le marché et le fonctionnement de Ethereum et des smarts contracts. Une démonstration de smart contract sera aussi présenté sous le language de programmation Solidity. D’autres outils de développement et déploiement seront présentés tels que Geth, Truffle et web3.js
Though it's the common use case, deploying your application using docker may seem a bit daunting at first, and require some changes you're not ready to make.
But if you want to get started with docker, there are plenty of uses that aren't deployment. In this 99% Yak-Shaving™ Free session, we'll focus on the ones that require little (or no) setup. You might even be using them before I finish talking.
Accessibility testing, what can you get away with, and how do you fill in the gaps?
Let's chat about automated tools and what they can and cannot do. We will round out the conversation by reviewing user-based testing to provide the best experience to your users.
What is a techlead? What are the common mistakes of a techlead? How to avoid them? How to build a dream team? You will see these different points during this feedback.
Integration testing is always a difficult area. You need to make sure that all system are connected, data is correctly initialised for each run and test runs do not interfere with each other.
You can do integration testing today, but sometimes these tests are flaky for various reasons or they cannot cover all the cases that you would like to test.
With the Testcontainers project, this issue can be a thing of the past.
Monorepos. Everybody’s talking about them, but nobody’s doing them. Well, we at Applitools, are.
I show why monorepos are interesting, and how they’re not JUST “many projects in one Git repo”,but more importantly encourage developers to build applications that are built from small, well-tested, and independent packages. This methodology promotes development that is scalable and removes the problems working in a monolithic codebase.
Continuous Delivery Pipeline as code is key helping you to ensure long term maintainability. Treating your pipeline as code helps you to version it in your SCM of choice, makes changes easily traceable and lets anyone on your team make required changes. In this session, I will show you how we build and maintain our Continuous Delivery pipeline using tools like GitLab CI, Docker, Nexus, and Traefik to deploy to dev, stage, and prod environments.
The global COVID-19 pandemic has resulted in fewer face-to-face interactions and replaced them with face-to-screen ones.
Some organisations and individuals have made the transition seamlessly, or were already functioning that way, but for others it's terra incognita
In this session I intend to provide guidelines and suggestions for those facing - or experiencing - the change.
When I discovered React Native 6 years ago, I loved it so much that I decided to focus my consultant career on it. Developer experience, architecture, etc.: I truly believed that the framework was going to be a game changer in the mobile development's world. Now, in 2020, I have the same blast once again with Flutter and I'm currently questioning myself about an another career move.
Is Flutter a new game changer like React Native was?
I have a confession to make, I don't fully grok AWS and all its services. But that doesn't stop me from shipping code to production on my own! In this introductory talk, I'll show some tools you can use to automate the deployment of a Python app to the cloud, without ever worrying about managing or scaling servers.
JSON Web Tokens, or JWTs, are a convenient way to bundle up a set of data (called claims), that can be relied upon by intended recipients such as APIs and Databases. They're verified through signatures and can be used in off-line environments!
The chances that things will go wrong are slim. Right?
Let's look at ways in which JWT implementations can go wrong, through live demos, and learn how to make sure we can trust these handy payloads.
ML.NET is new on the scene, but ultra-powerful machine learning technology built natively into the .NET core stack. Gone are the days of shoehorning that C++ code our pristine .NET apps to do anything beyond rudimentary induction.
In this talk we'll be exploring how to use ML.NET + TensorFlow + Inception to build a powerful image classifier and learner, then we're going to learn how to easily drive that classifier with various social media apps.
How to measure the quality of unit tests? Code coverage is not necessarily a good indicator to answer this question. What other options do we have? Do we need tests to test the quality of our tests? In some way, yes we do. In this session, I will introduce you to the concept of mutation-based testing and how this technique can be used to improve the quality of your test suite.
Based on his 2020 TEDx Talk in Laie, Oahu, “Saving Soft Skills From Extinction,” Scott teaches audiences how to model soft skills to the next generation producing better communication and performance in the workplace.
Load balancers such as HAProxy, Varnish, Squid and Nginx play a crucial role in the performance of high-availability websites. All of those have different HTTP protocol parser implemented. What might be indicating the termination of one request for your load balancer might not be the end for your web server. In this presentation, see how an attacker can abuse vulnerable configurations or load balancer specific versions.
The HTTP protocol started in 1991 as a way for physicists to share simple text-based documents, and has grown to support the large complicated web applications we all use today. We’ll review the history of HTTP, how it works, and the major features in the currently standardized HTTP/2. We’ll also look to the future with HTTP/3 to see how it might change the way we develop and deploy web sites.
A microservices failure case study.
In this session I’m going to tell you the tragic story of the microservices based, modular, fully automatic, next generation, totally buzzword compliant, multi satellite ground station that wasn’t .
This is a typical Greek tragedy about the hubris of men who try to literally reach into the heavens in order to look back at earth - and a case study about a failure of microservices architecture all in one.
In this talk, I define the context in which the batch processing model was born, the reasons that are behind the new stream processing one, how they compare, what are their pros and cons, and a list of existing technologies implementing the latter with their most prominent characteristics. I’ll conclude by describing in detail one possible use-case of data streaming that is not possible with batches: display in real-time all trains in Switzerland
Jakarta NoSQL is a new standard for accessing non-relational databases on the cloud. Cosmos DB is a best-of-breed planet scale NoSQL database on Azure that is compatible with MongoDB, Cassandra and Gremlin.
In this session we will see how to use these technologies together in cloud native Jakarta EE applications. Most of the session will be demos with a minimal number of slides.
When containerization came out (7 years ago!), the only option to containerize a Java was to write a Dockerfile and ADD the jar to the image; container orchestration was not a thing yet.
Since then, many image building tools appeared (bazel, buildah) - even a Java based one! (Jib).
In this talk, we'll discover the pros and cons of those options - we'll then focus on "buildpacks" that promise to free the developers from building concerns.
An overview of applied neuroscience principles, to improve well-being and increase personal effectiveness (with or without the help of a professional coach).
You’ve probably heard of WebAssembly but did you know that it isn’t limited to the browser? In this session, you’ll learn about the WebAssembly System Interface proposal (WASI) that defines a standard for using WebAssembly outside the browser in a secure way. We’ll then dig into several examples including interacting with a module from your C# code and at the command line.
An open-heart inspiring experience share of a team which successfully transform itself to have high level test automation practice. See how a group started from nothing, and did introduced an efficient test automation practice in a development team. In this duet presentation – the QA lead of the team, and the lead of the expert coaching group – you will discover how this team did the turnaround to move to a mature practice of test automation.
Que vous soyez développeur, chef de projet ou autre vous voyez tous les jours des graphiques dans les journaux, on vous demande de faire des jolies courbes pour des reportings. Mais quelles informations mettre dedans ? Les données sont représentées de manière visuelle depuis longtemps, mais comment faire pour les rendre plus efficaces et plus percutantes ?
Participez à cette conférence pour découvrir les secrets de la datavisualisation
Tests, monitoring, these help us assert the known knowns of our systems. But what about the known unknowns? Or, especially in complex distributed systems, the unknown unknowns? What can we learn from the space program? What can we learn from the Apollo 11 landing? How can we prepare for the unknown and build our adaptive capacity?
This session demonstrates practical techniques that drop a web page's size from almost 3MB to 143K, and load time from 6 seconds to sub-second, while looking the same! Review tools that validate and describe performance best practices. Explore how to defer resource requests, load resources asynchronously, and prefetch critical resources. Learn the techniques that can have the largest impact on web performance with the least amount of work!
Microservices bring several benefits to your project, including quick delivery. But as with any architecture decision, it has several challenges, such as logging, API documentation, and so on. The excellent news: some specifications make our job easier to develop microservices in Java. This presentation will show the frameworks that align with good practices that can create a mature and scalable microservice architecture natively in the cloud.
So, like a decade ago microservices happened, and it was calamitous for some and hugely successful for others.
And guess what? Now, we’re all doing it again with something called micro-frontends.
But seriously, are micro-frontends worth the effort?
I’m going to show you the pros and cons, some alternatives, and let you know what you’re getting into, so that YOU can decide: "Could my organization benefit from switching to micro-frontends?".
Running a distributed application is HARD! You have to deal with unreliable remote services, network partitions, request timeouts, slow responses... the sources of possible failures are endless. There are patterns that you can apply in your service to save the day and make sure it's not your status page that goes red.
Nanocours d'architecture logicielle traitant du couplage dans les applications.
Il arrive souvent que l'on confonde le couplage topologique (technologique) avec le couplage logique. Est-ce que le découpage des services réduit réellement les modifications simultanées de plusieurs services?
In this talk, we will discuss the basics of data modeling using real world examples. You will learn common methodologies and vocabulary you can use when designing your database schema on your application
MySQL 8.0 has a new release every three months and you may have missed new features that could impact you greatly. Such as hash joins, dual passwords, multi-valued indexes, JSON document validation, the Clone plugin, and more. Plus there are major changes in replication plus new utilities for backups. If you use MySQL and have not kept up to date with the latest releases you will be pleasantly surprised.
Nobody complains when the database is too fast. Those in search of ever faster queries will use indexed to speed them. But indexes have overhead and improper understanding of their technology can actually make things slower. Histograms are another technique that can be useful but they do not work for all types of data. This session will cover which to use when and help you understand why each has its place in the MySQL optimizer.
MySQL is being increasingly run in the cloud - either by using cloud infrastructure or as DBaaS solution. In this talk we will look at the choices you’re going to face taking MySQL to the Cloud, the benefits and drawbacks of choosing DBaaS vs rolling your own, look at the best practices around moving your data and workloads to the cloud, as well as achieving Performance, High Availability and Scale your application needs.
Join me for this story about an adventure that has no practical use, probably violates Terms of Service, but was fun to build!
After buying a set of Sonos-compatible speakers at IKEA, I was disappointed there's no support for playing audio from a popular video streaming service.
Determined - and not knowing how deep the rabbit hole would be - I ventured on a trip to build an app for this...
How nice would it be to be able to remember everyone’s name? What if you could just walk into a room and know everyone’s Twitter handle? Kubernetes is a great tool that is being used more and more for deploying applications, and it can also be used in the context of machine learning. In this talk, the speaker will demonstrate how to use NodeJs, a touch of machine learning and a sprinkle of Kubernetes to recognize people in a crowd.
In the age of big data, NoSQL databases bring scalability, performance and other benefits to the table. On the other hand, developers have years of experience in designing object oriented systems and relational data models.
Using relational design mindset while designing NoSQL storage, would result in wrong design decisions. In this talk, I’ll share a few rules of thumb that helped me with designing data models for NoSQL databases.
Les date et le temps sont souvent complexes à manipuler, certains concept étant souvent mal compris, comme les fuseaux horaires ou la leap seconde.
Cette présentation, agnostique de toute technologie, sera l’occasion de revenir sur pourquoi les choses sont si compliqués, et de donner quelques trucs et astuces qui pourront vous aider à manipuler les dates et le temps sans douleur.
PWAs are the state of modern web solutions. With the proper caching strategy, it is possible to drastically improve the overall performance and providing data even without a network connection. In an increasingly mobile-first world, optimising the time to load web pages can be our business's success. In this presentation, we'll focus on ensuring that our apps are fast, native-like, and able to provide a truly seamless experience to our users.
OpenIdConnect is not a static thing. It's constantly in motion. What was recommended a year ago isn't the recommendation now. The addition of PKCE to the authorization code flow changed the OpenIdConnect world deprecating the old hybrid and implicit flows. In this session I'm explaining what's new in the spec while at the same time showing you how to implement the new recommendations in clients as well as in the identity provider.
Building Blazor apps is fast and fun but just like any software, there comes a time when you need to think about performance. In this talk, Chris will guide you through various techniques to improve the performance of your Blazor application. Using tools such as lazy-loading, virtualization and conditional rendering you can make your app Blazingly fast while keeping its size as small as possible.
Grâce à des exemples tirés de grands sites français (Le Monde, Cdiscount, Glamour, AXA …), nous verrons les techniques modernes pour améliorer les performances d’un site, telles que perçues par l’utilisateur. Nous verrons
- les limitations de HTTP/2,
- les 3 grandes techniques pour optimiser vos images,
- l'importance des fonts et comment les optimiser
Mario is a software developer. He used to send his code to Luigi so he could deploy them on their servers, but he now want to embrace DevOps principles and work together with Luigi to deploy his applications. This is where Tekton Pipelines will come to help them. Tekton is a flexible, Kubernetes native open source CI/CD framework that enables automating deployments across multiple platforms—including Kubernetes, serverless, and VMs.
Qu'est ce que Quarkus ?
Comment Quarkus peut accélérer votre transformation digitale vers le cloud ?
Durant cette live démo, venez découvrir comment développer, tester, compiler, containériser, déployer, orchestrer et monitorer un microservice Quarkus #CNCF.
Learn about various case studies for event streaming with Apache Kafka across industries. The talk explores architectures for real-world deployments from Audi, BMW, Disney, Generali, Paypal, Tesla, Unity, Walmart, William Hill, and more. Use cases include fraud detection, mainframe offloading, predictive maintenance, cybersecurity, edge computing, track&trace, live betting, and much more.
Most organizations struggle to succeed with the traditional functional testing approach. Every assertion increases the maintenance overhead, and the question they ask themselves is - Is it really worth automating?
In the presentation, we will explore a new way to look at functional testing through AI-powered visual testing, the same way a picture is worth a thousand words - a screenshot is worth a thousand asserts.
Everyone is talking about reinvention. But what is it, why is it important and how exactly does one reinvent? Join this hands-on workshop to get clarity about what exactly reinvention means, how good you are at reinventing and how to improve these skills.
By the end of this keynote, participants will be able to:
• Define Reinvention
• Explain why Reinvention is important
• List two tools to help you Reinvent
We identify ourselves to websites daily, but as nearly ten billion leaked account details in "';--have i been pwned?" attest to, this process has a fatal weakness: passwords. Public key cryptography is the ideal goal, but until now it's been user unfriendly.
WebAuthn is a standard from the W3C and FIDO that solves this, while making it easy for website users, but how does it work, and how can you use it today?
Let's find out. Demo included!
Going from a monolithic architecture to a microservice based architecture is a daunting task. Exposing a completely new API scheme at the same time might be considered ludicrous. I'll describe how we, at AppDirect, have added a whole new API scheme to our arsenal through GraphQL Federation, while scaling into microservices.
Ever increasing cyber-attacks makes security an indispensable part of a modern web application. This session will explain about the importance of web security and how can we secure a modern web application. We will talk about JWT, what is the structure of JWT and how it works. We will also learn how to implement JWT based authentication in a full stack application created using Angular and ASP.NET Core with the help of a code demo.
ASP.NET Core Blazor is a production-ready framework for creating web applications. Web application security is important to any business. It also is one of the many challenges in modern web development. In this talk I go over Blazor Authentication and Authorization using modern technology and standards such as OpenIdConnect and OAuth 2.0. I discuss and demo implementation details using IdentityServer4.
Puppeteer is getting a lot of buzz as a way for JS developers to create E2E/UI tests. But is it better than Selenium? Not to be outdone, Microsoft forked and released a new version of Puppeteer, called Playwright, with added capabilities. What are the distinctions and how do you choose?
In this talk, we will compare those test automation platforms, demonstrating the differences. You will learn some of the key limitations and benefits of each.
Automated tests can quickly verify if the most important functionalities work as expected. They can significantly shorten the feedback loop which improves predictability and allows to detect possible problems earlier in the development process.
But what if even automated tests are too slow?
During the presentation, you will see how the serverless cloud services like AWS Lambda may be used to speed up test execution even hundreds of times.
Your competition will hate you. By the time they release one feature with a ton of bugs, you would have released 10 features with no bugs. A good design makes a world of difference in terms of ease of change, teamwork, testability, reliability and overall quality of life. I will present a software design approach that allowed my teams to ship unbelievably fast while keeping the quality above industry standards.
The story of my smart home system, all the way from the original idea to today, the design, the software, the hardware and how I found myself soldering transistors in the middle of the night.
In this session I will tell you how I built a working IoT system in a short time and no budget and we will talk about pitfalls and important considerations in IoT systems
The only thing constant about software is that it changes. Whether you need to remove technical debt, move to the cloud, or add new functionality - changing software seems to be a constant part of being a software developer. In this session, we will go over the primary refactor design patterns, look at how they can be implemented (in C#\.NET), and tell some stories about them being used in real-life.
The Open Web Application Security Project's Top Ten list is an often referenced source of the most common security risks for web applications. While the list itself is technology-agnostic, the countermeasures for those risks and attacks can differ greatly between frameworks.
Therefore, this session uses a different approach: we use a specific stack, .NET Core to be exact, and will show exactly how to prevent all the risks in the list.
As a dotnet developer without external tools like Unity, there are other straight-forward ways to build virtual reality experiences for headsets if you wanted to today!
Stereokit is an open source mixed reality library for building HoloLens and VR applications with C# and OpenXR.
In this session, we would do a quick introduction to Stereokit, work through a basic application and see how this library helps us build faster and be more productive
As Daniel Tiger wisely sings, "It's OK to make mistakes. Try to fix them, and learn from them too."
Come learn common mistakes developers make as they model their data in document databases. You'll leave this session ready to spot and correct four common document database schema design anti-patterns.
How to manage a quaint, yet indispensable software monolith? The one that outlived (twice) your shiny frameworks. The one that was created when 10 people was all it took to run the business. Well, you "just" need some clean architecture, and an understanding of Conway's law for decoupling, a healthy use of the Strangler Fig pattern to survive change, and some inspiration from the DDD community to make the app tell the story of your organization.
The way we build online experiences is constantly shifting with Git-centered workflows, better built tools, and the ability to more easily consume API’s through static site generators. In this session we’ll discuss some of the key concepts of the JAM Stack then take dive deep combining the power of Vue.js static site generator and an API managed from a headless CMS.
In the 21st Century the Cyber Universe is threatened by Evil Source Code and Evil entities. The only hope for many developers is the Fifth Element : the Sec in Devops, which must be implemented side by side with the Four elementals : Code, Build, Test , Deploy. A Microsoft Services are bringing the Four Elements but can the Fifth be included, and will it save us from disaster? Checkout the Microsoft ecosystem in combo with sonarqube, snyk, etc.
Containers are dramatically changing the way that application developers design and build their systems. Databases will need to be a part of this revolution as every application needs a data store. Come see a future vision of how full stack application development might look in the next few years.
Contract testing becomes important as testing strategy when we move forward to miroservice pattern when it was introduced to ensure quality of microservice communications. In this talk, I'll share my journey that how to start brining contract testing as an adopted testing strategy from early stage to the teams, and the company. Also, I'll talk about learnings from each stage of journey and experience introducing new tech stack to the company.
How do you get 1700 staff members who manage 900 websites on the same page when it comes to web strategy and standards compliance? When we, the Digital Communications team at McGill University, asked ourselves this question, the obvious answer was improved web governance. But the journey to effective web governance at a large, decentralized institution isn't an easy one. Hear about our experiences and lessons learned.
Complex, data-intensive web and mobile apps pose significant UX and Dev challenges. Mission-critical apps often require crowded interfaces that only an Excel ninja could love (or use). Learn secrets to help you define and design compact digital products that perform powerfully and help people get real work done. These practical techniques will change the way you think about constrained UI and your users will love you for it.
Nurture yourself and your career with ASMR: allies, sponsors, mentors and role models. In this talk we will delve into these supporting characters of your career life: what they are and aren't, what this support network can offer you, and why these relationships matter. Everyone has a story to share, don't let impostor syndrome talk you out of it! We'll cover that and what's in it for you, so that *you* too can inspire positive growth in others.
In this talk, Alexandria shares the secret sauce to growing a team that is fully bought into your mission, makes decisions exactly like you would, and is easily held accountable at scale… its Purpose. Purpose is the ultimate ceiling breaker that empowers an organization to beat up bottlenecks, go beyond the threshold of possibility, and scale with purpose.
The Coronavirus has brought the world together in a common fight, and we built the initial version of VirusTrack.live in less than 3 days with only 3 developers. Join me on a talk designed to show you how to rapidly go from idea to prototype to full fledged application using React and Redux. Go from setting up your environment to an interactive application in this short time frame. Stay safe, stay home, and code!
Software architecture tends to be esoteric and intangible. The result of this is architectural drift, with the architecture losing the qualities it was promoting as the code evolves. This talk will introduce ArchUnit, a library that allows you to test your Java architecture. You'll see how to write unit tests that protect architectural characteristics in your code while making your architecture easier to understand for everyone in your team.
The role of a technology leader has never been more challenging. We are in the midst of unprecedented technological change and yet keeping abreast of such advances alone will not guarantee success. We'll explore what's required to build an adaptive technology strategy including metrics, team topologies and evolutionary architecture practices. This talk will take your ability in crafting effective strategies to the next level. See you there!
What can the browser do now? Almost anything. In this session, we take a quick look at key web standards that make almost anything possible: Web Components, WebShare, Web Assembly, Web Manifest, Payment Request, Service Workers, and more.
Que ce soit un nouveau produit, un produit exploratoire ou un produit établi depuis longtemps, savoir dans quelle direction diriger nos efforts de développements et aligner notre architecture sur les besoins du produit n'est pas toujours chose aisée. Revenir à la base, définir des caractéristiques et les enforcer à l'aide de KPIs, SLOs/SLTs et Fitness Function peuvent aider à clarifier et automatiser la vérification de cette direction.
According to a study, nine out of ten web applications have security vulnerabilities. Recent events proved that not only old legacy sites were successfully attacked, but also new and recent applications, built with the best intentions and also with security in mind. We will have a look at common attacks, new attacks, and new twists to old attacks that demonstrate why so many websites may be compromised. As always: lots of live demos included!
Apache Maven is seen by many developers as the defacto build tool in the Java space. Since its early days back in April 2002, Maven has helped developers build projects and assemble artifacts. On the surface not much appears to have changed in the design, structure, and build file syntax, but in reality there are quite a good number of features that have been added through the years that make Maven a powerhouse.
Do you struggle prioritizing cleaning/refactoring/rearchitecting work against feature work? Do you have a hard time explaining why this might be more important than delivering business value? What is the relationship between technical debt and business value anyway? Understanding technical debt is difficult, talking about it is harder. Let's see if Mr Cunningham, DevOps, and the flow framework can give use some cues and tools to help us out.
It's no secret that today's architectures are based on microservices that exposes API but how do we do this in a way that can evolve to a large complex eco-system. In this presentation I outline 5 steps to build API(s) and what you need to learn and master in order to build it so that it scales in complexity over time.
During this presentation, we are going to look at the new features that were introduced in PHP 8.0. Join me to have a look at how the type system is strengthened with union types, Attributes, the JIT engine, and syntax improvements such as Constructor Property Promotion, and other new smaller features.
At the end you will have a good understand about all the new and exciting features that are going to be part of the PHP 8.0 release.
Many, if not most of us, started as developers. We learned and perfected our craft and were proud of our coding accomplishments. It was what defined us.
As you progress in leadership, more and more of your responsibilities have less and less to do with coding. When is it time to make coding your hobby instead of your job? How do you do it?
This talk is all about embracing the challenges of leading people while staying technically credible.
Redesigning the homepage of a major institution is tricky. McGill’s last few redesigns had been +/-6 years apart, and in 2018, we were past due. In 2019, we redesigned (and launched!) our homepage TWICE.
Learn how we rebuilt a tense design-development collaboration, managed a huge stakeholder group, and kept things user-focused. You'll come away with clear recommendations for successful projects with diverse teams and work methods.
Jakarta EE is now over 20 years old and despite its age, it is as relevant today as it was back in 1999. It is one of the few open standards for developing enterprise applications with multiple independent vendor implementations. Its APIs are central to developing Java based cloud solutions. It is as relevant today as it was back in 1999. This presentation will provide context to Jakarta EE and why businesses choose to use it.
In this talk I explain how to use Xdebug 3 to get more productive writing PHP code. It is for developers who want to know how to debug their code in a better way, through single step debugging, profiling, and simpler debugging tools.
This new version is a near total rewrite, and brings many improvements over its older releases. You will learn how to optimally use the new features and settings to make your development life easier.
There are things you can't - or don't want to - do inside a web request. Whether sending an email, processing a video, or consuming live data, you should be using a separate process - probably a daemon. Learn how to stop abusing cron, and easily daemonize a PHP script that responds responsibly to process signals.