Przejdź do zawartości
Menu główne
Menu główne
przypnij
ukryj
Nawigacja
Strona główna
Ostatnie zmiany
Losowa strona
Pomoc z MediaWiki
Mazovia
Szukaj
Szukaj
Utwórz konto
Zaloguj się
Narzędzia osobiste
Utwórz konto
Zaloguj się
Strony dla anonimowych edytorów
dowiedz się więcej
Edycje
Dyskusja
Edytujesz
Chybějící index, který zabíjí výkon dotazů
Strona
Dyskusja
polski
Czytaj
Edytuj
Wyświetl historię
Narzędzia
Narzędzia
przypnij
ukryj
Działania
Czytaj
Edytuj
Wyświetl historię
Ogólne
Linkujące
Zmiany w linkowanych
Strony specjalne
Informacje o tej stronie
Uwaga:
Nie jesteś zalogowany. Jeśli wykonasz jakąkolwiek zmianę, Twój adres IP będzie widoczny publicznie. Jeśli
zalogujesz się
lub
utworzysz konto
, Twoje zmiany zostaną przypisane do konta, wraz z innymi korzyściami.
Filtr antyspamowy.
Nie
wpisuj tu nic!
<br>První věc je image versus kontejner. Image je jen zmrazený souborový systém a metadata, kontejner je jeho spuštěná instance. Když spustíte docker run, nevzniká kopie image, ale jen zapisovatelná vrstva navrch. Proto se změny v kontejneru ztratí při jeho smazání. Řada začátečníků řeší, proč jim po docker rm zmizela data z databáze. Odpověď je jednoduchá: byla uvnitř kontejneru, ne mimo něj. Data, která mají přežít, patří do svazku (volume) nebo na připojený adresář hostitele.<br><br>Kdy typy pomáhají a kdy jen překážejí TypeScript není jen o tom, abyste všude psali typy. Většinu typů odvodí sám z přiřazených hodnot. Pokud napíšete const pocet = 5, ví, že jde o číslo. Zbytečné je psát const pocet: number = 5. Naopak u parametrů funkcí a návratových hodnot se typy vyplatí, protože odhalí chyby dřív, než kód spustíte. Pozor na typ any – vypíná kontrolu a často se objevuje tam, kde si vývojář neví rady. Každé any by mělo být dočasné a mělo by mít vysvětlení.<br>Image je neměnná šablona, kontejner je její běžící instance. Když spustíte příkaz docker run, Docker vytvoří kontejner z image. Pokud do kontejneru zapisujete data, po jeho smazání zmizí. To je častý šok: uživatel si uloží databázi do kontejneru, restartuje ho a data jsou v tahu. Řešením je takzvaný volume – připojení adresáře z hostitelského počítače do kontejneru. Data pak přežijí i smazání kontejneru. Stejně tak porty: aplikace uvnitř kontejneru poslouchá na nějakém portu, ale zvenčí se k ní nedostanete, dokud port nezveřejníte přes -p. Bez toho si budete marně klepat na localhost.<br><br>Častá past je zaměňování typů a rozhraní. Rozhraní se používá pro popis objektů a může se rozšiřovat. Typy se hodí pro složitější kombinace, například sjednocení nebo průniky. V praxi to znamená, že pro běžné objekty použijete interface a pro výčty nebo složitější pravidla type. Nemusíte to řešit dogmaticky, ale měli byste být konzistentní v rámci jednoho projektu.<br><br>Začněte tím, že rozdělíte odpovědnost dřív, než spustíte první sprint. Produktový vlastník rozhoduje o tom, co má největší hodnotu, a musí být k zastižení během sprintu. Scrum master odstraňuje překážky a hlídá, že se rámec neohýbá. Vývojáři odhadují a sami si řídí, jak práci udělají. Pokud tyhle tři role splývají v jednu osobu, dostanete chaos s agilní terminologií. V malých českých firmách je běžné, že produktový vlastník je zároveň vedoucí a zároveň řeší zákazníky. To se dá vydržet jeden sprint, ne pět.<br>Základem je soubor tsconfig.json. V něm se nastavuje cíl překladu, přísnost kontroly a to, které soubory se mají zpracovat. Typická chyba je zapnout strict: true hned na začátku u velkého projektu. Lepší je začít s strict: false, postupně přidávat jednotlivé kontroly a opravovat chyby po menších dávkách. Jinak vznikne stovky chyb najednou a vývoj se zastaví.<br><br>K tomu slouží příkaz EXPLAIN. Spusťte jej před dotazem a sledujte sloupec s typem přístupu. Hodnota ALL nebo full scan znamená problém. Zajímejte se také o počet prohledávaných řádků — pokud je výrazně vyšší než počet vrácených, index chybí nebo se nepoužívá. Pozor na implicitní přetypování: když porovnáváte textový sloupec s číslem, databáze může index ignorovat. Vždy porovnávejte stejné typy.<br><br>Dalším častým problémem je funkce obalená kolem sloupce v podmínce. Zápis jako WHERE YEAR(datum) = 2024 zabrání použití indexu na sloupec datum. Řešením je přepsat podmínku na rozsah: datum > [http://ndz.zp.ua/user/KeeshaSimms2793/ ndz.zp.Ua] = '2024-01-01' AND [https://Crabcodex.com/index.php/Kdy%C5%BE_commit_zpr%C3%A1va_%C5%A1et%C5%99%C3%AD_%C4%8Das_p%C5%99i_hled%C3%A1n%C3%AD_vin%C3%ADka_zm%C4%9Bny Rady Pro Rekonstrukci] datum <br>Sítě jsou třetí oblast, kde to lidé často vzdají. Kontejnery na stejné uživatelské síti se vidí podle jména, ne podle IP adresy. To znamená, že aplikace se nepřipojuje na localhost, ale na jméno služby. Pokud si v kontejneru nastavíte připojení na localhost, sáhnete si po svém vlastním kontejneru, ne po databázi vedle. Porty publikované přes -p slouží jen pro přístup z hostitele, nikoli pro komunikaci mezi kontejnery. Zaměnit tyto dvě roviny je pravděpodobně nejčastější zdroj zmatku.<br><br>Pozor také na dotazy, které vrací zbytečně mnoho sloupců nebo řádků.SELECT * sice ušetří psaní, ale přenáší data, která aplikace nepoužije. Na velkých tabulkách to zbytečně zatěžuje paměť i síť. Pokud potřebujete jen existenci záznamu, použijte LIMIT 1. U spojování tabulek dávejte přednost JOIN před poddotazy v klauzuli IN, zejména když vnitřní dotaz vrací mnoho řádků.<br><br>Další problém nastává u knihoven, které nemají vlastní typy. Řešením je balíček s typy, pokud existuje. Pokud ne, musíte si typy napsat sami. Nejhorší varianta je použít declare module s any, protože tím ztratíte veškerou kontrolu. Lepší je popsat jen to, co skutečně používáte. U velkých knihoven se to vyplatí, protože odhalíte chyby v volání funkcí.<br><br>If you treasured this article and also you would like to acquire more info about [https://analnoe.com/user/HoustonDann/ více na webu] [https://Www.healthynewage.com/?s=generously%20visit generously visit] our web page.<br>
Opis zmian:
Wszelki wkład na Mazovia może być edytowany, zmieniany lub usunięty przez innych użytkowników. Jeśli nie chcesz, żeby Twój tekst był dowolnie zmieniany przez każdego i rozpowszechniany bez ograniczeń, nie umieszczaj go tutaj.
Zapisując swoją edycję, oświadczasz, że ten tekst jest Twoim dziełem lub pochodzi z materiałów dostępnych na warunkach
domeny publicznej
lub kompatybilnych (zobacz także
Mazovia:Prawa autorskie
).
PROSZĘ NIE WPROWADZAĆ MATERIAŁÓW CHRONIONYCH PRAWEM AUTORSKIM BEZ POZWOLENIA WŁAŚCICIELA!
Anuluj
Pomoc w edycji
(otwiera się w nowym oknie)
Przełącz ograniczenie szerokości strony