Windows HPC oraz aplikacje rozproszone, wielowątkowe i wielordzeniowe

Wielkość: px
Rozpocząć pokaz od strony:

Download "Windows HPC oraz aplikacje rozproszone, wielowątkowe i wielordzeniowe"

Transkrypt

1 Windows HPC oraz aplikacje rozproszone, wielowątkowe i wielordzeniowe Tomasz Kopacz III Konferencja MIC Nowoczesne technologie bliŝej nas Poznań,,

2 Agenda

3 Niemal 100% procesorów ma >=2 rdzenie

4 Czemu jest to waŝne? Wielordzeniowość to SZANSA Pozwala na nowy typ aplikacji, istotną zmianę jakościową w obrębie end-user experiences WyróŜnienie się Aplikacje rzeczywiście szybsze Wielordzeniowość to teŝ pewne wyzwanie i zakłócenie stanu obecnego Wiedza deweloperów Testowanie Czy tak samo się zachowa na 2,4,8,16 rdzeniach? Czy na pewno szybko? Nowe błędy Oprogramowanie ignorujące mechanizmy zrównoleglania z czasem będzie mniej konkurencyjne

5 Wyzwania Identyfikacja obszarów które moŝna zrównoleglić Opisanie zasad podziału (dane i/lub funkcje) Optymalny podział czasu procesorów / rdzeni Efektywność; ale teŝ multitasking Biblioteki i framework równoległy Narzędzia Migracja kodu sekwencyjnego

6 Parallel Computing Initiative Microsoft s Parallel Computing Initiative encompasses the vision, strategy, and innovative technologies for delivering transformative, natural, and immersive personal computing experiences, harnessing the compute power of manycore architectures.

7 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE Programowanie klasyczne

8 Programowanie klasyczne Zdanie się na system operacyjny Wielozadaniowość ma wbudowaną ZałoŜenie: wiele równoległych zadań Czyli kaŝde ma swój czas Problem: jeden wątek/zadanie ma się liczyć szybciej API i mechanizmy uruchamiania zadań w tle : BackgroundWorker, Thread, Synchronizacja klasyczna I to główny praktyczny problem

9 Przykład: przejście po drzewie Sekwencyjne static void ProcessNode<T>(Tree<T> tree, Action<T> action) { if (tree == null) return; } ProcessNode(tree.Left, action); ProcessNode(tree.Right, action); action(tree.data); ThreadPool (wersja prosta) static void ProcessNode<T>(Tree<T> tree, Action<T> action) { if (tree == null) return; } using (ManualResetEvent mre = new ManualResetEvent(false)) { ThreadPool.QueueUserWorkItem(delegate { ProcessNode(tree.Left, action); mre.set(); }); ProcessNode(tree.Right, action); action(tree.data); mre.waitone(); } CięŜka synchronizacja Interfejs + coś Blokowanie wątku

10 Przykład: drzewo, v 2 ThreadPool (lepiej ale nie perfekcyjne): static void ProcessNode<T>(Tree<T> tree, Action<T> action) { IEnumerator<T> enumerator = tree.getenumerator(); using (ManualResetEvent mre = new ManualResetEvent(false)) { int waitcount = Environment.ProcessorCount; WaitCallback wc = delegate { while(true) { T item; lock (enumerator) { if (!enumerator.movenext()) break; item = enumerator.current; } action(item); } Auć (1) Blokada Komplikacja; nie lokalne Jawna synchronizacja } } }; if (Interlocked.Decrement(ref waitcount) == 0) mre.set(); for (int i = 0; i < Environment.ProcessorCount - 1; i++) { ThreadPool.QueueUserWorkItem(wc); } wc(null); mre.waitone(); Auć (2) widzi tu ALGORYTM? Czy ktoś widzi tu ALGORYTM?

11 Klasyczne programowanie asynchroniczne BCL: Wiele operacji ma wersje asynchroniczne Para BeginOperation, EndOperation; Callback gdy operacja się zakończy / będzie błąd BeginRead(buffer, offset, count, callback, state) EndRead(asyncResult) Ale: Callback moŝe być wołany z dowolnego wątku Wywołującego (synchroniczne zakończenie) Nowy z puli (zagłodzenie w najgorszym razie) Brak czeka by powiedzieć Ŝe skończył Koordynacja - niejasna Sekwencje (zagnieŝdŝone delegaty, niejawne przekazanie sterowania); Rekurencja (ping-pong pomiędzy callbacka) Co z częściowym niepowodzeniem, jak ponowić operację Brak kontroli nad wątkami (ile/jak)

12 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE Visual Studio 2010 i.net 4.0

