Telegram Web
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Твой JavaScript должен быть проще: 10 приемов современного разработчика

Советы по написанию короткого, лаконичного и чистого кода на JavaScript

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

Разработчик React / Fullstack
🟢JavaScript, TypeScript, HTML, MySQL, Node.js, React
🟢от 120 000 до 250 000 ₽ | 1–3 года

Junior Backend-программист NodeJS
🟢Node.js, JavaScript, REST API, MySQL, GitHub, JSON API, API, RabbitMQ, Redis
🟢от 72 000 ₽ | 1–3 года

Junior Developer (Node.js)
🟢Git, Node.js, NestJS, PostgreSQL, REST API, YouTrack
🟢Уровень дохода не указан | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
TypeScript - оператор satisfies

Алоха товарищи фронты! Я знаю что это не самая новая фича в TS, но я думаю что далеко не все знают о об этом операторе и уверен что многим будет это полезно.

И так что делает оператор:

Позволяет нам проверить соответствие выражения некоторому типу, не меняя сам тип. Это помогает при работе с объектами со смешанными типами данных.

Рассмотрим на примере:

type FormFields = "name" | "surname" | "age";
const data: Record<FormFields, number | string> = {
name: "name",
surname: "surname",
age: 21,
}

const newAge = data.age * 2;
const nameUpperCase = data.name.toUpperCase();

❗️ Объект data имеет как числовые, так и строковые значения, поэтому при работе с этим объектом мы получаем следующие ошибки:

The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
Property 'toUpperCase' does not exist on type 'string | number'.
Property 'toUpperCase' does not exist on type 'number'.

Вот тут-то нам и поможет оператор satisfies.

type FormFields = "name" | "surname" | "age";

const data = {
name: "name",
surname: "surname",
age: 21,
} satisfies Record<FormFields, string | number>

const newAge = data.age * 2;
const nameUpperCase = data.name.toUpperCase();

Также оператор satisfies можно использовать для отлова некоторых ошибок. Например, для проверки объектов на наличие ключей, соответствующих заданному типу:

type FormFields = "name" | "surname" | "age";
const data = {
name: "name",
surname: "surname",
age: 21,
passport: {}
} satisfies Record<FormFields, string | number>

Надеюсь что было полезно. В общем удачи в экспериментах!
⭕️ Я хочу сыграть с тобой в одну игру: пилим «Крестики-нолики» на JavaScript

Хватит теории – пора практиковаться! Мы разберем создание полноценной браузерной игры, затрагивая ключевые концепции frontend-разработки. Идеально для новичков, жаждущих применить свои знания в реальном проекте.

Читать...
👩‍💻 Циклические импорты на фронтенде

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Выстрелил и забыл: 3 основные стратегии отправки сообщений в Kafka

Какой подход обеспечит вашему проекту идеальный баланс производительности и гарантии доставки: рискованная стратегия «Выстрелил и забыл» или продвинутая асинхронная отправка?

Читать...
👩‍💻 Как обнаружить изменение атрибутов веб-компонента

Сегодня мы рассмотрим, как обнаружить и реагировать на изменение атрибутов веб-компонента.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👀 Аптайм вахтер: мониторинг веб-сервисов с помощью Globalping и уведомлениями в Telegram

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Новые альтернативы innerHTML

Статья объясняет появление метода setHTMLUnsafe для работы с HTML в браузерах. Разбираются особенности безопасности, отличия от setHTML и innerHTML, а также поддержка в разных браузерах и значение нового подхода к именованию методов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Асинхронность – не баг, а фича: 4 паттерна, которые спасут ваш распределенный сервис

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Эпопея шахматных движков: мой опыт в разработке шахматной программы

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

Читать...
🔎 Подборка зарубежных вакансий

Fullstack Developer (JS/Node.js)
🟢Node.js, SvelteKit, Vite, TypeScript, PostCSS, MongoDB
🟢от 4 000 € | более 6 лет

Fullstack Developer (Node.js, React)
🟢Node.js, React, TypeScript, Vite, Zustand, Storybook, Vitest
🟢Уровень дохода не указан | 3–6 лет

Senior Node.js developer
🟢Node.js, SQL, MongoDB, React, Angular
🟢до 5 000 $ | более 6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 CI/CD для начинающих: деплой React-приложения без боли

В статье показан процесс развертывания React-приложения на сервере: от упаковки кода в CI/CD до отправки его в прод. Всё на примере простого to-do приложения.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Методы жизненного цикла веб-компонента

Вчера мы изучили различные способы инстанцирования веб-компонента. В статье был упомянут метод жизненного цикла connectedCallback(). Сегодня поговорим об остальных методах жизненного цикла веб-компонентов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Создание веб-компонента с нуля

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Управление Node.js 19 и NPM 9 с помощью NVM

Статья знакомит с использованием NVM для управления версиями Node.js и npm, показывая примеры с Node.js 19 и npm 9. Объясняются преимущества NVM для безопасного обновления и тестирования новых возможностей.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🎞 Я создал Telegram-бота (FYTT), который ищет Telegram-каналы всех ваших подписок на YouTube

Статья рассказывает о создании Telegram-бота для поиска каналов любимых авторов, переместившихся с YouTube. Описан стек технологий: Node.js с telegraf.js, MongoDB с mongoose, Express.js, Google API и Lemnos API для работы с данными.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/01 01:48:24
Back to Top
HTML Embed Code: