Plan Szkolenia

Wprowadzenie

  • Przegląd funkcji i zastosowań języka C

Przygotowanie środowiska deweloperskiego

  • Wybór IDE
  • Konfiguracja kompilatora

Pisanie przykładowego programu

  • Definiowanie problemu
  • Kodowanie zgodnie z wymaganiami

Definiowanie zakresu zmiennych i funkcji

  • Zrozumienie zakresu, widoczności i czasu życia
  • Praca z klasami pamięci: auto, extern, register, static

Zarządzanie danymi w programie C

  • Poza podstawowymi typami danych
  • Praca z zaawansowanymi typami danych: struktury, listy powiązane itp.
  • Przechowywanie różnych typów danych w tej samej lokalizacji pamięci

Modyfikowanie właściwości zmiennej

  • Poza modyfikatorami typu
  • Praca z kwalifikatorami typu: stałe, volatile itp.

Manipulacja bitami w C

  • Praca z danymi mniejszymi niż bajt
  • Praca z operatorami manipulacji bitami

Kontrolowanie przepływu programu

  • Poza sekwencjonowaniem
  • Używanie instrukcji goto

Odczyt i zapis danych

  • Podsumowanie funkcji wejścia/wyjścia
  • Poprawa czytelności wyjścia

Tworzenie kodu wieloplatformowego

  • Zrozumienie dyrektyw kompilatora
  • Kompilowanie kodu warunkowo

Zwiększanie wydajności programu

  • Makro vs funkcje
  • Definiowanie makr do uruchamiania fragmentów programu

Dynamiczne alokowanie pamięci

  • Zalety używania wskaźników: szybkość wykonania
  • Wskaźniki do funkcji
  • Dostęp do pamięci i manipulowanie adresem

Debugowanie programu C

  • Zaawansowane techniki sprawdzania, wykrywania i poprawiania błędów
  • Praca z gdb (Gnu Debugger)

Tworzenie biblioteki statycznej

  • Jak biblioteka statyczna jest dołączana do pliku wykonywalnego
  • Tworzenie biblioteki statycznej

Tworzenie biblioteki współdzielonej

  • Biblioteki statyczne vs biblioteki współdzielone (dynamiczne)
  • Jak biblioteka współdzielona jest dołączana i ładowana do pamięci w czasie wykonywania
  • Tworzenie biblioteki współdzielonej

Abstrakcja danych w programie

  • Przegląd interfejsu, specyfikacji i implementacji
  • Tworzenie abstrakcyjnego typu danych
  • Testowanie regresyjne abstrakcyjnego typu danych

Wyszukiwanie i sortowanie danych

  • Wyszukiwanie w tablicach za pomocą wyszukiwania liniowego, binarnego itp.
  • Sortowanie tablic za pomocą sortowania przez wybór, sortowania przez wstawianie, sortowania bąbelkowego

Komunikacja międzyprocesowa i sygnały

  • Zrozumienie procesów, gniazd i sygnałów
  • Implementacja IPC przy użyciu współdzielonych plików, pamięci współdzielonej, potoków, kolejek komunikatów, gniazd, semaforów itp.

Równoległe uruchamianie programu C

  • Równoległe uruchamianie różnych części programu poprzez wielowątkowość
  • Pisanie wątku

Zaawansowane programowanie sieciowe

  • Podsumowanie protokołów TCP, UDP, IP i innych dominujących
  • Obsługa wielu portów, przetrwanie nagłych przerw w sieci itp.
  • Pisanie potężnych API gniazd

W kierunku wysokiej jakości kodu

  • Przegląd kodu przez kolegów i programowanie równoległe
  • Waga iteracyjnego kodowania (refaktoryzacja)

Podsumowanie i zakończenie

Wymagania

  • Doświadczenie w programowaniu w C

Grupa docelowa

  • Programiści
  • Deweloperzy
 28 godzin

Liczba uczestników


Cena za uczestnika

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie