— Какие книги считаются лучшими? На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.
— А как учить джангу? Нахожу книги по джанге 1.х, можно их использовать? У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.
— Какие веб-фреймворки стоит учить в начале двадцатых? Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: https://www.composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4
— Как можно без лишней возни ускорить программу на питоне 1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь. 2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пин##сии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Напоминаю вкатунам, что работы на питоне НЕТ. Питон это просто мелкий скриптовый язык, на котором пишется мелкая автоматизация. Ну и в дата саенсе используется, но как дополнительный инструмент, без глубокого знания матана и математической вышки вы никому не нужны. То что вам впаривают на курсах - это пиздеж.
>>3375388 >работы на питоне НЕТ. Питон это просто мелкий скриптовый язык, на котором пишется мелкая автоматизация Подтверждаю. Инфоцыгане с курсов создали 3к фейковых вакансий.
>>3375396 Ну давай разберем по частям тобою написанное.
1) Убираем нерелевантные слова - data, machine, machine, devops, преподаватель, куратор - чтобы отсеять девопсов, DS, ML и тех, кто ищет наставников для курсов 2) Убираем пункт "Искать в описании вакансии" - питон часто упоминается, как вспомогательный язык стека.
Остается уже не >3к, а всего 733 вакансии. По всем странам, далеко не все они удаленочные. Из них 472 вакансии требуют опыт от 3 лет, для джуномидлов подходят оставшиеся 261 вакансия.
Повторяем процедуру с резюме - 231 тысяча резюме, ищет работу примерно 14% (это можно вычислить по статистике открытых для обычных пользователей резюме), то есть 32 тысячи человек.
123 человека на вакансию.
А теперь проверни подобные операции с любым другим реальным языком промышленной разработки и сравни результаты.
>>3375661 Я тебе сейчас с цифрами доказал, что уровень конкуренции в 9 раз ниже. В Джаве высокая конкуренция, но в отличие от питона есть вакансии и работа, а в петухоне тысячу вкатунов устраивают голодные игры за полторы вакансии.
>>3375375 (OP) >пишешь на питухоне, страдаешь от динамической лапши 24/7 >обмазываешься аннотациями, постепенно интегрируешь mypy, со временем mypy работает в strict режиме. Сделал из вашего хуёвого и ебучего питона человека, ну и заодно затерпел и не стал перекатываться на сраное говно. Один лишь вопрос почему эта ваша ебучая нелюдь гвидо не сделает типы обязательными, а динамическую лапшу опциональной, то есть как сейчас, но наоборот?
Сап, при установке либы для airflow вылазит пик1. Почитал в инете, все сводится к установке раста. Это серьезно единственный вариант? В одно сообщении на SO сказали, что pip на какой-то версии переехал на раст, это правда (ничего в гугле про это не нашел больше)?
>>3375887 Абстрактных методов в том виде, как в C++, в питоне нет. При желании ты это можешь реализовать играясь с метаклассами, но вот это нафиг никому не нужно
А вот против вызова таких методов есть стандартный паттерн, ты бросаешь исключение, специально для этого есть NotImplementedError
>>3376422 Да хуйню чел запостил какую-то. Ну 200к резюме с упоминанием питона, какая часть из них вообще активная, а не многолетней давности? Сейчас на хх есть счетчик откликов в мобильной версии, вот вижу на примере его джавы все те же триста шестьсот шестьсот двести двести откликов на первых рандомных вакансиях. Там еще стажерская свежая висит которую 50 человек смотрит. И кста я исключил из поиска андроид и qa на жабе, получилось столько же вакансий как у него на питон 12 человек на место, больше вакансий, каво нахуй наебать пытается челикью
Как сегодня всё автоматизируют, какой ЯП, фреймворки, библиотеки, боты, нейронки? Но только, чтобы всё оффлайн работало, то есть обрабатывалось на моём компе и телефоне.
>>3377518 >разместил его на ВПСе Фу, челядь ебучая. Нет смысла ради каких-то 1000 запросов в месяц арендовать сервер, он будет 0,00001% времени работать и 99,99999% времени простаивать. Бестолково и неэффективно, тупо переплата за простой.
Есть репозиторий с утилитой-кофигуратором. В ней есть базовый класс BaseDevice и куча потомков вида DeviceFoobar22(BaseDevice), все конфиги хранятся в аттрибутах потомков.
Конфигов много, под 100 штук.
Хочу вывести список потомков-дубликатов, у которых фактически в ТЕКСТЕ КОДА написано одно и тоже, чтобы прописать им наследование от какого-то общего предка и сократить код. (Возможно это пиздец какая плохая идея и лучше не наследоваться вовсе)
Если собрать все классы, взять их аттрибуты (vars), то они будут уникальными, потому что аттрибуты инстанцируются по разным адресам памяти.
Есть какой-то лексический анализатор или другой способ искать избыточные классы-дубликаты?
>>3377670 >Cloudflare, очевидно же. Между прочим, что-то новое . Ты перестал всем рассказывать какой охуенный AWS. Ждем, когда окончательно образумишься.
Я не владею языками программирования и вообще очень плох в системе, но мне нужно обновить Питон. Подскажите, как сделать это через консоль. Что я не так делаю?
>>3378079 >Бля, уверен что это окажется заманухой. Конторка в принципе гнилая. Лучше уж "VPS друга" Ну и сиди дальше, плати за 99,99999% простоя. Нет смысла тебя переубеждать.
>>3378082 Я пользуюсь, меня всё устраивает. Зачем рассказывать если никакой полезной нагрузки в разговоре не будет. Мне влом тратить время на пустое бла-бла, если будет конкретный вопрос по конкретному сервису - то я отвечу.
>>3378581 >Ну и сиди дальше, плати за 99,99999% простоя Около 0% простоя, поскольку телеграм-бот должен быть поднят всё время, даже если к нему никто не обращается
Какими редакторами или IDEшечками пользуются питоняши? PyCharm довольно крут, спору нет, но дорого, а в комунити нет поддержки джанги и поддержка разных sql ограничена. Может быть на VSCode перемещаться?
>>3381519 Смысл в том, что функционал интерфейса наверное не самый простой, на этом фоне авторизация лишь небольшая часть. Под это надо фреймворк подбирать. Ещё дальше вопрос в том, как у тебя бэкенд устройством управляет, у тебя синхронные инструменты или asyncio
Если у тебя asyncio-код, то aiohttp удобен, поскольку он построен так, что бы его можешь запускать как отдельный сервис твоей программы, причём можешь запускать, а можешь не запускать. Чаще фреймворки построены так, что всё должно плясать вокруг них, они центральную роль несут, что неудобно.
Короче подумай, какой фреймворк тебе симпатичен, и под него ищи авторизацию. Под любой есть что-нибудь.
Анон, подскажи, как сейчас принято работать с ноутбуками. Я почитал немного, вижу что в качестве "фронтендов" существуют - Jupyter Notebook - JupyterLab - Какая-то ноутбучная пристройка к вскоду Что из этого правильнее и/или удобнее юзать?
>>3381648 jupyter notebook classic как будто брошенныйю Там серьезные беды с дебаггером. а у меня в wsl там вообще пизда сетевая какая-от. Так что остается Jupyter Lab
Ну и Vscode, если ты и вправду погроммист.
>правильнее Молниеносный детект студента или заводчанина. В ИТ нет правил. Есть выгоды.
>>3381293 Я в такой. Небольшая контора, людей немного. Созвон раз в неделю. Дают задачу и если сам можешь справиться, то можно вообще ни с кем не контактировать. Трекеров нет никаких. Можно работать в любое время, хоть ночью. Минусы: код невысокого качества, страдающий от динамики Питона отсутствие документаций нулевой онбоардинг большое разнообразие задач: я и CI настраивал и systemd, и фронтенд, бэкэнд, нагрузочные тесты и ещё кучу всего все проблемы твои личные по типу проект не можешь запустить, виртуалку настроить, контейнер поднять и т.п. ЗП меньше 300кк наносек
Посоветуйте чего-то вроде gdb отладчика графического для пистона. В дельфях или лазарусе вот охуенная отладка, по строчкам можно ходить, точки останова ставить, смотреть че в в переменных лежит, я заебался принтами дебажить...
>>3381856 >Пучарм бесплатен Только обрезок в видео комунити версии. Подойдет, если ты студент или самоучка, изучающий пиструн.
За нормальную версию у тебя попросят $199 за первый год (потом чуток дешевле). Ну и чем Pycharm лучше VSCode, чтобы за него $200 отдавать? Просто ЧТО там такого, чего нет в VSCode и за что нужно платить ебаному кабану, чтобы он еще больше распух от денег? который к тому же еще и ренегат, а посему идёт нахуй
>>3382513 >Конкретно - зачем нужна конструкция 'x for y in...' Это то же самое, что на моем пике, но формализованное в виде генератора, который быстрее, моднее и сахарнее. А zip-объект, в который ты упаковал свои списки содержит примерно такое: ('test1', 1) ('test2', 2) ('test3', 3), то есть, берет из каждого итерирумого объекта по элементу от первого и до того момента, пока не кончится самый короткий из них. Все это упаковывает в набор кортежей. Я тоже так делаю, когда нужно одновременно проитерироваться сразу по нескольким последовательностям.
А какая общепринятая практика для менеджмента зависимостей в питоновских проектах? Я сейчас читаю про Conda и кажется, что это оптимальный инструмент. Но при этом в проектах на глаза мне чаще попадались requirements.txt. Объясните как оно устроено в профессиональной разработке?
>>3382681 >Чем тебя не устраивает комунити, по пунктам? Обрезок - это VS. Зачем ты пытаешься в унылый "сам дурак"? Пукчарм камунити - это обрезок, обмылок, который хорошо подходит для чистого Питхона. Стандартная ситуация, когда ты студент или макака на курсах для начинающих. А речь идет именно о тебе.
Если ты реально работаешь, то тебе нужна поддержка баз данных, нужна поддержка фреймворков, вероятно нужна совместная работа. И ты соснешь делать это в своем обмылке.
Я пробовал разные IDE и редакторы, лучше, чем vim, pycharm и vscode - нет. Но vim для красноглазиков, pycharm - хороша только платная версия, в то время как vscode: умеет буквально всё, превосходит по функционалу pycharm, легковесный, с открытым кодом и с намного, намного более развитым сообществом во всех смыслах.
>>3382768 А почему не используется везде, например, Conda? Тем более раз уж она популярна у датасаентистов. Я ее просто беру как пример, просто потому что она вроде бы все умеет, в том числе устанавливать и сам питон.
>>3382768 И опять же, вот у тебя на пике написано >а) просто проект >... >б) с необходимостью того-то и того-то Ну а если одновременно присутствуют разные проекты, разные менеджеры же будут конфликтовать между собой. Опять же получается лучше прицеиться к конкретному менеджеру.
>>3382768 requirements.txt + pip дают самое точное воспроизведение окружения
Собственно не понятно, что ещё надо. Проблема может быть в том, что невозможно создать окружение без конфликтов, когда один модуль хочет одну версию какого-то другого модуля, а другой другую версию этого же модуля.
Особенно стрёмно, когда пидорасы, что модули разрабатывают, тоже хотят точности и указывают зависимость как ==
>>3382717 >мне чаще попадались requirements.txt Зависимости часто в setup.py запихивают, используют setuptools, но суть в целом та же, там тоже указывается диапазон версий для каждого модуля, как в requirements.txt
Вопрос в том, как разруливать зависимости, когда они конфликтуют, но тут история о том, что модули всё-таки добавляются не так часто, запихивание чего-либо по поводу и без повода в проект это дурная манера очень.
Если ты создаёшь модуль, по хорошему ты очень вдумчиво должен подойти к тому, какие версии в зависимости указывать, на практике даже в профессиональной разработке с этим проблемы бывают. Если ты указал некорректную зависимость, слишком точную, то никакой инструмент не позволит это исправить автоматом.
>>3383395 >>3383409 Звучит логично. Но тогда объясните нахуя нужны всякие конды?
То есть я понимаю, что они делают больше (контролят версию питона, могут ставить бинарные зависимости), но типа почему/когда /кому целесообразнее использовать pip, а почему конду?
>>3383395 > Особенно стрёмно, когда пидорасы, что модули разрабатывают, тоже хотят точности и указывают зависимость как == Это какие, например?
> Собственно не понятно, что ещё надо. Проблема может быть в том, что невозможно создать окружение без конфликтов, когда один модуль хочет одну версию какого-то другого модуля, а другой другую версию этого же модуля. Как обходить? Rpc?
По Kivy вопрос. Допустим, имею я: BoxLayout: id: root BoxLayout: id: box Button: id: btn Положим, я удалил box из root. Как сделать, чтобы btn узнал о том, что его теперь нет в отображении? У меня подобное удаление в программе это постоянное событие, т.к. используются MDI окна и они скрываются/показываются (соответственно через remove_widget и add_widget). На момент, когда MDI окно скрыто, я хочу удалять mouse_pos события из Window, и когда наоборот окно показывается, хочу событие снова регистрировать. Можно конечно хуй забить, и так работает, но это некрасиво как-то чтоли. Из-за этого нагрузка при движении мышью в окне высокая, т.к. у меня много виджетов имеют бинды к Window.mouse_pos (всякие кнопки и прочая хуйня которая должна при наведении мыши подсвечиваться).
>>3383965 >помогите создать многозначный диктионарь >ахаха! я вам говны невнятной накидал а вы решаете ухаха! пук Чатжптун ты? Узнал тебя по шизойдным высерам.
>>3383901 Не знаю что такое киви, судя по всему какой то гуй, но при любом раскладе кнопка или любой другой элемент это объект в дереве, если ты к нему присобачил какие то методы то они вызываются когда он находится в дереве и в нем всплывают какие-то событя, которые ты обрабатываешь. Не совсем понятно что и кому ты собрался сообщать если объект в дереве отсутствует. Если он есть но скрытый/деактивный то обычно события их игнорируют, если в твоей киве или твоей реализации не игнорируют, то ставь проверку аттрибута hidden и возвращай, либо отцепляй события на время скрытия.
>>3382789 > Если ты реально работаешь, то > нужна поддержка баз данных Не нужна. Встроенные эдиторы бд везде говно. 99% знакомых разрабов сидят на бобре, оставшийся 1% анальных рабов жидбрейнс на датагрипе > нужна поддержка фреймворко Только и исключительно если ты пишешь на штанге > нужна совместная работа Не нужна При этом ты не написал про remote execution и дебаггер в докере. Ну, охуительно работаешь, братан > vscode > умеет буквально всё Ага, и 90% из этого "всего" сделано через жопу, чем невозможно пользоваться. Про говнодебаггер и обосранный гит я промолчу, это просто ебаный позор > превосходит по функционалу pycharm Удивительные истории, > легковесный Легковесный только до той поры, пока ты не поставил 40-50 экстеншенов, чтобы нормально работать. > с открытым кодом и с намного, намного более развитым сообществом во всех смыслах Да, это же очень важно. Каждый разработчик после рабочего дня собирается контрибьютить в иде, которой пользуется. Интересно, а почему ты не написал, что VSCode это говнина на электроне с инпутлагом, а пукчарм это нативное приложение?
Нахуя дегенераты сравнивают питон с джавой и ноют что вакансий мало? Питон не для этого. Он чтобы ты быстро скрипт написал какой-то и что-то с файлами в одной папке сделал, а не чтобы блядь хуитерпрайз залупу десятилетиями разрабатывать.
Аноны, я тот хер со словарем >>3383780 Короче реально херня вышла - в словаре не может быть одинаковых ключей (я не тестил просто).
В общем, подмогните с такой ситуевиной: Есть несколько листов вида x = [cat, 12, sun, 1, fish, 5, cow, 13] y = [dog, 121, flower, 1, fish, 5, cow, 100] В этих листах некоторые элементы совпадают. Необходимо все это дело запихнуть в один лист формата: z = [cat, 12, dog, 121, flower, 1, sun, 1, fish, 5, 5, cow, 13, 100]
Словарь - лучший вариант, но проблема в том, что если из листов сделать словари, потом их замержить, то значение у ключа будет только одно. Например, из вышеуказанного словарь (после мержа) получится примерно такой: dic = {cat: 12, dog: 121, flower: 1, sun: 1, fish: 5, cow: 100} А необходимо такой: dic = {cat: 12, dog: 121, flower: 1, sun: 1, fish: [5, 5], cow: [13, 100]}
Другая проблема в том, что у меня листы генерятся в цикле. Я могу аппендом добавлять данные в новый лист, но как потом его причесать под нужный мне вид {ключ: [значение, значение, значение]}?
Анон, привет, помоги с проблемой, в какую сторону копать. В общем, есть python скрипт, который циклично выполняет свою задачу. Запускаю его через bat-файл, содержимое которого title (например script) и команда запуска, всё. В термина выводятся просто принты о ходе выполнения. Скрипт никакого инпута не требует, живёт сам по себе. Всё работает нормально, но в какой-нибудь рандомный момент скрипт может зависнуть, а заголовок батника меняется на "Выбор script". И вот я не пойму, что это такое и из-за чего это может возникнуть? Проблема особо не гуглится. Может ли быть такое что в PyCharm параллельно висит "проект" этого скрипта и в момент дебага он запускает одноименный (title такой же как и название проекта) процесс, из-за чего основной скрипт виснет? Однако иногда я дебажу параллельно и норм всё.
>>3385643 Какие ватники, о чём ты? Поставь операционную систему вместо виндуса, должно помочь. Если вдруг нет - в питухоне вроде есть нормальный дебаггер из коробки, расставь брейкпоинты и смотри, чё там лежит в переменных. В виндувсе через ватники и даблклики юзер-инпут ты вряд ли нормально пробросишь (да и печатать что-то в цмд.екзе один хуй мерзко), поэтому операционную систему в любом случае придётся установить.
>>3385670 Это по работе, поэтому систему поменять не вариант. Сам скрипт работает нормально, и даже в батнике. Просто в рандомный момент спустя 3 часа или 15 минут меняется заголовок батника на "Выбор..." и всё.
>>3385680 >поэтому систему поменять не вариант. Ну тогда энжой ё виндус, что тут сказать. Да, виндус - это всегда боль, как только ты пытаешься делать что-то сложнее потреблядства, на которое он и рассчитан - поди отгадай, что у него на этот раз отъебнуло.
>>3385856 >почти нормально работает Спермодаун, питон на винде это чужеродный портированный с прыщей софт, некрософт его из коробки не поддерживает, нигде ни в каком виде установить не предлагает, зато предлагает дотнет и бобрпшел и прочее свое говно, которое специально создавалось под шинду.
>>3385905 list это функция стандартной библиотеки Используй что нибудь типа list_of_nums
Числа лучше сравнивать с числами, и инициализировать переменную как: prev = -1 либо минимальным числом
Ну и непонятно что тебе дает выявление дубликатов, убирать их из массива это пиздец как неэффективно, надо создать новый отсортированный отфильтрованный массив и все.
>>3385643 > есть python скрипт, который циклично выполняет свою задачу. Запускаю его через bat-файл Нахуя? В винде есть планировщик заданий. Запускай через него.
>>3386480 > в 2025г не иметь страницы вконтакте)))
Я с гейоси на линух в свое время ушел из за того что эта ос из линукса с человеческим лицом превращена в окукленную версию ios для десктопа. Линукс наоборот из саморазваливающейся хуйни превратился в нормальную операционную систему, с красивыми и функциональными UI. с понятно работающей и единой системой ярлычков и меню (XGD), с контейнерными приложениями .appimage, с протоном который все стимовские (и не только) игры запускает без проблем практически. есть системд демоны (аналог макосных лаунчд) есть фаирвол (которым можно наебать dpi провайдера) есть вайфай-блютус-4g нетворкинг через встроенный нетворкменеджер, есть запоминание сортировки размера расположения каталогов без всяких .DS_Store как в макоси, темные темы на любой вкус и апскейлинг.
Остались конечно и проблемы, но это мелочи по сравнению с тем что пидор очкастый предлагает своим пользователям. Про Windoшс Retard Edition даже вспоминать тошно
>>3386560 Мне впадлу спорить, единственное реальное преимущество линупса сегодня -- это нативный докер. Раньше в принципедокер был только под линукс по сути и сидеть на чем-то кроме него было безумием. Так что я пару лет был вынужден работать с него. Сейчас можно переехать спокойно на wsl с docker desktop'ами и жить не тужить
Почему питон не стал значимо быстрее во всех сценариях после отключения гила? Получается, проблема была не в нем? Если так, то в чем? Пыха тоже интерпретируемая, но быстрее питона.
Вскододауны, вам завезли такую генерацию кода: пишет func(), quick fix и нам генерируют определение функции? Это базовая фича,,отличающая иде от блокнота.
>>3388092 > после отключения гила? Какого отключения? Ты о чем вообще? Фритрединг это эксперементальная фича, которая непонятно когда готова будет > Почему питон не стал значимо быстрее во всех сценариях А в каких сценариях, кроме мультитрединга, он даже в теории мог стать быстрее? Ты вообще понимаешь что такое гил? > Получается, проблема была не в нем? Про какую нахуй проблему ты говоришь. Разберись сначала что такое гил, а потом вопросы задавай
Если мне нужно передать в метод класса аргумент таким образом как это на втором примере, то как заставить это работать, чтобы явно не писать например d4.roll(4), блядь, ибо смысл класса теряется, хули я могу тогда процедурно писать вообще. Кубики как пример ессесно.
>>3388197 > мне нужно передать в метод класса аргумент > но не передавать аргумент Чего блять? Вопрос сформулируй нормально. И в питоне переменные camelCase'ом не пишут, используют snake_case numberOfSides => number_of_sides А вот имена классов уже UpperCamelCase die => Die
>>3388165 >Какого отключения? Ты о чем вообще? Ногил в 13. >А в каких сценариях, кроме мультитрединга, он даже в теории мог стать быстрее? Ты вообще понимаешь что такое гил? Во всех. >Про какую нахуй проблему ты говоришь Про медленность питона епт.
При попытке вызвать a.my_method() получаем ошибку того, что нет требуемого позиционного аргумента. Получается инстанс класса не передаёт в метод some_arg, если указать аргумент явно a.my_method(x) то всё работает верно.
Так же вроде бы корректно работает конструкция вида:
Но вот как реализовать одновременно работу по аргументу, который мы передаём классу инстансу при создании, с возможностью сохранения явной передачи аргумента при вызове метода? Через попытку передавать в аргументы метода self.some_arg или через дополнительную переменную - вылезают ошибки.
И да я ковыряю питон и доки аж 5 час, мне просто нужно написать небольшой (строк на 4000) скриптик на питоне. И желания слушать "обучающий" гундёж на ютубе нет. По этому бест практикс, правильное форматирование кода и нюансы языка мне не ведомы, как-то так.
>>3388332 Так в чём проблема написать так: ....def my_method(self, some_arg = None): ........if some_arg if None: ............some_arg = self.some_arg ........do_something(some_arg)
>>3388317 > Ногил в 13 Какой ногил, это тестовая фича, которая параметром в билде устанавливается > Во всех. Значит ты еблан, который не знает что такое гил. Ты бы хоть минимально изучил вопрос, прежде, чем пукать что-то > Про медленность питона епт. В скольких компаниях был -- везде переезжали на питон для повышения производительности. А секрет очень прост -- внутри практически всех либ живет чистый си, который ебет даже плюсы по скорости, при этом позволяя разрабатывать раз в 10 быстрее, чем в случае чистого си >>3388332 Тебе уже написали вот тут как можно это решить >>3388357 Правда можно написать даже короче, но тут скорее на вкус и цвет ....def my_method(self, some_arg = None): ........some_args = some_args or self.some_args ........do_something(some_arg) Но ты уверен, что тебе это реально надо? Выглядит как хуйня ради хуйни плюс возможная протечка абстракции
>>3388380 >>3388357 Пасиб. Да к сожалению нужно, хотя возможно потом перепишу этот момент через какой-то адекватный интерфейс, но пока нужно заставить махорайку работать на уровне "хоть как-то".
>>3388380 >Какой ногил, это тестовая фича, которая параметром в билде устанавливается Ну так изучи вопрос, прежде чем базарить. Почему питон не стал значимо быстрее во всех сценариях после отключения гила?
>Значит ты еблан, который не знает что такое гил. Ты бы хоть минимально изучил вопрос, прежде, чем пукать что-то >Получается, проблема была не в нем? [не в гиле]
>В скольких компаниях был -- везде переезжали на питон для повышения производительности. А секрет очень прост -- внутри практически всех либ живет чистый си, который ебет даже плюсы по скорости, при этом позволяя разрабатывать раз в 10 быстрее, чем в случае чистого си Заржал.
>>3388391 > Почему питон не стал значимо быстрее во всех сценариях после отключения гила? Почему после релиза нового чатжпт не упали цены на квартиры в Москве?
>>3388775 Почему во многих проектах, таких как Джанго, стали переименовывать ветки из master в main после того, как сдох нигер уголовник и наркоман? До этого 20 лет всем похеру было.
>>3389298 ruff, как существительное, относится к жестко накрахмаленному оборчатому или плиссированному круглому воротнику из ткани, который носили в XVI и XVII веках
Есть программа на питоне в. exe формате, с сопутствующими скриптами в ее папке. Перестала работать, пишет, что отсутствует несуществующий файл (поиском проходил), что может быть? Питон обновлял, в архиве программы нету такого файла (infotor_2.py). Софт: вьювер оффлайн-версии сайтов в sql формате. https://drive.google.com/file/d/19E8UflBmd8OdGYvWytrX44MpE4DEH7HF/
Я ручной тестировщик. На джаве немного писал для себя,ооп понимаю. С первого взгляда синтаксис питона показался проще джавы. За месяца 2 смогу освоить полностью ?
>>3389717 Чел... у меня пивной животик, я хочу себе отчётливые шесть кубиков на животе, скажи за сколько я смогу их получить ходя в спортзал? Мне надо шоп прям вырисовывались и тёлки текли. Вот скажи, за какое время они появятся? При том, что у меня была пятёрка по физкультуре и я катался на велике.
>>3390019 В питоне ооп как в джаваскрипте, без приватных полей и методов, используй черточки: self._param1 self._myMethod1()
Сделано так потому что семантическое разделение проще как в реализации так и для программиста более выразительнее на самом деле, ибо позволяет без IDE от жидбреинс видеть что приватное а что нет.
Питон вроде как хотел быть легким простым, но даже несмотря на то что он разжирел тенденции таковы что вместо public private static protected abstract interface будет:
(async) function method(self_object, args...) //public (async) function name(args...) // static
>>3390019 Бредик не пишем. До приватных полей можно достучаться в любом языке с рефлексией(а это литералли все языки хоть сколько нибудь популярные). Так что если ты немного подумаешь, то задашь вопрос > Зачем во всех языках так сделано, что до приватных методов все равно можно достучаться? И ответ такой -- приват/паблик/протект методы это просто пометка для разработчика, не более. Есть одно функциональное назначение у приватных методов -- не допустить случайного переопределения метода в наследнике(допустим у тебя 50 уровней наследования и какой-нибудь метод self.update, который ты написал в своей реализации, может определяться каким-то из классов наследников и ты все сломаешь). Для такого в питоне есть name mangling с двумя нижними подчеркиваниями
>>3390126 Говно, ебало захлопни и сиди тихонько. Ты даже смог осознать о чем я написал. Пиздец, какой наглый вкатун, услышал краем уха какую-то рыготину, извалялся в ней и пришел в питонтред ей размахивать. Попустись
>>3390332 Говно, я же тебя сказал -- ты не понимаешь о чем вообще говоришь. 5 минут в гугле https://github.com/jwalton/babel-plugin-private-class-fields-to-public Но я не удивлен, как бы классические 3 пункта, по которым легко поймать за руку долбаеба: 1. Получить доступ к приватным полям нельзя 2. Ну, если уж и можно получить доступ к приватным полям, то чем больше действий нужно предпринять разработчику для получения доступа к приватным полям, тем безопаснее что бы это нахуй не значило код 3. Если ограничение доступов никак с безопасностью, то уж наличие private полей и сложность доступа к ним извне это и есть инкапсуляция
>babel-plugin-private-class-fields-to-public >There's this TC39 proposal to add private properties to javascript classes, which are "hard private" - you can't access them from other scopes. Вот же даун, пиздец
В джаваскрипте нет приватных полей, а если бы были как в джаве и пхп ты не можешь к ним обращаться чисто семантически, их нет в публичной области видимости, в этом их смысл.
>>3390492 Это недо-приват через спецсимвол (решетку) Чтобы компилятор просто бил по рукам когда вне метода объекта пытаются обращаться к таким полям. > В джаве и пхп точно так же обращаться можно Как "точно так же"?
>>3390499 > Это недо-приват через спецсимвол (решетку) А "недо" потому что тебе не нравится? > Чтобы компилятор Ты даже не представляешь насколько глубока кроличья нора в жсе, зачем ты споришь? > Как "точно так же"? Точно так же через рефлексию и интроспекцию
>>3391241 Все-таки осилил фризинг с pyinstaller (эта хуйня не любит мультипроцессинг и нужно вот так в импорте добавлять оный from multiprocessing import Pool, freeze_support ) Стало лучше, теперь вирустотал выдает 5/72
Наверняка очередной скриптикид наебенил говноскрапер и пытается за 3 копейки продать его кому-то. Нет чтобы вкатиться на три-четыре сотыги и дунасить целыми днями -- будет хуйней страдать и собирать экзешники на продажу
Питоняши, помогите разобраться. Пытаюсь, разобраться как лучше всего организовать работу функции, но нейросети мне дают разные ответы, не могу прийти к одному решению. Как это делается обычно?
Допустим, есть функция пик1, которая делает действие, но с двумя условиями. Код каждого условия не слишком большой, но уже достаточен, чтобы сделать рефакторинг.
Я могу пойти двумя путями: 1. Под код каждого условия создать две отдельные функции и вынести их в модуль на тот же уровень, что и управляющая функция. Пик 2. Причем тут я добавил нижнее подчеркивание в начало имени новых функций, чтобы показать, что они является "внутренними" и не предназначены для внешнего использования.
2. Сделать почти то же самое, что в предыдущем пункте, но разместить функции внутри самой управляющей функции. Пик 3
Попрошу не обоссывать меня, возможно с очень нубскими вопросами.
>>3392927 Забыл добавить, что в первом варианте меня смущает именно то, что само модуль будет "засорен" разного рода мелкими функциями. А при третьем варианте создается иллюзия кого-то порядка что ли.
Как делать принято обычно и как вы делаете чаще всего?
>>3392927 >пик1, которая делает действие, но с двумя условиями. Код каждого условия не слишком большой, но уже достаточен, чтобы сделать рефакторинг Я не вижу для этого причины.
>>3392985 >Я не вижу для этого причины. На самом деле причина есть, код в каждом условии уже довольно объемный и необходимость выделить уже сама навязывается.
>>3392985 Бро, вопрос тут не стоит делать рефакторинг или нет, для этого слишком мало данных. Вопрос стоит в том, как делать рефакторинг правильно из двух предложенных вариантов, ну или пусть с каким-то третьим вариантом.
>>3392989 В моём понимании не существует "правильного рефакторинга". Всё зависит от окружения. Если у тебя там всего < 500 строк, то фигачь, что угодно вообще. А если много кода, то зависит от окружающего кода. Глядя на 3 картинки, я вижу самое понятное на первой.
>>3392995 >А если много кода, то зависит от окружающего кода. Можешь предположить варианты? Первая часть понятна, что если кода мало, то можно делать как угодно, а если его много какие есть варианты?
>>3392927 Тебе надо сделать две функции вместо одной. У тебя принципиальная ошибка в том, что у тебя в принципе такая функция появилась. Если у тебя в зависимости от параметра функция начинает принципиально разно выполняться, то это две разные функции
>>3393293 >пик 1 делай максимально дотошно буквально чтобы как книгу можно было читать и выноси даже строчки, если оно тому надо Можешь пожалуйста развернуть мысль по этому примеру? Для меня это выглядит как пиздецовый огород, но судя по всему ты шаришь в этой теме, хотелось бы получить наставления.
Вот задачу берем простую тип например вывести самое большое число, не кратное 3 На вход похуй какой массив
Описываем словами сначала шаги
""" Создаем переменную result, даем ей значение -1 тк -1 это обычно принято, что ответа нет в задаче Сортируем массив по убыванию По каждому элементу проходим, пока не найдем не кратное трем Результат равно найденному числу Вернуть результат """ Почти каждое предложение/ шаг - функция. Показываем что принимает и чему присваивается ее результат (создаем - переменные, поэтому не считается за функцию)
""" Создаем переменную result, даем ей значение -1 тк -1 это обычно принято, что ответа нет в задач
Сортированный массив = Сортируем массив по убыванию(массив)
Первое число не кратное трем = По каждому элементу проходим, пока не найдем не кратное трем(сортированный массив)
Результат равно найденному числу
Вернуть результат """
Переводим в английский, сокращая название чтобы не было тотальный пиздец в 40 символов + обьявлем переменные
""" result = -1 sorted_massive(array) = sorting_array(array) first_not_for_three = find_first_not_for_free(sorted_massive) result = first_not_for_free return result """
В итоге у нас появилось тело алгоритма рабочего, но нужно сделать еще 2 функции низшего уровня sorting_array(array) и find_first_not_for_free(sorted_massive)
Там также описываешь что она должна делать sorting_array(array) тут в питоне можно сразу sorted() или .sort() юзануть ТК язык позволяет, в других языках надо алгоритм подробнее описывать тк там нет такого и руками надо сортировать
В find_first...(Sorted_massive) Берем элемент Если он не кратен 3 то return элемент
>>3393410 А ну и главное помни, что функции, которые ты делаешь в ходе алгоса своего (низшие функции) стоят сверху по коду, поэтому как огород может выглядеть и то не идеально
>>3393410 Не занимайся хуйней. Если у тебя функция в зависимости от параметра принципиально меняет свое поведение, то это хуйня. Этим просто невозможно пользоваться. По своему опыту гигасеньора рассказываю как будет через 10-20 часов разработки: 1. Окажется, что для апдейта нужно передать ещё 4 отдельных аргумента в конструктор, а для серча 6 аргументов, чтобы сделать фильтры. По итогу, у тебя будет монструозная функция с 15 аргументами, причем при вызове функции нужно передавать разный набор аргументов в зависимости от action. Эта хуйня постоянно будет падать, так как где-то не передал одно, где-то не передал другое. Где-то не поставил значение по умолчанию и половина функций отвалилась, а вторая половина отработала. 2. При апдейте возникает исключение, если поля конфликтуют друг с другом, а при некорректных фильтрах возникает уже свое отдельное исключение. По итогу, на каждый пук ты будешь писать 30 строк try except. Где-то вызвал функцию и забыл поймать какое-то исключение, где-то поймал слишком общее исключение и не смог нормально обработать его 3. Апдейт стал возвращать объект питона, а серч массив строк. По итогу, при каждом вызове тебе нужно проверять тип данных, которые тебе вернулись. Постоянно все отваливается, то у тебя приезжает массив туда, где ждали просто объект, то получаешь объект, когда ждали массив. И это ещё простая структура, если не повезет, то будет вложенный словарь словарей, где одна только валидация типа, который вернулся, будет занимать 100 строк.
>>3395292 Обычная функция? У тебя как минимум 5 разных интерфейсов вызывается. Ты удивишься, но в эту "обычную функцию" с названием sum_array я могу запихнуть словарь, а на выходе получить массив словарей. Конечно, это нихуя не простая задача jit это скомпилить
>>3395791 Чел, если что, там изначально можно просто сделать sum(a) и не писать никакую функцию. Тут речь именно про numba и ее внутренние оптимизации, которые видимо довольно хуевые(я не особо шарю), но возможно дело в том, что чел использовал тип данных из нампая, а не из ctypes, но я не настолько хорошо знаком с исходниками спитона
>gradual typing Слабоват 1) дженериковых типов нету в рантайме 2) майпай не очень может в паттерн матч Чё там планируют как-то в эту сторону двигать язык?
Прошаренный анон, который делал авторизацию через ЕСИА, дай ссылку (или напиши свой опыт) где нормально можно прочитать про способы авторизации. Хочу прикрутить для одной госсистемы cli, а то я заебался вручную там работать.
Доброго. Подскажите пожалуйста, почему не применяются миграции... Мне нужно слепить свою бд в postgresql к джанго проекту.
проверил работу проекта. Сервер запускается. Но при смене бд (с sqlite по умолчанию) консоль ругается и высирается мне на голову ошибки. Что может быть?
Ошибки Traceback (most recent call last): File "A:\all_for_project\.venv\myshop\manage.py", line 22, in <module> main() ~~~~^^ File "A:\all_for_project\.venv\myshop\manage.py", line 18, in main execute_from_command_line(sys.argv) ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "A:\all_for_project\.venv\Lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line utility.execute() ~~~~~~~~~~~~~~~^^ File "A:\all_for_project\.venv\Lib\site-packages\django\core\management\__init__.py", line 436, in execute self.fetch_command(subcommand).run_from_argv(self.argv) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "A:\all_for_project\.venv\Lib\site-packages\django\core\management\base.py", line 413, in run_from_argv self.execute(args, cmd_options) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "A:\all_for_project\.venv\Lib\site-packages\django\core\management\base.py", line 459, in execute output = self.handle(args, options) File "A:\all_for_project\.venv\Lib\site-packages\django\core\management\base.py", line 107, in wrapper res = handle_func(args, kwargs) File "A:\all_for_project\.venv\Lib\site-packages\django\core\management\commands\migrate.py", line 118, in handle executor = MigrationExecutor(connection, self.migration_progress_callback) File "A:\all_for_project\.venv\Lib\site-packages\django\db\migrations\executor.py", line 18, in __init__ self.loader = MigrationLoader(self.connection) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "A:\all_for_project\.venv\Lib\site-packages\django\db\migrations\loader.py", line 58, in __init__ self.build_graph() ~~~~~~~~~~~~~~~~^^ File "A:\all_for_project\.venv\Lib\site-packages\django\db\migrations\loader.py", line 235, in build_graph self.applied_migrations = recorder.applied_migrations() ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "A:\all_for_project\.venv\Lib\site-packages\django\db\migrations\recorder.py", line 89, in applied_migrations if self.has_table(): ~~~~~~~~~~~~~~^^ File "A:\all_for_project\.venv\Lib\site-packages\django\db\migrations\recorder.py", line 63, in has_table with self.connection.cursor() as cursor: ~~~~~~~~~~~~~~~~~~~~~~^^ File "A:\all_for_project\.venv\Lib\site-packages\django\utils\asyncio.py", line 26, in inner return func(args, kwargs) File "A:\all_for_project\.venv\Lib\site-packages\django\db\backends\base\base.py", line 320, in cursor return self._cursor() ~~~~~~~~~~~~^^ File "A:\all_for_project\.venv\Lib\site-packages\django\db\backends\base\base.py", line 296, in _cursor self.ensure_connection() ~~~~~~~~~~~~~~~~~~~~~~^^ File "A:\all_for_project\.venv\Lib\site-packages\django\utils\asyncio.py", line 26, in inner return func(args, kwargs) File "A:\all_for_project\.venv\Lib\site-packages\django\db\backends\base\base.py", line 279, in ensure_connection self.connect() ~~~~~~~~~~~~^^ File "A:\all_for_project\.venv\Lib\site-packages\django\utils\asyncio.py", line 26, in inner return func(args, kwargs) File "A:\all_for_project\.venv\Lib\site-packages\django\db\backends\base\base.py", line 256, in connect self.connection = self.get_new_connection(conn_params) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "A:\all_for_project\.venv\Lib\site-packages\django\utils\asyncio.py", line 26, in inner return func(args, kwargs) File "A:\all_for_project\.venv\Lib\site-packages\django\db\backends\postgresql\base.py", line 332, in get_new_connection connection = self.Database.connect(conn_params) File "A:\all_for_project\.venv\Lib\site-packages\psycopg2\__init__.py", line 135, in connect conn = _connect(dsn, connection_factory=connection_factory, *kwasync) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 61: invalid continuation byte
объясните новичку как активировать окружение в терминале python? Сделал проект, захожу заново и непоулчается, пробовал много чего. Разобрался как это делается через PowerShell, НО как блять это сделать просто в терминале Python? Без всякой магии и чего там. Основной код лежит в папке new_project, окружение в new_project\myenv. ОС window 11
>>3396107 > 1) дженериковых типов нету в рантайме Ты ведь понимаешь чем тайпинг от статической типизации отличается? Дам подсказку -- загугли что такое статический анализатор кода и чем он отличается от компилятора >>3397565 Там вроде бы тот же самый OAuth2.0, погугли гайды на эту тему >>3397620 Ну вроде же четко написано, что у тебя стринга коннекта кривая >>3397653 new_project\myenv\Scripts лежит куча файлов активаации для любого окружения. Батник для cmd, ps1 для повершела. Но блять вообще значит > как блять это сделать просто в терминале Python ? Это что за набор слов вообще?
Хочу подключиться к сайту TLS и получаю ошибку ssl_handshake. Там перед соединением с ресурсом должна идти проверка пользовательского сертификата на токене. Не могу заставить selenium запрашивать через плагин серт. Есть кто шарит?
Дипсик написал мне бота для пересылки сообщений из тг-каналов мне в лс и через некоторое время я словил бан за флуд на 40 дней. На пике совет от него. Что скажешь? Я уже хз, доверять ли ему?
Дополни контекст правилами, которые ты нарушил, если они есть в письменном виде. Может быть там есть что-то конкретное, например "нельзя отправлять более 1001 сообщений в час, иначе мы расценим это как флуд и отправим Вас в бан". Или добавь причину бана, если тебе написали, в чём заключался твой "флуд". И потом снова заставь ai-падавана с обновлённым контекстом поправить код.
Сразу говорю, питон не знаю, пытаюсь запустить чужой скрипт, при попытке установить нужный для работы пакет выдает кучу подобных ошибок: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. httpx 0.23.3 requires httpcore<0.17.0,>=0.15.0, but you have httpcore 0.17.3 which is incompatible. fastapi 0.101.0 requires starlette<0.28.0,>=0.27.0, but you have starlette 0.30.0 which is incompatible. Вроде раньше когда-то такого не было. Или Python стал очередным языком с неразрешимыми зависимостями, скрипты на котором можно запускать только на машине, где их писали (как руби)?
>>3404460 pip install -r requirements.txt в помощь, ну или через что там зависимости у тебя ну и виртуальное окружение используй, а не с винды своей запускай
А как выглядят собесы на сеньку питониста вообще интересно? Вам задают вопросы ПАКИШОЧКАМ, типа как что-то там реализовано на плюсах под капотом или чисто по библиотечкам?
Легко. Без каких либо собеседований просим соискателя решить задачу и выслать решение в github. Задача такая - Допустим, есть у нас посты. У каждого поста может быть много репостов. И у репоста могут быть репосты, и так далее. Необходимо посчитать кол-во репостов каждого оригинального поста. В таблице лежат десятки миллионов записей.
Если у меня плохое настроение и припёрся соискатель вживую, то я обычно даю бумажку и карандаш и прошу написать функцию, которая инвертирует односвязный список.
>>3404133 Какая же хуета, господи. Какой-то нахуй фасад нагородили, это просто охуеть. Не пробовал загуглить что это нахуй значит, прежде, чем использовать? Ну и в голос с КОДОВ ОШИБОК нахуй, это уже совсем нахуй за гранью. Пиздец, уноси эту хуйню и переписывай заново
>>3404722 По разному, почти всегда просят написать декоратор с параметром и что-нибудь про индексы в бд спрашивают. А все остальное совершенно произвольное может быть от обсуждения системы коммитов в кафке и невозможности exactly once и до того, как gc работает в питоне(бтв довольно популярный вопрос, так как gc в питоне это не совсем тоже самое, что в других языках).
Сап, подскажите, что делать с пик1? Пытаюсь накатить провайдеры на аирфлоу (пик 2) и такое возникает из-за amazon. Причем до этого запускал уже и все вроде нормально было. Ну и на всякий случай докерфайл (пик 3). Гпт толкового ничего не подсказал
>>3403574 > >Дипсик написал мне бота для пересылки сообщений из тг-каналов мне в лс и через некоторое время я словил бан за флуд на 40 дней. >На пике совет от него. >Что скажешь? Я уже хз, доверять ли ему? Доверять ему? Да ты, бля, себе не доверяй, пока не научишься думать головой, а не жопой. Закрой рот, иди почитай документацию, и не позорься.
Пидоры из JetBrain что-то сделали с PyCharm'ом. Переехал с pycharm-community-2024.3.1.1 на pycharm-professional-2024.3.2 ну и где посветка несоблюдения pep8? Раньше он меня предупреждал даже когда я поставлю одну пустую строку между функциями, сейчас же просто молчит. Даже на длину строки ему наплевать. На всё стало наплевать. Он так сильно стал похож на VSCode, до блевоты просто. Это же заточенный под Питхон инструмент, почему я должен лезть в настройки и выставлять всю эту блядоту как было, словно я в VSCode, который нужно выдрочить плагинами, прежде чем он начнет нормально работать. Да еще и искать где это было.
Может быть у анончика есть какой-то мануал, с помощью которого я могу поставить такие же настройки, как в прошлой версии PyCharm? Помоги пожалуйста.
>>3409148 Похоже, что у вас возникли проблемы с настройками инспекций и проверки кода в PyCharm Professional. Вероятно, после перехода на новую версию или смены редакции, настройки могли сброситься или измениться. Давайте попробуем восстановить функциональность, которая была в Community-версии.
### 1. Проверка включения инспекций PEP 8 - Перейдите в `File` → `Settings` (или `Ctrl+Alt+S`). - В разделе `Editor` → `Inspections`. - Убедитесь, что включена инспекция `PEP 8 coding style violation`. Она должна быть активна и настроена на ваш вкус (например, проверка длины строки, отступов, пробелов и т.д.).
### 2. Проверка настроек форматирования - Перейдите в `File` → `Settings` → `Editor` → `Code Style` → `Python`. - Убедитесь, что настройки форматирования соответствуют PEP 8. Например: - `Hard wrap at` (длина строки) — обычно 79 или 120 символов. - `Blank lines` — настройте количество пустых строк между функциями и классами.
### 3. Проверка включения автоматической проверки PEP 8 - Перейдите в `File` → `Settings` → `Tools` → `File Watchers`. - Убедитесь, что у вас включен watcher для автоматической проверки PEP 8 (например, через `autopep8` или `flake8`).
### 4. Проверка использования внешних линтеров - Если вы используете внешние линтеры (например, `flake8`, `pylint`), убедитесь, что они установлены и настроены в PyCharm. - Перейдите в `File` → `Settings` → `Project` → `Python Interpreter`. - Убедитесь, что нужные пакеты (`flake8`, `autopep8`, `pylint`) установлены. - Затем перейдите в `File` → `Settings` → `Tools` → `External Tools` и настройте их использование.
### 5. Проверка настроек цветовой схемы - Если подсветка ошибок и предупреждений пропала, возможно, проблема в цветовой схеме. - Перейдите в `File` → `Settings` → `Editor` → `Color Scheme` → `General`. - Убедитесь, что цвета для `Errors and Warnings` настроены и видны.
### 6. Сброс настроек (если ничего не помогает) - Если ничего из вышеперечисленного не помогло, попробуйте сбросить настройки PyCharm: - Закройте PyCharm. - Удалите или переименуйте папку с настройками (обычно находится в `~/.config/JetBrains/PyCharm2024.3` на Linux или `~/Library/Application Support/JetBrains/PyCharm2024.3` на macOS). - Запустите PyCharm снова — настройки будут сброшены до стандартных.
### 7. Проверка версии PyCharm - Убедитесь, что вы используете актуальную версию PyCharm Professional. Иногда проблемы могут быть связаны с багами в конкретной версии. Попробуйте обновиться до последней версии.
Если после всех этих шагов проблема не решится, возможно, стоит обратиться в поддержку JetBrains или обсудить это на их форуме. Они обычно оперативно реагируют на такие запросы.
P.S. Если вам не нравится поведение PyCharm Professional, всегда можно вернуться к Community-версии — она бесплатна и имеет большинство необходимых функций для разработки на Python. 😊
>>3409248 >### 1. Проверка включения инспекций PEP 8 Спасибо, анончик, как я не догадался сразу спросить у какой-нибудь гопоты, сейчас попробовал, она даже на мой оригинальный пост написала. >Понимаю твоё раздражение — переход на новую версию PyCharm Professional 2024.3.2 явно подкинул неприятных сюрпризов с подсветкой PEP8 Держи котиков.
Спите вкатуны? Спите и видите как получаете 300к наносек говнокодя на таком чудесном и простом языке как Питон.
А я вот сплю и вижу как выкатываюсь из этого чудо языка ибо заебало ходить по собесам и бороться за жалкие копейки с сотнями таких же неудачников.
10 лет опыта, знание сотен либ. базы, очереди, паттерны, микросервисы. Десятки прочитанных книг, куча интересных проектов в портфолио, опен сорс на гитхабе... И знаете что?
Меня нахер не завут на собесы даже за жалкие 250К вечно деревянных.
А на что вы надеетесь?
Вот я и принял решение перекатываться в другой язык. Да можно сейчас напрячься, доказать всему свету, что не слабак, найти очередную работу на питончике но через 1.5-2 года, когда я с нее уволюсь ситуация будет еще хуже и моя ЗП будет еще меньше. Так что питон это уже бесперспективная тема.
А знаете что? Это даже к лучшему, что Петухон погиб. На свете полно классных языков, которые учли ошибки своих предшественников и на них писать куда приятнее...
>>3409248 Мне вот любопытно. Только у меня PyCharm с версии 2024.3 проводит проверку на нарушения PEP 8, но никаких предупреждений не показывает (пик стронгли релейтед): Settings: Editor -> Inspections -> PEP 8 coding style violation (No highlighting) Если это нововведение, то какой тогда интересно в этом смысл, чтобы не ебать мозги человеку, а просто все тихо чинить при Ctrl+Alt+L?
>>3409470 > На свете полно классных языков, которые учли ошибки своих предшественников и на них писать куда приятнее... Расскажи мне про язык на котором также приятно в нейросети, бэк, парсинг и решение разных рутинных задач.
> 10 лет опыта, знание сотен либ. базы, очереди, паттерны, микросервисы. Десятки прочитанных книг, куча интересных проектов в портфолио, опен сорс на гитхабе... И знаете что? Сдается мне, что ты напиздюнькал нам, обманул, ввел в заблуждение, сказал неправду, не был с нами честным.
>>3409505 >Расскажи мне про язык на котором также приятно в нейросети, бэк, парсинг и решение разных рутинных задач. ага, и в вакансия теперь тоже требуют и бэк и машинное обучение (и фронтенд в придачу), ну а хуле, язык то все позволяет, зачем нескольких специалистов нанимать, Антошка Сычев вон все сделает. Только вот, что это совершенно разные области кабанчику пофиг.
>Сдается мне, что ты напиздюнькал нам, обманул, ввел в заблуждение, сказал неправду, не был с нами честным. боюсь, что даже самую малость не наебал, как на духу все выложил, аки перед боженькой исповедался.
А вы в курсе, что рекрутеры палят, что вы опыт крутите? Хрюши давно сидят в ЦРМ-ках, которые собирают базу резюме, и в этой базе видно историю изменения резюме. А так же "отзывы" и дополнительные фильтры, чтобы автоматом отказывать.
>>3409470 Как ты с таким опытом и стеком не можешь найти даже 250к, когда я работая auto qa макакой со стеком pytest/grpc/selenium/requests/allure получаю 360? наебалово какое-то, либо тебе надо поправить резюме и прокачать скилл собесов.
>>3409470 Когда же до вас дойдет.. дело не в языке. Просто вас стало так дохуя, что работодателю нет теперь смысла платить тебе 250к. Желающих работать за 100 - сотни. Таких же как ты и даже лучше. И среди них выбирают.
>>3409989 >Просто вас стало так дохуя но не сразу понимаешь насколько дохуя. у меня буквально все знакомые скуфы понабрали кредитов и прошли питон курсы.
Вкатунам я искренее советую изучить, что на западе актуально и ТОЛЬКО НАБИРАЕТ популярность. и вкатываться туда. В Rust какой-нибудь или Zig или хуй знает во что еще.
Ну и конечно не забывать, что нейросети не дремлют и уже сейчас способные писать вполне себе большие куски кода лучше чем мидл разработчик.
>>3410042 На западе пару лет назад толпы разработчиков выгнали нахуй на мороз, в том числе и пидорастеров из мозилы. В отрасли кризис, она была изначально раздута как по штатам так и по капитализации, все последние года айти-сектор держался на сказках инфоцыган что вкладываю сюда вы вкладываете в гугл в 2001.
>>3410042 >Вкатунам я искренее советую изучить, что на западе актуально и ТОЛЬКО НАБИРАЕТ популярность. и вкатываться туда. В Rust какой-нибудь или Zig или хуй знает во что еще. Ебать дебил.
Даже Wildberries туда же - ищут питониста со знанием реакта. Казалось бы - серьезная компания не должна такой хуйней заниматься, у нее миллиардные обороты, что нельзя что ли 2 разработчиков нанять.
Долго не мог понять почему мне отказывают и не зовут на тех собесы хотя я по навыком идеально подхожу и всего 250тр прошу...
Сегодня убрал зарплату в резюме и мне наконец ответили с Контура: >Спасибо большое. Я хочу внести ясность отнсительно наших вилок. >Верхняя граница оклада сеньора 240 на руки + премии, в среднем по году >до 280 на руки. Но по нашей матрице верхняя граница сеньора - это >почти TechLed. Граница мидл+/сениор ЗП до 190 на руки, с премиями >средняя по году около 215.
Контур — экосистема для бизнеса. Наши сервисы помогают каждой третьей компании России делать рабочие процессы проще и эффективнее: вести бухгалтерию, сдавать отчетность в госорганы, обмениваться документами без бумаги, общаться друг с другом на удаленке и многое другое. С нами жизнь 2,5 млн предпринимателей и их сотрудников становится легче. Вот такая маленькая и бедная компания Контур, понять и простить... https://career.habr.com/companies/skbkontur
>>3410357 А нахуй ты там за 250 тыр нужен? Питонистов и жаваскриптеров на рынке как собак нерезанных, а рыночек айти в рф схлопывается и режется. Сеньки за 30 тыр за забором стоят, лучше их взять чем такого важного синьора как ты.
>>3410478 Да не перетолстил. Только сегодня обсуждал аутстафферские направления. На одну вакуху с распространными технологиями типа Реакта за час набирается 50 вакансий. Ждать что тебя охуенного примут и дадут 250к+ я бы не стал. Особенно без собственного бренда.
>>3409470 Ну я вот на работе в процессе перехода с питона на гоуленг. Думаю дело не в питоне, а в том, что бекенд на нем писать сложновато. Без pydantic+mypy проект становится говном буквально мгновенно. Потом его очень больно поддерживать. Я вот на поддержке питон легаси хуитки сидел и это полная параша. Динамикродрисня на бекенде это вообще зло я считаю.
Собственно поэтому сейчас все на гоуленге и жабе делается. Новых проектов в бекенде где-нибудь в бигтехе на питоне или ноде исчезающе мало. Но много помойного легаси, которое надо поддерживать или переписывать на что-то адекватное типизированное.
>>3409505 Питон как раз хорош для универских лаб и курсачей. В универе я на нем делал практически все. Потому что очень быстро и удобно. Но для продовых решений в энтерпрайзе питон не годится, получается говно практически всегда и везде.
>>3411327 База анончик, вот я 7 лет назад по той же причине из PHP в Python перекатился. Теперь ситуация повторяется - теперь на Python в России мало новых проектов.
Сам уже 2 месяца вкатываюсь в гошечку. Очень нравится, особенно канкаренси по сравнению с питончиком как глоток свежего воздуха пива.
Сколько времени у тебя занял перекат и какой стек на проекте? Все на станддартных компонентах или используете орм\фремворки?
>>3411675 > >Сколько времени у тебя занял перекат и какой стек на проекте Мне прям на работе дали новый проект и сказали его на Го делать.
Перекат занял ну довольно мало, я го тур прошел за неделю, еще всякие материалы почитывал параллельно. Го довольно простой язык. Сложное в нем это наверное все что вокруг канкарренси, я его по верхам изучил и в кишки пока что еще не лез.
>>3411675 >Все на станддартных компонентах или используете орм\фремворки Да, по большей части все стандартное используем. Фреймворки вроде gin и DI контейнеры по типу uber/fx не брали - все сами пишем. Используем обычный net/http вместе с chi. Орм еще не брали, используем сейчас sqlx + pgx для постгри. Может быть gorm попробуем затащить в один из микросервисов и в дальнейшем будем с ним жить.
Какие посоветуете книжки или курсы для совсем вкатышей? Интересно начать, но не знаю как подступить. Желательно конечно не совсем старые, а актуальностью в год-два. Уже имею некоторых опыт на Powershell и Bash, немного в SQL могу.
>>3412247 Я начинал с Python crash course, нормальная книжка. Хотя, если есть кое-какой опыт, то возможно слишком нубская. Я года 3 назад с неё начинал, щас уже вкатился.
>>3412247 С начала можешь любую книгу выбрать, я читал "Простой питон" так как Лутц дает слишком много подробностей и тонкостей, для новичка это лишнее.
Есть задача сделать веб портал, что-то типа магазина, с товарами, личным кабинетом, отзывами итд Писать с нуля на Джанго точно не хочу, тк хуёво шарю во фронте. Думаю взять готовую CMS, а в ней уже потом допиливать нужные свисто-перделки. Что лучше взять? Вроде как везде хвалят wagtail. А еще есть django cms, она вроде мощнее и больше свободы, но по ней в разы меньше документации.
>>3412600 Это для совсем вкатыша ты такие книги выбрал? Давай тогда сразу завтра ищешь в интернете книжку Dive into python. Пофиг если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблѣдков / просто неудачников типа рейфага или сисярп/джава-удососов, которые сосут уд по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>3412880 Ты сам написал >для совсем вкатышей Паскаль решает конкретную проблему - обучение программированию. Питон решает другую(е) проблему(ы), питон тебе не нужен.
Бля, это реально все так >>3404133 эндпоинты пишут? А нахуя? Почему нельзя ПРОСТО прописать так, как предлагается в доке? В этом есть какой-то практический смысл?
>>3407152 >По разному, почти всегда просят написать декоратор с параметром и что-нибудь про индексы в бд спрашивают. Литералли то же самое, что у меня на джуна спрашивают на собесах.
Подкиньте материальчика как нормально писать на питоне, современно, модно, молодежно. Я перекатился с плюсов и код у меня выходит архиуебищным, с кучей классов, абстракций, иерархиями, попытой в метаклассы. Но все либы на питоне которые я читаю написаны по-другому, более кратко, плоско, емко. Короче нихуя не понимаю идеологию питона.
>>3413006 Потому что писал обезумевший от паттернов и солида клинкодокретин. За такую хуйню в нормальной команде переломают колени и отправят переписывать
я придумал новый синтаксис. можно будет создать переменные, которые устанавливаются только при первом вызове функции и в дальнейшем будут видны только этой функции. это нужно чтобы не создавать внешних переменных, коротким способом.
def say_hi_once()[done: False]: if not done: done = True print("hi")
>>3416015 Конечно! Ваш код имеет несколько ошибок, которые нужно поправить, чтобы он работал корректно: input() возвращает строку, а нужно число. Переменная n используется в цикле for, но вы хотите повторить цикл n раз — значит, нужно привести n к int. Внутри цикла нужен отступ. Комментарии или пояснение могут помочь "домохозяйке" разобраться, что происходит.
Вот исправленный и понятный вариант:
x = 0 n = int(input("Введите количество месяцев: "))
for i in range(n): (отступ)x = (x + 33000) * 1.0167 # добавляем 33000 и прибавляем 1.67% ежемесячно
print(f"Итоговая сумма: {x:.2f} руб.")
Пример: Если ввести 12, то это значит "в течение 12 месяцев мы добавляем по 33000 и начисляем 1.67% ежемесячно".
Если что-то нужно упростить или сделать интерфейс ещё понятнее — могу помочь.
>>3416182 Благодарю за предоставленный ответ! Ваше пояснение оказалось весьма полезным: вы корректно указали на необходимость приведения input() к int, добавления отступа в теле цикла и уточнили логику расчёта. Также ценю комментарии, поясняющие происходящее в коде — это действительно помогает лучше понять процесс. Спасибо за помощь!
У меня небольшой скрипт на питоне для приема сообщений из телеги. Есть ли какая-то разница в скорости работы между запуском скрипта из вижуал кода и напрямую?
Ананасы, помогите, пожалуйста. Я не Питонист, ничего про язык и его фреймворки не знаю. Проблема такая: есть Python приложуха на Гитхабе, которую я хочу установить. Она подтягивает зависимости через pip. Однако мне важно, чтобы она была полностью самодостаточна, чтобы рут папку можно было переименовать или перенести по новому пути, на новый компьютер, без дозагрузок через pip. Какой лучше подход использовать? Пробовал создавать venv и устанавливать все туда, но там суровый хардкод путей. Даже вручную пути заменял все, все равно что-то ломается. Пробовал создавать новый venv, переносить туда папку Lib из старого, но тоже что-то не так. Походу нужно как-то каждый pip package заново устанавливать в новую директорию, а не просто файлы мигрировать. Что делать, куда копать? Буду рад, если выручите, а то я уже голову сломал. В идеале вообще батник какой-нибудь собрать, который будет "мигрировать" venv с одного пути на другой и пересобирать всё как надо.
>>3416960 То что ты ищешь скорее всего называется Nuitka и позволяет запаковать приложение как бинарник. Если хочется избежать, то можно попробовать uv, но не обещаю что получится.
>>3416962 С бинарником сразу мимо, ибо важно оставить файловую архитектуру как она есть и есть возможность пуллить приложуху с Гитхаба. Про uv сейчас почитаю, спасибо.
Начал проходить курс по этому вашему питону и сращу вопрос, нахуя столько условий для переменных? И какого хуя они зависят от регистра? Вот в том же Powershell все намного проще и логичнее
Аноны помогите пж. Есть таблица SQL, всего на 7 строчек. Создал функцию (собственную, def). Таблица SQL - это исходные данные для этой функции. С помощью multiprocessing запустил параллельно 7 процессов (то есть как бы 7 экземпляров моей функции), но из 7 строчек исходной таблицы тот процесс, который соответствует строчке с id = 7 ниху не робит. А когда его отдельно запускает - то все окей. Блять ума не приложу, перегуглил все че можно нах. Как такое может быть? Если этот процесс в одиночку запускать, то все ок. В функции ошибки быть не может, ведь она единая для всех процессов
Ты прав, что данный код исповедует и solid и применяет паттерны и это python style вменяемых кодеров, что для обычных нормальных команд в твоём заштатном мирке, это предел понимания.
Недавно был на собесе и лид сказал, что он терпеть не может хранимые процедуры и на проекте их быть не должно.
А теперь я задумался, а что тогда делать есть нужна транзакция с несколькими запросами, ведь делать такое на стороне бекенда означает пиздец производительности:
1 накладные расходы на ввод вывод между бд и бэком. 2 в точках await происходит прерывание и пока корутина не возобновит работу транзакция простаивает блокируя строки в бд.
Или я не прав и сплошь и рядом транзакции пишут на стороне бекенда? (на сам псевдокод внимания не обращайте, он нужен только для демонстрации концепции).
>>3419829 Транзакция должна вызываться за один запрос. Если у тебя в бд есть хранимка, что мешает ее запрос разом послать, без промежуточных получения данных и новых запросов?
Транзакция, в которой бек получает промежуточный запрос и отправляет следующий в рамках одной транзакции, это конечно срань какая то.
>>3419829 >в точках await происходит прерывание и пока корутина не возобновит работу транзакция простаивает блокируя строки в бд. Ну так ты несколько обработчиков питона запускай. У тебя один сервер что-ли?
"лид" прав в том, что хранимые процедуры создают горячее немасштабируемое место в районе сервера БД, а вот масштабирование бэнкедов более-менее подъемное и встречающееся дело. С другой стороны, может он просто не знает pl/sql
>>3419829 >в точках await происходит прерывание и пока корутина не возобновит работу транзакция Кстати, тут ты не прав. Залипание транзакции возникает на сетевом вызове, так что никаких проблем с масштабированием не будет. Если ты конечно все технологично написал и юзаешь библиотеку с поддержкой async io
Я уже не знаю как эту головоломку решить и скорее всего этот вопрос по большей части не к самому питону, а к архитектуре, но все же спрошу Есть главная программа, которая порождает процессы(через multiprocessing) и она должна ИНОГДА прослушивать, нет ли от них сообщений(через Pipe), а также иногда сама отправлять какие-то команды эти процессам. Но эта "главная программа" также должна слушать запросы по REST API, и реагировать на них. Проблема заключается в том, что во всех этих фреймворках есть главный цикл, где и происходит все основное для этих фреймворков, а мне надо, чтобы (пик1) тоже мог опрашивать процессы/отправлять им данные и тд. Вот например(пик2) во Flask, просто есть метод которые вызывается, когда запрос является "/", я никак не могу тут дополнительно прослушивать дочерние процессы и тд получается мне надо свою миниреализацию через сокеты и socket.poll() делать или как? Надеюсь понятно выразился, сложно такое объяснить
Пусть рест запросы тоже в очередь пишут (в редис например или реббит) и главная программа читает в бесконечном цикле из этой очереди и пишет в пайпы. Можешь какой нибудь миделвере сделать чтобы данные по каждому рест запросу срать в очередь.
а если производительность не важна и ты не будешь масштабировать рест хендлеры то можешь на asyncio сделать, там и процессы можно ждать с await.
>>3375388 > Ну и в дата саенсе используется, но как дополнительный инструмент А это не с любым языком так? Ну в смысле что изучать надо не язык, а какую-то область, в которой этот язык - инструмент?
Аноны, готовы выполнить тестовое? на выполнения дается 1 неделя, а случае успеха у вас будет шанс попасть на собеседование!
Техническое задание на позицию Middle Backend-разработчика в компанию WinDI Описание проекта Разрабатываемый продукт — мессенджер с возможностью обмена сообщениями и создания групповых чатов, аналогичный Telegram. Кандидат должен продемонстрировать уверенные знания в: - Python (FastAPI, asyncio); - SQLAlchemy (ORM, асинхронные операции); - Веб-сокетах (реализация real-time взаимодействия); - Docker и Docker Compose (развертывание сервиса в контейнерах); - Предотвращении дублирования сообщений при параллельной отправке. Тестовое задание Задача: Разработать мини-приложение, реализующее функционал чата с возможностью отправки сообщений, их хранения в базе данных и создания групповых чатов. Функциональные требования 1 Чат (WebSocket) - Реализовать подключение пользователей через WebSocket. - Обмен текстовыми сообщениями между пользователями в реальном времени. - Возможность создания групповых чатов. - Сообщения должны сохраняться в PostgreSQL. - Каждое сообщение должно содержать: - ID сообщения - ID чата - ID отправителя - Текст - Время отправки - Признак прочитанного сообщения - Реализовать обработку статуса "прочитано" (отправитель получает уведомление, когда сообщение прочитано получателем или всеми участниками группы). - Предотвращение дублирования сообщений при параллельной отправке. 2 История сообщений - Реализовать REST-эндпоинт для получения истории сообщений по ID чата: - Метод: GET /history/{chat_id} - Параметры запроса: chat_id — ID чата (обязательный параметр), limit и offset для пагинации (опционально). - Сообщения должны быть отсортированы по времени отправки (по возрастанию). Технические требования 1 Backend: - FastAPI для реализации REST API и WebSocket. - Асинхронная работа через asyncio. - PostgreSQL как основная база данных. - SQLAlchemy (использование ORM, асинхронные запросы). - Контейнеризация (Docker, Docker Compose). - Автоматическая документация (Swagger / OpenAPI). 2 Структура базы данных: - users (id, имя, email, пароль). - chats (id, название, тип: личный/групповой). - groups (id, название, создатель, список участников). - messages (id, chat_id, sender_id, text, timestamp, прочитано). Ожидаемый результат 1 Репозиторий на GitHub с: - Исходным кодом проекта. - Файлом README.md, описывающим: запуск проекта через Docker, примеры API-запросов, команду для создания тестовых данных. 2 Рабочее приложение, запускаемое через Docker. 3 Соответствие всем указанным требованиям. Критерии оценки 1 Архитектурная проработанность: - Разделение логики на слои (контроллеры, сервисы, репозитории). - Использование Dependency Injection. 2 Качество кода: - Чистый, читаемый код. - Отсутствие антипаттернов. 3 Производительность: - Эффективные SQL-запросы. - Оптимизация работы с WebSocket. 4 Соответствие заданиям: - Корректная работа чата и групповых чатов. - Корректная обработка ошибок и логирование. - Предотвращение дублирования сообщений при параллельной отправке. Дополнительное задание (по желанию, но как плюс к кандидату) - Реализовать механизм подключения к нескольким устройствам одновременно (как в Telegram Web). - Добавить авторизацию через JWT (OAuth 2 / FastAPI Security). - Реализовать юнит-тесты с использованием Pytest.
Анонче, подай идею. Есть гибридная мышь rog chakram x, которая умеет работать в режиме аналогового джойстика с непрерывным вводом.
Надо ее завести под pygame/sdl под винду, девайс не детектиться sdl. Это поведение, по идее, должно регулироваться установкой хинта через переменную окружения https://wiki.libsdl.org/SDL2/SDL_HINT_JOYSTICK_ROG_CHAKRAM но по факту - хуй
>>3422327 да, задание не сложное, тут вопрос в том кому его дают. Если джуну то ок, ему интересно будет, а вот странно, когда такое дают челу с 10 годами опыта. Хотя... если у них цель найти терпилу которого можно эксплуатировать то тогда тестовое это норм.
>>3375375 (OP) Анон 7 лет опыта в петухоне на связи, только что вернулся с Бахмута с оффером, рассказываю, насколько легко найти работу.
Откликался на позиции сеньора или лида с трудоустройством вне рф, опыт соответствующий есть, до этого в бигтехе банке работал долгое время. Отправил 53 отклика, на 30% из них вообще не ответили. Первичных созвонов с рекрутерами - 10. Технических собеседований - 6, на 2 из них был систем дизайн, на 3 из них были алгоритмы/лайв кодинг. Собеседования тянулись пиздец долго, в среднем в одну компанию рассматривают 2-3 недели. В итоге, оффер получил от стартапа, где просто с СТО за жизнь пообщались, лол, спустя час после общения, и где весь процесс занял ровно 3 дня.
Вакансии искал в хх, хабр карьере, чатах телеграма и линкедин. Через хх было больше половины откликов, по итогу созвонов с рекрутерами оттуда было РОВНО 0 БЛЯТЬ, основная часть созвонов была по вакансиям в тг (стартапы) и линкедин (бодишоп конторы и зарубежные компании). Ну и да, если вам рекрутер сама пишет первая - тоже высокий шанс, что завяжется общение.
Все это далось пиздец тяжело, в какой-то момент мониторинг новых вакансий и отправка откликов стали чисто механическим ежедневным ритуалом. Сейчас по инерции до сих пор пишут, предлагают тех собесы и прочую хуйню, но я до сих пор с трудом верю, что прошел через этот блядский ад с поиском работы, сил нет выебываться и другие офферы фармить. Да и не факт, что оффер не отзовут в последний момент.
Всем кто щас ищет работу - надеюсь, мой опыт будет полезен. Удачи, аноны, сейчас решает многое либо упорство, либо накрутка опыта, либо связи и рефералки. Сычам, кто дрочит хх, не выжить в дивном новом мире
>>3418937 Это антипайтон стайл, долбаеб. Кривое и косое говно от человека, который никогда не открывал документацию питона и и одновременно использует коды ошибок вместе с исключениями >>3419829 > в точках await происходит прерывание Пиздос, загугли что такое прерывание и цикл событий, чтобы не нести хуйни > пока корутина не возобновит работу транзакция простаивает блокируя строки в бд Поэтому даже в документации питона написано про то, что долгих вычислений без переключения цикла событий быть не должно. В крайнем случае используют await asyncio.sleep(0) >>3424131 > Откликался на позиции сеньора или лида с трудоустройством вне рф За рубежом полторы компании, каждая из которых держит своих работников за яйца, так как тебе оформляют рабочую визу и в случае увольнения ты должен эвакуироваться из страны за месяц(а зачастую еще и влететь на годовой платеж аренды в виде неустойки). А так как в куче стран есть приколы с тем, что в случае неотработки 5/7 лет в правильной компании, ты влетаешь на 2-3 миллиона рублей за медстраховку, то сотрудники от них почти не уходят и сидят в рабстве. Так что найти работу тяжело, но даже найдя, ты очень быстро пожалеешь о том, что ее нашел
Здравствуйте, аноны, я не погромист. Хочу спарсить коэфы с винлайна. Можете подсказать что я делаю не так? Этот код выводит только сессии. Может защита какая?
Обосрался, пытаясь построить https://github.com/Snawoot/rsp с помощью как cython, так и pyinstaller. В первом случае шланг и gcc отказываются компилять бинарь. Шланг ругается на отсутствие WinMain на линковке, а с флагом -fms-compatibility тщетно пытается найти va_list (нахуй он здесь нужен) gcc обсирается с ошибками дефайнов. Бинарь после конпеляции __main__.py грит что ImportError: attempted relative import with no known parent package.
Невозможно этой хуйнёй пользоваться, не рассчитано на питонистов. Шёл 2025 год, а они до сих пор нормальную, адекватную конпеляцию не приделают.
кароче проебывался дома 2.5 года, ничего не делая. До этого по трудовой 7 лет опыта питоно-макакой. опыта с фсякими асинкайо и фастапи в продакшене нет. напиздеть что есть опыт или не нннада? хотелось бы 150 руплей в месяц.
>>3426770 Лучше напизди, сейчас fastapi и асинхронщина часто в вакансиях требуется. Только изучи хоть немного, как с ними работать - отличие от тредов и процессов и применимость (cpu-bound vs io-bound), что происходит при вызове await, в чем отличие корутин от обычных генераторов, как запускать фоновые таски (create_task), как параллелить (gather), про отмену тасок через cancel и обработку CancelledError. У меня про это спрашивали. Касаемо FastAPI чаще ничего не спрашивали, один раз про DI спрашивали только в контексте использования Depends. Успехов, анон. 150к для 7 лет опыта - мало, кмк, на 250к есть смысл договариваться. Если надрочиться на собеседования - 300-350к сможешь получить
БЕРЕМ ЯЗЫК С ДИНАМИЧЕСКОЙ ТИПИЗАЦИЕЙ ЧТОБЫ БЫЛО "ПРОЩЕ" @ ПРИКРУЧИВАЕМ АННОТАЦИИ ТИПОВ TYPING @ НАСТРАИВАЕТ ЛИНТЕР PYLINT @ ПОДКЛЮЧАЕМ СТАТИЧЕСКИЙ АНАЛИЗАТОР MYPY @ ДЕЛАЕМ КУЧУ ОПТИМИЗАЦИЙ И КОСТЫЛЕЙ ДЛЯ СКОРОСТИ @ ВОТ ТЕПЕРЬ "ЗАЕБИСЬ"
>>3427820 >заебок! добавь в своей борде посты в виде деревьев ато двач заебал в столбик выводить Это наоборот рак, то, как реализовано на аиб - это лучшее что придумывали через появляющееся окошко. Дерево тебе просто HELL PYRAMID сделает, которую невозможно читать из-за того, что непонятно кому ответил человек
>>3427821 У тебя первый пункт ложный. Осальные пункты манямирковые. Берем высокоуровневый язык чтобы было проще. Анотациями устраняем негативные эффекты от динамической дрисни. Литер настраивают даже хоть в цпп с жабой чтобы по рукам бил за говнокод, так что вопще мимо.
Двачик, выручай. Прохожу курс по Питону, вроде с теорией и синтаксисом все понятно, но по мере усложнения тестовых задач я ловлю постоянный тупняк и стопор. С помощью ИИ инструментов без проблем могу решить задачу и понять синтаксис, а затем его переработать, но вот с нуля что-то сделать прям целая проблема. Как развивать мышление?
>>3416960 Когда ты устанавливаешь пакеты через pip в venv или окружение конды, то пути реально хардкодятся. Способа, кроме написания скрипта, который будет менять захардкоженные пути я не знаю.
Либо можно все нужные пакеты в один файлик прописать списком, типа пакет-версия package1=1.0.0 package2=2.1.1 И просто воссоздавать это окружение одной командой там где нужно.
Алсо, попробуй поставить miniconda вместо venv, она удобнее. conda create -n new_env --file list_of_packages.txt conda activate new_env
>>3416960 В вебе обычно в докер образ упаковывается окружение, туда устанавливаются все зависимости и копируются исходники самого проекта, в финале задается точка входа через CMD или ENTRYPOINT. В целом, докер образ легко на флешку скопировать и перенести на другой комп, лол
>>3427947 >Берем высокоуровневый язык чтобы было проще. Анотациями устраняем негативные эффекты от динамической дрисни. Почему бы сразу не взять высокоуровневый язык без динамикодрисни?
>>3429084 Потому что остальные высокоуровневые языки - это либо блоатваре зафаршмаченое мегакорпами как жава и сишорп, либо хорошие, но никем не используемые языки как окамл, где 90% прикладных либ поддерживаются ноунеймами в свободное от работы время, либо ненужное в большинстве задач байтоебство как раст, либо невыразительное нихуя как голенг
Автоматизация, расширенное взаимодействие с инструментами, плюс его в каждой вакансии требуют (в последнее время Go в приоритете). Плюс изначально стремился в DataEngineering, но покопавшись в кишках SQL понял, что это не особо мое... Ну и для саморазвития интересно.
Многие сталкиваются с подобным: синтаксис понятен, но когда нужно написать код с нуля — наступает ступор. Это проблема не знания языка, а алгоритмического мышления и опыта. Практикуйся - leetcode, neetcode, codewars.
Кейс: есть скрипт на баш, который запускается 10..20 раз в минуту, лезет по УРЛ'у и получает и парсит json с помощью jq , лол. Дай, думаю перепишу на python, там импорт 3 модулей: re,sys,requests. Таки что бы вы думали? Оно в момент выжрало все ресурсы, load average под 60. Вернул баш, все летает. Чому так?
>>3430258 >jq Никогда не понимал, зачем нужно это говно, если можно просто curl https://example.com | perl -MJSON -swE 'say $$_{field1}{field2}[0] for decode_json join "", <>'.
Сап, анончики. Ньюфаг на стадии обучения в треде. По совместительству являюсь профессиональным 2D и 3D-художником, а так же звукорежиссером по образованию. Т.е. 75% набора для воплощения мечты детства у меня есть, осталось научится программировать для создания простой игры.
Кто-нибудь писал свои игры на питоне? Дайте пару полезных советов новичку. Я правильно понимаю что Ursina, Arcade, PyGame это все что имеется из адекватного для создания игр?
>>3430920 >юнити и шарпов Не люблю юнити как дубовый движок и не хочу завесить от инфраструктуры Майкрософт. К тому же у C# половина производительности от C++, тогда уж лучше Unreal\C++, но я хочу монетизировать свою продукцию, чтобы поднимать отечественный игро-сектор, что с анрилами и юнити в России не прокатит (для справочки: сосанкции так же запрещают легальное бесплатное издательство даже если не превышена сумма $-сбора).
>на пистоне ты в лучшем случае какой-нибудь 2д платформер Ну так неплохо для начала. Так же я упомянул Ursina - 3d-движок.
>>3430900 Ну а что ещё делать. Вот ты говоришь зачем это говно нужно, но оно ведь не только парсить позволяет, позволяет выводить резульат, создавать другие JSON'ы и так далее, хорошая штука, если надо написать баш-портянку для какого-нибудь API, отдающего JSON'ы
>>3430913 питон худший выбор для игр. JS намного лучше. с ним можно хоть браузерные и мобильные игры делать. Там есть canvas специальный для рисования.
До этого tutorial из доки шел отлично. А тут сразу куча новых конструкций и за ними секция defining function, да еще и ни одного примера. А потом выясняется, что это ввели недавно и раньше функионала match не было. И если пример с http кодами наглядно понятен, то с координатами было бы неплохо показать вызов функции
>>3430988 Не слушай их, они несут хуйню. Питон легко линкуется с сишными библиотеками вроде SDL GLFW SFML и таким образом имеет практически тот же инструментарный набор что у С/С++
У node js в этом плане голяк, у него нет ничего и в целом язык и его инфраструктура на порядок сложнее и тяжелее. Готового для JS я знаю только nwjs, в котором из коробки прикручена графика, аудио/видео ну и браузерный движок куда уж без него, как ни крути JS без браузерных API ублюдочен и никому не нужен.
Если тебе в принципе нужны готовые инструменты, то на питоне тоже есть renpy хороший игровой движок проверенный временем.
Я правильно понимаю что фикстуры (fixture) (envconfig, request) в pytest это немножко не-нативные сущности языка и пайтест так написан, чтобы провести лексический анализ исходного кода, подцепить эти особые поля, вырезать их из исходника (чтобы сохранить позиционность аргументов) и затем в этих местах подставить выполнение другого кода, определяемого этой фикстурой?
>>3430988 не слушай этого имбецила. он вообще не понимает о чем говорит. я интересовался разработкой игр и парочку сделал. из простых скриптовых языков JS подходит лучше всего для игр.
Из плюсов JS еще то, что любое устройство с браузером становится твоей игровой платформой. Хоть на телеке запускай, хоть на телефоне, хоть закачай в вк стор и.т.д.
>У node js в этом плане голяк ты совсем еблан?
>renpy ебать ты додик, приводишь кусок кала на котором визуальные новеллы делают.
>>3431235 >из простых скриптовых языков JS >любое устройство с браузером Не знаю что ты там сделал, судя по твоим кукарекам ты вообще ни на чем не пишешь.
>>3431170 >Питон легко линкуется с сишными библиотеками вроде SDL GLFW SFML Вот это то что мне нужно. Особенно SDL. >таким образом имеет практически тот же инструментарный набор что у С/С++ Спасибо что указал на этот момент. Щас буду жостко копать на эту тему. >Готового для JS я знаю только nwjs Благодарю. >renpy Включил в список. Нагрузка на скриптинг там минимальная, но я так понял теоретически можно сделать небольшое RPG в диметрии.
>>3431260 >Вообще офисной планктом - непаханное поле, им как то рабочий день нужно убивать, для них столько игрух можно пилить... Тут соглашусь. Еще можно рекламу запустить в какой-нибудь группе Вконтакте где HR(или другой office-like персонал) собираются. Благодарю за ссылочки.
>>3430940 Инструменты, которые у тебя уже есть в системе из коробки (перл с JSON::PP в любом юниксе, кроме всяких билдрутов, есть из коробки), умеют всё то же самое и даже больше. Зачем тянуть в систему дополнительное тяжеловесное говно, нигде кроме баш-портянок не применимое? Кто это придумал вообще?
Жена хочет вкатиться в программирование, пока дочка в садике. Я ей предлагал Джаву на Джавараше (норм тема для новичка, дешево и эффективно), но вот думаю, может Пайтон проще?
>>3433617 Пайтон проще, JS еще проще, но ты подумай о другом...
Вот я вкатил свою бывшую во фронтенд и она из милой кроткой тяночки превратилась в наглую, меня в хуй не ставящую, бабищу. Когда перестала от меня зависеть в финансовом плане и сама стала норм зарабатывать. У баб все очень сильно на бабки завязано.
>>3434587 Ну... вообще, DI вроде не "добавили", это ж не модуль типа import di, а просто подход...
Я не сильно шарю, но я вот сейчас пишу проект на FastAPI, и там через Depends() вроде как DI делают. Типа, можно пробросить нужный класс или сервис в эндпоинт, и не надо вручную всё это писать каждый раз.
Например, я делаю сервис авторизации, и в него можно подкинуть логгер, конфиг, или, не знаю, обёртку над Redis - и всё это как бы "впрыскивается" автоматически.
Вроде удобно? Ну я не знаю. Просто в туториале так делали.
Я не претендую. Я просто копирую пока, только вкатываюсь. Пытаюсь что- то делмть. Первый язык программирования же
>>3434573 >Стоит ли вообще вкатываться в пайтон? 1. Энокомически не выгодно. Питонистов в несколько раз больше чем вакансий, ЗП падает который год подряд. Требования растут, теперь в месте с питоном хотят фронтенд, МЛ, девопс.
2. Питон стрельнул в вебе благодаря джанго с его подходом быстрой разработки монолитного приложения. Современный веб делается на микросервисах, в которых питон избыточный, медленный.
3. В машинном обучении появляются новые быстрые языки, на подобии mojo.
Время таких языков как Python, PHP, Ruby, Perl прошло. Они появились 30 лет назад. Но подход к построению веб приложений сильно изменился. Количество ядер процессора сильно выросло, фронтенд стал отдельным направлением, архитектура микросервисной.
Вкатываться в Питон в 2025 году это все равно, что покупать билет на Титаник зная, что он уже налетел на айсберг, хотя у пассажиров еще продолжается веселье, играет музыка, женщины в вечерних платьях отшивают неудачливых кавалеров...
>>3434716 >Но подход к построению веб приложений сильно изменился Как он изменился? Большинство сайтов также крутится на всяких серверах с MVC и серверным рендерингом. Какие тогда языки сейчас в моде?
>>3434787 я ж написал как он изменился: 1. фронтенд больше не рендерится на беке (только блядь про SSR не пишет, это другое). 2. архитектура из монолита перешла в микросервисы. 3. нагрузки возросли, системам необходимо масштабироваться на десятки и сотни ядер процессора.
Язык на который сейчас перекатываюсь рекламировать не буду, зачем мне лишние конкуренты. Я итак тут слишком много наговорил, забудьте! Питон топ 1 в мире, 23% по рейтингу Тиобе.
>>3434803 >только блядь про SSR не пишет, это другое В смысле другое? А что это тогда? Это всегда было, когда сервак сразу html страничку отдаёт >Язык на который сейчас перекатываюсь рекламировать не буду, зачем мне лишние конкуренты Вахтёр-тролль, понятно
3 года работаю, за все это время ни разу не использовал чаcть фич языка: оператор оверлодинг, замыкания, декораторы, полиморфизм, генераторы/yield, async/await... Боюсь что при смене работы буду на собесе супер слабым выглядеть. Как будто в разных конторах разный подход и часть языка вообще не используется. У нас, например, любят писать максимально простые конструкции и по максимуму избегать любого ООП и еблинга с областями видмости.
>>3434716 >1. Энокомически не выгодно. Питонистов в несколько раз больше чем вакансий, ЗП падает который год подряд. Требования растут, теперь в месте с питоном хотят фронтенд, МЛ, девопс. > >2. Питон стрельнул в вебе благодаря джанго с его подходом быстрой разработки монолитного приложения. Современный веб делается на микросервисах, в которых питон избыточный, медленный. > >3. В машинном обучении появляются новые быстрые языки, на подобии mojo. > >Время таких языков как Python, PHP, Ruby, Perl прошло. Они появились 30 лет назад. Но подход к построению веб приложений сильно изменился. Количество ядер процессора сильно выросло, фронтенд стал отдельным направлением, архитектура микросервисной. > >Вкатываться в Питон в 2025 году это все равно, что покупать билет на Титаник зная, что он уже налетел на айсберг, хотя у пассажиров еще продолжается веселье, играет музыка, женщины в вечерних платьях отшивают неудачливых кавалеров...
Стоит ли вкатываться в Пайтон шарпею ради связки Пайтон + ML.Net и мышинного обучения и дата сатанизма?
>>3435111 >ни разу не использовал чаcть фич языка: оператор оверлодинг, замыкания, декораторы, полиморфизм, генераторы/yield, async/await... Удивительно, даже в повседневных скриптах частенько использую эти вещи, что у вас там за софт такой игрушечный интересно
>>3435140 Да это еблан очередной, у которого питон подходит для монолитов, но не микросервисов, вообще охуеть. Тогда как монолит от микросервиса фактически отличается только тем, что модули системы общаются не in-process, а по сети.
Питон - отличный язык с низким порогам входа. На нем можно быстро наговнякать прототип, который возможно будет развить до production-grade решения. Там где ему не хватает производительности - обработка cpu-bound задач параллелится на несколько процессов, либо выносится в C/C++. Тащемта, либы для ML так и работают, что питон предоставляет высокоуровневый интерфейс к низкоуровневому коду. Чисто для веба наверное уже не стоит изучать, джуны не особо нужны. Если в ML вкатываться И веб прикручивать к моделям - отличный выбор
Cpython + Python + библиотеки на C. Вот вам и имба. Ни у одного новомодного языка нет таких широких возможностей.
Можно до 10-20k RPS держать легко.
Вырастить свой бэк на этой кухне - идеально. Очень быстрое MVP. Запускаемся -> смотрим узкие места -> их переписываем на Cython, C, меняем библы.
Вы понимаете это вообще? Вы че нахуй собираетесь работать в бигтехе, где к вам - Васянам Пупкиным отношение будет как к расходнику? У нас и зарубежом даже компутерсаинс гениев на мороз выкидывают РЕГУЛЯРНО бигтехи.
Вы хоть осознавайте свой уровень. Для мидл и лоу левел бузинеса, место в котором будет у 99% макак читающих этот пост - Пиструн с библиотеками это буквально ИДЕАЛЬНОЕ решение. Если знаете Си (а он предельно простой) для очень узких мест, то вы просто повелитель. Или вы решили, что Пиструн, самый популярный и растущий быстрее всего остального говна во всем мире - это случайность?
Переходить для лоу и мидл с пиструна на что-то другое - это как картошку возить на феррарях. Быстро, красиво, удобно, но ОЧЕНЬ ДОРОГО, по времени, по расходам на макак. Рыночек очень быстро отсеит тех, кто переходит на языки для ВЫСОКОЙ НАГРУЗКИ, потому что у подавляющего 99,9% большинства никакой высокой нагрузки НЕТ и НИКОГДА НЕ БУДЕТ.
П.С. Ящитаю, что у пидоRasta очень большие шансы вырваться вперед, но он слишком сложен для макакиев, поэтому только Пиструн.
>>3437174 >99% макак читающих этот пост - Пиструн с библиотеками это буквально ИДЕАЛЬНОЕ решение. Так было раньше, теперь питонистов настолько много, что кабан кабаныч начал борзеть. Теперь помимо питона он требует еще и фронтенд или МЛ или девопс или ВСЕ ВМЕСТЕ.
Это напрочь убивает концепцию идеального языка, если тебя заставляют всяким говном заниматься, так еще и работу хрен найдешь. Так еще и ЗП который год подряд падает.
Только блядь не пиздите мне, что похер на кабанычей, вы будете свои проекты делать! Даже если делаешь свои проекты на что то жить нужно пока миллиардером не стал и не продал свой стартап гуглу.
>>3437182 >решение. >Так было раньше, теперь питонистов настолько много, что кабан кабаныч начал борзеть Не волнуйся, сейчас и говна станет также много. Все, абсолютно все кабаны с неадекватным требованиями закроются. Потому, что будут набирать говно со софт скиллами. Пиструн семантически сложный язык, несмотря на несложный синтаксис.
>>3437244 >Не волнуйся, сейчас и говна станет также много. 100%. В говне зепки тоже быстро упадут. Но хотя бы верской и фронтендом и МЛ заставлять заниматься не будут может быть.
>Пиструн сложный воистину, прочел два тома Лутца, К вершинам мастерства и конкурентное программирование и это только основы, там еще учить и учить. По одному канкаренси нужно книгу в страниц примерно 1000 чтобы более-менее раскрыть тему.
>>3437300 Я начинал с https://python.swaroopch.com/ , вроде как можно и на русском версию найти, щас уже aspiring веб макака с годом опыта и не планирую останавливаться
Прочитал пикрилы от корки до корки (832 + 720 + 898 + 398 = 2848 страниц)!
КОГДА БЛЯДЬ Я УЖЕ БУДУ ЗНАТЬ ОСНОВЫ ПИТОНА?!
Дайте мне 3-5-10 книг, но чтобы я весь питон сука знал, чтобы не одна гнида на собесе не могла меня завалить!
Какого хуя прочитав столько книг (заметьте лучших из существующих) я до сих пор не знаю даже основ языка?
как под капотом работает питон, в чем отличие threading Queue от asyncio Queue, почему слоты больше не эффективны, в чем различие кортежей от списков под капотом, и.т.д.
>>3438863 ты код то писал вообще или только макулатуру читал? по идее если ты прочитал к вершинам мастерства и реально там всё понял то тебя уже хуй кто завалит
>>3438863 >в чем различие кортежей от списков под капотом, и.т.д. Ты меня извини, братишка, возможно за глупый вопрос. НО ЗАЧЕМ ТЕБЕ ЭТО? Нет, ну нахуя тебе знать настолько специфичные вещи? Ты что там на микроконтроллере борешься за 0.001% производительности и за каждый байт памяти? А может у тебя приложение на 100k RPS и масштабироваться вширь все сервера погорели?
>>3439111 Собесы буквально из таких вопросов и состоят. я тоже не понимаю, зачем такое спрашивать в питоне который медленный как велосипед на гонка формула 1. Но видимо нужно как то питонистов отсеивать.
>>3439158 Тогда изучи Сишку и смотри на реализацию того, что тебе нужно прямо изнутри. Язык до безобразия легкий по синтаксису. Можешь даже копоте или гигачату скармливать реализацию и он тебе объяснит. По-моему это самый годный способ изучить кишки. Правда вот не могу понять нахуя это нужно зарплатодателю. Может быть тебе просто выучить вопросы, которые задают на собесах? Не думаю, что их там слишком много.
>>3440252 Любой ИЗВЕСТНЫЙ язык подойдёт. Питон - это язык ОБЩЕГО НАЗНАЧЕНИЯ. Он не специализированный научный. На нём не рассчитывают траектории полёта на луну. Это не VHDL, на нём не описывают интегральные микросхемы. Это не AMPL, на нём не делают оптимизацию. Если ты не можешь освоить питон - проблема в тебе.
Насчёт первого языка - нууу, я бы взял что-нибудь другое. Typescript например или Rust. Аргументирую почему. Питон прощает слишком много хуйни. У него "мягкий" интерпретатор, который прощает плохой стиль программирования. В расте тебя компилятор сразу пошлёт нахуй, если ты попробуешь один тип присвоить другому типу. Для начинающих это важно, чтобы строгий компилятор/интерпретатор давал тебе пизды, если тебе давать пизды не будут, ты привыкнешь к хуёвому стилю программирования и будешь писать хуйню. Вот и всё.
>>3440283 Для начинающих важно как можно быстрее научиться писать программы, которые делают полезную работу и решают их проблемы. Если начинать с того как выделять вручную память под массивы, складывать поинтеры и ебаться с мейкфайлами, минимально продуктивным ты станешь через год-полтора (если не забьёшь через полтора месяца нулевого результата, шансы чего стремятся к нулю), что для взрослого человека непозволительная роскошь. Большинству людей это не нужно для работы джсоноукладчиком, эти знания там применимы никак.
>>3440291 >Если начинать с того как выделять вручную память под массивы, складывать поинтеры и ебаться с мейкфайлами, минимально продуктивным ты станешь через год-полтора Я такое не говорил. Только сказал про СТРОГИЙ компилятор. Ты понимаешь чем отличается СТРОГИЙ от ПРОЩАЮЩЕГО компилятора? Значит он может не дать образоваться потенциальному багу, только и всего. А про "вручную выделять", "поинтеры" - это ты сам додумал. А конкретные языковые фичи могут меняться - в зависимости от того, golang ли это, c#, там или ещё какой язык. Естественно, есть языки которые более терпимы к ошибкам, типа php, ruby, javascript, а есть менее, типа golang, c#, java и так далее.
>>3440304 >научиться писать быстрее Про "быстрее" я ничего не говорил - это ты выдумал. Идея была закрепить правильные привычки на раннем этапе. Это как иметь привычку заниматься спортом, следить за лишним весом, и так далее.
Я не утверждаю, что на одном языке быстрее писать код, а на другом медленнее. Пост был про правильность, как писать хороший, годный код. Без багов. Если тебе на качество посрать, только ААААА БЫСТРЕЕ БЫСТРЕЕ, тогда вопросов нет.
>>3440309 >я ничего не говорил Неважно, что ты говорил - ты вообще нейросетям отвечаешь. Важна прикладная польза того, во что инвестируется время, а "правильные привычки" - это эфемерное нечто, которое ты сам выдумал. Тем более, что никаких отменно неправильных привычек питон вроде не прививает - ну да, динамика, но она строгая - пару раз сложишь строку с массивом, словишь эксепшен в рантайме и больше так делать не будешь. >тебе Я не пишу на питухон по крайней мере, стараюсь, питухон - отвратительный язык. Его единственная киллер-фича - его сможет выучить даже обезьяна в кратчайшие сроки. Поскольку начинать надо от простого к сложному, а не наоборот, выбор очевиден.
>>3440314 >Я не пишу на питухон по крайней мере, стараюсь, питухон - отвратительный язык ...и я не пишу на питоне, я вообще rust/typescript программист.
>начинать надо от простого к сложному Все языки простые или средней сложности, смотри первый пост - "Питон - это язык ОБЩЕГО НАЗНАЧЕНИЯ. Он не специализированный научный. На нём не рассчитывают траектории полёта на луну. Это не VHDL, на нём не описывают интегральные микросхемы. Это не AMPL, на нём не делают оптимизацию. Если ты не можешь освоить питон - проблема в тебе"
Если бы ты сказал какой-нибудь haskell или VHDL - они действительно сложные. Все остальное - это максимум языки СРЕДНЕЙ сложности.
>которое ты сам выдумал Это моё личное мнение, ты можешь советовать брать самый простой язык, это твоё право. Моё право рекомендовать другой подход, основанный на правильности и корректности.
Ну что питоняши, свершилось. Я открыл для себя новый фреймворк - Esmerald. Можно сказать, что это сильно усовершенствованный и прогрессивный FastAPI. И пока вы сосёте хуи, я буду работать с ним.
Пиздец, раз в пару месяцев захожу в тред -- какие же дегенераты итт сидят. В тг чатах хотя бы модерация есть и минимальная система репутации, так что полным кретинам хуем по лбу стучат за то, что они полную хуйню несут. Но чет срака в этот раз особенно сильно сгорела и промолчать просто не смог >>3441328 Полное говно, по диагонали пробежался по доке: нативная поддержка любой орм кроме алхимии = признак дегенерата с двузначным айкью >>3440314 Очередной трехинтовый дегенерат, который думает, что отсутствие лишних ключевых слов и скобочек делает язык простым. Это просто верх дегенератизма, подобные ебланы не отличат генератор от итератора, но думают, что раз они хеллоу ворлд написали и даже циклы изучили, то уже разобрались с языком. >>3440283 Дегенерат не в курсе, что питон СТРОГО ДИНАМИЧЕСКИ типизированный язык. Какие-то шизофантазии про мягкий компилятор, это просто охуеть. Загугли отличие динамической типизации и строгой, а потом пойми, что это буквально теплое и мягкое. >>3438863 > в чем различие кортежей от списков под капотом Это реально надо объяснять? Под кортеж аллоцируется сразу нужное количество памяти ровно под то количество элементов, которое передано в кортеж при его создании и оно не изменяется, а у списков сразу создается массив на ~500 элементов(конкретное число не помню) и при заполнении существующего размера, он пересоздается с размером х2 от предыдущего. С хэш мапой размер увеличивается примерно на 2/3. > в чем отличие threading Queue от asyncio Queue Первое используется для тредов и является тред сейф, второе используется для асинка и поддерживает авейт. Вроде все очень примитивно лол > почему слоты больше не эффективны Что значит "больше"? Слоты хранят атрибуты класса в тапле вместо мапы. Пихать их везде по умолчанию и думать, что ты там что-то ускоряешь или экономишь -- безумие. Слоты используется в нескольких корнер кейсах и если у тебя нет четкого понимания зачем и почему, то лучше просто забудь про них. Если ты не до конца понимаешь механизмы лукапа атрибутов, а так же не совсем понимаешь где какое апи классов для этого используется, то можешь поесть говно потом в самый неожиданный момент.
>>3441609 >Это реально надо объяснять? ты настолько туп, что посыл поста понять не можешь? А бежишь сразу рассказывать какой ты умный и какие все вокруг тупые?
> мимо 400к сеньор чсв попущ без социальных навыков
>>3441735 >увидимся на собеседовании >Можете уже начинать готовить свои дырочки даже не сомневаюсь, что красноглазый додик все свободное время тратит на изучение кишочек, чтобы потом на собесе самоутвердиться. Только с таких чмох кекают да и все, потом идут в нормальную компанию работать где не будут заебывать.
Уже выучил какого порядка полиморфизм в питоне? А какой алгоритм применяется для расчета хэша в словаре? Как не знаешь, как давно читал? Такое знать надо, сегодня не спишь
И все же насколько ахуенен питон. Мой личный восторг. Для проектов до 3-5к rps просто идеальный вариант для бэка, а 99,9% не дотягивают до таких величин. И в ML может и в бигдата. Спасибо, Гвидо.
>>3442492 Ну так это вкатуны и "мемные таксисты" разбушевались. Я тебе гарантирую, что там макак процентов 80, которые дальше общего синтаксиса не продвинулись. Даже если такого хуесоса возьмут на работу, он через пару лет выгорит нахуй, если его не пидорнут раньше. Программированием нужно жить. Если тебе это было хотя бы чуть-чуть интересно в детстве/юности, если обожаешь решать логические головоломки, то тебе путь в кодеры. Если ты работал гей-шлюхой, красноглазиков считал отбросами общества и тут ВДРУГ ПРИШЕЛ ЗНАК СВЫШЕ - КУРСЫ ПИСТРОН РАЗРАБОТЧИКА, СРОЧНО, СРОЧНО, ТАМ ЗОРПЛАТЫ 300к, то ты выбираешь провальный путь. Как и работодатель, который берет тебя на работу. Короче, если ты пришел в кодинг за деньгами, а не потому, что любишь это делать, то обязательно лососнешь тунца.
Я ахуел кстати от количество резюме, лол. Реально макаки.
>>3443199 коупи дальше мань. у меня 10 лет опыта, буквально нолайфер который прочитал десятки книг, пилил опен сорс, выбирал проекты не за бабки ан а перспективу чтобы интересный проект в резюме был. Итог: не могу найти работу пол года ни за 300 ни за 250. Сейчас учу другой говняк и выкатываюсь с питона.
>>3443281 >Сейчас учу другой говняк Дай угадаю, ты учишь язык Go, верно? Ты снова наступаешь на ТЕ ЖЕ самые грабли и внедряешься в гущу событий в которую прямо сейчас параллельно внедряются те же самые 500 тысяч.
>у меня 10 лет опыта Нету и ты даже не понял откуда я это узнал.
>>3443609 >Нету и ты даже не понял откуда я это узнал. есть, не ссы.
>Ты снова наступаешь на ТЕ ЖЕ самые грабли кто ж спорит, не первый раз наступаю, а хуле делать, хочется продлить кайф лутания кеша за пердение в кресло с 10 до 19.
>>3443639 >хочется продлить кайф лутания кеша Через буквально полгода-год ситуация с Go будет в точности такая же, как с Python. Тысяч любителей кайфа от лутания кеша уже ломанулись в Goвно. Вот уже прямо сейчас. И ты будешь опять скулить на дваче, что работы нет, вкатух очень много, горутины перегорутинил, утечки памяти, дайте еще дженериков. Забавно, что ты пытаешься свичнуться на недоязык, в буквальном смысле - обрезок в мире IT. Ты бы еще в R свичнулся. Единственная предметная область для Golangа - бигтех, компании, где нужны дешевые одноразовые макаки.
А самое смешно, что ты бросил очень универсальный язык, который может почти всё и сфера применения которого будет только расти (наступает бигдатый мир и мир ML). А в этой сфере Go будет сосать всегда, ибо архитектура не позволяет.
Rust / JS / Python / C++ / C / Java / C#- на этих языках будет держаться ближайшее будущее. Всё остальное - очень нишевое. Я, если бы за длинным рублем вкатывался куда-нибудь, то в SAP, но ты там выгоришь за наносекунду, потому что долбоеб без критического мышления, а обычный леминг - куда всё туда и я.
Да да да питон самый топ язык, вот выучил ты его и что, можешь нейросеть написать? Нет? А почему? Неужели знаний одного синтаксиса мало для этого? Вот и вся универсальность!
Я и с пхп так же чухнул когда проекты на питоне поперли и ни разу не пожалел. Но в гошку все равно 99% из нас не вкатится, так как вакансий мало и требования там намного выше чем в петухоне.
>>3443839 >Да да да питон самый топ язык, вот выучил ты его и что, можешь нейросеть написать? Ты походу реально не понимаешь о чем говоришь, бро. Прощу скажу - хуйню сморозил. Ознакомься с темой пожалуйста потом пукай на дваче
>>3443839 >конкурентов устраняешь Я сам на себя работаю. Мне наплевать на горести макак, заискивающих перед хрюшами, лишь бы их к корыту поближе пустили. В смысле мы свою команду сделали, зарегистрировали ООО и дружно шлем кабанов и их анальников нахуй.
>>3443843 >Я сам на себя работаю. Мне наплевать на горести макак Долго это не продлится, мне тоже пришла эта светлая идея, что кабанов кормить не нужно. И не только мне она пришла) Короче скоро все будут заебывать малый бизнес с предложениями сделать им супер приложение. А с приходом нейроночек будут жестко демпинговать в надежде все нагенерировать за 2-3 дня.