Welcome to Freeweb-apps.info QtoA, where you can ask questions and receive answers from other members of the community.
0 votes
Druhá chyba je měření špatných věcí. Sledovat počet nasazení za týden bez ohledu na to, kolik z nich způsobilo výpadek, je statistika do výroční zprávy, ne do provozu. Zajímej se o dobu od commitu k běžící změně, četnost incidentů a hlavně o čas, za který se služba po chybě vrátí do normálu. Tyto údaje ti řeknou, zda se zlepšuješ, nebo jen přidáváš nástroje.

Až bude program fungovat, prohlédněte si strukturu souboru. Metoda Main je statická, protože ji běhové prostředí volá bez instance třídy. Třída obalující Main se jmenuje podle souboru, ale jméno můžete změnit, aniž by se cokoli rozbilo. Naopak změna názvu souboru mimo projekt může rozhodit sestavení. Pokud přidáte další metodu, musí být také statická, jinak ji z Main nezavoláte přímo. Toto pravidlo odhalí mnoho začátečnických zmatků během několika sekund.

Commit message Pište v rozkazovacím způsobu a k věci: „Opravit řazení položek v košíku" místo „oprava". První řádek do padesáti znaků, případné podrobnosti do těla. Častá chyba je míchat do jednoho commitu nesouvisející změny — formátování, opravu chyby a novou funkci. Takový commit se nedá vrátit zpět, aniž byste vrátili i to, co má zůstat. Rozdělte práci na menší celky ještě předtím, než začnete commitovat.

Nejčastější chybou při hledání první práce v IT je přesvědčení, že stačí umět programovat. Nestačí. Firmy dostávají desítky životopisů na jednu juniorskou pozici a potřebují rychle poznat, kdo má kromě kódu i základní návyky z reálného vývoje. Pokud do pohovoru přijdete jen s ukázkou vlastního kódu bez kontextu, pravděpodobně vypadnete ve druhém kole. Rozdíl mezi kandidáty nebývá v tom, kolik jazyků znají, ale jestli umí vysvětlit, proč se rozhodli tak, jak se rozhodli.

Začni malým, ale bolestivým problémem. Vyber jednu službu, která se nasazuje ručně a často padá. Zmapuj, kolik kroků obnáší dostat změnu z commitu do produkce. Sepiš je na papír, včetně ručních schválení a přepisování konfigurace. Tento seznam je tvoje zadání. Nepokoušej se o celofiremní transformaci, protože ta obvykle skončí u prezentace a nikdy se nedostane k produkčnímu provozu.

Začněte portfoliem, které má jasný příběh. Místo pěti nedokončených projektů na GitHubu zvolte dva nebo tři a dotahehněte je do stavu, kdy je někdo jiný spustí podle README. Napište tam, jak projekt spustit, jaké má závislosti a co jste se na něm naučili. Do životopisu pak patří jen to, co odpovídá inzerátu. Pokud firma hledá juniora do backendu v Javě, nezaplňujte půl stránky webovými experimenty v JavaScriptu. Personalista nemá čas hledat, co z vašeho seznamu je relevantní.

Proměnné deklarujte s jasným typem. int pro celá čísla, double pro desetinná, string pro text, bool pro pravdivostní hodnotu. C# je staticky typovaný, takže do proměnné typu int nelze uložit text bez převodu. Kompilátor to odmítne a je to výhoda, ne překážka. Zkuste malý program: načtěte dvě čísla, sečtěte je a výsledek vypište. Teprve na takovém cvičení pochopíte, jak spolu souvisí vstup, převod a výstup.

Při ověřování kontrolujte všechny povinné údaje: iss, aud, exp, nbf. Vynechání aud znamená, že token určený pro jinou službu projde. Clock skew nastavte na několik sekund, ne na hodiny. Podepisovací klíč měňte při každém podezření na kompromitaci a podporujte rotaci klíčů přes kid v hlavičce. Testujte chybové stavy: token bez podpisu, token s pozměněným jedním znakem, token po expiraci. Právě tam se chyby projeví nejdřív.

Co se v rozhovoru opravdu řeší Technické kolo obvykle není o tom, jestli znáte všechny metody knihovny. Zkouší, jak přemýšlíte. Když neznáte odpověď, řekněte to a ukažte, jak byste si informaci dohledali nebo jak byste problém rozložili na menší části. Ticho a hádání působí hůř než přiznání mezery. U úloh na tabuli mluvte nahlas o tom, co děláte. Tazatel hodnotí i to, jestli umíte přijmout nápovědu a posunout se dál, ne jen jestli trefíte řešení napoprvé.

První konzolová aplikace v C# je nejrychlejší způsob, jak ověřit, že máš funkční vývojové prostředí a že rozumíš základnímu toku programu. Nebudeš potřebovat nic složitého – stačí nainstalovat Visual Studio s workloadem .NET desktop development nebo si vystačíš s příkazovým řádkem a sadou .NET SDK. Pokud volíš Visual Studio, při instalaci zaškrtni „ASP.NET and web development" není nutné, postačí „.NET desktop development". Po instalaci spusť aplikaci a zvol projekt Console App (.NET).

Nikdy nepoužívejte algoritmus „none". Útočník pošle token s hlavičkou {"alg":"none"} a prázdným podpisem. Starší knihovny to akceptovaly. Vždy explicitně určete očekávaný algoritmus, například HS256 nebo RS256, a při ověřování ho vynuťte. U RS256 nikdy nepoužívejte veřejný klíč jako tajný pro HS256. Tato záměna umožní útočníkovi podepsat token veřejně známým klíčem.
by (120 points)

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
...