Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Інформатика
- Програмування
- Programowanie w C. Sprytne podejście do trudnych zagadnień, których wolałbyś unikać (takich jak język C)
Деталі електронної книги
Programowanie w C. Sprytne podejście do trudnych zagadnień, których wolałbyś unikać (takich jak język C)
Istnieje bardzo wiele nowoczesnych języków programowania, które pozwalają na szybkie wdrożenie i pracę. Takim językiem na pewno nie jest C. Niektóre jego cechy bardzo utrudniają tworzenie bezpiecznego i bezawaryjnego kodu. Warto więc dogłębnie poznać C — przy bardzo prostej składni i niewielkich wymaganiach sprzętowych ma potężne możliwości!
Niniejsza książka jest bardzo dobrym podręcznikiem dla początkujących programistów. Nauczysz się C, wykonując 52 sprytnie skonstruowane zadania zilustrowane kodem i specjalnie opracowanymi klipami wideo. Duży nacisk został położony na dogłębną analizę tworzonego kodu — autor zmusza Czytelnika do zrozumienia znaczenia każdej linii programu, do koncentracji i dokładności. Zachęca też do praktykowania tzw. programowania defensywnego, dzięki któremu możliwe jest podniesienie jakości i bezpieczeństwa tworzonego oprogramowania. Wartościowym elementem książki są wskazówki, jak zepsuć napisany kod, a następnie go zabezpieczyć. Bardzo ułatwia to unikanie wielu poważnych, często spotykanych błędów.
Najistotniejsze zagadnienia poruszone w książce:
- Podstawowa składnia C
- Konfiguracja środowiska programistycznego, kompilacja kodu, pliki Makefile i linkery
- Kontrola przebiegu działania programu, alokacja pamięci
- Operacje wejścia-wyjścia i pliki, stosy i kolejki
- Usuwanie błędów, programowanie defensywne i automatyczne testowanie
- Eliminacja błędu przepełnienia stosu, niedozwolonego dostępu do pamięci itd.
- Hakowanie własnego kodu utworzonego w C
Zrozum C, programuj starannie — dobrze działać może tylko dobry kod!
Podziękowania (12)
Ta książka tak naprawdę nie jest o języku C (13)
- Niezdefiniowane zachowania (14)
- C to język zarazem świetny i paskudny (15)
- Czego się nauczysz? (16)
- Jak czytać tę książkę? (16)
- Wideo (17)
- Podstawowe umiejętności (18)
- Czytanie i pisanie (18)
- Zwracanie uwagi na szczegóły (18)
- Wychwytywanie różnic (19)
- Planowanie i debugowanie (19)
Przygotowania (20)
- Linux (20)
- OS X (20)
- Windows (21)
- Edytor tekstu (21)
- Nie używaj IDE (22)
Ćwiczenie 1. Odkurzenie kompilatora (24)
- Omówienie kodu w pliku (24)
- Co powinieneś zobaczyć? (25)
- Jak to zepsuć? (26)
- Zadania dodatkowe (26)
Ćwiczenie 2. Użycie pliku Makefile podczas kompilacji (28)
- Użycie narzędzia make (28)
- Co powinieneś zobaczyć? (29)
- Jak to zepsuć? (30)
- Zadania dodatkowe (30)
Ćwiczenie 3. Sformatowane dane wyjściowe (32)
- Co powinieneś zobaczyć? (33)
- Zewnętrzne badania (33)
- Jak to zepsuć? (33)
- Zadania dodatkowe (34)
Ćwiczenie 4. Użycie debugera (36)
- Sztuczki z GDB (36)
- Krótki przewodnik po GDB (36)
- Krótki przewodnik po LLDB (37)
Ćwiczenie 5. Nauka na pamięć operatorów w C (40)
- Jak uczyć się na pamięć? (40)
- Listy operatorów (41)
Ćwiczenie 6. Nauka na pamięć składni C (46)
- Słowa kluczowe (46)
- Składnia struktur (47)
- Słowo zachęty (50)
- Słowo ostrzeżenia (51)
Ćwiczenie 7. Zmienne i typy (52)
- Co powinieneś zobaczyć? (53)
- Jak to zepsuć? (54)
- Zadania dodatkowe (54)
Ćwiczenie 8. Konstrukcje if, else-if i else (56)
- Co powinieneś zobaczyć? (57)
- Jak to zepsuć? (57)
- Zadania dodatkowe (58)
Ćwiczenie 9. Pętla while i wyrażenia boolowskie (60)
- Co powinieneś zobaczyć? (60)
- Jak to zepsuć? (61)
- Zadania dodatkowe (61)
Ćwiczenie 10. Konstrukcja switch (62)
- Co powinieneś zobaczyć? (64)
- Jak to zepsuć? (65)
- Zadania dodatkowe (65)
Ćwiczenie 11. Tablice i ciągi tekstowe (66)
- Co powinieneś zobaczyć? (67)
- Jak to zepsuć? (68)
- Zadania dodatkowe (69)
Ćwiczenie 12. Wielkość i tablice (70)
- Co powinieneś zobaczyć? (71)
- Jak to zepsuć? (72)
- Zadania dodatkowe (73)
Ćwiczenie 13. Pętla for i tablica ciągów tekstowych (74)
- Co powinieneś zobaczyć? (75)
- Zrozumienie tablicy ciągów tekstowych (76)
- Jak to zepsuć? (76)
- Zadania dodatkowe (77)
Ćwiczenie 14. Tworzenie i użycie funkcji (78)
- Co powinieneś zobaczyć? (79)
- Jak to zepsuć? (80)
- Zadania dodatkowe (80)
Ćwiczenie 15. Wskaźniki, przerażające wskaźniki (82)
- Co powinieneś zobaczyć? (84)
- Poznajemy wskaźniki (85)
- Praktyczne użycie wskaźników (86)
- Leksykon wskaźnika (87)
- Wskaźniki nie są tablicami (87)
- Jak to zepsuć? (87)
- Zadania dodatkowe (88)
Ćwiczenie 16. Struktury i prowadzące do nich wskaźniki (90)
- Co powinieneś zobaczyć? (93)
- Poznajemy struktury (94)
- Jak to zepsuć? (94)
- Zadania dodatkowe (95)
Ćwiczenie 17. Alokacja pamięci stosu i sterty (96)
- Co powinieneś zobaczyć? (102)
- Alokacja stosu kontra sterty (102)
- Jak to zepsuć? (103)
- Zadania dodatkowe (104)
Ćwiczenie 18. Wskaźniki do funkcji (106)
- Co powinieneś zobaczyć? (110)
- Jak to zepsuć? (110)
- Zadania dodatkowe (111)
Ćwiczenie 19. Opracowane przez Zeda wspaniałe makra debugowania (112)
- Problem obsługi błędów w C (112)
- Makra debugowania (113)
- Użycie dbg.h (115)
- Co powinieneś zobaczyć? (118)
- W jaki sposób CPP obsługuje makra? (118)
- Zadania dodatkowe (120)
Ćwiczenie 20. Zaawansowane techniki debugowania (122)
- Użycie makra debug() kontra GDB (122)
- Strategia debugowania (124)
- Zadania dodatkowe (125)
Ćwiczenie 21. Zaawansowane typy danych i kontrola przepływu (126)
- Dostępne typy danych (126)
- Modyfikatory typu (126)
- Kwalifikatory typów (127)
- Konwersja typu (127)
- Wielkość typu (128)
- Dostępne operatory (129)
- Operatory matematyczne (130)
- Operatory danych (130)
- Operatory logiczne (131)
- Operatory bitowe (131)
- Operatory boolowskie (131)
- Operatory przypisania (131)
- Dostępne struktury kontroli (132)
- Zadania dodatkowe (132)
Ćwiczenie 22. Stos, zakres i elementy globalne (134)
- Pliki ex22.h i ex22.c (134)
- Plik ex22_main.c (136)
- Co powinieneś zobaczyć? (138)
- Zakres, stos i błędy (139)
- Jak to zepsuć? (140)
- Zadania dodatkowe (141)
Ćwiczenie 23. Poznaj mechanizm Duffa (142)
- Co powinieneś zobaczyć? (145)
- Rozwiązanie łamigłówki (145)
- Dlaczego w ogóle mam się tak męczyć? (146)
- Zadania dodatkowe (146)
Ćwiczenie 24. Dane wejściowe, dane wyjściowe i pliki (148)
- Co powinieneś zobaczyć? (150)
- Jak to zepsuć? (151)
- Funkcje wejścia-wyjścia (151)
- Zadania dodatkowe (152)
Ćwiczenie 25. Funkcje o zmiennej liczbie argumentów (154)
- Co powinieneś zobaczyć? (158)
- Jak to zepsuć? (158)
- Zadania dodatkowe (158)
Ćwiczenie 26. Projekt logfind (160)
- Specyfikacja logfind (160)
Ćwiczenie 27. Programowanie kreatywne i defensywne (162)
- Nastawienie programowania kreatywnego (162)
- Nastawienie programowania defensywnego (163)
- 8 strategii programisty defensywnego (164)
- Zastosowanie ośmiu strategii (164)
- Nigdy nie ufaj danym wejściowym (164)
- Unikanie błędów (168)
- Awarie powinny być wczesne i otwarte (169)
- Dokumentuj założenia (170)
- Preferuj prewencję zamiast dokumentacji (170)
- Automatyzuj wszystko (171)
- Upraszczaj i wyjaśniaj (171)
- Myśl logicznie (172)
- Kolejność nie ma znaczenia (172)
- Zadania dodatkowe (173)
Ćwiczenie 28. Pośrednie pliki Makefile (174)
- Podstawowa struktura projektu (174)
- Makefile (175)
- Nagłówek (176)
- Docelowe wersje programu (177)
- Testy jednostkowe (178)
- Operacje porządkujące (180)
- Instalacja (180)
- Sprawdzenie (180)
- Co powinieneś zobaczyć? (181)
- Zadania dodatkowe (181)
Ćwiczenie 29. Biblioteki i linkowanie (182)
- Dynamiczne wczytywanie biblioteki współdzielonej (183)
- Co powinieneś zobaczyć? (185)
- Jak to zepsuć? (187)
- Zadania dodatkowe (187)
Ćwiczenie 30. Zautomatyzowane testowanie (188)
- Przygotowanie frameworka testów jednostkowych (189)
- Zadania dodatkowe (193)
Ćwiczenie 31. Najczęściej spotykane niezdefiniowane zachowanie (194)
- 20 najczęściej spotykanych przypadków niezdefiniowanego zachowania (196)
- Najczęściej spotykane niezdefiniowane zachowanie (196)
Ćwiczenie 32. Lista dwukierunkowa (200)
- Czym są struktury danych? (200)
- Budowa biblioteki (200)
- Lista dwukierunkowa (202)
- Definicja (202)
- Implementacja (204)
- Testy (207)
- Co powinieneś zobaczyć? (210)
- Jak można usprawnić kod? (210)
- Zadania dodatkowe (211)
Ćwiczenie 33. Algorytmy listy dwukierunkowej (212)
- Sortowanie bąbelkowe i sortowanie przez scalanie (212)
- Test jednostkowy (213)
- Implementacja (215)
- Co powinieneś zobaczyć? (217)
- Jak można usprawnić kod? (218)
- Zadania dodatkowe (219)
Ćwiczenie 34. Tablica dynamiczna (220)
- Wady i zalety (227)
- Jak można usprawnić kod? (228)
- Zadania dodatkowe (228)
Ćwiczenie 35. Sortowanie i wyszukiwanie (230)
- Sortowanie pozycyjne i wyszukiwanie binarne (233)
- Unie w języku C (234)
- Implementacja (235)
- Funkcja RadixMap_find() i wyszukiwanie binarne (241)
- RadixMap_sort() i radix_sort() (242)
- Jak można usprawnić kod? (243)
- Zadania dodatkowe (244)
Ćwiczenie 36. Bezpieczniejsze ciągi tekstowe (246)
- Dlaczego stosowanie ciągów tekstowych C to niewiarygodnie kiepski pomysł? (246)
- Użycie bstrlib (248)
- Poznajemy bibliotekę (249)
Ćwiczenie 37. Struktura Hashmap (250)
- Testy jednostkowe (257)
- Jak można usprawnić kod? (259)
- Zadania dodatkowe (260)
Ćwiczenie 38. Algorytmy struktury Hashmap (262)
- Co powinieneś zobaczyć? (267)
- Jak to zepsuć? (268)
- Zadania dodatkowe (269)
Ćwiczenie 39. Algorytmy ciągu tekstowego (270)
- Co powinieneś zobaczyć? (277)
- Analiza wyników (279)
- Zadania dodatkowe (280)
Ćwiczenie 40. Binarne drzewo poszukiwań (282)
- Jak można usprawnić kod? (295)
- Zadania dodatkowe (295)
Ćwiczenie 41. Projekt devpkg (296)
- Co to jest devpkg? (296)
- Co chcemy zbudować? (296)
- Projekt (297)
- Biblioteki Apache Portable Runtime (297)
- Przygotowanie projektu (299)
- Pozostałe zależności (299)
- Plik Makefile (299)
- Pliki kodu źródłowego (300)
- Funkcje bazy danych (302)
- Funkcje powłoki (305)
- Funkcje poleceń programu (309)
- Funkcja main() w devpkg (314)
- Ostatnie wyzwanie (316)
Ćwiczenie 42. Stos i kolejka (318)
- Co powinieneś zobaczyć? (321)
- Jak można usprawnić kod? (321)
- Zadania dodatkowe (322)
Ćwiczenie 43. Prosty silnik dla danych statystycznych (324)
- Odchylenie standardowe i średnia (324)
- Implementacja (325)
- Jak można użyć tego rozwiązania? (330)
- Zadania dodatkowe (331)
Ćwiczenie 44. Bufor cykliczny (334)
- Testy jednostkowe (337)
- Co powinieneś zobaczyć? (337)
- Jak można usprawnić kod? (338)
- Zadania dodatkowe (338)
Ćwiczenie 45. Prosty klient TCP/IP (340)
- Modyfikacja pliku Makefile (340)
- Kod netclient (340)
- Co powinieneś zobaczyć? (344)
- Jak to zepsuć? (344)
- Zadania dodatkowe (344)
Ćwiczenie 46. Drzewo trójkowe (346)
- Wady i zalety (354)
- Jak można usprawnić kod? (355)
- Zadania dodatkowe (355)
Ćwiczenie 47. Szybszy router URL (356)
- Co powinieneś zobaczyć? (358)
- Jak można usprawnić kod? (359)
- Zadania dodatkowe (360)
Ćwiczenie 48. Prosty serwer sieciowy (362)
- Specyfikacja (362)
Ćwiczenie 49. Serwer danych statystycznych (364)
- Specyfikacja (364)
Ćwiczenie 50. Routing danych statystycznych (366)
Ćwiczenie 51. Przechowywanie danych statystycznych (368)
- Specyfikacja (368)
Ćwiczenie 52. Hacking i usprawnianie serwera (370)
Zakończenie (372)
Skorowidz (373)
- Назва: Programowanie w C. Sprytne podejście do trudnych zagadnień, których wolałbyś unikać (takich jak język C)
- Автор: Zed A. Shaw
- Оригінальна назва: Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C)
- Переклад: Robert Górczyński
- ISBN: 978-83-283-2546-3, 9788328325463
- Дата видання: 2016-06-26
- Формат: Eлектронна книга
- Ідентифікатор видання: pcspry
- Видавець: Helion