Руслан Куянец | 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
Фасад

Фасад (Facade) — это структурный паттерн проектирования, который предоставляет упрощённый интерфейс к сложной системе, библиотеке или фреймворку. В контексте фронтенд-разработки, фасад может быть использован для обеспечения простого доступа к сложным библиотекам или API, скрывая за собой их внутреннюю сложность и предоставляя разработчикам более понятный и удобный способ взаимодействия.

Фасад (Facade):
Предоставляет простой интерфейс к сложной подсистеме. В фронтенде это может быть, например, класс или библиотека, предоставляющая упрощённые методы для выполнения распространённых задач, таких как работа с HTTP-запросами, обработка дат и времени или взаимодействие с API.

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

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

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

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

#patterns #facade
👍6🔥3😱3🎉1👌1
Стоимость менторства

Работа с квалифицированным ментором — это значимое вложение в ваше образование, и стоимость его услуг может быть существенной. Занятия с менторами, имеющими уровень Middle и опыт работы от одного до двух лет, обычно оцениваются в 1500-2000 рублей.

Цены на услуги Senior-менторов могут достигать 3500-5000 рублей за занятие.

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

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

Многие студенты инвестируют в прохождение буткемпов, стоимость которых может составлять от 250 до 300 тысяч рублей. Буткемп — это интенсивная учебная программа, цель которой — быстро погрузить учащихся в веб-разработку. Программы буткемпов рассчитаны на несколько недель или месяцев и фокусируются на практическом применении знаний для подготовки к реальной работе. Это означает, что вы в тесном взаимодействии с ментором учитесь и практикуетесь, разрабатываете крупные проекты, сотрудничаете с другими учащимися и работаете в команде.

На картинке около 20 прайсов на самых разных менторов.

Ваше мнение 👇👇👇
👍13😱7🔥5
Врач Java Разработчик

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

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

Вот так вот, хороший врач был. Интересно, кто теперь станет моим участковым врачом 🤔
😁12👍3🔥3
This в JavaScript

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

Определение и использование:
Ключевое слово this ссылается на объект, в контексте которого выполняется текущий код. Например, в методе объекта this ссылается на сам объект.

Глобальный контекст:
В глобальном контексте выполнения (вне функций) this ссылается на глобальный объект. В браузере это будет window, а в Node.js - global.

Функциональный контекст:
Значение this внутри функции зависит от того, как функция была вызвана. Если функция вызвана как метод объекта, this будет ссылаться на этот объект. Однако, если функция вызвана сама по себе, this будет указывать на глобальный объект (или undefined в строгом режиме).

Стрелочные функции:
Стрелочные функции отличаются тем, что не создают собственного контекста для this, вместо этого this заимствуется из внешнего лексического контекста. Это делает стрелочные функции идеальными для использования в колбэках, где требуется сохранить контекст this.

Явная привязка:
Методы call(), apply(), и bind() позволяют явно задать значение this для функции. Это может быть полезно для управления контекстом, особенно в ситуациях, когда контекст выполнения неявно изменяется.

1️⃣ Всегда внимательно относитесь к контексту, в котором используется this, поскольку неправильное понимание его значения может привести к ошибкам в коде.
2️⃣ Стрелочные функции не имеют собственного this, они заимствуют его из внешнего контекста.
3️⃣ Методы call(), apply(), и bind() могут быть использованы для контроля над значением this в функции.

#this #javanoscript
12🔥7👍41👌1
Почему менторство не должно быть бесплатным

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

Экспертиза и знания:
Менторы вкладывают значительные усилия и ресурсы в приобретение своих специализированных знаний. Оплата менторству признает эту экспертизу и служит формой вознаграждения.

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

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

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

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

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

Ваше мнение👇👇👇
💯6👍3👌2🥴2
Официально! У Selectel самая непонятная дока.😅

Я 6 месяцев назад уже настраивал интеграцию с Selectel. И несмотря на это, я сново не могу разобраться как это сделать. Они просят для авторизации запросов ключи. Суть в том, что этих ключей нигде нет, или названы они иначе чем поля в документации🤔

Мы его хотим использовать для Объектного хранилища. Будем хранить картинки, аватарки, резюме и видео. Ну ничего, не надо стесняться писать поддержке, пусть помогает✌️
👏4👍21🔥1🤣1
Рендер-пропсы (Render Props)

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

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

Гибкость: Компоненты становятся более адаптивными, поскольку их внешний вид и поведение могут быть легко изменены без необходимости изменять сам компонент.

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

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

Пример:

Компонент ProductCards показывает карточки продуктов, но не задаёт, как они должны выглядеть. Вместо этого, он получает функцию renderCard через пропсы. Эта функция применяется к каждому продукту в списке products, позволяя определить уникальное отображение для каждой карточки. Таким образом, ProductCards становится гибким и многоразовым, а внешний вид карточек легко настраивается снаружи.

#react #patterns
👍11🔥2👌1
МЕТОД ОБУЧЕНИЯ

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

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

Основные компоненты программы:

