Jak działa oprogramowanie? Tajemnice komputerowych mechanizmów szyfrowania, obrazowania, wyszukiwania i innych powszechnie używanych technologii - ebook
Jak działa oprogramowanie? Tajemnice komputerowych mechanizmów szyfrowania, obrazowania, wyszukiwania i innych powszechnie używanych technologii - ebook
Rzut oka na tajemniczy świat oprogramowania
Zawrotny rozwój technologii informatycznych sprawia, że coraz więcej osób chce poznać zasady działania oprogramowania, zwłaszcza tego najpopularniejszego. Bez znajomości pewnych zjawisk łatwo można paść ofiarą tych, którzy już tę wiedzę posiedli. Nie trzeba do tego ukończonych studiów technicznych!
Książka, którą trzymasz w dłoni, opisuje działanie różnych rodzajów oprogramowania. Autor w przystępny i interesujący sposób wyjaśnia trudne i złożone kwestie. Nie musisz być informatykiem ani znać podstaw programowania, aby zrozumieć procesy, które przebiegają w magicznie lśniących układach scalonych, skrytych pod obudową komputera czy smartfona. Ta książka będzie Twoim przewodnikiem!
Dowiedz się, jak działa oprogramowanie:
- do szyfrowania i kryptografii z kluczem publicznym
- do obsługi haseł i podpisów cyfrowych
- do animacji i renderowania obrazu, a także do tworzenia grafiki gier
- do kompresji danych, w tym obrazów (JPEG) i wideo (MPEG-2)
- do wyszukiwania informacji w wielkich zbiorach danych
- do nawigacji i obsługi map
Sprawdź, jak bardzo fascynujące są tajniki oprogramowania!
V. Anton Spraul — od kilkunastu lat wykłada informatykę dla studentów i początkujących programistów. Jest autorem kilku bardzo popularnych książek, znakomicie ułatwiających zrozumienie zasad programowania. Spraul niezwykle chętnie dzieli się swoją wiedzą. Prowadzi bloga, publikuje filmy na YouTubie. Mieszka w Birmingham w stanie Alabama, a jego pasje, poza informatyką, to tworzenie muzyki i gry komputerowe. Do gier używa sprzętu, który sam zbudował!
Spis treści
O autorze (9)
O recenzencie technicznym (9)
Podziękowania (11)
Wstęp (13)
1. Szyfrowanie (17)
- Cel szyfrowania (18)
- Przestawianie - te same dane, różny porządek (19)
- Klucze szyfrów (20)
- Łamanie szyfrów (22)
- Podstawianie - zastępowanie danych (23)
- Zmienianie wzorca podstawiania (23)
- Poszerzanie klucza (25)
- Zaawansowany standard szyfrowania (26)
- Podstawy dwójkowe (27)
- Szyfrowanie AES w ujęciu ogólnym (29)
- Poszerzanie klucza w AES (30)
- Rundy szyfrowania AES (31)
- Łańcuchowanie bloków (33)
- Dlaczego AES jest bezpieczny (33)
- Możliwe ataki na AES (35)
- Ograniczenia szyfrowania z kluczem symetrycznym (36)
2. Hasła (37)
- Przekształcanie hasła w liczbę (38)
- Cechy dobrych funkcji haszowania (38)
- Funkcja skrótu MD5 (39)
- Kodowanie hasła (39)
- Operacje bitowe (40)
- Rundy haszowania MD5 (42)
- Spełnienie kryteriów dobrej funkcji haszowania (43)
- Podpisy cyfrowe (43)
- Problem tożsamości (44)
- Ataki z wykorzystaniem kolizji (44)
- Hasła w systemach uwierzytelniania (45)
- Zagrożenia dotyczące tablic haseł (45)
- Haszowanie haseł (46)
- Ataki słownikowe (47)
- Tablice haszowania (48)
- Łańcuchowanie haszowania (48)
- Haszowanie iteracyjne (51)
- Solenie haseł (52)
- Czy tablice haseł są bezpieczne (53)
- Usługa przechowywania haseł (54)
- Przemyślenia końcowe (55)
3. Bezpieczeństwo w Sieci (57)
- Jak kryptografia z kluczem publicznym rozwiązuje problem wspólnego klucza (58)
- Matematyczne narzędzia kryptografii z kluczem publicznym (59)
- Funkcje odwracalne (59)
- Funkcje jednokierunkowe (60)
- Funkcje z bocznym wejściem (60)
- Metoda szyfrowania RSA (63)
- Tworzenie kluczy (63)
- Szyfrowanie danych za pomocą RSA (65)
- Efektywność RSA (66)
- Zastosowanie szyfru RSA w rzeczywistym świecie (68)
- Użycie RSA do uwierzytelniania (71)
- Bezpieczeństwo w Sieci - protokół HTTPS (73)
- Wymiana potwierdzeń (74)
- Przesyłanie danych protokołem HTPPS (75)
- Czy problem wspólnego klucza został rozwiązany? (77)
4. Film CGI (79)
- Oprogramowanie tradycyjnej animacji (81)
- Jak działają obrazy cyfrowe (81)
- Sposoby definiowania kolorów (83)
- Jak oprogramowanie wykonuje animacje celuloidowe (84)
- Od oprogramowania animacji celuloidowej do renderowanej grafiki 2D (91)
- Oprogramowanie trójwymiarowej grafiki CGI (92)
- Jak opisuje się sceny trójwymiarowe (92)
- Kamera wirtualna (93)
- Oświetlenie bezpośrednie (93)
- Oświetlenie całego planu (98)
- Jak śledzić światło (99)
- Wygładzanie krawędzi w całej scenie (103)
- Łączenie rzeczywistego ze sztucznym (104)
- Ideał renderowania z jakością filmową (105)
5. Grafika gier (107)
- Sprzęt do grafiki tworzonej w czasie rzeczywistym (108)
- Dlaczego w grach nie stosuje się śledzenia promieni (109)
- Same odcinki i żadnych krzywych (110)
- Rzutowanie bez śledzenia promieni (110)
- Renderowanie trójkątów (112)
- Algorytm malarza (113)
- Buforowanie głębokości (113)
- Oświetlanie w czasie rzeczywistym (115)
- Cienie (117)
- Światło otaczające i jego pochłanianie (118)
- Nanoszenie tekstur (120)
- Próbkowanie metodą najbliższego sąsiada (121)
- Filtrowanie dwuliniowe (123)
- Mipmapy (124)
- Filtrowanie trójliniowe (125)
- Odbicia (126)
- Fabrykowanie krzywizn (128)
- Oszukiwanie na dużych odległościach (129)
- Odwzorowywanie wypukłości (129)
- Mozaikowanie (130)
- Wygładzanie krawędzi w czasie rzeczywistym (132)
- Superpróbkowanie (132)
- Wielopróbkowanie (134)
- Poprocesowe wygładzanie krawędzi (135)
- Budżet obrazowania (136)
- Co jeszcze w związku z grafiką gier (137)
6. Kompresja danych (139)
- Kodowanie długości serii (141)
- Kompresja słownikowa (142)
- Podstawowa metoda (143)
- Kod Huffmana (144)
- Reorganizacja danych w celu lepszej kompresji (146)
- Kodowanie z przewidywaniem (146)
- Kwantyzacja (147)
- Obrazy w formacie JPEG (148)
- Inny sposób zapamiętywania kolorów (148)
- Dyskretna transformacja kosinusowa (149)
- DCT w dwóch wymiarach (152)
- Kompresowanie wyników (156)
- Jakość obrazów JPEG (159)
- Kompresja wideo wysokiej rozdzielczości (162)
- Nadmiarowość czasowa (162)
- Wideokompresja MPEG-2 (163)
- Jakość wideo z kompresją czasową (166)
- Teraźniejszość i przyszłość wideokompresji (168)
7. Wyszukiwanie (169)
- Zdefiniowanie problemu wyszukiwania (170)
- Porządkowanie danych (170)
- Sortowanie przez wybór (170)
- Sortowanie szybkie (171)
- Wyszukiwanie binarne (175)
- Indeksowanie (176)
- Haszowanie (178)
- Przeszukiwanie Sieci (181)
- Klasyfikacja wyników (182)
- Efektywne zastosowanie indeksów (184)
- Co dalej w związku z wyszukiwaniem w Sieci (185)
8. Współbieżność (187)
- Po co ta współbieżność? (187)
- Wydajność (188)
- Środowiska z wieloma użytkownikami (188)
- Wielozadaniowość (188)
- Kiedy współbieżność zawodzi (189)
- Jak działać współbieżnie i bezpiecznie (192)
- Dane tylko do czytania (192)
- Przetwarzanie transakcyjne (193)
- Semafory (194)
- Problem nieskończonego oczekiwania (196)
- Kolejki uporządkowane (196)
- Głodzenie wynikające z czekania cyklicznego (196)
- Kwestie sprawności semaforów (199)
- Co jeszcze w związku ze współbieżnością (200)
9. Trasy na mapach (203)
- Czym jest mapa w rozumieniu oprogramowania (203)
- Wyszukiwanie najpierw najlepszej (205)
- Ponowne wykorzystanie wcześniejszych wyników wyszukiwania (209)
- Jednoczesne znajdowanie wszystkich najlepszych tras (211)
- Algorytm Floyda (212)
- Zapamiętywanie kierunków tras (215)
- Przyszłość wytyczania tras (218)
Skorowidz (219)
Kategoria: | Grafika komputerowa |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-2594-4 |
Rozmiar pliku: | 5,7 MB |