Тред о веб-разработке, просто потому что могу (и для меня это будет легче японского языка).
Так уж стало, что я ношу гордый титул фронтенд (а фактически фулстак) разработчика уровня мидль, и, таз уж стало, прямо сейчас полирую свои знания. Так что, раз на то пошло, могу поддержать начинающих советом, а с действующими работягами поболтать по делу.
Предлагаю использовать этот тред для того, чтобы делиться прогрессом, методиками и материалами. Сам ж сюда буду периодически что-нибудь закидывать.
TODO
Так уж стало, что я ношу гордый титул фронтенд (а фактически фулстак) разработчика уровня мидль, и, таз уж стало, прямо сейчас полирую свои знания. Так что, раз на то пошло, могу поддержать начинающих советом, а с действующими работягами поболтать по делу.
Предлагаю использовать этот тред для того, чтобы делиться прогрессом, методиками и материалами. Сам ж сюда буду периодически что-нибудь закидывать.
Мой стак
- JavaScript / TypeScript;
- React;
- Redux;
- Axios;
- Jest / React Testing Library;
- Sass;
- Куча всякой прочей мелочи;
- Когда-то давно активно юзал Python + его приложения для математики, визуализации и машинного обучения.
- React;
- Redux;
- Axios;
- Jest / React Testing Library;
- Sass;
- Куча всякой прочей мелочи;
- Когда-то давно активно юзал Python + его приложения для математики, визуализации и машинного обучения.
Материалы по темам (будет дополняться)
JavaScript
Книги (без ссылок)
"Секреты JavaScript ниндзя. Второе издание", Джон Резин, Беэр Бибо, Иосип Марас. Во многом безбожно устарела, но содержит достаточно глубокий разбор особенностей JS в спецификации ES6.
TODO
Просто полезные ссылки
Контроль версий
Важнейшая вещь, когда речь идёт о написании чего-то большого и сложного. Чем больше (и дольше) ваш проект, тем больше вы хотите не просто хранить файлики в папочке, а вести логи изменений.
Это поможет
а) быстро узнать кто, когда и что правил;
б) безболезненно откатить часть изменений (даже если они были пол года назад), не трогая всё остальное.
- Git - самая популярная на сегодня система контроля версий, которая, фактически, вытеснила всё остальное с рынка. В текущих реалиях контроль версий и Git практически синонимичны. По ссылке доступен официальный сайт гита, с которого можно загрузить пакет для локальной работы с гитом на свой ПК, поддерживаются все популярные ОС.
Сам по себе Git - это, конечно, хорошо, но если речь идёт о совместной разработке, то понадобится удаленный сервер, на котором будет хранится "общий" код. Можно, конечно, организовать себе локальную сеть или поднять собственный сервер для гитовских нужд, но изобретать колесо второй раз не целесообразно.
Есть ряд популярных готовых решений этой задачи, которые, помимо прочего, оснащены графическим интерфейсом (!):
- GitHub - Git платформа, поддерживаемая Microsoft. Самая популярная, продвинутая, малость перегруженная (вследствие продвинутости). Нет возможности поднять на локальном сервере, код хранится исключительно на серверах Microsoft. Идеальный вариант для обучения или пет проектов;
- GitLab - Независимая платформа, мега популярная в профессиональных командах. Очень гибкая, не такая перегруженная, как GitHub. Можно поднять локально, а можно и не поднимать. Хороший универсальный вариант;
- GitBucket - Open source платформа, популярна в небольших стартапах и у линуксоидов. Только локальное развертывание. Для любителейизвращений приключений.
Это поможет
а) быстро узнать кто, когда и что правил;
б) безболезненно откатить часть изменений (даже если они были пол года назад), не трогая всё остальное.
- Git - самая популярная на сегодня система контроля версий, которая, фактически, вытеснила всё остальное с рынка. В текущих реалиях контроль версий и Git практически синонимичны. По ссылке доступен официальный сайт гита, с которого можно загрузить пакет для локальной работы с гитом на свой ПК, поддерживаются все популярные ОС.
Сам по себе Git - это, конечно, хорошо, но если речь идёт о совместной разработке, то понадобится удаленный сервер, на котором будет хранится "общий" код. Можно, конечно, организовать себе локальную сеть или поднять собственный сервер для гитовских нужд, но изобретать колесо второй раз не целесообразно.
Есть ряд популярных готовых решений этой задачи, которые, помимо прочего, оснащены графическим интерфейсом (!):
- GitHub - Git платформа, поддерживаемая Microsoft. Самая популярная, продвинутая, малость перегруженная (вследствие продвинутости). Нет возможности поднять на локальном сервере, код хранится исключительно на серверах Microsoft. Идеальный вариант для обучения или пет проектов;
- GitLab - Независимая платформа, мега популярная в профессиональных командах. Очень гибкая, не такая перегруженная, как GitHub. Можно поднять локально, а можно и не поднимать. Хороший универсальный вариант;
- GitBucket - Open source платформа, популярна в небольших стартапах и у линуксоидов. Только локальное развертывание. Для любителей
Что делать, чтобы научиться (будет дополняться)
Шаг ноль
Заливать ВСЁ на гитхаб
Перво-наперво
Если сел за компуктер вчера, то немножко почитать, что такое этот ваш компуктер, интернет и программы.
Если сел за компуктер давно, то почитать, что такое браузер и протокол HTTP. Углубляться не надо, чисто для ознакомления.
Дальше читать что такое HTML, пробежаться по его структуре, основным тегам.
После сверстать пару страничек чтобы вообще понять, как на клавеатуре кнопки тыкаются.
Если сел за компуктер давно, то почитать, что такое браузер и протокол HTTP. Углубляться не надо, чисто для ознакомления.
Дальше читать что такое HTML, пробежаться по его структуре, основным тегам.
После сверстать пару страничек чтобы вообще понять, как на клавеатуре кнопки тыкаются.
Второ-навторо
Понять, что пустой HTML - грустно, почитать про CSS: что такое, синтаксис, основные правила.
Найти любую простенькую страничку в интернетах и попытаться её воспроизвести не подглядывая.
Повторить раз 5, повышая сложность верстки. В процессе с пылающей жопой гуглить всё под ряд, пытаясь хоть что-то сделать (это абсолютно нормально и правильно).
Найти любую простенькую страничку в интернетах и попытаться её воспроизвести не подглядывая.
Повторить раз 5, повышая сложность верстки. В процессе с пылающей жопой гуглить всё под ряд, пытаясь хоть что-то сделать (это абсолютно нормально и правильно).
2.5
Почитать про BEM, после сверстать страничку-другую по этой методологии.
Третье-натрое
Понять, что некоторые прикольные штуки сделать одними стилями не получится. Заплакать. Пойти читать про JavaScript и то, как он работает в браузере. Особенно про события и DOM.
3.5
Азы программирования. Переменные, условные операторы, циклы, функции, объекты и массивы. При этом вовремя оторвать себя от теории, которую всё равно невозможно затолкать в голову с ходу, и пойти нарешивать задачи на литкод или кодварс. Желательно тут же познакомиться с NodeJS и TypeScript.
Чотыре
Сверстать сложный лендинг с JS логикой (какая-нибудь карусель, всплывающие окна, кастомные выпадающие меню). Гордиться собой.
5+
Понять, что на чистых HTML+CSS+JS работы нет. Пойти читать про JS фреймворки.
На сегодня есть три стула: React, Angular и Vue.
Выбрать любой (React, просто потому что на нём работы больше).
На сегодня есть три стула: React, Angular и Vue.
Выбрать любой (React, просто потому что на нём работы больше).
6 (Реакт рут)
Почитать документацию, официальный квик старт гайд, с пустыми глазами и трясущимися руками пойти переписывать все предыдущие странички на реакт. Сделать это. На TypeScript.
7
Тыкаться в библиотеки. Упор на Redux или MobX. Это будет надо. Написать со всем этим первый интернет-магазин. Или блог. Или чат. Что угодно относительно сложное, желательно такое, что можно будет в резюме запихнуть. Хотя бы просто фронт.
7.5
Сделать фулстак приложение с беком на NodeJS + Express. Можно прилепить бек к тому, что было сделано в п.7.
8!
Сделать ещё пару проектов. И покрыть их тестами. Приучить себя писать тесты ВСЕГДА.
8.5
Пришло время фрейворка на фреймфорк.....
Почитать про NextJS, попробывать что-то сделать.
Вообще, тут уже можно работу искать спокойно.
Почитать про NextJS, попробывать что-то сделать.
Вообще, тут уже можно работу искать спокойно.
...
Понять, что ты уже смешарик, и избрать собственный путь...