Internet Of Things: Big Data & Analytics - Rozdział 2

1. Dane są generowane w niespotykanym dotąd tempie przez maszyny, ludzi i rzeczy. Są one częściej strumieniowane przez sieci i występują w różnych rozmiarach i formatach. Wysoka objętość, wysoka prędkość i wysoka różnorodność tych zbiorów danych to kluczowa cecha, która odróżnia dane od Big Data. Pojawienie się tych dużych zbiorów danych wymaga bardziej zaawansowanych metod, technologii i infrastruktury do przetwarzania danych i przekształcania ich w użyteczne informacje. Dane nie mogą być już przechowywane na kilku maszynach ani przetwarzane jednym narzędziem.
2. Firmy aktywnie tworzą profile i przetwarzają dane na swoich systemach, swoich użytkownikach i swoich procesach, aby pobudzać wzrost i innowacje. Badacze i analitycy szukają sposobów dostępu i analizy danych. Zaawansowane techniki analityczne mogą być stosowane na dużych zbiorach danych takich jak analiza tekstu, uczenie maszynowe, analityka predykcyjna, eksploracja danych, statystyka i przetwarzanie języka naturalnego. Firmy mogą analizować wcześniej niewykorzystywane źródła danych niezależnie lub razem ze swoimi istniejącymi danymi przedsiębiorstwa, aby uzyskać nowe spostrzeżenia. Te spostrzeżenia skutkują znacznie lepszymi i szybszymi decyzjami.

3. W analizie danych zaczynamy od pytania biznesowego i dostępności pewnych danych. Kończymy na stworzeniu nowych informacji istotnych dla rozwiązania pytania biznesowego. Istnieje wiele metodologii przeprowadzania analizy danych, w tym popularny Proces Standardowy dla Przemysłu Krzyżowego dla Górnictwa Danych (CRISP-DM), używany przez ponad 40% analityków danych. Około 27% analityków danych stosuje własną metodologię. Reszta korzysta z różnych innych metodologii. 

Sześciostopniowy cyklu życia analizy danych przypomina metodę naukową, cykl życia analizy danych jest przeznaczony do użytku w środowisku biznesowym. 


4. Przed wynalezieniem komputerów, informacje zebrane podczas prowadzenia działalności gospodarczej były analizowane w celu zwiększenia efektywności i zysków. Dziś, wraz z ogromnym wzrostem ilości danych, komputery i oprogramowanie są niezbędne do uzyskania wglądu w wzorce biznesowe i zrozumienia tych danych.

Narzędzia, których używasz, zależą od twoich potrzeb i rozwiązań, które już zaimplementowałeś. Narzędzie do użycia zależy od rodzaju analizy do przeprowadzenia. Niektóre narzędzia są zaprojektowane do obsługi manipulacji i wizualizacji dużych zbiorów danych. Inne narzędzia są zaprojektowane z zaawansowanymi możliwościami modelowania matematycznego i symulacji dla prognozowania i przewidywania. Bez względu na to, jakie narzędzia są używane, powinny one być w stanie obsługiwać te cztery możliwości: 
  • łatwość użycia - Narzędzie, które jest łatwe do nauczenia się i użycia, często jest bardziej skuteczne niż narzędzie trudne do użycia. Ponadto narzędzie łatwe w użyciu wymaga mniej szkoleń i mniej wsparcia.
  • manipulacja danymi - Oprogramowanie powinno umożliwiać użytkownikom czyszczenie i modyfikowanie danych, aby były bardziej użyteczne. To prowadzi do tego, że dane są bardziej wiarygodne, ponieważ można wykryć anomalie, dostosować je lub usunąć. 
  • udostępnianie - Wszyscy muszą patrzeć na te same zestawy danych, aby móc skutecznie współpracować. To pomaga ludziom interpretować dane w ten sam sposób.
  • interaktywna wizualizacja - by w pełni zrozumieć, jak dane zmieniają się w czasie, ważne jest wizualizowanie trendów. Podstawowe wykresy i wykresy nie mogą w pełni reprezentować tego, jak informacje ewoluują tak jak mapa ciepła lub widok ruchu czasowego.
5. Wiele firm i organizacji korzysta z narzędzi open source do przetwarzania, agregacji i podsumowywania swoich danych. Język programowania Python stał się powszechnie używanym narzędziem do obsługi i manipulacji danymi. Python został stworzony w 1991 roku jako łatwy do nauczenia język z wieloma bibliotekami używanymi do manipulacji danymi, uczenia maszynowego i wizualizacji danych.

W tym kursie użyjemy notatników Jupyter, które pozwalają na istnienie instrukcji i programowania w tym samym pliku. Biblioteki:
  • NumPy - dodaje wsparcie dla tablic i macierzy. Ma również wiele wbudowanych funkcji matematycznych do użycia na zbiorach danych.
  • Pandas - dodaje wsparcie dla tabel i szeregów czasowych. Pandas jest używany do manipulacji i czyszczenia danych, między innymi.
  • Matplotlib - to biblioteka wykresów zdolna tworzyć proste wykresy liniowe aż po skomplikowane wykresy 3D i konturowe
6. Istnieje wiele rodzajów analizy, które mogą dostarczyć firmom, organizacjom i ludziom informacji, które mogą napędzać innowacje, poprawiać wydajność i zmniejszać ryzyko. Rodzaj analizy danych do wdrożenia zależy od problemu, który należy rozwiązać lub pytań, na które należy odpowiedzieć.
  • Analityka opisowa głównie wykorzystuje dane obserwowane. Jest używana do identyfikacji kluczowych cech zbioru danych. Podsumowane dane z analityki opisowej dostarczają informacji o wcześniejszych wydarzeniach i trendach w wynikach. Opiera się wyłącznie na danych historycznych, aby dostarczać regularne raporty na temat wydarzeń, które już miały miejsce. Ten rodzaj analizy jest również używany do generowania raportów ad hoc, które podsumowują duże ilości danych, aby odpowiedzieć na proste pytania takie jak „ile…” lub „jak wiele…” lub „co się stało”. Może być również używana do zagłębienia się w dane, zadając głębsze pytania dotyczące konkretnego problemu. Zakres analityki opisowej polega na podsumowaniu danych w bardziej zwięzłe i przydatne informacje. Przykładem analizy opisowej jest godzinny raport o ruchu drogowym.
  • Analityka przewidywająca stara się przewidzieć, co może się wydarzyć w przyszłości z pewnym stopniem pewności, na podstawie danych i statystyk. Może być używana do wnioskowania brakujących danych i ustalania przyszłej linii trendu na podstawie danych historycznych. Wykorzystuje modele symulacyjne i prognozowanie, aby sugerować, co mogłoby się wydarzyć. Przykładem analizy przewidywającej jest komputerowy model, który wykorzystuje Big Data do prognozowania pogody. Analityka przewidywająca może również wytwarzać nowe dane na podstawie istniejących, np. przewidując cenę domu na podstawie cen ostatnich sprzedaży domów w okolicy. Innym przykładem jest klasyfikacja, np. klasyfikacja tweeta jako pozytywnego lub negatywnego na podstawie zawartego w nim tekstu.
  • Analityka preskryptywna przewiduje wyniki i sugeruje działania, które przyniosą największe korzyści dla przedsiębiorstwa lub organizacji. Zaleca działania lub decyzje na podstawie złożonego zestawu celów, ograniczeń i wyborów. Może być używana do sugerowania, jak złagodzić lub nawet uniknąć ryzyka. Wdrożenia analityki preskryptywnej mogą wymagać systemu informacji zwrotnej do śledzenia wyników podjętych działań. Przykładem analizy preskryptywnej jest komputerowy model, który wykorzystuje Big Data do wydawania rekomendacji na rynku giełdowym dotyczących kupna lub sprzedaży akcji.
7. W erze Big Data czas stał się ważnym elementem analizy danych, ponieważ wiele wartości danych pochodzi z tworzenia możliwości natychmiastowego działania. Dane są generowane stale przez różne źródła i zmieniają się w czasie rzeczywistym, dlatego analiza danych musi być również przeprowadzana w czasie rzeczywistym. Podejmowanie decyzji na podstawie analizy danych może poprawić zwrot z inwestycji dla firm jako funkcję czasu, przynosząc korzyści takie jak zwiększony czas na badania i rozwój, zwiększona wydajność i szybsza produkcja, szybszy czas wprowadzenia na rynek oraz bardziej skuteczny marketing i reklama.

8. W przeszłości, kiedy większość zbiorów danych była stosunkowo mała i łatwa do zarządzania, analitycy mogli korzystać z tradycyjnych narzędzi, takich jak Excel lub program statystyczny, np. SPSS, aby wydobyć z danych istotne informacje. Wraz ze wzrostem objętości, prędkości i różnorodności zbiorów danych, złożoność przechowywania, przetwarzania i agregacji danych staje się wyzwaniem dla tradycyjnych narzędzi analitycznych. Duże zbiory danych mogą być rozproszone i przetwarzane na wielu urządzeniach fizycznych rozmieszczonych geograficznie oraz w chmurze. Narzędzia Big Data, takie jak Hadoop i Apache Spark, są potrzebne dla tych dużych zbiorów danych, aby umożliwić analizę w czasie rzeczywistym i modelowanie przewidywające.

9. Aby firmy mogły podejmować optymalne decyzje, coraz bardziej konieczne jest korzystanie z narzędzi analizy przewidywającej i preskryptywnej, aby pozostać konkurencyjnym w świecie, w którym tempo zmian przyspiesza. Nowe zachowania i wglądy można uzyskać z zaawansowanych analiz, które poprawiają dokładność przewidywania i preskrypcji. Na przykład, analityka może być używana do odpowiedzi na pytania dotyczące rynku giełdowego, trasowania samochodów dostawczych lub konserwacji samolotów w czasie rzeczywistym. Obsługa dużych ilości danych generowanych przez maszyny wymaga nowego oprogramowania infrastrukturalnego, które musi być w stanie rozdzielać obliczenia i przechowywanie danych między krawędzią, mgłą i chmurą.

10. Metoda naukowa cyklu analizy danych:

Zadanie pytania -> Postawienie hipotezy -> Przeprowadzenie eksperymentów -> Analiza wyników -> Stwierdzenie wniosków (i tak w kółko)

11.Cykl życia analizy danych:

Podobnie jak w metodzie naukowej, cykl życia analizy danych zaczyna się od pytania. Na przykład, moglibyśmy zapytać: „Jakie było najczęściej popełniane przestępstwo w San Francisco w Kalifornii 4 lipca 2014 roku?” Każdy etap cyklu życia analizy danych obejmuje wiele zadań, które muszą być wykonane przed przejściem do następnego etapu. Na rysunku pokazano tylko jeden przykładowy zadanie.

Oto krótki opis każdego etapu:
  • Zbieranie danych - Proces lokalizacji danych i określenia, czy jest ich wystarczająco dużo, aby przeprowadzić analizę. W tym przypadku szukalibyśmy otwartego zbioru danych statystyk przestępczości dla San Francisco w lipcu 2014 roku.
  • Przygotowanie danych - Ten etap może obejmować wiele zadań zmieniających dane na format odpowiedni dla narzędzia, które będzie używane. Zbiór danych dotyczący przestępczości może już być przygotowany do analizy. Jednak zwykle trzeba dokonać pewnych dostosowań, aby pomóc odpowiedzieć na pytanie.
  • Wybór modelu - Ten etap obejmuje wybór techniki analizy, która najlepiej odpowie na pytanie przy dostępnych danych. Po wybraniu modelu wybierane jest narzędzie (lub narzędzia) do analizy danych. W tym rozdziale nauczysz się korzystać z Pythona i bibliotek Pythona do przygotowywania, analizowania i prezentowania danych.
  • Analiza danych - Proces testowania modelu na danych i określenie, czy model i przeanalizowane dane są wiarygodne. Czy udało Ci się odpowiedzieć na pytanie za pomocą wybranego narzędzia?
  • Prezentacja wyników - To zazwyczaj ostatni etap dla analityków danych. Jest to proces komunikowania wyników decydentom. Czasami analityka danych jest proszony o zalecenie działań. Dla danych dotyczących przestępczości 4 lipca można by użyć wykresu słupkowego, wykresu kołowego lub innego przedstawienia, aby pokazać, które przestępstwo było najczęstsze. Analityk może sugerować zwiększenie obecności policji w niektórych obszarach, aby odstraszyć przestępców w określonym święcie, takim jak 4 lipca.
  • Podejmowanie decyzji - Ostatni etap cyklu życia analizy danych. Przywódcy organizacji włączają nową wiedzę jako część ogólnej strategii. Proces zaczyna się od nowa od zbierania danych.
12. Istnieje wiele różnych źródeł danych. Ogromna ilość danych historycznych znajduje się w plikach takich jak dokumenty MS Word, e-maile, arkusze kalkulacyjne, MS PowerPoint, PDF-y, HTML i pliki tekstowe. Różne aplikacje tworzą pliki w różnych formatach, które niekoniecznie są ze sobą kompatybilne. Z tego powodu potrzebny jest uniwersalny format pliku. Pliki wartości rozdzielonych przecinkami (CSV) są typem pliku tekstowego, wykorzystują przecinki do oddzielania kolumn w tabeli danych i znak nowej linii do oddzielania wierszy. Każdy wiersz jest rekordem. Chociaż są one powszechnie używane do importowania i eksportowania w tradycyjnych bazach danych i arkuszach kalkulacyjnych, nie ma określonego standardu. JSON i XML są również typami plików tekstowych, które wykorzystują standardowy sposób reprezentowania rekordów danych. Te formaty plików są kompatybilne z szerokim zakresem aplikacji. Konwersja danych do wspólnego formatu jest cennym sposobem łączenia danych z różnych źródeł.

13. Internet to dobre miejsce do szukania Big Data, gdzie można znaleźć różne rodzaje danych, w tym nieustrukturyzowane. Narzędzia do scrapingu sieciowego automatycznie wydobywają dane ze stron HTML i są podobne do crawlera sieciowego wyszukiwarki. Scraping sieciowy jest procesem automatycznym, który wykorzystuje bota lub crawlera sieciowego do zbierania i kopiowania konkretnych danych z sieci do bazy danych lub arkusza kalkulacyjnego. Może być używany do różnych rodzajów górnictwa danych, takich jak scraping kontaktów, oferty nieruchomości, dane pogodowe, badania i porównanie cen. Wiele dużych dostawców usług internetowych zapewnia standaryzowane interfejsy do automatycznego zbierania danych za pomocą API RESTful. Znajomość API dla tych witryn pozwala analitykom i inżynierom danych na dostęp do dużych ilości danych generowanych stale w Internecie.

14. Aby zaimplementować scraping sieciowy, proces musi najpierw pobrać stronę internetową, a następnie wyodrębnić z niej żądane dane. Scrapery sieciowe zazwyczaj pobierają coś ze strony, aby wykorzystać je w innym celu gdzie indziej. Być może scraper sieciowy jest używany do wyszukiwania i kopiowania nazwisk, numerów telefonów i adresów. Nazywa się to scrapingiem kontaktów.

15. Bazy danych zawierają dane, które zostały wyeksportowane, przekształcone i załadowane (ETL). ETL to proces „oczyszczania” surowych danych, aby można je było umieścić w bazie danych. Często dane są przechowywane w wielu bazach danych i muszą zostać połączone w jeden zestaw danych do analizy.
Większość baz danych zawiera dane, które są własnością organizacji i są prywatne. Jak wspomniano w poprzednim rozdziale, istnieje wiele publicznych baz danych, które mogą być przeszukiwane przez każdego. Na przykład, Internet ma kilka publicznych baz danych z drzewami genealogicznymi dostępnymi za darmo lub za niską cenę.

16. Ponieważ dane, które będą stanowić zestaw danych do analizy, mogą pochodzić z bardzo różnych źródeł, niekoniecznie są kompatybilne po połączeniu. Innym problemem jest to, że dane, które mogą być prezentowane jako tekst, muszą zostać przekonwertowane na typ numeryczny, jeśli mają być wykorzystane do analizy statystycznej. Typy danych są ważne, gdy języki komputerowe wykonują operacje na danych.


17. Data science to szybko rozwijająca się dziedzina, która zajmuje się zbieraniem, przetwarzaniem i analizą dużych ilości danych. Dane mogą pochodzić z różnych źródeł, takich jak bazy danych, media społecznościowe, czujniki i urządzenia IoT. Data science jest wykorzystywana w różnych dziedzinach, takich jak finanse, zdrowie, marketing, produkcja i logistyka.

Python to popularny język programowania używany w data science. Python jest łatwy do nauki i obsługi, a ma dużą bibliotekę pakietów do analizy danych. Pandas to popularna biblioteka Pythona do analizy danych. Pandas zawiera funkcje do wczytywania, przetwarzania i wizualizacji danych.

Data science to potężne narzędzie, które może być wykorzystywane do rozwiązywania złożonych problemów. Pomaga nam podejmować lepsze decyzje, zrozumieć świat wokół nas i tworzyć bardziej innowacyjne produkty i usługi.

18. wiele danych, które mają zostać umieszczone w bazie danych, aby można je było następnie przeszukiwać, pochodzi z różnych źródeł i w szerokim zakresie formatów. Wydobycie, Transformacja i Załadowanie (ETL) to proces gromadzenia danych z tych różnych źródeł, transformowania danych, a następnie ich załadowania do bazy danych. Dane jednej firmy można znaleźć w dokumentach Word, arkuszach kalkulacyjnych, zwykłym tekście, prezentacjach PowerPoint, e-mailach i plikach PDF. Dane te mogą być przechowywane na różnych serwerach, które używają różnych formatów.

ETL składa się z trzech kroków:
  • Krok 1. Wydobycie – Dane są pozyskiwane z kilku źródeł, a następnie konwertowane dane do jednego formatu. Potem następuje sprawdzenie czy mają pożądany typ informacji (wartości) - walidacja. Jeżeli występuje błąd następuje ich korekcja i akceptacja lub odrzucenie. 
  • Krok 2. Transformacja – Po pozyskaniu danych należy je przetransformować. Transformacja danych może obejmować agregację, sortowanie, czyszczenie i łączenie danych z kilku źródeł. Następnie stosowane są reguły walidacji. 
  • Krok 3. Załadowanie – Przekształcone dane są następnie załadowane do docelowej bazy danych w celu przeszukiwania. Podczas kroku ładowania są stosowane reguły zdefiniowane w schemacie bazy danych. Niektóre z tych reguł sprawdzają unikalność i spójność danych, pola, które są obowiązkowe, muszą mieć wymagane wartości itp. Te reguły pomagają zagwarantować, że ładowanie i wszelkie dalsze zapytania do danych są pomyślne.
Przykłady zadań transformacji danych:
  • Konwersja danych z imperialnej na metryczną
  • Agregacja danych (np. sumowanie, średnia)
  • Sortowanie danych
  • Wyznaczanie nowych wartości z danych agregowanych (np. mediana)
  • Zastosowanie reguł walidacji (np. sprawdzenie, czy wszystkie wartości są w odpowiednim zakresie)
Przykłady czyszczenia danych:
  • Usuwanie duplikatów
  • Usuwanie błędnych wartości (np. liter w polach liczbowych)
  • Zmiana formatu danych (np. konwersja dat z formatu dd/mm/rrrr na rrrr-mm-dd)
  • Uzupełnianie brakujących wartości
19. Etyczne wykorzystanie danych nadal budzi niepokój wielu osób, a reakcja rządów na przepisy dotyczące ochrony danych różni się w zależności od kraju. Unia Europejska wprowadziła najbardziej rygorystyczne przepisy, w tym RODO, które weszło w życie 25 maja 2018 r. Wymaga ono od organizacji przestrzegania przepisów dotyczących prywatności danych obywateli UE. W październiku 2015 r. Trybunał Sprawiedliwości UE stworzył Tarczę Prywatności UE-USA, która wymaga od firm w USA ochrony danych osobowych Europejczyków. W sierpniu 2013 r. Revolution Analytics przeprowadziło ankietę wśród naukowców zajmujących się danymi, z której wynika, że większość z nich uważa, że konsumenci powinni martwić się kwestiami prywatności i że powinna istnieć etyczna ramowa dla zbierania i wykorzystywania danych.

20. Poufność, integralność i dostępność, to trzy wytyczne dla bezpieczeństwa danych dla organizacji. Poufność zapewnia prywatność danych poprzez ograniczenie dostępu poprzez uwierzytelnianie szyfrowanie. Integralność zapewnia, że informacje są dokładne i godne zaufania. Dostępność zapewnia, że informacje są dostępne dla uprawnionych osób..

Poufność
Innym terminem na poufność byłaby prywatność. Polityka firmy powinna ograniczać dostęp do informacji do uprawnionego personelu i zapewniać, że tylko te uprawnione osoby przeglądają te dane. Dane mogą być podzielone według poziomu bezpieczeństwa lub wrażliwości informacji. Na przykład programista Java nie powinien mieć dostępu do danych osobowych wszystkich pracowników. Ponadto pracownicy powinni otrzymywać szkolenia, aby zrozumieć najlepsze praktyki w zakresie ochrony wrażliwych informacji w celu ochrony siebie i firmy przed atakami. Metody zapewnienia poufności obejmują szyfrowanie danych, identyfikator użytkownika i hasło, dwuetapowe uwierzytelnianie oraz minimalizowanie narażenia wrażliwych informacji.

Integralność
Integralność to dokładność, spójność i wiarygodność danych podczas całego cyklu życia. Dane muszą być niezmienione podczas transmisji i nie mogą być zmieniane przez nieuprawnione podmioty. Uprawnienia do plików i kontrola dostępu użytkownika mogą zapobiec nieautoryzowanemu dostępowi. Kontrola wersji może być używana do zapobiegania przypadkowym zmianom przez uprawnionych użytkowników. Kopie zapasowe muszą być dostępne, aby przywrócić uszkodzone dane, a sumy kontrolne mogą być używane do weryfikacji integralności danych podczas transmisji.

Suma kontrolna służy do weryfikacji integralności plików lub ciągów znaków po ich przesłaniu z jednego urządzenia na drugie przez sieć lokalną lub Internet. Sumy kontrolne są obliczane za pomocą funkcji skrótu. Niektóre z powszechnych funkcji skrótu to MD5, SHA-1, SHA-256 i SHA-512. Funkcja skrótu używa algorytmu matematycznego do przekształcenia danych w wartość o stałej długości reprezentującą dane, jak przedstawiono na Rysunku 2. Skrócona wartość służy tylko do porównania. Z wartości skróconej nie można bezpośrednio odzyskać oryginalnych danych. Na przykład, jeśli zapomniałeś hasła, twoje hasło nie może być odzyskane z wartości skróconej. Hasło musi zostać zresetowane.

Po pobraniu pliku możesz zweryfikować jego integralność, porównując wartości skrótu ze źródła z tymi wygenerowanymi przez dowolny kalkulator skrótu. Porównując wartości skrótu, możesz upewnić się, że plik nie został naruszony ani uszkodzony podczas transmisji.

Dostępność
Utrzymanie sprzętu, wykonywanie napraw sprzętu, aktualizacja systemów operacyjnych i oprogramowania oraz tworzenie kopii zapasowych zapewniają dostępność sieci i danych dla uprawnionych użytkowników. Powinny istnieć plany szybkiego odzyskiwania po katastrofach naturalnych lub spowodowanych przez człowieka. Sprzęt lub oprogramowanie zabezpieczające, takie jak zapory ogniowe, chronią przed przestojami spowodowanymi atakami, takimi jak odmowa usługi (DoS). Odmowa usługi występuje, gdy atak próbuje przeciążyć zasoby, aby usługi nie były dostępne dla użytkowników.
  • Ochrona danych - chroni ważne informacje przed uszkodzeniem lub kradzieżą
  • Prywatność danych - zdolność do określenia jakie dane w sieci lub w systemie komputerowym mogą być udostępnione stronom trzecim.
  • Bezpieczeństwo danych - chroni dane przed przypadkowym lub zamierzonym, ale nieuprawnionym udostępnieniem, zmianą lub zniszczeniem. Odbywa się to za pomocą fizycznych środków bezpieczeństwa i zabezpieczeń administracyjnych sieci, które ograniczają dostęp do danych.
  • Poufność danych - umożliwia upoważnionym użytkownikom dostęp do wrażliwych i chronionych danych.
21. Wiele osób obecnie ufa usługom chmurowym w przechowywaniu swoich danych. Dane uwierzytelniające konta użytkownika, dane finansowe, osobiste zdjęcia i kontakty są przechowywane w chmurze. Odpowiedzialność za bezpieczeństwo danych rozciąga się teraz poza użytkownika na dostawców usług chmurowych. Ważne jest, aby użytkownik upewnił się, że przestrzega procedur bezpieczeństwa, stosując silną politykę haseł i właściwe metody uwierzytelniania. Dostawca usług chmurowych musi również wdrożyć kontrole bezpieczeństwa chmury. Istnieją cztery ogólne kategorie kontroli bezpieczeństwa chmury:

Odstraszające - Ten rodzaj kontroli ma na celu zmniejszenie skali ataku. Często napastnik jest ostrzegany, że atak będzie miał poważne konsekwencje, jeśli zostanie przeprowadzony. 
Prewencyjne - Aktualne oprogramowanie i sprzęt to przykłady kontroli prewencyjnych, zaprojektowanych w celu zmniejszenia podatności i zmniejszenia prawdopodobieństwa wystąpienia ataku. 
Wykrywające - Aktywna kontrola bezpieczeństwa, taka jak wykrywanie włamań, ma na celu odkrycie ataku i zareagowanie na niego poprzez poinformowanie następnej kontroli bezpieczeństwa, kontroli korygującej. 
Korygujące - Ta kontrola ma na celu zmniejszenie skutków udanego ataku.

22. Pojęcia związane z programowaniem obiektowym:

Programowanie obiektowe (OOP) w Pythonie to paradygmat programowania, który wykorzystuje obiekty i klasy w programowaniu. Jego celem jest implementacja realnych bytów, takich jak dziedziczenie, polimorfizm, enkapsulacja itp. w programowaniu. 

Moduł  to plik zawierający definicje i instrukcje, które można zaimportować do innego programu. Moduły są używane do organizowania kodu i ułatwienia ponownego użycia. Na przykład, moduł math zawiera wiele funkcji matematycznych, takich jak sqrt() do obliczania pierwiastka kwadratowego.

Klasa to sposób definiowania nowego typu obiektu, który łączy dane (atrybuty) i funkcje (metody) w jedną całość. Klasy są podstawą programowania zorientowanego obiektowo w Pythonie. Na przykład, można zdefiniować klasę Pies, która ma atrybuty takie jak imie i wiek, oraz metody takie jak szczekaj i merdaj_ogonem.

Obiekt to instancja klasy. Obiekty są tworzone poprzez wywołanie konstruktora klasy, który tworzy nowy obiekt i inicjuje jego atrybuty. Na przykład, można utworzyć obiekt mój_pies klasy Pies i ustawić jego atrybuty na odpowiednie wartości.

Metoda to funkcja zdefiniowana w klasie, która operuje na danych obiektu. Metody są wywoływane na obiekcie za pomocą składni kropkowej. Na przykład, można wywołać metodę szczekaj na obiekcie mój_pies za pomocą składni mój_pies.szczekaj(). Metody często mają dostęp do atrybutów obiektu za pomocą specjalnego parametru self, który odnosi się do bieżącej instancji klasy.

23. SQL (Structured Query Language) to język programowania używany do zarządzania i manipulowania danymi w relacyjnych bazach danych. Oto podstawowe polecenia SQL:
  • SELECT: Polecenie SELECT służy do wybierania danych z bazy danych. Można je użyć, aby wybrać jedną lub więcej kolumn z jednej lub więcej tabel. Na przykład, aby wybrać wszystkie kolumny z tabeli klienci, można użyć następującego zapytania: SELECT * FROM klienci;

  • INSERT: Polecenie INSERT służy do dodawania nowych rekordów do tabeli. Na przykład, aby dodać nowego klienta do tabeli klienci, można użyć następującego zapytania: INSERT INTO klienci (imie, nazwisko) VALUES ('Jan', 'Kowalski');

  • UPDATE: Polecenie UPDATE służy do modyfikowania istniejących rekordów w tabeli. Na przykład, aby zmienić nazwisko klienta o identyfikatorze 1 na “Nowak” w tabeli klienci, można użyć następującego zapytania: UPDATE klienci SET nazwisko = 'Nowak' WHERE id = 1;

  • DELETE: Polecenie DELETE służy do usuwania rekordów z tabeli. Na przykład, aby usunąć klienta o identyfikatorze 1 z tabeli klienci, można użyć następującego zapytania: DELETE FROM klienci WHERE id = 1;

Te cztery polecenia to podstawowe operacje CRUD (Create, Read, Update, Delete) w SQL i są niezbędne do zarządzania danymi w relacyjnych bazach danych.