Statyczna analiza kodu źródłowego

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

Download "Statyczna analiza kodu źródłowego"

Transkrypt

1 Statyczna analiza kodu źródłowego Tomasz Nowak, Zespół Bezpieczeństwa PCSS Poznań, r. Szkolenie Działu Komputerów Dużej Mocy

2

3 Informacje organizacyjne Ankieta krótka anonimowa bardzo pomocna w organizacji przyszłych szkoleń Lista obecności nie jest anonimowa ;-) proszę zaznaczyć, jeśli NIE życzycie sobie Państwo otrzymywania informacji o kolejnych szkoleniach Prezentacja dostępna na stronach WWW: 3

4

5

6 Szkolenia Zespołu Bezpieczeństwa PCSS Szkolenia Działu KDM PCSS (otwarte) Możliwość zgłoszenia tematu Szkolenia projektowe Centrum Innowacji Microsoft (otwarte GN3 bezpieczne programowanie (dla uczestników projektu) Szkolenia dla firm i organizacji (nowość) Wprowadzenie do kwestii bezpieczeństwa IT 6

7 Szkolenie bezpieczne programowanie 2-dniowe szkolenie angielskojęzyczne Wykorzystanie technologii podnoszących bezpieczeństwo usług Przegląd podatności bezpieczeństwa (C/C++, Java, PHP) Statyczna analiza kodu źródłowego Materiały z czerwca 2010: strona ZB PCSS Styczeń 2011: kolejna edycja (prawdopodobnie udostępnione zostaną nagrania wykładów) 7

8 Szkolenie wprowadzenie do bezpieczeństwa IT 2-4 godzinne szkolenie dla wszystkich pracowników korzystających z infrastruktury IT Dlaczego bezpieczeństwo jest ważne? Ochrona mojego komputera Bezpieczne korzystanie z Internetu Tworzenie i wykorzystywanie silnych haseł Gdy celem jest człowiek spam, łańcuszki, socjotechniki Szkolenie w siedzibie PCSS lub organizacji Warunki podlegają indywidualnym negocjacjom Kontakt: 8

9 Statyczna analiza kodu źródłowego 9

10 Agenda Problemy z błędami w oprogramowaniu Analizatory w praktyce (wg języków) Automatyzacja narzędzi i rozwiązania Continuous Integration 10

11 Cel: niezawodne oprogramowanie Czasem: błędy nie mają znaczenia Niższe koszty utrzymania Telefony / e od klientów Wykonanie poprawek Wydanie nowych wersji (Płatny support szczególne wymagania) Utrzymanie zadowolenia klienta Klienci z polecenia Zadowolenie zespołu Nowe projekty 11

12 Droga do niezawodnego oprogramowania Dobre praktyki tworzenia kodu Właściwy paradygmat (obiektowo/deklaratywnie...) Zrozumiały kod (identyfikatory, unikanie skrótów, komentarze) Unikanie trudnych w analizie konstrukcji (goto, eval) Współtworzenie programu i dokumentacji Analiza kodu statyczna Testy (wszelkiego rodzaju) dynamiczne Security best practices for administrators, developers and users https://edms.cern.ch/document/926685/ 12

13 Dwa ważne pytania: Statyczna analiza kodu Automatyczne skanery czy czytanie kodu? Narzędzia dla programisty czy specjalisty do spraw bezpieczeństwa? 13

14 Cechy skanerów kodu źródłowego (1) Zalety Duża szybkość działania Możliwość uruchamiania okresowego w celu wykrycia nowych błędów lub weryfikacji usunięcia poprzednio wykrytych podatności Istnieje szereg narzędzi dostępnych bez opłat, jak również możliwych do samodzielnego rozszerzania (tworzenie reguł, dodatkowych wtyczek np. YASCA) 14

15 Cechy skanerów kodu źródłowego (2) Wady Nie zawsze mamy dostęp do kodu źródłowego Wykrywają jedynie błędy najłatwiejsze do strukturalnego zdefiniowania Bezwzględnie wymagają uzupełnienia przez manualny przegląd kodu Wysokie prawdopodobieństwo wystąpienia false positive Niektóre darmowe narzędzia działają nieoptymalnie, mają skomplikowany interfejs, niekompletną dokumentację, brak wsparcia 15

16 Dla kogo? Automatyczne skanery kodu wykorzystują przede wszystkim programiści Prezentujemy Państwu punkt widzenia eksperta bezpieczeństwa Narzędzia dedykowane do wykrywania błędów bezpieczeństwa to tylko część tego obszaru Takie narzędzia również mogą przydać się programistom (niekoniecznie w pełnym zakresie) Znajomość dobrych praktyk bezpiecznego programowania pomoże programistom w stosowaniu narzędzi i wykryciu false positives 16

17 C/C++ Analizatory w praktyce cppcheck rats (splint potrzebuje wszystkich nagłówków) PHP Java Python Języki webowe 17

18 C, C++: cppcheck Narzędzie do analizy kodu w C i C++ Napisane w C++ Wielowątkowość Dostępne z CLI, GUI i jako biblioteka Raporty w txt, XML, HTML Więcej: 18

19 Błędy w zarządzaniu pamięcią C/C++: wycieki pamięci Wyjście z funkcji pozostawia niezwolnioną pamięć Destruktor nie zwalnia pamięci zaalokowanej w konstruktorze Zwolnienie struktury bez zwalniania pamięci jej pól C/C++: niezgodne metody alokacji/dealokacji malloc() / free() new / delete new [ ] / delete [ ] g_malloc() / g_free() 19

20 Przykład wykrycia błędu w zarządzaniu pamięcią $ apt-get source libcroco3 $ cppcheck -quiet libcroco-0.6.2/src/*.c [cr-sel-eng.c:1381]: (error) Common realloc mistake: "stmts_tab" nulled but not freed upon failure [cr-sel-eng.c:1438]: (error) Common realloc mistake: "stmts_tab" nulled but not freed upon failure stmts_tab = g_try_realloc (stmts_tab, (tab_size + stmts_chunck_size) * sizeof (CRStatement *)); if (!stmts_tab) { cr_utils_trace_info ("Out of memory"); status = CR_ERROR; goto error; } /*... */ error: if (stmts_tab) { g_free (stmts_tab); stmts_tab = NULL; 20

21 Błędy w używaniu wskaźników [cr-statement.c:626]: (error) Possible null pointer dereference: stringue - otherwise it is redundant to check if stringue is null at line g_string_append (stringue, "}"); 626 result = stringue->str; if (stringue) { 629 g_string_free (stringue, FALSE); 630 stringue = NULL; 631 } ==================== $ apt-get source asterisk-espeak && cppcheck asterisk-espeak-*/*.c Checking asterisk-espeak-0.1/app_espeak.c... [asterisk-espeak-0.1/app_espeak.c:258]: (error) Memory leak: handle handle = (void *) malloc(sizeof(void *)); 258 handle = resample_open(1, ratio, ratio); 259 if (!handle) { 260 ast_log(log_error, "espeak: Failed open resampler\n"); 21

22 C++ Standard Template Library poprawność korzystania z API std::vector<int>::iterator iter = ints.begin() + 5; ints.insert(ints.begin(), 1); ++iter; (error) After insert, the iterator 'iter' may be invalid list<int> l1; list<int> l2; for (list<int>::iterator it = l1.begin(); it!= l2.end(); ++it) (error) Same iterator is used with both l1 and l std::vector<int> foo; for (unsigned int ii = 0; ii <= foo.size(); ++ii) { foo[ii] = 0; } (error) When ii==foo.size(), foo[ii] is out of bounds std::list<int> x; if (x.size()!= 0) {} (style) Use x.empty() instead of x.size() to guarantee fast code 22 more test cases: cppcheck/test/teststl.cpp

23 Używanie zasobów [samba/testsuite/nsswitch/getpwent_r.c]: Wrong condition used to check fopen() PATCH: - if ((fptr = fopen(fname, "w")) < 0) { + if ((fptr = fopen(fname, "w")) == NULL) { fprintf(stderr, "ERROR: could not open file %s: %s\n", fname, sys_errlist[errno]); [strongswan-4.4.1/libcharon/plugins/ha/ha_kernel.c:176]: (error) Resource leak: fd int fd; fd = open(file, O_RDONLY); if (fd == -1) { DBG1(DBG_CFG, "opening CLUSTERIP file '%s' failed: %s", file, strerror(errno)); return 0; } /*...*/ return; 23

24 C/C++: RATS Rough Auditing Tool for Security Odnajduje wystąpienia ryzykownych funkcji Obsługa wielu języków: C, C++, Perl PHP Python https://www.fortify.com/ssa-elements/threat-intelligence/rats.html 24

25 RATS: wyniki print-bgp.c:2132: High: fixed size local buffer addrtoname.c:115: High: gethostbyaddr addrtoname.c:125: High: strcpy print-lldp.c:719: High: printf print-atalk.c:559: High: sscanf tcpdump.c:542: High: vfprintf tcpdump.c:603: High: getopt... 25

26 Kompilator też ostrzega gcc.gnu.org/onlinedocs/gcc/warning- Options.html pedantic ostrzeżenia wg standardów Issue all the warnings demanded by strict ISO C and ISO C++ Wall ostrzeżenia o podejrzanych konstrukcjach, które łatwo wyeliminować (nieużywane zmienne, return w funkcjach void, używanie niezainicjowanych zmiennych) Wextra (dawniej W) ostrzeżenia o trudniejszych problemach (np. wykrycie sprawdzeń wartości zmiennej unsigned < 0) 26

27 C/C++ PHP Pixy RIPS Java Python Języki webowe Analizatory w praktyce 27

28 PHP: Pixy Analizator przepływu danych w plikach PHP4 Szczególnie w poszukiwaniu błędów skutkujących podatnością na: SQL Injection Cross Site Scripting (XSS) Napisany w Javie 28

29

30 Pixy: kod potwierdza użycie zmiennej 210 if($info['userinfo']['name']){ 211 msg('you are currently logged in as '. $_SERVER['REMOTE_USER']. ' ('.$INFO['userinfo']['name'].')',0); 212 msg('you are part of the groups '.join($info['userinfo']['grps'],', '),0); 213 }else{ 214 msg('you are currently not logged in',0); 215 } Funkcja msg nie zakoduje znaków specjalnych HTML do encji (np. < lt;) Oznacza to, że w nazwie użytkownika można przemycić kod Javascript i uruchamiać go z każdym wyświetleniem strony (persistent XSS) 30

31 PHP: RIPS Analizator kodu PHP (napisany w PHP) XSS, SQL injection i inne Wizualizacja zmiennych, powiązanych funkcji, warunków Filtrowanie wyników (verbosity, type) Generator exploitów dla przeglądarki CURL 31

32 32

33 C/C++ PHP Java FindBugs PMD Python Języki webowe Analizatory w praktyce 33

34

35 Usage FindBugs Uruchamianie: pobranie, java -jar ze źródeł (Ant) pluginy do IDE, np. Eclipse, NetBeans zadanie Ant i wtyczka do maven report WebStart findbugs.cs.umd.edu/demo/ Dodatkowe wzorce fb-contrib.sourceforge.net Materiał: bytecode warto jednak podłączyć kod źródłowy i wykorzystywane biblioteki Opisy znalezisk w Google 35

36 FindBugs screenshot 36

37

38

39

40 Java: PMD PMD skaner kodu Java Crossplatform (Java) 40

41 Uruchamianie ręczne: Używanie PMD Z binarnej paczki lub ze źródeł Generowanie raportu w HTML Użycie wtyczki wiele dostępnych: JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java Studio Enterprise/Creator, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator, and Emacs Plugins for IDEs, e.g. Eclipse and NetBeans Zadanie Anta, wtyczka do Maven Report 41

42 PMD screenshot (DEMO) 42

43 Otrzymane wyniki Dziesiątki zbiorów reguł pod adresem Większość znalezisk nie jest poważna Eclipse może poprawić wiele ostrzeżeń Clean up Specjalny moduł Copy/Paste Detector Wsparcie dla wielu języków programowania Przykład: 43

44 C/C++ PHP Java Python pylint pychecker pyflakes Języki webowe Analizatory w praktyce 44

45 Python pylint użycie i definicje zmiennych, importy, klasy wiele reguł dotyczących stylu kodowania Na podobnej zasadzie: pychecker, pyflakes Framework Django: django-lint 45

46 Przerwa (a następnie część II) Statyczna analiza kodu źródłowego Poznań, r.

47 Analizatory w praktyce C/C++ PHP Java Python Języki webowe JavaScript XML / HTML CSS Inne 47

48 JavaScript: jslint Głównie styl kodowania Dostępny na kilka sposobów skrypt WSH (Windows) skrypt Rhino ( JavaScript engine in Java ) 48

49 XML / HTML: tidy Validate, correct, and pretty-print HTML files Ciekawe możliwości, np.: HTML XHTML <FONT>, <CENTER>,... CSS Bardzo konfigurowalny moje ulubione parametry dla XML: -indent -xml -utf8 -wrap

50

51 CSS: W3C Validator Usługa Walidacji CSS W3C Spisuje się najlepiej, generuje ładny raport Inne programiki głównie pretty-printing csslint csstidy 51

52 (X)HTML poprawne łącza linklint przykładowa składnia: linklint -error -http -host 52

53 Integracja narzędzi z SVN (1) Cel: z listą wykrytych błędów Użycie punktu zaczepienia po zatwierdzeniu transakcji: repozytorium/hooks/post-commit Kroki svn update uruchomienie narzędzia sprawdzenie liczby błędów i wysłanie a Przykład dla FindBugs: 53

54 Integracja narzędzi z SVN (2) Cel: zablokowanie zatwierdzenia kodu z błędami Użycie punktu zaczepienia przed zatwierdzeniem: repozytorium/hooks/pre-commit Kroki svnlook changed repozytorium (dla każdego pliku) svnlook cat repozytorium plik uruchomienie narzędzia wykrycie błędów, wypisanie ich na stderr i zwrócenie kodu różnego od zera Przykład dla Pythona: 54

55 Continous Integration (3) Ciągła integracja polega na budowaniu przez serwer bieżącej wersji oprogramowania Przeprowadzenie najróżniejszych testów i analiz Serwer CI Hudson (open-source) posiada zestaw wtyczek 55

56 Więcej informacji FindBugs Pixy PMD Python Frama-C analyzer 56

57 PCSS Dane kontaktowe Zespół Bezpieczeństwa PCSS Autor prezentacji 57

58 Pytania, dyskusja 58

59 Dziękuję za uwagę!

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans. GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans

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

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010 Bezpieczeństwo interoperacyjnego hostingu Gerard Frankowski, Zespół Bezpieczeństwa PCSS 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010 1 Agenda Wprowadzenie Zespół Bezpieczeństwa

Bardziej szczegółowo

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework mgr inż. Łukasz Stefanowicz dr inż.

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

Dokumentacja techniczna API systemu SimPay.pl

Dokumentacja techniczna API systemu SimPay.pl Wprowadzenie Dokumentacja techniczna API systemu SimPay.pl Wersja 1.0 z dnia 24.03.2015 r. API serwisu SimPay.pl opiera się o danych wysyłanych i zwracanych w formie JSON. W przypadku napotkania jakiegokolwiek

Bardziej szczegółowo

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP 19.11.2014. The OWASP Foundation http://www.owasp.org

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP 19.11.2014. The OWASP Foundation http://www.owasp.org Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? dr inż. Jakub Botwicz CISSP, ECSA, GWAPT 19.11.2014 jakub.botwicz@gmail.com Copyright The Foundation Permission is granted to copy, distribute

Bardziej szczegółowo

Dokumentacja kompilacji źródeł aplikacji 1.0

Dokumentacja kompilacji źródeł aplikacji 1.0 Projekt dofinansowany ze środków Mechanizmu Finansowego Europejskiego Obszaru Gospodarczego Dokumentacja kompilacji źródeł aplikacji Projekt: Wypracowanie i wdrożenie innowacyjnych metod integracji danych

Bardziej szczegółowo

Budowanie interfejsów do baz danych

Budowanie interfejsów do baz danych Budowanie interfejsów do baz danych Wprowadzenie Organizacja zajęć O sobie O Projekcie Termin rozpoczęcia Tematyka (propozycje?) Narzędzia (pendrive lub hosting) 2008 Szczepan Bednarz 2 z 20 Bazy danych

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

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Statyczne strony HTML Wczytanie statycznej strony HTML sprowadza się do odebrania żądania przez serwer, odnalezienia właściwego pliku

Bardziej szczegółowo

Środowisko NetBeans. Paweł Boguszewski

Środowisko NetBeans. Paweł Boguszewski Środowisko NetBeans Paweł Boguszewski Plan prezentacji Wprowadzenie Historia Funkcjonalność Kierunek Rozwoju Wtyczki Platforma NetBeans Podsumowanie Wprowadzenie NetBeans.org projekt OpenSource zapoczątkowany

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom). Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154

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

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

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie

Bardziej szczegółowo

Projektowani Systemów Inf.

Projektowani Systemów Inf. Projektowani Systemów Inf. Wykład VII Bezpieczeństwo Copyrights by Arkadiusz Rzucidło 1 Bezpieczeństwo Bezpieczeństwo związane z danymi Konstrukcja magazynów danych Mechanizmy zapisu i modyfikacji danych

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

METODY REPREZENTACJI INFORMACJI

METODY REPREZENTACJI INFORMACJI Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Magisterskie Studia Uzupełniające METODY REPREZENTACJI INFORMACJI Ćwiczenie 1: Budowa i rozbiór gramatyczny dokumentów XML Instrukcja

Bardziej szczegółowo

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty MeetingHelper Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania Instrukcja obsługi dla programisty W tej części został zawarty opis uruchamiania projektu programistycznego,

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Automatyzacja Testowania w WEB 2.0

Automatyzacja Testowania w WEB 2.0 Automatyzacja Testowania w WEB 2.0 Wojciech Pająk, Radosław Smilgin XXIV Jesienne Spotkania PTI Wisła, 20-24 października 2008 Agenda Wprowadzenie do automatyzacji testowania Technologie WEB 2.0 Narzędzia

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

PROGRAMOWANIE w C prolog

PROGRAMOWANIE w C prolog PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java

WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH Mirosław Gołda, Programista Java Agenda Kilka słów o języku Groovy Wpięcie Grooviego w projekt Springowy Testy jednostkowe

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

Tools for (Java) Developers. by Mirosław Żyszczyński

Tools for (Java) Developers. by Mirosław Żyszczyński Tools for (Java) Developers by Mirosław Żyszczyński Agenda Wstęp / Cel wykładu Opis problemu programistów Etapy tworzenia aplikacji Przegląd etapów oraz narzędzi Confluence JIRA + JIRA Agile SVN FishEye/Crucible

Bardziej szczegółowo

Programowanie poprzez testy z wykorzystaniem JUnit

Programowanie poprzez testy z wykorzystaniem JUnit Programowanie poprzez testy z wykorzystaniem JUnit Programowanie ekstremalne (XP) XP zaproponowano w 1999 (K. Beck: Extreme Programming Explained ) XP dedykowane jest do projektów: O małym lub średnim

Bardziej szczegółowo

Zadanie 1. Wykonał: Grzegorz Pol Komputer: 237-16

Zadanie 1. Wykonał: Grzegorz Pol Komputer: 237-16 Ćwiczenie 3. Wykonał: Grzegorz Pol Komputer: 237-16 Zadanie 1 Skanery stanu zabezpieczeń Rys. 1.1 (poniżej) Obraz okna programu Microsoft Baseline Security Analyzer zawierającego nagłówek (strona View

Bardziej szczegółowo

Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej

Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej Małgorzata Barańska Wydział Informatyki i Zarządzania, Politechnika Wrocławska Beata Laszkiewicz Wydział

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Systemy zarządzania wersjami

Systemy zarządzania wersjami 24 października 2007 Po co? Dla kogo? Dlaczego? aby ułatwić kontrolę nad projektem aby panować nad wersjami aby móc śledzić zmiany dla każdego projektu, przy którym pracuje więcej niż jedna osoba dla ludzi

Bardziej szczegółowo

Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 321 Bydgoszcz

Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 321 Bydgoszcz Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 321 Bydgoszcz 1 BSB dziś Jesteśmy producentem i integratorem rozwiązań informatycznych 100% udziałów w kapitale zakładowym posiada Narodowy Bank Polski

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II - 2012-10-08

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II - 2012-10-08 Języki i narzędzia programowania III Łukasz Kamiński Wykład II - 2012-10-08 Wykład II Wprowadzenie kontynuacja Cookie HTML (JS/CSS/Flash/Java) Instalacja Apache, PHP, MySQL Konfiguracja Hosting i domeny

Bardziej szczegółowo

Continuous Integration i jakość kodu. Michał Prajs

Continuous Integration i jakość kodu. Michał Prajs Continuous Integration i jakość kodu Michał Prajs Agenda Michał Prajs SMT Software Prowadzący Continuous Integration Jenkins CI Statyczna analiza kodu Checkstyle Pokrycie kodu testami jednostkowymi Cobertura

Bardziej szczegółowo

Open Source w służbie developerom

Open Source w służbie developerom 5 grudnia 2011 Wstęp Plan prezentacji Agenda Dyskusja problemu Wstęp Plan prezentacji Agenda Dyskusja problemu Etapy Wstęp Plan prezentacji Agenda Dyskusja problemu Etapy Przykłady Wstęp Plan prezentacji

Bardziej szczegółowo

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Tester oprogramowania 2014/15 Tematy prac dyplomowych Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven

Bardziej szczegółowo

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD). Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD). Rapid Application Development RAD Szybkie tworzenie programów użytkowych (Rapid Application Development RAD) jest mającą

