Задать вопрос
  • Что быстрее SQL или Javascript?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Вопрос задан как пальцем в небо.
    Быстрее будет не отдельно взятый постгрес или сайт на js, а машина, на которой это все будет считаться.
    JS где - у пользователя в браузе, или это nodejs на сервере?
    постгрес крутится на той же машине, или на другой? Какой там процессор, сколько, сколько памяти?

    Не забывать, что если данные лежат в базе, а считать вы будете в JS, то к расчетам еще добавить время на передачу данных, поэтому чисто теоретически наверное выполнить все на постгресе должно быть быстрее.

    Но вам никто не ответит на вопрос точно. Гораздо проще провести перформанс тесты и посмотреть живые ответы.
    Ответ написан
    3 комментария
  • Что быстрее SQL или Javascript?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    Вопрос в объемах данных.

    Если вы хотите найти средний чек по сотне покупок - то вообще без разницы, как именно вы это сделаете.
    А если у вас средний чек по сотне тысяч покупок - то считать на nodejs будет довольно проблемно, даже если вы туда никакой ORM-ки не накинете над данными.

    А если покупок у вас сотня миллионов - то проблема будет считать и в постгресе.
    Ответ написан
    Комментировать
  • Что быстрее SQL или Javascript?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мужские мужчины уже ответили на основной вопрос.

    Я добавлю что чем больше данных мы обрабатываем тем дороже становиться цена передчи
    информации из места где оно храниться в блок вычислений. В концепции трехзвенки которая
    описана RDS(Postgres)/NodeJS/Python/Web удобнее всего вычилсять прямо в Postgres. Поскольку
    данные рядом и сетевых расходов на передачу нет. Если Postgres по каким-то причинам не может
    вычислять или не владеет API то в этом случае мы с помощью курсора (SELECT) передаем
    нужный датасет на клиента (в данном случае это Python/Node) и там вычисляем. При этом
    мы должны понимать что это займет время и сетевой канал да еще и результат вычислений
    тоже надо отослать обратно. Тоесть данные будут бегать как рейсовый автобус туда-сюда.

    Для однозначного решения что хорошо и что плохо - надо ставить эскперимент. Но предварительно
    мне и присуствующим уже очевидно что лучше всего вычислять прямо в хранимых процедурах
    Postgres. Единственным доводом против может быть несовершенство языка PL/pgSQL
    но я-бы этот факт тоже проверил. Для реляционных задач его обычно хватало.

    Данная проблема (рейсовый автобус для данных) еще более сильно выражена в BigData. Там стараются
    дизайнить систему так что данные - write-only и после загрузки в хранилище (ETL/ELT) больше никогда
    не изменяются и лежат неподвижно (т.н. Bronze Level информации). И джобы которые бегают
    по ним - запускаются в вычислительном кластере физически рядом с дисковым хранилищем.

    Вот. А на клиента отдаются обычно сводные отчеты и кака-то аналитика. Это то что в 100-10000 раз меньше
    по размеру обычно чем основные данные.
    Ответ написан
    Комментировать
  • Что быстрее SQL или Javascript?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    (найти средние/макс/мин значения по-разному сгруппированных данных из разных таблиц/вьюх и тд).

    это называется OLAP
    OLAP DB так и гуглите, есть как надстройки на классик RDBMS так и спроектированные базы

    есть конечно и продукты на Питоне но это больше для развлечения, основная проблема - засирание памяти
    Ответ написан
    Комментировать
  • Что быстрее SQL или Javascript?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    В общем, чтобы не издеваться над девушкой, объясним на пальцах.

    Во-первых, заголовок у вопроса чудовищно некорректный. Это все равно что спросить, "что быстрее - пылесос или стиральная машина?"
    Во-вторых, ответ на вопрос "производить ли обработку данных в БД или же запросить все данные в клиентское приложение и обрабатывать там" совершенно очевиден: обработку данных следует производить в общем случае только в БД. Она для этого и придумана. Чтобы обрабатывать значительные объемы данных.

    Да, js тоже "может" обрабатывать большие объемы данных.
    Но чтобы значительный объем данных обработать, его сначала надо передать, полностью забив канал между сайтом и базой
    Чтобы значительный объем данных обработать, его надо сначала проиндексировать. Причем делать это каждый раз, а не использовать уже имеющийся набор индексов
    Чтобы значительный объем данных обработать, надо иметь значительный объем памяти или упасть из-за её недостатка
    Чтобы значительный объем данных обработать в многопоточном режиме (а сайт как раз является многопоточной системой), все вышеперечисленное надо умножить на количество посетителей сайта - при каждом запросе перегонять весь массив данных, выделять память, индексировать, считать. Если же вы оставляете все данные в памяти приложения, то их тогда надо как-то синхронизировать с БД. То есть вы себе собираете кучу проблем на пустом месте.

    Несомненно, из любого правила есть исключения. И бывают ситуации, когда приходится считать в приложении.
    Но на вопрос в общем виде ответ будет совершенно однозначный. Не "может так, может сяк", а только в БД.
    Ответ написан
    9 комментариев
  • Как восстановить почту gmail?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    они там что курят??))
    это Вам в поддержку гугла надо.
    А точно пароль отправляют на user@gmail.com, а не какой, указанный резервным, user1@gmail.com ? Либо могут просить варианты старых паролей.
    Ответ написан
    1 комментарий
  • Проверка блока питания до сборки?

    iNickolay
    @iNickolay
    Без нагрузки он не запустится - это чревато для него, поэтому стоит защита)
    А так, можете подключить к какой-нибудь старой матери, но эта проверка бессмысленна)
    Ответ написан
    4 комментария
  • Можно ли иметь два разных сайта на адресах с www и без?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    www.primer.ru
    primer.ru

    Это 2 разных хоста или один. Последние рекомендации для серверов рекомендуют заводить оба, но делать редирект с www.primer.ru на primer.ru. Ну и браузер скрывает www.
    так что во избежание путаницы заведите хост en.primer.ru
    Ответ написан
    2 комментария
  • Можно ли иметь два разных сайта на адресах с www и без?

    @vitaly_il1
    DevOps Consulting
    Конечно можно.
    Ответ написан
    Комментировать
  • Как выбрать ноутбук для фронтенд разработки?

    @historydev
    Mistkerl, drück den Knopf.
    Лучше возьми себе стационар и нормальных мониторов парочку. - глаза спасибо скажут.

    Так тем более фронт, верстать на одном монике, тем более таком мизерном как на маках, это что-то близкое к мазохизму.

    Макбуки переоценены, помимо работы тебе и поиграть во что-то захочется, не сомневайся. - а он тебе этого не даст.

    Покупая ябло-продукцию подписываешься на монополию - купи кабель, купи наушники, купи телефон, купи всё на что денег хватает или всё что мы тебе продать хотим.

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

    После привязки к ябло-аккаунту, отвязаться будет сложнее - чем наркоману от дозы.
    Ответ написан
    3 комментария
  • Как выбрать ноутбук для фронтенд разработки?

    Fragster
    @Fragster
    помогло? отметь решением!
    https://aliexpress.ru/item/1005004466789487.html в варианте 32 гб / 2ТБ
    Главное биос не обновлять (и сразу в сервисе сбэкапить) )
    Ответ написан
    2 комментария
  • Можно ли закрепить сбоку окно в python?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    1. Если игра запускается в режиме Fullscreen (не в окне без рамок), а именно Fullscreen, то ты никаким образом вообще не сможешь своё питоновское окно показать поверх игры. Такое возможно только инъекцией в игру (тебе это не надо)
    2. Если игра запущена в окне или "в окне без рамок", то просто у окна нужно установить свойство StayOnTop или вообще сторонними средствами сделать сделать это окно "поверх других".

    Если у тебя второй вариант, просто гугли "как сделать окно поверх других в <твой гуи фреймворк>".
    Ответ написан
    1 комментарий
  • На ubuntu запускают только один nginx или для нескольких проектов есть смысла запустить 2 иболее?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Во-первых, два разных процесса nginx не могут следить за одним портом (например за стандартным 80-ым или за 443-им). Во-вторых, nginx и так запускает отдельные процессы для распаралеливания обработки запросов (worker-ы называются, для определения их кол-ва есть настройки), и чутко следит за их работой. В-третих, если хочется, что бы при нагрузке на один сайт другие страдали - это как-то ненормально, что в компьютере кто-то должен страдать...
    Ответ написан
    Комментировать
  • На ubuntu запускают только один nginx или для нескольких проектов есть смысла запустить 2 иболее?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Вы совершенно ни туда полезли.
    Что бы организовать использование ресурсов обычно используют следующие техники:
    * Виртуальная машина
    * Контейнер и на него накладывают лимиты
    * Лимиты на приложение

    С первыми 2 все понятно, сколько выделят столько и сьест.

    Насчет 3 рассмотрим основные нагрузки
    * Disk IO - реально упереться только если куча мелких файлов, причем не так КУЧА. Решается грамотной настройкой кэширования
    * Network IO - тут решается стандартными средствами https://docs.nginx.com/nginx/admin-guide/security-...

    * CPU - настраивается в зависимости от интерпретатора, сам NGINX практически не грузит процессор


    To limit CPU usage of the process called nginx to 40%, enter:

    cpulimit -e nginx -l 40
    To limit CPU usage of the process to 40% by using its PID, enter:

    cpulimit -p 3302 -l 40


    То есть ваша задача создать для разных локэйшенов свой экземпляр php-fpm и прикрутить ему лимиты.
    Ответ написан
    Комментировать
  • На ubuntu запускают только один nginx или для нескольких проектов есть смысла запустить 2 иболее?

    @aleks-th
    А смысл ?
    Ну запустиш ты 5 экземпляров nginx, компьютер то один, интернет канал один - все равно при нагрузке на один сайт будут проблемы у всех.

    Ну если хочется у каждого сайта свое окружение - doker.
    А чтобы они совсем никак друг на друга не влияли - на каждый сайт своя виртуалка.
    Ответ написан
    1 комментарий
  • На ubuntu запускают только один nginx или для нескольких проектов есть смысла запустить 2 иболее?

    @pfg21
    ex-турист
    не правильно мыслишь :)
    1. нагруженный nginx заберет все аппаратные ресурсы системы (память, время процессора) и тормознет работу остальных nginx, даже если они будут "запущены как отдельные клиенты" :)
    2. сам nginx запускает "внутри себя" кучу процессов, для того чтобы работа не упиралась в нехватку потоков исполнения. т.е. это теже отдельные клиенты, только "внутри" nginx.
    как сам понимаешь твое предложение бессмысленно...
    оптимизируй работу сайта или расширяй ресурсы системы, а лучше и то и это сразу :)
    Ответ написан
    Комментировать
  • Как удаленно установить и запустить OS в режиме lite?

    @Drno
    Если Вы таким не занимались - Вам нужен соответствующий сисадмин

    Такой режим называется "live"

    Я вижу 2 варианта - записать нужное на флешку и грузиться с неё.
    Или развернуть TFTP сервер, засунуть туда нужный образ и грузиться по сети
    Ответ написан
    4 комментария
  • Почему не записываются данные в файл?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Как все новички, вы оперируете понятием "может быть".
    "может быть сервер не принимает". "по крайне мере должно отправлять". "насчет РНР не уверен"
    Так делать никогда не надо.
    У вас есть все возможности узнать то, что происходит на самом деле. Факты.
    Вот фактами-то и надо всегда оперировать.
    Какая вам разница, "может ли быть такое, что backend не принимает"? Может. И чем вам это знание поможет?
    Вам не нужно знать абстрактно, вам нужно знать, принял ли ваш конкретный сервер ваши конкретные данные.
    А узнать это очень просто. Если "backend не принимает", то но выдаст ошибку. Все что вам нужно - это посмотреть, что он возвращает. Глазами.
    Плюс на всякий случай проверить, настроен ли backend на вывод ошибок.

    При работе с аякс запросами надо всегда держать открытой вкладку Сеть в инструментах разработчика в браузере.
    И смотреть, во-первых, что ваш фронт отправляет, а во-вторых - что сервер отвечает. Там вообще может быть 404. Поскольку никакого конкретного адреса вы на сервере не указали.
    Плюс если ответ сервера есть, то надо смотреть его содержимое на предмет ошибок.
    Ответ написан
    Комментировать
  • Почему не работает callback функция внутри slice()?

    Alexandre888
    @Alexandre888
    Javascript-разработчик
    почему моя callback стрелочная функция не возвращает 5-ку?


    термин «callback» никак не связан с текущим кодом, почитайте определение на learn.js

    - let result = str.slice(0, () => str.indexOf('Morning')) + paste
    + let result = str.slice(0, (() => str.indexOf('Morning'))()) + paste
    
    - () => str.indexOf('Morning');
    + (() => str.indexOf('Morning'))();


    вы просто передали стрелочную функцию в .slice, вы не вызвали её.

    функция вернёт какое-либо значение только в том случае, если вы её вызовите.

    только непонятно, зачем использовать функцию, если можно просто указать str.slice(0, str.indexOf("..."))

    подразумеваю, что это тест возможностей языка
    Ответ написан
    2 комментария
  • Почему с формы обратной связи на почту хостинга приходит пустое письмо?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Проверить что приходит в $_POST
    2) Не использовать стандартную функцию mail(), так как она слишком плохо дебажится, да и в целом не айс.
    3) Поставить нормальный мэйлер, типа пхпмэйлер/свифтмэйлер.
    Ответ написан
    Комментировать