Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner

Podobné dokumenty
Jakub Čermák Microsoft Student Partner

Windows - bezplatné služby pro školy. Jakub Vlček Specialist Microsoft Corporation

Lukáš Kubis. MSP pro VŠB-TU Ostrava

Efektivní provoz koncových stanic

Jakub Čermák Microsoft Student Partner

Windows na co se soustředit

XNA Game Studio 3.1. Tomáš Herceg Microsoft Most Valuable Professional Microsoft Student Partner

Jak Vám partnerské programy pomohou v rozvoji podnikání. Víte, že můžete získat software v hodnotě tisíců USD za zlomek ceny?

Jakub Čermák Microsoft Student Partner

Zabezpečení infrastruktury

Sdílíme, a co vy? Ing. Eliška Pečenková Plzeňský kraj. Ing. Václav Koudele Microsoft

System Center Operations Manager

Dnešní program. Jak síť využít. Přínosy sítě. Nasazení sítě. Proč síť

Vývojář vs. správce IT

Skype for Business 2015

GDPR compliance v Cloudu. Jiří Černý CELA

Marketingová podpora pro partnery Microsoft

Komentáře CISO týkající se ochrany dat

1 - Úvod do platformy.net. IW5 - Programování v.net a C#

Generické programování

Vzorové analýzy rizik zpracování v cloudu. Zdeněk Jiříček National Technology Officer Microsoft ČR

Novinky v licencovaní a edíciách a ako to súvisí s System Center 2012

Rizika výběru cloudového poskytovatele, využití Cloud Control Matrix

Optimalizace infrastruktury cesta ke kontrole IT. Pavel Salava Specialist Team Unit Lead Microsoft, s.r.o

Programování v C++ 2, 4. cvičení

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Microsoft a nařízení GDPR. Ladka Poláková Partner Sales Executive Cloud

IRAE 07/08 Přednáška č. 1

a konverze na úřadech Martin Řehořek

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

Cloud a povinné osoby ze ZKB. Zdeněk Jiříček, Microsoft s.r.o. Aleš Špidla, PwC Czech s.r.o.

Stav podnikové bezpečnosti, Globální zpráva Jakub Jiříček, Symantec ČR a SR

Komponenty v.net. Obsah přednášky

Zápis programu v jazyce C#

PB161 Programování v jazyce C++ Přednáška 10

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7

Jazyk C# (seminář 3)

Od Czech POINTu k vnitřní integraci

aktuality, novinky Ing. Martin Řehořek

David Bednárek Jakub Yaghob Filip Zavoral.

Jazyk C++ I. Šablony 2

Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue.

Potřebujete mít vaše IS ve shodě s legislativou? Bc. Stanislava Birnerová

Využití identity managementu v prostředí veřejné správy

Jak řešit zpracování osobních údajů v cloudu dle GDPR a nešlápnout vedle. Zdeněk Jiříček National Technology Officer Microsoft ČR

Jazyk C# (seminář 6)

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33

Mobilní počítač Dolphin TM Stručný návod k použití

PREPROCESOR POKRAČOVÁNÍ

Jak na Cloud. Roman Šuk, Microsoft Monika Kavanová, Sales2Win

PB161 Programování v jazyce C++ Přednáška 10

PŘETĚŽOVÁNÍ OPERÁTORŮ

UJO Framework. revoluční architektura beans. verze

IRAE 07/08 Přednáška č. 7. Začátek (head)

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Osnova přednášky. Programové prostředky řízení Úvod do C# II. Přístup ke členům. Členy (Members)

PB přednáška (23. listopadu 2015)

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Jazyk C++ I. Šablony

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Veritas Information Governance získejte zpět kontrolu nad vašimi daty

typová konverze typová inference

Cloud nový směr v poskytování IT služeb

Víte, kdo pracuje s vašimi dokumenty? Stanislava Birnerová

Code Contracts. Robert Haken [MVP ASP.NET, MCT] Software architect, Owner at HAVIT, s.r.o. knowledge-base.havit.cz

Úvod do programovacích jazyků (Java)

Viditelnost (práva přístupu) Tomáš Pitner, upravil Marek Šabo

Základy objektové orientace I. Únor 2010

10 Generické implementace

Dědění, polymorfismus

7.5 Diagram tříd pokročilé techniky

Platforma.NET 4. hodina dnes to bude ideologické

Zpracoval:

PB161 Základy OOP. Tomáš Brukner

Dědičnost (inheritance)

Objektově orientované programování v PHP 5. Martin Klíma

Objektové programování

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

NPRG031 Programování II 1 / :25:46

NMIN201 Objektově orientované programování 1 / :36:09

300B user authentications each month 1B Windows devices updated. 200B s analyzed for spam and malware. 18B web pages scanned by Bing each month

PB161 Programování v jazyce C++ Přednáška 4

Teoretické minimum z PJV


1. Programování proti rozhraní

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

7.5 Diagram tříd pokročilé techniky

Jak udržet citlivé informace v bezpečí i v době cloudu a mobility. Jakub Jiříček, CISSP Praha, 27. listopadu 2012

Programování v C++ 3, 3. cvičení

IW5 - Programování v.net a C# 4 Pokročilé konstrukce C#

Výčtový typ strana 67

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

1-AYKY. Instalační kabely s Al jádrem. Standard TP-KK-133/01, PNE Konstrukce. Použití. Vlastnosti. Installation cables with Al conductor

Návrhové vzory OMO, LS 2014/2015

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

Objektově orientované programování

Projekty pro výuku programování v jazyce Java

Transkript:

Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz Microsoft Student Partner

Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces Třídy, vlastní typy Hodnotové typy Managed halda, referenční objekty Stack semantics pro referenční objekty Polymorfismus Viditelnost

Další součásti objektového modelu Eventy, property, rozhraní Generika, šablony Výjimky Pointery CLR Hosting

Referenční typ, jehož instance zapouzdřují metodu s danou signaturou Nelze použít stack semantics Deklarace delegate void MujDelegat(int n); Srovnej: typedef void (*MujUkazatel) (int n); Definice MujDelegat ^deleg = gcnew MujDelegat(fce); Nejde zkrátit Volání deleg(42);

Notifikace změn nějakého objektu Deklarace event EventHandler<EventArgs ^> ^evt; Registrace handlerů x->mojeudalost += gcnew EventHandler<EventArgs ^>(fce1); Úprava chování Přepsání submetod raise, add, remove Vlastní akce při změnách handleru, odlišení viditelnosti jednotlivých akcí

Name Title Group

Syntaktická zkratka za Get* a Set* metody Deklarace pomocí submetod get a set Obdobně jako u eventů Volání jako u proměnných

ref class Xsi { private: int x; public: property int MojeProperty // deklarace property { private: void set(int v) { x = v ; } //setter int get() { return x; } //getter } };

ref class Xsi { private: array<int, 2> ^x; public: property int MojeProperty[int, int] // deklarace property { void set(int i, int j, int val) { x[i,j] = v; } //setter, i a j je index, val je hodnota int get(int i, int j) { return x[i,j]; } //getter, i a j je index } };

Smečka abstraktních metod Ale i statických datových položek, funkcí a konstruktoru Vnořování Dědičnost

public interface class Interface_B : Interface_A { property int Property_Block; event ClickEventHandler^ OnClick; void Function_1(); static void Function_3() { Console::WriteLine("in Function_3"); } };

Šablonová třída Vkládání managed dat do nativních objektů class CppClass { public: gcroot<string^> str; CppClass() {} }; Automatická konverze z gcroot<t> na T

Atributy [Job( Access::Read, Priority=2 )] ref struct QueryService Extension metody Přímá podpora není Volání jako statická Deklarace: Atribut System::Runtime::CompilerServices::Extension

Další součásti objektového modelu Property, eventy, rozhraní Generika, šablony Výjimky Pointery CLR Hosting

Parametrizace typu bo funkce jiným typem nebo konstantou Vyhodnocení za kompilace, nelze za runtime Standardní z C++; funkční i pro managed Parciální specializace Šablonové třídy jako typový parametr template< template <class T1> class T2> Přístup k libovolným prvkům parametru Ověření při kompilaci Nemožnost systémově vynutit implementaci něčeho

template <typename T, int I> ref class TTrida { public: T hodnota; };

Parametrizace typu, funkce či delegátu jiným typem (ne konstanty) Vyhodnocení za runtime Možnost dynamicky vytvářet instance (reflection, jiné assembly) funkční jen pro managed Nefunguje parciální specializace Přístup jen k vlastnostem objectu, pokud není constraint

generic <typename T> ref class GTrida { public: T hodnota; };

Omezení kladená na typový parametr Vynucení dědičnosti z něčeho, nebo implementace rozhraní generic <typename T> where T : IComparable<T>, INěcoJinýho ref class Trida {}; Naked type constraint dědičnost z jiného typ. Parametru Bezparametrický konstruktor Where T : gcnew() Value class nebo ref class

Nesting Nejde Generická by nešla dynamicky instanciovat Template parametr použít pro generickou třídu OK Celé se to vyhodnotí při kompilaci Generický parametr použít pro template třídu V runtime nejde vytvořit instance template třídy

Další součásti objektového modelu Property, eventy, rozhraní Generika, šablony Výjimky Pointery CLR Hosting

Managed výjimky dědí od System::Exception Unmanaged výjimky vše ostatní Throw i try..catch stejný Použije se první vhodný catch blok Navíc finally blok Unmanaged výjimky se mapují na System::Runtime::InteropServices:: SEHException

Name Title Group

Další součásti objektového modelu Property, eventy, rozhraní Generika, šablony Výjimky Pointery CLR Hosting

Unmanaged ptr & reference Kus paměti Managed handles & reference Konkrétní objekt nebo jeho část Měnící se hodnota

Generická třída Připichování managed objektů Adresa objektu v paměti se nezmění Ekvivalent fixed konstruktu v C# Automatická konverze na pointer pin_ptr<int> p = &objekt->cislo;

Generická třída Podobnost s managed handle Updatován GC Automatická konverze na pointer interior_ptr<int> p = &objekt->cislo;

Další součásti objektového modelu Property, eventy, rozhraní Generika, šablony Výjimky Pointery CLR Hosting

Vlastní hostovací aplikace pro managed kód Default CLR host spouštění normálně V nativním procesu spustit.net VM Úprava/přepsání vlastností a fcí VM Paměť, assembly loading, vlákna, IO, synchronization, GC, failure policy, security... SetHostControl

Spec. podpora managed pluginů SQL Server IIS Server Asp.net Internet Browser applets ~ Java...

Name Title Group

Agenda Další součásti objektového modelu Eventy, property, rozhraní Generika, šablony Výjimky Pointery CLR Hosting Kontakt E-mail: jakub@jcermak.cz WWW: http://www.jcermak.cz

2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.