Ответы пользователя по тегу Node.js
  • Node/Express ругается на порт?

    alexiusp
    @alexiusp
    senior frontend developer
    Так и чем каждый раз занят порт? Может быть можно не запускать тот второй сервер на время разработки?

    Поставьте по умолчанию какой-нибудь порт, который наверняка не занят, например 3000, 4000. Или пропишите его в переменных окружения для вашего проекта, если это возможно.
    Ответ написан
    Комментировать
  • Что в скрипте NodeJS может нагружать CPU и как отследить где именно в коде возникает такая ситуация?

    alexiusp
    @alexiusp
    senior frontend developer
    Две относительно затратные операции, о которых часто забывают - console.log (и вообще вывод куда-либо) и JSON.parse/stringify - посмотрите не часто ли вы ими пользуетесь. Особенно парсинг JSON можно хорошо оптимизировать, если подумать, где и как используется результат.
    Ответ написан
    Комментировать
  • Работы с сессиями в express.js?

    alexiusp
    @alexiusp
    senior frontend developer
    проще всего передавать либо в куках, либо через заголовок запроса. как вы определяете, что пользователь залогинен вообще? Если вы пользуетесь для авторизации JWT, то в нём как раз можно закодировать необходимые поля.
    Ответ написан
    4 комментария
  • Как исправить ошибку remote: Do not authenticate with username and password using git. в heroku?

    alexiusp
    @alexiusp
    senior frontend developer
    Я использую всегда второй вариант. Когда начинал намаялся с клиентом от heroku - больше нет желания. Привязка к гиту работает надёжно, можно CI прикрутить при желании.
    Ответ написан
    Комментировать
  • Как закрыть rest api?

    alexiusp
    @alexiusp
    senior frontend developer
    делаешь так, что все запросы api должен принимать только при наличии определённого token-а в заголовке. если token отсутствует или неверен отправляешь назад ответ со статусом 401.
    этот token клиент и сервер могут получать, например, через переменные окружения (чтобы не светить их в коде)
    Ответ написан
    Комментировать
  • Как тестировать бандлы, собранные через Webpack?

    alexiusp
    @alexiusp
    senior frontend developer
    Как верно указано выше, юнит-тестирование (основной источник метрики "покрытие") проводят до сборки бандла. Для реакта лучше всего подходит Jest от тех же разработчиков. Jest умеет генерировать отчёты о покрытии самостоятельно, дополнительных инструментов для этого устанавливать не нужно.

    Лучше всего вам будет обратиться к одному из готовых starter-pack, в которых вся система сборки (в вашем случае webpack), и тестирования уже настроена и готова к использованию, и посмотреть как там это сделано.

    После сборки выполняются e2e тесты, для этого используются инструменты, вроде указанных выше Puppeteer, Protractor, или ещё можно добавить сюда Selenium и Nightwatch.
    Ответ написан
    Комментировать
  • С чего подступиться к бекенду?

    alexiusp
    @alexiusp
    senior frontend developer
    я бы предложил не забивать раньше времени голову азами, хотя без этого конечно в итоге не обойтись. И не начинать с бэкенда. Попробуйте сначала сделать сайт с более-менее инетересным фронтендом (хотя бы игру крестики-нолики или что-то такое) безо всякого бэкенда. Выложите этот сайт на хостинг. Думаю до сих пор должны существовать бесплатные варианты хостингов, где можно статичные странички выкладывать. Пока будете выкладывать эту свою страничку на сервер вы заодно познакомитесь, как оно это всё приблизительно работает в плане хостинга. Как сервер отдаёт файлы. Чем отличается URL, по которому вы страничку открываете от пути, где лежит ваша страница на сервере. Ну а потом уже потихоньку начнёте соображать, что вместо статичной странички сервер может и какие-то произвольные данные отдавать. И понеслось.
    Ответ написан
    Комментировать
  • Какие задачи (сайты) лучше всего реализовать на MEAN стеке?

    alexiusp
    @alexiusp
    senior frontend developer
    Я думаю, что "синтетических" проектов чисто для "портфолио" делать не стоит.

    Лучше либо найти заказчика, который поверит на слово в ваши навыки и потом этот проект в портфолио вставлять, либо сделать несколько простеньких задач в стиле игры крестики-нолики, чтобы только показать уровень освоения выбранного стека, ну или попросить потенциальных заказчиков поставить вам тестовую задачу, что-то вроде coding challenge. Тогда и они смогут убедиться в ваших навыках и вы будете лучше ориентироваться в том, что именно интересует ваших потенциальных заказчиков.
    Ответ написан
    Комментировать
  • 2 запроса в SPA приложении?

    alexiusp
    @alexiusp
    senior frontend developer
    конечно нужно разные сущности разными запросами получать. это и с архитектурной стороны правильнее и с точки зрения отзывчивости страницы.
    Ответ написан
  • Как организовать авторизацию в связке node.js и vue.js?

    alexiusp
    @alexiusp
    senior frontend developer
    Берите Passport.js и Express.js. Они хорошо работают вместе. Сложностей особых никаких, если, конечно, понимать, как вообще работает авторизация. Про альтернативы, честно скажу, не помню. Когда искал, что-то всплывало, но паспорт лучше и в плане простоты, и в плане широкого набора доступных способов авторизации.
    Со стороны Vue.js никаких сложностей нет. Vue.js не предоставляет никакого инструментария для работы с http запросами. Поэтому все возможные сложности в этом плане будут связаны с той библиотекой, которую вы для этого выберете. Я бы рекомендовал сразу нацеливаться на новый fetch API. Если нужна поддержка старых браузеров есть полифиллы. Fetch прозрачно поддерживает и куки и заголовки авторизации, так что проблем особых быть не должно.
    Для тестирования и отладки авторизации на бэкенде очень полезный инструмент - Postman. Позволяет делать запросы к бэкенду без браузера и клиентской части, легко играться с параметрами запроса, куками и заголовками.
    Ответ написан
    Комментировать
  • Angular.js vs React.js в MEAN-стеке с прицелом на оффер?

    alexiusp
    @alexiusp
    senior frontend developer
    Смотря какие проекты вам интереснее делать. Angular в последнее время склоняется в Enterprise, т.е. на нём вы будете делать тяжёлые админки со всякими графиками/диаграммами, сложными задачами типа ленивой загрузки и кэширования таблиц с данными и всё такое прочее. На React делают больше решения ориентированные на массового пользователя, с обилием всяких визуальных плюшек, анимации и т.п. В общем если привлекает возиться с CSS и анимацией - лучше браться за реакт. На нём, кстати, и игры, как мне кажется, легче писать.
    Ответ написан
    3 комментария
  • Какие библиотеки CSS модулей/компонентов посоветуете?

    alexiusp
    @alexiusp
    senior frontend developer
    Я бы рекомендовал взять bourbon+neat как основу. А дальше смотреть как сделано у других (скажем, в bootstrap) и делать только те модули, которые нужны проекту в данный момент.
    Ответ написан