Category Archives: ASP.NET Core

[ASP].NET Worst Practices – záznam, slides a dema [MS Fest Brno 03/2017]

Slides a dema z mé přednášky pro konferenci MS Fest Brno z 19.3.2017:

Záznam z přednášky je publikován na našem HAVIT YouTube Channel.

Dotčená témata

  • skládání stringů vs. StringBuilder
  • vyhledávání v datech – List vs. BinnarySearch vs. Dictionary vs. LINQ ToLookup()
  • ASP.NET Sessions
  • ASP.NET Over-posting / Mass-assignment
  • Nevěřte vstupu od klientů

ASP.NET Core – Dependency Injection & Unit-testing – záznam, slides a dema [ShowIT Bratislava 02/2017]

Slides a dema z mé přednášky pro konference G2B TechEd Brno z 7.2.2017 a ShowIT Bratislava z 8.2.2017:

Záznam z přednášky je publikován na našem HAVIT YouTube Channel.

Dotčená témata

  • Dependency Injection principy
  • Startup.cs: ConfigureServices(), ConfigureDevelopmentServices(), custom DI container
  • unit-testing principy
  • ukázka testování business-služby PriceManager

ASP.NET MVC Razor: Renderování stringů do JavaScriptu

Pokud se budete pokoušet v Razor-View vytvořit JavaScript přiřazením textových hodnot, můžete si pěkně naběhnout:

var name = '@Model.Name';

Pokud totiž v Model.Name bude nějaká záludnější hodnota, dostanete například:

var name = 'Božíčku kolekcička'\'  // original: Božíčku kolekcička'\

Taky možná najdete, že existuje HttpUtility.JavaScriptStringEncode() a zkusíte:

var name = '@HttpUtility.JavaScriptStringEncode(Model.Name)';

…což taky nedopadne nejlépe:

var name = 'Božíčku kolekcička\u0027\\'  // original: Božíčku kolekcička'\

Až nakonec přijdete na to, že je potřeba:

var name = '@Html.Raw(HttpUtility.JavaScriptStringEncode(Model.Name))';

…abyste dostali:

var name = 'Božíčku kolekcička\u0027\\'  // original: Božíčku kolekcička'\

Případně použijete variantu, která si uvozovky (ne apostrofy) doplní sama.

var name = @Html.Raw(Json.Encode(Model.Name));

…z čehož plyne poučení, že se takto string do HTML raději nepokoušejte vůbec emitovat a raději přenášejte JSON objekty.

ASP.NET Core – Dependency Injection & Unit-testing – záznam, slides a dema [WUG Days Brno 10/2016]

5lides a dema z mé přednášky pro WUG Days Brno ze 8.10.2016:

Záznam z přednášky je publikován na našem HAVIT YouTube Channel.

 

Update-Database – Invalid JSON file

Pokud vás cmdlet Update-Database obšťastní hláškou Invalid JSON file2016-10-05_23-27-39.png
…pak je to nejspíš tím, že máte v project.json komentáře (nejsou součástí JSON specifikace a je jen „zásluha“ Visual Studia, že je zahazuje).

Related: https://github.com/aspnet/EntityFramework/issues/5704

ASP.NET Performance Tuning – záznam, slides a dema [TechEd 05/2016]

5lides a dema z mé přednášky pro TechEd DevCon Praha ze 19.5.2016:

Záznam z přednášky je publikován na našem HAVIT YouTube Channel.

Dotčená témata

  • ASP.NET Sessions, tinyget.exe
  • PerfView
  • ANTS Performance Profiler
  • String Concatenation – skládání řetězců vs. StringBuilder
  • vyhledávání List<T>, Dictionary<TKey, TValue>, ToLookup(), BinnarySearch()
  • Reflection, dynamic
  • SQL Server Database Management Views [DMV]
  • ASP.NET Data Caching (demo ASP.NET Core)
  • ASP.NET Output Caching (demo ASP.NET Core)

ASP.NET Core MVC6 – TagHelpers, ViewComponents – záznam, dema a slides [TechEd 05/2016]

5lides a dema z mé přednášky pro TechEd DevCon Praha ze 18.5.2016:

Záznam z přednášky je publikován na našem HAVIT YouTube Channel.

Dotčená témata

  • ASP.NET Core MVC6
  • TagHelpers základy
  • TagHelpers připravené v MVC6
  • tvorba vlastních TagHelpers
  • ViewComponents základy
  • tvorba vlastních ViewComponents