Apache Hadoop framework do pisania aplikacji rozproszonych

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

Download "Apache Hadoop framework do pisania aplikacji rozproszonych"

Transkrypt

1 Apache Hadoop framework do pisania aplikacji rozproszonych Piotr Praczyk Wprowadzenie Istnieje wiele rodzajów obliczeń, których wykonywanie na pojedynczej maszynie, nawet najpotężniejszej, jest zbyt czasochłonne. Wśród takich zadań wymienić można analizowanie skomplikowanych danych (na przykład dane z LHC etc...), albo przetwarzanie ogromnych ich ilości (na przykład Google Maps). Z tego powodu rozwijane są narzędzia ułatwiające wykonywanie obliczeń na wielu komputerach jednocześnie. W przypadku tradycyjnych podejść, programista musi samemu rozwiązywać problemy narastające między innymi kiedy więcej niż jeden działający fragment obliczenia chce uzyskać dostęp do zasobu, kiedy potrzebna jest komunikacja między maszynami itp. Google zaproponował własny paradygmat tworzenia aplikacji rozproszonych, Map Reduce [1] Struktura programów napisanych zgodnie z nim, ułatwia rozwiązywanie wielu skomplikowanych problemów współbieżności automatycznie, ułatwiając zadanie programisty. Przedstawione podejście sprawdza się wyjątkowo dobrze w przypadku programowania zadań wymagających przetwarzania dużych ilości danych. Apache Hadoop jest wolną implementacją Map Reduce. Jest wykorzystywany przez wiele dużych firm takich, jak Yahoo, Amazon czy Facebook. Google posiada własną implementację Map Reduce, którą wykorzystuje wewnętrznie. Hadoop składa się z oprogramowania uruchamianego na maszynach przeznaczonych do wykonywania obliczeń i przechowywania danych oraz z zestawu bibliotek

2 Apache Hadoop framework do pisania aplikacji rozproszonych 59 Rys 1 Elementy zadania Map Reduce umożliwiających pisanie zadań. Językiem, w którym Hadoop jest napisany, jest głównie Java. Konsekwencją tego jest dostarczenie największej liczby interfejsów programistycznych dla tego języka. Również najbardziej naturalną metodą tworzenia programów działających pod kontrolą Hadoop, jest dostarczenie odpowiednich klas w Javie. Istnieje możliwość wykorzystania dowolnego innego języka programowania. Czasami możliwe jest również uruchomienie istniejącego programu, jako części zadania Map Reduce, bez ingerencji w jego strukturę wewnętrzną. Podstawy Map Reduce W najprostszym przypadku, przygotowanie zadania dla Map Reduce, sprowadza się do zaimplementowania dwóch funkcji, map oraz reduce. Konieczne jest również zdefiniowanie położenia danych wejściowych oraz miejsca, gdzie mają być składowane wyniki. Zadaniem funkcji map jest wykonanie pewnych obliczeń na przekazanym jej fragmencie danych wejściowych oraz wygenerowanie ciągu par składających się z klucza oraz przypisanej mu wartości. Dane wygenerowane w tym kroku, są agregowane z wykorzystaniem klucza oraz przekazywane do funkcji reduce. Każde wywołanie reduce związane jest z jednym kluczem oraz listą wszystkich odpowiadających mu wartości. Zadanie funkcji reduce polega na wygenerowaniu par stanowiących wynik obliczenia. Są one zapisywane w lokalizacji wskazanej jako wyjściowa. Rysunek 1 pokazuje strukturę dowolnego obliczenia Map Reduce. Dopóki cały opisany proces odbywa się na jednej maszynie, stosowanie infrastruktury związanej z Map Reduce wiąże się głównie ze stratami wydajności. Jeśli jednak dane wejściowe są odpowiednio duże, implementacja Map Reduce (na przykład Hadoop) zadba o to, aby obliczenia zostały automatycznie rozproszone. Rysunek 2 przedstawia schemat wykonania zadania przygotowanego dla Hadoop na wielu maszynach jednocześnie. Na pierwszy rzut oka, rozwiązanie wydaje się dość niewydajne, ponieważ przesyłanie dużych ilości danych za pośrednictwem sieci jest stosunkowo wolnym procesem. Hadoop stara się umieszczać obliczenia na tych samych maszynach, gdzie przechowywane są dane. Jeśli nie jest to możliwe, obliczenia wykonywane są w miejscach, które są bliskie ze względu na szybkość połączenia sieciowego. Klasycznym przykładem zastosowania paradygmatu Map Reduce, opisanym w [1], jest generowanie statystyk słów pojawiających się w tekście przekazanym jako wejście. Funkcja map, odpowiedzialna może być w takim przypadku za podzielenie otrzymanego napisu na wyrazy oraz wygenerowanie par zawierających wyraz jako klucz oraz liczbę 1 jako wartość. W następnym kroku, framework automatycznie pogrupuje pary ze względu na słowa będące kluczami par. Zadaniem funkcji reduce

