• Какова практика создания мультидоменных сайтов?

    @Stan_1
    Выбор по языку можно делать не только на фронте, но и настройками ngnix. Примерно, как описано вот здесь.

    https://github.com/giom/nginx_accept_language_module

    У меня трехязычный сайт, и там действует такая логика (на уровне NGNIX):
    1. Установлена ли кука user_lang?
    2. Если да, то она равна "en"? Если да - открываем https://example.com
    3. Если кука есть, но не равна "en", открываем https://example.com/$user_lang
    4. Если куки нет, и браузер имеет язык "ru" или "es", открыть https://example.com/ru или https://example.com/es
    5. Если куки нет, и браузер имеет язык не "ru", и не "es", открыть https://example.com

    Соответственно, в самом приложении, при выборе языка из списка, ставится кука user_lang, чтобы пользователь мог зафиксировать свой выбор.
    Ответ написан
    Комментировать
  • Как называется договор, по которому можно долгое время проводить работы?

    @Stan_1
    Рамочный договор с общими пунктами: прайс-лист на часы, ответственность, конфиденциальность, какие-то общие условия.

    Допсоглашения: сроки, трудоемкости, состав работ.
    Ответ написан
    Комментировать
  • Какое облачное хранилище посоветуете?

    @Stan_1
    Что-то вообще беда с нормальными системами. :(

    ownCloud - в целом неплох, очень user-friendly. Но медленно закачивает, и сходит с ума при большом количестве мелких файлов.

    NextCloud - то же самое, с теми же проблемами.

    Seafile - была большая надежда, но попробовал, и понял что преимущество только одно - скорость работы. Клиенты убогие, для Mac клиент как-будто сделан лет 10 назад. Зачем-то создаются какие-то библиотеки, папки на английском языке - все это нужно объяснять пользователям.

    Так что пока ничего хорошего из Open Source в этом сегменте приложений нет :(
    Ответ написан
    2 комментария
  • Что быстрее: обработка данных на pgsql или php?

    @Stan_1
    Сам долго разбирался с этим вопросом. Как результат - для себя принял формулу: "простые SELECT + обработка в бекэнде". Причины:
    1. Более поддерживаемый код - логика выполнения не разбросана по двум местам, а вся сидит в BackEnd
    2. Были проблемы с прогревом - проще тянуть две таблицы по отдельности, чем одну через JOIN. Получается быстрее на первичном доступе к данным.
    3. Более простая отладка и исправление ошибок, более простое расширение функционала
    Ответ написан
    Комментировать
  • Где взять список хороших и плохих слов?

    @Stan_1
    Я таким пытался заморочить, смотрел англоязычные API для определения эмоциональности поста, пытался их прикрутить к одному Интернет-магазину. Но увы, чаще всего, комментарий выглядел как "Идея мне очень нравится, свежо и оригинально, но реализация - фигня". То есть по сути, хотя отзыв отрицательный, алгоритмы их считают положительными, поскольку положительных слов больше. В итоге плюнул, так и не сделал.
    Ответ написан