en
Feedback
Евгений Паромов

Евгений Паромов

Open in Telegram

Автор сообщества https://paromovevg.ru/evolution-community Пишу о грандиозных планах изменения системы IT образования. Об успехах, неудачах, борьбе с собой. И постепенном движении к своей, возможно слишком смелой, цели 🎯 Я: @paromovevg

Show more
3 939
Subscribers
No data24 hours
-87 days
-230 days
Posts Archive
О самом курсе Всю необходимую информацию можно узнать на лендосе. Тут опишу, как это вижу я и почему решил делать именно так. В курсе будет очень много практики и моего опыта. Всего он будет длиться 5 недель. По 2 урока в неделю. И всю теорию по FSD мы изучим уже за первые 4 урока. (даже так это будет глубже, чем где бы то ни было) Также в курсе будет домашка. Тоже супер практическая. Будем тренироваться использовать Dependency Injection, декомпозировать по FSD, мигрировать приложение на FSD, использовать FSD с разными технологиями. Единственный момент, я не стал делать проверку домашних заданий, так как ещё не уверен, что смогу это организовать достаточно профессионально. Но в курсе будет супер ограниченный тариф (5 мест): "С Евгением" в котором я вас лично через весь курс проведу, домашки проверю, поболтаем на QA сессиях, и за архитектурными рассуждениями в отдельном чате Сделал этот тариф настолько дорогим, чтобы потратить на вас с удовольствием кучу своего времени без задних мыслей. В общем, такой интересный курс получился. Программа выходит огонь. Такой глубокой информации я вообще не знаю, где ещё можно получить. Так что если вам интересно, записывайтесь https://paromovevg.ru/courses/fsd ✅ Первый урок выйдет во вторник, после этого момента цена может увеличиться)

Но зачем я делаю платный курс, если это такая простая штука? Да, сами правила FSD просты: — раздели код на слои и слайсы — не импортируй из нижних слоёв верхние — не импортируй из слайсов другие слайсы — делай публичное api и будет тебе счастье Но вот то, как этим правилам следовать – не настолько понятно. Как использовать это со своим инструментом – не очень понятно. Как правильно разделить на слои и слайсы — тоже не понятно. Как любым инструментом, FSD нужно уметь пользоваться. И я хочу передать вам свой опыт его использования. Уже в течении 2х лет на всех проектах (2 крупных, 2 средних, 2 маленьких) я использую FSD с инструментами: React, Vue, React-query, Redux, Mobx, Next Более того, за это время я выявил в FSD определённые недостатки, и научился их нивелировать. В общем: ✔️ Если вам интересна тема FSD ✔️ Если вы уже работаете на проекте с FSD ✔️ Или просто хотите начать разбираться в Архитектуре ➡️ Приходите на мой курс https://paromovevg.ru/courses/fsd

Сегодня я открываю продажи на свой первый платный курс "FSD — полный курс" Да, я решил первый курс сделать по одной из самых непопулярных тем из возможных. Почему? На самом деле, я очень люблю FSD. Ну или правильнее – я люблю ту концепцию, которую FSD реализует. Мы так часто концентрируемся на инструментах, которые используем. Но архитектура наших приложений – намного более влияющая штука. Она влияет на сроки, на комфорт разработки, расширяемость, сложность. Вот реально, на React, Redux, react-query, zustand можно написать клубок неподдерживаемого месива. С плохой архитектурой любой инструмент ужасен. И, наоборот, с хорошей архитектурой на любом инструменте можно написать хорошо. Но где эта хорошая архитектура??? Как её делать? Читать эти большие и сложные книги? Clean Architecture, Синяя, Зелёная, Красная книга по DDD? Даже если всё это прочитать, вообще не понятно как с фронтом справляться. В общем, это сложно и не каждому доступно. И тут появляются ребята – авторы FSD и говорят: «А давайте застандартизируем архитектуру. Мы не будем пытаться сделать идеально. А попробуем придумать максимально простые, но работающие правила.» FSD – это классический пример эвристики. неплохая статейка Как эвристическое правило: "Не спи под сухим деревом" спасает от большого шанса не проснуться утром; Так и правило: "Не импортируй в shared бизнес код" спасает от большой вероятности нервного расстройства, когда заказчик захотел всё поменять. И было бы это обычным мнением отдельно взятой команды, но они оформили это в документацию. Делают примеры и собрали большое сообщество людей, которые используют те же правила, и могут поделиться своим опытом В общем, я считаю феномен FSD большим шагом вперёд. Очень хочу продвигать и развивать эту тему. Буду делать видео по этому поводу и участвовать в развитии.

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

photo content

