• Как использовать whitelist при валидации формы?

    Astrohas
    @Astrohas
    Python/Django Developer
    Whitelist нужен для другого. Если же вам нужно проверить доменное имя то переопределите clean_emails:

    def clean_email(self):
        data = self.cleaned_data['email']
        if '@iuka.kg' not in data:
            raise forms.ValidationError('Неправильный email')
        return data
    Ответ написан
    Комментировать
  • Простой процессора из-за интерпретатора?

    @khrisanfov
    Программист
    Не каждую задачу можно распараллелить. Если это возможно, то надо смотреть одну из этих библиотек https://docs.python.org/3/library/threading.html и https://docs.python.org/3.6/library/multiprocessin... я бы смотрел в сторону мультипроцессинга, так-как многопоточность в питоне жутко тормозит из-за блокировки потоками друг-друга, 100% процессора выжать не получится на потоках, можете нагуглить эту проблему.
    Ответ написан
    Комментировать
  • Как получить запрос который формирует axios?

    0xD34F
    @0xD34F
    Объекта ответа содержит свойство, представляющее объект запроса, который, в свою очередь, содержит полный url:

    response.request.responseURL
    Ответ написан
    Комментировать
  • Как разрешить сайту доступ к ip сервера?

    @moh-mog-drinks
    зайти на ваш сервер (SSH/RDP пр.).
    локально с вашего сервера пингануть указанные системой Киви адреса.
    если пинг проходит - все должно работать.

    если пинг не проходит - делайте трейсроут и смотрите где затыкается.

    если затыкается в пределах вашей инфраструктуры - то крутите там файрволы и роутеры.

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

    В Вашем проекте не нашел папки migrations с миграциями...

    Читайте более подробно тут

    1. Создайте в папке application папку migrations.
    2. В папке migrations создайте файл, например 001_add_tables.php
    3. В файл внесите следующее:

    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    
    class Migration_Add_tables extends CI_Migration
    {
        public function up()
        {
            $this->dbforge->add_field([
                'id' => [
                    'type' => 'INT',
                    'constraint' => 5,
                    'unsigned' => TRUE,
                    'auto_increment' => TRUE
                ],
                'title' => [
                    'type' => 'VARCHAR',
                    'constraint' => 100,
                ],
                'state' => [
                    'type' => 'VARCHAR',
                    'constraint' => 1,
                    'default' => 0,
                ],
            ]);
    
            $this->dbforge->add_key('id', TRUE);
            $this->dbforge->create_table('modules');
        }
    
        public function down()
        {
            $this->dbforge->drop_table('modules');
        }
    }
    Ответ написан
  • Как отослать XML запрос с авторизацией использую Guzzle?

    Recosh
    @Recosh
    Программист студент
    Вот так общаюсь с яндексом по xml:
    $acc = $this->get_auth_token_by_id($reklama_account_id);
    
    $dom = new domDocument("1.0", "utf-8"); // Создаём XML-документ версии 1.0 с кодировкой utf-8
    $root = $dom->createElement("ReportDefinition"); 
    $root->setAttribute('xmlns','http://api.direct.yandex.com/v5/reports');
    $dom->appendChild($root);
    
    $SelectionCriteria = $dom->createElement("SelectionCriteria");
    
    //Установка даты
    $DateFrom = $dom->createElement("DateFrom", $data['date_nach']);
    $DateTo = $dom->createElement("DateTo", $data['date_konech']);
    $SelectionCriteria->appendChild($DateFrom);
    $SelectionCriteria->appendChild($DateTo);
    
    $root->appendChild($SelectionCriteria);
    
    //Установка полей, которые нам нужны
    
    $FieldNames = $dom->createElement("FieldNames", "Impressions");
    $root->appendChild($FieldNames);
    
    $FieldNames = $dom->createElement("FieldNames", "Clicks");
    $root->appendChild($FieldNames);
    $FieldNames = $dom->createElement("FieldNames", "Ctr");
    $root->appendChild($FieldNames);
    $FieldNames = $dom->createElement("FieldNames", "Cost");
    $root->appendChild($FieldNames);
    
    //Имя отчёта (должно быть уникальным)
    $ReportName = $dom->createElement("ReportName", $report_name);
    $root->appendChild($ReportName);
    
    //Тип отчёта
    $ReportType = $dom->createElement("ReportType", 'ACCOUNT_PERFORMANCE_REPORT');
    $root->appendChild($ReportType);
    
    $DateRangeType = $dom->createElement("DateRangeType", "CUSTOM_DATE"); //У нас своё время
    $root->appendChild($DateRangeType);
    
    //Формат запроса отчёта
    $Format = $dom->createElement("Format", "TSV");
    $root->appendChild($Format);
    
    //Включаем НДС
    $IncludeVAT = $dom->createElement("IncludeVAT", "YES");
    $root->appendChild($IncludeVAT);
    $IncludeDiscount = $dom->createElement("IncludeDiscount", "NO");
    $root->appendChild($IncludeDiscount);
    
    $data_string = (string)$dom->saveXML();
    
    $ch = curl_init('https://api.direct.yandex.com/v5/reports');
    
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Authorization: Bearer '.$acc['app_token'],
        'Accept-Language: ru',
        'returnMoneyInMicros: false',
        'skipReportHeader: true',
        'skipReportSummary: true'
    ));
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    
    $result = curl_exec($ch);
    
    $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    $header = substr($result, 0, $header_size);
    $body = substr($result, $header_size);

    В $data_string записывается xml строка и через curl отправляется
    В переменную $body записывается ответ
    Ответ написан
    Комментировать
  • Требование к градации Middle PHP Developer?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Мидл -- это полноценный разработчик, решающий любую задачу:
    - укладывается в бюджет (время)
    - полноценно рулит своей разработкой (архитектура, хороший код)

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

    Сеньор -- это уже монстр, который рулит вектором выбора технологий (как правило в больших командных проектах, тк в маленьких я тоже выбираю технологии :) или монстр, который может допилить приложение для языка, не просто фигачить как псих на Symfony, а еще и допиливать сам Symfony и плюс свои пару крутых опенсорсных решения.
    Также сеньор может быть мидлом, например в крупных игровых студиях сеньоры сидят и пилят крутую физику для игр...

    Вообще понятия сильно размазаны... разделения только по зп и требованиям в объявлении есть, учитесь и работайте! (и мы будем :)
    Ответ написан
    Комментировать
  • Как правильно обработать этот запрос в Guzzle?

    @Barmunk
    $client = new Client();
    
    try {
        $client->get('https://10.128.128.8:5007/esic/api', ['query' => ['foo' => 'bar']]);
    } catch (\Exception $e) {
        echo $e->getRequest() . "\n";
        if ($e->hasResponse()) {
            echo $e->getResponse() . "\n";
        }
    }


    дока docs.guzzlephp.org/en/5.3/clients.html#sending-requests

    Вероятно будут проблемы с самоподписанным сертификатом, если это так, то инициализация должна быть таким образом:

    $client = new Client(['verify' => false]);
    Ответ написан
    7 комментариев
  • Как заставить MySQL не потреблять всю доступную память?

    Endru9
    @Endru9
    Админ Linux
    Где на картинке видно что он забрал всю память? на сколько я вижу - используется 929Мб из 32Гб.
    Почитай про команду free -m
    Ответ написан
    Комментировать
  • Что значит "знание linux" в вакансиях на позицию веб-разработчика?

    Sanasol
    @Sanasol Куратор тега Веб-разработка
    нельзя просто так взять и загуглить ошибку
    имхо я считаю что это значит надо уметь поднять свой софт/скрипты на сервере.
    Знать что такое ssh/ftp и как этим пользоваться.
    И конечно как сделать apt-get install nginx php-fpm
    Как купить/привязать домен, как настроить его на сервере и всё такое.
    Если разработчик этого не умеет, то встает вопрос как он вообще делает сайты?

    Т.к. встречался фронтенд-разработчик который сделал круглые глаза когда ему сказали на фтп что-то залить.
    И это вызвало недоумение уже у меня.
    На локалке вроде всё делает, а на сервак даже не знал как зайти, чем он занимался раньше и как работал без понятия.
    Ответ написан
    7 комментариев
  • Как правильно подгружать компоненты Vue JS?

    @RidgeA
    забыл

    <router-view></router-view>

    советую доку почитать https://router.vuejs.org/en/essentials/getting-sta...

    и в App.vue что-то не то с тегами.
    Ответ написан
    Комментировать
  • Как запрещают возможность видеть остальных в wifi кроме себя и железки?

    @Psq
    Информационная безопасность. Пентест.
    Изоляция клиентов в сети реализуется через Access point isolation. Статьи по обходу гуглятся, но сам не пробовал.
    Ответ написан
    Комментировать
  • Как запрещают возможность видеть остальных в wifi кроме себя и железки?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Это возможно с помощью блокировки broadcast-трафика (последний адрес в подсети) на сетевом уровне. А вот на физическом - невозможно (режим мониторинга), проще всего это делается на Linux/MacOS с aircrack-ng на компьютере с Wi-Fi адаптером, поддерживающим данный режим в драйверах (гуглится).
    P.S. Меньше скобок.
    Ответ написан
    Комментировать
  • Как запрещают возможность видеть остальных в wifi кроме себя и железки?

    @Fixid
    Реализуется роутером или путем запрещения локального трафика или обертыванием клиента в личный VLAN
    Возможно, все зависит от ОС
    Ответ написан
    Комментировать
  • Стоит тратить свое личное время стартующему фрилансеру на клиента?

    apavlyut
    @apavlyut
    www.apavlyut.ru
    Все что ты делаешь для каждого заказчика обдумай в общую концепцию и сделай сначала твой план работ с клиентами и выложи это на одной странице.

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

    Клиент который хочет с тобой работать - будет работать. Помоги ему в этом, делегирую свои объяснения сайту - клиент ознакомится и задаст нужные вопросы. Когда ему что-то будет непонятно ты старайся на эти вопросы дать ответ и клиенту и обновить свое описание порядка работ.

    Если клиент не хочет с тобой работать а хочет "об тебя" подумать / прикинуть / получить проектировку бесплатно - лучше об этом узнать заранее.

    Ты не можешь работать бесплатно - раз и навсегда для себя это утверди и не работай с такими людьми.

    Если человеку будет сложно прочитать что ты для него заранее изложил в понятном виде для экономии вашего совместного времени - у тебя дальше с ним будут проблемы, этот человек не уважает ни твое, ни свое время.

    Продолжай, и не делай всем раскладки просто так. Успехов.
    Ответ написан
    Комментировать
  • Конфликт версий PHP 5.6 и PHP 5.5, как исправить?

    @BorisKorobkov Куратор тега PHP
    Web developer
    Удалите все версии php yum purge php*, установите заново только 5.6
    Ответ написан
    4 комментария
  • Как обойти проблему с пробелом в span элементе?

    Долго думал причем тут пробел)) Дело не в пробеле а в том, что текст не влезает в отведенное ему место, потому и вылезает, варианты: уменьшить line-height чтобы отступ был поменьше, запретить переносы и добавить overflow:hidden, изменить размеры
    Ответ написан
    Комментировать
  • Как решить проблему с загрузкой файла с сервера?

    PHPExel получает изображения и какое-то из них неверное? Стоит посмотреть на то, что вы кормите PHPExel'ю
    Ответ написан
    Комментировать