Záznamy přednášek - Podzimní 2016
↩ zpět na seznam všech přednášekAkce: Podzimní soustředění KSP 2016
Algoritmy a datové struktury
O algoritmech značně magických a nečekaných. Jak násobit n-ciferná čísla rychleji než v kvadratickém čase. Kouzlo na slévání setříděných posloupností v konstantním prostoru. Isomorfismus stromů pomocí přihrádkového třídění. Bitové kejklířství. Hledání největší díry.
Otevřít přednášku (webový přehrávač)
- Přednášející: Martin Mareš
- Stažení přednášky: Video (MP4/H.264), Audio (MP3/AAC)
Stromy jsou jednou z nejtypičtějších (a nejjednodušších) odrůd grafů. Ledacos pro ně umíme řešit mnohem rychleji než pro obecné grafy, tak se pojďme podívat, jak se to dělá. Předvedeme několik obecných technik pro práci se stromy: DFS očíslování, „vandalskou indukci“, intervalové reprezentace, rozklad na lehké a těžké hrany, Fredericksonův rozklad a ST-stromy.
Otevřít přednášku (webový přehrávač)
- Přednášející: Martin Mareš
- Stažení přednášky: Video (MP4/H.264), Audio (MP3/AAC)
Programovací jazyky
Je to Perl, a přitom to Perl není. Co je to? Aneb jak to dopadne, když se pokusíme navrhnout programovací jazyk budoucnosti a inspirovat se přitom filosofií Perlu. Typový systém, pokud zrovna chcete. Objekty, třídy a metatřídy. Periodická soustava (meta)operátorů. Definování jazyka v sobě samém. A co se to stalo s regulárními výrazy? Jak vypadají implementace P6 a kdy je prozatím lepší programovat na papíře. Praktické cvičení ve stavbě vzdušných zámků a bydlení v nich.
Otevřít přednášku (webový přehrávač)
- Přednášející: Filip Štědronský, Martin Mareš
- Stažení přednášky: Video (MP4/H.264), Audio (MP3/AAC)
Jak programovat procesor přímo, aniž by vám do toho mluvily překladače, linkery a podobná verbež. Začneme obecně, ale soustředíme se hlavně na procesory rodiny x86. 32-bitová a 64-bitová instrukční sada, FPU a panoptikum vektorových instrukcí. Rozdíly mezi intelovskou a AT&T syntaxí. Jak spojit assembler s vyššími programovacími jazyky. Optimalizace kódu. Stručný úvod do systémových architektur IA32 a AMD64.
Otevřít přednášku (webový přehrávač)
- Přednášející: Martin Mareš
- Stažení přednášky: Video (MP4/H.264), Audio (MP3/AAC)
Programátorské nástroje
Kdo píše programy, které vždy hned fungují, ať se přihlásí. A kdo ne, ať se přihlásí na
tuto přednášku. Ladit programy vás nenaučíme, ale ukážeme několik nástrojů, které mohou
pomoci z nejhoršího. Mezi nimi třeba gdb
– řádkový debugger (odvšivovač), strace
,
valgrind
a perf
. Kdy je chceme použít, a kdy se naopak víc hodí printf
a assert
.
Otevřít přednášku (webový přehrávač)
- Přednášející: Filip Štědronský, Martin Mareš
- Stažení přednášky: Video (MP4/H.264), Audio (MP3/AAC)
Sítě a bezpečnost
Volné navázání na NET. Budeme si povídat o tom, co za data nám po síti běhá a jaké se k tomu používají protokoly – DNS, FTP, HTTP nebo třeba i mailové SMTP a IMAP. Zaměříme se více na ty nejpoužívanější (metody GET a POST v HTTP), nakousneme cacheování a nadlábneme se cookies. A pokud zbude čas, využijeme zranitelnosti některých protokolů a provedeme síťový útok.
Otevřít přednášku (webový přehrávač)
- Přednášející: Martin Mareš
- Stažení přednášky: Video (MP4/H.264), Audio (MP3/AAC)