Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- ¿Dónde está la directiva @helper de Razor en ASP.NET Core?
José María Aguilar - Iterar con foreach sobre cualquier tipo de objeto con C#9
José María Aguilar
.NET Core / .NET
- A Simple Moving Average calculator: Creating a Simple Moving Average calculator in C#
Andrew Lock - Implement log monitoring with Seq and Serilog in .net Core
Gary Woodfine - C# 9: Value Objects and Simpler Code
Peter Vogel - Beginning to Make Testing with HttpClient Easier
Adam Storr - Building a supply chain attack with .NET, NuGet, DNS, source generators, and more!
Maarten Balliauw - The future of gRPC in C# belongs to grpc-dotnet
Jan Tattermusch - Covariance and Contravariance in C# Explained
Patrick Smacchia - C# Based Text Template Transformation Engine
Ryan S White - Add a README to Your NuGet Package
Christopher Gill - Experimental Dotnet Monitor Tool Now Fully Supported
David Ramel
Publicado por José M. Aguilar a las 8:05 a. m.
Etiquetas: enlaces
Hace unos días pasaba a un amigo una instrucción de PowerShell para visualizar en tiempo real el contenido que iba añadiéndose al final de un archivo de log en Windows, y pensé que igual podía ser útil para alguien más, así que aquí va :)
El asunto es tan simple como abrir un terminal o consola PowerShell en la carpeta donde tengamos el archivo y ejecutar la siguiente orden:
Get-content log.txt -Tail 0 -Wait
A partir de ese momento, la consola quedará bloqueada e irá mostrando en tiempo real las últimas líneas añadidas al archivo:
Esta idea tan sencilla podría ser combinada en scripts que nos simplifiquen alguna tarea más; por ejemplo, si estamos en una carpeta con archivos de trazas de distintos días, es sencillo conseguir que se abra el fichero de log más reciente, de forma que no tengamos que introducir su nombre cada vez que queramos utilizarlo:
# File: ViewLog.ps1
$file = Get-ChildItem -Filter *.txt | Sort-Object LastAccessTime -Descending | Select-Object -First 1
if($file)
{
Get-content $file -Tail 0 -Wait
}
¡Espero que os sea útil!
Publicado en Variable not found.
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- El nuevo tipo de retorno ActionResult<T> en ASP.NET Core 2.1
José María Aguilar - Cómo tomar el control en el momento de la instanciación de componentes Blazor con IComponentActivator
José María Aguilar
.NET Core / .NET
- .NET Framework 4.5.2, 4.6, 4.6.1 will reach End of Support on April 26, 2022
Jamshed Damkewala - How to create project templates in .net core
Gary Woodfine - LINQ: Beware of deferred execution
Sam Walpole - C# 9 Record: Compiler Created ToString() Code can Lead to Stack Overflow and Worse
Peter Huber - Scheduling tons of orchestrator functions concurrently in C#
Chris Gillum - Read and Write Excel Spreadsheets With C#
Khalid Abuhakmeh - Convert SVG files to PNG or JPEG using .NET
Gérald Barré - Implementing Floyd-Warshall algorithm for solving all-pairs shortest paths problem in C#
Oleg Karasik - Using the Win32 Api in a C# program with C#/Win32
Bruno Sonnino - Survey Reveals Bigger C# Community, Most and Least Popular Uses
David Ramel - Some more C# 9 - Red Hat Developer
Tom Deseyn - How To Change the Behavior of a C# Record Constructor
Christian Findlay - Nullable Reference types in C# – Best practices
Damir Arh - .NET 6 LINQ Improvements
Jonathan Allen - Some scenarios for deserializing a JSON to a type with read-only properties by "System.Text.Json"
Jsakamoto - C#: Make your delegates asynchronous from synchronous delegates
Anthony Giretti - What's the Top App Model Used by .NET Developers?
David Ramel
En el mundo de las suites profesionales de componentes, seguro que todos habéis oído hablar de Syncfusion. Esta compañía lleva desde 2001 ofreciendo componentes y marcos de trabajo para todo tipo de entornos, con el fin de hacer la vida más sencilla a los desarrolladores: ASP.NET Core, ASP.NET MVC, Web Forms, Angular, React, Vue, Xamarin, Flutter, WinForms o WPF son sólo algunas tecnologías en las que tenemos a disposición sus soluciones.
Y claro, no podía faltar Blazor :) La biblioteca Syncfusion Blazor UI ofrece más de setenta componentes para Blazor Server y WebAssembly que cubren sobradamente las necesidades más habituales en la construcción de aplicaciones profesionales.
Aunque se trata de una solución comercial y las licencias tienen coste, la buena noticia es que existe una generosa licencia community gratuita, mediante la cual podemos tener acceso a todos los componentes siempre que seamos desarrolladores independientes o una empresa con menos de seis trabajadores e ingresemos anualmente menos 1 millón de dólares brutos.
En este post vamos a dar un primer vistazo a esta biblioteca, para tener una idea de su alcance y forma de uso.
Publicado por José M. Aguilar a las 8:05 a. m.
Etiquetas: blazor, blazorserver, blazorwasm, componentes, syncfusion
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Implementando más fácilmente background tasks en ASP.NET Core 2.1 (bueno, y 2.0)
José María Aguilar - 12 novedades destacables de Blazor 5.0 (bueno, y algunas más)
José María Aguilar
.NET Core / .NET
- Conversation about crossgen2
Richard Lander - Meet the .NET Upgrade Assistant, Your .NET 5 Moving Company
Dave Brock - Easily Create and Manipulate Mock Anonymous Data for Unit Tests
Adam Storr - Fixing build warning NETSSDK1138 when building projects with end-of-life .NET frameworks
Andrew Lock - Task vs ValueTask: When Should I use ValueTask?
Brian Lagunas - Building .NET projects using the Microsoft.Build.Traversal SDK
Gérald Barré - What's new in dotnet monitor
Sourabh Shirhatti - New .NET Guide Tutorials – From Visual Studio to Rider, ReSharper Essentials, Docker, and more!
Maarten Balliauw - C# 9 init accessors and records
Tom Deseyn - Why you shouldn't compare Blazor to other JavaScript SPA frameworks
Ali Bahraminezhad - The Int Betweeners (or… An Extension Method for Numbers)
Steve Fenton
Cuando empezamos a estudiar Blazor WebAssembly e interiorizamos que para ejecutar .NET en el navegador es necesario llevar hasta éste el runtime y bibliotecas, tanto del propio framework como las de nuestra aplicación, una de las primeras dudas que nos asaltan es que cuánto peso tendrá eso. O dicho de otra forma, qué recursos tendrán que descargar los usuarios y qué tiempo tendrán que esperar hasta tener la aplicación en funcionamiento.
En este post vamos a intentar dar respuesta a esta pregunta, aunque con matices. Obviamente, parte de ese peso dependerá de la aplicación; si se trata de un proyecto grande, con muchos ensamblados o que usen muchos componentes externos (p.e. paquetes NuGet), el número de archivos y el tamaño de la descarga crecerá inexorablemente. Por esa razón, no podremos ver aquí números absolutos, sino los mínimos, es decir, lo que pesará una aplicación Blazor WebAssembly recién creada, con los contenidos proporcionados por la plantilla por defecto usando .NET 5.
Tampoco hablaremos de tiempos, pues son totalmente dependientes de las condiciones de red, la infraestructura en la que despleguemos la aplicación y las posibilidades del cliente. Simplemente tendremos en consideración que a más peso, mayor tiempo será necesario para llevarlo al navegador y ejecutarlo.
Ojo: lo que vamos a ver son los datos aproximados obtenidos en mi máquina de desarrollo y con la versión actual de Blazor (5.0.4). Los números exactos variarán si hacéis pruebas en vuestro entorno, aunque seguro que el espíritu de las conclusiones seguirá siendo el mismo.