• Как правильно проложить оптику?

    @SunTechnik
    Информации много, а полезной нет..
    Вопросы на которые надо получить ответ:
    Трасса по которой проведёте кабель - это улица, помещение, специальные лотки, кабель канал?

    В точках ответвления будут стоять дополнительные коммутаторы?

    Какая скорость планируется (1Gb или 10Gb)?

    Обычно, оптику которая соединяет разные помещения прокладывают в виде кабеля, концы которого разваривают в patch—панели. Число волокон берут с запасом. Patch-панели соединяются с активным оборудованием уже готовыми кабелями. Кабели ведут из одного помещения, а не соединяют в цепочку.

    Но это все слабо ложится на Ваши планы.. И портов оптический тогда мало в Вашем коммутаторе..
    Ответ написан
  • Как разработать систему идентификации одного и того же автомобиля на различных сайтах объявлений?

    @DDV23
    Биокибернетик
    Напишите фильтрацию по ключевым атрибутам и сужайте количество потенциальных совпадений. Это не 100% но вполне реально.
    Берём основные параметры - марка, модель, год выпуска, пробег, цвет, тип кузова, и начинаем фильтровать и постепенно сужаем круг. Тестируем - это займет всего немного времени, но Вы успеете задуматься о том, что пора бы прикупить краску для волос.
    Ответ написан
    Комментировать
  • Как защитить SPA от парсинга?

    @calculator212
    Защититься можно частично и в основном от тех для кого парсинг это не основная сфера деятельсти. В первом случае можете попробовать проверять агенты в заголовках, можно также сделать как делает ютуб/гугл и т.д. сначала загружают основной скрипт, который потом подгружает данные и большинство простых парсеров отваливаются, т.к. запросов слишком много и искать откуда и как берутся данные долго и сложно. От селениума нет особого смысла защищаться, те кому это нужно найдут обходные пути, вероятно простые пользователи будут больше страдать от вашей защиты.
    Самый нормальный вариант сделать платное/бесплатное апи, чтобы те кому нужны данные для парсинга не долбили ваш сайт, ну мб простую защиту от новичков имеет смысл сделать
    Ответ написан
    1 комментарий
  • Как защитить SPA от парсинга?

    2ord
    @2ord
    Не претендуя на новизну, можно вести учет количества запросов в минуту и по превышению порога начинать вставлять палки в колеса:
    вставлять капчи, спрашивать о чем-либо.

    Минусы:
    1. на рынке есть много решений для обхода популярных препятствий и может найтись решение "под ключ" для частного веб-сайта.
    2. вероятность случайной блокировки относительно более "интересующихся" пользователей.
    3. учет количества запросов обходится использованием пула прокси.

    Магазин с товарами это не спасет и решения противодействию всегда найдутся.

    Ваши ресурсы стоит направить на более целесообразную разработку.
    Ответ написан
    Комментировать
  • Возможно ли использование opensource проекта в коммерческих целях?

    насколько этично и не нарушает ли авторские права ситуация, когда кто-то берёт этот проект, немного модифицирует его и решает продавать, например, как SaaS?
    Этичность - вещь неизмеримая и субъективная. Лиценцию MIT это не нарушает, какую-нибудь другую может нарушить. Вы совершенно верно сказали, что лицензий много и у каждой есть особенности.

    Исходный код закрыт, оригинальный бренд проекта не используется, хотя общий интерфейс похож. Как в таких условиях возможно вообще уведомить о первоначальных авторах еще?
    Лицензия MIT и не требует уведомлять.
    Ответ написан
    2 комментария
  • Возможно ли использование opensource проекта в коммерческих целях?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Зависит от типа лицензии на исходный проект. Есть лицензии, которые не препятствуют использованию в коммерческих проектах, есть те, которые препятствуют. Дьявол в деталях.
    Ответ написан
    3 комментария
  • Парсинг https+post (http://iaai.com)?

    @vodniciarv
    проще не писать парсеры и их поддерживать, а использовать готовые API от внешних источников, их не так много, но есть несколько вариантов

    вот пример: https://import-motor.com/ru/api-copart-iaai
    Ответ написан
    Комментировать
  • Как добавить видео с помощью API VK?

    neluzhin
    @neluzhin
    Загружать видео можно только в том случае, если все запросы к VK API осуществляются с сервера. В документации написано, как загружать видео, но я расскажу поподробнее. Ход действий примерно такой:

    1. Загрузите видео на свой сервер.
    2. Вызовите метод video.save. Указывать какие-либо параметры не обязательно, но можете указать, например, ID группы, в которую будет добавлено видео, в параметре group_id и имя видеозаписи в параметре name.
    3. После того, как вы вызовете метод video.save, вы получите ссылку, куда надо будет загрузить вашу видеозапись. Выглядеть ответ от ВК будет примерно так:

      response: {
        upload_url: 'http://cs12129.vkontakte.ru/upload_video.php?act=add_video&mid=15748&oid=66748&vid=164322743&fid=0&tag=122517f2&hash=8bf2ea4bb66ca67d28fb&swfupload=1',
        vid: 164322743,
        owner_id: 66321,
        name: 'No name',
        description: '',
        access_key: 'e6822bfb86f90a149c'
      }

      По этому адресу методом POST отправьте видеозапись в поле video_file.

    4. В ответ на загрузку видеозаписи ВК вернёт вам ID видеозаписи:

      {
        "size":1234,
        "video_id":1234567
      }


    Это всё. Видеозапись должна будет появиться в указанном вами сообществе.

    Небольшой пример на PHP:

    <?php
    
    define('VK_ACCESS_TOKEN', '533bacf01e11f55b536a565b57531ac114461ae8736d6506a3');
    define('VK_API_VERSION', 5.53);
    
    // // //
    // Скачиваем видео с внешнего сервера на свой сервер
    // // //
    
    $ch = curl_init();
    				
    curl_setopt($ch, CURLOPT_URL, 'http://cache-spb07.cdn.yandex.net/kp.cdn.yandex.net/558075/kinopoisk.ru-L_odyss__233_e-311292.mp4');
    curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE);
    
    $curl_result = curl_exec($ch);
    
    curl_close($ch);
    
    // Кладем видео в папку со скриптом
    $fp = fopen('kinopoisk.ru-L_odyss__233_e-311292.mp4', 'x');
    fwrite($fp, $curl_result);
    fclose($fp);
    
    // // //
    // Получаем адрес ссылки, куда загружать видео
    // // //
    
    $ch = curl_init();
    $parameters = http_build_query([
        'access_token' => VK_ACCESS_TOKEN, // access_token / ключ доступа
        'v'            => VK_API_VERSION, // версия API
        'name'         => 'Имя видеозаписи',
        'description'  => 'Исчерпывающее описание нашей первой видеозаписи.',
        'group_id'     => 125004421, // ID группы
        'no_comments'  => 0 // разрешаем комментирование
    ]);
    
    curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/video.save?' . $parameters);
    curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    
    $curl_result = json_decode(curl_exec($ch), TRUE); // превращаем JSON-массив, который нам вернул VK, в обычный PHP-массив
    
    curl_close($ch);
    
    // // //
    // Загружаем видео на серверы ВК
    // // //
    
    $ch = curl_init();
    $parameters = [
        'video_file' => new CURLFile('kinopoisk.ru-L_odyss__233_e-311292.mp4')  // PHP >= 5.5.0
        // 'video_file' => '@kinopoisk.ru-L_odyss__233_e-311292.mp4' // PHP < 5.5.0
    ];
    
    curl_setopt($ch, CURLOPT_URL, $curl_result['response']['upload_url']);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_SAFE_UPLOAD, TRUE); // если PHP < 5.5.0, то эту строку надо закомментировать
    
    $curl_result = json_decode(curl_exec($ch), TRUE);
    
    curl_close($ch);
    
    if (isset($curl_result['error'])) {
        exit('Строка ' . __LINE__ . ': Ошибка при загрузке видео на серверы ВК: ' . $curl_result['error'] . '.');
    }
    
    echo 'Видеозапись успешно загружена.';

    Кстати, параметр link метода video.save принимает только ссылки на популярные видеохостинги, вроде YouTube. О работе через этот параметр я писал в этом вопросе.
    Ответ написан
    4 комментария
  • Как правильно подключить YooMoney на сайт?

    @DimmmCom
    Для возврата на определённую страницу используется необязательный параметр
    successURL | string, URL path | URL-адрес для редиректа после совершения перевода.
    https://yoomoney.ru/docs/payment-buttons/using-api...
    Ответ написан
    Комментировать
  • Как правильно построить архитектуру?

    Sanes
    @Sanes
    Делайте, как вам удобно. Что-то куда-то выносить имеет смысл, если будете переиспользовать или не хотите видеть огромную портянку в коде.
    Простейший CRUD прекрасно живет в одном контроллере. Если много связей, то имеет смысл вынести их в Трейты.
    Отчеты, подсчёты и т.п. обычно делаются в фоновом режиме. Для этого в laravel придумали очереди и планировщик.
    Ответ написан
    2 комментария
  • Почему это условие не работает?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Условие срабатывает как и положено.

    Писать что-то в массив $_POST не имеет смысла, он будет всегда создан новым при следующем запросе.
    Точно так же между запросами не сохраняются переменные. И получается, что вы каждый раз сбрасываете счетчик в ноль, а тут же увеличиваете его до единички.

    Данные между запросами можно хранить в сессии.

    session_start();
    $num = $_SESSION['num'] ?? 0;
    $num++;
    
    $_SESSION['num'] = $num;

    Или передавать через ту же форму

    $num = (int)($_POST['num'] ?? 0));
    $num++;
    
    <input type="hidden" name="num" value="<?=$num?>">
    Ответ написан
    Комментировать
  • Как сделать поиск который понимает суть запроса?

    @sunsexsurf
    IT & creative
    Вы решаете задачу, которую решает Гугл, в целом.
    в общем, путь, по которому можно пойти:

    1/ прикрутить к вашей поисковой строке расстояние Левенштейна и искать совпадения. Уже будет работать. Плоховато, но лучше, чем ничего.
    2/ Посчитать tf-idf на ваших документах и смотреть, что ввел пользователь. Будет работать значительно лучше
    3/ построить w2v: каждому слову будет дан эмбеддинг (векторное представление), косинусные расстояния между векторами будут обозначать похожесть слов (синонимическую)
    4/ Прикрутить Берт-подобные модели. Если сайт не какой-то специфический, можно даже не доучивать на вашем корпусе.
    4 итерация - это, по сути, "предгенеративный" шаг. Потом начинаются большие языковые модели (типа огромного Ялма) и всякие вопросно-ответные системы типа чатЖПТ.
    Ответ написан
    Комментировать
  • Как сделать поиск который понимает суть запроса?

    2ord
    @2ord
    Для этого необходимо, чтобы анализатор мог производить разбор частей речи языка, как минимум.
    Тогда анализатор будет понимать смысл речи и извлекать нужные компоненты.
    Есть технология NER.
    Ответ написан
    Комментировать
  • Как разместить пост в группе Одноклассники через API, c помощью php?

    Метод для публикации топиков в группах в API Одноклассников, конечно же, есть.
    Вот он: https://apiok.ru/dev/methods/rest/mediatopic/media...
    Также вам наверняка потребуется метод по загрузке фото: https://apiok.ru/dev/methods/rest/photosV2/photosV...

    Примеров на php у нас в документации, к сожалению, нет, но много хороших людей уже всё сделали за нас и до нас.
    Например:
    shtyrlyaev.ru/all/skript-avtopostinga-v-gruppu-odn...
    https://dampi.ru/posting-v-gruppu-v-odnoklassnikah...

    В этих же примерах кратко описано, как создать приложение и какие вам нужны права. Об этом и в документации написано: https://apiok.ru/dev/app/create
    Ответ написан
    1 комментарий
  • Как убрать водяной знак с помощью PHP?

    @maksam07
    Через GD "фотошопь" изображение
    Ответ написан
    Комментировать
  • Как стать специалистом по информационной безопасности (кибербезопасность)?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Ить, да вас прорвало, что ли? Вроде не конец учебного года, чего все так кинулись в ИБ?

    Если ты думаешь, что вот стану ИБ-шником и буду только тестить сайты и ломать вирусню - ты ошибаешься. Нет, этим ИБ тоже занимается. Но - в крупных конторах типа Касперского. А в конторах помельче - ИБ-шник, как админ - как правило один штука (редко два - это уже достаточно большая контора должна быть).

    И задачи у него могут быть ... специфические.

    Нет, там конечно много и обычной админской работы - прокси, файрволлы, VPN, права доступа, сертификаты, разрешение на установку ПО, туда не хади - сюда хади (СКУД и видеонаблюдение). Но я уже тут пальцы стер писать, что ИБ не только про компы. ИБ это еще и про людей, и вот это "про людей" может быть сильно неприятным - СМП, чтение почты, отсмотр чем человек занимался...

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

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

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Это называется плюрализацией.
    Можно поискать реализации по ключевому слову "plural" на packagist.
    Примеры:
    doctrine/inflector
    symfony/inflector
    mmucklo/inflect
    wapmorgan/morphos (специально под русский и английский языки).
    Ответ написан
    Комментировать