dotnetsheff
dotnetsheff
  • 136
  • 157 358
Azure Static Web Apps
Azure Static Web Apps. An easy way to get a hobby site into the world for very little cost.
But that's not all they can do! With a few changes to the out of the box experience, and using the standard, paid, tier we can use these Azure Resources in our enterprise architecture!
We will touch upon infrastructure as code, to make reliable deployments to a known environment.
We'll look into how to change the default pipeline to allow unit tests etc for the code, and deploying the same build applications into multiple environments.
Finally, we'll take a look at Custom Authentication - using Auth0 to authenticate and a custom Azure Function to provide the roles for our users.
-About the Speaker
Stacy Cashmore
Tech Explorer DevOps, Omniplan, Netherlands
Speaker, author, and software developer. Stacy has been developing solutions since the mid-1990s in various companies and industries ranging from facilitating contract jobbing to allowing consumers to close a mortgage without the help of a financial adviser - with lots in between.
She has a passion for sharing knowledge: using storytelling for sharing her experiences to help teams grow in the ways that they develop software and work together and performing live coding demonstrations to inspire others to try new technologies.
Stacy has just published her first book, aimed at helping developers get started building dynamic applications using C#, Azure Functions, and Azure Static Web Apps.
For her effort in the community, Stacy has been awarded the Microsoft MVP for Developer Technologies since 2020.
stacy-clouds.net/blog-posts
Stacy_Cash
www.linkedin.com/in/stacycash
-
Links
dotnetsheff.co.uk
www.meetup.com/dotnetsheff/events/303102877/
dotnetsheff
-
The Video
Recorded/Mixed by Kevin Smith ( kev_bite)
-
dotnetsheff
dotnetsheff is a monthly user group focused on software development, particularly in the .NET ecosystem. We welcome people with interests in software development of all ages and levels of experience
มุมมอง: 98

วีดีโอ

