Как стать автором
Обновить
10.63
Рейтинг

TypeScript *

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

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

Строим REST API с использованием Nest.js и Swagger

JavaScript *Node.JS *API *TypeScript *
Из песочницы

Для тестирования гипотез при развитии продукта требуется в короткие сроки реализовать прототип какого-нибудь приложения. В рамках рабочих задач мне довелось поработать над подобным прототипом. Это было backend-приложение предоставляющее RESTfull API и реализованное с применением технологий Nest.js и Swagger. О реализации подобного приложения и поговорим в этой статье.

Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 3.4K
Комментарии 1

Новости

Архитектура фронтенда и какой она должна быть

Разработка веб-сайтов *JavaScript *Анализ и проектирование систем *Проектирование и рефакторинг *TypeScript *

Все мы знаем про, или слышали про практики и паттерны проектирования SOLID, GRASP, MVC, MV** и даже применяем их с переменным успехом, стараясь нащупать эффективный подход к построению приложений. Но это лишь приводит к разнообразию реализаций наших приложений и частей функционала. Уже долгое время пытаюсь понять по каким правилам должно строиться фронтенд приложение чтобы оно удовлетворяло следующим критериям:

- легкое расширение функционала приложения;
- безболезненное внесение изменений в существующий функционал;
- унифицированная структура приложения;
- быстрый onboarding новых разработчиков на проект;
- понятный и прозрачный код;
- всегда понятно где в структуре файлов расположить ту или иную функциональность. 

Какие у нас есть варианты?

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 7.6K
Комментарии 4

Не отписался — без памяти остался

Разработка веб-сайтов *Angular *TypeScript *
Из песочницы

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 6.2K
Комментарии 3

Три слоя градиента одного слайдера

Блог компании TINKOFF JavaScript *Accessibility *Angular *TypeScript *

Мы в Тинькофф разрабатываем библиотеку Taiga UI: в ней сотни полезных компонентов, директив и сервисов. При разработке нам важно уделять внимание вопросу поддерживаемости кода, поэтому мы стараемся не писать лишнего кода и искать решения, работающие на нативных рельсах браузеров.

В статье поговорим про одно из таких решений — написание Angular-компонента Slider с помощью встроенных инструментов  браузеров и с минимальным использованием Javascript. Расскажу про доступность, интересное решение с многослойным градиентом, немного CSS-хитростей и даже чуть-чуть про Change Detection в Angular.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 2.7K
Комментарии 9

Принципы ООП в TypeScript

JavaScript *ООП *TypeScript *
Перевод

Объектно-ориентированное программирование (ООП) трудно реализовать на динамическом прототипном языке, таком как JavaScript. Вы должны вручную придерживаться принципов ООП из-за языковых особенностей, таких как утиная типизация. Это требует дисциплины, поскольку ничто в языке не навязывает принципы. Если задействована разнородная команда разработчиков с разным опытом работы, кодовая база, наполненная благими намерениями, может быстро превратиться в один хаотичный беспорядок.

В этом отрывке мы углубимся в правильные методы ООП в TypeScript, показав, как язык автоматизирует кучу ручного труда и поощряет лучшие практики. Мы начнем с того, что немного поговорим об утиной типизации, а затем перейдем к трем основным элементам: инкапсуляции, наследованию и полиморфизму.

Готовы? Поехали!

Читать далее
Всего голосов 4: ↑1 и ↓3 -2
Просмотры 3K
Комментарии 2

Почему вы должны начать писать на TypeScript в 2022 году

JavaScript *TypeScript *
Из песочницы

Привет! Это моя первая статья на хабре и в ней я хочу рассказать про такой язык, как TypeScript, и почему именно на нем вместо Javascript ты должен начать писать уже в этом году! В данной статье приведу 2 примера, когда TypeScript поможет нам избежать ошибки или подскажет, что что-то не так. Погнали!

Читать далее
Всего голосов 34: ↑9 и ↓25 -16
Просмотры 12K
Комментарии 13

Как интегрировать авторизацию через Госуслуги (ЕСИА) с помощью Docker и Typescript

Блог компании Waves Enterprise Децентрализованные сети Криптография *TypeScript *

Привет, Хабр! В одном из постов блога мой коллега Иван писал о нашем блокчейн-сервисе для онлайн-голосований WE.Vote. Он подробно разобрал, как работает WE.Vote с точки зрения технологий. Но чтобы сервисы удаленного голосования можно было использовать для принятия официальных решений юрлиц, не хватает еще одного важного компонента — достоверной верификации участников. В России для этого можно провести интеграцию с ЕСИА (Единой Системой Идентификации и Аутентификации) — проще говоря, с Госуслугами. Интеграция эта заметно отличается от интеграции с другими oauth2-сервисами, как, например, Google или VK. В этом посте мы постараемся помочь тем, кто захочет интегрировать ЕСИА в свой сервис через стек, подобный нашему, а также дадим несколько полезных ссылок по ЕСИА в принципе.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 1.7K
Комментарии 7

