1. GTreeTable

    Maciej Kłak,

    Przy okazji implementacji zestawu funkcji służących do kategoryzacji dokumentów w Systemie Administrowania Bezpieczeństwem Informacji (SABI) stworzyłem rozszerzenie GTreeTable, które może Wam się przydać.

    W ogólny ujęciu pozwala ono na tworzenie wielopoziomowej struktury drzewiastej opakowanej w tabelę HTML. Na każdej z pozycji możliwe jest wykonanie operacji typu CRUD jak i zdefiniowanie niestandardowych akcji.

    Rozszerzenie zostało zbudowane w oparciu o komponenty Twitter Bootstap 3. W związku z czym, ostatecznie, wygląd interfejsu użytkownika automatycznie dostosowuje się to Waszej konfiguracji. W wersji podstawowej wygląda następująco:
    Wygląd interfejsu użytkownika rozszerzenia GTreeTable
    (więcej…)

  2. Żart Allegro

    Maciej Kłak,

    W ramach regularnego uprzykrzania życia mojemu koledze (współpracownikowi) wpadł mi do głowy pomysł na żart, z którego możecie skorzystać:)

    W ogólności idea polega na odwróceniu obrazów przedmiotów z serwisu Allegro o 180°.

    Schemat działania przedstawia się następująco:
    1. Odwołania do subdomen z domeny allegroimg.pl przekierowywane są na nasz serwer.
    2. Pobieramy obraz z serwisu docelowego oraz go odwracamy.
    3. Wysyłamy z powrotem zmodyfikowaną odpowiedź na komputer ofiary.

    W rezultacie uzyskujemy następujący efekt:
    allegro
    (więcej…)

  3. Ocena efektywności systemów komputerowych

    Maciej Kłak,

    Moim zdaniem jeden z najcięższych przedmiotów na całej specjalizacji. Głownie za sprawą dra Drozdowskiego, oraz jego kilkuset stronicowego skryptu oraz kolokwiów na każdym wykładzie.

    Anyway:) W ramach ćwiczeń należało wykonać m.in. projekt, które będzie badał wydajność pewnego zagadnienia. Osobiście zdecydowałem stworzyć Browser Animation Benchmark, aplikację badającą rodzaje animacji w przeglądarkach. Więcej informacji znajduje się na stronie projektu. Kod dostępny jest na GitHubie.

    Skład paczki:

    1. Sprawozdanie z porównania wydajności języka PHP i Java + kody źródłowe sktyptów.
    2. Pytania i szczątkowe odpowiedzi na kolokwiach i egzaminie końcowym, m.in.:
      • Co to jest PUE oraz podać obecne wartości.
      • Obliczyć Q1, Q3, SIQR, q0,2, q0,9. Sporządzić histogram. Obliczyć dostępność.
      • Sporządzić wykres kwantyl-kwantyl
      • Metodę regresji liniowej zastosowano w celu określenia zmian liczby zarejestrowanych użytkowników Y’ w setkach, od numeru tygodnia X, dla rzeczywiście zarejestrowanych liczb użytkowników y podanych w tabeli.

     

    Pobierz: Ocena efektywności systemów komputerowych.zip

  4. Sieci komputerowe

    Maciej Kłak,

    Napomknę tylko, że jeśli nie mieliście wcześniej styczności z doktorem Sajkowski, to szczerze zapraszam na jego wykład. Z sieci pewnie nic nowego się nie dowiecie, ale jego dygresje i przemyślenia są naprawdę bezcenne.

    Skład paczki:

    1. Sprawozdanie: Adresacji IP v4
      • Sprawdź adres ip oraz maskę podsieci komputera, na którym teraz pracujesz.
      • Przedstaw maskę w postaci skróconej.
      • Podaj adres sieci oraz adres rozgłoszeniowy
      • Podaj zakres i ilość adresów, które można przydzielić komputerom w tej sieci.
      • Wykonaj punkty 2 – 4 dla adresu 172.17.1.14 o masce 255.255.240.0.
      • Podziel sieć 192.168.111.0 /24 na 4 równe podsieci. Podaj tylko ich adresy i maski.
      • Podziel sieć 100.100.64.0 /18 na 3 podsieci – jedną większą i 2 mniejsze. Podaj tylko ich adresy i maski.
      • Dokonaj agregacji adresów z zakresu 140.12.64.0 /24, 140.12.65.0 /24, …, 140.12.127.0 /24. Podaj adres i maskę nadsieci.
      • Dla poniższego rysunku załóżmy następującą sytuację: dostawca usług R1 (jego nazwa bierze się od nazwy rutera R1) dysponuje adresem CIDR 200.200.50.0/23. Część tej przestrzeni przeznacza dla własnych sieci IP, a resztę oddaje swoim poddostawcom R2 i R4. Ci ostatni postępują według podobnego schematu. Zakładając rozmiary sieci takie, jak przedstawiono, zaproponuj schemat adresacji IP dla wszystkich sieci.
      • Utworzyć dwa dodatkowe interfejsy logiczne z dowolnymi adresami ip i maskami. Przetestować i opisać działanie opcji up oraz down polecenia ifconfig na wszystkich interfejsach.
      • Dla sieci przedstawionych poniżej należy przygotować schemat adresacji IP używając adresów z puli prywatnej. Dalej należy skonfigurować interfejsy logiczne komputerów tak, by komputery na końcach każdego połączenia mogły się komunikować.
      • Czy w powyższych przypadkach istnieją interfejsy z adresami ip niedostępnymi dla innych komputerów? Odpowiedź uzasadnić.
    2. Sprawozdanie: Statyczny wybór trasy w systemie Linux, protokół ARP
      • Dla poniższego rysunku zaproponować schemat adresacji IP, używając adresów z puli prywatnej. Zgodnie z przyjętym schematem adresacji skonfigurować interfejsy logiczne wszystkich komputerów.
      • Stosując polecenie route, zdefiniować w komputerach R1, R2 i R3 zawartość ich tablic trasy. Komputery te będą pełnić rolę ruterów.
      • Ustawić w komputerach K1, K2 i K3 odpowiedni adres bram domyślnych. Co by się działo, gdyby ich nie ustawiono?
      • Włączyć w ruterach funkcję przenoszenia pakietów między logicznymi interfejsami (ang. forwarding), wpisując do pliku /proc/sys/net/ipv4/ip_forward wartość 1.
      • Przetestować poleceniami ping oraz traceroute działanie sieci. Wszystkie spostrzeżenia opisać. Czy w tym przypadku istnieją interfejsy z adresami ip
        niedostępnymi dla innych komputerów?
    3. Sprawozdanie: Konfiguracja serwera DNS, Apache, MySQL
      • Korzystając z programu VirtualBox przygotować nową maszynę wirtualną z czystym systemem Linux Debian. W ustawieniach sieciowych wybrać połączenie mostkowe z interfejsem eth0. Zainstalować pakiety bind9, apache2 oraz mysql.
      • Skonfigurować serwer DNS tak, aby obsługiwał domenę podaną na zajęciach (każdy serwer otrzyma swoją).
      • Dla otrzymanej domeny skonfigurować dwie subdomeny podpięte pod różne, prywatne adresy ip podane na zajęciach. Wszystkie adresy powinny być w tej samej sieci.
      • Skonfigurować serwer Apache tak, aby obsługiwał obie subdomeny.
      • Na jednej z subdomen zainstalować dowolną darmową aplikację internetową działająca w oparciu o bazę MySQL, napisaną w języku PHP. W tym celu należy utworzyć nową bazę i użytkownika za pomocą phpmyadmin’a.
    4. Sprawozdanie: Statyczny wybór trasy w systemie Linux, protokół ARP
      • Dla poniższego rysunku zaproponować schemat adresacji IP, używając adresów z puli prywatnej. Zgodnie z przyjętym schematem adresacji skonfigurować interfejsy logiczne wszystkich komputerów.
      • Stosując polecenie route, zdefiniować w komputerach R1, R2 i R3 zawartość ich tablic trasy. Komputery te będą pełnić rolę ruterów.
      • Ustawić w komputerach K1, K2 i K3 odpowiedni adres bram domyślnych. Co by się działo, gdyby ich nie ustawiono?
      • Włączyć w ruterach funkcję przenoszenia pakietów między logicznymi interfejsami (ang. forwarding), wpisując do pliku /proc/sys/net/ipv4/ip_forward wartość 1.
      • Przetestować poleceniami ping oraz traceroute działanie sieci. Wszystkie spostrzeżenia opisać. Czy w tym przypadku istnieją interfejsy z adresami ip
        niedostępnymi dla innych komputerów?
    5. Sprawozdanie: Dynamiczny wybór trasy w routerach Cisco
      • Dla poniższego rysunku zaproponować schemat adresacji IP korzystając z puli adresów prywatnych.
      • Dokonać konfiguracji routerów w taki sposób, aby wybór trasy realizowany był dynamicznie za pomocą protokołu RIP.
      • Przetestować polecenie traceroute wywołane na komputerze K1 w celu znalezienia trasy do komputera K3. Wynik opisać.
      • Przetestować i krótko opisać działanie poleceń show cdp neighbor, show ip protocols, oraz show ip route wywołanych na dowolnym routerze.

     

    Pobierz: Sieci komputerowe.zip

  5. Inżynieria biznesowa

    Maciej Kłak,

    Skład paczki:

    1. Mowa ciała – mapa myśli + definicje + kurs + ćwiczenia.
    2. TIBCO – symulacja wniosku kredytowego.
    3. TIBCO – raport z modelowania aukcji internetowej.

     

    Pobierz: Inżynieria biznesowa.zip

  6. Technologie baz danych

    Maciej Kłak,

    Skład paczki:

    1. Opracowane zagadnienia na egzamin:
      • Pojęcia podstawowe: baza danych, system bazy danych, system zarządzania bazą danych, schemat bazy danych, stan bazy danych.
      • Przedstaw 3-poziomową architekturę systemu bazy danych.
      • Wymień kategorie modeli danych.
      • Przedstaw definicje podstawowych pojęć dotyczących struktur danych relacyjnego modelu danych (atrybut, domena, krotka, relacja, perspektywa).
      • Przedstaw definicje podstawowych operacji algebry relacji (projekcja, selekcja(w tym warunek selekcji), połączenie (w tym: warunek połączeniowy, Θ-join, równołączenie).
      • Co to są ograniczenia integralnościowe?
      • Przedstaw definicję klucza podstawowego i klucza obcego.
      • Przedstaw definicje ograniczenia na unikalność krotek relacji, ograniczenie klucza podstawowego, ograniczenie referencyjne.
      • Przedstaw następujące organizacje struktur fizycznych plików danych: pliki nieuporządkowane (ang. heap file), pliki sekwencyjne. Jakie są zalety i wady tych organizacji plików z punktu widzenia wykonywania operacji modyfikacji danych w bazie danych.
      • Dla jakiej organizacji fizycznej plików danych można stosować algorytm przeszukiwania binarnego.
      • Przedstaw koncepcję plików haszowych. Jaką funkcję haszującą najczęściej wykorzystuje się w praktyce.
      • Co to jest kolizja, w kontekście plików haszowych. Jakie znasz metody rozwiązywania tego problemu.
      • Przedstaw koncepcję indeksu.
      • Jaka jest różnica pomiędzy indeksem gęstym i rzadkim?
      • Przedstaw koncepcje indeksów podstawowych, zgrupowanych i wtórnych, charakterystykę tych struktur indeksowych oraz problemy związane z tymi strukturami indeksowymi.
      • Dla danego pliku danych można założyć jeden czy wiele indeksów wtórnych na polu niekluczowym. Jaka jest główna zaleta indeksów wtórnych (co one dają?).
      • Przedstaw koncepcję indeksu typu B-drzewo. Co oznacza, że B-drzewo jest zbalansowane?
      • Struktura liścia i węzła węwnętrznego B+ drzewa rzędu 3.
    2. Wszystkie zapytania SQL z zadań na ćwiczeniach.

     

    Pobierz: Technologie baz danych.zip

  7. Zastosowanie informatyki w logistyce

    Maciej Kłak,

    Jeśli stoicie przed wyborem przedmiotu „zastosowanie informatyki w logistyce” czy „programowanie mikrokontrolerów”, to bez zastanowienie bierzcie te drugie. Logistyka z założenia miała być takim lajtowym przedmiotem, w rzeczywistości było to orka bez końca na horyzoncie.

    Paczka zwiera:

    1. Opracowanie pytań na egzamin:
      • Model i typy struktur systemów logistycznych.
      • Łańcuchy towarów, łańcuchy logistyczne, łańcuchy dostaw.
      • Rodzaje transformacji towarów i realizujace transformacje procesy logistyczne.
      • Działy logistyki w ujęciu fazowym (na poszczególnych etapach działalności gospodarczej).
      • Działy logistyki w ujęciu funkcjonalnym (w zależności od realizowanych działań).
      • Rola logistyki w kształtowaniu wartości użytkowej towaru.
      • Elementy składowe całkowitych kosztów logistyki.
      • Konflikty w sferze kosztów całkowitych logistyki.
      • Czynniki wpływające na znaczenie logistycznej obsługi dostawczej.
      • Przyczyny utrzymywania zapasów w działalności gospodarczej.
      • Elementy składowe kosztów utrzymywania zapasów.
      • Określić wielkość i warunki obowiązywania optymalnej wielkości zamówienia.
      • Reguły zamawiania towarów – wykresy.
      • Czynniki wpływające na wielkość zapasu bezpieczeństwa i sposób ich uwzględniania.
      • Dokładność prognozy popytu a wielkość zapasu bezpieczeństwa.
      • Metoda wtórnego punktu zamawiania – zależności.
      • Zasady selektywnej gospodarki magazynowej.
      • Obszary magazynu i ich funkcje.
      • Systemy składowania (magazynowe).
      • Koncepcja magazynu wysyłkowego.
      • Koncepcja magazynu kompletacji.
      • Przyporządkowywanie miejsc składowania w magazynie.
      • Typy regałów magazynowych.
      • Typy obiektów magazynowych.
      • Funkcje opakowań.
      • Jednostka logistyczna definicja i typy.
      • Łańcuch transportowy i jego rodzaje.
      • Gałęzie transportu – wymienić.
      • Transport intermodalny rodzaje i uzasadnienie.
      • Konkurujące metody transportu.
      • Zasady określania i czynniki wpływające na stawki przewozowe.
      • Formuły sprzedaży – omówić typy.
      • Formuły sprzedaży – omówić przykłady.
      • Zastosowania informatyki w logistyce.
      • Zastosowania systemów eksperckich w logistyce.
      • Metoda siatki wyznaczania lokalizacji obiektów sieci logistycznej.
    2. Decyzję na poszczególne tygodnie w Logistycznej grze decyzyjnej (nie pamiętam dokładnie, ale osiągnąłem duży zysk, który pozwolił na zajęcie pierwszego miejsca).
    3. Rozwiązanie zadania z Polskie Przedsiębiorstwo Piekarnicze (arkusz + solver).
    4. Rozwiązanie zadania z programowania dynamicznego (arkusz + solver).
    5. Sprawozdanie z optymalizacji wielkości zamówienia, Just-In-Time in Kalamazoo.

     

    Pobierz: Zastosowanie informatyki w logistyce.zip

  8. Projektowanie gier

    Maciej Kłak,

    W przedmiotem projektowanie gier od kilku już lat, nieodłącznie związany był (jest?) turniej botów. Osoba, której skrypt wykosi konkurencję w turnieju na „śmierć i życie” otrzymuje zaliczenie ćwiczeń oraz 5 z wykładów. Tak się złożyło, że akurat byłem tym szczęśliwcem, choć trzeba przyznać, że skrypt daleki jest od ideału. W paczce znajdziecie kod zwycięskiego bota napisany w języku Lua.

    Pobierz: Projektowanie gier.zip

  9. Ochrona danych i kryptografia

    Maciej Kłak,

    Skład paczki:

    1. Opracowanie zagadnień na egzamin:
      • System krytpograficzny symetryczny vs. asymetryczny.
      • Przykłady algorytmów symetrycznych i asymetrycznych.
      • Algorytm wyznaczania odwrotności modulo.
      • Długości kluczy i bloków danych w podstawowych algorytmach (DES,3DES, AES).
      • Zalecana długość klucza RSA i DSA od roku 2013 wg. zaleceń NIST.
      • Elementy infrastruktury klucza publicznego (PKI).
      • Do czego służą certyfikaty SSL?
      • Co to jest sieć SAN, jakie wykorzystuje technologie transmisji danych i czym się różni od zwykłej sieci?
      • Co to jest RAID? Co zapewnia RAID-1, a co RAID-5 i RAID-6.
      • Parametry, które należy wziąć pod uwagę przy tworzeniu planów odtwarzania po awarii (RPO, RTO, BWO).
      • Co to jest firewall.
      • Co to jest Sender Policy Framework i jak działa.
      • Co to są dane retencyjne w telekomunikacji? (Zobacz np.: Art. 180 Prawa Telekomunikacyjnego).
      • Jaki jest okres „retencji” danych określony w Prawie Telekomunikacyjnym, które weszło w życie 21.01.2013 roku. (zmiany w Art. 180 i Art. 27).
      • Jakie służby są uprawnione do uzyskania informacji o danych abonenta np. używającego danego adresu IP w określonym czasie (należy znać co najmniej 7 takich służb/agencji).
      • Jakie upoważnienie musi posiadać policjant aby uzyskać dostęp do danych identyfikacyjnych abonenta. (określa to ustawa o Policji Art.20c).
    2. Projekt z OWASP WebGoat:
      • AJAX Security – Client Side Filtering
      • Injection Flaws – String SQL Injection
      • Malicious File Execution

     

    Pobierz: Ochrona danych i kryptografia.zip