Задать вопрос
  • Можно ли добавить условие при регистрации аккаунта на сайте?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    но и уникальный код, выданный ему заранее.
    А без этого кода ВООБЩЕ никто не может зарегистрироваться?

    Администратор сайта должен иметь возможность предварительно создавать множество страниц аккаунтов,
    Мне кажется, или если у вас будет хоть какакя-то популярность сервиса, администратор слегка прифигеет генерировать аккаунты пользователей. Или они у вас будут рандомными? По какому принципу они создаются/генерируются? Типа, имя пользователя: "Hfbh3h&03qqw"? Или как-то руками? Вообще конечно даже исходя из всех отрывочных описаний нифига не понятно.

    Смысл в том, чтобы администратор смог передать пользователю код и ссылку на его будущий аккунт.
    То есть у пользователей есть какая-то возможность с администрацией взаимодействовать до регистрации?
    Написано
  • MySQL: как реализаовать поиска по нескольким вхождениям?

    ThunderCat
    @ThunderCat Куратор тега PHP
    hippocrates_ho_koios,
    Заранее неизвестно количество слов в запросе и AND LIKE соответственно
    то есть конструкция с одним ифом или циклом для вас выше возможностей реализации? Если слов больше 1, приплюсовать к поисковому запросу " AND name LIKE ? " столько раз, сколько слов всего, минус один?
    Написано
  • Могу ли я активно ссылаться на видео с ютуба?

    ThunderCat
    @ThunderCat
    Adamos, справедливости ради, не все пользователи территориально находятся в стране победившей стабильности.
    Kentavr16
    Не нарушу ли я таким образом авторское право, построив свой сайт поверх ютуба?
    Ембед как бы для того и придуман, чтобы втыкать свое видео (с рекламой в том числе) на других платформах.
    Написано
  • Интерфейс, БД для серфинга по жесткому диску. На чем написать?

    ThunderCat
    @ThunderCat
    PHP+SQL не хочу ввиду необходимости установки.
    Ни то ни другое установки в общем случае не требует. ПХП можно тупо запускать из папочки, а кроме того он сразу же искаропки умеет вебсервер. В качестве скуеля можно взять sqlite, который тоже не требует установки.

    желательно чтобы работало и на ТВ.
    Тут уже сложнее, нужно будет все же что-то ставить, например смотреть тут.
    Написано
  • Какие инструменты Вы используете для парсинга?

    ThunderCat
    @ThunderCat
    101-s,
    без библиотек?
    Библиотеки общего назначения конечно используются, всякие надстройки над курлом или пупитир какой-нибудь, но сам парсинг в большинстве случаев слишком разный для разных источников. Где-то нельзя по тегам отделить текст от разметки, где-то реклама повторяет блоки текста по структуре (а их надо отсечь), где-то стоит клоудфлэйр и надо еще и с запросом что-то мудрить, где-то вообще все строится динамически на вью или реакт и саму страничку парсить абсолютно нет смысла... Короче зоопарк технологий порождает практически бесконечное количество вариаций, так что становится проще сделать что-то руками, чем искать универсальное решение.
    Написано
  • Как настроить phpmyadmin?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    выбрал pma но столкнулся с проблемой что нельзя сделать так чтобы он от всех устройств работал,
    Что значить нельзя и при чем тут устройства вообще? В чем проблема внятно опишите.
    Написано
  • Model::updateOrCreate почему не считывает в первом параметре, второй элемент массива?

    ThunderCat
    @ThunderCat
    Hfnas, 677dd3d7da7f4640981588.pngЯ же говорил - проверьте переменные, у вас в crmCompanyID попадает пустое значение.
    Написано
  • Model::updateOrCreate почему не считывает в первом параметре, второй элемент массива?

    ThunderCat
    @ThunderCat
    Hfnas,
    AmoContact::firstOrNew(['amoID' => $contacts[0]->getId(),'crmCompanyID'=>$companyID]);
    Магия вне Хогвардса хреново работает, так что остается полагаться на логику. Так как мы здесь видим переменную, а не значение, можно предположить что там не то значение, которое вы ожидаете. Поможет dd() или var_dump().

    Кроме тогого, емнип второй аргумент должен быть отдельным массивом, а не еще одной парой, то есть
    AmoContact::firstOrNew(['amoID' => $contacts[0]->getId()],['crmCompanyID'=>$companyID]);
    Написано
  • Model::updateOrCreate почему не считывает в первом параметре, второй элемент массива?

    ThunderCat
    @ThunderCat
    Model::updateOrCreate(['amoID' => 43222233, 'crmCompanyID'=>1]);

    Это реальный код, или вы подставили возможные значения, которые берете динамически (нарпимер в цикле)?

    Алсо, у вас там не повторяется каша как в предыдущем вопросе, типа TestLead/CrmLead?
    Написано
  • Какие подводные при хранении токенов в memcached?

    ThunderCat
    @ThunderCat Куратор тега PHP
    accountnujen,
    куда писать-то?
    ну вот же, ваше же
    файлик с парами ключ-значение может быть зашифрован через aes-128-gcm и первый $mem-set() будет через ввод пароля от этого шифра.
    будет не пароль от шифра, а пароль от бд или чеготамеще...

    ахахах)))) давайте добавим ещё десяток других обращений к диску)))
    У вас ВСЕ практически обращается к диску: код на диске, дб на диске. Еще 1 файл погоды не делает, кроме того все часточитаемые файлы выносятся в память средствами ОС. Чтение файла с диска - последняя из ваших проблем. Ну или давайте для оптимизации весь код засунем в мемкэш?

    с $_ENV что-то не так, раз его выпилили в дефолте
    Да, с ним не так то, что это глобальная переменная, от которых стараются уйти, повышая качество кода и контроль памяти. Например при включенном он в обязательном порядке читает содержимое (что нужно далеко не всегда), а функция делает это по запросу. Для этого и используют геттеры.
    Написано
  • Какие подводные при хранении токенов в memcached?

    ThunderCat
    @ThunderCat Куратор тега PHP
    accountnujen,
    есть подозрение, что getenv() и $_ENV не одно и тоже.
    нет. обращение к переменной и геттер - разные вещи.
    иначе зачем иметь два разных способа по написанию.
    Вынос данных в область памяти переменных и чтение файла через функцию для вас одно и то же?

    файлик с парами ключ-значение может быть зашифрован через aes-128-gcm и первый $mem-set() будет через ввод пароля от этого шифра.
    то есть после первого рестарта сервера все поднимать руками, понятно... Возникает вопрос зачем пароль, шифрование и вот это все, если это можно так же руками все вводить при старте? Ну и естественно при каждом ребуте снова... Опять же, возвращаемся к проблеме бумажки, если там где вы хранили проект не безопасно, то и пароли/ключи абсолютно так же могут спи... онерить "отдельно".

    Короче. Смысл ключей/паролей в доступе к компонентам сервера, а если есть код который можно как-то исполнить на сервере, все резко теряет смысл, так как var_dump() никто не отменял. Все упирается не в ключи, а в безопасность сервера в целом. Если у вас какая-то уникальная ситуация, то ее уникальность от сообщества как-то ускользает, по этому вам советуют типовые решения, удовлетворяющие 99% разработчиков.
    Написано
  • Как сделать пакетную обработку в laravel?

    ThunderCat
    @ThunderCat
    Hfnas,
    (import) с каждой итерации возрастает
    Возможно по тому что у вас код... странный?

    $leads = []; //тут массив пустой 
    
            try {
                $leads[] = $this->apiClient->leads()->get($filter, [LeadModel::CONTACTS]); 
    //в нулевой элемент попадает что? Массив лидов? Коллекция?
                AmoLeadModel::import($leads,$this->crmCompanyID,$constants);
    // Что за AmoLeadModel? Что делает импорт из нее?
                $i = 2;
                //разбивка по страницам
                while ($leads[0]->getNextPageLink() != null) {
                    $filter->setPage($i); 
                    $leads[] = $this->apiClient->leads()->get($filter, [LeadModel::CONTACTS]);
    //тут мы на КАЖДОЙ итерации добавляем массив(?)  
    //и с каждой итерацией $leads растет...
                    TestLeadModel::import($leads,$this->crmCompanyID,$constants);
    //а тут мы его целиком прогоняем, СНОВА проверяя и те что были 
    //в предыдущих итерациях, и новые... Естественно время растет линейно
    //И почему выше AmoLeadModel, а тут TestLeadModel?
                    $i++;
                }
            } catch (AmoCRMApiNoContentException $exception) {
                Log::error(__METHOD__ . ' setLead:' . $exception->getMessage());
            }

    Даже не смотря на это, я бы еще вывел запрос, который исполняется, и выполнил его руками, в том числе и с explain, посмотреть сколько занимает импорт...
    Написано
  • Как подстраховаться на будущее?

    ThunderCat
    @ThunderCat
    Drno, Очевидно что это не так, ну или в понятие "мусор" вносится сильно выходящий за разумные рамки список. В частности туда внесено и население ))

    ну у них другая задача
    Задача - возможно, но задание у них явно другое, а на задачу они давно забили.
    Написано
  • Как подстраховаться на будущее?

    ThunderCat
    @ThunderCat
    но вообще правильный вариант - это смена чиновников, которые не справляются со своими обязаностями. тот же РКН очевидно что не справляется
    Они как раз справляются, просто у них задача обратная - запретить, а не обходить )) Тут выше по протоколу менять нужно, тех кто управляет этим слоем одноклеточных ))
    Написано
  • Какие подводные при хранении токенов в memcached?

    ThunderCat
    @ThunderCat Куратор тега PHP
    accountnujen,
    ок, почему в дефолте он отключен? если "ENV is not as commonly used", то что тогда часто используется?
    До конца читали? through getenv().
    Написано
  • Какие подводные при хранении токенов в memcached?

    ThunderCat
    @ThunderCat Куратор тега PHP
    accountnujen,
    как-как... вот так: $memcached->set("password")
    о, прикольно. Во первых будет $memcached->set("password",'12345678'), а во вторых значит в коде где-то всё-таки будет '12345678', что возвращает нас к начальной проблеме - для того чтобы засетить мемкеш нужно иметь где-то в доступном для кода месте данные. Ой, подождите... это же то от чего вы пытались избавиться?
    Написано
  • Какие подводные при хранении токенов в memcached?

    ThunderCat
    @ThunderCat Куратор тега PHP
    accountnujen,
    вместо "12345678" я буду делать $memcached->get("password")
    Занятно... а как (и главное откуда) в memcached будет попадать password?
    Написано
  • Можно ли обойти блокировки украинских провайдеров для моего хоста?

    ThunderCat
    @ThunderCat
    YrarrsPizza,
    Что у вас там за требования,

    Minecraft Bedrock Server
    Это не требования, это софт, у которого есть требования. Вот их можно привести, и возможно вам что-то посоветуют. Хотя не очень понимаю почему бы сразу не озвучить проблему в ключе "где найти сервера с конфигурацией ... на европейских площадках". Понимаю, что в России, как в лидере производства серверов и процессоров, наиболее выгодные условия, но возможно что и другие страны что-то смогут предложить...
    Написано
  • Как правильно организовать структуру базы данных интернет-магазина, если товары из разных источников?

    ThunderCat
    @ThunderCat
    Лев Салатов,
    Уточните, пожалуйста, почему связь через спровочную таблицу будет лучше? Ведь все равно будет WHERE city='1',

    Во первых будет WHERE `city_id` = 1, а в таблице cities уже будет id (в случае один-ко-многим).
    Во вторых, где у тебя будет храниться этот список с твоим spb? Что будет когда добавятся еще города?
    В третьих, это путь создания через внешние ключи, что при верном проектировании сохраняет консистентность базы при операциях с ней.

    Или плюсом будет связывание таблиц через отношения?
    Это и есть связывание через отношение, вопрос только в том какая форма отношений будет, один ко многим или многие ко многим. По сути 3 нормальная форма требует отделения сущностей в отдельные таблицы и связки через отношения.
    Написано