Обновить
48.09

TypeScript *

Cтрого типизированная надстройка для JavaScript

Сначала показывать
Порог рейтинга
Уровень сложности

Эффективное использование фикстур в Playwright: полное руководство

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели3.1K

Поддержание чистого, эффективного и масштабируемого тестового кода становится всё более сложной задачей по мере увеличения сложности веб-приложений. Playwright, мощный фреймворк для end-to-end тестирования, предлагает решение через свою систему фикстур. Это руководство проведет вас через продвинутые техники использования фикстур в Playwright для создания надёжной и поддерживаемой тестовой архитектуры.

Читать далее

Система типов и настройки

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели1.2K

В заметке рассмотрены несколько настроек ts, которые влияют на систему типов.

А так же особенность языка, которая не вызывает ошибок типизации, но может привести к ошибкам в коде.

Хотите знать больше?

UI-система или хроники Хаоса

Время на прочтение5 мин
Охват и читатели714

Всем доброго времени суток. Давно я что-то ничего не писал, и вот созрел. Предлагаю сегодня поговорить о ui-системе. Зачем она нужна, когда она нужна, что дает, какие минусы имеет и вообще стоит ли ввязываться в это блуд.  Я часто слышу на разных конференциях, что панацея от всех болезней в бизнесе  —  это наличие дизайн-системы (ui-системы). Что, как только вы достигаете ее, то сроки сокращаются в 100500 раз. Что разработчики не хотят открутить голову дизайнерам, и, наоборот, что качество продукта возноситься до небес, и еще много всего восхитительного об этой сущности. Но так ли все это ? Или это просто розовые очки, которые застилают глаза всех причастных к созданию ui-системы в компании и побочка от постоянных нервных срывов, скандалов, поиска компромиссов и просто выгорания? В этой статье я постарался разобраться, а стоит ли игра свеч или как в анекдоте про нюансы. 

Для начала, чтобы рассуждать, что чем является, нам потребуется разобраться в понятиях и терминах предметной области.  

UI - kit — это полный набор элементов и компонентов, необходимый для сборки большого однородного продукта. Он включает различные кнопки, иконки, поля для ввода данных и т. д. и позволяет сохранять узнаваемость продукта и доверие пользователей. Так мне сказал поисковик, я спорить не стал.

UI component являются основными блоками и элементами для дизайна пользовательского интерфейса. Они предоставляют пользователям способ взаимодействия с вашим веб-сайтом или приложением. Этими компонентами могут являться интерактивный текст и графика, которые сообщат пользователю, что делать дальше.

Читать далее

Как улучшить производительность в Angular с помощью Memoize Pipe

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели870

Angular — это мощный инструмент для создания сложных веб-приложений. Но, как и в любом другом фреймворке, возникают свои сложности. Одна из таких проблем — это частые перезапуски тяжелых функций в шаблонах, что сильно бьет по производительности. Если приложение начинает тормозить, значит пора задуматься об оптимизации. И здесь на помощь приходит Memoize Pipe, способный спасти ваш интерфейс от лишних вычислений.

Читать далее

Как мы полностью обновили VK Мессенджер: переписать нельзя рефакторить

Время на прочтение12 мин
Охват и читатели9.7K

Случается, ты просыпаешься и осознаешь: так больше продолжаться не может и нужно что‑то менять. Разные кодовые базы, избыточное легаси и нестабильность мешают пользователям получать удовольствие от общения в твоем приложении. И эта мысль подводит тебя к развилке: один путь ведет к сложному и долгому рефакторингу легаси за почти 10 лет, второй к не менее долгому, а, порой, более сложному процессу переписывания с 0. Но какой бы путь ты ни выбрал, в любом случае начинаешь испытывать азарт — предстоит большая Задача (именно с большой буквы).

Привет Хабр, меня зовут Федор Неживой, я ведущий программист‑разработчик в команде VK Мессенджера и сегодня расскажу вам, как мы перестраивали и обновляли один из крупнейших проектов в рунете. В статье будет боль, пот, реальный код и детали, как мы шаг за шагом пришли к масштабному обновлению, а потом внедряли то, что получилось.

Читать далее

Визуализация покрытия автотестами для gRPC сервисов

Время на прочтение15 мин
Охват и читатели2.1K

В данной статье хочу рассказать про инструмент измерения покрытия gRPC сервисов tests-coverage-tool, написанный на языке Golang. Основная задача инструмента — автоматическое измерение покрытия требований на основе proto контрактов. Поговорим про использование в автотестах, концепцию, отчет и кратко про архитектуру самого инструмента tests-coverage-tool.

Читать далее

Типы или интерфейсы в TypeScript: что и когда использовать?

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

Работая с TypeScript, рано или поздно сталкиваешься с вопросом: что выбрать — типы или интерфейсы? В статье я хотел бы поделиться особенностями работы с типами и интерфейсами, которые могут быть полезны в вашей практике.

Читать далее

Мы захотели надежности, и сделали интегратор курсов валют ADAMANT Currencyinfo

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели384

Вы знаете множество сервисов, которые предоставляют курсы фиатных и крипто- валют. В разной степени им свойственны недостатки.