13 Główne problemy Niech do zrównoleglenia wystarczy ekspert domenowy (a nie specjalista od zrównoleglania) Wniosek: proste koncepcje WywaŜyć skalowalność z łatwością uŝycia i testowalnością Dane a przepływ zadań a blokady a wydajność Zadanie Integracja współbieŝności w narzędzia mainstream Narzędzia i środowisko developerskie + testy Zapakować równoległość w komponenty Najlepiej bez zmian w sposobie uŝycia MoŜe: drobne zmiany

14 Visual Studio 2010 i.net 4.0 Narzędzia Model programowania Parallel Debugger Toolwindows Profiler Concurrency Analysis PLINQ Task Parallel Library WspółbieŜne runtime Thread Pool Task Scheduler Data Structures Data Structures Parallel Pattern Library Agents Library Task Scheduler (+ API do rozszerzeń!) Resource Manager Resource Manager System operacyjny Wątki Kod zarządzalny Kod natywny Narzędzia

15 Parallel Extensions.NET 4.0 Biblioteka.NET (brak zmian w kompilatorze); dowolny język.net Podstawowe mechanizmy Imperatywne zrównoleglenie zadań i przetwarzania danych (Task Parallel Library) Deklaratywne zrównoleglenie przetwarzania danych (PLINQ) Struktury i kolekcje synchronizacyjne (Coordination Data Structures) Wspólny model obsługi wyjątków Izolowani agenci do uruchamiania współbieŝnego (Asynchronous Agents Library)

16 Normalne C# For (int i=0; i< m1.rows; i ++) { for (int j = 0; j < m2.columns; j++) { result[i, j] = 0; for (int k = 0; k < m1.columns; k++) { result[i, j] += m1[i, k] * m2[k, j]; } }

17 Parallel C# Parallel.For(0, m1.rows, i => { for (int j = 0; j < m2.columns; j++) { result[i, j] = 0; for (int k = 0; k < m1.columns; k++) { result[i, j] += m1[i, k] * m2[k, j]; } }