3 60 Piotr Praczyk Rys 2 Struktura rozproszonego Map Reduce Rys 3 Liczenie statystyk słów w tekście z wykorzystaniem Map Reduce będzie policzenie, ile par zostało przekazanych dla danego słowa, oraz zwrócenie pary składającej się z rozważanego słowa oraz liczby jego wystąpień. Rysunek 3 pokazuje, jak może przebiegać liczenie słów w przykładowym tekście. Implementacje zadań Domyślnym sposobem implementacji zadań dla Hadoop, jest przygotowanie klas Javy, implementujących interfejsy Mapper oraz Reducer odpowiedzialne odpowiednio za etapy map oraz reduce tworzonego zadania. Oba interfejsy wymagają, aby zostały określone typy par pojawiających się na wejściu oraz wyjściu odpowiednich kroków, z tego powodu są zaimplementowane jako interfejsy generyczne pobierające 4 typy jako argumenty. Składnia dla tych interfejsów przedstawiona jest na listingu 1

4 Apache Hadoop framework do pisania aplikacji rozproszonych 61 Mapper<InputKeyType, InputValType, IntermKeyType, IntermValType> Reducer<IntermKeyType, IntermValType, OutputKeyType, OutputValType> Listing 1 Składnia interfejsów wykorzystywanych przy implementacji zadań Map Reduce w Javie Odporność na awarie Hadoop został zaprojektowany, aby możliwe było wykonywanie z jego pomocą obliczeń na zwyczajnych komputerach. Wiąże się to z o wiele większą podatnością na awarie i błędy. Jeden z węzłów wykorzystywanego klastra jest odpowiedzialny za śledzenie obliczeń. Jeśli wykryta zostanie awaria, część zadania jest powtarzana na innej m aszynie. W jaki sposób wspierane są heurystyki dbające o lokalność obliczeń? Aby możliwe było wykonywanie obliczeń w pobliżu danych przeznaczonych do przetworzenia, konieczne jest posiadanie informacji na temat ich lokacji. Stosowanie zwykłego systemu plików, dostarczanego przez system operacyjny nie jest dobrym rozwiązaniem ze względu na wysoki poziom abstrakcji danych. W przypadku systemów unixowych, system stara się ukryć szczegóły dotyczące fizycznego przechowywania danych poprzez utrzymywanie wirtualnego drzewa katalogów. Dzięki temu możliwe jest działanie tych samych programów na różnych zbiorach danych, często przechowywanych w sposób nie rozważany w trakcie pisania aplikacji. Jednocześnie jednak program taka nie jest w stanie odróżnić, czy plik znajduje się na lokalnej maszynie, czy może jest jedynie widoczny za pośrednictwem sieciowego systemu plików a zatem nie jest w stanie określić, jak kosztowne będzie jego odczytanie. Z tego powodu konieczne jest zastosowanie innych rozwiązań. HDFS Domyślną metodą przechowywania danych przez Hadoop jest dedykowany rozproszony system plików, HDFS (Hadoop Distributed File System). Został on zaprojektowany, aby zoptymalizować wykonywanie czynności związanych z Map Reduce, takich jak szybki dostęp do dużych, spójnych obszarów danych, udostępnianie informacji o fizycznym ich położeniu, tworzenie kopii danych na innych maszynach zgodnie z topologią sieci. Aby przyspieszyć powyższe operacje, niektóre standardowe wymagania stawiane przed systemem plików, wymienione w specyfikacji POSIX, nie zostały spełnione. W HDFS wspierany jest model, według którego pliki zapisywane są tylko raz, lecz mogą być odczytywane wielokrotnie. Możliwe jest również dopisywanie danych na końcu istniejących już plików, jednak w obecnej wersji funkcjonalność ta nie jest jeszcze uważana za stabilną. Aby zapewnić całkowitą lokalność danych, te same maszyny powinny być wykorzystywane do obliczeń jak i przechowywania danych.