Ключевой мотив создания ADAMANT Currencyinfo — надежность.

Читать далее

Vue 3 в деле: Как мы обновили большой внутренний сервис и что из этого вышло

Время на прочтение10 мин
Охват и читатели6.1K

Привет, Хабр!

Меня зовут Егор Прокопьев, и я фронтенд-разработчик в Ozon.

Третья версия полюбившегося многими фреймворка Vue вышла уже давно, и большинство использующих его произвели обновление до новой версии. Но всегда будут такие, как наша команда, кто откладывал этот переход в дальний ящик техдолга — ведь есть более приоритетные задачи! Однако рано или поздно этот день настаёт, и вот и для нас он пришёл.

В этой статье я хочу рассказать, как мы переходили на новую версию при том, что сервис является достаточно большим и очень важным для пользователей. Но обо всём по порядку.

Читать далее

Как перевести приложение с Flow на TypeScript

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели768

Привет! Меня зовут Олег, я работаю в роли фронтенд-тимлида в команде разработки приложения — розничного кредитного конвейера Газпромбанка. Я подготовил гайд о том, как перейти с FlowJS на TypeScript.

Читать далее

Добавляем lint-staged в NestJS и Angular приложения, включаем семантическое версионирование фронтенда

Время на прочтение14 мин
Охват и читатели836

Так как версионирование через плагин nx-semantic-release происходит путем анализа изменений по связанным Typescript-импортам, то нам нужно минимизировать эти изменения, для этого в проект подключаем lint-staged и добавляем строгости в Typescript-код.

Читать далее

Семантическое версионирование NestJS и Angular приложений в NX-монорепозитории

Время на прочтение4 мин
Охват и читатели522

Подключение и настройка nx-semantic-release плагина для NX-монорепозитория для автоматического создания релиза с последующим деплоем приложений.

Читать далее

Доступ к сайту на NestJS и Angular по доменному имени c SSL — сертификатом в Kubernetes через Ingress

Время на прочтение9 мин
Охват и читатели661

В Kubernetes очень легко настраивается работа с SSL, это наверное одна из главных причин почему я и начал им пользоваться, в этой статье я опишу простой сценарий его подключения.

Читать далее

Ближайшие события

Автоматическая сборка examples для Swagger NestJs

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели824

Кейс о том как автоматизировать сбор данных и формирования examples с типами в Swagger без описании сущностей, с использованием фреймворка NestJs.

Читать далее

@tanstack/react-query + react typescript

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.8K

Хотелось бы рассказать как я использую @tanstack/react-query в своих проектах при построении архитектуры приложения

Читать далее

Установка Kubernetes через MicroK8s и настройка деплоя NestJS и Angular приложений

Время на прочтение15 мин
Охват и читатели1.7K

Когда в команде нет DevOps - инженеров, но очень хочется задеплоить приложение в Kubernetes, можно легко это сделать с помощью https://microk8s.io, в данном посте я опишу как это сделать и открыть доступ к приложению на определенном порте.

Читать далее

Библиотека RRC для управления запросами и кэшем для Zustand/Redux: [лучшая] альтернатива RTK-Query и другим решениям

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели1.2K

Вашему вниманию представляется react-redux-cache (RRC) - легковесная библиотека для загрузки и кэширования данных в React приложениях, которая поддерживает нормализацию, в отличие от React Query и RTK Query, при этом имеет похожий, но очень простой интерфейс. Построена на иммутабельном паттерне, характерном для Zustand/Redux, покрыта тестами, полностью типизирована и написана на Typescript.

Читать далее

Снова any. Заметка для новичка

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели4.4K

Снова any. Заметка для новичка

Небольшая заметка для новичков об any.

Заметка, по сути, синтез из официальной информации, общих выражений об any, и нескольких примеров использования как положительных, так и негативных.

Хотите знать больше?

Вышел TypeScript 5.6

Уровень сложностиПростой
Время на прочтение19 мин
Охват и читатели2.7K

Сегодня мы рады объявить о выходе TypeScript 5.6!

Если вы не знакомы с TypeScript, то это язык, созданный на основе JavaScript и добавляющий синтаксис для типов. Типы описывают формы, которые мы ожидаем от наших переменных, параметров и функций, а программа проверки типов TypeScript помогает выявить такие проблемы, как опечатки, отсутствие свойств и неправильные вызовы функций еще до того, как мы запустим наш код. Типы также используются в редакторах TypeScript, таких как автозавершение, навигация по коду и рефакторинг, которые вы можете увидеть в таких редакторах, как Visual Studio и VS Code. На самом деле, если вы пишете JavaScript в любом из этих редакторов, этот опыт основан на TypeScript! Узнать больше можно на сайте TypeScript.

Читать далее

Ускорение деплоя NestJS и Angular с помощью общественных Github-раннеров и создания промежуточных Docker-образов

Время на прочтение42 мин
Охват и читатели671

В этом посте я настрою сборку Docker-образов: Билдер NestJS и Angular приложений; Мигратор баз данных с помощью Flyway; Тест-раннер для запуска фронтенд и бэкенд E2E-тестов; Nginx c встроенной статикой Angular приложения; NestJS приложение.

Читать далее