Bardziej szczegółowo

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Agenda Dlaczego PhoneGap i co to jest? Możliwości PhoneGap Jak pisać aplikacje z PhoneGap? Konfiguracja i przykład aplikacji

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

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy

Bardziej szczegółowo

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Programowanie JavaCard Marek Gosławski Przygotowanie do zajęć dokumentacja JavaCard i GlobalPlatform środowisko programistyczne karta JavaCard Potrzebne

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami

Bardziej szczegółowo

Wstęp do testowania : Szymon Ramczykowski 29.04.2014

Wstęp do testowania : Szymon Ramczykowski 29.04.2014 Wstęp do testowania Presented by: Szymon Ramczykowski Date: 29.04.2014 Kainos 10-Jun-14 Gdzie jesteśmy Co robimy Branże Technologie Kainos w Gdańsku Ponad 100 osób zatrudnionych Wiele ciekawych projektów

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

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Tomasz Kapelak Nr albumu: 187404 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Projektowanie oprogramowania systemów NARZĘDZIA PRACY GRUPOWEJ, KONTROLI WERSJI, DOKUMENTOWANIA I ŚLEDZENIA BŁĘDÓW

Projektowanie oprogramowania systemów NARZĘDZIA PRACY GRUPOWEJ, KONTROLI WERSJI, DOKUMENTOWANIA I ŚLEDZENIA BŁĘDÓW Projektowanie oprogramowania systemów NARZĘDZIA PRACY GRUPOWEJ, KONTROLI WERSJI, DOKUMENTOWANIA I ŚLEDZENIA BŁĘDÓW plan wykładu Narzędzia pracy grupowej Edycja grupowa w czasie rzeczywistym Narzędzia Systemy

Bardziej szczegółowo

Podstawy programowania komputerów

Podstawy programowania komputerów Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana

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

Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL

Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL Obsługa błędów w SQL i transakcje Zacznijmy od najprostszego przykładu: CREATE PROCEDURE podziel1 Obsługa błędów w SQL Powyższa procedura w większości przypadków zadziała prawidłowo, lecz na przykład poniższe

Bardziej szczegółowo

Archiwum Prac Dyplomowych. Michał Malinowski Dariusz Działak

Archiwum Prac Dyplomowych. Michał Malinowski Dariusz Działak Archiwum Prac Dyplomowych Michał Malinowski Dariusz Działak Spis treści pierwszy temat pracy mała zmiana... tematu standardy W3C template jaki system istnieje prezentacja naszej pracy co będzie zrobione

Bardziej szczegółowo

Gdzie jest moja tabela?

Gdzie jest moja tabela? Gdzie jest moja tabela? Czyli jak sobie radzić w Javie i SQL gdy zmienia się schemat bazy danych. Tomasz Skutnik 21 Listopada 2011 r UWIELBIAM piratów programować. Dziś koduję sklep internetowy. Jak rozmawiać

Bardziej szczegółowo

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz SYLLABUS na rok akademicki 01/013 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr II/4 Specjalność Bez specjalności Kod katedry/zakładu

