Zpět na blog
Vzdělávání

Frontend vs Backend vs Fullstack a jak se na to dívám já

Jaroslav Beňo
20.08.2021
5 minut čtení
Frontend vs Backend vs Fullstack a jak se na to dívám já
Při řešení a vývoji aplikací si umíme vývoj rozdělit na dvě hlavní části – front end a back end. Front end je v podstatě to co vidíš očima - to s čím se uživatel jako prvním setká (během vysoké školy mě pucoval jeden profesor, že člověk, co kliká naši aplikaci je uživatel a ne uživatel). Následně back end je vše vzadu, co běžný uživatel nevidí, co se děje na pozadí, většinou je to zpracování dat, komunikace s databází a podobně.
Po internetu kolují desítky memes, ve kterých se tyto rozdíly mezi frontendem a backendem zobrazují. Prohlédni si pár z nich:
Doufám, že máš teď tak hrubou představu o tom, co je frontend a co backend. Jak se nám snaží podsunout tyto meme obrázky, backend nemusí být a neměl by být ošklivý a špatně napsaný špagetový kód, právě naopak. Přestože backend uživatel nevidí, měl by fungovat parádně. Podívejme se nyní na to z pohledu reálné aplikace.

Reálná aplikace

Uvažuji nad webovou aplikací, která bude napojena na databázi. Jako první potřebuji znát, co se má v aplikaci dít, co má aplikace dělat, jaké jsou podmínky, co se má kdy zobrazovat a podobně.

Pro tento úkol jsou vyhrazeni specialisté jako analytik, který analyzuje aplikaci z pohledu používání a takzvané business logiky. Tedy například bankovní aplikace má jinou business logiku a podobně aplikace pro správu uživatelů má jinou logiku. Potom nastoupí architekt, který řekne, v čem se bude programovat frontend, v čem back end a vše navrhne technicky.

Následně přichází na scénu frontend programátor a backend programátor. Nebo stále více populární fullstack programátor.

Role front end developera

Frontend developer má za úkol připravit obrazovky – UI – user interface podle požadavků. Například potřebuje zobrazit všechny transakce na bankovním účtu. Připraví si obrazovku. Použije HTML + CSS na vzhled stránky plus JavaScript na funkcionalitu. Použije nejčastěji jeden z populárních frameworků – podle zadání architekta – Angular, Vue, React. Kromě toho by frontend vývojáři měli ovládat frameworky jako Bootstrap, Foundation a další, které zajišťují skvěle vypadající obsah bez ohledu na zařízení, na kterém si daný obsah prohlížíte. Pokud potřebuje data, tak podá požadavek na backend programátora nebo analytik připraví úlohu pro back end programátora. Frontendista následně poté zobrazí data, která mu poskytl backend.
Frontend developer je zodpovědný za interiérový design domu, který postavil backend developer.

Role back end developera

Back end developer připraví databázi, připraví si kód pro získání dat z databáze a napojení dat do programu. Následně připraví službu na poskytnutí dat do okolního světa. Ne vše, co je v databázi chceme zobrazovat na obrazovce, jen to co je třeba. Služba bývá hlavně REST rozhraní (REST api), které vypadá jako klasická url adresa na webovou stránku, ale místo web stránky vrátí data v požadovaném tvaru. Například vrátí seznam bankovních transakcí daného uživatele ve tvaru JSON.
Jako backendista bys měl znát jazyk SQL pro komunikaci s databází. Potom záleží v jakém jazyce je backend napsán – Java, C#, Python, Ruby a podobne. Potom každý jazyk má frameworky, které pomáhají při práci.

Role full stack developera

Ideální kombinace je vědět jak front end, tak back end. Fullstack developer si připraví obrazovku a pokud potřebuje data, tak si je umí i sám připravit. Podle mého názoru je dobře vědět i frontu i backend, ale trpí tím hloubka znalostí problematiky.
Dovednosti a znalosti fullstack developerů jsou potřebné ve všech fázích procesu webového vývoje, počínaje fází plánování projektu, správou databází, vytvářením uživatelských rozhraní až po strukturování údajů a řešení kritických potřeb. Fullstack vývojáři proto musí porozumět všem úrovním webových stránek a tomu, jak web funguje.

