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.
Publicado por José M. Aguilar a las 8:05 a. m.
Etiquetas: powershell, trucos
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.
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Usar Razor desde una aplicación de consola .NET Core (1 de 2)
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
- Getting started with .net core microservices with dapr
Gary Woodfine - My Favorite C# Features - Part 3: Nullability
Jeffrey T. Fritz - .NET 6: Date and Time Structures
Jonathan Allen - Subscribe users to a Mailchimp newsletter from .NET/C#
Thomas Ardal - C# 9 new features for methods and functions
Tom Deseyn - Testing Exceptions with xUnit and Actions
Steve Smith - Top Level Statement in C# 9.0
Abhijit Jana - .NET 6: Async Improvements
Jonathan Allen - Show dotnet: Build your own unit test platform? The true story of .NET nanoFramework.
Laurent Ellerbach - WebView2: Forwarding Alt Keys to a Host WPF Window
Rick Strahl - Deep C# - Casting the Escape from Strong Typing
Mike James