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

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

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

YeaHub:
https://yeahub.ru/

Связь:
@ruslan_kuyanets
Download Telegram
Ярмарка менторов: задай любой вопрос про IT

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

Расписание:

Пн (29.07) 18:00 - QA/AQA/SDET
Вт (30.07) 18:00 - iOS/Android/Flutter/React Native
Ср (31.07) 18:00 - Продуктовая аналитика, бизнес аналитика, анализ данных, продуктовый менеджмент, ML/DS
Чт (1.08) 18:00 - Бэкенд
Пт (2.08) 18:00 - пиво
Сб (3.08) 18:00 - Фронтенд
Вск (4.08) 18:00 - общие вопросы, оставшиеся неохваченными области

Закидывай вопросы в бота и приходи на стрим, будем просвещать
10👍1🔥1
Это мой первый опыт выступления в таком формате. Будет интересно, приходите, задавайте вопросы💪🏻
👍10🔥42
Практика: Пет проекты

Я думаю, что отличная практика – это когда вы делаете свой пет-проект, реализовываете свою задумку.

Например, вы интересуетесь футболом, почему бы вам не сделать проект афиши матчей и поиска игроков? Отрисовывать карточки игроков, сделать функционал создания команд со своими игроками. Я считаю, что это круто. Можно найти публичное API и сделать это. А если заморочиться, то подобрать еще и дизайн. На картинке я в поиск Figma вбил слово "football", и сразу же мне выдало кучу макетов. Вторая картинка – это первые ссылки по запросу "API football". Все достаточно просто.

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

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

Это будет идеальный пет-проект. Развивайте его 1-3 месяца, добавляйте новые функции, возможно, просмотр матчей, уведомления, погоду в городе, где будет проходить матч.

💡 А какой интересный пет-проект делали вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥32
Frontend Гладиаторы: Этап 1/8

Турнир полным ходом идет 🔥

Смонтирую весь процесс в YouTube. Интересный опыт. Если все оценят, то будем раз в 1-2 месяца проводить такие состязания 📌

#frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82👍2
Грань будущего - переводим количество в качество

Заметил, что многие разработчики - причем как начинающие, так и вполне сеньорные ребята, - слишком щепетильно относятся к подготовке к интервью. Причем я не имею в виду ситуацию, когда ты смотришь записи чужих собесов для подготовки, освежаешь в памяти какую-то теоретичекую инфу, которую в работе применял пару лет назад (если вообще применял). Я о том, что ребята тратят много сил и времени на мок интервью, на прочтение свежего издания Kotlin in Action или (если случай совсем запущенный) на подготовку к алгоритмической секции.

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

Но когда речь идет о начинающих, либо о ребятах, пока еще не забравших у рынка свои 400-500к - такой подход просто не нужен, вы банально теряете деньги, если следуете ему. Намного эффективнее провести 1 настоящее интервью и начисто провалиться на нем, чем провести 3 моковых собеса. Сделав запись и разобрав одно свое интервью, вы станете существенно более подготовленным к следующему, разобрав два - еще более подготовленным и тд. Я даже не говорю о том, что ваше моральное состояние на интервью напрямую влияет на людей, которые его проводят - неуверенные ответы чаще трактуются как незнание и накрученный опыт, чем банальное человеческое "ну чувак просто волнуется, так-то он крутой".

Немаловажный факт, о котором также иногда почему-то забывают - интервьюеры, которые проводят ваш собес сегодня, понятие не имеют о том, что вчера вы не знали, как правильно отменять корутину или забыли контракт equals/hashcode. Почему бы этим не пользоваться и не учиться на своих ошибках с каждой новой итерацией? 😁

🦝Менторство
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83👍2💯1
Если ты подписан здесь, напиши мне. Спасибо за комментарии😅

Дам тебе бесплатный доступ в сообщество🤝
👍14🔥4😁32
Практика: Работа в команде и процессы

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

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

Преимущества использования онлайн акселераторов:
✔️ Спринты и дедлайны — научитесь рассчитывать время и укладываться в сроки.
✔️ Работа с легаси-кодом — исправление ошибок, оптимизация кода и рефакторинг.
✔️ Многочисленные код-ревью — увидите множество вариантов решений и поймете, как улучшить свой код.
✔️ Практика совместной работы — реализация проектов вместе с другими участниками.