Na závěr lze říci, že učení se více webových jazyků a technologií je pravděpodobně nejlepší cesta. Je však dobré mít na paměti tento přístup: osvojte si nejpoužívanější a nejpopulárnější technologie/jazyky, protože čím větší podporu pro svůj web/produkt/službu máte, tím lépe.

Backend developer zná do hloubky problémy, které mohou vzniknout s databází, zná lépe všechny procesy na pozadí.

Frontend developer ovládá lépe javascriptový framework, ví jak udělat věci efektivněji. Fullstack developer nemusí čekat, až mu připraví data na backendu a umí si vše lépe manažovat.
Jaroslav Beňo
Volám sa Jaroslav Beňo, predstavovať sa budem ako Jaro. Mám manželku. Máme zatiaľ dvoch synov. Som kresťan, ktorý študuje Bibliu. Kto chce vedieť viac, tak ma kľudne kontaktujte aj ohľadne tejto veci. Mám rád šport - aktívne a filmy.
Vyštudoval som aplikovanú informatiku, ktorá mi dala základy, ale ako každý, aj ja som sa musel učiť sám praktickým písaním kódu. Som fanúšik videotutoriálov a rád zdieľam svoje vedomosti. Nemyslím si, že som extra nadupaný borec programátor, ale to čo viem - šírim ďalej.
Verím, že ak sa budeme zdieľať porastieme vo vedomostiach rýchlejšie. Najviac ma poteší, keď ti budú moje videotutoriály užitočné.

Všetko pod jednou strechou:
www.jaroslavbeno.sk

Mohlo by tě zajímat

Data Science: kterým jazykem začít?
Vzdělávání
11.08.2021
Skillmea

Data Science: kterým jazykem začít?

I ty přemýšlíš o tom, že se naučíš data science, ale nevíš, kde začít? Dostáváme dotazy na to, s kterým data science jazykem začít jako s prvním. Proto jsme připravili tento blog, ve kterém ti shrnujeme nami navrhovaný postup učení se data science. V článku najdeš tipy na jazyky datové vědy od našich lektorů Mira Beku, který udělal populární online kurz Python Data Science a od Mareka Čecha, který vytvořil kurz se zaměřením na SQL dátovú analýzu. Věříme, že tento článek ti pomůže vybrat ten správný data science jazyk.[Image] Správný jazyk pro tvé Data Science cílePředtím, než si vybereš konkrétní jazyk, by sis měl(a) položit několik otázek a zodpovědět na ně. Jsou to zejména tyto: Na jakých projektech chceš pracovat? Jaká témata tě zajímají? Do kterých odvětví chceš jít? Odpovědi na tyto otázky ti pomohou určit jazyk, který se budeš muset naučit. Některá odvětví vyžadují znalost konkrétního jazyka, je to zejména z důvodu, že budeš pracovat s prověřenými modely daného odvětví, které jsou vytvořeny pomocí určitého jazyka. Dobrým postupem je i zeptat se datových vědců z odvětví, které tě zajímá, na jazyky, které používají a čím doporučují začít. Níže v článku najdeš několik facebookových a jiných skupin z regionu Slovenska a Česka, které ti doporučujeme. “TL;DR: Nejčastěji používané jazyky v datové vědě jsou Python, R a SQL. Toto jsou i námi doporučené jazyky, kterými začít, pokud máš v úmyslu stát se datovým vědcem. ” Při výběru jakéhokoli z data science jazyků však v podstatě neuděláš chybu, protože když se naučíš extrahovat poznatky a data pomocí jednoho jazyka, nebude pro tebe problém naučit se jiný jazyk. Všestranný datový vědec by měl být schopen „skákat“ mezi jazyky. Nejoblíbenější Data Science jazykyV tomto stručném přehledu ti představíme nejoblíbenější Data Science jazyky ak čemu slouží. Dobrou zprávou je, že Python, R i SQL mají rozsáhlé ekosystémy a komunity, takže tyto jazyky jsou vhodné pro téměř všechny úkoly datové vědy. Python Python je univerzální moderní programovací jazyk, umíš jím dělat weby i programovat roboty. Mezi programátory je oblíben pro svou stručnou a snadno čitelnou syntaxi. Dobře se tedy čte a lze se ho velmi rychle naučit – je tedy skvělou volbou pro výuku programování. Díky řadě výkonných knihoven a balíků může Python implementovat mnohé ze statistických modelů a výpočtů potřebných pro datovou vědu. Je to také jeden z nejlepších jazyků pro získávání (scraping) údajů z webu. Mnoho firem a organizací používá Python pro data science, protože jejich programátoři již používají Python i pro jiné účely. Python také používá intuitivní a jednoduchou syntaxi, takže je vhodný pro začátečníky k učení se důležitých všeobecných konceptů programování, jako jsou funkce. Mírnou nevýhodou Pythonu jako prvního jazyka pro data science je, že základní instalace Pythonu neobsahuje statistické funkce, takže si budeš muset stáhnout všechny potřebné balíčky, abys mohl začít s data science v Pythone. Když si ale všechno nastavíš, Python se dá snadno naučit. Pár zajímavých a doporučených balíčků pro Python: • Data manipulace: pandas a NumPy • Vizualizace: Matplotlib a seaborn • Testování hypotéz a modelování: SciPy, scikit-learn, statsmodels Lektor Miro Beka doporučuje i Jupyter notebook, který je podle něj "skvělý nástroj jak pracovat s Python data science, protože programátor umí přímo v něm vykonávat všechny funkce, zobrazovat grafy a obrázky, případně importovat stávající jupyter notebooky. Jelikož python nemá nativní IDE, kde by všechny tyto věci fungovaly out of the box, jupyter notebook slušně doplňuje Python prostředí o potřebné nástroje." Programovací jazyk R R je statistický programovací jazyk vytvořen pro analýzu dat, vizualizaci dat a datovou vědu. Dodává se s komplexním souborem vestavěných statistických funkcí a metod. R je dobrá volba, pokud jsi nováček v oblasti datové vědy, ale už máš základní znalosti o obecných konceptech programování. Datové struktury, typy proměnných a analytické nástroje v R jsou jednoduché a navrženy speciálně pro datovou vědu. Na začátku nemusíš být zaneprázdněn syntaxí nebo více různými knihovnami. Se základní instalací R budeš mít přístup k mnoha funkcím datové vědy, jako jsou lineární regrese nebo t-testy, a vytvářet pěknou grafiku a vizualizace. R se také dobře kombinuje s RStudio – integrovaným vývojovým prostředím (IDE) – které usnadňuje spuštění kódu R a kontrolu výstupu. Mezi několik užitečných balíčků, o kterých bys měl vědět při učení jazyka R, patří: • Sbírka data science balíčků: tidyverse • Data manipulace: dplyr (nachází se i v tidyversu) • Vizualizácia: ggplot2 (nachází se i v tidyversu) • Regrese: caret SQLSQL je jazyk, který umožňuje programátorům komunikovat s databázemi a spravovat údaje, které obsahují. Běžně se používá k dotazování a úpravě údajů uložených v relační databázi. Datoví vědci obvykle extrahují data z databáze pomocí jazyka SQL a poté je importují do R nebo Pythonu k analýze. Bez ohledu na to, jaký jazyk se pro analýzu dat naučíš, SQL je důležité naučit se, pokud chceš stahovat data z databází. Znalost jazyka SQL ti umožňuje pracovat s databázemi PostgreSQL, SQLite, MySQL a dalšími relačními databázemi. Syntaxe základních dotazů je v různých databázích podobná, takže SQL je pro tento účel univerzálním jazykem. Pokud se chceš dozvědět více o různých typech databází, podívej se na tento online kurz o MySQL a SQLite. Lektor Marek Čech mluví o SQL jako o vstupní bráně do oborů souvisejících se správou dat, ať už se jedná o data science, data analýzu nebo třeba business intelligence. Je nejen univerzálním jazykem pro komunikaci s databázemi a získávání dat z nich, ale nabízí také velké množství vestavěných funkcí, díky kterým je uživatel velmi rychle a snadno schopen provádět poměrně komplexní operace. „Začít svou cestu k práci s daty jazykem SQL bych právě proto doporučil i lidem, kteří nemají předchozí zkušenosti s programováním či „kódováním“. Člověk se tak naučí psát jednoduché i složité otázky, vytvářet databázová schémata, indexy či procedury, a obecně pochopí , jako tok dat a jejich čištění / transformace běžně probíhá." mluví dále Marek Čech. Jazyk SQL lze využít opravdu v jakémkoli oboru. Znát jej tedy znamená otevřené dveře do lokálních podniků i nadnárodních korporací snad ve všech odvětvích. A když se člověk rozhodne své znalosti rozšířit o další jazyky, bude se mu znalost SQL stále hodit při pátráních na zdrojová data a často i pro nejrůznější data analytické operace či poskytování dat "businessovým" uživatelům - tedy např. u vědy. Management firmy. Další data science jazykyV závislosti na tom, do jakého odvětví nakonec půjdeš, se možná budeš muset naučit konkrétní jazyk pro datovou vědu. V následujícím seznamu jazyků se dozvíš více o tom, k čemu se používají. C/C ++: C aj C ++ vyžadují silné znalosti základů programování a učení těchto jazyků může trvat déle. V kombinaci s Pythonem nebo R lze C/C++ použít pro rychlejší a efektivnější výpočty datasetů. JavaScript: JavaScript je super nástroj pro vývoj interaktivních data vizualizací na webu s knihovnami jako D3.js. JavaScript také podporuje knihovny strojního učení jako TensorFlow.js. MATLAB: Ideální pro pokročilé numerické výpočty a pro řešení složitých matematických a statistických problémů. MATLAB se v akademickém prostředí široce používá k vyučování matematiky, fyziky a inženýrství. Julia:Novější programovací jazyk navržený pro numerickou analýzu a výpočetní vědeckou analýzu. Je to užitečné pro aplikace ve fyzice, chemii, astronomii, strojírenství, bioinformatice a dalších oblastech. Scala: Výkonný jazyk, který dokáže zpracovat velké množství dat. Scala běží na Java Virutal Machine, což znamená, že se dobře integruje s programy napsanými v Javě. SAS: Vytvořen pro pokročilou analytiku, obchodní inteligenci a prediktivní analýzu. SAS se běžně používá ve zdravotnictví, bankovnictví a pojišťovnictví. Stata: Používá se v ekonomickém výzkumu, veřejné politice a sociálních vědách. Stata je navržena pro cokoli od jednoduché deskriptivní analýzy po komplexní statistické modelování. Další vzdělávání v data sciencePokud chceš být v kontaktu s lidmi z fachu, prohlédni si těchto pár užitečných odkazů. Toto jsou slovenské Facebook skupiny, které se zabývají datovou vědou: • PyData Slovakia & Bratislava 👉 https://www.facebook.com/groups/1813599648877946/ • R Slovakia 👉 https://www.facebook.com/groups/931707906955080/ Pycon konference v Bratislavě je organizována dobrovolníky a dobrovolnicemi z občanského sdružení SPy o.z. zaměřeného na šíření jazyka Python a dalších open sourcových technologií a myšlenek. Pycon má specializovaná část, která se jmenuje Edu Summit a je zaměřena na vyučování programování na základních a středních školách. Více info najdeš na webe Pyconu. Pythonu se věnuje i konference Python Day Bratislava. Je to československá konference, na které si poslechneš přednášky od předních českých a slovenských odborníků ze světa Pythonu. Ročník 2021 byl organizován online. Machine Learning Prague je největší evropská konference o Machine Learningu, AI a Deep Learningu. Ročník 2022 bude v březnu, více info na stránce konference.
Krátký úvod do SQL
Vzdělávání
25.06.2021
Skillmea

Krátký úvod do SQL

Úvod do databázyNa internetu, v mobilních aplikacích ve webových aplikacích potřebujeme data – informace. Tyto informace musí být někde uloženy. My si budeme povídat o SQL databázích. Jsou to systémy, které mají v sobě uložená data ve formě tabulek. Z těchto tabulek následně tato data čteme a zobrazujeme uživatelům. Podívejme se na příklad. Mějme databázi - informace o škole. V této databázi máme informace o třídách, učitelích nebo io žácích. Začněme s třídami. Jaké máme informace o třídě? Třída má název, kapacitu, číslo místnosti, označení zda je interaktivní a podobně. Tato označení by byla názvy sloupců v tabulce. Řádky v tabulce jsou následně reálná data. Název tabulky: Class[Image]V databázi budeme mít několik tabulek, dle požadavků. Můžeme mít všechno v jedné tabulce, ale jak to potom rozdělíme? Nad takovým uvažováním je třeba myslet dopředu. Analýza a návrh tabulek jde ruku v ruce s praxí. Neboj se toho, teď je zapotřebí hlavně, abys získal praxi a to jde ruku v ruce s chybami. Úvod do SQLV počítačovém světě máme několik typů databází. My si něco povíme o SQL tedy o Structured Query Language. V překladu něco jako strukturovaný poptávkový jazyk. Query tedy poptávka je příkaz - žádost - poptávka na databázi. Žádáme o vrácení dat, o úpravu dat, vložení nebo o smazání dat. Databáze je samostatný systém, který může být na tvém počítači nebo na vzdáleném počítači. Na tuto databázi pak zašleme poptávku. Poptávku pošleme formou SQL příkazů, které mají určitou strukturu. SQL syntaxSQL není case sensitive, tedy se nerozlišují velká a malá písmena. Přesto se příkazy píší zejména velkými písmeny. Příkazy umíme psát i na více řádků, ale musí být ukončeny středníkem. SELECT * FROM Class; Nebo:  SELECT * FROM Class;Samozřejmě smysl to dává jen je-li komplikovanější příkaz. Názvy sloupců a tabulek píšeme malými písmeny. Pokud je název složen z více slov, tak slova oddělíme znakem _ podtržník. Je to doporučený způsob pro lepší čitelnost. Názvy mohou obsahovat také čísla. Při vymýšlení názvů se pokus vyhnout množným číslům. Názvy mají být krátké a výstižné. Názvy nesmí být totožné s klíčovými slovy, jako je například slovo SELECT / select. DatabázeVytváření databázeDatabázi umíme vytvořit i pomocí příkazu pokud se napojíme na instalaci databázového systému, například MySQL. Příkaz by vypadal následovně: CREATE DATABASE Class; Nebo ji vytvoříme po připojení se na databázový systém z databázové aplikace. Těch je několik. MySQL workbench, DBiever nebo SQuirrel. I programovací vývojová prostředí se umí připojit na databázi jako například IntelliJ IDEA Ultimate edition. Všechny poskytují prostředí pro správu a prohlížení databází. Databázi umíme také smazat:  DROP DATABASE Class; Přejmenovat: RENAME DATABASE Class TO new_class_name; Vytváření tabulekTeď, když jsme vytvořili databázi, tak si můžeme vytvořit tabulky. Znovu umíme použít prostředí pro správu databází, ale my si ukážeme postup pomocí příkazu. Podívejme se na příklad: CREATE TABLE Class ( id int, name varchar(255), capacity int, room_number int, interactive boolean );Co jsme napsali? Na začátek máme příkaz CREATE TABLE Class, kde říkám, že chci vytvořit tabulku se jménem Class. Následně mezi závorky napíšeme seznam sloupců – tučným písmem naznačeno (id, name...). Vedle názvů sloupců máme specifické příkazy pro dané databázové systémy. Jedno je však společné – za názvem sloupce následuje typ údaje – musíme zaspecifikovat, zda je to číslo, zda je to text, jestli je to boolean a podobně. Specifikování datových typů se může lišit podle toho, jakou databázi používáme. Základní typy jsou podobné a některé stejné. Například text zaspecifikuji jako varchar – v závorce je délka počtu znaků, teď jsem řekl, že název může mít délku pouhých 255 znaků. Líbil se vám článek? V následujícím článku se podíváme na další SQL příkazy.
Izometrický design: 3D objekty zobrazené ve 2D prostoru
Vzdělávání
10.06.2021
Ľudovít Nastišin

Izometrický design: 3D objekty zobrazené ve 2D prostoru

Ve své podstatě představuje izometrický design způsob, jakým zobrazujeme trojrozměrné objekty ve dvourozměrném prostoru. Izometrie však není totéž jako perspektiva, která je obvykle úzce spojena s realistickým uměním. Hlavním důvodem je to, že nemá žádný „mizející bod“ (vanishing point). Právě to umožňuje izometrickým tvarům zachovat si kompozici bez ohledu na to, kde člověk stojí nebo sedí při pozorování izometrického designu. Možná sis všiml izometrické reklamy, v digitálu nebo infografikách, či ve svých oblíbených videohrách a ilustracích. Izometrické umění dává designérům nečekaně široké spektrum možností. A protože je založeno na tvarech, izometrické kresby se vytvářejí překvapivě jednoduchým procesem. Je to také velká legrace! Většinou... Jak vytvářet izometrické designyDesign je izometrický pouze tehdy, kopíruje-li izometrickou mřížku. Tu tvoří vertikální čáry, které zůstávají při postupu svislé a všechny vodorovné čáry jsou skloněny o 30 stupňů. Toto se také nazývá pravidlem 120 stupňů. To říká, že úhel mezi osami X, Y a Z musí být celkem 120 stupňů. • Design se musí řídit izometrickou mřížkou • Design nemůže obsahovat sbíhající se čáry • Svislé čáry zůstávají svislé, zatímco vodorovné čáry mají 30 stupňový sklon • Osa X, Y a Z dohromady tvoří celkem až 120 stupňů[Image] Kdy použít izometrický designIzometrická projekce je pro designéry velmi užitečná – zejména architekty, průmyslové a interiérové ​​designéry, protože je ideální pro vizualizaci místností, produktů či infrastruktury. Je skvělým způsobem, jak rychle otestovat různé designérské nápady. Existuje spousta dalších situací, ve kterých je izometrická projekce užitečná. V systémech orientace například v muzeích nebo galeriích mohou izometrické nástěnné mapy ukázat návštěvníkům, kde se v budově nacházejí, co se děje jinde a jak se tam dostat. Některé z nejlepších infografik používají izometrickou projekci, která jim umožňuje zobrazit více informací, než by bylo možné na 2D výkresu. A dokonce i loga používají tento přístup k vytvoření efektu prostorového efektu.[Image] Isometric case study: Monument Valley Jelikož pohled v této hře má jediný bod, který se nikdy nepohybuje, objevily se zde zajímavé problémy týkající se manipulace perspektivy. I když se zdá, že stezka nebo most vede na první pohled do slepé uličky, rychlé otáčení mapy ukazuje cestu vedoucí na nové místo. Díky tomu je ve hře spousta hlavolamů, které se zdají buď nemožné nebo příliš jednoznačné. Ale ani jedno není pravda. Je to jen komplikovanější, než se na první pohled zdá. A aby tohoto efektu mohli dosáhnout, vše se muselo přesně seřadit v různých úhlech. Proto se vývojáři rozhodli položit hru do 30stupňové izometrické mřížky. To znamená, že každý úhel, který vidíte, je buď 30 stupňů, 120 stupňů nebo zcela svislý, což jsme si již vysvětlili výše. Izometrický design je skvělá technika pro oživení 2D flat designu. Přirozenou výhodou je, že grafiku pomocí izometrické projekce vnímáme jasněji a velmi dobře se v ní umíme orientovat. Izometrické vzory vytvářejí realitu, ve které můžeme vnímat věci takové, jaké jsou. Divné, ale funkční. A právě to z ní činí vynikající doplněk k alternativám designu, které už máš ve svém portfoliu.

Nezmeškej info o nových kurzech a speciálních nabídkách