Architektura software

Zpět na všechny témata

Správný návrh architektury je nezbytný pro to, aby se práce na projektu nezměnila v peklo. Na dotNETcollege nabízíme několik kurzů, kde se zabýváme návrhovými vzory, návrhem informačních systémů a databázových aplikací, IoC/DI kontejnery a mnoha dalšími tématy.

Architektura software

Zabezpečení web serveru (ServerSec)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Michal Altair Valášek
  • Teoretický úvod
    • Čtyři hlavní zásady bezpečnosti
    • Pyramida bezpečnosti – operační systém, web server, komunikace, aplikace
    • Obvyklé typy bezpečnostních hrozeb (STRIDE)
    • Hodnocení závažnosti (DREAD)
  • Konfigurace operačního systému
    • Obecná pravidla, 3D
    • Použití SCW
  • Bezpečná konfigurace IIS pro hosting
    • Jak funguje IIS, nastavení application poolu, identita, oddělení aplikací od sebe
    • Nastavení hostingového serveru pro bezpečný hosting oddělených aplikací
    • Nastavení Web Management Service + vzdálená správa
  • Zabezpečení přenosového kanálu
    • Proč ho potřebujeme
    • Ukázka MitM útoků, SSLStrip
  • Jemný úvod do asymetrické kryptografie
    • Symetrická versus asymetrické kryptografie
    • Výměna klíčů pomocí D-H
    • RSA a certifikáty
    • Funkce certifikační autority
  • Konfigurace HTTPS v IIS
    • Co je HTTPS, SNI...
    • Druhy certifikačních autorit
    • Žádost o certifikát, instalace na serveru
    • SSL Test
    • Nastavení parametrů HTTPS, HSTS
    • Centralized Certificate Store
    • Let’s Encrypt CA a AutoACME

Zabezpečení webové aplikace (Websec)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Michal Altair Valášek
  • Teoretický úvod
    • Čtyři hlavní zásady bezpečnosti
    • Pyramida bezpečnosti – operační systém, web server, komunikace, aplikace
  • Nejčastější chyby webových aplikací
    • Představení OWASP
    • Aktuální OWASP Top 10
  • Cross-Site request forgery (CSRF)
    • Obrana v ASP.NET Web Forms
    • Obrana v ASP.NET MVC 5
    • Obrana v ASP.NET MVC Core 1.x
  • Injection útoky (XSS, SQLi)
    • Obrana v ASP.NET Web Forms
    • Obrana v ASP.NET MVC 5
    • Obrana v ASP.NET MVC Core 1.x
    • Možnosti bezpečného zadávání formátovaných dat
  • Autentizace ve webových aplikacích
    • Autentizační faktory
  • ASP.NET Identity
    • Základní použití
    • Bezpečný reset hesla
    • Přihlášení pomocí externích IdP
    • Použití jednorázových hesel
  • Klientské certifikáty
    • Použití klientských certifikátů na webu

Úvod do praktické kryptografie (CryptoSec)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

  • Teoretický úvod
    • Hashování, HMAC
    • HMAC v ASP.NET
    • Symetrická versus asymetrická kryptografie
  • Symetrická kryptografie
    • Princip fungování, symetrické klíče
    • Derivace klíčů, purposes
    • Použití symetrické kryptografie v ASP.NET
      • Machine Keys v ASP.NET 4.x
      • ASP.NET Core Data Protection
      • Obecná symetrická kryptografie pomocí knihovny Inferno
  • Asymetrická kryptografie
    • Princip fungování
    • Volba algoritmů, délky klíčů
    • Certifikační autority, práce s certifikáty
    • Provoz vlastní certifikační autority
      • Hierarchie CA
      • Funkce CRL
      • Vytvoření vlastní CA struktury
    • Asymetrická kryptografie v .NET
      • Vytvoření a ověření elektronického podpisu
      • Zabezpečení komunikace pomocí ECDH + Inferno

Základní návrhové vzory (C142)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Tomáš Herceg

Na tomto kurzu si projdeme základní návrhové vzory (známé jako GoF) a ukážeme si je na praktických příkladech. Ukážeme si také nejčastější omyly, které se při jejich používání vyskytují.

Pokročilé návrhové vzory (C143)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Tomáš Herceg

Na tomto kurzu si ukážeme pokročilejší návrhové vzory, a to jak z oblasti Enterprise Architecture, tak i návrhové vzory, které se používají pro řešení prezentační vrstvy (MVC, MVVM atd.) nebo celé architektury aplikace.

Používáme IoC/DI kontejnery (C125)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Tomáš Herceg

