Этого треда уже нет.
Это копия, сохраненная 6 августа 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1pNm4PvawsLA-w.png106 Кб, 800x484
Питон тред №138 /python/ 2320027 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #138

Предыдущий: >>2300480 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться

#######################################

ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года

Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.

— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х

— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Исходник: https://dumpz.org/bASGKD8cCFDf
2 2320044
знающие, скажите, что должен знать python джун на бэк?
3 2320049
Как же хочется писать что-то нормальное, а не круды...

Может у кого есть опенсорс проектик? Я бы поучаствовал.

Учусь в универе, время для работы нет, но 2-3 часа хочется влить в реальное программирование
image.png275 Кб, 1920x1080
4 2320096
Не бейте палками, я нью в джанге, подскажите как сделать его более правильным, так как на глаз говнокод
5 2320122
С чем вкатиться: django или aiohttp?
6 2320200
>>20049
Лучше эти 2-3 часа потрать на изучение архитектуры компа, операционки и языка си, а то будешь мямлить хуйню на вопрос что происходит в компе при запуске программы, а то всю жизнь так и будешь писать круды некачественные
7 2320209
>>20122
aiohttp не существует отдельно от связанного с ним асинхронного программирования. А асинхронное программирование это само по себе отдельное направление.

aiohttp как самостоятельный продукт большой ценности и востребованности не имеет. Джанго имеет.
8 2320227
>>20122
Это одно и тоже крудоговно. В первом случае обмазанное кучей магии, шаблонами и drf, а в другом с привкусом асинхронщины. Вообще похую на чем писать, вот серьезно. Все равно будешь пилить крады и перекладывать жсоны
>>20209

> aiohttp не существует отдельно от связанного с ним асинхронного программирования


Ого, и что же это за "отдельное асинхронное программирование"? Одной рукой дрочить, а другой писать код? Или это многопоточное программирование?

> А асинхронное программирование это само по себе отдельное направление


Отдельное направление чего блять? От того, что ты асинк авейтами обмажешь код и возьмешь asyncpg вместо psycopg2, то нихуя не поменяется, это будет все то же крудоговно, просто с асинк и авейтами

> aiohttp как самостоятельный продукт большой ценности и востребованности не имеет. Джанго имеет


Чиво блять? Что это за набор слов?
>>20044
орм+sql на уровне "написать запрос с подзапросом или агрегирующей функцией"
любой из крудофреймворков и 2-3 петпроекта готовых
свободное владение питоном 3.9
Этого вполне достаточно
>>20096
Почему у тебя поле статус булевое? Тебя это самого не смущает? Типа
- Какой статус у пользователя?
- У него статус "правда"
И убери нахуй из save бизнеслогику. И никогда ее туда не пихай блять. В сейв можно поместить какие-то служебные вещи типа автоматическое заполнение поля "updated_at" и тому подобное, но никак блять не замена карты на новую нахуй
9 2320232
>>20049

> Как же хочется писать что-то нормальное, а не круды...


Так круд сам по себе не приговор, главное что за ним стоит лол. В любом случае, у твоей программы должен быть какой-то интерфейс и способ вывода информации. Один из них это круд

> Может у кого есть опенсорс проектик? Я бы поучаствовал.


А что ты умеешь? У меня есть пара идей, но не хочется параллельно выступать ментором и править чужой говнокодне то чтобы я идеально пишу, но минимальные стандарты хотелось бы видеть
10 2320265
>>20227

> Это одно и тоже крудоговно. В первом случае обмазанное кучей магии, шаблонами и drf, а в другом с привкусом асинхронщины. Вообще похую на чем писать, вот серьезно. Все равно будешь пилить крады и перекладывать жсоны



А работа с каким фрейморком на беке не сводится к крадам и жсонам?
11 2320266
>>20265
Никакая, поэтому все крудофреймворки это однотипное говно. Изучил один -- изучил все. Дальше ты с одного на другой за пару часов переезжаешь для полного понимания кода и за один-два дня для полноценной работы
12 2320268
>>20266

> Никакая


Ни с каким
фикс
13 2320359
>>20268
Бэк на любом ЯП сводится к этому? Или это из-за того что на питоне нет смысла писать что более важное в плане производительности?
14 2320369
>>20359

> Бэк на любом ЯП сводится к этому?


Конечно, все плюс-минус одинаковое. Есть свои приколы, безусловно. И часто в разных языках подход к архитектуре приложений разный. Но глобально это все мелочи

> Или это из-за того что на питоне нет смысла писать что более важное в плане производительности?


Как это вообще связано? Я просто не понял вообще в чем вопрос заключается, вот серьезно. По поводу производительности пистона -- если у тебя запрос на сервере будет обрабатываться в 10 раз дольше, то это будет 5мс вместо 0.5мс. При общей длительности запросапока сигнал по интернету добежит в 100-150мс это такая хуйня, что это заметить физически невозможно. Да и любые узкие места давно написаны на си и прокинут интерфейс для пистона, так что зачастую пистон даже быстрее той же жавы или шарпов, если у них нет аналогичных библиотека на пистоне реально много сишных либ
15 2320430
>>20027 (OP)
Подскажите какую лучше библиотеку использовать при работе с большими excel файлами, 500к строк открывает минут 15, можно как-то ускорить это?
16 2320462
>>20430
Не пробовал csv?
17 2320469
>>20200
С языка Си в голосину, слава богу сдал это дерьмо и забыл, а так почитать разок Таненбаума норм вариант
>>20227
Двачую этого по всем фронтам, действительно, похуй на чем писать, мне нравится решения Rust, но писать на нем круд откровенно впадлу, компромисс - Go , быстрый, эффективный, вроде бы, но я сам еще не тыкал, что думаешь по этому поводу? Считаю, что все эти async/await это как костыль, еще uvloop вешать, а оно блять через раз работает, если банально в тред пуле что-то пытаешься заппустить вменяемое, чтоб еще обратная связь была какая-то и работало, то это пиздец, оно тупо выбивает какие-то непонятные ошибки и это опять таки сродни ебле с джангой 10 летней давности
18 2320470
>>20430
Pandas dataframe дали же тебе, но можно еще топорнее, читай чанками, по N кол-ву строк, если тебе за этим надо следить - просто добавь столбец слева ID , нет магической штуки, если понимаешь основы то так или иначе сделаешь костыль под это, твой файл всего лишь файл, информацию из него не обязательно читать всю и сразу, подумай
19 2320510
>>20469

> Go , быстрый, эффективный, вроде бы, но я сам еще не тыкал, что думаешь по этому поводу?


Да язык как язык, но мне не нравится в нем то, что он новый и очень мало библиотек. В пистоне том же как-то приятнее намного. Ну и бойлерплейт с if err != nil это пиздец. Из практики, переписывали один сервис с го на пистон, так как с кафкой работать на ГОвне слишком хуево, а на пистоне скорость аналогичная, так как внутри сишка и практически весь функционал поддерживается

> Считаю, что все эти async/await это как костыль, еще uvloop вешать


Почему костыль? Я не совсем понимаю о чем ты

> а оно блять через раз работает


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

> если банально в тред пуле что-то пытаешься заппустить вменяемое, чтоб еще обратная связь была какая-то и работало, то это пиздец, оно тупо выбивает какие-то непонятные ошибки и это опять таки сродни ебле с джангой 10 летней давности


Так асинхронщина и многопоток работают по разному. Нельзя просто асинк авейт навесить, если там идет расчёт на одновременное выполнение и висят локи на половине доступов
20 2320609
>>20369

>если у тебя запрос на сервере будет обрабатываться в 10 раз дольше, то это будет 5мс вместо 0.5мс


Ну смотри, проблема скорее в том, что в первом случае ты можешь обрабатывать 200 запросов в секунду, а во втором 2000. Если у тебя одновременно сидит 50 человек, то пофиг, а если 500, то уже не пофиг.

Ещё отсутствие полноценной многопоточности создаёт проблему, если в каком-нибудь Го ты можешь пустить один процесс, который будет обрабатывать всё, используя много потоков и все ядра, то в питоне тебе уже надо запускать много процессов, чтобы были прокси-балансировщики, думать о синхронизации каких-то общих данных и т.п., в общем куча проблем серьёзных и заметное усложнение архитектуры.

Это не везде актуально, но часто актуально.
21 2320617
>>20510

>Ну и бойлерплейт с if err != nil это пиздец.


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

Ну и статическая типизация как плюсы, так и минусы имеет, серьёзные минусы, когда надо сложные данные обрабатывать.

>Так асинхронщина и многопоток работают по разному. Нельзя просто асинк авейт навесить, если там идет расчёт на одновременное выполнение и висят локи на половине доступов


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

В Го для этого каналы сделаны, очень круто сделаны.
22 2320662
>>20510
Чисто из-за кафки переписывали? Лол, такое возможно?

Про костыль было в контексте, что мне надо постоянно отделять асинхронный код от синхронного, да, мне кооперативная многозадачность очень нравится, поэтому смотрю в сторону Го, где по сути эта идея возведена в абсолют и мне не надо отделять асинхронный код от синхронного, разве нет?
про if err != nil двачую, пиздец дико, но терпимо
23 2320725
Аноны! Питонисты!

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

Решил воспользоваться возможностью, и, соответственно возник реквест: какие курсы выбрать? Условия два:
1. Продолжительность до 6 месяцев, максимум - год.
2. Учеба без привязки к расписанию дня, т.к. могу быть занят работой.
3. Возможность оплатить курс от юрлица, следовательно, платформа должна быть официально представлена в РФ.

Пожалуйста, накидайте варианты, нужно до завтра заполнить анкету.

Это серьезный реквест, а не очередной пост от "вкатывальщика".
24 2320726
>>20725
Конечно три, я торопился.
25 2320734
Кто работал с airflow на настоящей работе?
У меня специфичный вопрос, но я попытаюсь: как ему подкинуть кастомный dependency detector?
26 2320773
>>20617

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


Ага, ну и знаменитое lol no generic

> Ну и статическая типизация как плюсы, так и минусы имеет, серьёзные минусы, когда надо сложные данные обрабатывать


А там еще и интерфейсы кривые, особенно, когда идут массивом

> Делать локи это анахронизм, дурной стиль, сейчас так не модно


Ну я имею ввиду сам механизм, который будет мешать асинхронщине работать

> Правильный многопоток сейчас надо организовывать через очереди, по капотом там те же мютексы, конечно, но это под капотом


Очереди наше все, даже асинк таски через очереди по-хорошему надо делать. Благо во всех либах уже есть готовые реализации, нужно только прикрутить

> Программирование это сильно меняет, из адской лапши во что-то адекватное и предсказуемое


Да хз, я с легаси говном не работал, наверное помогает, но когда у тебя очередной аутсорсовый проект нужно до стадии MVP нахуячить и там 10к строк от силы, то код не успевает в говно превратится

> В Го для этого каналы сделаны, очень круто сделаны.


Да гугл как всегда -- крутая технология, но довести до состояния, когда этим можно пользоваться не позволяет религия. Это касается всего -- от GCP и таблиц, до ГОвна
>>20662

> Чисто из-за кафки переписывали? Лол, такое возможно?


Когда весь проект это гигаагрегация данных из кафки с 70-80к рпс на одной машине в 4 инстанса, то это весомый аргумент, чтобы переписать

> мне не надо отделять асинхронный код от синхронного


Ну в питоне тебе изначально нужно выбрать какой код ты пишешь -- синхронный или асинхронный. А дальше ничего отделять не нужно
>>20725

> работодатель предложил за счет компании пройти любой курс питона, в том числе используя свободное время на работе.


Если тебе чтобы чисто проебаться, то бери любой и подешевле. Желательно, чтобы побольше видосиков было. Если реально хочешь учить, то на степике возьми любой и параллельно по вечерам изучай в свободное время. Курс не сделает из тебя погромиста. Программирование это 95% практики и 5% теории. Соответственно, выбор курса это 5% от успеха
26 2320773
>>20617

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


Ага, ну и знаменитое lol no generic

> Ну и статическая типизация как плюсы, так и минусы имеет, серьёзные минусы, когда надо сложные данные обрабатывать


А там еще и интерфейсы кривые, особенно, когда идут массивом

> Делать локи это анахронизм, дурной стиль, сейчас так не модно


Ну я имею ввиду сам механизм, который будет мешать асинхронщине работать

> Правильный многопоток сейчас надо организовывать через очереди, по капотом там те же мютексы, конечно, но это под капотом


Очереди наше все, даже асинк таски через очереди по-хорошему надо делать. Благо во всех либах уже есть готовые реализации, нужно только прикрутить

> Программирование это сильно меняет, из адской лапши во что-то адекватное и предсказуемое


Да хз, я с легаси говном не работал, наверное помогает, но когда у тебя очередной аутсорсовый проект нужно до стадии MVP нахуячить и там 10к строк от силы, то код не успевает в говно превратится

> В Го для этого каналы сделаны, очень круто сделаны.


Да гугл как всегда -- крутая технология, но довести до состояния, когда этим можно пользоваться не позволяет религия. Это касается всего -- от GCP и таблиц, до ГОвна
>>20662

> Чисто из-за кафки переписывали? Лол, такое возможно?


Когда весь проект это гигаагрегация данных из кафки с 70-80к рпс на одной машине в 4 инстанса, то это весомый аргумент, чтобы переписать

> мне не надо отделять асинхронный код от синхронного


Ну в питоне тебе изначально нужно выбрать какой код ты пишешь -- синхронный или асинхронный. А дальше ничего отделять не нужно
>>20725

> работодатель предложил за счет компании пройти любой курс питона, в том числе используя свободное время на работе.


Если тебе чтобы чисто проебаться, то бери любой и подешевле. Желательно, чтобы побольше видосиков было. Если реально хочешь учить, то на степике возьми любой и параллельно по вечерам изучай в свободное время. Курс не сделает из тебя погромиста. Программирование это 95% практики и 5% теории. Соответственно, выбор курса это 5% от успеха
27 2320825
>>20469

>С языка Си в голосину, слава богу сдал это дерьмо и забыл, а так почитать разок Таненбаума норм вариант


Ты очередной кодерок получается, это нормально.

Ты не можешь хорошо изучить операционку и архитетуру без си\асма.
c5b3add7346f32129f4f32c0b2dd5926.jpg110 Кб, 1066x620
28 2320832
Сап аноны.
Что-то встретил нестандартный сценарий для меня работы с БД и тут же поддал в штаны.

Хочу выбрать строки из таблицы, они объедены формальными признаками, допустим каждая строка свойство например
ID CAR PART Цена
1 Пикап Дверь 100
2 Пикап Колесо 100
.......
7 Минимвен Дверь 200
8 Минивен багажник 250

Мне нужно сформировать их этого словарь вида:
Пикап = [(Дверь,100), (Колесо,100)]

Навскидку в голову приходит идти по строкам, проверять встречался ли эллеммент и динамически формировать словарь, мне кажется как-то всё усложняю, что скажите?
29 2320851
>>20773

>Если тебе чтобы чисто проебаться


50/50, с одной стороны это возможность увеличить доход (после "повышения квалификации") и заняться чем-то интересным в офисе, с другой - я и сам не против использовать возможность узнать новое.
30 2320877
>>20825

> Ты не можешь хорошо изучить операционку и архитетуру без си\асма.


Для того, чтобы хорошо изучить архитектуру и операционку нужно читать книги по операционке и архитектуре

> Ты очередной кодерок получается, это нормально.


Тебе хоть раз пригодились эти знания? Если да, то сразу боевой пример неси
>>20851

> 50/50


Тогда забей хуй и просто втыкай в видосики вместо вката. С такой мотивацией вкатиться анреал, так как тебе нужно самого себя заставлять это делать, а у тебя даже сидя на диване нет желания этим заниматься
31 2320891
>>20832
Определись с терминами и чего конкретно ты хочешь:

>работы с БД


select car, json_agg(json_build_object('part', part, 'price', price)) from cars group by 1;
или сформировать руками словарь со списком кортежей
{car_name: [(part['part'], part['price']) for part in parts] for car_name, parts in itertools.groupby(data, lambda car: car['name'])}
32 2320895
>>20891
второе, вроде понял, спасибо.
33 2320916
>>20832
Setdefault
34 2321257
Капчую. Двощ, помоги пока я нахуй в говне не утонул. Пытаюсь в самостоятельный бэкэнд, но вся литература и вебинары сплошное инфоцыганство и попытка записать на платные курсы. Есть у кого карта что куда совать и с чего начать?
Имею только САМЫЕ БАЗОВЫЕ знания питона.
35 2321388
>>21257
Django girls, Two scoops of Django
36 2321635
>>21257
Я пару книг точно видел, где читателя за ручку проводят к первому пет-проекту на Джанго. Ты что-то не там ищешь.
37 2321653
Чтобы вкатываться в Джанго надо учить html+css?
38 2321665
>>21257
Дронов_В_А_Django_3_0_Практика_создания_веб_саитов_на_Python_БХВ.pdf
39 2321687
>>21653
Если у тебя есть отдельный фронтак, то не обязательно. Но надо знать хотя бы минимально.
40 2321775
Посоветуйте пожалуйста текстовый курс для полного нуфага. От книг сложилось впечатление что в них дохуя воды, может в курсах будет ситуация получше.
Английский не знаю, уже учу.
42 2321790
>>21775
https://wombat.org.ua/AByteOfPython/AByteofPythonRussian-2.02.pdf
Хз какие ты книги пробовал, "A byte of Python" почти без воды, если начинать с 36 страницы.
43 2321801
>>21775
Без цели язык не выучить. Поставь себе цель. Например бота для телеги написать. Придумай как он должен работать и что делать. Начинай гуглить как это сделать на питухоне. Если вдруг оно зработает, то смотри в получившийся код и гугли каждую команду пока не поймешь что она делает. Так ты куда быстрее что то поймешь.
16442733258660.png213 Кб, 289x356
44 2321850
>>21788

>регистрация


Пикрел.

>>21790
Гляну, спасибо.

>>21801
В курсах/книгах более полные знания должны быть, иначе я что-нибудь пропущу. В хороших курсах/книгах знания ровно так же закрепляются на практике. Но способ вполне рабочий, не отрицаю. Если всё таки совсем заёбно будет с книгами - так и сделаю, спасибо.
45 2321895
pyQt или Tkinter? Две недели в питоне
46 2321939
Где искать работу на позицию джуна с парт таймом?
47 2322044
>>21895
Qt заблокировало само себя в России.
48 2322046
>>21939
На hh
49 2322096
>>21939

> Где искать работу на позицию джуна с парт таймом


> джуна с парт таймом


)))
50 2322097
>>21801

> Поставь себе цель. Например бота для телеги написать


Самый хуевый совет, который можно дать

> Если вдруг оно зработает


Лол блять

> смотри в получившийся код и гугли каждую команду пока не поймешь что она делает


То есть, ты предлагаешь 1 строчку кода разбирать 150 часов?

> Так ты куда быстрее что то поймешь


О да, охуенно быстро будет
51 2322103
Чет учу джангу, вроде всё легко и у меня закралась мысля, а действительно это популярная среда? На реддите всего 100к на весь мир джангоебов. Скиньте проектов кроме всяких ютубов на джанге. Может я зря решил на питон пересесть жидкоперданув с плюсами?

Типа в 30 лет как-то легко дается. И чет мне кажется, что я смогу написать имиджборду за пару дней.
52 2322104
>>22103

> пук

53 2322105
>>22104
ой, сорре, не в то окно пукнул :3
54 2322106
>>22103

> Чет учу джангу, вроде всё легко


Что легко? Прикрутить эндпоинт и переложить жсон? Ну так в этом смысл фреймворков, было бы странно, если бы на штанге это было сложно

> действительно это популярная среда


Ну так, плюс-минус. Это не ларавель и не рякт, на которых каждый второй проект. Но и сказать, что могут возникнуть сложности с поиском работы тоже нельзя. Если ты искал самую популярную связку язык+фреймворк, то мимо. Если беспокоишься о том, что за работу придется драться, то нет

> На реддите всего 100к на весь мир джангоебов


А давно реддит блять стал показателем популярности чего-либо в погромировании?

> Скиньте проектов кроме всяких ютубов на джанге


Блять ты шутишь? Как ты себе это представляешь? Мне просто интересно

> Типа в 30 лет как-то легко дается


А почему должно быть тяжело? Сложность не в том, чтобы прикрутить эндпоинт, а в том, чтобы весь сервис работал нормально

> Может я зря решил на питон пересесть жидкоперданув с плюсами


А бля, ты с плюсов перешел. Ну так соре, пистон сделан для людей. Тут приседать не нужно, чтобы простейшие вещи сделать

> И чет мне кажется, что я смогу написать имиджборду за пару дней


Ну так вперед, попробуй сделать. Ты удивишься какая большая разница между "прикрутить эндпоинт" и сделать борду. Я надеюсь, что ты хотя бы за 3 месяца уложишься, это будет неплохой результат для новичка
55 2322108
>>22106
Ладно, спасибо, буду продолжать изучать. Вот на счет человечности языка, то соглашусь. Действительно супер приятно на нем задания выполнять.
56 2322109
>>22108
Но вообще начинать со штанги такая себе идея. Поиграйся с html шаблонами и лучше в дальнейшем переезжай на flask/aiohttp/falcon/etc. Штанга слишком сильно на собственную жкосистему завязана. Въехать в штангу и дрф после фласка изи, а вот въехать во фласк после штанги или тем более дрф может быть тяжело, так как штанга и дрф основаны на ебаной магии с неявными всякими вещами и подразумевается, что ты понимаешь, что эти вещи происходят
57 2322195
>>22097

> Самый хуевый совет, который можно дать


Пруфы?

> То есть, ты предлагаешь 1 строчку кода разбирать 150 часов?


Умный справится за 15 минут.

> О да, охуенно быстро будет


Быстрее чем проходить полугодовые курсы
58 2322225
>>20266

>поэтому все крудофреймворки это однотипное говно


Ох блять если бы
У Джанги всегда "свой путь" и свои велосипеды. Там много джанговской "магии", которая сильно поднасирается, если ты в фреймворк не углублялся. Рот ее ебал
59 2322226
>>20232

>Так круд сам по себе не приговор, главное что за ним стоит


+
Как-то работал в webim и поддерживал их местный чат tornado+aiohttp, круд там это последнее о чем приходилось думать, куча говнологики и куча интеграций со сторонними сервисами
60 2322238
>>22103

> И чет мне кажется, что я смогу написать имиджборду за пару дней.


Тебе кажется.
Жанга сладко стелет. По потом бьет тебе в ебало с ноги своими нюансами.
Ты хочешь что форма заполнялась из модели - вот тебе готоая форма. Но ты хочешь что бы одно поля по внешному ключу тащило не все 100 500 значений. а лишь определенные - добро пожаловать в написание обычной формы с нуля. Потом еще окажется, что из-за этой формы не работают миграции. Нужно закоментить код формы, провести миграции, раскоментить код формы.
Ты хочешь что бы при регистрации пользователь вводил мейл - переписывай форму регистрации.
Ты хочешь сделать запрос к базе чуть сложнее чем получить все или взять по id - получи не оптимальный говно sql на выходе.
Ты поменял имя таблички и применил миграции, но хочешь теперь сохранить данные в фикстуру - а теперь почисти фикстуру руками от имени несуществующей таблички.

В общем, если твоя задача не описана в документации, то скорее всего придется писать под нее велосипед. Потому что окажется что в жанге есть дюжина готовых решений твоей задачи, но каждое чуть чуть не такое как тебе надо. Буквально один шаг в сторону от примеров из документации и вот ты уже ебешься со своей реализацией имеющегося компонента.
Так что начинай писать свой инстаграмм (запрещенная в России организация). Узнаешь много нового.
61 2322266
>>22109
С джанги полезно начинать, потому что это образец того, как правильно проектировать веб-приложения, как устроены разные технологии и т.п. Это такая школа.

На других платформах слишком много придётся самому пилить и прикручивать. Не понимая, как проектировать правильно, неизбежно будешь делать плохо.

Правда перед тем, как лезть в джангу, какое-то базовое понимание интернета, а равно базовое понимание html/css должны быть.
62 2322274
>>22266

>Правда перед тем, как лезть в джангу, какое-то базовое понимание интернета, а равно базовое понимание html/css должны быть.


Когда у тебя хуй 24 см, все само приходит
63 2322290
>>22238
Как-то написали инстаграм на джанге не обосрались. А у нас тут в pr все хейтят. Такая негибкая что лабу на ней не сделать.
64 2322297
>>22266

> С джанги полезно начинать, потому что это образец того, как правильно проектировать веб-приложения


Да нихуя подобного. В Штанг много спорных решений. Можно хуярить представления как функциями так и классами. И никто тебе не помешает это делать одновременно. Какого то общепринятого стиля написания нет. И что бы ты не писал, на выходе получишь монолит.
Штанга хорошо структурирована внутри себя. Но применять ее подход в других проектах я бы точно не стал.
65 2322303
>>22290

> Как-то написали инстаграм на джанге не обосрались


С чего ты решил, что не заебались?
Просто он начал приносить деньги и стало возможным нанять армию макак. Я не знаю что там сейчас осталось от джанги. Но то что там дохуя джанговых функций переписано, это наверняка.
Начни писать и сам поймешь.

Если ты нихуя не умеешь в архитектуру, то штанга это охуенный помошник. Но если у тебя уде есть идея как и что должно быть реализовано, то тебе придется воевать со штангой. Потому что у них свой взгляд на то как все надо реализовывать.
66 2322319
>>22303
А тут все я так понимаю сидят и сразу пишут все идеально скейлящееся до миллиарда рпс (а точно, в лучшем случае перекладывают жсоны, но рассуждают что джанга говно и вот на расте написать было бы заебись).
67 2322321
>>22303

>Просто он начал приносить деньги и стало возможным нанять армию макак. Я не знаю что там сейчас осталось от джанги. Но то что там дохуя джанговых функций переписано, это наверняка.


Я не думаю, что там в принципе много от джанги даже изначально было.

Инстаграм (запрещённая в РФ экстремистская организация) изначально как мобильное приложение проектировался, сначала там веб часть была совсем примитивной и ограниченной. Это сейчас через веб что-то можно, но сначала ничего было нельзя и это была их политика.

То есть это был бэкенд для мобильных приложений. Накакой функционал в возможностями, которые даёт джанго, не коррелировал. Все эти фильтры по обработке фото это не про джанго и даже не про питон. Хранилище данных там явно не на основе джанго ОРМ изначально. Все эти лайки тоже явно иначе реализованы.

Скорее всего на джанге там была ограниченная веб часть, пара процентов в общем объёме работы над сервисом этого уровня.
68 2322329
>>22297

>Штанга хорошо структурирована внутри себя. Но применять ее подход в других проектах я бы точно не стал.


Смотри. Джанго это ОРМ, разделение на слои вроде вьюшек, middleware, шаблоны, диспечер URL, организация файлов. Большая коробка, админка в комплекте и т.п.

Вот представь, ты лезешь в веб, но при этом ты как чистый лист, ничего не умеешь. Ты в принципе не понимаешь, как вот с этим работать. В джанго у тебя фреймворк, стройная документация, пояснения, как со всем этим грамотно работать. Без джанго тебе надо делать что-то, непонятно чем, непонятно как, ты просто неизбежно будешь делать криво и неграмотно.

Я хочу сказать, что именно для обучения это очень хорошая вещь. Как минимум будет понимание, как грамотно устроены веб-сайты, хотя бы CRUD класса.
image.png421 Кб, 434x640
69 2322332
>>22329
Если хочешь научиться - пили сам с нуля. Вот по твоему пикрил писал когда-нибудь на Джанге?
70 2322399
Скачал я этот ваш Питон.
Это что какой-то Бейсик для пориджей?
71 2322407
>>22399
Хочу вернуться в кодинг из продаж (т.к. продажи судя по всему пошли по пизде).
Последний Hello World! был на С++ 12 лет назад.
Тяга к Бэкенду.
Вкатываться сюда или вспоминать плюсы?
72 2322446
>>22319
Не по теме доебался. Штанга норм. Но не заебись. Брать ее как основу для чего либо плохая идея.
>>22329

> Я хочу сказать, что именно для обучения это очень хорошая вещь. Как минимум будет понимание, как грамотно устроены веб-сайты, хотя бы CRUD класса.


Вот смотри реальный пример.
Есть класс джанговских форм. Ты хочешь зарегать человека сопоставив его с другой базой. Типа есть уже набор клиентов в некой организации. Есть api для той базы. И вот дилемма. Куда пихать эту проверку, что пользователя в базе нет. По ТЗ можно регать лишь тех, кто уже клиент. Пихать запрос к api в код формы? Или во всьюху? Пихать запрос в класс формы смотрится как говно, честно говоря. У темя компонент начинает зависеть от вообще другого приложения. Если во вьюху, то как возвращать ошибку валидации? Форма уже прошла валидацию и все заполнено корректно, без хаков и костылей ты никак не вернешь ошибку валидации туда, где она должна быть, но где ее по факту нет.

ТЬ.е. все как и сказано выше. Шаг в сторону от документации и анчинается веселье.
1541203714829.png21 Кб, 1202x361
73 2322452
Туплю над задачками Хирьянова, даже вот такие тяжело даются. Дальше еще хуже будет?
74 2322457
>>22452
А в чем трудность?
75 2322473
>>22195

> > Самый хуевый совет, который можно дать


> Пруфы?


Заходишь в любой чат по питону в телеге, за день приходит около 20 пруфов

> Умный справится за 15 минут


Асинхронный декоратор умный разберёт за 15 минут, не написав до этого даже хеллоу ворлд? А ну да, я ж забыл, что вкат с нуля в айти это примерно два часа

> Быстрее чем проходить полугодовые курсы


В любом случае, вкат это год-два. Не надо свои фантазии проецировать
>>22225
Все так, а когда ты еще дрф прикручиваешь, то это пиздец
>>22266

> С джанги полезно начинать, потому что это образец того, как правильно проектировать веб-приложения


Ахахаха

> Это такая школа.


Разве что школа для особенных детей. Файлы serializers.py на 5 тысяч строк это не шокконтент, а суровая реальность

> На других платформах слишком много придётся самому пилить и прикручивать. Не понимая, как проектировать правильно, неизбежно будешь делать плохо.


Да, а потом понимать, что сделал плохо. В какой-то момент поймешь как правильно. А штанга сразу в принудительном порядке учит хуйне

> Правда перед тем, как лезть в джангу, какое-то базовое понимание интернета, а равно базовое понимание html/css должны быть.


Надо базовое понимание веб приложений иметь, хотя 5-6 петпроектов готовых, из которых 1-2 более менее крупные
>>22290
Ты же в курсе, что они байткод питона правили? У вк, фейсбука свои форки пхп . У инсты свой форк питона. А теперь представь что там осталось от штанги
76 2322478
>>22473

> Заходишь в любой чат по питону в телеге, за день приходит около 20 пруфов


А, ну раз в в чате в телеге такие приходят, то конечно. Тут даже спорить не о чем.

> Асинхронный декоратор умный разберёт за 15 минут, не написав до этого даже хеллоу ворлд? А ну да, я ж забыл, что вкат с нуля в айти это примерно два часа


Если умный, то до асинхронного декоратора он сам дойдет, когда будет нужно.
Был у нас такой выпускник с курсов. Всю приложуху своей асинхронщиной засрал и свалил туда где чуть больше платят. В итоге пришлось вникать в контекст. Когда избавились от асинхронных функций она даже стада быстрее работать. Потому что мало что то знать. надо еще понимать нахуя это нужно.
77 2322490
>>20027 (OP)
Что делает *range()?
78 2322502
>>22478

> А, ну раз в в чате в телеге такие приходят, то конечно. Тут даже спорить не о чем


Именно так. Челики, которые начинают изучать питон с написания бота это уже мем. Методом тыка, бесконечными просьбами починить код в чатах и копипастами кое-как заставляют свое говно работать и потом не знают что с этим делать

> Если умный, то до асинхронного декоратора он сам дойдет, когда будет нужно


Не понял блять, ты же в курсе, что aiogram на асинхронных декораторах? Как человек может тогда каждую строчку кода разобрать?

> Был у нас такой выпускник с курсов.


Такой это какой?

> Всю приложуху своей асинхронщиной засрал и свалил туда где чуть больше платят


А, кажется я начинаю понимать.
import asyncio

async def foo():
----await asyncio.sleep(5)

async def bar():
----await foo()
----await foo()

asyncio.run(bar())
Что выведет и через сколько секунд? А самое главное почему?

> В итоге пришлось вникать в контекст.


Нихуя себе, а ты как приложение разрабатывал?

> Когда избавились от асинхронных функций она даже стада быстрее работать


То есть, вы блять смотрели как чел пихает лупы в треды и думали, что все ок? Пиздец, ты либо в ультрапарашной галере работаешь стажером за еду, либо вкатун, который троллит

> Потому что мало что то знать. надо еще понимать нахуя это нужно.


Ну ты скажи что код выведет и почему. Мне интересно даже немного
79 2322504
>>22490
Блять тебе религия документацию открыть не даёт?
@nctda • • • • • Dior Homme SS 2002 Collection 2002.jpg170 Кб, 589x956
80 2322509
>>22504
Может я не там смотрю, но здесь этого нет.
81 2322511
>>22509
It generates arithmetic progressions
82 2322512
>>22511
Так меня интересует со звездочкой именно. А не просто range.
83 2322519
>>22512
А блять, звездочка короче распаковывает списоклюбой Iterable на самом деле, а две звездочки распаковывают словарь. Вот первая ссылка в гугле
https://pythobyte.com/unpacking-in-python-beyond-parallel-assignment-dc77cc67/
84 2322520
>>22519
Спасибо.
85 2322523
>>22512

>>> print( *range(10) )


0 1 2 3 4 5 6 7 8 9

>>> print( range(10) )


range(0, 10)
Последний вариант - в основном для циклов.
86 2322524
>>22520
На самом деле, все, что там перечислено в статье довольно эзотерическое использование. Так делают, конечно. Даже я так делаю, но это буквально 1-2 раза на проект. На одном уровне с моржомоператор := и метаклассами. Но вот что действительно часто используют, так это распаковка значений в вызов функции. Например, в вебе часто может быть такая ситуация -- у тебя есть питоновский словарь, который ты откуда-то получил. Например,
dict_from_outer = {'username': 'test_user', 'password': 'abcd'}
и есть условная функция, которая принимает значения из этого словаря и создает инстанс пользователя в базе данных
def create_user(username, password):
----database.create(User(uesrname, password)
и ты можешь вызывать эту функцию как-то так
crate_user(
----username=dict_from_outer ['username'], ----password=dict_from_outer ['password']
)
а можешь вот так
create_user(dict_from_outer)
Этот пример может надуманный показаться, но представь, что у тебя не два поля и два аргумента в функции, а 10. И вызываешь ты ее раз 20 в коде. У тебя ~250 строк кода будут засраны вызовами одной функции. А если добавить еще 1 аргумент, то пизда, тысяча лет рефакторинга. Вот главное это знать, а остальное хуйня и со времени просто освоишься в языке
87 2322525
>>22523

huj = ['h', 'u', 'j']

>>> print ( huj )


['h', 'u', 'j']

>>> print ( *huj )


h u j
чтобы вот так не делать: print ( huj[0], huj[1], huj[2] )
88 2322528
>>22525
Ага, специально сделали оператор, чтобы кавычки и скобочки не показывать, когда принт используют. Найс прохладная стори
89 2322531
>>22524
Сука, у меня две звездочки пропали,

> create_user(dict_from_outer)


фикс
90 2322533
>>22531
Ой все нахуй, макаба сжирает звезды, пиздец ебал ее рот
91 2322535
>>22524

>create_user(dict_from_outer)


Я так понимаю здесь было две звездочки? Спасибо большое за объяснение, анон. И добра.
92 2322537
>>22528
Я по-простому по-юзерски разницы показывал со звездой и нет.
Если дохуя умный - придумай такой же простой и наглядный пример. Пиздец просто.
На ориентацию гвидо и чего у них там в башке - мне пох.
93 2322541
>>22537

> Я по-простому по-юзерски разницы показывал со звездой и нет.


Главная разница между [1, 2, 3] и [1, 2, 3] это то, что [1, 2, 3] это не массив, а три переменные по сути. Мне кажется, что ты немного не до конца понимаешь разницу и решил пояснить

> Если дохуя умный - придумай такой же простой и наглядный пример


Так вот же он >>22524

> На ориентацию гвидо и чего у них там в башке - мне пох.


Я не понял про что ты
Я без негатива, если что. Мб как-то грубо написал, просто я ток с работы пришел заебавшимся, не бери в голову и не обижайся
>>22535
:333
94 2322548
>>22541
Пиздец, макаба снова съела звездочки. Мне так пиздец впадлу гуглить как спецсимволы в макабе обозначать, так что просто скажу, что все списки кроме первого с оператором распаковки
95 2322564
>>22502

> Именно так. Челики, которые начинают изучать питон с написания бота это уже мем. Методом тыка, бесконечными просьбами починить код в чатах и копипастами кое-как заставляют свое говно работать и потом не знают что с этим делать


Челиками которых ты описываешь завален хедхантер. Это челики, которые не изучают, а слезно просят пояснить. Хотели бы что то выучить - сидели бы читали, а не по чатикам шараебились.

> Не понял блять, ты же в курсе, что aiogram на асинхронных декораторах? Как человек может тогда каждую строчку кода разобрать?


Ты же в курсе, что кроме асинхронных фреймворков существуют и обычные? Изучать физику с теории струн такое себе занятие.

> Такой это какой?


С асинхронностью головного мозга.

> А, кажется я начинаю понимать.


Нет, ты думаешь что начинаешь понимать.

> Что выведет и через сколько секунд? А самое главное почему?


Он нихуя не выведет, потому что нет ни одной команды вывода чего либо. А работать чуть более 10 секунд суммарно.

> Нихуя себе, а ты как приложение разрабатывал?


А как обычно разрабатывают приложения. Начальник нанимает юное дарование с резюме из 100500 курсов. Дает ему проект, не очень сложный. Он его в соло пилит. Потом увольняется к хуям. Проект надо допиливать. Выясняется, что из-за не контроллируемого запуска субпроцессов вся эта хуйня рабоатет неимоверно долго. Т.к. каждый новый процесс не контролируется кодом и требует выделения ресурсов. Асинхронный код ждет пока ему хоть что то вернется из процесса, а пока запускает новый. Где то спустя 25 гигабайт потраченной памяти и полчаса времени они наконец начинают раздупляться. Внезапно выяснилось, что если запускать их по очереди в синхронном цикле, то весь процесс занимает 8 минут.
А теперь у меня к тебе вопрос. Почему так происходит? Где же магия асинхронности? Ведь все асинхронное всегда быстрее и лучше.

> То есть, вы блять смотрели как чел пихает лупы в треды и думали, что все ок?


У тебя какое то идеализированное представление о работе в it секторе. Что если один чел пилит код, то все остальные должны его проверять чуть ли не ежечасно? А своих задач у других людей нет?
И на счет работы за еду. Я видел резюме где люди примерно так и писали. Современный it это не тот манямирок, с каналов модных блогеров. В 80% случаев это ебаный пиздец.
95 2322564
>>22502

> Именно так. Челики, которые начинают изучать питон с написания бота это уже мем. Методом тыка, бесконечными просьбами починить код в чатах и копипастами кое-как заставляют свое говно работать и потом не знают что с этим делать


Челиками которых ты описываешь завален хедхантер. Это челики, которые не изучают, а слезно просят пояснить. Хотели бы что то выучить - сидели бы читали, а не по чатикам шараебились.

> Не понял блять, ты же в курсе, что aiogram на асинхронных декораторах? Как человек может тогда каждую строчку кода разобрать?


Ты же в курсе, что кроме асинхронных фреймворков существуют и обычные? Изучать физику с теории струн такое себе занятие.

> Такой это какой?


С асинхронностью головного мозга.

> А, кажется я начинаю понимать.


Нет, ты думаешь что начинаешь понимать.

> Что выведет и через сколько секунд? А самое главное почему?


Он нихуя не выведет, потому что нет ни одной команды вывода чего либо. А работать чуть более 10 секунд суммарно.

> Нихуя себе, а ты как приложение разрабатывал?


А как обычно разрабатывают приложения. Начальник нанимает юное дарование с резюме из 100500 курсов. Дает ему проект, не очень сложный. Он его в соло пилит. Потом увольняется к хуям. Проект надо допиливать. Выясняется, что из-за не контроллируемого запуска субпроцессов вся эта хуйня рабоатет неимоверно долго. Т.к. каждый новый процесс не контролируется кодом и требует выделения ресурсов. Асинхронный код ждет пока ему хоть что то вернется из процесса, а пока запускает новый. Где то спустя 25 гигабайт потраченной памяти и полчаса времени они наконец начинают раздупляться. Внезапно выяснилось, что если запускать их по очереди в синхронном цикле, то весь процесс занимает 8 минут.
А теперь у меня к тебе вопрос. Почему так происходит? Где же магия асинхронности? Ведь все асинхронное всегда быстрее и лучше.

> То есть, вы блять смотрели как чел пихает лупы в треды и думали, что все ок?


У тебя какое то идеализированное представление о работе в it секторе. Что если один чел пилит код, то все остальные должны его проверять чуть ли не ежечасно? А своих задач у других людей нет?
И на счет работы за еду. Я видел резюме где люди примерно так и писали. Современный it это не тот манямирок, с каналов модных блогеров. В 80% случаев это ебаный пиздец.
96 2322577
>>22564

> Челиками которых ты описываешь завален хедхантер. Это челики, которые не изучают, а слезно просят пояснить. Хотели бы что то выучить - сидели бы читали, а не по чатикам шараебились.


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

> Ты же в курсе, что кроме асинхронных фреймворков существуют и обычные?


Только вот почему-то все сразу берут aiogramсамые сверхразумы pyrogram

> Изучать физику с теории струн такое себе занятие


А, то есть, человек, который вроде как с нуля изучает пистон, оказывается должен уже знать что такое асинхронность и отличать асинхронный фреймворк от обычного? Надеюсь, ты начинаешь ухватывать суть. То, что для тебе кажется, что концепция циклов и условий это что-то само собой разумеющееся, а классы с объектами и вообще ООП это так, вечерок-два посидеть и разобраться, говорит лишь о том, что ты просто уже забыл как изучал это сам

> С асинхронностью головного мозга.


Ну так в крудоговне асинхронность в 60+% случаев в разы быстрее и безопаснее.

> Он нихуя не выведет, потому что нет ни одной команды вывода чего либо


Мой обсер, признаю

> А работать чуть более 10 секунд суммарно.


Это понятно, ты главное скажи почему 10 и почему не 5, ведь блокирующих операций нету

> А как обычно разрабатывают приложения


Ну вот мне и интересно, как у вас разрабатывают приложения

> Начальник нанимает юное дарование с резюме из 100500 курсов. Дает ему проект, не очень сложный. Он его в соло пилит. Потом увольняется к хуям


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

> Выясняется, что из-за не контроллируемого запуска субпроцессов вся эта хуйня рабоатет неимоверно долго. Т.к. каждый новый процесс не контролируется кодом и требует выделения ресурсов. Асинхронный код ждет пока ему хоть что то вернется из процесса, а пока запускает новый. Где то спустя 25 гигабайт потраченной памяти и полчаса времени они наконец начинают раздупляться. Внезапно выяснилось, что если запускать их по очереди в синхронном цикле, то весь процесс занимает 8 минут.


Охуительные истории, у вас ждун пришел, вы ему в соло выдали таску мидловую, он наворотил хуйникто бы мог подумать и теперь виноват не пм или тимлид, у которого 50iq и полная профнепригодность, а ждун. Понял+принял

> Почему так происходит? Где же магия асинхронности? Ведь все асинхронное всегда быстрее и лучше.


Ну ты просто не понимаешь чем треды, лупы и процессы отличаются вот и пытаешься надувать щеки и рассказывать о том, что эта ваша интернетасинхронность нам нахуй не нужна. Так что все я прекрасно понял

> Что если один чел пилит код, то все остальные должны его проверять чуть ли не ежечасно


pull/merge request видимо сделали больные люди, которые никакого представления о работе в айти не имеют, ага.Бывают ситуации, когда у сроки горят и хуяк-хуяк и в продакшн, но оставить одного ждуна без присмотра, не отслеживать мры да какие мры, вы блять даже в репу не заходили, а потом закатывать глаза и хаять ждуна это пиздец абсурд. Да даже не джуна все равно хотя бы раз в неделю-две минимально контролировать нужно, чтобы понимать что он делает и не допускать таких ситуаций

> Я видел резюме где люди примерно так и писали. Современный it это не тот манямирок, с каналов модных блогеров. В 80% случаев это ебаный пиздец.


Пчел, ждун может вообще бесплатно предлагать работать и его никто не возьмет, так как человек либо может таски закрывать, либо нет. И если может, то ему готовы 50-80к со старта платить, а если нет, то даже рабский бесплатный труд не окупит убытков
96 2322577
>>22564

> Челиками которых ты описываешь завален хедхантер. Это челики, которые не изучают, а слезно просят пояснить. Хотели бы что то выучить - сидели бы читали, а не по чатикам шараебились.


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

> Ты же в курсе, что кроме асинхронных фреймворков существуют и обычные?


Только вот почему-то все сразу берут aiogramсамые сверхразумы pyrogram

> Изучать физику с теории струн такое себе занятие


А, то есть, человек, который вроде как с нуля изучает пистон, оказывается должен уже знать что такое асинхронность и отличать асинхронный фреймворк от обычного? Надеюсь, ты начинаешь ухватывать суть. То, что для тебе кажется, что концепция циклов и условий это что-то само собой разумеющееся, а классы с объектами и вообще ООП это так, вечерок-два посидеть и разобраться, говорит лишь о том, что ты просто уже забыл как изучал это сам

> С асинхронностью головного мозга.


Ну так в крудоговне асинхронность в 60+% случаев в разы быстрее и безопаснее.

> Он нихуя не выведет, потому что нет ни одной команды вывода чего либо


Мой обсер, признаю

> А работать чуть более 10 секунд суммарно.


Это понятно, ты главное скажи почему 10 и почему не 5, ведь блокирующих операций нету

> А как обычно разрабатывают приложения


Ну вот мне и интересно, как у вас разрабатывают приложения

> Начальник нанимает юное дарование с резюме из 100500 курсов. Дает ему проект, не очень сложный. Он его в соло пилит. Потом увольняется к хуям


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

> Выясняется, что из-за не контроллируемого запуска субпроцессов вся эта хуйня рабоатет неимоверно долго. Т.к. каждый новый процесс не контролируется кодом и требует выделения ресурсов. Асинхронный код ждет пока ему хоть что то вернется из процесса, а пока запускает новый. Где то спустя 25 гигабайт потраченной памяти и полчаса времени они наконец начинают раздупляться. Внезапно выяснилось, что если запускать их по очереди в синхронном цикле, то весь процесс занимает 8 минут.


Охуительные истории, у вас ждун пришел, вы ему в соло выдали таску мидловую, он наворотил хуйникто бы мог подумать и теперь виноват не пм или тимлид, у которого 50iq и полная профнепригодность, а ждун. Понял+принял

> Почему так происходит? Где же магия асинхронности? Ведь все асинхронное всегда быстрее и лучше.


Ну ты просто не понимаешь чем треды, лупы и процессы отличаются вот и пытаешься надувать щеки и рассказывать о том, что эта ваша интернетасинхронность нам нахуй не нужна. Так что все я прекрасно понял

> Что если один чел пилит код, то все остальные должны его проверять чуть ли не ежечасно


pull/merge request видимо сделали больные люди, которые никакого представления о работе в айти не имеют, ага.Бывают ситуации, когда у сроки горят и хуяк-хуяк и в продакшн, но оставить одного ждуна без присмотра, не отслеживать мры да какие мры, вы блять даже в репу не заходили, а потом закатывать глаза и хаять ждуна это пиздец абсурд. Да даже не джуна все равно хотя бы раз в неделю-две минимально контролировать нужно, чтобы понимать что он делает и не допускать таких ситуаций

> Я видел резюме где люди примерно так и писали. Современный it это не тот манямирок, с каналов модных блогеров. В 80% случаев это ебаный пиздец.


Пчел, ждун может вообще бесплатно предлагать работать и его никто не возьмет, так как человек либо может таски закрывать, либо нет. И если может, то ему готовы 50-80к со старта платить, а если нет, то даже рабский бесплатный труд не окупит убытков
97 2322581
Привет, аноны! Возник такой вопрос: как сейчас обстоят дела с вакансиями для джунов или, что меня интересует в большей степени, стажировками на бэкенд с питоном? Может у кого-то был недавний опыт? Какой плюс минус нужен стек? Есть переизбыток в кадрах, и если есть, то насколько он сильный? Заранее спасибо за ответы!
98 2322583
>>22581

> как сейчас обстоят дела с вакансиями для джунов


Да как и всегда, если ты тянешь на ждуна, то найти работу в любом миллионнике изи, если не тянешь, то не найти

> что меня интересует в большей степени, стажировками на бэкенд с питоном


Стажер это ждун, который решил не учиться лишних месяца два дома. По сути, во многих конторах стажер и ждун синонимы. Так что если ты думаешь, что есть какой-то лайфхак с тем, чтобы каким-то хитрым способом пролезть без мыла, то нет. Его не существует. Хотя если у тебя МГУ/ФПМИ/ВШЭ/etc за плечами, то такие способы есть, но не думаю, что ты бы пришел тогда сюда с вопросами

> Может у кого-то был недавний опыт


Годы идут, а требования не меняются

> Какой плюс минус нужен стек


Нормальное знание любого крудофреймворка+sql и знание ORM на уровне составления простых агрегирующих запросов+отличное знание 3.9 пистона. Этого вполне достаточно, чтобы на 90% вакансий джуновских попасть

> Есть переизбыток в кадрах, и если есть, то насколько он сильный


Нету, кто удовлетворяет требованиям, которые я написал, выбирают из десятков вакансий. Те, кто не удовлетворяют, никогда работу не найдутдаже если наебать на собесе, то вылетят через месяц, так как не закрывают таски
99 2322602
>>22577

>То, что для тебе кажется, что концепция циклов и условий это что-то само собой разумеющееся, а классы с объектами и вообще ООП это так, вечерок-два посидеть и разобраться, говорит лишь о том, что ты просто уже забыл как изучал это сам


Вот это главное, о чём постоянно все забывают. Потому что сами изучали давно, и никогда не пробовали никого чему-то научить с нуля или почти с нуля, чтобы успешно.

На самом деле самые простые вещи ни разу не очевидны.

Это даже просто по программированию. А ещё смежные проблемы накладываются. Вот хочет такой чувак научиться разрабатывать сайты, ему джангу рекомендуют.

А потом оказывается, что про циклы и if-else он ничего не знает. Про то, что такое переменная, функция, он тоже ничего не знает. Представление об интернете такое визуальное, вот ткнуть ссылку на странице, а что такое HTML он тоже не знает.

Какие шансы что он не за три месяца, а хотя бы за год станет адекватным разработчиком? Да нулевые просто. Максимум на уровне макаки, бездумно всё.
100 2322604
>>22577

>Это понятно, ты главное скажи почему 10 и почему не 5, ведь блокирующих операций нету


Мне кажется, что тут сложно будет придумать объяснение, почему 5, а не 10.

Вообще async/await нужны для того, чтобы сделать асинхронное программирование максимально похожим на синхронное. Условно ты мысленно стираешь все эти await, и получаешь обычный синхронный код, очевидный.

Вот если ты будешь код с create_task() давать, там уже будут неочевидные вещи.
101 2322606
>>22577

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


Это довольно типичная история, когда не продуктовая компания, где команда разработчиков, а когда что-то пилят для внутренних нужд. Привлекают кого-то для разработки, он это в одиночку делает, никто из заказчиков в разработке вообще не понимает при этом. Никаких процессов не выстроено, разраб сам в это не очень умеет и не очень хочет, потому что всё равно один. Заказчики же не в состоянии понимать, какие проблемы бывают, им объяснять что-то бесполезно.

В итоге получается неподдерживаемый ад. Причём не обязательно это прямо джун разрабатывал.
102 2322610
>>22583
Спасибо большое за развернутый ответ, анон! Просто хочу вкатиться в бекэнд и пытаюсь определиться с языком. Питон мне нравится, т.к. был небольшой опыт с ним, но ещё нравится шарп. Шарп немного пугает, т.к. до этого с чем-то си подобным не сталкивался и вообще опыт в программирование совсем маленький. А что по поводу JS? Нужен ли он джуну на питоне? Просто шарписты говорят, что вроде как у них нужен какой-нибудь React/Angular в стеке
103 2322617
>>22602

> Вот это главное, о чём постоянно все забывают. Потому что сами изучали давно, и никогда не пробовали никого чему-то научить с нуля или почти с нуля, чтобы успешно.


Да, именно так. У меня прям жопа горит с охуительных историй про вкат пару месяцев, так как я 2 года работал репетитором по математике и погромированию обучал. Да, это были школоебы из 10-11 классов, но не думаю, что через два года они бы стали пиздец сверхразумами. И первые месяца три-четыре просто уходило на понимание концепции нахождения максимального числа через if-else, сортировки пузырьком и возвращения значений из функций. Вот возвращение значений из функций пиздец, ни одного человека не видел, который бы это быстро понял. А с учетом неявного return None в пистоне это превращается вообще в пиздец.

> Какие шансы что он не за три месяца, а хотя бы за год станет адекватным разработчиком?


Ну довольно много концепций в программировании ОЧЕНЬ плотно пересекается с концепциями математики. И поэтому в общем и целом человек с хорошим матбазисом и мотивацией может вкатиться меньше чем за год. Лично видел такое, челы за 9-10 месяцев вкатывались с нуля. Но это 2 человека из сотен, нужно понимать
>>22604

> Мне кажется, что тут сложно будет придумать объяснение, почему 5, а не 10.


Почему? Очень простая концепция в том смысле, что если два человека ее понимают, то очень легко это пояснить

> Вот если ты будешь код с create_task() давать, там уже будут неочевидные вещи.


Ну я этот вопрос задал, чтобы попустить чела с надутыми щеками, который чет бычил на асинхронщину. Не нужно за него отвечать)
>>22606

> Это довольно типичная история, когда не продуктовая компания, где команда разработчиков, а когда что-то пилят для внутренних нужд


Может и так, просто я работал ток в продуктах-продуктах с ИБ и ожиданием доступов по неделе и на галере с "нужно было еще вчера" и прямыми созвонами с заказчиком. По моим ощущением, похоже на какую-то говновебстудию, где полуджуны возомнили себя сеньками, а бывший менеджер по клинингу решил, что он проджект менеджер и все вместе дружной командой пилят говно с мочей на вордпрессе и сайты для парикмахерских с записью в формах на штанге.

> Привлекают кого-то для разработки, он это в одиночку делает, никто из заказчиков в разработке вообще не понимает при этом


> Никаких процессов не выстроено, разраб сам в это не очень умеет и не очень хочет, потому что всё равно один. Заказчики же не в состоянии понимать, какие проблемы бывают, им объяснять что-то бесполезно.


Вот-вот, я поэтому и написал про профнепригодность их погонщика, хз кто там у них -- пм или тимлид, но видимо чел даже не в курсе про то, что нужны процессы. Я как-то краем один раз подобное зацепил и это ад

> В итоге получается неподдерживаемый ад. Причём не обязательно это прямо джун разрабатывал.


Все так, полностью согласен. Правда мне кажется, что подобное только в вебстудиях из 90-ых осталось, но может у меня просто опыт такой позитивный
>>22610

> Просто хочу вкатиться в бекэнд и пытаюсь определиться с языком


В России пистон > шарпы. На шарпах совсем грустно, так как ты будешь то же крудоговно пилить с тем же количеством вакансий, только спектр компаний в разы меньше. Для шарпов это почти всегда тырпрайз. На пистоне благодаря динамической типизации и отсутствию кастов к интерфейсам интерфейсов, которые кастуются в другой интерфейс, часто пилят стартапы и новые проекты, они взлетают и есть возможность как залететь в новые системы для тырпрайза, так и в стильный модной молодежный стартап по вычислению протеинов. А, ну и сайтики для парикмахерских с формами дл язаписи это всегда пожалуйста. Но в среднем по больнице, наверное, на шарпах зэпки-то повыше будут, так как тырпрайз пистона это всякие заводы и строительные фирмы, а тырпрайз шарпов это финтех

> Питон мне нравится, т.к. был небольшой опыт с ним, но ещё нравится шарп


Если серьезно, что шарпы, что пистон слишком популярные языки, чтобы выбирать исходя из вакансий на рынке. Что больше нравится, от чего сердечко бьется сильнее на том и пиши. У Немчинского вроде неплохой видос был на эту тему

> Шарп немного пугает, т.к. до этого с чем-то си подобным не сталкивался и вообще опыт в программирование совсем маленький


Ну пистон, строго говоря, тоже сиподобный. Просто обычно сиподобность так сильно не растягивают. Но разница между ними по сути ток в динамической/статической типизации. Оба языка современные и распространенные, это не джава обоссаннаянет кооперативной многозадачности в 2022 тысячелетии или ГОвноlol no generic, куда новые фичи залетают с задержкой в десятилетия. Так что не ссы и пиши на чем нравится, только не думай, что статическая типизация автоматически делает язык круче или слоупочность пистона делает его хуже. Это все стереотипы

> А что по поводу JS?


Если ты про NodeJS, то лучше не стоит. Если ты про то, что пригодятся ли тебе навыки фронта, если ты хочешь пойти на бэк, то да. Пригодятся. И когда начнешь работать уже бэкендером, то можешь заняться этим вопросом

> Просто шарписты говорят, что вроде как у них нужен какой-нибудь React/Angular в стеке


Не нужен, если ты видишь слово фулстек в вакансии или упоминания о том, что разработкаименно разработка, а не кнопочку перекрасить фронта будет хотя бы частично на тебе, то невздумай соглашаться. Это лютое говно и хуйня и в нормальных конторах все равно разделение такое, что твои навыки фактически не пригодятся. Так что это как качать тяжелые и легкие доспехи одновременно, когда в игре есть возможность ходить только в одних и нет возможности переодеться
103 2322617
>>22602

> Вот это главное, о чём постоянно все забывают. Потому что сами изучали давно, и никогда не пробовали никого чему-то научить с нуля или почти с нуля, чтобы успешно.


Да, именно так. У меня прям жопа горит с охуительных историй про вкат пару месяцев, так как я 2 года работал репетитором по математике и погромированию обучал. Да, это были школоебы из 10-11 классов, но не думаю, что через два года они бы стали пиздец сверхразумами. И первые месяца три-четыре просто уходило на понимание концепции нахождения максимального числа через if-else, сортировки пузырьком и возвращения значений из функций. Вот возвращение значений из функций пиздец, ни одного человека не видел, который бы это быстро понял. А с учетом неявного return None в пистоне это превращается вообще в пиздец.

> Какие шансы что он не за три месяца, а хотя бы за год станет адекватным разработчиком?


Ну довольно много концепций в программировании ОЧЕНЬ плотно пересекается с концепциями математики. И поэтому в общем и целом человек с хорошим матбазисом и мотивацией может вкатиться меньше чем за год. Лично видел такое, челы за 9-10 месяцев вкатывались с нуля. Но это 2 человека из сотен, нужно понимать
>>22604

> Мне кажется, что тут сложно будет придумать объяснение, почему 5, а не 10.


Почему? Очень простая концепция в том смысле, что если два человека ее понимают, то очень легко это пояснить

> Вот если ты будешь код с create_task() давать, там уже будут неочевидные вещи.


Ну я этот вопрос задал, чтобы попустить чела с надутыми щеками, который чет бычил на асинхронщину. Не нужно за него отвечать)
>>22606

> Это довольно типичная история, когда не продуктовая компания, где команда разработчиков, а когда что-то пилят для внутренних нужд


Может и так, просто я работал ток в продуктах-продуктах с ИБ и ожиданием доступов по неделе и на галере с "нужно было еще вчера" и прямыми созвонами с заказчиком. По моим ощущением, похоже на какую-то говновебстудию, где полуджуны возомнили себя сеньками, а бывший менеджер по клинингу решил, что он проджект менеджер и все вместе дружной командой пилят говно с мочей на вордпрессе и сайты для парикмахерских с записью в формах на штанге.

> Привлекают кого-то для разработки, он это в одиночку делает, никто из заказчиков в разработке вообще не понимает при этом


> Никаких процессов не выстроено, разраб сам в это не очень умеет и не очень хочет, потому что всё равно один. Заказчики же не в состоянии понимать, какие проблемы бывают, им объяснять что-то бесполезно.


Вот-вот, я поэтому и написал про профнепригодность их погонщика, хз кто там у них -- пм или тимлид, но видимо чел даже не в курсе про то, что нужны процессы. Я как-то краем один раз подобное зацепил и это ад

> В итоге получается неподдерживаемый ад. Причём не обязательно это прямо джун разрабатывал.


Все так, полностью согласен. Правда мне кажется, что подобное только в вебстудиях из 90-ых осталось, но может у меня просто опыт такой позитивный
>>22610

> Просто хочу вкатиться в бекэнд и пытаюсь определиться с языком