JavaScript декораторы наконец-то в Stage 3

JavaScript *Node.JS *TypeScript *

18 апреля 2022 года, после 5 лет доработки (первый коммит от 30 апреля 2017 года), proposal по декораторам наконец-то достиг 3 стадии, что означает что у него есть спецификация, тестовая имплементация и осталась только полировка на основе фидбека от разработчиков. Учитывая что это уже четвертая (!) итерация декораторов, их переход в стадию принятия это эпохальное событие для JS - не припомню ни одной другой фичи, которая прошла такой длинный и тернистый путь, с диаметрально разными подходами и аж двумя разными legacy-имплементациями, в Babel и TypeScript. Давайте же посмотрим на неё повнимательней.

Наконец-то!
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 4K
Комментарии 17

Rust с 0 до 80% для JavaScript разработчиков

JavaScript *Rust *TypeScript *
Перевод

Это список тем, которые помогут вам быстро понять Rust, если вы разработчик JavaScript. Есть много учебников, которые начинаются с нуля. Но если вы уже знаете что-то еще, почему бы не сравнить их?

Это различия, на которые я хотел бы сослаться перед тем, как приступить к Rust, вкратце.

Читать далее
Всего голосов 15: ↑6 и ↓9 -3
Просмотры 4.8K
Комментарии 13

Что такое мемоизация? Как и когда использовать мемоизацию в JavaScript и React

JavaScript *Клиентская оптимизация *Функциональное программирование *ReactJS *TypeScript *
Из песочницы
Перевод

В данном переводе рассказывается о том, что такое мемоизация, зачем её использовать. Также представлены основные примеры на JavaScript и React, демонстрирующие работу мемоизации.

Развернуть
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 8.7K
Комментарии 6

Собираем интересные .NET блоги в Telegram-канал с помощью GitHub Actions

.NET *GitHub TypeScript *

Будучи .NET разработчиком, я стараюсь периодически просматривать различные ресурсы, связанные с .NET тематикой. Как правило, это различные блоги. Иногда то тут, то там появляются какие-нибудь интересные статьи, на которые стоит обратить внимание.

Недавно я поймал себя на мысли, что делать это вручную мне как-то поднадоело. Тем более, что просматриваю я обычно одни и те же сайты. А значит время заняться автоматизацией.

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

Я решил использовать в качестве хранилища GitHub, а сам скрипт (написан на TypeScript) запускать по расписанию с помощью GitHub Actions. В этой статье я хочу рассказать про некоторые технические детали реализации и поделиться полученным результатом.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2.2K
Комментарии 2

Изучение TypeScript — полное руководство для начинающих. Часть 2 — ссылочные типы данных

JavaScript *ReactJS *TypeScript *
Перевод

Всем привет!
Меня зовут Лихопой Кирилл и я - фронтенд-разработчик в компании Idaproject.

В этой серии статей я рассказываю об основах TypeScript, его преимуществах и фишках.

Сегодня мы поговорим про объекты, массивы и функции, а также затронем еще пару тем, полезных для веб-разработки. Если вы пропустили первую часть, то советую ознакомиться: Изучение TypeScript — Полное руководство для начинающих. Часть 1 — введение и примитивные типы данных. Итак, начнем.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 4.4K
Комментарии 0

Нецелевое использование assert-функций в TypeScript

Блог компании RUVDS.com JavaScript *Программирование *TypeScript *
Перевод
Tutorial

Это ужасный (но очень полезный) хак, который я придумал для добавления типов в старый код. Вчера мой коллега, работающий над добавлением типов в одну из наших основных библиотек на LinkedIn, спросил меня, как быть со старым (и уже не рекомендуемым) паттерном. В качестве одного из вариантов решения мы попробовали применить assert-функцию. вразрез с её предназначением. В конечном итоге нам не удалось добиться конкретно желаемого 1, но мне этот паттерн показался достаточно интересным, чтобы им поделиться.
Читать дальше →
Всего голосов 39: ↑38 и ↓1 +37
Просмотры 4.6K
Комментарии 3

Изучение TypeScript — Полное руководство для начинающих. Часть 1 — введение и примитивные типы данных

JavaScript *ReactJS *TypeScript *
Из песочницы
Перевод

Всем привет. Меня зовут Лихопой Кирилл и я - Frontend-разработчик в компании Idaproject.

Представляю вашему вниманию cвою первую статью на Хабре, a точне перевод англоязычной статьи, на тему изучения TypeScript (TS, Тайпскрипт).

