• Как увеличить производительность проекта на python?

    все упирается в бд, на ум сразу пришло вынести эту часть в микросервис
    Какой ещё микросервис? Микросервис, который делает что?

    В-нулевых, нужно конкретизировать что значит "упирается в БД". Тормозят какие-то конкретные запросы? СУБД не хватает ресурсов? Слишком медленный диск? Или, может, под "упирается в БД" вы понимаете всю бизнес-логику приложения, которую вы называете "берет из бд нужные данные" (и тогда становится понятно про микросервис)?
    Во-первых, нужно вынести СУБД на отдельную машину, желательно на голое железо (если речь про реальный хайлоад, а не про кривой код и конфиги).
    В-третьих, под это железо нужно СУБД корректно сконфигурировать.
    В-четвёртых, нужно добавить кэширование.
    В-пятых, нужно проверить алгоритмы и пофиксить узкие места (на последнем месте, потому что это самое трудоёмкое).

    Я понимаю, что python и django не самые быстрые инструменты (мягко скажем)
    Я вас уверяю, что проблема в вашей компетенции (мягко скажем), а не в инструментах. Есть достаточно проектов, написанных на Джанго, которые вывозят большие нагрузки.
    Вы, в принципе, правильно сделали, что попытались поначалу закидать проблему железом - оно обычно дешевле, чем время разработчиков. Но параллельно надо и оптимизацией заниматься, и это требует системности, которой в вопросе не очень-то видно. Ну и компетенций разных - если тормозят алгоритмы - это одно, если конкретные SQL-запросы - это другое, если СУБД задыхается в принципе - это третье.
    Ответ написан
    5 комментариев
  • Rust подходит для новичка?

    Zoominger
    @Zoominger
    System Integrator
    Норм, простой и понятный язык:
    fn bar<'a>(p: &'a int) -> &'a int {
        return p;
    }

    Видите, как всё просто?
    Ответ написан
  • Почему openjfx не входит в состав openjdk?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Идёт процесс модуляризации стандартной библиотеки. Чтобы в будущем программисты могли поставлять с приложением компактную версию виртуальной машины с минимально необходимым набором библиотек. В рамках этого процесса JavaFX вынесли в отдельный модуль. Так же, как например JAXB - средства для работы с XML и JSON. В одной из следующих версий в отдельный модуль вынесут и Swing. До Java11 модуль JavaFX оставался в составе стандартной библиотеки и входил в OpenJDK, после вынесен в отдельный SDK. Необходимые библиотеки можно получить в виде зависимостей:

    Maven
    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx.controls</artifactId>
            <version>12.0.0</version>
        </dependency>
    </dependencies>
    Gradle
    dependencies {
        compile 'org.openjfx:javafx.controls:12.0.0'
    }

    Или SDK можно скачать здесь и подключить модули вручную:
    javac --module-path "C:\Program Files\Java\javafx-sdk-12\lib" --add-modules=javafx.controls Example.java
    java --module-path "C:\Program Files\Java\javafx-sdk-12\lib" --add-modules=javafx.controls Example
    Ответ написан
    2 комментария