• Альтернатива PyCharm?

    @SexyHair
    Или все-таки проблема в несовместимости архитектур?

    Original error was: dlopen(/Users/user/PycharmProjects/pythonProject1/venv/lib/python3.11/site-packages/numpy/core/_multiarray_umath.cpython-311-darwin.so, 0x0002): tried: '/Users/user/PycharmProjects/pythonProject1/venv/lib/python3.11/site-packages/numpy/core/_multiarray_umath.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/lib/_multiarray_umath.cpython-311-darwin.so' (no such file)
    Ответ написан
    Комментировать
  • Лучшие книги по бэкенд разработке на python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Нет книг, которые охватывают все эти темы. Придётся отдельно прочитать Лутца для изучения языка, например Грабера для изучения SQL, руководство Django для изучения Django и т.д. и т.п. Причём всё это будет на уровень джуна, так как мидловый грейд - это не знания, а годы коммерческого опыта командной разработки.
    Ответ написан
    Комментировать
  • Для каких проектов и задач в backend предпочтительнее Python с фреймворком Django?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вы немного путаете причины и следствия.
    Если ML и аналитику делают чаще всего н апитоне, это не значит, что на питоне делают чаще всего аналитику и ML. Просто для аналитики и ML в питоне очень много "батареек", он в этом направлении лидер. Но основное применение питона - это бэкенд. Джанго действительно очень популярна, и его только недавно стал перегонять FastAPI соблазняя своей асинхронностью.
    Прелесть и преимущество Джанги в его самодостаточности для многих направлений применения. Там и довольно элегантный ORM в коробке, и шаблонизатор, и, что часто очень важно, простя в использовании и мощная админка с системой атворизации и управления правами. Практически с голой джангой и за пол часика можно быстро набросать модель данных и развернуть MVP, причем совсем не придётся тратить время ни на авторизацию, ни на организацию всяких там систем миграций, таск-менеджмента, модульного согласования разных фичей и т.д..
    А если учесть, что гитхаб ломится от готовых блогов, магазинов, чатов, виджетов, систем работы с комментариями в виде приложений для джанго, а эти приложения егко собираются в один проект и не толкаются друг с другом локтями при этом, то тут вполне можно понять почему Джанго так популярен.
    Питон в целом и Джанго в частности дают скорость разработки, которой позавидуют любые другие языки и фреймворки. При этом язык довольно свежий, современный и удобный.

    Однако меня смущает ваша постановка вопроса. Такое ощущение, что вы себе стек подбираете по озвученным критериям. Эдак могу посоветовать идти в перловики. На перле тонны легаси, в котором сейчас хрен кто ладу даёт, все бегут на что-то покомфортнее, а зарплаты у перловиков из-за вакуума на рынке не маленькая. Ну там, где это вижу я. Да, будущего у языка нет, но здесь и сейчас можно постричь бабла и подоминировать на своей нещаменимости=).
    Java - это жирный энтерпрайз, там всегда были и будут деньги. Полагаю крупные компании не сильно боятся обучать себе джунов, потому что эти джуны не улизнут в стартапы и будут залочены на корпоративный сегмент.
    Почему меня сутил ваш подход. Дело в том, что разных направлений развития много и в каждом можно преуспеть, но преуспеть в любом направлении сложнее, если вы выбрали его не по "зову сердца", а по меркантильным соображениям и требованиям рынка. У вас может просто не хватить мотивации, чтобы добиться нужного уровня профессионализма для востребованности в выбранном сегменте.
    Ответ написан
    Комментировать
  • Работать в IT или продолжить учебу?

    otdameskapizm
    @otdameskapizm
    Помог ответ? Отметь решением...
    То есть подождите...
    Вы - РОДИТЕЛИ РЕБЕНКА - спрашиваете на форуме (где даже не всегда можно получить ответ на простейшие вопросы), о векторе развития жизни вашего собственного ребенка?
    Ну допустим получите вы ответ, а потом у вашего сына не получится. Он придет к вам и спросит: "Как так вышло, что вы мне насоветовали тогда в далеком 2022". А вы ему что? Извини, сынок, это не мы, это Петя Пупкин с форума так сказал, а мы уже настояли на этом?
    Ответ написан
    6 комментариев
  • Почему скрипт не видит группу data?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Потому что вы два раза пытаетесь зачем-то спарсить http-ответ как JSON. Очевидно в Json один ответ.
    Вы ришли в магазин, запросили коробку конфет, вскрыли, получили список конфет и выкинули вместе с коробкой и конфетами.
    Потом снова делаете двидение руками, будто берете с прилавка коробку конфет (но ее там нет же, вы только одну запросили у продавца), лезете в воображаемую коробку рукой и не находите там конфету.
    Странно, правда?

    Если бы вы не нарушалиправило и не постили код в виде скриншотов, то я бы вам процитировал ваши ошибки и, наверно даже, написал бы как равильно делать.
    Но вы нарушаете правила.
    Ответ написан
    3 комментария
  • Как в sqlite3 добавить запись в таблицу, оставив пустые поля?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Это просто, надо всего лишь выучить SQL на уровне книжки "SQL для чайников" или раздела "Введение" документации любой СУБД, тогда можно узнать о том, что в insert можно указать какие именно поля устанавливать и в каком порядке.

    P.S. А Python тут вообще не при чём.
    Ответ написан
    1 комментарий
  • Как вставить переменную в нужную строку БД?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Очевидно, надо не вставлять (insert) новую строку, а изменять (update) существующую.
    Ответ написан
    Комментировать
  • Как из строки достать разные цифры и поместить в разные переменные?

    vabka
    @vabka
    Токсичный шарпист
    1. Это не цифры, а числа
    2. Через split разделяешь строку и каждый элемент получившегося списка кладёшь в новую переменную

    Будет что-то типа
    line = input()
    terms = line.split(" ")
    
    a = int(terms[0])
    b = int(terms[1])
    c = int(terms[2])
    Ответ написан
    2 комментария
  • Где провести опросы общественного мнения и спросить личное мнение по IT-тематике?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В reddit есть.
    Ответ написан
    Комментировать
  • Где провести опросы общественного мнения и спросить личное мнение по IT-тематике?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Напиши на Хабр годную статью и прилепи опрос в конце
    Ответ написан
    6 комментариев
  • Как с помощью Flask сделать динамический вывод данных из txt файла?

    xenon
    @xenon
    Too drunk to fsck
    Да, разными способами.
    1. можете поллить раз в секунду javascript'ом и обновлять содержание textarea
    2. можете просто на страничке только раз подгружать тот файл, но в страничке сделать <meta http-equiv="refresh" content="30">
    3. если прямо красиво хотите - можете использовать websocket (socket.io). Может вам понравится, я писал для этого удобный модуль - https://github.com/yaroslaff/ws-emit , там пример dir2web.py как раз на Flask, прямо с вашей задачей (только он еще и появление новых файлов в каталоге отслеживает). Изменение контента на странице происходит моментально после изменения файла. (в ютуб видео с примером это с 50-ой секунды).
    Ответ написан
    Комментировать
  • Почему csv writer не записывает все итерации, хотя должен?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Почему csv iterator не записывает все, хотя должен?

    Нет, не должен. Итератор не должен ничего записывать, он интератор. Итератор итерирует. Всё.

    Вот вы пришли с вопросом, но по какой-то причине не включили в него самое важное, то по чему можно определить причину такого повеения вашей программы.

    Во-первых, вы не привели примера данных. Если что-то идёт не так, как ожидается, ВСЕГДА нужно приводить два набора данных: тот, который работает как ожидается и тот, который как ожидается не работает. При этом не обязательно приводить полные наборы данных, ведь их может оказаться очень много. Всегда нужно стараться упростить непонятную ситуацию максимально, и в какой-то момен она станет понятной. Ну, то есть, возможных причин проблемы в рассмотрении станет достаточно мало, чтобы понять какая из них действительна.
    В данном случае нужно было убирать из CSV всё лишнее до тех пор, пока проблема сохраняется. Если убирать уже нечего, то останутся только проблемные записи и, возможно, посмотрев на них, вы сразу всё поймёте. Или поймёт тот, к кому вы пришли с вопросом.

    query = """variables_loaded[variables_iterator]['0']""" ##, так далее

    Во-вторых, у вас какой-то совершенно невалидный SQL-запрос. Он бессмысленный и неправильный. Вот это буквально текст, который запросом не является. Он даже не меняется от итерации к итерации, понимаете? Нам тут не ясно что вы имели в виду под "так далее", нам тут не ясно понимаете вы что такое SQL и что вот та строка им не является.

    При всех ваших ошибках в постановке вопроса нам тут уже не ясно, может быть у вас вообще нет работающего кода, который что-то записывет из CSV в БД, а то, что вы думаете он, якобы, запсывает, уже и так есть в БД, а вы просто этого не понимаете! Ну как не понимаете, что проблема может быть в SQL-запросе, поэтому его не приводите, как не понимаете, что проблема может быть в индексах и структуре БД, поэтому не приводите её структуры, как не понимаете, что проблема может быть в данных (они могут повторяься в разных строках CSV), а вы и не приводите все данные, и не говорите, что убедились, что они не повторяются!

    execute_query(connection, query)

    В-третьих, вы оставляете за скобками код выполнения SQL-запроса. Мы не знаем что это за код, может быть там вы тупо try-except'ом задавили все возможные ошибки и сами, фактически, отказались от того, чтобы БД вам объяснила в чем проблема. Может быть это вообе пустая функция внутри, или она неправильно обернута каким-нибудь декоратором, который ей не дает работать, а вы просто видите в БД одни и те же данные, и думаете. что они каждый раз туда заливаются вновь вот этим неработающим вообще кодом.

    Как нам судить обо всём этом букете гипотетических пробелм, если вы старательно все улики замели под ковер? Для чего вы это сделали?
    Ответ написан
    2 комментария
  • Запись, получение, хранение текстовой информации в Python, как реализовать?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вам нужно многое понять и изучить прежде чем такая задача станет вам под силу. Судя по постановке вопроса вы очень далеки пока что от понимания основ алгоритмизации и структур данных.
    Конечно можно ставить любое уникальное значение любому объекту. Структура данных, которая это позволяет, называется map, а в питоне её реализует тип dict - это словарь, который ставит в соответствие любой объект любому уникальному другому объекту.
    Я уверен моего объяснения будет не достаточно вам. Почитайте любую книжку по питону с нуля, например, Марк Лутц пишет приемлемые.
    Ещё вам определенно понадобится какая-то БД, например sqlite, или что-то посерьёзнее, например postgres. Базы жанных - это тоже отдельный целый мир, но вам не нужно вних сильно углубляться, однако, одного вопроса, да и вообще вопросов будет недостаточно для нормального понимания.

    Я вам рекомендовал бы обратиться к фрилансерам за таким ботом, либо, если самому интересно, то читайте книжку по питону с нуля и там вам всё будет объяснено, что нужно для простого бота с вашей функциональностью.
    Ответ написан
    1 комментарий
  • Почему socket работает только в локальной сети? Как это исправить?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Дело в том, что пока ваши устройства в одной подсети (им выдал адреса один DHCP сервер, это обычно ваш роутер), вы, указав локальный IP другого устройства в сокете, можете создать соединение.
    Но если устройства в разных локальных сетях, между которыми не настоен никакой роутинг, то устройства не смогут видеть друг друга. Их адреса будут в разных адресных пространствах.
    Это как звонить внутри отеля по внутреннему номеру телефона. Если один из абонентов окажется в другом отеле, то, даже зная его внутренний номер, вы из первого отеля не дозвонитесь ему напрямую по короткому номеру. Придётся пользоваться шлюзом. Вот шлюз - это NAT.
    Тут дальше аналогия уже поплывёт, если ещё глубже пытаться её применять.
    Прочитайте что такое NAT, что такое белый IP, динамический и статический IP, что такое port-forwarding, сетевая модель OSI, что такое маска подсети и как устроен IP-адрес, как происходит маршрутизация.
    Это слишком много инфы, чтобы рассказывать вам об этом в ответе на один вопрос. Вам нужно изучать это самостоятельно.
    Ответ написан
    3 комментария
  • Как из списка .json вывести нужные элементы?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    1.Изучить принципы работы со структурами данных.
    2.Применить данные на практике.
    Ответ написан
    Комментировать
  • ИИ генерирующая звуки по описанию?

    GavriKos
    @GavriKos
    поэтому хочу попросить подсказку

    ну начните с теории нейросетей, персептрон там, распознавание цифр, вот это все. И с математики.
    Где то через год возвращайтесь )
    Ответ написан
    Комментировать
  • Как мне оптимизировать цикл, чтобы он работал намного быстрее?

    Vindicar
    @Vindicar
    RTFM!
    0. Понять, про какой именно цикл речь.
    1. Замерить время выполнения частей цикла.
    2. Найти часть, которая тормозит.
    3. Понять, почему она тормозит.
    4. Написать реализацию, которая будет тормозить меньше.
    5. Проверить её в деле.
    Ответ написан
    Комментировать
  • Как с помощью def сократить код в python?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    def - это зарезервированное слово которое обозначает что дальше будет идти функция. выражение "Как с помощью def сократить код в python?" по сути не имеет смысла.
    У вас достаточно простая программа, если цель только решить квадратное уравнение - то и так всё хорошо для начала.
    Если вам нужно именно функцию, то просто оберните это всё в в функцию:
    def foo():
        a = int(input("Введите число a: "))
        b = int(input("Введите число b: "))
        c = int(input("Введите число c: "))
        
        D = b*b-4*a*c
        
        if D > 0:
            x1 = (-b-cmath.sqrt(D))/(2*a)
            x2 = (-b+cmath.sqrt(D))/(2*a)
            print(x1,x2)
        elif D == 0:
            x = -b/(2*a)
            print(x)
        else:
            print("Корней нет")

    P.S.: сюда наоборот нужно больше строчек, например проверку что ввели именно число, а не буквы. И возводить в степень принято так b ** 2
    Ответ написан
    Комментировать
  • Telegram bot, отправка текущего времени в сообщении?

    Vindicar
    @Vindicar
    RTFM!
    Модуль datetime в помощь. В частности, класс datetime.datetime, его методы now() и strftime().
    Только нужно иметь ввиду, что этот класс вернёт текущее время по часам того компа, на котором запущен бот, а не по часам клиента.
    Ответ написан
    Комментировать
  • Способ безопасного выполнения sql - запросов от пользователей?

    Vindicar
    @Vindicar
    RTFM!
    будет ли такой подход разумным с точки зрения производительности

    Он будет разумным с точки зрения безопасности и лёгкости исправления ошибок пользователя.
    Производительность, имхо, должна быть на втором месте в таких вещах.
    Ответ написан
    Комментировать