====== Data a programování ====== Vztah mezi **daty** a **programováním** tvoří základní stavební kámen moderní informatiky. Zatímco programování představuje proces tvorby instrukcí a logiky (jak se má něco udělat), data představují surovou informaci, se kterou tato logika pracuje (nad čím se to má udělat). Bez dat by programy neměly smysl a bez programování by data zůstala nevyužita. ===== Jak programování zpracovává data ===== Každá aplikace, od jednoduchého skriptu až po rozsáhlý systém, neustále přijímá, zpracovává a ukládá data. Celý cyklus se obvykle skládá z těchto fází: * **Vstup (Input):** Získání dat zvenčí – ať už jde o uživatelský vstup z formuláře, data z externího rozhraní ([[API Security|API]]), nebo načtení souboru. * **Zpracování (Processing):** Aplikace logiky, výpočtů, validací a transformací nad daty (např. parování XML/JSON, filtrování položek). * **Výstup (Output):** Vrácení výsledku uživateli, uložení do databáze nebo odeslání **payloadu** dál do sítě. ===== Datové struktury a typy ===== Aby program mohl s daty efektivně pracovat, musí jim dát pevný řád. K tomu slouží datové typy a struktury: * **Základní typy:** Čísla (integers, floats), textové řetězce (strings), booleovské hodnoty (pravda/nepravda). * **Kolekce a pole:** Uspořádané seznamy dat, asociativní pole nebo objekty. * **Serializovaná data:** Formáty pro přenos a uložení strukturovaných dat, jako je **JSON** nebo **XML**. ===== Bezpečnost a integrita dat v kódu ===== Při propojení dat a programování hraje klíčovou roli bezpečnost. Špatně ošetřený kód může vést k vážným zranitelnostem: 1. **Validace vstupů:** Nikdy nelze plně důvěřovat datům přicházejícím od uživatele nebo zvenčí. Každý vstup musí být důkladně ověřen a sanitován. 2. **Ochrana před injekcemi:** Nezabezpečená práce s daty v databázových dotazech vede k útokům typu SQL Injection nebo XSS. 3. **Šifrování:** Citlivá data (hesla, osobní údaje) musí být chráněna jak při přenosu (HTTPS), tak v úložiscích. ===== Související pojmy ===== * [[Payload]] * [[API Security]] * [[JSON]] a [[XML]] {{tag>development programming data security}}