0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>По совету друга записался в школу программирования "<strong>Hexlet</strong>"<a>https://ru.hexlet.io/</a>Я решил в очередной, в 3 раз выучить ReactJS. Плох тот ёж, который не мечтает стать противотанковым. Избрал профессию "Фронтенд JavaScript" и начал курс "<strong>JS: React</strong>". Оказалось, этот курс идёт предпоследний в этой профессии, но и я во фронтенде тоже не первый день. Так что я решил начать с конца. Курс как ни странно, мне понравился. Курсы обычно строятся по следующему принципу, есть говорящая голова, которая объясняет теорию и решает в прямом эфире какую-то задачку и дальше идёт домашка. Качество домашки остаётся на совести ученика и преподавателя. Здесь всё по-иному, даётся чуть-чуть теории, упражнение на усвоение теории и упражнение. Упражнение устроено хитро, поднимаются docker-контейнеры и в них нужно решать задачу. И для решения задачи представленной теории сильно недостаточно приходится искать решение в интернете.</p>
1
<p>По совету друга записался в школу программирования "<strong>Hexlet</strong>"<a>https://ru.hexlet.io/</a>Я решил в очередной, в 3 раз выучить ReactJS. Плох тот ёж, который не мечтает стать противотанковым. Избрал профессию "Фронтенд JavaScript" и начал курс "<strong>JS: React</strong>". Оказалось, этот курс идёт предпоследний в этой профессии, но и я во фронтенде тоже не первый день. Так что я решил начать с конца. Курс как ни странно, мне понравился. Курсы обычно строятся по следующему принципу, есть говорящая голова, которая объясняет теорию и решает в прямом эфире какую-то задачку и дальше идёт домашка. Качество домашки остаётся на совести ученика и преподавателя. Здесь всё по-иному, даётся чуть-чуть теории, упражнение на усвоение теории и упражнение. Упражнение устроено хитро, поднимаются docker-контейнеры и в них нужно решать задачу. И для решения задачи представленной теории сильно недостаточно приходится искать решение в интернете.</p>
2
<p>При чём задача оценивается по unit-тестам и линтеру ESLint<a>https://eslint.org/</a>. Линтер - это инструмент анализа кода для выявления проблемных мест в JavaScript. Т.е. он показывает глупые ошибки у программистов и приводит код всех программистов к единому стандарту. В php есть аналог Psalm<a>https://psalm.dev/</a>Большая часть времени при выполнении первых упражнений уходило на "борьбу" с линтером, то пробел отсутствует, то он лишний, то точки с запятой не хватает. При чём что лишний пробел он сообщает, не предупреждением, а именно ошибкой. Вымораживали его сообщения: "ВНИМАНИЕ, в коде обнаружилось 10 ОШИБОК". При чём большая часть ошибок, то пробел забыл поставить, то точку с запятой.</p>
2
<p>При чём задача оценивается по unit-тестам и линтеру ESLint<a>https://eslint.org/</a>. Линтер - это инструмент анализа кода для выявления проблемных мест в JavaScript. Т.е. он показывает глупые ошибки у программистов и приводит код всех программистов к единому стандарту. В php есть аналог Psalm<a>https://psalm.dev/</a>Большая часть времени при выполнении первых упражнений уходило на "борьбу" с линтером, то пробел отсутствует, то он лишний, то точки с запятой не хватает. При чём что лишний пробел он сообщает, не предупреждением, а именно ошибкой. Вымораживали его сообщения: "ВНИМАНИЕ, в коде обнаружилось 10 ОШИБОК". При чём большая часть ошибок, то пробел забыл поставить, то точку с запятой.</p>
3
<p>Написал в тех. поддержку они сообщили, что в этом курсе используются набор правил линтера от airbnb<a>https://github.com/airbnb/javascript</a>и eslint plugin react<a>https://www.npmjs.com/package/eslint-plugin-react#recommended</a></p>
3
<p>Написал в тех. поддержку они сообщили, что в этом курсе используются набор правил линтера от airbnb<a>https://github.com/airbnb/javascript</a>и eslint plugin react<a>https://www.npmjs.com/package/eslint-plugin-react#recommended</a></p>
4
<p>Я считаю ошибки линтера не стоит игнорировать. Кстати, при выполнении упражнений, когда я один раз перепутал условие, линтер мне сообщил, что кусок моего кода не будет выполнен никогда :-)</p>
4
<p>Я считаю ошибки линтера не стоит игнорировать. Кстати, при выполнении упражнений, когда я один раз перепутал условие, линтер мне сообщил, что кусок моего кода не будет выполнен никогда :-)</p>
5
<p>Поэтому я решил поднять тестовый проект на phpStorm и прикрутить туда линтер. Дело в том, что в eslint встроена автокоррекция ошибок, все пробелы, точки с запятой он расставляет сам. Но в редакторе от хекслета этого нет и сам встроенный редактор до IDE phpStorm не дотягивает достаточно сильно.</p>
5
<p>Поэтому я решил поднять тестовый проект на phpStorm и прикрутить туда линтер. Дело в том, что в eslint встроена автокоррекция ошибок, все пробелы, точки с запятой он расставляет сам. Но в редакторе от хекслета этого нет и сам встроенный редактор до IDE phpStorm не дотягивает достаточно сильно.</p>
6
<p>Скажу сразу убил несколько часов скрещивая phpStorm и eslint, настраивал по всяким хитромудрым мануалам и ничего не получалось. Оказалось, всё банально, надо было просто установить eslint phpStorm автоматом подхватывал конфигурацию и правила, а затем для автофиксации изменений, необходимо было просто назначить сочетания клавиш и всё. Работы по факту на 5 минут, но это в последних версиях, а вот в старых нужны были ухищрения. В конце было интересно наблюдать, я специально минифицировал код, нажимаю 3 клавиши, и код отформатирован и проверен на ошибки от eslint.</p>
6
<p>Скажу сразу убил несколько часов скрещивая phpStorm и eslint, настраивал по всяким хитромудрым мануалам и ничего не получалось. Оказалось, всё банально, надо было просто установить eslint phpStorm автоматом подхватывал конфигурацию и правила, а затем для автофиксации изменений, необходимо было просто назначить сочетания клавиш и всё. Работы по факту на 5 минут, но это в последних версиях, а вот в старых нужны были ухищрения. В конце было интересно наблюдать, я специально минифицировал код, нажимаю 3 клавиши, и код отформатирован и проверен на ошибки от eslint.</p>
7
<p>Что ещё понравилось. Я выстрадал, написал код, почти исповедь. А потом сравниваешь своё решение с решением учителя и понимаешь, что написал говнокод. Отображение смешивается с логикой, проверка входных параметров слабая. Код модульные тесты проходит, но не больше. Но теперь смотрю на код преподавателя и совершенствую свой. Каждый выбирает свои способы ошибаться.</p>
7
<p>Что ещё понравилось. Я выстрадал, написал код, почти исповедь. А потом сравниваешь своё решение с решением учителя и понимаешь, что написал говнокод. Отображение смешивается с логикой, проверка входных параметров слабая. Код модульные тесты проходит, но не больше. Но теперь смотрю на код преподавателя и совершенствую свой. Каждый выбирает свои способы ошибаться.</p>
8
<p>Но за всё хорошее надо платить, базовые курсы бесплатно, а вот за более серьезные необходимо вносить плату 24$/месяц. Вот, что крупно не понравилось в этом сервисе, оплата только пластикой картой. А при сочетании 2-х факторов: передача всех данных моей карты и подписка, у меня сразу перед глазами возникает знак: "Не влезай убьёт". Я просто пару раз накололся, хитроумные ребята продают услугу, собирают данные карты, а потом каждый месяц начинают списывать крупные суммы: за тех. поддержку, сервисное обслуживание и т.д. И вернуть эти деньги невозможно. Я уже и в банк ходил, и им писал, деньги не вернуть никак. Потом в инете почитал, у ребят бизнес такой. В результате, заблокировал одну карту и выпустил новую. Поэтому, когда в Хестлет предложили взять данные моей карты и оформить подписку, я крепко задумался. На битву со злом, взвейся сокол - козлом, но мне помог вечно зелёный банк, который выпустил дополнительную виртуальную карту Visa, на которую я деньги буду переводить только, тогда, когда понадобиться, но не раньше и никакой автоматизации вывода денег без моего согласия. А в обычное время на этой карте будет 0. Почему в сервисе не реализована оплата через Яндекс.Деньги, Webmoney, Qiwi мне не понятно.</p>
8
<p>Но за всё хорошее надо платить, базовые курсы бесплатно, а вот за более серьезные необходимо вносить плату 24$/месяц. Вот, что крупно не понравилось в этом сервисе, оплата только пластикой картой. А при сочетании 2-х факторов: передача всех данных моей карты и подписка, у меня сразу перед глазами возникает знак: "Не влезай убьёт". Я просто пару раз накололся, хитроумные ребята продают услугу, собирают данные карты, а потом каждый месяц начинают списывать крупные суммы: за тех. поддержку, сервисное обслуживание и т.д. И вернуть эти деньги невозможно. Я уже и в банк ходил, и им писал, деньги не вернуть никак. Потом в инете почитал, у ребят бизнес такой. В результате, заблокировал одну карту и выпустил новую. Поэтому, когда в Хестлет предложили взять данные моей карты и оформить подписку, я крепко задумался. На битву со злом, взвейся сокол - козлом, но мне помог вечно зелёный банк, который выпустил дополнительную виртуальную карту Visa, на которую я деньги буду переводить только, тогда, когда понадобиться, но не раньше и никакой автоматизации вывода денег без моего согласия. А в обычное время на этой карте будет 0. Почему в сервисе не реализована оплата через Яндекс.Деньги, Webmoney, Qiwi мне не понятно.</p>
9
<p>Обучение я продолжу, надеюсь 3 попытка будет удачной. Если я захочу выучить ReactJS, кто же меня остановит? :-)</p>
9
<p>Обучение я продолжу, надеюсь 3 попытка будет удачной. Если я захочу выучить ReactJS, кто же меня остановит? :-)</p>