Como en otras ocasiones, seguro que debía ser de los pocos que quedaban en este planeta sin saber esto, pero me lo he encontrado mientras pululaba por internet y me ha parecido de lo más curioso. Y como con toda probabilidad habrá por ahí algún despistado más, me ha parecido interesante comentar por aquí mi último gran descubrimiento ;)
La cuestión es que en nuestro mundillo solemos utilizar frecuentemente los términos uppercase y lowercase para referirnos a mayúsculas y minúsculas. Pensaba, erróneamente, que los prefijos upper y lower tenían que ver con el tamaño de los caracteres, y jamás me había dado por preguntarme el por qué de este sufijo "case" tan caprichoso que estas palabras comparten.
Publicado por José M. Aguilar a las 8:05 a. m.
Etiquetas: curiosidades
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Crear bloques de código Razor reutilizables en Blazor con Render Fragments
José María Aguilar - Crear y utilizar librerías multiplataforma con C++ y .NET Core (Parte 2)
Jorge Turrado
.NET Core / .NET
- Adiciones a LINQ en .NET 6.0
Octavio Hernandez - 6 Essential Tools to Detect and Fix Performance Issues in .NET
Michael Shpilt - Generate PDF files using an html template and Playwright
Gérald Barré - How to sign XML using RSA in .NET & ECDSA and Custom XML Signatures in .NET
Scott Brady - Source Generator For INotifyPropertyChanged
Anu Viswan - A look at the upcoming improvements to LINQ in .NET 6
Matt Eland - C# tip: define Using Aliases to avoid ambiguity
Davide Bellone - C# XML Comments in Visual Studio Code
Dennes Torres - C# 10.0 implicit global using directives
Ian Griffiths - C# 10.0: File Scoped Namespaces – Get More Space For Your Code
Thomas Claudius Huber - .NET 6 / C# 10 Top New Features Recap
Wade Gausden - Implicit Usings in .NET 6
Scott Hanselman
Si trabajáis con ASP.NET Core MVC, seguro que con frecuencia implementaréis acciones que reciben como argumento objetos complejos, que normalmente vendrán serializados en el cuerpo de la petición como JSON.
Y probablemente, lo habréis hecho esperando que el binder obre su magia y sea capaz de transformar esas secuencias de caracteres procedentes de la red en flamantes instancias de objetos del CLR, listas para ser consumidas desde las aplicaciones. Un ejemplo de acción de este tipo es la siguiente (aunque no funcionaría, luego vemos por qué):
public class FriendsController: Controller
{
[HttpPost]
public string Hello(Friend friend)
{
return $"Hola {friend.Name}, tienes {friend.Age} años";
}
}
public class Friend
{
public int Age { get; set; }
public string Name { get; set; }
}
Sin embargo, a veces nos encontramos con que, a pesar de que la petición contiene en su body los datos JSON esperados, el objeto que recibimos es nulo o tiene todas sus propiedades sin inicializar.
¿Por qué ocurre esto? En este post vamos a ver distintos motivos que podrían llevar a este comportamiento, y cómo solucionar cada caso.
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo mostrar por consola las líneas que se van añadiendo a logs o archivos de texto, en tiempo real
José María Aguilar - ¿Se pueden introducir directivas o lógica de inicialización en todas las vistas y páginas sin duplicar código?
José María Aguilar
.NET Core / .NET
- Announcing .NET 6 Release Candidate 1
Richard Lander - Introduction to System.Text.Json Through Examples
Marinko Spasojevic - Investigating an infinite loop in Release configuration
Gérald Barré - Getting Started Tweetinvi .NET Twitter
Bradley Wells - Looking inside ConfigurationManager in .NET 6: Exploring .NET Core 6
Andrew Lock - CoreWCF 0.3.0 Release
Matt Connew - Deep C#: Strong Typing
Mike James - Using .NET To Validate JSON with JSON Schema
Khalid Abuhakmeh - What I Like About C# 9
Joseph Guadagno - Introducing Package Source Mapping
Nikolche Kolev - Debugging a .NET App on Linux from Windows Visual Studio with WSL
Patrick Smacchia - HTTP/3 support in .NET 6
Sam Spencer
El timeout que dejé programado semanas atrás ya ha finalizado, por lo que hay que ponerse de nuevo las pilas. Y sin duda, ningún día mejor para hacerlo que el Día Internacional del Programador, celebrado de forma más o menos consensuada el día 13 de septiembre (12 si el año es bisiesto), al ser el día 256º de cada año :)
Así que, para iniciar la temporada con buen pie, ahí va una colección de enlaces, que espero os resulten interesantes :-)
Por si te lo perdiste...
- Syncfusion Blazor UI components library: un primer vistazo
José María Aguilar - Otras formas de obtener dependencias en controladores ASP.NET Core MVC
José María Aguilar
.NET Core / .NET
- Launching Visual Studio Code cleanly from a .NET Application
Rick Strahl - File IO improvements in .NET 6
Adam Sitnik - How not to read a string from an UTF-8 stream
Gérald Barré - IntelliSense for Hosted C# Script
Phil Haack - C# static constructor called multiple times & Going deeper into static constructors hole
Jiří Činčura - Favorite improvements in .NET 6
Mark Downie - A neat Trick to Debug Exceptions in C#
Simon Sutoris - Manually Parsing a Json String Using System.Text.Json
Paul Michaels - C# Namespace Declarations
Steve Fenton - DateOnly And TimeOnly Types In .NET 6
Wade Gausden - How To Desktop in 2022
Sam Basu
Como es habitual por estas fechas, me complace (seriamente) informaros de que a partir de la semana el blog quedará en "modo verano" y dejaré de publicar nuevos contenidos hasta ya entrado septiembre.
Durante este periodo procuraré desconectar totalmente durante un par de semanas, y el resto del tiempo al menos poder bajar un poco el ritmo, a ver si puedo disfrutar un poco de esas cosas que dicen que existen fuera de las pantallas ;)
¡Nos vemos a la vuelta!
Publicado en Variable not found.