Zrozumieć programowanie - Helion
ISBN: 978-83-011-8460-5
stron: 624, Format: ebook
Data wydania: 2015-12-04
Księgarnia: Helion
Cena książki: 55,20 zł (poprzednio: 68,15 zł)
Oszczędzasz: 19% (-12,95 zł)
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.
Osoby które kupowały "Zrozumieć programowanie", wybierały także:
- Superinteligencja. Scenariusze, strategie, zagro 66,67 zł, (14,00 zł -79%)
- Poradnik design thinking - czyli jak wykorzysta 48,28 zł, (14,00 zł -71%)
- Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa 38,39 zł, (11,90 zł -69%)
- 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%)
Spis treści
Zrozumieć programowanie eBook -- spis treści
Przedmowa
Wstęp
O autorze, o książce
Podziękowania
Zgłaszanie błędów i errata
Część I. Kilka codziennych czynności
1. Konsola i interpreter poleceń
1.1. Wykorzystanie interpretera
1.2. Przekierowania
1.3. Przykładowe polecenia wykorzystujące przekierowania
1.4. Bieżący katalog roboczy
1.5. Zmienne środowiskowe
1.6. Skrypt startowy
1.7. Konsola okiem programisty
Ćwiczenia
Bibliografia
2. Czytanie nieznanego języka
2.1. Podobieństwa i różnice
2.2. Studium przypadku
2.3. Uwagi na koniec
Ćwiczenia
Bibliografia
Część II. Podstawy
3. Podstawy architektury komputerów
3.1. Własny (wirtualny) komputer
3.2. Rejestry procesora
3.3. Kod maszynowy
3.4. Zestaw instrukcji
3.5. Pamięć operacyjna
3.6. Komunikacja z urządzeniami
3.7. Przerwania
3.8. Konsola znakowa
3.9. Programowalny timer
3.10. Przykładowy „kompilator”
3.11. Emulator
Ćwiczenia
Bibliografia
4. Typy liczb naturalnych i całkowitych
4.1. Zapis binarny i heksadecymalny
4.2. Typy liczb naturalnych
4.3. Liczby całkowite
4.4. Little i Big Endian
4.5. Przepełnienie zmiennych naturalnych i całkowitych
4.6. Przycięcie wyniku
4.7. Saturacja
4.8. Zasygnalizowane przepełnienie
4.9. Niezdefiniowane zachowanie
4.10. Awans zmiennej
4.11. Duże liczby
4.12. Obsługa przepełnienia w praktyce
Ćwiczenia
Bibliografia
5. Typy pseudorzeczywiste
5.1. Wstęp do liczb zmiennoprzecinkowych
5.2. Ułamki binarne
5.3. IEEE 754 i zmienne binarne
5.4. Kodowanie IEEE 754 Double Precision
5.5. Wartości specjalne i zdenormalizowane
5.6. Istotne wartości zmiennoprzecinkowe
5.7. Porównanie liczb zmiennoprzecinkowych
5.8. Dziesiętne typy zmiennoprzecinkowe
5.9. Typy stałoprzecinkowe
Ćwiczenia
Bibliografia
6. Znaki i łańcuchy znaków
6.1. ASCII i strony kodowe
6.2. Unicode
6.3. Łańcuchy znaków
6.4. Konwersja kodowań
Ćwiczenia
Bibliografia
Część III. Wykonywanie programu
Bibliografia
7. Procesy
7.1. Procesy w systemie operacyjnym GNU/Linux
7.2. Procesy w systemie operacyjnym Windows
7.3. Programowe tworzenie nowego procesu
7.4. Plik wykonywalny a nowy proces
7.5. API debuggera
7.6. Dziedziczenie po procesie rodzicu
7.7. Inne operacje na zewnętrznych procesach
Ćwiczenia
Bibliografia
8. Wątki
8.1. Tworzenie nowych wątków
8.2. Typy wątków i ich przełączanie
8.3. Kontekst wątku
8.4. Zmienne lokalne dla wątku
8.5. Pula wątków
Bibliografia
9. Synchronizacja
9.1. Blokujące atomowe bariery
9.2. Spinlocki – wirujące blokady
9.3. Muteksy i sekcje krytyczne
9.4. Zdarzenia i zmienne warunkowe
9.5. Problemy w synchronizacji
Ćwiczenia
Bibliografia
Część IV. Pliki i formaty danych
Bibliografia
10. System plików
10.1. Podstawowe operacje na systemie plików
10.2. Prawa dostępu
10.3. Operacje na plikach i danych
10.4. Ciekawe mechanizmy systemu plików
Ćwiczenia
Bibliografia
11. Pliki binarne i tekstowe
11.1. Pliki tekstowe
11.2. Pliki binarne
11.3. Wstęp do serializacji
11.4. Formaty plików
Ćwiczenia
Bibliografia
12. Format BMP i wstęp do bitmap
12.1. Grafika rastrowa
12.2. Canvas, surface, image, ...
12.3. Przegląd popularnych formatów pikseli
12.4. Wyświetlenie bitmapy
12.5. Ogólna struktura pliku BMP
12.6. Nagłówek BITMAPFILEHEADER
12.7. Nagłówek BITMAPINFOHEADER
12.8. Słowo o implementacji
12.9. Implementacja 24-bitowego BI_RGB
12.10. Paleta kolorów
12.11. Kompresja RLE w wydaniu BMP
12.12. Implementacja RLE8
12.13. Podsumowanie
Ćwiczenia
Bibliografia
13. Format PNG
13.1. Struktura PNG
13.2. Bloki IHDR oraz IEND
13.3. Blok IDAT, kompresja i filtry adaptacyjne
13.4. Prosty dekoder
Ćwiczenia
Bibliografia
Część V. Komunikacja
Bibliografia
14. Komunikacja międzyprocesowa
14.1. Potoki
14.2. Nazwane potoki
14.3. Gniazda domeny UNIX i socketpair
14.4. Pamięć współdzielona
14.5. Wiadomości w WinAPI
Ćwiczenia
Bibliografia
15. Komunikacja sieciowa
15.1. Wstęp do sieci TCP/IP
15.2. Gniazda TCP oraz DNS
15.3. Nasłuchujące gniazda TCP oraz HTTP
15.4. Gniazda UDP i peer-to-peer
Ćwiczenia
Bibliografia
Programowanie dla zabawy
Ćwiczenia
Bibliografia
Zakończenie
Indeks