Задать вопрос
  • Как лучше обзавестись self-hosted почтой?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Насколько трудоёмко будет написать такой почтовый сервер самому?

    Простой, обрабатывающий только базовый RFC822 - несложно, но при этом половина привычных фич работать тупо не будет ;) Если же морочится поддержкой всего-всего, что уже напридумывали - нужно прочитать все RFC, которые связаны с темой :)
    Какие частые проблемы возникают в эксплуатации готовых решений?

    В эксплуатации самих решений, как правило особых проблем нет. Проблемы возникают обычно с анти-(спамом, вирусом, чертом лысым). Шифрование, сертификаты, SPF/DKIM/DMARC etc.
    Как скрепные сервисы, почтовые и не только, реагируют на самодельную почту, есть тут какие-то проблемы?

    Как человек, много лет содержщий собственную почту (на собственном сервере, стоящем в собственной квартире :) ) скажу, что плевали они на это. Протоколов слава Богу придерживаются - и ладно.
    Нужно ли регистрировать домен для своей почты?

    Доменное имя? Конечно. И еще белый IP нужен и MX-запись, направляющая на него почту.

    Обычные проблемы - это:
    - сделать так, чтобы твои письма не уходили в спам
    - сделать так, чтобы тебя не задробили спамом
    Первое обычно решается через SPF/DKIM/DMARC иже с ними, второе - через greylistng и черные списки

    Думаю на python, т.к. самому интересно поковыряться.

    Не путайте жабу с мотоциклом. Почтовый сервер - это обычно два независимых компонента - SMTP-сервер (тот, что принимает письма и мира и отправляет их в мир) и IMAP-сервер (тот, что передает почту в почтовый клиент - Thunderbird, Outlook etc). Плюс дополнительные модули. Веб-интерфейс к почте - отдельный продукт, с двумя первыми обычно не связанный (кстати, пишутся сервера обычно на С). Антиспам - это еще отдельный продукт (может быть, если морочиться чем-то типа DSPAM).
    Ответ написан
    Комментировать
  • Как лучше обзавестись self-hosted почтой?

    ValdikSS
    @ValdikSS
    Типичный почтовый сервис состоит из множества компонентов: Message Delivery Agent (MDA) обеспечивает обработку входящих писем, Message Transfer Agent (MTA) отвечает за обработку исходящих писем, их отправку и доставку. Также пользователю необходим IMAP-сервер, для получения писем и работы ними; SMTP нужен для отправки и получения писем как для пользователей, так и для серверов.
    Кроме этого минимального набора используются различные внешние обработчики: антиспам-системы, антивирусы, фильтры, DNSBL, и т.п.
    Также сервису необходим почтовый веб-интерфейс, который может использовать обычный IMAP/SMTP-доступ, а может общаться с серверами через собственные API.

    1. Насколько трудоёмко будет написать такой почтовый сервер самому?

    Написать минимальный рабочий MDA+MTA с нулевыми знаниями устройства почты и протоколов так, чтобы ваши письма принимали другие почтовые сервисы, а ваш сервер не мог принять неправильно сформированную ерунду, при этом не отвергал бы не полностью соответствующие стандарту письма (которые встречаются регулярно) — задача на 2-3 недели full time для меня. Минимально реализовать весь стек — не менее нескольких месяцев.

    2. Какие частые проблемы возникают в эксплуатации готовых решений?

    Не смогу ответить на этот вопрос с точки зрения обывателя, у меня не возникает каких-либо частых проблем, связанных с эксплуатацией exim4/postfix/dovecot сотоварищи.

    3. Как скрепные сервисы, почтовые и не только, реагируют на самодельную почту, есть тут какие-то проблемы?

    Если всё настроено корректно, то и доходить будет нормально. Если ваш собственный сервер соответствует стандартам, текущим требованиям к доставке, то проблемы могут быть только на сетевом уровне или с доверием домену и IP-адресу, что не имеет непосредственного отношения к коду.

    4. Нужно ли регистрировать домен для своей почты?

    Вам потребуется не только домен, но еще и IP-адрес.
    Ответ написан
    Комментировать
  • Где учить алгоритмы и структуры данных?

    includedlibrary
    @includedlibrary
    Вот хорошая книга Алгоритмы: построение и анализ
    "Грокаем алгоритмы" слишком поверхностная книга, читать её не имеет никакого смысла.
    Ответ написан
    3 комментария
  • Где учить алгоритмы и структуры данных?

    @dmshar
    "Грокаем алгоритмы". Насколько она хороша? - хороша. Изучайте.

    Что можете посоветовать ещё? - ну,например, https://superstudy.guide/algorithms-data-structure... Достаточно сжато, понятно, все необходимое на месте и без заумствования.

    На что обратить большее внимание при ознакомлении? - странный вопрос. Вы выбираете книгу и учите. А не "обращаете внимание" и торгуетесь "что больше, что меньше, а что может вообще пропустить" .
    Ответ написан
    1 комментарий
  • Где учить алгоритмы и структуры данных?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Православные материалы по теме:

    ссылка1
    ссылка2
    ссылка3
    ссылка4
    ссылка5
    Ответ написан
    Комментировать
  • Как программисты хранят частоиспользуемые куски кода, чтобы каждый раз не вспоминать заново?

    Griboks
    @Griboks
    Храню в stack overflow, вставляю в код через гугл..
    Ответ написан
    Комментировать
  • Почему обрывается работа макроса в Excel?

    KJhas
    @KJhas
    В качестве того, что сначала бросилось в глаза
    - возможно, ругается на слишком длинные пути вновь создаваемых файлов.
    - убрать On Error GoTo 0 и посмотреть, где остановиться.
    - добавить DoEvents "случайно" раскидав по коду.
    - описать _все_ переменные, возможно, где-то в них появляется что-то неожиданное, Variant довольно коварен.
    Ответ написан
    1 комментарий
  • Как конвертировать из ui в py?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Во-первых, какая разница где он располагается, лишь бы работал. Во-вторых, ui-файлы можно использовать и без конвертации:
    from PyQt5 import uic
    from PyQt5.QtWidgets import QMainWindow
    
    class MainWindow(QMainWindow):
       def __init__(self):
          super(MainWindow, self).__init__()
          uic.loadUi('mainwindow.ui', self)
    Ответ написан
    7 комментариев
  • Как конвертировать из ui в py?

    @zuevval
    Студент СПбПУ (примат)
    Если не проходит pyuic5 ... и т. п., попробуйте из консоли
    python -m PyQt5.uic.pyuic -x [FILENAME].ui -o [FILENAME].py
    (Windows) (при этом находясь в папке со скриптом)
    Посмотрел здесь: https://stackoverflow.com/questions/43028904/conve...
    Ответ написан
    4 комментария
  • Почему возникает ошибка Runtime error 6 Overflow?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    При обращении к значению в Cells всегда указывайте свойство Value. Так:

    If WBook.Cells(q, 7).Value = ArrayPhoneAll(i) Then

    Также имейте в виду, что одно из сравниваемых значений может быть Nothing
    Ответ написан
    Комментировать
  • Почему перестали приходить письма на тестовый ящик?

    CityCat4
    @CityCat4 Куратор тега Электронная почта
    //COPY01 EXEC PGM=IEBGENER
    mail.ru посчитал отправителя спамером (что очень похоже) и забанил.
    Ответ написан
    Комментировать
  • Есть ли система контроля версий для VBA-Excel?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Не знаю насколько сложен Ваш проект, но я бы:
    1. Определил - это один проект с вариациями или несколько самостоятельных проектов;
    2. Вынес общий и статичный код в отдельный модуль:
    3. Занимался бы развитием проекта исходя из соображений: 1 вариация - 1 модуль.
    4. Версионность файла с макросом - поднимать при каждой доработке.
    Ответ написан
    1 комментарий
  • Как правильно искать работу разработчику Python с годом опыта?

    @d-sem
    Добрый вечер.

    1) Чем глубже я изучаю теорию, тем глубже меня начинают спрашивать на собеседованиях и в итоге нередко отказывают :) Сейчас я только возобновил поиск, но несколько отказов уже есть. Нормальная ли это ситуация или необходимо делать что-то иначе? Останавливать поиски тоже не хотелось бы, т.к. на текущей работе я рискую начать стагнировать с точки зрения практики.


    Если Вы отвечаете правильно и Вам отказывают - это вопросы к адекватности интервьювера.
    Если Вы не отвечаете правильно - анализируйте опыт и прокачивайте слабые стороны.

    Но несколько отказов это не статистика.

    2) HR постоянно присылают мне вакансии Senior разработчиков. Видимо, иногда это тупо копипаст, а иногда HR не слишком вникает в опыт работы. Как реагировать на такие письма? Просто соглашаться на собеседования или очерчивать момент "а подхожу ли я?".


    Часть HR оптимисты и надеются продать Вас как синьора. Но вообще это как холодный обзвон. Они устанавливают контакт. И если очертите что пока не синьор - придут к Вам позже или с мидловой вакансией. Если подружитесь с парой сотней HR в линкеде и скажете что Вам интересно - пойдут ревалентные вакансии.

    3) Все предлагают очень разные зарплатные вилки и я не понимаю, от чего отталкиваться. Ситуацию усложняет еще и то, что, как сказал, HR часто присылают сеньорские вакансии. И в одних случаях HR, видимо, не сильно разбирается, а в других просто ленится что-то исправлять/уточнять - ты заинтересовал, тебе скинули какое-то описание и готовы разговаривать. И очень часто заработная плата и вовсе не указывается, а мне задают вопрос, на что я рассчитываю. Пытаюсь понять, а на что можно рассчитывать по деньгам на текущем этапе?


    Смотреть статистики по зарплатам на https://career.habr.com/salaries
    На открытые вакансии (где есть зарплата)
    Открытые резюме смотреть

    Если не уверены в сумме или своих силах - берете среднюю и говорите что хотите к ней придти.

    4) Что перспективнее - сосредоточиться на том, чтобы еще углубить свои знания Python или же расширять стек технологий?


    По деньгам в конечном итоге больше дадут синьору с глубоким знаниями чем фуллстеку. Но как продадите себя. Может быть Вы сможете в одиночку пилить продукты.

    p.s. с хорошим английским и Python Вам нужно смотреть в сторону больших компаний и удаленки на запад благо многие сейчас на удаленке. И общайтесь с HR, что Вам пишут. Чем больше их у Вас в друзьях в Линкеде - тем больше будет добавляться.
    Ответ написан
    1 комментарий
  • Как правильно искать работу разработчику Python с годом опыта?

    @happyofheaven
    Я не разработчик. Что-то среднее между продукт овнером и бизнес-аналитиком.
    Но думаю мой опыт будет ценен.

    1) нужно определиться с задачей.
    Есть два самых очевидных стрима:
    А) рост зп
    Б) рост скиллов/опыта

    Не всегда одно будет соответсвовать другому.

    2) определиться с отраслью. Хочешь больше денег? Иди в банки.
    ————-
    Не стремайся ходить на собеседования, они покажут твой уровень. Покажут GAP и тренды рынка. Это хороший опыт до роста.

    ЗП говори честно, учитывай рынок.
    Получаешь 80? Говори - получаю 80. Хочу рост. Например в 20%/30%. Да ты можешь продешевить, но для тебя это будет рост.

    Помни, ты всегда сможешь поменять компанию - в этом ничего страшного нет. Сам уходил из компании спустя 1 месяц работы, потому что не понравилось. (Уходил не в никуда, заранее нашёл другое место). Проблем это не вызывало.

    За последний год получил рост в ЗП в 120%
    Ответ написан
    1 комментарий
  • Как правильно искать работу разработчику Python с годом опыта?

    Griboks
    @Griboks
    Кажется, вы словили синдром самозванца. Почитайте на хабре автора Philipp Ranzhin - он всё подробно рассказывает как раз про ваш случай в статье "Не прыгайте выше головы — останетесь тупицей в плену больших денег" (тостер блокирует ссылку на него).

    Ещё можно добавить, что принимаемые вами решения должны быть осмысленными, т.е. следовать какой либо цели. Например, вы решили выучить питон, чтобы стать программистом, чтобы получать много денег, чтобы купить себе дом, чтобы чувствовать себя счастливым. Это называется правилом "пятерых зачем": если вы не можете 5 раз подряд ответить на вопрос "зачем", значит вам промыли мозги в решаемой проблеме.
    Ответ написан
    2 комментария
  • Как определить количество цифр в числе, не выделяя каждую отдельную цифру, с использованием str?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    количество цифр в числе:
    digitscount = lambda x:len(list(filter(str.isdigit, str(x))))
    
    digitscount(1234)
    # 4
    digitscount(-0.98)
    # 3
    Ответ написан
    Комментировать
  • Как сделать из строки число?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    price = "1 000₴"
    price = int(''.join([c for c in price if c.isdigit()]))
    print(price)
    Ответ написан
    5 комментариев
  • Почему в одной IDE код работает, а в другой - нет?

    milssky
    @milssky
    Координатор племени фиолетовых обезьянок
    Ответ прост. Вы используете разные версии python и библиотек в разных средах. Используйте в pycharm тот же интерпретатор, который используете в Jupiter
    Ответ написан
    1 комментарий