Andrey
Привет всем! Мы в Deworkacy делаем хакатон для разработчиков ИТ-продуктов всоциальной сфере для компании МТС (web/app/комплексные решения hardware+softeware). Мотивация участия: возможность запустить пилот на базе МТС и группы АФК, job offer от МТС для всей команды, офис в Deworkacy + 100 000 рублей. Все подробности здесь: deworkacy.ru/socialspirit
kdm🇩🇰
привет. изучаю проксирование через node js, потестил http-proxy модуль, вроде работает, но мне надо взять данные из бд и отправить их другому серверу. появляется ошибка
kdm🇩🇰
если proxy.web(req, res, { target: 'http://localhost:3000' }); переместить после запроса к бд, то ошибки не будет, но придется второй раз загружать страницу, чтобы вытащить данные из бд(он получается сначала редиректит тебя, а потом результаты из бд достает)
Mikhail
А есть какая нить популярная либа для работы со списками и подобными данными? Чтобы самому не писать :)) ну тип поиск по списку, перемещение элемента
Smooth Operator
зачем это делать на ноде, я бы не стал)
kdm🇩🇰
зачем это делать на ноде, я бы не стал)
так приказано. да вроде уже решил проблему)
Sergey
Короче для тех кто любит вбросы и срачи есть теперь чат @it_holywars Если вам нужно послать человека, кидайте ему ссылку, будем холиварить
yarastqt [msk +1 week]
:D
Gleb 🌶
трафика линули
Gleb 🌶
пхаха
Maxim
Всем привет. Что думаете про фреймворк loopback? Юзает кто-нибудь?
KlonD90
а чем здесь не чат для холивара
Михаил Макарычев
Повторю вопрос: Привет. У меня вопрос по qiwi api. Можно ли переводить деньги с одного кошелька на другой без смс-подтверждения? Или такое только через эмулятор пользователя в браузере сделать можно?
Anonymous
Всем привет. Что думаете про фреймворк loopback? Юзает кто-нибудь?
Ну такое... Скажем так, попытка большой и страшной IBM запихнуть ручки в наш хипстерский мир (а на самом деле продать нам хостинг по цене крыла от Боинга). Если не хотите брать надоевшие Express и Koa, то есть вроде бы неплохой Hapi.
Maxim
Ну такое... Скажем так, попытка большой и страшной IBM запихнуть ручки в наш хипстерский мир (а на самом деле продать нам хостинг по цене крыла от Боинга). Если не хотите брать надоевшие Express и Koa, то есть вроде бы неплохой Hapi.
Не то что надоевшие. Я, так скажем, пришёл из мира python и django. Сейчас пришёл к мысли, что, странно писать на разных языках для фронтэнда и бэкенда, поэтому надо бы потихоньку осваивать что-нибудь на ноде. И на глаза попался как раз этот loopback. И на первый взгляд прям идеально подходит под то, что я ищу: целостный фреймворк (не куски, которые надо собрать воедино), заточенный под написание API, без какого-либо рендеринга страниц, ORM из коробки. Loopback чем-то плох? Или есть какие-то альтернативы, более-менее подходящие под такие условия?
Anonymous
Народ, вот уже месяц пытаюсь перестать думать SQLем и работать с ентим вашим NoSQL. Как в MongoDB (+Mongoose) делается связь one-to-many? Например, список коментариев к посту или список пользователей, подписавшихся на обновления треда. Сложить их в отдельную коллекцию и добавить ID родительского документа или каким-то макаром запихнуть их в нечто типа массива в родительском документе? При этом по ним должен быть простенький поиск (например, все коментарии пользователя под постом) и выборка порциями. Подходят ли для этого "поддокументы" (http://mongoosejs.com/docs/subdocs.html)? Как делать такое по феншую?
Vladimir
Также как в SQL
Anton
не нужно думать nosql, нужны связи - используй реляционную базу. nosql это просто инстурмент для каких-то определенных решений.
Anton
Неверно
чой это? каждой задачи свой инстурмент, какой смысл отказываться от реляционки, если она решает задачу удобнее.
Vladimir
Никто не говорит, что от реляционки надо отказываться, если она есть
Vladimir
Связи и в NoSQL работают точно так же
Maxim
"Странно писать на разных языках для фронтенда и бэкенда". Почему странно-то? На клиенте вы рендерите элементы, двигаете формочки и пр. На сервере вы работаете с БД, протоколами и пр. Логичнее бы было использовать как раз разные языки
Ну всё равно, на мой взгляд, со временем всё придёт к унификации. Зачем условному стартапу нанимать двух человек для фронтэнда и бэкенда (либо одного, который владеет и тем, и тем), когда можно нанять одного, который выполнит ту же самую задачу, условно, в два раза дешевле, потому что ему не нужно было учить два языка. Это, конечно, утрированно.
Anonymous
не нужно думать nosql, нужны связи - используй реляционную базу. nosql это просто инстурмент для каких-то определенных решений.
NoSQL - это захардкоженная палка, которая бьёт разработчика по рукам за JOINы. Потому что у нас тут шардирование, cloud и полный highload. Но иногда выборка связанных данных то нужна, никуда вы от неё не денитесь.
Evgeny
Храните все связанные данные в самом документе 😎
Anonymous
чой это? каждой задачи свой инстурмент, какой смысл отказываться от реляционки, если она решает задачу удобнее.
Смысл нести в проект PostgreSQL ради одной мелкой фичи, когда MongoDB справляется на отлично со всем остальным?)
Evgeny
Когад смысл нести - можно взять просто sqlite
Vladimir
Достаточно рапространенное заблуждение, что реляционные базы и связи это одно и то же
Anton
Храните все связанные данные в самом документе 😎
и в какой nosql бд можно хранить сложный документ с большой вложенностью?
Evgeny
и в какой nosql бд можно хранить сложный документ с большой вложенностью?
It depends on что подразумевается под большим и сложным
Anton
ну, например у меня есть массив объектов, и в этом массиве объектов лежат еще объеты содержащие массив. мне потребуется их обновлять (те которые вложенны) - монга, например, не сможет обновить объект вложенного массива
Maxim
От Loopback попахивает Тырпрайзом в стиле .NET. Нечто такое вот огромное, неповоротливое и переусложнённое. Если вам нравится вот так https://github.com/strongloop/loopback/raw/master/docs/assets/lb-modules.png, можете попробовать)
А какие есть альтернативы? Только, пожалуйста, без такого, чтобы каждый endpoint самому описывать. В express именно так, насколько я понимаю. Хотелось бы примерно как в Django — указал модель, указал, какие CRUD операции тебе от неё нужны. Всё, готово. Всё занимает 4 строчки, благодаря наследованию. Но при этом неплохо расширяется / изменяется путём переопределения методов, mixins и ещё всяких механизмов. Ну и ORM свой сразу.
Evgeny
ну, например у меня есть массив объектов, и в этом массиве объектов лежат еще объеты содержащие массив. мне потребуется их обновлять (те которые вложенны) - монга, например, не сможет обновить объект вложенного массива
А, не, я не об этом. В монге идея хранения всего в одном обьекте была весьма популярна в момент ее становления, и ее пропихивали куда только можно. Я говорил об этом.
Anton
ну и сам лупбек для этого не годен
Anton
Почему тырпрайз-то?
мне, как и предыдущему оратору, тоже кажется, что оно попахивает тырпрайзом и лупбек туда и метит
Maxim
мне, как и предыдущему оратору, тоже кажется, что оно попахивает тырпрайзом и лупбек туда и метит
Не, ну на счёт лупбека-то возможно, Но django, например, отвечая этим требования, энтерпрайзом нисколько не пахнет. Вполне себе хипстерское говнецо.
Evgeny
Лупбек из ниши энтерпрайза, да. Стронглуп, все дела. По отзывам все его хaют как весьма забагованное решение
Anonymous
мне, как и предыдущему оратору, тоже кажется, что оно попахивает тырпрайзом и лупбек туда и метит
Он не просто туда метит. Это поделие IBM с нацеленностью на их продукты и их же хостинг (что-то типа кривого heroku) с конскими ценами.
Anton
ну тогда это вообще пиздец. IBM в принципе ничего кроме Java и C++ не поддерживает нормально в плане либ, как и оракл. получится типа-тырпрайз без возможности рабоать с тырпрайзом
Maxim
Что тогда посоветуете? На каком фреймворке делать бэкенд и выставлять его в API?
Evgeny
http://nodeframework.com/
Evgeny
Я б Хапи рекомендовал
Nikolay
Хапи збс, +1.
Anonymous
Хапи?
Anonymous
Серьёзно?
Evgeny
О! Есть аругментированный список минусов?
Anonymous
В NoSQL у тебя будет документ с постом и в нем массив субдокументов с комментариями. Не нужно никаких 1M, суть немного иная
И насколько нормально это всё будет работать при паре млн комментов (условно)? И как там с шардированием всей этой кучи?
Anonymous
О! Есть аругментированный список минусов?
1. Она для оч больших приложений 2. По ней мало инфы
Evgeny
ок
Nikolay
Мало инфы? Насколько я помню, дока там весьма подробная и вменяемая.
Anonymous
Примеры имел ввиду, сори за неточность
Anonymous
Я б коа рекомендовал. Чистый и красивый код.
Nikolay
Ну экспресс и коа — это классика, но много придется писать самому. А в хапи из коробки и валидация, и система плагинов, и много всякого добра.
Anonymous
Так а че хапи тогда? Бери сразу сейлз
Anonymous
:)
Maxim
А что у них у всех на счёт ORM? Надо отдельно подключать?
Anonymous
У сейлза вроде не
Anonymous
А у остальных да
Anonymous
Ток в коа это делается в три строчки
Anonymous
Точнее секвалайз за три строчки подрубаетсч
Maxim
Точнее секвалайз за три строчки подрубаетсч
Слышал плохие отзывы про этот ваш секвалайз. Правда от phpшника. В сравнении с phpшными инструментами. Что думаешь на этот счёт?
Maxim
А ещё вопрос, как вы поступаете с импортами? Транспилируете бабелем в require? Или не используете импорты в пользу require?
Anonymous
А ещё вопрос, как вы поступаете с импортами? Транспилируете бабелем в require? Или не используете импорты в пользу require?
Если юзать node 7+, то Babel имхо не нужен. Нативных импортов не предполагается ещё с пол года, плюс это будет сильно не похоже на RequireJS транспайлинг, так что просто поменять расширение файла не получится (https://medium.com/p/e0e7dcc44c6e). Async/await уже есть нативный и он норм, а Babel будет генерить лапшу с адовым дебагом.
Anonymous
во первых можно после бабеля на выход давать es6-7 во вторых бабель это не только es7->es5 а также куча разных полезных плагинчиков
Возможно, не буду спорить) Я для себя давно ещё постановил: никакого транспайлинга и костылей на сервере. С тех пор неудобств не испытываю.
Anonymous
Слышал плохие отзывы про этот ваш секвалайз. Правда от phpшника. В сравнении с phpшными инструментами. Что думаешь на этот счёт?
Поддержу, иногда дикие запросы генерит плюс баги бывают в кустах. И api мальца не удобное, но это уже вкусовщина. Я от него отошёл в сторону Knex. Это QueryBuilder от sequelize. Миграции есть (хотя имхо, не оч реализация), запросы пишу ручками и ее парюсь.
Maxim
Запросы ручками =( Как-то дико всё в этой вашей ноде.
Anonymous
Раньше был голый драйвер от MySQL 😂
KlonD90
Там больше для постгреса сейчас чем для mysql