Accounts and Email - Building SaaS #164
Building a SaaS product: adding an Account model and creating a background job to send journal prompt emails with full unit testing.
Building a SaaS product: adding an Account model and creating a background job to send journal prompt emails with full unit testing.
Explains why eliding the 'await' keyword in C# async methods results in missing stack trace information, with code examples.
A guide to implementing the Mediator design pattern in C# from scratch, inspired by the MediatR library.
A guide comparing popular data compression codecs (zstd, brotli, lz4, gzip, snappy) for Parquet files, explaining their trade-offs for big data.
Explains C# 12's new collection literals feature, a concise syntax for creating and merging collections and dictionaries.
A chalk talk on using Amazon CodeCatalyst to improve code quality through test plans, coverage, and dependency checks.
Explains the internal workings of the .NET List<T> class, focusing on its dynamic array implementation, resizing behavior, and performance considerations.
Explains how to write a .NET profiler in C# by implementing ICorProfilerInfo to call native methods from a managed wrapper.
Explains the differences and use cases for Span<T>, Memory<T>, and ReadOnlySequence<T> in C# for high-performance memory access.
A technical guide on deploying the open-source Falcon 7B and 40B large language models to Amazon SageMaker using the Hugging Face LLM Inference Container.
A researcher's informal survey among software engineering academics reveals surprising insights into their personal use of automated refactoring tools in IDEs.
Explains the new TimeProvider abstraction in .NET 8 for mocking and controlling time in tests, making time-dependent code easier to test.
A web developer's hands-on review of the Dell 6K 32" monitor, focusing on its use with Macs and why it's a great value despite a major flaw for some users.
A tutorial on building a contact form with Nuxt3, Cloudflare Workers, Brevo's email API, and reCAPTCHA for spam protection.
An AI-generated, alliterative rewrite of Genesis 1 where every word starts with the letter 'A', created using GPT-4.
A tutorial on writing a minimal GUI window using x86-64 assembly and the X11 protocol, resulting in a binary under 1 KiB.
Introduces the new terminal logger in .NET 8 Preview 4, highlighting its cleaner, colored output and how to use it.
Explains the new enhancement to the C# 12 `nameof` operator, allowing access to instance members from a static context.
Explains how .NET 6's TryGetNonEnumeratedCount method works to get an element count without enumeration, using internal interfaces like IIListProvider.
Overview of IPinfo's free IP geolocation database, its market context, and how it serves developers and businesses.