Bardziej szczegółowo

Przegląd narzędzi do automatycznego testowania aplikacji internetowych. Jan Płoszczyca SKISR 2006

Przegląd narzędzi do automatycznego testowania aplikacji internetowych. Jan Płoszczyca SKISR 2006 Przegląd narzędzi do automatycznego testowania aplikacji internetowych Jan Płoszczyca SKISR 2006 Plan prezentacji Problemy przy tworzeniu serwisów Definicja zautomatyzowanego testowania Mity i fakty związane

Bardziej szczegółowo

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Dotacje na innowacje. Inwestujemy w waszą przyszłość. PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

Bardziej szczegółowo

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet Zagrożenia związane z udostępnianiem aplikacji w sieci Internet I Ogólnopolska Konferencja Informatyki Śledczej Katowice, 8-9 stycznia 2009 Michał Kurek, Aleksander Ludynia Cel prezentacji Wskazanie skali

Bardziej szczegółowo

Bezpieczeństwo systemów internetowych

Bezpieczeństwo systemów internetowych Bezpieczeństwo systemów internetowych AGENDA Podstawowe informacje o Risco Software Przewaga konkurencyjna Risco Software Przykładowe zrealizowane projekty Postrzeganie bezpieczeństwa systemów internetowych

Bardziej szczegółowo

Bezpieczeństwo aplikacji webowych

Bezpieczeństwo aplikacji webowych Bezpieczeństwo aplikacji webowych Tomasz Nowocień nowocien@man.poznan.pl Zespół Bezpieczeństwa PCSS http://security.psnc.pl Szkolenie Działu KDM PCSS Poznań, 29.04.2009 1 Szkolenie - plan spotkania 10.00

Bardziej szczegółowo

Podstawy języka Java. przygotował: pawel@kasprowski.pl

Podstawy języka Java. przygotował: pawel@kasprowski.pl Podstawy języka Java przygotował: pawel@kasprowski.pl Początki: PDA Star7 (*7) PDA do obsługi urządzeń domowych. (1992) (język OAK) Autorzy Javy Green Team Ojciec Javy: James Gosling Poszukiwanie zastosowania

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

Bardziej szczegółowo

Portal Security - ModSec Enterprise

Portal Security - ModSec Enterprise Portal Security - ModSec Enterprise Leszek Miś Security Architect RHCA, RHCSS lm@linuxpolska.pl 1 O firmie Linux Polska Podstawowa działalność spółki: Wsparcie lokalne dla systemów Open Source Wdrożenia

Bardziej szczegółowo

Zaawansowane aplikacje internetowe

Zaawansowane aplikacje internetowe Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika

Bardziej szczegółowo

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki 29 października 2014 Igor Wojnicki (AGH, KIS) CouchDB 29 października 2014 1 / 53 NoSQL Not Only SQL, CouchDB Apache CouchDB has started. Time to relax. Igor Wojnicki Katedra Informatyki Stosowanej, Akademia

Bardziej szczegółowo

Swing Application Framework czyli tam i z powrotem. Copyright Piotr Kochański & Erudis, www.erudis.pl

Swing Application Framework czyli tam i z powrotem. Copyright Piotr Kochański & Erudis, www.erudis.pl Swing Application Framework czyli tam i z powrotem Informacje o mnie Imię: Piotr Nazwisko: Kochański Praca: programista Java, PHP + kilka egzotycznych wynalazków Miejsce pracy: firma Erudis (prawdopodobnie

Bardziej szczegółowo

Hurtownie danych - przegląd technologii

Hurtownie danych - przegląd technologii Hurtownie danych - przegląd technologii Problematyka zasilania hurtowni danych - Oracle Data Integrator Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel

Bardziej szczegółowo

Języki programowania wysokiego poziomu. Ćwiczenia

Języki programowania wysokiego poziomu. Ćwiczenia Języki programowania wysokiego poziomu Ćwiczenia Języki programowania Ćwiczenia Strukturalny HTML Arkusze CSS Formularze HTML i PHP Baza danych MySQL Forum internetowe Strukturalny HTML Zadania Dokument

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

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

SYSTEM MONITORINGU SIECI I SERWERÓW NAGIOS

SYSTEM MONITORINGU SIECI I SERWERÓW NAGIOS JNS Sp. z o.o. ul. Wróblewskiego 18 93-578 Łódź NIP: 725-189-13-94 tel. +48 42 209 27 01, fax. +48 42 209 27 02 e-mail: biuro@jns.pl Łódź, 2014 r. SYSTEM MONITORINGU SIECI I SERWERÓW NAGIOS JNS Sp. z o.o.

Bardziej szczegółowo

Spotkanie robocze PIONIER-CERT Poznań, 19.04.2010. Tomasz Nowak Zespół Bezpieczeństwa PCSS

Spotkanie robocze PIONIER-CERT Poznań, 19.04.2010. Tomasz Nowak Zespół Bezpieczeństwa PCSS Interfejs operatora telekomunikacyjnego do Spotkanie robocze PIONIER-CERT Poznań, 19.04.2010 systemu SOPEL Tomasz Nowak Zespół Bezpieczeństwa PCSS Agenda Retencja w największym skrócie Działanie aplikacji

Bardziej szczegółowo

Podstawy programowania wykład

Podstawy programowania wykład Podstawy programowania wykład WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 1 Materiały do wykładu

Bardziej szczegółowo

Bezpieczne udostępnianie usług www. BłaŜej Miga blazej.miga@man.poznan.pl. Zespół Bezpieczeństwa PCSS

Bezpieczne udostępnianie usług www. BłaŜej Miga blazej.miga@man.poznan.pl. Zespół Bezpieczeństwa PCSS Bezpieczne udostępnianie usług www BłaŜej Miga blazej.miga@man.poznan.pl Zespół Bezpieczeństwa PCSS Wstęp Bezpieczny hosting IIS + ASP.NET - dobrana para ZagroŜenia przykładowe ataki Zabezpieczamy serwer

Bardziej szczegółowo

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH szkolenie dla webdeveloperów ze znajomością przynajmniej podstaw HTML i JavaScript INFORMACJE PODSTAWOWE AngularJS to framework JavaScript stworzony przez inżynierów

Bardziej szczegółowo

SMS Kod Automatyczny

SMS Kod Automatyczny Dokumentacja 2.0.0 SMS Kod Automatyczny Dokumentacja dla SMS Kod Automatyczny Web Service REST CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax: +48 032 764-18-40

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

Techniki Programowania

Techniki Programowania Techniki Programowania Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Dr hab. inż. Łukasz Madej, prof. AGH Budynek B5,

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

Fuzzing OWASP 14.01.2010. The OWASP Foundation http://www.owasp.org. Piotr Łaskawiec J2EE Developer/Pentester

Fuzzing OWASP 14.01.2010. The OWASP Foundation http://www.owasp.org. Piotr Łaskawiec J2EE Developer/Pentester Fuzzing Piotr Łaskawiec J2EE Developer/Pentester 14.01.2010 Metrosoft (www.metrosoft.com) piotr.laskawiec@gmail.com Copyright The Foundation Permission is granted to copy, distribute and/or modify this

Bardziej szczegółowo

Narzędzia OWASP dla developerów OWASP ESAPI & AppSensor OWASP 2011-11-23. The OWASP Foundation http://www.owasp.org

Narzędzia OWASP dla developerów OWASP ESAPI & AppSensor OWASP 2011-11-23. The OWASP Foundation http://www.owasp.org Narzędzia dla developerów ESAPI & AppSensor 2011-11-23 Wojciech Dworakowski Poland Chapter Leader SecuRing wojciech.dworakowski@owasp.org +48506184550 Copyright The Foundation Permission is granted to

Bardziej szczegółowo

Co jeszcze mogą nam dać adnotacje? Adam Warski

Co jeszcze mogą nam dać adnotacje? Adam Warski Co jeszcze mogą nam dać adnotacje? Adam Warski Weryfikacja statyczna Sprawdzanie własności programu bez jego uruchomienia Weryfikacja statyczna Najprostszy przykład: Sprawdzanie typów Przy wywołaniu metody

Bardziej szczegółowo

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 013/01 Nr programu: 31[01]/T,SP/MENIS/00.06.1 Okres kształcenia: łącznie ok. 170 godz. lekcyjne Moduł Bok wprowadzający 1. Zapoznanie z programem nauczania i

Bardziej szczegółowo

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT O mnie Patryk yarpo Jar Programista JavaScript (nor-sta.eu) yarpo.pl 2 Agenda Chaos Obiekty Biblioteki AMD Podsumowanie Pytania 3 Dawno,

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu

Bardziej szczegółowo

Drobne błędy w portalach WWW

Drobne błędy w portalach WWW Drobne błędy w portalach WWW Borys Łącki http://www.logicaltrust.net XIX Górska Szkoła Informatyki / Szczyrk, 23-26.06.2008 r. LogicalTrust wyizolowany departament bezpieczeństwa IT Business Consulting

Bardziej szczegółowo

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych m.szlenk@elka.pw.edu.pl Paradygmaty

Bardziej szczegółowo

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych Firewalle aplikacyjne - Zabezpieczanie aplikacji internetowych Wojciech Dworakowski Agenda Dlaczego tradycyjne mechanizmy nie wystarczają? Wykorzystanie zaawansowanych firewalli Firewalle aplikacyjne architektura

Bardziej szczegółowo