Migrace z MySQL do PostgreSQL není jen výměna ovladače. Oba systémy mají odlišnou filozofii ukládání dat, typovou kontrolu a chování transakcí. Pokud se na to připravíte předem, vyhnete se nejčastějším chybám, které jinak vedou k tichému poškození dat nebo k výpadku aplikace po přechodu.
Pokrytí má smysl jako trend, ne jako absolutní práh. Sleduj, jestli dlouhodobě roste u rizikových částí, a jestli klesá tam, kde se přestává testovat. Pokud číslo stagnuje, ale přibývají chyby v produkci, je něco špatně v návrhu testů, ne v jejich počtu. V takové chvíli je lepší investovat do testů integračních a do testů na úrovni chování než do dalšího zvyšování procenta. Pokrytí je nástroj, ne cíl.
Druhé časté místo úniku je zpracování chyb a logování. Výjimka z databáze, která se zobrazí uživateli, prozradí strukturu dotazu, názvy sloupců i typ databáze. Útočník pak zkouší méně slepé varianty. Chybové hlášky patří do logu, ne do odpovědi prohlížeči. Stejně tak se vyhněte vracení celého dotazu v chybové zprávě, i když si myslíte, že ji vidí jen administrátor.
Praktický postup je jednoduchý: k základnímu odhadu připočtěte rezervu odpovídající zkušenostem z minulých úkolů a tuto rezervu v plánu uveďte jako samostatnou položku. Rezerva nemá být skrytá v jednotlivých číslech, protože pak se s ní nedá pracovat. Když se během práce ukáže, že některá činnost zabere víc času, je vidět, odkud se čas bere, a příští odhad se dá upravit podle skutečnosti. Po dokončení úkolu je užitečné porovnat původní odhad se skutečností a zapsat si, co se nepředpokládalo. Opakované srovnávání vede k přesnějším odhadům lépe než jakákoli metoda použitá jednorázově.
Na straně serveru pomůže komprese odpovědí, správné nastavení kešování a rychlejší backend. Statické soubory nech prohlížeči uložit na delší dobu, dynamické stránky nech generovat do mezipaměti. Pokud web běží na pomalém hostingu, sebelepší optimalizace na frontendu narazí. Ověř si dobu odezvy serveru ještě předtím, než začneš řešit detaily v kódu.
Nezapomínejte na verze systému. Zařízení v oběhu mají různé verze a ne každá nová funkce je dostupná všude. Nastavte si minimální podporovanou verzi a testujte na ní. Zároveň se vyhněte pevnému nastavení rozměrů a pozic; používejte rozvržení, která se přizpůsobí velikosti displeje. Jinak bude vaše aplikace vypadat dobře jen na vašem telefonu.
Častou chybou je podcenění rozdílů v řetězcích. MySQL ve výchozím nastavení nerozlišuje velikost písmen u porovnávání, PostgreSQL ano. To ovlivní vyhledávání, unikátní indexy i join podmínky. Pokud potřebujete chování bez rozlišení, použijte citext nebo funkční index s lower(). Stejně tak si ověřte práci s NULL — v MySQL je NULL ve sloupci s unique indexem povolen vícekrát, v PostgreSQL také, ale chování u složených indexů se liší.
Typickou chybou je odhadovat podle nejlepšího možného scénáře. Předpokládá se, že vše půjde hladce, že kolega odpoví hned a že testy projdou napoprvé. Ve skutečnosti je potřeba počítat s čekáním, s neúplnými zadáními a s tím, že část práce se dělá dvakrát. Další častou chybou je opomenout režii na komunikaci: krátké zprávy, schůzky, vysvětlování a domlouvání detailů zaberou u netriviálního úkolu klidně i několik hodin, přestože se na první pohled zdají bezvýznamné. Podobně se zapomíná na úklid po dokončení — odstranění dočasných řešení, doplnění dokumentace a předání informací těm, kdo budou na práci navazovat.
Emulátor nestačí, sežeňte si skutečný telefon Emulátor je pohodlný, ale chová se jinak než reálné zařízení. Některé funkce, třeba práce s fotoaparátem nebo čidly, v emulátoru nefungují spolehlivě nebo vůbec. Připojte si do počítače běžný telefon, zapněte v něm vývojářský režim a povolte instalaci z počítače. Naučte se aplikaci nasadit přímo do telefonu a číst chybové výpisy. Právě na skutečném zařízení nejrychleji odhalíte chyby, které by vás jinak překvapily až u uživatelů.
Každý odhad pracnosti vývojového úkolu vypadá na první pohled jednoduše: sečtou se hodiny na analýzu, kódování a testování a výsledek se zapíše do plánu. Jenže skutečný čas strávený na úkolu bývá výrazně delší. Rozdíl netvoří lenost ani špatná práce, ale takzvané skryté činnosti — úkony, které jsou pro dokončení nezbytné, přesto se do odhadu téměř nikdy nedostanou. Právě proto je užitečné s nimi počítat systematicky, ne je pokaždé znovu objevovat až ve chvíli, kdy plán začne hořet.
Skryté činnosti není možné z plánu úplně vyloučit, ale je možné s nimi počítat dopředu. Kdo je pojmenuje, rozdělí odhad na jednotlivé kroky a vede si záznam o skutečně stráveném čase, ten dřív nebo později zjistí, že se jeho odhady přestaly rozpadat. Nejde o to odhadnout budoucnost přesně, ale o to nepředstírat, že práce sestává jen z viditelné části.
In the event you loved this article and you would want to get more information relating to Http://Www.1Gmoli.com/ kindly check out the web-site.