Container-based development for C# developers
มุมมอง 14812 ชั่วโมงที่ผ่านมา
Containerization has taken the world of software development and application operation by storm in recent years. And the basics of "somehow" doing containerization are also easy and quick to learn and implement. But what are the pitfalls, how do you really get your own container images ready for production and can I actually develop directly in containers? This session answers all these questio...
How I Test My ASP NET Core APIs
มุมมอง 1692 หลายเดือนก่อน
If you know me, I’m passionate about testing, and what better than this talk I’ll be sharing my experience over the last 10 years of testing APIs. This will cover the basics of how you get started with testing ASP.NET Core APIs, the layers I test at to prove our confidence in production, to how libraries and technology choices such as MongoDB and SQL Server make such a difference on your workfl...
Looks GREAT To Me: Getting Past Bare Minimum Code Reviews
มุมมอง 1.5K3 หลายเดือนก่อน
Ah code reviews. We need them, but we dread them. We do them, but not well. How do we deal with gigantic PRs? Why can't we write effective code review comments? How do we make code reviews shorter? Is SSDaaRB (Single Senior Developer as a Reviewer Bottleneck) something we just have to accept? In this talk, I'll not only answer these questions, but give you actionable advice on how to improve yo...
Let's build a .NET YouTube player! For which platform? All of them!
มุมมอง 1433 หลายเดือนก่อน
In this session we will be using the open-source Uno Platform to help us quickly get a full-fledged application up and running for Windows, Android, iOS, WebAssembly, macOS, and Linux. We will start with getting your development environment set up, whether you are using Visual Studio 2022, VS Code, or Rider we got you covered. Next stop is the design, we will get to play around with the origina...
Fluent Method Chaining in C#
มุมมอง 1.1K4 หลายเดือนก่อน
What if there was a way to declaratively describe a chain or flow of async methods, which could be used when handling API requests or messages from a service bus queue or actually anywhere? Recently, while refactoring a growing piece of business logic, we found a way to achieve this. The logical conclusion is that related flows can be described in one place, in a single piece of orchestration, ...
Build Advanced AI Solutions with Semantic Kernel
มุมมอง 3226 หลายเดือนก่อน
Large language models have been a game changer, but they have their limitations. They only know what was generally available up to the point they were trained. They don't have access to recent events, or your own private data. What's worse, if you ask them about something they don't know about, they start making stuff up! That's why we need to build more sophisticated solutions that combine dif...
Memory First: An Introduction to Redis
มุมมอง 1176 หลายเดือนก่อน
Odds are, you’ve heard of Redis. Maybe you’re a total noob and want to learn all about it. Maybe you’ve used it to cache an API call or some JSON strings and want to know what else it can do. Maybe you *haven’t* heard of Redis and are curious what all the fuss is about. Wanna find out? Join me as I explain what Redis is-a wicked-fast, memory-first database-and why you should care. I’ll share wi...
From IL Weaving to Source Generators
มุมมอง 1079 หลายเดือนก่อน
From IL Weaving to Source Generators Intermediate Language (IL) Weaving is a powerful technique that allows to greatly simplify the experience of developers using the .NET Realm SDK by hiding a fair amount of complexity from end-users. Working with a weaver, though, is tedious, error prone and the resulting code is a black box. These are some of the reasons that convinced us to migrate to Sourc...
.NET Patching with GitHub Actions with Martin Costello
มุมมอง 559 หลายเดือนก่อน
Automating Monthly .NET Patching with GitHub Actions and dotnet-outdated With the productivity and performance benefits developers gain from using modern .NET over .NET Framework, also comes the less-exciting flip-side - patching the version of .NET in production environments every month to keep your applications secure. Keeping up-to-date with security and reliability fixes is an important ong...
.NET gRPC - deep dive
มุมมอง 21611 หลายเดือนก่อน
.NET gRPC - Deep Dive With an increasing need for scalability and performance dictated by the modern web, it becomes harder and harder to choose an API paradigm that is suitable for service-to-service communication. While the classical models still work and have their own merits, some of them rely heavily on documentation, extensive coordination between teams or code-sharing. We use shared libr...
Advent of Code
มุมมอง 633ปีที่แล้ว
Advent of Code Feel like you have far too much free time in December? Don't code enough during your day job? …then Advent of Code will be right up your street. 25 days of coding puzzles ranging from easy to mind-boggling. Using C#, we'll go through some practical solving of a day-one puzzle and a more challenging mid-month puzzle. A taster session ready to join ¼ million other developers on Dec...
How to Move from Development into Leadership
มุมมอง 182ปีที่แล้ว
Do Repeat Yourself: How to move from Development into Leadership As a developer moving into a leadership role for the first time it can be can be tough, confusing, and at times overwhelming. This was certainly the case for me. I discovered that the principles I had once followed when building software were no longer effective as a leader. However, after a few years I can confidently say that be...
CI, CD, Databases and Zombies
มุมมอง 80ปีที่แล้ว
Broadly speaking, most people are aware of the concept of CI/CD these days, and the methods and techniques associated with deploying software. However, what is usually less well managed is the database that the software in question depends upon. What methods and techniques can you employ in deploying changes to your data and schema? What happens when your code is dependent on that schema? What ...
Event Driven Architecture
มุมมอง 186ปีที่แล้ว
My beautifully architected system used to end up like a distributed monolith. A complete ball of mud, coupling everywhere and adding new features took way too long and I always had the idea that if I could just get the time to rewrite it, it would be so much better. But even if I got the chance, a year later I was in the same position. Until I started embracing event driven architecture. Come j...
App Insights Lightning Talk
มุมมอง 29ปีที่แล้ว
App Insights Lightning Talk
Why Being Right Is Slow
มุมมอง 335ปีที่แล้ว
Why Being Right Is Slow
I Hate Code Coverage Lightning Talk
มุมมอง 33ปีที่แล้ว
I Hate Code Coverage Lightning Talk
MongoDB Change Streams Lightning Talk
มุมมอง 1.2Kปีที่แล้ว
MongoDB Change Streams Lightning Talk
Turning software into computer chips with Hastlayer
มุมมอง 162ปีที่แล้ว
Turning software into computer chips with Hastlayer
.NET, IoT and Hedgehogs!
มุมมอง 74ปีที่แล้ว
.NET, IoT and Hedgehogs!
So - you want to develop a Visual Studio add-in?
มุมมอง 47ปีที่แล้ว
So - you want to develop a Visual Studio add-in?
.NET 5, 6, and 7 for Busy Developers
มุมมอง 286ปีที่แล้ว
.NET 5, 6, and 7 for Busy Developers
Getting Started with Technical Blogging
มุมมอง 66ปีที่แล้ว
Getting Started with Technical Blogging
Debugging Difficult Conversations
มุมมอง 53ปีที่แล้ว
Debugging Difficult Conversations
AWS Step Functions
มุมมอง 36ปีที่แล้ว
AWS Step Functions
Software design and intentionality
มุมมอง 285ปีที่แล้ว
Software design and intentionality
UTC is Not a Silver Bullet
มุมมอง 256ปีที่แล้ว
UTC is Not a Silver Bullet
Property-Based Testing
มุมมอง 417ปีที่แล้ว
Property-Based Testing
Minimal API Designs
มุมมอง 413ปีที่แล้ว
Minimal API Designs

