Editing
Jak se bránit SQL injection ve webových aplikacích
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Nepodceňujte režii a opakované činnosti Častou chybou je započítat pouze čistý čas kódu. Ve skutečnosti do odhadu musíte zahrnout schůzky, code review, opravy chyb, dokumentaci, komunikaci se zadavatelem a také vlastní učení. Pokud odhadujete novou technologii, přidejte 30–50 % rezervu. Stejně tak počítejte s tím, že testování zabere minimálně třetinu času. Mnoho vývojářů odhaduje pouze čas, kdy píší nový kód, ale zapomíná, že většina projektu je údržba a ladění.<br><br>Když tvoříte webové stránky, ať už jde o jednoduchou firemní prezentaci nebo rozsáhlejší aplikaci, dříve nebo později narazíte na situaci, kdy potřebujete vrátit změnu, porovnat verze nebo spolupracovat s někým dalším. Ruční kopírování souborů do složek s názvy jako „final_v2" nebo „opraveno_3" přestává fungovat ve chvíli, kdy projekt roste. Řešením je verzovací systém, který sleduje historii všech souborů a umožňuje vám pracovat bezpečně a přehledně.<br><br>Nejprve si vyberte nástroj. Většina webových vývojářů používá Git, a to z dobrého důvodu – je rychlý, rozšířený a funguje lokálně i vzdáleně. Po instalaci si otevřete terminál ve složce projektu a spustíte příkaz k inicializaci repozitáře. Tím vytvoříte skrytou složku, do které se ukládají informace o změnách. Než ale začnete commitovat, vytvořte si soubor .gitignore, do kterého zapíšete vše, co se verzovat nemá: složky jako node_modules, dočasné soubory, konfigurace s hesly nebo soubory s lokálním nastavením. Tím předejdete tomu, že se do historie dostanou zbytečné nebo citlivé údaje.<br><br>Na závěr si osvojte jednu užitečnou návyk: pište si ke každému projektu soubor .dockerignore. Do něj vložte složky jako node_modules nebo .git, aby se při buildu nekopírovaly zbytečné soubory. Nejenže to zrychlí build, ale také zabrání tomu, aby se do obrazu dostaly citlivé údaje z vašeho lokálního prostředí. Docker není kouzlo, ale když se naučíte jeho základní principy, ušetří vám hodiny práce při nasazování aplikací. Vyzkoušejte si to na malém projektu – vytvořte si vlastní obraz, spusťte ho a postupně přidávejte další funkce, jako jsou svazky nebo síťová propojení mezi kontejnery. Za pár dní zjistíte, že bez kontejnerů už nechcete pracovat.<br><br>Třetí úskalí spočívá v tom, že lidé často spouští kontejnery interaktivně bez náležitého přepínače. Pokud potřebujete vejít do běžícího kontejneru a prozkoumat ho, použijte docker exec -it název_kontajneru sh. Bez -it se nedostanete do interaktivního shellu a budete jen bezradně koukat na výstup. Také si zvykněte na pravidelný úklid: příkaz docker system prune smaže nepoužívané obrazy, kontejnery a sítě, čímž uvolní místo na disku. Naopak se vyvarujte mazání kontejnerů, které právě běží – vždy je nejprve zastavte příkazem docker stop.<br><br>Prvním praktickým krokem je instalace Dockeru. Na Linuxu obvykle použijete balíčkovací nástroj vaší distribuce, na Windows a macOS stáhnete instalační program z oficiálních stránek. Po instalaci si ověřte funkčnost příkazem docker --version. Hned poté si vytvořte první kontejner: docker run hello-world. Tento příkaz stáhne malý testovací obraz a spustí ho. Pokud vidíte uvítací hlášku, máte vyhráno. Nezapomeňte, že Docker na Linuxu vyžaduje práva roota – buď použijte sudo, nebo přidejte svého uživatele do skupiny docker, abyste nemuseli psát sudo pokaždé.<br><br>Doporučuji udržovat každou větev krátkodobou a zaměřenou na jednu konkrétní funkci. Pokud potřebujete provést změny, které nesouvisí s aktuální funkcí, vytvořte si pro ně samostatnou větev. To platí i pro drobné opravy, které byste chtěli rychle nasadit. Izolace změn vám umožní je nezávisle testovat a vracet zpět, aniž byste ohrozili ostatní práce. Při pojmenování větví používejte jasný systém, který obsahuje identifikátor úkolu a krátký popis, ale vyhněte se obecným názvům jako „fix" nebo „test".<br><br>Základním krokem je rozdělení projektu na malé, nezávislé úkoly. Místo odhadu celého modulu „fakturace" odhadněte jednotlivé kroky: návrh databáze, API endpointy, formuláře, testy. Každý úkol by měl být dostatečně malý na to, aby jeho odhad nepřesáhl pár dní. U větších celků hrozí, že zapomenete na skryté závislosti. Doporučuji použít techniku „t-shirt sizes" nebo Fibonacciho posloupnost (1, 2, 3, 5, 8...), která nutí přemýšlet v relativních velikostech, ne v přesných hodinách.<br><br>Kromě lokálního repozitáře byste měli mít i vzdálenou kopii, třeba na službě pro hosting projektů. Tím získáte zálohu a možnost spolupracovat s týmem. Push a pull jsou příkazy, které budete používat denně. Předtím, než začnete pracovat, si vždy stáhněte nejnovější změny, abyste nepřepisovali práci ostatních. Pravidelně commitujte – ideálně po každé logické části práce, ne až na konci dne. To vám umožní snadno najít místo, kde se něco rozbilo, a vrátit se k poslednímu funkčnímu stavu.
Summary:
Please note that all contributions to Rikkiepedia may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Rikkiepedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information