• Как сделать, что клиенту прилетал актуальный PDF-файл?

    Adamos
    @Adamos
    Выставить настройки кэша в заголовках ответа, отдающего файл.
    Для особо упертых браузеров, которые могут класть на эти заголовки (вроде Хрома) - отдавать файл каждый раз по другой ссылке (добавив ?ver=mtime, например).
    Ответ написан
    1 комментарий
  • Как в ЧПУ Битрикс установить #SECTION_CODE# корневого раздела на не последнего?

    через настройки никак, только ручками программировать
    Ответ написан
    Комментировать
  • Как правильно реализовать меню?

    Adamos
    @Adamos
    По-битриксовски - положить его в sect_inc.php в той папке, которая объединяет эти 8 страниц.
    Ответ написан
    Комментировать
  • Как почистить папку с 246к папок по ssh?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Можно использовать xargs, он сам поделит список аргументов, переданных через stdin, на такие блоки, чтобы они вписывались в лимит. Чтобы не было спецэффектов от всяких особых символов, можно использовать find -print0 | xargs -0 (символ с кодом 0 будет разделять имена файлов вместо стандартного переноса строки):

    find условия -print0|xargs -0 rm -rf

    Однако GNU find сам умеет удалять файлы с помощью -delete:

    find условия -delete

    Ещё может быть проблема, что подобная операция помешает работе сайтов из-за нагрузки на диск, это можно решить с помощью приоритетов для процессов (nice) и ввода-вывода (ionice), тогда удаление будет по возможности выполняться в фоне:

    nice -n19 ionice -c3 команда

    (Если используется find|xargs, то это нужно передать xargs)
    Ответ написан
    Комментировать
  • Как лучше хранить журнал в долгосрочной перспективе?

    BumblingBee
    @BumblingBee
    Во всем по немногу диванный эксперт
    Лучше всего использовать для хранения логов отдельную БД,предназначенную для этих целей, иначе вы рискнуете очень быстро получить ситуцию, когда таблица с логами будет занимать больше места на диске, чем все остальные таблицы с бизнес данными, вместе взятые. Это неминуемо приведет к проблемам с администрированием такой базы, бэкапы станут больше по размеру, будут делаться дольше и т.д.

    В качестве БД для логов лучше всего использовать Click House - базу от Яндекс. Она отлично для этих целей подходит и невероятно хорошо сжимает данные, т.е. помимо всего прочего, еще и на диске эти данные будут не много места занимать. Также вы можете с Click House настроить полтики хранения данных, например указать что данные в таблице лога должны храниться 5 лет, и CH будет сам их чистить.

    Нужно также учесть, что если вы хотите сделать хранение лога транзакционным, т.е. гарантировать, что не будет ситуации, когда у вас бизнес данные поменялись, а при запили в лог упала ошибка, и данные не были залогированы, то нужно вести запись в CH в два этапа. Нужно продублировать таблицу для ведения лога в вашей транзакционной БД, и писать в нее информацию о действиях пользователей в одной транзакции с изменением бизнес данных. Далее нужно реализовать джобу, которая в фоне например по расписанию, или иным образом, будет скидывать данные из лог таблицы в транзакционной БД в таблицу ClickHouse, затем удалять данные в лог таблице транзакцонной БД, только после их успешного переноса в CH. Таким образом таблица с логами в транзакционной БД всегда будет маленького размера.

    См. также паттерн Transactional Outbox
    Ответ написан
    Комментировать
  • Как исправить ошибку при git push?

    Stalker_RED
    @Stalker_RED
    HTTP Error 413 - Content Too Large

    Это не у гита косяк, а у вашего вебсервера у которого лимит на размер заливаемых файлов.
    Настройте параметр client_max_body_size в nginx, или LimitRequestBody если у вас apache.
    (не забудьте перезапустить вебсервер или перечитать конфиг на горячую).

    Либо переключите git с https на SSH, тогда вебсервер не повлияет.
    Ответ написан
    1 комментарий
  • Как правильно соединить при выдаче 2-3+ разных таблиц с одинаковой структурой в единую выборку?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно UNION автоматически делает distinct для всех таблиц-участников процесса union.
    Это является причиной замедления.

    Используй UNION ALL.
    Ответ написан
    3 комментария
  • Как произвести изменения в детальной карточки товара?

    У вас два пути:
    1. Изучить Битрикс (и веб-разработку в целом).
    2. Заплатить профессионалам, которые уже всё это знают.

    По картинке диагностировать проблему мы не можем и объяснять вам направление для решения задачи (выяснить через DevTools что именно создаёт "пустоты" и дальше редактировать либо шаблон компонента, либо стили шаблона сайта), судя по содержанию вопроса, тоже бесполезно.
    Ответ написан
    6 комментариев
  • Как отправлять проект заказчику?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Очевидно, что человек хочет получить готовый продукт.
    Если это программа, предназначенная для работы локально на пк заказчика
    Например

    - Скрипт, подключающийся к базе Access со списком клиентов и генерирующий pdf-документы на основе выборки данных.
    Формочка на pyqt5/другом граф.фреймворке, выполняющая какие-то действия

    То стоит скинуть заказчику код удобным ему способом, подробно описав какие шаги нужно совершить, чтобы программа запустилась.
    В случае, если программа должна крутиться на сервере (бот/сайт/что угодно), то можете установить ее на этот сервер. Разумеется, развертывание приложения - тоже работа, которая должна быть оплачена.
    Главное - заранее максимально четко обсудить подробности, чтобы потом не было недопониманий.
    Ответ написан
    Комментировать
  • Nginx разные имена файлов на одном сервере для разных доменов, отдача статики?

    TheCreator
    @TheCreator
    Бездельник
    А что мешает вам запустить один раз скрипт, который создаст симлинки на все сеошные файлы? Зачем мучать nginx?
    Ответ написан
    1 комментарий
  • Нужно ли ставить на VPS php-fpm?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    В приципе с Apache не обязятельно, но я бы заменил его на связку nginx + php-fpm и PHPMyAdmin удалил от греха подальше
    Ответ написан
    1 комментарий
  • Что значит цель обработки пд достигнута?

    vabka
    @vabka
    Токсичный шарпист
    Цель - это то что ты сам, как оператор ПД, задекларировал в своём соглашении на обработку ПД.
    Это то, зачем тебе вообще эти ПД нужны.

    Например тебе нужны ПД клиента чтобы оказать ему какую-то услугу и больше ничего ты не написал (например банки пишут, что они продолжат хранить ПД ещё 15 лет после расторжения договора)
    Как только услуга эта оказана - тебе следует удалить данные.
    Ответ написан
    Комментировать
  • PHP не видит директорию?

    @pantsarny
    Вероятно open_basedir
    Ответ написан
    Комментировать
  • Как название системы и как устроена?

    martin74ua
    @martin74ua
    Linux administrator
    PXE загрузка сервера
    https://habr.com/ru/articles/136921/
    например тут почитайте
    Ответ написан
    Комментировать
  • Где находятся глобальные переменные в bitrix?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Где-то в одном из файлов, которые ранее подгрузились файлами, которые по цепочке загрузили этот файл. С учётом того, что загрузка могла быть и через autoload.
    Открываете Midnight Commander, переходите в корень сайта, нажимаете Esc-? и запускаете поиск $siteLanguage.
    Ну или grep -r '$siteLanguage' /site/root/*
    Поубивав бы за глобальные переменные.
    Ответ написан
    1 комментарий
  • Как найти значения одного массива в другом и вывести их?

    0xD34F
    @0xD34F
    $arr2 = array_combine(array_column($arr, 'sku'), $arr);
    $result = array_map(fn($n) => $arr2[$n], $torgPred);

    или

    $result = array_filter($arr, fn($n) => in_array($n['sku'], $torgPred));
    Ответ написан
    2 комментария
  • Как лучше хранить журнал в долгосрочной перспективе?

    Stalker_RED
    @Stalker_RED
    По сути три больших направления с кучей мелких ответвлений
    1. хранить текстовый лог в отдельном файле/сервисе/логохранилище
    2. хранить лог действий юзеров в отдельной таблице (встречал один проект, где лог действий был в десятки раз больше, чем сами данные, ага).
    3. хранить в той-же таблице предыдущие записи. То есть при редактировании INSERT, а не UPDATE, при этом автоматически проставляется время и автор, а при выборке просто берете последнюю по времени версию.

    Это самый удобный путь, и самый простой для внедрения - очень простой откат, удобное сравнение изменений. Из минусов - раздуваете таблицу с данными, но это не проблема если записей не много или изменения редки.

    Особняком стоит упомянуть системы с возможностью одновременного редактирования несколькики пользователями, которые автоматически разруливают коллизии. Самый знакомый всем пример - google docs. Но это довольно сложно в реализации.

    С учетом "использоваться будет, я надеюсь редко" я бы остановился на текстовом логе. Отдельный лог на каждую запись, можно архивировать старые, можно logrotate натравить.
    Ответ написан
    1 комментарий
  • Открытие модального окна в php?

    vovka3003
    @vovka3003
    Фрилансер. Инженер систем безопасности.
    Запишите в SessionStorage браузера текущий статус вашего модального окна, после перезагрузки читайте значение ключа...
    Ответ написан
    Комментировать
  • Чем можно проверить сайт вместо W3C?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Вы так интересно читаете список ошибок - выборочно.
    Ведь выше есть другие. И если вы их исправите, например, перенесете счетчик в body, то всё с вашими мета будет в порядке.

    Теги div и img нельзя вставлять в head.
    Ответ написан
    2 комментария
  • Дубль формы через JS и присваивание атрибута name c индексом?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Как вариант - handlingUnits[PackageType][].
    Тогда индексы в PHP проставятся автоматически.
    Ответ написан
    1 комментарий