• Что делать если на сервер поступает 2 и более запроса на обработку?

    Попробуйте запустить через uwsgi там можно настроить количество процессов, которые будет запускать flask и работать ему с потоками или нет. Перед uwsgi поставьте nginx и у вас получиться система, которая сможет обрабатывать много запросов одновременно.
    Ответ написан
    Комментировать
  • Какую БД использовать в телеграм боте на хостинг сервисе?

    @rPman
    sqlite проще, нагрузки у telegram ботов очень низкие поэтому этого будет достаточно. Бонусы - простота администрирования, памяти sqlite требует значительно меньше чем mysql сервер
    Ответ написан
    Комментировать
  • Как должна выглядеть UML диаграмма компонентов для функционального подхода?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Во первых. Функциональное программирование не запрещает дата-объекты. Вот к примеру если у вас есть таблица Employee из стандартного учебного набора Oracle то она может быть отражена таким образом в Haskell:

    data Employee = Employee {
     empno :: Integer,
     ename :: [Char],
     job :: [Char],
     mgr :: Maybe[Integer],
     hiredate :: Day,
     sal :: Integer,
     comm :: Maybe[Integer],
     deptno :: Integer
    }


    В том что Haskell это достаточно строгий язык который лежит в категории ФП я надеюсь никто не сомневается.

    А в мультипарадигменных языках типа Scala с объектами
    вообще нет проблем. Берите - делайте объекты сколько надо.

    Во вторых, UML проектирование - это такой-себе уровень абстракций, который удобно
    обсуждать с бизнесом и показывать на слайдах. Но он вовсе не обязан следовать буква-в-букву коду.
    Архитектура - это вообще не про код. Это про намерения, про взаимодействие, про стандарты и смыслы.

    Методы UML объектов вы можете сделать функциями. Я не вижу в этом чего-то нерешаемого.
    Рассматривайте метод как функцию где первый аргумент - это сам объект. Это такой легкий
    троллинг ООП. Типа ООП - это функции где первый аргумент == this.
    Ответ написан
    Комментировать
  • Почему strcmp неправильно сравнивает кириллицу?

    @res2001
    Developer, ex-admin
    Все просто (сложно) - кодировка введенных символов не совпадает с кодировкой исходников программы.
    Вы видимо пишите консольную программу под виндой - тут это типичная проблема для новичков, т.к. в русской винде в консоли возможны 2 стандартные кодировки cp1251 и cp866, причем по умолчанию используется cp866 (по умолчанию - это когда вы просто запустите cmd.exe). Проверить текущую установленную кодировку консоли из самой консоли можно командой chcp, ею же можно и изменить кодировку.
    Кодировка исходников может быть вооще какой угодно, кроме вас ее никто не знает.

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

    Нормальный подход в этом случае:
    1. писать исходники в UTF8,
    2. узнать текущую кодировку консоли,
    3. перед выводом любого текста перекодировать текст из UTF8 в кодировку консоли,
    4. при вводе текста с консоли перекодировать из кодировки консоли в UTF8, и только после этого с текстом можно совершать какие-то действия, например strcmp().
    5. в коде для хранения строк использовать wchar_t и wstring, а не char и string.
    Ответ написан
    1 комментарий