Основные проблемы, которые помогут решить такие сервисы: Недостаток опыта, Непонимание командных процессов, Отсутствие навыков написания кода. С помощью этих сервисов можно сразу устранить несколько проблем.

У вас был опыт использования таких сервисов для практики? Если да, то какие сервисы вы использовали?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3💯2😁1
Помни свое место и не мешай серьезным дядям делать дела

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

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

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

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

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

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

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

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

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

Работодатель может манипуляциями заставлять тебя подписать заявлениями на увольнение по собственному желанию. Тебе нельзя просить выплаты парашюта за внезапное увольнение.

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

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

Наверняка, что-то упустил, пиши свое в комментарии.

И подается с таким апломбом:
Ну да и че? А что ты хотел то? Да, нам можно и у нас есть умные слова для того, чтобы это объяснить. А когда умные слова начинает использовать работник, это все пиздеж, говно и провокация. Тебе нельзя, потому что... Да потому что завали ебальник и исполняй, что говорят, лучшей жизни он захотел. Не мешай серьезным дядям делать свои дела и заколачивать бабки.


И давай сразу: я ЗА капитализм, мне он нравится. Капитализм это всегда противостояние двух сторон, приследующих свои цели. Но сейчас почему-то нам пытаются навязатель искусственное чувство вины за желание лучшей жизни. Что это аморально, плохо, это даже хуже убийства бабушки. Хотя понятно, что лучше жить хотят все. И работодатель уже давно пользуется всеми способами, которые мы только открываем для себя.

Я не чувствую себя виноватым. И ты должен понять, что искать для себя лучшие условия и раз за разом побеждать в игре — вот настоящая норма.
👍184🔥3💯1
С августа планирую менять цены и тарифы на менторство. Если кто-то сомневался, ждал подходящего момента, то это он. Будет так же пару анонсов важных в августе.

YeaHub изменит IT сферу. Но а пока играем по правилам, которые диктует рынок ✔️

👍 Менторство
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🤝2🤔1😢1
💼 Скрининг с эйчаром и софтскиллы

Этот этап также важен: не пройдя его, вы не попадете на собеседование. Изучите, как создать хорошее продающее резюме и по гайду напишите всё необходимое. Нужно знать по резюме всё, иметь заранее готовую самопрезентацию. Она должна быть сухой, без воды, красивой, без ничего лишнего. Заученный текст, красиво описывающий ваш опыт и акцентирующий внимание на ваших заслугах и интересных задачах. Вы должны зацепить эйчара, показать свою уверенность и знания. Можно немного шутить, улыбаться, быть дружелюбным. Также говорите то, что хочет услышать эйчар. Необходимо продумать все вопросы - почему уходите с работы, что ищете в новой работе, почему хотели бы работать в их компании. Нужно показывать уверенность и легкость, непринужденное общение. Главное помните, что эйчар вам не друг, не нужно делиться с ним лишней информацией. Только по делу.

Готовимся так:

1. Изучение вопросов по софтскиллам: Найдите и изучите статьи, в которых описывается, что необходимо знать. Смотрите видео про самопрезентацию и т.д. Прорабатывайте все эти вопросы, придумывайте свои ответы и мотивацию.
2. Просмотр видео скринингов: Смотрите, как отвечают другие кандидаты. Необходимо понимать и быть готовыми. Будьте проще и увереннее, легко и непринужденно рассказывайте о себе.
3. Подготовка самопрезентации: Пропишите полное представление о себе, весь рассказ от и до на вопрос "расскажи о себе, своем опыте и проектах, на которых работал". Нужен конспект, по которому вы будете готовиться и репетировать. Так сказать, сценарий.
4. Репетиция перед зеркалом: Говорите весь наш текст вслух, имитируйте общение с эйчаром. Нужно разминать рот, тренировать речь. От того, что вы мысленно проговорите текст, лучше рассказывать вы не станете. Нужно тренировать мышцы рта и учиться отвечать. Идеально, если вы будете записывать на видео самопрезентацию и анализировать её или показывать своим коллегам. Меняйте интонацию, добавляйте улыбку, легкость и уверенность. Все это проработайте на видео.
5. Консультации и моковые скрининги: Софт интервью тоже будут полезными. Найдите кого-то, кто проведет их вам, укажет на ошибки и пробелы, а также поможет усилить самопрезентацию. Возможно, составит вам план рассказа о себе и выделит или приукрасит ваш рассказ.