1️⃣ Проверка знаний и экзамены: Тестирование для оценки знаний и прогресса.

2️⃣ Собеседования: Практика прохождения и проведения интервью.

3️⃣ Командная работа: Разработка в команде с трекером задач.

4️⃣ Общение и созвоны: Ежедневная поддержка, включая индивидуальные консультации.

5️⃣ Индивидуальный план обучения: Подбор материалов и корректировка плана.

6️⃣ Карьерная поддержка: Помощь в поиске работы и составлении резюме.

7️⃣Специфика работы: Обсуждение особенностей работы в IT.

Дополнительно предусмотрены мероприятия:

- Мини-конференции для участия.
- Публичные собеседования в роли интервьюера.
- Менторские сессии для демонстрации и объяснения материала.

Я хочу в точности повторить свой опыт работы в первой моей компании. Я считаю, что такое обучение в разы эффективнее Буткемпов и в разы дешевле. Единовременно обучаться будут 10 человек. Платить можно 1/2 раза в месяц. В любой момент можете отказаться.
🔥12👍3🤔2🤩2
Я уже подготовил две серии "React Новости", которые получились довольно интересными. В одной из серий я провел небольшой рефакторинг, а в другой внедрил React Router и создал отдельную страницу для новостей. К сожалению, не успел их смонтировать.😢

Завтра я отправляюсь в Архыз, кататься на сноуборде. Я взял выходной на работе, чтобы насладиться горами в выходные.🏂

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

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

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

Надеюсь на ваше понимание и поддержку.🤝

С марта планирую ежемесячно проводить розыгрыш недельного менторства, который включает индивидуальное обучение в нашем чате и персональные созвоны. Уверен, это будет полезно.
👍94🔥2🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥25👍5🎉5
This media is not supported in your browser
VIEW IN TELEGRAM
Передаю привет🤚🏻

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

Хороший отдых, разгрузка. Усталость сшибает с ног, все болит. Очень полезно иметь хобби и интересы. Новые увлечения развивают ваши нейронные связи. Это определенно помогает вам усваивать новую информацию

«Чем меньше новых нейронных связей создаётся, тем сложнее человеку запоминать новую информацию.»
🔥14👍3💯2😁1🤝1
Всем привет 👋

Хорошо покатался на выходных, но к сожалению, где-то отравился. Ночь была не из приятных😢

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

Ещё 6 часов на машине ехать😢

Вообще, для себя понял, что я сильно привязан к ноутбуку. Отдых с плохим интернетом становится проблемой. Много дел всегда. Хотяб вечер необходимо уделять проектам, работе, каналам и ученикам.

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

Всем хороших выходных ✌️
👍7😢4👏1🤣1😨1
Исследование Работа.ру: большинство россиянок интересуют сотрудники сферы IT

«52 процента опрошенных женщин собираются найти женихов в сфере IT, 47 — в нефтегазовой отрасли. 37 процентов жительниц России считают, что самые интересные мужчины работают в банковской и финансовой области»

Если нужна жена, то вам точно в IT.😅
👍3😁3🤣3
Составные компоненты

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

Основные части:
Родительский компонент (контейнер): Управляет состоянием и координирует взаимодействие между дочерними компонентами.

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

Преимущества:
Модульность: Улучшает переиспользование кода за счет разделения интерфейса на мелкие компоненты.

Гибкость: Дает возможность настраивать поведение и внешний вид компонентов через пропсы.

Облегчение поддержки: Упрощает обновление и поддержку кода благодаря централизованному управлению состоянием.

#react #patterns
👍6🔥2🎉1👌1
Удаленная работа

Удаленная работа является несомненным преимуществом IT-сферы. Она предоставляет возможность путешествовать и работать из любой точки мира.

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

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

Работая из дома, я значительно экономлю время, которое раньше тратилось на дорогу до офиса и обратно. Это время теперь можно посвятить отдыху, семье или любым другим делам.
🔥16👍6👌1🥴1
Геттеры пропсов

Подход "геттеры пропсов" (Props Getters) в React — это шаблон проектирования, используемый для создания более гибких и переиспользуемых компонентов. Он позволяет библиотекам и компонентам предоставлять пользователю API для управления поведением компонента с помощью получения свойств (props), которые затем могут быть изменены или объединены перед передачей дочернему компоненту.

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

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

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

Управление состоянием: Упрощает управление состоянием вложенных компонентов, предоставляя централизованный способ для их настройки.

Недостатки
Сложность: Может увеличить сложность кода, особенно если используется в больших и сложных компонентах.

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

#react #patterns
👍6👌2🔥1
Умные и глупые компоненты

В разработке на React, "умные" компоненты управляют состоянием и логикой, в то время как "глупые" компоненты отвечают за отображение UI и принимают данные через props.

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

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

Использование этих подходов позволяет разделить ответственность в приложении: умные компоненты для управления данными и логикой, глупые — для UI. Это упрощает тестирование, поддержку и масштабирование приложений, позволяя вносить изменения в логику или внешний вид независимо друг от друга.

#react
👍7🔥2👌2