Всем привет! Я тут готовлю материалы для курса и освежил в памяти некоторые принципы архитектуры из книжки «Чистая архитектура». Напомнил себе супер классный, но совершенно неизвестный принцип хорошей архитектуры. Он запрятан в середине книги, и, видимо, мало кто до туда дочитывает. Называется он: Принцип устойчивых зависимостей Хочу рассказать вам, так как нарушение этого принципа очень часто встречается именно в наших фронтовых приложениях В каждом приложении есть компоненты, из которых оно состоит. В React приложении это могут быть React компоненты, хуки, сервисы. И все эти компоненты как-то связаны друг с другом. Связи в самом простом случае выражаются в импортах. Так вот, в чём сам принцип: Зависимости должны быть направлены в сторону устойчивости. Что это значит для нас, как разработчиков? В любом приложении есть часто меняющиеся модули и редко меняющиеся модули. Например, хук useDebounce или UiSelectField – это стабильные компоненты. А вот все компоненты страниц, особенно дажборды - это ооооооочень часто меняющиеся компоненты. Просто потому что на любой чих бизнеса нам нужно вносить туда изменения. И, как раз, правило говорит: Пожалуйста, не надо, чтобы ваш UiSelectField зависел на всякие запросы к серверу, на роутинг и так далее. (вообще, с селектами очень часто разные костыли подобные видел) Был случай, когда прямо в UiSelectField использовался Redux, из которого доставались нужные опции. При чём без этих опций компонент не работал, и его просто было не возможно использовать в другом месте (это было не абы где, а в uikit всеросийского телекоммуникационного монополиста) А однажды, просто внутри селекта сидела обработка "особенного значения", при клике на которое открывалась новая страница, вместо вызова onChange 🙂 Бывали и менее критичные нарушения этих правил. Когда какие-то типы из компонентов страниц использовались в бизнес логике. Ну и самое классическое нарушение этого принципа — использования api сервера по всему приложению. Api сервера – это просто дико меняющаяся вещь. Каждая новая фича может потребовать кардинальных изменений. Пожалуйста, когда используйте api: 1. Старайтесь его использовать в гибких компонентах. И отправляйте данные вниз пропсами или в стм. (или просто обмажьтесь фасадами) 2. Не используйте типы api напрямую в стабильных компонентах, лучше скопируйте по месту использования (в дочерних компонентах и СТМ) Когда из-за новой фичи половина api сервера вашего приложения поменяется, большое спасибо мне скажете

Блин. Предыдущий пост получился гипер инфоцыганским 🥲 Но я реально написал его от чистого сердца, ибо очень кайфую от того, что уже есть и получается. Без груза в виде платформы, и с достаточным количеством времени (привет, челлендж) курс должен получиться просто ухуенным 🐡

