Sergey
Sergey
Eldar
Скажите это newbees. Приходит человек, и хер пойми что норм а что нет. Были бы строгие стандарты дефакто, не было бы столько говна)
krn
ребят, такой вопрос. не считайте за старт холивара, но зачем вообще нужна Монга? работал в основном с ней, до сих пор плеваться хочется. Когда нужно обеспечить связи между коллекциями ( а такое бывает практически всегда), джоинить (=populate) запросы - целое дело.
Artur
напоминает холивар по типу react vs ang2
Тут уже вопрос в том будешь ты сам подключать и контроллировать сторонние либы или отдашь эту ответсвенность разработчикам фреймворка
Sergey
Artur
Sergey
NoMad42 🇷🇺
Nurik
Nurik
2018 год, а там raw запрос это строка. Норм чё.
Dmitry
getaddrinfo ENOTFOUND api.telegram.org api.telegram.org:443
axios.post(`https://api.telegram.org/bot${token}/sendMessage/`, {
chat_id,
text
})
с локала работает, с firebase - нет
Dmitry
убейте меня
Roman
а ты уверен что фаербейз разрешает тебе делать любые колы во внешний мир?
Владислав
Добрый день. Просветите новичка, по какой причине не появляется скомпилированный .js файл при запуске webpack-dev-server?
Владислав
const path = require('path');
module.exports = {
entry: './src/main.js',
output: {
filename: 'main.min.js',
path: path.resolve(__dirname, 'dist'),
publicPath: path.resolve(__dirname, 'dist')
}
};
Dmitry
Roman
Владислав
ОК, спс.
Dmitry
ой
https://github.com/firebase/firebase-functions/issues/29
Igor
Владислав
Да, верно. Я уже погуглил. Тогда у меня непонимание. Зачем он вообще компилит, если этим бандлом нельзя воспользоваться?
Igor
Как нельзя? Можно. Сайт прогрузиться. Просто в файловой системе ты не увидишь свой бандл
Igor
А вот зачем так сделано - не помню.
Владислав
Гм, ОК, сейчас попробую. Я просто в Докере запускаю, поэтому открывал файл напрямую, сейчас проброшу порты.
Sergey
Sergey
A
ребят, такой вопрос. не считайте за старт холивара, но зачем вообще нужна Монга? работал в основном с ней, до сих пор плеваться хочется. Когда нужно обеспечить связи между коллекциями ( а такое бывает практически всегда), джоинить (=populate) запросы - целое дело.
хитрый вопрос :))
Монга нужна тогда, когда джойнить не надо, а обеспечивать надёжные связи между коллекциями не обязательно 🙂
Да, такое бывает.
Более того нужно помнить несколько вещей:
1. монга хоть и с небольшой хитростью, но позволяет делать релейшены (да, я про атомарные операции над документами и вложеность).
2. нужно вспомнить для чего вообще (ну как минимум по легенде) была придумана монга и какие проблемы она решает. А решает она не те проблемы, что в вопросе.
Ну и соответственно, можно пофантазировать и подумать как эти проблемы могли бы решаться в реляционке.
Только не надо скатываться в "мне не нужно - значит никому не нужно" )
krn
A
Михаил Макарычев
A
Смотри в чём штука. Основной selling point монги - масштабирование.
Достигается это репликацией и шардированием.
krn
Пусть 1000 юзеров , 100к комментов юзеров
A
Поэтому сразу предполагается, что монга - это распределённое хранилище данных.
А в распределённых системах, если мы хотим какого-то более-менее вменяемого перфоманса, действуют совсем другие правила.
Тут нам на помощь сразу прибегает CAP-теорема, которая говорит, что выбрать можно только две из трёх букв. Современные взгляд на этот счёт, кстати, говорят, что можно в треугольнике этом точку двигать, но не суть.
A
Теперь вспоминаем про наши связи
A
Всё здорово, когда связь локальная и не реплицирована. Но что делать, если одна половинка связи лежит на одной физической машине, а другая на другой?
Как в этом случае проверить целостность?
Задача о двух генералах говорит что гарантированно - никак. Но есть варианты
A
Разумеется, при этом есть варианты. Мы не можем сделать это гарантированно, но мы можем выработать алгоритм, который будет с достаточно высокой вероятностью сходится к хорошему решению
Владислав
Владислав
Anonymous
Подскажите сканер уязвимостей веб-приложений (SQL-injection, XSS, open-redirect, etc) open-source =)
krn
Я конечно погуглю ещё задачу о генералах. Но вот для наглядности можно пример, где связи не нужны, или нужны настолько , что популейты не станут вызывать много боли ?
Igor
Владислав
Я уже изменил.
A
Проблема только здесь в том, что при такой распределённой работе есть еще такая вещь, как сеть. А сеть - штука не надёжная и не быстрая (а вай-фай вообще говно 🙂 )
Поэтому мы сразу попадаем на механизм отлова ошибок и рассинхронизаций.
А это всегда - время.
Соответственно, в теории можно построить реляционку, которая поддерживает связи на разных нодах, они наверняка даже есть. Но по-прежнему придётся чем-то жертвовать из CAP
Владислав
В конфигах тоже, соответственно.
A
A
Связь есть, но тебе не обязательно поддерживать её констрейнтом
A
Ну вставишь ты комментарий от пользователя, которого нет или удалён. Мир что-ли обрушится?
A
Или представь, что у тебя этих комментов не 100к, а 100 000 000к
Даже если это войдёт в один жирный сервер, ты не сможешь это обслуживать на приемлемой скорости
A
Придётся горизонтально масштабироваться.
Sergey
A
А при горизонтальном масштабировании можешь сказать пока-пока своим связям даже в реляционке
Владислав
без диска
Я не понимаю. Как я могу подключить файл, которого на диске нет. Что я делаю не так? Всё точно по доке.
A
Это, конечно, не оправдывает того, что уютный бложек надо делать на монге )
Владислав
Или, допустим, что могу. Что я упустил?
Sergey
Sergey
зачем тебе в дев режиме подключать файл который создался в памяти?
Владислав
Как я увижу результат?
Cenator 🐈
в браузере открыть можешь
Владислав
Я выше скрин скинул с 404 ошибкой.
Владислав
Физически этого файла нет.
Sergey
Владислав
Sergey
Sergey
его и открывай
Sergey
откуда ты там bundle.js взял?
Владислав
Я поменял название файла.
Sergey
нам об этом откуда знать?
Владислав
Я писал выше.
Sergey
вообще доку почитай по девсерверу
Sergey
и выкинь докер
Sergey
проблемы только создаешь себе
krn