З 1С розробника до junior node.js. Мій короткий план навчання
Мій короткий план навчання на junior node.js
Ділюся власним досвідом, як з 1С розробника змінити кваліфікацію на розробника node.js.
В цій статті склав план з переліком основних тем і ресурсів, які допоможуть швидко опанувати BACKEND.
Дана інформація буде корисна 1С-программістам, які вирішили змінити мову програмування та майбутнім програмістам, які планують вивчати світ бекенду через node.js.
Отже, з чого почав я?
Так як трохи пам’ятав html, css, js з університету. Вирішив працювати з стеком javascript фреймворків.
Чому node.js?
Мій досвід 11 років в 1С: займався базами данних (проектування, запити, транзакції), розробляв HTTP-сервіси під мобільний додаток на 1С , маю декілька сертифікатів і велику кількість успішних проектів, менторство стажерів. Тому вирішив, що цей досвід буде корисний в backend.
Після переходу в node.js від колишніх колег отримував питання: «З чого краще розпочинати навчання і на яких ресурсах?».
Можу сказати одразу, що пошуки в інтернеті матеріалів, ютуб канали, офіційна документація, поради друзів — все це вносить безлад в навчання та тормозить прогресс.
Тому я впорядкував основні джерела інформації по яких навчався та зробив план.
Мій план:
- Вибрати IDE. Основні VSC, webstorm, phpstorm, sublime text і інші. Я користуюсь VSCode, дуже зручна, безкоштовна программа має багато плагінів, які допомагають в розробці.
- Потрібно вивчити javascript. Починав з: metanit.com/web/javascript продовжив більш поглиблено на learn.javascript.ru.
Також дуже сподобався канал www.youtube.com/c/itgid Алекса Лущенко
— Типи данних, перемінні, зрівняння, оператори зрівняння, логічні операції
— Цикли (For, for..in, for..of, while, do..while)
— Масиви.Основні методи для роботи: pop/push, shift/unshift, splice, concat, find, filter, map, forEach, reverse
— Обєкти. Літерали, властивості, деструктивне присвоєння
— Функції. Область бачення зміних, замикання, стрілочні функції
— Методи об’єкту, «this»
— Колбеки, promise, async/await, пекельна піраміда
— Обробка помилок, «try..catch» - Вчимо node.js
metanit.com/web/nodejs — основи
www.youtube.com/...DYnHYn81-oqavYIp6vaEd5gdH — Алекс Лущенко
nodejs.org/en/docs — документація
— Завантажуємо з офіційного сайту nodejs.org/en
— Модулі, npm пакети
— Створення сервера
— Request, response, коди помилок, headers, CRUD - Postman. Це Ваш кращий друг для тестування написаного АРІ, встановлюємо і працюємо.
- Вчимо Express. Це зручний лаконічний фреймворк для створення АРІ
www.youtube.com/...3o1HDJGZbxAGXbBF8dCBmTWnm — приклад першого проекту
www.youtube.com/.../YauhenKavalchuk/featured — сподобася цей канал
www.youtube.com/c/AidaDrogan — дуже сподобався цей канал
expressjs.com — офіційна документація
— Middleware
— Роути, сервіси, мікросервіси
— Валидатори
— .env файли, що це і для чого використовується
— Jwt робота з токенами
— Passport.js. Розуміти різницю між аутетифікацією і авторизацією - Бази данних
metanit.com/sql, metanit.com/nosql/mongodb
sequelize.org
habr.com/ru/post/565062 — цикл статей по sequelize
— MongoDB + Mongoose
— Sequelize (MySQL, PostgreSQL)
— Migration (sequelize.org/.../other-topics/migrations) - Робота з GIT, github/gitlab. Дуже важлива тема, треба знати основні команди, також орієнтуватися в UI вашого IDE.
git-scm.com/docs — документація
www.youtube.com/...ndZFHXjXuwA_NywNrVQO0aQqb — мені дуже допоміг курс
* Основні команди:
— git config
— git init
— git status
— git add *
— git commit -m «**** »
— git push
— git checkout dev
— git checkout -b test_dev
— git checkout -f
— git pull origin develop
— git stash
— git stash pop
* Request merge
* CI/CD - Тестування. Можливість писати UNIT тести. Розуміти, що таке Інтеграційні тести.
jestjs.io/docs/getting-started
https://www.youtube.com/watch?v=yLRVDM3_4_M&t=1217s — Алекс Лущенко
— Jest - Написання документації (OpenAPI).
swagger.io/specification
— Openapi swagger
— JSDoc - English. Офіційна документація на англійській, так що зразу потрібно підвищувати її рівень.
Якщо вище описані пункти для Вас стали не пустими словами, а зрозумілими інструментами в роботі, тоді Ви маєте великий шанс пройти співбесіду. Бажано мати декілька своїх проектів залитих в репозиторій.
Незважаючи на всі складнощі, на данний момент вже декілька місяців працюю розробником junior node.js в компанії ASTA.MOBI і ділюся з Вами своїм досвідом.
Доповнення.
Після вивчення js/node/express, можна розпочинати вчити typescript/ NestJS + патерни + aws+ Docker/ NVM, в майбутньому планую також зробити план навчання по цим технологіям)
6 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів