Привет! Меня зовут Дмитрий, и я уже много лет работаю с TypeScript. За это время я был частью разных команд с разным уровнем владения этим языком, в том числе тех, кто только готовился перевести проект с JavaScript. И нередко я замечал, что разработчики воспринимают TypeScript не как инструмент, упрощающий работу, а как рутинную обязанность, которая лишь замедляет процесс. В этой статье я расскажу, как сделать TypeScript своим союзником и заставить его работать на вас, а не против. Первая встре…
Сколько карт установлено на вашем смартфоне? Попробуйте ответить на этот вопрос и задумайтесь, как часто их добавляют разработчики приложений. Кто-то отмечает на картах свои магазины, кто-то — делает проекты в духе Zenly, другие — показывают зоны доставки еды и т. д. Если вам тоже пришлось «вшить» в свое веб-приложение карты, запаситесь терпением. В инструкции рассказываем, как это сделать и настроить тестовое окружение с IDE в облаке. Подробности под катом! Введение: зачем инструкция, если…
Асинхронный JavaScript-код встречается практически в любом проекте (самый популярный пример использования — сетевые запросы). Но работа с ним сопряжена с рядом особенностей. Одна из них — специфичная работа с ошибками. Так, поскольку ошибки могут возникать в разное время и в разном месте, надо уметь их отлавливать, определять место «поломки» и корректно передавать всю информацию для последующей обработки. Для этого критически важно, чтобы stack trace ошибки был не формальный «однострочник», а м…
Привет, Хабр!Глубокое копирование в JavaScript всегда было немного проблемой. До тех пор, пока в языке не появился structuredClone() — метод, который решил многие наши проблемы. Почему structuredClone() — это не JSON.stringify() 2.0Если раньше вы использовали JSON.stringify() + JSON.parse() для глубокого копирования, то вы знаете: работает, но только до первого нестандартного объекта.const data = { date: new Date(), regex: /hello/gi, map: new Map([['key', 'value']]), }; c…
Мы посмотрим и на Корбена Далласа и Лилу из фильма «Пятый элемент», на сюжет из фильма «Люди в черном» и другие интересные арты.Генеративные модели могут создавать великолепные изображения и видео, особенно при правильном подходе и знаниях в написании промптов.Но меня интересуют мультимодальные LLM, которые на входе принимают также изображения и видео, а на выходе производят текст. Теоретически они должны иметь хорошие представления о том, как выглядит окружающий мир и как он меняется со времен…
Привет, друзья! В этой серии статей мы разбираем структуры данных и алгоритмы, представленные в этом замечательном репозитории. Это десятая часть серии. Сегодня мы продолжим разбирать алгоритмы для работы с графами. Код, представленный в этой и других статьях серии, можно найти в этом репозитории. Интересно? Тогда прошу под кат. Первая часть Вторая часть Третья часть Четвертая часть Пятая часть Шестая часть Седьмая часть Восьмая часть Девятая часть ❯ Граф ❯ Алгоритм Прима Описание Википеди…
Хочу поведать о своей библиотеке для написания тестов в транзакциях при работе с MySQL.Я люблю писать тесты для своего кода, но при этом не люблю писать моки и всю необходимую для них обвязку. Особенно это касается базы данных, ибо если замокать вызовы внешних сервисов и очереди сообщений еще не так сложно, то с БД все гораздо сложнее. Взаимодействие с базой данных обычно довольно «богатое», это ведет к тому, что приходится писать много хрупких и утомительных моков/стабов, и при этом сами запро…
Многие новички совершают типичные ошибки: верят, что после курсов их сразу заберут в топ-компанию, рассылают одно и то же резюме или не готовятся к собеседованиям.. Однако реальность такова: IT-компании ищут не просто выпускников онлайн-школ, а специалистов с реальными навыками, портфолио и пониманием рабочих процессов. В этой статье разберем главные ошибки новичков и расскажем, как повысить шансы на успешное трудоустройство.Артур Филимонцев Teach Lead Frontend, фронтенд-разработчик в компании…
Я всё тщательно проверил и убедился, что мой сайт отлично (или хотя бы вполне неплохо) работает даже без JavaScript. Но, когда JavaScript недоступен, иногда бывает немного тяжеловато скрывать вещи, скрывать которые необходимо. Всего 7 строк кода (или даже однострочника, для самых душных) достаточно, чтобы скрывать на странице элементы, требующие JavaScript. Поэтому вам не придётся краснеть перед пользователи, которые без JavaScript заметили бы, как хромает функциональность вашего сайта.Небольшо…