Ispričaj o fullstack aplikaciji na Node.js/Express za automatizaciju brendiranja platnih stranica.
Frontend
Zadatak 6: Napišite generičku funkciju koja prihvata objekat sa obaveznim svojstvom name tipa string i vraća string sa imenom entiteta.
Kako ste radili sa Git-om: kakav je bio tok grananja, kako ste pravili verzije, kako ste radili hotfix?
Koja je razlika između any i unknown u TypeScript-u? Zašto linter ne prigovara na any, ali zahteva sužavanje tipa za unknown?
/** * Задача 4: Преобразите дат тип `MaybeProps` да направите све његове особине обавезним. */ type MaybeProps = { a?: number; b?: string; };
Задача 2: Дате са неколико декларација интерфејса Todo испод, објасните шта се дешава када су присутне у истом обиму. Дискутирајте како TypeScript третира њих и попуните објекат `myTodo` да задовољи захтеве спојеног интерфејса Todo. ```typescript interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; } interface Todo { priority: 'high' | 'medium' | 'low'; completed: string; } const myTodo: Todo = {}; ```
/** * Задача 3: Анализирајте функцију испод и исправите све грешке. Објасните улогу типа `never` у TypeScript-у. */ function throwError(): never { throw new Error('Дошло је до грешке'); } /** * Задача 4: Претворите датий тип `MaybeProps` да би све његове особине биле обавезне. */ type MaybeProps = { a?: number; b?: string; }; /** * Задача 5: Креирајте генерички тип `Container` који садржи једну особину `value`. * Тип `value` треба ограничити на `string` или `number`. */ type Container<T> = { value: T; };
Да ли си имао негативно искуство у тиму, на пример интензивне расправе на прегледу кода? Как би деловао у таквој ситуацији?
Ispričaj mi o korišćenju Astro: kako su ga odabrali, kako upravljaju sadržajem?
Zadatak 7: Postoje tipovi Alien i Human, spojeni u tip Person. Napišite funkciju checkAlien koja proverava da li je prosleđeni Person vanzemaljac. Ispravite grešku TypeScript prilikom pristupa svojstvu isAlien.
/** * Задача 1: Генерички и безбедност типа кључа * Направите функцију `getProperty` која узима објекат и кључ. * Користите генераке да бисте осигурали да је функција типски безбедна и да кључ постоји у објекту. */ function getProperty<T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; } getProperty('str', 'toString') /** * Задача 2: Дати су више декларација интерфејса Todo испод, објасните шта се дешава када су присутне у истом опсегу. * Разговарајте о томе како TypeScript их третира и попуните објекат `myTodo` да задовољи захтеве спојеног интерфејса Todo. */ interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; }
Ispričaj o autentifikaciji zasnovanoj na kolačićima i dvostrukoj autorizaciji u korisničkom panelu.
Zašto ste odlučili da tražite posao i zašto kod nas?