To'lov sahifalarining brendlashishini avtomatlashtirish uchun Node.js/Express asosidagi fullstack ilovasi haqida gapir.
Frontend
Vazifa 6: Majburiy xususiyatga ega bo'lgan, tipini string bo'lgan name ob'ektini qabul qiladigan va ob'ekt nomini o'z ichiga olgan satrni qaytaradigan umumiy funktsiya yozing.
Git bilan qanday ishladingiz: filial oqimi qanday edi, qanday chiqarishlar qildingiz, hotfixlarni qanday bajardingiz?
TypeScript'da any va unknown o'rtasidagi farq nima? Nima uchun linter any uchun shikoyat qilmaydi, ammo unknown uchun turni cheklash talab qilinadi?
/** * Vazifa 4: Berilgan `MaybeProps` turini barcha xususiyatlarini majburiy qilish uchun o'zgartiring. */ type MaybeProps = { a?: number; b?: string; };
Vazifa 2: Quyidagi bir nechta Todo interfeys e'lonlari mavjud bo'lsa, ular bir xil doirada bo'lsa nima bo'lishini tushuntiring. TypeScript ularni qanday ishlashini muhokama qiling va birlashtirilgan Todo interfeysining talablarini qondirish uchun `myTodo` ob'ektini to'ldiring. ```typescript interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; } interface Todo { priority: 'high' | 'medium' | 'low'; completed: string; } const myTodo: Todo = {}; ```
Vazifa 7: Alien va Human turlari mavjud bo'lib, ular Person turiga birlashtirilgan. checkAlien funksiyasini yozing, bu funksiya berilgan Personning kosmonavchi yoki yo'qligini tekshiradi. isAlien xususiyatiga kirishda yuzaga keladigan TypeScript xatosini tuzat.
/** * Vazifa 3: Tahlil qiladigan funktsiyani tahlil qiling va har qanday xatoliklarni tuzatib chiqing. TypeScript'da `never` turining roli nima ekanligini tushuntiring. */ function throwError(): never { throw new Error('Xatolik yuz berdi'); } /** * Vazifa 4: Berilgan `MaybeProps` turini o'zgartiring va uning barcha xususiyatlarini majburiy qiling. */ type MaybeProps = { a?: number; b?: string; }; /** * Vazifa 5: Yagona `value` xususiyatini o'z ichiga olgan umumiy tur `Container` yarating. * `value` turini `string` yoki `number` bilan cheklash kerak. */ type Container<T> = { value: T; };
Jamoa jamoada salbiy tajriba bo'lganmisiz, masalan, kodni ko'rib chiqishda intensiv tortishuvlar? Bunday vaziyatda qanday harakat qilardingiz?
Astro'dan foydalanish haqida gapirib bering: qanday tanlandi, qanday boshqariladi kontent?
/** * Vazifa 1: Generiklar va Kalit Tipi Xavfsizligi * Ob'ekt va kalitni qabul qiladigan `getProperty` funksiyasini yarating. * Funksiyaning tip xavfsizligini ta'minlash va kalit ob'ektda mavjudligini ta'minlash uchun generiklardan foydalaning. */ function getProperty<T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; } getProperty('str', 'toString') /** * Vazifa 2: Quyidagi bir nechta Todo interfeys deklaratsiyalari mavjud bo'lsa, ular bir xil doirada bo'lsa, nima bo'lishini tushuntiring. * TypeScript ularni qanday ishlashini muhokama qiling va birlashtirilgan Todo interfeysining talablarini qondirish uchun `myTodo` ob'ektini to'ldiring. */ interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; }
Foydalanuvchi kabinetida cookie asosida autentifikatsiya va ikki faktorli ruxsatnoma haqida gapiring.
Nega ish qidirishga qaror qildingiz va nima uchun biz?