RU

Фреймворк-независимые дизайн-системы: практический подход к веб-компонентам

Как построить дизайн-систему без привязки к фреймворку, используя веб-стандарты и веб-компоненты. Пошаговое руководство с примерами кода и документаци…

JavaScriptВеб-разработкаCSSHTMLДизайн интерфейсов и UXФронтендДизайнПереводы
Tproger
RU

Симулятор рисков для крипты: написал инструмент, который считает за меня размер позиции и стресс-тестирует портфель

Большинство трейдеров управляют рисками интуитивно. «Войду на 20% депозита, стоп поставлю пониже» — и пошёл. Исследование 500+ активных криптотрейдеро…

риск-менеджменткриптовалютатрейдингATRстресс-тестированиеDeepSeekJavaScriptбраузерное приложениеуправление капиталомалготрейдинг
Habr
RU

Как попасть во фронтенд и дойти до senior в ВК — интервью с Александром Ламковым

Фронтенд-разработка давно перестала быть просто «вёрсткой сайтов». Сегодня это сложная экосистема: фреймворки, state-менеджмент, TypeScript, оптимизац…

ФронтендReactJavaScriptTypeScriptКарьера в ITTailwindГеймдевВКCSSSenior
Habr
RU

Как TypeScript выводит типы переменных: разбор алгоритма

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

JavaScriptЯзыки программированияКомпиляторыФункциональное программированиеTypeScriptСтатьи
Tproger
RU

Как правильно использовать поля HTML-форм: гайд для разработчиков

Разбираем типы полей HTML-форм, правила доступности, ARIA-атрибуты и лучшие практики. Узнайте, как создавать удобные и конверсионные формы для любых у…

JavaScriptДля начинающихВеб-разработкаЛучшая практикаCSSHTMLДизайн интерфейсов и UXФронтенд-разработка с нуляСтатьи
Tproger
RU

Как я сделал игру «Найди 250 отличий» на чистом JS и выложил в Яндекс Игры: цифры, грабли и доход

Можно ли запустить казуальную HTML5-игру на чистом JS в Яндекс Играх, не зная геймдева и верстки? Спойлер: можно, но придется пройти через 2-3 месяца …

HTML5JavaScriptЯндекс Игрыразработка игринди-разработкапостмортемказуальные игрыпоиск отличийгеймдевмонетизация игр
Habr
RU

Новый Intl.DurationFormat привел к неожиданной ошибке приложения

В этой статье расскажу о свежем баге, который ронял один тип транзакций, пока остальные работали штатно. Если используете @formatjs /intl-durationform…

JavaScriptTypeScriptReactIntlDurationFormatfrontendотладкаполифиллплатёжные системыErrorBoundary
Habr
RU

Как я 8 дней ловил утечку памяти в Nuxt 3 SSR, и несколько раз думал, что починил

Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Хочу как я 8 дней ловил утечку памяти на проде, несколько раз дум…

memory leakутечка памятиVue.jsNuxt.jsNode.jsJavaScriptSSRV8
Habr
RU

Как я написал E2EE-мессенджер на Spring Boot и WebCrypto — и почему сервер не видит сообщения

Разбор архитектуры E2EE-мессенджера на Spring Boot 3, React и WebCrypto: X3DH, symmetric ratchet, AES-GCM, WebSocket, multi-device и ограничения реали…

APIJavaScriptJavaAndroidStack OverflowGitБезопасностьОпросIDESQLiOSРаботаTorGitHubБазы данныхHRReactDockerMITАлисаRedisQAМессенджер5gПриложениеВзломdevСервер1CPostgreSQLGrafanaСтатьи
Tproger