Sekretne - Helion

Tłumaczenie: Tomasz Lewandowski
ISBN: 978-83-01-21775-4
stron: 516, Format: ebook
Data wydania: 2022-03-01
Księgarnia: Helion
Cena książki: 83,20 zł (poprzednio: 104,00 zł)
Oszczędzasz: 20% (-20,80 zł)
Osoby które kupowały "Sekretne ", wybierały także:
- Superinteligencja. Scenariusze, strategie, zagro 67,73 zł, (14,90 zł -78%)
- Poradnik design thinking - czyli jak wykorzysta 49,67 zł, (14,90 zł -70%)
- F# 4.0 dla zaawansowanych. Wydanie IV 96,45 zł, (29,90 zł -69%)
- Systemy reaktywne. Wzorce projektowe i ich stosowanie 65,31 zł, (20,90 zł -68%)
- GameMaker. Kurs video. Kompleksowy przewodnik tworzenia gier platformowych 154,58 zł, (55,65 zł -64%)
Spis treści
Sekretne życie programów eBook -- spis treści
PODZIĘKOWANIA xix WSTĘP xxi WPROWADZENIE xxv Dlaczego dobre programowanie jest ważne xxvi Nauka programowania to dopiero początek xxvii Znaczenie podstawowej wiedzy xxviii Kto powinien przeczytać tę książkę? xxix Czym jest komputer? xxix Czym jest programowanie? xxx Kodowanie, programowanie, inżynieria i informatyka xxxii Krajobraz xxxiv Co się znajduje w tej książce xxxvi 1. JĘZYK WEWNĘTRZNY KOMPUTERÓW 1 Czym jest język? 2 Język pisany 2 Bit 3 Operacje logiczne 3 Algebra boolowska 4 Prawo de Morgana 5 Przedstawianie liczb naturalnych za pomocą bitów 6 Przedstawianie liczb dodatnich 6 Dodawanie binarne 9 Przedstawianie liczb ujemnych 11 Przedstawianie liczb rzeczywistych 15 Postać stałoprzecinkowa 15 Postać zmiennoprzecinkowa 17 Standard liczb zmiennoprzecinkowych IEEE 18 Zapis dziesiętny kodowany dwójkowo 19 Łatwiejsze sposoby pracy z liczbami dwójkowymi 20 Postać ósemkowa 20 Postać szesnastkowa 20 Przedstawienie kontekstu 21 Nazewnictwo grup bitów 22 Przedstawianie tekstu 23 Amerykański standardowy kod do wymiany informacji (ASCII) 24 Rozwój innych standardów 26 8-bitowy format transformacji Unicode 26 Używanie znaków do przedstawiania liczb 28 Kodowanie Quoted-Printable 28 Kodowanie Base64 28 Kodowanie URL 29 Przedstawianie barw 30 Dodanie przejrzystości 32 Kodowanie kolorów 33 Podsumowanie 33 2. UKŁADY KOMBINACYJNE 35 W obronie komputerów cyfrowych 36 Różnica między analogowym a cyfrowym 37 Dlaczego rozmiar sprzętu ma znaczenie 39 Cyfrowe urządzenia są stabilniejsze 40 Cyfrowe urządzenia w analogowym świecie 41 Dlaczego używamy bitów zamiast cyfr 43 Krótkie wprowadzenie do elektryczności 44 Analogia hydrauliczna 44 Przełączniki elektryczne 47 Budowanie sprzętu do obsługi bitów 50 Przekaźniki 50 Lampy próżniowe 53 Tranzystory 54 Układy scalone 55 Bramki logiczne 56 Histereza jako sposób na zwiększenie odporności na szum 57 Przesyłanie różnicowe 59 Czas propagacji 60 Rodzaje wyjść 61 Budowa bardziej skomplikowanych obwodów 64 Budowa sumatora 64 Budowa dekoderów 67 Budowa demultiplekserów 68 Budowa selektorów 69 Podsumowanie 71 3. UKŁADY SEKWENCYJNE 73 Przedstawianie czasu 74 Oscylatory 74 Zegary 75 Przerzutniki 76 Przerzutniki bramkowane 77 Flip-flopy 79 Liczniki 82 Rejestry 84 Organizacja i adresowanie pamięci 84 Pamięć o dostępie swobodnym (RAM) 87 Pamięć tylko do odczytu (ROM) 89 Urządzenia blokowe 91 Pamięć typu Flash oraz napędy SSD 94 Wykrywanie i naprawianie błędów 94 Sprzęt kontra oprogramowanie 96 Podsumowanie 97 4. ANATOMIA KOMPUTERA 99 Pamięć 100 Wejście i wyjście 102 Jednostka centralna 103 Jednostka arytmetyczno-logiczna 103 Przesuwalność 106 Jednostka wykonawcza 107 Plan instrukcji 109 Instrukcje 109 Tryby adresowania 111 Instrukcje kodów warunkowych 112 Instrukcje rozgałęzienia 112 Ostateczny plan instrukcji 113 Ostateczny projekt 116 Rejestr instrukcji 116 Ścieżki danych i sygnały kontrolne 117 Sterowanie ruchem 118 Zbiory instrukcji RISC i CISC 121 Procesor graficzny 122 Podsumowanie 122 5. ARCHITEKTURA KOMPUTERA 123 Podstawowe elementy architektoniczne 124 Rdzenie procesora 124 Mikroprocesory i mikrokomputery 125 Procedury, podprogramy i funkcje 126 Stosy 128 Przerwania 132 Adresowanie względne 134 Jednostki zarządzania pamięcią 136 Pamięć wirtualna 138 Przestrzeń użytkownika i przestrzeń systemowa 139 Hierarchia pamięci i wydajność 140 Koprocesory 142 Układ danych w pamięci 143 Wykonywanie programów 144 Zasilanie pamięci 146 Podsumowanie 146 6. ANALIZA KOMUNIKACJI 147 Niskopoziomowe we/wy 148 Porty we/wy 148 Powciskaj mi przyciski 150 Niech się staną światełka 152 Światła, akcja, 154 Jaśnie oświeceni 155 2n twarzy Graya 155 Kwadratura 157 Komunikacja równoległa 158 Komunikacja szeregowa 159 Złap falę 161 Uniwersalna magistrala szeregowa 163 Sieć 163 Współczesne sieci LAN 165 Internet 165 TCP/IP 166 Adresy IP 166 System nazw domen 166 World Wide Web (WWW) 166 Urządzenia analogowe w świecie cyfrowym 167 Konwersja cyfrowego na analogowe 168 Konwersja analogowego na cyfrowe 170 Cyfrowy dźwięk 173 Obrazy cyfrowe 181 Filmy 183 Urządzenia do interakcji z człowiekiem 184 Terminale 185 Terminale graficzne 186 Grafika wektorowa 187 Grafika rastrowa 188 Klawiatura i mysz 190 Podsumowanie 190 7. ORGANIZACJA DANYCH 191 Podstawowe typy danych 192 Tablice 193 Bitmapy 195 Łańcuchy tekstowe 196 Złożone typy danych 197 Listy powiązane 200 Dynamiczna alokacja pamięci 204 Wydajniejsza alokacja pamięci 206 Zbieranie śmieci 206 Listy podwójnie powiązane 207 Hierarchiczne struktury danych 208 Magazyny dla mas 213 Bazy danych 215 Indeksy 216 Przenoszenie danych 217 Wektorowane wejście/wyjście 221 Pułapki programowania obiektowego 222 Sortowanie 223 Mieszanie 225 Wydajność oprogramowania a parametry sprzętowe 227 Podsumowanie 228 8. PRZETWARZANIE JĘZYKA 229 Język asemblera 229 Języki wysokopoziomowe 231 Programowanie strukturalne 232 Analiza leksykalna 233 Maszyny stanowe 235 Wyrażenia regularne 236 Od słów do zdań 239 Klub języka dnia 240 Drzewa wyprowadzenia 241 Interpretery 244 Kompilatory 246 Optymalizacja 248 Ostrożnie ze sprzętem 249 Podsumowanie 250 9. PRZEGLĄDARKI INTERNETOWE 251 Języki znaczników 252 Ujednolicony format określania lokalizacji 254 Dokumenty HTML 255 DOM 256 Leksykon drzewa 257 Interpretacja DOM 258 Kaskadowe arkusze stylów (CSS) 259 XML i przyjaciele 263 JavaScript 266 jQuery 268 SVG 270 HTML5 271 JSON 271 Podsumowanie 272 10. PROGRAMOWANIE APLIKACYJNE I SYSTEMOWE 275 Zgadnij co to za zwierzę wersja 1: HTML i JavaScript 278 Szkielet poziomu aplikacji 279 Element "body strony" internetowej 279 JavaScript 280 CSS 283 Zgadnij co to za zwierzę, wersja 2: C 283 Terminale i wiersz poleceń 284 Budowanie programu 284 Terminale i sterowniki urządzeń 285 Przełączanie kontekstów 285 Standardowe wejście/wyjście 287 Bufory cykliczne 288 Lepszy kod dzięki dobrym abstrakcjom 290 Nieco mechaniki 291 Przepełnienie bufora 292 Program w C 292 Trening 298 Podsumowanie 299 11. SKRÓTY I PRZYBLIŻENIA 301 Wyszukiwanie w tabeli 302 Konwersja 302 Teksturowanie 303 Klasyfikacja znaków 306 Metody typu całkowitego 308 Linie proste 310 Zakręcone krzywe 316 Wielomiany 319 Rekursywne podziały 319 Spirale 319 Geometria konstruktywna 323 Przesuwanie i maskowanie 330 Więcej unikania matmy 331 Przybliżenia za pomocą szeregu potęgowego 331 Algorytm CORDIC 332 Rzeczy nieco losowe 337 Krzywe wypełniające płaszczyznę 338 L-systemy 339 Wejście w stochastykę 341 Kwantyzacja 342 Podsumowanie 352 12. ZAKLESZCZENIA I WYŚCIGI 353 Co to jest wyścig? 354 Zasoby współdzielone 355 Wątki i procesy 355 Blokady 357 Transakcje i ziarnistość 358 Czekając na semafor 359 Zakleszczenia 360 Implementacja zamka krótkoterminowego 360 Implementacja zamka długoterminowego 361 JavaScript przeglądarki 361 Funkcje asynchroniczne i obietnice 365 Podsumowanie 369 13. BEZPIECZEŃSTWO 371 Przegląd zagadnień z tematyki bezpieczeństwa i prywatności 372 Model zagrożenia 373 Zaufanie 374 Zabezpieczenia fizyczne 376 Zabezpieczenia komunikacji 377 Współczesność 378 Metadane i nadzór 380 Kontekst społeczny 381 Uwierzytelnienie i autoryzacja 383 Kryptografia 384 Steganografia 384 Szyfry podstawieniowe 385 Szyfry przestawieniowe 388 Bardziej złożone szyfry 389 Szyfry z kluczem jednorazowym 389 Problem wymiany kluczy 390 Kryptografia klucza publicznego 391 Utajnianie w wyprzedzeniem 392 Kryptograficzne funkcje mieszające 392 Podpisy cyfrowe 393 Infrastruktura klucza publicznego 394 Blockchain 394 Zarządzanie hasłami 395 Higiena oprogramowania 396 Chroń właściwe rzeczy 396 Sprawdzaj logikę do upadłego 397 Szukaj błędów 397 Minimalizuj powierzchnię ataku 397 Pozostań w wyznaczonych granicach 398 Wygenerowanie dobrej liczby losowej jest trudne 399 Znaj kod swój 401 Skrajny spryt to twój wróg 402 Zrozum, co jest widoczne 403 Nie przesadzaj ze zbieraniem danych 403 Nie gromadź 404 Dynamiczna alokacja pamięci nie jest twoim przyjacielem 404 Zbieranie śmieci też nie jest twoim przyjacielem 406 Dane jako kod 407 Podsumowanie 409 14. SZTUCZNA INTELIGENCJA 411 Ogólny zarys 412 Uczenie się maszyn 415 Bayes 415 Gauss 417 Sobel 420 Canny 424 Ekstrakcja cech 426 Sieci neuronowe 427 Zastosowanie uczenia się maszyn 433 Sztuczna inteligencja 434 Big Data 437 Podsumowanie 439 15. ŚWIAT REALNY 441 Propozycja wartości 442 Jak się tu znaleźliśmy 444 Historia w skrócie 444 Otwarte oprogramowanie 447 Creative Commons 449 Gwałtowny wzrost przenośności 449 Systemy zarządzania pakietami 450 Kontenery 451 Java 451 Node.js 453 Chmura obliczeniowa 453 Maszyny wirtualne 454 Urządzenia mobilne 454 Środowisko programistyczne 455 Czy jesteś doświadczony? 455 Nauka szacowania 455 Planowanie projektów 456 Podejmowanie decyzji 457 Współpraca z różnymi osobowościami 458 Poruszanie się wśród kultury miejsca pracy 459 Podejmowanie decyzji na podstawie wiedzy 460 Metodologie rozwoju oprogramowania 460 Planowanie projektu 461 Spiszmy to 462 Szybkie prototypowanie 462 Projekt interfejsu 463 Ponowne użycie kodu kontra pisanie własnego 466 Rozwój projektu 467 Rozmowa 467 Dojrzała relacja z komputerami 467 Terminale i powłoki 468 Edytory tekstu 469 Kod przenośny 469 Kontrola wersji 470 Testowanie 471 Raportowanie i śledzenie błędów 472 Refaktoryzacja 472 Utrzymywanie 472 Dbaj o styl 473 Naprawiaj, a nie pisz od nowa 474 Podsumowanie 475