• Как сделать переход между страницами без перезагрузки?

    Почитай про SPA. Обычно подобные сервисы разрабатываются при помощи js библиотек Vue router, React router и т.п.
    Ответ написан
    Комментировать
  • Откуда эта база паролей?

    ekungurov
    @ekungurov
    Даже у самых стойких, типа «5tgb7ujm6tfc»

    Весьма наивно считать такой пароль стойким, ведь он образован определенным паттерном на клавиатуре.
    Ответ написан
    Комментировать
  • Резонно ли использовать один Celery для множества приложений?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Celery - это штука, которая умеет выполнять некоторые, помеченные вами специальным декоратором функции, "где-то там", асинхронно, в N единиц параллельности, и т.д. Но ключевой момент в кодовой базе. Если вы можете выделить код заданий в отдельный проект, так, что эти функции-задания будут работать - смело прикручивайте к нему Celery, оборачивайте в контейнер - и вот у вас микросервис заданий.

    Однако лично я с таким не сталкивался, обычно кодовая база одна. В монолите на джанге ли, или в сервисе на фласке - задания писались мной так или иначе как часть одного или нескольких сервисов, и использовался код проекта: модели БД, либы.

    Вполне реален и нормален сценарий, когда вы монолит подробили, к примеру, на 5 микросервисов. Задания также растеклись по ним, оказавшись в 3 из 5 сервисов. Значит, к тем сервисам, в который есть задания, нужно рядом поднимать контейнера на тех же образах, уже в качестве воркеров заданий.
    Ответ написан
    Комментировать
  • Как получить индексы цифр в строке?

    @galaxy
    Позиция цифры (т.е. индекс начала найденной выражением строки) можно получить из m.start().
    UPD: Для повторного поиска совпадений есть фунцкия re.finditer():
    [m.start() for m in re.finditer("\d", s1)]

    Более говнокодистый вариант через цикл и search

    search ищет только первое совпадение, надо дальше циклом прогонять, примерно так:
    idxs = []
    l = 0
    while m := re.search("\d", s1):
    	idxs.append(l + m.start())
    	l += m.end()
    	s1 = s1[m.end():]



    Но вообще-то регулярные выражение для поиска цифр - перебор. Хватит и этого:
    [i for i, c in enumerate(s1) if c >= '0' and c <= '9']
    Ответ написан
    Комментировать
  • Как получить массив дат со следующими пятью днями?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Array(5) // длина массива
      .fill()
      .map((_, i) => {
        const D = new Date();
        D.setDate(D.getDate() + i);
        return D;
      })
    вернет требуемый массив дат
    Ответ написан
    1 комментарий
  • Существует ли облачное/серверное решение для хранения конфигураций проекта?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Те переменные, которые могут часто меняться, храните прямо на сервере или configmaps в кубере
    Те переменные, которые секреты - в хашикорп или другом хранилище секретов.

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

    @vitaly_il1
    DevOps Consulting
    В целом зависит, но в 90% естественное место для несекретных конфигураций - в коде (Github, ...).
    Почитайте про принцип GitOps.
    Ответ написан
    Комментировать
  • Существует ли облачное/серверное решение для хранения конфигураций проекта?

    hint000
    @hint000
    у админа три руки
    Использую git для хранения конфигураций серверов.
    Ответ написан
    Комментировать
  • Существует ли облачное/серверное решение для хранения конфигураций проекта?

    SilenceOfWinter
    @SilenceOfWinter
    та еще зажигалка...
    приложение яндекс.диск или git + github.com
    Ответ написан
    Комментировать
  • Существует ли облачное/серверное решение для хранения конфигураций проекта?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Любая распределенная база типа consul.io, etcd, zookeeper..
    Ответ написан
    Комментировать
  • Как экспортировать переменные окружения из Bitbucket Pipelines?

    @vitaly_il1
    DevOps Consulting
    я формирую env файл с помощью команды echo VARIABLE=$VARIABLE >> .env, но такой подход сильно раздувает файл с пайплайнами.

    Возможно есть что-то более элегантное, но можно сократить ваш метод до одно строчки

    env > .env
    Ответ написан
    Комментировать
  • Как вывести полный traceback из обьекта Exception?

    @MEDIOFF
    Python Developer
    def process_exception(self, request, exception: Exception):
        import traceback
        error_msg = response_for_exception(request, exception).content.decode('utf-8')
        log({ 'error_msg': error_msg, "traceback": traceback.format_exc() })


    В теории так должно работать, но не уверен, попробуйте еще когда в try/except ловите, запихнуть эту конструкцию, и пробрасывать в функцию traceback
    try:
        # Тут типо где ждем ошибку:
    except Lalal:
        import traceback
        trace = traceback.format_exc()
        error_handler.process_exception(request, exception: Exception, trace):
    Ответ написан
    Комментировать
  • Как в связать объекты в PyQt?

    @dndred
    class MyCheckBox(QCheckBox):
        def __init__(self, target_edit:QLineEdit, parent):
            super().__init__(parent)
            self._target_edit = target_edit
            self.stateChanged.connect(self._stateChanged_slot)
    
        def _stateChanged_slot(self):
            self._target_edit.setReadOnly(not self._target_edit.isReadOnly())
    Ответ написан
    1 комментарий
  • Как новичку в IT поступить со своими большими идеями?

    @auoa16
    насколько вообще типична эта ситуация

    Более чем типична

    у меня есть идея грандиозного IT-проекта

    Правильнее сказать, что у вас есть ощущение, что ваш проект грандиозный. Я не знаю ни одного программиста в мире, у которого нет идей "грандиозных" проектов. Помимо программистов, еще десятки миллионов других людей имеют идеи "грандиозных" проектов. В итоге же, из всего количества стартапов выживают спустя 3 года менее 5%. Из них половина работает в небольшой плюс, лишь оставшиеся 2% становятся успешными проектами. Иными словами, даже если ваш проект грандиозный, вероятность того что он станет успешным примерно 2%. Чтобы Вы понимали насколько это мало, просто поставить в рулетке на конкретное число и выиграть намного более вероятно, чем запустить успешный стартап. Только в случае рулетки вы теряете лишь деньги, а в случае с проектом деньги и драгоценные годы.

    но почти нет скиллов в программировании

    Даже если бы они были, в наше время вероятность запустить успешный стартап в одиночку благополучно стремится к нулю. А уж тем более программисту. Разработчики могут создавать программы, но редко могут создавать продукты. А еще они плевать хотели на маркетинг и упаковку, им кажется что если программа работает, то успех гарантирован(это не так).

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

    Что в таких случаях надо делать?
    1) Получить словесное подтверждение того, что идея чего-то стоит. Например, рассказав о проекте 20и людям, посмотреть сколько из них сочтут вашу идею хотя бы "нормальной", не нужно грандиозной.
    2) Поискать аналоги. С вероятностью 95% вашу идею уже реализовали ранее, проверить популярность продукта, посмотреть в чем различия с вашим виденьем, плюсы/минусы и т.д.
    3) Как только получили предварительное подтверждение, что идея не го*но, пора делать прототип. Тут уже смотрите сами: либо ищите людей, готовых работать на вашу идею, либо сами прокачивайтесь до уровня, позволяющего сделать MVP, либо подзаработайте денег и наймите того, кто сделает MVP.
    4) Как только MVP сделан, пора показывать его людям. Если хотя бы 10 человек будут в восторге от вашего продукта - это успех, можно искать инвестора. Если хотя бы 50 человек будут просто пользоваться без восторга вашим продуктом - можно искать инвестора. Если ваш продукт платный и его купят хотя бы 5 человек - можно начинать искать инвестора.

    Вообще это все сложный путь и с большой долей вероятности он никуда и ни к чему вас не приведет, поэтому не стройте надежд, чтобы было меньше разочарований. В любом случае удачи
    Ответ написан
    8 комментариев
  • Как запустить python скрипт из javascript?

    profesor08
    @profesor08 Куратор тега JavaScript
    Пиши javascript на python. То есть пишешь свой код на python, а потом транслируешь в javascript. Но ты должен понимать, что нельзя будет использовать все доступные средства, так как код будет исполняться в браузере, и ты будешь ограничен возможностями js в браузере.

    Но серьезно, вся эта морока не стоит того, чтоб с ней возиться. Тебе все равно придется втыкать как работает та или иная вещь на js, а потом воспроизводить ее на python. Серьезно, потрать денек на javascript.
    Ответ написан
    3 комментария