ความคิดเห็น

  • @caseyspaulding
    @caseyspaulding หลายเดือนก่อน

    This was great thanks

  • @grandlagging0zero175
    @grandlagging0zero175 หลายเดือนก่อน

    if Scott Wlaschin had looked at your code at 16:04 he would have sent you to retrain

  • @johngagon
    @johngagon 3 หลายเดือนก่อน

    If code reviews were done scientifically, they would be double blind. That there eliminates some of the bias problems with LGTM / UrKodSux types of reviews. Also, you should be liberal with kudos. Very interesting takes. Thank you for covering this topic. It's much neglected in terms of meta/looking outside the box on this topic. I esp like how to be more specific on the code itself, suggest what it is you are looking for instead of just making a gripe.

  • @HugoTrentesaux
    @HugoTrentesaux 3 หลายเดือนก่อน

    **praise:** Thanks. It's helpful to put words on things we encounter when reviewing code.

  • @mabainter
    @mabainter 3 หลายเดือนก่อน

    In my contexts for code reviews LGTM has always been "Let's Get This Merged". I would be curious to know how widespread using it as "looks good to me" is, and whether that is a language community thing, an industry thing, generational thing or what...

    • @actually_it_is_rocket_science
      @actually_it_is_rocket_science 3 หลายเดือนก่อน

      I've never seen let's get this merged.... I've always heard it as "looks good to me". Yours is defo more manager friendly like saying rtfm means "read the friendly manual"

    • @rudzik8164
      @rudzik8164 3 หลายเดือนก่อน

      I've always read LGTM as LeGiTiMate in my head. when your project has at least somewhat strict code/PR guidelines, that actually starts making a lot of sense

  • @enmingwang6332
    @enmingwang6332 4 หลายเดือนก่อน

    Fantastic lecture! Cheers 👍👍

  • @hellowill
    @hellowill 4 หลายเดือนก่อน

    I thought C# users hate Java for exactly this reason?

  • @matthewhxq
    @matthewhxq 4 หลายเดือนก่อน

    It looks really clean & nice but I wouldn't say it's simpler and easier to digest for the next new dev that will work on that code base.

  • @avwie132
    @avwie132 5 หลายเดือนก่อน

    Is it 2006? I know this was the hype back then

    • @cinosz6780
      @cinosz6780 4 หลายเดือนก่อน

      He uses minimal API, so it's not 2006

  • @jankool01
    @jankool01 6 หลายเดือนก่อน

    Very informative. I could not find the repositories mentioned in SPDoctor on GitHub - are they public?

  • @MoniHazarika-oc7xs
    @MoniHazarika-oc7xs 6 หลายเดือนก่อน

    can we get the demo code fore reference Kevin? I am doing a POC with change streams

  • @ashishkalra9438
    @ashishkalra9438 6 หลายเดือนก่อน

    Amazing..i enjoyed and learned alot.

  • @KevinGleason-d5q
    @KevinGleason-d5q 9 หลายเดือนก่อน

    🤘 'Promo SM'

  • @TormodSteinsholt
    @TormodSteinsholt 9 หลายเดือนก่อน

    Is his document in notebook available from anywhere?

  • @privebia371
    @privebia371 10 หลายเดือนก่อน

    Azure DevOps Markdown should inherently provide support for PlantUML, Mermaid, and GraphViz, or at the very least, offer these capabilities as extensions available in the Marketplace.

  • @_miranHorvat
    @_miranHorvat 10 หลายเดือนก่อน

    Yeah, funky and faster. That's it. How many developers do realy need this performance gain? Don't get me wrong, it's great. I don't need it. But what I do need is the Decimal type! Back in the days I just added asmx files with methods to my monolith and it was done. Wsdl was autogenerated. Consuming a wsdl is a gem - basicaly a single click and you have your strongly typed proxy classes. Then came wcf along. What did I gain with wcf? Nothing. More work for the same result was the result. And then, I still don't understand the hype, came rest. That was realy stupid. OK, bear in mind, I'm a MS-VS-.NET guy. And now, Ladies and Gentleman, gRPC. The asmx aproach was almost a perfect solution.

    • @dotnetsheff
      @dotnetsheff 9 หลายเดือนก่อน

      For us Rest is more about consuming from the outside, it gives the ability to reason about what the API is doing without having to work within that company/domain. You treat everything as a resource. As for gPRC it's literally what we had with binary serialization back in the day, the gain of speed etc... but it's easy interop between languages and other systems too.

  • @amjadc
    @amjadc ปีที่แล้ว

    Excellent presentation kevin!

    • @kevbite
      @kevbite 9 หลายเดือนก่อน

      Thanks!

  • @legion_prex3650
    @legion_prex3650 ปีที่แล้ว

    Fido2 is two factor authentication. Something you have (the Authenticator) and something you are (eg. the biometric fingerprint). I don't know why all "experts" claim that Fido2 is one factor authentication only...

  • @marmorego
    @marmorego ปีที่แล้ว

    thanks, this is useful

  • @bubbagumpshrimps
    @bubbagumpshrimps ปีที่แล้ว

    @dotnetsheff At 30:00 you explain the example of the private key being encrypted and send to RP and later back to be unwrapped by the burnt-in key of the authenticator. This for the purpose of second factor authentication. Why not let the authenticator generate a random string/nonce/challenge and wrap that up? And later on decrypt it with the burnt-in key of the authenticator? This is a simple thought that probably overlooks something. But enlighten me please. Thanks for the excellent explanation by the way. By far the most and complete video out there about passwordless and the concept and details behind.

  • @user-yr1uq1qe6y
    @user-yr1uq1qe6y ปีที่แล้ว

    Not only was it a good intro to some python features for us C# devs, it also finally answered the question "what is a notebook and why do I need it"?

  • @johnstaveley
    @johnstaveley ปีที่แล้ว

    Great talk. It would be nice if the questions had been repeated for the video :)

  • @Krazy0
    @Krazy0 ปีที่แล้ว

    The only confusion is 6:14

  • @MrColmryan
    @MrColmryan ปีที่แล้ว

    Great explanation Ian. Hadn't ever really looked at this before but you explained it beautifully and the demo application was a great real world example

  • @spoodermen2530
    @spoodermen2530 ปีที่แล้ว

    he starts off by insulting the audience? lol such a tool

  • @vandeljasonstrypper6734
    @vandeljasonstrypper6734 ปีที่แล้ว

    Can I grab these code to maui and uno ?

  • @lawrencevelez3014
    @lawrencevelez3014 ปีที่แล้ว

    😠 'Promosm'

  • @Mars-hp7rn
    @Mars-hp7rn ปีที่แล้ว

    Do you have a tutorial for AR Hair colouring?

  • @nuwanthuduwage6869
    @nuwanthuduwage6869 ปีที่แล้ว

    Awesome!!, thank you for sharing this. I have a question for you. How we can maintain an application-level state machine, rather than using scattered component-level state machines. Can we use React Context or any other state mgt approach (Redux..etc)? I saw you referred to React Context in this video. Can you please provide more information? Thank you.

  • @MartinHAndersen
    @MartinHAndersen 2 ปีที่แล้ว

    The nino validation returns true or false. How could it return and explanation on why it failed?

  • @MikeHunt-rw4gf
    @MikeHunt-rw4gf 2 ปีที่แล้ว

    Algorithm.

  • @MarkusBurrer
    @MarkusBurrer 2 ปีที่แล้ว

    F# has cyclical references with the "and" keyword.

  • @MarkusBurrer
    @MarkusBurrer 2 ปีที่แล้ว

    The most important statement in this talk: "F# is not hard, it is different". The same thing I always say about Rust

  • @williamliu8985
    @williamliu8985 2 ปีที่แล้ว

    Really awesome content about minimal API, very useful! Thanks very much!

  • @swiszcz
    @swiszcz 2 ปีที่แล้ว

    Hi Matt! Great talk! Where we can get this tool for generating types from xaml from? It'd be very useful!

  • @todorelax1793
    @todorelax1793 2 ปีที่แล้ว

    C# is toooo verbose

  • @chrisbaker5284
    @chrisbaker5284 2 ปีที่แล้ว

    I would have watched more of this but many of the slides are cut off at the bottom, which is very annoying. The first 10 minutes talk about how wonderful functional programming is, the implication it is better then OO, which is not true. Both paradigms have their advantages and disadvantages. I'm a programmer of more than 20 years and I am always happy to learn and try new things, but forcing an OO language to use functional paradigms is a bit like using a spanish guitar to play heavy metal - it's just plain wrong. If you want to do functionla programming use a functional programming language! Functional programming does not hold state and is stateless? And becasue of that it is great at data processing. But as it is stateless what data does it process? Immutablity is where you get better thread safety and while that concept may have originated from the mathematical functional world it's not a functional programming feature, you can create immutable classes in c# (and I have been for years), that doesn't make it functional.

  • @roodborstkalf9664
    @roodborstkalf9664 2 ปีที่แล้ว

    Excellent

  • @jorgehenao3900
    @jorgehenao3900 2 ปีที่แล้ว

    it is a genuine work of art made FIDO2 cybersecurity THANKS for the explanation 🤓

  • @TheNorthRemember
    @TheNorthRemember 2 ปีที่แล้ว

    injecting middleware to other apps without touching them !! wow, this is great

  • @stewiegriffin6503
    @stewiegriffin6503 2 ปีที่แล้ว

    buuuh

  • @steamedtiger5223
    @steamedtiger5223 2 ปีที่แล้ว

    This is very usefull but why you dont use mic.. your voice not enough clear even use headphone

  • @sanford8424
    @sanford8424 2 ปีที่แล้ว

    p̳r̳o̳m̳o̳s̳m̳

  • @0XAN
    @0XAN 2 ปีที่แล้ว

    hey there! nice tutorial, it seems che candlestick chart control is missing: any plans to integrate it in the near future?

  • @langatkikwei789
    @langatkikwei789 2 ปีที่แล้ว

    This is a great talk! Good insights

  • @jasonzhang4632
    @jasonzhang4632 2 ปีที่แล้ว

    IRepository is waste of time🤣

    • @kevbite
      @kevbite 2 ปีที่แล้ว

      Like most things, it depends! I've been lots of Repository<T> with a million methods.

  • @StephBsimon
    @StephBsimon 2 ปีที่แล้ว

    just when u're thinking "new app" "multiplaform"... maui vs UNO... you think to yourself, Maui is such at an early stage and no wasm support... on the other hand UNO's been there for a long time + wasm support... ok let's go all in for UNO. Then you get the templates extensions and none of them run, not in vs2019 nor in vs2022... right...multiplaform. vs22 workloads Fed-up, not sure what's the deal with vs19 but sure will not run. Wouldn't it be great if u had at least templates that didn't throw VS into a shock on first run?

  • @emilorefors6277
    @emilorefors6277 2 ปีที่แล้ว

    As far as i know there's no difference between linq select and map

    • @simonpainter2242
      @simonpainter2242 2 ปีที่แล้ว

      There is. Select operates exclusively on Enumerables (and derivatives) an element at a time, so 'x' for a Select statement is an individual item in an array of some kind. Map operates on _any_ object and on the whole object, so you could call Map on a string, or an integer. If you called Map on an Enumerable, then 'x' would be the entire enumerable, not just a single element of it.

    • @emilorefors6277
      @emilorefors6277 2 ปีที่แล้ว

      @@simonpainter2242 but what would be the practical difference when running it on a collection?

    • @simonpainter2242
      @simonpainter2242 2 ปีที่แล้ว

      @@emilorefors6277 if you passes an arrow function with a parameter 'x' to a Select statement on at Enumerable<T>, then the type of x is T. If you called Map on that same Enumerable, then x would have the type Enumerable<T>. I.e. map operates on the whole original object, not just individual elements within it

    • @emilorefors6277
      @emilorefors6277 2 ปีที่แล้ว

      @Simon Painter im pretty sure this is not how it works. For example, map in javascript and also in f#, will both have x being the type of T

    • @simonpainter2242
      @simonpainter2242 2 ปีที่แล้ว

      @@emilorefors6277 you're right, but we have Select in C# that performs the same role as Map in JS. I _could_ have called it Bind too, but I thought that Map was a friendlier name

  • @garyestes7587
    @garyestes7587 2 ปีที่แล้ว

    🙈 p̴r̴o̴m̴o̴s̴m̴

  • @Calphool222
    @Calphool222 2 ปีที่แล้ว

    This is great and all, but what security wonks don't seem to grok is that when I'm building a business solution (web site, mobile app, etc.) what I want is _HOW_DO_I_IMPLEMENT_THIS_? I don't care that much about the underlying tech. I trust that people who love crypto and security stuff will have poured over it, and it works as it should. My focus is on USING IT. Don't bury the lead -- show me a "hello world" version of it being used, and THEN tell me all this detail (if I care about it). There's a reason "hello world" is a standard programming pattern -- it breadcrumbs you in to using something.