Задать вопрос
  • Можно ли видео на сайте без сохранение на диск показывать в меньшем разрешении?

    kawabanga
    @kawabanga
    На хостинге есть видео. Размер видео 100 Мб.

    Установите ffmpeg и просто базовым запросом перекодируйте в тот же размер что у вас есть. Удивитесь сокращению размера раза в два.

    Видео запускается через тег video

    Используйте библиотеки, типа videojs. они действительно имеют больше возможностей.

    На смартфонах такое разрешение не нужно.

    Настройки пользователя или конфиги пользователя в вашей системе.

    К примеру, на десктопах показываем исходник = 1080, на планшетах = 720, на смартфонах = 560.

    Изначально нужно закодировать. ffmpeg перегоняет очень быстро файлы в разные форматы на m1 макбуках (4x от изначального 1080 файла), думаю современные процессоры умеют так же.
    В любом случае придется хранить все 3 версии, но тут нюанс -
    576 - может весить 5-10мб
    1080 - 20-30 мб
    720 - около 15.

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

    С чем именно у тебя возникла трудность?


    Можете дать какие-нибудь наводки, что бы я понял, что мне нужно сделать, пожалуйста?

    Что сделать чтобы что происходило?


    По идее с помощью первой кнопки бот должен сохранить сообщение пользователя о прошедшем дне на сегодняшнюю дату

    Видимо бот должен просить отправить сообщение на день и сохранять куда-то текст.


    а при помощи другой выдать запись за любую другую и, если на нужную дату записи нет, сообщить об этом

    Видимо должен просить пользователя отправить дату, или предлагать список доступных дат (например в виде кнопок). И искать запись в своём хранилище на эту дату.

    Получается, тебе нужно определиться с:
    1. Где хранить записи и разобраться, как с таким хранилищем работать. Самое просто тут - в обычных текстовых файлах.
    2. Как именно в деталях должно строиться взаимодействие с пользователем и как такое взаимодействие можно запрограммировать.
    Тут можно использовать диаграмму состояний, например
    Ответ написан
    Комментировать
  • Сохранение файлов с помощью python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    1. Захватываешь блокировку;
    2. Проверяешь наличие файла на диске:
      • Если нет, начинаешь скачивание в файл с тем же именем;
      • Если есть, начинаешь скачивать в файл с другим именем;
    3. Отпускаешь блокировку.
    Ответ написан
    Комментировать
  • Из-за чего рандомно оператор блокирует VPN не везде?

    @Drno
    просто на разные шлюзы уходит трафик, а там видимо разные настройки у ТСПУ. в любом случае это вопросы к оператору \ РКН
    А насчет блокировки - скоро будет.. уже процесс идёт)
    Ответ написан
  • C++ Оператор и его перегрузка?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Ну вот так прнято в С++. Оператор префиксного инкремента (++i) имеет такую сигнатуру - он возвращает ссылку на измененный объект. Если выхотите чтобы у вашего класса Date можно было сделать ++date, то надо переопределить вот такой вот оператор. Это позволяет писать более читаемый и короткий код. Вместо date.IncremeantAndReturn() можно использовать идиоматичное ++date, или даже что-то вроде while (++date < deadline). Это не обязательно делать, но иногда это весьма удобно и полезно.

    Оператор должен возвращать измененное значение, поэтому и возвращается *this после его увеличения;

    В этом коде Сopy не используется. Оно тут не нужно вообще. копия понадобится для постфиксного инкримента (i++), который должен возвращать неизмененный объект.

    Передача *this в конструктор Copy - это для вызова конструктора копирования, чтобы, внезапно, создать копию текущего объекта. Подумайте, как вам скопировать текущий объект? Надо новому объекту присвоить текущий, или в конструктор передать ему текущий объект. Но как передать текущий объект? У вас есть указатель на него this. Разыменовав этот указатель (*this) вы как раз можете передать текущий объект куда надо.
    Ответ написан
    Комментировать
  • Как сделать 10 гигабитную локальную сеть?

    https://habr.com/ru/companies/ruvds/articles/864742/

    и ещё пара статей там же есть по поиску, в т. ч. про 10
    Ответ написан
    Комментировать
  • Как сделать 10 гигабитную локальную сеть?

    @ki11j0y
    Админ
    У меня дома 10гбит сеть, есть nas, почти все диски hdd raid5, и есть raid0 для не важных файлов.. честно сказать ? Через raid 0 даже нет смысла на hdd иметь 10гбит сеть, а вот уже raid на nvme уже имеет смысл. На материнке 2.5гбит и нет полной утилизации канала при работе с рейдом на hdd
    Ответ написан
    1 комментарий
  • Как сделать 10 гигабитную локальную сеть?

    @Ava256
    долгий путь в тех. поддержке
    Вы хотите чтобы Васим сеть спроектировали?
    Ответ на ваш вопрос зависит от многих параметров.Простой ответ, это вам нужен коммутатор с портами 10gb, сетевые карты с портами 10gb в сервере и Synology и провода между ними, скорее всего оптика или DAC-кабели, в зависимости от расстояния между устройствами. Теоретически можно подключить сервер к Synology и на прямую.Порты 10GBASE-T ( Rj45 ) не советую.
    Ответ написан
  • Как сделать 10 гигабитную локальную сеть?

    @Drno
    просто используйте rsync, он умеет дописывать файлы.. зачем каждый раз целиком то всё копировать...
    ну или 2 сетевухи покупайте и патч корд между ними)
    ну и второй логичный вопрос - если у Вас hdd там то они такую скорость не выдадут
    Ответ написан
    3 комментария
  • Каким образом провайдер мониторит мой трафик?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Зашел с личного телефона на сайт МФО через оператора Билайн, LTE сеть.

    Спустя 3-4 часа на телефон стали приходить смс с предложениями о кредите.

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

    Законно, Вы же сами подписывали договор, при оформление симки.
    Как это отключить?

    Направить заявление об отзыве разрешения на обработку Ваших ПД.
    - каким образом мониторится трафик ? мое предположение - sni или dns запросы.

    Мобильный оператор видит, на какой домен Вы заходите, или на какой номер телефона звоните (например, на номер определенного менеджера этого МФО). Остается лишь таргетировать рекламу на данную аудиторию, т.е. на Вас.

    Ну и про слежку, если знать параметры мобильного устройства, пол и примерный возраст, то можно уверенно ответить на вопрос "был ли данный человек в данном месте в указанный промежуток времени". Соответственно, добавить все районы москвы перемноженные на дневные часы и вуаля, можно рассказать коллеге много интересного о нём :)
    Ответ написан
    5 комментариев
  • Каким образом провайдер мониторит мой трафик?

    @Drno
    запрос домена и sni, всё верно..
    насчет законности - средненько.. но Вы не докажите)
    Ответ написан
    1 комментарий
  • Как найти или показать существование цикла в ориентированном графе быстрее, чем за O(IVI+IEI)?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Никак.

    Это можно доказать. Вам так или иначе придется посмотреть на все ребра. Допустим, есть алгоритм, который всегда может проверить цикл, смотря не все ребра. Рассморим какой-то граф без циклов. Алгоритм там какие-то ребра посмотрел и сказал, что циклов нет. А мы возьмем и скормим этому алгоритму почти такой же граф, только одно из ребер, которые он вообще не трогал, сделаем обратным какому-то другому ребру в графе, сделав таким образом цикл. Но алгоритм посмотрит на те же самые ребра, увидет все то же самое и сделает точно такой же вывод, что циклов нет, и ошибется. Все потому что мы допустили алгоритм, который всегда смотрит не все ребра. Значит таких алгоритмов нет и там всегда будет хотя бы O(|E|).
    Ответ написан
    2 комментария
  • Перестал работать VPN по мобильному интернету?

    @Drno
    Это не лечится. Провайдеры састично блокируют вг и опенвпн.

    Решения - пробовать пользоваться промежуточным sock-proxy

    Менять впн - на xray reallity напрмер. (Технически это прокси, но если для обхода блокировок то неважно)

    Есои рабочее - пробовать менять протокол на sstp
    Ответ написан
    5 комментариев
  • Почему модификатор bevel не отображается в списке модификаторов, если его применять с помощью комбинации CTRL + b?

    @DrRen7
    CTRL + b это bevel, как инструмент моделирования, его можно применять на определенные ребра. В то время как модификаторы применяются ко всей модели. Инструменты меняют сетку в момент применения ну как экструд , модификаторы можно применить, а можно отменить и любой момент
    Ответ написан
    Комментировать
  • Как корректно вывести функцию в байтовом виде?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Переписать всё на ассемблер.
    Компилятор C/C++ может использовать оптимизацию, менять порядок функций, делать функции инлайновыми.
    Ответ написан
    2 комментария
  • Как записать DAG для прохода по ациклическому ориентированному графу, используя C#?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Раз вам надо обойти врешины в топлолгическом порядке, вам нужна топологическая сортировка. Если у вас только одна корневая вершина, то можно и проще - тут сработает любой обход: в ширину или в глубину из корневой вершины. Если корневых вершин несколько, то надо будет использовать какой-либо алгоритм топологической сортировки. Гуглите его. Есть алгоритм основанный на двух обходах в глубину, или нечто основанное на обходе в ширину.

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

    Но все перечисленные тут алгоритмы являются примерно одинаково эффективными. Без бенчмарков нельзя сказать какой из них лучше, и на разных формах графов одни могут быть лучше других и наоборот.
    Ответ написан
    33 комментария
  • Обьясните в чём суть инкапсуляции?

    TrueBers
    @TrueBers
    Гуглю за еду
    Оу, май, 4 человека ответили, и ни один не понимает, что такое инкапсуляция... деградация какая-то, алё!

    Причём тут защита данных? Причём тут контроль доступа? Сокрытие данных? Геттеры, сеттеры? private, public?
    Это всё не имеет никакого отношения к инкапсуляции, это всё побочные эффекты, либо способы реализации в конкретном языке.

    Основная задача инкапсуляции -- отделить интерфейс от реализации. Чтобы пользователя интерфейса вообще не волновало как там устроена его реализация. Чтобы там всё под капотом само подтягивалось, разрешалось, загружалось, а пользователь только передавал входные данные в интерфейс и получал выходные. Чтобы для добавления новой реализации в случае чего, разработчику достаточно было drop-in'ом закинуть эту реализацию, и она сама подтянулась, а не перелопачивать всю кодовую базу, которая сломалась от банального добавления кода.

    ООП и его фишки тут не причём. Ни геттеры, ни сеттеры, ни private\public никакого отношения к этому не имеют. Инкапсуляция может быть даже статической, когда, например разрешаются модули во время компиляции, и язык вообще не должен быть объктно-ориентированным при этом. Инкапсуляция может реализовываться вообще распределённо по разным нодам, которые реализуют интерфейс. Да и ещё чёрт знает как. Скрывать данные не нужно от пользователя. Часто даже удобно обратное -- не писать кучу бойлерплейта, а просто дать возможность пользователю сконфигурировать интерфейс через изменение стейтов в его реализации напрямую, если позволяет платформа, соблюдая инварианты. Это будет более верным архитектурным дизайном, нежели городить какие-то костыли "вдруг пользователь идиот и всё поломает".

    На этом всё, это и есть инкапсуляция.
    Ответ написан
    Комментировать
  • Почему программа не работает?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Элементарно. fast_deg - это же быстрое возведение в степень.
    Попробуйте посчитать, например, 2764443627644437, оставаясь в рамках целых чисел C++.
    Здесь надо использовать возведение в степень по модулю и правильно выбирать размер переменных.
    Ответ написан
    Комментировать
  • Почему программа не работает?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Проблема в том, что сначала пытаетесь вычислить a^(p-2), а потом взять его по модулю. В задаче числа до 10^9 и если вы попытаетесь вычислить что-то вроде 99999^1000005, то у вас int переменная переполнится, потому что там должны быть миллионы знаков в числе, а в int едва 10 влезает.

    Надо брать по модулю при каждом умножении в возведении в степень.

    Потому что (a*b)%p = (a%p)*(b%p) % p.

    Edit:

    Еще две ошибки: считать произведение надо в long long, потму что 10^9*10^9 в int не влезает.
    И fast_deg(a, deg/2) надо вызывать только один раз, а то у вас функция работает за O(n) вместо O(log n).
    Ответ написан
    2 комментария