Zaujímavé linky #1

Rozhodol som sa prispieť k blogom aspoň nejakými zaujímavými linkami zo sveta .Net-u. Keďže sa dosť zaoberám optimalizáciou a tým ako veci fungujú pod kapotou, tak prvý výber liniek je hlavne z tohto súdka. Navyše som dve posledné prednášky zažil naživo na .Net Developer Days v roku 2019.

Zvýšenie bezpečnosti ASP.NET Core 3.1 aplikácií

Vo videu Neilsa Tanisona ukazuje ako použiť AssmblyLoadContent a prepisovanie IL-ka knižníc na načítanie knižnice, ktorá sa používa na konverziu do PDF tak, aby znemožnil danej knižnici prístup k internetu. Navyše sú vo videu spomenuté nejaké nástroje na post-kompilačnú úpravu assemblis na úrovni IL.

HyperLinq

LINQ je v C# úžasná vec, ktorá zrýchľuje vývoj, no nie je veľmi efektívny. Operácie v ňom trvá násobne dlhšie ako ich alternatívy implementované imperatívne cyklom.

HyperLinq je knižnica nahradzujúca niektoré operácie v Linq-u nealokujúcimi operáciami a tým výrazne zvýšiť jeho efektivitu.

Rýchlokurz optimalizácie v C# 8.0

Táto prednáška od Steveho Gordona ukazuje možnosti optimalizácie výkonu v C# 8.0 a .Net Core 3.x, preberá sa tam Benchmark.Net, Span<T>, array pooling a System.Text.Json. Ukazuje sa, že pamäťové optimalizácie majú význam aj dnes hlavne v dobe dockeru a coudu, kde sa platí za každú virtuálku.

Manual memory managment v dotnete

A čerešnička na záver. Prednáška od Adama Furmánka o tom ako v alkovoať objekt v .Net-e na stacku tak aby fungoval, stačí na to trochu čiernej mágie (neodporúčam to skúšať v produkčnom kóde, kolegovia by vás zabili).

No prednáška poskytuje aj prehľad toho ako funguje memory manažment v .Net-e a to, že odpoveď na klasickú pohovorovú otázku – kde sa alokujú v .Nete objekty a štruktúry nie je až taká jednoduchá.

2 Likes