Как стать автором
Обновить
44.88

TypeScript *

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

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

Zod. Основные преимущества и неочевидные кейсы использования

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

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

Для простых структур можно задать валидацию буквально в одной строке:

Читать далее
Всего голосов 7: ↑6 и ↓1+9
Комментарии3

Новости

Эпопея шахматных движков: мой опыт в разработке шахматной программы

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

В этой статье я расскажу про личный опыт написания шахматной программы на языке TypeScript. С какими проблемами столкнулся и пути к их решению :-)

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии13

linkedSignal: управлять связанным состоянием теперь ещё проще

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

Бу! Испугался? Не бойся. Angular 19 уже не за горами и представляет новый мощный примитив, называемый linkedSignal, который поможет вам управлять сложным состоянием в ваших приложениях. Это альтернатива использованию effect для простого обновления сигнала на основе изменения другого сигнала. В прошлом мы видели, как сообщество обсуждало, чтобы избегать использования effect и вместо этого использовать computed для сброса сигналов на основе изменения другого сигнала.

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

Глобальная настройка любого компонента в Vue

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров756

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

Сейчас использую Element Plus, так как используется на основной работе и она на равных с другими схожими библиотеками. У него тоже есть глобальная конфигурация, но он очень кастрирован - я не могу глобально настроить конкретный компонент.

Читать далее
Всего голосов 2: ↑1 и ↓1+1
Комментарии2

Истории

Аптайм вахтер: мониторинг веб-сервисов с помощью Globalping и уведомлениями в Telegram

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.3K

Представьте: ваш сервис должен работать безотказно 24/7, быть доступным из любой точки мира, а любые проблемы нужно обнаруживать мгновенно. Как убедиться, что сайт одинаково быстро работает в Нью-Йорке, Токио и Москве? Как отследить проблемы маршрутизации или цензуры в разных странах?

Стандартные системы аналитики могут помочь с базовым мониторингом доступности, но что если вам нужно больше? Что если нет возможности установить счетчик или вас не устраивает способ доставки уведомлений?

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Nexus-IoC — хорошо знакомый незнакомец в мире TypeScript и DI

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.4K

Вы запутались в сложных графах зависимостей и бесконечных правках кода? Nexus-IoC – это лёгкое, это мощное решение для внедрения зависимостей в проектах на TypeScript. Созданная как альтернатива Inversify, эта библиотека поможет вам легко управлять модулями, находить ошибки до их появления в продакшене и даже визуализировать граф зависимостей вашего приложения!

В статье я расскажу, какие проблемы решает Nexus-IoC, как начать с ним работать и как эта библиотека может сделать разработку более управляемой и предсказуемой. А также поделюсь планами на будущее.

Впереди много интересного!
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Невидимый Технический Долг: Управление TODO Комментариями

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров883

В разработке ПО важно обеспечивать чистоту и качество кода, чтобы проект оставался легко поддерживаемым.

Однако в ежедневной работе разработчики часто сталкиваются с необходимостью быстро решить задачу, и тогда они начинают оставлять в коде комментарии типа TODO или FIXME для последующего улучшения.

Спустя какое-то время проект оказывается перегружен невыполненными задачами. Подобные комментарии накапливаются и превращаются в невидимый технический долг, который может негативно сказаться на проекте.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии2

Циклические импорты на фронтенде

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.3K

Хочу рассказать о том, какие проблемы при разработке создают рекурсивные зависимости на фронте.

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

Рассмотрим способы разрешения циклических зависимостей и их обнаружение.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии4

Next.js v15 — Работа над Ошибками

Время на прочтение12 мин
Количество просмотров16K

Привет! Это ставшая уже регулярной рубрика о релизах next.js (читайте релизы по v11, v12, v13, v14). Каждый релиз - набор нового, интересного и спорного. Новая версия не станет исключением. Но всё же новая версия интересна не столько новым функционалом, сколько изменением приоритетов и организации в next.js. И да, как вы уже догадались из названия, в значительной части релиз ценен проработкой ошибок и доработками.

В данной статье я не буду останавливаться на том что такое App Router или серверные компоненты - про это подробно расписано в предыдущих статьях. Только про новую версию и только про новые изменения.

Примечание: в статье отражены самые интересные изменения с призмы автора. Здесь разобраны коммиты и PR в ядро next.js, сообщения разработчиков и задачи, поэтому статья отражает больше изменений, чем представлено официально.

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии15

RxJS Interop в Angular 18: основные изменения и преимущества

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.4K

✏️ 🔥 Я написал новую статью об одной из интересных функций в Angular 18: RxJS Interop. В статье рассматривается, как RxJS Interop эволюционировал с Angular 16 до 18, какие новые возможности он приносит и как его можно использовать в вашем коде.

🚀 Если вы разработчик Angular и хотите улучшить свои реактивные паттерны, эта статья для вас!

✨ Основные моменты:

- 🔄 Бесшовная конвертация между Signals и Observables.

- 📉 Оптимизированная производительность для управления реактивным состоянием.

- 💡 Использование операторов RxJS напрямую с Signals для упрощения и улучшения читаемости кода.

- 🔥 Упрощение интеграции с Firestore с помощью Signals для синхронной реактивности и более простого управления состоянием.

Читать далее
Всего голосов 8: ↑5 и ↓3+5
Комментарии8

Как использовать менеджер состояний NgRx для Angular-проектов

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.8K

Всем привет! Меня зовут Ильмир, я frontend-разработчик SimbirSoft. Это моя первая статья, в которой я хотел бы разобрать тему менеджера состояний в Angular.

Читать далее
Всего голосов 4: ↑3 и ↓1+4
Комментарии4

Понимание принципа построения функциональности карт с Яндекс.Картами API v3

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров1.2K

Когда первый раз открываешь документацию Яндекс.Карт, то совершенно ничего не понятно. Ты смотришь быстрый старт, введение, руководство разработчика, общие сведения, подключение карты... ну да, окей, мы взяли такие, всё подключили, видим карту с населенными пунктами... а дальше-то что делать?

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

Тестирование redux store

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

Бывает ситуация, когда нам необходимо протестировать middleware, либо асинхронное событие, которые возникает в хранилище redux.

Цель этой статьи в том, чтобы показать как тестировать action в redux store.

Есть готовое решение, redux-mock-store, но оно не позволяет оперировать реальным хранилищем, через него мы можем только проверить был вызван тот или иной action, а данные которые сохраняем мы в store, не можем проверить.

Читать далее
Всего голосов 3: ↑2 и ↓1+5
Комментарии8

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

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Введение в AI Selfie Background Remover с использованием TensorFlow.js для React-приложений

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

Я создал "React Selfie AI Background Remover" — компонент React, который использует TensorFlow.js для удаления фона с изображений людей прямо в браузере.

✨ Основные особенности:

🤖 Использует MediaPipe Selfie Segmentation для точной сегментации объектов.

⚙️ Легко интегрируется в любое React-приложение.

🖼️ Доступно live demo для тестирования.

Вы можете найти компонент здесь:

📦 NPM

💻 GitHub

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии4

Maskito: то, что вы давно искали

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

Во фронтенде часто попадаются сложные формы. Создавая их, мы хотим, чтобы пользователю было удобно все заполнять. Числа нужно правильно форматировать, чтобы с первого взгляда было видно, что нет лишнего нолика. Когда вводишь номер кредитной карты, сверять его удобно блоками по 4 цифры, как он напечатан на пластике. Пользователь может вбивать номер телефона, дату рождения, номер паспорта и тому подобное — существует масса случаев, когда пользовательский ввод нужно форматировать на лету. Этим занимается маска.

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

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

Читать далее
Всего голосов 24: ↑21 и ↓3+24
Комментарии5

Когда нужен TypeScript: введение в мир надежного программирования

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.4K

Поговорим про введение в TypeScript и то, как с помощью него мы можем сделать наше программирование и наш код на JavaScript более надежными и прогнозируемыми. 

Меня зовут Александр Чернов, я фронтенд-разработчик в Альфе, веду подкаст ТИНОИД, обожаю плавание и влюблён в веб- и фронтенд-разработку.

Читать далее
Всего голосов 29: ↑23 и ↓6+21
Комментарии30

Каково это, сделать игру на китайском движке Cocos Creator 3?

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

Хорошая новость в том, что на нём гарантированно можно довести игру до завершения и стабильного состояния. И это важно, т.к. в процессе разработки у меня не было уверенности в удачном финале. У движка есть увесистые плюсы и минусы.

Cocos Creator 3 [1] - это китайский опенсорсный игровой движок, заточенный на разработку браузерных игр и интерактивных/игровых рекламных блоков. Он весьма популярен в Китае, и очень слабо известен в остальном мире.

Подробнее про Cocos
Всего голосов 12: ↑10 и ↓2+13
Комментарии10

Посмотрим на never с разных сторон?

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

Данную заметку можно рассматривать как приложение к официальной документации. С одной стороны я решил, что стоит развернуть примеры из документации, а с другой показать роль never в выражениях типов. Последнее в документации отражено между делом.

Предложенная структура и содержимое заметки могут быть интересны как начинающим, так и опытным специалистам.

Хотите знать больше?
Всего голосов 4: ↑4 и ↓0+6
Комментарии3

Создание конфигурируемого Webhook-модуля для NestJS-приложении

Время на прочтение93 мин
Количество просмотров1K

В рамках этой статьи я опишу создание двух NestJS-модулей с различным способом конфигурирования: утилитарный модуль и бизнес-модуль со своей базой данных.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Inertia 2.0: Новые возможности для разработчиков

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

На конференции Laracon Тэйлор Отвел, создатель популярного PHP-фреймворка Laravel, представил Inertia.js версии 2.0 — самое крупное обновление с момента запуска этого пакета. Новая версия приносит множество полезных функций, которые значительно упростят разработку приложений на Laravel и Inertia.js.

Читать далее
Всего голосов 9: ↑8 и ↓1+10
Комментарии0
1
23 ...