Задать вопрос
  • Почему YouTube API возвращает результаты, а видео отсутствует?

    Satico
    @Satico
    Мой скромный опыт показыват, что при работе через API key можно проверить существование видео только опосредованно - если у вас настроена обработка ошибок при попытке запросить данные из пустого массива, как в примере с вашим видео (ID AvWYF1sa1Fw).

    Может, если использовать Google OAuth 2.0, то API Будет корректно обрабатывать запрос и отдавать релевантный в таких случаях ответ, как и прописано в документации для ресурса Video:

    notFound (404)
    videoNotFound
    The video that you are trying to retrieve cannot be found. Check the value of the request's id parameter to ensure that it is correct.


    Но мне такой ответ никогда не приходил, поэтому я использую функцию get_headers(). И только при получении ответа 200 (видео существует и доступно), делаю вызов к API. Ваше видео отдает ошибку 404.

    Если сами не сможете написать конструкцию для проверки HTTP заголовка, могу поделиться кусочком кода.
    Ответ написан
    2 комментария
  • Кому реально нужны правила по использованию cookie на сайте?

    @wadimko81
    Моё мнение, что этим сообщения о использовании кук, просто издевательство над посетителем, и владельцем сайта.

    На самом деле, в любом браузере, есть настройки безопасности.
    Есть так называемые уровни безопасности. При желании, пользователь может настроить свой браузер, таким образом, чтобы ему показывал сообщения именно его браузер о том, какие данные о нём собираются на данном сайте.

    При том, тут пугали разными версиями сайта, при разном сборе данных.
    Как раз, для браузеров, есть расширения, которые фильтруют содержимое страницы.
    Не загружают всё те же скрипты, Гугл аналитикс, и так далее. Всякие счётчики.
    Есть расширение, которое вообще отключает какие либо скрипты, либо определённые.

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

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

    Например, в браузере Файрфокс, убрали из настроек возможность отключать скрипты, мотивируя это, на официальном сайте тем, что пользователи этой кнопкой “ломают их браузер, который становистя не пригодным для просмотра” или как-то примерно так.

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

    А отображения окошка на сайте, которое не кто не читает, и нажимает “ОК”
    Это, какое-то, не знаю, похоже на бутафорию и издевательство.

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

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

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

    Тему эту ещё можно продолжить в данном русле, но и так много текста.
    Специально зарегистрировался, чтобы ответить на этот вопрос.
    Всё написанное, это личное мнение, на истину не претендует.

    На вопрос, кому это нужно, вероятно тем, кому выгодно создавать проблемы людям.
    Вероятно какой-то способ подавить конкурентов, какими-то требованиями.
    Ничего общего с заботой о людях, это на практике, как кажется не имеет.
    p.s Если некая программа, загружает массив данных на ваш пк...
    Сработает файрвол, правила доступа к папкам, правила учётной записи, на установку программ, сработает файрвол, антивирус, и так далее.
    Ответ написан
    1 комментарий
  • Есть ли готовые Python библиотеки для определения похожести строк?

    @mamokino
    К упомянутым здесь fuzzywuzzy и расстоянию Левенштейна еще нужен модуль с алгоритмом стемминга, например, Snowball Stemmer (есть и под Python, есть и под русский).

    Но он только для окончаний слов, не для приставок, как в вашем примере.
    Ответ написан
    Комментировать
  • Почему вставка данных без подтверждения изменяет БД?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Насколько я понимаю - connection.commit() завершает транзакцию, но если вы сделали инсерт, а затем не сделали комит, то транзакция автоматически откатится, однако так как инсерт "уже был", внутренний курсор автоинкремента сместится на количество (не)добавленных строк.

    Почему так происходит и как этого можно избежать?

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Представьте: последний id был 100, вы начали транзакцию и добавили строку в таблицу. Должен MySQL зарезервировать ID для этой строки? Очевидно, да. Какой? Видимо, 101.
    В этот момент проходит ещё одна команда на вставку строки, в другом потоке. Она тоже хочет получить следующий id. Какой ей выдать? Видимо, 102. Строка записана.
    Теперь вы отменяете (или не подтверждаете) первую транзакцию. Куда деть значение 101? Да просто выбросить.
    AUTO_INCREMENT гарантирует уникальность и монотонное возрастание, но не непрерывность значений, так что пропуск значений (лакуны) вполне допустимы.
    Ответ написан
    3 комментария
  • Как часто используется инструкция nonlocal?

    sim3x
    @sim3x
    Потому что мало кто любит стрелять себе в ногу

    Зачем ввели?
    -Кто-то написал код, кто-то обосновал его включение в ядро, кто-то одобрил
    У всех были свои мотивы
    spoiler
    Подозреваю, что большая часть мотивов была в виде: а шоб було
    Ответ написан
    Комментировать
  • Почему функция и переменная не могут одинаково называться?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    Более-менее корректный ответ мог бы выглядеть так.

    Большинство "слов" в коде на Python -- это имена-ссылки на объекты Python.

    И функции, и "переменные" -- это объекты Python.

    В любом пространстве имён могут хранится имена-ссылки как на функции, так и на "переменные".

    Имена в каждом пространстве имён уникальны, поэтому нельзя одинаково назвать и функцию, и переменную. При попытке так сделать, что-то новое займёт имя-ссылку чего-то старого.

    То же самое относится к классам, к объектам классов, к полям и методам классов и пр. Все объекты Python либо занимают уникальные имена в неком пространстве имён, либо не занимают вовсе (например, числа в списке доступны не по имени, а по индексу).

    P.S. Спасибо, вопрос поднял настроение.
    Ответ написан
    Комментировать
  • Что такое item?

    Adamos
    @Adamos
    Семантически вернее всего, наверное, будет "штука".
    Это одна штука неважно чего из множества таких же штук.

    А вот если эта штука действительно стала самостоятельной боевой единицей - тогда она уже не item, а unit :)
    Ответ написан
    Комментировать
  • Почему не удается отредактировать изображение?

    AngReload
    @AngReload
    Кратко о себе
    https://st.motortrend.com/uploads/sites/10/2017/11/2018-infiniti-q60-luxe-coupe-angular-front.png

    Несмотря на то что url заканчивается на png сервер если захочет, то может отдать хоть gif, хоть jpeg. Или вообще веб-страничку покажет. Окончание .png нужно только для удобства пользователей.

    Так для Хрома и других браузеров на его основе сервер отдаёт не png, а webp. WebP - это более новый формат картинок, который лучше сжимается. Но его поддерживают даже не все браузеры, а графические редакторы тем более.

    В данном случае сервер определяет по наличию в запросе от браузера Accept: image/webp поддерживается ли webp и выдаёт его, если да, и jpg если нет.

    Проще способ, использовать на страничке тег picture:

    <picture>
      <source srcset="img/awesomeWebPImage.webp" type="image/webp">
      <source srcset="img/creakyOldJPEG.jpg" type="image/jpeg"> 
      <img src="img/creakyOldJPEG.jpg" alt="Alt Text!">
    </picture>
    Ответ написан
    Комментировать
  • Как сменить ">>>" на "In[x] Out[x]"?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Запусти ipython
    Python 2.7.12 (default, Dec 19 2016, 15:11:02) [MSC v.1500 32 bit (Intel)]
    Type "copyright", "credits" or "license" for more information.
    
    IPython 5.7.0 -- An enhanced Interactive Python.
    ?         -> Introduction and overview of IPython's features.
    %quickref -> Quick reference.
    help      -> Python's own help system.
    object?   -> Details about 'object', use 'object??' for extra details.
    
    In [1]: 1+1
    Out[1]: 2
    
    In [2]:
    Ответ написан
    1 комментарий
  • Как вызвать ТВ-поле в чанке?

    alelunegov
    @alelunegov
    Фрилансер. Разработка сайтов на MODX, верстка
    {if $_pls['tv.myTv'] == '12345'}
        делаем дело
    {/if}

    Документация.
    Ответ написан
    Комментировать
  • Как реализовано чтение аудио на сайте vc.ru?

    Stalker_RED
    @Stalker_RED
    Выбираете TTS движок с поддержкой нужного языка. Выбираете голос. Скармливаете движку текст, и он возвращает вам аудио.

    Делаете кнопку на сайте, которая запукает плеер с этим аудио.
    Ответ написан
    Комментировать
  • Какой скрипт для красивого вывода кода на сайте посоветуете?

    kores
    @kores
    Помог ответ? Отметь решением!


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

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Есть ли эмуляторы BIOS?

    Radjah
    @Radjah
    Чисто теоретически можно выдрать из образа оболочку и запустить её как efi-приложение.
    Я пробовал ковырять образы с помощью UEFITool. Там внутри вообще всё сложно. Если правильно понял, то там чуть ли не для каждого пункта меню свой отдельный модуль. Плюс куча драйверов для оборудования на самой плате и немного сверху.
    Как мне кажется, для полноценного запуска образа нужно будет эмулировать практически всю материнскую плату.

    Ссылка на утилиту, которой ковырялся в образах https://github.com/LongSoft/UEFITool
    Ответ написан
    1 комментарий
  • Возможна ли одновременная запись данных в один файл?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Два пользователя одновременно, с точностью до миллисекунд, сделали одно и то же действие — нажали кнопку отправки данных. Что произойдет — запишутся данные в файл или нет и почему?

    Зависит от того, как организована запись в файл, от ОС и от файловой системы. Например, на уровне стандарта POSIX гарантируется, что в случае, когда запись выполняется единственным системным вызовом write, а файл был открыт в режиме "для добавления", то запись должна выглядеть атомарно. Т.е. данные, записанные успешно завершившимся системным вызовом будут записаны в файл непрерывным участком. Однако, write в праве записать меньше данных, чем было запрошено (о чём он сообщит кодом возврата). Точно так же, для записи несколькими потоками или процессами в один расшаренный файл гарантируется атомарность записи и сдвига текущей позиции файла. Для других случаев (не-POSIX, не одним системным вызовом, не-O_APPEND не через расшаренный файловый дескриптор) таких гарантий нет.
    Для винды -- хз, есть ли там гарантии и какие, лень искать.
    Ответ написан
    Комментировать
  • Как создать пользователя в mysql 5.7?

    maximkv25
    @maximkv25 Автор вопроса
    web-developer
    В последних версиях требования безопасности увеличились.
    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+--------+
    | Variable_name                        | Value  |
    +--------------------------------------+--------+
    | validate_password_check_user_name    | OFF    |
    | validate_password_dictionary_file    |        |
    | validate_password_length             | 8      |
    | validate_password_mixed_case_count   | 1      |
    | validate_password_number_count       | 1      |
    | validate_password_policy             | MEDIUM |
    | validate_password_special_char_count | 1      |
    +--------------------------------------+--------+
    7 rows in set (0,23 sec)

    mysql> SET GLOBAL validate_password_length = 0;
    Query OK, 0 rows affected (0,00 sec)
    
    mysql> SET GLOBAL validate_password_mixed_case_count = 0;
    Query OK, 0 rows affected (0,00 sec)
    
    mysql> SET GLOBAL validate_password_number_count = 0;
    Query OK, 0 rows affected (0,00 sec)
    
    mysql> SET GLOBAL validate_password_special_char_count = 0;
    Query OK, 0 rows affected (0,00 sec)
    
    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+-------+
    | Variable_name                        | Value |
    +--------------------------------------+-------+
    | validate_password_check_user_name    | OFF   |
    | validate_password_dictionary_file    |       |
    | validate_password_length             | 4     |
    | validate_password_mixed_case_count   | 0     |
    | validate_password_number_count       | 0     |
    | validate_password_policy             | LOW   |
    | validate_password_special_char_count | 0     |
    +--------------------------------------+-------+
    7 rows in set (0,01 sec)
    Ответ написан
    Комментировать
  • Как отслеживать новые темы/страницы на сайтах?

    OrlovEvgenii
    @OrlovEvgenii
    golang developer / DevOps
    Ищи у таких сайтов фиды, и rss ленты.
    Например rss хабра https://habr.com/rss/hubs/all/ или Medium https://medium.com/feed/@Medium как правило это обычный xml

    Дальше просто парсишь его по нужным тебе ключам - "/вязать/" "/шапочки/".

    Доступного универсального софта для такого нет.
    Ответ написан
    1 комментарий