5 62 Piotr Praczyk Ze względu na to, że zadania Map Reduce, z natury przetwarzają duże ilości danych, system plików HDFS posiada duży rozmiar bloku. Dzięki temu, obciążenie związane z przechowywaniem i uzyskiwaniem metadanych jest o wiele mniejsze niż w przypadku standardowych rozwiązań. konsekwencją takiego podejścia jest jednak to, że HDFS nie nadaje się do przechowywania wielu małych plików [2]. Za każdym razem kiedy plik jest zapisywany, najmniejsza liczba bloków dostarczająca potrzebnej przestrzeni dyskowej, jest alokowana. Jeśli plik nie wykorzystuje pełnego bloku, reszta pozostaje pusta. Uruchamiając zadanie Hadoop, jako parametr można przekazać foldery służące do przechowywania tych danych. Wszystkie operacje na plikach zostaną wykonane automatycznie a program otrzyma na wejściu odpowiednie pary. Istnieje sterownik wykorzystujący bibliotekę Fuse, który pozwala na zmontowanie HDFS w drzewie katalogów. Domyślnym sposobem dostępu do systemu plików jest jednak wywołanie Hadoop z parametrem dfs. Udostępniane operacje są podobne do tych udostępnianych przez powłokę systemową w stosunku do zwykłych sys temów plików. HBase Czasami system plików nie jest najlepszym rozwiązaniem. Może tak się zdarzyć, kiedy na przykład specyfika rozwiązywanego problemu wymaga przechowywania wielu niewielkich porcji danych. HBase jest implementacją rozproszonej bazy danych BigTable, przedstawionej przez Google w [3]. HBase nie jest relacyjną bazą danych, lecz tak zwanym Key-value store. Dane przechowywane są w strukturze przypominającej wielopoziomowy słownik. Kluczami są dowolne ciągi bajtów. Dane są fizycznie przechowywane w kolejności leksykograficznej względem klucza, co pozwala na szybkie wyszukiwanie oraz na pewne optymalizacje przy tworzeniu zadań. Podobnie, jak w przypadku HDFS, HBase została zoptymalizowana pod kątem operacji typowych dla Map Reduce. Zrezygnowano z funkcjonalności, które były kosztowne w przypadku rozproszonych, relacyjnych baz danych. Z tego powodu nie ma możliwości definiowania logicznych powiązań między danymi, takich jak klucze obce. Również obsługa transakcji jest bardzo okrojona i ogranicza się do atomowego wykonywania ciągu operacji dotyczących jednego wiersza. W chwili pisania tego teksu, jedynie API dla języka Java było dostępne. Możliwość implementacji własnych formatów wejściowych Lista możliwych źródeł danych wejściowych oraz sposobów zapisywania wyników nie ogranicza się do opisanych powyżej. Możliwe jest wykorzystanie tradycyjnych systemów plików oraz relacyjnych baz danych, w przypadku których korzyści związane z lokalnością obliczeń zostaną utracone. Istnieje również możliwość implementacji własnych źródeł danych. Zadanie takie sprowadza się do napisania zestawu klas w Javie, implementujących interfejsy InputFormat, RecordReader oraz InputSplit. Dzięki temu możliwa jest współpraca zadań Hadoop z dowolnymi nośnikami, możliwe jest konwertowanie danych w locie a nawet generowanie ich w czasie wykonania.

