• Как сделать отправляемые запросы анонимными?

    Vindicar
    @Vindicar
    RTFM!
    Анонимность - штука многогранная.
    Для начала, что значит "со мной"? Кто есть "я"? Другая учётка на этом же сайте? Айпишник из российского диапазона? Учётка в соцсетях? Физлицо Вася Пупкин, паспорт-серия-номер-выдан? Ответы будут очень разные.
    1. Какие данные сайт требует для работы? Можно ли по этим данным тебя идентифицировать?
    Грубо говоря, если для реги нужен телефон, и сайт не работает с российским сегментом, то VPN не поможет, если у тебя нет зарубежного номера.
    2. Какие данные отдаёт твой клиент? Например, куки, localStorage, эксплоиты для анализа истории, инфа от логинов в соцсетях, и тому подобные вещи. requests и другие клиенты-либы ничего такого не отдают, если специально их не настроить. В случае с селениумом есть browser fingerprint, но он тоже ломается при желании.
    3. Что сайт знает о твоём IP адресе? Принципиально ли ему вообще это знание? Одно дело, если сайт требует/не допускает айпишники из определённого диапазона. Другое - если там ограничение на число запросов с одного IP. Третье - если ему вообще пофиг на IP и он пытается идентифицировать юзера иначе.

    Короче, выводы простые.
    1. без конкретики тут говорить не о чем.
    2. Однострочник import sdelaj_mne_kruto не прокатит.
    Ответ написан
    Комментировать
  • Какую базу данных использовать для такого проекта?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Ну, на основной вопрос уже ответили, а я освещу отдельную проблему, которая очень часто волнует умы юных падаванов.

    когда лучше реляционную и нереляционную использовать?

    Ответ на этот вопрос очень простой.
    Нереляционная БД - это НЕ база данных.
    А узкоспециализированное хранилище, которое может выполнять какую-то одну определенную функцию лучше, чем база данных. Это может быть кэширующий демон, или поисковый движок, или решение для аналитики, или какое-то подсобное хранилище для всякого мусора.

    Как только осознаёшь этот простой факт, то всё сразу становится на место:
    Если нужна база данных, то и использовать надо базу данных. Реляционную. Какую именно - в вашем случае не принципиально.

    Если вдруг проект пройдет стадию "неясные идеи", и выльется во что-то практическое, и даже появится какая-то нагрузка, то можно будет начать думать про использование одного или нескольких подсобных хранилищ в дополнение к базе данных.
    Ответ написан
    2 комментария
  • Где украли деньги?

    Vindicar
    @Vindicar
    RTFM!
    Ранее для личных целей с личного телефона пользовался данным сервисом - проблем не было (так что вряд ли сам сервис занимается воровством).

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

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Можно дополнить матрицы нулями до размера кратного 8. Так (но со степенью двойки) работает умножение через быстрое преобразование фурье, например.

    Или можно наивно последние 1-7 слагаемых в каждой сумме подсчитать. Это займет O(n^2), что по сравнению с остальным алгоритмом - копейки.
    Ответ написан
    2 комментария
  • Как конвертировать чат в вопросы и ответы?

    @rPman
    Сядь и подробно опиши, как ты будешь описывать эту работу человеку, причем максимально далекому от темы, не очень сообразительному но внезапно эрудированному (считай что написанное этот человек будет понимать сразу, с учетом опечаток, сленга и т.п., этому обучать не придется).

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

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

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

    0xD34F
    @0xD34F Куратор тега React
    Погуглите, что такое всплытие событий, и как его останавливать.
    А можете и не гуглить.
    const onClickRow = () => {
      console.log('Строка');
    };
    
    const onClickButton = e => {
      e.stopPropagation();
      console.log('Кнопка');
    };

    <div onClick={onClickRow}>
      <button onClick={onClickButton}>click me</button>
    </div>

    Или оставьте один обработчик, на родительском элементе, внутри которого в зависимости от target события выполняйте различные действия.
    Всё ещё ленитесь гуглить? - ну тогда жмите сюда.
    const onClickRow = e => {
      if (e.target.tagName === 'BUTTON') {
        console.log('Кнопка');
      } else {
        console.log('Строка');
      }
    };

    <div onClick={onClickRow}>
      <button>click me</button>
    </div>
    Ответ написан
    1 комментарий
  • Как установить дефолтные точки на гугл карте api?

    0xD34F
    @0xD34F Куратор тега React
    fitBounds:

    // это массив ваших "точек"
    const locations = [
      { lat: ..., lng: ... },
      { lat: ..., lng: ... },
      ...
    ];

    const onLoad = map => {
      const bounds = new window.google.maps.LatLngBounds();
      locations.forEach(n => bounds.extend(n));
      map.fitBounds(bounds);
    };

    <GoogleMap
      onLoad={onLoad}
      ...
    >
      {locations.map(n => <Marker position={n} />)}
    </GoogleMap>
    Ответ написан
    Комментировать
  • Почему удаленный файл появляется в консоли браузера и выполняет скрипты?

    @risejs
    Нажмите в браузере Ctrl+F5 чтобы сбросить кэш страницы.
    Ответ написан
    6 комментариев
  • Что происходит с OpenVPN?

    @Drno
    Опенвпн начали блокировать еще месяц назад.
    Переходите на sstp
    Ответ написан
    4 комментария
  • Почему не получается скачать файл по этой ссылке средствами PHP (403 ошибка)? Как исправить код, чтобы он работал?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Прописывайте все-все header-ы, которые в своём запросе отправляет настоящий браузер, в том числе cookie. Ну и раз уж смотрите его запросы - задно смотрите, документ скачивается сразу по запросу, или через какой-нибудь редирект?
    Ответ написан
    5 комментариев
  • Существуют ли аналоги Яндекс/Гугл фото в своей сети?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    https://syncthing.net/
    на ютубе полно гайдов по его настройке
    Ответ написан
    4 комментария
  • Как на одном холсте вывести несколько графиков с независимыми координатами по оси X?

    0xD34F
    @0xD34F
    Устанавливаете тип графика scatter, в настройках наборов данных указываете showLine: true. Например:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.3.0/chart.umd.js"></script>
    <canvas id="chart"></canvas>

    const createDataset = (color, label, baseY) => ({
      borderColor: color,
      label,
      showLine: true,
      data: Array.from({ length: 10 }, (_, i) => ({
        x: 10 * (i + (Math.random() - 0.5)) | 0,
        y: baseY + Math.random() * baseY | 0,
      })),
    });
    
    new Chart(document.querySelector('#chart'), {
      type: 'scatter',
      data: {
        datasets: [ 
          createDataset('red', 'hello, world!!', 50),
          createDataset('green', 'fuck the world', 100),
          createDataset('blue', 'fuck everything', 200),
        ],
      },
    });
    Ответ написан
    1 комментарий
  • Стоит ли переходить с FullHD на 2k?

    xez
    @xez
    TL Junior Roo
    Если и менять монитор - то сразу на 4к
    Ответ написан
    8 комментариев
  • Что такое Docker простыми словами?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Что такое Docker простыми словами

    простыми словами

    Если совсем прям простыми, то - это некая легковесная оболочка, которая способна изолировать приложение внутри себя от внешнего мира. Очень похож (по логике) на системы виртуализации VMware, VirtualBox, Parallels итп, но сам не является им.

    Возможности:

    - Контейнеризация: Docker позволяет паковать приложения вместе со всеми их зависимостями в контейнеры, обеспечивая тем самым их независимость от конкретной инфраструктуры.
    - Переносимость: Контейнеры Docker могут быть запущены на любом компьютере, который поддерживает Docker, независимо от операционной системы. Это делает распространение и развертывание приложений намного проще.
    - Изоляция ресурсов: Каждый контейнер Docker работает в изолированной среде и не влияет на другие контейнеры или хостовую систему.
    - Слоистая файловая система: Docker использует слоистую файловую систему для хранения данных, что позволяет существенно экономить дисковое пространство и упрощает обновление и распространение контейнеров.
    - Сетевые возможности: Docker позволяет настраивать сетевые параметры каждого контейнера, что позволяет создавать сложные многокомпонентные приложения.
    - Docker Hub: Docker Hub – это репозиторий, где можно хранить и делиться контейнерами. Это облегчает развертывание и распространение приложений.
    - Docker Compose: Это инструмент для определения и запуска многоконтейнерных - Docker-приложений. С помощью Compose вы можете использовать файл YAML для конфигурации служб вашего приложения, а затем с помощью одной команды создать и запустить все службы.
    - Docker Swarm: Docker Swarm предоставляет нативные возможности Docker для оркестрации и масштабирования кластера Docker.
    Ответ написан
    Комментировать
  • От чего зависит звук беспроводных (радиочастотных) наушников?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    От теоремы Котельникова, энергопотребления и частотного диапазона.
    Итак мы имеем следующее распределение качества (гипотетическое)
    USB - цифра идет напрямую шумы от системника отсутствуют
    Wired - цап в компе и напрямую ловит шумы от системника, но плюс то что широта канала зашкаливает
    Bluetooth - шумов конечно нет, но жать нужно жестко, а с учетом диапазона все очень плохо.

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

    Deita
    @Deita
    Ни тот, и ни другой, их поэтому и сливают по дешевке, потому что все кто попробовал 8/256 или 8/512 уже давно поняли что меньше чем 16/512 не надо брать изза чего их появилось на вторичке очень много, что составило конкуренцию новым партиям, поэтому новые партии надо кудато девать, вот они и конкурируют с БУ моделями которые без циклов перезарядки стоят на 30%-40% дешевле
    Ответ написан
    Комментировать
  • Ноутбук для веб и графического дизайна в 2023г.?

    @ewgenc
    В этот бюджет и новый 15’’ Air на m2 должен влезть.
    Ответ написан
    Комментировать
  • Как сделать продажу файлов на PHP?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Все файлы складываете в недоступное из web место.
    Даже на шаред хостингах у вас есть домашняя директория, в которой расположен каталог public_html, в котором уже лежит ваш сайт. Вот на одном уровне с public_html, в домашнем каталоге создайте папку files и складывайте туда.

    Далее генерируете пользователю ссылку вида
    https://mysite.ru/download/sadlflksdjfkj
    Hash кладете в табличку в бд и устанавливаете время жизни, связываете ее с зарегистрированным пользователем и нужным файлом.
    Регистрируете в приложении маршрут
    '/download/{hash}'
    в обработчите маршрута получаете это хэш, ищете в базе запись с ним. Проверяете, не истекло ли время жизни, тот ли пользователь ее открыл, и если все норм, с помощью readfile отдаете нужный файл на скачивание.
    Ответ написан
    1 комментарий
  • Как запустить Kali Linux на Mac M1 на "голом железе"?

    @dronmaxman
    VoIP Administrator
    В данный момент на m1 можно запустить только Asahi Linux.
    Ответ написан
    Комментировать