Решил вернуться к самому стандартному и эффективному формату За время платформы были и позитивные вещи. А именно информация, которую я подготовил для неё, и темы, которые хотел там рассказать. Господи, сколько раз во время написания очередного урока я вскрикивал: "Какая классная информация! Рассказал бы мне это кто-нибудь года 3 назад, сколько бы ошибок я не совершил. Как я хочу, чтобы все это знали, насколько приятнее было бы работать" В моей голове за 5 + лет опыта накопилось столько полезностей, что грех не передавать. Темы Архитектуры, Понимание принципов и преимуществ FSD, Лучшие практики Работы с React-query, TS, React, Redux. Паттерны проектирования. Более того, у меня есть навык объяснять и рассказывать. Я учил людей ещё со старших классов: был репетитором физики и математики. Когда стал программистом, тоже продолжал учить. Целый год я профессионально занимался менторингом, и с нуля доводил людей до трудоустройства. В общей сложности, я довёл около 20 человек до зарплаты 100к+ В общем, напрашивается самое логичное решение из всех. К которому я не прикасался только из-за своего максимализма. Я буду делать и продавать курсы. Но! Они будут категорически отличаться от того, что делают другие. В чём отличие: это будут курсы не для начинающих и вкатунов. А для разработчиков с хотя бы минимальным опытом. В них будем отвечать на вопросы: А как лучше? А как правильно? А как расширяемо? А как тестируемо? Классический пример – `useEffect` Нас учили: useEffect нужен для выполнения сайд эффектов. Но кто-нибудь говорил, что использование useEffect для создания производных состояний – смертный грех? Что это приводит к совершенно ужасному коду? const [items, setItems] = useState([]); const [filteredItems, setFilteredItems] = useState([]); useEffect(() => { // Смертный грех setFilteredItems(filterItems(items,filters)); }, [filters,items]) Кому-нибудь может и повезло это услышать, но это ведь самая база... Сколько таких моментов есть при углублении, которые приходится каждому узнавать на собственных ошибках и косяках. В общем, ждите в ближайшее время новостей. В этот раз не буду тянуть кота за яйца. За время разработки платформы у меня накопилось столько информации, что хоть завтра запускай курсы.

Евгений, а как все таки будешь двигаться дальше? Стоит что-то еще ждать в ближайшее время?

Платформа просуществовала 2 дня Я недавно выпустил большое видео, на которое потратил кучу сил и энергии. Вместе с видео я очень аккуратненько сделал релиз платформы. И уже через 2 дня его отменил. Что произошло? Последние 3 месяца я очень много времени посвящал этой платформе. Делал её, делал для неё контент, делал видео, которое должно было помочь продвинуть платформу. Всё ради того, чтобы её запустить. Это был очень сложный период. Оказалось, запускать такие продукты архи сложно. Но ещё сложнее сделать продукт, который будет приносить пользу. Для релиза я подготовил ряд уроков: по Архитектуре, FSD и React Query. Так как платформа подразумевает постепенное изучение, собирался выпускать по 1 уроку на каждый поток каждый день. И вроде всё хорошо, платформу начали покупать. Я лёг довольный спать. А на утро решил перепройти все уроки. И в этот момент я понял, что все мои усилия зря. Насколько бы не была крутой идея платформы, текущее её исполнение просто мешало мне передавать свою экспертность самым эффективным способом. Обычный текст с картинками. Вместо видео с практическими заданиями, проверкой домашек, и QA сессиями. Я пытаюсь своей экспертностью продвинуть не готовый продукт, который на данном этапе имеет отрицательную пользу. И в этот момент мне стало противно. Я так сильно сконцентрировался на идее запустить платформу, что совершенно забыл, зачем всё это. Поступился принципами, и сконцентрировался на максималистской идее вместо пользы. Тогда и принял решение отменить релиз. Начать делать для людей, а не ради денег. В общем, в очередной раз стал жертвой своего максимализма. И, надеюсь, в последний раз... P.S. Я до сих пор верю в непрерывное обучение. Просто мне нужно сильно больше ресурсов для запуска платформы, чем есть сейчас. Она должна сразу быть чем-то бОльшим, чем местом для запуска моих курсов.

Не прошло и месяца 🎉 Закончил видео, вышло 7 часов) А сколько часов потратил, это отдельная тема. Но, если подобный формат видео даст необходимый буст каналу, попробую выпускать ещё. Кроме кучи часов интенсивной практики, в видео есть ещё много теоретических справок о технологиях, которые используются. И мой комментарий по их поводу. ✔️ Большая часть видео – это front-end, 3.5 часа ✔️ Бек 2 часа ✔️ Браузерное расширение 1.5 часа В общем, я оч старался! Посмотрим, зайдёт вам или нет. Лучший способ поддержать видос – посмотреть его как можно дольше 😅👇🏼 https://youtu.be/vrjPzp-bZJo?si=Ac07Teqmv_aEPWNv

Всем привет! Уже вторая неделя пошла, как я делаю "большой видос". Если честно, я несколько переборщил с объёмами. Мы будем разрабатывать браузерное расширение, сервер и админку для него. И, в общей сложности, исходников только с кодом получилось на 7 часов... Этап записи уже закончен. Сейчас монтирую и доделываю небольшие (относительно всего видео) теоретические вставки. В видео будут использованы: Nest.js, prisma, postgresql, Next.js, FSD, React-query, tailwind, и vite для сборки расширения. Выходит классное, насыщенное видео, которое будет полезно начинающим и продолжающим (из-за FSD) Я очень доволен тем, что получается... Но уже сейчас я на него потратил около 40 часов 🥲 В общем, посмотрим насколько это оправданный формат. В любом случае хотелось его протестировать 🤞🏼

Всем привет! Стрима завтра не будет Я сейчас делаю ооочень классный видос. Часов так на 3-5, с разработкой приложения с 0 до результата. На Next.js Nest.js FSD и React query. Всё то, что мы делаем с вами на стримах, только в сильно более сжатом, проработанном, интенсивном формате. Все материалы по нему уже готовы, и сейчас я на этапе записи. Делал видос всю вторую половину недели по куче часов в день (4 - 6). Хотел выпустить в понедельник, но как уж получится. Я никогда такого не делал, и сложно что-то прогнозировать 😅 Теплились надежды, что успею сделать до воскресенья и стрим состоится, но я сильно себя переоценил. Надеюсь, вы не обидитесь. В общем, завтра как раз идеальное время, чтобы закончить видео (ну или, как минимум, сильно продвинуться) Следущий стрим всё же планирую провести, но хрен знает, что будет через неделю) Так что ждите анонса. Видимо пока с планами и сроками у меня сложно всё...