6 Apache Hadoop framework do pisania aplikacji rozproszonych 63 Sytuacja wygląda podobnie w przypadku sposobów przechowywania wyników. Alternatywne metody implementacji zadań Map Reduce Często implementacja zadań w języku Java nie jest najwygodniejszym rozwiązaniem. Powodem mogą być sytuacje kiedy zamknięta biblioteka programistyczna, niedostępna w Javie, musi zostać wykorzystana. Czasami wygodne mogło by być również wykorzystywanie gotowych programów, jako zadań Map Reduce. Hadoop udostępnia dwa interfejsy pozwalające na wykorzystanie innych języków programowania. Stosowanie ich wiąże się z pewnymi ograniczeniami w stosunku do stosowania natywnej implementacji. W niektórych sytuacjach może być jednak wygodne. Streaming Najbardziej uniwersalnym interfejsem programistycznym jest Hadoop Streaming. Pozwala on na wykorzystanie dowolnego programu w obu krokach wykonywania zadania Map Reduce. Dane wejściowe przekazywane są za pomocą standardowego wejścia. Dane wyjściowe powinny zostać przekazane przez standardowe wyjście. Ponieważ dane składają się z ciągu par klucz, wartość, zdefiniowany jest sposób interpretacji napisów. Każda linia koduje jedną parę. Istnieje możliwość zdefiniowania separatora. W obecnej wersji Hadoop nie wspiera przekazywania danych binarnych przy stosowaniu Streamingu, są jednak plany zaimplementowania tej funkcjonalności w przyszłości. Dzięki opisanemu sposobowi komunikacji z frameworkiem, możliwe jest wykorzystanie istniejących programów jako zadań Hadoop. Możliwe jest również uruchamianie ciągów poleceń powłoki. Pipes Kolejny z dostarczonych interfejsów programistycznych jest dedykowany dla języka C++. Zamiast implementacji klas w Javie, umożliwia on dostarczenie klas C++. Muszą one dziedziczyć po klasach zdefiniowanych w odpowiednim pliku nagłówkowym będącym częścią dystrybucji Hadoop. Rozwiązanie te jest mniej uniwersalne, jednak pozwala na większą kontrolę nad zadaniem. Dzięki zastosowaniu struktur danych języka programowania, łatwy jest dostęp do wewnętrznych struktur opisujących zadanie. Są one mapowane na odpowiednie obiekty C++. Podobnie, jak w przypadku stosowania Streamingu, pojawiają się problemy przy przekazywaniu danych binarnych. Przy zastosowaniu SWIG, możliwe jest stworzenie wrapperów dla wielu języków programowania. Stosowanie zarówno Hadoop Pipes jak i Streamingu, może łączyć się z wykorzystaniem dowolnych formatów wejściowych, wyjściowych oraz innych wtyczek dla Hadoop. Elementy te muszą być jednak zaimplementowane w Javie.

7 64 Piotr Praczyk Projekty związane z Map Reduce Poza HBase, istnieją również inne projekty związane z Hadoop, rozszerzające jego możliwości albo pozwalające na wykonywanie konkretnych rodzajów obliczeń. Kilka przykładów zostało opisanych poniżej. Dumbo Dumbo jest biblioteką języka Python, oraz zestawem narzędzi usprawniających pisanie zadań korzystających z Hadoop Streaming. Wśród dostarczanych udogodnień, warto wymienić automateczne parsowanie wejścia i przekazywanie go do funkcji map i reduce za pomocą odpowiednich struktur danych oraz wsparcie dla przekazywania danych binarnych. Hama Hama jest biblioteką pozwalającą na wykonywanie operacji na dużych macierzach z wykorzystaniem Map Reduce a w szczególności Hadoop. W obecnym stadium rozwoju brakuje jej wiele funkcji, jak liczenia wartości własnych, w związku z czym jest rozwijana w ramach Apache Incubator. Mahout Projekt Mahout ma na celu dostarczenie bibliotek wspomagających uczenie maszynowe, wykorzystujących Hadoop w celu wykonywania obliczeń. Hadoop a Cloud Computing Najbardziej oczywistą metodą uzyskania dostępu do klastra działającego pod kontrolą Hadoop jest własnoręczne skonfigurowanie takiego. Nie jest to jednak jedyna możliwość. Firma Amazon, udostępnia instalację Hadoop w ramach swoich serwisów Cloud Computing [4]. Korzystając ze strony internetowej, możliwe jest uruchomienie dowolnej liczby maszyn mających wykonywać zadania Map Reduce. Opłaty pobierane są od godziny działania instalacji. Dzięki takiemu podejściu, możliwe jest dynamiczne rezerwowanie oraz zwalnianie potrzebnych zasobów co może prowadzić do zmniejszenia kosztów działania instalacji. Niekorzystnym efektem pojawiającym się przy stosowaniu rozwiązania Amazon jest to, że dane trzymane są domyślnie w sieciowym systemie plików S3. W efekcie, rozwiązanie nie korzysta z lokalności obliczeń. Czasami jednak, na przykład kiedy ilość obliczeń jest duża w porównaniu z ilością danych, nie ma to dużego znaczenia. Couldera Firma Cloudera dostarcza komercyjną dystrybucję Hadoop zawierającą dodatkowe narzędzia konfiguracyjne. Oferuje również wsparcie techniczne.

8 Podsumowanie Apache Hadoop framework do pisania aplikacji rozproszonych 65 Map Reduce wydaje się być dobrą alternatywą dla standardowych API umożliwiających pisanie aplikacji rozproszonych. Wiele problemów daje się wyrazić za pomocą tego paradygmatu w bardzo naturalny sposób, czyniąc powstałe programy bardziej czytelnymi. Pomimo stosunkowo wczesnej fazy rozwoju, projekt Hadoop udowodnił już swoją przydatność. Wiele znanych firm wykorzystuje go do przetwarzania danych na wielką skalę. Dzięki przejrzystej strukturze Map Reduce, łatwo jest zacząć pisać własne zadania działające pod kontrolą Hadoop. Implementacja pozwalająca pisać własne wtyczki, jak na przykład formaty wejścia i wyjścia, zwiększa rozdział komponentów programu sprawiając, że podatność na błędy jest o wiele mniejsza. Literatura [1] J. Dean and S. Ghemawat, Mapreduce: simplified data processing on large clusters, Commun. ACM 51 (2008), no. 1, [2] T. White The Small Files Problem. [3] F. Changet al. Bigtable: a distributed storage system for structured data, in OSDI 06: Proceedings of the 7th symposium on Operating systems design and implementation (USENIX Association, Berkeley, CA, USA, 2006), pp [4] Amazon Elastic MapReduce.

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Kod szkolenia: Tytuł szkolenia: HADOOP Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Dni: 5 Opis: Adresaci szkolenia: Szkolenie jest adresowane do programistów, architektów oraz

Bardziej szczegółowo

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH 1 ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH WFAiS UJ, Informatyka Stosowana II stopień studiów 2 Map-Reduce system Single-node architektura 3 Przykład Googla 4 10 miliardów stron internetowych Średnia

Bardziej szczegółowo

Architektura rozproszonych magazynów danych

Architektura rozproszonych magazynów danych Big data Big data, large data cloud. Rozwiązania nastawione na zastosowanie w wielkoskalowych serwisach, np. webowych. Stosowane przez Google, Facebook, itd. Architektura rozproszonych magazynów danych

Bardziej szczegółowo

Map Reduce Wprowadzenie do Apache Hadoop

Map Reduce Wprowadzenie do Apache Hadoop Map Reduce Wprowadzenie do Apache Hadoop 8 maja 2014 Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały różne

Bardziej szczegółowo

Hadoop i Spark. Mariusz Rafało

Hadoop i Spark. Mariusz Rafało Hadoop i Spark Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl WPROWADZENIE DO EKOSYSTEMU APACHE HADOOP Czym jest Hadoop Platforma służąca przetwarzaniu rozproszonemu dużych zbiorów danych. Jest

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

Wprowadzenie do Hurtowni Danych

Wprowadzenie do Hurtowni Danych Wprowadzenie do Hurtowni Danych BIG DATA Definicja Big Data Big Data definiowane jest jako składowanie zbiorów danych o tak dużej złożoności i ilości danych, że jest to niemożliwe przy zastosowaniu podejścia

Bardziej szczegółowo

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tworzenie i obsługa wirtualnego laboratorium komputerowego Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego

Bardziej szczegółowo

Robert Barański, AGH, KMIW Writing TDM and TDMS Files in LabVIEW v1.0

Robert Barański, AGH, KMIW Writing TDM and TDMS Files in LabVIEW v1.0 Aby zmniejszyć potrzebę opracowania i utrzymania własnego formatu pliku danych, National Instruments stworzył elastyczne zarządzanie danymi technicznymi (TDM) model danych, który jest standardowo dostępny

Bardziej szczegółowo

Hurtownie danych wykład 5

Hurtownie danych wykład 5 Hurtownie danych wykład 5 dr Sebastian Zając SGH Warszawa 7 lutego 2017 1 Współbieżność i integracja Niezgodność impedancji 2 bazy danych Współbieżność i integracja Niezgodność impedancji Bazy relacyjne

Bardziej szczegółowo

