Задать вопрос
  • Так ли сложно найти место начинающему фронтенду?

    @AlexandraWeather
    джун Web разработчик
    я джун, год работаю контент-менеджером, клепаю лендинги акций для крупной компании. Параллельно стараюсь расширять стэк и собирать портфолио. Прям на фронта мне удалось только на стажировку попасть. Нужно много наглости, уверенности в себе, способности быстро осваивать разные стили работы, разные фреймворки)
    Ответ написан
    Комментировать
  • Ошибка "cannot pickle '_tkinter.tkapp' object" при использовании Multiprocessing, почему?

    Vindicar
    @Vindicar
    RTFM!
    Потому что multiprocessing - это не магия, а инструмент с ограничениями.
    В частности, у каждого дочернего процесса полностью своя память. Никаких общих объектов! Любые данные, передающиеся между процессами, упаковываются встроенным модулем pickle, и распаковываются на той стороне. Как следствие, есть довольно ограниченный набор типов данных, которые можно передавать как аргумент, или возвращать как результат из другого процесса. Окна ткинтера в этот набор не входят, о чём тебе и сообщает ошибка.

    Используй пару multiprocessing.Queue или SimpleQueue для коммуникации с работающим процессом. Одна очередь должна содержать команды от главного процесса дочернему, а другая - оповещения от дочернего главному. Сосредоточь всю работу с GUI в главном процессе, а для периодической проверки наличия новых оповещений в очереди используй метод root.after().

    Ну и да, "принудительно остановить" - это вообще не лучшая идея, и не должно быть нормальным подходом. Перепиши свои функции так, чтобы они мониторили какой-нибудь multiprocessing.Event (ну или threading.Event, если хочешь работать в потоках), и останавливались, когда он окажется взведён.
    Ответ написан
    2 комментария
  • Как посчитать сумму элементов в большом вложенном словаре?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting

    Выдаёт ошибку:
    Traceback (most recent call last):
    line 46, in
    for m in n.values():
    AttributeError: 'int' object has no attribute 'values'

    Метод values() у чисел? Может не стоит?
    Подскажите как посчитать сумму элементов в данном словаре

    А если глубина словаря изменится, опять все вложенные for переписывать? С рекурсией лучше выглядит:
    def best_function(d):
        sum = 0
        for v in d.values():
            if isinstance(v, dict):
                sum += best_function(v)
            else:
                sum += v
        return sum
    
    print(best_function(dct)) # 3906

    Ну и как правильно подметил Влад Григорьев - почему отладкой кода не занимаетесь? А если задача будет сложнее, например в 100 раз, 100 вопросов зададите?
    Ответ написан
    2 комментария
  • Как расшифровать 1685700050?

    Это так же может быть IPv4 адресом 100.121.189.210
    Десятичное число 1685700050 в 16-ричной форме это 0x6479BDD2. Четыре октета 64, 79, BD и D2 — это десятичные 100, 121, 189 и 210.
    Ответ написан
    Комментировать
  • Почему мой сайт не индексируется?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    По моим наблюдениям, последний год гугл индексирует ру и бел сегмент очень медленно. Для одного из моих сайтов потребовалось 6 месяцев, чтобы пошла индексация.
    Ответ написан
    1 комментарий
  • Почему не создается бд в postgreSQL?

    Melkij
    @Melkij
    PostgreSQL DBA
    должно быть
    postgres=# create database mydb;


    нет такого сокращение у парсера как create db, но, что важнее, SQL запрос должен завершаться символом ;

    Приглашение командной строки потому и меняется с postgres=# на postgres-# как индикатор того, что psql ожидает дальнейший ввод многострочного SQL, пока не встретится ;
    Метакоманды psql, в то же время, действительно продолжают обрабатываться во время многострочного ввода.
    Ответ написан
    Комментировать
  • Где пройти производственную практику?

    Производственная практика - это очень часто чуть ли не формальная процедура. Снижай планку требований к месту прохождения практики.
    Ответ написан
    Комментировать
  • Как составить regex исключающий цифры с тире?

    Alexandroppolus
    @Alexandroppolus
    кодир
    (?<![\d-])\d+(?![\d-])
    Ответ написан
    Комментировать
  • Существует ли API для Яндекс Документов?

    Suntechnic
    @Suntechnic Автор вопроса
    Сам спросил - сам отвечаю (наконце-то ответ от поддержки):

    В сервисе Документы нет возможности использовать таблицы с помощью API.

    Постараемся учесть ваше пожелание при работе над будущими обновлениями


    Передали пожелание разработчикам.

    Если у вас появятся новые вопросы, пожалуйста, обращайтесь.
    Ответ написан
    2 комментария
  • Как правильно спроектировать БД услуги с изменяемой ценой в зависимости от выбранных опций?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Причём тут это к проектированию БД? Если ваша цена зависит от чего-то там сверхъестественного, то это слой бизнес-логики, который будет высчитывать цену в зависимости от каких-то параметров. В БД вы эту информацию только храните и всё

    Проектирование больше относится к тому, как правильно хранить данные и распределять между многими таблицами. Правильно спроектированная БД имеет своё отражение на объектах в используемом вами языке программирования, когда вы будете эти таблицы маппить в типы.

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

    UPD:
    Для этой задачи SKU (артикулы) могут быть не совсем подходящим решением, поскольку у вас динамическое ценообразование. По таблицам будет примерно следующая ситуация (Накидал на коленках):

    services:
     - id:uuid
     - name:varchar
     - description:varchar
    
    options:
     - id:uuid
     - name:varchar
     - price:float
    
    orders:
     - id:uuid
     - duration:integer
     - total_price:float
     - service_fk:uuid
    
    order_options:
     - order_fk:uuid
     - option:fk:uuid
    Ответ написан
    2 комментария
  • Как правильно воспользоваться документацией API к сайту и исполнить методы в Python?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Получить your_secret_key, скорее всего в ЛК этого сайта.
    2. Вставить из примера ссылку в браузер и перейти, подставив вместо your_secret_key полученный ключ из п1, вместо остальных - в API руководстве написано, что нужно.
    3. В результате, "в браузер вернется json объект" с данными от сервера, которые так же указаны в API руководстве.

    4. Затем, пишем Python код, будем использовать синхронный requests (как самый простой):
    import requests
    
    # Подставить нужные данные из API руководства
    params = {
        'key': '?',
        'hash_name': '?',
        'id': '?',
        'price': '?',
    }
    
    # GET запрос на сервер, аналог того, что мы использовали в браузере из п2.
    response = requests.get('https://rust.tm/api/v2/buy', params=params)
    
    # Печатаем результат запроса, аналог того, что мы использовали в браузере из п3.
    print(response.json())
    
    # В консоль распечатается приблизительно это:
    
    # {
    #   "success": true,
    #   "id": "136256960"
    # }
    
    # Затем нужно циклом обойти результат с сервера и уже на основание полученных данных - предпринять необходимые действия. Например, пойти пожрать, чем я сейчас как раз и займусь... ;)

    P.S. специально написал ответ максимально простым языком, и не вижу смысла писать более сложные код и рассказывать про виртуальное окружение, т.к. скорее всего Вы в любом случае пойдете гуглить эти проблемы.

    P.P.S. код, ошибки и ссылки на api нужно писать текстом, а не скринами, не нарушайте правила сервиса!
    Ответ написан
    1 комментарий
  • Почему я получаю пустую строку?

    Vindicar
    @Vindicar
    RTFM!
    send_length += b' ' * (HEADER - len(send_length))
    Я не вполне понял, но зачем ты сразу после длины сообщения дописываешь пробелы?
    Да ещё с ориентировкой на длину строкового представления длины сообщения?
    Не говоря уже о том, что ты фиксируешь длину сообщения в символах, а передаёшь сообщение в байтах в некоторой кодировке... а ведь есть многобайтовые кодировки, типа utf-8. Там эти длины не будут совпадать, и более того, две строки одной длины в символах могут иметь разную длину в байтах, и наоборот.
    Ну и до кучи, ты передаёшь длину сообщения как строку. А как ты определишь длину этой строки?
    Ответ написан
    Комментировать
  • Переменные на кирилице?

    @Everything_is_bad
    Единственное применения этого видел на одном проекте, там был очень специфичная доменная область, и было на много проще называть переменные по русски из этой области, потому что очень часто было общение со специалистами, которые знали только эти названия
    Ответ написан
    Комментировать
  • Переменные на кирилице?

    Vindicar
    @Vindicar
    RTFM!
    Позволяет. Использовать эту возможность не советую, и в придачу к приведённым выше причинам добавлю ещё одну, очень простую: ключевые слова и вся стандартная библиотека языка на латинице. Задолбаешься переключать раскладку.
    Ответ написан
    Комментировать
  • Как сгенерировать непрерывные случайные величины с заданным законом распределения?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Во-первых, компьютеры вообще не могут в непрерывность. Так что вы получите лишь некоторое приближение: дискретную случайную величину с большим количеством возможных рациональных значений. Более того, компьютеры не умеют и в случайность, поэтому вы получите лишь псевдо-случайные числа.

    Обычно, сначала реализуют дискретную случайную равномерно распределенную величину. Гуглите алгоритмы генерации псевдослучайных чисел, если вам нельзя даже какой-нибудь rand() использовать.

    Далее получают равномерно распределенную случайную величину на отрезке [0,1]. Для этого генерируют случайное число от 0 до MAX_RAND и делят на MAX_RAND.

    Произвольную же случайную величину можно получить, воспользовавшись свойством функции распределения: Если подставить равномерно распределенную величину в обратную функцию распределения, то получится случайная величина с заданным распределением.

    Пусть x искомая случайная величина Fx(t) = P(x < t). u -равномерно распределенная случайная величина. Тогда x = Fx^(-1)(u).

    Например, для экспоненциальной случайной величины Fx(t) = 1-e^(-lt). Обратная функция будет Fx^(-1)(y) = -ln(1- y)/l. Значит считаете ваше случайное число, делите на MAX_RAND, подставляете в формулу -ln(1-y)/l. Или можно упрастить и брать просто -(ln y)/l, потому что равномерная случайная величина от 0 до 1 симметрична.

    Проблема тут с тем, что не для всех распределений можно получить обратную функцию в виде формулы. Для нормального распределения формулы как выше нет - надо использовать функцию erf(), или считать ее приблеженно руками через какие-нибудь ряды.
    Ответ написан
    Комментировать
  • Есть ли RoadMap от middle до Senior php разработчику?

    vhood
    @vhood
    Не забывайте отмечать решения
    сменить работу - пока не вариант
    Когда будет вариант, ищите сразу позицию senior.

    Пока нет варианта, остается только узнать у текущего руководства что нужно для перехода на позицию senior.

    spoiler
    Иногда ответ бывает нереалистичный (например, мне однажды ответили "приведи 10 мидлов"). В таком случае только уходить на позицию выше сразу, и уделять время до увольнения больше своим навыкам и созданию портфолио, нежели быстрому выполнению задач в текущей компании
    Ответ написан
    Комментировать
  • Как правильно записать данные в файл csv, ошибка: memoryerror?

    Steel_Balls
    @Steel_Balls
    0KLRiyDQv9C40LTQvtGALiDQmNC00Lgg0L3QsNGF0YPQuQ==
    a = [(q + w + e + r + t + y + u + i) for q in z for w in z for e in z for r in z for t in z for y in z for u in z for i in z]

    Ты сам-то понимаешь зачем этот изврат сделан?
    Нет?
    Ну я тебе подскажу - чтобы сломать память.
    А ещё учи структуры данных n^8 => O(n^8) - вот вам цена за "короткий и удобочитаемый код". Под капот никто, конечно же, не смотрит.
    Ответ написан
    Комментировать
  • Как правильно записать данные в файл csv, ошибка: memoryerror?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    708 * 8 = 4'611'840'800'000'000 ≈ 4194 терабайта.
    Докупайте оперативку и жёсткий диск на нужный объём.
    Ответ написан
    Комментировать
  • Метод .query Pandas, Почему возникает ошибка Too many levels: Index has only 1 level, not 3?

    Daemon23RUS
    @Daemon23RUS
    Судя по Вашему скриншоту, у Вас тут видимо опечатка670daa66b37cc448662766.png
    Сделать надо как тут670daa6f56ed2002507073.png
    Ответ написан
    2 комментария
  • Как вывести количество элементов по диапазону значений в NumPy?

    @U235U235
    np.histogram(a, bins=[-10, 0,0.3,.4,1])
    Ответ написан
    Комментировать