Na začátku kurzu si vysvětlíme, k čemu se IoC/DI kontejner používá a jak jej používat správně, proč není většinou dobrý nápad degradovat jej na service locator atp. Ukážeme si prakticky, jak funguje kontejner Castle Windsor a jaké možnosti nám nabízí.

Microsoft SQL Server - optimalizace struktur a dotazů (C116)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Tomáš Jecha

Microsoft SQL Server je jeden z nejpoužívanějších relačních databázových systémů. Na tomto kurzu vysvětlím základy způsobů ukládání dat uvnitř databázových souborů a postupy, jak správně navrhnout strukturu databáze s ohledem na ukládaná data a požadovaný výkon. Zaměříme se z velké části také na pochopení základních algoritmů zpracování dotazů a čtení exekučních plánů.

Domain-Driven Design (.NET) (C165)

vypsány termíny
5. prosince 2024 9:00 - 16:00 | 6. prosince 2024 9:00 - 16:00
12. prosince 2024 9:00 - 16:00 | 13. prosince 2024 9:00 - 16:00
Tomáš Jurásek

V rámci tohoto praktického kurzu se důkladně seznámíme s přístupem Domain-Driven Design (DDD), který je klíčový pro efektivní návrh a implementaci komplexních softwarových systémů. Prozkoumáme základní principy DDD, jako jsou modelování domény, agregáty, entitní objekty, hodnotové objekty a doménové události. Naučíme se, jak tyto koncepty aplikovat v praxi a jak je správně implementovat v .NET ekosystému.

Asynchronní, vícevláknové a paralelní aplikace (C152)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Jiří Činčura

Na tomto kurzu posunete své znalosti pro asynchronní, vícevláknové a paralelní aplikace, a samozřejmě i zamykání, synchronizace a efektivitu jednotlivých rešení.

Používáme IoC/DI kontejnery na .NET Core (C156)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Na začátku kurzu si vysvětlíme, k čemu se IoC/DI kontejner používá a jak jej používat správně, proč není většinou dobrý nápad degradovat jej na service locator atp. Ukážeme si prakticky, jak funguje kontejner Autofac a jaké možnosti nám nabízí.

Vývoj webových aplikací v Angular 2+ (C159)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Tomáš Jecha

Angular je ověřená populární platforma pro tvorbu moderních webových aplikací. Byla vytvořena a je spravována společností Google. Nabízí možnost vyvíjet komponenty a služby v jazyce TypeScript, deklarativně vytvářet šablony a nejen pomocí bindingu, dependency injection nebo routingu aplikaci rozpohybovat v klientském prohlížeči i na serveru. Oproti své první verzi, označované jako AngularJS nebo Angular 1, nabízí řadu vylepšení a změnu některých konceptů.

Kontejnery, Docker a Azure Kubernetes Service (AKS) (C162)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Tomáš Herceg

V posledních letech se čím dál více aplikací přesouvá do kontejnerů a hostuje v Kubernetes. Výhodou tohoto způsobu je především sjednocení způsobu nasazování aplikací, ať už jsou psány v různých technologiích anebo jazycích, a zároveň unifikovaná správa těchto aplikací a jejich provozování. Pro vývojáře je potom hlavním přínosem vyšší předvídatelnost a reprodukovatelnost kompilací, testů, a odstranění syndromu "works on my machine". Docker a Kubernetes jsou oblíbené zejména ve světě microservices aplikací a startupů, ale své místo si nacházejí i ve středních a větších firmách.

Návrh distribuovaného systému pomocí DDD, Event Sourcing a CQRS (C164)

Aktuálně nejsou vypsány žádné termíny tohoto kurzu.

Tomáš Jurásek

V kurzu se seznámíme s problematikou návrhu distribuovaného systému na platformě .NET. Naučíme se, jak přistupovat k návrhu domény pomocí Domain Driven Design, kde je kladen důraz na pochopení problematiky a procesů od doménového expera až po vývojáře . Vysvětlíme a ukážeme si jak pomocí Event Sourcingu více rozšířit význam doménových událostí - ať už pro ukládání stavu objektu, nebo informování ostatních o proběhnuté akci, na kterou můžou dále reagovat. To celé bude řídit CQRS, kde zodpovědnost rozdělíme na čtecí a zapisovací části systému.

Hledáte kurz na téma, které v nabídce nemáme?

  • Vyberte si libovolná témata z oblasti vývoje v .NETu nebo na webu
  • Osnovu kurzu sestavíme společně dle požadavků a zkušeností vašeho týmu
  • Lektor přijede za vámi kamkoliv v Česku nebo na Slovensku
  • Během kurzu se můžeme věnovat konkrétním problémům, které řešíte na projektu