|
|
|
||
Cílem předmětu je posluchače seznámit s pokročilými technikami programování pro platformu .NET a se
specializovanými částmi knihoven platformy .NET. Po absolvování předmětu by měli mít studenti široký přehled o
funkcích poskytovanými knihovnami .NET a být schopni je efektivně využít v reálných projektech nad platformou
.NET.
Předpokládá se dobrá znalost jazyka C# a základních principů platformy .NET na úrovni předmětu "NPRG035
Programování v jazyce C#".
Poslední úprava: Hnětynka Petr, doc. RNDr., Ph.D. (30.04.2019)
|
|
||
Mark Michaelis, Eric Lippert: Essential C# 5.0, 4th Edition, Addison-Wesley Professional, 2012 Jeffrey Richter: CLR via C#, 4th Edition, Microsoft Press, 2012 Jon Skeet: C# in Depth, 3rd Edition, Manning Publications, 2013 Christian Nagel et al.: Professional C# 2008, Wrox, 2008 Serge Lidin: Expert .NET 2.0 IL Assembler, Apress, 2006 Mark E. Russinovich, David A. Solomon: Windows Internals 5th Edition, Microsoft Press, 2009 Microsoft Developer Network Library, http://msdn.microsoft.com/library/ Zdrojové kódy knihoven platformy .NET, http://referencesource.microsoft.com/ Poslední úprava: Ježek Pavel, Mgr., Ph.D. (04.09.2013)
|
|
||
Pokročilá práce s řetězci, základy znakové sady Unicode (kódování UTF-8, UTF-16, combining characters, atd.), podpora .NET pro Unicode, problémy související s lokalizací aplikací a jejich řešení v .NET Vlákna, synchronizační primitiva (lock, Monitor, potomci WaitHandle), WinForms (WPF) threading model .NET memory model, volatile operace a memory fences, lock-free a wait-free datové struktury v .NET Koncept futures/promises a TPL (Task Parallel Library) Základní sítová komunikace (BSD sockets). Asynchronní volání metod a programování neblokujících operací (async/await) Deklarativní způsoby programování a paralelizace aplikací: LINQ (to Objects), PLINQ. Reflexe v prostředí .NET, metadata, CIL kód/assembler, generování kódu za běhu aplikace (lambda funkce a Expression Trees, CodeDOM, Mono.Cecil). Persistence dat a serializace: příklady binární serializace, protocol buffers. Základy aspektově orientovaného programování (AOP). Aplikační domény a principy oddělení neznámého kódu v řízeném prostředí. Pokročilé možnosti síťové komunikace: vzdálené volání objektů (.NET Remoting) Dynamické programovací jazyky (IronPython, apod.) v prostředí .NET, vytváření dynamických objektů v C#. Poslední úprava: Ježek Pavel, Mgr., Ph.D. (04.09.2013)
|