Привет, я Сергей Маркизов, разработчик диджитал-продакшна Далее. В наших проектах часто использую Drizzle — современную, типобезопасную ORM для TypeScript, которая не усложняет базовую задачу: читать и писать данные. В этой статье расскажу, чем библиотека отличается от других и как с ней работать.Базы данных являются основным средством обеспечения персистентности современных приложений. Для работы с ними зачастую используются различные ORM-решения, ведь они позволяют избавиться от необходимости…
Сгенерировано в DALL-E 3Несмотря на то, что название статьи, скорее, кликбейтное, речь в статье всё же пойдет про способы обхода существующих механизмов защиты от парсинга, которые используют современные сайты.Написать эту статью, примерно с тем же содержанием (за исключением некоторых особенностей, которые я привнес к теме вопроса относительно недавно), я мог еще несколько лет назад — всё же это довольно давняя история, но лишь в последнее время разработчики всё чаще стали прибегать к некоторо…
GreenSock Animation PlatformGSAP – одна из самых популярных JavaScript-библиотек для создания анимаций. Её используют как новички, так и опытные front-end-разработчики. В этой статье я хочу рассмотреть несколько примеров ее применения – от самых простых до менее очевидных.Работая над сервисом для анимации логотипов, я выбрал GSAP (GreenSock Animation Platform), потому что эта библиотека позволяет создавать анимации практически любой сложности. Причём речь идёт не только об изменении CSS-свойств…
В двух словах: интернационализация — это не только перевод текста. Она включает в себя форматирование дат, правильное образование множественного числа, сортировку имен и многое другое с учетом конкретных локалей. Вместо тяжелых сторонних библиотек современный JavaScript предлагает Intl API — мощный встроенный инструмент для работы с i18n. Еще одно напоминание о том, что веб действительно глобален.Существует распространенное заблуждение, что интернационализация (i18n) сводится лишь к переводу ин…
Просто хочу строить свой DOM из своих кирпичей.С преферансом и поэтессами...И, если уж на то пошло, может быть что‑то типа: «раз пошла такая пъянка...»Думаю некторые понимают, что так можно, но — повторение мать учения, и, то есть, никто не мешает и не мешал делать не так, как все привыкли, не брать чей‑то готовый код, и не оставаться в рамках ограничений, наложенных кем‑то на что‑то «просто потому что».Что мне это даст:мне больше не нужны подписки, могу просто знать, что какое‑то свойство изме…
В этой серии статей мы отправимся в путешествие по миру пользовательских хуков React, открывая для себя их огромный потенциал для улучшения ваших проектов разработки. Сегодня мы сосредоточимся на хуке "useStorage", одном из многих тщательно разработанных хуков, доступных в коллекции пользовательских хуков React.Github: https://github.com/sergeyleschev/react-custom-hooks import { useCallback, useState, useEffect } from "react" export function useLocalStorage(key, defaultValue)…
Однажды на собеседовании мне предложили решить одну интересную задачу, которая для меня была довольно необычной на тот момент. Позже я обнаружил, что задача была не особо уникальной, но с высоты моего опыта тогда, она показалась довольно будоражащей.Условие задачиСоздайте класс EventEmitter, который позволяет:подписываться на события (on) с любым количеством функций на одно событие;отписываться от конкретной функции (off), даже если функция анонимная;вызывать все функции для события (emit) с пе…
Привет! Я — Александр Дудукало, автор базового курса по JavaScript. В этой статье мы продолжим изучение работы с данными в JavaScript. Если в прошлом материале мы говорили о массивах, то теперь пришло время познакомиться с объектами. Я расскажу, как они помогают эффективно организовать и обрабатывать связанные данные. Подробности под катом!ОбъектыЧем больше пишешь код и создаешь переменных, тем яснее проявляется некая закономерность: переменные, как бы то ни было, начинают группироваться по опр…
Собеседования в FAANG-компаниях (или MAANG/MANGA — кому как ближе) давно стали отдельным жанром. Если вы уже пытались попасть в Big Tech — то знаете, насколько сильно отличается их подход: чёткая структура, множество этапов собеседования, критерии оценки кандидатов и даже особенная культура коммуникации. При этом есть схожие моменты, которые вы встретите везде, и уникальные штуки, о которых лучше знать заранее.В этой статье разберёмся в нюансах и сравним, как устроены интервью в международные I…