Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 531 56 140
Питон-тред №171 /python/ Аноним 29/09/24 Вск 16:58:40 3284682 1
image.png 595Кб, 1024x1024
1024x1024
image.png 2018Кб, 1024x1024
1024x1024
Тред, посвящённый языку программирования Питон, #171

Встречаем новый революционный Питон 3.13. Питон встаёт на путь избавления от GIL. Подключают JIT технологии. У нас появляется надежда догнать и перегнать C++. Или хотя бы Rust/Go

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

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

#######################################
Вопросы-ответы:
— С чего начать изучать питон?
У питона намного лучше официальная документация, чем у большинства других языков. Есть там и учебное пособие для начинающих: https://docs.python.org/3/tutorial/introduction.html , неофициальный перевод на русский язык: https://digitology.tech/docs/python_3/tutorial/introduction.html (для питона версии 3.8, но разницы почти нет)
https://github.com/yakimka/python_interview_questions - интересная подборка, масса разнообразных тем и вопросов, для продолжающих, всё на русском

— Какие книги считаются лучшими?
На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.

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

— А как учить джангу? Нахожу книги по джанге 1.х, можно их использовать?
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.

— Какие веб-фреймворки стоит учить в начале двадцатых?
Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.

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

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

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

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

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

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущая шапка: https://goonlinetools.com/snapshot/code/#154ln61u1e2e5b4kfv6w8r
Аноним 29/09/24 Вск 17:01:07 3284686 2
1727618394.png 93Кб, 745x709
745x709
Аноним 29/09/24 Вск 17:45:54 3284698 3
Питон - язык для написания 100 строковых утилит, не более

/thread
Аноним 29/09/24 Вск 17:55:21 3284703 4
>>3284698
А если мелкосервис на 300 строк, то уже нельзя на питухоне?
Аноним 29/09/24 Вск 18:17:06 3284722 5
Вы извращенец.webm 3752Кб, 1280x720, 00:00:19
1280x720
>>3284698
>Питон - язык для написания 100 строковых утилит, не более
Держи в курсе.
Аноним 29/09/24 Вск 20:48:21 3284852 6
>>3284698
Ты застрял в нулевых, попробуй посмотреть что-то за пределами своего мирка.
Аноним 29/09/24 Вск 20:59:13 3284861 7
image.png 1969Кб, 1024x1024
1024x1024
Анончик, посоветуешь рес по питону для того кто уже сеньор помидор? Так-то питон очень просто, очевидно. Хочется заглянуть в дебри, без вот этого стандартного "х это переменная"
Аноним 29/09/24 Вск 21:55:17 3284908 8
image.png 87Кб, 270x369
270x369
Аноним 29/09/24 Вск 22:02:17 3284916 9
Йоба, тыща страниц.
Спасибо!
Аноним 30/09/24 Пнд 10:53:23 3285200 10
Аноним 30/09/24 Пнд 13:21:04 3285317 11
image.png 39Кб, 1009x242
1009x242
Аноны, использую алхимию для работы с БД на бэкэнде. В качестве БД - Postgresql (еще стоит прослойка в виде PgBouncer, но она не влияет на скорость).
Через Sentry trace view наблюдаю следующую картину - пик 1.
При каждом запросе к бэку происходит коннект к БД, который отнимает 80% времени. Включал пулер от алхимии, оставлял только ПгБаунсер - нихуя не меняется. В какую сторону смотреть и что гуглить?
Стек: Алхимия 2.0, asyncpg, PostgreSQL 16, python 3.12.
Аноним 30/09/24 Пнд 15:58:13 3285409 12
Сап разрабач, кто-то может объяснить нахуя нужен Poetry и актуален ли он вообще в 2024?
Я вот, к примеру, умею создавать окружения через venv. А Poetry, я так понял, больше нужен для создания пакетов под pip, чем для работы с виртуальными окружениями.
То есть зачем мне `pyproject.toml` если есть `requirements.txt`?
Аноним 30/09/24 Пнд 16:26:14 3285419 13
Уже 3 года долблюсь в .NET разработке, хочу перекатиться в питонисты, насколько реально сразу в миддла на новый стек попасть и куда лучше? В аналитики или бэкенд разрабы(Чтобы работа была максимально макакской и оставалось время на личные проекты)?

На питоне постоянно пилю что-то для души, да и на текущем месте частенько его для анализа данных юзаю
Аноним 30/09/24 Пнд 16:56:31 3285436 14
>>3285419
Почему решил перейти?
Аноним 30/09/24 Пнд 17:30:51 3285477 15
>>3285419
Куда тебе в мидлы сразу на другой язык, ты и на дотнете еще джун.
Аноним 30/09/24 Пнд 18:11:05 3285510 16
>>3285419
>В аналитики
а ты дохуя математик или кто?
Аноним 30/09/24 Пнд 21:08:27 3285651 17
>>3284698
>Питон - язык для написания 100 строковых утилит, не более
Правильнее сказать, что питон предназначит только для написания программ. Написанное невозможно читать и изменять, только дополнять.
Аноним 01/10/24 Втр 00:01:05 3285755 18
>>3285436
.NET рынок в РФ сдох, конкуренция высокая, вакансий мало, зп низкая, область применения душная, сам ЯП многословный и непрозрачный

Там путь один - красноглазить бэк в коллективе душных скуфов
Аноним 01/10/24 Втр 00:05:07 3285756 19
>>3285755
Я скорее всего скоро начну сисярпить в корпорации непосредственного зла. Уже предвкушаю хелло ворлд который полторы секунды запускается.

Че нынче по зп?
Аноним 01/10/24 Втр 00:05:20 3285757 20
>>3285477
3 года - коммерческая разработка на последнем месте работы, до этого были стартапы и фриланс
Прогаю я уже лет 8, начинал вообще с Си

Питон на текущем месте работы - второй ЯП, да и в куче пэт-проектов, в т.ч. коммерческих и командных я юзаю именно его

.NET намного обширнее, чем питон и сопутствующие технологии, причём половина вообще пересекается, не вижу проблемы в том, чтобы переходить на этот стек с понижением грейда
Аноним 01/10/24 Втр 00:08:05 3285758 21
>>3285756
.NET быстрее, чем тот же Python, да и бэк на нём вроде даже быстрее гошного

По зп, хз, от грейда зависит, но процентов на 10 ниже, чем на питоне и на 20, чем на джаве, ну, у синьоров-помидоров вроде как и везде

Готовься к куче абстракций ради абстраций и DI-помойки, ну и к охуительному в своей убогости интерфейсу VS, хотя, если есть возможность, то сразу на райдер перекатывайся
Аноним 01/10/24 Втр 00:11:30 3285763 22
>>3285758
Та норм, я скомпилил omnisharp и на емаксе его запустил. Полет нормальный удалил все к хуям.

Но dotnet run который тормозит это конечно пушка. С 2017 года ишью висит, и они такие "мы увеличи производительнность! Было 3 секунды, стало 1.3".

Объясните мне в чем прикол DI? Это такой фенси способ сказать что в функции можно передавать параметры?
Аноним 01/10/24 Втр 00:14:19 3285766 23
>>3285763
DI - штука, которая реализует IoC, типа, у тебя есть контейнер с гновном, ты в него регаешь всё-подряд, а там он через рефлекшон сам подсовывает зависимости куда надо и собирает тебе обьекты, всё в целом круто, до тех пор, пока туда не приходится лезть, или отлаживаться
Аноним 01/10/24 Втр 00:16:37 3285767 24
>>3285766
Ох, тыж ептыть. Что скрывается за IoC я знаю как это расшифровывается?
Алсо, нахуя это все?
Аноним 01/10/24 Втр 00:19:04 3285768 25
>>3285510
Ну типа того, хотя, матеша, которую я юзаю, не используется в дефолтной аналитике, я скорее обработкой сигналов занимаюсь

В любом случае, матешу заботать не сложно, даже проще чем сам питон, если бы это потребовалось
Аноним 01/10/24 Втр 00:21:08 3285770 26
>>3285767
IoC ваще нужен для солида, типа ты отдаёшь менеджинг зависимостей на уровень выше, т.е. у тебя их регает не класс, который потом их же и юзает, а какой-нибудь чел, который чисто за эти зависимости отвечает перекладывание ответственности, от которого легче не становится, хотя, кто-то говорит, что благодаря этому тестировать код легче, но я хз
Аноним 01/10/24 Втр 00:29:36 3285772 27
>>3285770
Любопытно что каждый ответ вводит новый термин.
Солид это SOLID? https://www.youtube.com/watch?v=7YpFGkG-u1w

> типа ты отдаёшь менеджинг зависимостей на уровень выше,
Ну то есть вместо того чтобы дернуть глобальную db.Shit() мы получаем db в виде параметра или как это на практике то выглядит?
Аноним 01/10/24 Втр 01:06:57 3285781 28
>>3285772
SOLID - свод принципов для написания читаемого и поддерживаемого кода(на который обычно все забивают болт, а если не забивают, то получается еще хуже)

Ты отчасти прав, на практике это выглядит так:
У нас есть есть класс Shitter, которому для работы нужны ShitFactory и ShitLogger, мы можем создать инстансы этих обьектов в самом классе Shitter, но это нарушит принцип единой ответственности, т.к. какого хера класс Shitter должен создавать логгер, если его задача срать говном?!?!?!
В итоге куда лучше будет сразу передавать инстансы ShitFactory и ShitLogger в конструктор класса Shitter, чтобы он просто юзал их, но не создавал.

И тут возникает вопрос - а кто, собственно должен тогда создавать эти зависимости?! Ну, тут несколько вариантов, этим кем-то может быть класс, который управляет нашим Shitter`ом, какой-нибудь ShitterManager, но если у тебя таких классов дохуя, а их зависимости повторно юзаются, то чтобы всё это говно удобно менеджить можно заюзать DI - контейнер, в который ты просто регаешь ShitFactory, ShitLogger и Shitter и он сам магически поймет, что чтобы собрать Shitter нудны ShitFactory и ShitLogger

Вот вроде норм статья: https://habr.com/ru/companies/ruvds/articles/776768/
Аноним 01/10/24 Втр 02:34:16 3285795 29
Нужно сохранить веб-страницу в пдф (не как картинку, а с текстами и т.д.). Пробовал через pyppetteer, что-то делает, но не идеально. Какие есть годные варианты?
Аноним 01/10/24 Втр 03:09:03 3285798 30
>>3285795
Смотря что именно тебе не нравится
Всегда можно заюзать какой-нибудь конвертер типа https://pypi.org/project/pyhtml2pdf/
Но это подойдет только если на странице нет элементов, которые подгружаются динамически, обеспечит неплохую скорость

если на странице защита от ботов, то можно заюзать селениум, накрутив на него всякого говна типа undetected chromedriver

Что именно тебе в pyppetteer не нравится?
Аноним 01/10/24 Втр 03:16:10 3285800 31
>>3285798
Не, такие просто конвертеры не канают, надо именно скрин живой страницы из браузера. В паппетире криво получается, хотя я увидел, что он депрекейтнулся и они советуют playwright, пока его ковыряю на пару с гопотой, вроде получше уже.
Аноним 01/10/24 Втр 07:56:39 3285853 32
Помогите разобраться, для чего вообще нужны эти ваши mypy, pyright, и другие статические проверятели типов. Написал я программу без зависимостей, даже без стандартной библиотеки, кроме dataclasses, typing, и collections.abc. Запустил mypy со следующим конфигом, и он дал добро:
strict = true
disallow_any_unimported = true
disallow_any_expr = true
disallow_any_decorated = true
disallow_any_explicit = true
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true

Теперь мне нужен парсер json. Подтягиваю стандартный модуль json. Перехожу по определению json.load, и вижу, что это вовсе не стандартная библиотека, а какой-то typeshed (сторонний модуль, предоставленный моим IDE). Кроме того, почему-то этот json.load возвращает Any вместо object, и теперь mypy орет, если не обернуть вызов в typing.cast или не указать аннотацию тут же при вызове как : object.

Теперь мне нужно подключиться к PostgreSQL. Поставил asyncpg. У asyncpg нет аннотаций типов. Вместо этого путем проб и ошибок через параметры запуска mypy удалось подтянуть какой-то asyncpg-stubs. В стабе функция create_pool почему-то возвращает Optional[Pool] вместо Pool, что противоречит исходному коду asyncpg, но мой mypy это с удовольствием съел и попросил добавки assert pool is not None.

Зачем это нужно, если подсказок типов нет даже в стандартной библиотеке, а те что есть, могут быть ложными, при этом удовлетворяя статической проверке?
Помню, как много лет назад тот же Pycharm охотнее предсказывал типы и показывал автокомплит имен без аннотаций. С приходом аннотаций все забили хуй на старый питон?
Аноним 01/10/24 Втр 10:49:44 3285973 33
>>3285781
Глянь видео в >>3285772 если еще не.

В общем получается что единственное чем это отличается от любого другого языка, где ты точно так же просто передаешь параметры (например в гошечке ты можешь в контекст добавить любое свое говно и оно будет доступно везде, куда этот контекст передается), заключается в том, что магическая коробка через рефлекшн выясняет какие нужно параметры передать в метод и подставляет их сама из того что ты там где-то зарегал?
Аноним 01/10/24 Втр 13:11:11 3286097 34
>>3285419
правильнее перекатываться в Го, если более-менее с сетями дружишь

зарплаты выше, хрюши готовы отсасывать, работа есть не только в рашостане, а во всём мире. Сам язык может и говно, но люди как-то привыкают.
Аноним 01/10/24 Втр 13:13:11 3286098 35
>>3286097
Я тут только что установил себе на прыщи дотнет. Создал hello-world и сделал dotnet run. Полторы секунды. Этот кал просирается полторы секунды. На хелло ворлде. И эти люди что-то о го говорят. Пиздец.
Аноним 01/10/24 Втр 16:00:30 3286245 36
Есть таблица в excel которую загружаю через pandas и у меня такой вопрос, как разбить строки на несколько по условию, например:

маша хлеб,молоко 250
миша мясо,мука 100

нужно чтобы стали

маша хлеб 250
маша молоко 250
миша мясо 100
миша мука 100
пример выдуманный, разделитель в данном случае запятая
Аноним 01/10/24 Втр 16:10:56 3286277 37
Аноним 01/10/24 Втр 16:34:33 3286333 38
image.png 8Кб, 313x193
313x193
>>3286277
вот так сделал:
data['Продукты'] = data['Продукты'].apply(lambda x: x.split(','))
data = data.explode('Продукты')
Аноним 01/10/24 Втр 17:49:47 3286412 39
>>3286245
>pandas
Объясните мне зачем нужен pandas когда есть стандартный модуль sqlite3 ?
Аноним 01/10/24 Втр 18:11:08 3286447 40
>>3286412
Панда про датафреймы. Такой себе мини-эксель. А сквиртлайт это модуль для доступа к бд.
Аноним 01/10/24 Втр 19:04:50 3286557 41
pip install PySide6
@
Successfully installed pyside6-6.7.3
@
from PySide6 import...
@
ModuleNotFoundError: No module named 'PySide6'
@
pip install PySide6
@
Requirement already satisfied
@
pip uninstall PySide6
@
pip install PySide6
@
from PySide6 import...
@
ModuleNotFoundError: No module named 'PySide6'
@
Повторить, пока не начнётся бугурт

Причём голый питон эту хуйню видит, а всякие там пайчармы и вскоды, СУКА, ГОВОРЯТ, ЧТО НЕТ НИКАКОЙ БИБЛИОТЕКИ... Что делать, аноны, не подскажите?
Аноним 01/10/24 Втр 19:48:32 3286607 42
>>3286557
С дивана
что-то мне кажется что дело в venv ( https://docs.python.org/3/library/venv.html )
Там наверно часть поставилась в локальную venv, особенно если ты не из терминала линуха работал, а из терминала ide.
Аноним 01/10/24 Втр 22:00:26 3286715 43
Аноним 01/10/24 Втр 22:02:26 3286716 44
бля, май бед
from PySide6.* import all

>>3286715
Аноним 01/10/24 Втр 22:04:24 3286718 45
>>3286715
Пробовал всë, и import PySide6, и from PySide6 import *, и вот так...
>>3286607
У меня винда. Я ставил через кмд, через кмд в ide, через кмд в другой ide, в итоге проблема решилась, когда я поставил через настройки проекта в pycharm (в vs code всë ещë не пашет)
Аноним 01/10/24 Втр 22:21:13 3286734 46
изображение.png 2333Кб, 1024x1024
1024x1024
>>3286718

Начни код с import pip; pip install
Если и это не поможет, проблема в либе и руках. Если работает - проблема в ИДЕ
Аноним 02/10/24 Срд 00:34:41 3286816 47
16538168828740.jpg 286Кб, 810x1080
810x1080
Почему ебанный поетри не хочет работать в шиндоус? Какого хуя ебанный пучарм Запрещенное по в российской федерации не видит блядь ебанный PATH для поетри когда я пытаюсь сделать проект сразу с поддержкой поетри. Ну почему все не может просто работать после установки на ебанной блядской одибиленной гукоподложзеной шинде.

Рабочий ноут на линукс минт, а на свой бытовой вторую систему лень ставить
Аноним 02/10/24 Срд 03:43:06 3286872 48
>>3285973
Да, всё так.
ХЗ как контекст в гошке работает, наверное что-то типа редакса в JS?
Вообще, скорее всего DI контейнеры - попытка найти баланс между приватностью и гибкостью, в и тоге получился кал
Аноним 02/10/24 Срд 08:09:04 3286930 49
>>3286412
у меня тоже была мысль загнать всё в бд и там обрабатывать, но экспортировать постоянно каждый шексель файл такое себе занятие. а pandas позволяет очень круто обрабатывать данные табличные и не надо каждый раз создавать разные базы данных для разнотипных файлов
Аноним 02/10/24 Срд 09:17:24 3286970 50
>>3285781
>>3285767
>>3285770
>>3285772
>>3285781
>>3285973
>>3286872
Эти ваши DI-хуяй и IoC-хуи абсолютно ненужное говно. Вместо того, чтобы дрочить свои техники пробрасывания пар (указатель на функцию, данные для функции) через сотни стековых кадров, используйте глобальный статический указатель на структуру со всеми "системами", работающими в вашей программе.
Вы ничего этими Паттернами-Хуяттернами не добиваетесь, абсолютно ничего. В типичном ПО >99% кода очень специфично, его невозможно переиспользовать, даже если обмазать свинью SOLID помадой.
Прекратите тратить свое и чужое время на ерунду.
Аноним 02/10/24 Срд 09:41:40 3286988 51
>>3286970
>переиспользование
Что-то как-то ты тухло ДИ понимаешь, на уровне ждуна
>тратить время
В нормальных фреймворках ДИ из коробки бесплатный
>используйте глобальный статический указатель на структуру
Твоя глобальная структура не решит проблему построения графа зависимостей. С ДИ нет разделения на зависимости и реципиенты - все сервисы и есть те самые зависимости и они одинаково в ДИ попадают и одинаково из него достаются через конструкторы.
>невозможно переиспользовать
Постоянно переиспользуется инфраструктурный код. Те же репозитории с запросами. Или обертки вокруг чужих либ.
Аноним 02/10/24 Срд 10:02:16 3287002 52
>>3286988
>Что-то как-то ты тухло ДИ понимаешь, на уровне ждуна
Какую проблему в программировании решает ДИ, как ты считаешь?
>В нормальных фреймворках ДИ из коробки бесплатный
"Я покрыл свою голову упругим материалом чтобы установленный у меня на лбу молоток на пружине не оставлял больших синяков когда я забиваю гвозди".
>Твоя глобальная структура не решит проблему построения графа зависимостей.
Выдуманная проблема. Что такое "граф зависимостей", и зачем его строить? Ты пишешь пакетный менеджер для python? Давно пора, потому что pip ужасен.
>Постоянно переиспользуется инфраструктурный код. Те же репозитории с запросами. Или обертки вокруг чужих либ.
Что такое "инфраструктурный код", и почему для него нужно "строить граф зависимостей" с помощью Объектно-Ориентированного Паттерна Инъекции Зависимостей? Такой же вопрос для "обертками вокруг чужих либ".
Аноним 02/10/24 Срд 10:27:21 3287022 53
>>3286872
Контекст это прост обычный объект, который положено первым аргументом передавать вниз по стеку. Обычная конвенция, никакой магии. В нем хранятся всякие таймауты и можно любое говно прицепить.
Аноним 02/10/24 Срд 10:33:46 3287029 54
>>3286970
Единственный кейс где вся это еботня необходима кмк, это для тестов.
Впрочем, не ясно что мешает создать этот глобальный контекст для прогона тестов. Разве что если они выполняются многопоточно, тогда это вероятно проблема.

Я предпочитаю прокидывать всякие глобальные сервисы как параметры, просто потому что тогда я вижу что функции нужно в одном месте. Впрочем, в реальности нужно обычно 2-3 сервиса (база, логгер, инфа о сессии), остальное ситуативно.

Я делал и так, и так, и не могу сказать что какой-то метод сильно лучше или хуже.
Аноним 02/10/24 Срд 10:50:43 3287043 55
>>3286970
Согласен, все эти "паттерны проектирования" созданы для криворуких одноклеточных макак, типа как методичка как надо программировать, если своего мозга нету. И вот если вы посмотрите где в основном это с изобилием используется как раз таки на макакских языках типа джавы и дотнета, чтобы лоускильные дауны которых заменяют одним днем подбирая первого встречного с улицы, сразу сели за комп и хуячили так же как написано в методичке в такт с остальной командой выдрессированых обезьян.
Они еще потом обмажутся скрамами и будут дрочить в кружке друг на друга.

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

Ну хуле взять, большинство кодеров овцы безмозглые, которым нужна упряжка.
Аноним 02/10/24 Срд 10:56:35 3287047 56
di.jpg 236Кб, 639x1698
639x1698
Да ДИ решает проблемы которые на начальном этапе отсутствуют. Но напоминаю у нормальных людей ДИ беспланый. Они не изобретают каждый раз велосипед.
Аноним 02/10/24 Срд 10:57:01 3287049 57
>>3287043
Т.к. все эти паттерны это фаззи набор присказок, а не конкретное руководство к действию, мне кажется что они создают гораздо больше проблем в описанном кейсе, чем решают.

Любопытно, что в книжке банды четырех кресты были одним из основных языков для описания паттернов.
Аноним 02/10/24 Срд 10:58:20 3287051 58
>>3287029
>Единственный кейс где вся это еботня необходима кмк, это для тестов.
Могу сказать, что это действительно помогает в написании тестов со 100% изоляцией всех маленьких индивидуальных кусочков кода, с возможностью простого параллелизма в одном процессе, выполняющем тесты.
Однако, в моей практике это сомнительное занятие, и в большинстве случаев ПО тестируется или целыми изолированными подсистемами, или целиком. В очень редких случаях действительно можно отделить значимый объем кода в независимый "модуль" для которого можно писать отдельные тесты.
Интересный код, который действительно стоит тестирования, как правило взаимодействует со всеми подсистемами, и сами подсистемы между собой взаимодействуют. Писать для этого юнит-тесты с тестовыми дублями - это пустая трата времени. Такие тесты проверяют сами себя, а не конечный продукт.
Аноним 02/10/24 Срд 10:58:29 3287053 59
>>3287047
А теперь попроси его написать такой же список, только с аргументацией в обратную сторону. промпт в студию
Аноним 02/10/24 Срд 11:01:51 3287059 60
>>3287051
У меня ровно такой же опыт. Я 10 лет в разных проектах, в разных командах пытался внедрить тесты, и везде, каждый раз стоимость внедрения конская, а выхлопа на три копейки.

Юнит тесты хороши только для узкого класса проектов - там где есть четкая связь инпут-аутпут. Типа ЯП и прочих числодробилок.

Интеграционные тесты уже более осмыслены, но опять таки, стоимость их автоматизации часто необоснованно высока.
Щешевле посадить тестеров.
Аноним 02/10/24 Срд 11:03:58 3287060 61
import.jpg 221Кб, 663x1644
663x1644
Аноним 02/10/24 Срд 11:04:14 3287061 62
>>3287049
>Любопытно, что в книжке банды четырех кресты были одним из основных языков для описания паттернов.
На сколько я помню действие той книжки происходит на примере написания GUI. Я в гуи никогда не работал, но на сколько я знаю, с тех пор многое поменялось там и гуи теперь вообще редко пишут на плюсах. Хотя вот вроде в Qt не особо этого говна напихали, как мне казалось, но там и своего хватает.
Аноним 02/10/24 Срд 11:06:35 3287066 63
>>3287060
В общем мнение чатжипити как обычно ничего не стоит.
Читать я это конечно же не буду
Аноним 02/10/24 Срд 11:08:37 3287068 64
>>3287061
Угу.
Вообще на фоне imgui, классический retention mode gui это пиздец.
Аноним 02/10/24 Срд 11:20:00 3287079 65
>>3287047
Ну давай разберем по частям тобою написанное.
1. Выдуманная проблема. По тестированию - мне ничего не мешает подменить глобальный статический указатель так, чтобы он указывал на тестовый дубль. По конфигурации - мне ничего не мешает написать код, конфигурирующий всю систему, в одном месте (обычно так и делают). Это можно назвать Инициализацией Системы.
2. Смотри 1.
3. Смотри 1.
4. Смотри 1.
5. Выдуманная проблема. Почему следование SRP лучше чем не следование SRP?
6. Если не разбрасывать конфигурацию по кодовой базе, она не будет разбросана. Какое отношение к этому имеет DI или SOLID? Смотри 1.
7. Проблема жизни "объекта" значительно сложнее, чем ложный выбор между singleton/scoped/transient (или аналогичными именами в вашем любимом фреймворке). Не хочу упрощать проблему одним предложением, но в сложных системах "объекты" "живут" группами, обрабатываются группами, и "умирают" группами. DI не решает эту проблему.
8. Это затрагивает проблему так называемых в западной (хуевой) литературе "cross-cutting concerns" (пусть будет "сквозные проблемы"). Культисты (в т.ч. писатели вышеупомянутой литературы) часто утверждают, что сквозные проблемы мешают написанию чистого кода, и вообще в ООП не вписываются; придумывают различные извращенные решения по типу Aspect Oriented Programming и манки-патчей в питоне, чтобы не писать logger.log(message), потому что это не красиво. Они не понимаю, что сквозные проблемы, как правило, это большая часть программы, и в них входит весь код, который действительно делает что-то интересное.
Что такое "keeping the code clean", я думаю, комментировать не нужно.
9. Смотри 5 и 8.
10. Смотри 1.
Аноним 02/10/24 Срд 11:22:19 3287083 66
>>3287066
А хули там чиать. Просто если глазами пробежаться, то видно чтл весе аргументы сводится к тому, что нормальный ДИ сложный для имплементации. Но я же не пишу каждый раз ДИ, я беру готовый.

Если писать микросервисы, то проблемы импорта не так очевидны.

Причем здесь противопоставление С++ другим языкам вообще не понятно. Любой фреймворк решает проблему зависимостей. Тот же кьют имеет несколько способов управления зависимостей. В плюсах на проблему зависимостей еще накладывается проблема деалокации зависимостей, поэтому обязательно делегировать эту проблему специфичным паттернам из С++, как викпоинтеры или как в кьюте через передачу указателя на родителя в конструктор кьюобжекта.
Аноним 02/10/24 Срд 11:32:24 3287089 67
>>3287083
Я все еще слабо понимаю что это за говно.

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

Как эта хуйня выглядит на практике, покажите мне код уже.
Аноним 02/10/24 Срд 11:34:48 3287090 68
>>3287068
>imgui
Кстати да, год назад писал свой path-tracer ради прикола, юзал imgui мне очень понравилось.
Все довольно просто и удобно сделано. Перед тем как его нашел, стал вспоминать эти ужасы GUI программинга на том же Qt или чем-то подобном, аж в дрож бросало, даже хотел сам написать мини гуи для этого который бы просто рендерил кнопочки и ползунки, но нашел imgui и это была прям манна небесная.
Аноним 02/10/24 Срд 11:35:44 3287094 69
>>3287089
Да примерно такое делает. Раз мы уж в питоно треде обсуждаем то смотри в fastapi документации есть примеры. У фастаапи минималистичный удобный ДИ, как раз для написания крудов самое то.
Аноним 02/10/24 Срд 11:38:10 3287096 70
>>3287090
Я имел ввиду imgui как парадигму, не да, dear imgui очень хвалят.
Аноним 02/10/24 Срд 11:39:41 3287100 71
>>3287094
Я просто нихуя не понимаю. "DI сложно реализовать"
Что DI делает? Прокидывает аргумент в метод.
То есть самая простая на свете хуйня - передать аргумент в метод, требует сложной в реализации, основанной на рефлекшне?
Аноним 02/10/24 Срд 11:44:22 3287102 72
>>3287100
>Я просто нихуя не понимаю. "DI сложно реализовать"
>Что DI делает? Прокидывает аргумент в метод.
Путаешь DI и DI Container (или IoC Container). DI - передача аргумента в функцию (обычно это конструктор класса в OO языках). DI/IoC Container - автоматическая передача аргумента в функцию. Как, что, и когда создается, и куда передается - настраивается отдельно, как правильно каким-нибудь душным DSL или не дай бог XML файлами, при инициализации программы.
Аноним 02/10/24 Срд 11:53:59 3287117 73
>>3286970
>используйте глобальный статический указатель на структуру со всеми "системами", работающими в вашей программе.
Вот только в питоне вместо глобальной статической переменной принято использовать явный аргумент self. Вся программа пишется в одном классе, затем очевидные подсистемы отделяются в отдельные классы.
Аноним 02/10/24 Срд 12:02:29 3287125 74
>>3287102
Понапридумывали миллион терминов.

То есть вместо того, чтобы в main() сказать
if YOBA_TEST:
db = TEST_DB
else
db = PROD_DB

я должен теперь xml ковырять?
Аноним 02/10/24 Срд 17:09:24 3287382 75
У меня в джанге есть некая модель A из какой-то библиотеки
Есть моя модель B
Я хочу сделать что если модель A сохраняется, обновляется или удаляется - то это триггерило бы модель B на какую-то операцию, типа если create - я тоже create делаю в B с полем из А и своим значением, ну и так далее. Как это сделать?
Аноним 02/10/24 Срд 19:27:01 3287486 76
image.png 2Кб, 327x67
327x67
>>3284682 (OP)
Вы знали про такое поведение?
Ебанаты.
Аноним 02/10/24 Срд 19:31:10 3287493 77
vkateesh.jpeg 142Кб, 1048x916
1048x916
Аноним 02/10/24 Срд 20:09:20 3287530 78
>>3287382
Это должно быть реализовано в реляционной базе данных в виде процедуры/функции, или на худой конец в виде триггера, с использованием настоящей ACID транзакции (это значит ISOLATION MODE SERIALIZABLE). Пожалуйста, не делайте это на клиенте (базы данных).
Аноним 02/10/24 Срд 20:35:16 3287572 79
>>3284908
Начал читать. Прям то что нужно, сразу в дебри с первой главы. Пока что нравится.

Алсо
> The Art of the Metaobject Protocol (MIT Press) by Gregor Kiczales, Jim des Rivieres,
> and Daniel G. Bobrow explains the concept of a metaobject protocol, of which the
> Python Data Model is one example.

Очень хорошо. Надо будет как-нить дочитать AMOP.
Аноним 02/10/24 Срд 20:37:32 3287576 80
photo2024-09-19[...].jpg 75Кб, 716x475
716x475
Аноним 02/10/24 Срд 21:50:00 3287632 81
1727894794.png 14Кб, 817x149
817x149
1727894820.png 2Кб, 301x39
301x39
>>3287486
какое? Если ты думаешь, что | тут как OR работает, то нет. просто все указанные символы убирает

я так понимаю рынок уже реально всё и не вкатиться? какие то переходы из нет в хует обсуждают, девопс вроде, никто тупых вопросов новичков не задает, мою хуйню вначале треда проигнорили
Аноним 02/10/24 Срд 21:59:22 3287640 82
>>3287632
А как же постоянное нытье о том что кадров не хватает?
Или это не хватает тех кто может гайки крутить, а вкатунов наоборот навалом?
Аноним 03/10/24 Чтв 06:44:32 3287861 83
>>3287632
> никто тупых вопросов новичков не задает, мою хуйню вначале треда проигнорили
Нынче можно задавать вопросы в какой-нибудь ChatGPT, и получать какие-то ответы моментально, даже если ответ незаметно-тонко ложный. Если новички это делают, то готовьтесь к ухудшению качества жизни после того как все неновички уйдут на пенсию.
Аноним 03/10/24 Чтв 08:19:13 3287901 84
Любая строка питон-кода может поднять любое случайное исключение. Это приводит к комбинаторному взрыву возможных путей исполнения программы. Есть ли техника обработки исключений, которая позволяет этого избежать? Это особенно актуально при использовании сторонних библиотек.
Аноним 03/10/24 Чтв 09:06:44 3287917 85
>>3287901
>Есть ли техника обработки исключений,
Есть. Обрабатывать исключения в самом верху или вообще не обрабатывать, если программа дальше не может работать.
Аноним 03/10/24 Чтв 09:25:31 3287931 86
>>3287917
>Обрабатывать исключения в самом верху или вообще не обрабатывать, если программа дальше не может работать.
Как отличить исключения, из-за которых программа не может безопасно продолжить работу, от исключений, которые можно логировать и игнорировать? В самом верху контекст потерян.
Если, например, долгоживущий компонент серверной программы испортился и начал кидать исключения, то весь процесс испорчен, и его нужно как можно скорее остановить; при этом большую часть исключений стоило бы действительно логировать и игнорировать, чтобы не прекращать сервис для всех пользователей из-за одного бага, не угрожающего состоянию процесса.
Аноним 03/10/24 Чтв 09:51:57 3287946 87
>>3287931
Не допускай деления на ноль. Если же поделилось то это фатальная ошибка в коде
Невозможность подключение к БД - дальше работать нельзя
Ресурс не найден в бд - это резонно обработать вверху в специальном обработчике хттп ошибок
Резюмируя. Любая неведомая ебаная хуйня фатальна, Любая дженерик ошибка фатальна. Любое логическое исключение для которого существует специальный класс (твой или из фреймворка) обрабатывается.

Не утверждаю что это абсолютная истина, но так все макакич на языках с исключениями живут
Аноним 03/10/24 Чтв 10:09:58 3287953 88
>>3287946
>Ресурс не найден в бд - это резонно обработать вверху в специальном обработчике хттп ошибок
Если подразумевается исключение типа ResourceNotFoundInDatabaseError, то это верно только если ты 100% уверен в источнике исключения (то есть не уверен, потому что статический анализ исключений не производится). На "верхнем уровне" это определить невозможно. Та же проблема с питонячими встроенными generic ValueError / TypeError - в стандартной библиотеке полно функций, кидающих такие исключения. Это баг, или у функции такой вот интерфейс? Только хуй знает.
>Резюмируя. Любая неведомая ебаная хуйня фатальна, Любая дженерик ошибка фатальна. Любое логическое исключение для которого существует специальный класс (твой или из фреймворка) обрабатывается.
>но так все макакич на языках с исключениями живут
Я еще ни разу не видел, чтобы в каком-нибудь веб-сервере не было try...except Exception: logger.exception(...); return 500. Часто даже AssertionError таким образом игнорируется, что абсолютно точно должно моментально убить процесс, и вместо этого возвращается HTTP 500.

На мой взгляд, у каждой функции, в которой что-то может пойти не так, должен быть определен закрытый набор ошибок, который эта функция может поднять/бросить/вернуть. Но я еще ни разу не видел, чтобы в языках с исключениями так кто-то делал.
Аноним 03/10/24 Чтв 10:26:37 3287956 89
>>3287953
Не понятно зачем тебе статический анализ ошибки если можно в динамике проверить isinstance.

Не найдено в БД это когда тебе надо сделать действия по id юзера, а такого юзера не найдено. Существует общая логика обработки таких ошибок, не надо ее имплементировать по месту возникновения

Под дженерик ошибками я поразумевал общие ошибки системы из за которых она не может работать. Наверно хуево выразился. Но я привел пример - невозможно подключится к БД

Деление на ноль, AttributeError и прочие НЕХ ошибки, обычно питонячии пррограммы падают в таких случаях.

Если у тебя монолитное веб приложение, то естественно тебе падать нелья, только логировать НЕХи. Придется работать пока весь сервак не упадет из-за того что место на диске или память закончатся.

Микросервис вполне может упасть как общепринято в питоне. Его поднимет кубер. Но там тоже проблемы шторма ретраев, залипания ситемы в метасостоянии и подобной хуйни.
Аноним 03/10/24 Чтв 10:29:21 3287957 90
>>3287956
>метасостоянии
забыл ка оно правильно называется когда пациент то ли жив то ли мертв
Аноним 03/10/24 Чтв 10:38:07 3287960 91
>>3287956
>Не понятно зачем тебе статический анализ ошибки если можно в динамике проверить isinstance.
>
>Не найдено в БД это когда тебе надо сделать действия по id юзера, а такого юзера не найдено. Существует общая логика обработки таких ошибок, не надо ее имплементировать по месту возникновения

Я неправильно выразился. Ошибка "юзер не найден" имеет однозначное значение, если она поймана непосредственно при вызове функции "дай юзера с id 7', то есть "локально". У верхнеуровнего обработчика ошибок это выглядит как "функция 'обработай http запрос' вернула ошибку 'юзер не найден'". Почему юзер не найден? Если из-за пользовательского ввода, то это, наверное, код 404. А вот если был нарушен какой-то инвариант системы, то это или ответ 500, или паника. Различить эти случаи на уровне общего обработчика ошибок невозможно, потому что тип исключения - это не достаточная информация, и также важен и контекст исключения.
Аноним 03/10/24 Чтв 20:32:57 3288536 92
Почему этот код выдает 500000500000?

a = list(range(1000001))
print(sum(a))
Аноним 03/10/24 Чтв 20:37:13 3288540 93
>>3288536
>>> (1000000 + 1)*1000000/2
500000500000.0
Аноним 03/10/24 Чтв 21:45:47 3288605 94
>>3288540
>(1000000 + 1)*1000000/2
Это что?

Команда sum должна выдать сумму чисел от 1 до 1 млн или я что-то путаю?
Аноним 03/10/24 Чтв 22:10:58 3288628 95
>>3288605
школу прогуливал?

Sn = 1+ 2 + ... + (n - 1) + n
Sn = n + (n-1) + ... + 2 + 1
2Sn = (n + 1) + (n +1) + ... + (n + 1) + (n + 1) = n(n+ 1)
Sn = n(n+ 1)/2
Аноним 04/10/24 Птн 00:48:26 3288764 96
images.jpg 5Кб, 225x225
225x225
Здаров мужики! Выбираю язык куда укатиться с другого языка с PHP обосанного. Зачем? Потому что могу. Так вот, как я понял, если я N лет клепал бэк (и немного фронт) разных там сайтиков-магазинчиков на разных хороших и не очень CMS, а заодно вертел сервисы на всяких ларавелях, то мне не составит особого труда перекатится в что-нибудь типа пайтон+джанго+фастапи. По сути, просто на другом языке писать буду. Верно мыслю? Или нужно че-то еще учесть? База по всяким там алгоритам, паттернам ооп и прочей хуйне в башке в наличии.

Если есть что-нибудь почитать на этот счет - скиньте, буду премного благодарен. А то самостоятельный гуглёж выдал выдает какую-то совсем детсадовскую чушь.
Аноним 04/10/24 Птн 04:12:38 3288785 97
>>3288764
Бля, ну конечно. Сраный сайт, он везде останется сраным сайтом, на каком языке ты его не делай. Хоть на питоне, хоть на джава, хоть на языке тумба юмба. Всё что относится к сайтам - оно универсально. Общие принципы, базы данных, кеширование, безопасность, масштабирование - одно и то же. Отличия - в деталях, в реализации, в скорости.
Аноним 04/10/24 Птн 13:40:47 3289122 98
he.jpg 4Кб, 225x225
225x225
>>3288785
Ага, я тут уже документации обожрался большой ложкой, вижу все то что ты говоришь. Джангу в доцкер уже засунул и развернул, пойду МаКеТиК натягивать, а потом на хехеру резюме перевкатуна выложу. Какой же хуйней я страдаю боже мой.
Аноним 04/10/24 Птн 19:13:18 3289490 99
Почему все эти IoC, клин архитекчур, солид и прочая хуйня в проектах на питоне выглядит как что-то несуразное?
Вот смотрю эту репу и искренне не понимаю нахуя.
https://github.com/Tishka17/deseos17/

мимо джун 80 iq
Аноним 04/10/24 Птн 19:24:25 3289506 100
>>3288764
>По сути, просто на другом языке писать буду.
Ты будешь писать на питоне так, как писал на PHP. Хотя языки на самом деле разные, в питоне есть масса вещей, которых нет в PHP и которые ты не привык использовать

Дальше ещё конкретные фреймворки, их особенности. Джанго/DRF это в принципе тупик, да и рыночек скромненький
Аноним 04/10/24 Птн 19:28:06 3289516 101
>>3289490
Потому что все эти архитектуры придумывают ребята, главная задача которых продавать книжки и курсы, а не шипить продукты.
Аноним 04/10/24 Птн 19:33:31 3289518 102
>>3289490
Кроме паттернов-хуяттернов, в этой репе еще и 9000 файлов, каждый не более 100 строк. Так пишут только мудаки. Если так делать в серьезном проекте, кол-во файлов превысит ограничение файловой системы.
Аноним 05/10/24 Суб 16:19:23 3290042 103
>>3289490
Так ебашь всё в main.py, только потом не злись, почему код ревью не проходишь.
Аноним 05/10/24 Суб 16:54:01 3290070 104
>>3290042
Конечно, если кодревью делают сеньоры-макакены, у которых вместо мозгов паттерны из блогов.
Аноним 05/10/24 Суб 18:00:27 3290127 105
>>3289490
>>3289516
>>3289518
>>3290070
Если у тебя в одном файле больше одного класса и двух-трех функций, или в методе больше 20 значимых строк кода, то ты что-то делаешь не так - не понимаешь проблему, которую решаешь; следовательно, не находишь правильные абстракции. У нас за такое сразу гонят с собеседований на хуй, и отвергают код ревью.
Настоятельно рекомендую перед написанием первой строки кода прочитать и перечитать от корки до корки классику программирования - Design Patterns и Clean Code.
Аноним 05/10/24 Суб 18:04:57 3290136 106
Аноним 05/10/24 Суб 18:14:22 3290152 107
>>3290136
Ну и как это читать? Как это переиспользовать? Где классы? Где unit-тесты?
Почему так много комментариев? Это анти-паттерн, и запашок кода. Если бы длины функций были менее 20 строк, и имели бы нормальные, понятные названия, то комментарии бы можно было все удалить. Статический анализ комментарии не проверяет; может быть, они уже устарели?
Кроме того, написано это все на игрушечном языке программирования из 1960х. Они бы еще на SQL это написали.
Аноним 05/10/24 Суб 18:15:31 3290155 108
>>3290152
Да ну тебя, толстый ты.
Аноним 05/10/24 Суб 21:46:20 3290349 109
>>3290042
А между двумя крайностями вообще ничего нет, да?
Аноним 05/10/24 Суб 23:19:06 3290407 110
Я люблю копролиты в одном/паре файлов.
Аноним 06/10/24 Вск 01:09:58 3290419 111
Пизда. Есть. Любители глобалов. Особенно глобальных конфигов. И глобальных сессий к бд. А ещё любители создавать клиентов на каждый запрос.
Аноним 06/10/24 Вск 01:21:06 3290427 112
>>3290070
Конечно, ведь новоиспечённые смузихлёбы с list(somedict.keys()) лучше знают, как код писать.
Аноним 06/10/24 Вск 07:21:42 3290482 113
>>3290419
>Любители глобалов. Особенно глобальных конфигов.
Что не так?
>И глобальных сессий к бд.
В каком контексте?
>А ещё любители создавать клиентов на каждый запрос.
Что ты подразумеваешь под "клиентом"? Наверное ты говоришь об HTTP. Если ты говоришь о клиенте вида requests.Session, то да, это пиздец. Если же речь о молодежном aiohttp.ClientSession, то это нормально, если каждый новый клиент использует один общий aiohttp.TCPConnector. Но это больше говорит о идиотском дизайне многих популярных библиотек питона, нежели о программисте, который пытается хоть как-то их использовать.
Если ты разрабатываешь хоть сколько-нибудь технически интересный проект, ты не раз будешь удивляться ужасному качеству популярных библиотек. У requests долгое время на веб-странице с документацией было написано, что она thread-safe, например, но мейнтейнеры тихо и со стыдом это убрали после разоблачения.
Когда новый программист изучает и практикует питон, он видит чужой код. Для веб макак это, как правило, Django/Flask/FastAPI параша. Они все устроены "неправильно" - обязательно есть глобальная конфигурация, имплицитное соединение к базе данных, и прочие дикости. Не удивляйся тому, что большинство так делает и продолжит делать долгие годы впереди.
Аноним 06/10/24 Вск 10:30:03 3290568 114
>>3290482
>Что не так?
Не надо так делать.

>В каком контексте?
В контексте запроса-ответа. Взял из пула соединение - создай сессию, закрой сессию, верни обратно в пул соединение. Многие это не делают, т.к. не понимают, как это под капотом работает.

>Что ты подразумеваешь под "клиентом"?
Да любой клиент, хоть хттп, хоть грпц, хоть эластиксерч, хоть аэроспайк. Челы в контроллере или интеракторе создают клиент на каждый запрос, ещё и закрывать его иногда забывают, вместо того, что бы всё это делать через di и переиспользовать.
Аноним 06/10/24 Вск 10:42:41 3290582 115
>>3290568
В aiohttp создание новой сессии дорогое, они сами пишут в доке что лучше переиспользовать.
Аноним 06/10/24 Вск 11:30:22 3290605 116
>>3290427
Что не так с list(somedict.keys())? Я нюфажа.
Аноним 06/10/24 Вск 13:06:18 3290660 117
>>3290605
somedict.keys возвращает view object
>The keys() method returns a view object. The view object contains the keys of the dictionary, as a list.
Т.е. там лист на результат в общем не нужен. Можешь сразу применять for in к примеру.

А так пишут скорее всего вчерашние жиесники, наверно из аналогии тех их map map map..
Аноним 06/10/24 Вск 13:14:46 3290667 118
>>3290660
А если тебе нужна копия, я а не view? Можно, конечно, написать чуть короче - list(somedict), но разницы во времени выполнения этом игрушечном языке ты не заметишь.
Аноним 06/10/24 Вск 13:50:13 3290708 119
>>3290660
> Т.е. там лист на результат в общем не нужен.
В общем какой-то ты хуевый пример привел.
Я бы еще понимаю ты бы показал пример где итератор сначала превращается в список, а потом ты по нему делаешь цикл.
Но в общем случае превращение итератора в контейнер вполне законная и частая операция.
Аноним 06/10/24 Вск 13:52:53 3290710 120
>>3290708
Приведи хороший пример.
Аноним 06/10/24 Вск 14:05:31 3290719 121
>>3290710
Хороший пример того как смузихлёбы хуево пишут код?
Хз, я с такими не работаю, поэтому без понятия что они там нынче пишут.
Аноним 06/10/24 Вск 14:11:10 3290724 122
>>3290719
Мне вспомнился еще баян модемных девяностых, с инетом по карточкам.

Если спросишь на англоязычном форуме - тебе скорее всего дадут верный ответ.
Если спросишь на русскоязычном форуме - тебя всегда пошлют нахуй.
Вывод - учите английский.
Аноним 06/10/24 Вск 14:14:48 3290726 123
>>3290724
Берёзы наверное тоже тревожно растут?
Аноним 06/10/24 Вск 15:05:17 3290772 124
>>3290724
Покажи мне англоязычный форум, где взрослые профессионалы обсуждают программирование. Не реддит, не форчан - в этих местах большинство состоит из студентов и аутистов-теоретиков, которые настоящим программированием никогда не занимались. Их мнения часто пересекаются с Чат Жэпэтэ, ответами на стак оверфлоу, случайными туториалами, веротяно сгенерированными с чат жэпэтэ, и "классическими" книгами от продавцов змеиномасленного консалтинга по типу Роберта Мартина; дальше мнений обсуждения там почти не заходят.
Аноним 06/10/24 Вск 15:52:49 3290810 125
>>3290772
Ну он видимо имел ввиду форумы из 90ых же.
Скорее всего там и правда были вполне внятные разговоры.
Впрочем, думаю что русских форумов на тот момент было очень мало (какой-нить может ЛОР), не в последнюю очередь потому что люди которые тогда пользовались интернетом наверняка либо знали английский, либо были пиздюками которые про кодинг ничего не знали.
Аноним 06/10/24 Вск 16:38:20 3290836 126
Анончики, помогите советом мудрым!
Есть цикл, который печатает от 1 до 1000:
while i < 1000:
i = i + 1
print(i)

Как мне сделать так, чтобы при нажатии на 'q', цикл останавливался, при повторном нажатии продолжался с того же места, где была пауза?
Аноним 06/10/24 Вск 17:34:01 3290882 127
Аноним 06/10/24 Вск 19:52:20 3291043 128
image.png 126Кб, 1071x734
1071x734
>>3290836
Можно примерно так сделать.
Аноним 06/10/24 Вск 20:07:38 3291092 129
>>3291043
Правда, нужно бы подумать про вот эти сабмиты на тредпул с генераторами...
Мне код немного подозрительным кажется.
Аноним 06/10/24 Вск 20:10:26 3291102 130
>>3291043
Разве инпут не блокируется пока ты что-то не введешь и не нажмешь энтер?
Аноним 06/10/24 Вск 20:11:59 3291105 131
Аноним 06/10/24 Вск 20:12:07 3291106 132
>>3291092
Не будет ли утечек? Это имею в виду.

>>3291102
Цикл блокируется инпутом, да.
Аноним 06/10/24 Вск 20:14:14 3291111 133
image.png 1046Кб, 1920x1080
1920x1080
>>3291106
Думаешь вопрошающий хотел это, а не чтобы q моментально останавливало цикл?

>>3291105
Опа, любопытно.
Аноним 06/10/24 Вск 20:15:10 3291114 134
>>3291111
>Думаешь вопрошающий хотел это, а не чтобы q моментально останавливало цикл?

на 100% соответствие заданному
>чтобы при нажатии на 'q', цикл останавливался, при повторном нажатии продолжался с того же места, где была пауза
Аноним 06/10/24 Вск 20:17:05 3291122 135
>>3291114
А, при нажатии, а не вводе. Ладно...
Аноним 06/10/24 Вск 20:29:56 3291144 136
>>3291105
Не, эт чет залупа. Если только, там нет режима "не надо мне окон создавать".
Аноним 06/10/24 Вск 20:47:05 3291172 137
Так и что в итоге, нужно мне для моей микроапишки на фастапи городить слои абстракции для чистоты архитектуры и солида? Без них меня обоссут и скажут, что я ничего не понимаю в программировании? Или и так сойдёт? Я просто только постигаю азы бэкенда и пока не очень шарю.

>>3290568
>В контексте запроса-ответа. Взял из пула соединение - создай сессию, закрой сессию, верни обратно в пул соединение. Многие это не делают, т.к. не понимают, как это под капотом работает.
То есть если я просто, как везде советуют, инъектирую для эндпоинта зависимость session = Depends(get_db) для получения сессии, это неправильно?
Аноним 06/10/24 Вск 20:55:16 3291182 138
>>3291172
>Так и что в итоге, нужно мне для моей микроапишки на фастапи городить слои абстракции для чистоты архитектуры и солида? Без них меня обоссут и скажут, что я ничего не понимаю в программировании? Или и так сойдёт? Я просто только постигаю азы бэкенда и пока не очень шарю.
Это дрочево для дебилов. Сделай один dataclass со всеми зависимостями и пробрасывай его во все ендпоинт-обработчики любым удобным способом. functools.partial, например.
>То есть если я просто, как везде советуют, инъектирую для эндпоинта зависимость session = Depends(get_db) для получения сессии, это неправильно?
Завит от определения get_db. Если оно возвращает коннешен пул, то правильно. Если оно возвращает соединение из пула, то это неправильно, потому что ты будешь держать соединение дольше чем нужно, уменьшая пропускную способность.
Аноним 06/10/24 Вск 20:56:59 3291185 139
>>3291172
Если у тебя есть время, советую написать свой фреймворк разок другой.
Начни с пустого файла и добавляй нужные фичи по одной.
Запусти http сервер и отдай строку на запрос.
Потом научись вызывать различные функции в зависимости от урла в запросе.
Теперь добавь в микс базу. Возьми какой-нить sqlite3 и разберись как тебе удобней прокидывать соединение в обработчики запросов, как удобней мапить то что тебе выдает база в то, что ты хочешь отдать из эндпоинта.

Сделай туду-апп с регой юзеров, например.

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

После этого у тебя будет гораздо больше понимания почему фреймворки делают то что делают, и какие компромисы они зашили ради "удобства".
Аноним 06/10/24 Вск 21:27:44 3291227 140
>>3291185
>Потом научись вызывать различные функции в зависимости от урла в запросе.
Никогда не понимал этого. Почему все веб фреймворки так делают? Вот хочу я добавить аутентификацию, но только для ограниченного набора урлов, и логирование метрик для другого набора урлов, и прочее. Фреймворк требует от меня колобек на каждый урл-паттерн. Теперь мне нужно трахаться с классами или функциями высшего порядка, чтобы реализовать это без большого кол-ва бойлерплейта. Если бы фреймворк просто вернул мне значение енума, я бы сделал одну функцию с предобработкой, свитчем, и постобработкой, как нормальный человек.
Вот werkzeug.routing.Map делает это правильно, но это WSGI, к сожалению.
Аноним 06/10/24 Вск 21:40:21 3291238 141
>>3291227
Обычно ты просто заворачиваешь свой хэндл в мидлвейр:
"/pizda": WithAuth(Liznul)

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

Я поэтому и рекомендую сделать велосипед, чтобы понять что тебе нравится больше.
Аноним 06/10/24 Вск 21:53:24 3291247 142
>>3291238
>Обычно ты просто заворачиваешь свой хэндл в мидлвейр:
Понятно, что можно это обернуть в функцию высшего порядка, но это не самое простое решение проблемы. К тому же, все эти мидделвейры, как правило, приводят к пробрасыванию данных через какой-нибудь "контекст" или "environ", и твои хэндлеры начинают имплицитно зависеть от мидделвейра.
Вот самое простое решение, о котором все почему-то забыли:
endpoint = match(request, router)
if endpoint in [Endpoint.PIZDA, Endpoint.Zhopa]: user = authenticate(request)
if endpoint == Endpoint.Pizda: ...
elif endpoint == Endpoint.Zhopa: ...
elif endpoint == Endpoint.Hui: ...
else: return 404

Хочется диспатч по дикту функций? Сделай дикт Endpoint -> Callable, не проблема. Но чтобы вернуться от диспатча в обратную сторону к if-elif-свичу, нужно сделать дополнительную хуйню. Усложнение на ровном месте, просто так. Это Pythonic?
Аноним 07/10/24 Пнд 00:02:04 3291364 143
>>3291043
как-то грязновато, имхо

По классике через треды если делать, надо нормальным образом стартовать тред, сделать Event и передать его в тред
evt = threading.Event()
thread = threading.Thread(target=f, args=[evt,], daemon=True)
thread.start()
а треде при этом проверяешь, что Event не присвоен, а в основном соответственно выставляешь
Аноним 07/10/24 Пнд 00:03:47 3291365 144
Судя по всему питон бьет по рукам за использование лямбд.
Другое дело если я сделаю ебучий функтор.

Я питон не знаю особо, но вот, настрогал:
https://ideone.com/YWgfpE
Аноним 07/10/24 Пнд 02:54:21 3291407 145
>>3291182
>Завит от определения get_db. Если оно возвращает коннешен пул, то правильно. Если оно возвращает соединение из пула, то это неправильно, потому что ты будешь держать соединение дольше чем нужно, уменьшая пропускную способность.
Оно возвращает сессию алхимии, которая, если я правильно понимаю, сама берет на себя управление пулом через engine. Как-то так:
https://ideone.com/y7geaX
Когда делал без алхимии через чистые SQL-запросы - без пула просто в каждом обработчике маршрута создавал соединение и закрывал его. Это наверное точно хуевый вариант.

>>3291185
Спасибо за годный совет. Начинал что-то подобное делать, когда читал Конкурентное программирование Фаулера, но не хватило скилла.
Аноним 07/10/24 Пнд 11:19:56 3291551 146
Объясните как ребенку разницу между asyncio и threading в контексте типичного веб-сервера с БД и мемкэшом/редиской. Вот мое понимание:
Преимущества asyncio:
- можно отменять IO;
- меньше ебли с синхронизацией;
- легко запустить что-то вместе с веб-сервером в том же процессе, например, очередь и обработчиков бэкграунд тасок.
Недостатки asyncio:
- новый синтаксис async/await, заражающий программу;
- сырое говно или просто ничего вместо библиотек.
Аноним 07/10/24 Пнд 12:22:03 3291615 147
>>3284682 (OP)
>Питон встаёт на путь избавления от GIL
Только встает, а будет когда?
Это типа лозунг? Даешь свободу от гил в пять версий!
Аноним 07/10/24 Пнд 12:45:57 3291651 148
>>3291615
Поднимется (уже поднялся) вой макак, мейнтейнящих популярные библиотеки. Дескать, пользователи будут ныть и спрашивать, а не non-gil ли библиотека, а если нет, то когда будет???
Очень много мультипоточного и нетворкинг кода написано с неопределенным поведением CPython и GIL. Для нас, рядовых пользователей, gil-free библиотеки будут доступны лет через 5-10 в лучшем случае.
Аноним 07/10/24 Пнд 13:15:21 3291703 149
>>3291651
Ооо питонисты опять себе придумали болезненную миграцию как с 2 в 3 версии.
Аноним 07/10/24 Пнд 14:21:34 3291754 150
>>3291703
Это хуже. Теперь необходимо поддерживать 4 версии модуля - все комбинации (sync, async) x (gif, non-gil).
При этом отключение GIL остается опциональным, как подсказки типов и их статический анализ.
Язык раздут никому не нужной хуитой до неузнаваемости, почти как C++. Уход Гвидо можно понять - он не способен защищать решения PSF.
Аноним 07/10/24 Пнд 14:50:54 3291773 151
Аноним 07/10/24 Пнд 16:30:39 3291892 152
>>3291551
корутины легче тредов
Аноним 07/10/24 Пнд 21:26:29 3292146 153
>>3291551
> сырое говно
async/await вообще уже старая технология
в версии 3.5 появилась, а сейчас уже 3.13 выкатили

там главный плюс в работе с сетью, другой механизм используется, select/epoll, который позволяет переключаться на ту задачу, куда пришли данные. Это намного эффективнее, чем у тредов, когда у тебя сетевых соединений много
Аноним 07/10/24 Пнд 21:44:32 3292157 154
1728326630939.jpg 236Кб, 1200x1052
1200x1052
На пистоне ждуну сейчас вообще реально найти работу? Учил пару лет назад, обосрался с пары отказов и убежал в слезах. А вообще другую работу нашел в саппорте.
Аноним 07/10/24 Пнд 21:51:04 3292162 155
Стикер 319Кб, 512x512
512x512
>>3285781
>SOLID - свод принципов
>можно заюзать DI - контейнер, в который ты просто
Бля, а можно просто наговнякать синглтон класс, назвать его КОНФИГ и дергать где нужно.
Аноним 07/10/24 Пнд 21:55:20 3292166 156
>>3292162
>можно просто наговнякать синглтон класс
Это для Java. В Python можно просто наговнякать имена на уровне модуля, отдельный класс не нужен.
А еще лучше написать всю программу в одном классе, в self класть все "глобальное". Зачем? Чтобы не писать всюду "global" стейтменты.
Аноним 08/10/24 Втр 01:12:59 3292239 157
>>3292162
>Бля, а можно просто наговнякать синглтон класс, назвать его КОНФИГ и дергать где нужно.
А минусы какие?
Аноним 08/10/24 Втр 10:38:05 3292366 158
>>3284682 (OP)
> Питон встаёт на путь избавления от GIL. Подключают JIT технологии.
Опыт Mojo говорит, что нихуя не получится. Динамикодриснёвость ограничивает максимальный перформанс.
Аноним 08/10/24 Втр 10:42:06 3292372 159
>>3292239
Макаки смузихлебы скажут что ты пишешь плохо.
Аноним 08/10/24 Втр 16:56:12 3292716 160
Блок if...elif...else - это анти-паттерн? Паттерн Стратегию в питоне применяют?
Когда в блоке try...except больше одного except, это анти-паттерн? Правильнее ли ловить Exception или BaseException, и обрабатывать по Паттерну Стратегии?
Как произвести инъекцию зависимости-стратегии в блок try...except?
Аноним 08/10/24 Втр 17:31:57 3292742 161
1728397711.png 36Кб, 657x248
657x248
Вот как мне этот текст получить в интерактивном питоне в виде переменной, чтобы дальше там хуйню делать? Везде пишут, что питон охуеть удобный интерактивный шелл, но это блять невозможно, как не пробовал 'grep .. | python', 'grep .. | python -ic' все равно питон пытается прочитать этот текст как скрипт и очевидно обсирается. я просто хочу сделать sys.stdin.read()
Аноним 08/10/24 Втр 18:00:46 3292773 162
>>3292742
with os.popen("ls") as stream: q = stream.read().split("\n")
Аноним 08/10/24 Втр 19:40:41 3292874 163
>>3292773
ты не выкупаешь, как мне отправить этот текст в stdin интерактивного питухана, чтобы он не обосрался?
Аноним 08/10/24 Втр 19:51:31 3292892 164
2024-10-08-1850[...].png 24Кб, 1123x270
1123x270
>>3292874
Не выкупаю что тебе нужно.
Вот я в интерактивном питухане запустил шел команду и получил ее выхлоп в переменную.

Если это не то, что тебе нужно, попробуй объяснить еще раз.
Аноним 09/10/24 Срд 01:26:38 3293153 165
>>3292892
>я в интерактивном питухане запустил шел команду
а я хочу в шелле запустить команду и пайпануть её в интерактивный питон. но видимо так не получится. твой вариант нормальный и работает.
Аноним 09/10/24 Срд 20:31:46 3293790 166
Понадобилось накидать простой скрипт на питоне. Я слышал, что у вас есть глобальный лок и всегда работает только 1 поток. Значит ли это, что я не могу запуситть 10 тредов которые считывают огромный поток данных с файлов (или сокетов), потому что эти треды будут ждать друг друга?
Аноним 09/10/24 Срд 21:46:57 3293883 167
>>3293790
Можешь запустить без проблем.
Насколько это будет медленее, чем на другом языке - нужно тестировать.

Так же, в последней версии Питона теперь можно отключить это потоковое ограничение.
Аноним 10/10/24 Чтв 01:05:18 3293971 168
Че навернуть? Кроме говна. Сделал одну книжку от корки до корки, нихуя не понял, кроме того что хироку в рф недоступен и пришлось это всё на питонэнивере делать. Есть мб что-то структурированное, уровня как какать(писать), мб курс какой, я хуй знает. Если что прочитал Eric Matthes - Python Crash Course. Хочу ещё не знаю чего.
Аноним 10/10/24 Чтв 05:27:00 3293997 169
>>3293971
Сделай уже что нибудь
Аноним 10/10/24 Чтв 07:15:03 3294031 170
>>3293971
Научись писать программы на C и забудь про питон и затем интероп питон-C.
Аноним 10/10/24 Чтв 10:56:07 3294242 171
Аноним 10/10/24 Чтв 14:38:42 3294443 172
>>3293997
Че сделать? Легендарный калькулатор надеюсь. Я просто без шуток не понимаю, как можно что то своё высрать, потому что все эти проекты по книжке какой то кринж, ну сделал и сделал - хуйня какая то.
>>3294242
Не знаю, работу найти наверное, пока просто щупаю материал, не понимаю надо оно мне или нет, вроде сидеть чет пердеть не западло, просто общее не понимание как и в любой другой области когда вкатываешься. Поэтому и прошу какой нибудь ещё материал навернуть.
Аноним 10/10/24 Чтв 20:38:56 3294813 173
>>3294443
Какую работу? Веб-макакой?
Аноним 11/10/24 Птн 16:25:41 3295483 174
>>3294443
>Че сделать? Легендарный калькулатор
Платина и вечный вопрос барист-вкатунов, жертв курсов и прочих ванаби 300кк в наносекунду. Если тебе ничего не хочется погромировать, писать всякую хуйню для себя в стол, нет каких-то повседневных задачь, которые ты бы хотел решить с помощью своих новых скиллов, или если тебе не хочется просто погружаться в науку, в дебри байтоебства, то может это и не для тебя, ты ведь получается изначально сюда полез потому что на пикабу прочитал, что в айти можно миллиард за месяц заработать.
Аноним 11/10/24 Птн 17:29:39 3295539 175
>>3290042
Ну я разделил проект на дюжину модулей. Каждый из которых начинается портянкой импорта толпы функций из друг друга. Так и не понял чем это лучше одного main.py
Аноним 11/10/24 Птн 17:36:20 3295545 176
>>3295539
Только если у тебя в каждом модуле есть приватные штуки которые не экспортируются никуда. Так общая площадь все таки чуть меньше.
Аноним 11/10/24 Птн 17:52:12 3295564 177
Накидал скрипт который должен был запускаться периодически и измерять скорость. https://pastebin.com/mDd1C8Lz
Но он почему то во время измерения тупо грузит на фул проц и не пишет ничего в файл по итогу. Почему?
Аноним 11/10/24 Птн 18:22:23 3295633 178
>>3295564
У питонистов не принята практика использования дебаггера?
Аноним 11/10/24 Птн 19:17:55 3295698 179
>>3295633
программа не останавливается под дебагером почему то.
Аноним 11/10/24 Птн 20:04:18 3295737 180
>>3295698
Попробуй перезагрузить компьютер.
Аноним 11/10/24 Птн 20:29:54 3295750 181
>>3295483
>нет каких-то повседневных задач
Тут кстати виндусятники соснулей. Потому что под линухом можно делать себе консольные утилиты, даже если работаешь не напрямую прогером, а просто под свои рабочие задачи или если возможности гуя не нравятся. А вот смд пососная хуета вместо консольки.
Аноним 11/10/24 Птн 20:40:54 3295762 182
>>3295750
Ну так есть tk на котором можно КНОПКУ сделать.
Аноним 11/10/24 Птн 20:46:54 3295767 183
>>3295762
сделал кнопку
@
всю логику разместил в обработчике онклик
Аноним 11/10/24 Птн 20:48:04 3295768 184
>>3295767
Збс же. Чем не скрипт.
Аноним 11/10/24 Птн 20:48:57 3295769 185
>>3294443
Сделай то чем будешь пользоваться, то что автоматизирует какие то вещи. Может веб хуйню, парсер там новостей или рейтинга в доте, календарь, не ебу.
Аноним 11/10/24 Птн 22:46:46 3295818 186
Screenshot20241[...].jpg 78Кб, 720x960
720x960
Помогите дегенерату, а то меня отчислят нахуй
Аноним 11/10/24 Птн 23:33:02 3295853 187
Аноним 12/10/24 Суб 01:00:00 3295894 188
>>3295818
Вот на, держи. Программа спрашивает какую фигуру надо и какого размера:
```
print('please type the type of figure (0,1,2)')
type_of_figure=int(input())
print('please enter the size of figure')
a = int(input())
0
if type_of_figure == 0:
for i in range (a):
print(''a)

elif type_of_figure == 1:
for i in range (a):
print(''(i+1), end='')
print(' '(a-i-1))

elif type_of_figure == 2:
for i in range (a):
print(' '
(a-i-1), end='')
print(''(i+1))

else:
print('No such figure')
```
Теперь рассказывай как ты докатился до такой жизни?

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

И кстати этот>>3295853 прав, нейросетки такое на изи пишут.
Аноним 12/10/24 Суб 01:02:03 3295895 189
image.png 30Кб, 495x447
495x447
Аноним 12/10/24 Суб 11:46:29 3296032 190
Аноним 12/10/24 Суб 12:25:19 3296054 191
>>3284682 (OP)
Чёт посмотрел на typing, блядь, какой же питон - ссанина убогая.
Аноним 12/10/24 Суб 12:28:06 3296056 192
>>3296054
Че с ним не так? И что это вообще.
Аноним 12/10/24 Суб 12:31:46 3296058 193
>>3296056
Аннотации типов, сделано пиздец сложно и убого.
Аноним 12/10/24 Суб 12:33:47 3296059 194
>>3296058
По сравнению с чем?
Аноним 12/10/24 Суб 12:36:35 3296062 195
>>3296059
По сравнению с хуем твоей мамки.
Аноним 12/10/24 Суб 12:46:16 3296072 196
>>3296062
Обрати внимания на эту боль. Она вызвана тем, что у тебя есть ощущение "сложно и убого", но рационально объяснить чем оно вызвано ты не можешь. Часто, это показатель того что ты не понимаешь о чем говоришь.
Аноним 12/10/24 Суб 12:50:59 3296075 197
>>3296072
Скорее ты не понимаешь, потому что сразу высираешь про "сравнение с чем". Говно оно говно, не потому что говно относительно чего-то.
>уиии боль
Детектор дегенерата.
Аноним 12/10/24 Суб 13:11:07 3296089 198
>>3296075
Не волнуйся, ты повзрослеешь и успокоишься.
Аноним 12/10/24 Суб 17:17:28 3296290 199
Посоветуйте плиз топ ресурс для обучения питону и программированию с нуля.
Аноним 12/10/24 Суб 17:31:30 3296306 200
>>3296290
Если хочешь топ - то НЕ начинай обучение программирования с питона. Почитай K&R ANSI C, забудь про книги/туториалы/ресурсы, и сделай что-нибудь интересное.
Аноним 12/10/24 Суб 19:23:22 3296406 201
изображение.png 1130Кб, 748x934
748x934
Что представляет собой класс и его методы на на уровне памяти? Как питон организует вызовы функций в классе?
Аноним 12/10/24 Суб 20:21:38 3296449 202
Аноним 12/10/24 Суб 22:45:05 3296596 203
>>3296032
ставил, ставил. На надо думать, что я тупой. Сам попробуй понять где программа виснет
Аноним 13/10/24 Вск 08:06:53 3296757 204
>>3296596
>ставил, ставил. На надо думать, что я тупой. Сам попробуй понять где программа виснет
Кнопки Step Over / Step Into или аналог в дебаггере пробовал нажимать?
Аноним 13/10/24 Вск 12:22:13 3296852 205
Суп, прогроммисты. Сам ни разу не из ваших, но понадобилось сделать кое-что на питоне.
Есть простая табличка в файле .html https://pastebin.com/XmHtgnB3
Есть файл .py, в котором происходит некая магия, в конце которой получается несколько списков, в которых хранятся названия товаров, их цена.

Собсна, как мне сформировать итоговую табличку, которая будет выводить товар и его цену?
Другими словами - как мне переменные из файла .py запихнуть в ьабличку файла .html?
Аноним 13/10/24 Вск 12:26:28 3296856 206
>>3296852
Немного уточню.
Есть два списка:
tovar = ['moloko', 'hleb', 'yaitsa']
cena = ['100', '50', '150']
Как циклом запихнуть каждое значение в таблицу хтмл, чтобы получилась таблица вида https://pastebin.com/v7CxiqmG
Аноним 13/10/24 Вск 14:13:07 3296944 207
Аноним 13/10/24 Вск 19:15:10 3297284 208
>>3296944
Спасибо, но немного не то. Твой код формирует хтмл код, а у меня он уже готовый. Мне надо было именно в код вставить переменные.

Может кому пригодится:
main.py
def index():
return render_template('index.html', joined = zip(getProducts(), getPrices()), checkdata = checkdata, finalprice = finalprice)

joined - объединяем два списка с данными. Получается формата joined = [['1', '2', '3'], ['a', 'b', 'c']]

checkdata, fianlprice - просто переменные с 1 значением

index.html
{%for prod, price in joined%}
<tr>
<th>{{prod}}</th>
<th>{{price}}</th>
</tr>
{%endfor%}

Тут просто перебирание циклом. Переменные вставляются так - {{x}}
Аноним 15/10/24 Втр 07:32:07 3298466 209
Есть какие-то книги или курсы, где хорошо разобраны эксепшены?
То есть не банальный синтаксис и механика, с этим всё понятно, а именно применение на практике в прикладном коде.
Аноним 15/10/24 Втр 09:44:20 3298534 210
>>3298466
>а именно применение на практике в прикладном коде.
На практике есть два подхода. Первый - оборачиваешь сколько угодно большие блоки кода в трай-кетч, делаешь что хочешь и как хочешь, скрывая баги. Второй - обрабатываешь исключения практически у каждой строки кода, оборачивая локальные исключения в более уместные типы, например.
Когда поймешь, что только второй подход приводит к корректным программам, то выяснишь, что эксепшены - это хуйня, придуманная конченным идиотом, которую распространили в огромном количестве ЯП просто потому что это модно. Даже в языках со статическим анализом типов мы получаем функции вида (X -> Y | Error), где Error - это ебаный интерфейс за которым может быть все что угодно на хуй. Статический анализ идет в сраку. Это особенно актуально в программах, построенных на нескольких сторонних библиотеках. При обновлении библиотеки компилятор тебе не скажет о том что появился или изменился тип ошибки на строке 666 - узнаешь ты об этом только в рантайме.
Аноним 15/10/24 Втр 12:59:54 3298700 211
>>3298534
>На практике есть два подхода. Первый - оборачиваешь сколько угодно большие блоки кода в трай-кетч, делаешь что хочешь и как хочешь, скрывая баги. Второй - обрабатываешь исключения практически у каждой строки кода, оборачивая локальные исключения в более уместные типы, например.

Зачем оборачивать "сколько угодно большие блоки кода" или "каждую строку кода"?
Видимо, ты это делаешь чтобы ловить НЕПРЕДВИДЕННЫЕ исключения т.е. баги грубо говоря. Держу в курсе, что для этого тебе не нужно оборачивать весь код или тем более каждую строку пиздец с кем водном треде сижу. Ты можешь добавить обработчик исключений с логикой на уровне всего модуля например. Это закрывает непредвиденные исключения и для этого в питоне есть все инструменты.
Каждую же строку покрывать нужно разве что только фимозным тестерам, но это отдельная задача и отдельная работа.

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

>трай-кетч
>Когда поймешь
Поражает как баристы-вкатуны кукарекают с умным видом о вещах в которых не разбираются, ещё и учат кого-то.
Аноним 15/10/24 Втр 13:19:30 3298713 212
>>3298700
В высокоуровневомм коде буквально каждый вызов функции ассоциирован с множеством ЛОГИЧЕСКИХ ошибок. Вместо блока switch, как в нормальных языках, нужно писать трай эксепт. Ловить логические ошибки в общем обработки исключений нельзя - теряется контекст.
Проблема в том, что ЛОГИЧЕСКИЕ ошибки - это на самом деле часть интерфейса функции, и они должны быть выражены в ее сигнатуре. Вместо этого они пишутся в докстринге. Статический анализ НЕ РАБОТАЕТ с документацией.
Это ПЛОХОЙ ДИЗАЙН языка программирования.
Аноним 15/10/24 Втр 13:24:29 3298715 213
>>3298713
Ты пытаешься изобрести throws из жабы или крестов?
Или ты обнюхался раста и хочешь один из 100500 крейтов для заворачивания ошибок?
Аноним 15/10/24 Втр 13:26:33 3298718 214
>>3298713
А это ты типизированный нытик, извини не узнал. Зачем продолжаешь мучиться и давить питона? Катись в НОРМАЛЬНЫЕ ЯЗЫКИ, а то вон всё страдаешь.

Алсоу, относись к питухонической конструкции try-except как к условному оператору и попроще будет.
Аноним 15/10/24 Втр 13:51:37 3298745 215
>>3298718
>А это ты типизированный нытик, извини не узнал. Зачем продолжаешь мучиться и давить питона? Катись в НОРМАЛЬНЫЕ ЯЗЫКИ, а то вон всё страдаешь.
Ты в курсе, что PSF уже который год подряд пытается засунуть "опциональную" статическую типизацию а-ля тайпскрипт в питона? Проснись, дядя. ВЕСЬ МИР динамически типизированных языков уже давно ПРИНЯЛ ПОРАЖЕНИЕ. Статический анализ типов - это исключительно ХОРОШАЯ ИДЕЯ. Ни одна контора на планете не пишет говноскрипты на питоне в старом стиле без анально-строгого конфига mypy.
>>3298715
>Ты пытаешься изобрести throws из жабы или крестов?
>Или ты обнюхался раста и хочешь один из 100500 крейтов для заворачивания ошибок?
throws no throws - это тоже хуйня от дебилов. Плохая идея. Хорошая идея - это когда все функции могут вернуть ОГРАНИЧЕННОЕ и ЯВНОЕ множество типов. Посмотри на программы написанные на Standard ML или Haskell, например.
Почему? Практическая причина номер 1 - обновление зависимостей. С исключениями компилятор / статический анализатор НЕ МОЖЕТ сказать тебе, что программа сломана, потому что одна из транзитивных зависимостей случайно поменяла свой интерфейс, добавив новый тип исключения.
Хорошее программное обеспечение НЕВОЗМОЖНО написать на таком языке программирования, потому что его НЕВОЗМОЖНО формально верифицировать. Программа работает только на твоей слепой вере.
Аноним 15/10/24 Втр 13:58:55 3298751 216
>>3298745
> Standard ML или Haskell,
Как только софт которым я пользуюсь будет хотя бы на 10% состоять из программ написанных на вышеуказанном, я может быть подумаю.

Реальность такова что почти весь реальный софт который стоит у тебя на компе это с/с++ для самых важных программ, от ОС до браузера. Игровые движки, кады и прочее почти всегда написаны на сишечке или крестах.

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

В общем все эти студенческие фантазии о хаскеле и иже с ними для нищих.
Аноним 15/10/24 Втр 14:04:02 3298753 217
Стикер 255Кб, 512x512
512x512
>>3298713
>В высокоуровневомм коде буквально каждый вызов функции ассоциирован с множеством ЛОГИЧЕСКИХ ошибок.

Какие же питонисты всё-таки гигочеды. Вирджены перекатуны из НОРМАЛЬНЫХ ЯЗЫКОВ оказывается не способны и 100 строк написать не серя то в штаны то мимо, не делая логических ошибок и если им типизация сопельки не вытирает.
Гигочеты питонисты же могут держать в уме весь контекст приложения, подсказок в виде аннотации более чем достаточно, и пишут так чисто, по всем заветам ООП, что ни одной логической ошибки в рантайме.
Аноним 15/10/24 Втр 14:13:24 3298757 218
>>3298751
>Реальность такова что почти весь реальный софт который стоит у тебя на компе это с/с++ для самых важных программ, от ОС до браузера. Игровые движки, кады и прочее почти всегда написаны на сишечке или крестах.
Конечно же, весь реальный серьезный софт, разработанный с корректностью [1] и производительностью [2] в уме, написан на системных ЯП типа C и C++. В C и C++ нет исключений (в C++ их отключают на хуй на этапе компиляции, потому что они не нужны по перечисленным мной выше причинам, а также из-за несовместимости кода с исключениями с интеропом - если твоя динамическая библиотека будет кидать исключения, тебя сразу уволят к хуям).
Haskell и SML - это примеры для гладкомозгных питонистов-баристов, которые не способны написанию программ с ручным управлением памятью. Питонисту не понять, что память - это такой же ресурс как файл или сокет, и код нужно писать УЧИТЫВАЯ выделение и освобождение памяти. Именно поэтому все серьезные критические программы не выделяют память динамически, за исключением инициализации программы. Это еще одна точка падения. В программах, написанных на петоне, КАЖДАЯ СТРОКА может поднять MemoryError. Это игрушечный язык программирования.
Аноним 15/10/24 Втр 14:19:01 3298762 219
>>3298757
Справедливости ради 99% софта написанного на си не обрабатывает ошибки аллокации на уровне логики приложения.
В лучшем случае malloc завернут в ассерт.
И кроме некоторых игр и ядра, мало кто не устраивает пиздец с аллокациями налево и направо. Что с++ что раст хуячат аллокации без остановки, потому что все динамические контейнеры делают это по дефолту.
Аноним 15/10/24 Втр 14:21:10 3298763 220
>>3298757
Юношеский максимализм в суждениях, ух весь настоящий софт на ассемблере написан, остальные языки - синтаксический сахар и не нужны, будем как диды писать.

Это пройдет. Потому что есть задача и есть инструмент.
Аноним 15/10/24 Втр 14:38:58 3298776 221
>>3298763
Вопрос в том что важнее, чтобы криворукие неучи могли лабать код, который так или иначе решает чьи-то задачи, или что-бы общее качество софта было лучше.

Рыночек однозначно порешал в пользу первого. Поэтому мы имеем огромное количество софта, качество которого оставляет желать лучшего. Хочется верить что с течением времени все устаканется и в каждой нише будет не-уебищное решение.
Впрочем, смотря на винду и прочие visual studio с офисом, пока что кажется что качество софта в среднем по больнице ебнулось ниже плинтуса.
Аноним 15/10/24 Втр 14:49:55 3298793 222
>>3298776
Рыночек так порешал, что через N лет будет полу-сильный ии, который мычание любой тёти сраки из офиса сможет конвертировать в логику с ммммммаксимальной эффективностью алгоритмов. Как сказал глава НВИДИА языком погромирования станет человеческий язык. Тётя срака скажет ну я хочу чтобы конопочка, чтобы картиночка, а потом смета высиралась, ИИ всё сделает. И на всю галлеру будет один васян, который раз в месяц будет спорные моменты за ИИ подтирать. Вот как всё будет через N лет, но при нашей жизни. Там ОпенАИ уже высрали новую версию ГПТ с рефлексией, который сам себя анализирует и смотрит где не прав, а ещё может в прямом эфире материал изучать.
Так что байтоебы с аллокацией памяти. вы зря свои жопы напрягаете. Человек должен знать только то что ему нужно для работы, увы разум человека не резиновый и всю хуйню на свете вместить не может - для этого есть носители информации. куда человек обратится в случае если нужно какое-то знание. Теперь этот носитель информации - ИИ.
Аноним 15/10/24 Втр 15:34:41 3298843 223
>>3298793
> который мычание любой тёти сраки из офиса сможет конвертировать в логику
Хуита которой нас кормят уже лет 30. Еще DreamWeaver обещал это.

> Там ОпенАИ уже высрали новую версию ГПТ с рефлексией
Не смеши мою жопу. Я этот чатгпт каждый день юзаю чтобы заглушки генерить, и оно конечно впечатляет, но только на заглушки и годится.
Аноним 15/10/24 Втр 15:45:55 3298848 224
>>3298843
>Хуита которой нас кормят уже лет 30.
Ты ещё вспомни что концепцию математической модели нейросети аж в 40-х годах прошлого века придумали. Бум нейронок начался ТОЛЬКО в 2021 году, буквально только три года прошло, и за этот крошечный срок технология развилась феноменально, а "ии" уже в затылок некоторым профессиям дышит и просит подвинуться.

Наивно и даже глупо думать, что развитие технологии ВНЕЗАПНО остановится на той точке на которой оно есть сейчас, спустя всего три года активного роста. Я не экстраполирую линейно, но докрутить генеративную языковую модель до полного или частичного порешания байтоебов - это не фантастика, а обозримая и осязаемая перспектива.
Аноним 15/10/24 Втр 15:57:39 3298861 225
>>3298848
Перед каждой ии зимой такие разговоры были.

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

Тетя срака не будет ебаться с тем чтобы заставлять сети делать то что ей нужно, она наймет промто ждуна, точно так же как она нанимает вордпресс макаку сегодня.
Аноним 15/10/24 Втр 16:07:29 3298879 226
>>3298848
Я буду рад, если кто-то сделает генератор качественного ПО, потому что сегодня все "профессиональное" ПО ужасно, будто сделано отрядом JS-макак.
НО я в это не верю. Почему? Да потому что качественных данных почти нет. Если модель будет накормлена той хуитой, которую высирали макаки каждый день на протяжение последних 20-30 лет, то ничего хорошего из этой модели не выйдет. Говно на входе, моча на выходе.
Аноним 15/10/24 Втр 16:20:05 3298893 227
>>3298861
Какой ещё "каждой"? Генеративные нейронки первый раз три года назад выстрелили, до этого были только теории и нелепые попытки без какого-либо более-менее осязаемого результата. Ты не объективен в этом вопросе и общую картину замазываешь так как тебе хочется видеть.

>>3298879
>Говно на входе, моча на выходе.
Не всё так однозначно. Последние высеры ОпенАИ свидетельствуют о том, что модель может демонстрировать универсальную "логику" которой её не учили. Возможно, когда у тебя непомерно большая база обучения атомарные данные этой базы в сочетании с большим контекстом формируют "новую логику", точно так же как и человеческий мозг в принципе. Человек же тоже ничего сам не придумывает он синтезирует "новое" из песчинок перемешанных и странным образом измененных у него в голове. Алсоу, наука не знает как, почему и из чего возникает сознание. Может оно и так возникает из сингулярности хаотичной информации. в таком случае если скормить нейронки непомерное количество говна, она в итоге будет способна синтезировать шедевр.

Ладно это уже нерилейтед лирика, которая не имеет отношения к тем нейронкам которые у нас есть в открытом доступе всё равно.
Аноним 15/10/24 Втр 16:27:50 3298905 228
image.png 262Кб, 538x360
538x360
Аноним 15/10/24 Втр 18:00:46 3298984 229
>>3298745
>без анально-строгого конфига mypy
До 12 версии питона там пиздец как говёно всё сделано.
>>3298751
>студенческие фантазии о хаскеле и иже с ними для нищих.
У касперского в ос часть инфраструктуры написана на хаскеле (который в си конпелируется). Где твой Б-г теперь?
Аноним 15/10/24 Втр 18:17:01 3299010 230
>>3298984
Эта та хуйня которая верещит как свинья и жрет ресы ос почем зря?

Понятно что есть наркоманы которые будут юзать любую эзотерическую хуйню, просто потому что могут.
Они с таким же успехом могли бы написать все на постксрипте, чеб нет.
Аноним 15/10/24 Втр 18:34:47 3299028 231
>>3299010
Свинью с озвучки убрали лет 10 назад примерно. На моем калькуляторе с виндус 7 последний каспер занимает ровно ноль процессорного времени и 1мб оперативы.
Алсоу каспер в любых хитпарадах лучших антивирусов всегда и по сей день стабильно в тройке лидеров и то только из за черного пиара, якобы там зонд кремля вшит (смешно такое читать особенно вспоминая скандал с эксплойтом этернал блю на винде, и я напоминаю, что этот эксплойт на всех виндусах начиная с 95 был встроен и давал бэкдор, который мог буквально полный доступ к системе давать удаленно)
Аноним 15/10/24 Втр 18:38:07 3299029 232
>>3299028
Если зонда там нет, то вдвойне обидно.
Энивейз, каким раком хаскель со своим гц и ленивостью и антивирь который должен жрать минимум ресурсов оказались в одном предложении, понять сложно.
Аноним 16/10/24 Срд 10:20:12 3299467 233
>>3298776
Ты уже сделал свой охуевший быстрый и безопасный проект на расте, которым все пользуются?

А сколько хуевых ты сделал бы на ебучем питоне?

А если ты не сделал нихуя, то как будто ты просто сидишь и серишь в лужу.
Аноним 16/10/24 Срд 11:26:10 3299532 234
Какие библиотеки сегодня принято использовать у продвинутых веб-барист?
uvloop или стандартный asyncio loop?
aiohttp.web или uvicorn+starlette?
aiohttp или httpx?
psycopg(3) или asyncpg?
redis-py или aioredis?
aiomcache?
Есть ли что-то для MQTT?
aiobotocore или botocore+loop.run_in_executor?
Аноним 16/10/24 Срд 14:18:56 3299754 235
>>3299532
Бери то что предлагает твой фреймворк. Если это фастапи, то он тебе сразу старлетт и uvicorn даст.

А дальше как хочешь. Если делаешь скрипт чисто для себя - нахуй в него тащить aiohttp, можно просто request. Если тебе сервер нужен и поддержка тысяч rps, то бери только проверенные асинхронные библиотеки. Либо оборачивай в to_thread.
Сам решай, ты же не довен.
Аноним 16/10/24 Срд 14:26:16 3299763 236
>>3299029
>Энивейз, каким раком хаскель со своим гц и ленивостью и антивирь который должен жрать минимум ресурсов оказались в одном предложении, понять сложно.
Там хаскель - это вроде слоновая башня, можешь даже для линупс кернела писать на этой ебанине.
>>3298905
А реально вообще с mypy и типииками жить? История: есть программулина, которая юзает ткинтер и хранит данные в sqlite базке, задача была сделать просто и быстро, теперь же планируется расширение проги, в том числе с веб говёным апи и с сурьёзной базой в виде пгсуки - подумываю свалить на говно в связи с этим, реально ли что-то среднего размера написать на петухоне с типами и вот этим всем, или похуй сразу на что-то статическое валить?
Аноним 16/10/24 Срд 14:53:22 3299803 237
>>3299754
> Бери то что предлагает твой фреймворк.
> бери только проверенные асинхронные библиотеки
С этого нужно было начинать. Что у пацанов на грани прогресса считается проверенным? Есть какой-нибудь общепринятый "стэк"? Предпочтений нет, можно и без фреймворка.
Аноним 16/10/24 Срд 15:03:10 3299810 238
>>3299763
Если есть возможность писать на настоящем языке программирования, то рекомендую сделать это. Если нет возможности или желания, то и с mypy можно жить.
Включай все строгие опции:
strict = true
disallow_any_unimported = true
disallow_any_expr = true
disallow_any_decorated = true
disallow_any_explicit = true
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true

Если нужны библиотеки без аннотаций (почти вся стандартная библиотека такая), то выключай disallow_any_expr, иначе будет очень некомфортно. С таким конфигом ты все еще можешь как клоун жонглировать Any типами, но только в скоупе функции, а перед return придется сузить тип с if isinstance, assert isinstance, cast, или своим собственным TypeGuard.
Не забывай, что mypy и pyright не защитят тебя от ложных аннотаций в сторонних модулях.
Аноним 16/10/24 Срд 15:07:16 3299814 239
>>3299810
Спасибо, перекатываюсь на говно, ибо оче сложно выходит.
Аноним 16/10/24 Срд 15:39:11 3299830 240
>>3299810
Пользователи настоящих языков (с) поясните по хардкору в чем сакральный смысл этих ваших святых типов, что вы без них не можете ничего писать?
Предполагается что программист это мычащее пускающее слюни животное, которое и говорит с трудом и уж тем более не понимает куда какие аргументы в его коде должны втыкаться без строкой типизации?
Аноним 16/10/24 Срд 15:45:01 3299834 241
>>3299830
Если ты все время свой один пет пилишь, то можно обойтись динамикодрисней. Если слету заскакивешь на кабаний проект, то очень надо. Навигация по коду, автоматический рефакторинг, подсказки методов, подсказки документации типов, самодокументируемость кода выше.
Аноним 16/10/24 Срд 15:47:32 3299837 242
>>3299834
>Навигация по коду, автоматический рефакторинг, подсказки методов, подсказки документации типов, самодокументируемость кода выше.
Но это всё делает пайчарм на основе аннотации типов. Из за этого что ли весь баттхерт?
Аноним 16/10/24 Срд 15:48:38 3299838 243
>>3299834
Это всё хуйня, по сравнению с тем, что есть минимальные ГАРАНТИИ КОРРЕКТНОСТИ программы.
>>3299837
>нахуя вам типы
>да всё заебок есть костыль на основе аннотации типов
Пиздец, блядь.
Аноним 16/10/24 Срд 15:55:29 3299849 244
>>3299838
>да всё заебок есть костыль на основе аннотации типов
Дружище, я же нормально спросил. Мне ответили, что святая типизация это такая вот подсказка для макаки, чтобы проще было в чужом коде разобраться. Ну и если это так, если это просто подсказка для макаки, то в питоне же и без строгой типизации это всё есть так или иначе.

>ГАРАНТИИ КОРРЕКТНОСТИ
Приведи пример. Вот этот код с ГАРАНТИЯМИ КОРРЕКТНОСТИ заебись и такой код на питухоне не напишешь. Но мне почему-то кажется что суть явления которое ты прячешь за ФОРМУЛИРОВКАМИ сведется к тому что строгая типизация просто помогает макаке не обосраться. Т.е. всё сведется к тому что мне ответили выше - строгая типизация это просто QoL фича.
Аноним 16/10/24 Срд 16:02:43 3299861 245
>>3299849
Типизация - это и есть твои анотации, неправильно, аннотации типов - это попытка в типизацию, дружище.
>Приведи пример. Вот этот код с ГАРАНТИЯМИ КОРРЕКТНОСТИ заебись и такой код на питухоне не напишешь. Но мне почему-то кажется что суть явления которое ты прячешь за ФОРМУЛИРОВКАМИ сведется к тому что строгая типизация просто помогает макаке не обосраться. Т.е. всё сведется к тому что мне ответили выше - строгая типизация это просто QoL фича.
Для продолжения беседы нужен пруф, что ты не толстишь.
Аноним 16/10/24 Срд 16:08:03 3299864 246
>>3299861
Ну вот так всегда, визгов про типизацию выше гор, а когда спрашиваешь по сути - начинается виляние жопой. Сектанты вы. которые привыкли к некоему интерфейсу перешли в другой - там всё иначе и вы этим окружающих заебываете.
Аноним 16/10/24 Срд 16:13:43 3299868 247
>>3299864
Почему не смог в чтение?
>Для продолжения беседы нужен пруф, что ты не толстишь.
Аноним 16/10/24 Срд 18:53:00 3300020 248
>>3299830
>в чем сакральный смысл этих ваших святых типов, что вы без них не можете ничего писать?
Если бы ты когда-нибудь писал программы на статически типизированном компилируемом языке, то ты бы знал, что компилятор не скомпилирует программу, если не сможет доказать корректность на уровне типов (если ты его явно не обманул небезопасным кастом).
Если бы ты когда-нибудь занимался рефакторингом, то ты бы ценил ошибки компилятора. Хочешь изменить атрибут структуры или аргумент функции? Поменяй, и компилятор покажет тебе все места в коде, где этот атрибут или аргумент теперь неправильно используется. Исправь все ошибки, и ты уже на шаг ближе к цели. Рефакторинг проекта условно среднего размера в настоящих языках программирования занимает пару вечеров, и ты заканчиваешь рефакторинг с уверенностью в корректности программы.
Как это выглядит в питоне? Хуячим грепом и надеемся, что где-то не пропустили. Рефакторинг любого проекта на питоне заканчивается только тогда, когда ты навернул 100% покрытия юнит тестами, и не дай бог ты забыл проверить типы аргументов и возвращаемых значений каждой функции. Если не покрыл тестами - твоя программа на самом деле не корректна.
Mypy, pyright, pytype, и прочие программы ЗНАЧИТЕЛЬНО увеличивают продуктивность при разработке нетривиальных программ. Не с нихуя такие гиганты как google (python), dropbox (python), stripe (ruby), microsoft (javascript), и другие вложили огромные ресурсы в утилиты для статического анализа.
Питону не хватает хорошего интерпретатора, отключения GIL, и опционального строгого режима анализа типов на уровне интерпретатора.
Думайте.
Аноним 16/10/24 Срд 19:37:24 3300056 249
>>3300020
Ну т.е. настоящий (серьезный, взрослый, не детский, не пет) проект это спагетти говнокод, где один аргумент насквозь проходит через всю программу, а пускающие слюни макаки не в состоянии его изменить не сломав всё остальное. Типизация же помогает дегенератам настоящим программистам в этом нелегком деле рефакторинга.

Ну собственно я всегда так и знал, просто не мог поверить и хотел уточнить, почему все так визжат закатив глаза и требуют святую типизацию в питухоне.
Аноним 16/10/24 Срд 21:05:44 3300114 250
>>3300056
>словно хуй дроченый в жопу пидора вошел аргумент в функцию
Аноним 16/10/24 Срд 21:18:49 3300116 251
Аноним 16/10/24 Срд 21:48:34 3300126 252
>>3300116
Но ведь сама типизация тут не при чем, как мы выяснили из ответов выше, весь баттхерт из за того, что настоящим программистам нужен помощник, который таким вот образом чекает их говнокод. Так-то все эти инструменты давно есть, но они продолжают визжать и ныть, надо чтобы всё было встроено.
Аноним 16/10/24 Срд 22:46:28 3300162 253
>>3299803
Если тебе сервак то у тебя два стула. Либо джанго и там все уже будет. Либо если ты любишь сам подбирать стек - фаст апи. К фаст апи либо sqlmodel, либо sqlalchemy. У фаст апи прям жирнющая дока в которой очень opininoned все написано. Можешь с нее начать, будешь самый модный на районе. И uv вместо pip и poetry возьми.
Аноним 16/10/24 Срд 22:49:15 3300166 254
>>3300020
GIL почти отключили. В 13 эксперементально выключается. Только нахуй оно тебе надо, если математика в numpy и так выключена, IO bound не подвержен gil, а для всего есть асинки?
Че ты там считать такое в тредах собрался, что тебе нужно отключение гила?
Аноним 16/10/24 Срд 23:27:49 3300179 255
>>3300166
>Только нахуй оно тебе надо, если математика в numpy и так выключена, IO bound не подвержен gil, а для всего есть асинки?
>Че ты там считать такое в тредах собрался, что тебе нужно отключение гила?
Чтобы не запускать 128 процессов на сервере с 128-поточным процессором, конечно же. Даже если сделать load then fork вместо классического питонячего fork then load, вся CoW память процесса будет скопирована из-за референс каунтинга вообще всего, даже модулей и объектов кода.
Аноним 16/10/24 Срд 23:49:15 3300184 256
>>3300179
Ты можешь пример из жизни привести? Че ты там собрался в процессах считать?
Аноним 17/10/24 Чтв 00:37:39 3300209 257
Аноны, а что есть почитать по питону для уже знакомых с разработкой в целом и с питоном в частности? Что-нибудь более углубленное для уровня миддла и желательно современное.
Сейчас в основном работаю с фастапи, интересуют принципы работы интерпретатора, асинхронность, такие вот вещи.
Аноним 17/10/24 Чтв 02:29:30 3300227 258
>>3300162
>У фаст апи прям жирнющая дока в которой очень opininoned все написано.
Все так восхищаются докой фастапи, а по-моему у джанги документация на порядок пизже.
Аноним 17/10/24 Чтв 02:30:32 3300228 259
>>3300184
>Че ты там собрался в процессах считать?
Протеины.
Аноним 17/10/24 Чтв 02:32:52 3300229 260
image.png 84Кб, 242x348
242x348
>>3300209
> для уже знакомых с разработкой
См. >>3284908

>асинхронность
Пик
Аноним 17/10/24 Чтв 14:09:18 3300598 261
>ряяя нахуя вам си, чё макака не осилила на асме под хуй86
Я всё правильно, понял о доводах дебила, который против типов?
Аноним 17/10/24 Чтв 21:01:28 3300923 262
>>3284682 (OP)
как запостить видео в свой телеграм канал через бота
сообщения отправляются а вот с видео беда
Аноним 17/10/24 Чтв 21:11:06 3300925 263
>>3299532
>>3299754
>>3299803
>>3300162
>>3300227
Вот честно объясните, для чего вам asyncio? Почему не создать 100-1000-5000 тредов в тредпуле, или загнать gevent на худой конец? У asyncio нет проверенных библиотек. Вы понимаете насколько сложно писать сетевой код? Сколько крайних случаев может быть у сетевых протоколов? Это полировали десятки лет в обычном не-асинк питоне. У asyncio библиотек ишуе-трекеры на гитхабе завалены багами и уязвимостями.
Это честный и серьезный вопрос, не троллинг.
Аноним 17/10/24 Чтв 21:55:21 3300948 264
>>3300925
>У asyncio нет проверенных библиотек
Что ты имеешь в виду?
Аноним 17/10/24 Чтв 22:20:20 3300963 265
Аноним 17/10/24 Чтв 23:10:24 3300988 266
>>3300925
>Почему не создать 100-1000-5000 тредов в тредпуле
Так создай 5000 тредов и 5000 корутин с реквестами к хттпбин и проверь.
Аноним 17/10/24 Чтв 23:28:48 3300997 267
>>3300925
Я может в институте плохо учился, потому что пиво много пил, но насколько я помню, асинхронность от тредов в питухоне отличается только тем, что в асинхроности ты сам решаешь где горлышко бутылки и когда уступать выполнение, а в питонячем трединге из за ГИЛа всё равно нет этого самого трединга, одна видимость, и там то же самое уступание, только когда утупать выбирает управляющая система. Т.е. если ты насрешь 5к тредов у тебя всё время будет тратится на бесполезное переключение между тредами. Но это не точно.
Аноним 18/10/24 Птн 07:19:03 3301164 268
>>3300997
Различай вытесняющую многозадачность - когда коды переключает система по таймеру и кооперативную - когда твой код уступает место во время ожидания. В питоне возможна асинхронность на основе кооперативной многозадачности. Все дело в том, что GIL разблокируется во время выполнения операций ввода-вывода и и когда вычисления произволятся не в питонячем коде, а в сишной коде модуля типа numpy. Например ты в треде делаешь реквест с помощью либы requests, и тред засыпает пока не придет ответ от сервера, в этот момент GIL разблокируется, и управление передается следующему треду из пула. В новом треде начинает выполнятся питон, и GIL блокирует другие треды. Потом выполнение доходит до кода с запросом requests, и тред засыпает и разблокирует GIL. И так далее.
Аноним 18/10/24 Птн 09:38:17 3301234 269
>>3300925
>Почему не создать 100-1000-5000 тредов в тредпуле
А в петухоне треды - это прямо треды, как в pthread, или какая-то лайт хуитка как корутины в говне?
Аноним 18/10/24 Птн 17:19:50 3301667 270
Питоняши, какова сейчас нестыдная зарплата для обычного мидла-мидла+, без лидских задач (но есть менторство), на удаленке? Сам получаю 260к и временами парюсь что мог бы зарабатывать больше, если бы менял компании, получал больше опыта на различных проектах.
Аноним 18/10/24 Птн 21:12:08 3301843 271
image.png 28Кб, 753x382
753x382
Посоветуйте хорошую практику чтобы такие конфиги генерить.

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

Думал шаблонизатор на jinja2 сделать, но мне сказали что оверкилл.
Аноним 18/10/24 Птн 21:50:45 3301857 272
>>3301843
Я в таких случаях решил использовать класс с паттерном синглтон, наследуемый от словаря. Он в таком виде получается просто как контейнер с полями.
Аноним 18/10/24 Птн 22:12:54 3301869 273
Аноним 19/10/24 Суб 00:15:02 3301968 274
>>3301843
Я не скажу что это прям хорошая практика, но мы вообще подымали игрушечную постгрю с графическим интерфейсом поверх (Directus) и простой схемой, и ее кверяли в рантайме. Полет нормальный если к дизайну не допускать DWH шиза который налепит двадцать пятую нормальную форму.
ГигаIDE - ГООООЛ? Аноним 21/10/24 Пнд 05:24:53 3303970 275
image.png 256Кб, 1919x1001
1919x1001
image.png 57Кб, 300x168
300x168
Поясните за ГигаIDE, я скачал и это intelli + pycharm в одном. Ну в принципе эти ide это open source. То есть сбер взял эти ide которые open source, объеденил в одно и добавил своё расширение гигакод, и сказал это ГООООЛ? Так что ли?

https://gitverse.ru/features/gigaide

Затестите и скажите ваше мнение.
Аноним 21/10/24 Пнд 08:41:48 3304000 276
image 83Кб, 1183x377
1183x377
>>3303970
>я скачал и это intelli + pycharm в одном
Поражаюсь твоей проницательности.
Аноним 21/10/24 Пнд 09:22:31 3304026 277
Аноним 21/10/24 Пнд 14:40:16 3304405 278
>>3303970
>Затестите и скажите ваше мнение.
Ты только что познал суть российского импортозамещения и аналоговнетных продуктов.
Аноним 21/10/24 Пнд 15:05:59 3304432 279
>>3299830
В больших проектах динамика это ад, особенно если начинаешь работать над той частью, которую писал другой человек.
Дело даже не в корретности, а в отсутствии необходимости постоянно чекать что у тебя во входных данных придет когда ты собственно что-то переписываешь, вот есть какая-нибудь бизнес хуйня типа куска заказа, а что это какой-то класс, словарь или вообще другое непонятно.
Аноним 21/10/24 Пнд 18:15:09 3304682 280
>>3284682 (OP)
Чем вы Питухон интерактивно дебажите? ВСКоде?
Аноним 21/10/24 Пнд 19:14:05 3304742 281
>>3303970
Охереть наговнили, в win11 нельзя увидить эту программу в apps, собственно, по простому удалить.
Аноним 21/10/24 Пнд 20:56:12 3304879 282
>>3304682
Просто print в консольку линуха.
Аноним 21/10/24 Пнд 22:03:29 3304908 283
>>3304879
А если сложную структуру посмотреть?
Аноним 21/10/24 Пнд 22:20:05 3304912 284
Аноним 21/10/24 Пнд 22:42:26 3304922 285
17142847338780.jpg 143Кб, 800x400
800x400
Аноним 21/10/24 Пнд 22:46:28 3304928 286
Аноним 21/10/24 Пнд 22:59:46 3304937 287
>>3304908
for ... print в нужном месте. А еще у меня обычно пользовательские исключения и маленький самописный логер на одну функцию с цветами сообщений что сам подобрал себе по вкусу, аргументы и вывод которого меняю под проект.
Но я камплюктер начинал еще с MS-DOS, мне норм я привык, также как и люблю копролиты в один крупный py файл (но не всегда).
Аноним 21/10/24 Пнд 23:07:02 3304943 288
>>3304937
>for ... print в нужном месте
Ну перестань, это же говноедство если ты на локальной машине работаешь, да же во времена ДОС было IDE как помню, BORLAND и Microsoft всякие.
Аноним 21/10/24 Пнд 23:13:36 3304950 289
>>3304943
Борланд это паскаль, это уже в технаре было.
Сосницкими в бывшем доме пионеров мы в кружке на турбовасике писали. Файлы открывали, а нортон командере, а сам редактор не помню уже названия.
>это же говноедство
А мне норм.
Аноним 21/10/24 Пнд 23:20:42 3304956 290
>>3304950
>Борланд это паскаль, это уже в технаре было.
Да, но у них и С++ был Turbo Vision назывался, можно было нормально отлаживать и окошки для ДОС клепать, Визуал что то там от Майкрософт на ихнем фоне выглядело как говно, еще Ватком был.
>А мне норм.
Ну я сам такое активно пользую, но если есть возможность предпочитаю интерактивный дебагинг и возюкинг мышкой.
Аноним 21/10/24 Пнд 23:30:09 3304961 291
>>3304956
Мы в технаре на паскале прогали, но я не помню какая винда там была, наверно 98. Для ее делали простые проги. Ну те самые где вся логика в обработчике нажатия. А вообще скучаю немного за нортоном, такой ламповый был, сейчас миднайткомандер юзаю вместо него.
Аноним 22/10/24 Втр 00:01:43 3304971 292
>>3304961
>наверно 98
Так это не тру, я еще накатывал 3.1 на ДОС, а вот двупанельные менеджеры это да, был еще Волков Командер, Дос Навигатор, конечно они на хуй не нужны как и Тотал Командер, поскольку если ты под Виндой ебешься так с файлами, значит у тебя проблемы с организацией.
>Ну те самые где вся логика в обработчике нажатия.
Может Делфи имеешь в виду? Там можно было под Винду писать.
Аноним 22/10/24 Втр 00:08:02 3304973 293
>>3304971
>Может Делфи имеешь в виду? Там можно было под Винду писать.
Он же технически паскаль насколько я помню, точнее обжект паскаль. А среда борланд дельфи.
Аноним 22/10/24 Втр 00:22:36 3304976 294
>>3304973
На сколько помню Паскаль, Турбопаскаль, это под ДОС и псевдографику и консольки типа Тотал Командера под ДОС, а Делфи это апнутый Паскаль и уже под Видну, в чем различая я хз. Паскаль никогда мне не нравился из за богомерзкого символа присваивания := и begin/end
Аноним 22/10/24 Втр 00:30:28 3304977 295
>>3304976
Я тоже не знаю различий, или может кто-то говорил из преподов когда-то, но я забыл уже давно. Я коммерческого не писал на паскале, только учебные, а потом после техникума забил на него.
Аноним 22/10/24 Втр 00:36:18 3304979 296
>>3304977
А какими судьбами в Питухон попал? Не основной твой язык?
Аноним 22/10/24 Втр 00:39:01 3304980 297
>>3304979
Перекатился с пхп как-то.
Аноним 22/10/24 Втр 00:46:27 3304984 298
>>3304980
Норм, Пыха же чисто под веб, хз как она взлетела в свое время, тогда и Перл был и еще что то.
Аноним 22/10/24 Втр 00:52:10 3304987 299
>>3304984
>хз как она взлетела в свое время
Думаю из-за Денвер под винду где все искаропки, плюс на него много материалов на русике было, также всякие вордпресы, джумлы, друпалы и т.д. плюс фреймворки.
Перл я когда-то пробовал, из комп журналов, там для веба надо было мутить cgi-bin, и вообще он мне заумным показался, не для меня.
Аноним 22/10/24 Втр 00:57:56 3304988 300
>>3304987
>Перл я когда-то пробовал
Перл топчик обожаю его, Питухон кстати чуть младше его на пару ле. Эра Перла прошла к сожалению, но он на всегда в наших сердцах, а у Питухона экосистема хороша и это то же не плохо.
Аноним 23/10/24 Срд 00:25:51 3306045 301
Я еблан, который в 2024 году изучает питон. Только пару курсов прошёл и изучаю основы.
Дорогие аноны, оцените ебанутую идею автоматизировать размещение объявлений на авито. Брать информацию о товаре с другого сайта-магазина (скачивать фото + обрезать, название, характеристики). Заранее извиняюсь за свою тупость и кринж.
Аноним 23/10/24 Срд 00:51:51 3306056 302
>>3306045
>автоматизировать размещение объявлений на авито
На авито тебя забанят за такую автоматизацию
Аноним 23/10/24 Срд 01:51:24 3306070 303
>>3306056
Хз я вручную ебашил много(подработОчка такая), даже капча очень редко выпадала.
Аноним 23/10/24 Срд 10:08:33 3306183 304
>>3306045
Если ты дрочишь питон чисто для саморазвития - идея норм. Если для дальнейшего трудоустройства - то хуйня.
Аноним 23/10/24 Срд 14:00:57 3306392 305
>>3306183
Начал с питона. Понимаю, что вкатуны там нахуй не нужны, но а что тогда? пойти нахуй
Аноним 23/10/24 Срд 16:59:53 3306537 306
>>3306392
Я про то, что задача хуйня для изучения питона. Для вката нужно django + DRF + postgresql.
Аноним 23/10/24 Срд 20:05:19 3306681 307
>>3306183
> Если для дальнейшего трудоустройства - то хуйня.
Почему? На джанге и фастапи можно писать бэкенд же.
Аноним 24/10/24 Чтв 09:06:00 3306935 308
>>3306537
Просто это мне хотя бы интересно.
Аноним 24/10/24 Чтв 13:46:01 3307098 309
>>3306537
>Для вката нужно django + DRF + postgresql
Напердел с этого советчика, ты б еще Торнадо посоветовал.
Аноним 24/10/24 Чтв 16:34:09 3307205 310
>>3307098
Асинкоребенок, ты? Фастапи с пайдантиком накатил? Что не так с django + DRF?
Аноним 24/10/24 Чтв 20:22:19 3307343 311
Аноним 24/10/24 Чтв 21:41:07 3307384 312
>>3307205
Простота и скорость разработки: Django с DRF — это тяжелый монолит, заточенный под всё сразу (ORM, шаблоны, сериализация). Для чистого API ты грузишь ненужные компоненты. FastAPI легче и быстрее, без лишних слоёв.

Сериализация и валидация: DRF использует сложные сериализаторы, в то время как Pydantic позволяет валидировать данные проще и быстрее, без лишнего кода и классов.

Минимальный overhead: FastAPI не заставляет писать кучу кода для простых задач. В DRF слишком много абстракций: роуты, сериализаторы, вьюшки. FastAPI — это минимум магии и максимум контроля.

Документация без настроек: FastAPI автоматически генерирует документацию (OpenAPI/Swagger). В DRF для этого нужны дополнительные библиотеки и настройка.

Зависимости и деплой: FastAPI требует меньше зависимостей, тогда как Django тянет за собой кучу лишнего, особенно если ты строишь только API.

Чистая архитектура: Django + DRF завязывают бизнес-логику на фреймворк, создавая монолит. FastAPI легко позволяет строить систему по чистой архитектуре: API отдельно, бизнес-логика отдельно, никаких жестких зависимостей.

Тестирование: В Django тесты сложнее из-за многочисленных слоёв (запросы, сериализаторы, ORM). FastAPI даёт писать чистые юнит-тесты без мокинга всей системы.
Аноним 25/10/24 Птн 08:00:24 3307523 313
>>3307384
Всем поебать на твои маняфантазии.
Аноним 25/10/24 Птн 08:54:44 3307542 314
А че, на этом обоссанном языке еще что-то пишут, кроме скриптов для админов и клея для сишных либ?
Аноним 25/10/24 Птн 09:51:44 3307576 315
>>3307542
Сотни тысяч строк, каждый день. Ты и твои дети будете использовать эти программы, причмокивая и прося добавки.
Аноним 25/10/24 Птн 10:41:58 3307596 316
Аноним 25/10/24 Птн 15:12:54 3307794 317
Аноним 28/10/24 Пнд 16:03:40 3309596 318
Посоветуйте, пожалуйста, какой пет проект можно сделать, чтобы меня точно на работу взяли. Сайт уже есть
Аноним 28/10/24 Пнд 22:21:18 3309860 319
Аноним 28/10/24 Пнд 23:12:11 3309879 320
>>3306183
Вакух по запросу "питон" овердохуя, другое дело что большая часть это всякий ml и qa, которые для вката и правда такое себе. А чем ещё зная его заниматься можно, какие-нибудь парсеры-хуярсеры на фрилансе писать или кулхацкерить?
Аноним 29/10/24 Втр 13:19:46 3310329 321
Аноним 29/10/24 Втр 16:13:31 3310577 322
>>3284698
Набазарь за питон на бекенде у реддита.
Аноним 29/10/24 Втр 20:20:11 3310859 323
>>3285758
> но процентов на 10 ниже, чем на питоне и на 20, чем на джав
С ума сошёл? Уже 3-5 лет как питонисты стоят дороже джавистов. В любом же около ML проекте хотя видеть питониста, в большинстве Data напрвления питонисты.
Аноним 29/10/24 Втр 20:27:34 3310869 324
Подскажите где можно подучить как питон работает под капотом

>>3285853
Добавь json в игнор mypy.

>>3306045
>оцените ебанутую идею
Зачем учить питон для этого. Просто посиди пару дней с чатГПТ

Если интересно, то уважение. Не слушай этого >>3306183

>>3309596
Мы ищем человека со знаниями AWS StepFunction, AWS DynamoDB, ElasticSearch, python, дальше думай сам
Аноним 30/10/24 Срд 09:24:13 3311148 325
>>3310859
>В любом же около ML проекте хотя видеть питониста
Так это не вебмакака крудошлёпская, это аналитик/датасаентист какой-нибудь, которому питухон нужен чтоб дёргать всякие pandas и tensorflow. Питухон - даже не сотая часть его экспертизы, ему не за питухон платят.
Аноним 30/10/24 Срд 12:05:58 3311306 326
>>3311148
Вот тут дикий+. Нейросети туда же, там на питоне только обертка.
Аноним 31/10/24 Чтв 03:26:37 3312092 327
>>3311148
>Питухон - даже не сотая часть его экспертизы, ему не за питухон платят.
А есть профессии, в которых знают только за знание языка?
Аноним 31/10/24 Чтв 08:36:17 3312200 328
>>3307384
Все по факту, но чем Django + DRF мешает разделению на слои и вынесению бизнес-логики?
Аноним 31/10/24 Чтв 09:08:01 3312231 329
Хай!

По работе с Blender API есть кто с опытом? Вопрос есть.
Аноним 31/10/24 Чтв 12:47:54 3312474 330
Аноним 31/10/24 Чтв 12:48:27 3312476 331
Аноним 31/10/24 Чтв 12:49:50 3312477 332
>>3312231
Не знаю. Может быть есть, а может и нет.
Аноним 31/10/24 Чтв 13:07:37 3312503 333
Аноним 31/10/24 Чтв 13:16:41 3312514 334
>>3312231
Зачем в принципе в эпоху чатгпт чего-то у людей спрашивать, когда речь идёт о каких-то деталях апи?
Аноним 31/10/24 Чтв 21:14:01 3312921 335
>>3312092
Есть профессия вебмакаки - математика нинужна, в компуктерах понимать ничё не надо, сиди себе кнопки крась да жсоны перекладывай с референсом очередного модного ФРЕЙМВОРКА под рукой. Справится даже клинический идиот при должной сноровке.
Аноним 31/10/24 Чтв 23:04:38 3312973 336
>>3312921
Чучело-ебучело, а где в прикладном программировании надо понимать в компутерах и в математике?
Аноним 31/10/24 Чтв 23:57:30 3312994 337
>>3312973
Лол, ты обиделся на меня штоле, неженка ебаная? Ты спросил - я ответил. Пошёл нахуй.
Аноним 01/11/24 Птн 00:16:33 3312998 338
слушайте, а на вашей джанге ещё что-то пишут кроме легаси? по мне атк подобные фреймворки типа джанки/рор/.нет кор остались в каком-то диком корпоративном мире
а бидон так вообще перешёл во всякие там мл и ии штуки
мнение?
Аноним 01/11/24 Птн 01:03:25 3313012 339
>>3312998
Всем проектам на джанге что я видел было не больше пяти лет отроду на момент начала моей работы с ними, и пилились они для микрокабанов с полутора юзерами, так что хз на счёт легаси и корпората... другое дело что это не мешало тем проектам быть ебучей лапшой, но это из-за питонистов а не из-за питона или джанги
Аноним 01/11/24 Птн 01:07:08 3313017 340
>>3313012
>но это из-за питонистов а не из-за питона или джанги
Ну хз. Если они поголовно такие, то видимо такая вот новая норма, такой стандарт качества.
Аноним 01/11/24 Птн 01:59:25 3313022 341
А меня больше интересует, пишут ли что-то на фастапи? Вроде по количеству вакансий уже обогнали Джанго, но я не понимаю, нахуя он нужен, когда аналогичный код на условном го будет выглядеть плюс минус так же, а работать быстрее.
Аноним 01/11/24 Птн 06:12:42 3313047 342
>>3312994
Я не он, хуита. А ты-то кем работаешь?
Аноним 01/11/24 Птн 06:13:38 3313048 343
Аноним 01/11/24 Птн 11:57:23 3313327 344
На питоне бэк уже почти не пишут
Аноним 01/11/24 Птн 12:31:45 3313380 345
>>3313048
Да всё что угодно, что быстрее питона/руби. .нет точно не для лихих молодых стартапов, там корпораты только. А остальное это наверно всякие жс/тс, го
Аноним 01/11/24 Птн 15:13:05 3313533 346
>>3313380
На каком уровне нагрузки питон тормозит?
> .нет точно не для лихих молодых стартапов, там корпораты только. А остальное это наверно всякие жс/тс, го
Переведи.
Аноним 01/11/24 Птн 15:17:53 3313542 347
>>3313533
>На каком уровне нагрузки питон тормозит?
На любом абсолютно
Самый медленный язык же (медленнее только руби, если мне память не изменяет)
Аноним 01/11/24 Птн 15:32:44 3313552 348
Аноним 01/11/24 Птн 16:07:50 3313574 349
>>3313542
>Самый медленный язык же
Лол это не аргумент. Как будто бы кого-то ебёт, что страница сайта откроется на 100 или 300 миллисекунд позже. Если бы ты говорил про суперкомпьютер стоимостью 100 миллионов долларов и там нужно перемножить матрицы максимально быстро - тогда да.

А веб..... нуууууу блять и чо? Щас железо всё равно копеечное. Я могу скупить да хоть тысячу серверов-калькуляторов за 2 копейки и они любую нагрузку выдержат, так что мне похуй.
Аноним 01/11/24 Птн 16:10:24 3313576 350
>>3313542
Ясно. Ты питон сам руками трогал? Очередной пиздун Интернетный.
Аноним 01/11/24 Птн 17:11:13 3313632 351
image 9Кб, 292x177
292x177
ну установил я вашу джангу, прохожу туториал, вот результат запроса после первой страницы туториала(пас+вью)
Аноним 01/11/24 Птн 21:21:32 3313786 352
>>3313542
>медленнее только руби
Симфони и ларавел выдает плюс минус такой же или худший результат чем фастапи.
Аноним 03/11/24 Вск 11:14:58 3314802 353
>>3313542
>Самый медленный язык
Питон это скрытый гем прграммирования, он как Прометей прикованный GILом к скале одного потока, но ученые ставили опыты и отпускали Питон в свободную работу и он показывал скорость ровно в 2,71 раза быстрее асемблера.
Аноним 03/11/24 Вск 11:51:58 3314836 354
>>3313542
>Самый медленный язык же
Чел, питон это не только cpython, посмотри на скорость pypy.
03/11/24 Вск 12:40:55 3314868 355
>>3313786
>Симфони и ларавел выдает плюс минус такой же или худший результат чем фастапи.
Щас бы микрораздатчик жсона с фулстек фреймворком по производительности сравнивать...
Аноним 03/11/24 Вск 21:00:44 3315167 356
Сап, пишу на джанго, хочу сделать чтоб одна row(column показывалась только когда в другой row(column выбрал нужный мне вариант.
Нашел такое на стаковерфлоу - https://stackoverflow.com/questions/50947022/django-crispy-forms-hide-fields-conditional-on-other-field-value
Но не понимаю в
> some_name = models.ForeignKey(key_name, on_delete=models.CASCADE)
Что тут должно было быть вместо key_name
Подскажите, пожалуйста!
Аноним 04/11/24 Пнд 18:25:55 3315822 357
Аноним 05/11/24 Втр 01:21:35 3316062 358
>>3314868
>с фулстек фреймворком
Что такого принципиально умеет лара, чего не умеет фастапи?
Аноним 05/11/24 Втр 18:12:32 3316897 359
>>3316062
Что такое фастапи? Зачем нужен?
Аноним 06/11/24 Срд 22:34:58 3317709 360
Есть какие-то варианты для 1С-ного консультанта с легким знанием программирования на 1С и js(старый react), плавно перекатиться в питон? Но не уверен, что хочу заниматься именно веб-программированием.
Имеется понимание некоторых предметных областей, умение анализировать и описывать бизнес-процессы, есть опыт внедрения готовых решений, ручного тестирования доработок и прочая хрень.
Аноним 07/11/24 Чтв 17:06:34 3318313 361
Прочитал в новостях что даже крысу научили языку python
Аноним 07/11/24 Чтв 19:35:50 3318437 362
Cап, питонятня, подскажите, че за ошибка с докером может быть
psycopg2.OperationalError
ваще 0 инфы нашел годной, помогите пожалуйста
Аноним 07/11/24 Чтв 20:47:18 3318460 363
>>3318313
Это недостаток питона?
Аноним 07/11/24 Чтв 21:59:25 3318477 364
>>3318437
Поставь binary вариант пакета.
Аноним 08/11/24 Птн 09:47:46 3318593 365
Стек php+js, laravel.
Стоит учить питон?
Почему задумываюсь - хочу откликаться на большее количество вакансий, небольшой плюс мне в карму от работодателей, что я три ЯП буду знать.
Аноним 08/11/24 Птн 10:38:32 3318627 366
>>3318593
>что я три ЯП буду знать.
На самом деле всем похуй, сколько ты там отвёрток потешных выучил, джуняра. Выучить синтаксис очередной императивной скриптовой дрисни плюс нужную тебе библиотеку чтобы get the job done - три дня максимум при наличии схожего опыта, который у любого человека, занимающегося программированием дольше пары месяцев, подразумевается по умолчанию. Вот если бы ты сказал "я знаю СИСИПЛЮС" - это могло бы ещё сыграть, а питухон - это ничто. Может ты ещё и линукса в глаза не видел и шеллскрипт написать не можешь? Как тебя вообще на работу взяли?
Аноним 08/11/24 Птн 13:38:03 3318823 367
>>3318593
Работодателю глубоко поебать сколько ЯПов и фреймворков ты знаешь, ему главное чтобы ты умел оперативно и качественно решать поставленные задачи.
>>3318627
Это двачую.
Аноним 08/11/24 Птн 14:08:24 3318849 368
>>3318593
Да выучи хоть 100 языков и откликайся на все 100 тысяч вакансий. Что толку от количества, что изменится от того что ты дополнительные языки выучишь. Ты начнёшь какие-то новые сайты делать? Качественно же ничего не изменилось. Твои сайты от этого стали что... быстрее? Красивее? Надёжнее? Это просто дрочка ради дрочки. Я бы тебя понял, если бы ты учил ради внедрения нейронок или биг дата или чего-то ещё. Нууу блять... ради вакансий... а тебе чё мало вакансий что ли? На пхп пол-интернета работает. И тебе всё равно этого мало? Проблема только у тебя в башке. Тебе повсюду мерещется мало вакансий. Дай тебе хоть 100 тысяч вакансий, ты всё равно скажешь что этого мало, и хорошо бы хоть миллион вакансий иметь.
Аноним 08/11/24 Птн 16:59:58 3318961 369
- здратути я пхп-разработчик а у вас как раз вакансия на ларавел, возьмите меня
- здратути, верно, мы работаем исключительно на пхп+ларавел, но убедите нас что вы лучше других кандидатов
- ну я еще питон знаю
- вы приняты
Аноним 08/11/24 Птн 17:16:56 3318978 370
>>3318961
Лол, так все и будет.
Аноним 08/11/24 Птн 19:59:18 3319093 371
>>3318961
Почему нет?
На некоторых проектах так и пишут:
Будет плюсом если знаете такие и такие языки
Аноним 08/11/24 Птн 21:38:44 3319161 372
Что-то по джунским вакухам совсем адище, еще полгода назад все было не так плохо (но компенсировалось огромным количеством вкатунов). Сейчас и вкатунов дохуя, и вакансий нет.
Аноним 08/11/24 Птн 23:18:39 3319196 373
>>3319093
>На некоторых проектах так и пишут
В твоих скотских фантазиях.
Аноним 10/11/24 Вск 09:22:11 3319722 374
Классный тред, сам вкатился в проект на фасте, мб потом перекачусь на goвно, но пока тут побалуюсь
Аноним 10/11/24 Вск 19:43:58 3319956 375
>>3311148
про MLops что-нибудь слышал, маня? Там как раз нужны только навыки работы с инфраструктурой + питон или питон + общее понимание ML.
Тебе когда МЛ инженер выкатил модель. Она сразу подключается в систему и начинает работать? Или к ней надо прикрутить ручки и ножики.

И вот часто бывает, что менеджер или CTO думает: вот у меня МЛ -> МЛ на питоне -> Его надо подключить к сайту (и написать тонны бизнес логики) -> сайт надо сделать -> выберу питон, так как он уже есть у МЛ ребят. И вот так питон может оказаться в любом проекте.

ETL/ELT это на 50% питон, сейчас ЛЮБАЯ средняя компания имеет etl инженеров, а крупная имеет сотни их.

Вы слишком зациклены на том, чтобы писать крад. Посмотрите поинтереснее вакансии
Аноним 10/11/24 Вск 22:32:51 3320019 376
>>3319956
К чему ты это насрал? Чел написал что питон для этого нужно знать на уровне хелловелд.
Аноним 11/11/24 Пнд 03:37:26 3320062 377
>>3310869
>Мы ищем человека со знаниями AWS StepFunction, AWS DynamoDB, ElasticSearch, python, дальше думай сам
Лол это как раз я. Правда там не эластик, а opensearch. И я на typescript/rust пишу.
Аноним 11/11/24 Пнд 04:00:14 3320065 378
>>3319956
>Там как раз нужны только навыки работы с инфраструктурой
Инфраструктуру можно на любом языке писать. Там как правило языков 6 основных - TypeScript, JavaScript, Python, Java, C#/.Net и Go. Принципиально инфраструктурный код ничем не отличается от того же typescript.

>питон + общее понимание ML.
Ну тут согласен, ml сильно зависит от питона. Тот же dbt, pyspark, ddt и прочее... Но аналогичные же решения есть и на Scala, Java, можно даже замутить etl на R. Подключаешь sparkR, dremio и всё будет плюс-минус также работать.
Аноним 11/11/24 Пнд 15:30:02 3320476 379
А у треда конфа есть?
Аноним 11/11/24 Пнд 15:37:14 3320480 380
Аноним 11/11/24 Пнд 15:57:00 3320507 381
Я заебался искать работу на петухоне. Посоветуйте куда свитчнуться.
вкатун
Аноним 11/11/24 Пнд 15:58:56 3320508 382
Аноним 11/11/24 Пнд 18:14:15 3320602 383
Для пет-проекта ботов в тг и дисе для мелкоборды, а также ботов на сайт нужны разработчики на питон, если заинтересовались писать @regubarukuriyan
Аноним 11/11/24 Пнд 18:27:45 3320617 384
Аноним 11/11/24 Пнд 23:02:13 3320805 385
Аноним 12/11/24 Втр 09:40:07 3320898 386
>>3320507
Попробуй в хаскель.
Аноним 12/11/24 Втр 09:48:30 3320900 387
>>3320602
Никому не нужный парашевод пытается запрячь наивных сосачеров айтишничать на его параше для пидорнутых за спасибо, спешите видеть. Чувак, ты опоздал лет на 10, "бот в тг" и "движок для борды" уже недостаточно, чтобы найти РАБотку обоссанным джунярой за 40к и получить социальный лифт, аноньчикам нет смысла работать на благо твоей параши. Возвращайся на двач, тут все твои друзья.
13/11/24 Срд 02:28:02 3321494 388
>>3320602
Армянам лишь бы не работать.
И как, много Хомяков написало?
Аноним 13/11/24 Срд 22:21:03 3321997 389
А в чем профит переводить свои васян скрипты (баш портянки) на питон?

Плюсы питона

- более строгая типизация чем в баш
- более интересные структуры данных, не надо ебаться с jq если надо распарсить json\yaml.
- более гибкие функции (бесит, что в баш функция может сделать только одно echo в конце)
- либы под любой пук уже написаны


Минусы питона

- классы мне нужны
- ебань с отладкой
- то что в баш решается в одну строку на 5 пайпов, в питоне это пол страницы кода
- питон не так чтобы очень быстрый по сравнению с башем, на операциях с файлами, плюс сам питон интерпретатор стартует очень медленно
Аноним 13/11/24 Срд 23:47:10 3322029 390
>>3321997
баш это просто список команд, в который долгое время слоями приляпывали расширения и элементы яп.
Плюсов по сути нет, имея искаропки питон или перл.
Попробуй может перл, кстати, он намного ближе к шелл скриптам и там куча всяких шорткатов для типовых шелловых задач.
Аноним 13/11/24 Срд 23:52:43 3322031 391
>>3322029
Я на перле писал в начале-середине 2000-х, и не хочу погружаться в эти вайбы опять.

У меня на баше и так все на функциях с локальными переменными.

По быстродействию всё равно все упирается в ОС (например рестарт сервиса это тормоза systemd). А так одинаково - баш быстро стартует но тормозит на форках и вызовах сторонних программ, а питон медленно стартует зато быстро работает.
Аноним 14/11/24 Чтв 00:00:20 3322034 392
>>3322031
Я прям хз зачем в подобных задачах измерять скорость.
Но скорее всего пайплайны с вылизанными кореутилс будут быстрее питоньих итераций в общем случае. Но эти всякие тесты башевские это адовая дрисня после нормального яп. Наверное, привычка нужна.
Что насчет го?
Аноним 14/11/24 Чтв 09:31:38 3322140 393
>>3321997
Для скриптов перл топ. Особенно в плане работы с логами/текстами дает питону пососать. Во всем остальном сосет у питона.
Аноним 14/11/24 Чтв 09:38:49 3322142 394
>>3322031
>Я на перле писал в начале-середине 2000-х
Уверен, ты делал это неправильно, как и большинство пехопешников, дорвавшихся до перла.
Аноним 14/11/24 Чтв 10:19:34 3322156 395
Если мне нужны скрипты для отслеживания устройств в локальной сети, то питон подойдёт?
Аноним 14/11/24 Чтв 14:35:34 3322324 396
Аноним 14/11/24 Чтв 17:33:14 3322433 397
Опытные (крутые) аноны, как относитесь к такому явлению как наставничество? Если бы вы были наставником вкатуна, как вы себе это представляете?
14/11/24 Чтв 17:37:12 3322436 398
Аноним 14/11/24 Чтв 17:42:38 3322443 399
>>3322433
Завтавлял бы вкатуна писать код за спасибо и гнобил по преколу, а потом послал бы нахуй.
Аноним 14/11/24 Чтв 17:45:50 3322447 400
>>3322443
Отчего такой яркий хейт?
Аноним 14/11/24 Чтв 17:46:57 3322451 401
Аноним 14/11/24 Чтв 17:49:43 3322455 402
>>3322451
Пиздец, дедовщина в айтишечке.
Аноним 14/11/24 Чтв 17:52:44 3322462 403
>>3322433
Зачем мне перегревать рынок и рыть себе яму?
Чтоб потом этот джун меня подсидел?
Я вообще зарёкся что-то кому-то объяснять, обучать. На спец форумах помогаю советом иногда, но не разжевываю джунам, а как коллега с коллегой, на определенном высоком уровне понимания предмета.
Да и как правило обучают джунов такие же джуны+, с опытом работы года 2. Это гнилая тема.

А что ты ждёшь от менторства? Мотивации? Чем тебе чатжпт не ментор?
Аноним 14/11/24 Чтв 17:54:20 3322466 404
>>3322462
Мне интересно, как это работает со стороны опытного человека, потенциального ментора. Интересно ли ему делиться знаниями, если да, то в какой форме и как бы он в теории выбирал себе подопечного и т.д.
Аноним 14/11/24 Чтв 20:17:03 3322560 405
>>3322466
Обучал бы чувака который искренне хочет кодить на емакс лиспе потому что он шизик с горящими глазами. Нормиблядское заводобыдло, которое хочет по-быстрому выучить ПИТУХОН и РЕКТАЛ.ДЖЭЭС чтобы стать УСПЕШНЫМ формошлёпом 400к в наносекунду, годится только для того, чтобы запрячь его бесплатно заниматься безблагодатным говном, которое чатгопоте доверять пока страшно, а самому делать не хочется.
Аноним 14/11/24 Чтв 21:11:27 3322574 406
>>3322560
Не все вкатуны нормибляди же. Очень много зумеров домашних или скуфов двачероподобных, которые работают на хуёвой работе.
Аноним 15/11/24 Птн 09:12:38 3322755 407
>>3322462
Если тебя джун может подсидеть, то нахуй ты вообще нужен?
Аноним 15/11/24 Птн 13:04:39 3322929 408
Что-то на Django/DRF не могу найти работу.
Долго в FastAPI перекатываться?
Аноним 15/11/24 Птн 13:12:10 3322933 409
>>3322929
После джанго - долго.
А так вообще пары дней хватит.
Аноним 15/11/24 Птн 13:22:10 3322948 410
>>3322933
>После джанго - долго.
>А так вообще пары дней хватит.
Так какое из этих двух противоположных утверждений истинное?
Аноним 15/11/24 Птн 18:43:31 3323236 411
>>3322929
Ну нихуя себе, наверное с рыночком что-то случилось...
Аноним 15/11/24 Птн 18:59:43 3323251 412
image.png 283Кб, 659x480
659x480
start_time = time.time()
square2 = lambda el: elel
result =
map(square2, list_of_smth),
end_time = time.time()
execution_time = end_time - start_time

print( 'map', execution_time )


start_time = time.time()
def square(elements) -> list:
result = []
for el in list_of_smth:
el = el*el
result.append(el)
return result
result = square(list_of_smth)
end_time = time.time()
execution_time = end_time - start_time

print( 'foreach', execution_time )

map 14.047540426254272
foreach 10.371117115020752
Аноним 15/11/24 Птн 19:22:58 3323265 413
>>3321997
Питон - яп по типу помершелла. Баш аналог сука комманд.кома.
>>3322140
> Для скриптов перл топ.
Блядь. Может по сравнению с башем и топ, но ни дай бог на нем что-то больше пары строк писать.
Аноним 15/11/24 Птн 19:49:42 3323276 414
>>3323265
Ты просто неосилятор. Перловый код в 10 раз компактнее и нагляднее, чем питоновый. И нет, я не говорю про код-гольф приколы, а элементарно парсинг строк регулярками, всякие map-grep-reduce пишется намного проще.
Аноним 15/11/24 Птн 23:54:02 3323349 415
>>3323251
Накладные расходы на вызовы блямбы скорее всего.
Аноним 16/11/24 Суб 01:29:30 3323373 416
image.png 766Кб, 700x490
700x490
Впервые написал простенький, но реально полезный скрипт, который теперь юзаю каждый день в работе. Скрипт принимает строку с кучей ID объявлений на Авито, делает из них ссылки, открывает их в хроме и нажимает на каждой странице странице кнопку "Опубликовать". В конце пишет стату - сколько успешно опубликовано, сколько с ошибками. Понимаю, что такое чатгпт напишет за 1 секунду, но всё же радости полные трусы.
Аноним 16/11/24 Суб 01:43:48 3323376 417
>>3323373
ну так в этом и каеф погромирования
Аноним 16/11/24 Суб 04:21:02 3323398 418
>>3323276
Да, "неосилятор", плесень интернетная. Мне проще писать на питоне чем на этом говне. Писал и на том и на том. Дальше что, блядь?
> парсинг строк регулярками
А я что написал?
>>3323265
> но ни дай бог на нем что-то больше пары строк писать.
Аноним 16/11/24 Суб 04:23:38 3323399 419
>>3323373
Анон, зачем это? В чем бизнес логика?
Зачем на опубликованом объявлении нажимать опубликовать?
Аноним 16/11/24 Суб 08:42:18 3323436 420
>>3323398
Смотрите, этот дурачок не затащил регулярки! Гоните его, насмехайтесь над ним!
Аноним 16/11/24 Суб 09:53:52 3323453 421
>>3323399
Эти объявления не опубликованы, они в архиве, скрипт их достаёт с архива и активирует
Аноним 16/11/24 Суб 10:47:09 3323467 422
>>3323373
покажи как сделал то хоть
мимо вкатун
Аноним 16/11/24 Суб 11:06:41 3323487 423
>>3323276
>всякие map-grep-reduce
Более того, можно ещё и самому сабу с такой семантикой сделать:

sub foo (&;@) { my $code = shift; ... }
foo { do_something @_ } qw/bar baz qux/;

Но питухонодебилу это не надо, у него две извилины. ИФ ГОВНО: ЕЛС МОЧА - потолок его интеллектуальных способностей. Собственно, все популярные скриптовые язычки, появившиеся после перла (питухон, руби, пехопе, моча/жопаскрипт) - попытка сделать перл, на котором смогут писать даже дауны, оригинальный перл осилить неспособные по причине умственной отсталости. Питухон - наиболее наглядный пример такого поделия, что и видно по количеству гречи с говнокурсов.
Аноним 16/11/24 Суб 11:48:36 3323520 424
Аноним 16/11/24 Суб 12:01:09 3323534 425
>>3323520
>ЦЕ :::\\\\ юзерс

>текст равно инпут('введите хуйню')
В виндусе не поддерживаются аргументы у команд или ты даблкликом запускаешь свой скрипт, потому что цмд.екзе слишком отвратительное, чтобы всерьёз им пользоваться? Это же ужас а-ля лаба2, ну сделай ты по-людски.
Аноним 16/11/24 Суб 12:46:42 3323553 426
>>3323520
Нахуя вы селениум дрочите? У Avito есть нормальный RESTapi без человеческой документации, запросы которого можно спалить в отладчике браузера.
Аноним 16/11/24 Суб 13:33:24 3323591 427
>>3323534
спасибо, сделал через командную строку через батник

>>3323553
спасибо за идею, буду делать
Аноним 16/11/24 Суб 21:00:48 3323852 428
image 21Кб, 550x95
550x95
Как же меня бесит этот ублюдочный петухон...
Это говно буквально не способно выполнить параллельно элементарную сука вычислительную задачу. Просто блять циферки сука посчитать. Не дрочиться с асинхронным IO, просто сука 2+2.
Самый апофеоз хуиты - это ProcessPoolExecutor. Который умудряется выполняться МЕДЛЕННЕЕ, чем в 1 поток.
У всех остальных скорость не отличается от 1 потока.
Не язык, а высер имбециала.

Сука, надо было сразу на жаве писать, нет блять, имел тупость подумать, что петухон хотя бы тут не обосрется.
Аноним 16/11/24 Суб 21:03:00 3323855 429
>>3323852
>не осилил документацию
>ЯП виноват
Аноним 16/11/24 Суб 21:06:17 3323861 430
>>3323852
Обновись до 3.13 и выруби гил, если тебе прям хочется CPU bound считать ебаный дебил.
Аноним 16/11/24 Суб 21:27:22 3323874 431
>>3323852
>надо было сразу на жаве писать
Ахаха скуф в треде.
Аноним 16/11/24 Суб 21:41:31 3323888 432
1731782191931.jpg 72Кб, 729x584
729x584
>>3323251
Это какой питон? В третьем map возвращает генератор и времени должно быть примерно ноль если не добавить еще сумму или что-то такое.
Аноним 17/11/24 Вск 02:23:52 3323976 433
>>3323861
>>3323874
Буду писать на го. Начал документацию читать, хороший язык, красивый, с указателями. Многопоточность с рождения и без костылей, строгая типизация, компилируемый.
Аноним 17/11/24 Вск 03:59:11 3323988 434
>>3323436
Ты долбоеб, мы про перл говорим? Регулярки и в фитоне есть.
Аноним 17/11/24 Вск 04:11:43 3323990 435
Не знаю, может, мне не совсем сюда, но спрошу, так как вопрос частично касается python.

Использую Arduino Micro
ОС windows 7

Заменил в boards.txt usb_product на имя прибора, которое мне надо чтобы отображалось. В устройствах и принтерах отображается это имя, да, но как через софт это имя получить я не догоняю. Надо чтобы я мог его отфильтровать от других com-соединений, чтоб показывало только мою железку, может это можно и иначе как-то сделать?
Железка используется втыкаясь в комп, не автономно.
Софтина работающая с контроллером написана на python, сканирую порты через serial.tools.list_ports.comports(), параметры класса дают и pid, и vid, и производителя, и че хочешь, но имени, которое я указывал в usb_product - нету.
Гуглил, да не нагуглил.
Аноним 17/11/24 Вск 04:27:49 3323992 436
Аноним 17/11/24 Вск 04:42:38 3323996 437
>>3323992
И че мне в нем сделать надо? Ну он мне инфу выдал о порте, в Product String указано имя которое я указывал в usb_product
Аноним 17/11/24 Вск 04:54:02 3323998 438
>>3323996
Сравни все параметры с теми которые передаешь, переткни в другой порт, правильно ли имя читается с файла
Аноним 17/11/24 Вск 06:46:23 3324005 439
>>3323852
>асинхронным IO
>это говно буквально не способно выполнить параллельно
>ProcessPoolExecutor
Т.е. ты ни про гил не слышал, и не знаешь как трединг питухона работает. Получается что ты обезьяна, которая калькулятором гвозди забивает и визжит что инструмент плохой. Это даже не уровень баристы-вкатуна, это уровень скрипто-киди или даже ниже, не позорился бы так лучше в тематике.
Аноним 17/11/24 Вск 11:51:22 3324103 440
>>3323998
Ну имя там такое, которое я и указывал. Чего мне делать то с этим? Как мне его в python'e получить?
Вот типа эта софтина это имя умеет читать. Как она это делает и как это сделать мне?
Аноним 17/11/24 Вск 12:09:26 3324110 441
У меня линупс. Вроде есть компилятор пайтон. Я могу вкатиться в вашу залупу? Или нужна винда строго?
Аноним 17/11/24 Вск 12:19:54 3324116 442
>>3324005
Я слышал про это говно, чёрт, именно поэтому использую разные пулы из мультипроцессинга, не мультитрединга. Мне даже код пришлось изменить, убрать лямбды, чтобы этот кал вообще запустился и не падал на процессах. При одинаковом апи на тредах запускался, а на процессах нет.
В итоге нихуя, никакой разницы с тредами, все так же дробится в одно яичко.
Ебал я этого петухона в рот короче.
Аноним 17/11/24 Вск 12:59:08 3324142 443
Аноним 17/11/24 Вск 13:29:28 3324174 444
>>3324110
Питон через командную строку работает, нужен MS DOS
Аноним 17/11/24 Вск 18:08:47 3324323 445
>>3323852
>Самый апофеоз хуиты - это ProcessPoolExecutor. Который умудряется выполняться МЕДЛЕННЕЕ, чем в 1 поток.
>>3324116
>даже код пришлось изменить, убрать лямбды
>При одинаковом апи

Не хочу даже знать, что ты там наговнокодил, но по всей видимости ты конченный ФРОНТЕНДЕР-спермоблядок с IQ 70 и знанием полутора отвёрток и даже не понимаешь, чем треды отличаются от процессов и что процессы даже не шейрят стейт. Неудивительно, что выбор технологии у тебя из ПАЙТУХОН и ГО - эталонное модное говно для зумеров и гречневых даунов с курсов скуфбокса.
Аноним 17/11/24 Вск 18:13:34 3324326 446
>>3284682 (OP)
> Встречаем новый революционный Питон 3.13. Питон встаёт на путь избавления от GIL. Подключают JIT технологии. У нас появляется надежда догнать и перегнать C++. Или хотя бы Rust/Go
На сперме не работает, к сожалению, после 3.8
Аноним 17/11/24 Вск 19:10:17 3324364 447
>>3324110
Только на винде (причём желательно pro edition), сорян.
Аноним 17/11/24 Вск 19:42:18 3324407 448
>>3324110
Щас бы в эпоху чата гпт такие вопросы у людей спрашивать
Аноним 17/11/24 Вск 20:23:07 3324424 449
>>3324116
Вываливая подобную шизофрению, ты только больше расписываешься в том, что вообще ни хуя не понимаешь что делаешь.
Аноним 17/11/24 Вск 21:05:16 3324441 450
>>3323852
>ProcessPoolExecutor
Не знаю что ты там наговнякал, но судя по всему - человеческий фактор - главная уязвимость твоей программы. Если ты измеряешь скорость простого матана, 2+2 в ProcessPoolExecutor, то у тебя больше времени будет потрачено на накладные расходы нового процесса, чем на сам матан. Запускай инсты заранее и используй только решения с нумпи.
Аноним 17/11/24 Вск 22:16:12 3324459 451
нихуя не могу найти работу с джанго/дрф, думаю о перекате в джава-спринг/фастапи, что и делать
Аноним 17/11/24 Вск 22:27:35 3324466 452
изображение.png 6Кб, 647x196
647x196
изображение.png 15Кб, 588x162
588x162
>>3323888
Я сразу распаковываю же в том коде, видимо макаба астериск сожрала, поэтому не видно

*map(print, ["its", "kind", "of", "magic"]),
Аноним 17/11/24 Вск 22:51:10 3324470 453
>>3324459
Рассказал бы что ли поподробнее анончик.
Что знаешь, умеешь? Как и сколько обучался начиная с нуля? Есть проекты/практика?
Какие ищешь вакансии, где ищешь? Сколько собеседований за сколько времени было? В каких компаниях?
Аноним 17/11/24 Вск 22:53:34 3324471 454
17312301284270.mp4 683Кб, 480x270, 00:00:07
480x270
>>3324459
Это классическая дилемма начинающего разработчика, особенно на этапе поиска первой работы. Вот несколько советов и размышлений:
1. Почему не получается с Django/DRF?
Недостаточно навыков: Возможно, нужно подтянуть уровень. Например, изучить более сложные вещи: асинхронность в Django, оптимизацию запросов, работу с Celery.
Плохая практика поиска работы: Резюме, портфолио, GitHub — всё это играет роль. Убедись, что у тебя есть проекты, демонстрирующие навыки Django и DRF.
Низкий спрос в регионе: Django может быть менее популярным в некоторых регионах. Посмотри вакансии на удалёнку.
2. Стоит ли переходить на Java Spring?
Spring сложнее: Java Spring требует изучения не только Java, но и всей экосистемы, которая гораздо шире и сложнее, чем Django.
Длинный путь: Если человек только начинает с Python, переход на Java добавит кучу новой информации, что может замедлить прогресс.
Потенциал: Spring популярен в крупных проектах, банковском секторе и корпорациях. Если есть тяга к этому — это может быть полезно, но нужно понимать, что путь не быстрый.
3. А как насчёт FastAPI?
Переключение легче: FastAPI — это тоже Python, но с другим подходом (асинхронность, работа с REST API).
Совместимость с Django: Можно комбинировать их в проектах, использовав Django для административной части и FastAPI для API.
Растущий спрос: FastAPI набирает популярность, особенно в проектах, где важна скорость разработки и производительность.
4. Совет: что делать?
Не бросай Django/DRF сразу: Развивай своё портфолио, участвуй в open-source проектах, ищи заказы на фрилансе. Это покажет работодателю твой практический опыт.
Осваивай FastAPI параллельно: Это не потребует от тебя много времени, а знание двух популярных инструментов расширит твои возможности.
Spring — опция для долгосрочной перспективы: Если душа лежит к Java и большим корпоративным проектам, переходить на Spring — логичный шаг. Но сначала стоит уверенно встать на ноги с Python.
Главное — не метаться слишком быстро. Найди одну область и добейся уверенности, прежде чем переходить к другой.
Аноним 18/11/24 Пнд 04:18:31 3324555 455
>>3323852
Ты не забывай, что отправка в процессы тоже не бесплатная
Аноним 18/11/24 Пнд 17:59:37 3325014 456
>>3324555
Ниправда працесы (ониже патоки) это када многа сразу всево делоеться эта быстро и круто мне на курсах скозали! И чем большы працесов создаёш тем быстрее жсон перекладывоеться!!1
Аноним 18/11/24 Пнд 18:24:47 3325037 457
>>3323852
ты бы хоть показал что считаешь.
Аноним 18/11/24 Пнд 21:25:30 3325148 458
Screenshot2024-[...].png 224Кб, 1072x766
1072x766
Посоны, работает)
Аноним 18/11/24 Пнд 23:20:08 3325226 459
>>3325148
Ещё на телефон сфоткал бы.
Аноним 19/11/24 Втр 01:14:31 3325270 460
image 19Кб, 538x94
538x94
image 20Кб, 540x96
540x96
image 52Кб, 616x319
616x319
image 32Кб, 1300x146
1300x146
>>3325014
>>3324555
>>3325037
>>3323852
ВСЁ БЛЯТЬ. 50к симуляций за 8 секунд. Петухон на одном яичке умудрялся это считать полчаса.
Все ядра загружены, потребление памяти приблизительно нулевое нахуй, потому что все дерьмо передается по указателям (питухон умудрялся выжирать по 4 гига, хотя я честно пытался там тоже все максимально по ссылкам передавать).
За 2 дня освоил GOвно и нахуякал симулятор. Какой же пиздатый язык. С петухоном не идет ни в какое сравнение. Типизация строгая, дженерики, есть доступ к указателям, что дает возможности что угодно передавать по ссылке, но при этом не надо чистить говно вилкой как в крестах. Синтаксис лаконичный, многопоточность - мое почтение. То, что в петухоне делается с анальной болью (вообще не делается), тут делается в 2 строчки нахуй.
При этом я даже не компилировал эту хуйню, просто жму go run и код запускается как в интерпретаторе.
Охуел, что это единственный язык, который я знаю, где объекты можно передавать по значению, лол. А все потому что нет никаких блять объектов, есть СТРУКТУРЫ из примитивных типов или указателей на другие структуры, эта хуйня легко копируется. Нет классов, конструкторов и прочей параши, вообще идеально.
Решительно готов писать дальше на ГО, питухон идет нахуй. Всем рекомендую.
Аноним 19/11/24 Втр 01:15:01 3325271 461
>>3325037
>ты бы хоть показал что считаешь.
Это секрет, если скажу, то будешь смеяться
Аноним 19/11/24 Втр 02:25:15 3325281 462
>>3325271
Конечно будем смеяться всем тредом. Иначе для чего мы тут сидим. Давай говори.
Аноним 19/11/24 Втр 02:27:39 3325282 463
>>3325270
>Нет классов
Встал и вышел из треда, грязный казул.
Аноним 19/11/24 Втр 08:11:38 3325322 464
Стикер 575Кб, 250x250
250x250
>Итак, отсутствие _ означает, что метод является частью публичного API класса, а наличие _ служит сигналом: "Не трогать без необходимости".
Блядь почему у меня сразу возник вопрос - а мой хуй ты можешь потрогать без необходимости?
Аноним 19/11/24 Втр 10:08:01 3325345 465
Посоветуйте книжку по асинхронности для полного новичка.
Аноним 19/11/24 Втр 11:16:39 3325381 466
>>3325345
man 3 select. Бозарю, ещё захочешь.
Аноним 19/11/24 Втр 11:20:12 3325384 467
>>3325381
Ты мне, сопливому новичку, предлагаешь рыться в кишках асинхронности питона?
Мне бы книжку или гайд.
Аноним 19/11/24 Втр 13:14:09 3325460 468
>>3325384
>питона
Нет, сишного кода, который питухон дёргает под капотом, пока ты пишешь свои хелоуворды. Хотя в питухоне, самом ЮЗЕРФРЕНДЛИ языке в мире, на удивление так никто и не сделал нормального эвент лупа с интуитивным апи, так что один хуй будешь ебаться с селектами напрямую, когда понадобится, например, неблокирующий и/о для сокетов. Прямо как в голых сях.

Какую книжку ты ожидал, дебил с курсов? Нет такой книжки, где тебе напишут "асинхронность - это когда многа всево и сразу делоеться и всё супир пупир быстро а синхронность гавно! Вау асинхронность крута, надо только сделать await ScalableRobustEnterpriseFramework.sdelat_zaebis_async() и ты сразу станеш мастиром асинхронности!" Хочешь ПРОСТА - ставь ФРЕИМВОРК, перекладывай жсоны и не еби мозги, ты же всё равно веб-дриснёй собираешься заниматься, уже видя себя успешным анальником 400к в наносекунду? Веб-кодиры в массе своей мало что понимают в асинхронности и прочих нюансах, они только знают ФРЕИМВОРК, большего от них не требуется для успешного закрытия тасок на перекладывание жсонов. Хочешь разбираться в вопросе - готовься напрягать мозги и читать многа букв на англицком, другого пути нет.
Аноним 19/11/24 Втр 13:34:00 3325479 469
>>3325460
Ну надушнил ты скуфидон, сколько можно-то, а?
Аноним 19/11/24 Втр 13:46:56 3325493 470
>>3325479
>зумерному говну НЕПРИЯТНО
Аноним 19/11/24 Втр 13:50:53 3325498 471
Аноним 19/11/24 Втр 14:09:45 3325517 472
>>3325460
>Какую книжку ты ожидал, дебил с курсов?
Ты почему агрессируешь тут на меня сидишь, хуила?
Я тут вежливо общаюсь.
Может, анон натыкался на книжку/гайды, в этом и был вопрос.
Ты зачем-то побежал срать хуету про зумеров? Зачем? У тебя с головой все в порядке?
Аноним 19/11/24 Втр 14:11:58 3325519 473
Аноним 19/11/24 Втр 14:40:28 3325543 474
>>3325517
Потому что ты залётный невежественный уёбок с курсов с розовой жижей вместо мозгов, не желающий слышать об отсутствии ИЗИ решения твоей проблемы
>Может, анон натыкался на книжку/гайды
Тебе намекнули недвусмысленно, что нет такой книжки. Айти и в частности то, что ты хочешь - это сложная хуйня не для всех, с которой надо основательно разбираться. Но ответ тебя не устроил, нет, дайте мне КНИЖКУ, где всё ПРОСТА, для НОВИЧКОВ и не надо думать! Ну хули с тобой поделать? Иди читай гайды от PajeetGPT на супир пупир питухон дотком, раз так сильно хочешь навернуть говна. Можешь ещё в ТИКТОКЕ материал поискать, зумерок.
Аноним 19/11/24 Втр 15:07:44 3325564 475
>>3325543
Таблетки.
Ты там на виме не пишешь? А то IDE это сликом ПРОСТА.
Аноним 19/11/24 Втр 15:13:32 3325572 476
>>3325564
Как же тебе печёт от осознания своей ущербности.
Аноним 19/11/24 Втр 15:18:23 3325576 477
>>3325572
>ыыыыы пичет
буууу гет э беттер матириал скуф
Аноним 19/11/24 Втр 16:00:55 3325621 478
>>3325564
> Ты там на виме не пишешь?
Я пишу. Другой анон.
Аноним 19/11/24 Втр 16:39:25 3325667 479
image 109Кб, 856x434
856x434
image 71Кб, 856x284
856x284
>>3325270
Хуя у меня ноут троттлит. Тупо в полтора раза производительность падает. А тухлозион наоборот разгоняется под нагрузкой, лол.
Аноним 19/11/24 Втр 19:28:21 3325757 480
image.png 564Кб, 702x1000
702x1000
>>3325345
Пикрил норм.
Шизов выше не слушай, это просто ебланы которые горят с того, что их профессия перестает быть ЭЛИТАРНОЙ и они перестанут лутать сотыги, аутируя за пекарней на самом деле никогда и не была, обычная профессия, не требующая сверхвысокого icq, просто в нее часто влечет закомплексованных кончей, вот и возникают такие побочные эффекты.
Аноним 19/11/24 Втр 19:37:43 3325762 481
>>3325757
>не требующая сверхвысокого icq
Сильное заявление. Погромирование это чистая абстрактная логика. Т.е. деятельность напрямую зависящая от уровня интеллекта, ведь интелект это и есть логика и вывод. Другой вопрос, что много инструментов, например фреймворков, которые позволяют выполнять некую работу не напрягая мозг вовсе. По этой причине у людей часто бывает баттхерт, что бариста вкатун с интеллектом школьника, перекладывющий джосны считается погромистом прямо как ты,150 iq байтоёб. Впрочем, 150 iq красноглаз не стал бы так визжать и кидаться на людей как анон выше со своей сишной асинхронностью, он тоже скорее всего говночист с галеры, вымещающий свой стресс на мимокроках.
Аноним 19/11/24 Втр 20:49:28 3325791 482
>>3325757
>перестает быть ЭЛИТАРНОЙ
С чего бы это? ИТ масштабируется за счёт инструментов, абстрагирующих сложность, однако эти инструменты кто-то должен разработать. Это точно не перекладыватели JSON.
Аноним 19/11/24 Втр 21:09:51 3325803 483
>>3325791
>эти инструменты кто-то должен разработать
Несоизмеримо значительно меньшее количество людей, чем барист, которые этими инструментами будут пользоваться, что практически полностью вымещает СЛОЖНОСТЬ из профессии и обесценивает ЭЛИТАРНОСТЬ. О чем и писал анон выше.
Аноним 19/11/24 Втр 21:10:29 3325805 484
>>3325791
Сложность этой работы не выше, чем сложность работы любого другого инженера.
Аноним 19/11/24 Втр 21:13:41 3325807 485
>>3325805
Инженером ты можешь выучить свой стек и до пенсии в НИИ Рога и Копыта чертить втулки уже по мышечной памяти, а погромистом ты до старости должен будешь переучиваться, чтобы не отставать от прогресса.
Аноним 19/11/24 Втр 21:34:56 3325819 486
>>3325805
Ты делаешь вот это утверждение. Я хочу спросить, ты как это измерил?
Я как минимум отмечу, что программисты ещё и реализуют свои проекты, помимо просто проектирования.
Аноним 19/11/24 Втр 21:37:08 3325821 487
>>3325803
>что практически полностью вымещает СЛОЖНОСТЬ из профессии и обесценивает ЭЛИТАРНОСТЬ
Ты бариста что ли? Как это, вымещает сложность?
Ну, вон, Нетфликс не выдержал трансляции боя Тайсона, а там инженеры получше, чем много где. Им просто забыли сказать, что всю сложность выместили, и надо просто было сделать import python.framework.pizdatiy_stream.
Аноним 19/11/24 Втр 21:52:23 3325824 488
>>3325821
Быдло уймись. Думаешь, кому-то итт не очевидно, что ты набросился на нюфаню с асинхронностью только для того чтобы свое чсв потешить. Унижать других для того чтобы почувствовать свою значимость - поведение жалкого отброса.
Аноним 19/11/24 Втр 21:54:17 3325825 489
>>3325824
>Быдло уймись.
/bратан, прежде, чем оскорблять людей на анонимном форуме, попробуй осознать мысль, что тебе могут отвечать разные люди.
Аноним 19/11/24 Втр 21:56:17 3325826 490
>>3325825
>import python.framework.pizdatiy_stream.
>ScalableRobustEnterpriseFramework.sdelat_zaebis_async()

>разные люди

Как скажешь, зайчик.
Аноним 19/11/24 Втр 23:06:21 3325845 491
>>3325826
Вы только поглядите на эту обиженку, уже полдня здесь ошивается-зашивается.
>что практически полностью вымещает СЛОЖНОСТЬ из профессии и обесценивает ЭЛИТАРНОСТЬ.
Тебе же ясно было сказано:
>Хочешь ПРОСТА - ставь ФРЕИМВОРК, перекладывай жсоны и не еби мозги
Здесь не было ни намёка на недостаточную илитарность веб-кодиров или что там ещё узрел твой воспалённый мозг, чмо ты закомплексованное, лишь сухая констатация факта, что баристам, которые хотят вайти и получать заветные 400к в наносекунду, достаточно открыть референс ФРЕИМВОРКА, чтобы освоить материал на достаточном для перекладывания жсонов уровне - книжечек для этого либо не пишут (ибо фреимворки в пайтухон и джээс устаревают каждую неделю или типа того), либо они говно и их чтение нерационально.
Ты какой-то очень тупой, даже с перекладкой жсонов вряд ли справишься, серьёзно, не надо оно тебе. Попробуй в пятёрочку вкатиться.
Аноним 19/11/24 Втр 23:37:16 3325853 492
>>3325826
У вас pattern matching потёк.
> зайчик
Ты слишком плохо скрываешь попоболь.
Аноним 20/11/24 Срд 01:10:41 3325875 493
Аноним 20/11/24 Срд 01:12:12 3325876 494
>>3313047
Я на госслужбе в офисе работаю. Зп 60к. Программирование это хобби
Аноним 20/11/24 Срд 01:58:53 3325883 495
Так и знал что офисный пикабушный рак тред засирает.
Аноним 20/11/24 Срд 04:07:39 3325891 496
>>3325845
>бо фреимворки в пайтухон и джээс устаревают каждую неделю или типа того
Борщехлеб, простой вопрос: ты вообще в ИТ работал? Или ты чмо из НИИ кислых щщей вроде шизика-столярова?
Какую же ты хуйню несешь. Услышал где-то мемы про устаревающие за неделю фреймворки и сидит с серьезным видом повторяет.
Устройся на работу уже наконец, а не сиди на шее у мамки, и поймешь, что кишки С нахуй никому не сдались, как и твои обоссаные алгоритмы.
Аноним 20/11/24 Срд 06:43:27 3325905 497
>>3324323
Эксперт, зэпку озвучь?
Аноним 20/11/24 Срд 06:53:42 3325908 498
>>3324471
> Недостаточно навыков: Возможно, нужно подтянуть уровень. Например, изучить более сложные вещи: асинхронность в Django, оптимизацию запросов, работу с Celery.
Нихуясе требования для ПЕРВОЙ работы. Вы там в ращке ебнулись?

> Spring сложнее: Java Spring требует изучения не только Java, но и всей экосистемы, которая гораздо шире и сложнее, чем Django.
Какой конкретно?

Какой фреймверк лучше использовать для веб интерфейса устройства с аутентификацией? Джанго это оверкилл.
Аноним 20/11/24 Срд 06:56:26 3325911 499
Аноним 20/11/24 Срд 09:17:35 3325931 500
>>3325908
>Нихуясе требования для ПЕРВОЙ работы
Нам на дне карьеры в вузе рассказывали, что для того, чтобы тебя взяли джуном, нужно иметь знания мидла.
Аноним 20/11/24 Срд 09:37:38 3325941 501
>>3325931
Ну, сейчас примерно так и есть.
Аноним 20/11/24 Срд 10:12:28 3325958 502
>>3325941
Это было 4 года назад
Аноним 20/11/24 Срд 10:31:32 3325970 503
>>3325931
Это раш каособенности (спамлист) какие-то? А как стать мидлом? И главное на какую это зп?
Аноним 20/11/24 Срд 10:54:06 3325987 504
>>3325970
> А как стать мидлом
Нужно обладать знаниями мидла и опытом мидла.
> И главное на какую это зп?
Хз, это говорил чел из говноаутсорскомпании симбирсофт. Нестабильные тыщ 80 в зависимости от того как ебашишь думаю, не больше.
Аноним 20/11/24 Срд 10:58:47 3325989 505
>>3325908
>Какой фреймверк лучше использовать
Socketify
Аноним 20/11/24 Срд 11:01:20 3325990 506
>>3325987
> Нужно обладать знаниями мидла и опытом мидла.
СТАТЬ КАК, СУКА?

> Хз, это говорил чел из говноаутсорскомпании симбирсофт. Нестабильные тыщ 80 в зависимости от того как ебашишь думаю, не больше.
Сколько у вас средняя зп? И как получилось что джуны у вас не нужны?

>>3325989
Там аутентификация?
Аноним 20/11/24 Срд 11:04:35 3325991 507
>>3325990
> СТАТЬ КАК, СУКА?
Получаешь знания мидла, становишься джуном, зарабатываешь опыт несколько лет, становишься мидлом... Хотя в текущих реалиях ответ скорее NEEQAQUE
> И как получилось что джуны у вас не нужны?
Почему не нужны?
Аноним 20/11/24 Срд 11:10:27 3325995 508
>>3325991
> Получаешь знания мидла,
КАК, БЛЯДЬ? Чего я все из тебя клещами тяну?

> Хотя в текущих реалиях ответ скорее NEEQAQUE
Что за реалии?

> Почему не нужны?
Ну ты же сам говоришь что надо каким-то хуем дотянуть до мидла.
Аноним 20/11/24 Срд 11:20:49 3326003 509
>>3325995
> Ну ты же сам говоришь что надо каким-то хуем дотянуть до мидла.
Нет, я говорю, что тебя возьмут джуном, но знать ты должен как мидл. Ты не должен быть мидлом, но должен знать примерно то, что знают они.
> КАК, БЛЯДЬ? Чего я все из тебя клещами тяну?
Ну откуда я знаю, чё ты из меня вытянуть пытаешься. Ты не знаешь как выстроен процесс обучения? Берёшь книжку какую-нибудь, если совсем хлебушек и ничего не знаешь, потом пишешь проект и постепенно навешиваешь на него новые всё более сложные фичи. Потом ещё проекты делаешь, со временем знания наберутся.
> Что за реалии?
Перенасыщение рынка, даже синьки работу годами найти не могут.
Аноним 20/11/24 Срд 13:25:38 3326121 510
>>3326003
> Ну откуда я знаю, чё ты из меня вытянуть пытаешься. Ты не знаешь как выстроен процесс обучения? Берёшь книжку какую-нибудь, если совсем хлебушек и ничего не знаешь, потом пишешь проект и постепенно навешиваешь на него новые всё более сложные фичи. Потом ещё проекты делаешь, со временем знания наберутся.
Аааа, то есть джун должен бесплатно учиться в интернете в отрыве от реальной работы и каким-то хуем дотянуть до мидла? Не работая в фирме, не зная как это организовано? И что, люди идут на это? И получается?
> Перенасыщение рынка, даже синьки работу годами найти не могут.
Неебу кто такие синьки. Это после гойды когда работу за границу закрыли?
Кстати, а что с теми кто работал? У меня один давний интернет знакомый работал на заграницу по удаленке. 2.22 выдал ватное бинго. Потом ему переводы на часть счетов санкциями закрыли, но какой-то остался. Интересно что с ним сейчас.
Аноним 20/11/24 Срд 18:35:00 3326312 511
А срез в
> for char in string[5:50]:
работает как генератор или он сразу даёт O(n²)?
Аноним 20/11/24 Срд 18:48:38 3326317 512
>>3326003
Это поэтому у вас к людям что-то спрашивающим в инете отношение как к говну?
Аноним 20/11/24 Срд 22:21:52 3326384 513
>>3326003
Я так понимал, что мидл - это опыт работы. А как ты сука можешь получить опыт работы без работы??

В одно рыло ты засыпешься гарантированно
Аноним 21/11/24 Чтв 09:13:42 3326515 514
>>3326312
Почему n в квадрате? он же проходит 1 раз по каждому элементу среза
Аноним 21/11/24 Чтв 09:36:23 3326519 515
image.png 703Кб, 1200x511
1200x511
>>3326317
Не понимаю, о чём ты. Я сижу в тематических чатиках, на харкаче вот, тоже сижу, даже если ирл спрашивают, я почти всегда готов помочь.
Но это не относится к моментам, когда кто-то спрашивает какую-то очевиднейшую хуйню. Бывает просто пишешь вопрос, который тебе задают, в гугле, и там в самой первой ссылке ответ. К нпс, которые думают, что им всё должны принести на блюдечке, отношение подобающее.
Аноним 21/11/24 Чтв 11:38:51 3326604 516
>>3325791
>инструментов, абстрагирующих сложность
Чем больше этой хуйни, тем легче выстрелить себе в ногу в плане того, что эта хуйня под капотом будет заниматься вычислительно неэффективной хуйней, потому что ты не очень понимаешь, как оно работает.
Пример - реализация "массивов" в большинстве высокоуровневых языков типа петухона, пхп, жс. Подсказка: там это НЕ массивы со всеми вытекающими.
Аноним 21/11/24 Чтв 13:28:51 3326713 517
>>3326604
Поясни слова. Не всм ты лох, а прост интересно послушать. Дело в том, что как я понимаю в Питоне все - объект сверхкласса. А класс в питоне сам по себе это __dict__ из методов, атрибутов, неба и Аллаха. Чем не массив?
Аноним 21/11/24 Чтв 13:35:48 3326722 518
>>3326604
Таки в питоне массив (который list) таки массив и есть.

>>3326713
Это очередной байтоёб, нехуй его слушать.
Аноним 21/11/24 Чтв 15:25:30 3326787 519
>>3326519
Ну я ж и говорю, дешевый нищий скот готов ехать хоть чучелом, хоть тушкой, лишь бы вайти.
Для меня это хобби, на сей момент денег не принесшее. Занимаюсь скриптингом и скрепингом. Меньше часа на любой фикс очень редко ебался. Для нищего скота я наверно npc, да. Со многим говном разобраться можно только с гуглом и оверфлоу. А геморрой этого не стоит.
Аноним 21/11/24 Чтв 15:26:39 3326789 520
Аноним 21/11/24 Чтв 15:27:51 3326790 521
>>3326604
Если тебе нужна скорость есть инструменты типа нампи. Там все оптимизировано.
Аноним 21/11/24 Чтв 16:07:52 3326815 522
pdexample.png 6Кб, 406x126
406x126
У меня возник тупняк с pandas.

Суть тупняка такая: я не могу понять как в pandas можно сделать самосоединение таблицы (см пик) по следующему условию: значения в полях Account и Period совпадают, а Rate отличается.

Cделать я это хочу для того, чтобы в строках, где Rate=0, заменить его ненулевым значением, взятым из строки с такими же Account и Period, чтобы далее сгруппировать всё по Account,Period,Rate и просуммировать поля Sum.

Если есть более простая последовательность решения данной проблемы, чем:
1) Самосоединение таблицы с последующим обновлением Rate=0 из левой части таблицы ненулевым значением из правой.
2) Удаление колонок правой таблицы.
3) Группировка и суммирование.

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

Примечание: Строк с повторяющимися Account и Period всегда не более двух. Значения Rate в таких случаях либо одинаковые либо одно из них 0.
Аноним 21/11/24 Чтв 16:10:05 3326819 523
>>3326815
С группировкой и суммированием у меня проблем нет - groupby и agg работают отлично. Мне надо только понять в какую сторону смотреть, чтобы разобраться с обновлением значения Rate в тех слуаях, когда оно 0
Аноним 21/11/24 Чтв 17:48:17 3326866 524
>>3326815
>>3326819
Кажись, нашёл в какую сторону смотреть - pandas.DataFrame.query
Сейчас попробую.
Аноним 21/11/24 Чтв 18:18:46 3326880 525
pdres.png 30Кб, 992x212
992x212
>>3326815
>>3326819
>>3326866
Решение получилось такое (см пик)
Если кто-нибудь знает как можно сделать проще, то напишите, пожалуйста)
Аноним 21/11/24 Чтв 18:27:28 3326888 526
>>3326515
Ну, не в квадрате, да. Просто если он сначала делает полный проход, чтобы сделать срез, сохраняет его в память, и только потом -- начинает обходить отдельную последовательность, то это два обхода строки вместо одного... Типа O(2N). А если делает генератор, то обходится просто O(N).
Аноним 21/11/24 Чтв 21:33:24 3326973 527
>>3326888
Чел, генератор выплёвывает результат и забывает, идет к следующему, а срез строки предполагает что тебе нужна новая строка с которой ты что-то будешь делаешь. Если бы срез забывал какие он символы последовательно выплевывает это было бы пиздец как неудобно. Тогда вместо со срезом надо было бы всегда использовать конструкцию, которая символы сохраняет.

А вот если тебе по каким-то фантастическим причинам нельзя делать срез строки - ты всегда можешь итерироваться сразу по его элементам. А с помощью itertools.islice ты можешь начинать итерацию сразу с нужного индекса.

Но обычно это излишне. Если у тебя в памяти строка на сто гигобайт и ты не можешь делать срез - это значит что у тебя хуево написана программа. В остальных случаях такой временный срез это ничтожная величина которая ничего не стоит ничего не занимает и быстро уничтожается gc. Как принято говорить - это нормальный ПИТОНИЧЕСКИЙ подход.
Аноним 22/11/24 Птн 10:53:53 3327151 528
>>3326973
Спасибо.

Я просто увлёкса литкодом и после решения самостоятельно -- всегда заглядываю в едториалы (если доступны) и солюшенсы и там всегда отдельно проговаривается сложность и оптимальность алгоритма, вот и решил заморочиться c деталями.
Аноним 23/11/24 Суб 05:19:41 3327672 529
Аноним 24/11/24 Вск 18:37:39 3328448 530
>>3326888
>O(2N)
Это то же самое, что O(n) - суть в том, что это линейный рост. Константный фактор не учитывается. Любой вкатун это знает а сеньоры нет потому что в годы их молодости на собесах ещё не ебали алгоритмами и давали оффер за то что ты не даун.
>Я просто увлёкса литкодом
Чёт незаметно.
Аноним 26/01/25 Вск 23:48:01 3373226 531
Проорал с тредаю
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов