Руслан Куянец | Reactify – Telegram
Руслан Куянец | Reactify
5.85K subscribers
703 photos
52 videos
39 files
286 links
Я IT-специалист, ментор и основатель проекта YeaHub и сообщества Reactify. Здесь рассказываю про Frontend и IT.

Менторство:
https://reactify.ru

YouTube канал:
https://youtube.com/@reactify-it

YeaHub:
https://yeahub.ru/

Связь:
@ruslan_kuyanets
Download Telegram
Прототип

Прототип (Prototype Pattern) - это паттерн проектирования, который используется для создания объектов, основываясь на шаблонном объекте. Этот паттерн особенно удобен в ситуациях, где создание экземпляров является затратным или сложным. Вместо создания объектов с нуля, вы создаете копии объекта, который служит прототипом, и вносите в эти копии необходимые изменения.

Вот когда стоит использовать Прототип:

1️⃣ Когда создание экземпляра класса требует больших затрат ресурсов: Если инициализация объекта занимает много времени или ресурсов (например, из-за загрузки данных из файла или базы данных), вы можете использовать существующий экземпляр в качестве прототипа для создания новых экземпляров.

2️⃣ Когда система должна быть независимой от способа создания, состава и представления объектов: Прототип позволяет избежать привязки к конкретным классам объектов, необходимых для создания. Это достигается за счет использования общего интерфейса для создания новых объектов из прототипа.

3️⃣ Когда необходимо создавать объекты в ситуации, где классы могут изменяться динамически: Вы можете изменять прототипы во время выполнения программы и создавать новые объекты, основываясь на измененных прототипах.

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

ВАЖНО: Пример демонстрирует паттерн, похожий на "Прототип" в контексте React, но это не классическое использование паттерна. В React предпочтительнее композиция компонентов и передача пропсов. Традиционный паттерн "Прототип" в JavaScript встречается в встроенных прототипах, таких как Array.prototype, позволяющих объектам наследовать общие свойства и методы.

#programming #patterns #prototype
👍6👌1
Нашел две рекомендации по прохождению собеседований

1️⃣ Говорите то, что от вас ждут. Немного преувеличивайте. Например, когда HR говорит о размере компании, важно поддержать их взгляды. Если упоминается большая компания, выразите свою любовь к стабильности и отсутствие интереса к стартапам. Наоборот, в случае стартапа, подчеркните неприятие бюрократии и предпочтение малых компаний с "душой".
Или если вас спрашивают о конкретной технологии, скажите, что использовали ее, даже если это не так. Это дает время подготовиться к техническому собеседованию, так как HR не сможет проверить эти знания на месте.

2️⃣ Когда знаете тему хорошо, давайте короткие и точные ответы без углубления. Если знаете средне, расскажите как можно больше из того, что знаете. Если тема вам неизвестна, используйте шутки и отвлеченные ответы, создавая впечатление знатока. Это заставит собеседующих думать, что вы владеете этой темой, и они не будут углубляться в нее, предпочтя обсудить те темы, которые вы затронули поверхностно, но которые вы знаете хорошо.

Как вам рекомендации? А какие вы знаете лайфхаки?😅

#job #work #interview
👍12🤪4🔥1🤣1
IT рынок сегодня

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

В одном из видео, я рассказывал про свой опыт проведение собеседований. На нашу вакансию Junior React разработчика, за 3 дня откликнулось 700 человек. При этом только 10-20 кандидатов подходили по минимальным требованиям: умели писать проекты с React, Redux, TypeScript. Остальные либо только закончили изучать JS, либо приступили к изучению React, либо не имеют портфолио.

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

В итоге, в IT-сфере складывается сложная ситуация, когда и HR-специалисты, и кандидаты вынуждены играть в "игру" с завышением требований и опыта. Это приводит к порочному кругу, который мешает эффективному и честному подбору персонала.

Порочный Круг Накрутки Опыта

- Новички без навыков откликаются на вакансии, что создаёт большой поток заявок.
- HR-специалисты не справляются с объемом заявок, и чтобы сократить их количество, повышают требования к опыту.
- Кандидаты, обладающие знаниями но без большого опыта, оказываются в невыгодном положении и вынуждены завышать свой опыт.
- Снова увеличивается поток заявок от неподготовленных кандидатов, ведущий к дальнейшему ужесточению требований.

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

#job #work #interview
💯13🔥3👏2👍1
Идея проекта для Reactify Teams

Я подумал, а что может быть отличным примером Open-source проекта? Проект, который приносит пользу, улучшает сообщество. Проект, в котором будет задействовано большое количество IT специалистов.

Open-source проект для подбора IT специалистов.

На платформе, кандидат прежде чем выставить свою кандидатуру, должен пройти несколько этапов проверок:

1. Тестовое задание, написание кода
2. Тест, проверка теоретических знаний.
3. Собеседование, общение с разработчиками об опыте и умениях
4. Техническое интервью. Проверка знаний по определенному стеку.
5. Лайвкодинг. Совместное выполнение заданий в онлайн режиме. С гуглением, имитацией реальной работы

Для того чтобы кандидата увидели, он должен подтвердить все свои навыки.

Цели

- Отличить новичков, готовых к работе, от тех, кто не готов.
- Облегчить поиск работы.
- Повысить эффективность и честность процесса подбора персонала.

У HR будет гибкий поиск с ИИ по базе кандидатов. Будут приложены результаты тестовых заданий, экзаменов и собеседований которые он прошел. Будут отзывы о каждом кандидате.

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

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

Зачем к нам идти HR? - Для облегчения работы. За них 80% сделает сообщество, предоставит хороших кандидатов.

Как вам идея?

#idea #teams
🔥33🤩2💯2
Доступность в веб-разработке

Доступность (accessibility) в веб-разработке – это практика создания веб-сайтов, которые могут быть использованы всеми людьми, включая тех, кто имеет инвалидность.

Рекомендации

- Правильное использование HTML-элементов (например, <header>, <nav>, <main>, <footer>) помогает скринридерам и другим ассистивным технологиям понимать структуру страницы.

- Альтернативные тексты для изображений: Все изображения должны иметь атрибут alt, который описывает содержание изображения. Это позволяет пользователям скринридеров получать информацию о визуальном контенте.

- Метки (<label>) должны быть связаны с соответствующими полями ввода, что облегчает понимание назначения полей.

- Текст должен иметь достаточный контраст с фоном, чтобы его можно было легко читать.

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

Интернет является неотъемлемой частью жизни большинства людей. Однако для людей с ограничениями по здоровью взаимодействие с многими сайтами и веб-приложениями может быть затруднительным. Адаптация сервисов для незрячих — это не сложно.

Проект Everland занимаемся трудоустройством людей с инвалидностью и развитием доступной среды. Вы можете ознакомится с их исследованиями и прочитать советы по обеспечению доступности веб ресурсов.

https://startinclusion.ru/issledovanie

#accessibility #web
👍10👏2👌1
Reactify Teams [Отбор]

Закрыл возможность подавать заявки на проект. Буду смотреть все заявки и звать на интервью. Всю следующую неделю буду созваниваться с кандидатами, а потом принимать решение.

Кто из подавших заявку готов на этих выходных созвониться, провести небольшой собес? Интервью будет небольшое, минут 15. Иначе 60 заявок я буду месяц разгребать) Это будет больше знакомство и немного проверка скиллов.

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

UPD: Стоп. На выходные всех набрал

#teams
🔥8👌2🤝1
Redux & RTK Query

В React Новости в следующей серии мы добавим эти технологии. Я уже написал сценарий, завтра буду снимать видео и монтировать.

Что мы сделаем?

- Заменим наш кастомный хук useFetch на RTK Query
- Спрячем состояние фильтров в Redux store
- Покажу вам мою любимую штуку

Это будет практика, не курс. Мы все подключим, настроим, я немного расскажу об этом. Постараюсь на практике донести вам пользу Redux.

#react_новости #redux #rtk_query
🔥9👍2🎉1
Первые интервью

Если у вас вдруг не получается, постарайтесь предупредить заранее. Я запишу другого.

Если на скрине ошибка - напишите мне.

Время МСК. Собес постараюсь сделать не большой. В идеале минут 15. Но может быть и меньше/больше.

Душить не собираюсь, просто поговорим, возможно что-то спрошу по теории.

Созвонимся в телеграмм. Наверное, лучше видеозвонок, но можно и аудио.

Возможно, буду не один, будет коллега еще на связи

#teams
👍10🫡2🤝1
Хорошие практики Frontend [1 часть]

1️⃣ Приоритет читаемости

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

2️⃣ Использование HTML и CSS

Всё, что можно эффективно реализовать с использованием HTML и CSS, должно быть выполнено без привлечения JavaScript. Избыточное использование скриптов может усложнить понимание кода и снизить производительность веб-приложения. К тому же, код на HTML и CSS обычно проще в дальнейших изменениях.

3️⃣ Минимизация времени жизни переменных

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

4️⃣ Избегание критических зависимостей

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

#frontend #best_practices
👍8💯32
Всем привет. Кто сможет завтра 20.01.2024 в 12:00 МСК пройти собес? Из тех кто подавал заявку и еще не назначено время.

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

Еще заснял видео React Новости, приступаю к монтажу✌️
👍2👌2🔥1
React Новости. Подключаем Redux Toolkit и RTK Query. React приложение новостей. [14]

В этом видео мы подключим и настроем Redux Toolkit и RTK Query. Займемся рефакторингом, удалим кастомные хуки useFetch и useFilters. Наглядно увидим пользу технологий

После долгого перерыва было тяжеловато снимать😅 немного воды налил

Кстати зацените звук. Это новый микрофон. Пока что не умею его настраивать, но вроде звук уже хороший👌🏻

Доброе утро! Новое видео на YouTube канале!
👏8🔥6👍42
Пришел домой с IT завтрака. Поболтали про здоровье.

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

Качайте мышцы, занимайтесь физической активностью. Купить себе различные тренажеры и аппликаторы. Занимайтесь своим здоровьем иначе потом будете страдать😢