18 Kilka przykładów Parallel::For(0, rrd->imageheight, gcnew Action<int,ParallelState^>(rrd, &RenderImageData::RenderRow)); Parallel.Invoke( () => QuicksortParallel(arr, left, pivot - 1), () => QuicksortParallel(arr, pivot + 1, right)); _lasttask = Task.StartNew(delegate { Bitmap bmp = MandelbrotGenerator.Create(...);... // narysuj }); var left = Future.Create(() => SumParallel(tree.Left, curdepth+1)); int right = SumParallel(tree.Right, curdepth+1);

19 Task Parallel Library - Task Wątek w kodzie zarzadzalnym Lepszy podział zasobów Kolekcja wątków uruchamia kolekcję zadań Scheduler z małym narzutem Efektywne algorytmy do zarządzania zadaniami TaskScheduler; Rozkład oparty o policy Blokady pomiędzy schedulerami Wiele instancji schedulera Zarządzanie zasobami Wspólna pula zasobów Dynamiczny rozkład w oparciu o analizę aktualnego stanu i policy System.Threading.Tasks Task: Relacja rodzic dziecko; oczekiwanie, anulowanie, kontynuacja Task<TResult>: Tasks który zwraca wynik (realizacja Futures)

20 Coordination Data Structures Kolekcje Thread-safe ConcurrentStack<T> ConcurrentQueue<T> Wymiana danych BlockingCollection<T> Synchronizacja; operacje wieloetapowe CountdownEvent Blokady ManualResetEventSlim SemaphoreSlim SpinLock / SpinWait Inicjalizacja LazyInit<T> WriteOnce<T>

21 (P)LINQ var results = from baby in babies where baby.name == queryname && baby.state == querystate && baby.year >= yearstart && baby.year <= yearend orderby baby.year ascending select baby; Obsługa.NET Standard Query Operators Inteligentne i automatyczne partycjonowanie danych Wystarczy IEnumerable<T> Ale moŝe być implementowane przez innych providerów (bazy danych itp.)

22 WspółbieŜność w kodzie.net Aplikacja.NET Deklaratywne zapytania C# VB C++ Równoległe algorytmy Partycjon. danych Chunk Range Hash Striped Repartitioning Task Parallel Library (TPL) PLINQ Execution Engine Analiza kwerendy Typy operatorów Map Scan Build Search Reduction Łączenie Async (potok) Synch Order Preserving Sorting ForAll Coordination Data Structures F# Inne kompil..net PLINQ Task API Task Parallelism Futures Scheduling Thread-safe Collections Synchronization Types Coordination Types IL TPL lub CDS Wątki Proc 1 Proc p

23 Debugger i testowanie Debugger zna pojęcie Task TakŜe działa dla klasyczny wątków Narzędzia Analiza utylizacji procesorów/rdzeni Analiza blokad w wątkach ZaleŜności na poziomie I/O dysku + Pewne rozwiązania z Microsoft Research 23

24 Wsparcie dla Task Kod zarządzalny i natywny Parallel Tasks Parallel Stacks TeŜ obsługuje tradycyjne wątki

25 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE Przyszłość

26 RaceTrack (MSR) ck RaceTrack wykrywa tzw. dynamic race w kodzie zarządzalnym; sytucje gdy błąd się ujawnia przy drobnych przesunięciach czasowych w wątkach. Wykonuje instrumentalizację kodu i wykrywa podejrzane wzorce dostępu do współdzielonych danych (nie jest to 100% pewne)

27 Chess (MSR) CHESS to narzędzie do wykrywania tzw. Heisenbugs i wskazywania w jakiej konfiguracji wątków one się pojawiają

28 UI do CHESS

29 Transakcyjna pamięć Określić intencje: 1.Ma działać w izolacji od innych zadań 2.Ma nic nie zmieniać gdy jest błąd Nie jest to pełny ACID

30 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE A moŝe inne podejście: CCR Concurrency and Coordination Runtime

31 CCR zasada działania Przesyłane są komunikaty które aktywują zadania Komunikaty są wysyłane do portów Port<int> myport = new Port<int>() ; myport.post (42) ; Port zawiera Strukturę FIFO do przechowywania przekazanych wartości Arbiter Odpowiada za zrównoleglenie operacji odbierających komunikaty z portu Zawiera lista delegatów które mogą być uruchomione dla oczekujących komunikatów Implementuje często spotykane konstrukcje współbieŝne jak join, przeploty itp. (przy przekazywaniu sygnałów/komunikatów)

32 CCR - Konfiguracja Port<int> p = new Port<int>(); 3 Arbiter delegate(int n) {/*handler*/} Kolejka Dispatchera Porty i TYP Arbiter zainicjowany i aktywuje port Sygnatura handlera musi pasować do typu portu Arbiter.Activate(q, Arbiter.Receive(true, p, delegate(int n) { /*kod do wykonania...*/ })); DispatcherQueue q = new DispatcherQueue("", d); 4 2 Dispatcher Dispatcher d = new Dispatcher(0, ""); 1

33 Prymitywy koordynacyjne CCR (technicznie metody obiektu Arbiter) Scheduler (bez portu) Obsługa portu Wiele portów

34 CCR a algorytm obliczeń using (DispatcherQueue q = new DispatcherQueue()) { PortSet<Success, Failure> ps = new PortSet<Success, Failure>(); int n = 10; Arbiter.Activate(q, Arbiter.MultipleItemReceive(ps, n, delegate(icollection<success> s, ICollection<Failure> f) { // Akcja po zakończeniu zadań })); for (int i = 0; i < n; ++i) Arbiter.Activate(q, Arbiter.FromHandler( delegate() { try { // praca współbieżna p.post(new Success(...); } catch(exception ex) p.post(new Failure(ex)); })); }

35 Kod asynchroniczny z iteratorami void Start() { Arbiter.Activate(q, Arbiter.FromIteratorHandler(Handler)); } IEnumerator<ITask> Handler() { PortSet<Success, Failure> ps = new PortSet<Success, Failure>(); service.post(new WorkItem(ps)); // wyślij asynchroniczną pracę // Czekaj na zakończenie bez blokowania wątków yield return Arbiter.Choice(ps, delegate(success s) {... }, delegate(failure f) {... } ); // Wyślij kolejne zadanie service.post(new WorkItem(ps));... yield break; // koniec i określenie co można wykonywać równolegle }

36 Połączenie klasycznego BCL i CCR UŜyć CCR do Modelowania współbieŝnych procesów Koordynacji operacji asynchronicznych Wykorzystanie BCL proste: W mechanizmie callback przekazać IAsyncResult do portu CCR

37 Iteracyjne zadanie 1)Rozpocznij odczyt Asynchr. odczyt 2) czekaj na wynik 3)Przetwórz dane IEnumerator<ITask> CcrReadFileAsync(string file) { Callback: Post var resultport = new Port<IAsyncResult>(); IAsyncResult jako using (var fs = new FileStream(file,,FileOptions.Asynchronous)) komunikat { var buf = new byte[fs.length]; fs.beginread(buf, 0, buf.length, resultport.post, null); IAsyncResult result = null; yield return Arbiter.Receive(false, resultport, ar => { result = ar; }); Port koordynujący asynchroniczne operacje } } try { fs.endread(result); ProcessData(buf); } catch { // handle exception } Yield otrzymuje zadanie, Task jest aktywowany przez dispatcher, Dispatcher woła MoveNext() gdy zadanie zakończone. Nie blokuje wątku!

38 CCR a strumień public static PortSet<int, Exception> Read( Wynik lub wyjątek Stream stream, byte[] buffer, int offset, int count) { var resultport = new PortSet<int, Exception>(); stream.beginread(buffer, offset, count, asyncresult => { try { resultport.post(stream.endread(asyncresult)); } catch (Exception e) { resultport.post(e); Post wyniku } lub wyjątku }, null); return resultport; }

39 Przykład CopyStream while (write > 0) { var writeresult = StreamAdapter.Write(dest, bufferb, 0, write); if (read > 0) Join : musi być int na { Choice tylko jedna gałąź readresult oraz EmptyValue // read new bytes and write będzie existing wykonana buffer na writeresult Handler readresult = StreamAdapter.Read(source, ); dostanie oba komunikaty yield return Arbiter.Choice( Arbiter.JoinedReceive<int, EmptyValue>(false, ); readresult, writeresult, (r, s) => { read = r; } Gałęzie dla wyjątków ), Arbiter.Receive<Exception>(false, readresult, e => { exception = e; }), Arbiter.Receive<Exception>(false, writeresult, e => { exception = e; })

40 SYSTEMY ROZPROSZONE HPC Server (krótko!)

41 Windows HPC Server

42 Typy aplikacji Zadania wsadowe Zadania teŝ interaktywne) Kolejkowanie zadań Alokacja zasobów Uruchamianie procesu Monitorowanie wykorzystania zasobów Zintegrowane uruchamianie MPI Zintegrowane bezpieczeństwo + Broker komunikacyjny WCF Wirtualny endpoint WS Load balancing Zintegrowana aktywacja usług Zarządzanie czasem Ŝycia Zintegrowane śledzenie WCF Service (DLL) Service (DLL) Service (DLL) Service (DLL)

43 Współpraca dzięki Web Service Chmura Aplikacje Inne OS Cienki klient Własne mechanizmy schedulera itp.. Windows Vista + HPC client HPC Basic Profile Web Service Węzeł główny (też Broker WCF) Windows HPC Server 2008

44 SYSTEMY ROZPROSZONE DSS Decentralized Software Services

45 Decentralized Software Services Usługa to jednostka orkiestracji; interfejs do komponentu; w środku uŝywany CCR Aplikacja to kompozycja usług Deklaratywne, dynamiczne związki + narzędzie do modelowania Zachowanie w środowisku rozproszonym jest funkcją zmiany stanu węzłów Wspólne operacje na stanie DSSP to protokół dla DSS Nadzbiór HTTP Dodaje manipiulację strukturami danych i powiadamianie o zdarzeniach Polecenia (verbs) DSSP Create / Drop: tworzenie i usuwanie usługi Manipulacja stanem: Get, Query, Insert, Update, Replace, i Delete Lookup kontekstu serwisu Subskrypcja (zwykle na zmianę stanu) Wysyłanie komunikatu (wywołanie operacji) bez zmiany stanu HTTP wspierany do łatwego interoperability i interakcji TCP wykorzystywany do komunikacji między usługami

46 Architektura DSS h Stan Port Usługa Uchwyt Usługa Uchwyt Stan Usługa Uchwyt Stan

47 Deklaratywna koordynacja usług [ServiceHandler(ServiceHandlerBehavior.Concurrent Concurrent)] public IEnumerator<ITask> GetHandler(Get get) { get.responseport.post(_state); yield break; } Deklaracja intencji, reszta to rola DSS [ServiceHandler(ServiceHandlerBehavior.Exclusive Exclusive)] public IEnumerator<ITask> UpdateHandler(Update update) { _state.currentresult += update.body.value; LogUpdate upd; yield return _logservice.update(out upd); UpdateResponse rsp = upd.responseport; update.responseport.post(new UpdateResponse()); }

48 Aktywacja usługi i przepustowość [ActivationSettings( ShareDispatcher=false, ExecutionUnits=2)] [ResourceGroup("MyServices")] [Contract(Contract.Identifier)] public class MyService:DsspServiceBase { [ServicePort("/myService", QueuingPolicy = DsspOperationQueuingPolicy.ConstrainDepth DsspOperationQueuingPolicy.DiscardWithFault, QueueDepthLimit = 1)] MyServiceOperationsPort _mainport; MyState _state; } // Dalej start metod i handlerów

49 DSS a WCF DSS: orkiestracja przy uŝyciu Visual Programming Language WCF (Windows Communication Foudation): orkiestracja przy uŝyciu Workflow Foundation WCF komunikacja zgodna z popularnymi standardami W tym z HPC Server CCR potęŝny framework do uŝytku na danej maszynie MoŜe: połączenie WCF i CCR? Tracimy: stan! Zyskujemy: interoperacyjność

50 SYSTEMY ROZPROSZONE CHMURA (Windows AZURE)

51 Platforma Windows Azure Zwirtualizowane środowisko z Windows NET 3.5 SP1 Aplikacja składa się z: Web Role UI w ASP.NET Worker Role zadanie obliczeniowe Komunikacja: Kolejka (b. szybka) Przechowywanie: Tabele, BLOBy, relacje PARTYCJNONOWANIE TeŜ geograficzne Łatwo przenieść kod.net na dowolną liczbę instancji (usługi integrujące z systemami on-permise - pominięte)

52 Skalowanie idea Web Role Worker Role Kolejka zadań i wyników A B C D ZałoŜenie: BRAK STANU po stronie serwera Ale: ciasteczko, GUID w storage itp..

53 Podsumowanie MAPA technologii Zrównoleglanie zadań Systemy sterujące w CCR fabrykach Monitorowanie urządzeń Podejmowanie decyzji Agenci WF TPL / PPL Nadzór nad procesem kontroli działania systemów w samochodzie Usługi internetowe do zamawiania zdjęć WCF Popularny sklep internetowy WF DSS Lokalne Obsługa źródeł obrazu OpenMP Kodowanie, kompresja itp.. Przetwarzanie obrazów TPL / PPL Wizualizacja danych PLINQ Mechanizmy shaderów System typu nasza-klasa Rozproszone / chmura MPI / MPI.Net Mechanizmy wyszukiwania, OLTP, współpraca Klastry SOA / HPC Animacje, renderowanie Przewidywanie Klastrowe TPL pogody Monitorowanie sejsmologiczne Poszukiwanie zasobów natruralnych (ropa naftowa itp.) Klastrowe PLINQ Windows Azure Zrównoleglanie przez podział danych

54 Podsumowanie Programowanie z uwzględnieniem wielu rdzeni/procesorów/serwerów to konieczność (bo sprzęt ) Narzędzia: PLINQ, TPL, TASK, FUTURES. Łatwiej przerobić algorytm! CCR framework realizujący współbieŝność bazujący na danych DSS(P) wyspecjalizowany protokół pozwalający na orkiestrację asynchronicznych usług Ciekawe połączenie WCF i CCR Visual Programming Language (Robotics Studio) HPC Server Windows Azure Wszystko programowane Visual Studio DuŜe inwestycje Microsoft w rozwój technologii pozwalających programować równolegle Idea: brak róŝnic pomiędzy programami pisanymi tradycyjnie a tymi które wykorzystują efektywnie wiele: rdzeni/procesorów/serwerów

55 PYTANIA?

Programowanie równoległe i asynchroniczne w C# 5.0 / Mateusz Warczak [et al.]. Gliwice, cop Spis treści

Programowanie równoległe i asynchroniczne w C# 5.0 / Mateusz Warczak [et al.]. Gliwice, cop Spis treści Programowanie równoległe i asynchroniczne w C# 5.0 / Mateusz Warczak [et al.]. Gliwice, cop. 2014 Spis treści Wstęp 9 Przedmowa 11 Rozdział 1. Dla niecierpliwych: asynchroniczność i pętla równoległa 13

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

msgbox("akcja: Początek, argument: " + argument.tostring()); Thread.Sleep(1000); //opóźnienie msgbox("akcja: Koniec"); return DateTime.Now.

msgbox(akcja: Początek, argument:  + argument.tostring()); Thread.Sleep(1000); //opóźnienie msgbox(akcja: Koniec); return DateTime.Now. Programowanie asynchroniczne. Operator await i modyfikator async Język C# 5.0 wyposażony został w nowy operator await, ułatwiający synchronizację dodatkowych zadań uruchomionych przez użytkownika. Poniżej

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Wykład 10 - boost Thread. 8 czerwca 2007 Równoległość bardzo wolna reakcja człowieka wolne urządzenia wejścia - wyjścia (np. drukarki) bardzo szybkie procesory można przeprowadzać obliczenia podczas obsługi

Bardziej szczegółowo

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop. 2016 Spis treści Spis rysunków 11 Spis tabel 13 Przedmowa 15 Wprowadzenie 17 Podziękowania 27 O autorach 29 1 Wprowadzenie

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

Piotr Bubacz Cloud Computing

Piotr Bubacz Cloud Computing Cloud Computing ITA-112 Wersja 0.9 Warszawa, Czerwiec 2011 Spis treści Wprowadzenie i-4 Moduł 1 Wprowadzenie do Cloud Computing 1-1 Moduł 2 Wprowadzenie do Windows 2-1 Moduł 3 Storage Tabele 3-1 Moduł

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 4

Programowanie telefonów z Windows Phone 7, cz. 4 Programowanie telefonów z Windows Phone 7, cz. 4 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014 Leonard G. Lobel Eric D. Boyd Microsoft TM Azure SQL Database Krok po kroku Przekład: Marek Włodarz APN Promise, Warszawa 2014 Spis treści Wprowadzenie........................................................

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU

Programowanie procesorów graficznych GPGPU Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja

Bardziej szczegółowo

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek www.ii.uj.edu.pl/~filipek

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek www.ii.uj.edu.pl/~filipek VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI Bartłomiej Filipek www.ii.uj.edu.pl/~filipek plan Szybki start!.net 3.5 Visual Studio 2008 ogólnie Nowe narzędzia Czy zapomniano o C++? Podsumowanie Materiały źródłowe

Bardziej szczegółowo

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych)

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych) Spis treści Wstęp... xi Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych) 1 Program SQL Server Management Studio oraz język Transact SQL... 3 Omówienie programu SQL Server Management

Bardziej szczegółowo

Microsoft Visual C# 2012 Krok po kroku

Microsoft Visual C# 2012 Krok po kroku John Sharp Microsoft Visual C# 2012 Krok po kroku Przekład: Janusz Machowski, Krzysztof Szkudlarek APN Promise, Warszawa 2013 Spis treści Wstęp..................................................................

Bardziej szczegółowo

Komunikator internetowy w C#

Komunikator internetowy w C# PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej

Bardziej szczegółowo

Programowanie równoległe Parallel Extensions

Programowanie równoległe Parallel Extensions Programowanie równoległe Parallel Extensions W. Grześkowiak Instytut Informatyki, Wydział Elektroniki i Technik Informacyjnych, Politechnika Warszawska, ul. Nowowiejska 15/19, 00-665 Warszawa, Polska w.grzeskowiak@stud.elka.pw.edu.pl

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

Bardziej szczegółowo

Programowanie.NET - kurs zaawansowany

Programowanie.NET - kurs zaawansowany Kod szkolenia: Tytuł szkolenia: NET/ADV Programowanie.NET - kurs zaawansowany Dni: 4 Opis: Adresaci szkolenia Szkolenie kierowane jest do programiostów chcących pogłębić swoją wiedzę z zakresu platformy.net

Bardziej szczegółowo

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect Wbudowana wiedza specjalistyczna Dopasowane do zadania Optymalizacja do aplikacji transakcyjnych Inteligentne Wzorce

Bardziej szczegółowo

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT MONITOROWANIE DOSTĘPNOŚCI USŁUG IT POZIOMY MONITOROWANIA Services Transaction Application OS Network IBM TIVOLI MONITORING Proaktywnie monitoruje zasoby systemowe, wykrywając potencjalne problemy i automatycznie

Bardziej szczegółowo

Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003

Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003 Obliczenia równoległe i rozproszone w JAVIE Michał Kozłowski 30 listopada 2003 Wątki w JAVIE Reprezentacja wątków jako obiektów Uruchamianie i zatrzymywanie wątków Realizacja wątków Ograniczenia Mechanizmy

Bardziej szczegółowo

Aktualny stan i plany rozwojowe

Aktualny stan i plany rozwojowe Aktualny stan i plany rozwojowe Norbert Meyer Konferencja MIC Nowoczesne technologie bliŝej nas Poznań,, 16.04.2009 Centra MIC na świecie oferują studentom programistom specjalistom IT naukowcom Dostęp

Bardziej szczegółowo

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4 Spis treści 1 Wątki 1 2 Tworzenie wątków 1 3 Synchronizacja 3 4 Dodatki 3 5 Algorytmy sortowania 4 6 Klasa Runnable 4 Temat: Wątki Czym są wątki. Grafika. Proste animacje. Małe podsumowanie materiału.

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: Rozdział I Szczegółowy opis przedmiotu umowy Załącznik nr 1 do Umowy Architektura środowisk SharePoint UMWD 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: a) Środowisko

Bardziej szczegółowo

Programowanie usług działających w tle

Programowanie usług działających w tle Programowanie usług działających w tle Android Paweł Szafer Po co programować usługi działające w tle? Plan prezentacji O aplikacjach w Androidzie, Sposób podejmowania decyzji o zabiciu procesu, Rodzaje

Bardziej szczegółowo

2011-11-04. Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

2011-11-04. Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL Instalacja, konfiguracja Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej Kontakt: piotr.dziwinski@kik.pcz.pl 2 Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management

Bardziej szczegółowo

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012 Projektowanie algorytmów równoległych Zbigniew Koza Wrocław 2012 Spis reści Zadniowo-kanałowy (task-channel) model algorytmów równoległych Projektowanie algorytmów równoległych metodą PACM Task-channel

Bardziej szczegółowo

Język Java wątki (streszczenie)

Język Java wątki (streszczenie) Programowanie współbieżna Język Java wątki (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Języka Java wątki Autor:

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015

Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015 Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015 Dotyczy zapytania ofertowego nr 1/POKL/2015, z dnia 12.01.2015 r. w ramach projektu PWP Paragon i Attero finansowanego ze środków Unii Europejskiej

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

Bardziej szczegółowo

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C# Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C# W poprzednim odcinku Git ciągle jest git.net Framework wprowadzenie.net is all around Ala ma kota na Ubuntu Pierwszy

Bardziej szczegółowo

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server { Pobranie i instalacja: - http://www.nservicebus.com/ - download v3.0 now - rozpakować - MSMQ powinno być zainstalowane (Panel Sterowania -> Dodaj/Usuń programy -> Składniki systemu Windows -> Kolejkowanie

Bardziej szczegółowo

Koniec problemów z zarządzaniem stacjami roboczymi BigFix. Włodzimierz Dymaczewski, IBM

Koniec problemów z zarządzaniem stacjami roboczymi BigFix. Włodzimierz Dymaczewski, IBM Koniec problemów z zarządzaniem stacjami roboczymi BigFix Włodzimierz Dymaczewski, IBM Dlaczego zarządzanie stacjami roboczymi sprawia tyle problemów? Na ogół duŝa ilość Brak standardu konfiguracji Wielka

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Kurs języka Python. Wątki

Kurs języka Python. Wątki Kurs języka Python Wątki Wątek Wątek (ang. thread) to jednostka wykonawcza w obrębie jednego procesu, będąca kolejnym ciągiem instrukcji wykonywanym w obrębie tych samych danych (w tej samej przestrzeni

Bardziej szczegółowo

WebAii Automation Framework

WebAii Automation Framework Wojciech Pająk Konferencja TESTWAREZ 2008 16-17 października 2008 testerzy.pl Agenda 1. WebAii - wprowadzenie 2. Metodyka automatyzacji 3. Budowa biblioteki 4. Integracja 5. Podsumowanie Co to jest, do

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4 Wykład 4 p. 1/1 Oprogramowanie i wykorzystanie stacji roboczych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Obsługa sieci Wykład

Bardziej szczegółowo

Laboratorium 10 - Web Services

Laboratorium 10 - Web Services Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji SIMON SAYS ARCHITECTURE! Usługi zdalne Technologie, techniki i praktyki implementacji O mnie Bloguję: SIMON-SAYS-ARCHITECTURE.COM Twittuję: www.twitter.com/szymonpobiega Koduję: DDDSample.Net, NetMX, WS-Man.Net

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

Bardziej szczegółowo

Microsoft SQL Server 2012 Krok po kroku

Microsoft SQL Server 2012 Krok po kroku Patrick LeBlanc Microsoft SQL Server 2012 Krok po kroku Przekład: Natalia Chounlamany APN Promise, Warszawa 2013 Spis treści Wprowadzenie.......................................................... xv Część

Bardziej szczegółowo

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań zespół PCSS/MIC: Jacek Kochan, Jerzy Mikołajczak, Marek Zawadzki 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010

Bardziej szczegółowo

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową Plan 1 Uwagi na temat wydajności CPython a 2 Podstawowe techniki poprawiające wydajność obliczeniową 3 Podstawowe techniki poprawiające zużycie pamięci krótkie opisy modułów 1 array - jak oszczędzić na

Bardziej szczegółowo

Klastrowanie bazy IBM DB2. Adam Duszeńko

Klastrowanie bazy IBM DB2. Adam Duszeńko Klastrowanie bazy IBM DB2 Adam Duszeńko Typy klastrów Wydajnościowe Skalowalność Równoległość Obliczeń Składowania Wiele punktów dostępu Niezawodnościowe Bezpieczeństwo Zwielokrotnienie Danych Operacji

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 6. 6 listopada 2015 Plan wykładu Callable objects 1 Callable objects 2 3 Plan wykładu Callable objects 1 Callable objects 2 3 Callable objects Wszystko jest obiektem. Callable objects Wszystko jest

Bardziej szczegółowo

Przetwarzanie Równoległe i Rozproszone

Przetwarzanie Równoległe i Rozproszone POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNOLOGII INFORMACYJNYCH Przetwarzanie Równoległe i Rozproszone www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl

Bardziej szczegółowo

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

akademia androida Service, BroadcastReceiver, ContentProvider część IV

akademia androida Service, BroadcastReceiver, ContentProvider część IV akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver

Bardziej szczegółowo

Przykłady interfejsu TCP i UDP w Javie

Przykłady interfejsu TCP i UDP w Javie Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

Systemy obiegu informacji i Protokół SWAP "CC"

Systemy obiegu informacji i Protokół SWAP CC Systemy obiegu informacji i Protokół SWAP Grzegorz Blinowski "CC" Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80 Problemy Integracja procesów zachodzących w

Bardziej szczegółowo

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1. Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie RESTful Android Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie Jacek Laskowski jacek@japila.pl http://www.jaceklaskowski.pl wersja 1.0, 08.12.2011 O prelegencie - Jacek Laskowski

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:

Bardziej szczegółowo

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

e-off f i f ce: :Sekr k e r tari r at t w chm h urz r e Marcin Pytel

e-off f i f ce: :Sekr k e r tari r at t w chm h urz r e Marcin Pytel e-office: Sekretariat w chmurze Marcin Pytel Plan prezentacji 1. Wprowadzenie do systemu e-office. 2. Architektura systemu. 3. Doświadczenia praktyczne z pracy z Azure. 4. Plany dotyczące rozwoju systemu.

Bardziej szczegółowo

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop. 2016 Spis treści Wstęp 9 1 Instalacja i aktualizacja systemu 13 Przygotowanie do instalacji 14 Wymagania sprzętowe 14 Wybór

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie

Bardziej szczegółowo

Języki i Techniki Programowania II. Wykład 7. Współbieżność 1

Języki i Techniki Programowania II. Wykład 7. Współbieżność 1 Języki i Techniki Programowania II Wykład 7 Współbieżność 1 Programy, Procesy, Wątki Program to zestaw instrukcji do wykonania, dane do przetworzenia, mechanizmy sterujące (stos) Proces w komputerze to

Bardziej szczegółowo

Równoległość i współbieżność

Równoległość i współbieżność Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna

Bardziej szczegółowo

Równoległość i współbieżność

Równoległość i współbieżność Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna

Bardziej szczegółowo

ξ II.UWr Wprowadzenie do STM

ξ II.UWr Wprowadzenie do STM ξ KS @.UWr Wprowadzenie do STM Marek Materzok ZOSA 2007 ξ KS @.UWr Wprowadzenie Były sobie komputery. Wykonywały programy instrukcja po instrukcji i wszyscy byli szczęśliwi... ξ KS @.UWr Wprowadzenie Były

Bardziej szczegółowo

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski Jak ujarzmić hydrę czyli programowanie równoległe w Javie dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski Prawo Moore a Ekonomicznie optymalna liczba tranzystorów w układzie scalonym zwiększa się

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Aplikacja wielowątkowa prosty komunikator

Aplikacja wielowątkowa prosty komunikator Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host

Bardziej szczegółowo

Aurea BPM Dokumenty pod kontrolą

Aurea BPM Dokumenty pod kontrolą Aurea BPM Dokumenty pod kontrolą 1 Aurea BPM unikalna platforma o wyróżniających cechach Quality Software Solutions Aurea BPM Aurea BPM system informatyczny wspomagający zarządzanie procesami biznesowymi

Bardziej szczegółowo

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Systemy Operacyjne i Sieci Komputerowe Klasa: pierwsza Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: PROGRAMOWANIE WSPÓŁBIEŻNE I ROZPROSZONE I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Uzyskanie przez studentów wiedzy na temat architektur systemów równoległych i rozproszonych,

Bardziej szczegółowo

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA Załącznik nr 4 do SIWZ/ załącznik do umowy Przedmiotem zamówienia jest dostawa 2 serwerów, licencji oprogramowania wirtualizacyjnego wraz z konsolą zarządzającą

Bardziej szczegółowo

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra. N Wprowadzenie Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra. Wprowadzenie (podział ze względu na przeznaczenie) Wysokiej dostępności 1)backup głównego

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Wpływ zastosowania programowania równoległego na wydajność algorytmów kryptograficznych

Wpływ zastosowania programowania równoległego na wydajność algorytmów kryptograficznych Wysłane: 2016-11-18 Przyjęte: 2016-11-24 Wpływ zastosowania programowania równoległego na wydajność algorytmów kryptograficznych Mateusz Kraska*, Piotr Kozieł* Politechnika Lubelska, Instytut Informatyki,

Bardziej szczegółowo

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA DANYCH Z PLIKÓW MIF, SHP I ICH KONWERSJI DO POSTACI RELACYJNEJ I. Temat ćwiczenia Stworzenie biblioteki słuŝącej do wczytywania

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1

Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1 Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów

Bardziej szczegółowo

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG Java JMX Monitorowanie i zarządzanie usługami sieciowymi w Javie Marcin Werla mwerla@man.poznan.pl PCSS/Poznań JUG Plan prezentacji Wprowadzenie Specyfikacja Dodatkowe narzędzia i biblioteki Studium przypadku

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure Paweł Berus Zespół Bezpieczeństwa PCSS 36. Spotkanie Poznańskiej Grupy.NET Poznań, 13.10. 2011 1 Agenda

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

Rozproszone systemy internetowe

Rozproszone systemy internetowe Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rozproszone systemy internetowe Wprowadzenie do usług WWW (Web Services) Podniesienie potencjału uczelni

Bardziej szczegółowo