Контакты

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (17)

Лучшие ответы пользователя

Все ответы (11)
  • Обязателен ли web-server (NGINX) для Actix Web?

    @Eugene-Usachev
    Обязательным nginx не будет, но он рекомендован большинству веб-проектам. Очень многие проблемы на себя берёт nginx, и вообще странно брать высокопроизводительный инструмент (Actix Web) и не позаботься о балансировке нагрузки (или вы хотите сами писать балансировщик?).
    Ответ написан
    Комментировать
  • Какая база данных подходит для частых UPDATE и сортировки?

    @Eugene-Usachev
    Если я правильно понял суть вопроса, вам подойдёт любая KV СУБД. Вынесите только эту таблицу в какой-нибудь Tarantool или Redis (я имею в виду использовать хранимые процедуры для вашей задачи). 1-3 млн записей - относительно немного. Даже если одна запись весит 4 КБ, все данные займут 4-12 ГБ ОЗУ, что не так уж и много. Если использовать батчинг, что Redis, что Tarantool дадут вам на 16 ядрах свыше 100к RPS на такие сложные запросы.

    Можете так же глянуть AerospikeDB (хранит данные на диске, но с индексами в памяти, где один индекс стоит 64 байт), но я не уверен, что вам хватит его функционала. Если вы дадите больше контекста, возможно, я смогу предложить вам другие идеи.

    UPD: AerospikeDB тоже позволяет сохранить готовые процедуры, так что его функционала хватит для вышеуказанной задачи.
    Ответ написан
    1 комментарий
  • В каком приложении программировать на Python?

    @Eugene-Usachev
    Я перебрал много редакторов кода, в частности для Python. Если кратко, берите Pycharm (там есть бесплатная версия, в которой только Python, но раз вы только учитесь, вам её хватит), если у вас есть хотя бы 8 ГБ ОЗУ, так как в проектах средней величины IDE начинает потреблять неприлично много (под 2 с половиной ГБ), если у вас нет такого запаса ОЗУ, берите VSCode.

    А теперь чуть подробнее. Когда я начанал учить программирование, я писал около месяцев 2 в стандартным редактором кода Python (я уже не вспомню, откуда она, но с установкой Python появляется грубое подобие блокнота с подсветкой синтаксиса и возможность стартовать программы на f5). Думаю этот абзац не нуждается в пояснении, насколько это удобно, но я к тому, что даже так можно писать код.

    Дальше я перешёл на Sublime text. Я писал на нём около месяца и не понял, за что его так хвалят. Может, я просто не смог настроить его под себя, но мне он показался, конечно, удобнее стандартного редактора кода Python, но я не понял, за что его хвалят.

    Дальше я решил попробовать VSCode и около полугода писал в этом редакторе кода. Ощущения были бесподобными после Sublime text. Этот редактор кода имеет множество расширений, которые ставятся меньше, чем за минуту. Без расширений очень тяжко программировать (может, в Sublime text есть все нужные, но я не уверен), так что это очень важный плюс. Также VSCode помогает набирать код (начинаешь набирать название переменой / метода / функции / класса и так далее и VSCode начинает подбирать похожие элементы из кода), что ускоряет процесс написания кода раза в полтора. Так же VSCode самый популярный редактор кода, так что в интернете легко найти гайды по настройке и легко найти исправления багов редактора кода. ИМХО, VSCode на голову лучше Sublime text.

    Затем я опробовал VS. Тоже бесплатная и предоставляет тот же функционал, но менее популярный (не на много). Для Python проще использовать VSCode.

    Затем я попробовал IDE от JetBrains (по типу PyCharm). И я ощутил то же самое, что при переходе с Sublime text на VSCode. Багов почти нет, удобная официальная документация, так же популярна и легко ставить расширения. Но расширений тут гораздо больше и выходят они сначала именно для этих IDE. Кастомизация этих IDE гораздо проще, чем кастомизация в VSCode. IDE подсказывает ощутимо лучше, так ещё и подсвечивает некоторый кривой код (написанный не по стандарту или содержащий прочие ошибки не связанные с логикой программы). И из приятного, все инструменты для разработки идут из коробки (для Python идёт из коробки пакетный менеджер). Так же порадовали авто-импорты (в других редакторах кода их можно поставить только с помощью расширений).

    ИМХО, писать код можно и в блокноте (как в первом абзаце), но я не вижу смысла заставлять себя использовать неудобные инструменты. Так что я бы посоветовал установить или PyCharm или VSCode. Не забудьте сразу загуглить hotkeys для соответствующего редактора кода и список самых популярных расширений для них. Это сразу ускорит работу и упростит её. По субъективным ощущениям, правильные расширения и hotkeys + "умный" редактор кода ускоряют разработку раза в 2 относительно Sublime text.
    Ответ написан
    Комментировать
  • Где делать запросы на РЕАКТЕ?

    @Eugene-Usachev
    Есть простое решение, которое изучают все новички React, оно подразумевает использовать useState в верхних компонентах, через useEffect с пустым массивом зависимостей заполнить этот state и пробросить его ниже.
    Однако лучше использовать стейт менеджер. Я не смогу описать их в одном ответе, но советую вам погуглить про них. Самый популярный (с большим отрывом) - Redux (смотрите так же Redux-thunk и Redux-saga). Однако я бы посоветовал использовать MobX или Zustand так как они тоже популярны, но значительно удобнее. Судя по вашему запросу, я бы посоветовал начать с useState и useEffect.
    Не относится к теме вопроса, но вам стоит посмотреть плейлист "Мощнейшая практика" от uldi TV, так как автор не просто показывает, как использовать React, но и делает акцент на лучших паттернах и структуре.
    Ответ написан
    Комментировать
  • Как сделать много вставок в HashMap за минимальное время?

    @Eugene-Usachev Автор вопроса
    Должен отметить, что Василий Банников дал прекрасный ответ. Дальше я пошёл в увеличение количества map (срез содержит срез map, который содержат другие map) и добился скорости записи 3 000 000 элементов на моём компьютере за 180 миллисекунд (вместо 4 секунд).

    И вот сейчас я наткнулся на замечательную статью от DragonflyDB https://github.com/dragonflydb/dragonfly/blob/main.... Там подход схожий с моим, советую к ознакомлению всем, кто хочет масштабировать map вертикально (за счёт числа ядер).
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (13)