Wprowadzenie do Apache Spark. Jakub Toczek

Wprowadzenie do Apache Spark. Jakub Toczek Wprowadzenie do Apache Spark Jakub Toczek Epoka informacyjna MapReduce MapReduce Apache Hadoop narodziny w 2006 roku z Apache Nutch open source składa się z systemu plików HDFS i silnika MapReduce napisany

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

Analiza i projektowanie aplikacji Java Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie

Bardziej szczegółowo

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Organizacyjnie. Prowadzący: dr Mariusz Rafało   (hasło: BIG) Big Data Organizacyjnie Prowadzący: dr Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl (hasło: BIG) Data Camp Architektura Data Lake Repozytorium służące składowaniu i przetwarzaniu danych o

Bardziej szczegółowo

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7 AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database

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

Słowa kluczowe jak góry lodowe

Słowa kluczowe jak góry lodowe Public Słowa kluczowe jak góry lodowe czyli rzecz o bibliotekach testowych Marcin Kowalczyk marcin.kowalczyk@tieto.com Spis treści Dlaczego słowa kluczowe są jak góry lodowe, po co tworzyć własne biblioteki

Bardziej szczegółowo

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0> Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010 System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

MapReduce. Janina Mincer-Daszkiewicz Systemy rozproszone. MSUI, II rok

MapReduce. Janina Mincer-Daszkiewicz Systemy rozproszone. MSUI, II rok MapReduce Janina Mincer-Daszkiewicz Systemy rozproszone MSUI, II rok Materiały i rysunki zaczerpnięto z następujących źródeł 1. Jeffrey Dean,Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large

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

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

System zarządzania firmą specyfikacja techniczna.

System zarządzania firmą specyfikacja techniczna. System zarządzania firmą specyfikacja techniczna. 1. Zakres funkcjonalności Funkcjonalność aplikacji została podzielona na 3 grupy: Zbiór podstawowych danych dane kontrahentów, typy dokumentów, magazynów,

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

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

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

OSGi Agata Hejmej 4.05.2009

OSGi Agata Hejmej 4.05.2009 OSGi Agata Hejmej 4.05.2009 Plan prezentacji Co to jest OSGi Jakie problemy rozwiązuje Opis standardu Przykładowa aplikacja Podsumowanie korzyści Co to jest OSGi? Standard, który pozwala na tworzenie wysoce

Bardziej szczegółowo

Hbase, Hive i BigSQL

Hbase, Hive i BigSQL Hbase, Hive i BigSQL str. 1 Agenda 1. NOSQL a HBase 2. Architektura HBase 3. Demo HBase 4. Po co Hive? 5. Apache Hive 6. Demo hive 7. BigSQL 1 HBase Jest to rozproszona trwała posortowana wielowymiarowa

Bardziej szczegółowo

Big Data to skalowalność i prostota obsługi wielkich ilości danych!

Big Data to skalowalność i prostota obsługi wielkich ilości danych! Obsługa aplikacji, które operują na ogromnych zbiorach danych, czyli na przykład portali społecznościowych, przekracza możliwości zwykłych relacyjnych baz. Praca ze złożonymi zbiorami danych wymaga architektury

Bardziej szczegółowo

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Kod szkolenia: Tytuł szkolenia: HADOOP Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Dni: 5 Partner merytoryczny Opis: Adresaci szkolenia: Szkolenie jest adresowane do programistów,

Bardziej szczegółowo

Podstawowe zagadnienia z zakresu baz danych

Podstawowe zagadnienia z zakresu baz danych Podstawowe zagadnienia z zakresu baz danych Jednym z najważniejszych współczesnych zastosowań komputerów we wszelkich dziedzinach życia jest gromadzenie, wyszukiwanie i udostępnianie informacji. Specjalizowane

Bardziej szczegółowo

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy

Bardziej szczegółowo

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...

Bardziej szczegółowo

Dni: 2. Partner merytoryczny. Opis: Adresaci szkolenia

Dni: 2. Partner merytoryczny. Opis: Adresaci szkolenia Kod szkolenia: Tytuł szkolenia: BIGDATA/STR Strumieniowe przetwarzanie Big Data Dni: 2 Partner merytoryczny Opis: Adresaci szkolenia Szkolenie jest przeznaczone głównie dla programistów i analityków danych,

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Organizacyjnie. Prowadzący: dr Mariusz Rafało   (hasło: BIG) Big Data Organizacyjnie Prowadzący: dr Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl (hasło: BIG) Automatyzacja Automatyzacja przetwarzania: Apache NiFi Źródło: nifi.apache.org 4 Automatyzacja

Bardziej szczegółowo

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu

UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu 1. Wersje i warianty programu Nr wersji programu składa się z trzech liczb oddzielonych kropkami: człon pierwszy oznacza główny nr wersji

Bardziej szczegółowo

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Agenda Serp24 NoSQL Integracja z CMS Drupal Przetwarzanie danych Podsumowanie Serp24 Darmowe narzędzie Ułatwia planowanie

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

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

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza

Bardziej szczegółowo

DESlock+ szybki start

DESlock+ szybki start DESlock+ szybki start Wersja centralnie zarządzana Wersja bez centralnej administracji standalone WAŻNE! Pamiętaj, że jeśli chcesz korzystać z centralnego zarządzania koniecznie zacznij od instalacji serwera

Bardziej szczegółowo

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej

Bardziej szczegółowo

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO Spis treści Przedmowa Podziękowania O książce Rozdział 1. Nowy paradygmat dla Big Data 1.1. Zawartość książki 1.2. Skalowanie tradycyjnej bazy danych 1.2.1. Skalowanie za pomocą kolejki 1.2.2. Skalowanie

Bardziej szczegółowo

EXSO-CORE - specyfikacja

EXSO-CORE - specyfikacja EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca

Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca Uwierzytelnianie w PHP 01 Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca stron internetowych, jest identyfikacja i uwierzytelnienie uprzywilejowanego użytkownika. Od zaprojektowania

Bardziej szczegółowo

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux. Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać

Bardziej szczegółowo

Dokumentacja projektu QUAIKE Architektura oprogramowania

Dokumentacja projektu QUAIKE Architektura oprogramowania Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura

Bardziej szczegółowo

Konspekt pracy inżynierskiej

Konspekt pracy inżynierskiej Konspekt pracy inżynierskiej Wydział Elektryczny Informatyka, Semestr VI Promotor: dr inż. Tomasz Bilski 1. Proponowany tytuł pracy inżynierskiej: Komunikator Gandu na platformę mobilną Android. 2. Cel

Bardziej szczegółowo

76.Struktura oprogramowania rozproszonego.

76.Struktura oprogramowania rozproszonego. 76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

edziennik Ustaw Opis architektury

edziennik Ustaw Opis architektury edziennik Ustaw Opis architektury Spis treści 1 Wstęp...3 2 Architektura systemu...3 2.1 Schemat poglądowy rozwiązania...3 2.2 Architektura logiczna...4 2.3 Opis elementów systemu...5 2.3.1 Moduł Udostępniający...5

Bardziej szczegółowo

Automatyczna instalacja oprogramowania.

Automatyczna instalacja oprogramowania. 1 (Pobrane z slow7.pl) Samo zainstalowanie systemu nie nastręcza wielu problemów i z reguły cały proces przebiega szybko i sprawnie. Dłużej czasu zajmuje Nam odszukanie aktualnych sterowników do posiadanych

Bardziej szczegółowo

Od programowania wizualnego do tekstowego

Od programowania wizualnego do tekstowego Od programowania wizualnego do tekstowego Krzysztof Chechłacz Nowa podstawa programowa z informatyki w świetle reformy oświaty - Konferencja w ramach XII edycji Akademii Technologii Informacyjnej i Komunikacyjnej

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Tom 6 Opis oprogramowania

Tom 6 Opis oprogramowania Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa

Bardziej szczegółowo

Analityka danych w środowisku Hadoop. Piotr Czarnas, 27 czerwca 2017

Analityka danych w środowisku Hadoop. Piotr Czarnas, 27 czerwca 2017 Analityka danych w środowisku Hadoop Piotr Czarnas, 27 czerwca 2017 Hadoop i Business Intelligence - wyzwania 1 Ładowane danych do Hadoop-a jest trudne 2 Niewielu specjalistów dostępnych na rynku Dostęp

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Wykład Ćwiczenia Laboratorium Projekt Seminarium WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):

Bardziej szczegółowo

Rozwiązanie Compuware dynatrace

