Console.WriteLine, nebo tlačítko? První aplikace v C#

Sémantické tagy místo divů Místo desítek divů používejte tagy, které nesou význam: header, nav, main, section, article, footer. Vyhledávače i čtečky obrazovky z nich lépe pochopí, co je na stránce důležité. Divy si nechte na čistě vizuální obaly. Další častá chyba je vnořování tagů do sebe bez rozmyslu. Nadpis první úrovně patří na stránku jednou, další nadpisy tvoří logickou hierarchii. Když ji přeskočíte, snižujete přístupnost i srozumitelnost obsahu.

Při ověřování tokenu na serveru kontrolujte podpis, expiraci (exp), případně issuer a audience. Nezapomeňte na rotaci klíčů. Pokud podepisovací klíč unikne, musíte být schopni ho vyměnit, aniž by přestaly fungovat všechny tokeny. Používejte kid (key ID) v hlavičce a mějte připravený seznam platných klíčů. U symetrického klíče volte dostatečnou délku – alespoň 256 bitů – a nikdy ho nedávejte do kódu ani do repozitáře. Načítejte ho z proměnné prostředí nebo z bezpečného úložiště.

Začněte tím, že si vyberete nástroj. Dnes je standardem Git, ale klidně můžete použít i jiný distribuovaný systém. Rozdíl pocítíte hlavně v tom, jak pohodlně se větví a slučují změny. Pro webové vývojáře je klíčové, aby šel snadno propojit s editorem a abyste nemuseli přemýšlet nad každým příkazem. Nainstalujte si Git, ověřte verzi v terminálu a nastavte si jméno a e-mail, které se budou zapisovat do historie. To je vše, co potřebujete pro první commit.

Podpis, expirace a bezpečné ukládání První zásadní chybou je ignorování algoritmu. Útočník může změnit hlavičku na „none” nebo podstrčit jiný algoritmus. Vždy explicitně povolte pouze jeden očekávaný algoritmus a odmítněte vše ostatní. Druhou chybou je příliš dlouhá platnost tokenu. Access token by měl žít v řádu minut, maximálně hodin. Delší platnost řešte refresh tokenem, který lze revokovat. Refresh token ukládejte bezpečně – v prohlížeči do httpOnly cookie s atributy Secure a SameSite, nikdy do localStorage. localStorage je přístupný z JavaScriptu, takže při XSS útoku útočník token okamžitě získá.

Než změnu sloučíš, projdi si, že větev je postavená na aktuálním main, testy procházejí a historie je čitelná. Sloučení proveď tak, aby hlavní větev zůstala funkční v každém kroku. Po sloučení větev smaž; zapomenuté větve se hromadí a za půl roku nikdo neví, které ještě něco znamenají. Ať je pravidlo stejné pro všechny, včetně vedení: kdo obchází recenzi, ať to dělá vědomě a nahlas. Právě tato výjimka, ne Git, je ta věc, která týmovou spolupráci rozbíjí nejčastěji.

Jak uspořádat první repository, aby se v něm dalo vyznat Než začnete verzovat, rozhodněte se, co všechno má být součástí repozitáře. Do něj patří zdrojové kódy, konfigurační soubory bez citlivých údajů a dokumentace. Naopak nikdy necommitujte hesla, přístupové klíče, složku s nainstalovanými závislostmi ani vygenerované soubory. Vytvořte soubor .gitignore a vypište do něj všechny cesty, které mají zůstat stranou. Tím předejdete tomu, že se do historie dostane něco, co budete muset složitě mazat. Pokud už se citlivý údaj do repozitáře dostal, nestačí ho přepsat novým commitem – musíte historii přepsat nebo klíč okamžitě zneplatnit.

Rozložení dnes řešte pomocí flexboxu a gridu. Oba nástroje zvládají zarovnání i roztažení obsahu bez pevných šířek. Nepoužívejte plovoucí prvky pro celkovou stavbu stránky, na to už dávno nejsou potřeba. Box model je další kámen úrazu. Šířka prvku se standardně počítá včetně paddingu a borderu až po nastavení box-sizing. Nastavte jej globálně na border-box pro všechny prvky. Ušetříte si překvapení, kdy se sloupec nevejde vedle druhého.

CSS pak připojte buď externím souborem v hlavičce, nebo zápisem do hlavičky. Externí soubor je lepší, protože se cachuje a odděluje vzhled od struktury. V selektorech dávejte přednost třídám před identifikátory. ID má být na stránce jen jedno a používá se spíš pro skoky v rámci dokumentu. Vyhněte se řetězení selektorů do dlouhých cest, které se špatně udržují. Platí pravidlo: čím konkrétnější selektor, tím větší problém při změně.

Vstupy, proměnné a proč to nejde bez převodu Konzolová aplikace nemusí jen vypisovat. Zkuste Console.ReadLine(), které načte řádek zadaný uživatelem. Problém je, že návratová hodnota je vždy text, i když uživatel napíše číslo. S textem se nedá počítat, dokud ho nepřevedete. Slouží k tomu int.Parse nebo lépe int.TryParse, které nevyhodí výjimku při nesmyslném zadání. Rozdíl je zásadní: Parse při chybě ukončí program pádem, TryParse vrátí false a vy můžete reagovat výzvou k opravě. Právě neošetřený vstup bývá u začátečníků nejčastější důvod, proč aplikace spadne při prvním ostrém použití.

If you liked this article so you would like to collect more info relating to Forum.Uookle.com kindly visit the page.