KlonD90
а че так мало? (
KlonD90
где попилить то можно
KlonD90
можно оракл еще
KlonD90
как там с откатами вообще?
Evgeny
пилить просто - сделай npm i loopback и барыж инстансом за 160к
сomorsiс
а по сути они продают запросы к своим серверам?
сomorsiс
всмысле они берут на себя хостинги и тд
Sergey
так кто умеет?
KlonD90
пилить просто - сделай npm i loopback и барыж инстансом за 160к
сложная схема. я не хочу нисчего делать - хочу просто откаты
Sergey
я миграцию не пойму как запустить
Sergey
вроде лупбэк умеет в automigrate
Alex
задается для конкретной стратегии
я делал на основе passport-jwt https://github.com/themikenicholson/passport-jwt
сomorsiс
он их подписывает
Alex
он их подписывает
это я понял, на хабре читал. Мне не понятно, как происходит проверка. Т.е. он хранит их в памяти и потом сверяет, или как это происходит?
сomorsiс
он просто достает из токена кто это
KlonD90
вроде лупбэк умеет в automigrate
худшая возможность
Sergey
худшая возможность
генерить миграции может?
Дима
Посоветуйте, к кому идти ваять issues, если jest на travis-CI тест проходит, на локальном комьютере тоже, а на gitlab-CI падает с фееричной ошибкой? expect(received).toMatchObject(expected) Expected value to match object: {"code": 400, "message": "PHONE_CODE_INVALID"} Received: [Error: PHONE_CODE_INVALID] Difference: Compared values have no visual difference.
Дима
То есть, "разницы нет, но я всё равно упаду" — это jest химичит или гитлаб?
сomorsiс
а received/expected какого типа?
Дима
оба — Error, точнее кастомный класс extends Error
Дима
Это тест на корректное падение в определенных обстоятельствах, ошибка падает но внезапно на гитлабе почему то разонравилась джесту
сomorsiс
наверно к гитлабу
Bogdan
пытаюсь разобраться можно ли сгенерить модель так, чтобы в урл был param-case, а не PascalCase
Как разберешься — отпишись, пожалуйста :) Колупался как то с ним. Непростой фреймворк, как по мне
Islomkhodja
кто нибудь юзал? https://github.com/Helidium/Mitol
Islomkhodja
кто нибудь юзал? https://github.com/Helidium/Mitol
тот же http сервер только на С++
Yakov
Парни, какой сейчас самы попурялный стартер кит для бека на ноде если нужно тупо рест на небольшую дб поднять?
сomorsiс
попробуй feathers
Yakov
сomorsiс
loopback?
Yakov
Ммм...
сomorsiс
написать на чистом express'e
Yakov
Ну эт понятно
Yakov
Просто хочется на какой-то передовой либке экспу прокачать
сomorsiс
koa?
Yakov
Коа это ж тот же экспресс
сomorsiс
ну, сложно создать что-то непохожее
сomorsiс
хотя сервисное что-нибудь мб
Yakov
Ок. Спс.
сomorsiс
feathers сервисный как раз
Yakov
Оке
Anatoliy
кто нить знает аналог apache kafka но на ноде?
Таймураз
Просто хочется на какой-то передовой либке экспу прокачать
Попробуй написать что-нибудь на коа за 2 месяца Быстрее всего скил апнешь
Anatoliy
?
сomorsiс
тебе нужна шина сообщений?
Anatoliy
да, с функцией доставки хотя бы одному
сomorsiс
rabbitmq посмотри
Завтра
Voteblan неплохо, не сразу дошло)
Artem
Ребят привет, есть вопрос один, кто нибудь поднимал NodeJs приложение на докере? я стартую docker image из докер композа обычным docker-compose up, но этот контейнер тут же завершает работу со status 0 котейнер пустой, то есть там нет ещё приложения что я делаю не так?
Gleb
Посмотри, как устроено: https://github.com/CheerlessCloud/koa-node8-boilerplate
Artem
version: '2' services: nodejs: image: node:8.4.0-alpine ports: - "3000:3000" volumes: - ./:/usr/src/app
Anonymous
/stat@combot
Combot
combot.org/chat/-1001041204341
Yakov
Попробуй написать что-нибудь на коа за 2 месяца Быстрее всего скил апнешь
Да, согласен. Но это я уже делал )) Пришло время посмотреть как делают люди э
Gleb
version: '2' services: nodejs: image: node:8.4.0-alpine ports: - "3000:3000" volumes: - ./:/usr/src/app
При таком подходе у тебя будет дичь с правами на папки в проекте. Если ты сделаешь npm i внутри Docker, то node_modules создастся от рута.
Gleb
version: '2' services: nodejs: image: node:8.4.0-alpine ports: - "3000:3000" volumes: - ./:/usr/src/app
Тебе с этим сюда: https://docs.docker.com/compose/compose-file/#command
Gleb
Но вообще ты не правильно понял смысл docker-compose.
Таймураз
Gleb
Где исходники посмотреть? Не могу понять, зачем к исходникам node_modules добавлять
Ну я вообще говорю про любые файлы, которые создались изнутри Docker.
Таймураз
Ну я вообще говорю про любые файлы, которые создались изнутри Docker.
Не особо страшно. Все исходники и так лежат уже с нужными правами на хосте А если и создается что внутри контейнера- скорее всего, это разработка
Gleb
А если, допустим, git hook берёт что-то из node_modules/.bin?
Gleb
Так не надо работать от рута :)
Когда ты делаешь volume, то всё, что ты положил в эту папку внутри docker container попадает на хост-машину с рутовыми правами доступа. Их создаёт docker-daemon, а он запущен от рута. Есть костыль с user: $UID, но это кривой подход.
Kons
Когда ты делаешь volume, то всё, что ты положил в эту папку внутри docker container попадает на хост-машину с рутовыми правами доступа. Их создаёт docker-daemon, а он запущен от рута. Есть костыль с user: $UID, но это кривой подход.
Это понятно. Но делать волюм на продакшене неправильно. Контейнер должен быть максимально самодостаточен (не зависеть от внешних факторов, как, например, изменение файлов на хост-машине). При разработке исходники подключаются, как волюм, всё редактируется снаружи (на хост-машине), все довольны. ПРИМЕЧАНИЕ: Говоря «волюм на продакшене неправильно», я имел ввиду, что это неправильно для сырцов приложения. Для хранения данных, конфигураций и т.д. волюм - самое то.
Gleb
Да ясен пень, что никаких volume на продакшене) Я с докером давно работаю. Если при разработке ты внутри докера запустишь npm i (а он и должен там запускаться), то node_modules у тебя будут от рута. Захочешь вкрутить lint-staged - будет боль.
Kons
Да ясен пень, что никаких volume на продакшене) Я с докером давно работаю. Если при разработке ты внутри докера запустишь npm i (а он и должен там запускаться), то node_modules у тебя будут от рута. Захочешь вкрутить lint-staged - будет боль.
Вот так выглядит мой докерфайл для разработки: FROM node:8.2.1 ENV HOME=/home/node NODE_ENV=development COPY package*.json $HOME/tmp/ RUN chown -R node:node $HOME/tmp USER node RUN cd $HOME/tmp \ && npm install \ && mkdir -p $HOME/app \ && cp -a $HOME/tmp/* $HOME/app/ EXPOSE 8100 9229 WORKDIR $HOME/app CMD npm run migrate:latest && npm start