Задать вопрос
  • Как искать красивые по дизайну сайты по определенным сферам?

    shurshur
    @shurshur
    Ruslan Website, "посмотри сайты" - это именно субъективная вещь. Как определить "красивое" объективным показателем? Количество тэгов? Длина css?

    Я посмотрел в пару ссылок. Обыкновенные говносайты, каких тысячи.
  • Как сделать автоматический zip архиватор на python?

    shurshur
    @shurshur
    888vld, программирование - это умение из простых кирпичиков составить решение задачи. Например, получить все файлы в каталоге можно с помощью os.walk или glob, создать архив с заданными файлами можно с помощью модуля zipfile, ну а уж как использовать циклы в любом учебнике написано.
  • Проблемы с запуском бота телеграм на Python, что делать?

    shurshur
    @shurshur
    В коде бота Тимур - 12-летний школьник. В описании пользователя - 14-летний. Этому коду два года или этот пользователь пишет из будущего?
  • Моноблок + системный блок через KVM?

    shurshur
    @shurshur
    В общем случае нет, но иногда внутри моноблока реально barebone, подключенный через HDMI к "монитору", и можно попытать вставить между ними KVM. Но это идея так себе, проще купить отдельно barebone, монитор и KVM.
  • С чего начать в аналитике курсы обучения?

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

    shurshur
    @shurshur
    CityCat4, думаю, он имел в виду именно IPv4 bcast, хотя на L2 он не используется, а L2 bcast достаточно для того, чтобы определить ARP по IP.
  • Сможет ли хост общаться с другими хостами из подсети без явного указания шлюза?

    shurshur
    @shurshur
    Alexey Dmitriev, протокол ARP кидает bcast по ff:ff:ff:ff:ff:ff на L2 и ему никакие маски не нужны. Можно даже эксперимент поставить - всё будет работать. А при наличии proxyarp на шлюзе может даже в некоторых сценариях заработать и в разных подсетях (но это категорически ненормально и может вызывать глюки).
  • Технический нейминг серверов. По какому принципу называть сервера?

    shurshur
    @shurshur
    Алексей Арх, так 823 и есть уникальный идентификатор сервера, это его инвентарник.

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

    Что бы найти решение, близкое к идеальному.


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

    На заре существования фирмы - когда оба её основателя лично программировали и админили всё это, серверов было мало и все они назывались короткими трёхбуквенными звучными именами типа tax, dix или sox. Приложения запускались прямо на этих серверах. Позже на серверах поднимались зоны Solaris с именами вида zcnrXX, zchlXX, zmngXX для коннекторов, каналов, менеджеров итд итп. Зоне при этом присваивался хостнейм вида zcnr06-dix или zchl05-tax, котороый отражал её расположение. При переезде зоны менялся хостнейм. В DNS этих имён с дефисами не было. Когда появились новые проекты, просто в имена зон добавлялись ключевые слова, например, zavicnrXX для коннекторов платформы avi, zpushrotXX для роутеров платформы push... Особых проблем с поддержанием всего этого хозяйства не было в силу не очень большого количества серверов и зон, а также из-за того, что админил всё это один человек, которому несложно было поддерживать в этом порядок.

    При переезде на Linux от использования зон отказались. Во-первых, потому что в Linux сложнее с изкоробочным инструментарием для этого, во-вторых, потому что было принято важное решение не смешивать разные платформы на одних и тех же серверах. Также всерьёз думали над полным переводом на докер или мезос. У нас в какой-то момент было бурное двухчасовое обсуждение того, как всё же именовать сервера, и договорились до именования PXXXXD, где P - однобуквенный символ платформы (a - avi, p - push итд), XXXX - инвентарник, D - однобуквенный символ датацентра (например, k - KIAE). Все остальные варианты - алиасы в DNS. Первый админ фирмы почему-то очень не хотел цифр в именах и придумал остроумную схему именования на аббревиатурах, где каждой цифре соответствует буква, например 5 - p ("пять"), 9 - n ("найн", потому что d уже занята цифрой "два"). Поэтому у нас и были какое-то время сделанные им всякие странные алиасы типа pnp CNAME s0595k (поддерживал он их, впрочем, недолго). Сразу же стали делать алиасы без буквы датацентра (s0595 CNAME s0595k) и в целом буква датацентра оказалась никому не нужна, поэтому указывать её быстро забросили. На этом история формирования основного имени железных серверов закончилась. Предлагали ещё что-нибудь писать в TXT, но это не особо пошло, хотя у некоторых имён это применяется иногда (например, у виртуалок часто есть TXT со ссылкой на тикет, по которой её завели, чтобы в случае чего хотя бы примерно понять, куда искать, даже если на эту виртуалку нет логина и понимания как посмотреть её назначение).

    Но я уже сказал, что был и процесс возвращения к истокам. Началось всё с того, что для платформы push сделали имена вида pushsrv00 CNAME p0882, причём в реальном употреблении внутри платформы были именно имена pushsrvXX (сами приложения при этом запускались докере, имена использовались только для указания места деплоя). После того как админу, который был главный ответственный за эту платформу, надоело в очередной раз вспоминать, что на сервере p0882 на самом деле pushsrv00, он вспомнил про концепцию времён Solaris и переименовал все свои сервера в вид pushsrv00-p0882.

    Для некоторых других платформ позже сделали то же самое. Правда, там есть нюанс: имя XXXsrvXX было не CNAME, а адресом в другом VLAN, на котором работают эти платформы (там нет docker и приложения работают непосредственно на серверах, но по этим сервисным именам внутри кластера). Начальник в какой-то момент высказал этим недовольство и попытался потребовать сделать их CNAME на железные адреса серверов, но войско взбунтовалось^W^W админы возмутились и сказали, что нужно тогда ещё третий вид имён для сервисных, но смысла мало, так как вместо смотреть в DNS можно просто зайти на сервер и узнать его инвентарник, а если кому-то уж прям невероятно надо через DNS - пусть напряжётся и заполняет TXT-записи (что никто так и не сделал, и вопрос исчерпался).

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

    shurshur
    @shurshur
    Строго говоря, на этом уровне длина маски неважна и может не совпадать, главное чтобы оба хоста попадали в длину подсети у каждого из них.
  • Есть ли документация или стандарт о математике?

    shurshur
    @shurshur
    ambisinister One, если очень интересно, рекомендую почитать про "стандарт" Николя Бурбаки в математике.
  • Есть ли документация или стандарт о математике?

    shurshur
    @shurshur
    ambisinister One, стандарт - это не про то, что существует само по себе. Стандарт - это про соглашения. Скажем, болт и гайка объективно могут иметь какие угодно диаметры, шаг и направление резьбы, но чтобы их использовать как заменяемиые и унифицированные объекты, они должны иметь определённые согласованные параметры со специально оговоренными допусками на отступление от их конкретных значений. Чисто физически же их параметры могут быть какими угодно. Но для того, чтобы их существование и использование было бы полезно, нужно, чтобы был стандарт на их изготовление.
  • Есть ли документация или стандарт о математике?

    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...