В России пистон > шарпы. На шарпах совсем грустно, так как ты будешь то же крудоговно пилить с тем же количеством вакансий, только спектр компаний в разы меньше. Для шарпов это почти всегда тырпрайз. На пистоне благодаря динамической типизации и отсутствию кастов к интерфейсам интерфейсов, которые кастуются в другой интерфейс, часто пилят стартапы и новые проекты, они взлетают и есть возможность как залететь в новые системы для тырпрайза, так и в стильный модной молодежный стартап по вычислению протеинов. А, ну и сайтики для парикмахерских с формами дл язаписи это всегда пожалуйста. Но в среднем по больнице, наверное, на шарпах зэпки-то повыше будут, так как тырпрайз пистона это всякие заводы и строительные фирмы, а тырпрайз шарпов это финтех

> Питон мне нравится, т.к. был небольшой опыт с ним, но ещё нравится шарп


Если серьезно, что шарпы, что пистон слишком популярные языки, чтобы выбирать исходя из вакансий на рынке. Что больше нравится, от чего сердечко бьется сильнее на том и пиши. У Немчинского вроде неплохой видос был на эту тему

> Шарп немного пугает, т.к. до этого с чем-то си подобным не сталкивался и вообще опыт в программирование совсем маленький


Ну пистон, строго говоря, тоже сиподобный. Просто обычно сиподобность так сильно не растягивают. Но разница между ними по сути ток в динамической/статической типизации. Оба языка современные и распространенные, это не джава обоссаннаянет кооперативной многозадачности в 2022 тысячелетии или ГОвноlol no generic, куда новые фичи залетают с задержкой в десятилетия. Так что не ссы и пиши на чем нравится, только не думай, что статическая типизация автоматически делает язык круче или слоупочность пистона делает его хуже. Это все стереотипы

> А что по поводу JS?


Если ты про NodeJS, то лучше не стоит. Если ты про то, что пригодятся ли тебе навыки фронта, если ты хочешь пойти на бэк, то да. Пригодятся. И когда начнешь работать уже бэкендером, то можешь заняться этим вопросом

> Просто шарписты говорят, что вроде как у них нужен какой-нибудь React/Angular в стеке


Не нужен, если ты видишь слово фулстек в вакансии или упоминания о том, что разработкаименно разработка, а не кнопочку перекрасить фронта будет хотя бы частично на тебе, то невздумай соглашаться. Это лютое говно и хуйня и в нормальных конторах все равно разделение такое, что твои навыки фактически не пригодятся. Так что это как качать тяжелые и легкие доспехи одновременно, когда в игре есть возможность ходить только в одних и нет возможности переодеться
104 2322622
>>22617
Спасибо за ответ! Да, меня питон цепляет тем, что если не получается какое-то время найти работу, то всегда можно поделать на нём что-то и не остаться без куска хлеба (боты, парсеры, одностраничники для салонов красоты и т.д.). Ещё вопрос, анон: какую книжку по питону посоветуешь? Вот хочу начать курс по питону от Гарварда, вроде бы отзывы о нём очень хорошие, да и много практики. Но параллельно хотелось бы что-то подробное почитать для лучшего понимания. Можно и на английском
105 2322626
>>22622

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


Если ты работаешь не в команде и не на галере, то ты будешь писать на чем умеешь и это будет норм. Эффект масштаба не тот, для тебя это без учета переучивания сэкономит 100 часов в год, для компании это уже десятки тысяч часов и сотни миллионов рублей. Так что на это тоже внимания не обращай особо

> Ещё вопрос, анон: какую книжку по питону посоветуешь?


Я читал гайд по фласку на хабре https://habr.com/ru/post/346306/ и на сайте мазилы гайд по штанге https://developer.mozilla.org/ru/docs/Learn/Server-side/Django
По самому пистону брал "Питон для детей". Мне подача зашла, но то было давно, мб он уже не актуален, ориентируйся на 2018-2019 год хотя бы как актуальный год, там уже и тайпхинты были, и асинхронность, и датаклассы. К хорошему нужно привыкать. 3.9-3.10 релизы минорные в плане новых фич, так что старше 2019 года особо смысла нет усираться и искать литературу
106 2322630
>>22577

> Только вот почему-то все сразу берут aiogram


Если набрать в гугле "telegram bot на питое" то в певых ссылках aiogram нету.

> А, то есть, человек, который вроде как с нуля изучает пистон, оказывается должен уже знать что такое асинхронность


Человек котоыре начал гуглить в первых ссылках получит очень старые примеры кода. Тогда еще никакой асинхронности не было. ему даже разбираться не надо, гугл за него уже все ссылки рассортировал.

> Ну так в крудоговне асинхронность в 60+% случаев в разы быстрее и безопаснее.


Тут тоже есть свои нюансы. Поэтому ты сам называешь 60%, а не все 100.

> Это понятно, ты главное скажи почему 10 и почему не 5, ведь блокирующих операций нету


Потому что вызывается дважды одна функция, которая должна ждать 5 секунд. Тут скорее воопрос почему она должна выполняться 5. В коде нет ничего что бы позволяло так думать.

> Нихуя у вас приколы, а какой процент проектов на вашей галеры в соло пилят джуны?


Процентов 50% Остальные 50% пилят по два джуна.

> Ну мне так, просто интересно. Название бы еще узнать на всякий случай


Называть не буду. Я там уже не работаю. Но пока работал узнал еще о нескольких подобных парашах от приходящих сотрудников. Так что могу с уверенностью говорить, что примерно так еще много где в москве и бижнем подмосковье.

> Охуительные истории, у вас ждун пришел, вы ему в соло выдали таску мидловую


Не мы. У нас есть начальство и оно умное. Оно с айтишным образованием как оно говорит. Оно дает. Да и по факту прога работала.

> теперь виноват не пм или тимлид, у которого 50iq и полная профнепригодность, а ждун.


Знаешь, есть разные виды джунов. Одни приходят что бы чему то научиться. Вопросы задают как что сделать. А есть те которые заходят с ноги и говорят, что писать надо вот так. Как, вы еще не полностью асинхронные? Сейчас я вам покажу как надо. И вот второй тип самый опасный. Т.к. это фанатики. Они уверены, что за асинхронностью будущее и хуй ты их образумишь, что это всего лишь опция для решения конкретных проблем. Надо сделать api для обработки 3,5 запроса в день, вот у нас уже есть на фласке почти такое же. Только пару функций перепиши. Нет, будем писать с нуля на aiohttp. А тимлид, ну давайте попробуем...

> Ну ты просто не понимаешь чем треды, лупы и процессы отличаются вот и пытаешься надувать щеки и рассказывать о том, что эта ваша интернетасинхронность нам нахуй не нужна. Так что все я прекрасно понял


Ты думаешь,что что то понял.
Асинхронность нужна, там где она нужна. Там где есть потери времени из-за блокировок. Но почему то именно в питоне вокруг асинхронности сейчас собирается секта. Люди начинают использовать асинхронные фреймворки не потому, что они нужны для их задачи, а потому что это модно. И это пиздец как плохо.

> pull/merge request видимо сделали больные люди


Ну так ему все одобряли. Прога работала и кое как выполняла свою функцию. Просто долго пыхтела, но бизнесу похуй. Потом пришла доработка, но автор уже съебал. Так я узнал что эта прога вообще существует.

> а потом закатывать глаза и хаять ждуна это пиздец абсурд.


Был готовый стек, котоырм все пользовались. Пришел номатор. Притащил все свое. Фанатично продвигал. Убедил вышестоящих дать ему сделать так как он хочет. По современному. Вышестоящие согласилсь, т.к. сами код не пишут и переделывать, еслич то, не им. Конечно вина в первую очередь на тех кто разрешил эксперимент. Но я считаю, что челик просто нахаляву устроил себе полигон и съебал чуть накопив опыта и нахуевертив не поддерживаемого говна. И это чести ему не делает.

> Пчел, ждун может вообще бесплатно предлагать работать и его никто не возьмет, так как человек либо может таски закрывать, либо нет. И если может, то ему готовы 50-80к со старта платить, а если нет, то даже рабский бесплатный труд не окупит убытков


Услужливый дурак опаснее врага.
106 2322630
>>22577

> Только вот почему-то все сразу берут aiogram


Если набрать в гугле "telegram bot на питое" то в певых ссылках aiogram нету.

> А, то есть, человек, который вроде как с нуля изучает пистон, оказывается должен уже знать что такое асинхронность


Человек котоыре начал гуглить в первых ссылках получит очень старые примеры кода. Тогда еще никакой асинхронности не было. ему даже разбираться не надо, гугл за него уже все ссылки рассортировал.

> Ну так в крудоговне асинхронность в 60+% случаев в разы быстрее и безопаснее.


Тут тоже есть свои нюансы. Поэтому ты сам называешь 60%, а не все 100.

> Это понятно, ты главное скажи почему 10 и почему не 5, ведь блокирующих операций нету


Потому что вызывается дважды одна функция, которая должна ждать 5 секунд. Тут скорее воопрос почему она должна выполняться 5. В коде нет ничего что бы позволяло так думать.

> Нихуя у вас приколы, а какой процент проектов на вашей галеры в соло пилят джуны?


Процентов 50% Остальные 50% пилят по два джуна.

> Ну мне так, просто интересно. Название бы еще узнать на всякий случай


Называть не буду. Я там уже не работаю. Но пока работал узнал еще о нескольких подобных парашах от приходящих сотрудников. Так что могу с уверенностью говорить, что примерно так еще много где в москве и бижнем подмосковье.

> Охуительные истории, у вас ждун пришел, вы ему в соло выдали таску мидловую


Не мы. У нас есть начальство и оно умное. Оно с айтишным образованием как оно говорит. Оно дает. Да и по факту прога работала.

> теперь виноват не пм или тимлид, у которого 50iq и полная профнепригодность, а ждун.


Знаешь, есть разные виды джунов. Одни приходят что бы чему то научиться. Вопросы задают как что сделать. А есть те которые заходят с ноги и говорят, что писать надо вот так. Как, вы еще не полностью асинхронные? Сейчас я вам покажу как надо. И вот второй тип самый опасный. Т.к. это фанатики. Они уверены, что за асинхронностью будущее и хуй ты их образумишь, что это всего лишь опция для решения конкретных проблем. Надо сделать api для обработки 3,5 запроса в день, вот у нас уже есть на фласке почти такое же. Только пару функций перепиши. Нет, будем писать с нуля на aiohttp. А тимлид, ну давайте попробуем...

> Ну ты просто не понимаешь чем треды, лупы и процессы отличаются вот и пытаешься надувать щеки и рассказывать о том, что эта ваша интернетасинхронность нам нахуй не нужна. Так что все я прекрасно понял


Ты думаешь,что что то понял.
Асинхронность нужна, там где она нужна. Там где есть потери времени из-за блокировок. Но почему то именно в питоне вокруг асинхронности сейчас собирается секта. Люди начинают использовать асинхронные фреймворки не потому, что они нужны для их задачи, а потому что это модно. И это пиздец как плохо.

> pull/merge request видимо сделали больные люди


Ну так ему все одобряли. Прога работала и кое как выполняла свою функцию. Просто долго пыхтела, но бизнесу похуй. Потом пришла доработка, но автор уже съебал. Так я узнал что эта прога вообще существует.

> а потом закатывать глаза и хаять ждуна это пиздец абсурд.


Был готовый стек, котоырм все пользовались. Пришел номатор. Притащил все свое. Фанатично продвигал. Убедил вышестоящих дать ему сделать так как он хочет. По современному. Вышестоящие согласилсь, т.к. сами код не пишут и переделывать, еслич то, не им. Конечно вина в первую очередь на тех кто разрешил эксперимент. Но я считаю, что челик просто нахаляву устроил себе полигон и съебал чуть накопив опыта и нахуевертив не поддерживаемого говна. И это чести ему не делает.

> Пчел, ждун может вообще бесплатно предлагать работать и его никто не возьмет, так как человек либо может таски закрывать, либо нет. И если может, то ему готовы 50-80к со старта платить, а если нет, то даже рабский бесплатный труд не окупит убытков


Услужливый дурак опаснее врага.
107 2322631
>>22630
Вина на мудаках, которые хуй забили на ревью.
108 2322757
>>22541

>>Так вот же он >>22524


Лично мне сложнее покзался пример, он же длинее, и из онлайн-индусни. Проще вроде офлайн пример.

(да я ничо, тоже нагрубил, звиняй ))) )
109 2322789
асинк нормальная тема, вы просто все не шарите и вообще староверы со своей джангой а фласк это вообще сборник антипаттернов вы знали?
я вот кабаниусу наклепал сервисов на фастапи + аиоашттп, правда спустя 4 месяца от старта проекта уволился, но думаю там все заебись после меня работает, ребята довольны
110 2322824
>>22789
Ты пидорас или педофил?
111 2322893
Задач не было, я заебался сидеть, уже и го поизучал и хабр пролистал и посрал во все стороны немного в б. Выпросил таки таску.
Пиздец. Перевести проект с 2 питона на 3. Там таска на месяц, не меньше.
Хз с чего даже начинать. Думаю six обмазаться и начать с тестов. Там еще есть древние модули, которые лет 6 как мертвы. Придется выносить всё в локальные. Переводы на какой-то ахинее, которая много лет не обновлялась и автор наверно уже умер, внутрь которой никогда не лазил. Там столько абстрактной логики, что просто диву даешься, ну нахуя так усложнять
112 2322918
>>22626

>К хорошему нужно привыкать. 3.9-3.10 релизы минорные в плане новых фич


Скорее надо на конкретные фичи смотреть.
С версии 3.5 по 3.8 шла очень активная разработка по асинхронности, каждый релиз что-то существенное менял. После фактически застопорилось.

Сейчас идёт работа по Typing, хотя уже застопорилась, но в 3.9 и 3.10 много изменений, в 3.11 вроде ничего особого и нет.
113 2322920
>>22789
Размышления "зачем писать через asyncio, когда можно синхронно, по старинке" примерно эквивалентны аргументам "зачем писать на питон-3, когда для этой задачи подходит питон-2".

Просто глупо несколько стеков держать, старый синхронный и новый асинхронный. Поэтому всё лучше делать на асинхронном.
114 2322921
>>22920
А если стек уже синхронный, что делать будешь?
115 2322927
>>22921
Буду страдать, пахать, потом после работы пить водку.

Вот тут анон выше страдает, что приходится со второго питона задачу мигрировать. Море сочувствия ему.
116 2322994
>>22626

>ориентируйся на 2018-2019 год хотя бы как актуальный год


А руководство по sicp из оп-поста обновляется? Кто-нибудь знает, аноны?
Снимок экрана 2022-03-25 в 23.39.36.png94 Кб, 1028x642
117 2323025
Аноны, только изучаю джангу. Подскажите. Каким образом тут лучше организовать свзязь моделей в случае пикрил?

То есть, запись из Таблицы принадлежит либо полю Таблицы1, либо полю из Таблицы2
118 2323095
Как для pip указать при установке из файла, что если есть зависимость - не качать её, а обосраться, выведя что требуется?
119 2323178
>>20027 (OP)
Подскажите плезх, а если я скину ссылку на код в кодпайле и задам вопрос, то меня сразу обоссут, или сначала тряпку кинут?
я просто 2 недели назад случайно начал читать книгу....
120 2323242
>>22630

> Если набрать в гугле "telegram bot на питое" то в певых ссылках aiogram нету.


Я сам не в курсе как, но в чатах по питону какое-то бесконечное количество ботоебов с аиограмом. Не ебу почему так, я просто наблюдаю

> Человек котоыре начал гуглить в первых ссылках получит очень старые примеры кода. Тогда еще никакой асинхронности не было. ему даже разбираться не надо, гугл за него уже все ссылки рассортировал.


Может быть и так, но в любом случае, человек споткнется об ООП, декораторы, наследование чужих классов и прочие подобные вещи. Это не ускорит изучение, а просто погрузит человека в хаос полнейшего непонимания. Офк если опыт работы на другом языке есть, то так можно. Я вот пыху начал изучать на боевом проекте лол, чисто разворачивал лару с постгрей, не понимая когда использовать ->, а когда ::. И я таки разобрался за неделю и даже чет в проде крутитсянаверное, не следил за судьбой проекта Но у челов это первый язык, они не понимают как максимум из 3 чисел найти, а ты им предлагаешь накрутить на свой класс декоратор, подключать бд и бэкграундные таски запускать

> Тут тоже есть свои нюансы. Поэтому ты сам называешь 60%, а не все 100.


Ну да, я про это и говорю. Есть варианты, когда асинхронность быстрее, есть когда нет. Надо смотреть на конкретное тз, а не клеймить асинхронность говной мочи

> Потому что вызывается дважды одна функция, которая должна ждать 5 секунд. Тут скорее воопрос почему она должна выполняться 5. В коде нет ничего что бы позволяло так думать.


Ну конечно в коде нет ничего, что бы думать, что функция работает 5 секунд, ведь она работает 10. Но если так, то в чем прикол асинхронности? Вроде неблокирующие операции везде. Если запустить 2 треда, то работать будет 5 секунд

> Процентов 50% Остальные 50% пилят по два джуна


Пиздец, земля пухом. Как ты там вообще работал?

> могу с уверенностью говорить, что примерно так еще много где в москве и бижнем подмосковье


Ну хуй знает, я о такой хуйне слышал, конечно, но это буквально единичные случаи были. Странно, короче, но я и не в дс живу

> А есть те которые заходят с ноги и говорят, что писать надо вот так


Ну так проблема в том, что у вас джуны в соло проекты пилят. Не джуны виноваты, а руководство, которое позволяет им заниматься подобной хуйней. Тот тимлид профнепригоден, пиздец, я вообще не представляю как ждун может учить тимлида и выбирать стек. Он же блять буквально наугад это делает, так как нет опыта

> Но почему то именно в питоне вокруг асинхронности сейчас собирается секта


Есть такое, полностью согласен. Сектанты с ASYNC GOES FASTA заебали даже меня, хотя мне похуй на чем писать -- асинк хуинк, главное, чтобы в нагруз пролезалину и чтобы либы были подходящие с асинком, а то все еще много чего на асинк не переписано

> Ну так ему все одобряли. Прога работала и кое как выполняла свою функцию. Просто долго пыхтела, но бизнесу похуй. Потом пришла доработка, но автор уже съебал


А блять, ну ладно, тут могу ток посочувствовать. Сам несколько раз на протухшие проекты приходилспасибо блядский мвидео

> Но я считаю, что челик просто нахаляву устроил себе полигон и съебал чуть накопив опыта и нахуевертив не поддерживаемого говна


И проблема не в том, что ему было интересно развиваться и экспериментировать, а в том, что ему это позволяли. Это ж пиздец, супердолбаебизм и безответственность у начальства

> Услужливый дурак опаснее врага


Все так
120 2323242
>>22630

> Если набрать в гугле "telegram bot на питое" то в певых ссылках aiogram нету.


Я сам не в курсе как, но в чатах по питону какое-то бесконечное количество ботоебов с аиограмом. Не ебу почему так, я просто наблюдаю

> Человек котоыре начал гуглить в первых ссылках получит очень старые примеры кода. Тогда еще никакой асинхронности не было. ему даже разбираться не надо, гугл за него уже все ссылки рассортировал.


Может быть и так, но в любом случае, человек споткнется об ООП, декораторы, наследование чужих классов и прочие подобные вещи. Это не ускорит изучение, а просто погрузит человека в хаос полнейшего непонимания. Офк если опыт работы на другом языке есть, то так можно. Я вот пыху начал изучать на боевом проекте лол, чисто разворачивал лару с постгрей, не понимая когда использовать ->, а когда ::. И я таки разобрался за неделю и даже чет в проде крутитсянаверное, не следил за судьбой проекта Но у челов это первый язык, они не понимают как максимум из 3 чисел найти, а ты им предлагаешь накрутить на свой класс декоратор, подключать бд и бэкграундные таски запускать

> Тут тоже есть свои нюансы. Поэтому ты сам называешь 60%, а не все 100.


Ну да, я про это и говорю. Есть варианты, когда асинхронность быстрее, есть когда нет. Надо смотреть на конкретное тз, а не клеймить асинхронность говной мочи

> Потому что вызывается дважды одна функция, которая должна ждать 5 секунд. Тут скорее воопрос почему она должна выполняться 5. В коде нет ничего что бы позволяло так думать.


Ну конечно в коде нет ничего, что бы думать, что функция работает 5 секунд, ведь она работает 10. Но если так, то в чем прикол асинхронности? Вроде неблокирующие операции везде. Если запустить 2 треда, то работать будет 5 секунд

> Процентов 50% Остальные 50% пилят по два джуна


Пиздец, земля пухом. Как ты там вообще работал?

> могу с уверенностью говорить, что примерно так еще много где в москве и бижнем подмосковье


Ну хуй знает, я о такой хуйне слышал, конечно, но это буквально единичные случаи были. Странно, короче, но я и не в дс живу

> А есть те которые заходят с ноги и говорят, что писать надо вот так


Ну так проблема в том, что у вас джуны в соло проекты пилят. Не джуны виноваты, а руководство, которое позволяет им заниматься подобной хуйней. Тот тимлид профнепригоден, пиздец, я вообще не представляю как ждун может учить тимлида и выбирать стек. Он же блять буквально наугад это делает, так как нет опыта

> Но почему то именно в питоне вокруг асинхронности сейчас собирается секта


Есть такое, полностью согласен. Сектанты с ASYNC GOES FASTA заебали даже меня, хотя мне похуй на чем писать -- асинк хуинк, главное, чтобы в нагруз пролезалину и чтобы либы были подходящие с асинком, а то все еще много чего на асинк не переписано

> Ну так ему все одобряли. Прога работала и кое как выполняла свою функцию. Просто долго пыхтела, но бизнесу похуй. Потом пришла доработка, но автор уже съебал


А блять, ну ладно, тут могу ток посочувствовать. Сам несколько раз на протухшие проекты приходилспасибо блядский мвидео

> Но я считаю, что челик просто нахаляву устроил себе полигон и съебал чуть накопив опыта и нахуевертив не поддерживаемого говна


И проблема не в том, что ему было интересно развиваться и экспериментировать, а в том, что ему это позволяли. Это ж пиздец, супердолбаебизм и безответственность у начальства

> Услужливый дурак опаснее врага


Все так
121 2323244
>>22757
:33
>>22789
Главное не увлекаться и понимать когда лучше взять асинк, а когда нет
>>22893
Хз, по-моему, нужно разобраться в бизнес-логике и просто писать заново. Так будет банально быстрее
>>22918
Это да, но челу, который только начинает изучать питон похуй на то, использовать ли в тайпинге List или list и можно ли написать int | None или нужно Optional[int] А вот знание асинка, датаклассов и контекстных менеджеров лишними не будут
>>22920
По какой старинке, долбаеб. Асинк на огромном пласте задач банально медленнее
>>22994
Не читал никогда сикп, но ща вот открыл и там же вроде чисто метапрограммирование. Нахуя его обновлять? Это как учебник по математике
>>23025
Если у тебя получается, что одно и то же поле должно иметь внешний ключ на одну из нескольких таблиц, то это значит, что у тебя хуево архитектура бд сделана, вот и все. Переделывай, чтобы такой хуйни не было
>>23095
--no-deps
>>23178
Блять, тебе не похуй на то, что напишут на дваче? Кидай код давай
122 2323305
>>23244

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



Не совсем так. Две таблицы имеют внешние ключи на одну
123 2323309
>>23305
А в чем тогда у тебя проблема? Это нормальная ситуация. Например, у тебя соцсетка и есть таблица пользователей и таблица подарков пользователей. И в таблице подарков будет два ключа натаблицу пользователей -- кто подарил и кому подарил. Вполне адекватная ситуация
124 2323310
>>23309
У меня есть таблицы "Smartphones" и "Laptops", и есть таблица "WorksDone", на каждый телефон или ноутбук может быть несколько проделанных работ, но у каждой работы может быть только одно устройство.
В Spring это реализовывал я как поле внутри объекта Smartphones и Laptops с аннотацией

@OneToMany
List<WorksDone> actions

Сейчас не могу понять, как это сделать в джанге, чтоб я мог обратиться к ноутбуку или телефону и получить список
125 2323311
>>23310
SELECT *
FROM works_done
WHERE device_id = %(device_id)
126 2323314
>>23310
class WorksDone(models.Model):
----pass

class Laptops(models.Model):
----works_done = models.ForeignKey(WorksDone, related_name='laptops')

class Smartphones(models.Model):
----works_done = models.ForeignKey(WorksDone, related_name='smartphones')

laptop_id
works_done = WorkDone.objects.filter(laptops__id=laptop_id).first()
Ну и можешь теперь посмотреть, например, все ноуты и телефоны
print(works_done.laptops.all())
print(works_done.smartphones.all())
127 2323328
>>23314
А в приведенном коде разве не получается так, что works_done - это один экземпляр WorksDone на Laptops и Smartphones? Мне то, как я говорил, надо много WorksDone на один Smartphones, например, чтоб я мог получить, условно
works = Smartphones.objects.get(id==1).works_done.all()[:15]
128 2323400
>>20825
А мне и не надо, я на Си написал подобие терминала с кастомными пайпами и все на этом, больше я Сишку не открывал, кроме знаний уровня указателей и аллокации памяти больше ничего там хоть сколько интересного для меня нет
129 2323591
Аноны, может у кого-то есть pdf 5-го издания Тони Гэддиса?
130 2323695
Я хочу посмотреть, что есть в библиотеке установленной из pip, исходники, какие аргументы принимают функции и тд. Как это можно сделать? Сижу на линуксе.
131 2323747
Как можно сделать так, чтобы в коде через рандом ни в каком случае не сгенерировалось два подобных числа?
DsMrnDLWoAAYA2V.png123 Кб, 309x407
132 2323768
Сап аноны, датаинженеры есть в тхреде? В частности кто пердолится с airflow. Хочу глупые вопросы поспрашивать.
133 2323774
>>23747
такое не бывает. Используй текущее время или генерацию UUID для уникальности.
134 2323806
>>23747
if first == second:
1/0
135 2323845
>>23244

>Хз, по-моему, нужно разобраться в бизнес-логике и просто писать заново. Так будет банально быстрее


Так это большой проект, ты заебешься его заново писать
136 2323957
>>23845
Более того скажу, обычно это невозможно просто. Легаси-логика может быть чудовищно сложной, там какой-то мусор обычно, который примерно понятно, как работает, но хуй поймёшь, зачем нужен.

А на то, чтобы сделать с нуля, просто нет времени. Это может и год занять, потому что ТЗ нужно, которого в принципе нет, все эти тест-кейсы и т.п.
137 2324003
>>23328

> Мне то, как я говорил, надо много WorksDone на один Smartphones


А реально, ну перекинь из модели поля

> works = Smartphones.objects.get(id==1).works_done.all()[:15]


Никогда не делай такие длинные строчки кода. Длинные в плане количества операций офк, а не символов. Вот ты нафигачил такую строчку, а при запуске тебе скажут, что
QuerySet doesn't have field "works_done"
Но вообще, если ForeignKey перенесешь в WorksDone, то будет работать так, как ты хочешь. Ток related_name поменять не забудь
>>23747
Ну как вариант:
def custom_random():
----numbers = [i for i in range(10)]
----random.shuffle(numbers)
----for random_number in numbers:
--------yield random_number

for number in custom_random():
----print(number)

При генерации numbers ты можешь просто свою логику прикрутить какие числа и какого вида ты хочешь получать
>>23845

> Так это большой проект, ты заебешься его заново писать


Под писать заново я имел ввиду копировать модуль один, и в ручную его переделывать на 3 пистон. Других нормальных вариантов нету, так как я вроде слышал про проги, которые автоматически на 3 пистон переносят код, но проблемы возникают с либами. Часть из них под 3 питон не существуют либо полностью поменяли интерфейс и автоматом там никто ничего не сделает
>>23957

> Более того скажу, обычно это невозможно просто


Ну да, но тебе при ручном переносе можно не вникать в логику, просто заменить функции библиотек на аналогичные с новым интерфейсом и поправить синтаксис

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


Именно поэтому легаси говно часто не переносят на новые версии языков, а просто поддерживают на старых версиях код

> А на то, чтобы сделать с нуля, просто нет времени. Это может и год занять, потому что ТЗ нужно, которого в принципе нет, все эти тест-кейсы и т.п.


А как ты хотел? Если бы все было так просто, то все бы сидели на последнем пистоне
137 2324003
>>23328

> Мне то, как я говорил, надо много WorksDone на один Smartphones


А реально, ну перекинь из модели поля

> works = Smartphones.objects.get(id==1).works_done.all()[:15]


Никогда не делай такие длинные строчки кода. Длинные в плане количества операций офк, а не символов. Вот ты нафигачил такую строчку, а при запуске тебе скажут, что
QuerySet doesn't have field "works_done"
Но вообще, если ForeignKey перенесешь в WorksDone, то будет работать так, как ты хочешь. Ток related_name поменять не забудь
>>23747
Ну как вариант:
def custom_random():
----numbers = [i for i in range(10)]
----random.shuffle(numbers)
----for random_number in numbers:
--------yield random_number

for number in custom_random():
----print(number)

При генерации numbers ты можешь просто свою логику прикрутить какие числа и какого вида ты хочешь получать
>>23845

> Так это большой проект, ты заебешься его заново писать


Под писать заново я имел ввиду копировать модуль один, и в ручную его переделывать на 3 пистон. Других нормальных вариантов нету, так как я вроде слышал про проги, которые автоматически на 3 пистон переносят код, но проблемы возникают с либами. Часть из них под 3 питон не существуют либо полностью поменяли интерфейс и автоматом там никто ничего не сделает
>>23957

> Более того скажу, обычно это невозможно просто


Ну да, но тебе при ручном переносе можно не вникать в логику, просто заменить функции библиотек на аналогичные с новым интерфейсом и поправить синтаксис

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


Именно поэтому легаси говно часто не переносят на новые версии языков, а просто поддерживают на старых версиях код

> А на то, чтобы сделать с нуля, просто нет времени. Это может и год занять, потому что ТЗ нужно, которого в принципе нет, все эти тест-кейсы и т.п.


А как ты хотел? Если бы все было так просто, то все бы сидели на последнем пистоне
138 2324008
>>23774
Какого хуя не бывает? Все бывает, просто нужно немножко фантазию проявить
>>23806

> 1/0


Блять что это за говно? Ты не в курсе про исключения?
>>23695
Заходишь в папочку с пистоном, для которого установил либу, и там в папке Lib/site-packages все лежит. Но лучше все-таки найти исходники на гитхабе/гитлабе и оттуда их спулить и изучать
139 2324042
>>24003
Хорошо то, что проект сделан из подмодулей, но не полностью.
Их можно юзать как независимые, навешать там свое окружение, юзать свои тесты и уже переписывать кусками. Хотя один хуй, работа стремная. Но хотя бы долгая. А то таски дают, они обычно не большие, как и положено, но писать мне их не успевают.
140 2324072
>>24008

