LINUX.ORG.RU

отговорите: (nodejs) vue.js + express + pg-promise + postgresql + docker

 ,


1

2

Хочу сделать небольшое и легконагруженное приложение - редактор словарей терминов. Есть список слов, можно искать слово. У слова есть карточка, которая своя для каждого пользователя, но можно смотреть чужие карточки. Карточка в формате markdown или что-то около того.

Клиента буду делать на vue.js, а сервер хочу на node.js . Да, меня уже отговаривали использовать node.js на стороне сервера. Но вдруг для такого простого проекта прокатит? В принципе, я готов всю тяжесть написать на pl/pgSQL, а на нодке - только тончайший интерфейс и собственно веб сервер. Соответственно, вопрос - как там с утечками памяти и прочими такими вот ужасами?

Т.е. вопрос состоит не в удобстве и не в производительности, а в качестве с т.з. надёжности.

Перемещено tailgunner из development

★★★★★

Пиши, все там ок. Работал в одной компании где весь бек был на ноде, обслуживал 1m rpm, 100+k ws подключений, всякие аналитики и прочие глупости тоже на ноде. Понятно что все шардированное и очень много своего кода было, но собственно это компанию кормило и позволяло укладываться в серьезный SLA.

michey ★★ ()
Ответ на: комментарий от den73

Ну так то да. Не зря его отдельно отгородили от прочего девелопмента.

Короче, по делу. А чего не возьмешь просто вордпресс и там как сущности:

Слова — это теги. Карточки — это посты.

Не удивляйся, я серьезно. В этом весь веб — взять хер пойми что и сделать хер пойми как. Работать будет, а там хоть трава не расти. Главное — научишься правильному веблансу.

deep-purple ★★★★★ ()
Ответ на: комментарий от deep-purple

Спасибо, я понял, видимо, это будет отдельный пункт обучения - какое хер пойми что лучше подходит к какой задаче. Но в данном случае я хочу сделать систему с несколькими пользователями. Её структура как-то всё же совсем не похожа а блог. Или ты хочешь сказать, у каждого будет свой блог? Тогда нужен будет поиск по тегу по нескольким блогам... Ну а если нужно искать по части слова?

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)

Многовато всего для небольшого легконагруженного, не? Ну если цель учебная, тогда ладно. Делай на ноде, пощупаешь как раз. Я пытался как то делать аналитику, поначалу вроде легко, но вскоре сломался на этих калбяках. Отладка адова, но это было давно на заре ноды. Да и я тот еще пограмист.

bread ()
Ответ на: комментарий от den73

Я наполовину тебя троллю. Проблемма тут в том что «наполовину».

Т.е. реально, у рядовых лансеров нет понимания вот этих всех, ТЗ, классов, наследований, тестов, докера. У них и локалхоста то чаще нет. Все работы ведутся через филезиллу прямо на живом сайте. Что там самое такое? Ну, вордпресс, джумла, битрикс, и пара шопов.

Вот эти все гламурные ноды, вуи, коффе и прочее — живут на галерах, где надо махать веслом от зари до зари. Там правда еще и печеньем кормят.

Но ты должен сейчас выбрать чего ты хочешь — фрилансить или махать веслом на галере. Отсюда будет развилка какой инструментарий тебе браться изучать.

Поверь, если ты припрешься на фриланс с гламурщиной, на тебя там заказчики посмотрят как на инопланетянина. Им же надо джумлу поправить в очередной раз за пару часов. А ты её и знать не знаешь. Ну и наоборот — придя с знаниями джумлы на галеру ты и там обкакаешься.

А чтобы знать и то и то — нужны годы.

Выбирай.

deep-purple ★★★★★ ()
Ответ на: комментарий от deep-purple

Ну, я рассчитываю расти в течение лет двух. Вопрос в том, что будет кормить меня лучше по истечении этого срока. Грести готов.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

Вот эти все гламурные ноды, вуи, коффе и прочее — живут на галерах, где надо махать веслом от зари до зари.

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

Поверь, если ты припрешься на фриланс с гламурщиной, на тебя там заказчики посмотрят как на инопланетянина. Им же надо джумлу поправить в очередной раз за пару часов.


Это только про кроварвый фриланс.сру. А чем тебе не нравится перспектива писать на лиспах для того же кросовера? Ну веб так веб. Собственно в РФ есть аж две вакансии кложуристов.

michey ★★ ()
Последнее исправление: michey (всего исправлений: 1)
Ответ на: комментарий от den73

Так в соседней ты говорил вроде что надо прям щас зарабатывать.

Если ты еще как-то можешь потянуть пару лет, то изучай галерный инструментарий. Если не готов — учи: вордпресс, джумлу, модикс как минимум. Плюс к ним (вместе с ними): html, css, jquery.

deep-purple ★★★★★ ()
Ответ на: комментарий от michey

нормальной удаленки на стартапы из калифорнии\лондона

Для джунов? Нафиг они кому нужны. Тут еще вопрос, возьмут ли ТС на галеру. Там предпочитают молоденьких гребцов.

bread ()
Ответ на: комментарий от bread

У ТСа, я так понимаю, вагон и маленькая тележка опыта разработки.
Обычно в таком случае фреймворки\тулы\языки это просто инструмент, который достаточно быстро осваивается и идти куда-то джуном это трата времени.

michey ★★ ()
Ответ на: комментарий от deep-purple

Нет, сильно потянуть не могу, я имею в виду, что собираюсь выбрать направление и расти в нём до топовых зарплат. Если сначала будет совсем мало - это это не страшно. Соответственно, нужны те технологии, где в принципе есть топовые зарплаты. Если прямо сейчас я буду зарабатывать мало - это не страшно. Ещё страшно, если выбранное мной направление сдохнет.

den73 ★★★★★ ()
Ответ на: комментарий от nikolnik

Я предпочитаю работать в одно лицо, т.е. это, как я понимаю, «фуллстек». А поскольку я уже старый и тупой, мне нужно минимизировать количество разных технологий, к-рые нужно держать в голове. Если нода жизнеспособна, то плевать, насколько она неудобна - что-нибудь да придумаю.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 2)
Ответ на: комментарий от deep-purple

Код на жаваскрипте абсолютно не поддается автоматическому рефакторингу, как и статическому анализу вообще. Потому писать приложения на нем - боль и слезы. Банальный go to definition в жс уже невозможен, только если ide что нибудь угадала.

nikolnik ★★ ()
Ответ на: комментарий от den73

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

nikolnik ★★ ()

Но вдруг для такого простого проекта прокатит?

Прокатит без проблем. Вопрос только в том, сколько ты во все это будешь вникать.

Vit ★★★★★ ()
Ответ на: комментарий от den73

Вид в профиль, плюс зависишь от того, как авторы либы сделали ts-специфику (хедеры) - без этого иде не сможет ничего. А так все равно придется обмазываться промисами.

leave ★★★★★ ()
Ответ на: комментарий от den73

На самом деле, фигня этот тайпскрипт. Во-первых, 99% библиотек особо не заморачиваются и везде пихают any. Есть интерфейсы, но в рантайме интерфейсов нет, я часами заморачивался обворачивая все модельки и всю херню в интерфейсы, обкручивал все дженериками, а в результате все как было undefined is not, так и осталось. Единственное преимущество, что в ангуляре вебшторм в шаблонах интелисенс неплохой. Но по факту, никакой типобезопасности в тайпскрипте нет.

nikolnik ★★ ()
Ответ на: комментарий от den73

Вот не сможешь ты знать только ноду. Никак. Там с ней еще десяток лярв в комплекте придется удовлетворять. Да, в вебе много всего.

Давай так. Бери инструменты из своего заголовка и делай. Пробный срок — 2 недели. Отпишешься сюда о проделанной работе, что успел запилить, как получилось. Если не сложно — вывали на гитхаб, пацаны позырят, поставят диагноз.

deep-purple ★★★★★ ()
Последнее исправление: deep-purple (всего исправлений: 1)

Пока ты будешь ждать заказчика под свой стек, заказ у которого тебе еще надо будет выбить, доказав свое преимущество перед иными кандидатами, я выполню пару десятков рандомных тасков, как по объему, так и по необходимым технологиям для их реализации, общей стоимостью в несколько раз выше, чем тот заветный заказ, которого ты ждешь. А потом еще, вполне возможно, и твой заказ заберу.

Суть в том, что мелких заказов на поддержку легаси, допиливание фич в старых проектах, или фикс багов, в сотни\тысячи раз больше, чем тех, что будут подходить под твою узкую специализацию. А знаний твоих не хватит, как бы забавно это не звучало - что фулстек не будет уметь решать примитивные вещи. Потому как вкатываешься ты в обертки.

int64 ()
Ответ на: комментарий от int64

Сегодня я пилил скрипт, который будет встраиваться в рандомные страницы неопределенных сайтов, с неопределенной поддержкой каких-то фич, который должен был в прямом смысле хачить кое-какие интерфейсы WebAPI, чтобы перехватывать управление у других скриптов, и реализовывать очень грязный баннер, который бы нарушая (опять же хаками) CORS (заставить триггерить пользователя событие на ифрйме с инородного домена, так чтобы он не подозревал, что он его стриггерил), заставлял пользователя производить клики, которые он производить не захотел бы, и который бы не перехватывался блокировщиками.

В сущности немыслимая мелочь, если знать принципы объектной модели. Ни на каких галерах такие вещи не пилят, это не энтерпрайз, а очень-очень грязные штуки. И заказывал ее типичный васян, который будет применять эту поделку там, где потом линуксятники будут плеваться от нее. Но стоила такая штука 10к рублей за день работы. Суть в том, что 80% заказов, это такая вот мелочь, и лишь 20% это крупные фуллстек-заказы.

А фрилансю я с 2006го года.

int64 ()

Я года 3-4 выкатился из ноды. Тогда был хайп, популярный express.js на калбеках и перспективный koa на генераторах

Пол года назад смотрел что там: express на калбеках по прежнему во все поля, с неплохой базой мидлварей. У koa пара комитов в месяц, со скрипом «перешел» на async. В кавычках потомучто поддерживаются 2 несовместимые версии: на генераторах и async; мидлвари в зачаточном состоянии, полузаброшенные

Неужто последователи MEAN до сих горят в callback hell и не желают ничего менять?

Сложилось впечатление, что node занял только одну нишу - сборка вебни на сервере: webpack, typescript, компилятор jsx

makoven ★★★★★ ()
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от int64

Я в vue вник часов за 20. Написать Api на koa заняло часа два вместе с читаниеем hello word на коа и гуглением orm postgres для ноды.А вот в js ... по-моему тут самое сложное. До сих пор не знаю что даёт сравнение NaN.

leprikon ()

Т.е. вопрос состоит не в удобстве и не в производительности, а в качестве с т.з. надёжности.

все хорошо будет с нодой, не хуже чем с остальными представителями. только js сразу меняй на ts, осиль async/await, и вместо вуя - реакт и tsx, будет вполне норм.

dib2 ★★★★ ()