Задать вопрос
  • Ошибка с работой MySQL. Как решить?

    alekseev_ap
    @alekseev_ap
    Свободный разработчик
    Я тоже столкнулся с похожей проблемой. Дело в том, что если Вы перенесёте действия с курсором наверх, вот так

    from getpass import getpass
    from mysql.connector import connect, Error
    
    try:
        with connect(
                host="localhost",
                user="root",
                password="Current-Root-Password",
                database="valen_bot"
        ) as connection:
            print(connection)
            show_table_query = "valen_info"
            with connection.cursor() as cursor:
                cursor.execute(show_table_query)
                # Fetch rows from last executed query
                result = cursor.fetchall()
                for row in result:
                    print(row)
    except Error as e:
        print(e)


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

    from getpass import getpass
    from mysql.connector import connect, Error
    
    try:
        with connect(
                host="localhost",
                user="root",
                password="Current-Root-Password",
                database="valen_bot"
        ) as connection:
            print(connection)
            # Добавил для демонстрации
            print(connection.is_connected())
    except Error as e:
        print(e)
    
    # Добавил для демонстрации
    print(connection)
    print(connection.is_connected())


    Вы получите и в первом и во втором случае адрес объекта connection, но, помимо этого, в первом случае вызов метода is_connected() даст True, а во втором - False!

    <mysql.connector.connection_cext.CMySQLConnection object at 0x0000027D87CC9FD0>
    True
    <mysql.connector.connection_cext.CMySQLConnection object at 0x0000027D87CC9FD0>
    False
    Ответ написан
    Комментировать
  • Как спарсить ozon средствами PHP?

    alekseev_ap
    @alekseev_ap
    Свободный разработчик
    Можно попытаться использовать безголовый Chrome
    Ответ написан
  • Как сравниваются перцептивные хэши?

    alekseev_ap
    @alekseev_ap Автор вопроса
    Свободный разработчик
    Например, можно проиндексировать все последовательности из n символов подряд в каждом хеше. Потом поискать в этом индексе все последовательности из n символов в образце. Потом хеши из получившегося списка уже проверить на расстояние хемминга. Если брать n < L/k, где L - длина хеша, а k -допустимое количество ошибок, то все нужные хеши попадут в список. Чем больше n, тем меньше лишнего будет в списке.

    Это ж сколько последовательностей будет? Сотни? Тысячи? Для каждого хэша?

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

    Даже если и так, то где хранить этот бор? В ОЗУ? Накладно, да и невозможно при большой базе данных. Рипать с диска? Даже с SSD это займёт много (очень много) операций. Если даже предположить, что наш хэш состоит из 8x8 бит (8 байт), то кол-во вариантов даже с учётом 1 ошибки уже 64 штуки. Для двух ошибок - несколько тысяч!

    Или, более оптимальный для поиска, но менее быстрый при добавлении вариант - в индексе хранятся все хеши со всем возможными ошибками. Он будет сильно жирнее, конечно, но поиск будет работать быстро.

    Это вообще пипец! Думаю, Вы просто не понимаете, что размер индексов увеличится в тысячи раз даже для двух ошибок!

    Если база маленькая, то проще, конечно же провести поэлементное сравнение. Меня интересует, как это делают большие ребята типа Яндекса или Гугла или TinEye.

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

    alekseev_ap
    @alekseev_ap
    Свободный разработчик
    Попробуйте unoconv.
    Ответ написан
    Комментировать
  • Полнотекстовый поиск в Windows 10?

    alekseev_ap
    @alekseev_ap
    Свободный разработчик
    "Поиск сцен в тексте" - поиск не только по словам, но и неявный поиск по группе слов.
    Ответ написан
    Комментировать
  • В чем снимать такого рода обучающие видео?

    alekseev_ap
    @alekseev_ap
    Свободный разработчик
    Для создания обучающих видеороликов я бы порекомендовал использовать Camtasia.
    Ответ написан
    Комментировать
  • Какой программой воспользоваться что-бы найти момент изменения кадра в видео файле на 48 часов?

    alekseev_ap
    @alekseev_ap
    Свободный разработчик
    Можно использовать приложение Table View Video Player. Эта программа воспроизводит видеофайл в виде таблицы, где каждая ячейка - это отдельный фрагмент. Таким образом можно в десятки раз ускорить просмотр видео, правда за счёт уменьшения области воспроизведения. Но, интересующий фрагмент, можно просмотреть отдельно, просто щёлкнув мышкой по ячейке.
    table.jpgpleer.jpg
    Ответ написан
    Комментировать
  • Какие есть приложения для отслеживания изменений файлов на веб-сервере?

    alekseev_ap
    @alekseev_ap
    Свободный разработчик
    Как вариант могу предложить File Watcher от компании Soft4other. Бесплатный, мультиплатформный, есть возможность мониторинга в режиме реального времени через смартфон (имеется звуковая сигнализация).
    Ответ написан
    Комментировать