Читать далее
Всего голосов 15: ↑11 и ↓4 +7
Просмотры 13K
Комментарии 8

Angular Universal: работа в крупном e-commerce

Блог компании Утконос ОНЛАЙН JavaScript *Angular *TypeScript *
Из песочницы

Привет, меня зовут Дмитрий Дружков, я тимлид фронтенд команды в Утконос Онлайн. В этой статье я расскажу, чем полезен Angular Universal в e-commerce проектах, как выбрать вид рендеринга, как выглядит первоначальная настройка технологии на примере нашего сайта и шаги по ускорению, а также раскрою плюсы и минусы Universal. Статья будет интересна тем, кто:

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 1.8K
Комментарии 4

Руководство по NestJS. Часть 1

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *Node.JS *TypeScript *



Привет, друзья!


В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой TypeScript (использование TypeScript является опциональным) и сочетает в себе элементы объектно-ориентированного, функционального и реактивного функционального программирования.


Под капотом Nest использует Express (по умолчанию), но также позволяет использовать Fastify.



В первой статье рассматриваются основы работы с Nest, во второй — некоторые продвинутые возможности, предоставляемые этим фреймворком, в третьей — приводится пример разработки простого React/Nest/TypeScript-приложения.


При рассказе о Nest я буду в основном придерживаться структуры и содержания официальной документации.


Это первая часть руководства.

Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Просмотры 7.1K
Комментарии 3

Node.js: разрабатываем пакетный менеджер

Блог компании Timeweb Cloud JavaScript *Node.JS *TypeScript *



Привет, друзья!


Вам когда-нибудь хотелось узнать, как под капотом работают пакетные менеджеры (Package Manager, PM) — интерфейсы командной строки (Command Line Interface, CLI) для установки зависимостей проектов наподобие npm или yarn? Если хотелось, тогда эта статья для вас.


В данном туториале мы разработаем простой пакетный менеджер на Node.js и TypeScript. В качестве образца для подражания мы будем использовать yarn. Если вы не знакомы с TS, советую взглянуть на эту карманную книгу.


Наш CLI будет называться my-yarn. В качестве lock-файла (yarn.lock, package-lock.json) он будет использовать файл my-yarn.yml.


Источник вдохновения.


Код проекта.

Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 3K
Комментарии 2

TypeScript: худший лучший язык программирования

Блог компании Конференции Олега Бунина (Онтико) Разработка веб-сайтов *JavaScript *Программирование *TypeScript *

На конференции FrontedConf 2021 Андрей Старовойт показал плюсы и минусы TypeScript. Если вы сомневаетесь, стоит ли его использовать — эта статья для вас, чтобы вы смогли для себя всё решить. Если вы уже любите и используете TypeScript, то надеюсь, вам тоже будет интересно.

Все преимущества и недостатки языка описаны, конечно, через призму опыта Андрея. Несмотря на то, что последние 7 лет он работает в компании JetBrains над продуктом WebStorm на Java Kotlin, пишет он и на TypeScript. Попутно много смотрит на код других людей, пытаясь понять, что с ним можно сделать внутри WebStorm и почему типы выбились неправильно. А также — какие инспекции можно применить так, чтобы люди стали счастливы, а их код — лучше.

Читать далее
Всего голосов 64: ↑57 и ↓7 +50
Просмотры 32K
Комментарии 41

Введение в $mol. Часть 1. Модульная система

Разработка веб-сайтов *JavaScript *Системы сборки *TypeScript *
Tutorial

Эта статья открывает серию публикаций по обучению фреймворку $mol. Сегодня мы разберемся в модульной системе MAM. Речь пойдет об организации кода, отделении его от инфраструктуры, сборке, версионировании, нейминге, минимизации размера бандла, автоматическом выкачивании зависимостей, фрактальных моно-поли-репозиториях, разделении кода на платформы, альтернативе импортам/экспортам, автоматическом разруливании циклических зависимостей.

Читать далее
Всего голосов 25: ↑18 и ↓7 +11
Просмотры 3.9K
Комментарии 18

Zustand — руководство по простому управлению состоянием

JavaScript *Angular *ReactJS *VueJS *TypeScript *
Перевод

За последние несколько лет управление состоянием в React претерпело значительные изменения. Многие перешли с Flux на Redux и ищут еще более простые решения. Кроме того, появление React Hooks открыло новые возможности для управления состоянием.

Некоторые из новых библиотек управления состоянием, которые появились на горизонте, — это Recoil, Jotai, Radio Active state и Zustand.

В этой статье я расскажу о Zustand, который предоставляет легкий и простой способ управления состоянием в React.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 3.3K
Комментарии 19

Вклад авторов

Работа