Le coeur perdu – Paris

Parametrizovaný dotaz, nebo slepé skládání řetězců?

Začněte tím, že si před odhadem ujasníte, kde analytika končí a implementace začíná. Analytika obvykle zahrnuje sběr požadavků, rozpracování scénářů, návrh datových toků, dohodu s byznysem a zápis akceptačních kritérií. Implementace je pak samotný kód, testy, revize a nasazení. Pokud tyto hranice nejsou pojmenované, lidé si pod pojmem „hotovo” představují různé věci a odhad se rozpadne při prvním upřesňování.

Než začnete hledat chybu v kódu, otevřete vývojářské nástroje. Většina prohlížečů je otevře klávesou F12 nebo zkratkou Ctrl+Shift+I. Přepněte se na panel Console. Pokud je tam červený text, máte první stopu. Klikněte na číslo řádku vpravo od chyby, prohlížeč vás přenese přímo do zdroje na problematické místo. Často jde o překlep v názvu proměnné nebo o volání funkce, která ještě nebyla načtena. Console není jen výpis chyb, můžete do ní psát příkazy a zkoušet, co se děje s daty.

Zaveďte oddělené spouštění: jednotkové testy při každém uložení souboru, integrační před commitem nebo v CI. Nikdy nemíchejte obě vrstvy v jednom cíli, jinak přijdete o rychlou zpětnou vazbu. Sdílená fixtures a pomocné buildery držte v samostatném modulu, ať se nekopírují mezi vrstvami. Pozor na globální stav – statické proměnné, mezipaměti a časovače způsobují, že integrační testy procházejí jen v určitém pořadí.

SQL injection vzniká ve chvíli, kdy se do textu databázového dotazu vkládá vstup od uživatele přímým spojováním řetězců. Útočník pak místo očekávané hodnoty pošle fragment SQL, který změní význam celého dotazu. Nejde přitom jen o přihlašovací formuláře. Zranitelné bývají vyhledávací pole, filtry v administraci, řazení tabulek, stránkování i importy souborů. Stačí jedno místo, kde se hodnota z požadavku ocitne v dotazu bez oddělení od kódu.

Pro přechod existujícího projektu nezačínejte přepisem všeho. Zapněte TypeScript v režimu, kdy se soubory s příponou .ts kontrolují, a soubory .js nechte být. Postupně přejmenujte ty, které upravujete, a přidejte typy jen na jejich rozhraní. Nástroje jako kontrolor typů spustíte nad celým projektem i bez překladu, takže získáte přehled o chybách, aniž byste cokoli měnili. Když se počet chyb ustálí, zvyšte přísnost. Tímto tempem se vyhnete týdnům, kdy projekt nejde sestavit a nikdo neví, která část je hotová.

Git se nejlépe učí na malém projektu. Založ si složku s několika textovými soubory, zkoušej větve, maž je a znovu vytvářej. Neboj se experimentovat; dokud máš commitnutou fungující verzi, můžeš se k ní vrátit. Když si osvojíš základní cyklus add, commit, branch, merge, přestane být verzování překážkou a stane se nástrojem, který ti dává jistotu.

Breakpoint vydrží víc než dvacet console.log V panelu Sources najděte svůj soubor a klikněte na číslo řádku, kde chcete zastavit běh. Vznikne breakpoint. Obnovte stránku a skript se zastaví přesně tam. Vpravo se zobrazí aktuální hodnoty všech proměnných v daném rozsahu. Můžete je rovnou přepsat a sledovat, jak se změní další průběh. Tlačítky Step over, Step into a Step out se posouváte po kódu. Pokud se smyčka zacyklí, stačí breakpoint uvnitř a uvidíte, kolikáté opakování právě běží. Tohle odhalí chyby, které se v konzoli vůbec neprojeví, protože kód nespadne, jen dělá něco jiného, než má.

Větve, konflikty a jak je řešit bez paniky Větve ti umožní zkoušet změny, aniž bys rozbil hlavní verzi. Vytvoříš ji příkazem git branch nazev a přepneš se pomocí git checkout nazev. Když na větvi dokončíš práci, sloučíš ji do hlavní pomocí git merge. Právě při sloučení vznikají konflikty, pokud se stejná část souboru změnila na dvou místech. Git ti je označí v souboru a ty musíš ručně rozhodnout, která verze zůstane. Nenechávej konflikt nevyřešený a necommituj ho – vznikne zmatek, který se těžko rozplétá.

Častá chyba je zapomenutý breakpoint. Než zavřete nástroje, zkontrolujte panel Breakpoints a všechny záznamy smažte. Jinak se vám stránka bude zasekávat i při běžném prohlížení a budete marně hledat příčinu. Stejně tak pozor na podmíněné breakpointy: pravým kliknutím na červený bod můžete přidat podmínku, třeba i == 5. Skript se zastaví jen tehdy, když podmínka platí. To se hodí u cyklů, které jinak proběhnou tisíckrát.

Když se chyba objeví jen občas, použijte panel Network. Zkontrolujte, zda se všechna data skutečně načetla a v jakém pořadí. Asynchronní volání často doběhnou později, než kód očekává. Pomůže sledovat stavové kódy odpovědí a časování. Pokud některý požadavek skončí chybou, najdete ji v záložce Response nebo v konzoli. Někdy stačí přidat čekání na dokončení operace, jindy je problém v tom, že se stejný požadavek odešle dvakrát.

If you adored this write-up and you would like to obtain even more facts concerning zjistit více kindly go to our web site.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

0
    CARRELLO
    Il tuo carrello è vuoto!Torna allo shop