Задать вопрос
  • Возможно ли быть Data Analyst и Data engineer в одном лице?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    От работодателя зависит. Обычно, чем меньше компания, тем меньше они любят специализацию.
    Ответ написан
    Комментировать
  • Стоит ли поступать на программиста с плохой математикой?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Прям совсем без математики не обойтись одному программисту на десятки, а то и сотни тысяч. Можно построить блестящую карьеру, применяя только арифметику, да и ту для того, чтобы деньги считать. Да и от высшего образования, если это не MIT или Беркли, польза только в том, чтобы прорваться через первичные фильтры при отборе на должность джуна. Так что если нравится программировать и хочешь связать с этим жизнь, ничего не бойся, не обращай внимания на условности, не слушай гейткиперов, становись тем, кем хочешь.
    Ответ написан
    1 комментарий
  • Возможно ли точно вычислить степень влияния ИИ в книгах и кино?

    vpetrov
    @vpetrov
    частный SEO-специалист
    LLM - это воплощение усреднения, что применительно к искусству можно охарактеризовать просто как бездарность. Это просто выбор одного из шаблонов. LLM ничего не хочет вам сказать, ей нечего сказать, это имитация речи по заложенным шаблонам.
    Не думаю, что настоящему писателю, режиссеру, художнику, музыканту есть чего опасаться, кроме конечной аудитории и её вкусов.
    Ответ написан
    2 комментария
  • Обьясните в чём суть инкапсуляции?

    Инкапсуляция защищает не от хакеров, а от неправильного использования объектов.
    Как пример - у тебя может быть класс "Заказ" и у него может быть какой-то статус (оплачен/ждёт оплаты/отменён итд).
    При этом у тебя могут быть правила типа: уже оплаченный заказ не может стать вдруг неоплаченным, а отменённый заказ нельзя взять обратно в работу.
    Тогда логично будет сделать поле статуса приватным (не доступным для изменения извне напрямую), а менять его только через методы, где будет происходить вся валидация.
    (В некоторых языках такие правила принято описывать на уровне типов, чтобы даже валидаций никаких было делать не нужно)

    Приватные поля объекта - это его состояние.
    Методы объекта - это способы его использования.

    Если у тебя в объекте появляется поле x и методы getX / setX (или авто геттеры/сеттеры в C#), то значит, что у тебя и нет явных причин делать это поле приватным, кроме соблюдения общепринятых соглашений.
    Ответ написан
    15 комментариев
  • Какое качество у репозиториев моих Python проектов на GitHub?

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

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    1. Проверять, соответствует ли частота символов в тексте типичной частоте символов в обычном тексте.
    2. Использовать NLP
    Ответ написан
    Комментировать
  • Как с помощью регулярного выражения найти все теги?

    @rPman
    Регулярные выражения не подходят для анализа html.

    Даже в очень простых случаях они будут неоправданно сложными. Страницу нужно предварительно разобрать на составные элементы, разобрать и отфильтровать их типы (атрибут, текст, теги,..) и уже по этому разбору что либо искать.

    Настоятельно рекомендую готовые анализаторы html, они есть подо все популярные и не очень языки и фреймворки. Например для php - штатные или рекомендую simple_html_dom, код будет простым, работать будет очень быстро, все встроено в php или простой include одного файла..
    Ответ написан
    1 комментарий
  • Так ли сложно найти место начинающему фронтенду?

    @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
    Единственное применения этого видел на одном проекте, там был очень специфичная доменная область, и было на много проще называть переменные по русски из этой области, потому что очень часто было общение со специалистами, которые знали только эти названия
    Ответ написан
    Комментировать