Pastāsti par pilna stila lietojamu Node.js/Express aplikāciju, kas automatizē maksājumu lapu zīmolu veidošanu.
Frontend
Uzdevums 6: Uzrakstiet ģenerisku funkciju, kas pieņem objektu ar obligātu īpašību name, kas ir tipa string, un atgriež virkni ar vienības nosaukumu.
Kāda ir atšķirība starp any un unknown TypeScript? Kāpēc linteris nesūdzas par any, bet prasa tipu sašaurināšanu uz unknown?
Kā jūs strādājāt ar Git: kāds bija zaru plūsmas process, kā izlaižāt versijas, kā veicāt hotfix?
/** * Uzdevums 4: Pārvērst doto tipu `MaybeProps`, lai visas tā īpašības būtu obligātas. */ type MaybeProps = { a?: number; b?: string; };
Uzdevums 7: Ir tipi Alien un Human, kas apvienoti tipā Person. Uzrakstiet funkciju checkAlien, kas pārbauda, vai nodotais Person ir ārvalstnieks. Labojiet TypeScript kļūdu, piekļūstot īpašībai isAlien.
Uzdevums 2: Zemāk ir sniegtas vairākas Todo interfeisa deklarācijas, paskaidrojiet, kas notiek, ja tās ir tajā pašā lokācijā. Apspriediet, kā TypeScript tās apstrādā, un aizpildiet `myTodo` objektu, lai apmierinātu apvienotā Todo interfeisa prasības. ```typescript interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; } interface Todo { priority: 'high' | 'medium' | 'low'; completed: string; } const myTodo: Todo = {}; ```
Vai tev ir bijusi negatīva pieredze komandā, piemēram, intensīvas strīdi kodu pārskatīšanas laikā? Kā rīkotos šādā situācijā?
/** * Uzdevums 3: Analizējiet zemāk esošo funkciju un labojiet visas kļūdas. Izskaidrojiet `never` tipa lomu TypeScript. */ function throwError(): never { throw new Error('Radās kļūda'); } /** * Uzdevums 4: Pārvērtiet doto `MaybeProps` tipu, lai visas tā īpašības būtu obligātas. */ type MaybeProps = { a?: number; b?: string; }; /** * Uzdevums 5: Izveidojiet ģenerisku `Container` tipu, kas satur vienu īpašību `value`. * `value` tips jāierobežo ar `string` vai `number`. */ type Container<T> = { value: T; };
/** * Uzdevums 1: Ģeneriskie tipi un atslēgas tipa drošība * Izveidojiet funkciju `getProperty`, kas ņem objektu un atslēgu. * Izmantojiet ģenerikus, lai nodrošinātu, ka funkcija ir tipa droša un atslēga pastāv objektā. */ function getProperty<T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; } getProperty('str', 'toString') /** * Uzdevums 2: Zemāk ir sniegtas vairākas Todo interfeisa deklarācijas, paskaidrojiet, kas notiek, ja tās ir tajā pašā apgabalā. * Apspriediet, kā TypeScript tās apstrādā un aizpildiet `myTodo` objektu, lai atbilstu apvienotā Todo interfeisa prasībām. */ interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; }
Pastāsti par Astro izmantošanu: kā to izvēlējāties, kā pārvaldāt saturu?
Pastāsti par sīkfailu balstītu autentifikāciju un divu faktoru autorizāciju personīgajā kabinetā.
Kāpēc nolēmāt meklēt darbu un kāpēc pie mums?