Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Radzen Blazor Components: ¡ahora open source!
José María Aguilar - Usando using, valga la redundancia (C#)
José María Aguilar
.NET Core / .NET
- Announcing .NET 8 Preview 2
Alexandra Barry - .NET 7 SDK built-in container improvements
Laurent Kempé - System.Text.Json Serializing Hierarchical Data
Christian Nagel - Partial Classes In C# And How to Use Them
Code Maze - Solving .NET JSON Deserialization Issues
Khalid Abuhakmeh - Using Trie Class for Efficient Text Pattern Searching in C#
Code Maze - How Async/Await Really Works in C#
Stephen Toub - Immutable Collections in C#
Code Maze - WkHtmlToPdf: Dealing with broken Url Encoded and Extended Character Links
Rick Strahl - Enhancing JPEG, PNG, Text Using C# .NET Part 1
GrapeCity Developer Solutions - Polly with .NET 6, Part 8 - Policy Registry with Minimal APIs, and HttpClientFactory
Bryan Hogan - Discover the New Features of .NET 8: What You Need to Know
ByteHide - Many Ways to make and Deserialize an HTTP GET with HttpClient
Bryan Hogan - Write your own AutoMapper in C#
Steven Giesel
Publicado por José M. Aguilar a las 8:05 a. m.
Etiquetas: enlaces
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Si usas [EmailAddress] y [Url] para validar datos de entrada, ojo: ¡que hace tiempo que ya no validan mucho!
José María Aguilar - 101 formas de saber que tu proyecto está condenado al fracaso
José María Aguilar
.NET Core / .NET
- Gestionando la configuración de nuestras aplicaciones (1/x)
Sergio Navarro Pino - Delegados en C#
Benjamín Camacho - What's new for the WinForms Visual Basic Application Framework
Klaus Loeffelmann - Announcing ImageSharp 3.0.0
Siz Labors - We want your feedback! Introducing Polly v8
Joel Hulen - What really is the Entry Point of a .NET Module?
Washi - Understanding LINQ Deferred, Immediate, Streaming and Non-Streaming Executions
Abdul Rahman Shabeek Mohamed - .NET Console Application with injectable commands
Kees C. Bakker - Validating Connection Strings on .NET Startup
Khalid Abuhakmeh - Testing Roslyn Incremental Source Generators
Gérald Barré - How to Setup Integration Tests in .NET Without a WebApplicationFactory
Paul DeVito - How To Use The yield break Statement In C#?
Muhammed Saleem - How to Find the Caller Method in C#
Code Maze - Implementing the Producer Consumer Pattern with TPL Dataflow
Mark Heath - Alternative Way of Logging With OpenTelemetry Logging in .NET
Phil Broderick - Manipulating CSV Files in .NET
Assis Zang
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Programadores con producción neta negativa (NNPP)
José María Aguilar - Trimming de espacios no significativos en Blazor 5
José María Aguilar
.NET Core / .NET
- Get Seamless Network Communication with These .NET Classes
Admir Mujkic - C# Tip: Initialize lists size to improve performance
Davide Bellone - How to Improve Enums With the SmartEnum Library
Code Maze - Extending the System Menu to add advanced commands in .NET
Gérald Barré - What To Be Wary of With Iterators and Collections in C#
Nick Cosentino - Raw Strings, UTF-8 Strings, and Multiline Interpolations – Using C# 11 in Rider and ReSharper
Sasha Ivanova - C# FileStream For Lazy Developers In A Hurry. The Bare Minimum
Gus Pear - Resiliency with Wolverine
Jeremy D. Miller - Speed Up ASP.NET Core JSON APIs with Source Generators
Khalid Abuhakmeh - IEnumerable, ICollection, IList and List
Code Maze - Write a high-quality README for NuGet packages
Lynn Dai - Microsoft Teams' Permission Service migration to .NET 6
Diogo Barbosa
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Iterar con foreach sobre cualquier tipo de objeto con C#9
José María Aguilar - Visualizar archivos de ayuda .CHM descargados de Internet
José María Aguilar
.NET Core / .NET
- C#: enum
Fernando Escolar - Announcing .NET 8 Preview 1
Jeremy Likness - error NETSDK1194: The "--output" option isn't supported when building a solution.
Steven Giesel - Building Functional .NET Applications: a Guide for Choosing between Nahla Davies & Daniel Bryant
- How safe are .NET serialization libraries against StackOverflowException
Nemanja Mijailovic - Refactoring huge C# code base in minutes
Laurent Kempé - Creating a custom Main method in a WPF application
Gérald Barré - List and Span Pattern Matching – Using C# 11 in Rider and ReSharper
Sasha Ivanova - Create Clean Guard Clauses With GuardClauses in C# Code Maze
Code Maze - Resolving the Call Is Ambiguous Error While Using LINQ
Code Maze - C# "var" with a Reference Type is Always Nullable
Jeremy Clark - Getting git version information in your C# code
Steven Giesel - Safer Nullability in Modern C#
Matt Eland - C# 11.0 new features: newlines in string interpolation expressions
Ian Griffiths - Automatic Instrumentation of Containerized .NET Applications With OpenTelemetry
Rahul Rai - How Hangfire Helps Your .NET API Perform Out-of-Process Tasks with Resilience and Speed – Wrapt
Paul DeVito - Windows Forms Binding Improvements in .NET 7 for MVVM Support Edin Kapić
- C# 11–The scoped keyword
Bart Wullems
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo tomar el control en el momento de la instanciación de componentes Blazor con IComponentActivator
José María Aguilar - Métodos genéricos en C#
José María Aguilar
.NET Core / .NET
- C# Language Mind map
Steven Giesel - Update to the .NET language strategy
Kathleen Dollard - Simple Secrets for Access to the .NET Record Type
Nick Cosentino - Refactoring Bloated Code in C#
Code Maze - Explicit validation in C# just got simpler!
Oskar Dudycz - Asynchronous Programming Patterns in .NET
Code Maze - Must follow C rules, no exceptions
Eric Sink
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo convertir clases en diccionarios clave/valor
José María Aguilar - 12 novedades destacables de Blazor 5.0 (bueno, y algunas más)
José María Aguilar
.NET Core / .NET
- C# HTML Parser
Manthan Koolwal - How to Get Value by Key from JObject in C#
Code Maze - C# All string escape sequences
Metadata consulting - Hot-reload any Serilog sink
Nicholas Blumhardt - C# Tip: do NOT use nameof to give constants a value
Davide Bellone - Basic Windows Machine Hardware information from WMI for Exception Logging from .NET
Rick Strahl - C# ValueTuple
Patrick Smacchia - C# 11.0 new features: raw string literals
Ian Griffiths - Thread Safe Lazy Initialization Using C# Notes
Ken Dale
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Atajo para instanciar tipos anónimos en C# y VB.NET
José María Aguilar - Error 404 cargando páginas Blazor Server con parámetros que contienen un punto
José María Aguilar
.NET Core / .NET
- Cómo corregir una Null Reference Exception
Fernando Escolar - Head and Tail using list patterns in C#
Jiří Činčura - Find total number of ways to reach the n’th stair from the bottom in C#
Dot Net Office - How to modernize a legacy .NET Framework WCF app using CoreWCF and .NET 7
Carlos Pons - Realistic Data Generation in .NET With Bogus
Marko Hrnčić - CSharp dotNET How to remove ASCII Control Characters fast and reduce to ASCII set
Metadataconsulting - Which collection interface to use?
Vladimir Khorikov - Programming SVGs with C#
Khalid Abuhakmeh - Static libraries
Eric Sink - C# 11.0: Generic Math, C# Operators and Static Abstract/Virtual Interface Members
Thomas Claudius Huber - Performance: The Fastest Way to Loop Over an Array in Microsoft .NET
David McCarter - Understanding and Using the ‘Unchecked’ Keyword in C#
Ahmet Burhan Simsek - Using Command Binding in Windows Forms apps to go Cross-Platform
Klaus Loeffelmann - C# Lowering
Steven Giesel - 9 Tips to Reduce WPF App Startup Time
Andrey Slabov - Check If a String Array Contains a Value and Get Index
Code Maze
Ahí van los enlaces recopilados durante una griposa y febril semana pasada. Así que espero que os resulten especialmente interesantes. ;-)
Por si te lo perdiste...
- Detectar la prerenderización en Blazor
José María Aguilar - Cómo crear un traceroute con .NET, paso a paso (y II)
José María Aguilar
.NET Core / .NET
- Announcing .NET Community Toolkit 8.1! Better, faster MVVM source generators, .NET 7 support, and more!
Sergio Pedri - Convert GUIDs to a Shorter Textual Representation and Back
Roland Weigelt - .NET 7 Brings Networking Improvements
Edin Kapic - Understanding PLINQ in .NET
Marco Luzzara - Checking for Overflow in C#
Jeremy Clark - C# 12: Primary Constructors
Steven Giesel - Deconstruction in C#
Patrick Smacchia - Property based testing in C#–Part 2
Bart Wullems
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Crear un traceroute con .NET, paso a paso (I)
José María Aguilar - Cómo personalizar los mensajes de error de conexión en Blazor Server
José María Aguilar
.NET Core / .NET
- No, No, No - Tasks are not threads and they are not for performance!
Steven Giesel - Detecting breaking changes between two versions of a NuGet package at packaging time
Gérald Barré - How to Iterate Over JSON Objects in C#
Code Maze - Deserialize Mastodon User XML RSS feeds with .NET
Khalid Abuhakmeh - LINQ for beginners: pick the right methods!
Davide Bellone - Rebus in .NET - Service Bus Implementation
Phil Broderick - Lazy and once-only C# async initialization
Ian Griffiths - Making an Asynchronous Breakfast in .NET
Assis Zang - 5 new advanced features improving C# 11
Tom Deseyn - Cryptography Implementations in .NET
Alvaro Montoya - Getting rid of warnings with nullable reference types and JSON object models in C#
Maarten Balliauw - Profiling .NET on Linux with BenchmarkDotNet
Adam Sitnik
El código de estado HTTP 508 (Loop Detected) indican que el servidor ha finalizado la operación debido a la detección de un bucle infinito mientras procesaba una petición realizada con el valor "infinite" en el encabezado "depth". Este encabezado forma parte de las extensiones HTTP de WebDAV y se usa para realizar operaciones que pueden afectar a un recurso y a todos sus miembros, hasta el nivel de profundidad especificado.
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Componentes genéricos (templated components) en Blazor
José María Aguilar - La depuración y las cinco fases del duelo
José María Aguilar
.NET Core / .NET
- Using Roslyn to Power C# SDK Generation from OpenAPI Specifications
Brant Burnett - Introducing Wolverine for Effective Server Side .NET Development
Jeremy D. Miller - Schedule Jobs with Quartz.NET
Code Maze - Moving to .NET 7 MSMQ Alternatives
Irwin Williams - PriorityQueues on .NET 7 and C# 11
Davide Bellone - .NET 7 Networking Improvements
Natalia Kondratyeva - 11 Ways of Making Your C# Harder to Use
Brendan Enrick - Fun with C# and Bingo
Eric King - C# 11: pattern matching and static abstract interfaces
Tom Deseyn - Add All Project to Solution with dotnet CLI
Steve Smith - Answer: What does this code print?
Oren Eini - Creating Multi-Tier Subscriptions using C#
Jonathan Danylko - Task<IDisposable> surprise
Jiří Činčura - Using Procdump to generate dumps on a specific .net core exception
Xiao Dong Zhu - Testing in DotNet
Mark Oliver
Pasando del 503 ninguno de los códigos de estado HTTP son demasiado conocidos, así que esto se está convirtiendo en una oportunidad para echarles un vistazo y al menos, saber que están ahí.
Esta semana seguimos con el HTTP 507 (Insufficient storage), que indica que el espacio de almacenamiento en el servidor no es suficiente para completar la operación. Según la especificación, la petición no debe ser reintentada hasta que sea solicitada por una acción independiente del usuario; o sea, que cuando recibamos este error, deberíamos informar al usuario y, si procede, permitirle reintentar.
Y ahora, ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo invocar métodos de instancia C# desde Javascript con Blazor (interop 3/3)
José María Aguilar - Formas efectivas de ofuscar emails en páginas web
José María Aguilar
.NET Core / .NET
- A new wave of analyzers in .NET 8
Steven Giesel - C# 11 Strings in the Raw
Shawn Wildermuth - .NET and C# Versions
Niels Rasmussen - Floating-Point Types in C# - Double vs Float vs Decimal
Code Maze - An initial proof of concept of applicative assertions in C#
Mark Seemann - Hashing and Salting Passwords in C# - Best Practices
Diego García - C# Tip: Raise synchronous events using Timer (and not a While loop)
Davide Bellone - Having fun with C# 11 raw string literals
Jiří Činčura - Starting a process as normal user from a process running as Administrator
Gérald Barré - Benchmark Your Code Like dotNetDave!
David McCarter - Introducing C#11: List Pattern
Anthony Giretti - Trying out the built-in container support for the .NET SDK
Carlos Pons - Producer-Consumer Applications With .NET Channels Code Maze
Code Maze - New ArgumentException and ArgumentOutOfRangeException helpers in .NET 8
Steven Giesel
El desconocido (al menos para mí) código de estado HTTP 506 (Variant also negotiates) indica que el servidor tiene un error de configuración en el contexto de la Negociación Transparente de Resultados (RFC 2295). Permite informar al cliente de que la variante que ha elegido está configurada para participar en la negociación de contenidos, pero no es válida como endpoint para el proceso de negociación-
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo solucionar el error "Unable to connect to web server 'IIS Express'" en Visual Studio
José María Aguilar - Cómo saber si tenemos el debug=true en el Web.config
José María Aguilar
.NET Core / .NET
- .NET 7 Adds Generic Math
Jonathan Allen - Creating Containers in .NET 7 with the .NET CLI
Anuraj Parameswaran - How to get allocations in .NET? And how big is an empty array?
Steven Giesel - Static Abstract Interface Members in C#11
Dirk Strauss - HashSet vs SortedSet in C#
Code Maze - Creating JSON Web Tokens using dotnet user-jwts tool
Anuraj Parameswaran - Tagged Strings in Visual Studio and .NET 7
Jonathan Allen - Killing all child processes when the parent exits (Job Object)
Gérald Barré - Wolverine | Next Generation .NET Command and Message Bus
Jeremy D. Miller - C# List Pattern Examples
Phil Haack - How to Check if a String Ends With a Number in C#
Code Maze - The dangers and gotchas of using scoped services in OptionsBuilder
Andrew Lock - .NET 7 Removes Its Insecure XmlSecureResolver
Jonathan Allen - "Use always a StringBuilder"
Steven Giesel - Towards a Beginner-Friendly DotNet
Matt Eland - How to Create and Publish a NuGet Package with dotnet CLI
Anuraj Parameswaran - Logging to Amazon Cloudwatch with Serilog in .NET
Mukesh Murugan - Frozen collections in .NET 8
Steven Giesel - The new .NET 7.0 IParsable<TSelf> interface
Patrick Smacchia - A Mostly Complete Guide to C# 11’s Final Features
Matthew MacDonald - Sending An Email In C#/.NET
Daniel Collingwood
Creo que nunca me he topado en persona con este código de error, así que es una buena ocasión para conocer un poco sobre él.
El código HTTP 505 (HTTP Version Not Supported) es retornado por un servidor cuando rechaza o no soporta la versión major de HTTP utilizada en la petición. En este caso, se recomienda que el servidor incluya en la respuesta la descripción del motivo por el que no soporta la versión utilizada, y qué protocolos debería usar en su lugar.
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo invocar métodos estáticos C# desde Javascript con Blazor (interop 2/3)
José María Aguilar - Imágenes en cuadros de texto de formularios web
José María Aguilar
.NET Core / .NET
- Null-Coalescing ?? And Null-Coalescing Assignment ??= Operator
Code Maze - Enforcing .NET code style rules at compile time
Daniel Genezini - The Best C# 11 Feature You Don't Need
Matt Eland - My C# array, tuple, delegate declaration dilemma
Jiří Činčura - How to Return null From a Generic Method in C#
Code Maze - Introducing the C# 11 Required Keyword
Matt Eland - My favourite 'recent' LINQ improvements
Mark Heath - How to Use the “Using Static” Feature in C#
Code Maze - Book: C# for Babies
JetBrains - Using Dynamic LINQ With System.Linq.Dynamic.Core Library
Code Maze - C# 11 and .NET 7 Bring Generic Parsing
Jonathan Allen - C# 11 required members
Patrick Smacchia - Protect yourself when deserializing - System.Text.Json
Josef Ottosson - Anonymous test data with AutoFixture
Steven Giesel - Cysharp/MemoryPack: Zero encoding extreme performance binary serializer for C# and Unity.
Yoshifumi Kawai
Como vimos hace unas semanas, el código HTTP 502 es usado por gateways, proxies o intermediarios similares para informar al cliente de que la petición al servidor real estaba retornando un error, pero, ¿qué ocurre cuando dicho servidor ni siquiera responde en un tiempo determinado? Pues para eso existe el HTTP 504 (Gateway timeout).
Y ahora, ahí van los enlaces recopilados durante la semana pasada, con muchas novedades y lanzamientos que, como de costumbre, espero que os resulten interesantes. :-)
Por si te lo perdiste...
- ¿A qué huele tu código?
José María Aguilar - Cómo invocar funciones Javascript desde Blazor (interop)
José María Aguilar
.NET Core / .NET
- .NET 7 is Available Today
Jon Douglas - Welcome to C# 11
Mads Torgersen - Announcing F# 7
Vlad Zarytovskii - Announcing NuGet 6.4 - Signed, Central, Delivered
Jon Douglas - What's new in Windows Forms in .NET 7.0
Igor Velikorossov - What's new for WPF in .NET 7
Pankaj Chaurasia - What's new in Orleans 7.0
Brady Gaster - Mutable value types are evil! Sort of...
Steven Giesel - Top 10 Dotnet Exception Anti-Patterns in C#
Matt Eland - How to Use HTML Agility Pack in C#
Diego García - Debugging tips and tools
Gérald Barré - Tasks vs Threads in C#
Code Maze - Concurrent Processing in .NET 6 with System.Threading.Channels (Bonus: Interval Trees)
Charles Chen - Source Generated RegEx in .NET 7
Steve Collins
El error HTTP 503 (Service unavailable) lo retornan los servidores para indicar que no están disponibles para responder a la petición. Es habitual encontrarlo al intentar acceder a un sitio web que está en mantenimiento, temporalmente fuera de servicio, o ante un estado de sobrecarga (alta concurrencia, bajos recursos, etc.) El cliente debe interpretarlo como un error temporal, y puede volver a intentarlo de nuevo algo más adelante; para ello, a veces suele acompañarse de un encabezado Retry-After
con la fecha/hora o el número de segundos estimados en los que volverá a estar operativo.
Y ahora, ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo mostrar y ocultar elementos en Blazor
José María Aguilar - 8 curiosidades que quizás no conocías sobre los emoticonos ;-), Parte 1 y Parte 2
José María Aguilar
.NET Core / .NET
- Announcing .NET Community Toolkit v8.1.0 Preview 1
Sergio Pedri - Local functions vs lambda expressions
Steven Giesel - Handling times for an EV charger
Jon Skeet - Deserializing Json Streams using Newtonsoft.Json & System.Text.Json with C# & VB
Graeme_Grant - Advanced LINQ
Alvaro Montoya - Injectio - Source Generator for Dependency Injection
Paul Welter - Encrypt and Decrypt Text Values in .NET
Jamil Hallal - Getting Started With Worker Services
Assis Zang - Just store UTC? Not so fast! Handling Time zones is complicated.
Derek Comartin - Bring WCF apps to the latest .NET with CoreWCF and Upgrade Assistant
Sam Spencer - Marking API's as obsolete or as experimental
Steven Giesel
Primero de todo, va una pildorilla cultural coincidiendo con el número de entrega de la serie de enlaces.
Cuando un servidor HTTP está expuesto a sus clientes a través de un intermediario (proxy, gateway, balanceador o cualquier otro tipo de sistema), es dicho intermediario el que recibe en primera instancia las peticiones, reenviándolas a su destino final y retornando su respuesta. Esto se realiza de forma totalmente transparente para el cliente.
El error HTTP 502 (Bad gateway) es retornado por los servicios intermediarios (proxies, gateways, etc.) cuando no pueden obtener una respuesta válida desde el servidor de destino real de la petición. Por ejemplo, podría ocurrir si éste esté caído, parado por mantenimiento o desconectado de la red, entre otros motivos.
Por si te lo perdiste...
- Cómo personalizar el mensaje "Loading" de las aplicaciones Blazor WebAssembly
José María Aguilar - Cómo describir los elementos de una enumeración usando métodos de extensión y atributos (C# y VB.NET)
José María Aguilar
.NET Core / .NET
- Read CSV File in .NET using CsvHelper
Bradley Wells - Differences between .NET Collection Interfaces
Matt Eland - Automatically version and release .Net Application
Anto Subash - IComparable vs IComparer vs Comparison Delegate
Muhammed Saleem - Dictionary vs Hashtable in C#
Code Maze - The Forgotten Art of C# Inheritance
Szymon Kulec @Scooletz - C# 11 File Scoped Types
Patrick Smacchia - Using WASM and WASI to run .NET 7 on a Raspberry PI Zero 2 W
Laurent Kempé
El error HTTP 501 "Not implemented" se utiliza para indicar al lado cliente que el servidor no soporta las funcionalidades necesarias para poder dar una respuesta a la petición. Puede retornarse acompañado del encabezado Retry-After
para indicar al cliente que puede volver a intentarlo más adelante, cuando estas funcionalidades hayan sido implementadas.
Por ejemplo, la MDN, indica que es la respuesta apropiada cuando el servidor no implementa el método HTTP utilizado en la petición ni para el recurso solicitado ni para cualquier otro. Fijaos que hay una diferencia respecto al error 405, que indica que el recurso está disponible con otro verbo HTTP.
Y ahora, ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Componentes con cuerpo en Blazor
José María Aguilar - Efectos laterales en métodos parciales
José María Aguilar
.NET Core / .NET
- Introducing Spectre.Console
Steve Smith - That Shouldn't Happen - UnreachableException in .NET 7
Abbot - Simplify NuGet Package Versions in your application with Central Package Management
Nick Randolph - Make The First Letter of a String Upper Case in C#
Code Maze - 8 reasons startups prefer Node.js over .NET, and are they justified?
Michael Shpilt - Accessing State in System.Text.Json Custom Converters
Steve Gordon - 3 (and more) ways to set configuration values in .NET
Davide Bellone - Task.ContinueWith implicit type conversion gotcha
Maciej Zwierzchlewski - Common C# Programming Mistakes
Code Maze - Generating Code Coverage Reports in .NET Core
Anuraj Parameswaran - Update on ImageSharp
.NET Foundation - Throwing exceptions - Why is my stack trace lost?
Steven Giesel - Builder Pattern with the implicit operator using
Josef Ottosson
Pues no habría apostado a que llegaríamos tan lejos, pero sí, estamos ante la entrega número 500 de la serie de enlaces interesantes, un post semanal que recoge los mejores contenidos técnicos que voy encontrando por la red, y que me consta que a muchos también os resultan interesantes :)
Ya cuando la serie cumplió diez años publiqué un post respondiendo preguntas que me habéis hecho y seguís haciendo sobre ella, así que si tenéis curiosidad sobre como empezó, el tiempo que dedico a ello o criterios para seleccionar los enlaces, os recomiendo que echéis un vistazo al post, porque todo sigue vigente.
Y ahora, vamos al lío: ahí van los enlaces recopilados durante la semana pasada que, como de costumbre, espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Métodos parciales en C# 3 y VB.NET 9
José María Aguilar - Cómo mostrar el número de usuarios conectados a una aplicación Blazor Server, en tiempo real
José María Aguilar
.NET Core / .NET
- Announcing .NET 7 Release Candidate 2
Jon Douglas & Jeremy Likness & Angelos Petropoulos - Console.ReadKey improvements in .NET 7
Adam Sitnik - Boosting Performance With Sealed Classes in .NET
Marko Hrnčić - Low-level struct improvements in C# 11
Steven Giesel - Calculating MRR with Stripe and C#
Phil Haack - Cursed C# - Doing shenanigans in C#
Steven Giesel - What's new in System.Text.Json in .NET 7
Eirik Tsarpalis & Krzysztof Wicher & Layomi Akinrinade - Modern C# Techniques, Part 3: Generic Code Generation
Stephen Cleary - Functional Programming in C#—A Brief Consideration
Assis Zang - Infographics Compendium II - ThrowHelper, null Task and more
Steven Giesel
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Otras 101 citas célebres del mundo de la informática
José María Aguilar - Capturar todos los parámetros enviados a un componente Blazor
José María Aguilar
.NET Core / .NET
- Adiciones a LINQ en .NET 7.0
Octavio Hernandez - Understanding identity in .NET
Pierre Bouillon - Sorting in C#: OrderBy.OrderBy or OrderBy.ThenBy? What′s more effective and why?
Sergei Vasiliev - Ensuring best practices for NuGet packages
Gérald Barré - Write barrier optimizations in regions
Maoni Stephens - Bending .NET - Compiling 65,536 Programs with Roslyn to Find Valid Identifier Separator char's... then just use
SyntaxFacts.IsValidIdentifier
🤦
Niels Rasmussen - How to build a URL Shortener with C# .NET and Redis
Niels Swimberghe - Bing Ads Campaign Platform – Journey to .NET 6
Mike Treit - Modern C# Techniques, Part 2: Value Records
Stephen Cleary
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Clases parciales en C# y VB.NET
José María Aguilar - Mostrar HTML "crudo" en componentes Blazor
José María Aguilar
.NET Core / .NET
- Use .NET from any JavaScript app in .NET 7
Pavel Šavara - How to Use Shouldly to Improve Unit Tests in .NET?
Code Maze - Microsoft Commerce's .NET 6 Migration Journey
Kurtis Story - How to generate a dump file of a .NET application
Gérald Barré - The ThreadPool in .NET 7 NativeAOT uses the Windows thread pool
Austin Wise - Introducing C#11: Auto Default structs
Anthony Giretti - Pattern matching is awesome
Steven Giesel - Generate Dynamic PDF Reports from an HTML Template Using C#
Praveen Kumar - Microsoft Teams’ Infrastructure and Azure Communication Services’ Journey to .NET 6
Siavash Fathi & Arman Raina & Bhaskar Bhattacharya - .NET: Learn LINQ as you never have before
Anthony Giretti - x86 vs x64 in .NET
Steven Giesel - By Reference in C#
Peter Ritchie - Modern C# Techniques, Part 1: Curiously Recurring Generic Pattern
Stephen Cleary - Generate Strongly-Typed Resources with .NET Core
Travis Illig - Infographics Compendium I - Generators, pure functions and more
Steven Giesel