Задать вопрос
  • Чем отличается генератор от корутины?

    longclaps
    @longclaps
    Ответ Дмитрий Шицков был бы хорош лет 5 назад, но сейчас нуждается в уточнении. PEP 492, все дела.

    import asyncio, warnings, itertools
    
    def a():
        for ch in 'foo':
            print(ch, 'from a')
            yield
    
    @asyncio.coroutine
    def b():
        for ch in 'foo':
            print(ch, 'from b')
            yield
    
    async def c():
        for ch in 'foo':
            print(ch, 'from c')
            await asyncio.sleep(0)
    
    print('как ни странно, здесь все три прокатывают\n')
    loop = asyncio.get_event_loop()
    tasks = [loop.create_task(f()) for f in (a, b, c)]
    loop.run_until_complete(asyncio.wait(tasks))
    loop.close()
    
    print('\nмежду тем, есть нюансы\n')
    with warnings.catch_warnings():
        warnings.simplefilter('ignore')
        dirs = [[*dir(f), *dir(f())] for f in (a, b, c)]
    for s in sorted(set(itertools.chain(*dirs))):
        if not all(s in d for d in dirs):
            print(f'{s:14}', *['-+'[s in d] for d in dirs])

    Видно, что a и b отличаются лишь тем, что b зарегистрирована как корутина, а вот c вовсе другая.
    Займись этим вопросом, чо нароешь - отпишись.
    Ответ написан
    Комментировать
  • Фронтенд и бекенд в разных репозиториях или в одном?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Как хранить исходники вместе или раздельно по разным репозиториям? Какие плюсы и минусы каждого способа?
    Мне кажется тут вопрос не столько в "плюсах и минусах" сколько в здравом смысле. Мне не совсем понятно, что в конечном счёте означает "бекенд на python, фронтэнд на angular". Это два независимых проекта, способных работать автономно друг от друга и "общаться", например, через API, разработка которых происходит параллельно и независимо друг от друга, при этом какие-либо части проектов не пересекаются между собой (например, куски HTML/CSS/JS/etc кода не копируются в бекенд-часть)? Если так - то крайне логично разделить это на два отдельных репозитория, т.к. это по сути два разных проекта, связанных между собой весьма косвенно. Если же у Вас проекты имеют более прочную связь между собой или степень контаминации исходного кода выше той, что я описал ранее - то это один проект и дробить его на множество репозиториев, лично я смысла не вижу никакого (а то мы так дойдём до "давайте хранить HTML-код в одном репозитории, CSS в дургом, JS в третьем и т.д.).

    P.S. Обычно, такие вещи разъясняет штатный тимлид, а не коллеги по форуму :)
    Ответ написан
    5 комментариев
  • Как правильно использовать команду git stash?

    @Vitsliputsli
    Если бы вы привели пример, что было и что стало, можно было бы сказать точно. Но скорее всего у вас было различие на один коммит и при мерже использовалась политика fast-forward, т.е. просто скопирован коммит из одной ветки в другую. Используйте опцию --no-ff, если не хотите подобного поведения.
    Ответ написан
    9 комментариев
  • Как в ООП создать глобальную переменную?

    @stictt
    просто рак
    Их не используют по причине низкой защищености, то есть отсутствия инкапсуляции. Почитайте про сингл тон патерн такой.
    Ответ написан
    Комментировать
  • Функция round() не работает, что делать?

    @deliro
    1. Сходи в среднюю школу, где тебе расскажут, что такое комплексные числа
    2. Прочитай книжку (любую) по программированию, где тебе расскажут, как работают float (а в данном случае два float — complex) в компухтерах
    3.
    In [2]: D = (11.180339887498949+0j)                                                                                                                                  
    
    In [3]: complex(round(D.real), round(D.imag))                                                                                                                        
    Out[3]: (11+0j)
    Ответ написан
    Комментировать
  • Брутфорс SSH, что делать?

    Kalombyr
    @Kalombyr
    Поставить fail2ban ?
    Сменить порт ?
    Настроить port knocking?
    Ответ написан
    2 комментария
  • Как заменить название модели на переменную в Django?

    если структура одинакова, то почему не обьединить все данные в одну таблицу и добавить поле TypeRec, в котором будет храниться нужное значение типа?
    Ответ написан
    6 комментариев
  • Насколько важен PHP в системном администрировании?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    Есть ли связь между PHP и системным администрированием?
    нет

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

    pps теоретический хороший админ, знает много операционных систем, умеет создавать кластера, умеет обслуживать разные СУБД, возможно очень много разных СУБД.. и очень много разного ПО, как серверного, так и десктопного

    ppps но самое главное - умеет во время делать бекапы. мало того - такие, из которых можно быстро запустить систему после большой аварии
    Ответ написан
    Комментировать
  • Как переформатировать время в имени файла конфига на микротике из 00:00:00 в 00-00-00?

    Можно я попробую.

    Сам не писал скрипты для микротика, но писал для других систем. Давайте посмотрим на строки:

    1) :global thisdate [/system clock get date]
    2) :global time [/system clock get time]
    3) :global datetimestring ([:pick $thisdate 0 3] ."-" . [:pick $thisdate 4 6] ."-" . [:pick $thisdate 7 11])

    1) Мы получаем дату и запихиваем ее в переменную в каком то виде
    2) В переменную time мы просто запихиваем время в каком то виде
    3) В переменную datetimestring мы ФОРМАТИРУЕМ и запихиваем дату в нужном нам виде.

    Следовательно, нам нужно то же самое проделать и со временем. Что бы сделал Я =)

    1) Создал переменную по типу:
    :global timestring
    2) обработал бы правилом, как указал товарищ выше - ([:pick $thisdate 0 3] ."-" . [:pick $thisdate 4 6] ."-" . [:pick $thisdate 7 11])

    Если pick - это вырез подстроки заданного диапазона из переменной (thisdate ), то можно понять что с начала вырезается с 0 по 3 символ, объединяется с символом " - " , дальше с 4 по 6 символ из переменной , потом объединяем его с " - " , и потом берем последнюю часть с 7 по 11 символ и объединяем его с " - ".

    Вроде пока понятно ??

    ТОгда, ПО ВАШИМ словам , если переменная time выдает 00:00:00, где допустим ЧЧ.ММ.СС впрочем не важно, то для модификации вам надо добавить строку после time

    :global timestring ([:pick $thisdate 0 1] ."-" . [:pick $thisdate 3 4] ."-" . [:pick $thisdate 6 7])

    И далее поправить строку формирования имени выходного файла :

    Было так -
    :global backupfilename ([/system identity get name]."_".$datetimestring."_$time")

    Станет так -
    :global backupfilename ([/system identity get name]."_".$datetimestring."_$timestring ")

    Попробуйте
    Ответ написан
    3 комментария
  • Хостинг для Django 2 сайта с поддержкой sqlite3?

    deepblack
    @deepblack Куратор тега Django
    1. SQLite плохой вариан для сайта в продакшн, даже если нагрузка небольшая. PostgreSQL наше всё, или можете взять MySQL.

    2. Если нет необходимости держать сервер в РФ, то я порекомендую Hetzner Cloud (отличное соотношение цена/качество), цена начинается от 2,99 Евро (в рублях примерно 230 будет, это если с карты Сбера платить). Если пользовались менее месяца, оплата будет считаться по часам (от 0,005 Евро в час)
    • 1 vCPU
    • 2 Gb RAM
    • 20 Gb SSD
    • 20 Tb traffic

    Такого хостинга хватит на несколько сайтов с небольшой нагрузкой,
    и еще десяток ботов в придачу.

    Вменяемая техподдержка, удобная веб-морда, да и в целом проблем не замечено.
    Сервера есть в Германии и в Финляндии (из Питера пинг отличный)
    Скриншот
    5ccf8b438cbdf721086467.png
    Ответ написан
    3 комментария
  • Роутер со встроенным 3G/4G модемом?

    Xenomorphx
    @Xenomorphx
    Насчёт WiFi антенн не знаю. Но антенны 4g можно. huawei b310-22 посмотрите эту модель как раз сам недавно искал.
    Ответ написан
    Комментировать
  • Как лучше синхронизировать файлы на локалке и вдс?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Jenkins, Travis, Gitlab CI/CD ....   да как угодно. Git это основа, конечно, но не инструмент деплоя, а только источник данных
    Ответ написан
    Комментировать
  • Чем мониторить нагрузку и состояние удаленного сервера?

    Jump
    @Jump
    Системный администратор со стажем.
    Чем мониторить нагрузку и состояние удаленного сервера?
    Zabbix неплох.

    Смотрел в сторону Zabbix но не смог заставить его работать с агентами через интернет.
    Гуглим " Zabbix Active check"

    Основной принцип работы такого рода софта - сервер периодически опрашивает агентов.
    Как правило мониторят либо в локальной сети, либо в интернете хосты с белыми IP и проблем не возникает.
    Проблемы возникают когда все или большинство подопечных хостов за NAT'ом и сервер не может к ним подключится по вполне очевидным причинам.
    Выход - перевод агентов в активный режим, чтобы они не ждали опросов от сервера (ибо не дождутся), а самостоятельно отправляли данные мониторинга на сервер.
    В таком случае достаточно лишь сервера Zabbix с белым IP адресом.
    Ответ написан
    Комментировать
  • Кто-нибудь может подсказать хорошие курсы по системному администрированию?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Системный администратор должен уметь находить и читать документацию.
    Любую, какая понадобится.
    Это всё.

    В остальном, чем больше общий багаж ИТ, тем лучше, даже программирование зайдёт. Хотя основное, конечно, это сети.
    Ответ написан
    Комментировать
  • Возможно ли видеть названия файлов с кириллицей на WindowsServer в каталоге, примонтированном по NFS?

    @pfg21
    ex-турист
    тут предлагаю костыль с виртуальной фс на линухе, которая транскодирует имена файлов и отдает немощным в той кодировке которую они умеют
    https://superuser.com/questions/302407/what-to-do-...
    Ответ написан
    Комментировать
  • Что делает данная часть кода?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Вероятно, автор этого кода таким образом сделал клонирование .
    Ответ написан
    3 комментария
  • Как синхронизировать GitHub и продакшн-сервер?

    summoner2015
    @summoner2015
    Backend всему голова
    Тут либо перейти с github на gitlab и воспользоваться встроенным gitlab-ci, либо копать в сторону интеграции github и https://travis-ci.org, https://jenkins.io или https://jetbrains.ru/products/teamcity/
    Ответ написан
    5 комментариев
  • Как найти сервер VPS с минимальным пингом до 94.153.161.234?

    SagePtr
    @SagePtr
    Еда - это святое
    Прямо-таки минимальный - найти невозможно, сегодня это может быть один, завтра маршруты могут слегка поменяться, и это будет другой. От загруженности сетей провайдера и магистральных провайдеров тоже может влиять.
    Ответ написан
    Комментировать
  • Как разобраться с правами Линукса?

    @Fixid Куратор тега Linux
    А как вы хотели? Грамотная настройка доступа не проста и уменьшает комфорт. От root работать можно, но слишком рискованно.
    Когда надо запускайте команды через sudo
    Ответ написан
    Комментировать