Anonym Squad
А чо тебе нест тогда сложно
Мне не сам нест сложно.
Мне сложно, во едино собрать, электрон+нест+реакт плюс геммор с вебпаком
🅰️nimeCoder
Степан
🅰️nimeCoder
🅰️nimeCoder
Степан
У вас нест на сервере отдельно, приложение отдельно. Прямо как с котлетами
Степан
Ну так и сделайте. Разве это не правильный подход?
Anonym Squad
Anonym Squad
Но хотелось бы, что бы вместе с аппкой, крутился бэк на каком нибудь 3000 порту, к которому можно было бы обратится.
Кстати гемор с базой данных ещё. Но он уже был решен через sqlite.
Ибо аппке надо будет хранить некую информацию во время работы
Степан
Понял-понял. У самого подобное, но с nedb, а следовательно без необходимости поднимать порт для хранения данных. Хорошая задачка, флаг вам в руки =)
Unknown
это ты ещё склайт не шифровал))
Anonym Squad
По сути я могу отдельно сделать бэк и фронт на сервере и обойти электрон.
Но в моей задаче из чертог разума, вышло что бы это работало аппкой
Anonym Squad
Как понимаю, помощи, я не дождусь) 😀 разве что стёб в свою сторону услышу)
10N37
Anonym Squad
Операция с данными если быть точнее
10N37
10N37
Точнее, в 99% случаях это делается через ipc
Anonym Squad
Anonym Squad
Anonym Squad
Возможно тут дело привычки, мне привычнее модель-контроллер-сервис. Вам через IPC
10N37
А я вот хочу попасть в этот 1%.
Я тоже когда-то говнокодил и думал что нужен экспресс или бек, и тоже спрашивал про это здесь, но никто не смог подсказать
Сейчас понимаю что это была плохая затея, ведущая к неприятным проблемам и ненужному потреблению ресурсов
Anonym Squad
10N37
https://github.com/jsonnull/electron-trpc
10N37
Там как раз есть один пункт в описании:
Secure alternative to opening servers on localhost.
Pumpkin
Сергей
🅰️nimeCoder
🅰️nimeCoder
IPC - транспорт
Unknown
IPC - транспорт
они имеют ввиду работу с рантаймом ноды через ipc вместо http
🅰️nimeCoder
ну, а я имею ввиду что разницы по http он гоняет или по IPC, нету, у него все та же модель, контроллер, сервис
🅰️nimeCoder
и для этого даже nest не требуется
Unknown
Anonym Squad
Unknown
в этом и вся жалоба
🅰️nimeCoder
типы же не какая-то мана небесная, что сваливается на голову сама, их описывают
Anonym Squad
🅰️nimeCoder
вроде есть какие-то решения по поводу nest в электроне, при чем с IPC под капотом. но "родным" роутингом, тут чувак как то тоже недавно упарывался)
🅰️nimeCoder
там IPC как транспорт добавлен и вроде nest немного патчится
🅰️nimeCoder
https://github.com/Doubleshotjs/doubleshot
🅰️nimeCoder
но я за это не ручаюсь
Unknown
если у приложения есть потенциал роста, есть ли вообще смысл засовывать всё внутрь, типа апи и базы, если потом это придётся рано или поздно выносить на облако
Anonym Squad
🅰️nimeCoder
а можно какую-нибудь ссылочку на инструкцию под докер? В тырнете что-то есть, но мне не совсем ясно что с этим делать)
создаешь докер файл, выбираешь базовый образ (условно alpine)
потом нужно понять какие тебе зависимости нужны, тут конечно только бог поможет, но из них скорее всего node-gyp, и какие то пакеты типа C++ компилятора или еще чо (возможно)
их ставишь через RUN с командной того пакетного менджера что юзается в базовом образе (apt / yum / pacman...), сорцы прилы можно примонтировать как volume из основной системы, а build запускать через подключение к bash через exec
🅰️nimeCoder
🅰️nimeCoder
ну понятное дело что это не 3 минуты. но я не думаю что поднять среду в лине с нуля будет сильно меньше, а тут и воспроизводимость если latest везде не шпиговать
Сергей
а какого-нибудь готового контейнера нет?
Сергей
ох уж эти танцы с бубнами)
🅰️nimeCoder
🅰️nimeCoder
Сначала плохо
🅰️nimeCoder
А потом начинает нравится, входишь в вкус
Сергей
создаешь докер файл, выбираешь базовый образ (условно alpine)
потом нужно понять какие тебе зависимости нужны, тут конечно только бог поможет, но из них скорее всего node-gyp, и какие то пакеты типа C++ компилятора или еще чо (возможно)
их ставишь через RUN с командной того пакетного менджера что юзается в базовом образе (apt / yum / pacman...), сорцы прилы можно примонтировать как volume из основной системы, а build запускать через подключение к bash через exec
т.е. я правильно понимаю, что я создаю новый контейнер на каком-то линуксе, ставлю туда ноду, смотрю что у меня ничего не взлетает, ищу косяки, монтирую образ....
🅰️nimeCoder
🅰️nimeCoder
Сергей
я просто вообще без понятия принципов работы докера)
Сергей
кажется мне проще развернуть виртуалку и на ней делать...
Андрей
🅰️nimeCoder
я просто вообще без понятия принципов работы докера)
Ставится докер, на винде он ещё... Виртуалку поднимает, но это детали. Описывать файл, оно берет каждую строку, выполняет (копирует файлы через COPY, ставит рабочую директорию с WORKDIR, вызывает команды) итого ты получаешь образ для alpine где то весом в пол гига или сотки 3 метров, где все уже выполнено и установлено. Каждая строка в файле - новый слой. Считай снапшот чтобы не пересчитать каждый образ с нуля при обновлении части.
🅰️nimeCoder
Потом стартуешь из этого образа контейнер и делаешь что хош там. Можешь весь билд там же описать, будет итого в одну команду тебе все делать
Unknown
на винде нельзя билдить под любую платформу?
Андрей
нет
🅰️nimeCoder
Unknown
хах
Андрей
и под мак
🅰️nimeCoder
На маке тоже, ток под вайном
Андрей
если нужно билдить из под винды на линух, то wsl с головой хватит, а для дебага лучше виртуалку все равно ставить
🅰️nimeCoder
На лине можно под 3 оси при желании, но по факту ток винду и линь
Андрей
ну там такая же история, wine нужен вроде
🅰️nimeCoder
Wine часто тоде не простое занятие поставить, гыгы
Unknown
интересно
Андрей
ci/cd можно поднять, там докер образ с wine, не самое хитрое дело
🅰️nimeCoder
Я все кроме мака с линия собираю (собсно основной системы), а мак в гитхаб экшенах