- -5%
ebook Zrozumieć programowanie
Gynvael Coldwind
Wydawca:
Wydawnictwo Naukowe PWN
Rok wydania:
2015
Książka jest techniczno-popularyzacyjną pozycją traktującą o programowaniu oraz tematach pokrewnych i jest napisana z myślą o początkujących oraz średniozaawansowanych programistach. Celem publikacji jest przedstawienie ciekawych elementów programowania oraz ekosystemu programistycznego, a także przedstawienie sposobów radzenia sobie z podstawowymi problemami, oraz wyjaśnienia w przystępny sposób pewnych elementów, z którymi często osoby początkujące oraz średniozaawansowane mają trudności.
Z książki dowiesz się: - jak poradzić sobie z trudnościami napotykanymi podczas programowania, - jak operować na danych tekstowych, binarnych, plikach, strumieniach, pakietach danych, oraz jakie są najczęściej popełniane błędy, - jakie są różnice pomiędzy językami programowania w kwestiach, które na pierwszy rzut oka wydawały się identyczne, - jak wybrane, często używane, mechanizmy, funkcje czy biblioteki działają "od kuchni", - o wielu detalach, które normalnie pozostałyby niezauważone, - zaprzyjaźnisz się z niskopoziomowymi aspektami informatyki.
Powinieneś: - znać podstawy programowania (np. wiedzieć czym jest pętla), - mieć w swoim dorobku przynajmniej 1 program dłuższy niż 50 linii.
Z książki dowiesz się: - jak poradzić sobie z trudnościami napotykanymi podczas programowania, - jak operować na danych tekstowych, binarnych, plikach, strumieniach, pakietach danych, oraz jakie są najczęściej popełniane błędy, - jakie są różnice pomiędzy językami programowania w kwestiach, które na pierwszy rzut oka wydawały się identyczne, - jak wybrane, często używane, mechanizmy, funkcje czy biblioteki działają "od kuchni", - o wielu detalach, które normalnie pozostałyby niezauważone, - zaprzyjaźnisz się z niskopoziomowymi aspektami informatyki.
Powinieneś: - znać podstawy programowania (np. wiedzieć czym jest pętla), - mieć w swoim dorobku przynajmniej 1 program dłuższy niż 50 linii.
Spis treści ebooka Zrozumieć programowanie
Przedmowa 11Wstęp 15
O autorze, o książce 15
Podziękowania 18
Zgłaszanie błędów i errata 18
Część I. Kilka codziennych czynności 21
1. Konsola i interpreter poleceń 23
1.1. Wykorzystanie interpretera 27
1.2. Przekierowania 28
1.3. Przykładowe polecenia wykorzystujące przekierowania 32
1.4. Bieżący katalog roboczy 33
1.5. Zmienne środowiskowe 34
1.6. Skrypt startowy 38
1.7. Konsola okiem programisty 40
Ćwiczenia 44
Bibliografia 44
2. Czytanie nieznanego języka 45
2.1. Podobieństwa i różnice 48
2.2. Studium przypadku 49
2.3. Uwagi na koniec 53
Ćwiczenia 54
Bibliografia 56
Część II. Podstawy 57
3. Podstawy architektury komputerów 59
3.1. Własny (wirtualny) komputer 62
3.2. Rejestry procesora 63
3.3. Kod maszynowy 65
3.4. Zestaw instrukcji 67
3.5. Pamięć operacyjna 84
3.6. Komunikacja z urządzeniami 86
3.7. Przerwania 88
3.8. Konsola znakowa 90
3.9. Programowalny timer 90
3.10. Przykładowy „kompilator” 91
3.11. Emulator 96
Ćwiczenia 102
Bibliografia 104
4. Typy liczb naturalnych i całkowitych 105
4.1. Zapis binarny i heksadecymalny 108
4.2. Typy liczb naturalnych 111
4.3. Liczby całkowite 114
4.4. Little i Big Endian 120
4.5. Przepełnienie zmiennych naturalnych i całkowitych 122
4.6. Przycięcie wyniku 126
4.7. Saturacja 127
4.8. Zasygnalizowane przepełnienie 128
4.9. Niezdefiniowane zachowanie 128
4.10. Awans zmiennej 130
4.11. Duże liczby 130
4.12. Obsługa przepełnienia w praktyce 131
Ćwiczenia 132
Bibliografia 133
5. Typy pseudorzeczywiste 135
5.1. Wstęp do liczb zmiennoprzecinkowych 137
5.2. Ułamki binarne 139
5.3. IEEE 754 i zmienne binarne 142
5.4. Kodowanie IEEE 754 Double Precision 143
5.5. Wartości specjalne i zdenormalizowane 149
5.6. Istotne wartości zmiennoprzecinkowe 155
5.7. Porównanie liczb zmiennoprzecinkowych 160
5.8. Dziesiętne typy zmiennoprzecinkowe 163
5.9. Typy stałoprzecinkowe 166
Ćwiczenia 169
Bibliografia 170
6. Znaki i łańcuchy znaków 173
6.1. ASCII i strony kodowe 176
6.2. Unicode 182
6.3. Łańcuchy znaków 191
6.4. Konwersja kodowań 203
Ćwiczenia 205
Bibliografia 206
Część III. Wykonywanie programu 209
Bibliografia 212
7. Procesy 213
7.1. Procesy w systemie operacyjnym GNU/Linux 216
7.2. Procesy w systemie operacyjnym Windows 222
7.3. Programowe tworzenie nowego procesu 226
7.4. Plik wykonywalny a nowy proces 234
7.5. API debuggera 240
7.6. Dziedziczenie po procesie rodzicu 249
7.7. Inne operacje na zewnętrznych procesach 250
Ćwiczenia 251
Bibliografia 252
8. Wątki 253
8.1. Tworzenie nowych wątków 255
8.2. Typy wątków i ich przełączanie 262
8.3. Kontekst wątku 267
8.4. Zmienne lokalne dla wątku 272
8.5. Pula wątków 274
Bibliografia 278
9. Synchronizacja 279
9.1. Blokujące atomowe bariery 287
9.2. Spinlocki – wirujące blokady 292
9.3. Muteksy i sekcje krytyczne 296
9.4. Zdarzenia i zmienne warunkowe 308
9.5. Problemy w synchronizacji 321
Ćwiczenia 329
Bibliografia 329
Część IV. Pliki i formaty danych 331
Bibliografia 332
10. System plików 333
10.1. Podstawowe operacje na systemie plików 336
10.2. Prawa dostępu 347
10.3. Operacje na plikach i danych 364
10.4. Ciekawe mechanizmy systemu plików 374
Ćwiczenia 378
Bibliografia 380
11. Pliki binarne i tekstowe 383
11.1. Pliki tekstowe 385
11.2. Pliki binarne 392
11.3. Wstęp do serializacji 404
11.4. Formaty plików 406
Ćwiczenia 407
Bibliografia 408
12. Format BMP i wstęp do bitmap 409
12.1. Grafika rastrowa 411
12.2. Canvas, surface, image, ... 418
12.3. Przegląd popularnych formatów pikseli 419
12.4. Wyświetlenie bitmapy 423
12.5. Ogólna struktura pliku BMP 429
12.6. Nagłówek BITMAPFILEHEADER 430
12.7. Nagłówek BITMAPINFOHEADER 433
12.8. Słowo o implementacji 436
12.9. Implementacja 24-bitowego BI_RGB 437
12.10. Paleta kolorów 447
12.11. Kompresja RLE w wydaniu BMP 448
12.12. Implementacja RLE8 450
12.13. Podsumowanie 453
Ćwiczenia 453
Bibliografia 456
13. Format PNG 457
13.1. Struktura PNG 459
13.2. Bloki IHDR oraz IEND 463
13.3. Blok IDAT, kompresja i filtry adaptacyjne 466
13.4. Prosty dekoder 470
Ćwiczenia 475
Bibliografia 476
Część V. Komunikacja 477
Bibliografia 485
14. Komunikacja międzyprocesowa 487
14.1. Potoki 489
14.2. Nazwane potoki 499
14.3. Gniazda domeny UNIX i socketpair 512
14.4. Pamięć współdzielona 520
14.5. Wiadomości w WinAPI 526
Ćwiczenia 531
Bibliografia 531
15. Komunikacja sieciowa 533
15.1. Wstęp do sieci TCP/IP 535
15.2. Gniazda TCP oraz DNS 550
15.3. Nasłuchujące gniazda TCP oraz HTTP 567
15.4. Gniazda UDP i peer-to-peer 592
Ćwiczenia 599
Bibliografia 601
Programowanie dla zabawy 603
Ćwiczenia 617
Bibliografia 617
Zakończenie 619
Indeks 621
Szczegóły ebooka Zrozumieć programowanie
- Wydawca:
- Wydawnictwo Naukowe PWN
- Rok wydania:
- 2015
- Typ publikacji:
- Ebook
- Język:
- polski
- Format:
- epub,mobi
- ISBN:
- 978-83-01-18460-5
- ISBN wersji papierowej:
- 978-83-01-18202-1
- Wydanie:
- 1
- Autorzy:
- Gynvael Coldwind
- Miejsce wydania:
- Warszawa
- Liczba Stron:
- 624
Recenzje ebooka Zrozumieć programowanie
-
Reviews (0)
Na jakich urządzeniach mogę czytać ebooki?
Na czytnikach Kindle, PocketBook, Kobo i innych
Na komputerach stacjonarnych i laptopach
Na telefonach z systemem ANDROID lub iOS
Na wszystkich urządzeniach obsługujących format plików PDF, Mobi, EPub
- -5%
-5%
84,00 zł
79,90 zł
@CUSTOMER_NAME@
@COMMENT_TITLE@
@COMMENT_COMMENT@