Below are the sessions for Prairie Dev Con Regina 2019!
Filter based on category or technology!
When working within a project using Git, you notice a folder .git with a bunch of files and folders containing all types of information. The technical talk will cover some plumbing and porcelain commands with Git and how it manages your files within the .git folder. We will do a deep dive into how Git store data and how it all comes together to track changes for files and folders.
Have you ever looked at the Web Content Accessibility Guidelines (WCAG)? Like most standards documents, they’re dry and not very clear, so let’s make them more accessible! I’ll strip the WCAG docs down to their basics and introduce various tools you can use to check the accessibility of your website or app. Whether it’s an audit tool such as aXe or WAVE, a colour contrast tool built into your browser, or a colour-blindness simulator, you’ll learn how to use these tools, interpret the results, and create an accessibility checklist and a plan for fixing common issues.
User: We need to add the capabilities of Google Search to our application. Developer: When do you need this? User: Next week would be Greaatttt! Developer: OH!
So you need to add a search engine? Have no fear Elastic Search is here! In this session you will learn how to install and implement search solutions using the industry standard solution known as Elastic Search. In this session you will learn:
NGRX is a large opinionated library on how to do state management in Angular and is often marketed as ‘The Solution’ to all your state management woes. This talk is to tell you that NGRX isn’t the panacea to every ailment. On top of not curing my baldness NGRX is not always how to solve state management. There’s lots of other ways to deal with state management in Angular. This talk walks through the life of an Angular app and the appropriate state management tactics at different milestones. One size does not fit all. Of course, an internet bucket of hype has to be based on something, so we’ll finish with ‘when you need NGRX how to get started.
Understanding how our applications function in the wild is essential for developers when issues arise. With the power of knowledge, we can enable ourselves to provide the best experience to our fellow developers, and our stakeholders. One of the solutions that supplies this power is Application Insights. Application Insights is a service provided by Microsoft allowing you to monitor your application live, detect performance anomalies, and observe this data with powerful analytics. Together we will see how easy it is to add Application Insights to our applications, whether we have access to the code-base or not. Once instrumented, we will dive deeper into the capabilities of Application Insights and show how to leverage all the rich data collected from our application. Finally, as developers the last thing we want to do is troubleshoot an issue in Production, with everyone watching and the stakes are high. Watch as we monitor a live application that is throwing exceptions and how Application Insights can be used to help us solve the problem faster. When we are done, attendees will be empowered with the knowledge to leverage Application Insights to be more productive with their work.
Practically everything! ASP.NET Core is now a mature platform, offering developers a sometimes overwhelming set of options to choose from: MVC/WebAPI, Razor Pages, client-side vs server-side rendering, Blazor, worker services, gRPC, Windows vs. Linux, Kestrel vs in-process IIS vs nginx. In this session, we will get a high level overview of the ASP.NET Core landscape. We will start with a break down the different programming models provided by ASP.NET Core, along with some examples of when you might choose a particular programming model. We will also dive into the seemingly endless options for hosting an ASP.NET Core app.
You’ve decided to develop in Azure and need to make a decision on the messaging technology. Storage Queues, Service Bus, Event Grid, Event Hubs, etc. Which technology should you use? How do you pick the right one if they all deal with messages? This session will help you answer these questions.
Messaging is the backbone of many systems. Not all messaging platforms are born the same. Some are less sophisticated, some are more. Some are so advanced it’s like taking a racing car for a spin; powerful and thrilling at the same time. In this session, you will learn what Service Bus has to offer.
Vue.JS has gained a lot of traction in the last couple years. Vue.js, combined with Vuetify and VueX, provide a complete framework for building web applications that truly delight your users. In this session, we walk-through building an app using Vue, Vuetify and VueX.
The modern web is an incredibly powerful and useful tool. Developers can empower their companies to succeed and thrive by bringing business processes and administration online through web applications. Why is it then that building these applications involves so much grunt work and re-inventing of the wheel? From building user authentication systems to admin dashboards to integrations with third party APIs, there's a lot of work that has to be done that doesn't directly relate to solving the core business needs. OctoberCMS is a tool that takes care of the grunt work for you but most importantly gets out of your way and empowers you to focus on what matters most - the core business logic of your applications. You'll learn more about the OctoberCMS ecosystem, some of the projects that are using it to great effect right now, and most importantly learn how OctoberCMS can empower you to accomplish your development objectives quickly and painlessly.
Have you ever wondered how to get out of a bad merge? Have you ever gotten stuck trying to push your changes? Git is a wonderful and empowering tool, but it’s not your father’s version control system. Bring your Git questions for this no-slides demo of Git command line and GUI tools. We’ll harvest your curiosities, add in some common concerns, and run through these scenarios together. Have an open-source project you’re stuck on? Bring the GitHub URL, and not only will we discuss it, I’ll submit a pull request with the changes we build.
“Why’d you have to go and make things so complicated?” - Avril Lavigne, implementing Angular forms in 2019
Forms are such a basic part of web applications; how did they get so complicated? This talk will walk through Angular template driven vs. reactive forms and use cases for their implementation, basic & more complex form-validation, & custom component implementations like typeahead and date-pickers, and use of the little known Control Value Accessor to handle the trickiest of form problems! This talk will also include some useful workarounds for those more complex PITA requirements that always seem to pop up in projects.
There are tons of resources showing you how to build web applications using React, but once your app gets to a certain size: with multiple teams working on different parts of the app at the same time, a host of micro-services and APIs to contend with, and an ever growing list of features and enhancements to be implemented, things can start to break down.
This talk is about the fundamental principles we (Bitovi) have developed, for managing the complexity of large front-end applications at scale, to keep development teams productive and bring “performance and polish” to your users.
It is presented through the lens of a React app, but is relevant for any client-side web application dealing with the problems of scaling.
Go from Angular zero to hero in one hour. A talk for developers interested in learning Angular. We’ll cover all the basics (Components, Directives, Forms, Services) you need to know to build a Single Page Application and start becoming the front-end/full-stack developer you’ve always dreamed to be.
In this session, we will begin by separating Property Based Testing (PBT) from Unit Testing. We’ll go over some useful patterns to help keep us coming up with properties. Diving into generators to exercise control over our inputs and to generate complex objects. Where PBT should be used and when unit testing would be better suited. We’ll then follow it up with some real world property based testing.
Machine Learning is hot, hot, HOT! But if your background is web/api/app development, and not a PhD in stats/math, it probably looks like a completely alien world. I can’t turn you into an ML developer in 1 hour, but I can try and demystify what it means to do ML development. The different approach to solving problems with ML rather than regular coding, give an overview of one specific ML model technique, and how ML developers can apply it in a bunch of interesting ways. And go over the things that people spend most of their time struggling with in the ML world (feature engineering, overfitting, hyperparameter tuning, etc).
Welcome to the future.
As web standards continue improve to replace traditional programming models and and the Cloud provides a seemingly infinite amount of infrastructure; the web is no longer the future, but our new reality.
It is in this new reality where the web browser is king, and the OS is nothing more than thrown the king sits upon.
But all is not lost. Your existing development practice can live on in this new world, but only if you learn how to survive. In this session, let David be your guide to gaining taming the web for your enterprise and moving your classic development practice into this browser driven reality.
When we first launched Azure DevOps we had practically zero telemetry, and very little experience within our team of running a cloud service at scale. In the past 5 years we’ve not only gone from almost zero to ~8TB/day of telemetry, but we’ve developed the practices, processes, tools and most importantly culture needed to operate at scale. We’ve made some mistakes along the way and learned a lot of lessons. For example, collecting 8TB/day of telemetry may sound great, but trying to turn that overwhelming amount of data into actionable insights is a huge challenge.
Within Office 365 circles, everyone has become familiar with PowerApps and Microsoft Flow as well as the functionality and versatility these tools provide. In fact, with all the documentation and videos out there on these fantastic solution-building tools, you would be hard-pressed to find someone who hasn’t. What many may not realize is simply how easy it is to create a solution that integrates with multiple systems. With PowerApps and Flow, you can quickly design and implement a solution that spans multiple systems.
In this session, we will focus on how easy Microsoft allows users to integrate with other systems. I will demonstrate how effortless PowerApps and Flow allow you to bring multiple solutions together. We will create a PowerApps and Flow-based solution from concept to deployment. The solution will utilize PowerApps for data gathering and then integrate completely separate technologies using Flow. In the end, you will learn a great deal about utilizing these fantastic technologies to make awesome solutions for your users with minimal development and deployment time.
The MVC Pattern provides elegant abstractions for web requests. Redux provides similar patterns for data movement in React. Angular has RxJS and Vue has VueX with similar patterns. Let’s dig deep into the way data flows through the Redux, demo strategies to get started, and look at ways to debug and troubleshoot it when things go wrong. You’ll leave with a solid understanding of the Redux pattern and appropriate times to use it.
Do you write web apps using ASP.NET Core? When it comes time to deploy your app, how do you do it? Do you use Visual Studio, or maybe you are fancy and use some CI/CD process. Regardless of what mechanism you use to deploy, what are you deploying? There are many things to consider when we deploy our ASP.NET Core apps but sometimes, we as developers don’t pay attention.
In this session, we will learn all the different ways we can deploy our apps and how we can find the perfect solution that works for your needs. Using Azure Pipelines, CLIs, and yes, Visual Studio, we will deploy an application to Azure in different scenarios.
Data Science is the new buzzword. But when does data become big data? When should I actually use Data Science at work? Do my current skills translate to data science? In this session we will demystify the world of data science so you can understand the process, the tools, and the lingo.
I find many developers are confused by data science. Sure there’s lots of free online resources to go learn, but where do you even begin? It’s hard to know where to start when you don’t know what you don’t know! If you start in the wrong place you end up looking at diagrams and formulas that leave you lost and confused. In this session we’ll break data science down into a language and process developers can understand. The process from problem definition to testing to releasing code into production. The tools and terms so you know where to start for the problems you are trying to solve in your office.
You don’t want to say this out loud at parties, but you’re still supporting a legacy AngularJS app and are struggling to stay current with modern techniques. We’ve all been there and it’s going to be ok! In this talk you’ll learn how to take advantage of TypeScript and reactive programming with RxJS, but in the context of an AngularJS application ‘cause AngularJS devs need love too!
A while ago, Angular dominated the web, then React dethroned the king and took over as the de-facto web framework. Even the “new kid on the block” Vue.js is getting a bit long in the tooth as it climbs to new heights in the web dev community.
It’s about now, when people start to look around to see what’s coming up, to see what new ideas will shake up the space, and what new features will influence how we create for the web going forward. In short, they are looking for the next big thing.
I’m going to tell you about Svelte, the web framework that is going to take down the titans and influence the way we work on the web for the next several years. I’ll talk about why it’s great, what makes it different, and why I am confident that in this highly competitive space I firmly stick to the idea that Svelte is going to be the “next big thing” for the web.
Your journey into the cloud can be met with a software-defined networking learning curve. Understanding how your applications and services all communicate with each other, the internet and on-premises networks. In this session we’ll cover the basics of Azure networking, what it is, how it differs from on-premises, and how to take full advantage of its capabilities.
SQL Server stored procedures seem to have a bad reputation. This reputation is not deserved, and this session will demonstrate techniques for unleashing the real power of stored procedures. In this session you will learn the following techniques:
By attending this session you will learn the true power of stored procedures.
At iQmetrix, our mission is to create great experiences. We’ve been around for 20 years and, over that time, have become the leaders in the development of wireless retail management software. For the past few years, iQmetrix teams have been tackling our monolith in an effort to move towards a microservices-based platform architecture, which will one day completely power our product ecosystem. While this is top priority work, but it’s not easy or quick…technical priorities, along with a constant stream of incoming requests, can seem impossible to balance, and constant shifting and context switching has a cost.
Tiger Teams provide a path through this challenge. In this session, I’ll explain the concept of Tiger Teams and how we’re using them at iQmetrix to balance deadline-driven customer requests with achieving our core technical goals.
Between cookies, tokens, keeping users authenticated, and handling resource access, securing these apps can be tricky - you may even feel like you need a second page (gasp!) for your authentication setup! But we have the technology to create truly secure single-page applications. In this talk, we’ll walk through the process of securing a single-page application that will apply to nearly any SPA framework. Between Angular, React, & Vue it can be hard NOT to build SPAs these days. But having to deal with cookies, tokens, auth, & resource access - you may even feel like you need a second page (gasp!) for security. Fear not, for the technology to create truly secure SPAs is there and I’ll show you how.
A good architecture should reduce business risk associated to the solution. This is a hard task, especially if requirements can change constantly. Inspired by Jimmy Bogards talk on Vertical Slice Architecture, we will build out a foundation for a project using Dot Net Core 2.2 and MediatR and walk through some real life scenarios to see if the architecture can adapt to any new requirements we are introducing.
Do you know what accessibility is? How about inclusive design? Have you ever heard of WCAG, POUR or ARIA? Accessibility should be fundamental to the development process, but it isn’t. Most dev/designer/PMs haven’t even heard about it, let alone understand what it actually means. In this introduction to accessibility, you’ll learn about assistive devices & technologies, accessibility standards & tools, and some quick and easy next steps for making your sites and applications more accessible to all users.
AI & Machine learning are daunting topics. In this session we will focus specifically on image analysis. We will start by looking at Computer Vision API services. How to call them, what do they do well? When do they fall short of our needs. Then we will examine the Custom Vision Service, a user friendly tool that allows you train models to recognize domain specific images. You can build Hot Dog/No Hot Dog in under 5 minutes! Again we will examine when this is the right tool for the job. If neither of these meets your needs, we won’t teach you how to write your own neural network from scratch to analyze images (not going to happen in 60 minutes!) but we will share some good resources to help you get started. No session would be complete without a great takeaway.