#frontend #interview
6👍3🔥2😢1
Составные компоненты в React

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

💡 Основные понятия:
✔️ Основной компонент: Этот компонент управляет состоянием и логикой.
✔️ Вложенные компоненты: Эти компоненты используют логику основного компонента и позволяют настраивать его отображение и поведение.
✔️ Контекст: Используется для передачи состояния и методов от основного компонента к вложенным.

💡 Объяснение:
Counter: Основной компонент, который управляет состоянием count и предоставляет методы для его изменения через контекст.
CounterContext: Контекст для передачи состояния и методов вложенным компонентам.
Count: Компонент, отображающий текущее значение счётчика.
Increment: Кнопка для увеличения значения счётчика.
Decrement: Кнопка для уменьшения значения счётчика.
Label: Компонент для отображения метки.

В компоненте Usage мы используем все составные части компонента Counter, чтобы создать интерфейс с кнопками для увеличения и уменьшения значения счётчика, меткой и отображением текущего значения.

#frontend #react
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2💯2
Всем привет!

Создал новый канал для общего IT, в котором я буду делиться информацией о YeaHub, новостями IT-рынка и полезными советами по трудоустройству.

Этот же канал будет чисто Frontend. Будет теория, практика, вопросы собеседований, анонсы видео, анонсы сообщества и тд. Тут будет более технический контент для прокачки Хард Скиллов.

На днях выложу новое видео: Паттерн Наблюдатель в JavaScript. Продвинутый Frontend на реальных примерах.

Ждите анонса ✔️

#frontend #javanoscript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5💯2
Инкапсуляция в React

Инкапсуляция — это принцип объектно-ориентированного программирования, который используется для ограничения доступа к определённым компонентам кода. В функциональном программировании, на которое ориентирован React, инкапсуляция достигается через функции и модули.

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

В примере компонент Counter инкапсулирует состояние count и функцию increment. Внешний код не имеет доступа к состоянию напрямую, а взаимодействует с ним через публичный интерфейс, представленный функцией increment и JSX-разметкой.

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

#frontend #react #ооп
👍154🔥2💯1
😁18🔥4👍3
Frontend Гладиаторы: Этап 1/4

Турнир полным ходом идет 🔥

Смонтирую весь процесс в YouTube. Интересный опыт. Если все оценят, то будем раз в 1-2 месяца проводить такие состязания 📌

#frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8💯3🔥2
Паттерн Наблюдатель в JavaScript. Продвинутый Frontend на реальных примерах

В этом видео мы рассмотрим Паттерн Наблюдатель (Observer) в контексте JavaScript и Frontend разработки.

Для проекта Рецептов используем Webpack, JavaScript.

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

Видео уже на канале! Четвертая серия видеокурса
Я не оставляю ссылку, так как видео лучше продвигается, если заходить на него напрямую с YouTube. Это помогает улучшить его рейтинг и увеличить шансы на органическое продвижение.

#frontend #patterns #observer #redux
👍7🔥64
Инверсия зависимостей в React

Инверсия зависимостей — это принцип проектирования, согласно которому модули высокого уровня не должны зависеть от модулей низкого уровня. Оба типа модулей должны зависеть от абстракций.

В React этот принцип реализуется путем передачи зависимостей компоненту через пропсы или контекст, вместо их непосредственного создания внутри компонента.

Здесь компонент UserList зависит от абстракции userService, а не от конкретной реализации. Это позволяет легко заменять реализацию сервиса, например, для тестирования или при изменении источника данных.

При использовании компонента мы передаем конкретную реализацию сервиса

Таким образом, инверсия зависимостей делает компоненты более гибкими, тестируемыми и менее связанными с конкретными реализациями зависимостей.

#frontend #react #solid
👍13🔥43