• Не удается установить Outline на VPS?

    kawabanga
    @kawabanga
    1) Удалить CentOS 7 и поставить что-то современное, даже убунту.
    2) установить openssl
    Ответ написан
    Комментировать
  • Не определяет модель, выдает unknown property. Как исправить?

    kawabanga
    @kawabanga
    Если есть поле БД, то проверять:
    1) Закэширована ли база данных, смотреть в конфиге.
    'db' => [
                'class' => 'yii\db\Connection',
                'dsn' => 'mysql:host=localhost;dbname=mydatabase',
                'username' => 'root',
                'password' => '',
                'enableSchemaCache' => true,
    
                // Duration of schema cache.
                'schemaCacheDuration' => 3600,
    
                // Name of the cache component used to store schema information
                'schemaCache' => 'cache',
            ],


    2) Проверять, если ли поле в БД. Если нет, то смотреть по коду - почему?

    Если свойство не должно быть в БД, то смотреть, если ли свойство в вашем класе(по тексту - нет), есть ли на нем magic метод (у вас нет), или есть ли свойство в трейте ( у вас нет.
    Ответ написан
  • MacBook как bluetooth ресивер?

    kawabanga
    @kawabanga
    Крайне ненадежные вещи вы обсуждаете.

    Конкретно в вашем случае -
    а) Можно систему BT передачи аудио. Сомнительно, но допустим. Если вы бы попробовали 5.1 (качественный ресивер, колонки и саб), то вы бы даже не стали смотреть в эту сторону.
    б) воспроизводить видео с ноута и раздавать по 4К HDMI на телек и управлять звуком.
    в) Подключить телек к хорошему ресиверу (можно даже старому) и отдавать звук на ваши колонки по оптическому проводу. Я на алике чуть больше тысячи потратил за провод. Там провод - практически нитка, 25 метров, которую можно спрятать как угодно по стенам. https://aliexpress.ru/item/32812428697.html?spm=a2... вот нашел,
    Тут есть схемы следующие:
    Исходник - ноут, отдает по HDMI на телевизор контент + 5.1 звук. Телевизор в свою очередь отправляет по оптике 5.1 звук на ресивер и отдает в колонки и саб.
    Источник - телевизор отдает звук по оптике на ресивер.

    И да, вы можете подключить устройство как BT микрофон к маку, если это поддерживается вашим телевизором.
    Ответ написан
  • Ошибка миграции laravel?

    kawabanga
    @kawabanga
    Так вам пишут, что таблица users есть. В этом и ошибка.

    Чаще всего это возникает тогда , когда вы написали миграцию на базу данных, а потом сделали ключи внешние и они не сформировались. В итоге миграция откатывается, но таблица не удаляется. Так что решение - вручную удалить users, если ее не должно было существовать.
    Ответ написан
  • Как числа из строки поместить в массив?

    kawabanga
    @kawabanga
    $arr = explode(',', $str);
    foreach ($arr as $value) {
        $new_arr[] = trim($value);
    }


    Зачем использовать регулярки, если они не нужны в задаче.
    А если нужны по заданию, то
    Ответ написан
    3 комментария
  • Как составить сложную выборку из двух таблиц?

    kawabanga
    @kawabanga
    SELECT t2.address, t2. office, t1.fio, t2.counter, t1.value (только этого поля нет у вас)
    FROM table2 t2
    LEFT JOIN table1 ON t1.office=t2.office
    Ответ написан
  • Безопасно ли в Германии качать торренты через свой VPN на основе Outline?

    kawabanga
    @kawabanga
    Безопасно ли? нет и да.

    Если кратко, путь такой:
    Провайдеру предъявляет претензии представитель компании авторского права.
    Провайдер отправляет претензию вам.
    Далее в зависимости от вашего ответа, провайдер может отправить ваши данные представителю авторского права.
    И вот если они могут дотянуться к вам. Они вам поимеют.
    Ответ написан
    Комментировать
  • Как максимально быстро кликнуть на элемент в браузере?

    kawabanga
    @kawabanga
    vadimeasy,
    КРЫСА она) Это ответ.
    Представь, что разница в 70 лидов стоят условные 1К за лид.
    За откат в 30-50% она может и начальника обработать и группу разработчиков.

    Т.е. на ее аккаунт может заявка сразу уходить, если она проходит по параметрам (Жирная заявка). А вы пытаетесь найти способ вытащить несуществующие лиды из системы. В этом и проблема.

    Вы можете даже проверить, если ваш скрипт работает, и в среднем будет у всех 30 лидов, а у вас допустим 45, а у этой коллеги так же 100 - это будет означать как минимум то, что ваш скрипт работает. И дело тут не в скорости скрипта.

    Ответ 2
    Появление кнопки - это следствие.
    Ищите событие, которое его запускает, там либо соединение с сокетом, и вам надо будет внедриться в функцию сокета, либо в ajax проверку. Так вы сможете ускорить получение ответа.
    +
    Пинг до сервера проверяйте. 20-30мс разницы - уже громадная.
    Ответ написан
    1 комментарий
  • Macbook Pro 16 M1Pro или Pro 14.2 М3?

    kawabanga
    @kawabanga
    MacBook Pro 16.2" M1 Pro , 16 ГБ, 512 ГБ - пользуюсь именно таким. и с внешним монитором и без, для кода, для работы идеален.

    Поддержка в плане ПО - максимально долгая у Apple.

    Где то прочел что обычно срок поддержки 7 лет, то получается, что у 16го осталось года 4 поддержки, поправьте если это не так))

    Вы посмотрите статистику по выходу новых ПО и поддерживаемых версий. Окажется, что условный 15" i7 имел в поддержке чуть больше времени.
    И не забывайте, это не разные поколения i5/i7, это своя платформа, которая может поддерживаться очень долго.

    Единственный вариант в пользу 14 m3 - что он легче. Я минут 30 держал по очереди два мака, 14 и 16, думая что 16 тяжелее и будет некомфортен, но нет, пользуюсь уже полтора года и он крут. Причем 13'3 не рекомендую выбирать из за размера, если это будет ваша основная машинка для работы.
    Ответ написан
    2 комментария
  • Как запретить пользователям из России обращаться к определенным функциям сервера?

    kawabanga
    @kawabanga
    1) Запрашивать перед входом/авторизацией страну пользователя. Человек не из России? Ок, показываем G авторизацию. Человек может обмануть.
    2) Спросить через браузер геолокацию. Почти всегда точно, но и тут человек может обмануть.
    3) Узнать по IP город человека. Почти всегда точно. Можно использовать сервисы типа дадаты. Человек может обмануть систему.

    Так вот если человек всегда обманет систему, не проще использовать самый простой способ выбора страны?
    Ответ написан
  • Как увеличить длину провода наушников?

    kawabanga
    @kawabanga
    1) На 5-10 метров - удлинитель jack->jack.
    2) AUX BT5 удлинитель. У меня свисток xiaomi уже больше 5 лет норм работает. А сейчас качество звука еще лучше. Но телевизор должен уметь передавать звук на bt наушники. Возможны проблемы с задержкой, если на телевизоре или приставке - старые версии BT.
    3) Хитрый и не совсем дешевый вариант: Оптический кабель от телевизора ( даже 25 метровые кабеля работают без помех). Далее оптический кабель либо в усилитель с поддержкой оптики (бывают маленькие), либо в ресивер.
    Плюс подобного варианта с ресивером - при необходимости у вас будет полноценный 5.1 звук качественный на колонках. Из минусов. я не знаю как ресивер красиво поставить возле дивана. Он гармоничней смотрится около телевизора. https://www.ozon.ru/product/konverter-zvuka-v-5-1-...
    Ответ написан
    Комментировать
  • Как вычленить из текста ФИО на python, при том что конкретных шаблонов нет?

    kawabanga
    @kawabanga
    Я бы апи дернул, к примеру у дадаты - 15коп за запрос стандартизации.
    Ответ написан
    1 комментарий
  • Есть ли более компактный способ сделать выборку из БД?

    kawabanga
    @kawabanga
    Для той постановки задачи что вы задали

    function generateTFilter($numT) {
        $filter = "";
        for ($i = 1; $i <= $numT; $i++) {
            $filter .= " OR t{$i} > 0";
        }
        return ltrim($filter, " OR");
    }
    
    $numT = 17; // Укажите нужное количество переменных t
    
    $sql = "SELECT * FROM products WHERE category = ? AND (" . generateTFilter($numT) . ")";


    Но, представьте, что магазинов станет 50 или 100? А как вы будете считать приход и списание со складов? А товары в пути? Вам бы продумать архитектуру хорошенько.
    Ответ написан
    3 комментария
  • Как замедлить время выполнения?

    kawabanga
    @kawabanga
    for ($i = 0; $i < $count; $i++) {
        sleep(5); // Я бы тут поигрался с sleep.
    
        // $html = curl_get($silka[$i]); // Ссылка на сериал
        // А вот тут я бы проверял, что запрос дошел. Можно кастомизировать, но в простом случае
        $stopAsking = false;
        $countRequests = 0;
    
        while (!$stopAsking) {
            try {
                $html = curl_get($silka[$i]); // Здесь в функции выбрасывайте исключение и ловите его с помощью https://www.php.net/manual/en/function.curl-error.php
                $stopAsking = true;
            } catch (Exception $e) {
                sleep(1); // Подвязать логику слипа на количество запросов
                $countRequests++;
    
                if ($countRequests > 5) {
                    $stopAsking = true; // И прерывать действие части скрипта, которая делает запрос на сервер.
                }
            }
        }
    
        if ($countRequests > 5) {
            continue;
        }
    
        $dom = str_get_html($html); // Парсить страницу
    
        $finds = $dom->find('.added-info');
    
        foreach ($finds as $find) {
            $tfind = trim($find->plaintext);
            if ($series[$i] === $tfind) {
                echo $id[$i];
                sleep(5); // У вас это запускается только в случае, если будет finds. В принципе, sleep тут не нужен уже, так как выработаете с готовой страницей. Но, например, если $finds = $dom->find('.added-info'); - не будет, то следующий запрос будет моментален.
            } else {
                $sql = "UPDATE `seria` SET `series` = '$tfind' WHERE `seria`.`id` = $id[$i]";
                $mysql->query($sql);
                message_to_telegram("Вышла новая серия" . $series[$i] . $silka[$i]);
                echo $id[$i];
            }
        }
    }
    Ответ написан
    Комментировать
  • Как организовать хранение гостевых данных в интернет-магазине?

    kawabanga
    @kawabanga
    А почему по простому не решаете? (допустим, если у вас не высокие нагрузки на базу).

    Записываете уник сессию гостя в базу (это дает еще много прикольных штук).
    Записываете в таблицы, типа guest_cart, guest_favorites и любые другие таблицы.
    По необходимости мигрируете из этих таблиц данные в основную запись пользователя, если он зарегистрируется.
    Записываете last_action_ts в сессию бд. И стираете раз в день данные, если last_action_ts уже старше чем 2 месяца.
    Ответ написан
    2 комментария
  • Почему не работает POST изи postman в yii2?

    kawabanga
    @kawabanga
    1) Постман вроде как не умеет в сессии. Т.е. толка от этой строки нет -
    Yii::$app->session->setFlash('success', 'Операция выполнена успешно!');


    2) У вас отправка raw данных в постамане через json, а в контроллере вы пытаетесь получить POST.
    В постмане надо переключить на form-data .
    Ответ написан
    Комментировать
  • Почему в этом коде при проверке слов с помощью оператора in в скобках он работает как надо, а без скобок по другому?

    kawabanga
    @kawabanga
    Чему равно данное выражение в Питоне?
    ("хорошо" or "прекрасно" or "отлично" or "пойдет")


    Я думаю оно равно true.

    А ваш синтаксис, должен быть около таким -

    otvet in [ "хорошо", "прекрасно" , "отлично", "пойдет"]
    Ответ написан
    1 комментарий
  • Как сохранить массив в базу данных?

    kawabanga
    @kawabanga
    Google:
    1) load Model from Array yii2
    $model = new JobOrderDetail();
    $model->load($arrayData, ''); // '' = formname or empty string


    2) Валидация модели
    https://github.com/yiisoft/yii2/blob/master/docs/g...
    if ($model->validate()) {
        // все данные корректны
    } else {
        // данные не корректны: $errors - массив содержащий сообщения об ошибках
        $errors = $model->errors;
    }


    Модель при этом должна у вас быть от ActiveRecord.

    3) Проверить, сохранилась ли модель через if ($model->save());

    В чем конкретно у вас возникли сложности?
    Да даже в лоб костылем через foreach
    $model = new Model;
    foreach ($array as $key => $value) {
     $model->$key = $value; // правда надо проверить на существование property в модели.
    }
    Ответ написан
    Комментировать
  • Как повысить уровень создания проектов на чистом php?

    kawabanga
    @kawabanga
    Тем не менее сейчас я столкнулся с тем, что на собеседованиях начинают спрашивать что серьезного доводилось делать на чистом php - без фреймворков и мои ответы на их вопросы касательно парсеров, скиптов для обмена данными остаются неубедительными. Даже дальше кадровиков иногда дело не уходит.


    Вы неубедительны. Парировать надо. Ну найдите разраба, который в угоду своему ЭГО, будет писать проект на чистом php, который в будущем сможет поддерживать только он.

    Еще спрашивюат какие патерные проектирования используешь, придерживаешься ли принципов Solid?

    Вы недостаточно сильны в этом вопросе, SOLID опять же не про фреймворки.

    А сейчас я не только ради прохождения собеседований, но и ради повышения скилла хотел бы углублённо погрузиться в написание кода без фреймворков. Но как к этому подойти? Не писать .же бложег или интернет-магазин на чистом php?

    Зачем вам это? Изучать как работает PHP и смежные вещи - одно. Писать пет проекты чтобы закинуть их в ящик - другое.

    Может начать с изучения PSR

    Нужно, сразу после того, как вы начнете понимать php.

    от него начать писат простой psr фреймворк как это делал Дмитрий Елисеев?

    А что это вам даст?

    Или просто взять симфони и начать писать на ней чтоб понять суть вещей глубже и потом козырять своими скиллами на собеседованиях, что, мол, ,я тут на Симфони пишу, а вы мне тут вопросы для школьников задаёте?

    А при чем тут симфони и вопросы школьников?

    Короче расскажите мне про роудмеп погружения в php. Теорию я и так знаю - книги по php читал.

    Сначала начните с того, как искать в гугле. Полезный навык, помогает.
    https://github.com/thecodeholic/php-developer-roadmap
    Ответ написан
    3 комментария