Поводом для данной заметки стали несколько обстоятельств. Негативный опыт на одном проекте, и следующий спич в одном из докладов по ТС 2023 года: "Так когда же использовать any? Никогда. Шучу, конечно. Если идет портирование или при разработке дженериков можно" - за точность уже отвечать не могу, но смысл примерно такой. А так же заявления некоторых команд в духе: "У нас отличный проект. У нас нет any"Так как относиться неискушенному разработчику к any?ДокументацияПервым делом о…
Список неочевидных, но при этом полезных хаков, которые позволят использовать отладчик вашего браузера1 более полноценно. Для понимания материала статьи потребуется как минимум средний уровень владения инструментами разработчика. ▍ Содержание Продвинутые условные точки останова Точки логирования/трассировки Панель наблюдения Трассировка стеков вызовов Изменение поведения программы Быстрый и грубый способ профилирования производительности Использование арности функций Остановка на основе …
Привет! Меня зовут Данила, я фронтенд-тимлид в KTS.В этой статье я поделюсь с вами нашим опытом внедрения автотестов на одном из боевых проектов. Расскажу, с какими задачами мы столкнулись, почему решили взяться за автотестирование и какие результаты это принесло.Оглавление:Немного о проектеКакие тесты будем писатьПочему PlaywrightСетапУстановкаМоки ответов запросовSingle Page ApplicationServer Side RenderingContinuous IntegrationПлюсыМинусыНемного о проектеЭто server-side render приложение, на…
Привет, Хабр! Меня зовут Александр, я разработчик NodeJS в SimbirSoft. Я 7 лет занимаюсь разработкой, и могу утверждать, что в процессе получения опыта работа специалиста становится все более творческой. Мы не просто стремимся заставить ПО работать нужным заказчику образом, а стараемся сделать все его части элегантными, производительными и легко поддерживаемыми. Язык программирования, являясь нашим главным инструментом, не статичен и постоянно развивается. Какие-то его части устаревают и отмира…
Для некоторых задач, связанных с обновлением данных в реальном времени — например, новостные ленты, уведомления или поток чата, можно обойтись без сложных двусторонних протоколов, как WebSocket. Мы можем использовать простой механизм передачи данных от сервера к клиенту через HTTP, который часто оказывается удобнее и эффективнее в настройке для однонаправленного обмена данными.Как это работает?Клиент открывает постоянное HTTP-соединение с сервером. Сервер же периодически отправляет данные по ме…
Привет, друзья! В этой серии статей мы разбираем структуры данных и алгоритмы, представленные в этом замечательном репозитории. Это пятая часть серии. Первая часть Вторая часть Третья часть Четвертая часть Сегодня мы рассмотрим систему непересекающихся множеств, фильтр Блума и кэш актуальных данных. Код, представленный в этой и других статьях серии, можно найти в этом репозитории. Интересно? Тогда прошу под кат. 15. Система непересекающихся множеств Описание Википедия YouTube Система непе…
Я хочу, чтобы посетители моего сайта наслаждались им, так что я забочусь об accessibility и проверяю, что даже без JavaScript тут есть, на что смотреть. Я забочусь о том, насколько быстро грузятся страницы, ведь на некоторых из них есть большие иллюстрации, поэтому я минифицирую HTML.Вот только есть один нюанс, который ставит мне палки в колёса и не даёт сделать блог лёгким как пёрышко.ПалкаНаиболее сильно уменьшает трафик (а значит и latency на мобильных устройствах!) не минификация, а сжатие.…
Иногда наша компания участвует в тендерах и чтобы это было выгодно компания должна оценить свои затраты на строительство и оснащение объекта ещё до подачи ценовой заявки на участие в конкурсе. Для оценки затрат обычно берётся спецификация оборудования к рабочей документации и составляются таблицы с ценами на товары и услуги.При этой оценке очень часто присутствует большой объем механического поиска цен товаров и услуг в интернете на сайтах поставщиков. В какой-то момент мне захотелось упростить…
Мы часто сталкиваемся с тем, что многочисленные ресурсы и руководства по JavaScript предлагают свой уникальный подход к кодированию. И хотя они дают ценные знания, порой они также могут создавать проблемы с пониманием кода из-за непоследовательных соглашений об именовании и неясных структур.Это руководство посвящено написанию чистого и удобного кода на JavaScript и TypeScript. Мы рассмотрим лучшие практики работы с функциями, переменными и методами, чтобы ваш код был не только эффективным, но и…