Sobes.tech

Node.js

Афзалиятҳо ва камбудиҳои барномасозии функсионалӣ чӣ мебошанд?

Senior
232

Кай вақт метавонед оғоз кунед, агар пешниҳод қабул кунед?

Senior
229

Фарқи байни INNER JOIN ва LEFT JOIN чист? Агар дар ҷадвали чап сатр мувофиқ набошад, чӣ мешавад?

Senior
194

Тим идемпотент бошад, чӣ маъно дорад?

Senior
179

Қолданмада бир не эки функцияны ишке ашырыңыз: колдонуучу тизимдеги иконка менен сайттарды бекитип жана алып кете алат; бекитилген сайттар тизмеде жогору көрсөтүлүшү керек. Экинчи функция сиздин көз карашыңызга жараша милдеттүү эмес.

Senior
173

Чаро ҳоло мехоҳед ширкатро иваз кунед?

Senior
168

Фарқи байни оператори || ва ?? дар JavaScript/TypeScript чист? Агар retryLimit ба 0 баробар шавад, чӣ мешавад?

Senior
160

Пікірді жою app.delete('/comments/:id', requireAuth, async (req, res) => { const comment = await db.comments.findById(req.params.id) if (!comment) { return res.status(404).end() } await db.comments.delete(comment.id) res.status(204).end() }) Тізімді беттеу function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) }

Senior
123

Оё шумо ягон вақт тестҳои воҳидӣ навиштаед? То чӣ андоза?

Senior
98

Ҷустуҷӯи хато · TypeScript Хатогиҳои пинҳоншуда Ҳар яке аз ин ҳашт қисмҳо компилируется, аз назар гузаронида мешавад ва хуб ба назар мерасад. Ҳар яке хато дорад. Барои ҳар яке: бигӯед, ки чӣ вайрон мешавад, дар кадом шароит — ва чӣ гуна онро пайдо мекунед. Гап занед. Мо ба чӣ гуна хондани коди шумо таваҷҷӯҳ дорем, на ба секундомери. Ҳатто агар натавонед ҳамаашро муайян кунед, хуб аст. 01 Таҳрири фармоиш interface Notifier { send(to: string, message: string): Promise<void> } class OrderService { constructor(private readonly notifier: Notifier) {} async placeOrder(order: Order): Promise<OrderId> { const id = await this.repo.save(order) this.notifier.send(order.customerEmail, `Order ${id} confirmed`) return id } } 02 Навсозии профил app.post('/profile', async (req, res) => { const profile = parseProfile(req.body) try { await db.profiles.update(req.user.id, profile) } catch (err) { logger.warn('навсозии профил нокомил шуд', err) } res.status(200).json({ status: 'захира шуд' }) }) 03 Баъд аз тоза кардани шарҳ app.delete('/comments/:id', requireAuth, async (req, res) => { const comment = await db.comments.findById(req.params.id) if (!comment) { return res.status(404).end() } await db.comments.delete(comment.id) res.status(204).end() }) 04 Пагинацияи рӯйхат function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) } // даъваткунанда const results = paginate(rows, page, 20) // саҳифа аз 1 оғоз мешавад дар UI 05 боркунии мақолаҳо бо муаллифон async function loadArticlesWithAuthors(): Promise<ArticleView[]> { const articles = await db.query('SELECT * FROM articles WHERE published = true') const views: ArticleView[] = [] for (const article of articles) { const author = await db.query('SELECT * FROM users WHERE id = $1', [article.authorId]) views.push({ ...article, author: author[0] }) } return views } 06 Ҳалли танзимоти пешфарз interface Settings { retryLimit?: number displayName?: string } function resolveConfig(s: Settings) { return { retryLimit: s.retryLimit || 3, displayName: s.displayName || 'Бе ном', } } 07 Санҷиши ёрдамчии тахфиф function applyDiscount(price: number, percent: number): number { return price - price * (percent / 100) } describe('applyDiscount', () => { it('мутобиқати тахфифро месанҷад', () => { const spy = vi.fn().mockReturnValue(90) const result = spy(100, 10) expect(result).toBeDefined() expect(result).toBe(90) }) }) 08 ҳисоб кардани холҳои боло function topScores(scores: number[], take = 3): number[] { return scores.sort((a, b) => b - a).slice(0, take) } const results = [4, 1, 9, 2] const podium = topScores(results) // ... баъдтар, дар ҷои дигар: renderRawResults(results) // интизор меравад [4, 1, 9, 2]

Senior
83