Руслан Куянец | 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
Композиция и декомпозиция

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

Композиция — это объединение функций или компонентов для создания новой функциональности. В JavaScript, это позволяет формировать сложные логические конструкции из более простых функций, способствуя читабельности кода, упрощению тестирования и соблюдению принципа DRY (Don't Repeat Yourself). Композиция уменьшает повторения и повышает гибкость кода.

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

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

#composition #decomposition
👍155💯2
Менторство

Недавно я рассказывал вам о Frontend Fest по трудоустройству от Solvery. На этой платформе множество менторов самых разных специальностей. Я считаю, что менторство — лучший способ изучения чего-либо. Я также являюсь ментором, но никак не связан с Solvery. Эта платформа по сути мой конкурент, но я конкуренции не боюсь. Мое обучение авторское, и я максимально вовлечен в процесс обучения своих учеников.

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

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

У меня есть еще 3 места на месячное обучение. Подробности тут: https://telegra.ph/Obuchenie-s-mentorom-02-22

Reactify🏆
👍10🔥21🫡11
Императивный и декларативный подходы

В контексте JavaScript, императивный и декларативный подходы отличаются способом написания кода и логикой его исполнения.

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


let sum = 0;
for (let i = 0; i < array.length; i++) {
sum += array[i];
}


Декларативный подход, напротив, сосредотачивается на описании желаемого результата, минимизируя детали реализации. В JavaScript примером декларативного подхода может служить использование методов массивов, таких как map, filter, reduce, которые позволяют работать с данными на более высоком уровне абстракции:


const sum = array.reduce((acc, value) => acc + value, 0);


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

#JavaScript #imperative #declarative
👍77💯4🔥1
Автоматическая прокрутка страницы вверх

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

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

#JavaScript #scroll #navigation
👍10🔥421
Roadmap постепенно дополняется новыми материалами. При обнаружении ценного ресурса я стараюсь сразу сохранить его для последующего включения в учебный план.

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

Также предлагается просмотреть сопроводительное видео, желательно на скорости 1.5. В нем я делюсь своими размышлениями по каждому из ресурсов.

Ваше мнение важно: какие ресурсы стоит добавить? Чего, на ваш взгляд, не хватает в плане?

https://youtu.be/9Pbm_V0MM0Y?si=139xJsDahDadB5h_
🔥173👍2
Media is too big
VIEW IN TELEGRAM
+100 к программированию
👍19🔥11😁2🤔1
Переворот строки в JavaScript

Чтобы перевернуть строку в JavaScript, можно воспользоваться сочетанием методов split, reverse и join. Этот подход отлично подходит для:

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

#JavaScript #string #split #reverse #join
👍9🔥2😁11
Таким образом я стараюсь создать максимально благоприятную среду для обучения и развития. Это не просто обучение - это мини сообщество. В котором мы общаемся, практикуемся, созваниваемся и готовимся к собеседованиям.

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

Я стараюсь не просто научить ребят разрабатывать, но и полюбить это дело, замотивировать🤝
👍18🔥4🤝1
Розыгрыш тестовый
10🤔3🔥2👍1
Всем привет. Как обещал, провожу розыгрыш менторства для новичков.

Призы следующие:

- Две недели менторства бесплатно.
- Одна неделя менторства бесплатно.
- Собеседование на 40-60 минут.
- Специальное предложение: месяц обучения за 10,000 рублей вместо 15,000.

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

Итоги подведём 5 апреля в 18:00

Желаю удачи и надеюсь, что победят те, кому это действительно необходимо.
10💯7👍4
YeaHub Разработка

Из-за ошибок в управлении проектом разработка дизайна нашего приложения застопорилась на два месяца. Фронтенд команда ожидала дизайн и не могла продолжить работу. Для решения этой проблемы я изменил стратегию управления.

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

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

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

#yeahub
🔥24👍81
Проверка наличия элементов в массиве

Чтобы проверить, пустой ли массив или в нем есть элементы, используйте следующий фрагмент кода. Этот метод особенно полезен при:

- валидации данных перед обработкой,
- проверке входных данных в функциях,
- управлении потоками данных в приложениях.

#JavaScript #arrays
13👍3🔥3💯1
Избегайте явного добавления лишних пропсов, если они могут быть переданы через распространение пропсов.

Когда работаете с React компонентами, особенно с такими, что оборачивают HTML элементы (например, <input>, <button>, <textarea>), придерживайтесь простоты и чистоты кода. Если ваш компонент получает пропсы, которые прямо передаются в дочерний элемент без модификаций или особой логики, предпочтительнее использовать оператор распространения пропсов (...props). Это повышает гибкость компонента и упрощает его применение.

#react #best #props
👍133🔥2
Получение выделенного текста пользователя

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

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

#JavaScript #window #selection
👍114💯3
Смотрю на своих учеников, и у них такие же проблемы, какие были и у меня во время обучения. Блин, как будто дежавю. Я через все это проходил: на протяжении всего обучения я сомневался в своих силах, сталкивался с трудностями и непониманием. Вот прямо один в один. И за счет этого у меня еще больше желание помочь им, созвониться, объяснить, поддержать.

Этот пост адресован всем, кто сомневается. Если вы продолжите и проявите усердие, то у вас все получится. Нужно просто идти вперед несмотря ни на что, не сдаваться. Банально, но так оно и есть.
💯20🔥11👍6🤝42
Что будет если мы перейдем и накидаем звезд сюда?🤔
Предлагаю проверить

https://github.com/MirgradR/news-reactify
👍4🔥3😁1
Завтра будет результат розыгрыша😎
Кто какой приз хотел бы?
Буду чаще проводить розыгрыш собесов и недельных занятий.
👍11🔥3💯2
В скором времени начну больше снимать видео. Хочу про трудоустройство поговорить, про JavaScript. Буду выпускать по сложным темам - асинхронность, Promise, Event Loop, DOM и тд.
Надеюсь будет полезно💪

Какие продвинутые темы вам были бы интересны?
20👍8💯2
1. Nikita (@frontendNC) - Две недели менторства бесплатно.
2. concurrency mode (@webtensei) - Одна неделя менторства бесплатно.
3. Тимур (@kalievxx01) - Собеседование на 40-60 минут.
4. Ирина - Специальное предложение: месяц обучения за 10,000 рублей вместо 15,000.

Можете мне написать в личку. Менторство 2 недели и 1 неделя не могут идти вместе. Сначала один, потом второй. Для этого решим кому как удобнее

Буду стараться чаще проводить розыгрыши.
🔥15👍8💯2