Задать вопрос
  • Как сделать что бы приложение не детектило Эмулятор GPS?

    GavriKos
    @GavriKos
    Как обеспечить защиту от детекта?

    Использовать аппаратные средства для фейкинга GPS.
    Ответ написан
    Комментировать
  • Бот дискорда падает в Rate limited, что делать?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Давайте по порядку. В документации дискорда очень четко прописаны лимиты для вебсокета и чуть менее четко для HTTP. Цитировать оттуда не буду, думаю там все понятно.

    В общем виде ошибка 429 говорит, что в один из двух лимитов вы не укладываетесь. Чтобы не происходила ошибка можно перед выполнением действий проверять блокировку через AutoShardedClient.is_ws_ratelimited, но это не лечение проблемы, а только обработка.
    Для лечения нужно перехватывать ошибку в глобальном обработчике и по стеку вызовов смотреть на каком действии она происходит. Если приложите стектрейс к запросу, можно будет по нему сказать конкретнее. Только убедитесь чтобы логи не обрезались как у вас выше. Может быть и так было бы понятно, но эндпоинт https://discord.com/api/v10/channels/1215300998588... весь не видно. Учитывайте что она может и в разных когах происходить об этом ниже.

    В целом дискорд не любит, когда боты делают что-либо без явных действий пользователя. Причем чем больше бот, тем строже, поскольку для них это больше нагрузки. К примеру в коде, который вы приложили есть обновление статуса каждые 10 секунд. Будем объективны, пользователям плевать что у бота в статусе, но эти запросы так же идут в общий рейт лимит. Я бы советовал поставить или большое значение (5-10 минут) или вообще избавиться от этой карусели.
    Аналогично пройдите по остальному коду, который не приложен и посмотрите есть ли периодические запросы без явных команд: например обновления каких-нибудь сообщений по таймерам. Если есть увеличивайте таймеры в 2 раза (повторять до исправления) или подумайте как предоставлять функционал без этого.
    Ответ написан
    2 комментария
  • Что такое кластерный индекс в mysql?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Кластерный индекс... это на самом деле понятие крайне виртуальное.

    Что такое обычный некластерный индекс? берём выражение индекса, считаем его значение для каждой записи, сортируем и пишем на диск. Получаем отдельную структуру, в которой выражение индекса сортировано. Когда потребуется искать заданное значение этого выражения, мы вместо просмотра от записи к записи сразу половинным делением быстренько найдём нужное значение, возьмём из него уникальный идентификатор записи, и обратимся за записью. Если в таблице 1000 записей, то для поиска заданного значения без индекса нам в среднем пришлось бы просмотреть 500 записей, а с индексом - всего 10.

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

    В MySQL (точнее, в используемом по умолчанию движке InnoDB) первичный индекс, во-первых, существует ВСЕГДА, во-вторых, определяется так (в статье, на которую дали ссылку, имеются неточности в пункте 2):
    1. Если первичный ключ задан явно, то его выражение является также и выражением кластерного индекса. Или иначе - первичный ключ и есть кластерный индекс.
    2. Если первичный ключ явно не задан, но в таблице имеется индекс, отвечающий всем следующим требованиям:
      • является уникальным
      • не является функциональным, в т.ч. не использует в выражении вычисляемые поля
      • не использует в выражении поля, которые определены как допускающие значение NULL

      то именно такой индекс используется в качестве первичного. А если таких индексов несколько, то используется первый по тексту запроса на создание таблицы
    3. Если не имеется ни того, ни другого - генерируется синтетический скрытый 6-байтовый номер записи, который и используется как первичный ключ. Следует отметить, что штатных способов доступа к этому значению не существует.


    Выглядит так, как будто это просто физическая сортировка данных по индексируемому полю.

    Фактически - именно так.

    Создаётся ли отдельная таблица или просто упорядочивается хранение существующих данных?

    Не создаётся. Но при изменении первичного индекса таблица полностью пересоздаётся с новым физическим порядком записей.

    Если данные упорядочиваются этим индексом, допустим по ID, то почему при select без сортировки данные могут возвращаться в произвольном порядке, а не отсортированные по ID по-умолчанию?

    Если не задан явно ORDER BY, сервер имеет право вернуть записи в любом порядке, как ему удобнее. В большинстве случаев, но не всегда, он будет возвращать записи в порядке чтения с диска...

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

    ===

    PS. Кстати, правило выбора индекса, который будет использоваться в качестве кластерного, имеет неприятный побочный эффект. Если у некоторых полей, входящих в какие-то индексы, изменяется свойство NULLability, то это может привести к изменению того, какой из имеющихся индексов станет использоваться в качестве первичного по пункту 2. В результате мы получим невозможность использования INSTANT / INPLACE методов, и будет использован длинный COPY. Впрочем, ситуация такая крайне редка.
    Ответ написан
    2 комментария
  • Российское (реестровое) ПО для мониторинга инфраструктуры?

    @d-stream
    Готовые решения - не подаю, но...
    А взять и в реестр заглянуть - мешают религиозные убеждения?
    Я там увидел по 02.08 - 1350 записей
    Но мне это не нужно и подробнее я копать не буду)
    Ответ написан
    1 комментарий
  • Как программировать на машинных кодах?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    контрольные вопросы (вам, отвечать сюда не обязательно, важнее самому себе):
    - сколько ассемблеров вы освоили?
    - на сколько свободно?
    - что такое макроассемблер?
    - что такое язык "B"?
    - как зародился язык "C"?
    - и что нового вы хотите изобрести?
    - для какого процессора?
    - для какого потребителя?
    ...
    PS... вы в курсе, что далеко не один язык позволяет вставки ассемблера?... и еще больше языков имеют специальные библиотеки для использования векторных команд, не говоря уже о библиотеках GPU
    Ответ написан
    Комментировать
  • Как программировать на машинных кодах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У меня есть идея, создать свой диалект ассемблера с простым синтаксисом, что бы на нем мог программировать любой человек, не проигрывая в скорости.

    Это очень наивная идея. Она была работоспособной в XX веке, когда система команд была простая и процессоры
    были однопоточные и без кешей и конвейеров и микро-кода (КР580, Z80...)

    Современный компиллятор знает больше чем обычный человек-разработчик. И очень мало людей в мире
    в состоянии писать машинный код думая одновременно
    1) О состоянии кешей
    2) О состоянии всех регистров
    3) О микрокоде и о загрузке конвейеров
    4) Об таймингах mmx, sse, avr командах и сравнивать их на ходу по скорости исполнения
    5) О прогнозировании переходов

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

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

    @max22765t
    Чтобы сохранялся один раз нужно проверять:
    :есть ли в файле такой id
    :если есть то мы ничего не делаем или пишем: "Такой id уже зарегестрирован"
    : если нет то вписываем

    пример:
    id = "id"
    
    file = open("yourFile.txt", "r")
    fileReaded = file.read()
    file.close()
    
    if id in fileReaded:
        print("Пользователь по етому id уже зарегестрирован!")
    else:
        file = open("yourFile.txt", "a")
        file.write("id")
        file.close()
    Ответ написан
    3 комментария
  • Как сделать так, чтобы при регистрации пользователя в телеграмм боте его ID сохранялся в файле только один раз?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    использовать SQlite (поддержка которого встроена в питон) + индексы навесить на ID пользователя
    Ответ написан
    2 комментария
  • На какие нагрузки рассчитан диск NAS версии?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    Расходник же.

    Укладывается в требуемое от него время работы? Значит хорошо. (например, я не уверен, что SMR диски будут успевать писать 8тб в сутки)
    Помер на гарантии - поменяете. У HDD в гарантии пока нет ограничения на TBW. Помер после гарантии - что ж, покупаете новый.
    Ответ написан
    Комментировать
  • Есть ли не официальные аналоги миджорни апи?

    stable diffusion?
    Ответ написан
    Комментировать
  • Как сделать шлюз для изолированой сети?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    - чем бридж не угодил? сеть как сеть
    - понятия изолированная сеть и шлюз не совместимы

    ps не совсем понятна цель. возможно виртуалбокс не лучший вариант..
    а вариант (если начинаю понимать цель) допустим пробпрос юсби сетевого адаптера прямым клиентом к роутеру. на хосте закрываться от него..
    .. все равно довольно бредовый расклад..

    pps когда то давно, ставил виртуальный микротик, что бы более менее понять его настройки..
    делал даже 3 виртуальных сети. в том числе даже хост брал интернет с микротика..
    может вам что то такое надо?
    Ответ написан
    Комментировать
  • Есть сервера, которые стоит написать именно на Java, а не на Node?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Многое зависит от ваших умений и знаний, а также от задачи, которую нужно решить..

    Если вы владеете лучше нодой, то пишите на ноде. Другое дело, сможет ли нода решить задачу, которую вам нужно решить. На java написано куча библиотек, которые решают множество повседневных задач. Сам язык и его фреймворки используются в highload cистемах в энтерпрайз.

    Я широко использую язык Java для повседневных задач, но также иногда предпочитаю использовать Go.
    Ответ написан
    Комментировать
  • Упал сервер dell power edge 740, что делать?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    мои советы:
    - найди у меня телегу в профиле (тут все равно читай!)
    - найди длинные выходные если сервер работает (тогда точно райд 1) иначе пофиг .. гаси
    - ни каких пылесосов!!! только баллоны со сжатым воздухом, сейчас доже в продвинутых канцелярских магазинах. размером со средний дезодорант, там ни че страшного. или широкая мягкая кисть... удалить пыль короче... можно и полезно рэспиратор .. ну или маску хотя бы
    - аккуратно отжать/прижать все разъемы hdd (если не взлетит после.. сдох подлец.. кстати.. второй тоже может после старт/стопа.. если возраст)
    - если взлетит, заранее заготовить софтинку "@raid recover" (ru-board по вопросам), натравить.. и молиться.. ну или там по убеждениям ))
    - у производителя контроллера (материнка?) так же может быть софт типа raid-rebuild, алгоритм тот же
    ... !!! внимание !!! если рейд "1" (зеркало), возможно достаточно заменить дохлый диск на новый
    - в идеале сходной геометрии, но обязательно не меньшего объма, ребьюилд может произойти автоматически, зависит от умности контроллера
    - совет покупать пару (а то и 3, на запаску.. а можно hotspar... или зеркало на 3х) идентичных диска.. после восстановления рейд 1, имеет смысл заменить старый, на точный близнец нового, и вытерпеть повторный реюбьюд (главное что бы первый полность. завершился!!!)

    ps !! на дисках не экономить !!! продавцу руки выкрутить, что бы подобрал самые надежные из доступгых... не забыть убедится в совместимости по интерфейсу
    Ответ написан
    Комментировать
  • Не могу залить прошивку на ESP-32 CAM?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Никак не пойму в чём дело
    Brownout detector was triggered

    Контроллер перезагружается по защите из-за недостаточного питания.
    Ответ написан
    5 комментариев
  • Как пойдет трафик по схеме?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Поскольку POE-свитчи у вас на 100M, то и канал от них до свитча 2 будет 100M, даже если вы туда поставите свитч на 1G.
    Надо, чтобы хотя бы аплинк-порт на POE-свитчах был на 1G.
    Ответ написан
    6 комментариев
  • Независимая выкатка микросервисов. Как сделать так, чтобы на продакшен не попадал неготовый код?

    @Belvarm
    Java TeamLead, интеграционные решения
    Делайте разработку в отдельных ветках, сливайте в девелоп уже при завершении разработки и перед подготовкой к релизу.
    Ответ написан
    2 комментария
  • Не хочет установщик windows принимать драйвер, что делать?

    smorman
    @smorman
    When In Rome do as The Romans do...
    Какой диск?!
    Какой драйвер?!

    Что за геморрой?

    Образ мелкодрочки на флешку с Вентой и грузишься с неё и всё должно работать без всяких драйверов!!!

    Другое дело, если ты создал флешку Вентой например в MBR, а система у тебя в GPT (UEFI) и наоборот, тогда да - геморр.

    И зачем избавляться от Линукс, если он на 1000% лучше мелкодрочки???!!!
    Ответ написан
    4 комментария
  • Почему при нагрузке виртуальный сервер VirtualBox отключается?

    @d-stream
    Готовые решения - не подаю, но...
    1. Для нагруженных БД до сих пор существует рекомендация - гонять их на baremetal
    2. CentOS7 - собственно уже 4 года, как eos
    3. да, virtualbox - без кучки допдействий - не совсем энтерпрайз

    осталось сложить 1+2+3
    Ответ написан
    3 комментария
  • Как клонировать приватный проект с GitHub на свой VPS?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    • На сервере создаете SSH ключ пользователю, под которым необходимо клонировать репозиторий
    • В настройках репозитория в разделе развертывания добавляете этот ключ
    Ответ написан
  • Как лучше реализовать длительные периодические задачи?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Так как у celery не встроенного interval планировщика который бы мог динамически в рантайме создавать таски

    А это что?
    Ответ написан
    2 комментария