Задать вопрос
  • Есть ли документация или стандарт о математике?

    shurshur
    @shurshur
    ambisinister One, нет, "стандарт математики" не один на всех. Например, входит ли 0 во множество натуральных чисел? Есть два вида точек зрения на этот вопрос! Более того, сам Пеано (его именем названа аксиоматика арифметики) в разных своих трудах придерживался разного мнения по этому вопросу.

    Поэтому если говорить о том, есть ли у математики стандарты и соглашения, то ответ очевиден: да, они есть. Иначе бы математикам было бы крайне трудно общаться между собой в единой системе нотаций и понятий. Если же спрашивать, есть ли у математиков разночтения - то и тут ответ положительный! Скажем, на кафедре матана у нас поучали, что натуральные числа начинаются с 1, а на кафедре теории чисел - что с 0. И это в одном и том же учебном заведении. Или вот, например, обозначение биномиальных коэффициентов, которое было принято в СССР и до сих пор часто встречается у нас, отличается от принятого во всём мире.

    Естественно, содержательная сторона математики не зависит от того, какими символами обозначать и какими понятиями называть. Главное, чтобы математики при интерпретации любого математического изложения правильно понимали контекст.
  • Как средствами Telegram Api или библиотеки pyTelegramBotApi проверить наличие возможности отправки сообщения пользователю?

    shurshur
    @shurshur
    Михаил Мунтян, если использовать библиотеки, то они при ошибках чаще всего явно кидают исключения, и с этим уже ничего не поделаешь. Если это не устраивает, можно дёргать API напрямую и обрабатывать ошибки в ответах самостоятельно.
  • Технический нейминг серверов. По какому принципу называть сервера?

    shurshur
    @shurshur
    Алексей Арх,
    Что бы минимизировать риски.


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

    Да даже к твоей "уникальной ситуации" можно применить разные подходы.


    Можно, но зачем? Мы пытались применять некоторые другие идеи, например, в имя сервера вначале добавляли букву, соответствующую датацентру, но в итоге пришли к такой вот схеме. Датацентр, кстати, легко определяется по IP (10.15x.* - железные адреса, 10.16x.* - сервисные адреса, где x=0,2,3 в зависимости от датацентра, датацентр с x=1 выведен из эксплуатации в силу своей упоротости - это Курчатовский институт с запретом доступа после 18:00 и на праздниках, с единственным электрическим вводом и единственным провайдером-монополистом).

    Наши офисные админы, кстати, именуют сервера просто по именам. Но там серверов мало, поэтому всё очень просто. Сначала была пара гипервизоров east и west, спаренных с помощью drbd, потом появилась ещё пара серваков для разработчиков - rock, wolf...
  • Как сделать математическое решение в виде картикни?

    shurshur
    @shurshur
    Александр Фалалеев, теорема Виета - это попытка подобрать корни в уме. В общем случае подобрать корни с ± разбросом от -b/2a в виде какого-то выражения с квадратным корнем не получится.

    В то же время формулы универсальны, они работают на любом квадратном уравнении. Даже с квадратными корнями.

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

    Методы Феррари и Пеано в школе, к счастью, не проходят. Это примерно то же самое, только ещё более страшно.
  • Как сделать математическое решение в виде картикни?

    shurshur
    @shurshur
    Проблема в том, что это не всегда так легко работает. Особенно в случае комплексных корней.
  • Конвертация большого json-файла в html-таблицу. Как реализовать?

    shurshur
    @shurshur
    Ярослава, у меня тут есть таблица на ~1000 строк (правда, не очень коротких), и браузер слегка задумывается при их рендеринге, а email-версия этой таблицы заставляет Thunderbird выжирать память гигабайтами. Показывать большую таблицу - это плохая идея.

    Использовать pandas для простого рендеринга html - тоже плохая. Есть же шаблонизаторы.

    Для такого количества в любом случае использовать web-сервер. Так что можно взять django или хотя бы flask. Посмотреть, как там сделать pagination...
  • Как удалить все html теги в vim?

    shurshur
    @shurshur
    Сергей Бурдужа, ну, скажем, в vim регулярки немного не такие, как в Perl/PCRE, так что придётся их подрегулировать. Но есть ещё одна важная проблема, html не только позволяет быть не очень валидным, но может также содержать javascript, где соответствующие символы могут также присутствовать и быть непарными. Также не только эти скрипты, но и css могут представлять из себя содержимое тэгов, которые при этом как бы и не текст как таковой. Про html entities (всякие &quiot;) я уже молчу.

    Так что это очень плохая идея. Лучше обработать файлы отдельными скриптами, которые будут работать с html как с html, а не как с текстом из символов.
  • Создаю на Discord.py команду для бота Шар.. В чём тут проблема? Чёт ну не хочет работать(?

    shurshur
    @shurshur
    NeW_CodeR, потому что у тебя бот инстанс класса discord.Client, а не его потомка discord.ext.commands.Bot, который и поддерживает команды.
  • Не проигрывается музыка discord.py и youtube_dl? Что не так?

    shurshur
    @shurshur
    Для начала советую вместо youtube_dl поставить yt_dlp, это более новый и актуальный форк, и проверить не поможет ли это.
  • Requests python, почему не работает?

    shurshur
    @shurshur
    Он же пишет что ему не нравится: expected full iso with tz.
  • Как проверить iso образ винды 7 на наличие вирусов?

    shurshur
    @shurshur
    Danilich123, это был плохой совет, так как если антивирус не нашёл ничего странного, это не значит, что там нет никаких изменений. И это я не имею в виду самописные вирусы, ведь там банально в сборке может добавляться специальный пользователь с заранее заданным паролем или открываться какие-то разрешения на удалённый вызов методов через rpc.
  • Технический нейминг серверов. По какому принципу называть сервера?

    shurshur
    @shurshur
    Алексей Арх, так документация есть. Для документации неважно, что имя сервера поменялось. Тем более, что часть имени при этом постоянна.

    Зачем фантазировать, если есть конкретные реалии?

    Вообще, ты как будто считаешь, что есть универсальное решение, которого все срочно должны начать придерживаться, а любые мыслящие иначе должны быть приговорены к расстрелу. Я ещё раз повторяю, что каждая ситуация уникальна и может требовать самых разнообразных решений.
  • Технический нейминг серверов. По какому принципу называть сервера?

    shurshur
    @shurshur
    Алексей Арх, а зачем мне знать, что это бывший m0823? Мне эта информация ничего особо не говорит. Его железобетонный уникальный ID это 823 - его инвентарный номер. У железячника в GLPI есть его история (с момента появления GLPI, конечно).

    У нас при миграции с Solaris на Linux некоторые сервера поменяли имена. Какие на какие - теперь уже только в старых тикетах искать. Но мы это даже не ищем, потому что эта информация никакого смысла не имеет. Что нам с ней делать? Повесить на стену в рамочку?
  • Пишет, что нету обьекта в списке readlines()?

    shurshur
    @shurshur
    А если так?

    f = open('file.vbd', 'r', encoding='utf-8')
  • Как разнести функционал бота по файлам?

    shurshur
    @shurshur
    realfreshman, перекидываем функцию get_data в data_functions.py (это пример, назвать можно и иначе). В основном файле пишем:

    from data_functions import get_data

    Если функций несколько, можно через запятую:

    from data_functions import get_data, get_last_error


    Или даже импортировать всё подряд (функции, классы, переменные...), но тут важно не нарваться на конфликт имён:

    from data_functions import *

    Конфликта имён можно избежать, если не импортировать имена из модуля в текущий контекст:

    import data_functions 
    
    def get_data():
      return ["some_data"]
    
    data1 = data_functions.get_data()
    data2 = get_data()


    Если длинное название data_functions не нравится, можно сделать так:

    import data_functions as df
    
    data = df.get_data()


    Можно и любое имя из файла импортировать с изменённым именем:

    from data_functions import get_data as df_get_data
    
    data = df_get_data()


    Можно комбинировать:

    import data_functions as df
    from data_functions import get_data as secret_data_load
    
    data = secret_data_load()
    last_error = df.get_last_error()


    В общем, можно много чего такого сделать по вкусу.

    В if __name__ ... ничего менять не надо. Это по большому счёту не очень важно, просто если файл вдруг подключить как модуль, то __name__ будет иметь другое значение и bot.polling не будет запущен. Если есть уверенность, что никогда такой import не сделаешь, то bot.polling можно вызывать без if.
  • Технический нейминг серверов. По какому принципу называть сервера?

    shurshur
    @shurshur
    Алексей Арх,
    Бюджет выделается, на него можно купить n серверов


    Когда мы выводим сервер из эксплуатации и отдаём его в какой-нить другой проект, то обычно полностью его перезаливаем. Имя у него при этом легко меняется. Например, мне недавно отдали под расширение сервер m0823, который раньше был нодой кластера mesos, при этом сервер был перезалит, в нём перебрали диски, воткнули другую сетевуху и назвали i0823. Кстати, его платформенное имя XXserver6, это третий сервер, первые два имеют номера 2 и 3.

    История такой нумерации длинная и затяжная. Сервер 0 был первым сервером проекта на арендованном у одного маленького датского хостера сервере proxy0.company.ru, Однажды у хостера в том датацентре случилась серьёзная авария, из-за которой более половины новых tcp-коннектов не устанавливались, и мы в аварийном режиме стянули всё это на proxy1.company.ru в другом датацентре. На всякий случай арендовали запасную виртуалку XXserver1.company.ru, на которую делались бэкапы (lsyncd, репликация базы), чтобы в случае повторения аварии можно было бы быстро восстановиться. Виртуалка так и не понадобилась, когда проект из экспериментального переехал на специально купленные два сервера XXserver2 (i1918) и XXserver3 (i1917) в разных датацентрах. Первоначально планировалось, что приложение будет запускаться в двухголовом режиме на двух серверах, реально всё было на XXserver2, вторую голову поднимать не стали (и дальнейшие изыскания показали, что это почти никогда не имеет смысла). Когда из-за аппаратных проблем сетевузи там померли обе ноги bonding, приложения срочно растащили пополам на два временных сервера новых (не введённых в эксплуатацию) нод mesos m2024 и m2025, они же XXserver4 и XXserver5. В дальнейшем в проблемном сервере и в его брате-близнеце поменяли сетевухи, приложения с 4 перетащили на 2, с 5 - на 3. Кстати, сервера m2024 и m2025 в итоге в mesos не включили, а решили использовать для кубера и они стали k2024 и k2025 с перезаливкой. Когда ресурсы двух серверов закончились (на самом деле не совсем, ресурсы ещё оставались, но мы упёрлись в bcqueuelen у macvlan, а в текущем ядре этот параметр нельзя было изменять без пересборки), добавили третий сервер, который получил номер 6. Нас совершенно не парит, что номера не переиспользуются, это вообще не проблема, и решать тут просто нечего.

    Я ещё раз повторю: у каждого своя специфика, свои традиции, свои возникающие проблемы. Всё это приводит к неодинаковым решениям одних и тех же (казалось бы) задач. Личный опыт и предпочтения объявлять единственно верными неправильно. Если бы мы меняли назначение серверов ежедневно, то всё у нас было бы совсем по-другому - но мы это делаем эпизодически, сервера работают годами и не требуют каких-то замысловатых манипуляций.
  • Как ускорить процесс загрузки медиафайлов в Amazon S3?

    shurshur
    @shurshur
    Вынести загрузку в отдельный тред или даже перейти на асинхронное взаимодействие.

    Ещё можно вынести загрузку в отдельный процесс, который будет выбирать задания из базы/кролика или ещё какого-то источника.
  • Технический нейминг серверов. По какому принципу называть сервера?

    shurshur
    @shurshur
    Алексей Арх,
    "Бред" потом у что это архитектурно чем то грозит


    Ничто не мешает готовить пищу в мастерской, но как это может повредить и еде, и продукции этой мастерской - сложно предсказать. А у нас критическая инфраструктура, серьёзный уровень SLA и высокие риски.

    просто вы радуетесь что есть бюджет и не приходится заниматься таким "бредом"?)


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