Abstraction vs Encapsulation
Explains the key differences between abstraction and encapsulation, two fundamental object-oriented programming concepts.
Explains the key differences between abstraction and encapsulation, two fundamental object-oriented programming concepts.
Explores how to make a StringBuilder enumerable in C# using compiler duck typing and extension methods, despite it not implementing IEnumerable.
Explores new ArgumentException helper methods proposed for .NET 8, including ThrowIfNullOrWhiteSpace and ThrowIfNullOrEmpty for collections.
A developer explores and compares three libraries (iText 7, DinkToPdf, ChromeHTMLToPdf) for generating PDFs from HTML in ASP.NET Core.
Explores new code analyzers coming in .NET 8, focusing on performance improvements like case-insensitive string comparisons.
Explains the new FrozenSet and FrozenDictionary collections in .NET 8, detailing their performance benefits and differences from read-only and immutable collections.
A technical guide on implementing complex gestures like presses, drags, and taps in SwiftUI using a custom GestureButton.
Introduces new _flex() functions in the mapBliss R package for custom, per-label positioning on maps, enhancing map art creation.
Debunks the myth that StringBuilder is always faster in C#, showing scenarios where simple concatenation or List<string> is better.
Explains how to measure heap allocations in .NET and reveals that an empty array consumes 24 bytes due to object overhead.
A developer shares their experience moving from Twitter to Mastodon, discusses the tech community exodus, and provides helpful resources for newcomers.
A guide to using AutoFixture with xUnit to generate anonymous test data, making unit tests more robust and maintainable.
Explains software design patterns like Mediator, Strategy, Singleton, and Proxy using simple sketches and real-world analogies.
A guide on using GitHub Codespaces to develop and test Azure PowerShell Function apps in a pre-configured cloud environment.
Twitter is phasing out its Revue newsletter platform, prompting users to migrate their subscribers to alternative services.
Author updates on new web design book edition, potential Vim/JavaScript projects, and shares experiences with custom keyboards and input devices.
Explores the pitfalls of mutable value types in C#/.NET, explaining why they are often avoided and the performance reasons for their limited use.
A guide to automating pull request creation and auto-merging for content updates using GitHub Actions and the GitHub CLI.
Explains the 'shift left' approach to integrating security early in the DevOps software development lifecycle for better outcomes.
Explores the history of copy-paste keyboard shortcuts, the Ctrl+C conflict in terminals, and proposes using Super+C as a universal solution.