Blog Slovník IT pojmů: abyste rozuměli vývojářům

Dobrý programátor dokáže srozumitelně vysvětlit i složité věci a neschovává se za oborovou hantýrku. Přestože si dáváme pozor, i nám občas při schůzkách s klienty ulítne cizí slovo, které běžně používáme, ale laik ho nemusí znát. Chceme předejít nedorozuměním, a tak jsme sepsali slovníček nejčastějších IT výrazů.

Vývoj SW (nejen) na míru

agilita

Moderní přístup k vývoji, kdy je SW dodáván průběžně a po částech. Klient má přístup k testovacím verzím a existuje prostor k důležitým změnám i během vývoje. Agilita vyžaduje úzkou spolupráci vývojářů a klienta.

API

Rozhraní, které slouží k výměně dat mezi dvěma či více systémy. Díky tomuto standardizovanému formátu informací nemusí vývojář programy dlouze propojovat a má více času na vlastní práci s daty.

backend

Hlavní část softwaru, kterou běžný uživatel nevidí, ale která zajišťuje fungování aplikace, např. správu objednávek a skladu e-shopu nebo redakční systém blogu. Backend slouží i k zabezpečení přístupu k datům.

backuping

Zálohování dat. V ideálním případě k němu dochází průběžně nebo několikrát denně do odděleného úložiště. Záloha by měla být zašifrovaná, aby se údaje nedostaly, kam nemají.

bug

Chyba v softwaru, kvůli které se program nebo aplikace nechová tak, jak má - např. spadne, zamrzne nebo zobrazí špatně grafiku. Odstranění bugu se nazývá bug fix.

CAPTCHA

Nástroj, kterým ověříte, jestli je uživatel SW reálný člověk, nebo robot. Využívá se např. pro ochranu před spamy. Obvykle se jedná o obrázek nebo záměrně deformovaný text, který opíšete do připraveného pole. Řešení od Google se nazývá reCAPTCHA.

cache

Mezipaměť nebo taky vyrovnávací paměť. Aplikace a IT systémy do cache dočasně ukládají vybraná data, aby se příště rychleji zobrazila. Používají ho i webové prohlížeče, aby se vám svižněji načetly oblíbené stránky.

CI/CD

Zkratky pro Continuous Integration a Continuous Delivery. Jde o proces, který zrychluje testování a nasazení SW tím, že dochází k automatickému testování a nasazování na jednotlivá prostředí (nejčastěji vývojové, testovací, produkční).

CMS

Nástroj pro správu obsahu a případně i dokumentů. Přes Content Management System např. nahrajete na blog nový článek nebo vložíte produkt včetně fotek a popisku do e-shopu. V češtině se často používá výraz redakční systém.

cron

Nástroj používaný pro automatizaci plánovaných a pravidelně se opakujících úkolů při správě SW. Umožňuje určit konkrétní časové úseky, kdy má dojít k zálohování (backuping), aktualizaci apod.

databáze

Nástroj pro ukládání dat, se kterými software pracuje - dle typu dat se jedná buď o relační, nebo nerelační databázi. U e-shopu to bývají např. informace o zákaznících, produktech, objednávkách nebo transakcích.

deployment

Česky nasazování. Sada postupů, podle kterých se přenáší hotová aplikace či update do nějakého prostředí (např. testovacího či produkčního). Správně vyřešený a automatizovaný deployment snižuje riziko chyb při opakovaném nasazení SW.

framework

Dopředu připravené a vyzkoušené kousky kódu, které programátor využívá při vývoji, aby nestavěl všechno od nuly. Framework připomíná stavebnici, díky které se aplikace nebo program postaví mnohem rychleji.

frontend

Část softwaru nebo webové aplikace, která prezentuje data z backendu a zobrazí se návštěvníkům nebo uživatelům. Při vytváření frontendu se vývojáři soustředí např. na vizuál dané stránky webu nebo aplikace a její uživatelskou přívětivost.

geocoding

Proces pro získání geografické polohy (GPS) z textové polohy (např. poštovní adresy). Opakem je reverzní geocoding, který na základě GPS souřadnic vrátí textový popis polohy. Geocoding se využívá např. pro zobrazení bodů zájmu v okolí zadané adresy na mapě.

integrace

Propojení různých systémů nebo aplikací. Kvalitní integrací docílíte předávání dat ve správné podobě. K integraci se běžně používá API rozhraní. Pokud není k dispozici, vytvoří programátor řešení na míru.

iterace

Převážně se používají u agilního vývoje SW. Programátoři vyvinou předem stanovenou funkci nebo část aplikace a předají vám ji k náhledu a otestování. Sepíšete své komentáře a oni je v další iteraci do stejného kusu aplikace zapracují.

kanban

Metodika i nástroj používaný při agilním vývoji SW. V kanbanu jsou jednotlivé úkoly rozdělené do sloupců označujících stav daného úkolu. Kanban poskytuje dobrý přehled o počtu úkolů, postupu práce při jejich plnění a fázích projektu. Původně japonský výraz pro tabuli.

knihovna

Databáze hotových kódů, které v daném programovacím jazyce řeší určitou funkci, např. kompresi dat, připojení k databázi nebo vykreslování grafů. Vývojář v knihovně najde i návod, který mu usnadní její použití v praxi.

kódování znaků

Systém přiřazení číselných kódů k příslušným znakům (písmena, číslice apod.), který je důležitý pro správné zobrazení textu v daném jazyce. Nejčastěji se používají Unicode UTF-8 a UTF-16, protože podporují všechny světové jazyky. Základní kódová sada pokrývající znaky anglické abecedy se nazývá ASCII.

log

Způsob zaznamenávání informací o průběhu nějaké činnosti, např. kdo se přihlásil do administrace, kdo upravoval informace o produktech. Logy pomáhají při objasňování chyb. Pojem údajně vznikl jako nástroj pro zaznamenávání klád, které proplouvaly po řece.

MVC

Softwarová architektura rozdělující software na datový model, uživatelské rozhraní a řídicí logiku aplikace - Model definuje práci s daty, View data vizualizuje a Controller stanovuje pravidla, která drží celou aplikaci pohromadě.

MVP

Přístup k vývoji, kterým získáte (minimální) funkční řešení v rozumném čase a za rozumné peníze. Díky Minimum Viable Productu zjistíte dříve a bez utracení celého rozpočtu, jestli je o SW na trhu zájem. Následný rozvoj a doplňování funkcí vychází ze znalosti potřeb uživatelů, ne z domněnek.

NDA

Smlouva o mlčenlivosti. Non-Disclosure Agreement se uzavírá na začátku spolupráce. Zejména v situaci, kdy se dodavatel potřebuje seznámit s citlivými daty nebo obchodním tajemstvím a vy chcete zajistit, aby se know-how nedostalo k nikomu dalšímu.

open source

Software s volně přístupným zdrojovým kódem, který lze libovolně používat, upravovat či šířit (vždy záleží na podmínkách licence). Díky open source přístupu je vývoj systémů efektivnější a snadněji ho předáte jinému dodavateli.

prototyp

Klikací wireframe nebo funkční model softwaru. Dokážete se díky němu proklikat návrhy jednotlivých obrazovek ještě předtím, než programátoři napíšou první řádku kódu. Hned z kraje spolupráce tím získáte dobrou představu, jak bude SW vypadat, a vyhnete se pocitu, že „výsledek měl vypadat jinak“.

SLA

Service-Level Agreement je smlouva, která vám garantuje dostupnost aplikace po spuštění. SLA stanovuje dostupnost v % - např. 99,8 % znamená výpadek nanejvýš 17,5 h za rok, který má 8 760 h.

software house

Jiné označení programátorské firmy. Obvykle se software house specializuje na určitý typ služeb (e-shopy, webové aplikace, mobilní aplikace…). Každý software house používá jiné vývojářské postupy a technologie podle zvyku, zkušeností nebo vhodnosti pro daný projekt.

specifikace projektu

Dokument se zadáním projektu. Vzniká ještě před zahájením vývoje jako výstup analýzy. Dozvíte se z něj, co má SW umět, jaký je jeho cíl, pro kolik uživatelů se vytváří, jaká bude logika systému, hlavní procesy aj. Detailní specifikace projektu zabere čas, ale sladí a zdokumentuje očekávání všech stran.

škálovatelnost

Schopnost IT řešení dynamicky reagovat na potřebu zvýšení či snížení výkonu např. na řádově vyšší množství uživatelů nebo třeba při rozšíření e-shopu o nový typ produktů. Základem škálovatelnosti je vhodně navržená architektura systému.

testování

Nezbytná fáze projektu, během které se kontroluje správné fungování SW. Běžně se setkáte s různými úrovněmi testování (strojové, uživatelské, akceptační, výkonnostní, penetrační). U každého projektu se hodí jiná kombinace.

ticket

Ticket, task, issue nebo karta jsou různá označení pro úkol. Při vývoji SW na míru se většinou práce rozdělí na části, funkce a úkoly. S tickety se setkáte i ke konci vývoje, při akceptačním testováním aplikace. S jejich pomocí zadáváte nalezené nedostatky k opravě.

waterfall

Klasický přístup k vývoji SW, kdy se postupuje po částech. Vyžaduje detailní zadání a využívá se u projektů s pevně daným rozsahem. Výhodou je přímočarost, jasná časová náročnost a cena. Hůře se ale reaguje na změny nebo požadavky objevené během vývoje - pokud se úměrně neupraví rozpočet nebo harmonogram.

webhook

Mechanismus, který umožňuje předávání dat mezi systémy. Díky webhooku funguje např. platební brána v e-shopu. Externí systém platební brány vyšle signál vaší aplikaci, že objednávka byla úspěšně zaplacena a web uživateli zobrazí obrazovku s potvrzením.

wireframe

Vizualizace obrazovek softwaru. Někdy se označuje jako drátěný model a díky němu vidíte ještě před zahájením vývojem, jak budou v aplikaci rozmístěné nadpisy, texty, formulářová políčka, obrázky, tlačítka, tabulky, menu atd. Představte si ho jako výkres pro stavbu domu.

Služby, které vývojáři používají

Bitbucket

Webová služba, která slouží k zabezpečenému uložení a sdílení zdrojového kódu pomocí Git. Sdílení je možné jak soukromě, tak veřejně (běžné u open source projektů).

ClickUp

Online nástroj na řízení projektů, který umožňuje např. přidělování úkolů různým lidem či nastavování termínů. ClickUp pomáhá udržet pořádek při vývoji SW.

Cloudflare

Balík online služeb, mezi které patří např. ochrana před DDoS útoky, load balancing, cachování, SSL terminaci, či správa názvů domén (DNS).

GitHub

Služba nabízející obdobné služby jako Bitbucket. GitHub je obecně více využíván open source komunitou.

Figma

Program, který využívají zejména grafici k vytváření interaktivních prototypů webových aplikací, e-shopů a IT systémů. Díky Figmě si všichni lépe představí, jak bude SW fungovat a vypadat – bez nutnosti cokoliv kódovat.

Miro

Online nástroj připomínající sdílený whiteboard, který společně s ostatními plníte lístečky s nápady, mindmapou, diagramy nebo tabulkou priorit. Práci usnadňují šablony, komentáře i možnost sledování kurzoru ostatních uživatelů. Miro umožňuje brainstormingy nebo online workshopy.

Slack

Chatovací nástroj, který nahrazuje e-mailovou komunikaci. Přes Slack oslovíte konkrétního uživatele i celý tzv. kanál. Svůj Slack snadno propojíte se Slacky jiných firem a komunikujete v jednom prostředí. Přes Slack pošlete text, obrázky, videa i emojis. Aplikace ukládá historii komunikace, můžete v ní vyhledávat.

Trello

Přehledný online nástroj na řízení projektů, který pracuje s metodikou kanban. V Trellu se projekty řídí přes nástěnky, na kterých vytvoříte sloupečky se stavem úkolů (např. open, in-progress, testing, deployed). Postupně mezi nimi přesouváte karty s příslušnými úkoly.

Technologie

Angular

Frontendový framework v JavaScriptu od Googlu, který vývojáři používají při vytváření tzv. single page webových aplikací (SPA) – moderních webů, které se rychle načítají (např. Gmail, Netflix, Instagram, Paypal).

CSS

Kaskádové styly, s jejichž pomocí se definují např. barvy, písma nebo velikost fontů na webu. Díky CSS je možné od sebe ve zdrojovém kódu oddělit vzhled a obsah dokumentu.

Django

Open source backendový framework pro webové aplikace psané v Pythonu. Django používá velká komunita programátorů, proto obsahuje spoustu kvalitně připravených řešení, díky kterým vývojář staví aplikaci rychleji.

Docker

Open source software, který umožňuje oddělení jednotlivých služeb aplikace do samostatných kontejnerů. Díky tomu jsou od sebe služby izolované a nemohou se navzájem ovlivnit například v případě bezpečnostního incidentu.

Elasticsearch

Nástroj pro rychlé fulltextové vyhledávání, který poskytuje široké možnosti nastavení i škálovatelnost. Poradí si i s vysokým počtem uživatelů ve stejný čas. Disponuje RESTful API rozhraním pro jednoduchou komunikaci s ostatními službami.

Git

Nástroj pro verzování zdrojového kódu usnadňující spolupráci více vývojářů při práci na jednom projektu. Git ukládá informaci o změnách provedených jednotlivými vývojáři v čase. Jeden projekt v rámci Git se nazývá repozitář.

GraphQL

Open source dotazovací jazyk od Facebooku pro práci s daty přes API. Programátor může přes GraphQL detailně definovat požadavky na strukturu dat, a tím např. zrychlí načítání SW. Jedná se o alternativu RESTful API. GraphQL využívá datový formát JSON.

HTML

Základní webový jazyk, který definuje strukturu webových stránek. HTML je zde už od prapočátků internetu. Následně ho obohatily kaskádové styly (CSS), které umožňují pokročilejší práci s vizuální podobou stránek.

JavaScript

Skriptovací jazyk, který se používá (nejen) při vývoji frontendových webových aplikací. Původně vznikl jako rozšíření HTML, které umožnilo dynamičtější práci s obsahem webu. Dnes ho programátoři používají i pro backend.

JSON

Jeden z nejpoužívanějších formátů pro výměnu dat mezi různými aplikacemi. Vznikl v JavaScriptu, ale využívá se i v dalších programovacích jazycích.

PostgreSQL

Jeden z nejvíce používaných relačních databázových systémů. Vyvíjí ho komunita s pomocí otevřeného zdrojového kódu. Je použitelný na různých platformách a vyniká rychlostí, spolehlivostí a bezpečností.

Python

Jeden z nejpopulárnějších programovacích jazyků na světě pro backend. Jedná se o open source a používá ho např. Google, Spotify nebo Seznam.

React

Framework od Facebooku používaný při vývoji frontendu aplikací. Varianta React Native se využívá pro vývoj hybridních mobilních aplikací pro iOS a Android.

RESTful API

Nejrozšířenější typ rozhraní k propojení více systémů nebo aplikací. Tato architektura využívá 4 základních metod HTTP (GET, PUT, POST, PATCH, DELETE), pomocí kterých umožňuje různé datové operace jako vytváření, mazání nebo získávání obsahu.

Terraform

Nástroj na správu cloudové infrastruktury pomocí kódu (přístup IaC – „Infrastructure as Code“). Terraform je něco jako předpis či definice, která zásadně zefektivňuje vytváření infrastruktury, snižuje závislost na jednotlivcích a eliminuje chyby, které mohou vzniknout při manuální práci s infrastrukturou.

TypeScript

Open source programovací jazyk od Microsoftu, nadstavba JavaScriptu. Používá se při vývoji frontendu i backendu. Řadí se mezi tzv. objektově orientované programovací jazyky.

Internet a další IT pojmy

browser

Webový prohlížeč nebo také klient. Jedná se o aplikaci, která přečte zdrojový kód webové stránky a zobrazí její vizuální podobu. Nejpoužívanějšími browsery jsou Chrome, Safari, Edge a Firefox.

CDN

Síť propojených serverů (Content Delivery Network), která zajistí co nejrychlejší zobrazení statického obsahu webů (obrázky, JavaScript, CSS, videa atd.), ať už se připojíte odkudkoliv. Při správném použití CDN šetříte peníze snížením trafficu na primární úložiště statických dat.

CSV

Speciální typ souboru, který obsahuje tabulková data v textové podobě – hodnoty od sebe odděluje středníkem. S CSV se setkáte třeba při práci v Excelu nebo ho využívají webové aplikace pro import či přenos dat. I přesto, že má soubor přímo v názvu Comma Separated Values, obvykle nejsou hodnoty oddělené čárkou, ale středníkem.

DNS

Protokol, který překládá číselnou podobu IP adresy na text. Domain Name System zásadně usnadňuje surfování – místo složité číselné kombinace stačí do prohlížeče napsat např. www.coex.cz.

doména

Text odkazující na IP adresu serveru, na kterém běží web. Existuje doména 1. řádu (např. cz, com), doména 2. řádu (např. coex.cz) a doména 3. řádu (např. neco.coex.cz nebo www.coex.cz).

Google Analytics

Sada nástrojů od Googlu, které při správném nastavení sbírají data o návštěvnosti webu. Díky tzv. GA máte přehled např. o chování lidí na webu, víte, odkud přicházejí, i přes kterou stránku mizí.

Google Tag Manager

Nástroj pro zjednodušenou správu vkládání kódů třetích stran (Google Analytics, Adwords, Sklik, Facebook pixel atp.). V praxi stačí na webovou stránku vložit jeden unikátní kód, GTM následně sám vloží kódy na všechny stránky webu.

IMAP

Protokol, který zajišťuje vzdálený přístup k e-mailové schránce (nahrazuje starší a jednodušší POP3). Díky Internet Message Access Protocol můžete číst a třídit zprávy, které vám přišly do schránky např. přes desktopovou nebo mobilní aplikaci. K odesílání e-mailů se používá protokol SMTP.

IP adresa

Detailní adresa zařízení (počítače, mobilu, serveru, webkamery, chytrého světla atp.), které se přes tzv. IP protokol připojí k síti. Existují dvě verze IP adresy: starší IPV4 (např. 234.113.153.181) a novější IPV6 (např. 2001:0db8:85a3:0000:0000:8a2e:0370:7334).

SSL

Protokol umožňující bezpečnou komunikaci na internetu. Nejčastěji se používá pro komunikaci s webovými servery pomocí HTTPS. Následovníkem je protokol TLS. Používání SSL zvyšuje důvěryhodnost webu a v prohlížeči ho označuje ikona zámečku v adresové řádce. Zkratka znamená Secure Sockets Layer.

webhosting

Pronájem prostoru na internetu, kde jsou umístěné webové stránky, případně na něm běží e-mailové schránky. Za službu platíte pravidelné poplatky, poskytovatel hostingu zajišťuje, aby byl váš e-shop nebo aplikace dostupná.

URL adresa

Přesná adresa dokumentu (webové prezentace, aplikace, souboru či API) na internetu. Zkratka pochází z anglického sousloví Uniform Resource Locator a vypadá např. takto: https://www.coex.cz/sluzby/eshopy-na-miru