Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы: https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации https://dumpz.org/ - можно постить листинги, не требует регистрации https://pastebin.com/ - для листингов, регистрация не обязательна https://goonlinetools.com/snapshot/share/ - для листингов, без регистрации, но с капчей
— Какие книги считаются лучшими? На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.
— А как учить джангу? Нахожу только книги по джанге 1.х У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.
— Какие веб-фреймворки стоит учить в начале двадцатых? Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4[РАСКРЫТЬ][РАСКРЫТЬ]
— Как можно без лишней возни ускорить программу на питоне 1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь. 2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
старая версия шапки, треды 90-148 и ранее: https://dumpz.org/bASGKD8cCFDf ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Сап джангисты. Пик 1 представление. Пик 2 тест к нему, который выдаёт при запуске: TypeError: download() missing 1 required positional argument: 'filename' Как этот аргумент передать в тест? На пике 2 же filename=пук.pdf в составе строки path.
>>2634104 Я в ваших джангах не ебу, но скорее всего это файлнейм, который будет в заголовках респонса. А дальше срать в вывод ты можешь откуда угодно, хоть из файла, хоть из объекта какого-то.
Есть ли в питоне/жюпитере готовый способ сделать то что на пике, то есть либо считать данные из файла, либо посчитать и записать в файл? То есть типа кеш с дампом на диск, но не для функций, а для переменных. Надоело в каждом ноутбуке это писать.
Хочу поменьше мокрописек, тупо подсветочку, нетормозной автокомплит и лечение детских болезней стандартного REPL, без йоба-наворотов, без вим/емакс режимов, без серверов для jupyter. bpython брать? Питон 3.10
Нахуй вы тут сидите? Chat GPT уже четверть из вас заменил, оставшуюся 3/4 заменит к концу года. Останутся только совсем крутаны из 99,99 перцентиля по скилу, все остальные в утиль.
>>2634378 Спроси у chatgpt как заработать миллиард и нихуя при этом не делать. Вместо этого ходишь, как долбоёб, на никому не нужную борду, в никому не нужный раздел, чтобы взорвать полтора пукана непуганым школьникам.
>>2634378 Так дегенераты и не пользовались chatgpt. Я себе сайт с фронтендом и бекендом написал. Тупо задавал вопросы, а потом объединил и заставил искать ошибки. На питоне знаю только про всякие сложения/вычитания в консольке. Вот думаю начать фрилансить с chatgpt.
Сап, питонач. Занимаюсь скрабингом через селениум. Появилась задача записать именные коллекции. По порядку. Есть сайт, структурой которого является таблица: ><table> ><tbody> >...<tr><th>Subtablename1</th></td> >...<tr> >......<td>data1</td> >......<td>data2> >...</tr> >...<tr></tr> <!-- десятки <tr> --> >..<tr><th>Subteblename2</th></td> >...<tr><td>...</td></tr> <!-- десятки <tr> --> >... Смысл в том, что каждой коллекции я хочу присвоить имя SubtableN с данными, которые содержатся в тегах под SubmanameN. Я поставил якорь, который забирает всё содержимое под определённым тегом. XPATH, '//th/[contains(text(), 'Subtable'] - получил список заголовков [Subtablename1, Subtablename2, ..., n] XPATH, //th/[contains(text(), 'Subtable')]/following:td[contains(@class, 'classname')] - получил список содержимого под заголовками [data1, data2, ..., n] Каким образом мне теперь связать заголовки с data? {'Subtablename1': {col1: data1, col2: data2, ...}}
>>2634607 Никто не запрещает, просто это разные символы U+0009 и U+0020, что при запуске кода может обернуться ошибкой, особенно, если над кодом трудятся много специалистов. Разные редакторы и IDE интерпретируют табы по-своему, кому-то нужна надстройка конвертации табуляции в четыре пробела, кому-то нет. Короче - посоны обкашляли и порешали, что четыре пробела - это заебись.
>>2634607 Табы не имеют определенной ширины, она может быть произвольной, спейсы всегда одинаковые. В целом, это вечный говноспор, тем более, что сейчас есть автоиндент и можно настроить таб на нужное количество спейсов.
>>2634538 Неплохо, спасибо. Мне осталось понять, как вернуться на уровень вверх для того, чтобы выбрать сиблингов. >... ><tr> >....<th>Subtab1</th> ></tr> ><tr> >...<td>data1</td> >... ><tr> >....<th>Subtab2</th> ></tr> Ерунда получается. //tr/[contains(text(), 'Subtab')]/parent:tr/following-sibling:: Following-sibling выделяет абсолютно всё, что располагается ниже Subtab1, включая Subtab2 (что логично). Направление вроде бы правильно, но технически не могу додумать, как указать интервал, применив following-sibling и preceding-sibling. Я пытался органи
Ну ок.... учил питон выбрал в качестве первого языка программирования, думал ну сейчас выучу и найду работу...учил джангу, и все равно.... Крч питон оказывается просто хайп среди зумеров студентов. А для реальной работы в компании требуется ЖС, ЖАВА, си всякие пхп, а питон оказывается нужен многим не разработчикам для всякой малейшей автоматизации...да я пересмотрел немчинского
В треде ваще есть питон-разработчики? Или это фейк?
>>2634630 >>2634538 Анончик, спасибо, заставил мозг напрячься. XPATH, tr[[contains(text(), 'Subtablename1')]]/following-sibling::tr[[contains(text(), 'Subtablename2']]::preceding-sibling::tr[td[preceding-sibling[contains(text(), 'Subtable')]]] Теперь вместо явных Subtablename можно указывать заголовки, которые получаю через первый запрос, проходясь по циклу, как ты и говорил.
>>2634663 В вебе фейк. В нейросетках и дата анализе не фейк. Ты посмотрел бы хоть на время существования джанги к количеству звёзд на жидхабе. Весь вэб сейчас на жс вместе с бэком. Для особенно тяжёлых случаев жабу пердолят. Ну девопсам ещё питон заходит. В остальном существует только для курсов по добыче бабла с вкатунов. Серьёзный код не пишут на скриптовом языке, который может в использование только 1 ядра процессора.
>>2634797 Чел, за жс будущее на десятилетия. Веб полностью под нами. Сейчас начали уже в софт залезать. А что будет завтра? Напердолим какую-нибудь надстройку и начнём драйвера писать.
>>2634808 https://colorlib.com/wp/wordpress-statistics/ > 810 million websites use WordPress, which is 43% of all the websites on the internet > WordPress has a 64.2% share of the CMS market, which is more than 10x greater than its closest competitor
>>2634868 К слову, DS/ML на питухоне реализованы на языке C/C++. Из тормозного медленного интерпретируемого питухона вызываются быстрые скомпилированные модули на C. Потому что инженегру и разметчику мусорных баков некогда учить С, им простой язык для тупых вкрации обеснили и они пользуются.
Нихуя не смыслю в бэке, а пришлось ревьюить микросервис на фастапи с асинхронщиной. Хорошо хоть он stateless, но тяжко думать, что же будет, когда туда добавятся sqlalchemy и редис...
Посоны, скиньте пример асинхронного скрабинга сайта плез. Задача состоит в том, чтобы парсить несколько таблиц, но в двойном цикле это занимает вечность в пайтоне. Пожалуйста, я хочу стать лучше.
Почаны, как на уровне TestCase задать строку документации, чтобы она принтовалась при фейле в любом из содержащихся тестов? Сам кейс тестирует одну и ту же хуету в разных местах. Конечно можно в каждый тест накопипастить, но не хочется.
>>2634086 (OP) Тот кто придумал pandas.Dataframe.to_sql в том виде в котором он сейчас - просто нелюдь. Животное. Вызов с replace полностью перекраивает нафик схему с ALTER, дропает все колонки что ты не указал и выпиливает констрейнты. За использование подобного надо сразу стрелять нахуй
Аноны, раскидайте за Flask. Почему гугля я читаю что популярность его растёт с каждым годом, а тут вот недавно какой-то пидор писал мол фласк это пиздец уже говно динозавра неактуальное. Кто прав?
>>2636242 Ну что тут раскидывать. Старый, годный, wsgi-микрофреймворк. Нельзя сваггер получить из коробки, нельзя асинхронность, запрос должен отработать максимально быстро. Если хочется модно-молодёжно, надо всякие фастапи. Если хочется модно-молодёжно 5-летнего разлива, aiohttp. Фласк тоже был модным-молодёжным, но лет 10 назад.
Насколько он актуален решать тебе. Документация хорошая, качество пригодно для продакшена. Кто-то там в гитхабе постоянно зависимости обновляет, минимально штаны поддерживает без активной разработки. С другой стороны фреймворк уже очень зрелый и детские болезни давно все пофикшены. То есть, если твоя задача это стандартное wsgi приложение без асинка, то вполне сойдёт.
>>2636452 Выучись фаст апи, а потом брокеры сообщений, бд, способы распаралеливать приложения на питоне и облака. Иначе останешься в пыхапе нише вместе с джангой. мимо
>>2636461 Джанго уж почти 20 лет существует и будет существовать. На нём и апишки можно делать и что угодно. Проверенная временем махина. И активно поддерживается и будет дальше. Именно такое и нужно рассматривать в первую очередь, а не че-то там новомодное популярное интересное
>>2636464 На нем делают только две вещи, жирные апишки когда не хочется ебаться с бд и юзается местная ОРМ и новостники, потому что только ебанутый станет юзать джанговский шаблонизатор. А монолит на питоне это мем и максимально проигрывает по производительности и тулзам даже современной пыхе. И это ещё не говоря про то, что ты сам ограничиваешь дальшейший карьерный рост с таким стеком.
>>2636793 Мне вообще кажется что слово карьера и питон, в одном предложении нельзя писать.
В оп посте следующих тредов надо об этом указывать, что питон это школозумерский хайп, и популярность его как раз не изза того что на нем ведется какая-то разработка(лол), а потому что он популярен изза банальной пропаганды СТАНЬ ПРОГЕРОМ из всех щелей.
>>2636903 Вылезь уже из своего жс-пузырька и посмотри на реальный мир. Алсо >школозумерский хайп >самый старый из активно используемых в 2к23 году языков, не считая си и плюсов
>>2636963 Я на С со школы кодю. От нехуй делать за два месяца выучил сначала R, потом Питон. Параллельно вспомнил вузовский курс матана, линейки, тервера, графов, дискретки, алгебры топологий и прочие страшные слова.
>>2637206 Посмотрите на этого ИНЖЕНЕРА. Пока одноклассники курили за гаражами, он кодил на си. И вот теперь, на пике своего могущества, он срёт в питон треде на дваче. Так кто смеется последним?
>>2637206 Ясно, типичный задрот-омежич которому в школе харкали в портфель, а он мечтал как он ВСЕМ ИМ ПОКАЖЕТ, и вот он ВКОТИЛСЯ В АЙТИ и теперь "срёт на всё это быдло", ухх доказал всем кто крутой на самом деле. Пошёл нахуй отсюда, чушкарь, пока пендалями под парту не запинали.
>>2637284 R конечно. Этот язык везде востребован: от науки до промышленности, да и гибкости для работы с данными у него больше, чем у питухона. Алсо питухон умрёт через года два, а R еще n-дцать лет проживёт.
>>2637284 Нахуй R. Язык не существует вне своего R Studio. По сути, это тупо «нотебучный» скрипт для учёных/статистиков. Всё то же самое + 100500 фишек и удобств делает Питон.
>>2637561 И чё теперь? Всю жизнь только на питоне сидеть потому что ты так скозал? Чё случится, если чел выучит два языка? Финансовые расчёты с R - просто песня.
>>2637284 > Начать R или продолжать Python? Если чисто для себя, для души - то R. Если для работы, как основной язык - то Python. Если для вката - то Swift, Kotlin, Java.
>>2637569 Я просто сам выучил R, а потом подумал, плюнул и выучил питон. R не пригодился, на Питоне ваяю постоянно что-то. И финрасчёты на нём тоже можно спокойно делать.
Внимание, петухи, положняк по централам страны
Аноним12/03/23 Вск 10:59:15№2637617108
>>2637670 Так тут изначально другая постановка вопроса - челик учил питон, потом видимо кто-то ему сказал что питон НИНУЖИН, и он хочет свитчнуться на R. Это хуевый план, некоторые вечные студенты так по 5 лет кочуют с языка на язык, пытаясь найти тот самый единственный, на котором ПОПРЁТ.
>>2637569 >Всю жизнь только на питоне сидеть потому что ты так скозал? С питона соскакивать в легаси язык - тоже не шибко умно. Соскакивать есть смысл ради расширения компетенции, а Р, если ты юзал пандус, тебе не даст ровным счётом ничего нового. Он незначительно уменьшит количество костылей и значительно уменьшит число возможностей. Можно соскочить в юлю если надо пердолить данные. Можно соскочить в жаву/сишарп/жс/го, если хочется крепче держаться за рыночек. Можно соскочить в кложуру/эликсир/эфшарп/ним/кристал чисто для души, чтобы посмотреть каким ещё способом можно писать программы.
>>2637696 >Можно соскочить в жаву/сишарп/жс/го, если хочется крепче держаться за рыночек. А ты уверен, что с жс в бэкенде ты крепче держишься за рыночек?
Аноны, помогите пожалуйста, если работали с django ninja. Почему эта хуйня не валидирует? Он просто не отрабатывает. Нахуя было изъебываться и делать свою schema поверх пайдантиковской, если есть нормальная пайдентиковская, блядь, чем она тебя сука ебаная не устраивает?
>>2638417 Очевидно, надо определить границы left-right-top-bottom, по размеру списков, а потом их сдвигать. Ну и сделать stepx-stepy, и манипулировать их значениями по достижению границ, -1, 0 или 1. Ну и циклы, да.
>>2638417 Легче всего делается через numpy. Там можно массив врашать и по сути просто поп0, повернул, поп0, повернул и так пока он не пустой. В целом ради этого задания стоит numpy освоить как раз таки. А то работать с массивами стандартными методами питона просто дикий костыль всё равно.
Но без него можно написать примерно такой же алгоритм. Берёшь длину и через pop удаляешь всё на первой линии, потом так же вниз, назад, вверх и опять направо.
Ну вот без каких либо библиотек. Решение не до конца, но всё работает с любой формой массива.
Вопрос по конвертации float в int в PyQT: есть открытый проект (не мой) в котором дохрена ошибок из-за того что при вызове методов типа fillrect или drawline (или QPoint и т.п.) один из аргументов имеет тип float хотя должен быть int. Насколько понимаю способ обойти это - вручную приводить к int аргументы в коде, но что-то это выглядит всрато (как на скрине) т.к. таких ошибок в проекте куча. Есть ли какой-то способ в python приводить поля класса к определенному типу автоматом, то что я на скрине вижу в качестве далеко не единственного в будущем багфикса меня удручает
>>2638753 Да суть в том, что в бд нет ничего, кроме строки "session_data". Мой ключ туда в эту строку зашифровывается? Или как? Нифига не написано про это в доках. Где в этой ключ ['test'] = 11111 находится?
Саентист ML инженер, но соя воспринимает только знакомые баззворды в треде. Каждый день проклинаю отцов-основателей за то что они выбрали язык на котором можно писать по английски вместо нормального, и теперь вся индустрия вынуждена поддерживать легаси-кал на питоне и плодить новый. Никакого нормального ML на пистоне не пишется, всё что есть - дёрганье кода написанного на крестах и дрочка жсонов с апишки чатгпт для самых маленьких.
>>2638839 Да, потому что никто не пишет такие проекты на коленке, имея выбор из обкатанных промышленных. Тогда бы ОС сначала писал, тебе же делать нехуй.
>>2638842 >такие проекты на коленке Какие "такие", шизло, будто ты знаешь что я писал и есть ли для этого пистоновые биндинги к уже готовому. Хуею с манямирка дегенератов в жизни ничего кроме import tensorplow as tp не писавших.
>>2638846 Я тебе говорю про либы для мл, ты сами либы писал или дёргал их? Если не писал, то это ничем от импорта не отличается. А писать ты их нихуя не мог, не того полёта птица, которая тут выебывается.
>>2638847 >А писать ты их нихуя не мог, не того полёта птица, которая тут выебывается.
О, превентивное ВРЁТИ. О чём с тобой вообще говорить, собственно? Ну скажу я что писал плюсовый инференс сеток, бустингов и эвалюешены горы метрик - ты же сразу включишь отрицание потому что ЭТОВА НИ МОЖИД БЫТ.
Ведь если ты перекладываешь жсоны - все перекладывают жсоны.
я пока не финализировал идею, но послушай, тут есть паттерн! есть паттерн для обычного одинарного цикла for / while!
допустим у нас матрица 6х6 (36 элементов, если таблицу умножения забыл) считаем сколько НОВЫХ клеток мы
→6 ↓5 ←5 ↑4 →4 ↓3 ←3 ↑2 →2 ↓1 ←1 6+5+5+4+4+3+3+2+2+1+1 в сумме будет 36!
видишь эти пары после первой? →6 (↓5 ←5) (↑4 →4) (↓3 ←3) (↑2 →2) (↓1 ←1) (↑0 →0) это высота и ширина матрицы! она декрементируется каждые 2 вжуха не считая первого!
возьмем неровную матрицу 5х6 (30 элементов) →5 (↓5 ←4) (↑4 →3) (↓3 ←2) (↑2 →1) (↓1 ←0) всё то же самое, только последний вжух уже нулевой. как только вжух нулевой, сумма всех вжухов достигает размера матрицы
>>2638874 Если не съебешь, то вся МЛ индустрия развалится нахуя без такого саентиста, все твои миллиардные акции проебутся, будешь бомжевать и писать на питоне хелловорлды. Так что съебуй, там уже паника в индустрии, пока ты тут застрял.
С какой базы данных лучше начать нубу? Задачи уровня "простейший табличный файл csv", но хочется начать работать с БД уже. Redis? Или Mongo? Или что-то другое?
Реляционные пока вообще не понимаю, и откровенно боюсь. Буду благодарен совету!
Каждый раз когда в качестве хобби хочу позаниматься нейроночками приходится проблеваться от питона, его синтаксиса, экосистемы. Я понимаю, что ученые в говне моченые умеют только матрицы умножать и про культуру кода не слышали, но неужели нельзя было выбрать какой-то другой язык кроме питона
Полгода назад перекатился в дата-инженеры. Приходится плотненько так писать на питонах. В основном дополнения для DBT, Airflow. Что посоветуете почитать чтобы код не выглядел таким уж говном? Пытался читать Мартина - Чистый Код, но там примеры все на Яве, но мысли здравые. Есть что-нибудь подобное для питонов?
>>2638982 > Реляционные пока вообще не понимаю, и откровенно боюсь. Чо там не понимать-то? Там литерали объекты хранятся. Не умеешь в реляционку = не умеешь в объекты
>>2638982 С Postgresql начни, если сложно то MariaDB (Mysql). Посмотри на две первые нормальные формы, третью пока не смотри будет сложно сразу. Научись аналитические запросы писать, а потом начнет получаться.
>>2638750 Тоже думал об этом, но там деления происходят прямо при вызове функций и их слишком много, в любом случае куча ручных изменений что int() что // писать. Кажется код проекта слишком всратый, а жаль, пригодилось бы
>>2634355 >За мову респект, надо всем беларусам на неё переходить понемногу. Когда я лезу, например, в англоязычную часть реддита или ещё куда - я пишу на английском. А в данном случае это максимально неуместное использование.
>>2634802>>2634807 Настолько уверенные в себе и своём выборе синьёры, что пришли самоутверждаться сюда... Хм-м. К чему бы это? Я вообще девопс, я больше зоонаблюдаю и автоматизирую свои задачи, в наличии пэты на пистоне.
>>2638995 Вот этого двачую. Бонусом: не придётся сразу связываться с СУБД, а когда наткнёшься на ограничения скулайта, уже будешь понимать достаточно. Сам я вообще с Access первые проги делал, ещё в универе, потом уже ввязался в вещи сложнее: через MysQL, ко всему что есть в мире реляционных баз.
>>2639056 Типичный код в ML, который я видел, ограничен сотнями строк прям МАКСИМУМ, на этих масштабах запутаться сложно. Тем более на таком лаконичном и красивом языке, как Python.
Можешь эту статью, например, почитать: https://habr.com/ru/post/454290/ Про декомпозицию. Там много про классы, но на самом деле применимо ко всему. Ну и PEP 8 (коде-стайл-гайдлайны) и прочие пепы по-возможсти, начиная с pep 257 (документирование кода).
Это не избавит от говнокода, но по крайней мере глаза не будут вытекать. Тут, правда, стоит оговориться, что от питона опять же в силу ненапряжности глаза вытекут только в терминальныхъ случаях, в отличии от, скажем, ЖСа, на котором даже средний код вызывает мигрень.
От говнокода же, как явления, избавят только и исключительно практика и опыт. Этому по книгам не научиться.
>>2639082 Да, всрато. Хотя, скорее, просто непредусмотрительно. Не ожидал человек бага, вот и оставил по логике. Баг повторён много раз. В любом случае, чтобы его исправить нужно будет залезть в каждое место. Ну или накостылить свои либы, подсунуть их как кьют и в них вызывать кьютовские либы правя параметры... Или сделать в кьют пулл-реквест, чтобы они обрабатывали флоат (приводили к инту как надо)... Но это всё такой бред, что проще разрулить деление.
>>2639187 Благодарю, просто еще добавилась обязанность по поддержки пары микросервисов и там тоже питонячий код flask. Иногда с нуля надо классы продумывать. Из личного опыта и книжек пока по таким критериям пишу: - меньше аргументов у методов - меньше функций больше методов - метод не слишком длинный по количеству строчек, лучше разбить на n-методов - наименования переменных и методов отражают смысл самое сложное - комменты почти на каждую строчку - названия переменных - длинные и никаких a, b, c, x, y, i - меньше всякого вложенного говна типа сложных диктов или json
>>2639201 Ты сейчас практически PEP8. Ну, что могу сказать... Ты на верном пути. Время от времени, во время практики будут случаться инсайты, на тему как это можно сделать ещё красивее и понятнее. Главное не переборщить, а то я видел спагетти, в котором минимум 90% методов выглядит как три строки, из которых одна - вызов другого метода и ещё одна с ретурном. В целом опирайся на PEP 20: Дзен Питона https://peps.python.org/pep-0020/ > Красивое лучше уродливого. > Явное лучше неявного. > Простое лучше сложного. > Сложное лучше запутанного. > Развернутое лучше вложенного. > Разреженное лучше плотного. > Читаемость имеет значение. > Особые случаи не настолько особые, чтобы нарушать правила. > При этом практичность важнее безупречности. > Ошибки не должны замалчиваться. > Если не замалчиваются явно. > Встретив двусмысленность, отбрось искушение угадать. > Должен существовать один - и, желательно, только один – очевидный способ сделать что-то. > Хотя этот способ поначалу может быть и не очевиден, если вы не голландец. > Сейчас лучше, чем никогда. > Хотя никогда часто лучше, чем прямо сейчас. > Если реализацию сложно объяснить – идея точно плоха. > Если реализацию легко объяснить – возможно, идея хороша. > Пространства имен – отличная штука! Будем использовать их чаще!
>>2639230 И вот тут начинаем подбираться к тому, чем джун отличается от мидла и почему вообще программисты (в широком смысле) столько зарабатывают. Потому, что это пиздецки сложно и хорошо могут делать не только лишь все, мало кто может это делать. А главное, как перестать быть вкатышем и добиться успеха хотя бы в разработке. Бонусом сразу повторю: чтобы развиваться дальше нужно в той или иной степени знать всё, от архитектуры процессоров, до высокоуровневых абстракций всяких кубернетисов и понимать, какие ограничения накладывает каждый слой. Был свидетелем большого дебага стайки мидлов. Сервис работал медленно, хотя система не была нагружена от слова совсем. Как оказалось он упирался в какие-то лимиты по иопсам, хотя казалось бы пишет не слишком много. Меня успели привлечь как спеца по Линуксам незадолго до появления сеньора, который диагностировал проблему за 3 минуты у компа и потом не прошло и часа, как нашёл проблемный говнокод (деталей уже не помню, но там что-то в духе "для чтения каждой строки большой файл перечитывался целиком", у кодера на локальном NVME не возникало вопросов, а когда сервис в проде стал писать по сети в Ceph...). Кстати, если что, сервис был написан на сях, как показывает моя практика, говнокодить на сях проще. Это я к тому, что Сеньор, хотя и кодер, но настолько знал кучу всего за пределами написания кода, что почти мгновенно порешал вопрос. А те, кто живёт как в том анекдоте так и останутся там, где сидят. Собственно анекдот: > В: Сколько нужно программистов, чтобы вкрутить лампочку? > О: Нисколько, это аппаратная проблема.
Что-то я распизделся. Извините, я так отдыхаю. Вылил в колу остатки Barrister и пишу на двощ. А ещё считаю, с какой высоты нужно сбросить гирю, чтобы она пробила канализационный люк. Пока застрял за вычислением Δt остановки гири от набранной скорости до 0 при контакте с люком. Кажется, действительно без эксперимента не выяснить, пробьёт люк или нет. Получается так: h = (7812,5 × Δt)^2/19,6 (м) для абсолютно неупругого удара в вакууме.
>>2639266 С марией не работал, но MySQL был несколько примитивнее постгреса, когда я ковырял этот вопрос в прошлый раз. Не радикально, но чувствовалось, что Постгря переросла опенсурс-конкурентов и вплотную подходит к самым крутым фишкавм тыртырпрайза (например, в Oracle и MS SQL давно нет никаких ограниений на размеры блобов, длинны строк и прочее). Но тут такое. Мы же не в SQL-треде, а у питонистов. Для питониста, работающего с СУБД через абстракцию в коде типа SQL Alchemy, между реляционными СУБД разницы нет вообще. Если, конечно, ограничиться стандартными строковыми реляционными СУБД. А вот когда в дело вступают Key-Value (Redis, etcd), noSQL (Mongo) или хотя бы столбчатые СУБД (ClickHouse), там начинается всякое.
>>2639320 mysql стартовала простой базой для селюков, на противовес энетерпрайзным орацле и прочей хуйне. Взлетела она на связочке пхп + мускл - это набор вкатыша нулевых и времен взлёта веба в целом. Потом то самое орацле купило мускл где-то на исходе пика его популярности и начало там вводить свои порядки. Оригинальный автор форкнулся и запустил марию, которая суть современный мускл, а сам мускл там тоже что-то копошится, но всем уже похуй. А постгрес это что-то среднее между рсубд для норота и рсубд для энетрпрайза.
>>2639366 >Они там ебанутые или мазохисты? Я код не видел, в задачу, которую оно решает не вникал, для меня это был тупо бинарь, который запускается как сервис, а что он делает меня не ебало. Когда пришёл Сеньор и нашёл ботлнек, я с чистой совестью ушёл работать по основному профилю, а потом со слов коллег примерно запомнил этапы расследования, помню, что там даже при небольшом потоке данных в небо летели именно IOPS. Это всё тупо было рассказано, чтобы подчеркнуть, что разница между хорошим спецом и так себе - в том, сколько он всего знает за пределами ЯП и предметной области. Сами ЯП мидлы могут знать даже лучше.
>>2639355 Эт, да. Сам застал тот период. И некогда поднимал на виндах Denwer ( http://www.denwer.ru/ ). Но уже тогда попадалась эта новость: https://habr.com/ru/post/26289/ Чтобы понимать, с "серьёзным решением" тогда ассоциировалась только OracleDB, да где-то около болтался M$. С тех пор... Собственно про мускуль я с тех пор считай и не слышал, когда говорят про опенсурсную РСУБД теперь почти всегда имеют в виду постгрю. Даже интересно, в каких направлениях они сейчас развиваются, вроде, все несколько лет назад грозились чуть ли не ИИ для составления оптимальных планов запросов, догадывающихся, что хотел юзверь.
>>2639366 >Они там ебанутые или мазохисты? Я код не видел, в задачу, которую оно решает не вникал, для меня это был тупо бинарь, который запускается как сервис, а что он делает меня не ебало. Когда пришёл Сеньор и нашёл ботлнек, я с чистой совестью ушёл работать по основному профилю, а потом со слов коллег примерно запомнил этапы расследования, помню, что там даже при небольшом потоке данных в небо летели именно IOPS. Это всё тупо было рассказано, чтобы подчеркнуть, что разница между хорошим спецом и так себе - в том, сколько он всего знает за пределами ЯП и предметной области. Сами ЯП мидлы могут знать даже лучше.
>>2639355 Эт, да. Сам застал тот период. И некогда поднимал на виндах Denwer ( http://www.denwer.ru/ ). Но уже тогда попадалась эта новость: https://habr.com/ru/post/26289/ Чтобы понимать, с "серьёзным решением" тогда ассоциировалась только OracleDB, да где-то около болтался M$. С тех пор... Собственно про мускуль я с тех пор считай и не слышал, когда говорят про опенсурсную РСУБД теперь почти всегда имеют в виду постгрю. Даже интересно стало, в каких направлениях они сейчас развиваются, вроде, все несколько лет назад грозились чуть ли не ИИ для составления оптимальных планов запросов, догадывающихся, что хотел юзверь. Надо будет почитать.
>>2638982 Редис — это не совсем БД, она не записывает каждый чих на диск. В случае отключения питания несохранённые изменения проёбываются.
Монга норм, особенно нубу будет понятно. Но когда понадобится хоть что-то сложнее крудов, монга будет заметно посасывать у реляционных БД.
Из реляционных бери постгрес или sqlite. Первый помощнее и в виде сервера, с многопоточными транзакциями. Второй попроще в виде библиотеки, встраиваемой в приложение, больше подходит для клиентских приложений, чем для серверов. В реляционных БД будет самая мякотка в виде джойнов, с помощью которых можно сделать почти всё.
>>2638982 Да, ещё. С Базами сейчас уйма всякого, но есть одна максима. Изучение реяционных баз следует начинать и заканчивать одной книгой (она, правда, дохуя огромная). Это книга Кристофера Дейта "Введение в системы баз данных". Крайне исчерпывающий труд. Потом только по NOSQL подтянуться и всё.
>>2639541 Во-первых работать с питоном в линуксах. Минимум в WSL, но лучше на настоящем лине, чтобы и Докер был и прочие шняги. Это снимает прям дохуя проблем сразу. Касется не только питона. Во-вторых приучайся работать в venv'ах, благо настраиваются они за две команды и любые косяки потом устраняются влёт, просто пересозданием виэнва.
>>2639045 Сейм, как же у меня горит жопа от того что математики выбрали пистон исключительно потому что им было лень потратить 1-2 дня на освоение нормального языка.
>>2639790 Затем, что виенвы создаются и настраиваются за секунды и сохраняют состояние, пока нужны, а контейнеры требуют постоянного обновления кода и перезапуска. Конечно, можно быстро накидать CI/CD и вот это вот всё, но это отдельный вопрос.
>>2639790 Venv, как по мне, слишком кардинальные. Для большинства задач хватает piploc, где как в жс, локально pypackages, как node_modules ставятся. Так-то уже надо и poetry пробовать.
>>2639792 Для одного человека 1-2 дня. Для миллиона человек это 1-2 миллиона дней. Всё правильно сделали я считаю. И всё это взамен пары мимокроков, которые повозмущались в треде на дваче.
>>2639874 >Для одного человека 1-2 дня. Для миллиона человек это 1-2 миллиона дней. Всё правильно сделали я считаю. И всё это взамен пары мимокроков, которые повозмущались в треде на дваче. Ты не понимаешь! Как можно писать код без швитых фигурных скобочек? Это же бездуховно.
"Объявите вещественные тензор x размера (3, 4, 5) и тензор y размера (2, 6, 3), иницилизируйте их равномерным распределением."
x = torch.FloatTensor(3, 4, 5).uniform_() y = torch.FloatTensor(2, 6, 3).uniform_() "Создайте их копии на GPU," x_cuda = x.cuda() y_cuda = y.cuda() "выведите их сумму и разность"
Как их можно сложить/вычесть? В x лежит 60 значений, в y лежит 36 , а в ответе тензор размера (4,4,5) на 80 значений.
Я думал что возможно x можно решейпнуть и 12 значений перекинуть в y ( y тоже решейпнуть перед этим) Но все равно получится в x и y по 48 значений , а в ответе 80 значений
Зачем в SQLAlchemy у сессии есть open, close, commit?
Уже много лет использую алхимию вместе с FastAPI, на разных коммерческих проектах, и нигде ни разу в коде не видел и не могу найти ни намёка на эти ключевые слова?
Нахуя они? Почему без них всё работает?
Просто создаётся сессии, и используется в рамках всего запроса. Всё.
НО во всех примерах обязательно у всех with, open, close, commit. Почему так?
>>2634086 (OP) Привет всем в этом уютненьком тредике. Нужна помощь джангистов, которые запускали свои небольшие проекты в большой мир.
Вот у вас есть, к примеру, репозиторий на гитхабе с вашим проектом. Как вы запускаете этот проект на боевом сервере? Есть какой-то простой способ? Просто самый короткий видос идет 20+ минут, и там колдовать много нужно. А если я выкачу какой-то багфикс, получается, все это колдунство заново делать?
Функция выполняет определенные вычисления и их результат мне нужно: 1) вернуть и записать insert в БД 2) вернуть полученный результат и отправить в следующую функцию 3) вернуть счетчик количества выполнения данной функции Как сделать, чтобы 3 разных вида данных были возвращены одним return?
>>2640427 Колдовство идёт вокруг инфраструктуры. Тебе же надо настроить веб-сервер, всякие гуникорны, базы данных и т.п. вещи.
Их можно поместить в докер, чтобы проще было разворачивать инфраструктуру на новых серверах, и другие варианты есть.
А когда ты делаешь апдейт кода на существующем сервере, если нет серьёзных изменений, то надо просто одной командой будет перезапустить твой сервис.
Сам сервис можешь запаковать в докер и перезапускать докер-сервис, можешь через какой-нибудь supervisord или аналог, если красноглазый, то можешь оформить SystemD юнит для него и перезапускать через systemctl
>>2639438 MySQL и MariaDB очень много разных движков содержат
Исходно MySQL была под веб, MyISAM движок, без поддержки транзакций, но зато жутко быстрый и с каким-то нужным для веба функционалом, быстрым. Ну вроде автоинкрементов, count(*) и т.п.
Не было поддержки триггеров, хранимых процедур, ничего.
В общем это была совсем другая сфера применения, чем то, где настоящие БД использовались. Потом MySQL стали развивать, добавили новые движки, вроде InnoDB, где уже транзакции и всё такое, но нет той скорости, что в MyISAM. Ещё какие-то движки есть, но основные вот эти два.
Плюс исходно ещё у MySQL лицензия была такая, что там бесплатно только для веб-применений можно было её использовать.
На InnoDB это уже полноценная БД.
Свои плюсы-минусы по сравнению с Postgres есть, но как полноценная БД постгрес старше. И вроде бы всё-таки покрытие серьёзными фичами шире.
MariaDB тоже активно используется. Если у тебя настольное приложение, то эта база удобнее, проще данные переносить, там для каждой базы отдельный каталог, можно тупо на флешке копровать, с посгрёй сложнее намного.
>>2639500 >Редис — это не совсем БД, она не записывает каждый чих на диск. В случае отключения питания несохранённые изменения проёбываются. Вообще записывает, там разные режимы есть, смотри на AOF ( (append only file), это когда каждая команда, которую редис получает, логируется и по этому файлу восстанавливается состояние.
Современный редис очень-очень серьёзная штука с кучей фукнционала, объединяет и документ-дб в себе, и очереди, что-то вроде кафки.
>>2638982 Редис обязательно нужно изучать. Монго не нужн совсем. Из SQL баз, полезно sqlite, такой ущербный sql, и какой-нибудь полноценный SQL тоже надо.
Уже в коробке, ничего ставить не надо, работает под любыми ОС, тебе не надо возиться с инфраструктурой, чтобы поставить базу, настраивать доступ и т.п.
Куча примеров, хорошо документировано.
Но это ограниченный SQL, там не всё есть. Но как вводная часть достаточно, плюс практичная штука в любом случае.
>>2640427 По классике ты перезаливаешь код и дёргаешь серверу сигнал, он перезагружает приложение без даунтайма. Если есть миграции, их нужно провести до раскатки, и нужно чтобы они были совместимы со старой версией. Деплой это на самом деле пиздец как сложно.
>>2640932 Далеко не факт что проще. Лучше всего не выёбываться и использовать ту же самую БД, что будет в боевом сервере. Там не ограниченный SQL, он там просто другой, колонкам даже типы не обязательно указывать, так как они динамические и могут отличаться от строки к строке.
>>2641411 ДружокТоксичное хуепутало, тебе пора перестать долбиться в глаза и прочитать что он несколько лет так делает. Хотя фастапи может быть и синхронным.
>>2640926 А чё они не сделали fsync по коммиту сразу нескольких команд из разных потоков как у всех? Разве что everysec ставить, что почти как снепшоты. Баловство, а не редис. Хуёвый документдб, хуёвая кафка в одном флаконе.
>>2634086 (OP) Привет, питончики. Вползаю вот потихоньку и немного охереваю. Пикрел, сегодняшний литкод. Так как надо на самом деле? Почему я обсираюсь? Зачем вообще селф указывать и нельзя ли объявить функции без него и не пердолиться? Змея третья, к слову. В студии 3.7, в литкоде 3.10, но вряд ли разница из-за этого.
>>2640427 >Есть какой-то простой способ? Просто самый короткий видос идет 20+ минут, и там колдовать много нужно. А если я выкачу какой-то багфикс, получается, все это колдунство заново делать? Прям ПРОСТОГО способа нет. Есть олдскул и ньюскул.
Олдскул: ты берёшь хостинг, платишь за аренду сервера, на нём стоит какой-то апач, который работает с питоновским модулем или нжинкс, который ты заруливаешь в Gunicorn (настройки зависят от хостера, насколько я понимаю), после чего сайт работает, а обновление кода делается копированием изменившейся папки проекта (например, git pull можно попробовать), я с такими вещами общался мало, только со стоатикой и пыхой, так что подробнее не расскажу.
Ньюскул же даёт возможность работать прям ну очень удобно, всё будет делаться само... НО перед этим придётся изучить обвязку. Согласно ньюскулу ты идёшь к ОБЛАЧНОМУ провайдеру, настраиваешь там Serverless (или лдегаси какое-нибудь, например, K8s), в репозитории создаёшь CI/CD, которое будет на каждый коммит упаковывать твой продукт в контейнер, выкладывать в реджистри и каким-нибудь хуком пинать обновление на дев/тест/стейдж/проде. Там можно сделать дохуя всего, например, автотесты, чтобы сервис не упал из-за ошибки в коде. Про это я могу рассказать немало. Тут момент в том, что именно настраивать в первый раз - заебёшься, зато потом работать станет намного проще и удобнее. На галерах поэтому выделяють отдельных людей.
Как сделать E501 line too long (82 > 79 characters) ворнингом вместо ошибки? Что надо настроить в flake8? Мне поебать что в паре мест превышена длина строки, пусть жёлтым подсветит, а не красным.
>>2641982 Конкретика со старым форматированием: %s - вставить строку %d - вставить число %05d - то же самое что %d, но с параметром заполнения на 5 нулей слева Это очень похоже на сишный printf.
Где взять опыт Python, как попасть на стажировку? Спустя три месяца поисков работы, немного опускаются руки. Что имеем сейчас, есть 4 года опыта работы в 1С, пишу свой сайт, есть на гитхабе, писал скрипты на python, оформил резюме на англ. Что в итоге, все рекрутерши задают один и тот же вопрос "какой коммерческий опыт на python", после чего все сливаются. Пытаешься объяснить, что за 4 года, пускай и работая в другой сфере, но все же знаешь что такое коммерческая разработка, проекты, дедлайны, работа в команде, работа с клиентами и что язык это всего лишь инструмент. Короче вообще не ясно, как можно джуну набить опыта, свой проект им не интересен, другой опыт не интересен, думал насчет фриланса, но говорят фрилансеров тоже не особо любят. Поделитесь своим опытом, кто как искал работу?
>>2642556 >Пытаешься объяснить, что за 4 года, А она такая сидит, смотрит на тебя и думает, что конечно ты верные вещи говоришь, но как только она покажет твое резюме заказчику, первое, что она услышит, будет "Ты что ебанутая? Мы рассматриваем кандидатов ТОЛЬКО с несколькими годами коммерческого опыта и только на PYTHON".
Здарова мужики. Как из одного виртуального окружения создать другое и вызвать из него скрипт?
Сейчас делаю так. В первом скрипте, который в перовом venv вызываю такую комманду "bash -c 'env; cd /tests/ && source /opt/rh/rh-python36/enable; python3 -m venv .venv3; source .venv3/bin/activate; env; deactivate'". Надежда была на то, что новый процес баша унаследует старый venv, создаст новый и при активации перепишет свои переменные окружения новым venv. Но что-то пошло не так. Обе env комманды, и до активации и после пишут одинаковый результат. С переменными из первого окружения. Хотя когда пишу этот скрипт прямо в консоли, то всё работает и я не выходя из своего окружения создаю новое. В чём может быть проблема и как такое правильно делать?
>>2642556 Может ты не к тем стучишься? На стажировку за миску риса вообще нихуя не нужно, только базовый опыт использования языка, какой ещё блядь коммерческий опыт. Как будто на позицию мидла претендуешь. Попроси рекрутёршу провести с тобой техническое интервью, чтобы тебя кодер посмотрел, если точно уверен в скиллах.
>>2642690 Пытался. Если в начале скорипта вписать deactivate, то он пишет, что комманда не найдена. Специально из своего скрипта вызываю баш стобы новый процесс создался и мог сменить venv. Почему-то не может. Подскажи как изъебнуться чтобы мог?
>>2642696 Ну так само собой, переменные окружения наследуются, а функции нет. Deactivate это функция, существует только в том процессе где её определили, её нельзя наследовать/экспортировать.
>>2642700 >а функции не И как быть? А если вместо деактивейты я вручную верну в новом процессе переменные как было, то потом активейт второго venv заработает? Или может можно как-то создать процесс, который забёдет все недэфолтные переменные родителя?
>>2642703 Так мне не только путь к интерпретатору надо. Я одну зависимость через pip установить, которое в первое нельзя и положить маленький скрипт, который импортирует эту зависимость и вызывают одну нужную мне функцию. Тут 100% нужен pip и venv
Кстати а если вместо второго venv докер контейнер собрать, то это же явно попроще будет?
>>2642706 Нужно в свежем (суб-)шелле делать activate + всё что ты хотел там выполнить. Почитай как форкается шелл. И да, можно не наследовать переменные окружения. Алсо, activate по сути сбрасывает предыдущий venv, почитай исходник.
>>2642706 ну вызовешь /opt/venv/py-311/bin/python -m venv /opt/venv/py-311-alt а потом /opt/venv/py-311-alt/bin/python -m pip install something а потом /opt/venv/py-311-alt/bin/python some-script.py
>>2642710 >>2642706 Короче, смысл в том, что питон, когда ты запускаешь его по глобальному пути из каталога с venv, работает так, как будто ты его запускаешь из активированного виртуального окружения.
Ты таким способом можешь использовать pip для этого виртуального окружения и т.п. Всё работает очень надёжно и прозрачно.
Я вот никогда activate/deactivate не пользуюсь. Даже просто в консоли, не говоря уже про скрипты.
>>2642711 >>2642710 Спасибо. Получилосб. Только прищлось ещё сделать unset PYTHONPATH т.к. этё переменую venv не обновляет почему-то
>>2642715 Легаси. На втором питоне с помощью virtualenv создаётся окружение для запуска теста. Конфиги теста и тест-ранер уже на третьем питоне. Годами тесту ничего не нужно было знать про его конфиги. Но вот внезапно понадобилось чтобы тест свой конфиг брал, чуть-чуть менял, конвертировал в новый формат и посылал снова ранеру чтобы тест ещё раз снова запустился с теми же данными (бесконечный тест, который будет месяцами работать в поисках редких рэйс кондишенов и утечек памяти). А для конвертации из старого формата конфигов в новый нужен один из пакетов ранера написаный на третьем питоне. Установить его в виртуальное окружение теста и импортнуть нельзя т.к. там второй питон. Поэтому нужно рядом ещё одно venv с этим пакетом и маленький скрипт, который просто импортнёт одну либу из этого пакета и вызовет функцию конвертации конфига (тест передаст в параметрах коммандной строки старый конфиг). Всё. Легаси жудткое, но так надо.
>>2642722 Из двойки можно сделать os.spawnvpe, где чистятся переменные окружения, ты можешь передать только то что необходимо из os.environ. Спавнишь тройку как тут >>2642710, скрипт выполняется. Баш с activate тоже должен сработать.
>>2642466 Тогда сюда: https://github.com/PyCQA/flake8/issues Но вряд ли что-то изменится, пока не поправят PEP8. На мой вкус "79 символов" это отголосок очень специфичного старого лимита, который сегодня остался только в виде размера терминала по-умолчанию 80 × 24. А повышение длины строки до 100-120 избавляет почти ото всех ограничений по длине.
>>2642556 >как можно джуну А ты не джун. И потому же и вопросы такие к подобному контингенту.
Вы все — пре-пре-пре-кандидат на джуны. Благодаря дичайшей маркетинговой кампании и двухнедельным-двухчасовым курсам по питону с криками «стране не хватает миллиона программистов, а планете требуется сто миллионов питонистов». И обучают вас, по сути, БЕЙСИКУ — скриптовому языку для нехитрой автоматизации под разными сойсами.
И как школьники в начале 90-х, знающие БЕЙСИК, считали, что они программисты, так же и вот эта огроменная толпа двухчасовых курсовиков считает, что они выучив синтаксис Питона стали программистами-разработчиками.
Весь этот подход сильно нивелировал «джуна по Питону». Чтобы им стать, надо будет ещё год-два работать под присмотром.
>>2642556 > за 4 года, пускай и работая в другой сфере, но все же знаешь что такое коммерческая разработка, проекты, дедлайны, работа в команде, работа с клиентами и что язык это всего лишь инструмент.
Чел... КР — это не дедлайны, а паттерны программирования. Вот, просто глазом глянуть для осознания: https://habr.com/ru/post/210288/
>>2642888 Да понятно что это трейдофф. Или у тебя читабельный столб, с обычными текстами точно так же делают, читать колонку легче, чем строки на всю ширину экрана. Или ты меньше тратишь времени на переформатирование пока пишешь, меньше глупых разложений на много строк. Некоторым ещё diff/несколько файлов нравится смотреть в 2-3 колонки.
>>2642743 Нейросети на Питоне не делаются. Все нейромодули программируются на C/С++ и других быстрых языках, затем компилируются.
Из медленного питона осуществляется вызов модуля, не более.
А сделано так потому, что тупорылых разметчиков, да и всяких м.н.с., не обучить сложному языку. Им дали простой скриптовый понятный язык, чтобы они автоматизировали свои действия, а в сложные дебри не лезли. Сложные дебри им пишут программисты-математики на сложных быстрых языках.
>>2642936 >Из медленного питона осуществляется вызов модуля, не более. Программы на питоне не пишутся на питоне, потому что из медленного питона вызывается библиотека на C
>>2642556 >Поделитесь своим опытом, кто как искал работу?
Никто не поделился. Потому что работы на питоне нет, сайтов на питоне нет. Или ты на серьезных щах думаешь что вася с нижних верхушек сможет как гугл создать ютуб? Для сайтов есть пхп и жс....
Питон это как тут уже выше сказали бэйсик для экселя. Всё. Если твой эксель не статистика и всякая сложная математика, то не стоило браться за питон. Вроде 1с программист с реальным опытом, а повелся на лох-язык для лохов. Питон не плох, для всякой фигни наподобие батников, или как язык для тех кто вообще представления о кодинге не имеет. Но ты-то ты-то профессиональный программист с 4 годами опыта зачем-то выбрал питончик
>>2642956 Я знаю, сидит настоящий математик и делает свои модели на питоне, потому что в рот ебал еблю с памятью и прочие undefined behavior. Когда он заканчивает, то смотрит в сторону параши и орет "ПАЦАН ПЕРНУТЬ ХОЧЕТ". Из под параши вылезает прикладной "математик"-плюсовик, подбегает к настоящему математику и занюхивает его пердеж, потом бежит к форточке попутно решая очередную проблему с переполнением стека и отсутствием указателя на указетель и в конце концов выдает выдыхает это на улицу.
XPATH не понимать. В чём отличие выражений пикрил, анон? Реально не вдупляю. Насколько хватает моей логики 1. в первом случае явно указан относительный путь до вхождения блоков с тегом /tbody, а далее раскрываем так же относительно любой из первых тегов который следует за тегом /tbody - любой, содержащий указанный текст. 2. во-втором случае же указано, что от тега //tbody мы спускаемся по дереву в самый низ до последнего тега, в котором может содержаться указаться текст. В чём я не прав и почему именно квадратные скобки? В чём отличие path/path от path[path]?
>>2643029 В первом случае у тебя результатом будут сами теги с текстом sometext. Во втором результат — это тег tbody, внутри которого где-то есть sometext.
>>2643080 Я очень удивлён, но я всё понял. Не зря ты погромировываешь, ведь помимо понимания ты умеешь в объяснение. Спасибо тебе, анон. Во-втором варианте удобнее обращаться к сиблинкам.
>>2642996 То, что на Питоне ты не программируешь нейросети, а просто подбираешь к ним коэффициенты и параметры, к готовым моделям и бибилиотекам. Программируют нейросети на С++.
Никогда не говори «программирую нейросеть на Питоне», чтобы не позориться. Это всё уровень обслуги и разметчиков данных.
Настоящее программирование происходит в другом месте.
Как будто выученный питон — это невозможность выучить C++/JS/etc. Как будто к нейросеточным модулям никто не делает апи на питоне. Как будто нужно обязательно знать C++ чтобы обучать нейросети. Как будто нельзя на питоне делать сайты или серьёзные проекты, яндексы инстаграмы гуглы дропбоксы — это так, шутка. Как будто нельзя на питоне делать эффективные вычисления с numpy/etc. Как будто на C++/JS есть удобные интерактивные ноутбуки для проверки гипотез и построения графиков/диаграмм.
Я конечно понимаю вашу фрустрацию после курсов и последующего поиска работы, но таки да, одного питона мало, учиться нужно постоянно.
>>2643108 О как раскудахтался C++ петушок. Никто не ценит твои 10 лет опыта на C++? Школьник пришёл и сделал на питоне за неделю то, что ты делал целый год? Сочувствую.
>>2643119 >Как будто нужно обязательно знать C++ чтобы обучать нейросети. Так это сервисная работа. Для обслуги. Разработка — это гораздо выше. Там и интеллект нужен.
>Как будто нельзя на питоне делать сайты Зачем? Он медленный для этого. Особенно, для высоконагрузочных проектов.
>яндексы инстаграмы гуглы дропбоксы — это так, шутка. Питон там, где труд яндекс-макак, на высоконагрузочных местах никакого питона и близко нет.
>Как будто нельзя на питоне делать эффективные вычисления с numpy/etc. Можно-можно. Это и есть работа макаки или младшего научного сотрудника, которому не нужны ЯВУ, а нужна статистика и обсчёт данных для научной работы старшего руководителя.
>>2642951 Двачую этого. Новички, пожалуйста, ни в коем случае не лезьте в питон, это всё обман. Идите в джаву, джаваскрипт, пхп и прочие живые развивающиеся языки, на питоне нет работы и нет проектов, он нигде не используется, это всё наеб гоев на деньги.
>>2643160 Так это охуенно, занимаешься работой, с который справится тупая мартышка, а получаешь столько же бабосиков, сколько потный задрот-гейткипер, 5 лет протиравший жопу в универе, а сейчас пыхтит над байтиками в своих плюсах.
>>2643188 >получаешь столько же бабосиков, сколько потный задрот-гейткипер Это просто тебе так говорят, чтобы поддерживать твой положительный эмоциональный фон. Кабанчики плохо толстеют. и плохо работают, если грустят. ИТ — одна из областей с жесточайшей иерархией. Это я ещё в 1997 году уяснил, тебя тогда проектировали только.
Супь, господа. Вопрос. На пике графики из линуксовой программы "Baobab" aka "Анализатор использования диска". https://wiki.gnome.org/action/show/Apps/DiskUsageAnalyzer http://www.marzocca.net/linux/baobab/baobab-ringschart.html Я тут проектирую приложеньку гуёвую и мне в ней очень хочется иметь максимально такой же график, чтобы отображать иерархически вложенные кольцевые диаграммы. Подскажите. пожалуйста, как эту хуйню можно реализовать на пайтоне? Вопрос со звёздочкой: при наведении на папку на графике в баобабе появляется список вложенных папок с лолипоп-указателями и возможность по клику сделать эту папочку центром графика, это я бы тоже хотел видеть у себя, то есть график должен быть не просто рисунком, а понимать, что над ним возюкают мышем. В общем хотел бы максимально повторить функционал, но пока не нашёл, как на пистоне такое рисовать. Даже не нашёл, как это правильно называется, только ringchart, но по этому слову не нахожу ничего. https://habr.com/ru/post/502958/ https://habr.com/ru/company/otus/blog/540526/ И, сразу: Tkinter/Qt/etc? Надо будет кроссплатформерно. А потом ещё и веб. Пока вспоминается институтский опыт и лаба по дискретной математике с рисованием графов на TCanvas... Но уж больно дохуя писать самому придётся. Сам Баобаб написан на какой-то хуйне под названием Vala и является она куском ГЛиб для написания ГТК-софта. Его код не особо помог с пониманием, как это делается. https://habr.com/ru/post/99885/
>>2643119 >Как будто выученный питон — это невозможность выучить C++/JS/etc.
Прост можно было сразу учить жс и с++, а то потратят время и силы на питон, а потом сукзащооо и обидно становится, что просрал полимеры свои практически в пустоту
Проигрунькал с НАСТОЯЩЕЙ РАЗРАБОТКИ, тот самый ДУХ дрочева с указателями, разыменовыванием и уход за границы массива. Спасибо, пожрал это в универе, лучше дальше на питухоне сидеть. С радостью бы перешел с питона на го на текущем проекте, но мне за это не платят. А платят за рефакторинг хуевого питоновского проекта на новый хуевый питоновский проект.
>>2643267 Потому что хуёво ищут, либо большинству не хочется на старте получать 60-80к, сразу 150к подавай, как на курсах учат. Ещё и ТВИТТЕРСКИЕ ВОЛКИ учат пиздеть про опыт, из-за чего рынок заполнен этими олигофренами. А реально такая, что если хочешь в ит, но не знаешь чем заниматься, то попробуй питон/жиес, и если это твоё, то и дальше этим занимайся. А сразу лезть в плюсы/раст/жаву/шарп нужна цель и причина для этого, т.к. времени и сил на вкат будет затрачено больше.
>>2643320 >фласт апи >джанга >архитектура компа >микросервисная арихтекрута >сети протоколы и т.п. >базы даных скл пострскл мууубдб >паттерны >хадуп >жира конфлюенс >докер >етл апачи >коммерческая разработка на питоне только на питоне от 2 года
>>2643340 Начинающему жиесеру реакт/экспресс "знать" не надо? Начинающему жависту спринг/гибернейт "знать" не надо? Начинающему шарписту асп.нет/энтити "знать" не надо?
Работа с жирой в опыте это ЖИРНА, как и архитектура компа, сетей и т.п. Проблема может быть разве что только с теорией, если там у работодателя ооп и паттерны головного мозга, либо если ты на собесе после ретурна брейк пишешь. В остальном это всё нарабатывается в процессе обучения.
>>2643369 Зачем работодатель толстит? Я вот не прогер пока что, но в моей области это секретная информациятребования часто тоже перетолщены и многое из того что там пишут на те должности что я занимал типа владение тайнами окульта и карманной катапультой, чтобы был дворянских кровей и элитой, чтобы была утка и липа, чтобы прошел катсинг на вестерн, примерный семьянин стопроцентный натурал и т.п., я за свои годы тяжелой работы ни разу не встречал эти инструменты и программы и не использовал ничего такого прям часто. Большая часть работы в 1,2 программах и всё. А коллеги тож особо не подходят под выдвигаемые требования.
Ребята и не ребята, где я обосрался? В монго надо закинуть массив данных, но insert_many посылает меня на хуй, говорит, что у нас всё сложно и неоднозначно (закомментировано в коде). https://www.online-python.com/Dpzmw7AM2b
>>2643267 Всё потому же: вкатышков слишком дохуя, предложение кратно превышает спрос, вот и вакансий не видно. Я девопсил контору, где половина кода (и, соответственно, бОльшая часть функционала) была на пистоне.
>>2643388 >Зачем работодатель толстит? Потому что опыт работы с <багтрекер_нейм> это как опыт серфинга твоих любимых досок и тредов в <твоя_любимая_соксетачка>. Это приходит в процессе работы с этим. Ну вот я работал и в битрикс24 и в редмайне и в жире. Пойду в условный яндекс, где свой яндекс.трекер. И типа если я с ним не работал, то меня не возьмут?
Вобще часто так пишут, чтобы отсеять мимолётных / боящихся многабуков / боящихся чего-то ещё, кроме питона. Также часто так пишут, потому что помидоры или лиды или продакты формируют список требований к соискателю вот такой формалистикой, а хрюши это бездумно копируют, сами не разбираясь на что людей ищут.
>>2643412 Выглядит как >кумер >кокер >сакер почему-то, будто пост из /b/ но с небольшой подменой терминов, чтобы оставались узнаваемыми но обходили спум-фильтор.
Основное - автомагизация пайплайна сборки и деплоя. Шоб кодер мог взять таску из жиры, сделать гит пулл, написать код, потом гит пуш и переходить сразу к следующей таске, а всё остальное, включая тестирование и вываливание на прод - делают всякие специальные системы.
Ну и немного соц. инженерии на уровне объяснить за гит[хаб/лаб]-флоу или, скажем, 12-факторные приложения и почему теперь. когда всё в облаках говнокодерам придётся оптимизировать свои поделия, иначе начальство охуеет от переплат за облако.
>>2643267 Да нигде никакого питона нет, вы что не поняли? Питон никто не использует для настоящей разработки! Ни в России, ни на западе, Н И Г Д Е. Питон - ненастоящий язык.
>>2643284 >ТВИТТЕРСКИЕ ВОЛКИ учат пиздеть про опыт Пока есть такие >>2643340 работодатели, требующие за 30к 2 года опыта коммерческой разработки, будут ВОЛКИ, у которых UDP это легаси хуйня которые будут пиздеть про опыт.
>>2643446 Чел собрал в один пост из всех вакансий все требования, а не одной. При этом в 3 из 5 ваклух зп указана от 100к, какие 30к не понимаю. Зато прекрасно понимаю, что из-за высокой относительно средней в рф зряплаты на старте люди пиздят в резюме из-за требования первой строчкой "только от N лет опыта разработки на <фреймворк_нейм>". Правда потом половина жидко пердит на собесах, а половина от тех, кому удалось наебать процесс найма, вылетают после испытательного срока из-за проёбанных задач.
>>2643439 Дык ёпта. Современная разработка так и построена: кодер сделал пуш/мердж в нужную ветку, на билд-серверах запустилась компиляция, потом продукт упаковали в контейнер, развернули в дев-контуре, запустили автотесты (написаны QA-специалистами), потом развернули в стейдж/препрод контуре и пульнули сообщение в отдел QA, там уже люди захотят и нажимают всякие кнопочки, если решат, что всё гут - жмут ок и контейнер выкладывается на прод, без остановки сервиса. Это основная схема и там вообще много всяких приколюх и нюансов (ИЧСХ, даже в сериоус бизнесе далеко не всегда всё так подробно разложено).
Считается, что девопс призван связать процесс воедино, но в жизни... В общем, по разному. Я обычно вижу практику работы девопса как работу админа, пользователи у которого сидят в IDE вместо 1С.
>>2643457 >Зато прекрасно понимаю, что из-за высокой относительно средней в рф зряплаты на старте люди пиздят в резюме из-за требования первой строчкой "только от N лет опыта разработки на <фреймворк_нейм>". Да многие готовые работать хоть за 100к, хоть за 10к - лишь бы взяли. Только нет блядь таких вакансий, вообще нет. А когда появляются - на нее налетает стая готовых работать за еду коршунов. Так что пиздеж со стороны вкатунов в такой ситуации - не от жадности, а от безысходности.
>>2643472 >хоть за 10к - лишь бы взяли. Это какие-то совсем неуверенные в себе, либо которые не хотят работать, но хотят вайтишнуться любой ценой, либо просто глупые в плане поиска работы. И вот в оставшуюся меньшую часть, кому действительно не везёт продолжительное время найти работу, могу поверить, что от безысходности они начинают пиздеть. Правда и тут есть вопрос про время, которое они потратили на поиски. У меня после 24 февраля пошли сокращения и в середине марта уже я сидел без работы, но с 3 окладами. При моём хуёвеньком, но коммерческом опыте на тот момент в 6 лет, искал работу 4 месяца, при этом до 24 февраля мне прилетали КП каждую неделю, а после 24 февраля пара КП и последующих собесов за месяц. И на мидл-сеньор позицию меня много куда не взяли, потому что где-то я не готовился, где-то опыта и знаний не хватило, где-то не понравился собеседующий и я просто на 2 этап не пошел. И уже подумывал учить другой язык, или вообще забить хуй и проедать бабло, и стал унывать и беситься и много бухать, но не стал врать про опыт или знания, который от меня требовали на прошлых собесах и не стал из себя строить ниебаца синьора. А эти твиттерские пиздуны и их говножуи-последователи с рисованным опытом у меня лишь только презрение вызывают. И оправдания про тяжелый рынок это хуйня. Он блять для всех тяжелый, и для мидлов средней руки и для хуёвеньких сеньеров, которые со своих мест также как я повылетали, а потом пердели на собесах.
>>2643459 >контейнер выкладывается на прод, без остановки сервиса Не люблю такое. Нравится хуячить фичи до релиза, а потом уже изредка методично обновлять. Наверное какая-то связанная причина и отторжение к онлаен-игорам вызывает.
>>2643485 >Он блять для всех тяжелый, и для мидлов средней руки и для хуёвеньких сеньеров, которые со своих мест также как я повылетали, а потом пердели на собесах. Да, только вот джуны сейчас даже до собеса не доходят. Негде пердеть. Ты просто не представляешь, какая сейчас жопа началась, потому что до тебя эта жопа не добралась.
А вообще искренне жаль всех вкатунов за то, что тратят время и деньги на бесполезные курсы, надеясь найти потом работу. Поезд с лёгкими деньгами, попёрживая за компутером, уехал, господа. Не то время, не то место
>>2643486 >Не люблю такое. Нравится хуячить фичи до релиза Кто мешает? Ответвился в бранч, пилишь, собираешь у себя по необходимости, довёл до релизного состояния, смерджился в мастера, там его тестируют. А бесшовное обновление вообще реализуется специальной стратегией, см. пик. Правда, есть нюансы с применениями миграций в БД... Но это всё тоже решаемо.
>>2643455 >for (auto& num : list_seq) >{ > num += conflict_foo; >} так, это вышло совсем не по-питонически. Вот так вроде по-змеиному будет: output = [num + conflict_foo for num in list_seq]
С pymorphy2 работал кто? Чет никак не пойму, как мне в словосочетании из нескольких слов ("сборник трудов конференции") выделить главное слово и склонять только его.
>>2643457 >Правда потом половина жидко пердит на собесах, а половина от тех, кому удалось наебать процесс найма, вылетают после испытательного срока из-за проёбанных задач. Понимая это ни разу не пиздел. Ни в резюме, ни на собесах. Правда, у меня есть опыт вката в новую область после устройства с нуля. Так что теперь мне вообще легко. Было бы. Я в последний раз искал работу в 2013-м, с тех пор перебирался на новое место - по приглашению. Репутация делает своё дело. Выебнулся типа. Правда, я зарабатываю не кодингом, а админством, а теперь - девопсом, но код тоже писал всегда, настоящий админ всегда кодит. >>2643495 >Да, только вот джуны сейчас даже до собеса не доходят. Те, кто повёлся на маркетингвый булшит и недостаточно серьёзно подошёл к вопросу - вряд ли стоит большего. Те же, кто что-то из себя представляет, найдут, как заработать. Да хоть на фрилансе. Всё утыкается в интерес. Есть огонёк в глазах? Желание творить? Жажда создать что-то? Или это тупо про галеры и зарабатывание денег?.. Если про галеры, то лучше к станку, благо заводы и цеха открываются чуть не ежедневно. Кстати, там тоже можно зарабатывать дохуя, но придётся потрудиться.
>>2643586 Где ты там срез видишь? Там берётся один элемент. Потом к нему прибавляется число, а потом от инта берётся длина, на этом всё падает не доходя до рандома потому что у инта нет длины! Но даже если бы прошло, то у randrange два обязательных параметра: start и stop, а ты, чудик, передаёшь ему ОДИН параметр, на чём оно упадёт второй раз. При этом текстом ты описываешь совершенно что-то иное.
>>2643591 >Те, кто повёлся на маркетингвый булшит и недостаточно серьёзно подошёл к вопросу - вряд ли стоит большего. Те же, кто что-то из себя представляет, найдут, как заработать. Да хоть на фрилансе. Только вот у эйчара, который фильтрует сотни резюме, нет встроенного определятеля серьезности кандидата и удаленного определения блеска в глазах. Это всё выявляется на собесе, а до собеса не доходят как случайные вкатуны, так и те самые творцы с огоньком. А знаешь кто туда доходит? Пиздоболы, которые не считают зазорным подкрутить опыт. И вот ты тот самый творец с огоньком в глазах, и у тебя две альтернативы - либо ты сосешь хуй вместе с вкатунами, либо пиздишь и занимаешь место, которого ты достоин.
>>2643602 >randrange два обязательных параметра: start и stop, а ты, чудик Напиши завтра заявление по собственному, идиот. Школьник узнал, что ренджи умеют в один параметр. https://www.online-python.com/T1Jir27Nb0
Питоны, кто-нибудь тут с Гулг Колабом работал? Можно ли в нем посмотреть подключен гугл диск к окружению или нет? Подсоединяется он drive.mount(%путь%), а вот как посмотреть какой это %путь%, всю документацию облазил и не нашел метода для этого.
блядь, питонач, реквестирую помощь сеньеров-помидоров. я не могу управиться с потоками.
у меня есть класс, у которого метод должен работать через потоки, но эти потоки должны работать последовательно, ожидая друг друга и не завершаясь через join. вы спросите: нахуя мне потоки, которые работают друг за другом? я вам отвечу, что это необходимость tkinter. потоки обязаны присутствовать в моей ситуации.
стоит уточнить что я имею ввиду. у меня через класс создается объект task и у него метод run, который работает через поток. соответственно, если у меня много тасков, то нужно выполнять их по очереди с задержкой 3 секунды, и выполнять до тех пор, пока я не завершу таск методом delete. основная проблема, что потоки работают одновременно, что логично, но мне необходимо, чтобы они ждали выполнение одного потока и выполнялся следущий
Уже создавал сегодня тред в /b, потому что там активность больше, но результат ожидаемый, поэтому спрашиваю тут. Не имею возможности писать сейчас с компа, поэтому установил себе Pydroid3 на телефон и не могу в нем импортировать модули из нужных мне директорий. Ни sys.path.append, ни PYTHONPATH не помогли - пути в них добавляются, не не сохраняются. Т.е. пока у тебя есть в модуле этот кусок кода (пик), то все ок, но стоит завершить сессию и путь исчезает. Убил четыре дня на поиск ответа, от меня от души если поможете.
>>2644415 Так и должно быть. Чтобы эти пути/PYTHONPATH всегда добавлялись, обычно нужно менять конфиги системы, либо делать алиасы. В твоём случае всё зависит от pydroid, если он такое не умеет, то придётся всегда этот сниппет добавлять.
>>2644649 К дополнению сказанного. Брат, ты мне вообще охуенно помог! Без тебя бы не догадался. Короче, я взял этот код, переименовал в al и кинул в директ путей в которых он ищет - после чего я импортирую этот модуль, а уже следом импортирую из той папки что мне надо. Да, небольшой костыль, но ничего лучше судя по всему не сделаешь. Во у тебя умная голова, ещё раз ей спасибо
main.py ( в нем import run() from run ) run.py ( в нем import file1 file2 file1.py file2.py ( в нем import file3) file3.py
Пытаюсь скомпилить run.py file1.py file2.py file3.py в одну единственную красивую либу .so и .pyd с помощью cython, но нихуя не выходит. При попытке перечислить их в аргументах build_ext = cythonize(['run.py', 'file1.py', 'file2.py', 'file3.py']) как в примере на сайте cythonа написано, оно просто делает по одному .c и по одной либе на каждый файл, красиво в одну либу не компилит.
На сайте написано что-то про эмбеддинг через что-то ещё но там нет подробностей, не могу разобраться.
Задача: обеспечить запуск модуля через эмулятор терминала после его установки через pip.
Допустим, пакетирую модуль fooscrypt.py
На testpypi модуль заливается легко.
После его установки через pip модуль становится доступен для импорта, но отсутствует в $HOME/.local/bin. Как исправить? Хочу запускать скрипт так: $ fooscrypt
Что можно исправить на этапе пакетирования?
from setuptools import setup, find_packages
def readme(): with open('README.md', 'r') as f: return f.read()
setup( name='fooscrypt', version='0.1.0', license='CC0', description='Monitor and log user/system CPU times of the selected process', long_description=readme(), long_description_content_type='text/markdown', packages=['fooscrypt''], install_requires=[], classifiers=[ 'Programming Language :: Python :: 3', 'License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication', 'Operating System :: POSIX :: Linux', 'Topic :: System :: Monitoring' ], keywords='linux', python_requires='>=3.3' )
Не могу найти работу на питоне. Только какие-то нейросети, машинное обучение, бигдата, статистика со всеми вытекающими требованиями типа высшее образование по профилю математика и т.п. Я матан не знаю же
>>2645009 Питон не для работы, а тем, кто уже имеет работу, связанную с найкой или нейросетями, для удобства работы. Это не язык, а интерпретируемый примитивный скрипт, понятный любому малограмотному. Типа VuisualBasic или Lua.
Нужно в блоке try кроме попытки выполнить действие, еще вернуть значение. Например: try: __read_file __return("OK") excet KeyError: __return("Ошибка") По задумке, мне нужно только проверить читается файл, а как уже не важно. Если он не читается или не найдет, то вернуть ошибку. Как сделать, чтобы файл прочитался и вернуть ОК?
>>2645629 Вопрос привычки, не более. А вот если ты не можешь перестроиться, у тебя пизда с абстрактным мышлением и вероятно ограничение по карьере. Дорога в пиздологи креслопросиживательные.
>>2645650 Чушь. Когда тимлиду или пму, чтобы пояснить чем занимаюсь, объясняю алгоритм русским языком, то кринжа не возникает. Вообще не вижу трудности объяснить алгоритм на естественном языке. Если ты не можешь это сделать, то одно из двух 1) ты непонимаешь проблемы и просто скопипастил код со стаковерфлоу 2) у тебя проблемы с абстрактным мышлением и ты не в состоянии отделить идею от кода
>>2645664 Так тыж не с нейтивами общаешься, я вот имею опыт общения с ними, и спрашивал прямо, не кажется ли это им кринжем вот это все программирование словами на их языке, они прямо отвечали, что да, пиздец кринж, типа приказываешь железяке что-то и оно работает. Не кринжуют только кодомокаки из других стран, типа европки, индусов и прочих, т.к. для них это каргокульт и крута.
>>2645411 То то в линуксах и важном софте постоянно утечки находили и до сих пор находят, что аж раст сделали, что бы всего этого избежать. Мне кажется, что ты даже на плюсах не особо пишешь, а просто жирный или шиз.
А на вопросики по джанге ответите, не обоссыте? Пилю онлайн магазин, нужно добавить дополнительные характеристики для продуктов, да так чтобы пользователи сами могли их создавать и устанавливать, например на категорию продуктов. Пока сделал модели как пике. Не нравится, что для каждого типа нужно добавлять отдельное поле. А ведь еще как-то нужно будет реализовать всякие единицы изменения и т.д. Есть варианты как сделать лучше?
>>2645766 То ли дело софт на жабе, который совсем не течет, всего лишь сжирает гигабайты и микрофризит на секунды вытирая жопку говнокодера, вот это хорошо, лучше на жабе говнокодить чем раз в хуй знает сколько утечки чистить, ага. Я именно на плюсах и кожу, поэтому презираю недокодеров которые кодят на говноязыках которые за этими скриптомакаками сопельки подтирают.
>>2646145 Похоже, от питона тоже стоит отказаться. Я раньше на си, плюсах, луа, жс кодил, и в принципе мне было плюс минус все равно, но тут решил попробовать проект на питоне сделать, чтобы освоить и его, и честно говоря, в языке разочаровываюсь. Пока общение, что он слишком он какой то хаотичный, если на жс или луа, например, плюс минус все однотипно, например, с любой таблицы или объекта можно рассчитывать получить общие методы, типа .legth, то в питоне же все у всех по разному, к тому же, добавляет хаоса ещё и различные иде под него, например, предлагают подставить к str.split(sep).len , а потом интерпретатор говорит, что нет такого поля. А накой тогда оно предложило его? Ну и всякие приколюхи типа можно сделать так
>>2645697 Всё верно. В крайнем случае на питоне пишут прототипы, а потом переписывают на нормальном языке. Либо это язык чётко под статистику и всяким разметчикам данным в тупейшей многомесячной работе по подбору коэффициентов для нейросетки, которую на С++ написали старшие товарищи.
Просто на Питон хайп. Кто-то подумал, что обучив миллион макак простому языку (как в 90-е пытались всех обучать Бэйсик'у) он получит миллион хотя бы кодеров (даже не программистов).
Но с полным абсолютным в ноль аннигилированием и нивелированием ступени «джун» можно точно сказать — затея не выгорела.
>>2645697 Если тебе не нужен какой-то ебический хайлоад, то для апи, микросервисов и сайтов без динамики хватает. А дальше уже только нырять в глубь и смотреть, в каких хотелках он будет бутылочным горлышком.
>>2646328 >на Python или Java придется переучиваться >переучиваться С пуфона на плюсы переучиваться столько же сколько плюсы с нуля учить. С плюсов на пуфон "переучиваться" час времени.
>>2646335 Он утверждает, что да. "Я именно на плюсах и кожу, поэтому презираю недокодеров". Ну и выучить синтаксис != освоить язык. Научиться писать на нем хорошо, а не переписывать код с плюсов на питон, за час не получится. Вообще я заметил, что питон чаще всего не могут осилить джависты.
>>2646338 >Научиться писать на нем хорошо, а не переписывать код с плюсов на питон, за час не получится. Получится, если ты всегда пишешь методом StackOverflow-Driven Development.
>>2646331 Важно следить за тенденциями и за тем что происходит в мире? Можете имаджинировать ебало сисюшников если их знания и весь написанный код отправится в помойку? С питоном такое точно не произойдет как минимум в ближайшие лет 10.
>>2646145 >Я именно на плюсах и кожу, поэтому презираю недокодеров которые кодят на говноязыках которые за этими скриптомакаками сопельки подтирают. >которые кодят на говноязыках которые за этими скриптомакаками сопельки подтирают >сам пишет на джс и луа
Кто бы что ни говорил, а Python и PHP - самые реальные варианты для бэкендеров-вкатунов.
Джава, шарп - заебешься искать работу для ждуна. Го - никто сейчас не рассматривает кандидатов без коммерческого опыта в других языках или в самом го. Жс - всем нужны сеньоры-помидоры. По остальным языкам количество вакансий на уровне статистической погрешности.
Но с пыхой ты гораздо быстрее упрешься в потолок и замкнешься в микромирке, если выбирать его, то надо быстро выныривать из этого болота в другой язык. Питон в этом плане гораздо перспективнее - конечно же, при условии, что ты планируешь релокацию. В России с питухоном ловить нечего.
>>2646394 В чем в принципе отличается вкатунство на питоне от остальных? Как там нахуй никому не всрался, так и тут. Вывод: вкатываются в айти в 2к23 только дебичи и маняфантазеры
>>2646431 Айти в 2к23 не существует, твёрдо и чётко. Поняли, вкатунцы? Заводы простаивают, в доставках курьеров не хватает, а на районе кофеен и пекарен недостаточно. Можете и в нацгвардию идти, туда вроде как армия не нужна и хватает среднеспециального, зато можете потом смузихлёбов из /pr/ пиздить за их жирные зряплаты.
>>2646453 Буду сидеть в кабинетике на заводе, пить чай и смотреть как работяги хуярят в жаре. И получать 80к или сколько там в последний раз получал системный аналитик. Я ж не долбаёб, скачущий по головам ради хуй пойми чего.
>>2646431 Шанс вкатиться на питоне/пыхе ждуном с зарплатой 30к - 1%. Шанс вкатиться на джаве ждуном с какой угодно зарплатой - 0,001%. Проценты приблизительны и приведены для наглядности.
>>2646424 Обязательно сдохнет, но ты успеешь перепрыгнуть с пхп на голанг что-то более перспективное.
>>2646570 Шанс того, что тут будут какие-то нормальные перспективы в ближайшие десятилетия прямопропорционален тому, что заместо смещенного Пупкинса не придет новый Ленин-Сралин, ещё страшнее. Т.е. маловероятно. Если отсюда работать на Великий Запад, то удачи тебе с еблей над всем что связано с оплатой и товарами.
>>2646602 Ти довен? Мир распадается на изолированные зоны, в которых своих погромистов с избытком. Глобализм закончен, как и надобность в каких-то говнокодерах с плохим английским из далёких пердяевок — своих выше крыши. Уровень жизни едет по пизде везде и любой самый умный пидор-тракторист будет получать не выше 3–5 местных прожиточных минимумов. Попробуй, блядь тупая, снять хату в Мюнхене за половину зарплаты (и ещё треть отдать за зубы), потом кукарекай.
>>2646612 >нет иностранной комплектухи. 75% бизнеса решили проблемы с комплектухой. 12% решили кое-как. Остальные не решили. Если про импорт чипов, он возрос в два раза, включая интел и амд. Через Китай и Турцию.
>зажиточных айтишников В мире экономический кризис, алё, даун, пшшшш-пшшш. Его будут решать за счёт среднего класса, который уничтожат везде. Будут только нищуки и сверхбогатые (настоящие власти).
>>2646612 Я работал сначало в простом цехе, потом на оборону. В итоге спустя год оттуда и оттуда сбежал, потому что там ебашинь надо как Карло. В 6:00 просыпаешься, в 7:30 на работке и до обеда, пол часа похавал и до 20:00, а зачастую и до 21:00. И так пятидневочку, каждый день в грязи и насквозь в поту за 30кек нормально поработать. Когда так живёшь, то ни о чем кроме сна не думаешь и так до самой старости как зомби. Ну и пенсия в 15 тыщ конечно же, как у моего деда с бабкой у которых по 40 лет стажа. Просто мотивационное напоминание вкатунам что их ждёт если будут плохо учиться.
>>2646185 Лол, и жс/луа в этом всём принципиально лучше? Я б понял там ещё доебаться к сендбоксингу, которого в питоне нет, а в луа/жс есть. Понял бы ещё про наличие jit, но вроде как в pypy это есть. Но предъявлять за историческую хаотичность стандартных методов, ставя в пример луа, и, прости господи, жс, что?.. Если что, во всех этих языках всё объект-хэшмап, и то что тебя напрягает, изи аналогично делается и в луа/жс. И компиляция в бинарь оказывается есть и в луа, и в жс. Удивительный пост, 100% лжи, послушай и сделай наоборот.
>>2646615 Слюнями набрызгал, а что сказать хотел хуй знает. Единственное что я понял, тебе нравится прогибаться, лебезить и сраки лизать, расклад нищуки и бояре тебя более чем устраивает.
>>2646620 Краем уха слышал, что особенно ловкие и рукастые на изи зарабатывают покруче айтишников. Не берутся за потогонки в родной деревне, а ездят по стране и срывают норм контракты.
>>2646639 Я точно знаю, что фрезеровщики и сварщики отлично получают, около 100-150тыщ, но это и правда зависит только от прямоты рук, опыта, количества пальцев и региона. Те же техники, которые настраивают и чинят аппаратуру, вообще никому не всрались и получают чуть выше среднего рабочего. Кстати, про оборонку дополню. Ничего лишнего не скажу, скажу только - пиздец. Я вот совсем не удивлен что эту войну мы проиграли.
>>2646658 Ещё не проиграли впрочем я тоже не удивлюсь если. В оборонке астрономическое распиздяйство компенсируется таким же астрономическим баблом сверху.
>>2646664 >проф. болячки потом полезут весьма хуевые. Зато учить ничаво нинада. Переменные, значения, методы... Синапс спинной мозг-руки натренировал и знай вари себе. >>2646664 >сменились технологии? У меня есть одна поучительная история на эту тему, но расскажу я ее чуть попозже. >>2646665 >компенсируется таким же астрономическим баблом сверху. Я клянусь тебе, готов жопу поставить, что почти вся ее часть уходит не в производство. Ну, если судит по тому что я видел. Оборонка это самый жирный кусок на который слетается самое большое количество стервятников и даже перед лицом смерти или тюрьмы они скорее купят себе новую виллу, чем хоть что-то вложат на благо войны. И слава богу.
Мне чот неинтересно читать про оборонку, тем более вы от нее далеки как я от петона. Но мне надо кое-что в петоне: как реализовать проверку обновления страницы? То есть не парсить ее целиком(это я осилил), а именно новое мне пересылать.
>>2638847 >>2638828 А кто электропроводку делал в здании, в котором сишник эти либы писал, а? То-то же, самый крутой программист - это электрик Семеныч, а ты пыль под его ногтями.
>>2646639 >мне нравится прогибаться, лебезить и сраки лизать А в /pr/ зачем об этом пишешь? Хотя, наверное, если ты ищещшь друзей по увлечениям, то в питон-треде кого-то найдёшь.
>>2645407 Из забавного. Современные кресты настолько "охуенны", что на них не пишут софт для крестов. Вот, например, угадаете, на чём написан пакетный менеджер для C/C++ Conan?..
>>2646956 Как же королям местной палаты печёт жопку с с++, пиздец просто... Никто изначально вообще о нём не заикался, но все местные подумали, что их травят сишники)))
>>2646992 Пока ты доберешься до изучения ИИ к нему уже в монашеских балахонах будут ходить и петь песни. Следующие десятилетие ИИ будет озабочен обретением физического тела, чтобы сесть на трон, как царь Земли.
>>2646992 Нет. Изучать лучше в порядке важности: линейную алгебру, теорию вероятностей, математическую статистику, математический анализ (оптимизация, ряды, да и вообще весь), теорию графов и комбинаторику (да и всю дискретную математику). Первые три в обязательном порядке.
>>2647085 Почему теория вероятностей до мат анализа? А статистика до матана это вообще. Даже для комбинаторной вероятности нужны производящие функции, асимптотика. Ты точно в теме7
>>2647097 Ну, если ты вкатун с 8 «Б», то основы матана можешь первыми учить. В любом вузе (нормальном, а не для педерастов) их с первого семестра дают.
>>2647085 А если я хочу сделать киборга, робота чтобы у него в руках пулеметы были и чтобы он из глаз лазером стрелял мне нужно изучать математику или питона будет достаточно?
>>2647106 Не виляй жопой, зачем мне учить матан после статистики, если я его уже изучил в вузе, как ты сказал ряды и все остальное, что изучается на первом курсе? У меня матан был несколько семестров, так как физмат.
a, b, c = map ( int, input().split() ) Поясните что значит точка в этом синтаксе. Типа по "объекту" в виде возвращаемого инпутом значения применяется функция сплит? В ООП не шарю практически.
>>2647174 input - имя функции input() - объект полученный в результате выполнения функции input().split - имя функции, содержащийся внутри объекта, ака метод объекта input().split() - результат выполнения метода Тут важно понимать, что это не функция split() натягивается на произвольный объект, а то что объект должен заранее содержать эту функцию внутри себя.
>>2647178 Спасибо, интересно. Я со временем хочу научиться спокойно читать (пока для меня тяжеловатую) документацию типа пик2.
Вдогонку вопрос, как проитерировать список "по-сишному"? У меня при попытке сразу выскочил out of bounds, а потом быстро выяснилось, что итератор имеет не значение порядкового номера (т.е. не индекса), а значение ячейки списка... Пик1.
>>2647206 > когда нужен индекс Почти всегда он не нужен. Лишние телодвижения. По крайней мере просветлённые его берут не для того чтобы взять элемент из итерируемого массива.
>>2647166 Ты, наверное, даун, раз лезешь в ненужный тебе вопрос о том, учить ли питон, если интересен ИИ. Почисть зубы, санитар Коля приведёт сегодня своих друзей после отбоя.
>>2647244 > И тем что ты не можешь взять len(x) от итератора, а enumerate работает именно с итераблами. Ты хотел сказать от итерабл? Но почему я не могу взять len от итерабл списка а[], от которого я этот лен только что взял?
Питоны. Мне нужно делать экземпляры изнутри самого класса. Очевидно для этого нужно вызывать конструктор. type(self)(args) это полный полнейший 1 к 1 эквивалент ClassName(args) ? Или есть подводные камни? На стаковерфлоу читал что что-то такое есть и надо через __new__ что-то там делать, но теперь не найдешь да и не знаю толком что искать, просто чую жопой что что-то может пойти не так? Как быть?
>>2647388 >У меня b += a прекрасно отработало во втором случае. Но зачем? У тебя уже есть нужное значение в item, а ты тратишь время, чтобы ещё раз обратиться к списку. >Ты хотел сказать от итерабл? enumerate может работать как с итерируемыми элементами типа списка, так и с итераторами, у которых нет ни возможности обратиться к элементу по номеру, ни длины как таковой (зато они не занимают места в памяти). Возможно, этот: >>2647404 прав, конечно...
>>2647399 Да, это полный 1 к 1 эквивалент. Могут быть отдельные исключения, к примеру ClassName это один из классов-предков. new нужен крайне редко, когда ты хочешь кастомизировать создание объекта с нуля, когда ещё self не существует.
>кастомизировать создание объекта с нуля, когда ещё self не существует Слишком сложно для меня пока. Даже не могу представить для чего это может понадобиться на практике, а если даже пойму и представлю, то скорее всего буду избегать применять - выебоны какие-то наверное, чтобы джуны код читали и охали.
>>2647417 > --new--() is intended mainly to allow subclasses of immutable types (like int, str, or tuple) to customize instance creation. It is also commonly overridden in custom metaclasses in order to customize class creation.
Да просто изредка нужно. Метаклассы многим мозг ломают конечно, но это всего лишь о кастомизации того что происходит до --init--. Можешь модели джанги вспомнить, где поля в классе это декларация, реальные поля в объекте совсем другого типа.
Сап, питонисты, у меня появилось проблема, хотел я сделать простенькую игру в питоне, по гайду мне нужно было установить pygame. Ну думаю хули не ебаца ща установим прикрутим. Запускаю, и по-этогу pygame отсылает на форуум, где написано "нет войне. Ок, щас мы обойдем эту хрень, иду искать в инете пакет whl, чтобы установить без инета. Устанавливаю, снова такая же тема. Помогите пж, в чем я проебался, я ньюфаг.
>>2647532 Как вопроизвести? Прям интересно. Я пока получаю только это: >>> import pygame pygame 2.3.0 (SDL 2.24.2, Python 3.10.6) Hello from the pygame community. https://www.pygame.org/contribute.html На сайте пик... Интересно, а они делали чёрные экраны по случаю, например, вторжения в Ливию? Я ХЗ вообще, что не так этими новозеландцами... Общая информация: https://ria.ru/20121213/914432954.html
>>2645617 Я возможно тебя не правильно понял, но рискну предположить, что ты имел ввиду возврат значения после открытия файла. Примени блок try-except-finally. С возвратом в последнюю секцию блока.
>>2647582 В чем твоя проблема, ни хуя не понял. Нажми одну кнопочку с впн и получи свой доступ на сайт. Пип же любые модули и библиотеки устанавливает без ограничений.
>Ливию Вменяя им эту претензию ты срешь себе на голову, потому что расписываешься в своей бинарности, точно так же как и они, высирая "поддержку" вещам на которым им похуй. Все люди везде одинаковые - тупые NPC блеющие хором принимай это как данность и не будет у тебя баттхертов.
>>2647602 >>2647600 У меня проблема в том, что пакет pygame отказывается работать. Этот пчел вообще левый>>2647582, с впн на сайт легко зайти, версию тоже легко скачать, дело только в том, что она вместо работы отправляет на форуум. Мимо этот>>2647532
>>2647632 У меня подозрение что ты малварь себе установил откуда-то, и она пропатчила тебе все пайгеймы. Там импортируются вполне известные пакеты, которые в протестваре не засветились, разве что на сайтах себе понаписали. Разбираться тебе придётся самому. Запиши хотя бы видос как у тебя там всё по пизде идёт.
>>2647649 Если бы проблема была в другом модуле, то у меня бы высветился не pygame. >>2647651 https://www.youtube.com/watch?v=ww55ublLFq8 Конкретный этого туториал вот, там еще много чего полезного для ньюяага как я. >>2647647 >У меня подозрение что ты малварь Вряд ли, учитывая, что я впервые 2 раза через pip делал, а потом уже полез в интернет искать проблему. >Разбираться тебе придётся самому. Я снова щас попытаюсь через pip все установить, если не получится, придется уж переходить на другой пакет. >Запиши хотя бы видос как у тебя там всё по пизде идёт. Ну там динамики нет, могу кинуть пару скринов разных версии pygame в консоли как он выводит. pic1,2 >>2647666 pic3
>>2647690 Я тебе и так это показал выше. Там написанно где я запускаю программу, там написанно как я запускаю, и то что оно мне отправляет. Вот тебе для наглядности.
>>2647723 >>2647716 Блеать, я обосрался. У меня в коде ошибка была. Неправильно путь указал, не в ту папку. Всем спасибо, я тут развел ветку большую, сори аноны, ну хоть уроком мне будет, что надо перепроверять путь
>>2647725 Жизненно. Поначалу такие затупы быстро разруливаются, потом наловчишься вообще все перепроверять, но то и дело будешь натыкаться на что-то что тебя так же застопорит и тем больнее твой опыт ударит когда это будет настолько же тупая фигня.
Никах яп не знаю, хочу делать штуки для автоматизации действий в браузере. Например, программа для регистрации аккаунтов на каком-то сайте, парсеры. Сейчас делаю это все в визуальных программах, где просто вставляю кубики с действиями. На эмуляции довольно успешно, с запросами проблема.
Сколько времени нужно изучать питон, что бы выйти на уровень, где я могу делать такие же действия, что и сейчас?