>>Все бывает, просто


Всё бывает и пиписька замерзает иногда. Это же компьютерный рандом, а не шумы тепловые.
Дурень, почитай как делается ПСЕВДО-случайный генератор чисел. Если можешь в математику. Хотя с такими комментами - это ты вряд-ли..
141 2324089
>>24072

> Всё бывает и пиписька замерзает иногда


Нихуя ты квнщик

> Это же компьютерный рандом, а не шумы тепловые


И что? Ты ебаклак? К чему ты это высрал?

> Дурень, почитай как делается ПСЕВДО-случайный генератор чисел


Какое это блять вообще имеет отношение к теме, дуралей? Вопрос был про то, как сделать так, чтобы рандомные числа не повторялись. Ты зачем-то начал высирать про то, что в компьютере нет настоящего рандома. Окей, нету. Что дальше? Какое это вообще имеет отношение к теме?

> Если можешь в математику


Пиздец, ты пишешь про то, что коллизии невозможно разрешить и чета пукаешь про математику. Просто охуеть
>>24042
Ну все так, переносить легаси говно с одной версии языка на другую это всегда боль и слезы. Остается только обвешаться функциональными тестами и пытаться ничего не сломать. Мы тут переезжаем с одной субд на другую, тут тоже невероятные приседания и попытки обвешаться тестами, чтобы ничего не сломать. Но чувствую, что все вполне может по пизде пойти
142 2324100
Аноны, а есть список того, что нужно знать перед тем как изучать библиотеки? Я нашел книги которые предлагают быстренько пройтись по основам пайтона и тут же вкатиться в библиотеки. Ну в тот же NumPy например.
Мимо вкатился пару дней назад
143 2324155
>>24089
Человек тебя спрашивал можно ли сделать именно уникальные числа (для идиотов - без совершенного повторения). В мат. модели, которая и используется в ПК - нет.
Остальной твой высер с гринтекстами деже читать невозможно.
144 2324159
>>24100
Начни с базового оффлайн питона. Напиши какие-то простые пет-проекты. Чего-то нумпай решил сначала... Из библиотек - os, терминальчик (ввод вывод на экраны), можно wx побаловаться поебаться.
Этож для математики всякой. Ты её знаешь? Матрицы, косинусы всякие?
В картинке требование от читателя - базовые знания ПК.
145 2324163
Пацаны, спасайте, начинаю пытаться работать со всякими там deep learning, уже вторые сутки не могу запустить ИИ рисовальщика Disco Diffusion.
В чем трабл, через ЦПУ проверял-все работает на ура, а при использовании жпу постоянно матерится AssertionError: Torch not compiled with CUDA enabled, причем pytorch работает, все эти штуки и библиотеки соответствуют по версиям друг другу и все что можно было запихнуть в PATH я запихнул.
Что может пойти не так? С меня как обычно
146 2324168
Решаю себе задачки
можно как-то count определенных чисел в заданном диапазоне?
Или через другую функцию делать?
147 2324285
>>24155

> Человек тебя спрашивал можно ли сделать именно уникальные числа (для идиотов - без совершенного повторения)


Можно

> В мат. модели, которая и используется в ПК - не


Какая матмодель, долбаеб. Абсолютно любой механизм разрешения коллизий берешь и и числа становятся уникальными

> Остальной твой высер с гринтекстами деже читать невозможно.


Пиздец, какой боевой первокурсник. То, что ты научился в ряд раскладывать не означает, что ты автоматически стал экспертом по всем вопросам
>>24163
Ну тебе же написали, что у тебя торч скомпилен для работы без CUDA. Собственно, CUDA это и есть работа через нвидиевские ускорители. Либо на проце собирай и работай, либо бери торч с CUDA
>>24168
Где и что ты собрался считать? Методов count несколько есть. И главное для чего?
148 2324290
>>24285

>Где и что ты собрался считать? Методов count несколько есть. И главное для чего?


Посчитать количество, например, 5-ок в диапазоне чисел от -14999 до 14999
149 2324293
>>24290
Ты хочешь посчитать количество вхождений цифры 5 в числа, которые лежат в некотором диапазоне? Ну, таких встроенных функций нету. Более того, тут проблемы возникают уже на этапе формулировки. Питон, например, не знает что такое "цифра", он знает только что такое числаи это хорошо. Так что тебе нужно что-то типа такого
count = 0
list_with_numbers = [i for i in range(-14999, 14999)]
for number in list_with_numbers :
----count += str(number).count('5')
print(count)
150 2324305
>>24293
Уф, красивый код, спасибо.
Но если я допустим хочу подсчитать не количество чисел 5, а количество чисел содержащих 5?
То есть 55 555 и т.д. не должно засчитывать несколько раз?
151 2324313
>>24159
Ну да, ты прав. Спасибо. Я так посмотрел внимательнее. И по математике нужно многое повторить. Лучше продолжу читать Эрика Маттеса или Luciano Ramalho.
152 2324331
>>24305

> Но если я допустим хочу подсчитать не количество чисел 5, а количество чисел содержащих 5?


В пистоне есть очень красивый оператор, называется in. Рассказываю что он делает -- если у тебя есть итерируемый объект, список там, строка или словарь, то оператор in просто пробегается по всем элементом и проверяет на равенство. Если совпадения есть, то возвращает True, если нету, то False. Вот как можно применить в данном случае:
count = 0
list_with_numbers = [i for i in range(-14999, 14999)]
for number in list_with_numbers :
----if '5' in str(number):
--------count += 1
Или можно воспользоваться короткой записью
count = 0
list_with_numbers = [i for i in range(-14999, 14999)]
for number in list_with_numbers :
----count += 1 if '5' in str(number) else 0
153 2324334
>>24331
Спасибо за поддержку !
154 2324345
155 2324347
>>24331
вообще интересно, насколько в продакшионе или пет-проектах требуются такие дибильные задачи? Ну вот кто их реально использует? Весь интернет такими завален...

Лучше какую-то игрульку сбацать, или 3д смотрилку с редактором каким. На худой конец эмулятор чего-то..
156 2324349
>>24347

> насколько в продакшионе или пет-проектах требуются такие дибильные задачи


Что значит "дибильные"? Я не понимаю о чем ты

> Ну вот кто их реально использует?


Кто использует проверки для строк? Все. Например, те же фильтры именно так обычно реализуются. Когда ты начинаешь вводить что-то в строке, то тебе обычно вылезают подсказки с подходящими вариантами. В sql конечно используется оператор like для такого, но если у тебя данные какие-то хранятся не в бд или доступа к встроенной фильтрации нету, то будешь использовать оператор in

> Лучше какую-то игрульку сбацать


Найс ты блять сравнил проверку на вхождение цифры в число и целый проект на пару тысяч строк

> 3д смотрилку с редактором каким. На худой конец эмулятор чего-то..


Зачем, а главное нахуя? Это вообще ни разу не тривиальные задачи, которые требуют сотни часов на реализацию, если не тысячи
157 2324354
>>24349
я имею в виду задачи типа "найти количество буковок в массиве строк, или найти все нечётные числа между .. и ... при условии, что сумма первых трёх цифр меньше 19", и подобные ебанационные задачи.
Вот кто их хоть раз использовал в реальных задачах?
Кроме упоротых математиков на олимпиадах?
158 2324355
>>24349

>>сравнил проверку на вхождение цифры .. и целый проект


Да ну нафиг. Сложность проекта - ниразу не число строк кода. Возьми какой-нить жангу или чёто на GUI офлайновое - там проектик фигня (по самой идее), но говнокода + обвязок + самонадроченных типа "интерфейсов" пистона - пруд напруди..
159 2324360
>>24354
Понял про что ты. Да, используют и очень активно. Только очевидно, что проверяют не на четность/нечетность, а на, к примеру, роль пользователя, наличие связей между двумя сущностями в бд и подобное. Такие задачи должны помочь в будущем не запутаться в бизнесовой логике. Так что ты просто неправильно к такому относишься, вот и все
>>24355

> Сложность проекта - ниразу не число строк кода


Эммм, нет. Да, зависимость не прямая, но очевидно, что в проекте на 50к строк черт ногу сломит, а в проекте на 2к строк можно разобраться за вечер

> Возьми какой-нить жангу или чёто на GUI офлайновое - там проектик фигня (по самой идее)


Фигня в каком смысле? Что это очередное крудоговно? Ты так сложность проекта оцениваешь?

> говнокода + обвязок + самонадроченных типа "интерфейсов" пистона - пруд напруди..


То есть, бизнес-логика выписана из понятия сложности? Окей, понял+принял. А ты вообще за написание кода деньги получаешь или пока еще, скажем так, стремящийся?
160 2324367
>>24360
стремящийся ) пока гуи и пет-прожект писатель. Ненавижу онлайны.
До пистона - Си, асмы писал. и всякие сказочные тоже трогал.
161 2324373
>>24367

> стремящийся


А ну тогда это нормально) Просто стандартная задача на условном "сложном" проекте на пистоне будет выглядять примерно так:
Есть некий бюджет-план и пользователь хочет его согласовать. Он отправляет запрос на сервак. И дальше начинается лютая тырпрайзная залупа.
1. Проверяем, что пользователь является ГРПглавный руководитель проекта или РПруководитель проекта, иначе выдаем 403
2. Проверяем не превышен ли объем бюджета, который согласовала на предыдущих этапах инвестиционная комиссия. Если превышен, то смотрим на то, кто отправлял запрос
2.1 Если отправлял РП, то ставим статус "Требует согласования ГРП"
2.2 Если отправлял ГРП, то проверяем возможный перерасход бюджета, который допустим для конкретного ГРП и данного проекта. Если превышает, то отклоняем, если укладывается, то идем дальше
3. Выставляем статус "согласовано" для всех номенклатуры в списке и цен, которые были указаны для этих номенклатур, чтобы избежать последующего редактирования
4. Создаем сущность фактического бюджета и фактического расходования средств.
5. Для сущности фактического бюджета копируем все значения из запланированного бюджета, а запланированный бюджет копируем отдельной сущностью, чтобы в случае удаления номенклатур из бд не проебать данные
6. Создаем сущности номенклатур складских и выставляем им соответствующие статусы
7. Отправляем запросы к финконтролеру на отправку счета в клиент-банк для оплаты
Это реальная задача, если что. Немного изменил логику, так как в реальности все еще немного сложнее и впадлу пояснять было. И сложность тут в том, чтобы реализовать все это без хуйни и ошибок, а еще нормально вытянуть из заказчика требования. А потом это все еще оттестировать нужно и тут даже просто тест кейсы разработать уже идет отдельной задачей. Так что это духота еще та, кровавый тырпрайз он такой

> пока гуи и пет-прожект писатель


Это хорошо, это правильно. Пару пет-проектов набахаешь, пообломаешь копья об god object'ы и вермишель из условий и потом с ногами оторвут, когда по собесам пойдешь

> Ненавижу онлайны


Почему? Какая разница какой у тебя интерфейс? Принципиальной разницы нету вообще

> Си, асмы писал. и всякие сказочные тоже трогал


Не знаю что такое сказочные, но си и асмы это драйверы и всякие программки для микроволновок, а пистон это почти что чистый веб и куча бизнес логики.
161 2324373
>>24367

> стремящийся


А ну тогда это нормально) Просто стандартная задача на условном "сложном" проекте на пистоне будет выглядять примерно так:
Есть некий бюджет-план и пользователь хочет его согласовать. Он отправляет запрос на сервак. И дальше начинается лютая тырпрайзная залупа.
1. Проверяем, что пользователь является ГРПглавный руководитель проекта или РПруководитель проекта, иначе выдаем 403
2. Проверяем не превышен ли объем бюджета, который согласовала на предыдущих этапах инвестиционная комиссия. Если превышен, то смотрим на то, кто отправлял запрос
2.1 Если отправлял РП, то ставим статус "Требует согласования ГРП"
2.2 Если отправлял ГРП, то проверяем возможный перерасход бюджета, который допустим для конкретного ГРП и данного проекта. Если превышает, то отклоняем, если укладывается, то идем дальше
3. Выставляем статус "согласовано" для всех номенклатуры в списке и цен, которые были указаны для этих номенклатур, чтобы избежать последующего редактирования
4. Создаем сущность фактического бюджета и фактического расходования средств.
5. Для сущности фактического бюджета копируем все значения из запланированного бюджета, а запланированный бюджет копируем отдельной сущностью, чтобы в случае удаления номенклатур из бд не проебать данные
6. Создаем сущности номенклатур складских и выставляем им соответствующие статусы
7. Отправляем запросы к финконтролеру на отправку счета в клиент-банк для оплаты
Это реальная задача, если что. Немного изменил логику, так как в реальности все еще немного сложнее и впадлу пояснять было. И сложность тут в том, чтобы реализовать все это без хуйни и ошибок, а еще нормально вытянуть из заказчика требования. А потом это все еще оттестировать нужно и тут даже просто тест кейсы разработать уже идет отдельной задачей. Так что это духота еще та, кровавый тырпрайз он такой

> пока гуи и пет-прожект писатель


Это хорошо, это правильно. Пару пет-проектов набахаешь, пообломаешь копья об god object'ы и вермишель из условий и потом с ногами оторвут, когда по собесам пойдешь

> Ненавижу онлайны


Почему? Какая разница какой у тебя интерфейс? Принципиальной разницы нету вообще

> Си, асмы писал. и всякие сказочные тоже трогал


Не знаю что такое сказочные, но си и асмы это драйверы и всякие программки для микроволновок, а пистон это почти что чистый веб и куча бизнес логики.
162 2324404
Аноны, надо сделать это, вопрос жизни и отчисления:
Программа в работающая в бесконечном цикле должна принимать следующие команды:
open - После этого необходимо указать путь и открыть текстовый файл. Необходимо вывести все строки из файла пронумеровав их. Далее необходимо ввести с клавиатуры номер строки которую будем редактировать. Необходимо выбрать что делать со строкой(w - перезаписать её; a - дописать строку; d - удалить строку); add - добивать новую строку в файл;
close - закрыть файл(не программу, т.е. дальше можно снова ввести open), может быть прописано в любой момент, кроме открытия файла;
exit - завершение программы.
163 2324428
>>24373
Спасибо тебе, понял.
164 2324518
>>24404
Про переменные и массивы (и работу с ними) не буду ссылки давать. Скорее всего ты это уже знаешь.

>Циклы:


https://pythonworld.ru/osnovy/cikly-for-i-while-operatory-break-i-continue-volshebnoe-slovo-else.html

>Ветвления


https://younglinux.info/python/if

>Ввод (из консоли), вывод (на экран)


https://younglinux.info/python/input

>open, close


https://pythonworld.ru/tipy-dannyx-v-python/fajly-rabota-s-fajlami.html

>exit - завершение программы.


exit()

Спрашивай конкретные вопросы, и тогда помогут конкретно.
165 2324519
>>24404
Скоро набор в армейку, тебе повезло.
166 2324520
>>24404
Все лайтово, показывай что сделал уже, может и подскажу. Один момент: кроме добавления в конец файла, тебе в остальных случаях надо будет новый файл создавать и записать в него все неизменяемое содержимое
167 2324600
Сап, аноны. Вопрос по Джанго. Каким типом вьюшек вы чаще пользуетесь для крудов, class based views или функции?
168 2324712
Аноны, приветствую. Планирую этим летом найти стажировку на backend в Москве. Что для этого требуется? Пока мне кажется это так:
1) Знание питона (вроде есть)
2) Опыт проектировки с реляционных БД (есть), построение SQL запросов (смотря какой сложности, но надо потренироваться)
3) Docker (тут вообще без понятия)
4) Linux, работа с терминалом, написание bash скриптов. (аналогично с третьим пунктом)
5) Работа с git (уже в процессе)
Что ещё нужно? Создать сайт-визитку? А какой формат? Нужно ли залить весь код на гитхаб или нет? Нужно ли придумать что-нибудь такое, для чего потребуется создать API просто ради демонстрации своего Скилла. Так много вопросов, но мало ответов….
169 2324713
Аноны, скажите есть ли смысл вкатываться в разработку телеграм ботов? Или там уже весь рынок уже занят более опытными фрилансерами? Где искать заказы?
170 2324764
>>20027 (OP)
У меня есть nparray из которого, с помощью matplotlib, я создаю 3х мерный объект, а можно ли его как-то сохранить в формате .obj для просмотра в других программах?
171 2324768
Сап, питонодушач. Можно ли в пынетоне объявить сеттер для переменной в классе так, чтобы наследуемые от него классы были обязаны его реализовать?
Делать ради этого абстрактный класс как-то неохото, они выглядят слишком уҗ как-то уебищно.
172 2324773
Если прописать сеттер с условием в классе, то будет ли сеттер вызываться в конструкторе?
Например, у меня есть сеттер на переменную _penis, который не позволяет ставить значение больше 18 комплексы, аноны, комплексы
В конструкторе я хуярю self._penis = 228
Будет ли пенис 228овый или сеттер не разрешит?

Не могу проверить сам, так как в моей ебучей дыре только ебанный клиент двача ловит, пифона нет, так что не обоссыте, лучше избейте.
173 2324779
>>24768

>буквально инструмент, предназначенный для решения именно этой задачи


>"не, не хочу его использовать!"


Не ешь суп вилкой, долбоёб.
firefoxYzXgJGGNW9.png448 Кб, 899x1051
174 2324791
175 2324792
>>24764
1 минута гугления, чел. Сохраняет в виде картинок. А obj - 3д описание объекта. Только разбираться с форматами файла, и записывать вручную. Или забить на всё.
176 2324794
>>24791
отзывы бы прикрепил )
177 2324816
>>24792
Как сохранять картинкой я знаю, а мне бы сохранить 3д моделькой, чтобы можно было ее грузить в проги с просмотром 3д моделек
178 2324821
Сенька начинает исходить пеной на ревью при использовании :=, а в чём проблема, я понять не могу. Поясните, аноны.
179 2324844
Я вот мечтаю, чтоб питон 4 был другим, чтоб статическая типизация была из коробки, чтоб компилировался в бинарник, как го. Чтоб гил прибили, если смогут.
Я бы дрочил тогда на него днями и ночами
181 2324935
>>24844

>Как го


>Гил прибили


Меньше года во всём этом?
182 2324937
>>24935
8 лет. А что?
183 2324985
>>24600

> Сап, аноны. Вопрос по Джанго. Каким типом вьюшек вы чаще пользуетесь для крудов


Те вьюшки, которые поставляются с DRF. Нахуя стандартные штанговские использовать?
>>24712
Пчел, вот эти все общие вещи в духе "знать пистон, знать sql" их надо как-то пошире пояснить. Скидывай свои петпроекты
>>24713

> Аноны, скажите есть ли смысл вкатываться в разработку телеграм ботов?


Блять, что это за говно? Когда разработка телеграмм ботов стала отдельным рынком?

> Или там уже весь рынок уже занят более опытными фрилансерами? Где искать заказы?


Попробуй лучше себя на рынке разработки е-коммерс сайтов для газовых заправок в Ростовской области. Уверен, это перспективный рынок
>>24768
Сеттер ты не заставишь реализовывать, если что. Точнее, может ошибку то ты зарайзишь, но пользователю IDE светить не будетхотя мб поправили эту хуйню. А так абстрактный класс можно через abc или raise NotImplementedError сделать, выбирай что больше нравится без них никак
>>24773
Конечно сработает. Сеттер это просто метод, который мимикрировал под обычное поле.
>>24821
Ну так у него и спроси лол
>>24844

> Я вот мечтаю, чтоб питон 4 был другим


4 вряд ли будет, по крайней мере, в ближайшие лет 20

> чтоб статическая типизация была из коробки


Нахуя, дебил? Динамическая типизация это не более плохая версия статической.

> чтоб компилировался в бинарник, как го


Ну это и правда было бы неплохо

> Чтоб гил прибили, если смогут


Что мешает работать без него сейчас?

> Я бы дрочил тогда на него днями и ночами


Уроки-то сделал главное?
183 2324985
>>24600

> Сап, аноны. Вопрос по Джанго. Каким типом вьюшек вы чаще пользуетесь для крудов


Те вьюшки, которые поставляются с DRF. Нахуя стандартные штанговские использовать?
>>24712
Пчел, вот эти все общие вещи в духе "знать пистон, знать sql" их надо как-то пошире пояснить. Скидывай свои петпроекты
>>24713

> Аноны, скажите есть ли смысл вкатываться в разработку телеграм ботов?


Блять, что это за говно? Когда разработка телеграмм ботов стала отдельным рынком?

> Или там уже весь рынок уже занят более опытными фрилансерами? Где искать заказы?


Попробуй лучше себя на рынке разработки е-коммерс сайтов для газовых заправок в Ростовской области. Уверен, это перспективный рынок
>>24768
Сеттер ты не заставишь реализовывать, если что. Точнее, может ошибку то ты зарайзишь, но пользователю IDE светить не будетхотя мб поправили эту хуйню. А так абстрактный класс можно через abc или raise NotImplementedError сделать, выбирай что больше нравится без них никак
>>24773
Конечно сработает. Сеттер это просто метод, который мимикрировал под обычное поле.
>>24821
Ну так у него и спроси лол
>>24844

> Я вот мечтаю, чтоб питон 4 был другим


4 вряд ли будет, по крайней мере, в ближайшие лет 20

> чтоб статическая типизация была из коробки


Нахуя, дебил? Динамическая типизация это не более плохая версия статической.

> чтоб компилировался в бинарник, как го


Ну это и правда было бы неплохо

> Чтоб гил прибили, если смогут


Что мешает работать без него сейчас?

> Я бы дрочил тогда на него днями и ночами


Уроки-то сделал главное?
184 2325017
>>24985

>4 вряд ли будет, по крайней мере, в ближайшие лет 20


Я и не говорю, что его сделают через год

>Нахуя, дебил? Динамическая типизация это не более плохая версия статической.


Да потому что аннотации - тупая и бесполезная хуйня. Некоторые её используют местами и сиди лови, что там за ебола вылетает из get_that_thing(a, b) и что за переменные она принимает. Это избавит от ебанутыъ if'ов внутри, где комбайн обрабатывает всё и вся..Можешь писать сколько угодно хорошо, но другие не согласны будут. На крайняк хотя бы флаг какой-то со строгой проверкой типов в рантайме.

>Что мешает работать без него сейчас?


И как ты гил отключить можешь? Скачав исходники, выпилив и пересобрав? Эта хуйня затормаживает работу. Нет, конечно не настолько, чтоб бросать язык. Но чтоб решить проблемы сборщика, еще добавили гил, который однопоточный. Явно хуевая реализация

>Уроки-то сделал главное?


Сделал, не переживай
185 2325061
>>20027 (OP)
Что-то я попал в просак

На удаленном серваке есть джанго-приложение которое запущено в docker-compose. Я добавил туда скрипт который обновляет базу данных новыми строчками. Для этого ему надо указать путь к zip-архиву. Вроде все тривиально да? Но вот блин когда мы запускаем докер, то мы не может обратиться к файлам за пределами контейнера, он их просто не видит (File not found). Логично что надо поместить этот архив внутрь директории где файлы проекта и перезапустить контейнер, я так и делал у себя на localhost. Но бля, это ж сервак удаленный, я не могу там просто так стопарить и перезапускать контейнеры. Шо делать?
186 2325075
>>25061

> Но бля, это ж сервак удаленный, я не могу там просто так стопарить и перезапускать контейнеры. Шо делать?



что значит не могу? ты омежка или где?
Сначала реши свои незначительные проблемы общения с коллегами, а потом загружай Двач действительно важными проблемами.
187 2325090
>>25061
docker-compose run -v ~/my_shit_dir:/usr/src/shitfiles SERVICE_NAME
188 2325091
>>25075
Нормально общаться не учили? Реши свои проблемы для начала.
189 2325113
def __mod__(self, other):
____return unicode.__mod__(tr(self), other)

def __lt__(self, other):
____return unicode.__lt__(tr(self), other)

На такие ебалайки наткнулся. Что это, как это обернуть через six?
tr - своя функция перевода
190 2325176
Мне нужен простой бот в Телегу для разметки ссылок. С питоном познакомился вчера.

Сценарий такой:

1) Юзер отправляет ссылку
2) Бот спрашивает, откуда трафик, Вконтач или Телега
3) Юзер отвечает
4) Бот спрашивает, какая дата этой ссылки
5) Юзер пишет дату
6) Бот отправляет юзеру ссылку с utm-разметкой типа гугл точка ком ?utm_source=TELEGRAM&utm_medium=CPA&utm_campaign=3112

Затык в том, что я не понимаю, как забрать инпут от пользователя и превратить его в объект, чтобы дальше накидывать ему utm-параметры.

Чисто спортивный интерес, предложил агентству упростить процесс разметки, но пока не тяну.
191 2325177
>>25176
Просто берешь и без задней мысли превращаешь
192 2325215
>>25091

>нормально общаться


>Добро пожаловать. Снова.



Ты здесь недавно?
193 2325234
>>25176
Еще один ботошиз. Это уже просто сюр какой-то.
194 2325257
>>25176
Вас уже надо в отдельный загон, боты для телеграма
195 2325279
А что с вакансиями на будущее по Python в России? И до этого то на нем чистых вакансий для джунов было не густо(по сравнению например с js, php). В ближайшее время рынок вакансий для начинающих еще сильнее сузится? Есть смысл Python учить?
196 2325283
>>25279
Учи js/php и не еби можг. Js нужны всегда и везде
197 2325289
>>25283
Месье знает толк
198 2325300
>>25257
>>25234
Я начал пипитона учить для других целей, просто в одном практическом уроке создавался бот и хотел им помочь своим товарищам-маркетолухам. В дальнейшем не планировал этой хуйней заниматься, хочу через годик вкатиться куда-то джуном на машин лернинг или аи.
199 2325318
>>25279
Джуны нахуй никому не нужны вне зависимости от языка.
200 2325339
>>25279

>будущее в России?


Уже ЛОЛ

>Есть смысл Python учить?


А среди каких альтернатив ты выбираешь? В любом случае уметь что-то лучше, чем не уметь. Питон сам по себе полезная штука.

Ещё, питон это лишь инструмент для решения задач, как и другие языки программирования. Полезно учиться решать нужные задачи. На питоне вполне себе норм.
201 2325415
>>25061
Подключись к контейнеру и загрузи зип файл. Самый простой способ.
>>25090

> как скачать файл, не перезапуская контейнер


> вот команда как перезапустить


>>25176
А я вчера видос про медицину посмотрел, хочу вот людям начать операции делать. Как посоветуете вскрытие начинать?
>>25279

> А что с вакансиями на будущее по Python в России?


А что с ними должно случится?

> И до этого то на нем чистых вакансий для джунов было не густо(по сравнению например с js, php)


Да, все так. А это проблемой когда-то было?

> В ближайшее время рынок вакансий для начинающих еще сильнее сузится?


Скорее всего, да, станет немного меньше, так как бизнес кошмарит

> Есть смысл Python учить?


Ну с такими вопросами — не стоит
>>25318

> Джуны нахуй никому не нужны вне зависимости от языка.


Джуны нужны всем, олигофрены, которые закончили курс "войти вайти за 3 месяца", действительно не нужны
>>25017

> Я и не говорю, что его сделают через год


А зачем его вообще делать?

> Да потому что аннотации - тупая и бесполезная хуйня


Ну так не используй

> Некоторые её используют местами и сиди лови, что там за ебола вылетает из get_that_thing(a, b) и что за переменные она принимает


Ты не писал на статически типизированном языке в прод, да?

> Это избавит от ебанутыъ if'ов внутри, где комбайн обрабатывает всё и вся..


Зато добавит бойлерплейт из кастов классов в интерфейсы, интерфейсов в классы и 30-40 уровней наследования сверху. Вот это ляпота, вот это кайф

> Можешь писать сколько угодно хорошо, но другие не согласны будут


Получают пиздов на ревью за несоблюдение стандартов написания кода

> На крайняк хотя бы флаг какой-то со строгой проверкой типов в рантайме


Ну обвешайся isinstance'ами, кто мешает? Питон стороготипизирован

> И как ты гил отключить можешь? Скачав исходники, выпилив и пересобрав? Эта хуйня затормаживает работу. Нет, конечно не настолько, чтоб бросать язык. Но чтоб решить проблемы сборщика, еще добавили гил, который однопоточный. Явно хуевая реализация


Я понял тебя, короче, братан, держу в курсе — 4 пистон вышел уже давно. Называется cython. Там и типизация статическая, и гил 1 строчкой вырубается. Так что качай ситон и кайфуй

> Сделал, не переживай


Вот это правильно
201 2325415
>>25061
Подключись к контейнеру и загрузи зип файл. Самый простой способ.
>>25090

> как скачать файл, не перезапуская контейнер


> вот команда как перезапустить


>>25176
А я вчера видос про медицину посмотрел, хочу вот людям начать операции делать. Как посоветуете вскрытие начинать?
>>25279

> А что с вакансиями на будущее по Python в России?


А что с ними должно случится?

> И до этого то на нем чистых вакансий для джунов было не густо(по сравнению например с js, php)


Да, все так. А это проблемой когда-то было?

> В ближайшее время рынок вакансий для начинающих еще сильнее сузится?


Скорее всего, да, станет немного меньше, так как бизнес кошмарит

> Есть смысл Python учить?


Ну с такими вопросами — не стоит
>>25318

> Джуны нахуй никому не нужны вне зависимости от языка.


Джуны нужны всем, олигофрены, которые закончили курс "войти вайти за 3 месяца", действительно не нужны
>>25017

> Я и не говорю, что его сделают через год


А зачем его вообще делать?

> Да потому что аннотации - тупая и бесполезная хуйня


Ну так не используй

> Некоторые её используют местами и сиди лови, что там за ебола вылетает из get_that_thing(a, b) и что за переменные она принимает


Ты не писал на статически типизированном языке в прод, да?

> Это избавит от ебанутыъ if'ов внутри, где комбайн обрабатывает всё и вся..


Зато добавит бойлерплейт из кастов классов в интерфейсы, интерфейсов в классы и 30-40 уровней наследования сверху. Вот это ляпота, вот это кайф

> Можешь писать сколько угодно хорошо, но другие не согласны будут


Получают пиздов на ревью за несоблюдение стандартов написания кода

> На крайняк хотя бы флаг какой-то со строгой проверкой типов в рантайме


Ну обвешайся isinstance'ами, кто мешает? Питон стороготипизирован

> И как ты гил отключить можешь? Скачав исходники, выпилив и пересобрав? Эта хуйня затормаживает работу. Нет, конечно не настолько, чтоб бросать язык. Но чтоб решить проблемы сборщика, еще добавили гил, который однопоточный. Явно хуевая реализация


Я понял тебя, короче, братан, держу в курсе — 4 пистон вышел уже давно. Называется cython. Там и типизация статическая, и гил 1 строчкой вырубается. Так что качай ситон и кайфуй

> Сделал, не переживай


Вот это правильно
202 2325498
Сап двощь есть возможность сделать одномерный массив но чтобы у элементов было несколько индексов? Ну типа как бы частицы к которым можно обращаться по их индексу но как бы ещё и по их координатам x, y? Если че в модели координаты не меняются поэтому можно их представить intом. Нужно для ускорения работы проги типа выбрать случайную частицу и её ближайших соседей. Выбираю по i. А соседей просто обращением по индексам i+1 и т.д. Ну вы поняли. Чтобы не ебать мозг перебором по всем. Можно такое реализовать?
203 2325499
>>25498
В смысле x+1, x-1, y+1,y-1 ну вы понели
быстрофикс
204 2325500
>>25498
Короче, смотри. У тебя есть два варианта:
1. Начать изъебываться и писать свою собственную реализацию list. Это было бы охуенным решением, так как действие "взятие по индексу" можно переопределить. Проблема возникает на том моменте, где ты используешь два взятия индекса. То есть, вот так [x][y] это два раза вызов оператора. Ты переопределишь первое взятие, а второе взятие нужно переопределять еще раз. И там можно ебануться, чтобы все это вместе связать. Если хочется поебаться, то перегрузка взятия по индексу выглядит вот так:
class CustomList(list):
----def __getattr__(self, index):
--------return то_что_ты_хочешь
2. Перестать страдать хуйней и немного включить мозги. Координаты предполагают квадратную матрицу. А значит, зная размерность, можно пронумеровать все элементы и на записать их в виде одномерного списка. А обращаться можешь как угодно, вообще похую. Выглядит так:
class CustomList(list):
----def __init__(self, dimension):
--------self.dimension = dimension
--------super()
----def get_item_by_two_coord(self, x, y):
--------return self[y*self.dimension + x]
По итогу, у тебя обычный список, который ведет себя как список всегда и везде, но имеет дополнительный метод взятия элемента по двум координатам(взятие по одной через [] все еще работает). И да, создавать его нужно вызовом класса и передачей туда размерности:
my_list = CustomList(dimension=4)
205 2325508
>>25500

>2. Перестать страдать хуйней и немного включить мозги. Координаты предполагают квадратную матрицу. А значит, зная размерность, можно пронумеровать все элементы и на записать их в виде одномерного списка.


Лол пока ждал ответа как раз это и сделал анон. Прога летает, брат жив. Но за варианты спасибо анон. Заскринил, потом изъебнусь чутка по приколу. Хотя я так подумал эту хуйню можно легко в нампае делать там же есть разные представления матриц которые ссылаются на одни и те же данные, как раз то что мне нужно просто я сейчас чисто питоном делаю без сторонних библиотек.
206 2325509
>>25508
Токо че-то прихуел с миллиона частиц стартовое значение считается дольше чем прога работает.
207 2325611
>>25415

>вот команда как перезапустить


Моя команда не перезапустит его а прогонит нужную инструкцию, подняв новый инстанс контейнера и после заглушит его
изображение.png152x21
208 2325670
Парни, как дату в виде "07 марта 2022 00:00" средствами языка перевести в формат 07.03.2022"?
209 2325671
>>25670
datetime.strptime('%d %B %Y %I:%M') не прокатывает. думаю потому что название месяца написано по-русски.
210 2325672
>>25670
Посмотри доку arrow
Может, она тебе подойдёт
211 2325770
>>25415

> Джуны нужны всем, олигофрены, которые закончили курс "войти вайти за 3 месяца", действительно не нужны


что же такого на этих курсах происходит, что их все так говнят?
212 2325901
Анончики, подскажите.
У меня делается один объект. Делается второй, точно такой же.
При использовании их как имя для словаря, они перетирают друг друга. Как можно тут обойтись? Хотелось бы без id() и списка. Со списком слишком много еботни возникнет
213 2325906
>>25901
Т.е. имена разные
some_1 = A()
some_2 = A()

dict(some_1: 1, some_2: 2)
215 2325916
>>25911
Ну тот же id по сути. Я думал какую-нибудь обертку написать, типа от словаря отнаследоваться и там переопределить хранение
Ну может так лучше, только переписывать дохуя
216 2325956
Аноны, что надо почитать и изучить чтобы более менее разбираться в реализации ботов для телеграм?
217 2325957
>>25956
Апи телеграмма + примеры на гитхабе.
218 2325963
>>25957
А на русском есть что, толковое?
219 2326109
>>25611
А, она не перезапустит, а создаст новый. Понял нахуй тебя. Совсем другое дело
>>25670
Мапинг свой сделай русских месяцев в числа и реплейси. В чем проблема?
>>25770

> что же такого на этих курсах происходит, что их все так говнят?


Нихуя не проходят, зато убивают непоколибимую уверенность в собственных знаниях
>>25956

> Аноны, что надо почитать


Почитать документацию пистона

>и изучить


Изучить сам пистон

> чтобы более менее разбираться в реализации ботов для телеграм?


Хули там разбираться? Это в разы проще веба, чисто вешаешь декоратор на функцию нужно знать что это и для чего нужно и там ловишь инпуты в виде строки. Даже жсоны перекладывать не надо и апи мутить. Но без знания пистона это все полная хуйня бесполезная
220 2326111
>>26109

> убивают


вбивают
быстрофикс
221 2326258
Вопрос по Flask: как вернуть из SQL-запроса объект модели? К сожалению приходится использовать "сверх оптимизированные" SQL-запросы и из-0за этого нет возможности использовать ORM.

Как начинающему крудошлепу хочется узнать о том как это обычно делают. Используется SQLAlchemy
222 2326285
Скинули мне тут тестовое на бэкенд позицию. До понедельника управлюсь с базовыми требованиями? Можете поделиться с похожей APIшкой, чтобы было отчего отталкиваться?
223 2326379
>>26258
Алхимию юзай
db.session.query(Model).all()
224 2326392
>>26285
Прикольный тест. Натягиваем фронт и проект готов.
Думаю, это как раз и будет чьим-то заданием.
225 2326394
ТАК БЛЯДЬ

Я знаю, что вы тут все питонисты и наверняка занимаетесь всякими парсингами. Мне нужно каждый день собирать базы с авитоциандомклик. Кто хочет за деньги предоставлять готовые выборки по одному конкретному региону?

Кому ни писал из выдачи гугла, все какие-то мутные и кривые.

@severnymost
226 2326860
>>20027 (OP)
Всем ку. Я новичок - самоучка. Вопрос такой: где оттачивать полученные навыки? Условно, трудновато дались замыкания и декораторы, где искать задачи, чтобы их принцип работы отложился навсегда?
227 2326873
>>26394

>Кому ни писал из выдачи гугла, все какие-то мутные и кривые.


Наверное потому, что занимаются мутными и кривыми делами, не?
228 2326976
Пытаюсь заменить request на selenuim,
было:
resp = requests.get(url)
content = BytesIO(resp.content)
return feedparser.parse(content)
стало:
resp = BeautifulSoup(driver.page_source, 'lxml')
content = BytesIO(resp)
Ну и ошибка:
TypeError: a bytes-like object is required, not 'BeautifulSoup'
Можно ли из 2-го типа данных их перевести в 1-й?
229 2326977
>>26976

>Пытаюсь заменить request на selenuim,


Епт, ну не просто же поменять один вызов на другой, да? Почитай доки, как с объектами bs работать, а не бездумно хуярь один вызов вместо другого
230 2327024
>>26285
Это тестовое на джуна? Вы там ебанулись что ли? Особенно понравился срок в 2 дня и дополнительные требования в виде покрытия тестами
>>26258
selection = select(Model).where(...).all()
session.execute(selection)
>>26394
Пошел нахуй долбаеб, ни один адекватный разработчик за такое никогда не возьмется. Ты бы еще предложил сайт сделать, чтобы наркотой банчить и возмущался, что все желающие сделать заказ какие-то мутные типки
>>26860
Пилить проекты, вот и все. Нельзя просто сесть и выучить что-то, это нужно применять. желательно неоднократно, для решения каких-то проблем, а не на игрушечных примерах
>>26976

> Пытаюсь заменить request на selenuim


А ты вообще понимаешь разницу между этими двумя вещами?

> Можно ли из 2-го типа данных их перевести в 1-й?


Блять, ты вообще понимаешь что делаешь или просто рандомые строчки кода хуяришь? Ты знаешь что такое прекрасный супец? А что такое BytesIO понимаешь что это?
231 2327033
Вчера собесил очередную чушку на позицию мидла. Чушка запрашивала 150к но плавала абсолютно в любой теме, в каких-то пробелы были весьма ощутимы, как например в асинхронщине или в структурах данных. Позабавило также реально хуевое знание основных либ питона - поцик не знал про такие вещи как map/filter, itertools как темный лес, а существование defaultdict было прям в новинку.

Но резюме красочное ебать. 2 года опыта нахой в супер-пупер проектах (с его слов)
232 2327039
>>26976
Можно почитать документацию и подумать, а не заниматься обезьяничеством
233 2327044
>>26285
Есть еще подобные тестовые? Интересно самому поделать, вкатился около 9 месяцев назад, но сейчас стагнирую и сижу на одном и том же проекте с подзалупной Джангой. Скоро надо будет работу новую искать с повышением, а боюсь что если не буду делать приличные петы в качестве практики и выходить из привычной зоны комфорта, мне на собесах хуем по лицу просто будут водить.
234 2327055
>>27024

> Это тестовое на джуна? Вы там ебанулись что ли? Особенно понравился срок в 2 дня и дополнительные требования в виде покрытия тестами


у челов дедлайн горит
235 2327181
Кто-нибудь работал с flakeheaven?
Локально никак не могу его нормально запустить, эта падла в проекте высирает кучу левых ошибок когда запускаю:
pre-commit rin -av flakeheaven

Похоже что статы из pyproject.toml по какой-то причине не подтягиваются когда запускаю команду. Втф? В гитлабе когда эта же команда запускается автоматически, все норм проходит
236 2327326
>>27024
Вообще тестовое, наверное, на мидла. По крайней мере в вакансии указано, что ищут хотя бы от года опыта. Но в моем миллионнике вакансий хуй да нихуя, поэтому откликнулся. А они тестовое дали и им пофиг, что у меня опыта нет.
>>27044
Было где-то старое тестовое, тоже по написанию API. Но там слабее требования, не думаю, что имеет смысл скидывать. А если хочешь развития - съебывай в другую компанию и не жди. Так и скажешь, мол хочу развития, на старой работе только дрочить и оставалось от скуки.
image.png2 Кб, 158x19
237 2327334
Как же всрато, блядь. Я сейчас тупо несколько дней проебал из-за того, что лямбда криво создавалась.
238 2327336
>>27334

>этот код


А в версиях до 3.5 ты, запустив эту лямбду в цикле, ещё несколько дней проебал бы на поиск ошибки. Несколько месяцев спустя.
15212145855420.png21 Кб, 256x256
239 2327339
NamedTuple или @dataclass(eq=True, frozen=True)?
240 2327350
>>27336
Эта лямбда как раз правильная. До этого было lambda: next(g2), g2 менялось в цикле.
241 2327589
>>27033

>поцик не знал про такие вещи как map/filter


Ты и сам легаси-говножор. В нынешнем году пацаны компрехеншоны используют, а не хуярят нечитабельную псевдо-функциональщину с уёбищными питоновскими лямбдами. Даже сам Гвидо плевался от этих функций.

>itertools как темный лес


Итераторы один хуй менее производительны, чем компрехеншоны и стандартные циклы. Ещё и менее читабельны.

>а существование defaultdict было прям в новинку.


Костыль с очень специфическим юзкейсами, а не очень специфические решаются через dict.get(). В итоге ему место в кишочках модуля для решения одной задачи, а если он у тебя вытекает за поверхность модуля, то земля тебе пухом, братишка.
242 2327591
>>27339
Зависит от юзкейса. Именнованные кортежи только в том случае, если иммутабельность пиздец как нужна. В остальных случаях - датаклассы.
243 2327626
>>27033

> Чушка запрашивала 150к но плавала абсолютно в любой теме, в каких-то пробелы были весьма ощутимы, как например в асинхронщине или в структурах данных


Лол блять, по ходу чел после курсов с рисованным опытом

> Позабавило также реально хуевое знание основных либ питона - поцик не знал про такие вещи как map/filter, itertools как темный лес, а существование defaultdict было прям в новинку


Да это хуйня ведь, если потребности не было, то можно спокойно быть хорошим погромистом и без знаний этих либ. А в случае чего, просто по первому запросу в гугле узнать о них и начать использовать
>>27326

> Вообще тестовое, наверное, на мидла


> тестовое


> на мидла


А ну успехов им лол. Если там не написано, что тестовое оплачивается соответствующим рейтом, то на такое ни один мидл не откликнется, а пойдет на удаленку в норм контору
>>27339
dataclass > namedtuple, если нету каких-то конкретных причин, когда ты можешь сказать, что dataclass применить не получится
>>27589

> Ты и сам легаси-говножор. В нынешнем году пацаны компрехеншоны используют


Где-то удобнее компрехеншены, где-то map/filter.

> не хуярят нечитабельную псевдо-функциональщину с уёбищными питоновскими лямбдами


map/filter не только в лямбдах можно использовать, ты больной?

> Итераторы один хуй менее производительны, чем компрехеншоны и стандартные циклы


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

> Костыль с очень специфическим юзкейсами


Да нихуя не специфичные юзкейсы

> не очень специфические решаются через dict.get()


Не решаются. Вообще, defaultdict нужен, чтобы от бойлерплейта избавиться типа такого:
try:
----some_dict[key].append(some_value)
except KeyError:
----some_dict[key] = [some_value]

> В итоге ему место в кишочках модуля для решения одной задачи, а если он у тебя вытекает за поверхность модуля, то земля тебе пухом, братишка.


Чиво блять, а чему еще место в кишочкахкакое же мерзкое слово пиздос модуля для решения одной конкретной задачи? Пиздец и этот говнокодер чета еще про легаси говножоров пукает
243 2327626
>>27033

> Чушка запрашивала 150к но плавала абсолютно в любой теме, в каких-то пробелы были весьма ощутимы, как например в асинхронщине или в структурах данных


Лол блять, по ходу чел после курсов с рисованным опытом

> Позабавило также реально хуевое знание основных либ питона - поцик не знал про такие вещи как map/filter, itertools как темный лес, а существование defaultdict было прям в новинку


Да это хуйня ведь, если потребности не было, то можно спокойно быть хорошим погромистом и без знаний этих либ. А в случае чего, просто по первому запросу в гугле узнать о них и начать использовать
>>27326

> Вообще тестовое, наверное, на мидла


> тестовое


> на мидла


А ну успехов им лол. Если там не написано, что тестовое оплачивается соответствующим рейтом, то на такое ни один мидл не откликнется, а пойдет на удаленку в норм контору
>>27339
dataclass > namedtuple, если нету каких-то конкретных причин, когда ты можешь сказать, что dataclass применить не получится
>>27589

> Ты и сам легаси-говножор. В нынешнем году пацаны компрехеншоны используют


Где-то удобнее компрехеншены, где-то map/filter.

> не хуярят нечитабельную псевдо-функциональщину с уёбищными питоновскими лямбдами


map/filter не только в лямбдах можно использовать, ты больной?

> Итераторы один хуй менее производительны, чем компрехеншоны и стандартные циклы


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

> Костыль с очень специфическим юзкейсами


Да нихуя не специфичные юзкейсы

> не очень специфические решаются через dict.get()


Не решаются. Вообще, defaultdict нужен, чтобы от бойлерплейта избавиться типа такого:
try:
----some_dict[key].append(some_value)
except KeyError:
----some_dict[key] = [some_value]

> В итоге ему место в кишочках модуля для решения одной задачи, а если он у тебя вытекает за поверхность модуля, то земля тебе пухом, братишка.


Чиво блять, а чему еще место в кишочкахкакое же мерзкое слово пиздос модуля для решения одной конкретной задачи? Пиздец и этот говнокодер чета еще про легаси говножоров пукает
244 2327776
>>27589

>В нынешнем году пацаны компрехеншоны используют, а не хуярят нечитабельную псевдо-функциональщину с уёбищными питоновскими лямбдами


Справедливости ради, map/filter/reduce лучше, если уже написана простая функция от одного аргумента, например, если есть список списков, и надо его перевести в список тьюплов - тогда map(tuple, l) лучше копрехеншона. А лямбды - отличный способ создать простенький callable, чтобы, например, передать его в функцию. Но да, вместе они нахуй не нужны.
245 2327777
>>27626

>Вообще, defaultdict нужен, чтобы от бойлерплейта избавиться типа такого:


>try:


>----some_dict[key].append(some_value)


>except KeyError:


>----some_dict[key] = [some_value]


Для избавления от такого существует setdefault.
246 2327895
>>27777

> Для избавления от такого существует setdefault


А еще для избавления от такого существует defaultdict, просто deafultdict более функционален и позволяет не просто константой задавать значения, но и функцией. Но вообще, судя по тому, что чел пукнул про get, он вообще не выкупает что такое defaultdictи setdefault тоже и для чего он нужен
изображение.png135 Кб, 1125x724
247 2327923
Как это говно понимает где заканчивается numbers и начинается phonebook?
248 2327928
>>27923
Там где неименованные аргументы -- это numbers, там где именованные -- phonebook
249 2327934
>>27928
Это от чего зависит?
250 2327938
>>27934
В смысле блять от чего зависит? Если ты передаешь аргументы вот так
some_function(1, 2, 3)
то это не именнованные параметра, а если так
some_function(foo=1, bar=2, baz=3)
то именованные
251 2327946
>>27938
Спасибо, теперь понятно
Снимок экрана2022-04-0302-07-52.png8 Кб, 356x157
252 2327964
253 2327979
>>27964
reduce(lambda x,y: x+y[1], твоя_хуйета)
254 2327985
>>27964
Второе. Только скобки квадратные не нужны:

> ''.join(p[1] for p in x)


Загугли почему это работает и чем это лучше твоего варианта. В будущем я бы рекомендовал использовать туплы как можно реже, т.к. уже через неделю ты забудешь что там и где. Заменяй туплы датаклассами, это быстро окупится.
>>27979
Я понимаю твое желание выебнуться, но на практике это самый плохой вариант. Подумай почему. И нет, не из-за читабельности.
255 2328012
>>27985
Может из-за сложности сложения строк? Но там вроде в петоне оптимизации
256 2328040
>>28012
Join будет склеивать по сути через memcpy+realloc, а reduce будет дрочить GC и в копировать строки на каждый вызов next итератора. Те оптимизации, о которых ты думаешь на практике возможны только с JIT, как в каком-нибудь V8.
257 2328071
>>27626

>Где-то удобнее компрехеншены, где-то map/filter.


map/filter только удобны как методы коллекций, чтобы их можно было в линейную цепочку загонять. А не как в питоне. И не с питоновскими лямбдами.

>map/filter не только в лямбдах можно использовать, ты больной?


Хочешь сказать ты каждый раз обьявляешь новую функцию для передачи в эти функции? Тогда это хуже компрехеншона и не лучше написания отдельный функции для трансформации коллекции. Плюс добавляет отступов в коде, а если эти трюки проворачиваешь в методе, то даже просто filter+map это уже три отступа для твоей пиздец как важной процедурной логики.

>Я бы тебя нахуй с работы за такое выпиздовал. Сидит долбаеб и часы свои блять тратит на то, чтобы уже готовый функционал переписывать и заставлять других людей читать свое говно вместо уже готовых и всем знакомых итертулзов.


Часы как раз будут тратится на разгадку ребусов через итертулзы. Сперва нужно прочитать всю цепочку с конца, разгадать логику самих колбэков, потом проверить не обосрался ли ты с порядком этих функций и только потом разгадать смысл всей цепочки. А уж дебажить всё это пиздец как весело.

>Не решаются. Вообще, defaultdict нужен, чтобы от бойлерплейта избавиться типа такого:


Ору, ты проверяешь присутствие ключа в словаре и его тип высиранием эксепшенов. Неудивительно, что импортирование либы для такой базовой операции для тебя норм. И даже считаешь это священным ритуалом, которому все должны следовать.

>какое же мерзкое слово пиздос


Как раз описывает код, который ты высираешь.

>Пиздец и этот говнокодер чета еще про легаси говножоров пукает


Учитывая твой стиль ответа, то для тебя норма высирать дефолтдикты за пределы модуля. Кот бы говорил про говнокодеров.
>>27776

>если уже написана простая функция от одного аргумента


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

>map(tuple, l)


Ты упустил деталь, что этот вызов возвращает всего-лишь итератор. Для получения списка нужно писать list(map(tuple, l)), что ненамного короче [tuple(item) for item in l]. Вот как раз для таких банальных ситуаций итертулзы нахуй не всрались.

>Но да, вместе они нахуй не нужны.


Наоборот же, ниша map/filter/reduce - когда выносить логику трансформации в отдельную функцию - оверкил. Соответственно без лямбд их нет смысла рассматривать. И удачи писать однострочные лямбды для редюсов.
257 2328071
>>27626

>Где-то удобнее компрехеншены, где-то map/filter.


map/filter только удобны как методы коллекций, чтобы их можно было в линейную цепочку загонять. А не как в питоне. И не с питоновскими лямбдами.

>map/filter не только в лямбдах можно использовать, ты больной?


Хочешь сказать ты каждый раз обьявляешь новую функцию для передачи в эти функции? Тогда это хуже компрехеншона и не лучше написания отдельный функции для трансформации коллекции. Плюс добавляет отступов в коде, а если эти трюки проворачиваешь в методе, то даже просто filter+map это уже три отступа для твоей пиздец как важной процедурной логики.

>Я бы тебя нахуй с работы за такое выпиздовал. Сидит долбаеб и часы свои блять тратит на то, чтобы уже готовый функционал переписывать и заставлять других людей читать свое говно вместо уже готовых и всем знакомых итертулзов.


Часы как раз будут тратится на разгадку ребусов через итертулзы. Сперва нужно прочитать всю цепочку с конца, разгадать логику самих колбэков, потом проверить не обосрался ли ты с порядком этих функций и только потом разгадать смысл всей цепочки. А уж дебажить всё это пиздец как весело.

>Не решаются. Вообще, defaultdict нужен, чтобы от бойлерплейта избавиться типа такого:


Ору, ты проверяешь присутствие ключа в словаре и его тип высиранием эксепшенов. Неудивительно, что импортирование либы для такой базовой операции для тебя норм. И даже считаешь это священным ритуалом, которому все должны следовать.

>какое же мерзкое слово пиздос


Как раз описывает код, который ты высираешь.

>Пиздец и этот говнокодер чета еще про легаси говножоров пукает


Учитывая твой стиль ответа, то для тебя норма высирать дефолтдикты за пределы модуля. Кот бы говорил про говнокодеров.
>>27776

>если уже написана простая функция от одного аргумента


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

>map(tuple, l)


Ты упустил деталь, что этот вызов возвращает всего-лишь итератор. Для получения списка нужно писать list(map(tuple, l)), что ненамного короче [tuple(item) for item in l]. Вот как раз для таких банальных ситуаций итертулзы нахуй не всрались.

>Но да, вместе они нахуй не нужны.


Наоборот же, ниша map/filter/reduce - когда выносить логику трансформации в отдельную функцию - оверкил. Соответственно без лямбд их нет смысла рассматривать. И удачи писать однострочные лямбды для редюсов.
258 2328085
>>28071

> map/filter только удобны как методы коллекций, чтобы их можно было в линейную цепочку загонять. А не как в питоне. И не с питоновскими лямбдами.


Понял тебя

> Хочешь сказать ты каждый раз обьявляешь новую функцию для передачи в эти функции?


Зачем новую? map(list, some_data) и никакие лямбды не нужны

> Часы как раз будут тратится на разгадку ребусов через итертулзы


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

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


Какие коллбэки, ты что несешь вообще нахуй. Ты вообще знаешь что это?
Встроенный в питон функционал просто используешь и все. Твои полотна кода, где ты из списка в список перекладываешь, читать никому в радость не будет. А это говно еще и тестами покрывать нужно с десятками кейсов.

> А уж дебажить всё это пиздец как весело


Что ты там дебажить собрался? Ты встроенные либы питона отлаживаешь? А тесты на них пишешь, интересно?

> ты проверяешь присутствие ключа в словаре и его тип


Тип не проверяется, ты ебанулся?

> импортирование либы для такой базовой операции для тебя норм


Я правильно понимаю, что ты пишешь свои костыли для встроенного в питон функционала и неиронично не считаешь себя говнокодером?

> Учитывая твой стиль ответа, то для тебя норма высирать


Ну куда уж мне, я же не дублирую функционал пистона своими костылями, мне таких вершин не достичь
259 2328170
Памагите, че оно не идет то?
Кидает ошибку, иду строго по туторалОЧКЕ, а все равно не получается, лол.
260 2328204
s = input()
i = False
u = False
for char in s:
if char =='i':
i = True
elif char =='u':
u = True
else:
print("none")
break
if i == True and u == True:
print("i and u")
elif i == True and u == False:
print("i")
elif i == False and u == True:
print('u')
else:
print("none")

ввожу i
выдатёт i
ввожу u
выдаёт u
ввожу iu
выдаёт iu

вроде всё как задумано, но вот если начинаю чуть отходить от этого и допустим ввожу текст iloveu (даже слитно)
программа работает не так как задумано и выдаёт none и i
и так далее
я уже разными способами пытался
пять способов написать эту прогу
всё перепробовал что знаю
нихуя не получается

суть чего хочу добиться:
вводишь текст (любой стринг получается)
программа шерстит введёный стринг
если там есть хоть одна буква i
то пишем в тексте есть i
если хоть одна u
то пишем u
если есть и i и u то пишем что есть и то и то
если нет ничего то пишем нет нихуя

в одной из версий программ которые я написал оно нормально реагировало на i и u
но проблема была в том что как только он видит хоть одну из этих букв то ему похуй на все остальные условия он просто не смотрит

как сделать так чтобы он просматривал весь стринг и работал блять нормально?

Я НЬЮФАГ НЕ БЕЙТЕ ВТОРОЙ ДЕНЬ ИЗУЧАЮ ПРОГРАМИРОВАНИЕ
260 2328204
s = input()
i = False
u = False
for char in s:
if char =='i':
i = True
elif char =='u':
u = True
else:
print("none")
break
if i == True and u == True:
print("i and u")
elif i == True and u == False:
print("i")
elif i == False and u == True:
print('u')
else:
print("none")

ввожу i
выдатёт i
ввожу u
выдаёт u
ввожу iu
выдаёт iu

вроде всё как задумано, но вот если начинаю чуть отходить от этого и допустим ввожу текст iloveu (даже слитно)
программа работает не так как задумано и выдаёт none и i
и так далее
я уже разными способами пытался
пять способов написать эту прогу
всё перепробовал что знаю
нихуя не получается

суть чего хочу добиться:
вводишь текст (любой стринг получается)
программа шерстит введёный стринг
если там есть хоть одна буква i
то пишем в тексте есть i
если хоть одна u
то пишем u
если есть и i и u то пишем что есть и то и то
если нет ничего то пишем нет нихуя

в одной из версий программ которые я написал оно нормально реагировало на i и u
но проблема была в том что как только он видит хоть одну из этих букв то ему похуй на все остальные условия он просто не смотрит

как сделать так чтобы он просматривал весь стринг и работал блять нормально?

Я НЬЮФАГ НЕ БЕЙТЕ ВТОРОЙ ДЕНЬ ИЗУЧАЮ ПРОГРАМИРОВАНИЕ
image.png55 Кб, 473x887
261 2328222
>>28204
Всё мужики отбой я позвонил другу програмисту и он мне помог понять в чём соль
если что вот готовый код

s = input()
i = 0
u = 0
q = 0
for char in s:
if char == "i":
i = i+1
if char =="u":
u = u+1
q = i + u
z = False
while z == False:
if q > 1:
print("i and u")
z == True
break
if q == 0 :
print ("none")
z == True
break
if i > 0:
print("i")
z == True
break
if u > 0:
print("u")
z == True
break
image.png55 Кб, 473x887
261 2328222
>>28204
Всё мужики отбой я позвонил другу програмисту и он мне помог понять в чём соль
если что вот готовый код

s = input()
i = 0
u = 0
q = 0
for char in s:
if char == "i":
i = i+1
if char =="u":
u = u+1
q = i + u
z = False
while z == False:
if q > 1:
print("i and u")
z == True
break
if q == 0 :
print ("none")
z == True
break
if i > 0:
print("i")
z == True
break
if u > 0:
print("u")
z == True
break
262 2328230
>>27985
Спасибо, анон, понял тебя.
263 2328231
Сап, не укладываюсь на длинных тестах.

Нужно определить можно ли путем удаления и перестановок слов из первой строки сделать вторую.

Всё ок, но по времени не укладываюсь с большими данными. Дубликаты как я понимаю важны и поэтому перейти от списка к set нельзя. Как ускорить то тогда?

https://www.online-ide.com/le2U5wmQhX

к примеру при
а б в - оригинал

а в б - можно
а в в - нельзя
в б - можно
264 2328243
>>28231

>из второй строки сделать первую

265 2328247
>>28231
А сама задача откуда, дай ссылку, решу.
266 2328248
>>28231
collections.Counter
267 2328250
>>28247
контест закрытый

Подаются два предложения, каждое предложение начинается с новой строки. Необходимо проверить, можно ли получить второе предложение из первого с помощью перестановки и удаления слов. Если такое возможно, напечатайте YES, в противном случае - NO.

Вопросов всегда больше чем ответов
Ответов всегда больше чем вопросов
YES
Вопросов всегда больше чем ответов
Вопросов всегда больше
YES
Вопросов всегда больше чем ответов
Ответов всегда меньше чем вопросов
NO
268 2328275
>>28250

>контест закрытый


Тяжело...
Ну в общем это collections.Counter, как выше написали.
Делаешь по обоим предложениям Counter.
Потом циклом бежишь по ключам второго Counter. Если в первом Counter значение по ключу меньше или отсутствует, то останавливаешься и даешь False. Если пробежал, остается True.
image.png41 Кб, 573x580
269 2328287
>>28250
Типа
270 2328332
>>28287
спасибо, попробую. То есть с точки зрения самого алгоритма по ссылке как то ускорить не получится?
271 2328337
>>28332
Да, твой алгоритм — хуйня. Ты каждое слово одного предложения ищешь в другом предложении. То есть это квадратичный алгоритм. Это плохо.
272 2328369
>>28337
анончик, вот за это спасибо, я блять посидел, подумал, понял что сортировка быстрее квадрата и в итоге после сортировки искал уже не по всему списку, а от найденного предыдущего элемента. Бля буду, спасибо.
273 2328403
Как сделать так, чтобы python через sudo и python через обычного юзера были с одинаковым набором модулей?
274 2328425
>>28403
Сделать для них одинаковый PATH. У тебя не модули разные, а питоны разные
275 2328528
>>28170
Скорее всего, у тебя сперва идет GET-запрос, во время которого request.form пустой. Залезь дебагером в функцию и посмотри, что находится в request.form. Скорее всего, пофиксится добавлением условием типа `if request.method == ‘GET’: …`
image.png46 Кб, 635x460
276 2328676
>>28528
Не, в html не хватало кавычек))
277 2328702
здаров ПИДАРАСЫ ЕБАНЫЕ
я тут кароче залетел впитон хочу спросить у вас
тех кто там сеньоры и тд сколько вы зарабатываете?
БЕЗПРУФНЫЕ ЛАЛКИ ПОШЛИ НАХУЙ ПРИКРЕПЛЯЕТ ФОТО КАРТЫ ЗП

поехали!
278 2328705
Стоит ли работать на гос подрядчиков? Типа они делают софт для ведомств, мвд, фсб там и все такое?

Работы щас нет, сами понимаете.
279 2328718
>>28705
если ты пидарас* - да
280 2328795
Ньюфаг третий день в питоне вернулся. Помогите!
Разбираю чужой код и понял что нихуя не понимаю циклы.
Какого хуя код работает вот так?
Первый скрин сама прога я немножко модифицировал чтобы разобраться, там счётчик i постоянно принтит это я специально сделал чтобы понять
Второй скрин аутпут
Меня собственно интересует какого хуя переменная i просто берёт и обнуляется как только мы начинаем использовать её в цикле фор?
Только что было 10
но как только я говорю for i in range times
питон такой да да конечно i теперь равно нулю!!

Вопрос: какого хуя?
Где почитать про это?
Как это происходит и почему?
image.png22 Кб, 861x139
281 2328798
Вот этот текст натолкнул меня на мысль о том что условно говоря
на 121 строке у меня происходит следущее:
i это просто счётчик, типа как крусор
а times это конечно стринг по факту но чисто теоретически в этом случае работает как лист по которому идёт курсор
там всякие переменные в виде стрингов
[string][string][string][string]
0 1 2 3
и поэтому i теперь равно нулю
я правильно понял челы?
282 2328799
>>28795
А как, по-твоему, должно быть, лол? Чего ты ещё ожидал-то?
Почитать, очевидно, в доке.
283 2328801
>>28798

>times это конечно стринг


Нет, это int.
284 2328804
>>28795
Пздц ты обезьяна тупая. range(6) вернет генератор 0, 1, 2, 3, 4, 5.
С хуя ли i не должен начинаться с нуля?
285 2328806
Ну собственно получается я всё правильно понял.
286 2328866
>>28795
У тебя сначала стоит возрастающий счётчик на i, при котором он растёт до длины фразы.(строки 110-118)

Потом ты перезадаешь i Рейнджем где он равен уровню энтузиазма (строка 121. Тк ты ввёл что times = 6, i будет расти от 0 до 5.
287 2329130
>>28795
for %какая-то переменная% in %какой-то итерабл типа списка или словаря% делает следующее:
Берет каждый элемент списка и приравнивает переменную к нему, а затем прогоняет все, что есть в цикле и так далее, пока элементы не кончатся. Соответственно, у тебя неявным образом сразу после for i in range(6) написано что-то в духе i = 0, потом i = 1 и так далее
>>28798
Нихуя, гугли что такое yield, Iterable и next(). Пока ты их не разберешь от и до, то понять как на самом деле реализован цикл for в питоне невозможно
288 2329166
>>27626

> Я бы тебя нахуй с работы за такое выпиздовал. Сидит долбаеб и часы свои блять тратит на то, чтобы уже готовый функционал переписывать и заставлять других людей читать свое говно вместо уже готовых и всем знакомых итертулзов.



Я бы тебе потом на прод так насрал, что ты потом, вместе со своей говнокомандой формошлепов, вместо спринтов целую неделю вымывал всю эту хуйню.

Свои питоновские трики с солюшенами длинной многострочки в одну строку можешь засунуть себе в жопу.

Ебучие адепты ниндзя-кода, обожающие затирать про концепции, но по какой-то причине заваливающиеся при попытках соблюдения ебучего KISS.

Я тебя твой пр ебаный с твоими tuple(zip(range(), range(), range())) отправлю переделывать до тех пор, пока ты к своим модулям README не напишешь.
289 2329173
Ребят, всем привет! Хочу сделать дома сервер и сделать там апишку на FastAPI. Из задач: отдавать FileResponse, авторизация и работа с бд (PostgreSQL). Думаю под это взять мини-пк, подобрал какого-то китайца с процессором J4125 (4 ядра) и 8гб ОЗУ. Хватит его под эти задачи?
290 2329266
>>27589

>В нынешнем году пацаны компрехеншоны используют


Не в курсе про ФП а уж тем более про мапы - значит твой опыт весьма ограниченный

>Итераторы один хуй менее производительны


Да ты ж вообще не вкуриваешь даже для чего они нужны! Нах тогда высираешься?

>Костыль с очень специфическим юзкейсами


Обосраться какими специфичными. Это не тебя случаем собесили?
291 2329291
>>29173
С лихвой, можешь еще и в докере запускать. Асинхронка так и так на одном ядре работает
image.png389 Кб, 720x678
292 2329306
>>28085

>А это говно еще и тестами покрывать нужно


Какими тестами? Мы без тестов хуярим и збс. Всем советую
293 2329455
>>29306
Есть доля правды. Когда не мелкую хуйню приходится писать огромный тест, мокать вызовы, разных тестовых юзеров делать и получается, что на тест потратилось в 3 раза больше времени, чем на сам модуль. Из разряда перни в апишку, сделай внешний вызов, вызови отправь таску в целери и отдай json. А на ручном тестировании на это дело 10 минут уходит.
294 2329542
Пацаны, сёл разбираться с numpy. Как найти наиболее часто встречающиеся значения в матрице по строкам/столбцам? Чтоб получить столбец/строку с этими значениями?

Пока что понял как это делать для всей матрицы
295 2329543
>>29542
Ну и да. Без циклов, а то нахуя тогда numpy не ясно
salam.jpg17 Кб, 459x261
296 2329592
Всем салам, вопрос по pandas
Есть датафрейм с разными значениями (условно это разные комбинации a,b,c). Нужно задать условие что, если один раз появилась комбинация abc, то выдавать True, до тех пор, пока первый раз не появится cba, и наоборот.
Грубо говоря a,b,c это 3 условия в одном, и если они один раз засветились в нужной комбинации, то активны пока выполняется хотя бы одно. С моим двухмесячным опытом, я сделал эти 3 условия, но как только 1 или 2 из 3 перестают выполняться, True пропадает.
298 2329624
>>29542
np.unique(x, return_counts=True)
опхуй.PNG79 Кб, 1634x666
299 2329631
>>29592
на самом деле тебе нужно только два условия:
если сумма по строка = "абс" то True,
если сумма по строка = "сба" то False

далее просто заполняешь наны с помощью функции
300 2329736
>>29166

> Я бы тебе потом на прод так насрал


Прод это не твои штаны и твою залупу бы завернули на ревью

> вместе со своей говнокомандой формошлепов


Какой грозный клепатель велосипедов. Надеюсь, твои перекладыватели жсонов на голых питоновских сокетах написаны? Или ты даже в велосипедоделании нихуя не смыслишь?

> Ебучие адепты ниндзя-кода, обожающие затирать про концепции, но по какой-то причине заваливающиеся при попытках соблюдения ебучего KISS.


Как кисс вообще связан с велосипедами? Это не пересекающиеся концепции. Ты себе хуйню какую-то выдумал и теперь что-то от нормальных людей требуешь

> Я тебя твой пр ебаный с твоими tuple(zip(range(), range(), range()))


Ты ведь в курсе, что все из перечисленного никакого отношения к итертулзам не имеет, да? Ты не только популярные концепции программирования вроде кисс не знаешь, а даже основ питона. А ну пошел нахуй отсюда, вкатун ебаный. На прод он собрался насрать лол. Ты к Кабан Кабанычу на обоссанную галеру устройся за еду, для начала

> пока ты к своим модулям README не напишешь


Для больших проектов ридми нахуй не нужен, там поднимают на деве отдельный эндпоинт с документацией и техспецификацию делают на многих листах. А для мелкой залупы достаточно сваггера с тайпингом и минимальных комментов. В ридми обычно описывают как проект локально поднять лол
>>29306
Как там дела в вебстудиях в 2022 году обстоят?
>>29455

> Есть доля правды


Нету

> Когда не мелкую хуйню приходится писать огромный тест, мокать вызовы, разных тестовых юзеров делать и получается, что на тест потратилось в 3 раза больше времени, чем на сам модуль


И что? Как это связано с тем, что писать тесты не нужно?

> Из разряда перни в апишку, сделай внешний вызов, вызови отправь таску в целери и отдай json


Ааааа я понял, ты неиронично думаешь, что тесты пишут для того, чтобы проверить правильно ли они жсон из одного место в другое переложили? Открою тайну -- нет, не для этого. Тесты пишут для того, чтобы после добавления нового функционала проверить не сломался ли старый

> А на ручном тестировании на это дело 10 минут уходит.


Я все выше написал, одно другое не заменяет
300 2329736
>>29166

> Я бы тебе потом на прод так насрал


Прод это не твои штаны и твою залупу бы завернули на ревью

> вместе со своей говнокомандой формошлепов


Какой грозный клепатель велосипедов. Надеюсь, твои перекладыватели жсонов на голых питоновских сокетах написаны? Или ты даже в велосипедоделании нихуя не смыслишь?

> Ебучие адепты ниндзя-кода, обожающие затирать про концепции, но по какой-то причине заваливающиеся при попытках соблюдения ебучего KISS.


Как кисс вообще связан с велосипедами? Это не пересекающиеся концепции. Ты себе хуйню какую-то выдумал и теперь что-то от нормальных людей требуешь

> Я тебя твой пр ебаный с твоими tuple(zip(range(), range(), range()))


Ты ведь в курсе, что все из перечисленного никакого отношения к итертулзам не имеет, да? Ты не только популярные концепции программирования вроде кисс не знаешь, а даже основ питона. А ну пошел нахуй отсюда, вкатун ебаный. На прод он собрался насрать лол. Ты к Кабан Кабанычу на обоссанную галеру устройся за еду, для начала

> пока ты к своим модулям README не напишешь


Для больших проектов ридми нахуй не нужен, там поднимают на деве отдельный эндпоинт с документацией и техспецификацию делают на многих листах. А для мелкой залупы достаточно сваггера с тайпингом и минимальных комментов. В ридми обычно описывают как проект локально поднять лол
>>29306
Как там дела в вебстудиях в 2022 году обстоят?
>>29455

> Есть доля правды


Нету

> Когда не мелкую хуйню приходится писать огромный тест, мокать вызовы, разных тестовых юзеров делать и получается, что на тест потратилось в 3 раза больше времени, чем на сам модуль


И что? Как это связано с тем, что писать тесты не нужно?

> Из разряда перни в апишку, сделай внешний вызов, вызови отправь таску в целери и отдай json


Ааааа я понял, ты неиронично думаешь, что тесты пишут для того, чтобы проверить правильно ли они жсон из одного место в другое переложили? Открою тайну -- нет, не для этого. Тесты пишут для того, чтобы после добавления нового функционала проверить не сломался ли старый

> А на ручном тестировании на это дело 10 минут уходит.


Я все выше написал, одно другое не заменяет
301 2329746
>>29736
Додик неиронично думает, что код без тестов не может идти в продакшн. Наес.
302 2329748
>>29746
Нет, это ты додик, который думает, что я считаю, что код без тестов не может идти в продакшн. Вопрос в экономии времени
303 2329751
>>29624
>>29613
Спасибо, а как из моды исключить нули? То есть мне нужно найти моду по строкам, не учитывая 0, а любая операция типа nonzero или [a != 0] схлопывает двумерный массив в одномерный. И в таком случае уже хз как их отделить обратно.

Пиздец как привык к массивам
304 2330002
>>29751
нихуа не понятно, пили пример
305 2330049
какой ща топчик онлайн пистон интепрентерс?
306 2330098
>>29291
Отлично, спасибо!
307 2330212
>>30002
1 0 1 2 3
0 0 4 0 0
1 2 6 6 6

Нужно получить
1
4
6

1 Потому что в первой строке чаще встречается единичка.
4 Потому что во второй строке 0, но мы их не считаем, а берём второе самое распространённое значение
6 Потому что 6
308 2330468
>>20027 (OP)
Кто пишет с аннотациями типов, подскажите - если функция вызывает ошибку, она тоже аннотируется?
309 2330508
>>30468
Нет, эксепшены не аннотируются. Есть некоторые библиотеки, которые это позволяют сделать, но с приседаниями. Просто указывай эксепшены в докстринге
rкостыль.PNG32 Кб, 1129x285
310 2330512
>>30212
ток через костыль нашел способ....
311 2330586
>>30468
Если что, библиотека с приседаниями для аннтоаций эксепшенов вот
https://github.com/dry-python/returns
312 2330717
Тут есть кодеры или дата сайнтисты, заинтересованные в трейдинге? Кто хочет строить именно свое дело, развивать его, улучшать и получать результат. И при этом в перспективе свободно жить, не работая за деньги. Я довольно давно трейжу , и озадачился немного автоматизировать и много расширить то, что работает годами. Но поглядел треды с вариантами, и в целом люди в этом направлении почему то кооперируются с какими то неопытными, розовыми фантазиями, придумыванием излишнего велосипеда, авантюрным скальпингом крипты и прочими сомнительностями на месяц жизни, которые мне не особо то и близки. В общем я конечно уже принялся сам изучать необходимые навыки питона и изучу их, но если кто-то хочет содействовать/пойти в этом направлении со схожими целями: @at_Consonance
И да, за денек/недельку/месяц вряд ли управимся. Работа предстоит основательная
313 2330718
Сап питунисты, студент пилящий хуйню на джанго вкатился
И хочу спросить вот что: сам я пилю проекты на уровне : окей гугл, Django+хуйня которая мне нужна, как сделать. Ну и там по необходимости гуглю дальше.
Пока вроде работает, как правило так или иначе нахожу ответы на свои вопросы и что то делаю.
Но мне кажется, что такой несистемный подход работает только когда ты пилишь исключительно для себя и по своим желаниям, а надо в идеале хотя бы пробежаться по всей основной документации. Или я не прав, и так и надо?
Даже элементарно представить какой нибудь собес, где спросят как сделать Х, я же не могу ответить что то в стиле:
Мне это в моих проектах не нужно было, так что хз.
314 2330776
Ананасы, помогите решить траблу, что-то совсем не могу придумать решение.
Суть - есть упорядоченный список гуидов из жсона и ещё один жсон, который я получаю из апи, из которого я собрал список словарей, имеющих в себе эти гуиды. Но есть один нюанс - в жсоне из апи некоторые гуиды могут отсуствовать и я заменяю их на None. Для простоты пояснения представим, что оба списка содержат просто гуиды:
my_list = ["guid1", "guid2", "guid3", "guid4","guid5"] - мой список
api_list = ["guid1", "guid5", None, "guid4","guid3"] - список из апи после обработки
Вопрос - как мне в компрехеншоне составить новый словарь таким образом, чтобы в него входили элементы списка из апи в том же порядке, что и в моём изначальном списке, влючая позиции отсутствующих элементов?
То есть, чтобы получилось:
{
"guid1": "api_guid1",
"guid2": None,
"guid3": "api_guid3",
"guid4": "api_guid4",
"guid5": "api_guid5",
}
Вроде задача не сложная, но не могу представить, как одновременно сохранить порядок и обработать None'ы.
315 2330778
>>30776
Глупость какая-то. У тебя по виду в этом словаре либо key == value, либо value is None - нахуя он тогда нужен?
image.png216 Кб, 928x342
316 2330779
>>30776
Забыл ещё один нюанс, в компрехеншоне мне нужно итерировать по списку из апи, ибо как я писал изначально, это словарь и мне нужно будет обработать остальные его элементы помимо гуида. Пикрил моё текущее решение, которое крашится на отсутствующих элементах.
317 2330782
>>30778
Поясню, это часть тулзы, которую юзают аналитики чтоб определить, где у нас в конфигурации факапы. Мы получаем определённую конфигурацию по шаблону, который я для простоты назвал "моим списком" и сверяем по ней конфигурацию из сервиса по апи. Если чего-то нет, то это отсутвие должно отображаться. Порядок нужно соблюдать, ибо могут быть запущены сотни и тысячи проверок, отчёт по которым собирается в эксель-файл, и тулза туда херачит данные в порядке "как есть".
318 2330784
>>30776
Не еби мозги с компрехеншоном, создай вспомогательный словарь guid_to_element из api_list, а потом уже пройдись по my_list: {guid: duid_to_element.get(guid) for guid in my_list}.
319 2330785
>>30779
Просто пиздец.
Перепиши на обычный цикл, еблан. Заодно и конкретную строку с падением получишь, чтобы там навертеть свой иф ноне.
320 2331184
>>30782
Что эти аналитики у вас анализируют? как сосет страна?
321 2331297
Тут такое дело, питоны. Решил я попробовать начать питонить, вдруг понравится и зайдёт, ну и пока всё нравится, потихоньку кое как в свободное время, напиздил задачек со скиллбокса, радуюсь как ребёнок когда получается всякая такая чушня, но периодически ощущаю себя полным долбоёбом и недочеловеком, как вот сейчас.

https://www.codepile.net/pile/1gVRAPg6

Хуй с ней задачей, я её всё равно решил так вот https://www.codepile.net/pile/8K5E80KM , но это пиздец и я хочу понять, почему первый способ не работает? Где я проебался в синтаксисе? Почему else некорректен? Я полный долбоёб или у меня ещё есть шансы?
322 2331304
>>31297
Что за сиротский else в 8й строке? К чему он относится? Где его if?
323 2331314
>>31304
Очевидно, чел пытался сделать elif, но опечатался.
324 2331316
>>31314
На этом уровне и elif был бы сиротским без ифа.
325 2331324
>>31316
Это уже я опечатался, я хотел сказать "обосрался"., но обосрался.
326 2331334
>>30717
Сколько платишь и если это предполагается на энтузиазме, то как доли разбивать предлагаешь? Сколько стартовый капитал на серваки и закупки у тебя? На каком этапе планируешь инвестирование получать и как? Если у тебя хотя бы лям-два есть и предлагаешь 50/50, то готов ворваться
>>30776
Какая версия пистона? Ты в курсе, что словарь упорядоченный только в новых3.7, да? А так, насколько я понял, все довольно просто
{value: value if value in api_list else None for value in api_list}
Правда что это за говно и для какой цели -- абсолютно непонятно. Либо ты ОЧЕНЬ хуево объясняешь. Я все еще не понимаю что такое api_guid и откуда он взялся
327 2331339
>>31334
Дед, если для тебя 3.7 новая, то тебе в гроб пора...
328 2331344
>>31339
У чела легаси говнина очевидная, у него вполне себе может 3.6 какой-нибудь стоять
329 2331355
>>31304
А, кажется до меня допёрло, начинаю понимать и осознавать, спасибо. Но это же дохуя строчек, не проще ли моё решение https://www.codepile.net/pile/8K5E80KM , или это будет моветон?

Сейчас написал вот так вот, чтобы было больше похоже, один уровень и ничего больше https://www.codepile.net/pile/N2zkdQRq

Нагуглил вот чужое решение, тут вообще пиздец, я честно смотрю и уже путаюсь в уровнях. Или же он как раз молодец и нормально написал?

https://github.com/zaboevai/python_base/blob/develop/lesson_003/02_envelop.py
330 2331363
>>31355
можно ещё что-то вроде
min(paper_x, paper_y) < min(envelop_x, envelop_y) and max(paper_x, paper_y) < max(envelop_x, envelop_y)

Может так чуть яснее логика, хотя примерно одинаково.
331 2331375
>>31355
Зачем все эти непонятные условия? Приведи сразу к нормальному виду, где х это наибольшая сторона
https://www.codepile.net/pile/g8JxqKnQ
Это просто более человекочитаемо
332 2331377
>>30717

>Я довольно давно трейжу , и озадачился немного автоматизировать и много расширить то, что работает годами. Но поглядел треды с вариантами, и в целом люди в этом направлении почему то кооперируются с какими то неопытными, розовыми фантазиями, придумыванием излишнего велосипеда,


По-моему заезженное направление, довольно много людей в этом работает, что или там HFT торговля, или же какие-то боты.

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

Если же ты мамкин трейдер, каких большинство, кто типа по 1000 долларов инвестирует и зарабатывает, пока рынок растёт, то таким только и остаётся, что кооперироваться с такими же разработчиками с прогнозируемым результатом.
38A5B779-4AEA-4378-955A-64DE5D31CE46.jpeg65 Кб, 1248x702
333 2331803
7789.jpg145 Кб, 803x930
334 2332100

>Combines a given template with a given context dictionary and returns an HttpResponse object with that rendered text.


Это прям совсем непонятно, совсем. По какому правилу выдается этот объект с отрендеренным текстом? Где это применять?
335 2332298
>>32100
Блять ну загугли "Шаблоны Django", это просто способ отрисовки HTML страниц, куда можно вставлять переменные
sage 336 2332313
нуб в треде.
Вот если на django есть шаблонизатор jinja + django реализует авторизацию + мы работаем с бд, то зачем нужны фронтэндеры? Только для AJAX? Но ведь далеко не на всех сайтах AJAX есть. Сори за нубский вопрос
337 2332314
>>32100
Проиграл с джунов-неосиляторов. Пиздуй интернет-магазин по туториалу писать, как готоый работающий pet-project будет - возвращайся
338 2332315
>>32313
1. У джанги свой шаблонизатор, Jinja - это отдельная тулза, которая примерно то же самое делает, что джанго шаблонизатор
2. Современные веб-сервисы на чистом HTML + CSS никто не делает, это дрочево. Гугли, что такое SPA (Single-page application)
3. Тот же Django можно использовать как фрейморк для написания API для фронтенда (гугли, нахуй нужен Django REST Framework)
339 2332316
>>32315
На вопрос то ты не ответил, хотя я не до конца понял что ты имеешь под вторым пунктом, типо AJAX везде щас используется? Пока что я сделал вывод что фронтендеры нужны только для AJAX
340 2332454
>>32313
Что блять значит "Зачем нужны фронтендеры?" Чтобы делать фронт сайта. Ты собрался в веб1.0 переехать со статичными сайтами? Вот даже на дваче ты нажимаешь ответить и всплывает модал. Это делает фронт.
341 2332458
Объясните мне потуги вкатунов раздуплиться в джанге?Это же максимальное ограничивание своего развитие. ORM свой (достаточно каловый), который больше нигде не используешь. Шаблонизатор свой, который нигде не используешь и.т.д. Ну возьмите Flask, возьмите Bottle, прикручивайте модули, которые можно будет использовать других фреймворках. Без знания sqlalchemy-core вы нахуй никому не вперлись за границами интернет-магазинов. Подумайте 10 раз прежде чем нырять в эту лужу кала
342 2332465
>>32458

> Объясните мне потуги вкатунов раздуплиться в джанге?


Половина вакансий питона на штанге

> Это же максимальное ограничивание своего развитие


Да ладно, не такое уж и ограничение

> ORM свой (достаточно каловый)


Свой, но при это на 70% идентичный орм алхимии

> Ну возьмите Flask, возьмите Bottle, прикручивайте модули, которые можно будет использовать других фреймворках


И что это за модули? Использовать зефирку вместо дрв сериализаторов и алхимию вместо джангоорм? Ну пиздец, вот это расширились в сознании челы

> Без знания sqlalchemy-core вы нахуй никому не вперлись за границами интернет-магазинов


Хуйня, для коровой алхимии нужно чистый скуль знать, в первую очередь
image.png9 Кб, 271x152
343 2332483
>>32465

>Половина вакансий питона на штанге


жирно
Что джанга, что фласк - нахуй никому не уперлись.
344 2332496
Джанго это кал.
345 2332499
>>32483
Со скрина в голос, я могу выставить такие настройки поиска, что javascript выдаст 0 вакансий. К чему ты это заскринил -- непонятно

> Что джанга, что фласк - нахуй никому не уперлись


А что уперлось? Мне просто интересно
346 2332504
>>32499
А че в голос, повторил тот же запрос и выдало такой же результат я из дс если че. Реально никому эта джанга не нужна. Только легаси осталось. Щас в тренде фастапи, но отдельную кодомакаку под написание такого редко ищут.
изображение.png7 Кб, 832x161
347 2332510
>>32504

> повторил тот же запрос и выдало такой же результат я из дс если че


Мне интересно, как ты себе это представляешь? То есть, челы неиронично ищут не разработчика на пистоне, а разработчика на штанге?

> Реально никому эта джанга не нужна


Твердо и четко

> Только легаси осталось


А ты за деньги код пишешь или стремящийся вкатунец?

> Щас в тренде фастапи


Смотри пикрил

> отдельную кодомакаку под написание такого редко ищут


Пчел, никто не ищет разработчика на штанге/фастапи/другом фреймворке. Это абсурд, все крудоговно плюс-минус одинаковое, за неделю-две на боевом проекте можно изучить штангу на уровне, достаточном для промышленной разработки, даже если ты до этого никогда ее не использовал и писал на фласке
348 2332527
>>32510
Я на плюсах пишу, попросили на фастапи написать апишку, потому что кодер, который это делал уехал в грузию лол. Сказали щас все апишки на этом пишут, нах вообще эта штанга нужна? Очередной чайный магаз писать?
349 2332567
>>32527

> Сказали щас все апишки на этом пишут


> Сказали


Хуя ты сразу с козырей зашел.
350 2332598
Суп, тред
Я тут начал питон ковырять и возник один вопрос:
У меня есть переменная x, которая содержит 7 значений типа string.
Как мне каждое значение переменной x вложить в список, чтобы я мог обращаться к ним примерно так: b = row[1], c = row[0]
351 2332602
>>32598
Ладно, может нихуя не понятно будет, что я написал, по этому дам конкретный пример. Есть кусочек кода:
find_price_forall = soup.find_all(class_="value receipt-value-104")
for item_price_forall in find_price_forall:
item_price_forall_stripped = item_price_forall.text.strip()

В переменной item_price_forall_stripped лежит 7 значений типа стринг:
74.99
52.47
18.69
5.57
243.71
50.41
13.65

Мне нужно каждое это значение запихнуть в массив или список (с именем, на пример, spisok[]), чтобы я мог обращаться к каждому элементу например так: print(spisok[2]) и получить на выходе 18.69
Как это сделать?
16473618535400.jpg752 Кб, 847x1241
352 2332620
>>32602
spisok = [int(el) for el in item_price_forall_stripped]
353 2332630
Блять, иду в офис, а то что написано в резюме и в трудовой не совпадает, кое где закрывал пробелы.
Че могут докапаться до этого? Или лучше потерять трудовую?
354 2332631
>>32602
Блять, ну нахуй ты пистон с парсинга сайтов начинаешь изучать? Как же вы заебали, просто охуеть. Среди новичков есть два типа долбаебов -- ботоебы и парсеры. Но ботоебы хотя бы законы не нарушают
>>32527

> Я на плюсах пишу


F

> попросили на фастапи написать апишку, потому что кодер, который это делал уехал в грузию лол


Написал?

> Сказали щас все апишки на этом пишут


Кто сказал? Почему он говорит за всех? Какой у него опыт перекладывания жсонов? Проекты из какой сферы он делал?

> нах вообще эта штанга нужна?


Ну, тебе говорят сделатьдля эндпоинта номенклатур фильтр по контрагенту, для которых он были поставлены, фильтр по коду номенклатуры, фильтр по имени с датой и поиск по наименованию. На штанге с дрф это минут 5 займет. На условном фастапи полдня. Если твой сайт сложнее, чем парикмахерская с записью, но проще, чем банковское приложение и при этом в известном смысле типовое, то лучше варианта, чем штанга+дрф нет ничего на любых языках погромирования. Это факт и пистон именно за счет этого взлетел
355 2332632
>>32630
Пчел, если ты наслушался охуительных историй про то, как челы пиздели про годы опыта погромистом и их с нуля брали мидлами, то это пиздеж, если что. Тебя спалят и ссаными тряпками погонят. Если же у тебя есть пара лет опыта и ты припиздел, что еще года два на фрилансе сидел, то всем поебать
356 2332634
>>32632
Я не пиздел про опыт ИТшный, у меня именно не совпадает нерелевантный опыт до ИТ, хуй знает как я так даты сдвинул, резюме ваще было тестовое, но именно оно и проканало. В том резюме я совместил 2 работы в одну, есть условно 2 года записи в трудовой, а других 2 лет нету, потому что была другая контора и она не оформляла официально.
Вот ща ХР подумает, ага, "Напиздел, че он делал 2 года?"
357 2332648
>>32634
А да забей вообще, всем максимально поебать что ты делал до айти. Про трудовую можешь сказать, что просто неофициально работал. Если поебать, то можешь сказать, что проебал трудовую. Тебе сразу электронную оформят и все. Еще можешь на собесе, кстати, прям так и сказать, что типа запутался чутка и хуйни понаписал про опыт, думал потом поправить, но забыл.
358 2332656
>>32631

>Джанго


> Синхронный фреймворк в 2022


Как у вас там в 2012-м?
359 2332662
>>32648
В том и прикол, что собес уже был, скоро на испытательный выходить.
Не знаю что делать, сказать что контора перевела на договор гражданского характера, потому что они в течении тех 2 лет меня переоформляли в трудовой на другого работодателя или сходу сказать что я проебал трудовую и тот стаж мне не нужен.
Хз...
360 2332668
>>32656
Что выведет этот код и почему?
https://www.codepile.net/pile/g8JxqKnQ
>>32662

> В том и прикол, что собес уже был, скоро на испытательный выходить.


> Не знаю что делать


Забить хуяку

> сказать что контора перевела на договор гражданского характера, потому что они в течении тех 2 лет меня переоформляли в трудовой на другого работодателя


Блять, ты чего так нервничаешь? Тебя взяли из-за того, что ты пиздец какой жесткий чел был до вката или что?

> или сходу сказать что я проебал трудовую и тот стаж мне не нужен


Да блять просто забей, если так волнуешься, то скажи, чтобы просто электронную трудовую тебе оформили. Я просто сказал, что трудовая проебаласьа она на самом деле проебалась и мне новую завели в электронном виде
361 2332671
>>32668
Ты time забыл заимпортить
362 2332674
>>32671
Поправил и тем не менее, что будет выведено на экран и почему?
363 2332679
>>32674
10 сек, потому что есть await gather(foo(), foo())
364 2332680
>>32679
А чем gather отличается от create_task и почему с gather код выведет 5, а без него 10? В чем космическая разница?
365 2332690
>>32680
Потому шо в gather loop бегает по всем переданным рутинам и чекает статус, а так сначала ждёт одну, потом другую.
Я молодец?
366 2332703
>>32690

> Потому шо в gather loop бегает по всем переданным рутинам и чекает статус


Не совсем, gather сначала превращает корутины в таски, а уже потом просто ждет, пока все не выполнятся. Можно даже доступ к футурам получать в момент того, как они выполнятся, а не ждать сразу всех, через генератор as_complited, если есть возможность поочередно обрабатывать результат, а не только все вместе и сразу

> а так сначала ждёт одну, потом другую


Нет, create_task запускается в бэкграунде и если не перехватить ссылку на результатне запихнуть результат вызова create_task в переменную, если проще и не сделать await таски для получения результата, то она просто выполнится и все.
Если что я по памяти говорю и где-то в мелочах может обсер быть, наверное

> Я молодец?


На самом деле, да. У тебя вполне себе нормальные знания асинка, большинство не могут понять почему 10 секу выполняется, а не 5, а ты не просто знаешь почему, но и во внутрянке чутка понимаешь. Так что если ты писал про использование синхронного фреймворка в 2022 году, то я могу пояснить по этому вопросу. Просто там довольно много пояснять и мне всегда пиздец впадлу вкатунцам с ASYNC GOES FASTA что-то писать, бисер перед свиньями и все такое
367 2332716
>>32703
Да дело то порой даже не всегда в скорости. Вот мне надо в бэкграунде раз в 10 сек делать запрос или слушать сокет или еще какую хуету. В асинке я просто по запуску сервера засовываю корутину в таск с циклом. Что я делаю в другом случае? Тяну ёбалибу? Celery-хуелери и вот это всё.
368 2332723
>>32716

> Да дело то порой даже не всегда в скорости


Действительно, не только в ней. У асинка есть два огромных плюса. Прям два нереальных здоровенных плюса:
1. Тредсейф
2. Возможность переключаться между контекстом только тогда, когда этого хочет погромист. Это в среднем дороже, чем переключение между тредами, но в случае долгого ожидания, 90% переключений тредов улетает вникуда

> Вот мне надо в бэкграунде раз в 10 сек делать запрос или слушать сокет или еще какую хуету. В асинке я просто по запуску сервера засовываю корутину в таск с циклом. Что я делаю в другом случае?


Создаешь тред с циклом, в чем проблема-то? Вот пример
https://www.codepile.net/pile/1p4ND1mE

> Celery-хуелери и вот это всё


Блять, селери для бэкграундных тасок такого уровня это абсурд. Селери используется когда у тебя есть очереди. Например, пользователь сделал заказ и ты отправляешь этот заказ сначала на склад для оформления, потом в сервис уведомлений о том, что заказ собран, потом в курьерскую службу и так далее. Чтобы в этом говне не запутаться и чтобы у тебя какая-то из этапов от нагрузки не охуел и заказ в процессе работы не проебался по пути, если сервис упал какой-то, Celery и нужен. Для просто опроса сокета это оверкилл невероятный
369 2332769
>>32668

>Я просто сказал, что трудовая проебаласьа она на самом деле проебалась и мне новую завели в электронном виде


И че прям ничего не спросили? Можешь сказать примерно свою речь и как ты это говорил?
370 2332771
>>32769
Ну я принес военник, паспорт и снилс. Мне сказали что-то типа "А трудовая?" Я сказал, что проебалась где-то, могу новую чистую купить. Мне сказали "Забей, давай электронную сделаем, подпиши ток вот здесь заявление". Я сказал, что типа заебись, только выиграю и подписал
371 2332848
Всем привет.
Изучаю тут DRF, делая говносайтик. И вот я вроде понимаю как оно работает, но башка пухнет от того, что я не могу придумать, как бы поэффективнее проектировать апи.
Вот например у меня есть какой-то магазин. Есть модель товара со вссякой информацией, в которой есть поле типа "бренд", связанное с таблицей брендов, в которой тоже несколько полей, типа название, описание, производитель, а производитель - это тоже внешний ключ к таблице производителей, в которой тоже пара полей. Ну и на странице товара я бы хотел отображать несколько полей из бренда и производителя. То есть мне нужно написать сериалайзер для товара, где для поля бренда и производителя задать сериалайзеры бренда и производителя, отображающие нужные поля из этих таблиц, чтобы я одним запросом получил всю нужную информацию, да?
Но в то же время я например на странице бренда хотел бы отображать список товаров этого бренда. То есть мне теперь ещё нужно написать и ещё один сериалайзер бренда где теперь для нужных полей товара написать ещё один сериалайзер товара. Это норм? Столько сериалайзеров писать?
Я прост как понял из документации, есть для рилейтед полей готовые только всякие сериалайзеры для там айди, слага, урла, то есть которые для каждой рилейтед записи только что-то одно возвращают.
Или можно на странице бренда использовать сериалайзер, возвращающий например айди рилейтед товаров и для каждого товара уже делать запрос к сериалайзеру товара? Наверное так не круто, да? Типа придется кучу запросов делать вместо одного.
372 2332852
>>32848
Ну в общем получается что я для каждой страницы на сайте пишу по сериализатору для каждой таблицы в бд, чьи данные будут отображаться на данной странице. Или же лучше написать по простому сериализатору для каждой таблицы и делать много запросов? Прост это я ещё про создание, изменение, удаление не думал. Ещё наверное придется написать кучу сериализаторов, потому что те, что есть не все поля затрагивают как бы.
373 2332857
>>32848
Блять, ты ебанулся? У тебя штанга орм оптимизирует все вызовыкроме релейтед бд и отправляет их в виде одного запроса. Если хочешь заморочиться, то можешь в квери вьюхи сделать query.select_related(brand__producer), чтобы сразу получить все значения. А сериалайзеры советую не использовать одинаковые в разных апишках, лучше бойлер плейт нахуячить, чтобы у тебя добавление одного поля не ломало фронт в других местах
374 2332887
>>32857
Не оч понял.
В общем, лучше делать на каждую страницу сайта свой набор сериалайзеров так, чтоб он выдавал всю нужную на этой странице инфу за раз, да? А то, что у меня дохера сериализаторов будет ну и насрать.
image.png14 Кб, 891x235
375 2333060
Здравствуйте. Задумался о том, что мне нужен автокликер и решил по первому гайду из гугла скопипастить что-то похожее. И в первом же шаге успел где-то обосраться. Помогите, анончики. Сразу оговорюсь, что я не прогер и вообще никак с этим всем не связан.

Сам гайд: https://pythobyte.com/python-auto-clicker-24697/
376 2333065
>>33060
Нах ты это в интерактивном режиме пишешь? Пиши в консоли

А еще лучше поставь себе wsl2
image.png3 Кб, 480x47
377 2333073
>>33065

>Пиши в консоли


В командной строке? Первый шаг сработал там, но теперь не работает второй лол.

>wsl2


Загуглил, выдало какие-то штуки для запуска линуксопрог на винде. А зачем?
378 2333093
>>32631
Я не парсер делаю, а нечто другое.

>>32620
Спасибо, дело двинулось немного, но опять встрял.
Вот это дело

>spisok = [int(el) for el in item_price_forall_stripped]


берет последнее значение из item_price_forall_stripped и его разбивает на части еще. То есть, если последнее число в item_price_forall_stripped - 13.65, то print(spisok) выведет вот такое: ['1', '3', '.', '6', '5']
И, кстати, по этому же поводу, int(el) не катит. Выбивает ошибку >ValueError: invalid literal for int() with base 10: '.'
379 2333105
>>32716

>Да дело то порой даже не всегда в скорости. Вот мне надо в бэкграунде раз в 10 сек делать запрос или слушать сокет или еще какую хуету.


Не очень понятно, что за задача в плане логики.

У тебя здесь предполагается несколько логических ветвей исполнения. Когда есть одни ветви, которые что-то делают, есть другие, которые слушают сокет. И тебе надо как-то строить логику, что происходит, когда данных нет, и что происходит, когда они появляются.

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

Логика синхронизации строится схожим образом, ты можешь использовать схожие примитивы синхронизации. Например одна ветвь может ждать данных из других ветвей слушая очередь. Или иные примитивы.
380 2333108
>>32857

>У тебя штанга орм оптимизирует все вызовы


Ох если бы... Если бы так, а не делала сто запросов вместо одного, если чуть бдительность потерять.
381 2333115
>>33073

>А зачем?


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

Насчет второго шага - создаешь файл с расширением .py и там пишешь свою хуйню, потом запустишь его питоном.

Пиздец, ты бы хоть туториал сначала прочел какой по пистону.
382 2333117
Питон норм как первый язык?
Или в нем нет многих понятий, которые есть в Джаве например?
Можно ли на нем освоить ООП?
Сам синтаксим мне нравится, нет этих ебучих скобочек.
383 2333123
>>33117

>Питон норм как первый язык?


да, более чем

>Или в нем нет многих понятий, которые есть в Джаве например?


каких-то понятий нет, но в основном всё есть

>Можно ли на нем освоить ООП?


можно, но не такое кондовое, как возможно на Java/C++. На питоне ООП проще. Если цель стать монстром ООП, то надо в компилируемые языки лезть, во все эти иерархии интерфейсов.
384 2333194
Сколько нужно изучать нейросети, чтобы написать себе тяночку?
image.png69 Кб, 1288x634
385 2333279
Как можно покрасивее нарисовать такой график?
386 2333472
Сап, двач.

Примерно месяц изучаю программирование, взял немного питона.

У меня в общем на данный момент примерно вот такой расклад
если кратко:

Питон - базовые понятия, там циклы, переменные, кортежи, списки, стринги, ветвления, функции, парсинги, регулярки.

СКЛ - запросы, джойны, манипуляции

Прикладное - винда, post/get и всякие веб-запросы в базе, гит, понимание всякой болтологии по аджайлу-скраму,

Ну и в целом, я довольно неглупый чел, я знаю, как гуглить, умею с дюдьми говорить, вливаться там во всякое, быстро схватываю всё. На данный момент работаю не в ойти в суперстабильной зоне комфорта, получаю 250к дерева в месяц, но хочу стать пидарасом программистом, просто потому что это мне ближе по духу, я эникейщик и анальник.

Друзья говорят, мол, иди уже на джуна пробуйся, по ходу дела разберёшься. Можно? Всякие там стандарты говорят, что надо по полгода-год учиться и всё такое, я за месяц 3 петпроекта наклепал, простеньких, но работающих, и мне реально вроде всё +- понятно, всё что непонятно, гуглю и становится понятно, не вижу смысла дрочить теорию, может реально практиковаться?

Опусти на землю плиз, спасибо.
387 2333531
>>33472
Иди, что ты теряешь-то?
388 2333533
>>32602
Я может что-то не понял, но как у тебя в переменной 7 значений? Переменная - это список? Вроде метод soup.find_all() возвращает список. Зачем из списка делать список?
389 2333535
>>32602
Читаю дальше и охуеваю. Ты пробежался циклом for по списку и каждый раз присваивал значение элемента списка переменной find_price_for_all_stripped? Тогда у тебя сейчас в этой переменной лежит только последнее значение из этого списка (например 13.65) типа string.
И когда ты пытаешься в список ее воткнуть, итератор воспринимает el не как элемент списка, а как символ (char) из строки (string), соответственно и формирует список из этих символов....
И да, int не подойдет, это же целое число, а у тебя float тип должен быть... ох.
390 2333537
>>33472
Ты готов с 250к на 100к даунгрейднуться?
391 2333540
>>33535
Забей, я пытался понять, что он хочет, но ну его нахуй продираться через такие путанные объяснения.
392 2333554
>>33540
>>33535
>>32602
Короче, я кажется понял. У него есть список, но значения в нем кривые, и он хочет обрезать их методом .strip(). Тогда надо вот так:
stripped_list = [s.strip() for s in krivoy_spisok]
И да, переменные надо бы как-то покороче называть, я даже не хочу переписывать их имена
393 2333585
Можете объяснить новичку, что делать, если в скрипте будут использоваться модули, которых может не быть на другой машине? Прописывать установку через pip через subrocess.call?
394 2333592
>>22452
если такая задачка не дается, то да, дальше будет только хуже
395 2333595
>>23747
просто надо генерить дохуя длинные числа

>>> from random import randint


>>> randint(0, 1<<128)


9491303731890632928458197468757226877
396 2333596
>>33595
Все равно есть вероятность.
397 2333599
>>23747
А из какого множества генерятся? А какое распределение нужно? А сколько памяти доступно?
Гарантированный способ - задать заранее множество чисел, из которого будешь генерить, а потом запоминать, что уже сгенерилось, и выкидывать из этого множества. Хорошо работает, если надо сгенерить 100 или 1000 чисел, плохо - если 2ккк.
Можешь попробовать сначала генерить, а потом решать коллизии.
1613942278657.png21 Кб, 165x369
398 2333628
Пишу крестики нолики. Как сделать, чтобы не съезжали колонны?
399 2333653
Поясните пожалуйста, в чём разница между

for i in range b:
__print(a)
else:
__print(b)

и

for i in range b:
__print(a)
print(b)

Проще говоря, на кой вообще нужен else в связке с циклом for?
400 2333672
>>33653

>Проще говоря, на кой вообще нужен else в связке с циклом for


Голову если включить, то ни на кой. Else - дословно "иначе", это только для if (если) и на питоне еще для while (пока). For - это итератор, т.е. перебор значений по порядку, и никакого "иначе" там не подразумевается
401 2333680
>>33628
А ты код покажи, который их отрисовывает. И как туда крестик или нолик попадает. Тогда может и сам поймёшь, а если нет - может здесь кто-то поймет
402 2333681
>>33653
Если итератор пустой.
1634229425365.png90 Кб, 557x205
403 2333687
404 2333691
>>33672
>>33653
Ошибся, признаю. Но не пустой итератор. Else можно использовать, чтобы определить блок кода, который будет выполняться, если итератор нормально завершил работу, т.е. не был прерван командой break.
405 2333693
>>33628
Используй тернарный оператор для вставки.
406 2333696
>>33653
Твой код даст одинаковый результат, поэтому его так не применяют. В for ставят условие if и break, чтобы else не сработало, ну или если else сработало - значит, так и надо было, например подтвердилось, что не возникло то самое условие в блоке if
407 2333705
>>33687
А если в desk_nums указать не пустые строки, а с одним пробелом заранее? Тогда при отрисовке символа он заменит собой этот пробел и ничего не съедет
408 2333708
>>33705
Да, спасибо, я затупил.
409 2333767
>>33687
Чел, почитай лучше, как делать форматирование строк. F-строки - охуенная тема, но тебе этого недостаточно.
410 2333768
>>33585
requirements.txt
411 2333789
>>33767
Я уже написал крестики нолики, проблема заборена.
412 2333811
Внимание, у меня сложная задача, моих джуновских знаний не хватает...
Есть множество сервисов, с которых я по хетапе дергаю или парсю данные, и есть множество клиентов, которые хотят принимать эти данные
Один клиент может подписаться сразу на несколько сервисов и со всех бэкграунд тасками получать интересующий его контент (например - картиночки с определенными тегами из одного сервиса, анекдоты про пупу и лупу с другого)
Как архитектурно спроектировать такую залупу систему?
413 2333812
>>33537
Да, готов, ведь на свои 250к я почти 10 лет работал, причём работа максимально душная, унылая и скучная, а в айти можно в течение 2-3 лет дойти до 250к.
414 2333845
>>33811
Кафка
415 2334012
>>33811
В каком виде получать? Как именно получать? Какие требования к скорости получения? Какая нагрузка? Ты рофлишь что ли? Опиши тз нормально так как любое архитектурное решение строится исходя из требований, а не по ключевым словам
>>33472

> я за месяц 3 петпроекта наклепал, простеньких, но работающих


Ну так ты мб их скинешь? И месяц в любом случае мало, если ты хотя бы не мидл на другом стеке. Есть некоторый набор подходов, паттернов, которые просто нужно знать, даже если у тебя хороший бэкграунд. Но быть может всякое, так что ты петпроектики скинь, а я скажу готов ты или нет. Но ток если там не спизженный код, хотя это спалится быстро и очень легко
416 2334021
Гуманитарий на связи, вопрос про tensorflow

Попалась мне в руки портабл нейронная сетка которая делает полезное, там всё удобно, батники всякие, для работы очень пригодилось бы. Обучена под одну задачу. Обучение под свою тоже расписано как делать, но есть проблема. Питоний прожект собран под CUDA 11, судя по отсутсвующим библиотекам, которые он хочет чтоб были, чтобы задействовать для обучения видюху. Видюха есть, но она в компе со спермой 8.1. Сейчас правда нет времени апать систему только ради 11й куды. Вопрос - можно ли наколхозить более-менее свежую CUDA на 8.1, и можно ли пересобрать сетку на старом тензорфлоу со старой кудой, и что проще
417 2334096
>>34012
Под пет-проектами я подразумеваю что-то типа 100 строк кода для выполнения простенькой задачи, я ж не имею ввиду, что у меня серьёзное приложение готово.

> если там не спизженный код


по факту спижженый, но это как, например, я сам не знал, что списки можно формировать функциями уровня [iterator for iterator in list if iterator = condition] и формировал эту хуйню аппендами в списки, а потом подсмотрел где-то конструкцию и взял себе.

И ещё есть кусок начисто пизданутый со стака, которым я обошёл, например, дрочево с SSL при скальпинге. Друзья говорят, что это норма, пытаться изобретать велосипед иногда нужно, но нужно и уметь срезать углы, ну то есть, как-то

Если реально, можешь сказать, черкани на тг
@eat_me_alive

Буду благодарен, хотя очень неудобно просить тратить ценные время и силы на таких ранних этапах, я так-то ни в коем случае не выёбываюсь.
418 2334103
>>34096

> Под пет-проектами я подразумеваю что-то типа 100 строк кода для выполнения простенькой задачи


Да и бог с ним, 100 строк так 100 строк

> по факту спижженый, но это как, например, я сам не знал, что списки можно формировать функциями уровня [iterator for iterator in list if iterator = condition]


В смысле? Ты "спиздил" идею компрехеншенов? Ну это хуйня уровня спиздил идею функций. Или ты о другом?

> формировал эту хуйню аппендами в списки, а потом подсмотрел где-то конструкцию и взял себе


Компрехеншен далеко не всегда лучший вариант, зачастую лучше нахуячить цикл с аппендами. Вопрос в читабельности

> И ещё есть кусок начисто пизданутый со стака, которым я обошёл, например, дрочево с SSL при скальпинге


Я даже не знаю о чем ты лол

> Друзья говорят, что это норма, пытаться изобретать велосипед иногда нужно, но нужно и уметь срезать углы, ну то есть, как-то


Правильно говорят

> Если реально, можешь сказать, черкани на тг


Блин, пчел, ну разве так трудно гитхаб скинуть? Ну ладно, мб завтра отпишу, если не забуду. Сейчас я спать уже, +4 по мск

> Буду благодарен, хотя очень неудобно просить тратить ценные время и силы на таких ранних этапах, я так-то ни в коем случае не выёбываюсь.


Да я и так свое время сжигаю, тратя его на то, чтобы помочь другим в чем-то разобраться. Мне это удовольствие приносит, так что забей
>>33653
Обычно используют при поиске чего-то в списке
list_with_numbers = [1, 22, 13, 24, ...]
for number in list_with_numbers:
----if number == 0:
--------print('Zero in list')
--------break
else:
----print('No zero in list')
Без else пришлось бы промежуточную переменную с флагом вводить и было бы не так красиво:
list_with_numbers = [1, 22, 13, 24, ...]
zero_found = False
for number in list_with_numbers:
----if number == 0:
--------print('Zero in list')
--------zero_found = True
--------break
if not zero_found:
----print('No zero in list')
Короче, такой синтаксический сахар для более лаконичного кода
418 2334103
>>34096

> Под пет-проектами я подразумеваю что-то типа 100 строк кода для выполнения простенькой задачи


Да и бог с ним, 100 строк так 100 строк

> по факту спижженый, но это как, например, я сам не знал, что списки можно формировать функциями уровня [iterator for iterator in list if iterator = condition]


В смысле? Ты "спиздил" идею компрехеншенов? Ну это хуйня уровня спиздил идею функций. Или ты о другом?

> формировал эту хуйню аппендами в списки, а потом подсмотрел где-то конструкцию и взял себе


Компрехеншен далеко не всегда лучший вариант, зачастую лучше нахуячить цикл с аппендами. Вопрос в читабельности

> И ещё есть кусок начисто пизданутый со стака, которым я обошёл, например, дрочево с SSL при скальпинге


Я даже не знаю о чем ты лол

> Друзья говорят, что это норма, пытаться изобретать велосипед иногда нужно, но нужно и уметь срезать углы, ну то есть, как-то


Правильно говорят

> Если реально, можешь сказать, черкани на тг


Блин, пчел, ну разве так трудно гитхаб скинуть? Ну ладно, мб завтра отпишу, если не забуду. Сейчас я спать уже, +4 по мск

> Буду благодарен, хотя очень неудобно просить тратить ценные время и силы на таких ранних этапах, я так-то ни в коем случае не выёбываюсь.


Да я и так свое время сжигаю, тратя его на то, чтобы помочь другим в чем-то разобраться. Мне это удовольствие приносит, так что забей
>>33653
Обычно используют при поиске чего-то в списке
list_with_numbers = [1, 22, 13, 24, ...]
for number in list_with_numbers:
----if number == 0:
--------print('Zero in list')
--------break
else:
----print('No zero in list')
Без else пришлось бы промежуточную переменную с флагом вводить и было бы не так красиво:
list_with_numbers = [1, 22, 13, 24, ...]
zero_found = False
for number in list_with_numbers:
----if number == 0:
--------print('Zero in list')
--------zero_found = True
--------break
if not zero_found:
----print('No zero in list')
Короче, такой синтаксический сахар для более лаконичного кода
419 2334250
Вопрос к тем кто работает с фласком. Как вы пишите апи? Я сейчас сижу на джанге, но есть желание изучить фласк. Не могу понять вы вообще пишите class based views или у вас все на функциях? И как пишется нормальное апи? Я привык к drf где очень удобная система с сериалайзерами и вьюхами, апи пишется очень быстро, как это происходит у вас?
420 2334252
>>34250
Алсо такой же вопрос к работягам на FASTAPI, как у вас принято писать? Какой способ предпочтительнее на функциях или на классах через fastapi utilities?
421 2334258
>>34250
Ты вообще не гуглил? Пишут как удобно и принято в проекте. Я пишу через классы
https://flask.palletsprojects.com/en/2.1.x/views/
422 2334316
Ананасы, подскажите, я совсем тупой или да?
Чего он ругается?
Делаю форму для авторизации в джанге
423 2334346
Задачка от Жака Фреско:

У некой сущности Event есть дата expiration, когда она случается, Event должен выполниться (некий коллбек должен выстрелить) как это сделать в рамках питона? Самое тупое и очевидное - запустить некую процедуру по CRON, которая будет запускаться скажем раз в минуту (при помощи celery например) и проходить по всем объектам Event, какие удовлетворяют условию по expiration - выполняются. Но что делать если таких ивентов в системе - дохрена? Мы каждую минуту запускаем скрипт который неслабо будет тормозить систему, есть ли более адекватный подход? Чтобы не бегать циклами по всем Event, а выстреливать им ровно тогда, когда пришло время?
424 2334354
>>34250

>вы вообще пишите class based views или у вас все на функциях


Мы пишем на drf и к нему привязываем swagger. drf удобнее именно с ViewSet и ApiView
но это не отменяет того факта, что я ебал рот джанги
425 2334359
>>34103

> Ты "спиздил" идею компрехеншенов?


Ну в каком-то роде да.
Мне друг кидал задач уровня "сделай так, чтобы строка задом наперёд написалась" с условиями без библиотек и без готовых решений, типа это как раз проверочка на понимание структуры и логики. Там можно за 1 секунду с либой сделать что-то, а надо просто базовый синтаксис и переменные. Вот тот же компрехеншон это уже относительно готовая конструкция и паттерн, так что дефакто спизженный, не я ж сам додумался.

>разве так трудно гитхаб скинуть


ананас биглион диванон, во-первых, во-вторых, я коммичу на локалке, на гитаб ещё не лил

>Да я и так свое время сжигаю, тратя его на то, чтобы помочь другим в чем-то разобраться.


Храни тебя Аллах от бед и невзгод, святой человек
image.png11 Кб, 621x111
426 2334362
>>34359

>сделай так, чтобы строка задом наперёд написалась" с условиями без библиотек и без готовых решений

427 2334367
>>34362
Заорал с тебя.
мимо-валлиец
428 2334368
>>34359

>Мне друг кидал задач уровня "сделай так, чтобы строка задом наперёд написалась" с условиями без библиотек и без готовых решений, типа это как раз проверочка на понимание структуры и логики


Ну это питоновский мемасик, тест на то, ты питон-хипстер или нет
"some string 123456"[::-1]

В быту вряд ли такой функционал со строками нужен, поэтому можно и не знать. Хотя в целом списки иногда может быть полезным обращать.
429 2334371
>>34362
Спасибо за уделённое время. Оставьте HR свой номер телефона для контакта.
430 2334378
>>34346
Есть еще одно решение - при создании ивента регистрировать его в некому sheduler, который выполнит его по истечении времени, внезапно в питоне даже есть либа для этого:
https://docs.python.org/3/library/sched.html (только пока не ебу что у нее под капотом)

Надо передать объекту scheduler задержку в секундах и нужная функция исполнится, но вот загвоздка - что будет если сервак остановится? Например упадет. Все зарегистрированные ивенты тупо исчезнут
431 2334383
>>34371
Я пожалуй тебе его оставлю. Когда захочешь - позвони, скажу куда подъезжать - я там тебе смачно пятак обоссу
8-800-333-10-60
432 2334387
>>34346
>>34378
Лучше всё-таки пользоваться чем-то более зрелым и современным, например asyncio. Sched это зачаток event-base архитектуры.

Но надо сначала с архитектурой разобраться. Например что делать, если в момент эвента скрипт уже выполняет какую-то тяжёлую задачу?

В общем случае только ждать приходится.

Ещё есть всякие сигналы, но довольно хитрая штука и больше для линуксов. Там и таймауты есть в том числе, в линуксах по крайней мере.
433 2334392
>>34378
Посмотрел сурс-код
Вердикт: полностью синхронное говно, написанное на коленке. Можно постараться улучшить его, запустим scheduler.run() в треде, однако когда он сдохнет (ивенты в нем закончатся), придется создавать новый
434 2334395
>>34346
>>34378
А ещё, если по каким-то причинам нужно своё решение, например если ты уже работаешь внутри какого-то фреймворка, то надо смотреть на паттерн PriorityQueue, в питоне есть поддержка.

Идея в том, что создаётся очередь, где элементы сортируются по полю time, время, когда надо сработать. Ты смотришь вершину этой очередь, если в вершине эвент, который должен сработать, то выполняешь его. Если нет, то ждёшь какое-то время и снова проверяешь вершину.

Но вопрос в том, как здесь не блокироваться при ожидании и т.п. В любом случае будут или треды, или asyncio, или ещё что.
435 2334401
>>34395

>В любом случае будут или треды, или asyncio, или ещё что


Посматривал в сторонe celery - там есть и очередь и воркеры, которые выполняют задачки в других процессах, а значит не блочат мейн тред даже на CPU-bound задачах. Пока не совсем ясно только че делать. Подозреваю лучшее решение это гибрид asyncio (шедулер) и celery (таска будет исполняться через celery_task.delay())
image.png70 Кб, 1219x459
436 2334432
>>34401
Только надо такие таски в БД сохранять, чтоб в случае если celery сдохнет, при перезагрузке их снова засунули куда надо
437 2334463
>>34250

> Я сейчас сижу на джанге, но есть желание изучить фласк


Это будет больно, архитектура штанги говно специфичная и обычно пишут по другому

> Не могу понять вы вообще пишите class based views или у вас все на функциях?


Так же как и в штанге -- такая возможность есть, но ее почти никто не использует

> И как пишется нормальное апи?


Пишется нормально. Что за дебильный вопрос?

> Я привык к drf где очень удобная система с сериалайзерами и вьюхами


Удобная? Говно хуйни из жопы только для того, чтобы магия работала. Но если делаешь шаг в сторону, то это превращается в ад

> апи пишется очень быстро


Пишется быстро, если ты уже работал с дрф и понимаешь для чего его не стоит использовать и не используешь его там, где это превращается в ад
>>34346
При инициализации приложения пробегаешься по бд и создаешь очередь сортированную по дате, проверяешь в отдельном потоке только дату истечения последнего элемента
>>34359

> Мне друг кидал задач уровня "сделай так, чтобы строка задом наперёд написалась" с условиями без библиотек и без готовых решений, типа это как раз проверочка на понимание структуры и логики


Вот этот прав >>34368 , этот долбаеб и несет хуйню >>34362 А вообще, полезно еще знать, что some_list[:] копирует список, а не создает еще одну "ссылку"на самом деле еще 1 имя, но это нюансы на него же
>>34387
Ты не понимаешь как асинк работает, да?) Кроме того, что асинк тебе не гарантирует нифига, так еще и если там блокирующие операции будут, то твое говноприложение просто намертво зависнет
>>34401
Блять что у вас нахуй за фиксация такая ебаная на этом celery? Вы вообще понимаете, что celery нужен для распределения бэкграундных задач по очередям с приоритетом, а не для того, чтобы раз в 10 секунд жсон переложить?
438 2334468
>>34463

>чтобы раз в 10 секунд жсон переложить


Шиз, ты вообще другие таски кроме перекладывая жсонов знаешь?
Думал о том что это может быть заточенная под интенсивные вычисления задача? Или что она должна стрелять раз в несколько дней, но стрелять ровно минута в минуту (а то и секунда в секунду)?
439 2334486
>>34468

> Шиз, ты вообще другие таски кроме перекладывая жсонов знаешь?


Знаю, а что?

> Думал о том что это может быть заточенная под интенсивные вычисления задача?


И что? Как из этого следует, что необходимо брать celery? Я тебе больше скажу, в доке по celery черным по белому написано, что долгие и высоконагруженные таски это не то, для чего celery рассчитан и они могут просто так умирать. И таки умирают

> Или что она должна стрелять раз в несколько дней, но стрелять ровно минута в минуту (а то и секунда в секунду)?


И как это связано с celery? Ты ебанутый?
440 2334511
>>34486

>долгие и высоконагруженные таски это не то, для чего celery рассчитан


Как ты эту "долгость" определяешь? У нас на Сбере есть обработка видео и картинок, довольно внушительный трафик, селери спокойно режет/форматирует видосы и картинки без напряг

>И как это связано с celery


