CloudKit I. (zatím ne zcela dořešené koncepty použití) Martin Hrubý Seminář ios, FIT VUT v Brně
|
|
- Luděk Mach
- před 9 lety
- Počet zobrazení:
Transkript
1 CloudKit I. (zatím ne zcela dořešené koncepty použití) Martin Hrubý Seminář ios, FIT VUT v Brně
2 Úvod Představen na WWDC 2014 Základní popis funkcionality icloud DB Server kontejnery, entity, záznamy Uživatelé konkrétní aplikace mohou sdílet data jak jim to aplikace umožní Zařazen do IOS 8 Velmi specifická (až neobvyklá) koncepce Časem se uvidí, jak CK vývojáři pochopí a integrují do svých aplikací
3 Co CloudKit NENÍ Databázový server SQL typu Vybavovací doby jsou příliš velké Infrastrukuta CKRecord zřejmě nepředpokládá vetší přenosy dat v jednom balíku Přístupová práva všechno řídí aplikace Univerzální platforma pro mobilní aplikace (omezení zatím na ios/os X).
4 K čemu může být CK Informační systém pro malé skupiny uživatelů (firmy). Sociální síť. Zálohovací server pro uživatele (dat z jeho aplikace) Jak je privátní kontejner spojen s instalací aplikace?
5 Databáze v kontejneru Privátní z názvu plyne, že je individuální pro každého uživatele. Limitován velikostí icloud prostoru uživatele. Uživatel musí mít icloud přístup. Veřejný (public) zde mohou uživatelé sdílet záznamy. Masivní kvóta. Pro čtení netřeba icloud přístup. Pouze pro zápis. Kvóta roste s počtem zapojených uživatelů.
6 Zóny Další složka pro organizaci CKRecords: Kontejner -> Databáze -> Zóna Private DB Default + Custom zones Public DB Default Public DB neumožňuje vlastní zóny!!! Tady by se zrovna hodily. Nutno implementovat explicitním atributem záznamu.
7 Záznam (CKRecord) Má svůj typ (recordtype) NSString. typ by měl mít charakter DB Entity, tj. nějakou koncepci. Charakter NSDictionary s omezeným rozsahem typů pro value (key-value) protokol CKRecordValue. Záznam lze: save (insert, update), fetch (znám ID), query (neznám ID), delete. metadata datum vytvoření, uživatel.
8 Hodnoty atributů CKRecord setobject:forkey: NSString, NSDate, NSNumber, NSArray NSData ovšem maké kousky CLLocation geografická souřadnice WGS84 CKAsset souborová příloha CKReference vazba na jiný CKRecord (ve stejném kontejneru)
9 Instanciace CKRecord initwithrecordtype: initwithrecordtype: recordid: (CKRecordID *) RecordID je generováno rnd nebo uživatelské. Jak zacházet s CKRecord: Berme CKRecord jako dočasný objekt pro komunikaci s CK recordid jednoznačná identifikace záznamu. Lze ji uložit (.recordname) do lokálních dat aplikace a pak použít pro další operace (fetch, delete).
10 CK Databáze je objektová CKRecord je identifikován.recordid Vazby (reference) mezi CKRecords. Hodnota CKReference (typ vlastnictví) Vazby 1:N (NSArray s CKReference *) Nepřehánět to s provázaností mezi objekty. Atribut určující verzi DB modelu.
11 Smysl privátní databáze CKServerChangeToken udělá značku v private kontejneru nad stavem záznamů pak lze provádět rozdílové operace zjisti změny: obdrží seznam změn, ty lze zapracovat do stavu aplikace Vzdálené odkladiště záznamů jednoho uživatele Aplikace v kopiích na ios, OS X zařízeních může synchronizovat svá data s jejich vzdáleným uložením Lze určitě udělat jinak např. icloud Core Data
12 Ověření uživatelova přístupu Ubiquity token. Může se měnit. Sledovat v mainthread. NSFileManager* filemanager = [NSFileManager defaultmanager]; id currenticloudtoken = filemanager.ubiquityidentitytoken; [[NSNotificationCenter defaultcenter] addobserver: self (icloudaccountavailabilitychanged:) name: NSUbiquityIdentityDidChangeNotification object: nil];
13 Smysl public databáze Nelze dělat značky (ServerChangeToken) Nelze aktuálně odhadnout provoz/cvrkot, značky jsou nejspíš technicky nerealizovatelné. Navíc asi nelze smysluplně zformulovat smysl rozdílové operace ve více-uživatelském prostředí. Public DB berme jako nástěnku pro všechny uživatele jedné aplikace Berme CK-public jako perzistentní komunikační kanál. Lze rychle přesouvat CKRecs mezi databázemi?
14 Režimy nástěnky Přihlásit se jako observer změn v databázi, pak přijímat Push notifikace. Může být značný tok notifikací. Lze garantovat korektní zpracování všech notifikací? Model: chatovací aplikace broadcast události v CK. Občasný refresh stavu tabulek. Mazání záznamů. Ne-perzistence na straně čtenáře záznamu.
15 Můj doporučený koncept CK předpokládá nějakou formu lokální kopie dat, např. Core Data. Musíme spravovat DVĚ databáze: CK a CoreData. Lokální data => dává smysl aplikaci provozovat bez připojení k Internetu. V přechodu do online režimu provést formu synchronizace. V public je nutno definovat vlastníka záznamu. dle charakteru aplikace.
16 Původce a čtenář Původce vytvoří záznam. Je zodpovědný za jeho smazání z CK. Má zápisová práva. lokálně (CD) má atribut NSString pro ref. na CKRecord a Status objektu (exportován, modifikován, smazán). Synchronizace odeslání změn. Triviální. Čtenář synchronizace. Komplikovaná. Nepředpokládá se update záznamu. Query. Subscription na smazání.
17 Základní konstrukce V XCode Capabilities icloud jméno kontejneru icloud.eu.domena.appnazev V simulátoru může haprovat (přihlašte svůj AppleID) Inicializace CK API Vytvoření CKRecord Provádění dotazů/příkazů na CK
18 Inicializace API -(BOOL) initcloudkitwithcontainerid: (NSString *) containerid { self.ckcontainer = [CKContainer containerwithidentifier: containerid]; if (_ckcontainer == nil) return NO; self.ckdbprivate = [_ckcontainer privateclouddatabase]; self.ckdbpublic = [_ckcontainer publicclouddatabase]; } return YES;
19 Vytvoření CKRecord Instanciace objektu CKRecord Naplnění daty Provedení přístupové operace: Řada přístupových operací. Jsou to NSOperation! Sledování callback bloků a NSError
20 Operace nad daty Fetch záznamů rozdílová (Changes), normální. subscriptions. Modify záznamy, subscriptions. Query. User info specifické objekty o uživatelích. Notifikace fetch, mark.
21 Simple varianta CKRecord *rec = [[CKRecord alloc] [rec [rec setobject: [NSDate date] [self.ckpublic saverecord: rec completionhandler:^(ckrecord *record, NSError *error) { NSLog(@"Saved %@", error); }];
22 Uživatelské RecordID CKRecordID *appdefid = [[CKRecordID alloc] CKRecord *appdef = [[CKRecord alloc] recordid:appdefid]; [appdef jmeno"]; [self.ckpublic saverecord: appdef completionhandler:^(ckrecord *record, NSError *error) { NSLog(@"Record AppDef, error: %@", error); }];
23 Komplexní varianta CKModifyRecordsOperation *op = [[CKModifyRecordsOperation alloc] op.completionblock = ^{ NSLog(@"Operace komplet dokoncena"); }; op.perrecordcompletionblock = ^(CKRecord *record, NSError *error) { NSLog(@"Zaznam proveden, chyba: %@", error); }; op.modifyrecordscompletionblock = ^( NSArray *savedrecords, NSArray *deletedrecordids, NSError *error) { NSLog(@"Completed uloz: %ld smaz: %ld", savedrecords.count, deletedrecordids.count); }; [self.ckpublic addoperation: op];
24 Query -(void) fetchrecords1 { // MUSI byt zadan NSPredicate *qpredicate = [NSPredicate predicatewithvalue: YES]; CKQuery *query = [[CKQuery alloc] predicate: qpredicate]; CKQueryOperation *op = [[CKQueryOperation alloc] initwithquery: query]; op.recordfetchedblock = ^(CKRecord *rec) { NSLog(@"Natazen objekt: %@", [rec }; op.querycompletionblock = ^(CKQueryCursor *cursor, NSError *operationerror){ self.ckcursor = cursor; }; } [self.ckpublic addoperation: op];
25 Query+cursor op.querycompletionblock = ^(CKQueryCursor *cursor, NSError *operationerror){ if (cursor!= nil) { }; } dispatch_async(dispatch_get_main_queue(), ^{ [self fetchrecords1c: cursor]; }); -(void) fetchrecords1c:(ckquerycursor *)withcursor { CKQueryOperation *op = [[CKQueryOperation alloc] initwithcursor: withcursor]; op.recordfetchedblock = ^(CKRecord *rec) { NSLog(@"Natazen objekt: %@", [rec }; } [self.ckpublic addoperation: op];
26 Vazby mezi objekty CKRecord *rec1 = [[CKRecord alloc] CKRecord *rec2 = [[CKRecord alloc] CKReference *rec2ref = [[CKReference alloc] initwithrecord: rec2 action: CKReferenceActionNone]; [rec1 [rec1 setobject: rec2ref [rec2 [rec2 CKModifyRecordsOperation *op = [[CKModifyRecordsOperation alloc] rec2] [self.ckpublic addoperation: op];
27 Subscription CKSubscription perzistentní query na straně serveru. Posílá push-notifikace (povolení notifikací). Subscriptions: Globální pro aplikaci (zavedou se při prvním startu aplikace). Zaměřené na zadaný NSPredicate. Jsou to objekty (záznamy) v databázi! Hodilo by se je po upotřebení mazat. Začnou fungovat po zaindexovaní serverem.
28 [self.ckpublic savesubscription:dels completionhandler:^(cksubscription *subscription, NSError *error) { NSLog(@"Subscription zaveden: %@", error); if (error == nil) { NSUserDefaults *ud = [NSUserDefaults standarduserdefaults]; [ud setbool: NO forkey: FIRST_RUN]; [ud synchronize]; } }]; } Zavedení subs NSUserDefaults *ud = [NSUserDefaults standarduserdefaults]; [ud FIRST_RUN if ([ud boolforkey: FIRST_RUN]) { [self } -(void) registerdeletesubscr:(nsstring *)rectype { CKSubscription *dels = [[CKSubscription alloc] initwithrecordtype: rectype predicate: [NSPredicate predicatewithvalue: YES] options: CKSubscriptionOptionsFiresOnRecordDeletion];
29 Přijetí push-notifikace Aplikace je musí chtít přijímat. NotificationInfo.
30 Rozdílový Fetch Pouze v privátní DB, v custom zóně Vytvoření zóny Zjištění předchozího ChTokenu Provedení rozdílového Fetch Uložení nového ChTokenu
31 Vytvoření zóny CKRecordZone *zonepok = [[CKRecordZone alloc] [self.ckprivate saverecordzone:zonepok completionhandler:^(ckrecordzone *zone, NSError *error) { NSLog(@"Save zone, error %@", error); }];
32 Předchozí token, UDefaults NSUserDefaults *ud = [NSUserDefaults standarduserdefaults]; NSData *dt = [ud CKServerChangeToken *oldtoken = nil; if (dt!= nil) oldtoken = [NSKeyedUnarchiver unarchiveobjectwithdata: dt];
33 CKRecordZone *zone = [[CKRecordZone alloc] CKFetchRecordChangesOperation *op = [[CKFetchRecordChangesOperation alloc] initwithrecordzoneid:[zone zoneid] previousserverchangetoken: oldtoken]; op.recordchangedblock = ^(CKRecord *rec) { NSLog(@"New/Modified object %@", rec); }; op.recordwithidwasdeletedblock = ^(CKRecordID *recid) { }; op.fetchrecordchangescompletionblock = ^(CKServerChangeToken *serverchangetoken, NSData *clientchangetokendata, NSError *operationerror) { if (operationerror == nil) { [ud setobject: [NSKeyedArchiver archiveddatawithrootobject: serverchangetoken] [ud synchronize]; } else { NSLog(@"Error %@", operationerror); } }; [self.ckprivate addoperation: op];
34 CKCDManagedObject Bázová třída pro CK-CD entity. Režijní attr. Vytvoření CD objektu. Synchronizace: všechny nové a modifikované. všechny označené jako smazané. vytvoří se seznamy CKRecord
35 -(CKRecord *) ckcdcreateckrecord { CKRecord *rec = nil; if (self.ckcdrecordname == nil) { rec = [[CKRecord alloc] initwithrecordtype: [self ckcdentityname]]; } else { rec = [[CKRecord alloc] initwithrecordtype: [self ckcdentityname] recordid: [self ckcdgetckrecordid]]; } for (NSString *key in [self ckcdkeys]) { id objectatkey = [self valueforkey: key]; if ([objectatkey iskindofclass: [CKCDManagedObject class]]) { // je to reference CKCDManagedObject *ckcdreferencedobject = objectatkey; CKRecordID *refid = [[CKRecordID alloc] initwithrecordname: ckcdreferencedobject.ckcdrecordname]; CKReference *ref = [[CKReference alloc] initwithrecordid: refid action: CKReferenceActionNone]; [rec setobject: ref forkey: key]; } else [rec setobject: objectatkey forkey: key]; } } return rec;
36 Závěr I. dílu CK Private/Public DB Rozdílový fetch v private DB Práce v public DB Vždy se očekává lokální kopie dat Je třeba vytvořil robustní modely činnosti programu v různých režimech aplikací Implementace náhražky rozdílového fetch nad public DB
Knihovna Foundation. Seminář ios Martin Hrubý, FIT VUT v Brně
Knihovna Foundation Seminář ios Martin Hrubý, FIT VUT v Brně Úvod Foundation je nosná páteř všech aplikací v ios a OS X. Je společná pro oba systémy, tzn. jádro vaší aplikace je přenositelné. http://opensource.apple.com/source/cf/
ios Cvičení RSS čtečka
strana 1 ios Cvičení RSS čtečka Jiří Kamínek Kaminek.jiri@stoneapp.com strana 2 Vytvoření nového projektu v XCode Název RSSLesson Navigation-based Application use Core Data for storage nezaškrtávat strana
Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012
Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah
Bridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
8.2 Používání a tvorba databází
8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam
Návrh a tvorba WWW stránek 1/14. PHP a databáze
Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované
Konstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
Programování v C++ 3, 3. cvičení
Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového
Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal
Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE
20. Projekt Domácí mediotéka
Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý
Databázový systém Matylda
Databázový systém Matylda Návrh softwarového projektu Vývojový tým Předpokládaný počet řešitelů: 5 Vedoucí: Mgr. Martin Nečaský Ph.D. Motivace V současné době se mnoho nákupů odehrává v internetových obchodech.
Zápisování dat do databáze
Zápisování dat do databáze Informační a znalostní systémy 1 2 záznamů Pro vkládání záznamů do tabulky- příkaz INSERT INSERT INTO tabulka VALUES ( výčet hodnot záznamu ) záznamů Pro vkládání záznamů do
public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());
Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového
DUM 15 téma: Příkazy pro řízení přístupu
DUM 15 téma: Příkazy pro řízení přístupu ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací
Databázové systémy I. 1. přednáška
Databázové systémy I. 1. přednáška Vyučující a cvičení St 13:00 15:50 Q09 Pavel Turčínek St 16:00 18:50 Q09 Oldřich Faldík Čt 10:00 12:50 Q09 Jan Turčínek Pá 7:00 9:50 Q08 Pavel Turčínek Pá 10:00 12:50
Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15
Platforma Java Objektově relační mapování II Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, 2016 1 / 15 Dotazování vyhledání objektu podle
Tvorba informačních systémů
Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních
RMI - Distribuované objekty v Javě
Vysoká škola báňská - Technická univerzita Ostrava 30. března 2009 Osnova Co je to RMI? 1 Co je to RMI? 2 Vnější pohled Vrstvy RMI Stub & Skeletons Layer Remote Reference Layer Transport Layer Pojemnování
Roční periodická zpráva projektu
WAK-1F44C-2005-2 WAK System Název projektu: Automatizovaná výměna dat mezi informačními systémy krizového řízení v dopravě s jednotným univerzálním a implementovaným rozhraním založeným na standardu webových
PHP a Large Objecty v PostgreSQL
PHP a Large Objecty v PostgreSQL Pavel Janík ml. http://www.janik.cz PHP a Large Objecty v PostgreSQL 1 Jazyk PHP je velmi mocným jazykem pro vývoj webových aplikací. Má podporu snad všech velkých i menších
Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou
Administrace Oracle Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním
Monitorování a audit databází v reálném čase. Ing. Jan Musil IBM Česká republika
Monitorování a audit databází v reálném čase Ing. Jan Musil IBM Česká republika Jsou naše data chráněna proti zneužití? Ano, pokud... Nepoužitelné Steve Mandel, Hidden Valley Observatory http://apod.nasa.gov/apod/ap010809.html
Anotace a Hibernate. Aleš Nosek Ondřej Vadinský Daniel Krátký
Anotace a Hibernate Aleš Nosek Ondřej Vadinský Daniel Krátký Anotace v Javě novinka Javy 5 umožňují k Java kódu přidávat dodatečné informace (podobně jako JavaDoc) za předchůdce anotací je možné považovat
Komunikace eorders. aegis. aegis.cz. Konference Common 2009 Malá Fatra. Evžen Kučera
Komunikace eorders Konference Common 2009 Malá Fatra Evžen Kučera Obsah Požadavky na komunikaci Aegis utility Systém Programové Komunikační Nadstavba pro LeasePlan Kontrola komunikací Další rozvoj Požadavky
Více o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
IRAE 07/08 Přednáška č. 1
Úvod do předmětu OOP Objekt Proč OOP? Literatura, osnova předmětu viz. cvičení Základní prvek OOP sw inženýrství = model reálných objektů (věcí) člověk, auto, okno (ve windows), slovník, = model abstraktní
Práva a role. Martin Polák. NDBI013 Administrace Oracle
Práva a role Martin Polák NDBI013 Administrace Oracle Práva a role Práva slouží k omezení možností uživatele právě tak, aby mohl provádět úkoly jemu svěřené. Role jsou pojmenované skupiny práv a slouží
PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.
PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk
Jazyk C++ I. Šablony 2
Jazyk C++ I Šablony 2 AR 2013/2014 Jazyk C++ I Třídy template class TVektor { T *a; int n; static int PocInstanci; public: TVektor(int _n = 0) : n(_n) { a = new T[n]; PocInstanci++; } ~TVektor()
Plánování a vývoj základního frameworku
Shrnutí KAPITOLA 2 Plánování a vývoj základního frameworku Nyní, když máme jasno v tom, co nás v této knize čeká a proč, můžeme začít s vývojem našeho sociálního webu. Abychom zajistili rychlý postup vývoje,
Rezervační systém Tvorba WWW stránek
2012 Rezervační systém Tvorba WWW stránek Vytvoření rezervačního systému pro rezervaci motokár,ubytování a atrakcí Marek Svoboda Motokáry Motobydlo 30.12.2012 Obsah 1.Základní charakteristika... 3 a) Téma
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory
Měřící systém se vzdáleným přístupem. Databáze
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA MĚŘENÍ Měřící systém se vzdáleným přístupem Databáze Jiří Javůrek 2003/2005 0. Obsah 0. Obsah...1 1. Požadavky...2 2. Struktura databáze...2
Použití databází na Webu
4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové
InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou
MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství
STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ
STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ Technologie Jalapeño od InterSystems Andreas Dieckow, Principal Product Manager, Strategic Planning InterSystems Corporation Úvod Programovací jazyk Java má díky
Jazyk C# (seminář 6)
Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí
Úvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ
Manuál k aplikaci FieldGIS v.2.27
Manuál k aplikaci FieldGIS v.2.27 Petr Pala Copyright 2008 CENIA, laboratoř GIS 1. Úvod 1. Systémové požadavky 2. Části základního okna aplikace 1. Menu 1.1. File 1.2. Tools 1.3. Hlavní lišta 2. Editor
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 21 Název materiálu: Možnosti komunikace a synchronizace Ročník: Identifikace materiálu:
Active Directory organizační jednotky, uživatelé a skupiny
Active Directory organizační jednotky, uživatelé a skupiny V databázi Active Directory jsou uloženy objekty organizačních jednotek, uživatelských účtů a skupin. Organizační jednotka představuje jakýsi
ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE
2011 Technická univerzita v Liberci Ing. Přemysl Svoboda ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE V Liberci dne 16. 12. 2011 Obsah Obsah... 1 Úvod... 2 Funkce zařízení... 3 Režim sběru dat s jejich
14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
Verzování a publikace dat na webu za pomoci PostgreSQL
Prague PostgreSQL Developers' Day 2013 Verzování a publikace dat na webu za pomoci PostgreSQL Jan Pěček Kdo jsem? Jan Pěček Programátor PostgreSQL Jyxo, s.r.o. (Blog.cz) MAFRA, a.s. - Internet Trading
Audit DB. Referát. Vypracoval: Zdeněk Doležal MFF UK Praha 11/5/06
Audit DB Referát Vypracoval: Zdeněk Doležal zdenek.dolezal@gmail.com MFF UK Praha 11/5/06 Obsah 1.Audit databáze...3 Co to je audit db?...3 Kdy a jaký audit bychom měli použít?...3 Udržování informací
Patrol Management System 2.0
Patrol Management System 2.0 Uživatelský manuál RF 5000 Obsah 1 Základní popis aplikačního prostředí 1.1 Hardwarové požadavky 1.2 Aplikační prostředí 1.3 Instalace software 2 Jak používat software 2.1
Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 /
Outdoor Expert Uživatelský manuál Verze aplikace: 1.0 28. 12. 2014 OutdoorExpert_Manual.docx 1 / 35 2015-01-01 Obsah 1 ÚVOD... 3 2 POPIS FUNKČNOSTÍ APLIKACE... 3 2.1 SPUŠTĚNÍ APLIKACE... 3 2.2 ZALOŽENÍ
Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června 2007. krovacek@students.zcu.cz
Databáze čajových sáčků Martina Málková Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky Databázové systémy 2 9. června 2007 krovacek@students.zcu.cz 1 1 Datová analýza V původním
Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat
QA & Dokumentace Agenda Docházka Návrat k minulému praktickému cvičení Zápočtové práce QA opakování Dokumentace Co, jak a proč dokumentovat Dotazy, přání, stížnosti Kde je chyba? public static StringBuilder
Mediator motivace. FontDialog. závislosti mezi jednotlivými ovládacími prvky jsou netriviální
Mediator Mediator motivace FontDialog závislosti mezi jednotlivými ovládacími prvky jsou netriviální Mediator - motivace zná pomůcky, koordinuje interakce místo distribuce chování do jednotlivých pomůcek
OMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC
OMO 4 - Creational design patterns A Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC Ing. David Kadleček, PhD. kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Creational
SQL - trigger, Databázové modelování
6. přednáška z předmětu Datové struktury a databáze (DSD) Ústav nových technologií a aplikované informatiky Fakulta mechatroniky, informatiky a mezioborových studií Technická univerzita v Liberci jan.lisal@tul.cz
KIV/PIA 2013 Jan Tichava
KIV/PIA 2013 Jan Tichava Java EE JSF, PrimeFaces Spring JPA, EclipseLink Java Platform, Enterprise Edition Persistence Zobrazovací vrstva Interakce aplikací Deployment Java Persistence API Enterprise
Komponentový návrh SW
Komponentový návrh SW Komponentový návrh SW Komponenty jsou kompletně specifikované pomocí interface Jejich funkčnost je nezávislá na programovacím jazyku a mohou být integrované do toho samého systému
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);
Programovací jazyk PHP doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Třídy a objekty Výjimky Webové aplikace
Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce
Databázové systémy 2 Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: čtvrtek, 4 5 Obor: ININ SWIN E-mail: jtichava@students.zcu.cz Databázové systémy II. KIV/DB2 LS 2007/2008 Zadání semestrální
Abstraktní datové typy
Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní datové typy BI-PA2, 2011, Přednáška 10 1/27 Abstraktní datové typy Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky,
Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39
Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy
Analýza Systém Správce
Analýza Systém Správce Toto je analýza aplikace Systém Správce, která slouží k alokaci zaměstnanců vedených v databázi do týmů. Jedná se o pomůcku projektových manažerů. Rozbor požadavků Funkční požadavky
Coordinate System Editor Software
Coordinate System Editor Software Obsah 1 ÚVOD...3 1.1 SOUBORY SOUŘADNICOVÝCH SYSTÉMŮ...4 1.2 INSTALACE...4 1.3 SPUŠTĚNÍ COORDINATE SYSTEM EDITORU...4 2 ZÁKLADNÍ OPERACE...6 2.1 TLAČÍTKA...6 3 FILE MENU...8
Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz
Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných
BankKlient. FAQs. verze 9.50
BankKlient FAQs verze 9.50 2 BankKlient Obsah: Úvod... 3 Instalace BankKlient možné problémy... 3 1. Nejsou instalovány požadované aktualizace systému Windows... 3 2. Instalační program hlásí, že nemáte
XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ. Roman Fischer fischer@skeleton.cz
XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ Roman Fischer fischer@skeleton.cz AGENDA KDO JSME PROČ JSME ZVOLILI XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ DISKUZE Softwarová řešení a mobilní aplikace na míru 2 SOFTWAROVÁ
Střední odborná škola a Střední odborné učiliště, Hořovice
Kód DUM : VY_32_INOVACE_DYN.1.18 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 18 PHP- Základy práce s databází PHP - MySQL DUM naučí žáky postupu při vytvoření, připojení databáze a vytvoření
Dokumentový sklad. Dokumentový sklad v.1. Dokumentový sklad v.2. Koncepce skladu v.2. Petr Lampa
Dokumentový sklad v.1 Dokumentový sklad Petr Lampa První verze (2002): Ukládání diplomových prací a ročníkových projektů v PDF a PostScriptu Požadavky: Archivace dokumentů Malá četnost prohlížení Žádná
Databázové systémy Cvičení 5.2
Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako
Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.
Základy programování 4 - C# - 9. cvičení Radek Janoštík Univerzita Palackého v Olomouci 10.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.2017 1 / 13 Reakce na
Microsoft Sync Framework. Jiří Činčura blog.cincura.net
Microsoft Sync Framework Jiří Činčura jiri@x2develop.com blog.cincura.net Motivace Mnoho pokusů Stejné body ztroskotání Jednostranná řešení neobecné Topologie Datové typy Motivace Co je nejdůležitější
MapleCloud a jeho použ ití. Vladimír Žák
MapleCloud a jeho použ ití Vladimír Žák Brno, 2015 Obsah 1 Úvod... 4 2 Novinky v MapleCloud pro Maple 2015... 5 3 MapleCloud a registrace... 6 4 Použití MapleCloud přímo z Maple 2015... 7 4.1 Popis jednotlivých
APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator
APS Web Panel Rozšiřující webový modul pro APS Administrator Webové rozhraní pro vybrané funkce programového balíku APS Administrator Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská
HP-2000E UŽIVATELSKÝ MANUÁL
HP-2000E UŽIVATELSKÝ MANUÁL Strana 1 / 7 Úvod AirLive konfigurační utilita pro OS Windows umožňuje uživatelům identifikovat HomePlug zařízení (HP1000E Sérii & HP2000E Sérii) v elektrické síti. Dále zobrazuje
Mobile application developent
Mobile application developent Jiří Šebek b6b36nss Obsah Návrh softwaru Prototypování testování MVVM architektura - mobile aplikace 2 Návrh softwaru Strategie : top down, bottom up Nejen u navrhu sw, ale
George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu
A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,
Transakce a zamykání. Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík
Transakce a zamykání Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík Základní pojmy Databázová transakce je skupina příkazů, které převedou databázi z jednoho konzistentního stavu do druhého. Transakční
Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech
Adresářová služba X.500 a LDAP Autor Martin Lasoň Abstrakt Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech vedla ke vzniku specializovaných databází adresářů.
Mapa Česka: www.mapa-ceska.cz
Mapa Česka: www.mapa-ceska.cz Mapový portál Mapa Česka, který je dostupný na internetové adrese www.mapa-ceska.cz, byl vytvořen v roce 2014 v rámci bakalářské práce na Přírodovědecké fakultě Univerzity
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence
Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
Databox CONTACT 6. Při konfiguraci systému řešíme jednoduchost, praktičnost, automatizaci a kontrolu.
Databox CONTACT 6 Servis / Stroje a zařízení Úvod Databox CONTACT 6 je velice universální nástroj pro tvorbu databázových systémů. Základ tvoří zavedené agendy Adresář firem, Adresář osob, Kalendář a Databázové
Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML
Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k
Vypracoval: Antonín Krumnikl Email: antonin.krumnikl@ha-velfamily.cz Mob.: 606 778 713 Tel.: 552 302 362
Vypracoval: Antonín Krumnikl Email: antonin.krumnikl@ha-velfamily.cz Mob.: 606 778 713 Tel.: 552 302 362 Stránka 1 z 21 Obsah 1. Co je systém HELPdesk?... 2 2. Možnosti využití systému HELPdesk:... 2 3.
Aditivní služby k datovým schránkám, Poštovní datová zpráva
Aditivní služby k datovým schránkám, Poštovní datová zpráva ISSS 2010, Hradec Králové Česká pošta, s.p. 12. 4. 2010 1 Obsah egovernment na České poště Poštovní datová zpráva Datový trezor SMS notifikace
SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years
SQL v14 4D Developer konference Obsah části SQL Porovnání 4D a SQL Nové příkazy SQL Upravené příkazy SQL Optimalizace SQL SQL v14 porovnání Definice dat - struktury Manipulace s daty Definice dat Vytvoření
Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework
Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS
Microsoft Windows Server System
Microsoft Windows Server System Uživatelský autentikační systém od společnosti truconnexion komplexně řeší otázku bezpečnosti interních počítačových systémů ebanky, a.s. Přehled Země: Česká republika Odvětví:
MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti
MS WINDOWS II Jádro Správa objektů Správa procesů Zabezpečení Správa paměti JÁDRO I ntoskrnl.exe napsán v C (příp. assembler) základní mechanismy poskytované executivám trap dispečink synchronizace přístupů
MST - sběr dat pomocí mobilních terminálů on-line/off-line
MST - sběr dat pomocí mobilních terminálů on-line/off-line Stručný přehled název: MST, software pro sběr dat mobilními terminály ve skladu (příjem, výdej, inventura) autor aplikace: FASK, spol. s r.o.,
Jak efektivně ochránit Informix?
Jak efektivně ochránit Informix? Jan Musil jan_musil@cz.ibm.com Informix CEE Technical Sales Information Management Jsou Vaše data chráněna proti zneužití? 2 Ano, pokud... 3 Nepoužitelné Steve Mandel,
1 Úvod. 2 Registrace a přihlášení. Registrace). Zobrazí se stránka, kde budete mít na výběr ze dvou možností. Můžete vytvořit nové či.
1 Úvod Aplikace XPERA Projects, která je určena pro sběr a řešení požadavků, přináší nový rozměr a efektivity mobilního klienta. Aplikace Xpera Projects pro ios znamená mít řešené případy stále s sebou.
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_038.ICT.34 Tvorba webových stránek SQL stručné minimum OA a JŠ Jihlava, VY_32_INOVACE_038.ICT.34 Číslo
NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme
Téma 5. Ovladače přístrojů Instrument Drivers (ID)
Cíl a užitek z ID: Téma 5 Ovladače přístrojů Instrument Drivers (ID) ID jsou vrstvou nad tradičními příkazy pro ovládání přístrojů (SCPI) message based obsahují vyšší (high level) softwarové funkce, které
PREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
Administrace Oracle. Práva a role, audit
Administrace Oracle Práva a role, audit Filip Řepka 2010 Práva (privileges) Objekty (tabulky, pohledy, procedury,...) jsou v databázi logicky rozděleny do schémat. Každý uživatel má přiděleno svoje schéma
Softwarové komponenty a Internet
Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty
APS Administrator.ST
APS Administrator.ST Rozšiřující webový modul pro APS Administrator Webové rozhraní sledování docházky studentů Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská 1611/19, Praha, www.techfass.cz,
Funkční objekty v C++.
Funkční objekty v C++. Funkční objekt je instance třídy, která má jako svou veřejnou metodu operátor (), tedy operátor pro volání funkce. V dnešním článku si ukážeme jak zobecnit funkci, jak používat funkční
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2
Principy objektově orientovaného programování
Principy objektově orientovaného programování Třídy a objekty doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz C E T
Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza
Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Seznámení s SQL Server Management Studiem (SSMS) Základní architektura