Сегодня посмотрел одно видео И удалил игры с компьютера... До февраля этого года я совсем не играл 5 лет. В детстве и юности
Сегодня посмотрел одно видео И удалил игры с компьютера... До февраля этого года я совсем не играл 5 лет. В детстве и юности была очень сильная зависимость. Смог справиться, только полностью их удалив. Но все эти годы игры меня не отпускали. Я буквально мечтал о том, что когда-нибудь наиграюсь. И вот этой зимой я пошёл к психологу. Там пришёл к выводу, что в самих играх нет ничего плохого. Что пока я в жёсткой завязке, я не смогу быть счастлив и спокоен. Решил вернуть игры. С тех пор мои отношения с ними были разными: я играл то меньше, то больше. И в последнее время играл максимум за всё время – около 6 часов в неделю. Для кого-то может показаться мало, но это оказало значительное на меня влияние. Недавно начал ловить апатию и нежелание что либо делать. Тогда внедрил практику, что я играю только после всех дел. Поначалу это хорошо работало, но со временем перестало. Как будто я всё начал делать через силу и из под палки. И сегодня посмотрев это видео, всё встало на свои места: Видимо, я променял удовольствие от достижений на игры. Поняв это, я удалил все игры с компьютера. И следующим видео выпущу разработку с нуля браузерного расширения для блокировки сайтов... Удалял сегодня league of legends со словами: "Я люблю тебя, но у нас с тобой разные пути. Наиграюсь в старости, но сейчас мне нужно идти дальше. Дело не в тебе, дело во мне" 🥲

https://www.youtube.com/watch?v=JsZoVlhA1Go Попытка номер 2)

Стрим будет! Завтра в 12:00 будем продолжать разрабатывать приложение на Next.js, Typesript, react query, и FSD Я учту проблемы прошлого стрима с озвучкой и производительностью. Ну и подготовлю материал, чтобы получилось более интенсивно и интересно. Кто придет, увидимся завтра в 12:00 🙂

Всем привет! Немного выпал из жизни, так как эту неделю меня дико крыло тревожностью 😣 Столкновение с реальностью на тестовом запуске платформы оказалось очень тяжёлым. Это связано даже не с тем, что платформа какая-то плохая. Она такая, какая и должна быть, если ее сделали меньше, чем за 2 месяца. Дело в том, что эта ситуация ломает мой многолетний паттерн: мечтать, думать, планировать, даже начинать делать, но не доводить до конца. И вот я, потратив всего лишь полтора месяца на платформу и пару недель на контент, запускаю людей. Такую тревожность, которая у меня была эти дни, я не испытывал очень давно. Фигачит перфекционизм. Очень хочется, чтобы всё получилось с первого раза. Хотя я прекрасно понимаю, что так не бывает, но маленькая внутренняя надежда теплилась. Я настолько переживал, что даже заболел. За это время меня два-три раза кидало в апатию и хотелось всё бросить. 3 дня не мог встать с кровати до 12 часов 🙈 В общем, это оказалось тяжело. И не потому что делаю что-то сложное. Просто каждый день преодолеваю какие-то огромные внутренние препятствия. Страхи, перфекционизм, желание убежать от трудностей. И привычку довольствоваться мечтами, а не результатами реальных действий. И знаете, я сейчас настолько счастлив. Как бы сложно не было, эти препятствия преодолеваются. Так, как я внутри себя расту сейчас, я очень давно не рос. Теперь понимаю, что большая часть успеха – набор внутренних качеств, а не обстоятельств. Все ограничения у нас в голове. Не будь у меня их, не представляю, кем бы был сейчас 🤔

Ребят, всем привет! Сегодняшний стрим не анонсировал, так как приболел. Надеялся, что успею поправиться, но что-то не вышло. 🤧 Поэтому давайте уже на следующей неделе в воскресенье соберёмся. И, надеюсь, это станет хорошей такой традицией. А сегодня я пойду делать сценарий для следующего видоса на youtube. Пора уже прервать долгий перерыв без контента на канале. Небольшой спойлер: видос будет касаться темы архитектуры. Хочу сделать несколько видео по этой теме. + Хочу постепенно раскачать канал и говорилку перед будущим курсом по React

Горшочек, не вари! 😄 Написало уже достаточно много человек. Для теста точно хватит. Удивлён, как быстро!) До завтра всем выдам доступы 👌🏻

Как раз хотел вам сегодня предложить протестировать платформу. Я сколько угодно могу восхищаться форматом, но нужно ваше мнение. Поэтому, перед релизом решил сделать тестовую группу. Если хотите помочь и потрогать первыми мою платформу, пишите мне в личку @paromovevg. А заодно напишите: какой у вас грейд и сколько лет опыта) - С меня бесплатный доступ до релиза платформы, и месяц после - А с вас честный отзыв Сейчас на платформе есть только поток по архитектуре (и психологии от жены). Но позже появится контент по Typescript Redux React-query и React. P.S. Предложение ограничено, всех желающих на тест взять не смогу