Задать вопрос
  • Как сделать что-бы бот телеграм из папки отправлял рандомную фотографю в чат?

    MinTnt
    @MinTnt
    import telebot
    from telebot import types
    import os
    import random
    
    bot = telebot.TeleBot("token")
    
    @bot.message_handler(content_types=['text'])
    def start(message):
    	photo = open('test/' + random.choice(os.listdir('test')), 'rb')
    	bot.send_photo(message.from_user.id, photo)

    #os.listdir - получает список всех файлов в папке "test"
    #random.choice - выбирает из списка файлов случайный файл
    #photo = open() и bot.send_photo - отправка фото

    *Но нужно учитывать, что этот пример, если в той же директории находится эта папка "test" с файлами
    **Если в этой папке будут другие файлы(не изображения) может вылезти ошибка, так что потом можно ещё добавлять проверку, чтоб в списке были лишь файлы определённого формата.
    Ответ написан
  • Ресурсы по изучению Powershell?

    MindPhaser34
    @MindPhaser34
    Системный администратор, DevOps
    Есть неплохие видеокурсы на торентах, где неспеша всё по полочкам рассказывают ("Автоматизация административных задач при помощи Windows PowerShell" и "Расширенные возможности Windows PowerShell").
    Если нужен быстрый старт, то вот Jump Start в двух частях:
    https://habrahabr.ru/post/242425/
    https://habrahabr.ru/post/242445/

    Галерея со скриптами от MS и участников:
    https://gallery.technet.microsoft.com/scriptcenter...

    А так, практически на любом сайте, посвящённому системному администрированию, есть раздел посвящённый PoShику.

    Удачи в освоении!

    PS: Недавно MS выкатили небольшой курс на русском:
    https://mva.microsoft.com/ru/training-courses/-pow...
    Ответ написан
    Комментировать
  • Как востановить работоспособность домена AD?

    MindPhaser34
    @MindPhaser34
    Системный администратор, DevOps
    Под локальным админом выполни на проблемном компе:

    Netdom resetpwd /Server:DomainController /UserD:Administrator /PasswordD:Password

    , где:
    Server - имя доменного контроллера
    UserD - имя учетной записи администратора домена
    PasswordD - пароль администратора домена

    Если система на хосте Windows 8 и выше, то можно через PowerShell, тоже под локальным админом:
    Reset-ComputerMachinePassword -Server DomainController -Credential Domain\Admin

    , где:
    Server - имя любого контроллера домена
    Credential - имя домена / учетной записи администратора домена

    Чтобы выполнить этот код удалённо, то можно сделать так:
    Invoke-Command -ComputerName XXX -ScriptBlock {Reset-ComputerMachinePassword -Server DomainController -Credential Domain\Admin} -Credential HOSTNAME\Admin

    , где:
    XXX - имя хоста компа, можно IP
    HOSTNAME\Admin - HOSTNAME имя хоста локальной машины, Админ - учётка локального админа

    На всякий случай, открыть удалённый доступ к машине, надо на ней запустить (или применить групповые политики):
    winrm qc
    Set-ExecutionPolicy RemoteSigned
    Ответ написан
    Комментировать
  • Какие щас актуальные фреймворки на python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Десятка три актуальных наберётся. Самые часто применимые среди синхронных - это Django и Flask, среди асинхронных - aiohttp, Tornado и Twisted.
    Ответ написан
    5 комментариев
  • Созданный *.exe файл не хочет открываться без картинки рядом, как исправить?

    Moskus
    @Moskus
    Закодируйте изображение в строку base64, положите в переменную, в своем коде, потом декодируйте ее и показывайте.
    Ответ написан
    6 комментариев
  • Как правильно администрировать VPS?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ни в коем случае не ставить никаких ISP Manager / Vesta / CPanel, иначе никогда не научитесь тому, чему хотите научиться. Кроме того, они жрут ресурсы. Даже Vesta, которая самая легкая, их жрет прилично, а я сильно сомневаюсь, что у вас VPS c 8+ Gb памяти.

    Изучать надо по урокам и статьям, читая мануалы и best practices по каждому package. Порядок, плюс-минус, таков:

    - развернули ось
    - сделали сразу апдейты
    - создали и настроили swap
    - поменяли пароль рута на что-нибудь супер-мега-сложное (его мы использовать все равно не будем)
    - создали себе обычного юзера с паролем нормальной сложности (он будет использоваться для sudo)
    - дали юзеру права sudo
    - закрутили гайки по SSH - сменили порт, запретили вход руту и вход по паролю (только по ssh-ключам), разрешили вход только одному своему новому логину
    - настроили UFW - простой, но эффективный firewall на основе iptables - default deny, allow http, https, свой кастомный ssh-порт. Если логиниться будете только из нескольких мест (офис, дом) - можно вообще ssh разрешить только на эти IP.
    - sudo dpkg-reconfigure tzdata чтобы установить свою временную зону, так логи потом легче читать и понимать
    - настроили logrotate
    - настроили logwatch
    - настроили Postfix, чтобы сервер вам письма мог слать (мы его настраиваем на внешний мейлер, например Mandrill, чтобы все письма точно в спам не падали)
    - настроили fail2ban (потом, после установки и настройки веб-сервера и сайтов, в fail2ban можно дополнения писать, например мы на WordPress-сайтах мониторим попытки авторизации в админку и блочим тем же fail2ban)
    - дальше ставим все что нужно - Git, Nginx, HHVM, PHP5-FPM, MariaDB, Memcached/Redis и так далее.

    Регулярно заходите на сервер, делайте apt-get update && apt-get dist-upgrade.

    p.s.: это по ubuntu/debian, для других систем все то же самое, но packages и команды могут немного отличаться
    Ответ написан
    26 комментариев
  • Альтернатива far менеджеру

    gjf
    @gjf
    То, что воруют через сеть — это уязвимость системы в целом. Начнёте шифровать пароли Far'a — будут воровать другие пароли. А если инжектировать библу — то и шифрование неособо спасёт.

    А потому:
    — установите все последние обновления используемой операционной системы
    — установите и настройте какой-нибудь файервол. Если интересует бесплатность — рекомендую CIS.
    — два и более антивируса в системе — это слишком. Тем более если речь о резидентных антивирусах. Это не только не повысит безопасность, но и снизит производительность и стабильность системы. Оставьте какой-нибудь один. Если понравится рекомендуемый выше CIS — оставьте только его анативирус, в последнее время он здорово поднялся, а в общем комплексе — и вовсе.
    Ответ написан
    Комментировать
  • Как составить план обучения Python/Django?

    orlov0562
    @orlov0562
    I'm cool!
    1) книжки-книжками, но советую выделить основные задачи в вакансии и реализовать то, что требуется. Например написать блог + petstore. И во время разработки познакомиться со всем что требуется, для конкретно этих проектов.

    2) Linux, просто поставь основной системой и пользуйся. Все что надо придет само через месяц.

    3) на требования вакансий забей, подавайся если в тексте есть python/django, ходи на собеседования и анализируй то, как они проходили. Если те кто будут тебя собеседовать адекватные люди, то вполне понимают что джуниор на то и джуниор, что находится в процессе поиска знаний и наставников. Если это не так, то не стоит там работать и тебе с ними не по пути.

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

    Если подытожить: делай пару простых проектов, изучи поверхностно какие техники в них использованы и иди ищи работу, а не зазубривай книжки.

    P.S. Это касается не только питона, но и любого другого яп или технологии с приставкой "джуниор"
    Ответ написан
    3 комментария
  • Что необходимо чтобы развернуть своей почты?

    Для начала 3 полезных сайта: 24whois.ru для проверки записей, если не хочется возиться с nslookup, mxtoolbox.com для проверки настроек smtp сервера и pdd.yandex.ru бесплатный DNS сервер.
    Предположим, у Вас есть белый IP 50.100.150.200, по которому доступен будущий почтовый сервер и домен homepage.ru.

    1. Создайте A запись для данного IP адреса. Например, это может быть так:
    Хост: mail.homepage.ru
    Тип: A
    Значение: 50.100.150.200

    2. Создайте для @ MX запись с меньшим приоритетом, чем уже существующие (например, для серверов с приоритетом 10 и 20 основным будет 10) и впишите в неё созданный поддомен:
    Хост: @
    Тип: MX
    Значение: mail.homepage.ru
    Приоритет: 5

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

    3. Обратитесь к хостеру, у которого стоит сервер или провайдеру, если сервер дома, чтобы он сделал следующую PTR запись (IP должен быть "перевёрнут"):
    200.150.100.50.in-addr.arpa IN PTR mail.homepage.ru

    4. Настройте SPF на DNS сервере. Например, если у Вас 1 IP - можно указать только его, а почту с остальных объявить недоверенной (~all) или вообще советовать сразу отклонять её (-all).
    Хост: @
    Тип: TXT
    Значение: v=spf1 ip4:50.100.150.200 ~all

    Вот как это выглядит у яндекса: 24whois.ru/?data=_spf.yandex.ru&t=nslookup&dns_type=txt и с раскрытыми IP адресами: 24whois.ru/?data=_spf-ipv4.yandex.ru&t=nslookup&dn...

    5. При помощи mxtoolbox или другого сайта проверьте свой IP на нахождение в чёрных списках и подайте заявки на исключения из них. Вы 99,9% будете хотя бы в одном списке, как минимум надо проверить spamhaus - им многие пользуются.

    6. Желательно на сервере настроить правильный ответ HELO/EHLO: mail.homepage.ru
    Ответ написан
    3 комментария
  • Практика по django?

    Привет

    Я, конечно, не совсем по теме, но чтобы более менее понять Django, я начал делать свой сайт. Так с ростом функционала и требований рассматривал новые фишки и постепенно наращивал жир (Гео, Селери, Рест, интеграции с робокассой и так далее). А просто так взять готовый проект и рыться в нем - ну это спорно.
    Ответ написан
    1 комментарий
  • С чего начать карьеру, если чувствуешь свою проф непригодность, хотя никогда не пытался устроиться?

    platotel
    @platotel
    IT Product Manager
    selfdestroy, добрый день. Что мне бросилось в глаза:
    - ник про саморазрушение и отсутствие аватарки, что иногда (не всегда) бывает признаком низкой самооценки. Да, есть те, кто по идеологическим или ещё каким-то причинам не хочет афишировать своё лицо, у кого-то просто нет хорошей фотографии, кто-то больше любит какую-то картинку поставить вместо лица, но нет ли именно проблем с восприятием себя?
    - наложение на себя клейма: "проф непригодность", "не обладаю супер знаниями",
    - страх отказа ("никогда не пытался устроиться"),
    - позиция "снизу", демонстрация чувство вины ("извиняюсь"),
    - растерянность ("понятия не имею, как найти", "не знаю, куда плыть дальше"),
    - настрой на провал ("меня просто нигде не возьмут"),
    - "никогда не щупал продакшн в живую" - есть стажировки, Open Source проекты, онлайн-курсы, на которых можно делать свой проект, обучаясь.

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

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

    sim3x
    @sim3x
    Если не ходить на собеседования, то не возьмут
    Гарантирую
    Ответ написан
    Комментировать
  • Как перенести номенклатуру в 1с?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Обработкой, разработчики ("программисты") 1С могут с этим помочь - за отдельную плату :)
    Ответ написан
    Комментировать
  • Каковы best practices хранения и каталогизации админских наработок?

    athacker
    @athacker
    Завёл бложик, где описываю сложные ситуации или грабли, с которыми приходилось разбираться. Когда вопрос снова всплывает -- лезу и читаю, как боролся в предыдущий раз :-)
    Ответ написан
    Комментировать
  • Как python заставить работать с кирилицей?

    Ranwise
    @Ranwise
    укажите кодировку при открытии файла
    Ответ написан
    Комментировать
  • Как подсчитать количество вхождения каждого слова в списке?

    aRegius
    @aRegius
    Python Enthusiast
    На Python это делается элементарно, при помощи класса Counter из модуля collections. А любое количество наиболее часто встречающихся элементов находите при помощи метода most_common():

    >>> text = ['1', '12', '123', '11', '1', '12', '12']
    >>> from collections import Counter
    >>> text_counts = Counter(text)
    >>> text_counts
    Counter({'12': 3, '1': 2, '11': 1, '123': 1})
    >>> top_two = text_counts.most_common(2)
    >>> top_two
    [('12', 3), ('1', 2)]
    Ответ написан
    Комментировать
  • Что с кодом этим?

    lxsmkv
    @lxsmkv
    Test automation engineer
    from bottle import route, run, template, response
    import random
    
    
    @route('/reg/<name>/<pw>')
    def index(name, pw):
      cookie_hash = random.randrange(10000000000)
      response.set_header('Set-Cookie', 'cookie_hash=%s' % (cookie_hash))
      return template('<b>Hello {{name}}, {{hash}}, {{pw}} </b>!', name=name, hash=cookie_hash, pw=pw)
    run(host='localhost', port=8080)

    у меня этот код работает, даю запрос на localhost:8080/reg/bottle/neck
    смотрю в хедер ответа в файрфоксе - значение пишется в cookie_hash, именно то, которое было сгенерировано. Все пучком.
    Ответ написан
    Комментировать
  • На чем написать систему автоматизации для медовой фермы?

    @murlogen
    1. Писать всегда на том что лучше знаешь. Тем более задачу в которой еще не в зуб ногой.
    2. Нафига писать - есть же готовые. Например, для конкретно задачи учета - 1С. 1С умеет работать в онлайне, 1С умеет интегрироваться с веб-сайтами (интернет-магазинами некоторыми).
    3. Написание ПО - вовсе это не то на чем следует сосредоточиться при открытии и превоначально раскрутки фирмы
    4. Не потяните по бюджету??????? Ты или не то смотрел или считать не умеешь. САМОМУ ПИСАТЬ ВЫЙДЕТ НАМНОГО ДОРОЖЕ, ЧЕМ ИСПОЛЬЗОВАТЬ УЖЕ ГОТОВОЕ.
    Ответ написан