Игорь Антонов — про JavaScript и разработку
1.12K subscribers
110 photos
5 videos
1 file
140 links
TeamLead в Т-Банк | Директор программного комитета Podlodka React Crew | ПК Podlodka Java/TechLead Crew | ex-Автор и преподаватель курсов по JavaScript в @htmlacademy.

Есть вопрос? Пишите — @antonov_i
Download Telegram
🎥 Продолжаем изучать TypeScript и сегодня разберём Union Type. В JavaScript мы привыкли к гибкости, но TypeScript требует чёткого определения типов. Как же быть, если переменная должна принимать разные типы? Ответ прост — Union-типы!

🔍 Что такое Union-типы? Это инструмент, позволяющий переменной принимать значения из нескольких различных типов. Используя оператор вертикальная черта |, мы можем объединить несколько типов в один, обеспечивая гибкость и безопасность вашего кода.

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

🔗 Что вы узнаете:

* Как использовать Union-типы для переменных и параметров функций.
* Применение Union-типов с псевдонимами типов для расчёта площади фигур.
* Как TypeScript помогает избежать ошибок, проверяя допустимость типов.

🍿Урок на всех площадках

* YouTube — https://youtu.be/LKFgiSFeTDU
* VK Video — https://vkvideo.ru/video-226960422_456239046
* RuTube — https://rutube.ru/video/6b96f5a2f416aa29400d8e4fc29920d3/?r=wd
* Платформа — https://plvideo.ru/watch?v=NyVJW0TFYfHI
👍19🔥10👏2🤔1
🎥 В сегодняшнем видео мы продолжим изучать TypeScript. На этот раз мы погрузимся в увлекательный мир Mapped Types!

🔍 Что такое Mapped Types?

Это мощный инструмент TypeScript, который позволяет создавать новые типы на основе уже существующих. Это особенно полезно, когда нужно избежать дублирования кода и создать производные типы с изменёнными модификаторами, такими как опциональность или только для чтения.

💡 Практические примеры

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

🔗 Что вы узнаете

1. Как Mapped Types помогают связать типы, избегая несоответствий.
2. Использование Mapped Types для описания сложных объектов, таких как карты ролей и формы валидации.
3. Создание собственных хелперов типов для упрощения работы с TypeScript.

🍿Где смотрим

* YouTubehttps://youtu.be/y1bp3hdHLpE
* VK Videohttps://vkvideo.ru/video-226960422_456239047
* RuTubehttps://rutube.ru/video/498aee4a63f02501ee3e5e546b2cc50a/?r=wd
* Платформаhttps://plvideo.ru/watch?v=PLk0-fq9MzvZ
🔥19👍73👀2🤝1
До конца года планирую закончить свой курс по TypeScript. Самое время подумать о новых целях. Есть несколько идей, помоги выбрать…
Anonymous Poll
45%
Курс по JavaScript (база, продвинутые возможности)
46%
Курс по backend на Node.js (Express /Fastify, паттерны проектирования)
33%
Курс по Nest.js
4%
Интересно посмотреть ответы, предложу идеи в комментариях
🔥72
Intersection Type

Привет! На канале вышел очередной урок по TypeScript.

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

🔍Intersection Types — это возможность TypeScript объединять несколько типов в один. Если значение соответствует типу пересечения, оно удовлетворяет всем входящим в него типам. Это похоже на логическое "И", в отличие от Union Type, который ассоциируется с "ИЛИ".

Мы рассмотрим, как Intersection Types помогают создавать объекты, соответствующие нескольким контрактам одновременно. Например, как объединить типы, чтобы создать более специализированный тип для пользователей и администраторов в системе.

🍿Где смотрим

* YouTube — https://youtu.be/HQ_ILnJEdf4
* VK Video — https://vkvideo.ru/video-226960422_456239048
* RuTube — https://rutube.ru/video/17cd93f41c31ceb68f7da2db5f1e3e02/
* Платформа — https://plvideo.ru/watch?v=iuPl3HqYN_24
🔥19👍62💯1
Архитектурная ката: support сервис | Саша Поломодов, Сергей Баранов, Игорь Антонов, Паша Лакосников

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

Полезные ссылки
- https://t.iss.one/antonovjs
- https://t.iss.one/book_cube
- @TellMeAboutTech
- https://archdays.ru/
- Объединение ИТ-Архитекторов https://t.iss.one/ru_arc?roistat_visit=299360
- https://storming.ru/?roistat_visit=299360
- https://regexcrossword.com/
- https://www.rabbitmq.com/
- Хорошее видео про event storming https://youtu.be/r5M3lJ9IHMI?si=YYju5NQnIzYlBBRw
- https://agilemindset.ru/микросервисы/

Видео уже на YouTube
🔥14
Эта неделя начинается с командировки в Москву 🚄 Рабочие встречи и запись нового подкаста, жаль только, что внутреннего 🎙
🔥4062👍2🤝1
Привет 👋

Позавчера провёл лекцию-воркшоп в университете ИТМО 💜