Вчера провел собеседования, ребята молодцы. Всю следующую неделю буду проводить собеседования. И уже после этого подводить итоги.
🔥13👍3💯2🤝1
Мы ищем Дизайнеров!

Мы — сообщество Reactify, и мы находимся в поиске дизайнеров интерфейсов для участия в уникальном Open Source проекте.

Что мы предлагаем:

Уникальный Опыт: Вы будете работать в команде, вместе с IT специалистами разных специальностей. Это ваш шанс внести свой вклад в IT-сообщество.

Повышение Навыков: Вы сможете улучшить свои навыки в дизайне интерфейсов, экспериментировать с новыми идеями и получить ценный опыт.

Сообщество: Вы станете частью активного сообщества. Это отличная возможность для обмена знаниями и идей с другими профессионалами из вашей сферы.

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

Как Open Source проект, мы пока не предлагаем оплату. Но намерены делиться будущими доходами с участниками, в зависимости от их вклада и усилий, как только проект станет прибыльным.

Ищем тех, кто готов творить и развиваться в IT. Присоединяйтесь к нам!

@ruslan_kuyanets

--------------
Как вам рекламный пост? Начинаю искать дизайнеров для нашего проекта. Что бы вы добавили? Как можно улучшить текст для того чтобы привлечь хороших дизайнеров?
🔥5👍3
На предстоящую неделю составляю расписание!

Собеседования будут проходить с 19:00 до 21:30 МСК. В 15 мин уложиться не получается, поэтому в среднем собеседования идут 25 мин, но до 30 мин.

Все, кто подавал заявки и еще не прошел собеседование:

1. Написать под этим постом дата и время. (пример: 22.01 19:00)
2. Убедитесь, что эту дату и время еще не заняли
3. Так же хочу несколько собеседований снять на видео. Поэтому, если вы не против то рядом с датой, ставьте + (пример: 22.01 19:00 +)

Доступное время ежедневно: 19:00 | 19:30 | 20:00 | 20:30 | 21:00

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

Просьба писать заранее если у вас не получается, чтобы мы могли найти замену.

Завтра понедельник, хорошо вам провести воскресный вечер, отдохнуть и подготовится к рабочей неделе!😎

#teams
🫡5👌2
Руслан Куянец | Reactify pinned «На предстоящую неделю составляю расписание! Собеседования будут проходить с 19:00 до 21:30 МСК. В 15 мин уложиться не получается, поэтому в среднем собеседования идут 25 мин, но до 30 мин. Все, кто подавал заявки и еще не прошел собеседование: 1. Написать…»
Адаптер

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

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

Например, у нас есть приложение для новостей с множеством компонентов и разнообразными полями данных. В случае смены API может произойти изменение структуры данных: вместо "noscript" теперь будет "headline" и так далее. При таких обстоятельствах нам пришлось бы вносить изменения во все компоненты приложения. Адаптер же позволяет избежать этого, адаптируя данные к единому формату. Теперь, при смене API, необходимо вносить изменения только в адаптер, не затрагивая остальные части приложения.

#patterns #adapter
👍9🔥2
Уже провел 13 собеседований, как же круто знакомится со всеми, слушать истории об обучении, о курсах, о победах, или неудачах. Интересно узнавать о вашей мотивации.

Все кандидаты очень крутые и большие молодцы😎 Надо будет делать периодические созвоны с подписчиками, или групповой созвон в чате.

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

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

Кстати, уже есть одна идея, но пока что давайте запустим этот проект😁

Так же нам нужны хорошие дизайнеры со свежим взглядом, которые хорошо владеют фигмой, умеют делать дизайн системы, UI kit и качественные макеты. Умеют правильно применять UI/UX.

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

Рассчитываю на вас🏆

#teams
🔥17👍8🙏3
Создаем Open Source проект. Ищем дизайнеров, разработчиков и других IT специалистов.

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

Поддержите видео, ставьте лайки, смотрите до конца, оставляйте комментарии. Смотрите на разных устройствах😅

Про фронтендеров не говорил, так как подписчики в приоритете, итак много заявок❤️

https://www.youtube.com/watch?v=2Yc0fYx_dlw
👍135🔥3
Классы в React

В React преобладает все таки функциональное программирование, где мы пишем компоненты функции и управляем ими с помощью функций. Классовые компоненты уже не используются (кроме ErrorBoundary). Значит ли это что мы вообще не используем классы в React?

Хотя классовые компоненты в React стали менее популярными, классы как таковые не утратили своей актуальности. Они применяются в различных аспектах разработки:

Организация логики приложения
Классы могут быть использованы для создания сервисов или утилит, которые объединяют логику или API-запросы. Это позволяет централизовать и упорядочить взаимодействие с внешними сервисами и источниками данных.

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

Применение паттернов проектирования
Некоторые паттерны, такие как Strategy, Adapter или Factory, легче и естественнее реализовывать с использованием классов. Это способствует лучшей организации кода и его повторному использованию.

Преимущества:

Структурированность и читаемость
Повторное использование кода
Инкапсуляция и модульность

Недостатки:

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

#frontend #patterns #class
👍11🔥3🤣3💯1