Задать вопрос
  • Классы и объекты в python, self?

    longclaps
    @longclaps
    в него попадает название экземпляра класса
    Экземпляр может быть безымянным (например, лежать в списке), но идея в принципе верна - в self попадает id объекта:
    class A:
        def f(self):
            print(self)
            print(hex(id(self)))
    
    a = A()
    a.f()

    не понимаю зачем нужен атрибут self
    Не уверен, что понимаю вопрос - настолько очевиден ответ, к тому же следующий прямо за вопросом. Смотрите на это как на синтаксический сахар: при вызове метода вы пишете экземпляр.метод(аргументы), а в реализации def метод(экземпляр, аргументы). Имя первого аргумента вообще-то произвольное, обычно пишут "self", но python3 допускает даже русский идентификатор "экземпляр", можете попробовать.
    Ответ написан
    5 комментариев
  • Разное поведение браузеров при загрузке файлов через XMLHttpRequest. Как избежать моментальной псевдо 100% загрузки файла?

    lazalu68
    @lazalu68
    Salmon
    Илья Кантор советует использовать xhr.upload для этого:

    xhr.upload.onprogress = function(event) {
      alert( 'Загружено на сервер ' + event.loaded + ' байт из ' + event.total );
    }
    
    xhr.upload.onload = function() {
      alert( 'Данные полностью загружены на сервер!' );
    }
    
    xhr.upload.onerror = function() {
      alert( 'Произошла ошибка при загрузке данных на сервер!' );
    }


    А если вы пользуетесь xhr.onprogress, то вы банально не в ту сторону смотрите, xhr.onprogress следит за скачиванием.
    Ответ написан
    Комментировать
  • Почему провайдеры не спешат использовать IPv6?

    denistu10
    @denistu10
    Linux System Administrator/SRE Engineer
    Для введение IPv6 требуется модернизация всей сети плюс норм клиентское оборудование, это не малые деньги
    Ответ написан
    Комментировать
  • В чём преимущество асинхронных серверов перед PHP/nginx?

    AMar4enko
    @AMar4enko

    Если коротко, то ошибка закралась вот тут:
    В асинхронном сервере в единый момент времени обрабатывается столько запросов, сколько есть воркеров

    Представьте себе, что у вас на сервер приходит запрос, связанный с выборкой данных из БД.
    Он отрабатывает, предположим, за 150 мс, из которых 130 это работа с базой данных.

    В случае с PHP у вас воркер будет заблокирован эти 150 мс для обработки других запросов.
    В случае с асинхронным сервером, он, пока запрос 1 ждет данные от БД в течение 130 мс, сможет принять и начать обрабатывать другие запросы. Предположим, что у нас один PHP-воркер. В этом случае таких запросов, как из примера, он сможет обработать семь штук за секунду.

    Асинхронному же, допустим, прилетят 20 запросов. Он обработает каждый до взаимодействия с БД, допустим за 10 мс, полетят 20 запросов к БД, пройдут, допустим, за 500 мс, и сервер сформирует ответ. И это все практически параллельно. Итого меньше чем за секунду мы таким образом обработаем 20 запросов.

    Можно, конечно, увеличить пул FastCGI, но оверхед при обработке запроса каждым воркером будет несоизмеримо выше, чем при обработке асинхронным сервером.

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

    Exploding
    @Exploding
    wtf?
    Добавьте класс для каждого nav. Разный разумеется. Например: nav.menu-left и nav.menu-top да и всё
    Ответ написан
    7 комментариев
  • Что происходит при гибернации с ноутбуком, включённым в сеть?

    Jump
    @Jump
    Системный администратор со стажем.
    Что происходит при гибернации с ноутбуком, включённым в сеть?
    Если зарядное устройство подключено - заряжается.
    Если зарядное устройство отключено - разряжается.

    Правильно ли я понимаю, что если ноутбук включён в сеть и имеет, например, 80% заряда, то в режиме гибернации заряд изменяться не будет, т.е. подзарядки до 100 не произойдёт?
    Не правильно.
    Он будет заряжаться.
    Работа зарядного устройства никак не зависит от того включен ноутбук или отключен, главное чтобы питание подавалось на зарядное устройство.
    Ответ написан
    6 комментариев
  • Python какую библиотеку выбрать для работы с БД?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    mysqlclient

    вообще обратите внимание на официальный, от Оракла, но с него периодически плюются,
    может, в вашем случае он себя и не проявит
    Ответ написан
    2 комментария
  • Python какую библиотеку выбрать для работы с БД?

    longclaps
    @longclaps
    Это хорошо, что вы столкнулись с такой проблемой: теперь у вас появился шанс набраться опыта в её решении.
    Начните с малого - выложите список рассмотреных кандидатов и расскажите, чем они вам не угодили.
    Ответ написан
    Комментировать
  • Как сравнить две базы данных без доступа к данным?

    @LiguidCool
    Вопрос чем-то похож на: "Как научиться кататься на велосипеде без велосипеда". Не очень понятно как вы собираетесь делать выборку данных без данных ...
    Так как подробностей нет, буду гадать на гуще ...
    1) Как справедливо отметил kmg4e можно сравнивать хеш суммы (что это вам подскажет гугл). Т.к. хэш по факту не содержит самих данных, то можете запросить из базы хеши. Не очень правда ясно где вы возьмете хэш, если доступа к БД у вас нет ...
    2) Вообще как правило данные в БД разделяют на несколько таблиц. Например:
    Таблица 1. Users: id, login, passHash, email, token итп.
    Таблица 2. Users_Profile: ФИО, фозраст, адрес, группа крови и другие персональные данные.
    Соответственно можно на уровне SQL дать доступ пользователю только к первой таблице и сравнивать их. Тут как бы вопрос по каким именно параметрам вам их надо сравнивать.
    3) Ну никто не отменял Select с выбором выдаваемых столбцов. Можно сделать какое-то приложение с API которое бы (в JSON например, или сразу CSV) выдавало только разрешенные данные.
    Ответ написан
    2 комментария
  • Как измерить скорости интернета пользователя при входе на ваш ресурс?

    @kmg4e
    Измерить скорость может только сам пользователь. Да и каналы бывают не симметричные.
    Соответственно мерять с помощью JS (например, скачивая большой тестовый файл) и отправлять результаты на сервер.
    Большой тестовый файл должен содержать полезную информацию, которую потом можно будет использовать при отображении сатйа, чтобы зря время пользователя не тратить.
    Ответ написан
    Комментировать
  • Как измерить скорости интернета пользователя при входе на ваш ресурс?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Грузим js-прелоадер
    2. По его окончанию загрузки - ставим метку времени START
    3. Грузим аяксом полезный контент: CSS или/и JS (размер всего загружаемого мы должны заранее знать: SIZE).
    4. После загрузки - ставим метку времени STOP
    5. Считаем пропускную способность: SIZE/(STOP-START)
    6. На основе этих данных (+разрешение экрана, юзер-агента, возможности HTML5) определяем тип устройства: мобила/не мобила и продолжаем загрузку нужных ресурсов в зависимости от заранее заданной сетки условий.
    7. Записываем это в куки/localstorage, чтобы потом не проделывать это при каждом обращении к новой странице сайта (до смены IP или до истечения 30 минут, например).

    Вкратце, как-то так...
    Ответ написан
    Комментировать
  • MySQL грузит все ядра проца. Глюк?

    @asd111
    Поскольку у вас 24 ядра и 11.000 запросов в секунду query_cache лучше отключить.
    [mysqld]
    query_cache_size = 0
    query_cache_type = 0   # важно ! отключает mutex, которым оперирует query_cache

    Потому что в таких условиях он больше мешает чем помогает. Особенно если у вас мало таблиц и есть изменение таблиц, из которых чаще всего происходит чтение. Всё дело в том что ядра борятся за доступ к кэшу и если есть insert, update, delete в таблицу, для которой есть записи в кэше, то кэш всей этой таблицы обнуляется и снова ядра борятся кто будет обнулять, кто будет читать, писать и вся вот эта многопоточная борьба за мьютекс query_cache грузит CPU. И ещё кучу времени занимает очистка кэша если размер кэша большой(гигабайты).
    Если интересно что происходит с кэшем гляньте SHOW STATUS LIKE "qcache%";
    Там стоит обратить внимание на Qcache_lowmem_prunes. Чем эта переменная меньше тем лучше (в идеале 0 )- эта переменная показывает сколько раз обнулялся кэш для таблиц.
    Ответ написан
    1 комментарий
  • Как создать анимацию как на фото?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Ответ написан
    Комментировать
  • Как создать анимацию как на фото?

    Vlatqa
    @Vlatqa Куратор тега CSS
    Комментировать
  • Какие современные телефоны Nokia поддерживают работу с AT командами?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Если в описании телефона есть упоминание о работе в качестве модема то должен работать.
    А вообще нафига это всё - при доступности и дешевизне обычных USB GSM модемах?
    Ответ написан
    Комментировать
  • MySQL грузит все ядра проца. Глюк?

    @vlarkanov
    Погуглите ошибку leap second - одним из ее симптомов может быть аномальная загрузка проца.

    Ещё вариант: посмотрите как настроен и как функционирует NUMA. Возможно, стоит включить interleave в настройках mysqld_safe (через numactl).

    Что с IO? Какова нагрузка на диск? Посмотрите через iotop например.

    По параметрам. Кроме мускула на сервере что-то крутится? Если нет, смело выкручивайте
    innodb_buffer_pool_size до примерно 70% объема RAM.
    innodb_log_file_size - это размера лога транзакций innodb. Чем он больше - тем реже пересоздается этот файл, и тем меньше нагрузка на диск. Но тем дольше восстановление в случае сбоя. 512mb должно хватить.

    innodb_flush_log_at_trx_commit = 0 Вы уверены? Поставьте хотя бы 2 - по производительности тож на тож, но безопаснее. А лучше и вовсе 1. Медленно, зато надежно.

    query_cache_size = 4096M Куда столько? Помните, что при каждом INSERT\UPDATE этот кеш переписывается. Поставьте 100mb для начала.
    Ответ написан
    5 комментариев
  • Как сравнить строку?

    @vanillathunder
    Если 30.2337 действительно число, то должно всё сравнивать. Необходимо определить тип.
    type(beesrav)
    А потом уже производить сравнение.
    Ответ написан
    Комментировать
  • Как сравнить строку?

    @alex-t
    Прогр. в команде rco.ru
    Число-то не целое, используйте float(beesrav).
    Ответ написан
    8 комментариев
  • Как сделать стилизацию бордеру?

    CheckOneTwo
    @CheckOneTwo
    Парень, который думает что он фронтэндер.
    Белым псевдо-атрибутом перекрыть бордер, а вторым нарисовать вертикальную черту
    Ответ написан
    Комментировать