В рамках лекции познакомил с фреймворком Nest и запрограммировал демонстрационный пример. На практике успели посмотреть: CLI, Interceptors, Pipes, Exception Filters, Passport, Repository и другие абстракции.

📚 Репозиторий с примером: https://github.com/AntonovIgor/lecture-intro-nest
🍿 Презентация: https://disk.yandex.ru/i/ZoW1OhuPUNh4Iw
🔥30👍8👏2
Ребята, привет! Наша команда приступила к подготовке второго сезона конференции «Podlodka React Crew». Она пройдёт с 10.02 по 14.02.

Поможешь выбрать тему сезона? Присоединяйся к опросу — https://docs.google.com/forms/d/e/1FAIpQLSdkD0nx4U0IEoQbVnS6_FmRVJfpbiWCYsTbLkexZShTKVscJw/viewform?usp=header.
🔥17👍63
Media is too big
VIEW IN TELEGRAM
Друзья, с наступающим Новым Годом 🥂 Крепкого здоровья и радости 🎄
🎉4111🎄10🕊1🦄1
Пора открывать новый сезон выступлений. На следующей неделе приму участие в митапе сообщества BYTE и расскажу о производственных метриках (для тимлидов).

Кто в Питере — присоединяйтесь. Будет здорово увидиться на площадке и поболтать 🎙
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍1
👾 Анонсируем первый митап сообщества BYTE

Дата: 18 января (суббота)
Время: начало 14:00
Место: Садовая ул., 54, г. Санкт-Петербург

Тебя ждут:
— Доклады от специалистов
— Нетворкинг и новые знакомства
— Автопати

Для вас выступят с докладами:

🔸 14:15 Александр Уланов — QA инженер «VK»
«QA и его роль в производственном цикле при разработке»

🔸 15:40 Игорь Антонов — Team Lead «Т-Банк»
«Метрики в разработке. Зачем и как измерять эффективность команды»

В ближайшие дни мы подробней расскажем о предстоящих докладах, площадке проведения и расписании митапа.

Но уже сейчас ты можешь зарегистрироваться на первый митап сообщества BYTE — мы тебя ждём! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1652🏆2👍1
Forwarded from Byte новости
Рассказываем о втором спикере предстоящего митапа Byte!

🔸 Игорь Антонов —Team Lead «Т-Банк», выступит с докладом:
«Метрики в разработке. Зачем и как измерять эффективность команды»

🔸 Обсудим, зачем необходимо измерять эффективность команды разработки. Поговорим, когда метрики полезны, а когда, наоборот, вредны. Обсудим «основные метрики» для любой команды разработки.

🔸 О спикере: Программирует уже 20 лет и пока не устал. Спикер, ментор. Член программных комитетов Podlodka TechLead Crew, Podlodka Java Crew. Ex-автор профессиональных курсов по JavaScript/TypeScript/Node/React в HTML Academy.

▶️ Игорь выступит 18 января на митапе Byte — регистрируйся, чтобы не пропустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍3🏆1
Новое видео уже на канале 🍿

🧩 Что такое кортеж?

Кортеж (tuple) — это упорядоченный набор фиксированной длины, где каждый элемент имеет заранее определённый тип. В TypeScript кортежи представлены массивами с фиксированной длиной и типами элементов, заданными на этапе их определения.

🔍 Особенности кортежей

1. В отличие от обычных массивов, кортежи позволяют хранить элементы разных типов.
2. Длина кортежа известна заранее и не может изменяться после создания*.
3. TypeScript следит за соответствием типов элементов кортежа.

Подробности и нюансы смотри ждут в уроке. Приятного просмотра 🍿

* YouTube — https://youtu.be/j2adhdtXRg8
* RuTube — https://rutube.ru/video/9cbe32b72e48aa628d1d8857e598e970/
* VK Video — https://vkvideo.ru/video-226960422_456239049
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥135
И вновь на канале новый урок 🍿

Перечисления — это мощный инструмент, который позволяет организовать набор констант под одним именем. Давайте разберёмся, как они работают и какие особенности стоит учитывать. Поехали! 🚀

🧩 Что такое перечисления?

Перечисление — это набор констант, объединённых под одним именем. Они помогают сделать код более ясным и управляемым. В TypeScript перечисления могут быть числовыми и строковыми, что позволяет гибко работать с различными данными.

Все подробности в уроке:

🎥YouTube: https://youtu.be/Hbo09r5PpxE
🎥 RuTube: https://rutube.ru/video/02ce231d906ae94b33049f2b70829469/
🎥 VK Video: https://vk.com/wall-226960422_36
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍129
Сегодня мы завершим знакомство с перечислениями в TypeScript. В первой части мы научились их объявлять, а теперь разберём нюансы применения и неочевидные моменты, которые могут встретиться как на практике, так и на собеседованиях. Поехали! 🚀

В этом уроке обсудим:

- Во что компилируются enum;
- Что происходит при объявлении перечисления через const
- Как работает слияние перечислений
- и многое другое.

Где смотрим

🎬 YouTube —
https://youtu.be/iiTRXbTfKxM

🎬 RuTube — https://rutube.ru/video/a5c6d6c9fb5cb3afcb0bcfee521a175b/

🎬 VK Video — https://vkvideo.ru/video-226960422_456239051
👍14🔥113🏆2
🔥Podlodka React Crew — онлайн-конференция для тех, кто хочет прокачаться в React-разработке и выйти за рамки одного фреймворка.

📅 Даты: 10–14 февраля 2025 года

🎯 Тема сезона: Roadmap React-разработчика

Уметь только в React недостаточно. Важно разбираться в метриках, знать, как работает окружение, и уметь оптимизировать приложения.

В новом сезоне Podlodka React Crew:

• Что и когда изучать, когда технологии меняются и устаревают? Обсудим с Валерием Катциным (Точка)🔀

• Как улучшить метрики производительности web-приложений с Павлом Уваровым (Kaspersky) 🛠️

• React Server Components: можно ли без Next.js? Разберем с Дэнизом Демирсой (Altel Digital) 🔍

• Чем React Compiler может помочь уже сейчас? Опыт и советы от Анны Ширяевой (СИБУР) 🤓

• Мокирование окружения с помощью Mock Service Worker. Сергей Зенин (Kaspersky) расскажет, как это упрощает разработку 🧩

🎯 Все сессии — максимально прикладные и с возможностью разобраться в деталях.

📅 Успей занять место: podlodka.io/reactcrew

А мой промокод
antonov даёт скидку в 500 руб 🥳
🔥112🏆2😱1👌1
Сегодня, 4 февраля, в 19:00 по МСК мы встречаемся на открытой сессии.
Директор Программного комитета React Crew Игорь Антонов и фронтенд-разработчик из Точки Валерий Катцин попробуют разобраться:

🎯 что и когда включать в роадмап
🎯 как не размыть фокус при изучении новых инструментов
🎯 какие знания точно пригодятся React-разработчику в 2025 году

🍿Подключайтесь сегодня к трансляции
👍13🔥51
Пока новые видео уроки на стадии монтажа, добавлю запись своего доклада с митапа Byte — «Метрики в разработке. Зачем и как измерять эффективность команды».

🍿Запись доклада
👍19🔥1032
Несколько читателей задали в личку вопрос: «А какое ты используешь оборудование для чтения лекций/стримов из дома?». Расписал всё в личку, но подумал, что кому-то эта информация тоже может пригодиться. Расскажу сразу всем.

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

Оборудование

Камера. У меня два варианта: Sony ZV-E10 и Elgato FaceCam. На первую обычно снимаю видеоуроки для YouTube. Вторую использую для стримов. Раньше записывал ролики тоже на FaceCam, но потом решил обновиться. Беззеркальная камера выдаёт качество лучше.

Плата видеозахвата. Веб-камера подключается напрямую к MacBook Pro M1. А вот для Sony ZV-E10 использую донгл Elgato Cam Link 4K. Камера к нему подключается по Mini HDMI.

Микрофон. Мне всегда нравился бренд Rode, поэтому при первой возможности купил Rode Procaster. Микрофон прожорливый, поэтому для усиления использую преамп от TNT DM2 от sE.

Аудиоинтерфейс. Пока это Steinberg UR22C. У карты есть DSP-процессор, можно настроить встроенные эффекты. Карта нравится, но в будущем хочу обновиться и перейти на Rodecaster Duo. Порой приходится делать аудиозаписи, и хочется это делать без компа.

Стримдек. Для переключения сцен в прямом эфире использую Elgato Stream Deck. У меня шестикнопочная версия, для моих задач более чем достаточно.

Свет. В качестве ключевого света у меня два светильника Elgato Key Light Air. Обожаю гаджеты от этого бренда. Ими удобно управлять с телефона/компьютера, и их достаточно, чтобы осветить себя. Когда делаю стримы на зелёном фоне, то для его подсветки подключаю два светильника от Raylab. Они хорошо освещают фон, и его становится легко вырезать.

Зелёный фон, он же хромакей. У меня мобильная версия Elgato Green Screen. Пользоваться максимально комфортно: достаточно снять крышку с кофра, потянуть, и фон развёрнут. Сложить также просто, места в сложенном состоянии занимает минимум. В развёрнутом он показан на фото.

Стойки. Для микрофона использую Thronmax. Думаю сменить на пантограф от Rode. Для камеры — Elgato Mount Vol. Веб-камера закреплена на мониторе. Для неё также купил стойку — аналог от Elgato, но использую редко. У светильников штатные стойки от Elgato.

Вот такой получился набор.
🔥35👍124👀3
Вчера посетил DUMP🔥 Это для меня первая конференция, где я был в качестве зрителя. Ощущения неповторимые 😎

Организаторам — огромное спасибо! Всё было здорово. Жаль, не все доклады удалось посмотреть, так как было несколько потоков. Наверстаю в записи 🍿

Было здорово увидеться со спикерами с которыми неоднократно пересекались на Podlodka Crew.

И несколько фоток на память 🫶
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26🏆3