Skip to content

jooooel/TIL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

86 Commits
ย 
ย 

Repository files navigation

.NET

๐Ÿ“ .NET & GRPC What they forgot to tell you - More practical advice than just "How to do HelloWorld".

๐Ÿ“ Performance best practices with gRPC

๐Ÿ“ dotnet-monitor - Expose diagnostics via REST API

๐Ÿ“ ASP.NET Core Apps Observability - Logging, metrics, tracing

๐Ÿ“ .NET Core Web API Metrics with Prometheus and Grafana

๐Ÿ“ Improvements in .NET Core 3.0 for troubleshooting and monitoring distributed apps

๐Ÿ“ Building End-to-End Diagnostics and Tracing - How to implement Open Telemetry

๐Ÿ“ Increasing Trace Cardinality with Activity Tags and Baggage

โ–ถ๏ธ Distributed Tracing Made Easy with .NET Core and OpenTelemetry - Jimmy Bogard on how to implement Open Telemetry

๐Ÿฅ .NET, Open Telemetry & Prometheus - Twitter thread by David Fowler with tips on how to use OpenTelemetry with .NET and how to setup an exporter for Prometheus. How to setup monitoring for internals like Thread pool, GC, etc.

โ–ถ๏ธ Cloud native apps with .NET and AKS - Getting started with Tye. Kubernetes and Observability with Zipkin and Elastic/Kibana.

๐Ÿ“ 6 Best Practices to Keep a .NET Applicationโ€™s Memory Healthy - Basic information about garbage collection and memory usage.

๐Ÿ“ Introduction to Benchmarking in C# and ASP.NET Core Projects - Introduction to BenchmarkDotNet

๐Ÿ“ Performance Tuning for .NET Core - A list of things to consider when every nanosecond counts.

๐Ÿ“ A comprehensive overview of authentication in ASP.NET Core โ€“ for fellow developers who're struggling with authentication in .NET

โ–ถ๏ธ Basics Part 1: Introduction to ASP.NET Core Authentication & Authorization - A detailed video on how authentication and authorization works. Why do we need both .AddAuthentication and .UseAuthentication()?

๐Ÿณ Prevent the "cache stampede" problem - David Fowler: "GetOrAddAsync ensures the operation will only be performed once, and others will wait on that operation to complete. This prevents the classic "cache stampede" problem."

๐Ÿ“ Serilog best practices

โ–ถ๏ธ Deep dive into .NET performance and native AOT - Demo how to profile memory and CPU, and also some concrete advoice on perfomance improvements for ASP.NET and EF.

โ–ถ๏ธ Turbocharged: Writing High-performance C# and .NET code, by Steve Gordon

๐Ÿงต Part 1 - Here's some code that is on the hot path on your application and you want to optimize it

๐Ÿงต Part 2 - Here's some code that is on the hot path on your application and you want to optimize it - David Fowler explaining how a string finding/splitting problem can be tackled to reduce allocations and optimize performance.

โ–ถ๏ธ Building Secure Microservices in Azure - Jimmy Bogard

๐Ÿ“ Tales from the .NET Migration Trenches - Jimmy Bogard - A series of posts of a migration from .NET Framework to .NET 6.

โ–ถ๏ธ ASP.NET Core Angular Authentication with Identity & EF Core - A good walkthrough regarding how to add Identity to an ASP.NET Core project using minimal API. Roles, authorization, policies, etc and also shows a way of structuring HTTP handlers.

โ–ถ๏ธ Authorization for Modern Applications @ DevConf 2018 - Dominick Baier talking about Authorization.

Debugging

Kestrel stops serving https (http2) requests after reboot under load - Great thread with tips on debugging locks, dotnet counters, traces, etc

๐Ÿ“ .NET Memory Performance Analysis - Really extensive document on memory, garbage collection, perfview, etc.

๐Ÿ“ Find, Fix, and Avoid Memory Leaks in C# .NET: 8 Best Practices

๐Ÿ“ 8 Ways You can Cause Memory Leaks in .NET

๐Ÿ“ Debugging .NET Core memory issues (on Linux) with dotnet dump

โ–ถ๏ธ Running .NET Core performance investigation on Linux - "f you don't know how to run a .NET performance investigation on Linux in this talk I am introducing dotnet trace, speedscope, perfcollect, chromium dev tools, VTune, and Rider and show how to use them to identify perf bottlenecks"

[๐Ÿ“ Debug a deadlock in .NET Core])(https://learn.microsoft.com/en-us/dotnet/core/diagnostics/debug-deadlock?tabs=windows)

๐Ÿ“ What diagnostic tools are available in .NET Core?

Memory & Garbage Collection

๐Ÿ“ Memory Management and Patterns in ASP.NET Core - A text about how memory management works on ASP.NET Core, and the difference between sever and workstation GC.

Architecture

โ–ถ๏ธ On .NET Live - Commands, Queries, and Clean Architecture - A video with Ian Cooper about clean architecture

๐Ÿ“ Pattern: Backends For Frontends

๐ŸŒ Refactoring guru - Refactoring.Guru makes it easy for you to discover everything you need to know about refactoring, design patterns, SOLID principles, and other smart programming topics.

โ–ถ๏ธ ASP.NET Community Standup - Implementing Authentication and Security in ASP.NET Core - Damien Bowden part I: A summary of different authentication flows and when to choose which.

โ–ถ๏ธ ASP.NET Community Standup - Securing ASP.NET Core APIs - Damien Bowden part II.

๐Ÿ“ ASP.NET Core Community Standup Securing APIs - A readme by Damien Bowden on different ways of securing an API.

๐Ÿ“ Stop overloading JWTs with permission claims - Explains that it's not good to put permission claims in the JWT token, but doesn't really offer a better alternative.

๐Ÿฅ Auth for Todo application - David Fowler adding authentication to his sample Todo application

โ–ถ๏ธ ASP.NET Community Standup - Taking a look at the TodoApi Sample App - David Fowler showing off the Todo application. Interesting regarding the authentication. How the frontend uses a cookie to authenticate against the BFF, and then uses another token against the API.

โ–ถ๏ธ CQRS is simpler than you think with C#11 and .NET 7! - Oskar Dudycz - A talk on CQRS, feature folders and how to organize your code.

๐Ÿ“ Comparing the backend for frontend (BFF) security architecture with an SPA UI using a public API

โ–ถ๏ธ The insecurity of OAuth 2.0 in frontends - Philippe de Ryck - NDC Security 2023 - Examplifying why you should use a BFF and not handle tokens in the browser.

โ–ถ๏ธ Securing SPAs and Blazor Applications using the BFF (Backend for Frontend) Pattern - Dominick Baier

๐Ÿ“ Delegation Patterns for OAuth 2.0 using Token Exchange - How to delegate an authenticated user to another API, behind a gateway for example.

๐Ÿ“ Proof of Concept for an Auth Gateway for SPA using YARP - Cookie auth between client and server (BFF/Gateway using YARP). The server holds tokens to downstream API:s. Client noes nothing of tokens.

๐Ÿ“ GDPR for busy developers - Article by Oskar Dudycz anout the general practices around data governance, like segregation, data recency, and privacy by default.

๐Ÿง‘โ€๐Ÿซ Authorization Academy - A series of technical guides for building application authorization. A course on how to think about authorization.

๐Ÿ“ Building a Critter Stack Application: Marten as Event Store

๐Ÿ“ Azure SaaS Dev Kit - A template and best practices for building multitenant SaaS applications on Azure.

Microservices

๐ŸŽง The monolith vs microservices debate

๐ŸŽง Sam Newman: Monolith to Microservices

Infrastructure

Azure

๐Ÿ“ Azure Application Gateway for dummies

โ–ถ๏ธ Microsoft Application Gateway deep dive - Great video explaining the concepts of AG.

โ–ถ๏ธ Publish Your AKS Services with Azure Private Link and Front Door

Docker

๐Ÿ‹ .NET Client for Docker Remote API

๐Ÿ“ Run more stuff in Docker - Use Docker and aliases instead of installing a lot of different cli tools.

Kubernetes

โ–ถ๏ธ Navigating microservices with .NET Core - Ryan Nowak

๐ŸŽง Ingress and the Service APIs

๐ŸŽง Cert-manager

๐Ÿ“ Series: Deploying ASP.NET Core applications to Kubernetes - Good series of posts On Kubernetes basics by Andrew Lock.

๐Ÿ“ Scaling SignalR Core Web Applications With Kubernetes

๐Ÿ“ Use Terraform to Create and Manage a HA AKS Kubernetes Cluster in Azure

๐Ÿ“ Monitoring Health of .NET Core Background Services with TCP Probes on Kubernetes

๐Ÿ“ A practical example of GitOps using Azure DevOps, Azure Container Registry, Helm, Flux and Kubernetes

๐Ÿ“ Managing Helm releases the GitOps way

โ–ถ๏ธ Accessing Key Vault secrets from an Azure Kubernetes Cluster - Great video with examples on how to use both "AAD Pod Identity" and "Azure Key Vault Provider for Secrets Store CSI Driver" to access secrets from an Azure Key Vault from within an AKS cluster. The example code can be found in this repo.

๐Ÿ“ A visual guide on troubleshooting Kubernetes deployments - Hands on tips on how to find out what's wrong with your deployments

๐Ÿ“ How to debug Kubernetes Pending pods and scheduling failures

๐Ÿ“ How to rightsize the Kubernetes resource limits - Prometheus queries to help find and plan resource limits.

๐Ÿ“ Exploring Kubernetes Operator Pattern - Mostly about CRDs and the kubernetes API.

๐Ÿ“ For the Love of God, Stop Using CPU Limits on Kubernetes - A post about why you shouldn't set CPU limits on pods.

Cassandra

โ–ถ๏ธ Introduction to Apache Cassandra

โ–ถ๏ธ Change Data Capture for Distributed Databases @Netflix

Postgres

๐Ÿ“ Push-based Outbox Pattern with Postgres Logical Replication

Messaging

๐Ÿ“ The Log: What every software engineer should know about real-time data's unifying abstraction

๐Ÿ“ Comparing Apache Kafka, Amazon Kinesis, Microsoft Event Hubs and Google Pub/Sub - A bit old, so might not be exact, but a nice overview.

Elastic Search

๐Ÿ“ In depth guide to running Elasticsearch in production

Redis

๐Ÿ“ SQL index on hash attributes in Redis - Exaplains different techniques for setting up a secondary index on Redis.

Terraform

๐Ÿ“ Create a Kubernetes cluster with Azure Kubernetes Service using Terraform

๐Ÿ“ Deploying Terraform Infrastructure using Azure DevOps Pipelines Step by Step

Kustomize

โ–ถ๏ธ Kubernetes deployments with Flux v2: introduction to kustomize - Great video with a tutorial showing how Kustomize works

Monitoring

๐ŸŽง Grafana

๐Ÿ“ How to drop and delete metrics in Prometheus

๐Ÿ“ Apache Kafka Consumer Lag Monitoring

๐Ÿณ .NET OpenTelemtry monitoring - A Twitter thread on how to setup OpenTelemetry with ASP.NET Core. Tips on dashboards, exporters, metrics and other stuff linked in the comments.

๐Ÿ“‰ Grafana Agent Flow - Grafana Agent is a telemetry collector, optimized for the Grafana LGTM (Loki, Grafana, Tempo, Mimir) stack. Flow aims to allow new users to easily set up, inspect, and iterate on their observability pipelines, and allow power users to combine components in novel ways, enabling them to achieve complex workflows without the need for dedicated Agent features.

Misc

๐ŸŽง Stefan Prodan on Progressive Delivery, Flagger, and GitOps

โ–ถ๏ธ Domain-driven refactoring - Great video by Jimmy Bogard with concrete tips on how to refactor code into domain models

๐ŸŒฎ Pacco - Full Microservice example using Prometheus, Grafana, Jaeger, etc...

๐ŸŽง Azure Pipelines

๐Ÿ˜€ draw.io - Draw charts and architecture diagrams

๐ŸŽง Challenges of distributed messaging systems - Talking about NATS. Fully distributed fast messaging system.

โ–ถ๏ธ Automated Testing for Terraform, Docker, Packer, Kubernetes, and More

๐Ÿ“ Online migrations at scale

๐Ÿ“ An Introduction to JQ - Covers the basics of JQ

๐Ÿ“ How we automatized our release process into just 3 clicks - Examples of GitHub Actions to automate creating PRs and merging between branches.

๐Ÿณ Life is to short to use dated cli tools that suck - Try these instead. A list of alternative (improved) cli tools to use instead of cat, ls, diff, etc.

๐Ÿ‘จโ€๐Ÿ’ป Modern Unix - A collection of modern CLI tools for Unix systems.

๐Ÿ“ The Delivery Hero Reliability Manifesto

๐Ÿ“ Basic Network Troubleshooting

๐Ÿ“ โ–ถ๏ธ Node.js Rocks in Docker - In-depth details on building container images for Node.js projects.

๐Ÿ“ Working with stacked branches in Git is easier with --update-refs

๐Ÿƒโ€โ™‚๏ธ SQL scripts migration runner

Golang

๐Ÿ“ Learn Go in ~5mins

โ–ถ๏ธ GopherCon 2019: Mat Ryer - How I Write HTTP Web Services after Eight Years

๐Ÿ“ Practical Go lessons

๐Ÿ“ How to start a Go project in 2023

AI

๐ŸŽง Generative models: exploration to deployment - A good summary on how to going from choosing a model, to deploying it.

๐Ÿ“– OpenAI Cookbook - A lot of examples for how to use ChatGPT.

๐Ÿ“– LLM for Book Summaries (Comprehensive Bulleted Notes): Walkthrough and Model Rankings - Detailed walkthrough on how to summarize large texts (books) using locally run models.

โ–ถ๏ธ A Hackers' Guide to Language Models - Jeremy Howard talks about how LLMs work and shows some examples of RAG and fine tuning.

LLMOps

๐Ÿง™โ€โ™‚๏ธ Awesome Prompt Engineering - Hand-curated resources for Prompt Engineering with a focus on Generative Pre-trained Transformer (GPT), ChatGPT, PaLM etc.

๐Ÿ”— Awesome GPT Prompt Engineering - A curated list of awesome resources, tools, and other shiny things for GPT prompt engineering.

โšก๏ธ OpenAI: Prompt engineering - A guide with examples, strategies and tactics for getting better results from large language models.

๐Ÿง‘โ€๐Ÿ’ป Awesome LLMOps - A curated list of LLMOps tools.

Evaluating results

๐Ÿงช How to evaluate a summarization task - Evaluate a summarization task using ROUGE, BERTScore or an LLM.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published