This commit is contained in:
MikolajPaterka 2022-02-12 22:18:53 +01:00
parent 0fe90733c8
commit d078d14030
1 changed files with 56 additions and 9 deletions

View File

@ -203,7 +203,12 @@ stos - stktura danych, w której dodajemy elemanty na samą górę i zdjemujemy
### 8. Złożoność czasowa, klasy P i NP, problem P=NP. Redukowalność w czasie wielomianowym, NP-zupełność.
?
Klasa P - problemy, które potrafimy rozwiązać w czasie co najwyzej wielomianowym\
Klasa NP - problemy, których nie znamy rozwiązań w czasie wielomianowym lub mniejszym (czyli zadania o złozoności co najmniej wykładniczej)\
P = NP - kazdy problem P jest NP, ale nie wiadomo czy istnieje problem NP który jest P\
Redukowalność w czasie wielomianowym - problem, funkcję można obliczyć w czasie wielomianowym.
NP-zupełność - to problem który należy do klasy NP, oraz dowolny problem należący do NP, może być do niego zredukowany w czasie wielomianowym
### 9. Systemy plików (atrybuty pliku, katalogi, dowiązania twarde i symboliczne).
**atrybut pliku** - cecha charakterystyczna pliku\
@ -264,14 +269,14 @@ https://docs.microsoft.com/pl-pl/office/troubleshoot/access/database-normalizati
Załóżmy, że mamy transakcję składającą się z 10 zapytań. Jeżeli ostatnie zapytanie będzie skutkowało błędem, to zmiany dokonane przez poprzednie 9 zapytań zostaną cofnięte, a transakcja nie zostanie zakończona pomyślnie.
**ACID** - Jednym ze zbiorów zasad definiujących cechy jakie powinny spełniać trasakcje jest ACID.\
**A** - Atomowość (atomicity) oznacza, że każda operacja na bazie danych jest traktowana jako osobny, niepodzielny byt. Co więcej, albo wszystkie operacje zakończą się pomyślnie, albo żadna z nich nie zostanie zaaplikowana. Mówiąc w skrócie wszystko albo nic.\
Transakcja mimo tego, że jest zbiorem działań musi zostać wykonana jako jedna jednostka. Musi odbywać się w jednym momencie i nie może zostać podzielona na podzbiory.
Transakcja mimo tego, że jest zbiorem działań musi zostać wykonana jako jedna jednostka. Musi odbywać się w jednym momencie i nie może zostać podzielona na podzbiory.\
**C** - Spójność (consistency) ta zasada stoi na straży spójności danych. Każda transakcja zmienia stan bazy z jednego poprawnego stanu na inny stan, również poprawny. Oznacza to także, że transakcja nie może łamać nałożonych na bazę reguł, ograniczeń i wyzwalaczy. \
System musi być spójny po zakończeniu transakcji.
System musi być spójny po zakończeniu transakcji.\
**I** - Izolacja (isolation), równolegle uruchomione transakcje powinny być wyizolowane i nie powinny wpływać na siebie nawzajem. Oznacza to, że powinny się zachowywać tak, jakby były wykonywane sekwencyjnie.\
Każda transakcja musi być wykonywana niezależnie od innych transakcji, które mogą być wykonywane w tym samym czasie.
Każda transakcja musi być wykonywana niezależnie od innych transakcji, które mogą być wykonywane w tym samym czasie.\
**D** - Trwałość (durability), zmiany poczynione w trakcie transakcji są permanentne. Oznacza to, że rezultaty transakcji są trwale zapisane w bazie danych niezależnie od dalszych awarii. \
Wykonana transakcja musi zostać utrwalona na stałe.
Poziomy izolacji - jak transakcje mogą wpływać na siebie, bardzo mocno, mocno, słabo albo wcale. I w zależności od tego jak wpływają to albo mamy więcej tych zjawisk (niepożądanych zjawisk dodajmy), albo mniej. (Def 2) definiuje dostęp do określonych zasobów przez wiele równoległych procesów\
Poziomy izolacji - jak transakcje mogą wpływać na siebie, bardzo mocno, mocno, słabo albo wcale. I w zależności od tego jak wpływają to albo mamy więcej tych zjawisk (niepożądanych zjawisk dodajmy), albo mniej. (Def 2) definiuje dostęp do określonych zasobów przez wiele równoległych procesów
- READ UNCOMMITTED możliwy brudny odczyt, odczyt nie dający się powtórzyć i odczyt widmo. Problemem tutaj jest to, że chcesz wykonać jedną transakcje na jakiś danych, ale te dane w między czasie zostały już uprzednio zmodyfikowane przez inną
- READ COMMITTED - jest to domyślna opcja, która powoduje, że we wspomnianym przykładzie zostaną odczytane dane sprzed rozpoczęcia pierwszej transakcji. Podstawową wadą tej opcji jest oczywiście odwrotna sytuacja niż poprzednio w momencie zatwierdzenia transakcji dane zostaną zmienione czyli nasz pierwotny odczyt będzie nieaktualny.
@ -355,10 +360,10 @@ repozytorium - miejsce, gdzie w sposób uporządkowny przechowywyje się kod opr
odpowiednio i świadomie wykorzystane bardzo pomagają w procesie tworzenia i rozwijania oprogramowania. Ale, co mniej oczywiste mogą też zaszkodzić! \
testujemy pojedynczą część kodu zazwyczaj klasę lub metodę
https://devstyle.pl/2020/06/25/mega-pigula-wiedzy-o-testach-jednostkowych/
**modułowe** - oznacza to nic innego jak testowanie każdej metody, funkcji, klasy, modułu czy elementu w pojedynczy sposób. Kazdy elemant jest traktowany osobno (?)\
**modułowe** - oznacza to nic innego jak testowanie każdej metody, funkcji, klasy, modułu czy elementu w pojedynczy sposób, testy jedneostkowe metody\
**integracyjne** - testujemy kilka komponentów systemu jednocześnie. Testy integracyjne wykorzystają moduły przetestowane jednostkowo, grupując je w większe agregaty. Kolejnym etapem jest zastosowanie testów zdefiniowanych dla tych agregatów w planie testów integracji. Efektem testów jest zintegrowany system gotowy na testy systemowe \
**ciągła integracja** - ?\
**scenariusze testowe** - ?\
**ciągła integracja** - praktyka programistyczna, rozwązuje problem budowania, testowania i integracji kodu, podastawą są pojedyncze współdzielone repozytoria. Efektywność tej praktyki zalezy od członków zespołu. Zamiany powinny być wrzucane często przynajmniej raz dziennie, przez co łatwo jest uwzględniać zmiany w kodzie
**scenariusze testowe** - dokument zawirający zbiór przypadków testowych potrzebnych do sprawdzenia poprawności działania systemu w określonym zakresie. Kazdy scenariusz powinien być odzwierciedleniem dokładnie określonej funkcjonalności. Kazdy scenariusz powinien zawierać: id, wykaz czynności przygotowawczych, przypadek testowy, oczekiwany resultat\
**testy akceptacyjne** - Cele testowania akceptacyjnego to najczęściej:
- budowanie zaufania do systemu;
- sprawdzanie kompletności systemu i jego prawidłowego działania;
@ -446,6 +451,35 @@ stosuje się qos; stosuje się klasyfikowanie i tagowanie ramek (Tos w IP, na po
są to sposoby szyfrowania transmisji danych
### 26. Reprezentacja zmiennopozycyjna liczb. Błędy w obliczeniach, uwarunkowanie zadania, numeryczna stabilność algorytmów.
Wartość liczby zmianno przecinkowej mozna zapisać za pomocą wzoru:\
[-1^{znak} * 2^{wykładnik} * mantysa] \
Zapis liczby zmiennoprzecinkowej zdjęcie\
https://www.samouczekprogramisty.pl/assets/images/2017/11/06_IEEE_754_pojedyncza_precyzja.png
Znak - dodatnia lub ujemna lub 0, jeśli w bit zawiera 0 to liczba jest dodatnia\
Wykładnik - wykładnik moze być z zakresu -127 do 128^1, jest zapisywany na 8 bitach, uzywa się kodowania z nadmiarem, wynosi on -127 [bias ] (od zakodowanej liczby nalezy odjąć liczbę 127 aby uzyskać zakodowaną warość)\
Mantysa - jest zapisana na 23 bitach, zawiera właściwą liczbę, która zostaje pomnozona przez wykładnik zgodnie ze wzorem
Przykład: liczba 0,0001010110001; po normalizacji to 1,010110001 * 2^{-4}\
W znormalizowanej mantysie mamy zawsze jedynkę na początku, zatem ją pomijamy; zatem mając liczbę: 1,010110001 mantysa będzie miała wartość: 0101 1000 1000 0000 0000 000 (zostały uzupełnione zera do 23 miejsc)\
Przykład cały\
Liczba: 270,125; binarnie to 100001110,001; po znoramlizowaniu to: 1,00001110001 * 2^{8}\
Mamy 11 miejsc, a mantysa powinna mieć 23 więc resztę uzupełniamy zerami, podstać mantysy:
```a
0000 1110 0010 0000 0000 000
```
Nasz wykładnik to 8, wynika to z przesunięcia normalizacji mantysy. Pamiętając o sposobie kodowania wykładnika dodaję 127. Koduję 135 co daje w zapsie binarnym:\
```a
1000 0111
````
Naszaa liczba jest dodatnia więc bit znaku to 0\
Cała liczba wygląd atak:
```a
0 1000 0111 0000 1110 0010 0000 0000 000
```
### 27. Algorytm Hornera.
Schemat Hornera jest algorytmem służącym do bardzo szybkiego obliczania wartości wielomianu. Redukuje on liczbę mnożeń do minimum.\
@ -556,5 +590,18 @@ hipotezy - ?\
**poziom istotności testu** - przyjęte z góry dopuszczalne ryzyko popełnienia błędu I rodzaju (uznania prawdziwej hipotezy zerowej za fałszywą), pozwalające określić, powyżej jakich odchyleń zaobserwowanych w próbie test rozstrzygnie na korzyść hipotezy alternatywnej
### 40. Symetryczne i asymetryczne protokoły szyfrowania. Algorytmy szyfrowania z kluczem tajnym oraz z kluczem publicznym.
algorytmy symetryczne - to takie, w których kluczb do szyfrowania i deszyfrowania jest ten sam lub jeden mozna w łatwy sposób wyprowadzić z drugiego, przykłady: AES\
algorytmy asymetryczne - zawane algorytmami z kluczem jawnym lub publicznym, klucze do szyfrowani i deszyfrowania są rózne i jeden klucz nie mozna wyzczyć z drugiego, przykłady: RSA
### 41. Algorytmy czasu wielomianowego i wykładniczego ze względu na liczbę bitów danych. Notacja wielkie O.
### 42. Funkcje jednokierunkowe. Bezpieczeństwo systemów kryptograficznych.
Algorytmy czasu wielomianowego i wykładniczego ze względu na liczbę bitów danych -
Notacja wielkie O - to notacja przedstawiająca asymptotyczne tempo wzrost, wykorzystywana do zapisywania złozoności obliczeniowej algorytmów.\
f(n) = O(g(n)) oznacza, że istnieje taka wartość n0, że dla każdego n większego od n0 jest spełniona nierówność: f(n) ≤ cg(n), gdzie c jest stałą wartością
### 42. Funkcje jednokierunkowe. Bezpieczeństwo systemów kryptograficznych.
Funcja jednokierunkowa - funkcja, którą łatwo obliczyć, ale za to dużo trudniej obliczyć wartość jej funkcji odwrotnej. Znając wartośc *x* mozna łatwo oblczyć *f(x)*. Z drugiej strony znając *f(x)* trudno oobliczyć *x*\
(W sensie ściśle matematycznym nie jest udowodnione, że funkcje jednokierunkowe rzeczywiście istnieją)
Bezpieczeństwo