Rozwiązanie Compuware dynatrace Rozwiązanie Compuware dynatrace COMPUWARE DYNATRACE... 3 2 COMPUWARE DYNATRACE Narzędzie Compuware dynatrace oparte jest o unikatową technologię agentową, która pozwala na dogłębną analizę stanu aplikacji

Bardziej szczegółowo

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Java w 21 dni / Rogers Cadenhead. Gliwice, cop. 2016 Spis treści O autorze 11 Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Dzień 1. Rozpoczynamy przygodę z Javą 21 Język Java 21 Programowanie obiektowe 24 Obiekty

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ Zamawiający: Wojewódzkie Biuro Urbanistyczne we Wrocławiu ul. Świdnicka 12/16 50-068 Wrocław Wykonawca:

Bardziej szczegółowo

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA Projekt to metoda na osiągnięcie celów organizacyjnych. Jest to zbiór powiązanych ze sobą, zmierzających

Bardziej szczegółowo

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych: Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie

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

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne

Bardziej szczegółowo

Środowiska i platformy programistyczne

Środowiska i platformy programistyczne Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,

Bardziej szczegółowo

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

Bardziej szczegółowo

Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa

Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa Konrad Miziński 14 stycznia 2015 1 Temat projektu Grupowanie hierarchiczne na podstawie algorytmu k-średnich. 2 Dokumenty

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

PDM wbudowany w Solid Edge

PDM wbudowany w Solid Edge PDM wbudowany w Solid Edge Firma GM System Integracja Systemów Inżynierskich Sp. z o.o. została założona w 2001 roku. Zajmujemy się dostarczaniem systemów CAD/CAM/CAE/PDM. Jesteśmy jednym z największych

Bardziej szczegółowo

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

Bardziej szczegółowo

Wprowadzenie do optymalnego wykorzystania MapReduce

Wprowadzenie do optymalnego wykorzystania MapReduce Eugenia Busłowska 1, Łukasz Juźwiuk 2 Politechnika Białostocka, Wydział Informatyki, Katedra Systemów Informacyjnych i Sieci Komputerowych. Wprowadzenie do optymalnego wykorzystania MapReduce 1. Wstęp

Bardziej szczegółowo

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych

Bardziej szczegółowo

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem

Bardziej szczegółowo

SOA Web Services in Java

SOA Web Services in Java Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy

Bardziej szczegółowo

Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop Spis treści

Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop Spis treści Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop. 2018 Spis treści Wstęp 9 Część I. Przegląd 21 1. Wizualizacja danych za pomocą pakietu ggplot2

Bardziej szczegółowo

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki

Bardziej szczegółowo

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Raport Hurtownie Danych

Raport Hurtownie Danych Raport Hurtownie Danych Algorytm Apriori na indeksie bitmapowym oraz OpenCL Mikołaj Dobski, Mateusz Jarus, Piotr Jessa, Jarosław Szymczak Cel projektu: Implementacja algorytmu Apriori oraz jego optymalizacja.

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Cele wykładu 1. Opis usług dostarczanych przez OS

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo

Szablony funkcji i klas (templates)

Szablony funkcji i klas (templates) Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp

Bardziej szczegółowo

1. Mapowanie diagramu klas na model relacyjny.

1. Mapowanie diagramu klas na model relacyjny. Rafał Drozd 1. Mapowanie diagramu klas na model relacyjny. 1.1 Asocjacje Wpływ na sposób przedstawienia asocjacji w podejściu relacyjnym ma przede wszystkim jej liczność (jeden-do-jednego, jeden-do-wielu,

Bardziej szczegółowo

java.util.* :Kolekcje Tomasz Borzyszkowski

java.util.* :Kolekcje Tomasz Borzyszkowski java.util.* :Kolekcje Tomasz Borzyszkowski Wstęp Kolekcje w Java dają programiście pewien standardowy sposób radzenia sobie z przetwarzaniem grup obiektów. Implementacja kolekcji w Java składa się z następujących

Bardziej szczegółowo

Dni: 3. Opis: Adresaci szkolenia

Dni: 3. Opis: Adresaci szkolenia Kod szkolenia: Tytuł szkolenia: H4C04S HP OneView Administration Dni: 3 Opis: Adresaci szkolenia Administratorzy systemów, inżynierowie, konsultanci, którzy projektują i wdrażają rozwiązania HP Cloud za

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo