Задать вопрос
  • Сделать Entity по имеющейся уже таблице?

    doctrine:mapping:import, но допиливать вручную все равно придется
    Ответ написан
    Комментировать
  • Почему в Битрикс так себя ведет блок Услуги?

    Liatano
    @Liatano
    1. Что значит дублируется? где?
    2. Скорее всего используются включаемые области/файлы в подвале или шапке. В зависимости от ленивости и прямоты рук может быть реализовано по-разному. Например может просто проверяться,что страница "главная" и вставляться файл, может использоваться компонент bitrix:main.include, тогда поиск кода зависит от параметра "AREA_FILE_SHOW"(file,page,section). Еще стоит проверить php файлы,которые валяются рядом с index.php, может натолкнетесь на что-то интересное
    3.Скорее всего используются компоненты аспро,а они знают,какие настройки стоят в модуле. если реакции нет - значит компоненты разработчик пихнул сам либо что-то сломал.
    Ответ написан
    3 комментария
  • По какому принципу работает SSO и распределения прав (на примере keycloak)?

    rukbrook
    @rukbrook
    1. да, вам нужно отправить запрос, содержащий реалм, идентификатор клиента в этом реалме и данные достаточные для получения токена (к примеру grant_type="password", username, password, client_secret)
    2. да, он получает access_token и refresh_token. Вы можете декодировать токен и посмотреть что в нем храниться и вытащить данные которые вам нужны к примеру в нем хранятся роли и username, при этом можно положить туда дополнительную инфу
    3. проверка разрешений на беке, для простоты ищете что-то на подобии spring-security, но для php, который будет проверять ваш токен и роли в нем, и в зависимости от роли будете отдавать либо 200 либо 401 на запрос к которому у пользователя нет доступа
    4. если вам не нужно связать какие-то данные вашего приложения с идентификатором пользователя в кейклоке, то не нужно
    Ответ написан
    6 комментариев
  • Можно ли текстовую переменную хранить в таблице Mysql?

    @galaxy
    Пожалуйста, не нужно меня посылать читать мануалы PHP
    похоже, что нужно, но ок, не буду.
    Вам знакома конструкция var_dump? Попробуйте сделать var_dump($date);
    может, появятся идеи.
    spoiler
    Если нет, все-таки почитайте мануал, там есть примеры
    Ответ написан
    3 комментария
  • Как работает timezone в php и postgres?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    У браузера есть доступ к локальной таймзоне. Следовательно, все даты, находящиеся на сайте, он способен прозрачно отобразить с нужным часовым поясом.

    А давать пользователям рулить тем, что они записывают в базу, не стоит - всегда лучше подпереть самостоятельно.
    Ответ написан
    Комментировать
  • Как работает timezone в php и postgres?

    @galaxy
    Ну для начала пользователь из Владивостока должен как-то сообщить серверу о своей зоне (например, выставив ее в настройках своего профиля).
    Далее, PHP должно распарсить строку с датой (например, с помощью DateTime::createFromFormat), причем использовать зону, настроенную пользователем. Полученную дату (объект DateTime) можно вывести пользователю дату/время в любой временной зоне, сделав DateTime::setTimezone() и DateTime::format().

    БД работает похожим образом: если используется тип TIMESTAMP WITH TIMEZONE, то физически в колонке хранится время в UTC. Клиент (в данном случае приложение PHP) при подключении к БД задает желаемую зону (или не задает, тогда используется зона по умолчанию из настроек сервера БД). В этой зоне клиенту выдаются даты. При желании поле с меткой времени можно перевести в другую зону через констукцию datetime_value AT TIME ZONE zone.

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

    xotkot
    @xotkot
    ответы это убийцы вопросов
    как люди любят себе усложнять жизнь )
    lvm, btrfs, zfs, рейды, 100500 разделов ... брр
    ставьте на nvme одни(/) раздел (или два[+ /boot] если у вас UEFI), не отделяя хомяк в отдельный раздел
    а на ssd можно будет скидывать тяжелые файлы - фильмы, музыка, виртуальные машины и др., а также бекап важных данных с nvme
    По поводу рут и Хоум на nvme - это же очень много для системы и кофигов. 90% будет пустовать на этом диске.

    не страшно, во первых, хомяк со временем растёт, во вторых чем больше свободного места тем дольше прослужит ваш nvme, так как данные не перезаписываются сразу по месту как в hdd, а "равномерно дописываются" на свободное место.
    В общем если кратко, как лучше спроектировать дисковое пространство с точки зрения перспективы безгеморойной переустановки в будущем?

    легко, копируете папку с вашим пользователем(что в хомяке) на ssd, накатываете на nvme новую систему по тому же принципу, копируете папку пользователя обратно, создаёте пользователя указав эту папку как его хом попутно при необходимости рекурсивно меняем права(chown -R ...) в данной папке на нужные.
    ну и вроде всё.

    п.с.
    вместе с диском докупил ещё планку памяти

    раз ОЗУ у вас с избытком то чтобы меньше мучать диск можно в fstab добавить параметр commit=60 что позволит системе производить запись на диск раз в минуту держа эти данные в памяти, в принципе можно и больше, у себя например довел до двух минут и вроде пока нормально.
    Ответ написан
    5 комментариев
  • Как правильно устанавливать linux с двумя жёсткими дисками?

    vaut
    @vaut
    Я бы поставил и рут и хоум на NVME, а SSD использовал для отдельных тяжелых вещей.
    Реализовал бы это так: Не переустанавливал систему, а просто перенес все на NVME. (грузимся с LIVE дистра, размечаем разделы, копируем, правим fstab)
    Проверив что все у нас заработало на NVME форматируем SSD и монтирую его куда нибудь в /mnt/
    На SSD создаем каталог storage и этот каталог байндом замонтировал в /home/user/storage/
    Добавляем эти два монтирования в fstab.
    ВСЕ. Теперь в хоуме у нас каталог storage в который можно сохранять всякий хлам. При необходимости добавить еще другие каталоги и замонтировать их в другие места.

    Второй вариант собрать их в первый рейд с помощью LVM. Но, скорость доступа будет непредсказуемая и выход из строя одного диска убьет все данные.

    Третий вариант рейд с помощью btrfs или zfs. Имхо чуть лучше чем LVM, но проблемы от рейда те же самые.
    Ответ написан
    5 комментариев
  • Стоит ли учить Jquery в 2021?

    SagePtr
    @SagePtr
    Еда - это святое
    Учить - нет, просто ознакомиться вкратце, чтобы понимать, если попадётся на глаза код с использованием этой библиотеки
    Ответ написан
    Комментировать
  • Где найти готовый каталог товаров?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    У prestashop есть сэмпвые базы есть ещё база adventureworks
    Ответ написан
    3 комментария
  • Где найти готовый каталог товаров?

    alexyarik
    @alexyarik
    Битрикс разработчик
    Каталоги лучше искать в формате XML, но у многих они закрыты для партнёров
    www.bbk.ru/about_us/partners/xml_catalog
    Автоматический перевод для локализации на нужные языки это уже через АПИ сервисов Яндекс или Гугл
    Ответ написан
    3 комментария
  • Почему не получается подключиться к postgressql из интернета?

    @galaxy
    не знаю должен ли там быть postmaster. Особо не шарю в администрировании. Может 5432 занят думаю чем то. фиг знает

    все нормально там

    не удалось подключиться к серверу: Нет маршрута до узла

    А тут не только в pg_hba проблема. У вас до сервера нет маршрута. Проверяйте, что вы задали в pgadmin в качестве адреса сервера.
    Ответ написан
  • Где начинающему разработчику подглядеть примеры неговнокода?

    Adamos
    @Adamos
    Практика. Нужен опыт решения конкретных задач средствами языка.
    Фреймворки, паттерны и прочая архитектура не может изучаться на пустом месте, все это нужно цеплять на опыт.
    Говнокод, который решает задачу, лучше, чем красивая архитектурка, списанная с учебника.
    Когда понимаешь, как можно решать - можешь оценить качество решений. Без этого понимания будешь смотреть, как баран, и изобретать карго-культы.
    Ответ написан
    1 комментарий
  • Как сохранить date, php в mysql?

    $sql = "INSERT INTO `test` (`name_exp`, `data_exp`) VALUES ( '". $name_exp."' $name_exp, '". date('Y-m-d')."');";
    а еще лучше хранить unixtimestamp
    Ответ написан
    2 комментария
  • Почему слишком большой размер данных после добавления данных в базу?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Удаляю значит старые записи в таблицах и php парсю xml файлы и вставляю в таблицы соответствующие.

    Ну и совершенно закономерно получаете двукратный рост как самой таблицы, так и всех индексов. Всё верно.
    Почему? Потому что MVCC. Удаление не удаляет данные, т.к. их может кто-то хотеть ещё прочитать из более старых транзакций, а только отмечает xmax - id транзакции, с которой записи перестают быть видимы. Место занимаемое удалёнными строками будет возможно затем переиспользовать под новые данные после прохода vacuum вручную или автовакуумом.

    Индексы, разумеется, тоже занимают место. И по той же самой причине индексы в варианте delete всей таблицы + insert будут занимать вдвое больше места.

    Когда вы хотите удалить всё из таблицы - вам нужен не delete, а truncate.
    Ответ написан
    1 комментарий
  • Почему разная структура проекта при разной установке Vue и библиотек?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    В node_modules лежат собранные готовые пакеты, вам туда лезть не надо.

    Структура проекта, создаваемая vue-cli соответствует (очевидно) выбранным опциям.
    Но эта структура - не что-то сакральное единственно верное. Всё что создал vue-cli вы можете создать вручную. Или создать совершенно другую структуру. Важна лишь логика в коде, папочки не важны.

    Так что устанавливая какие-то пакеты вручную вы делаете именно это: устанавливаете пакеты. Т.е. (утрируя) просто кладёте их в node_modules и прописываете их наличие в package.json.
    Это никак не влияет на ваш код. Если вы хотите их использовать в коде - вы должны использовать их в коде. Создавать отдельные файлы и папки, или просто подключать в уже имеющихся - ваше дело.
    vue-cli делает это за вас, при выборе опций, но это особенность vue-cli, а не неотъемлемое свойство npm пакетов.
    Ответ написан
  • Как вывести PHP переменную?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Как вывести PHP переменную?

    Ждем вопросов как включить компьютер
    Ответ написан
    Комментировать