sobota
This commit is contained in:
parent
0fe90733c8
commit
d078d14030
63
Pytania.md
63
Pytania.md
@ -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.
|
||||
|
||||
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
|
Loading…
Reference in New Issue
Block a user