Základy unixového programování (LNXPR1)
Unixové systémy, Linux - programování
Programujete v C, a chcete se seznámit s nízko úrovňovým programováním pro Linux? Přijďte si vyzkoušet základní aplikační rozhraní unixových systémů. Programování na Linuxu a jemu blízkých systémech se odvíjí od systémových volání operačního systému a standardní knihovny s rozhraním POSIX. Práce v takovém prostředí se výrazně liší od nástrojů vyšších programovacích jazyků a sofistikovaných knihoven. Kurz lze objednat i ve variantě pro C++, Rust, případně i Python, nebo pro alternativní posixové platformy.
Kurz je určen účastníkům, kteří chtějí získat znalosti programování operačního systému UNIX/Linux pomocí standardních knihoven.
Privátní školení a termíny na míru
Toto téma je možné zrealizovat pouze jako privátní, a to nejen formou uzavřeného firemního kurzu, ale také jako individuální konzultaci pro jednotlivce.
V případě kurzu na míru je níže uvedená osnova pouze inspirací. Finální obsah vzdělávání, jeho délka i termíny budou přizpůsobeny konkrétním vstupním znalostem, potřebám a cílům účastníků.
Cenovou nabídku vám rádi připravíme na základě vstupů zaslaných e-mailem nebo zadaných prostřednictvím poptávkového formuláře. Cena privátního školení vychází z náročnosti požadované obsahové náplně školení, časového rozsahu a celkového počtu přihlášených osob.
KDE A KDY KURZ PROBÍHÁ?
Kontaktujte nás
S námi
máte na výběr: Přijďte na
kurz osobně do naší učebny, nebo se ke kurzu
připojte online. Pokud preferujete online formu, uveďte prosím do poznámky v objednávce "Připojím se virtuálně".
Více informací k hybridní formě školení
naleznete zde.
Náplň kurzu:
Skrýt detaily
-
Zopakování syntaxe jazyka C
-
Význam ANSI C
-
Direktivy preprocesoru
-
Filosofie programování systému UNIX/Linux
-
Open source principy
-
UNIXový přístup
-
Použití open source knihoven v komerčních programech
-
Chyby a jejich ošetření
-
Konvence návratových hodnot
-
Práce s errno
-
Převod chyby na řetězec
-
Volání perror
-
Základní nástroje vývojáře
-
Překladač gcc
-
Nástroj make
-
Použití vývojového prostředí
-
Ruční kompilace pomocí make a gcc
-
Práva běžícího programu a uživatelské informace
-
Volání getuid
-
Setuid
-
Funkce z hlavičkových souborů shadow.h a passwd.h
-
Práce se soubory funkcemi standardních knihoven (stdlib)
-
Práce se soubory voláním jádra
-
Význam file-descriptoru
-
Standardní vstup a výstup
-
Zamykání souborů apod.
-
Údržba souborů a adresářů
-
Odkazy (linky)
-
Práva souborů a adresářů
-
Vytváření a manipulace s nimi apod.
-
Argumenty funkce main
-
Zpracování parametrů pomocí funkce getopt
-
Proměnné atd.
-
Paměť
-
Alokace a uvolnění paměti
-
Volání malloc
-
Free
-
Procesy
-
Definice
-
Systém a plánování procesu
-
Základní volání
-
Vývojový nástroj make
-
Syntaxe souboru Makefile
-
Dynamické knihovny
-
Volání funkcí z dynamické knihovny
-
Vytváření dynamických knihoven
-
Vlákna
-
Definice a programování
-
Výhody a nevýhody oproti procesu
-
Zdroje a limity
-
Limity pro běh procesu
-
Priorita procesu
-
Terminál
-
Vlastnosti, nastavení, význam
-
Program getpass
-
Standardní vstup a výstup atd.
-
Programování v síti (protokol TCP/IP)
-
Programování pro Internet
-
Program server a klient
-
Volání socket
-
Conect, accept, listen atd.
-
Pokročilé vlastnosti TCP/IP
-
Práce s IPv6
-
Správná práce s DNS resolverem
-
Blokující a neblokující IO operace
-
Použití neblokujícího TCP spojení
-
Ladění problémů s pamětí, best practises, nástroj Valgrind pro ladění paměťových problémů
-
Předpokládané znalosti:
-
Dobrá znalost programování a programovacího jazyka C, uživatelská znalost OS UNIX/Linux.
-
Doporučený předchozí kurz:
-
Linux – základy administrace (LNX1)
-
Doporučený následný kurz:
-
Rozhraní operačního systému (LNXPR2)
-
Časový rozvrh:
-
3 dny (9:00hod. - 17:00hod.)
Vybrané zákaznické reference
ComAp a.s., Jan T.
Základy unixového programování (
LNXPR1)
"Lektor ma viditelne vysokou odbornost a dobre pedagogicke schopnosti. Prostor pro zlepseni vidim ve vyjadrovani, napriklad mene castem pouzivani obratu "...jak kdyby.." :-)"