Илья Зыкин. Pro Жизнь
137 subscribers
1.1K photos
45 videos
4 files
95 links
Download Telegram
NodeJS Framework

Не могу сказать, что достаточно погружен в NodeJS чтобы знать как они организуют код проектов.

Все что я видел — или супер простое и спагетти образное или супер сложное корпоративное, невероятное в освоении, использовании и поддержке.

Написать свой фреймворк — что может быть проще и интереснее?! Я этим занимался в 2007 на PHP, что меня остановит в 2024? Правильно, ничего.

Тем более много мне и не надо — умело бы get и post запросы обрабатывать и направлять на нужный контроллер.

Щепотка ситуативного говнокода, щепотка тестов. Фигак, фигак и в продакшн!

Точка входа в NodeJs чиста и прекрасна. Роутер простой, но good enough.

Контроллеры на своих местах, просты и легки.

Нет, Ruby on Rails я свой не напишу, но и задачи такой нет.

Сделаю каркас под себя. Покрою тестами и реализую небольшой pet проект. Есть одна идейка.
👍3🔥3
Давайте посмотрим вместе

https://youtu.be/6LdQBI0anMQ?si=7IDoghXCrRUtPmfn
👍2
Посмотрел открытое интервью.

Антон приятный человек. Кандидат приятный человек.

С оценкой миддл не согласен. Собеседование построено по принципу самого банального интервью на джуниора. Ну и давать какие либо оценки о более высоком уровне тут просто не на чем.

Что отличает джуниорское интервью от мидловского?

На джуниорском с тебя снимают 3 шкуры вопросами отличия одного цикла от другого, просят в голове проинтерпретировать код и предсказать результат. Ты должен знать все самые ненужные мелочи обо всем на свете.

На мидловском интервью тебя спрашивают, что ты уже делал и какой реальный опыт построения проектов.

На сеньерском обсуждают дизайн систем.

На принципальском говорят о work life balance, про покер и в какой колледж планируешь отдать учится детей. 😉

В общем, люди приятные. Интервью банальное. Приятно провел 23 минуты за чаем.
👍3
Последний выходной года.

Укатил с семьей в отель у озера. Сменить обстановку. Перезагрузиться.

Последние недели было много работы. Жаловаться не приходится. Это хорошо, когда много работы. Но все равно устал. Надо отключиться от рутины. Дать мозгу каких-то новых впечатлений.

У меня не будет длинных праздников. 2-3 новогодних дня отдохну и в бой. Надо успеть отгулять Новый год в ускоренном режиме. Делаю все возможное 😉
👍4🔥3
Написал роутер для NodeJS/ExpressJS приложений.

Зачем изобрел велосипед?
Потому что могу и хочу. Этого уже достаточно.

И вообще мне нравится как получилось.

Что решает?

Точка входа в NodeJS приложение должна выглядеть так как на картинке.

Вся серьезная логика должна быть раскидана по контроллерам, моделям, утилитам, и тд и тп.

Роутер в рельсовом стиле

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

Минимализм

Для реализации 98% задач мне нужны минимальные средства, а не универсальные комбайны.

Что дальше?

- оформить NPM
- сделать мигратор для баз данных
- после этого можно будет реализовывать базовый проект
👍6🔥1
Роутер для NodeJS приложений ✅

Буквально на ваших глазах за 3 дня я написал простой но вполне функциональный роутер для NodeJS/EхpressJS приложений.

Да, я понимаю, что это задача по сути джуниорского уровня. Но я не писал пакетов для NodeJS почти 10 лет. Для меня это неплохая задачка, чтобы вспомнить как это вообще делается. А самое главное как это делается сейчас.

CI/CD я прикручивать не буду — смысла нет никакого.

Что в проекте использовалось

- Простейший TypeScript — скорее для галочки, чем из за надобности.
- ESbuild для компиляции продакшн версии
- Docker/DockerCompose чтобы можно было в любой момент запустить разработку и прогнать тесты.
- Jest для тестов

✔️Пакет опубликован на гитхабе и на NPM. Можно прямо взять и начать использовать.

✔️ Я поставил роутер прямо в реальный проект, который мы делали на новый год. Ни единой проблемы — роутер просто заработал.

Напомню. У меня есть план вкатиться в разработку Telegram Mini App и я собираю инструменты для реализации MVP проектов.

Роутер ✅
👍5