Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

toddbarry

  • 0
    вклад
  • 21
    вопрос
  • 3
    ответа
  • 33%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Как реализовать рекурсивное считыание всех потомков объекта в Gino()?

    Zarom
    Дмитрий Шицков @Zarom
    Для поиска родителей-потомков есть там Self Referencing, правда экспериментальный.
    Ответ написан более трёх лет назад
    10 комментариев
    10 комментариев
  • Существуют ли библиотеки, позволяющие реализовать совместное редактирование статей на сервисе?

    DevMan
    DevMan @DevMan
    https://conclave-app.herokuapp.com/
    etherpad.org
    https://gobby.github.io/
    https://firepad.io/
    https://github.com/ONLYOFFICE
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Стоит ли использовать асинхронный драйвер для postgres?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Если взять какие-либо данные одинаковой структуры и объёма, то сортировка, группировка и агрегация этих данных в Python будет на порядок медленнее, чем в СУБД. Даже если в Python эти данные будут располагаться в памяти. Но передача результата обработки данных от СУБД в Python код будет на два порядка дольше, чем обработка их в Python. Именно ввод/вывод - это самая медленная часть. Настолько медленная, что на её фоне всё остальное - несущественные издержки. Эту проблему и решает асинхронность, позволяя программе вместо простаивания выполнять какие-либо полезные действия в момент ожидания ввода/вывода. Но это работает только в том случае, если абсолютно весь код асинхронный. Если один вызов блокирующийся, асинхронность всей остальной цепочки вызовов бесполезна.

    И не эффективнее ли будет стандартная многопроцессная парадигма работы postgres, когда на каждое подключение создаётся отдельный процесс.

    Кроме того можно ведь обращаться к синхронной базе на psycopg2 через run_in_executor()

    И то и другое подходит пока у вас не больше 50 rps. Во-первых, каждый поток потребляет ресурсы сервера. Во-вторых, запуск, остановка и синхронизация потоков приводят к дополнительным издержкам. Эти два пункта справедливы и для процессов, только сказанное можно смело умножать на тысячу.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Какой фреймворк выбрать в качестве альтернативы django?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    Вероятно, вам понравится Flask.
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Как отключить графическую оболочку на Ubuntu Desktop 16.04.1?

    Zarom
    Дмитрий Шицков @Zarom
    askubuntu.com/questions/800239/how-to-disable-ligh...
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Каккой выбрать асинхронный сервер + API для асинхронной передачи данных?

    begemot_sun
    Сергей @begemot_sun
    Программист в душе.
    Erlang (cowboy).
    Все остальные со..
    www.ostinelli.net/a-comparison-between-misultin-mo...
    Ответ написан более трёх лет назад
    11 комментариев
    11 комментариев
Оценили как «Нравится»
Самые активные сегодня
  • Drno
    • 17 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 9 ответов
    • 0 вопросов
  • vovka3003
    Владимир Шаблий
    • 9 ответов
    • 0 вопросов
  • Алексей Гончаров
    • 6 ответов
    • 1 вопрос
  • mayton2019
    • 5 ответов
    • 0 вопросов
  • nedosekinstanislav
    Stanislav
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации