Задать вопрос
  • JS в качестве БД?

    @rPman
    javascrip - это инструмент, json - это формат, а база данных - это место хранения, инструмент и формат одновременно.
    Т.е. тебе нужно еще понять где ты будешь хранить данные, и вот от сюда и полезут проблемы.

    Интернет магазин - значит участвует как минимум браузер (вырожденные случаи вида - магазин в telegram/wechat не рассматриваем), хранить данные браузер умеет только локально, для клиента, а у интернет магазина как минимум есть еще продавец, с которым клиент должен связываться для получения списка и цен на товары в наличии и указаний к пожеланию купить (корзина)... т.е. нужен еще и сервер (варианты с децентрализованной сетью так же не рассматриваем ибо это хардкор не для новичков).

    Если твой сервер однопоточный (например если речь идет про javascript то бакэнд серверный можно писать на nodejs, с оговорками про асинхронность) то в принципе можно хранить все данные в файлах, и не сильно заморачиваться с блокировками и транзакциями, а из-за них основные проблемы возникают, зачем люди к готовым базам данным идут.
    Если тебя это все еще интересует,
    веди работу с базой данных из отдельных функций (например объединив их в класс), по окончанию работу каждой чтобы данные в файлах были в консистентном - правильном состоянии, перезапись делать через временный файл с переименовыванием в оригинальный после всех изменений, это аналог транзакций, это даст гарантии по сохранности данных при смерти внезапной скрипта, например окончилась память или место на диске, само собой проверять это при следующем запуске и давать возможность вручную разрулить. Если сумарный объем базы больше мегабайтов, то не храни все в одном файле, первый уровень разделения - по типам данных, например раздели данные для редких изменений и постоянных - списки товаров и корзина, кстати цены можно так же отдельно хранить, само собой тебе тогда придется идентификаторы заводить и следить за их уникальностью - вот уже сиквенсы пошли (кстати есть алгоритмы uuid где каждый новый гарантированно уникальный без необходимости централизации и чего либо хранения), если же данных совсем много и часто меняются случайные из них то храни каждый объект в своем файле, файловая система справится, но лучше все же освой нормальные БД

    Поэтому тебе правильно посоветовали, используй sqlite, минимум усилий на обслуживание и настройку (база данных = файл, никакого сервера и при этом полноценный sql с почти бесплатной миграцией на любую sql базу данных в будущем)
    Ответ написан
    Комментировать
  • Как в Django установить соединение с RabbitMQ?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    вас не устраивает официальный манул? rabbit
    Ответ написан
    1 комментарий
  • Как правильно указывать(хранить)пароли в docker-compose?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если докер является частью вашего облака AWS/Azure - то надо читать их документацию. Обычно постащик облака всегда продает какой-то сейф (vault) для хранения секретов. И есть API через который можно читать содержимое этого сейфа.
    Ответ написан
    Комментировать
  • Как правильно указывать(хранить)пароли в docker-compose?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Универсальным рецептом на любую архитектуру является:
    Хранение паролей в секретнице, например HashiCorp Vault

    Приложение при инициализации идет за своим набором секретов по сети и создает подключения к БД, конфиги доступа к др ресурсам и прочее и хранит у себя... Все секьюрно и надежно

    Если проще: передавайте секреты через переменные окружения при деплое.
    Локально — через .env файл. Docker-compose сервисы могут содержать параметр env_file: .env.test, если вам нужно точечно что-то сделать

    Вы разве используете docker-compose для продакшн?
    Ответ написан
    9 комментариев
  • Как установить соединение с Postgres и при потере, восстановить его?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Можете пользоваться пулом подключений, если подключения нет — пул автоматом создаст новое (обычно библиотеки, которые позволяют создать pool — хорошо и эффективно создают такие соединения)

    Ваша задача только: между сервисами разделить потребности пулов, чтобы размеры пулов в сумме у всех сервисов не были больше количества соединений самого Postgres.

    Также посмотрите на pgbouncer или odissey, если у вас нагруженное приложение.

    Вообще пересоздать подключение не сложно — вы же создаете первое, также создаете и новое... Предварительно можете пинговать соединение через метод ping() — такой обычно есть у всех библиотек для работы с серверами баз, если оно занято — пересоздать его, Но вам нужно учитывать, что подключение может быть занято долгой транзакцией... потому пул соединений является лучшим решением.
    Ответ написан
    2 комментария
  • По каким причинам может не запускаться в браузере сервис, запущенный в качестве Docker-контейнера?

    @JaneYa Автор вопроса
    Проблема решилась.
    Причина -> моя невнимательность.
    Я при создании образа контейнера зашел не в тот каталог, где Dockerfile, а на уровень выше.
    После пересоздания с нужного каталога всё заработало.
    Ответ написан
    Комментировать
  • ИИ который может описать то, что изображено на картинке?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    https://openai.com/blog/clip/

    но если чо, таких нет ;)

    максимум - очень близко, разными алгоритамами,
    и на картинках like ImageNet или объектах на белом фоне
    Ответ написан
    Комментировать
  • Как организовать RabbitMQ очередь для нескольких микросервисных приложений?

    @yarkin
    В AMQP есть механизмы подтверджения клиентом обработки сообщения (basic.ack), посмотрите вот тут вот тут
    Ответ написан
    Комментировать
  • Не работают сложные команды в Ubuntu?

    Lynn
    @Lynn
    nginx, js, css
    У вас в первой команде русская буква «а» в слове аpt.

    И в слове install тоже.

    Попробуйте в следующий раз копипастить аккуратнее.
    Ответ написан
    3 комментария
  • Работа рекламных компаний гугл на территории РФ сейчас?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Рекламные кАмпании гугл отключил в России из-за войны в Украине
    Ответ написан
    2 комментария
  • Глупые вопросы по тостеру, которые меня интересуют?

    6274c3558ac3a089197449.png

    Все пользователи с 0 вопросов и 9999 ответов действительно гении или это новореги или им удаляли вопросы?
    Аудитория Тостера, по сути, делится на четыре группы:
    1. Те, кто абсолютно не умеют искать информацию и пользоваться головой. Или умеют, но ленятся. Они бесконечно задают вопросы и очень редко отвечают.
    2. Те, кто прекрасно имеет искать информацию (вычленять суть проблемы, формулировать её, подбирать ключевые слова, отсеивать шелуху). Они очень редко задают вопросы, но не потому, что вопросов не возникает, а потому, что на абсолютное большинство их вопросов ответ в интернете уже есть, его нужно только найти.
    3. Те, кому не хватает опыта для того, чтобы оказаться во второй категории. Со временем они туда переходят.
    4. Те, кто зашёл случайно, не связан с программированием и дети, желающие наконец-то узнать нужны ли им математика и высшее образование.
    Ответ написан
    15 комментариев
  • Почему не могу запушить репозиторий в github?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Большой файл видимо был добавлен в один из новых, ещё не запушенных коммитов. И затем был удалён, но остался в истории. Неважно, что сейчас в рабочем каталоге. Пушится не рабочий каталог, а ветки репозитория. Это разные сущности.

    Просто склейте новые коммиты в один, это решит проблему.
    git reset --soft github/master
    git commit -с
    git push github -all
    Ответ написан
    Комментировать
  • SQL db for research&development on GO?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    SQLite
    Ответ написан
    Комментировать
  • Как сделать что бы бот дс распознал спам и наказал участника за это?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    1.Сформировать список спам-слов/фраз.
    2.При каждом сообщении - проверять есть ли данные слова/фразы в тексте.
    3.Если есть - банить.
    Если вы хоть немного знаете python и умеете читать доки, то сделать это будет легко.
    Если нет - у вас два варианта:
    • Изучать ЯП и доки по библиотеке;
    • Пойти на фриланс:
    Ответ написан
    Комментировать
  • Как писать приложение на нескольких яп?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Для крупных компаний с огромными системами вполне распространённая практика писать разные части системы на тех языках, которые наиболее подходят для реализации функций этой части. Но в этом случае под каждый язык/технологию нанимают отдельную команду. Для одного разработчика писать на нескольких языках - идея не очень хорошая, мозг не любит такие смены контекста. Особенно это тяжело дастся начинающему.
    Ответ написан
    Комментировать
  • Какие алгоритмы и библиотеки применять для визуализации графов?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    wt_fxhxvwnjp6luyqrftbwdcgy4.png

    graphviz и все что у него в комплекте (dot, neato и др)
    Ответ написан
    2 комментария
  • Как оптимизировать COUNT(*)?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    создайте таблицу в ней что то типа rows_matched
    при инсерте нужной фразы добавляйте 1
    при удалении вычитайте

    по итогу у вас вместо тяжелого селекта очень легкий запрос
    Ответ написан
    Комментировать
  • Проектирование БД, какую СУБД выбрать?

    @Akela_wolf
    Extreme Programmer
    Ваши нагрузки легко выдержит любая SQL СУБД - MySQL, PostgreSQL.

    Преждевременная оптимизация - зло. Начните с простых, давно уже известных вещей. А затем уже, по мере выявления узких мест - оптимизируйте.
    Ответ написан
    1 комментарий
  • Совместимы ли Golang и Machine Learning?

    @dmshar
    Давайте разделим - мухи отдельно, а котлеты отдельно.
    Вопрос первый:
    "Совместимы ли Golang и Machine Learning?" - Ответ "да". Существуют решения для МL и на Go, и на Python, и на С# и на Java, и даже на PHP и JavaScript. А если учесть, что процентов 80 инструментов для МL реализованы на С++ то и он задействован.
    Вопрос в том, на чем чаше работают при решении задач ИИ и ML - это уже совсем другой вопрос.
    Вопрос второй:
    "можно ли мне их будет совмещать в дальнейшем, чтобы работать сразу в двух направлениях." Если под "их" вы понимаете Go и ML - то см. выше. А если "backend" и ML - скорее всего нет. Впрочем, есть такая специальность, как "Machine Learning engineer" или еще говорят "Специалист по дата-инженерии". Там могут оба навыка как-то сблизиться и где-то пересечься. Но это не чистый "backend" и не чистое Машинное обучение. Посмотрите в эту сторону.
    Вопрос третий:
    "Не знаю, что выбрать backend разработку на Golang или Machine Learning" (кстати, а тут уже вы Go противопоставили МL - это случайность?)
    Вот тут за вас никто не решит, и не стоит перекладывать ответственность на других. Посмотрите, почитайте - благо в интернете на эту тему написано столько, что ни на одном форуме вам не расскажут что-то новое. Подумайте, что вам больше нравиться, к чему больше тянет. Вообще говоря это разные сферы - одна чисто технологическая, вторая скорее статистическо-математическая, где программирование используется только как инструмент. Не факт, что вы настолько разносторонне и равномерно подготовлены, что почувствуете себя одинаково комфортно в обоих сферах. И принимайте решение. Самостоятельно! Без оглядки на советы непонятно кого, с непонятно каким опытом и образованием.
    Удачи.
    Ответ написан
    Комментировать