Задать вопрос
  • Как запустить телеграм бота службами systemctl?

    @Dato38it Автор вопроса
    Вот как правильно:
    [Unit]
    Description=Telegram dato38it-bot
    After=network.target
    [Service]
    User=tuser
    Group=tuser
    WorkingDirectory=/home/tuser/dato38itbot/
    VIRTUAL_ENV=/home/tuser/dato38itbot/telegaenv
    Environment=PATH=$VIRTUAL_ENV/bin:$PATH
    ExecStart=/home/tuser/dato38itbot/telegaenv/bin/python /home/tuser/dato38itbot/main.py
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
    Ответ написан
    1 комментарий
  • Как понять что ты джун?

    xez
    @xez
    TL Junior Roo
    Очень легко понять.
    Просто спросите своего тим/чаптер/тех лида (функционального руководителя, короче).
    Если у вас такого ещё нет и не было, то ваш грейд - стажер (ака трейни).
    Ответ написан
  • Как установить grafana на Ubuntu?

    Wispik
    @Wispik
    Ответ написан
    Комментировать
  • Как создать task в __init__ asyncio?

    Vindicar
    @Vindicar
    RTFM!
    Тебе довольно прямо сказано: "AttributeError: loop attribute cannot be accessed in non-async contexts."
    Иными словами, атрибут Bot.loop (ссылку на рабочий цикл asyncio) можно читать, только если ты находишься внутри async def функции, прямо или косвенно.
    Причина простая - asyncio.run() или эквивалентная функция как раз создаёт и запускает рабочий цикл asyncio (обычно называемый event loop или просто loop). Если рабочий цикл ещё не создан, то что должен вернуть атрибут Bot.loop? На этот вопрос просто нет правильного ответа. Поэтому доступ к атрибуту блокируется.

    И насчёт решения тоже подсказано: "Consider using either an asynchronous main function and passing it to asyncio.run or using asynchronous initialisation hooks such as Client.setup_hook". Иными словами, тебе нужно сделать так, чтобы твой код, обращающийся к Bot.loop, выполнялся в асинхронной (async def) функции. Это можно сделать двумя способами.

    Первый: вынести твой код из конструктора (который не может быть асинхронным) в отдельный метод. Например, Bot (и его предок Client) позволяют вызвать асинхронный метод on_ready() при запуске бота. Тут есть много оговорок - в частности, on_ready() может быть вызван неоднократно, если есть проблемы с соединением. Это нужно иметь ввиду.

    Второй: завернуть вызов всего твоего конструктора в асинхронный метод. Упрощённо, вместо
    import discord
    from discord.ext import commands
    
    intents = discord.Intents.default()
    intents.members = True
    intents.message_content = True
    
    bot = commands.Bot(command_prefix='!', intents=intents)
    # ...
    bot.run('token')

    можешь попробовать что-то вроде
    import discord
    from discord.ext import commands
    
    
    async def main():
        # асинхронная функция может быть выполнена ТОЛЬКО внутри рабочего цикла
        # значит, рабочий цикл уже точно существует и выполняется
        intents = discord.Intents.default()
        intents.members = True
        intents.message_content = True
        # конструктор сам по себе не асинхронный, но он выполняется в асинхронном контексте
        bot = commands.Bot(command_prefix='!', intents=intents)  
        # ...
        # мы уже в асинхронной функции, поэтому используем await start() вместо run()
        await bot.start('token')  # main() не завершит работу, пока бот не завершит работу
    
    
    if __name__ == '__main__':
        asyncio.run(main())  # создаём рабочий цикл. он будет работать, пока main() не завершит работу


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

    Ну и очень большой вопрос от меня: ты, я вижу, мастеришь систему плагинов. Чем тебя не устроили коги?
    Ответ написан
    3 комментария
  • Стоит ли переводиться на заочку?

    @antdantd
    Администратор сайтов, вебмастер. Удалённо.
    НУЖНО перевестись!
    Вы же не парень, котором очное нужно прежде всего для отсрочки от военной службы!
    Цените эту возможность и воспользуйтесь ею!
    Ответ написан
    Комментировать
  • Стоит ли Vim своего внимания для frontend-разработчика?

    @psychedelicGeek
    Любитель программировать
    Я использую Vim как Full Stack разработчик, скажу даже, что я все проекты разрабатываю на нем практически.
    Я подключил плагины, подключил туда YouCompleteMe, LSP и теперь у меня как свой VSCode, сменил оформление vim, подключил git плагин к нему, настроил .vimrc и теперь я не знаю проблем.

    На данный момент мне захотелось что то от себя добавить, и я решил поизучать VimScript.

    Вдобавок к Vim, я использую и Neovim, штука тоже хорошая.

    Я многие команды не знаю в Vim, мне хватает сохранить, удалить, просмотреть логи git, просмотреть изменения в файле, открыть два файла рядом и переключаться между ними, быстрые переключения между проектами и все.

    Экономит ли время? Да, лично для меня.
    Я практически мышку не использую, а так бывает от мышки часто рука побаливает долгим пользованием, то я вообще забыл про нее.

    Хочу добавить, что я еще и сисадмин, и для меня Vim и Nano это базовые вещи на сервере
    Ответ написан
    4 комментария
  • Стоит ли Vim своего внимания для frontend-разработчика?

    Абсолютное большинство фронтендеров не используют Vim и прекрасно справляются. Те, кто использует, тоже справляются. Десятикратной форы не даёт ни то, ни другое.
    Поэтому, я бы сказал, что энергию лучше направить на что-то более практическое, но если хочется, то попробуйте, конечно.
    Ответ написан
    Комментировать
  • Регистрацию своего VPN в РКН кто делал?

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

    @shushara4241
    Первый вопрос: git - распределенная система контроля версий, предполагающая, что все ветки будут синхронизироваться с остальными участниками. Поэтому бояться хранить в удаленном репозитории какие-то "не те" ветки не стоит, единственное, что нужно обговаривать условия именований (например feature - ветки можно именовать по шаблону feature/{task_id}). Кроме того git flow предполагает наличие feature - веток, release, hotfix etc. поэтому ограничиваться в этом плане не стоит.
    Второй вопрос: это ветки, в которых идет доработка предыдущих релизов. Например, если в версии 3.2.2 нашелся баг, то чтобы пользователи с версией 2.5.5 получили это исправление тоже, коммит с исправлением попадает и в ветку 3.2.х (и выпускается релиз версии 3.2.3) и в ветку 2.5.х (и выпускается релиз версии 2.5.6). Это опционально, кому-то просто удобно разрабатывать так, но вы можете выбрать то, как удобнее именно вам и вашей команде
    Ответ написан
    1 комментарий
  • Какие ветки необходимо хранить на удаленном сервере?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Если проект небольшой, то Gitflow вам, скорее всего, не нужен. Достаточно одной главной ветки (main), куда изменения вносятся через pull request. Для каждой задачи создаёте короткие ветки (например, feature/task-name), работаете в них и после завершения слияния с main удаляете. Саму ветку main закрывайте от прямых изменений. Никто не должен коммитить напрямую в main.

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

    Ветки с номерами версий (например, 2.3.X) используются в крупных проектах для поддержки старых релизов и выпуска патчей. Если у вас нет таких требований, можно обойтись одной актуальной веткой.
    Ответ написан
    1 комментарий
  • Какое качество у репозиториев моих Python проектов на GitHub?

    opium
    @opium
    Просто люблю качественно работать
    Если ты звездный гитхабер то зачем ты ищешь работу
    Если ты хочешь сделать для собеседования то нет смысла тратить на это время
    Ответ написан
    Комментировать
  • Как выучить Python?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    в котором на протяжении всей книги рассказывается, как правильно написать " Hello World ".

    В плане книг советую попробовать "Изучаем Python" (Марк Лутц, 2 тома), но это голая информация.
    Параллельно с чтением нужно активно писать код. Для начала можно решать задачи. Олимпиадные или на сайтах по типу CodeWars.
    Когда они будут решаться легко, выбери какое-нибудь направление (веб-разработка и боты, анализ данных, нейронки, автоматизация) и повторяй цикл - читай учебный материал и пиши код. Главное, чтобы это было осмысленно - если это нейронки то, например, попробуй сделать решалку математических задач, распознающую примеры на фотке, если это веб - можно попробовать повторить уже какой-то проект или "по дружбе" сделать кому-то то, что нужно человеку.
    Ответ написан
    4 комментария
  • Как выучить Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
  • Как быть с тестовыми заданиями при трудоустройстве?

    Maksim_64
    @Maksim_64
    ML Engineer
    Был фидбек, не был фидбек, не нужно воспринимать все это на свой счет. Больше, активности. Представь себе, следующую ситуацию, баскетбол. Тебе нужно забить три трех очковых подряд, это не просто. Чем больше попыток, зайти на страйк, тем больше шансы. Рецепт один, больше откликаться, выполнять тестовые задания, пытаться удивить в тестовых заданиях и т.д.

    Твоя цель - оффер, и все посторонние мысли о справедливости, какая компания, какое тестовое и т.д. Они только отвлекают и мешают.
    Ответ написан
    Комментировать
  • Какие существуют методы обхода запрета на удаленку за пределами РФ?

    vpn на уровне роутера в Россию.

    Но вообще такие запреты не на ровном месте делаются, а из-за законов, так что по сути ты ещё и работодателя своего подставляешь так, если всё вскроется.
    Ответ написан
    4 комментария
  • Реально ли иностранцу (гражданину Нидерландов) найти работу в IT в России?

    @q2digger
    никого не трогаю, починяю примус
    не в том месте ответы ищешь. определитесь с предполагаемыми работадателями в этой сфере и задайте этот вопрос их кадровикам напрямую, почту HRов нетрудно узнать обычно.
    Если муж хороший спец с востребованной специальностью - проблем быть не должно, в крупных компаниях часто могут сразу сказать, что понабится для такой релокации .
    Ответ написан
    Комментировать
  • Какой алгоритм поиска по базе более быстрый и менее затратный по ресурсам для выполнения?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Попробуй GIST индекс
    Ответ написан
    Комментировать
  • Где найти ошибку в коде?

    Vindicar
    @Vindicar
    RTFM!
    Почитай про импорты в питоне, какой-нибудь толковый учебник (типа Лутца).
    Ты делаешь относительный импорт (import .something), но это можно использовать только в крупных модулях проекта, а не в корневых файлах. Импортируй как обычно, без точки.
    Ответ написан
    Комментировать
  • Нужна ли магистратура для перехода в менеджмент?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Занимал руководящие должности ещё до получения вышки. Но есть компании, в которых это невозможно.
    Ответ написан
  • Подойдет ли базовый MacBook Air M1 8/256 для web разработки?

    @Tur8008
    У меня Mac book air 8 256 m1. Занимаюсь веб разработкой. Полностью согласен с автором. 8 Гб некомфортно мало. Память закончится на открытии 2х браузеров, vscode и docker. Повёлся на хайп и советы друга. При этом говорил ему что 8 Гб мне мало, но почему то повёлся на восторженные хвалебные m1. Буду менять. Запомните 8 Гб озу для разработки в 2024 г это несерьёзно!
    Ответ написан
    Комментировать