Учи матчасть, прежде чем вумные комменты писать
441 2334512
Есть два словаря.
Ключи их равны между собой.
Надо сделать, чтобы значения первого словаря стали ключами со значениями в виде значений второго словаря.
Это можно сделать без генераторов/циклов?
Есть в питоне готовые функции для подобного маппинга?
442 2334539
>>34511

> Как ты эту "долгость" определяешь?


Все что дольше минуты уже не очень хорошо

> У нас на Сбере есть обработка видео и картинок, довольно внушительный трафик, селери спокойно режет/форматирует видосы и картинки без напряг


Вот это пиздаболия, у меня на проекте рендеринг видосов вызывал падения воркеров регулярные. Пришлось перезапускать воркеры после каждой таски и ловить кучу "weird errors", как высказался один из мейнтейнеров celery. А ты тут пиздаболию разводишь, что у тебя celery даже не напрягся. Бтв Сбер ебаный финтех со всеми вытекающими, так что даже если ты там работаешь и не являешься дохуя архитектором с нормальным доступамиа ты им очевидно не являешься, то абсолютно не в курсе как celery с чем-то справляется и не приходилось ли там активно приседать разрабам, чтобы заставить это нормально работать

> Учи матчасть, прежде чем вумные комменты писать


Ты бы хоть не позорился и хуйню не нес, прежде, чем такое писать
>>34512

> Это можно сделать без генераторов/циклов?


Нет

> Есть в питоне готовые функции для подобного маппинга?


Нет

> Есть два словаря.


> Ключи их равны между собой.


> Надо сделать, чтобы значения первого словаря стали ключами со значениями в виде значений второго словаря.


result = {dict_one[key]: dict_two[key] for key in dict_one}
443 2334695
>>34512

>Есть в питоне готовые функции для подобного маппинга?


Братиш, конечно есть

>import quedar


>result = quedar.bao_dupo(dict1, dict2, copy=False, grip=None)

444 2334714
>>34695
Это левая либа, а не питон. И без нее банально проще и короче получается
445 2334715
>>34714
А ты вообще тупой, оказывается.
446 2334733
Как в matplotlib сделать, чтобы по оси Y рисовалось как минимум 3 черточки, начиная с нуля? Я непонимат, как эти MaxNLocator-ы работают.
447 2334737
>>34733
Используй seaborn, наверняка там с этим проще.
448 2334738
>>34695
Какой-то испанский юмор.
449 2334744
>>34738
Написл от балды слово, оказывается на испанском написал
450 2334808
Посоны, как чинить:
ModuleNotFoundError: No module named 'psutil'
п
При запуске одного комбайна. Установил psutil уже куда только можно, все равно не видит. Как вообще такое дебажить, почему ебаный питон не хочет видеть либу?
451 2334810
>>34737
Троллишь? Это тот же matplotlib.
452 2334859
>>34808
Иногда дает сбой наличие кириллицы в пути к файлу, особенно если через левую IDE запускаешь. Чекни этот момент
453 2334911
Сап. Я самоучка, сейчас изучаю основы ООП и начинаю изучать енглиш. Вопрос такой, где брать практику? Как понимаю, в вузах дрочат лабами и задачками, а я не знаю где что и как. Периодически решаю задачи с кодварса, нахожу всякие курсы для вката с заданиями(чтоб синтаксис не забыть). Еще Лутца стал изучать.
Двигаюсь в сторону бэкэнда и серверного программирования(вроде это не одно и то же), нашел статью про написание самых простых серверов на python, пытаюсь с пониманием механики просто набивать руку. Не знаю, есть смысл или нет в этом.
454 2334917
>>34808
Ты код мб скинешь и полную ошибку? Это может быть все что угодно, начиная от того, что ты не тот питон дергаешь и заканчивая тем, что у тебя PYTHONPATH наебнулись
>>34911

> Сап. Я самоучка, сейчас изучаю основы ООП и начинаю изучать енглиш. Вопрос такой, где брать практику?


Придумываешь что бы ты сам хотел сделать и начинаешь реализовывать

> Как понимаю, в вузах дрочат лабами и задачками, а я не знаю где что и как


Лабы и задачки это полезно, но нужно в какой-то момент переходить к проектам уже

> Периодически решаю задачи с кодварса, нахожу всякие курсы для вката с заданиями(чтоб синтаксис не забыть). Еще Лутца стал изучать.


Практика > теория. Примерно 90% практики на 10% теории должно быть
455 2334923
Наверное платиновый вопрос, но подскажите мне самый простой способ арендовать сервер или хз как это называется, чтобы я мог закинуть туда .py файлик и выполнять его, задействуя мощности не своего компутера (чтобы свой компутер я мог выключить и оставить выполняться скрипт на несколько часов-сутки).
Чтобы сейчас на меня никто не злился, я не прошу мне расписать всё пошагово, просто подскажите название технологии или в какую сторону копать. Я только краем глаза слышал про аренду vps серверов и dedicated серверы
456 2334927
>>34923
гугли Heroku

научись сам находить ответы на свои вопросы в интернете. Это главный навык любого айтишного в 21 веке.

ну и RTFM
457 2334947
>>34917

>Придумываешь что бы ты сам хотел сделать и начинаешь реализовывать



Я чекаю хабры и ютубы с пошаговыми написаниями разных простеньких проектов, грубо говоря просто повторяю за гайдом.

>Практика > теория. Примерно 90% практики на 10% теории должно быть



Тут согласен. Я в процессе изучения темы прогоняю все через idle, нахожу задания по теме, решаю.
458 2335107
Анончик, хелп. Я хз как описать проблему.

Есть одна апишка. Сделал для него сессию и прочее. Делаю запрос - уходит в таймаут, т.е просто зависает. Ставлю таймаут 5с - ждёт таймаут и выдаёт ответ, никаких исключений и пр не делает. Ставлю таймаут 1с - тоже приходит нормальный ответ.

Что за херня? Почему он держит соединение открытым? Если делать запрос на другие апи, то всё нормально, сразу ответ.
459 2335114
>>32674
Пчел, ты запустил последовательно (через await) несколько асинк-задач, чего ты ожидал?
Когда у нас несколько запросов от нескольких юзеров, смекаешь что будет?

я в курсе про форки от gunicorn это лишь база чтобы сервак не блочился на обычных реквестах, при возрастающей нагрузке, когда у тебя много хождений в базе/к стороннему апи - не спасет
460 2335133
>>35107
Если речь о хттп, то проверь правильность content-length ответа, если он больше реального тела, то клиент ждет остаток до таймаута.
461 2335172
>>35114

> Пчел, ты запустил последовательно (через await) несколько асинк-задач, чего ты ожидал?


Именно этого и ожидал

> Когда у нас несколько запросов от нескольких юзеров, смекаешь что будет?


Кажется, я даже знаю где ты эту хуйню прочитал лол. Там вся статья переливание из пустого в порожнее, а в конце охуенный панчлайн типа "я не буду рассказывать про футуры и таски, просто типа если несколько пользователей, то все работает заебись быстра". Окей, вот у нас два юзера, через сколько времени оба запроса от юзеров сработают и почему?
https://www.codepile.net/pile/90GP9J4k

> я в курсе про форки от gunicorn


Чиво блять? Какие нахуй форки? Воркеры что ли? Ты ебанулся?

> это лишь база чтобы сервак не блочился на обычных реквестах


Люди до изобретения асинхронности: ждут два часа, чтобы отправить сообщение в вк
Так что ли? Или что за хуйню ты написал?

> при возрастающей нагрузке, когда у тебя много хождений в базе/к стороннему апи - не спасет


Если много недолгих хождений к базе, то асинхронность медленнее обычных тредов, так как прерывания процессора становятся не такими бессмысленными и при этом они намного дешевле, чем переключение контекста функции с помощью генератора
>>34947

> Я чекаю хабры и ютубы с пошаговыми написаниями разных простеньких проектов, грубо говоря просто повторяю за гайдом.


После выполнения простенького проекта по гайду, подумай что бы ты хотел к нему прикрутить и начинай прикручивать. Пока не выйдешь из зоны комфорта, то погромирование не изучишь и будешь рассказывать, что 1 воркер на 1 пользователя выделяется. Помню, как то в чате шарписты шутили, что хайлоад на питоне это выдать по серваку на пользователя. Тут чел не по серваку, конечно, но по ядру на пользователя выделять собрался. Пиздос
462 2335186
Как сделать код, чтобы на ввод любой клавиши выводило строку? На стаке одни костыли из модулей предлагают.
v016.jpg288 Кб, 725x550
463 2335188
Блять, у литкода вообще есть какой-то смысл помимо изобретения велосипедов вроде написания классов для удаления сраных дубликатов?
Прокачивание своих скиллов и понимания это круто, но в работе эти велосипеды нахуй в большинстве случае не нужны, ибо есть уже готовое, отлаженное и более быстрое решение.
464 2335255
>>35133
Пиздец. Даже если он больше что делать-то? Это яндекс такую херню выдает, в его облаке
465 2335256
>>35255
Самое интересное, запросы в постмане нормально проходят, значит дело в питоновской либе
466 2335262
>>35255
Там chunked стоит вместо content-length. Значит надо stream делать? Оно и с ним не работает как надо
467 2335380
>>35262
Точнее, оно с ним не работает совсем.
Дебаг логи на урллиб создает соединение и всё, виснет. Только под конец таймаута он выводит ответ.
Там не файлы, не странички. Там просто маленький json бля. Наверное пока таймауты выставлю, но с этой хернёй надо разбираться, а как гуглить это я хз. Я всего-то метрики хотел вывести в облака скриптом, а тут такая залупа.
468 2335383
Двощ объясни плюочему у меня на ебучем линуксе
При pip install numpy вылезает эта хуйня?

>ERROR: Could not build wheels for pdal which use PEP 517 and cannot be installed directly


я оже обновил эту хуету ( pip) три раза Блять какого хуя? Ебучее дегенеративное говно. Почему Блять эта хуйня не работает?
469 2335385
>>35383
А отбой это просто на 3.9 питон не завезли ещё. Сука а как же там обратная совместимость? Не не слышали?
470 2335428
>>35385
Возможно у тебя редкий дистрибутив под который не скомпилировали wheels ещё
471 2335437
>>35186
Без разных модулей нельзя. Ни в питоне, ни в других универсальных языках.

У тебя нет прямого доступа к клавиатуре, это вообще такая системо-зависимая вещь, в каждой ОС свои нюансы, при разных запусках свои нюансы.

Поэтому смотри на модули разные для этого. Пути обхода есть.
image.png7 Кб, 412x68
472 2335466
>>35172
Блять, у тебя icq 40 что ле?
Ты хоть в курсе как серверы обрабатывают реквесты?
473 2335488
>>35437
Ладно, спасибо. Попробую PyInput.
ВОПРОС В СТУДИЮ Иван Иваныч 474 2335516
Объясните зачем во всяких датасаенсах юзают питон? Так повелось? Что на него уже наклепали кучу библиотек? Проще (из-за синтаксиса) с ВУЗов сразу приступать к делу?
475 2335521
>>35516
Все вместе: его уже все знают, на нем быстро делать хуяк-хуяк и у него человеческий FFI в обе стороны.
476 2335522
>>35516
Проще синтаксис в том плане, что меньше телодвижений на разные действия нужно. Ну и зашкаливающее количество библиотек на все случаи жизни.
477 2335597
>>35516
Потому что на питоне хорошо прототипировать.
А датасатинисты зачастую этим и занимаютсф, проверяя различные гипотезы.
Плюс куча готовых библиотек под задачи.
478 2335614
Здаров котаны. Я мимокрокодил. Просто пришёл к вам за советом.
Я учил программирование сам ещё будучи школьником. Сначала бейсик на zxSpectrum потом уже на ПК пытался в Паскаль (после бейсика было очень тяжело, т.к. этот блядский бейсик отупляет). Пытался в С, но сам с собою просто по книжкам даже без компилятора не вывез от слова совсем.
Сразу скажу - я ни разу не программист. Жизнь по другому сложилась, но я пробовал потом в сознательном возрасте трогать и джаву, и питон.

И вот спустя столько лет (а я довольно стар) я по прежнему считаю, что именно для обучения программированию Pascal подходит лучше всего из того, что я видел.

Строгая типизация.
Чёткая структура программы.
Строгий синтаксис.
"полный" синтаксис классических циклов/ветвлений
Чёткое различие между процедурами и функциями.
Чёткое различие между переменными и указателями.
Есть основы ООП.
Он достаточно простой.

Да, сейчас наверное смешно выглядят все эти Begin\End; но эти знания дают какой-то базис. И начав учить тот-же Питон я сразу понимаю всю(?) ту бездну которая таится за банальным
х = 10
И что Х это не переменная в широком смысле, и что 10 это по итогу уже не просто число и что мы не "записали" 10 в Х. Ну я думаю это банально всё и понятно.
Я просто вижу всю эту картину шире, т.к. знаю что бывает и по другому. И вопрос не в том, где правильней, а просто в том, чтобы видеть картину целиком.

Суть:
хочу начинать учить своего тугосерю этому вот программированию. Смотрю уроки на ютубе и т.п. и не первый раз натыкаюсь на мнение о том, что мол Паскаль это мёртвый язык и что учить его в 2022 это просто тупо и т.п.
Но я просто боюсь, что начав учить его сразу на Питоне я упущу огромный пласт базовых знаний. И банальные вещи вроде того, сколько байт в памяти занимает переменная, какие значения она может принимать и на что это повлияет по итогу — потом будут для него чем-то сложным и непонятным.

вы тут стремящиеся и фронтендеры, что думаете по этому поводу?
Есть ли смысл "начинать" с Питона?
479 2335616
>>35614
Нет смысла начинать с питона. Это тебе всё кажется очевидным, будто бы все эти абстракции впитались с молоком матери. Но на самом деле эти var, begin, end очень нужны. Без них не будет интуитивного понимания структуры программы.
Скрэтч -> Лого -> Паскаль -> потому уже и Питон можно.
480 2335617
>>35516
Легкий в использовании. Больше преймуществ у питона нет.
481 2335620
>>35107
Бамп. Стримы не помогают.
482 2335661
Антуаны, у меня linux mint комп старый - в пайчармен не работают шорткаты. В частности не могу выделить текст и индентировать его. Не могу размножить курсор посредством shift + alt, чтобы сразу несколько строк редактировать. Кто-нибудь сталквался с таким? Как фиксить?
Безымянный.png60 Кб, 1516x903
483 2335717
Вывожу пару хитмэпов, а один из них не выводится, сами по себе по отдельности выводятся заебись, ошибки юпитер не пишет. Где я неправ?
https://pastebin.com/CMueEQ4q
484 2335726
>>35620
Проблема решилась принудительным использованием ipv4, т.к изначально он пытался подключиться через ipv6
485 2335747
>>35107

>Есть одна апишка


Стороняя апишка? У тебя доступ к логам есть?
Для начала отправь запрос через curl/postman/insomnia без питона и проверь результат. Может дело не в питоне вовсе
486 2335751
>>35616
Поссал тебе на пятак

>>35614
Начинай с Си значит и обмажься им. Можешь с Го, в принципе мозгоебли будет меньше. Если же хочешь вкатываться поскорее - бери питон и не еби себе мозги
487 2335780
Ну рассказывайте, какой ща стандарт ORM для asyncio в индустрии? Последний раз делали на sqlalchemy core, что-то поменялось?
488 2335828
>>35747
Я же писал что там работает норм. Ответ сразу. Решение нашёл сам тут через костыль с урллиб3 >>35726
Что характерно, первый запрос в сессии зависает, а последующие работают как надо. После костыля проблемы больше нет
489 2335831
>>35780
Асинщики не знают что такое орм.
490 2335886
Сап, двач. Есть пользователи, которые очень хорошо знают regular expression? Написал python-script, который скачивает все изображения на странице. После этого используя regEx ищет в коде src ссылку на изображение указанных форматов. Увы, но мной были допущены ошибка, поэтому работа некорректна. Просьба не указывать на BeautifulSoup, т.к. хочется обойтись без него.
Код: https://pastebin.com/cFVtDdn2
Выводит:
[('/www.gravatar.com/avatar/4cadbaae69c5c1c9b64b4370a7818a2', 'jpg')
Как должно быть:
['/www.gravatar.com/avatar/4cadbaae69c5c1c9b64b4370a7818a2.jpg')
491 2335907
>>35886
r"/([^\n]+[?:\w-]+\.gif|jpg|jpeg|tiff|png)"
Наверное так, я просто скобки убрал, т.к с телефона
492 2335932
Анончики, помогите, пожалуйста.
У меня есть список туплов:
list_of_tuples = [(42,'test'), (3,'test'), (21,'test')]
Мне нужно отсортировать его по первому члену тупла, чтобы было [(3, 'test'),(21, 'test'),(42, 'test')]
Как это сделать?
Снимок экрана2022-04-1421-18-03.png24 Кб, 878x70
493 2335964
>>35907
Спасибо. В принципе всё так, но всё равно с regEx на некоторых сайтах есть проблемы - произвольные html-страницы. youtube, например, после расширения файла хранит дополнительные символы, а они не нужны. Почитаю о regular expression книжку.
>>35932
print(sorted(list_of_tuples))
494 2335966
>>35780
Так берёшь класс AsyncSession и без задней мысли пользуешься sqlalchemy или надстройками над ней
495 2336003
>>35466

> Блять, у тебя icq 40 что ле?


Ну это не я пытаюсь надувать щеки, чтобы сделать вид, что хотя бы примерно понимаешь что такое асинхронность, и пересказывать долбаебов из интернета

> Ты хоть в курсе как серверы обрабатывают реквесты?


В курсе, ну так покажи как обрабатывают. Я вот мог на изи переписать код так, чтобы оба условных асинхронных запроса выполнились за 5 секунд. А ты не можешь, так как долбаеб и не понимаешь как работает асинхронность
496 2336008
>>35516
В этих ваших Омериках начали вместо паскаля изучать в школе пистон. Соответственно, его знает почти каждый школьник на примитивном уровне. Далее, эти школьники идут в универ, где изучают математику и не изучают погромирование. В какой-то момент времени, им понадобилось наколбасить небольшую програмку на каком-то языке. И зачем брать левую залупу, если уже плюс-минус знаешь пистон. Вот так это и повелось
>>35614

> И что Х это не переменная в широком смысле, и что 10 это по итогу уже не просто число и что мы не "записали" 10 в Х


Зря ты сюда с таким пришел, я серьезно. Тут челы на полном серьезе заявляют о том, что они дохуя разработчики опытные и не в курсе про треды. Другие не могут корутину от футуры отличить. А ты даже про реализацию сипайтона в курсе и за имена в пистоне.

> хочу начинать учить своего тугосерю этому вот программированию


Я 2 года обучал пиздюков погромированию, короче репетитором был. И мой теб совет -- бери Scratch. Это просто 10/10 вариант, без шуток. Гениальный язык для пиздюков. Дальше лучше покажи ткинтер в пистоне и оставь пиздюка с этим поиграться. Далее рекомендую дать понюхать молодому шарпы с юнити. А там уже он и сам разберется
>>35661
Сижу на минте, размножаю курсор с помощью нажатия на среднюю кнопку мыши. Вообще, ты уверен, что правильные шорткаты используешь?
>>35780
В питоне есть только 1 орм и это алхимия. Есть алхимия для бедныхджанго орм. Все остальное это лютое говно без задач. Соответственно, как кор алихию использовал, так и используй. Ничего нового не появилось, гино и подобная залупа не нужны
>>35964
Зайди на regex101 и там параллельно с документацией сиди изучай, от книжек нет толка без практики
497 2336020
>>36008

>размножаю курсор с помощью нажатия на среднюю кнопку мыши


У меня нажатием на колесико вставляется скопированный текст.

>уверен, что правильные шорткаты используешь


Конечно нет. Я и на линуксе сижу всего неделю, и пайчармом пользуюсь от силы 2-3 недели. Смотрю гайды - там чувак зажимает shift+alt+левая кнопка мыши и тащит курсор вверх/вниз и курсоры множатся. Попробовал - у меня просто окно передвигается вместе с курсором. Попробовал на винде - все работает как надо. Подозреваю, что шорткаты пайчарма конфликтуют с шорткатами самого линукса, но где их поменять - хз.
498 2336038
>>36008

> в питоне


В фастапи ты хотел сказать? Да уж не повезло. До сих пор нет нормальных либ. Хотя зачем он там, и так сойдёт. И вообще raw запросы круто
499 2336115
>>36038

> В фастапи ты хотел сказать?


Нет, не хотел. К чему ты это высрал вообще?

> Да уж не повезло. До сих пор нет нормальных либ.


Чего блять? Что ты нахуй несёшь, сумасшедший?

> Хотя зачем он там, и так сойдёт. И вообще raw запросы круто


Пиздец, когда вкатунец пытается сделать умное лицо и чета пукнуть по теме, то в результате всегда будет просто набор слов, смысл которых не понимает даже сам вкатунец
500 2336116
>>36020
Не надо 1 раз нажимать, зажми и веди мышкой, вот так надо
501 2336134
>>36003

>Ну это не я пытаюсь надувать щеки


>Я вот мог на изи


>А ты не можешь


/0
502 2336143
>>36134

> Почему программа отрабатывает за 10 секунд, а не за 5?


> Надо пынямать, что пук-среньк внутри серверов происходит магия пук-хрюк и без сервера никак не сделать за 5 секунд


Блять, как же я ору с вкатунца, который рассказывает про магию асинхронности, которую невозможно понять, и пукает гринтекстом
503 2336173
>>35717
Надо на каждый из них открывать фигуру, в ней создавать картинки и закрывать фигуру. По умолчанию они создаются в дефолтной фигуре, и вторая перетирает первую.
504 2336196
Весь мир вкатунцы. А ты в ней девопс
505 2336290
>>36196
Ить 150 постеров, дай бог, чтобы хотя бы 10 из них получали деньги за написание кода
image.png85 Кб, 1026x747
506 2336321
>>36003

>и не понимаешь как работает асинхронность


Дебил блэт, ты серишь вызовами, которые исполнятся последовательно ввиду специфики await, который именно для последовательных асинхронных запросов и был придуман

А теперь нахуй что и как с пикрила выведется, м? Не слышу...
507 2336350
Пацаны, пишем приложуху на фастапи. Вообще асинхронный оркестратор это uvicorn, но в продакшене он всегда запускается под гуникорном: https://fastapi.tiangolo.com/deployment/server-workers/ ибо сам по себе сосет. Мы запустили в докере гуникорн и все работало однако... там не работает релоад, как выяснилось это известная проблема с гуникорном на ювикорн-воркерах: https://github.com/benoitc/gunicorn/issues/2339 но с ней никто нихера не делает. Из преложений - запускать в dev-среде ювикорн с релоадом а в проде - гуникорн как и раньше.

Но вопрос: как в докере задавать entrypoint в зависимости от среды?
508 2336370
>>23747
использовать время текущее как-то.
509 2336397
>>23747
uuid1/uuid4 епта
510 2336408
>>36397
двачаю!
image.png56 Кб, 840x462
511 2336418
Имеется программа, которая получает на вход базу данных, выполняет с ней манипуляции и сохраняет отредактированную БД с помощью
df.to_csv(filename, index=False, mode='a', compression="gzip")
pbar.update()


После чего пытаюсь ее читать с помощью
df = dd.read_csv("./genfiles/13_Apr_2022_17_18_04.gz")

Но получаю ошибку с пикрл
Вопрос знатокам: как можно научить даск читать датафрейм (больших объемов данных - порядка миллиона записей)
512 2336453
>>36418

>которая получает на вход базу данных


шо?
Она коннекшн к РСУБд получает? Жсон-файл? Файл монги? Файл sqlite? эксель-файл?

Я как и большинство тут в принципе не ебу что там твоя васян-прога делает с рандолмной "базой данных"
image.png29 Кб, 861x170
513 2336462
Прочитал здесь слово cuck
Обдвачевался походу
514 2336637
>>36453
Подключается через
conn = sqlite3.connect('genfiles/13.6.2009.db')
А что насчет манипуляций с бд, то там слишком много буков, если кратко, то некоторые столбцы округляются, некоторые делятся на некоторые константы и сохраняются в новые столбцы
Основные функции:
https://pastebin.com/Yztwq7HE
515 2336670
>>36321

> Дебил блэт, ты серишь вызовами, которые исполнятся последовательно ввиду специфики await


Во-первых, что значит последовательно? Внутри контекста одной функции — да. Вообще — нет. Во-вторых, у авейт нет никакой специфики. Авейт просто ждёт, пока появится результат.

> который именно для последовательных асинхронных запросов и был придуман


> последовательные асинхронные запросы


Пиздец блять

> А теперь нахуй что и как с пикрила выведется, м? Не слышу...


Что за хуйня в коде? Ты просто рандомные строчки из стаковерфлоу писал, пока не заработало?
516 2336675
>>36670

>Пиздец блять


Почитай что ли про коллбеки, промисы и затем про async/await. Нахуй ты высираешься, если позавчера курсы яндекса окончил?

>Что за хуйня в коде


Штудируй asyncio, "умник"
517 2336681
>>36675

> Почитай что ли про коллбеки, промисы и затем про async/await. Нахуй ты высираешься, если позавчера курсы яндекса окончил?


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

> Штудируй asyncio, "умник"


Вот именно, долбаеб. Использовать интерфейс футур вместо тасок, сделать точку входа main, но запускать луп внутри нее, использовать ensure_future с wait. Просто охуеть, ты прям палишься, что с асинхронностью никогда не работал, а только всякую залупу по гайдам пилил
518 2336685
>>36681

>Использовать интерфейс футур вместо тасок, сделать точку входа main, но запускать луп внутри нее


Ишак блять) Ты похоже один из тех кто, видя орфографическую ошибку в мемчике, несется роняя гавно об этом сообщить, но настолько туп что не способен понять, что она там специально вставлена.

я так пишу чтоб тебе идиоту нагляднее было, смекаешь?
519 2336686
>>36681

>последовательные асинхронные запросы


https://jrsinclair.com/articles/2019/how-to-run-async-js-in-parallel-or-sequential/
520 2336707
threadpool.executor из concurrent лучше
521 2336851
>>22109
Что скажешь за fastapi?
522 2336909
>>36851
Обычный фреймворк. У каждого свои задачи. Начал с джанго - учи джанго. Не слушай местных долбоебов-вкатунцов с асинком головного мозга. На джанге уже давно asgi есть.

Выучишь фастапи с алхимией, а тебе на работе скажут делать джангу с монго, а ты и не знаешь нихера, про мсв и прочие паттерны, а в другом месте скажут делай что хошь, и в итоге проект превратится в неудобоваримое нагромождение, тк с разработкой по стандарту ты и не знаком толком, обойдя джангу стороной.
Надо знать всё.
523 2336930
Всем привет.
Подскажите, можно ли как-то в джанго сделать так.
У меня есть модель, скажем с моделями машин, у машины есть производитель, который связан с моделью внешним ключом. Я хочу во вью получить информацию о производителе и ссылки на его модели машин. Но я хочу чтобы в списке моделей этого производителя были не все модели, а только отфильтрованные по какому-то параметру. Ну типа у машины в модели есть поле "in_production", котрое показывает, выпускается ли ещё машина или нет.

Я сделал кастомный менеджер для машин, чтобы писать Car.producing.all() вместо objects.all() и оно работает. Но вот если я делаю обращаюсь из модели производителя, пытаясь получить все его машины, то он выводит их пользуясь обычным менеджером типа, то есть и те которые выпускаются и которые нет.
524 2336933
>>36418
Судя по стектрейсу, у тебя в полях таблиц(ы) базы есть какой-то не утф-8 символ (например это может быть отсутствие значения в пустом поле). Не знаю твой кейс, но попробуй обработать эту ошибку через except ...: pass
525 2337040
Ну штож, вкатился джанго джуном без опыта за 80 тыщ
Учил примерно год все подряд, кроме джанги (ну как учил, просто много проектов писал на интересующих меня технологиях)
526 2337048
Вкатился в веб меньше чем за месяц. Никаких курсов, только здравая голова, не забитая тараканами
27-лвл
527 2337049
>>36930
Капец, проснулся и за 30 секунд нагуглил, что надо было в мета указать default_manager_name
528 2337075
>>37048
Где гребешь? Сколкьо платят?
Снимок экрана2022-04-1612-45-31.png57 Кб, 879x521
529 2337092
>>36116
Спасибо, анон, сработало.
Может подскажешь еще - как сделать чтобы выделенный текст на один таб правее сместился?
Вот только сегодня подсказка вылезла (пикрил) и она тоже не работает.
530 2337109
>>37075
Работаю пока месяцев 8, удаленка. Не фонтан конечно, 80к. Но лучше чем 30к. Маленькая контора.
531 2337142
>>37092
А че просто выделить и таб нажать не работает?
532 2337149
>>37142
Спасибо, бро, работает.
Теперь чувствую себя дауном.
533 2337173
>>37149
Если назад захочешь, то ctrl + [
534 2337202
>>36686
Если ты пишешь синхронный код с асинхронным синтаксисом, то это не делает его асинхронным
>>36685

> я специально написал хуйню, ты не пынямаешь


Пиздец, сначала ты говоришь, что футуры и таски создавать может только сервер, теперь ты загуглил, понял что обосрался и из говна и палок что-то соорудил, что в луп новые футуры добавляет. А когда тебя мордой натыкали, что ты нахуячил адовый говнокод, то начались маневры про то, что так и было задумано. Тебе самому не стремно?
535 2337279
>>37109
80к на удаленке, без опыта
мое почтение
у нас на шараге, без опыта макс дадут 25к-30к не айтинефть
и то это надо отучится лет пять
536 2337301
>>37279
Я тоже в нефтянке был, без опыта. Благо мог показать себя хорошо. Специальность после вуза просто была такая, что мог хоть куда устроиться.
Важный вопрос 537 2337410
А как на питоне вручную обучить сетку?
Ну чтобы вот у меня был выбор из двух картинок, и я выбирал подходящую под задачу сетки. Как на толоке.
539 2350971
>>37279
на нефти зп от 150к только начинаются, а в айти заканчиваются. не пиздите
540 2351763
>>25257
Вот. Надо. Я только что попробовал такой тредж найти а нашёл тебя И хули не так с телеботами, в телегу недавно кучу платежеспособного населения нагнали, вот прям в прямом эфире сидишь и видишь как вся греча из твоей заприсной перетекает из запрещенной в РФ экстремистской компании в телегу. Пользоваться надо, а не брюзжать
541 2353941
>>50971
У кого? У узких спецов которые ездят по буровым установкам в ебеня, куда только вертолеты раз в месяц летают? Или у сыновей топов?
мимо_работаю_в_газу_перекатываюсь_в_ойти
Тред утонул или удален.
Это копия, сохраненная 6 августа 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски