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

Ответить в тред Ответить в тред
Check this out!
Питон тред №126 /python/ Аноним 24/08/21 Втр 14:38:20 21387181
e5ceb9a8afc211b[...].jpg 46Кб, 400x300
400x300
learn-python-tu[...].jpg 139Кб, 1920x1080
1920x1080
Тред, посвящённый языку программирования Питон, #126

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Исходник: https://dumpz.org/bASGKD8cCFDf
Аноним 24/08/21 Втр 14:51:03 21387322
>>2138598 →
>Есть где гайды быстро посмотреть что поменялось и в целом освежить знания? Только не надо официальный туториал или док, они пиздец какие водянистые. Просто без примеров короткое описание
Вообще тебе нужны именно официальные туториалы. Для всего достойного софта есть разделы "What's new in ..." где описываются изменения.

Вот про джанго, якорь на обратно несовместимое, выпиленное:
https://docs.djangoproject.com/en/3.2/releases/3.0/#backwards-incompatible-changes-in-3-0
Аноним 24/08/21 Втр 15:13:02 21387523
Призываю знатоков треда в очередной раз

https://ideone.com/R6qzl8

Как сделать это же, но через zip? Вероятно даже нужно использовать сразу 2 zip.

Да, нужны именно вложенные словари. Да, именно внутри списка как его элементы (отдельные вложенные словари).
Аноним 24/08/21 Втр 15:21:07 21387584
Аноним 24/08/21 Втр 15:23:23 21387625
>>2138758
Хрена. А у меня почему-то zip отказывался больше двух аргументов принимать когда я пробовал. Наверное что-то не так делал.
Аноним 24/08/21 Втр 15:27:15 21387686
>>2138762
Но зачем ты нахуевертил три фора, там одного достаточно, индексы же одинаковые.
Аноним 24/08/21 Втр 15:28:08 21387697
>>2138768
Хз. Я же только учусь, сделал, работает, задачку закрыл и дальше пошел.
Аноним 24/08/21 Втр 15:31:13 21387708
>>2138768
Если student_ids окажется короче остальных - на выходе хуита окажется
Аноним 24/08/21 Втр 15:32:29 21387749
>>2138770
Если они будут не одинаковы по размеру, то хуита получится в любом случае. Я же говорю - глупая задачка.
Аноним 24/08/21 Втр 15:53:27 213879210
Аноны, что мне нужно еще выучить, чтобы имело смысл искать работу? В веб не хочу, хотелось бы в машин лернинг, но я матан (пока) не так хорошо знаю.
На сносном уровне владею:
стандартной библиотекой
библиотеки requests, bs4, selenium, pandas, nltk, gensim
git'ом, virtualenv
Имею представление об SQL
Сейчас учу SQLAlchemy
В скором времени собираюсь взяться за numpy, tensorflow, opencv, jupyter notebooks
Нужен ли мне докер? Нужно ли дрочить командную строку линукса? Хватит ли мне питона или нужно учить еще один язык (когда-то дрочил джаву, но не продвинулся дальше синтаксиса)?
Аноним 24/08/21 Втр 16:13:17 213880711
Аноним 24/08/21 Втр 18:21:53 213892912
>>2138792

Почти уверен, что ты соснешь хуйца. ML -- это такая хайповая область, а у тебя, наверное, даже корочки приличного ВУЗа нет. Вот скажи, зачем брать тебя, если каждый год выпускают тысячи задротов с топ-вузов, которые тоже мечтают вкатится в МАШИН ЛЕНИНГ и никаких проблем ни с погроммированием, ни с матанам у них не было еще до поступления?
Аноним 24/08/21 Втр 18:53:59 213894813
>>2138929
Анон, ты очень злой и токсичный.

То есть по сути ты прав, конечно, но ты всё равно злой и токсичный.

>>2138792
> requests, bs4, selenium, учу SQLAlchemy
это прямо типичный стек для "не хочу веб, хочу ML"

Мне кажется, что надо просто открывать книжки и курсы по ML, AI и т.п. и изучать их, если видишь, что что-то активно используется, вроде numpy, то может сначала разобраться с этими пакетами.

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

Пока не смотрится, что ты хочешь изучать ML. Смотрится, что тебе нравится слово ML, но ты боишься в него влезать.
Аноним 24/08/21 Втр 19:00:08 213895214
Есть длительный процесс, генерирующий данные, которые нужно записать. Открываем файл и пишем себе, потом закрываем.
Но всюду втюхивают эти ваши контекстные менеджеры. Так что лучше - закрывать-открывать, или копить и высрать за раз менеджером?
Как рекомендуют лучшие питоноводы?
Понятно, что речь не идет о случаях, когда там гигабайты и копить смысла нет.
Аноним 24/08/21 Втр 19:02:15 213895615
>>2138948
Стек парсеромакака. Они почему-то сейчас мутируют в телеграмоботомакак, вообще бессмысленная хуйня какая-то. Видимо на каких-то курсах втюхивают.
Аноним 24/08/21 Втр 19:05:05 213896316
>>2138952
Писать через менеджер. В случае краша не потеряются все данные.
Аноним 24/08/21 Втр 19:05:43 213896617
>>2138963
Как раз все и потеряются, потому что до него не дойдет.
Аноним 24/08/21 Втр 19:06:48 213896918
Продублирую вопрос из прошлого треда - как подключить sentry к приложению на asyncio (без фреймворков типа aiohttp)?
Аноним 24/08/21 Втр 19:07:27 213897119
>>2138966
Если данные генерируются порциями, то просто пишешь каждую порцию. Потеряются только еще не записанные - одна порция, хз как это правильно назвать.
Аноним 24/08/21 Втр 19:07:30 213897220
>>2138956
>Стек парсеромакака
Похоже на правду, тем более там ещё пакеты для анализа "естественных языков".

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

Слишком не моё напревление, чтобы тут что-то писать на эту тему.
Аноним 24/08/21 Втр 19:09:04 213897321
>>2138952
Длительный процесс можно запускать под контекстным менеджером
with open("file.txt", "w") as file:
____do_long_running_process(file)
Аноним 24/08/21 Втр 19:09:51 213897722
>>2138971
Вопрос в том, открывать ли файлы и писать последовательно, или собирать и в конце всё писать.
Каждую строчку дописывать через контекстный менеджер это пидорство какое-то, нормальные люди так не делают.
Аноним 24/08/21 Втр 19:11:34 213897923
>>2138973
Ну хуй знает, специально ухищряться, чтобы вписать менеджер.
Аноним 24/08/21 Втр 19:12:39 213898024
>>2138977
А как еще писать поток данных к примеру с сокета? Просто постоянно дергаешь файл или пишешь в какой-нибудь буфер и сгружаешь с него.
Аноним 24/08/21 Втр 19:16:31 213898925
>>2138980
> А как еще
Открываешь файл и используешь хендл по необходимости. В конце закрываешь. Можно флашить, если там что-то такое критическое. Везде так делают.
Аноним 24/08/21 Втр 19:17:45 213899326
Screenshot from[...].png 20Кб, 436x152
436x152
>>2138979
Ты выдумываешь проблемы. Вот условный пример демонстрационный, на картинке.

Открываешь контекстный менеджер, внутри получаешь значения, пишешь их в файл. Если вдруг словишь исключение, контекстный менеджер закроет файл и данные потеряны не будут.
Аноним 24/08/21 Втр 19:19:05 213899627
>>2138993
Ну так да, хотя мне и не нравится лишний уровень вложенности.
А делать функцию и прокидывать туда хендл менеджера как-то убого выглядит.
Аноним 24/08/21 Втр 19:28:20 213900828
>>2138996
Контекстные менеджеры это самый надёжный способ для контроля ресурсов. Чтобы ты их закрывал корректно.

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

Тогда всё равно принято делать метод условно run(), который контекстный менеджер, и в коде
my_class = MyClass()
with my_class.run():
____my_class.do_job()
в run() ты открываешь какие-нибудь ресурсы, которые сохраняются в инстансе класса. А по окончании или в случае исключения надёжно всё отлавливаешь и корректно закрываешь.

Если ты делаешь настоящее приложение с конкурентной архитектурой, то это уже не очень работает, там свои подходы. Но это когда многопоточка или asyncio с большим количеством параллельных задач.
Аноним 24/08/21 Втр 19:34:50 213901829
>>2139008
Ну вот тебе конкретная задача, для которой и возник этот вопрос.
Скрипт для обновления стоков по api. Надо писать списки товаров для отчета. https://ideone.com/n8Hb9P
Отдельно открывать и настраивать всю эту хуйню и потом закрывать было бы коряво, так что я решил так. Но оно пишется только в конце, что имеет минусы. Вот я и задумался, как зделоть красиво и эффективно.
Аноним 24/08/21 Втр 19:45:56 213902930
>>2139018
В твоём случае по логике может быть очень много разных файлов. Это другая история, чем один большой файл.

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

Фактически ты делаешь свою БД типа ключ-значение. Возможно стоит подключить настоящую БД.

Есть вариант, что накостылять своё решение, когда ты делаешь MyDB, функцию update_record(title, vals), и раз в сколько-то операций дампить несохранённые данные.

Это скорее на случай, когда у тебя скрип работает постоянно, но ты всё-таки хочешь видеть сохранённые данные оттуда в виде файлов.

Но если ты уверен, что данные в records не перезаписываются, то на самом деле проще просто тупо дампить, как только соответствующая item готова.
Аноним 24/08/21 Втр 19:51:49 213903831
>>2139029
Нет, это одноразовый процесс, прокручивающий все продукты по очереди, просто в процессе копит строчки отчетов, можно и сразу писать.
Аноним 24/08/21 Втр 19:56:20 213904832
>>2139038
Ну честно не вижу проблемы ни в том, чтобы сразу писать, ни в том, чтобы сначала посчитать, а потом писать. По-моему это должно быть примерно одно и то же. Лишняя работа и потеря времени только в том случае, если тебе надо перезаписывать файлы.

Если у тебя скрипт во время расчётов может вылететь, можно расчётную часть обернуть в try-except, а в finally уже дампить reports.
Аноним 24/08/21 Втр 20:35:10 213906933
>>2138718 (OP)
Что почитать про паттерны и архитектуру приложений на питоне? А про дистрибьютед системы? Чтобы селари, эскьюэльалхимию и рэбит ещё объяснили. Только желательно современное?
Аноним 24/08/21 Втр 21:12:17 213911734
>>2138929
Ну, мне действительно кажется это интересным. Впрочем, я понимаю, что это сложно, поэтому хочу попасть хоть куда-то (кроме веба).
>Вот скажи, зачем брать тебя, если каждый год выпускают тысячи задротов с топ-вузов, которые тоже мечтают вкатится в МАШИН ЛЕНИНГ и никаких проблем ни с погроммированием, ни с матанам у них не было еще до поступления?
Потому что сфера пока еще растет, и я надеюсь, что задротов не хватает. Ну и я собирался пойти в магу на это все дело, но видел вакансии, где приличный вуз не требуется, поэтому думал попробовать.
>>2138948
Спасибо, анон!
>Мне кажется, что надо просто открывать книжки и курсы по ML, AI и т.п. и изучать их, если видишь, что что-то активно используется, вроде numpy, то может сначала разобраться с этими пакетами.
Да, это понятное дело. Я именно про какие-то специфичные библиотеки или технологии, которые нужны в мл.
>>2138948
>>2138956
Помогал знакомому с некоторыми проектами, тогда и разобрался с этими библиотеками.
>>2138972
>пакеты для анализа "естественных языков"
Я учился просто на прикладной лингвистике (это бессмысленная херня) и там нам давали работать с этими пакетами.
Я так-то думал именно в NLP пойти.
Аноним 24/08/21 Втр 22:32:04 213920135
Полгода изучал Python не смог устроиться, недельку изучаю тестирование уже устраиваюсь на работу)
Аноним 24/08/21 Втр 22:40:10 213921336
>>2139201
Кассиром бы за один день вкатился.
Аноним 24/08/21 Втр 22:53:13 213922937
Почему в sqlite нормально удаляет на on cascade (подчиненную таблицу тоже), а sqlalchemy только главную? Как починить?
Аноним 25/08/21 Срд 10:54:11 213949238
Аноним 25/08/21 Срд 11:59:12 213956739
как супер быстро посчитать все результаты выражения вида "d10+d10+d10+d10+d10+d10" в котором d10 - это возможные числа от 1 до 10, то есть я придумал создавать декартово произведение и делать полный перебор, но можно ли как-то быстрее, чем за экспоненту?
Аноним 25/08/21 Срд 12:00:38 213956940
>>2139567
Засунуть в паднас и с помощью векторизации.
Аноним 25/08/21 Срд 12:02:02 213957141
>>2139569
Нельзя, тестовая задача, ток стандарт либа
Аноним 25/08/21 Срд 12:07:27 213957242
>>2139571
Чем тогда обычный sum не подходит?
Аноним 25/08/21 Срд 12:14:13 213957543
>>2139572
sum- это ок, проблема, в том, что генерация всех комбинаций - это эксмонента, 101010...*10 а нужно придумать, как за полином высчитать все исходы такого выражения
Аноним 25/08/21 Срд 12:16:27 213957644
>>2139575
Если у тебя только целые числа от 1 до 10, то у тебя всегда будут повторяющиеся последовательности внутри всех комбинаций. Это можно вывести в формулу комбинаторную.
Аноним 25/08/21 Срд 12:19:11 213957945
>>2139575
Плюс для тебя комбинация 1+2+3+...+10 и 10+9+8+...1 одинаковые, т.е. инвертируемые, т.е. тебе половину не нужно чистать, а достаточно на 2 умножить.
Аноним 25/08/21 Срд 12:48:44 213960546
image.png 91Кб, 1510x717
1510x717
chrome-capture.jpg 103Кб, 1192x619
1192x619
>>2139579
Да это я учёл для выражений с плюсом и умножением, но в некоторых могут быть минусы, а это уже не коммутативно

>>2139576
Там могут быть любые дешки d4+d8+d9 и тд

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

Полная версия задачи в пикриле
Аноним 25/08/21 Срд 12:49:56 213960847
>>2139605
Бля первый пик не тот
Аноним 25/08/21 Срд 12:50:14 213961048
chrome-capture [...].jpg 460Кб, 1399x619
1399x619
Аноним 25/08/21 Срд 13:28:56 213963949
>>2139610
Есть тестовые примеры? Из условия не очень ясно, как интерпретировать, например, выражение d2 + d2. Бросается ли одна кость с n = 2 гранями и результат броска становится одним значением d2 для обоих слагаемых, или кость бросается два раза и оба операнда d2 независимы?
Аноним 25/08/21 Срд 14:11:59 213968550
>>2139639
Увидел твои примеры. Если dn - одно и то же значение (для фиксированного n), то как-то так:

https://ideone.com/sKPki6
Аноним 25/08/21 Срд 15:22:26 213978251
>>2139685
Твой пример во-первых считает некорректно, когда значения d одинаковые, во-вторых некорректно, потому что ты не учитываешь что d может быть равно N, и в третьих оно считает очень долго, ты делаешь полный перебор.

У них в условии сказано, что в dn значение n может быть 100000, достаточно записать выражение
d99999 > d99999
и у тебя перебор на 10 миллиардов значений, что очень долго считать. Хотя это выражение вычисляется как 0, 1 - равновероятно по 0.5

Аноним 25/08/21 Срд 15:26:53 213979152
>>2139782
Ограничений в условии в любом случае недостаточно
будет в строке
d100000 * d100000
и на выходе должно быть на уровне 9 миллиардов строк, все возможные непростые числа и маленькие простые.
Аноним 25/08/21 Срд 15:45:21 213981053
>>2139782
Так написано же, что это решение в предположении, что для каждого n dn определяется одним броском, что скорее всего и имеется в виду в условии, иначе будет как >>2139791.

Кроме перебора тут ничего в общем случае не получится. Даже если ограничиться только линейными выражениями c1dn1 + c2dn2 + ... + ck*dnk, то подсчет числа всех возможных комбинаций значений dn-ов для заданного значения выражения сводится к подсчету числа целых точек в (k-1)-мерном многограннике, что нетривиально. Если разрешить умножения dn-ов на себя и добавить операцию <, то это уже поиск всех целых точек в нелинейном объекте. Делать это не перебором - явно не задача для вступительных экзаменов на онлайн курсы.
Аноним 25/08/21 Срд 15:50:55 213981854
>>2139810
В любом случае сложноватая для вступительных в школу. И ещё слишком расплывчатая.

Можно решать методом монте-карло, то есть сделать N разных попыток и получить результат. На прикидку интуитивно, без формул на доверительные интервалы из матстатистики, на уровне 100 тысяч попыток, чтобы получить точность в 0.01%, как они просят.
Аноним 25/08/21 Срд 16:52:16 213986755
Короче рофел в том, что они в итоги поменяли временные лимиты и признали, что это перебор и моё решение заехало даже с полным перебором
>>2139818
>>2139810
Аноним 25/08/21 Срд 16:59:02 213987156
Начинается последний курс вуза по специальности "бесполезная гуманитарная параша". Куда идти и что делать дальше кроме как вкатываться в забитый индусами поезд it я не знаю. Помогите пожалуйста, я прошел вводный курс яндекс практикума по питону, хотел купить платную часть, но, судя по отзывам, это просто выкидывание денег на ветер. Мне впервые за всю жизнь стало интересно учиться, но у меня нет никакого плана и структуры обучения. Я не знаю за что взяться. Готов сидеть сутками, читать книги тоннами, спать по 4 часа, все, что угодно, только скажите как, прошу. У меня есть год чтобы научиться чему-то. Книги в шапке я увидел, спасибо. Есть еще что-то? Ютуб/курсы/сайты? Что угодно. Я знаю, что зп будет 25к первый год, проживу. Либо так, либо в петлю
знаю, "пошел нахуй, вкатыш"
Аноним 25/08/21 Срд 17:02:56 213987757
>>2139871
Я яндекс практикусе курс по алгосам сейчас прохожу, он на факультете питона и мне норм, так что могу практикум советовать, но там упор на самообразование большой, сам материал хороший и можно вопросы задавать по ходу дела в чате. Если в практикуме реально ебашить, то польза будет + дедлайны будут подстёгивать учится.

мимо сдавший эту ебучую задачу из школы headhunter >>2139605


Аноним 25/08/21 Срд 17:03:04 213987958
>>2139871
Этот топик не для вкатышей, для вкатышей есть другие два.

Ты пишешь как все, хочу работать в IT, при этот тебе как будто пофигу, каким направлением вообще заниматься, как будто они все одинаковые.
Аноним 25/08/21 Срд 17:14:09 213989059
image.png 25Кб, 679x198
679x198
>>2139877
> там упор на самообразование большой
> можно вопросы задавать по ходу дела в чате
Отзыв, это не самообразование, это издевательство.

>>2139879
Анончик, я же сразу написал, что прошел вводный по питону, и хочу именно его, мне интересен именно бэкенд. Поэтому и зашел в тред, посвященный именно питону
Аноним 25/08/21 Срд 17:14:29 213989260
image.png 25Кб, 679x198
679x198
>>2139877
> там упор на самообразование большой
> можно вопросы задавать по ходу дела в чате
Отзыв, это не самообразование, это издевательство.

>>2139879
Анончик, я же сразу написал, что прошел вводный по питону, и хочу именно его, мне интересен именно бэкенд. Поэтому и зашел в тред, посвященный именно питону
Аноним 25/08/21 Срд 17:17:28 213989661
>>2139890
Ну мне просто зашло то, как там подан материал, ну когда я по спрашивал, мне отвечали, да и остальным, я могу скрины из слака покидать, если хочешь, в гугл ни разу никого не посылали точно
Аноним 25/08/21 Срд 17:35:25 213991662
image.png 16Кб, 549x482
549x482
>>2138718 (OP)
Возможно не шибко практичный вопрос, но как в питоне привязать к объекту функцию в качестве метода? Обычная привязка как на скрине рузльтатов не дала
Аноним 25/08/21 Срд 17:37:08 213991963
>>2139916

Создать класс и сделать в нем нужный метод?
Аноним 25/08/21 Срд 17:38:56 213992064
Аноним 25/08/21 Срд 17:39:45 213992165
>>2139919
Не хочу
Хочу привязать

>>2139920
Хочешь сказать, невозможно?
Аноним 25/08/21 Срд 17:40:12 213992266
Подскажите что почитать по refresh и JWT токенам и авторизации.
Аноним 25/08/21 Срд 17:41:11 213992367
>>2139921
Функцию можно, но не метод, методу же нужен self, как и написано в твоей ошибке, тут нельзя как в js жонглировать контекстом вызова
Аноним 25/08/21 Срд 17:42:04 213992568
Аноним 25/08/21 Срд 17:46:37 213993069
Аноним 25/08/21 Срд 17:48:03 213993470
>>2139930
Ну ничего себе приколы
Аноним 25/08/21 Срд 17:52:48 213994071
Аноним 25/08/21 Срд 17:53:03 213994172
>>2139925
Спасибо. Чел рассказывает на расслабоне, лол. Непривычно.
Аноним 25/08/21 Срд 17:54:46 213994473
>>2139940
Ну собственно при создании инстанса он связывается с функциями-аттрибутами класа и получаеся метод, это и есть тот самый binding.
Тут мы делаем его вручную позже.
Аноним 25/08/21 Срд 18:05:00 213995374
>>2139896
Покидай пожалуйста. Как вообще в целом ощущения от учебы? Чувствуешь, что после обучения сможешь пойти работать куда-то?
Аноним 25/08/21 Срд 18:28:37 213997575
Slack 10algopr[...].png 120Кб, 473x869
473x869
Slack 10algopr[...].png 66Кб, 383x700
383x700
Slack 10algopr[...].png 76Кб, 384x617
384x617
>>2139953
Ну я-то уже работал, я просто с фронта на сервер хочу уйти и это курс я взял для собеседований, где алгоритмы спрашивают. А так я хз, если всё делать, то думаю да, но вообще, курсы - это такая штука, если тебе нужны какие-то рамки, дедлайны, то это норм, если ты достаточно самоорганизованный, чтобы учиться по книгам + ютубу, то курсы не нужны.
Аноним 25/08/21 Срд 19:01:19 214000476
Аноним 25/08/21 Срд 19:06:22 214001377
Аноним 25/08/21 Срд 19:07:51 214001978
>>2139975
Спасибо, анончик, можешь от себя посоветовать? Не хочу ограничиваться одним яндексом
Аноним 25/08/21 Срд 19:11:54 214002779
>>2140019
Лично я в нетологии учился, было норм, ещё в отусе, но там дорого сейчас пиздец и loftschool ещё норм. Но это всё были frontend курсы.
Аноним 25/08/21 Срд 19:19:13 214004480
>>2140027
Спасибо за помощь, правда
Аноним 26/08/21 Чтв 00:02:17 214031081
Подскажте, какие есть нормальные мультиплатформенные TUI либы. А то все что я нахожу либо не обновлялись 5+ лет, либо линух онли.
Аноним 26/08/21 Чтв 00:07:18 214031782
>>2140310
> либо линух онли
Потому что в шинде каличная консоль.
Аноним 26/08/21 Чтв 01:30:48 214037083
В Django можно создать несколько файлов css,для соответствующих страниц,если у меня один базовый шаблон html,который расширяют другие шаблоны html,и если да,то как их подключить?Просто прописать в каждом шаблоне соответствующий тег link?Или это по другому делается?
Аноним 26/08/21 Чтв 02:46:48 214041684
>>2138718 (OP)
Создатель выглядит как бабажопа с семочками
Аноним 26/08/21 Чтв 08:34:15 214046985
>>2140370
{% load static %}
<link stylesheet hred='{% static 'css/jopa.css %}'>
Аноним 26/08/21 Чтв 11:27:47 214057686
>>2139877
Это бесплатно или что? поясни.
Аноним 26/08/21 Чтв 11:32:34 214058187
>>2139890
Лол, яндексо-холопы опять обосрались на ровном месте. Прохожу курсы на Степике, в гугл нужно лезть экстремально редко, только если сам уж тупишь или для задач со звездочкой.
Аноним 26/08/21 Чтв 13:33:22 214070288
1.png 31Кб, 1189x741
1189x741
2.png 12Кб, 1185x305
1185x305
3.png 27Кб, 1183x677
1183x677
4.png 19Кб, 1163x243
1163x243
Всем привет.
Прохожу тут курсики в Хекслете, мне нравится, все понятно и не так тупо, как в других всяких туториалах. Но вот я нихера не могу разобраться в их редакторе. Ну и вообще я в этом Питоновском шелле не очень разбираюсь.
Вот во-первых, как понять, че там не работет? Типа он запускает тесты и то, что написано после ассерт - это то, что он должен получить? Типа он должен был получить фолс, а у меня вывело тру?
Как вообще понять, как работает эта функция встроенная гет_квадрант? Типа там в тесте точка на оси лежит, ну и что в таком случае возвращает их гет квадрант? Как вот вообще это отлаживать или типа того? Я же не могу у себя это запустить на компьютере, потому что там импортируются какие-то функции их, которые я не знаю как устроены. А тут в терминале мне нихера не понятно, если честно. Я просто пишу у них в терминал "python3", запускается шелл, ну или как эта штука называется и че потом? Как мне это всё там запустить? Я просто копирую весь код и вставляю туда? Но потом чет нихрена не работает. Я пишу после этого типа "print(че-то там)", он пишет, что синтаксическая ошибка.

Или я вообще просто где-то в коде обосрался? Раздражает блин ошибки искать. Задания простые, но я наверняка обсираюсь в какой-то мелкой хуйне синтаксической и по полдня не могу её найти. Бывает какие-то алгоритмы поиска ошибок? А то я на каждом таком говнозадании застреваю очень надолго, хотя решаю в принципе сразу.
Аноним 26/08/21 Чтв 13:34:01 214070389
>>2140581
Какие конкретно курсы проходишь? От Института бионформатики в гугл лезть не нужно только потому, что там в комментах уже слазили и вылили всю боль.

Но курсы у них все равно годные.
Аноним 26/08/21 Чтв 13:41:26 214070890
Есть какие-нибудь простенькие либы для редактирования кода в файлах? Есть несколько файлов, где нужно обернуть основной код для ловли эксепшонов.
Аноним 26/08/21 Чтв 13:54:47 214072491
>>2140703
Я прям базовые прохожу

https://stepik.org/course/68343/info
https://stepik.org/course/58852/info

Вот этот подход "если что - идите в гугл" я видел уже в ХТМЛ Академии. Говенный подход. Ты или всю необходимую теорию человеку давай или не берись курсы делать.

Люди делают курсы, некоторые даже берут за них деньги, а переписать общедоступную теорию своими словами - им лень. Это колхоз. Ну в случае с яндексом это колхоз, в котором сараи выкрашены в желтый цвет.
Аноним 26/08/21 Чтв 15:01:48 214077992
Аноним 26/08/21 Чтв 16:27:23 214088093
Вот крутится у меня сервак на условном aiohttp. Как сделать так чтобы в случае Exception-а в одном из запросов он гарантированно не подыхал целиком а продолжал крутиться, просто возвращая ошибку?
Аноним 26/08/21 Чтв 16:53:46 214090294
.png 26Кб, 1239x230
1239x230
>>2140708
Пока к такой теме пришел. Держу в курсе
Аноним 26/08/21 Чтв 16:57:17 214090495
>>2140724
Ну это не самый плохой подход. Просто не все понимают, что нужно не только задачки решать, но и что-то полезное делать. Хотя бы парсер написать для каких-то своих нужд. Тупо чтобы закрепить навык. Иначе все впустую пройдет.

На опенеду, кстати, есть тоже курс для начинающих от ВШЭ. Там порой проскакивают довольно тонкие вещи, которые не упоминаются в других местах. https://openedu.ru/course/hse/PYTHON/
Аноним 26/08/21 Чтв 16:57:41 214090596
>>2140902
Это какой-то манки патчинг в квадрате, лол.
Аноним 26/08/21 Чтв 17:01:32 214091297
>>2140905
По-другому никак. Мне нужно чтобы просто, в пару строк, и работало.
Аноним 26/08/21 Чтв 17:19:31 214093398
>>2140912
По-моему, можно импортнуть, повесить какой-то глобальный хендлер и запустить импортнутый код на выполнение.
Аноним 26/08/21 Чтв 18:27:28 214100899
>>2140708
from a import b

try:
____b()
except SomeException:
____pass
Фууу, устал придумывать
Аноним 26/08/21 Чтв 19:04:59 2141051100
Всем привет, у меня приложение, где бэк всё рендерит, но хотелось бы только на одной странице сделать рендер на фронте (там много меняющихся объектов). Можно ли для одной страницы использовать React или придется какими-то третьесортными шаблонизаторами всё делать?
Аноним 26/08/21 Чтв 20:17:40 2141166101
Аноним 26/08/21 Чтв 21:37:41 2141239102
Что дает превращение методов в поля с помощью @property?
Аноним 26/08/21 Чтв 21:38:16 2141240103
>>2141166
Это понятно, как же по-другому. Хотел просто реакт использовать как шаблонизатор и из-за стейтов.
Аноним 26/08/21 Чтв 21:38:36 2141241104
Аноним 26/08/21 Чтв 21:39:27 2141244105
>>2141241
Хотя не совсем, можно валидировать данные на входе, например. С помощью .setter.
Аноним 26/08/21 Чтв 23:27:32 2141341106
>>2141239
Самое основное использование — ленивая подрузка данных, чтобы не плодить методы get_name_from_db(), а просто написать user.name и все. Значительно упрощает интерфейс.
>>2141241
Инкапсуляцию блять чего?
>>2141244
С помощью проперти можно валидировать данные у сеттера? Ты себя слышишь?
>>2141051
А в чем проблема? Рякт в обычный джс транслируется. Обычный джс спокойно отправляется вместе с хтмлкой.
Аноним 26/08/21 Чтв 23:31:59 2141347107
>>2140724
Братан, "вся теория своими словами" это пара тысяч страниц. Никто такой хуйней заниматься не будет, да и ты охуеешь это читать. Привыкай, на работе вообще радоваться будешь, когда окажется, что документацию писали не полоумные дебилы с параличом, а уж если не просто перечислены все методы, а еще и описаны что в них нужно пихать с простейшим описанием того, что после этого произойдёт — будешь писать кипяточком от счастья. А если ты не смог осилить инфу из гугла, которая объяснена максимально подробно тысячи и десятки тысяч раз, то у тебя айкью двузначный и в айти делать тебе нечего.
Аноним 27/08/21 Птн 00:00:31 2141369108
>>2141347
Хуита. Если ты пишешь курсы - пиши перед задачками теорию. Не можешь - не пиши.

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

Привычно обоссал пиар-менеджера путинской копро-корпорации.
Аноним 27/08/21 Птн 00:18:15 2141374109
>>2141008
>>2140933
Нужно именно пропатчить несколько файлов, так как ним будет обращаться пользователь. Я бы мог попробовать переименовать эти скрипты и уже из скриптов с оригинальным названием импортить оригинальный код, но это еще хуже.
Аноним 27/08/21 Птн 00:19:19 2141375110
>>2141369
> Хуита. Если ты пишешь курсы - пиши перед задачками теорию. Не можешь - не пиши.
Там пишут, я смотрел по диагонали когда-то. Просто довольно сжато и не углубляясь в подробности. А хули ты хотел — курсы для гоев. Неважно, платные они или нет — если ты решил вкатываться по курсам и не хуярить самостоятельно, то ты уже проиграл.
> А то что "на работе говно будет - привыкай" это вообще пушка. Ровняться надо на лучшее, а не объяснять косяки уебанов из хуяндекса "мировой практикой".
Максимально формальное, полное и подробное изложение теории это документация в связке со стандартом языка. Все остальное это упрощения в том или ином виде.
> Привычно обоссал пиар-менеджера путинской копро-корпорации.
Но ты забыл снять штаны(((
Аноним 27/08/21 Птн 01:31:02 2141414111
>>2138718 (OP)
Как мне закинуть асинхронный коллбек для некого вызова? Вот есть некая async-функция, как настроить для нее коллбек, который будет асинхронно "стрелять" по ее завершении? В жс это делается нативно через цепочки промисов:

Promise.resolve(value).then( (result) => console.log(result) )

Цепочка в then не будет исполняться мгновенно, это выстрелит в тот момент когда промис будет выполнен и основной код тоже
Аноним 27/08/21 Птн 01:31:42 2141415112
image.png 186Кб, 926x866
926x866
Сап, програмач. Вкатываюсь в Пайтон по книге Эрика Мэтиза Изучаем Python. В книге описана настройка Саблайм Текст на пикрил. Я все сделал как там написано, но при запуске хеллоу ворлда он мне пишет No build System и не запускает программу. Как это фиксить?
Аноним 27/08/21 Птн 01:51:59 2141418113
>>2141415
Если у тебя шинда, то попробуй просто python вместо python3.
Аноним 27/08/21 Птн 02:06:14 2141434114
image.png 75Кб, 1919x1041
1919x1041
>>2141418
Я в Tools выбрал просто Python и теперь такая фигня выходит.
Аноним 27/08/21 Птн 02:07:59 2141435115
>>2141434
Ну ты совсем какой-то безнадежный, там же всё написано.
Аноним 27/08/21 Птн 02:14:09 2141438116
>>2141434
Ок я тупой. Подскажи плиз че делать.
Аноним 27/08/21 Птн 02:15:28 2141440117
Аноним 27/08/21 Птн 07:42:02 2141477118
Screenshot from[...].png 28Кб, 401x315
401x315
>>2141414
Создаёшь задачу или берешь связанную Future и делаешь add_done_callback

Future это аналог промиса в JS, Task чуть более сложная штука поверх промиса
Аноним 27/08/21 Птн 10:15:45 2141528119
>>2141341
>С помощью проперти можно валидировать данные у сеттера? Ты себя слышишь?
Да. C помощью сеттера у проперти ты можешь валидировать данные при простом присваивание.

@x.setter
def x(self, value)

jopa.x = 10
Аноним 27/08/21 Птн 10:34:33 2141537120
>>2141341
>А в чем проблема? Рякт в обычный джс транслируется. Обычный джс спокойно отправляется вместе с хтмлкой.
А ссылки мне как сделать? React может содержать только ссылки из react-router, я не смогу сделать ссылку с помощью django template. Так как react и будет рендерить, а не django. И того получается, что у меня ссылки будут не нажимные или придется все приложение делать SPA.
Аноним 27/08/21 Птн 10:36:34 2141539121
>>2140702
обычно по описанию ошибки в пучарме или юпитере понятно почему она произошла. но не всегда. обычно.
а так поиск ошибок это самое сложное, гугление, искание.
Аноним 27/08/21 Птн 10:56:57 2141545122
>>2140904
густокашин ведущий. прикольный чел кстати, нормально объясняет. правда он задрот, наверное поэтому там в курсе и есть токие вещи. любит он изьебнутся.
>>2140724
Я видел курсы яндекса по анализу данных.
это вообще пиздец.
там короче прост окно в браузере и децл текста. прочитал текст делаешь задание. в случае ошибки выдается просто типа - ошибка. и ебись как хочешь. причем ошибка может быть ебовой типа ты указал не тот путь к файлу, при том что код выдает верный результат по факту, но ошибка все равно пишется. то есть путь к файлу по сути - мусор, который не влияет на работу. просто пиздец. в любой непонятной ситуации предлагается писать в поддержку.
Аноним 27/08/21 Птн 11:11:03 2141553123
>>2141539
Ну на компе-то понятно, но тут какие-то тесты, не понятно что пишут. Но вообще я разобрался. Просто писал принты внутри функции и снаружи и запускал файл из тамошнего терминала. Ну в общем как на пека. Не знаю, чего я до этого не додумался раньше.
Аноним 27/08/21 Птн 11:50:10 2141579124
>>2141537
Ну с этим уже все сложнее, я не компетентен в этом вопросе, просто предложил вариант исходя из своих знаний. Про "в чем проблема" был не ироничный вопрос.
>>2141528
Сеттер и геттер это разные вещи, если что. Так что я все еще не понимаю как у тебя геттер влияет на сеттер
Аноним 27/08/21 Птн 11:50:23 2141580125
>>2141477
Асинхронная операция начинает выполняться в момент когда делаешь create_task?
И что если происходит эксепшн в момент его исполнения? Как ловить?
Аноним 27/08/21 Птн 11:57:10 2141582126
>>2141579
>Сеттер и геттер это разные вещи, если что. Так что я все еще не понимаю как у тебя геттер влияет на сеттер
Чел... декоратор setter это часть декоратора property. Сделать его просто так без проперти не получится.
Аноним 27/08/21 Птн 12:01:36 2141586127
>>2141580
В create_task задача закидывается в шедулер и потом когда нибудь выполнится при освобождении контекста. Если вылезает ошибка, то она падает и пишет в логи не прерывая основной поток исполнения.
Аноним 27/08/21 Птн 12:24:04 2141594128
>>2140576
Нет, яндекс практикум 10к месяц или 85 за весь курс. Это питон
Аноним 27/08/21 Птн 12:33:53 2141599129
>>2141580
>>2141586
А что кстати насчет логирования? По идее когда мы пишем logging.warning('Some shit happened') то эта операция исполняется синхронно, блокируя основной поток, вроде просто высрали текста а он блочит. Есть какие-то асинхронные логеры на основе той же херни что ты упомянул?
мимохуй
Аноним 27/08/21 Птн 12:57:46 2141606130
Добрый день.

Есть датафрейм вида
a b c d f
0 0 1 0 0 1
1 1 0 0 1 0
2 0 1 0 0 1
3 0 1 0 0 1
4 1 0 0 1 0
5 1 0 0 1 0

Ответ: b, f, 3

Как можно максимальное число пар вхождений посчитать? Не могу сообразить.
Аноним 27/08/21 Птн 13:00:02 2141607131
Аноним 27/08/21 Птн 13:04:15 2141610132
>>2141606
Задача на матрицы, но ты даже условие не можешь нормально написать.
Аноним 27/08/21 Птн 14:42:04 2141694133
>>2141599
А тут зависит от того какие ты логерры, если ты про стандартные в std, то там простоя процессора нет и от синхронности ты не избавишься
Аноним 27/08/21 Птн 15:18:43 2141733134
Анон, вопрос ввел в ступор.
Есть список названий ['a','b','c'] и список позиций этих названий [0,0,0,1,0,2,0,0,1]
Как из них получить объединенный список вида: ['a','a','a','b','a','c','a','a','b'] ?
Двойным циклом прогнать? Или есть решения изящнее?
Аноним 27/08/21 Птн 15:29:47 2141743135
>>2141733
Двойной цикл для простого маппинга? Наркоман?
[names[index] for index in index_list]
Аноним 27/08/21 Птн 15:39:31 2141749136
>>2141743
>Наркоман?
Немного.

Спасибо.
Аноним 27/08/21 Птн 17:37:57 2141867137
>>2139492
Да расставлял отношения
first_id = Column(INTEGER(), primary_key=True)
second_table = relationship("second_table",
lazy="joined",
cascade="all, delete",
passive_deletes=True,
backref="first_table")
а потом во второй
first_id = Column(INTEGER(),
ForeignKey("first_table.first_id", ondelete="CASCADE"),
primary_key=True)

а потом в коде собственно

async with session.begin():
stmt = delete(first_table).where(first_table.first_id == entered_id)
await session.execute(stmt)

только оно продолжает удалять только в первой таблице, хотя если через sqlite браузер делать, то норм
да и просто если в нем же пишу
DELETE FROM first_table WHERE first_table.first_id == 1

ну и примеры в документации чуток устарели, там же через query делают
Аноним 27/08/21 Птн 17:58:13 2141888138
>>2141867
Хотя если этот же запрос выполнить session.execute
то уже не работает
что за бред
Аноним 27/08/21 Птн 18:02:04 2141892139
>>2141888
Да оно в общем-то такой же и генерирует этот stmt
оче странно
Аноним 27/08/21 Птн 18:08:39 2141900140
ну лан сделою два запроса
Аноним 28/08/21 Суб 04:16:18 2142384141
Подскажите плис как код на си завернуть в либу питона например, чтобы сделать просто импорт и юзать.
Аноним 28/08/21 Суб 10:57:36 2142474142
>>2141594
они блядь охуели что ли? они за эти бабки потом на работу хоть устраивают?
Аноним 28/08/21 Суб 11:11:18 2142486143
Аноним 28/08/21 Суб 13:11:51 2142632144
>>2142486
> 3:14:50
Ты ёбу дал? Местным порриджам едва хватает аттеншен спана на видосики из тиктока, а ты тут ёбаную войну и мир притащил.
Аноним 28/08/21 Суб 14:12:27 2142673145
>>2142486
Нихуя, спасибо!
С каким же удовольствием я его лекции по алгоритмам смотрел. Жаль, что мне в МФТИ информатику преподавали люди совсем не такого уровня
Аноним 28/08/21 Суб 14:22:27 2142681146
>>2142632
А зачем это вообще смотреть? Обычное инттервью с вопросами ниочем. Его опыт в любом случае будет отличаться от опыта котррый получет анон. А каких-то интересных вещей по кодингу от не сказал.
Аноним 28/08/21 Суб 14:30:33 2142693147
>>2142681
Дудёвщина, которая пизжена из каких-то западных аналогов. Со всеми надо зделоть интервью.
Аноним 28/08/21 Суб 15:06:56 2142748148
>>2142681
>А зачем это вообще смотреть?
Да, зачем вообще что-то смотреть? Читайте доку, там все есть.
Аноним 28/08/21 Суб 15:19:33 2142755149
>>2142748
В этом видосе нет ничего полезного, зачем мне убивать 3 часа на чьи-то истории?
Аноним 28/08/21 Суб 15:22:25 2142758150
>>2142681
>>2142755
Это высеры вчерашних вкатунцов, которые считают, что каждую минуту нужно заниматься чем-то полезным?
Аноним 28/08/21 Суб 15:26:39 2142761151
>>2142758
Это мои высеры.
Если мне хочется посмотреть что-то интересное, то это не интервью. Тут сплошные шаблонные вопросы не применимые ко мне.
Если я хочу посмотреть что-то полезное для кодинга, то я иду в англоязычный сегмент сети и смотрю/читаю что-то по нужной теме.
Аноним 28/08/21 Суб 15:32:55 2142770152
>>2142755
>нет ничего полезного
Если хочешь полезное, читай доку, а не сиди на дваче.
Аноним 28/08/21 Суб 15:44:09 2142791153
E4571C55-4F53-4[...].jpeg 110Кб, 640x507
640x507
>>2142761
Если бы ты поинтересовался, что это за человек, то вопросов, почему интервью с ним постят здесь, не возникало бы.
Аноним 28/08/21 Суб 15:48:37 2142793154
>>2142791
Постили бы ссылки на его обучающие видосы или отзывы о них - вопросов не возникало бы.
Аноним 28/08/21 Суб 15:56:49 2142804155
16184410016450.jpg 195Кб, 1084x672
1084x672
>>2142791
>учить алгоритмы и структуры
>по видео на ютубе
Аноним 28/08/21 Суб 16:25:05 2142831156
>>2142804
У него вообще-то под видео ссылки на практические задания.
Аноним 28/08/21 Суб 16:56:35 2142858157
>>2142831
>делать задания
>вместо того чтобы решать реальные задачи
Аноним 28/08/21 Суб 17:06:00 2142873158
>>2142791
>Если бы ты поинтересовался, что это за человек,
И что за человек? Не Гуидо даже. Не создатель чего-то выдающегося.

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

Попробовал смотреть, там всё про то, как автор дошёл до жизни такой, начиная с самого детства. Но мне зачем все эти мемуары? Мне это не интересно. Лучше бы о том поговорили, как учиться чему-нибудь, чем физтех и образование там в ИТ отличается от васянского обучения. Это хотя бы имело бы смысл смотреть.
Аноним 28/08/21 Суб 17:12:54 2142881159
Аноним 28/08/21 Суб 17:14:22 2142885160
>>2142873
Менеджер яндекса - таблетки, срыг, спок. Приступай.
Аноним 28/08/21 Суб 18:27:46 2142972161
>>2142858
>обучение с азов
>писать нейросеть
Аноним 28/08/21 Суб 18:57:44 2143008162
>>2142486
> ОйТиБарада
Как же он заебал.
Аноним 28/08/21 Суб 19:16:22 2143018163
>>2142972
Необязательно нейросеть.
Аноним 28/08/21 Суб 19:21:31 2143022164
a523c90df954c60[...].jpg 60Кб, 754x721
754x721
У меня есть функция, которая возвращает True/False или None, если что-то пошло не так. Но появился дополнительный случай что-то пошло не так, который надо обработать отдельно. Как бы это оформить?
Аноним 28/08/21 Суб 19:30:47 2143035165
>>2143022
>если что-то пошло не так
raise
Аноним 28/08/21 Суб 19:31:56 2143038166
Аноним 28/08/21 Суб 19:33:01 2143039167
>>2143035
Я их боюсь использовать до сих пор, этот их ask forgiveness для меня дикость. Что делоть?
Аноним 28/08/21 Суб 20:22:13 2143066168
>2143039
>Я их боюсь использовать до сих пор, этот их ask forgiveness для меня дикость. Что делоть?
Переходить на Go. Там все такие. В питоне без исключений никуда вообще.
Аноним 28/08/21 Суб 20:56:43 2143094169
h7d4mzqxwga21.jpg 283Кб, 2048x1536
2048x1536
>>2143066
Не, серьезно. Как вкатиться в всякие эксепшены, ООП и прочие тесты, если я не работаю в команде? Чтобы хуярить всё это налево-направо, как настоящий ДЕВЕЛОПЕР.
Аноним 28/08/21 Суб 21:00:34 2143097170
>>2143094
Просто берёшь доку и изучаешь. Эксепшены это совсем база языка. Вот тесты и ООП уже сложнее, это технологии.
Аноним 28/08/21 Суб 21:03:57 2143100171
>>2143097
Да я знаю, как это делается. Но нет ощущения, когда надо воткнуть.
Аноним 28/08/21 Суб 21:32:46 2143130172
Ошибки 400, 403, ещё какие-то тоже надо делать через эксепшены в том же апи или просто возвращать джсон с кодом?
Аноним 29/08/21 Вск 06:23:27 2143422173
Зачем b и f перед ' ' нужны? В доках как-то сложно, душно написано, нихуя не понял.
Аноним 29/08/21 Вск 07:09:18 2143425174
>>2143422
b'' это "байтовая строка", особый тип данных. Когда у тебя не юникод-строка, как обычно, а именно набор байт.

f"" это f-strings. Специальная штука из современного питона, которая позволяет тебе форматировать строки, вставлять туда значения переменных и выражений через фигурные скобки
num = 12
frac = 1/13
s = f"demo: {num} {frac:.2f}"
при этом можно опции форматирования добавлять, как вот здесь в случае frac, аналогично как и с format и %-синтаксисом.

Ещё есть r"" для экранирования слешей в регулярных выраженях. И ещё есть u"", это юникод-строки, но это не надо использовать, потому что обычные строки тоже юникод. Нужно только для совместимости кода питон-2 при запуске в питон-3.

Аноним 29/08/21 Вск 08:26:58 2143433175
>>2143425
> b'' это "байтовая строка"
А какой в ней смысл если path.read_bytes() из файла с текстом abcde12345 дает b'abcde12345'?

> f"" это f-strings
Есть же .format()
Аноним 29/08/21 Вск 09:51:28 2143467176
>>2143433
Обычная строка - это юниокод строка. Её элементы это юникод-символы.
У байтовой строки элементы это байты.
Юникод символы могут быть размеров в 1, 2 и больше байт. Например русские символы по 2 байта. А многие байтовые символы на юникод не отображаются.

Попробуй в консоле питона сделать
s = "слово"
b = s.encode('utf-8') # это преобразование в байт-строку

ну или считать из файла что-нибудь из русских символов.
Аноним 29/08/21 Вск 09:54:35 2143468177
>>2143433
>> f"" это f-strings
Есть же .format()

Ага, иди %s еще пользоваться.
Аноним 29/08/21 Вск 10:05:38 2143471178
>>2143468
f-синтаксис это почти синтаксический сахар над format.

Просто строка форматируется в месте вызова.

Идеологически это грязное решение. И менее универсальное, чем format. Но в 90+% случаев годен, а читать код с f-синтаксисом проще.
Аноним 29/08/21 Вск 11:17:29 2143512179
.png 6Кб, 531x59
531x59
>>2143467
И что это? Что за иксы и слеши?
Аноним 29/08/21 Вск 11:30:08 2143525180
Аноним 29/08/21 Вск 11:35:10 2143537181
>>2143525
А в нетекстовых файлах как? Jpeg или exe.
Аноним 29/08/21 Вск 14:30:26 2143716182
>shutil.which(cmd, mode=os.F_OK | os.X_OK, path=None)
>Additionally, when finding the cmd in the path, the PATHEXT environment variable is checked
Нахуя блять.
Аноним 30/08/21 Пнд 00:16:08 2144234183
>>2143022
> У меня есть функция, которая возвращает True/False или None, если что-то пошло не так.
Пиздец, за такое надо по пальцам бить.
В питоне есть ламповые синтаксические штуки вроде
if is_user_registred:
do_smth()
Нет, буду костылить None, False, True, чтобы читающий охуел от простыни elif'ов с мало понятным содержимым, а пользующийся твой функцией начинал материться и лезть в исходники, чтобы понять чем возврат None отличается от False
>>2143039
Бля, ну если тебе так не нравятся эксепшены, то сделай хотя бы возврат кортежа.
return successful, error
Первое значение это бул, второе код или там класс ошибки и None, если все успешно. И будет вызов не таким красивым, но хотя бы понятным:
result, error = do_smth
if not error:
foo()
else:
bar()
Аноним 30/08/21 Пнд 05:57:09 2144351184
>>2144234
>если тебе так не нравятся эксепшены, то сделай хотя бы эксепшены на ифах
Аноним 30/08/21 Пнд 08:31:57 2144369185
>>2144351
Именно так. Ты только что открыл для себя коды ошибок?
Аноним 30/08/21 Пнд 09:32:22 2144394186
Пилил тут реализацию игры Жизнь:
https://ru.wikipedia.org/wiki/Игра_«Жизнь»
Конечно забавно как оно мигает на экране консоли, но хотелось бы запилить хоть какую-то графику под это. Что юзать для Питона?
Аноним 30/08/21 Пнд 09:54:37 2144406187
>>2144394
>но хотелось бы запилить хоть какую-то графику под это
Не начинай, точно тебе говорю! Я тоже запилил недавно на васме её, теперь сижу четвёртый день один яваскрипт пишу, вместо васма.
Аноним 30/08/21 Пнд 09:57:18 2144410188
>>2144406
Могу и на яваскрипте, мне похер. Что-то примитивно тоже сойдет, мне совсем уж изъябываться не нужно
Аноним 30/08/21 Пнд 10:05:14 2144419189
>>2144394
В консоли же символы. Возьми для начала фиксированный шрифт и сделай то же самое на символах в обычном printf.
Потом можно взять gtk, winapi и даже sdl2.
Аноним 30/08/21 Пнд 11:35:12 2144471190
>>2144410
зачем ты мутишь это, братищка?
Аноним 30/08/21 Пнд 12:42:39 2144527191
Как Инстаграмм умудряется работать с Джанго? В Инсте же куча фоток, которые надо подгрузить, сконвертировать и оперативно отправить клиентам, синхронное джангоговно ж в помине с таким не справится (да и питон в целом)
Аноним 30/08/21 Пнд 12:52:11 2144537192
Аноним 30/08/21 Пнд 13:18:18 2144567193
Есть тут спецы регулярки?
Как собрать шаблон в цикле таким образом, чтобы
он содержал элемент i и i+1 вместе с 1-4 пробелов между ними?
Аноним 30/08/21 Пнд 13:23:56 2144572194
>>2144567
(/d+)/s{4}(/d+)
А потом просто сравниваешь элементы (цифры) 1й и 2й группы
Аноним 30/08/21 Пнд 13:24:33 2144574195
>>2144572
(/d+)/s{1,4}(/d+)
конечно же
Аноним 30/08/21 Пнд 13:34:54 2144585196
>>2144572
>>2144574
Спасибо, но d - разве не для чисел используется?
Я имею ввиду, что есть s_list = [''абв','где','ёжз']
и мне надо получить шаблон который добавляет 1-4 пробелов между элементами и ищет по этому шаблону, например:
for i, j in enumerate(s_list):
__(s_listх[j])/s{1,4}(s_listх[j+1]) (не уверен, что шаблон правильный)

То есть мы будем искать этот шаблон в тексте, у нас на выходе находились "абв где", "абв где", "абв где", и так далее.
Аноним 30/08/21 Пнд 13:41:10 2144596197
>>2144585
Медленнофикс
>__(s_list)/s{1,4}(s_list[i+1])
Аноним 30/08/21 Пнд 13:41:52 2144598198
>>2144596
Медленнофикс 2
>__(s_list)/s{1,4}(s_list[i+1])
Аноним 30/08/21 Пнд 13:42:36 2144602199
>>2144585
в примерах я проебался с backslah кстати
>он содержал элемент i и i+1
Ну я ж хз что ты под этим подразумевал. Искать этот шаблон где будешь? В большом тексте?
Скорее всего можно будет идти простым итерированием и юзать строковые методы для поиска подстроки вот и все
Ну или можешь ебнуть регулярку как у тебя. Потести сам, должно сработать
Аноним 30/08/21 Пнд 13:42:48 2144603200
Аноним 30/08/21 Пнд 13:44:12 2144606201
>>2144602
Там текст не чищенный, и количетсво пробелов сильно варьируется. Приходится использовать регулярку.
Спасибо за помощь.
Аноним 30/08/21 Пнд 13:59:44 2144628202
>>2144567
Есть же сервисы для написания регулярок.
Аноним 30/08/21 Пнд 14:15:03 2144649203
>>2144628
Удачных не находил. Есть удобные для проверки готовых, но проверить готовое я и сам могу?
Аноним 30/08/21 Пнд 14:35:03 2144662204
Аноним 30/08/21 Пнд 15:06:53 2144700205
Аноним 30/08/21 Пнд 15:52:39 2144747206
image.png 301Кб, 1226x501
1226x501
>>2144537
Что еще за фишка с запуском нескольких разных процессов джанги/лююого другого бекенд-приложения?
Аноним 30/08/21 Пнд 16:03:14 2144757207
>>2144662
Так есть или напиши?
Аноним 30/08/21 Пнд 16:51:05 2144811208
>>2144757
Так ты не очень умный да?
Аноним 30/08/21 Пнд 17:19:28 2144844209
Аноним 30/08/21 Пнд 17:47:50 2144877210
>>2144811
Нет, не очень. А что, я какой-то секретный смысл пропустил, когда в одном сообщении ты пишешь, что есть, а когда тебя спрашивают, какие, ты тут же поворачиваешь жопой на 180° и предлагаешь самому написать? Тут даже моего умишки хватает.
Аноним 30/08/21 Пнд 17:48:37 2144879211
Аноним 30/08/21 Пнд 17:52:45 2144883212
Есть обычный синхронный код. Как запустить из него асинхронный, да так чтобы ничего не блокировалось? Если я заделаю ioloop из asyncio, закину туда свою кортуину которую надо исполнить и запущу это все в другом треде, то это норм будет работать?
Аноним 30/08/21 Пнд 18:07:30 2144913213
Где вкатыши, где движуха? Все подались в закладчики?
Аноним 30/08/21 Пнд 18:15:47 2144922214
>>2144913
Я по шлюхам недавно ходил
Аноним 30/08/21 Пнд 18:16:30 2144923215
>>2144922
А мог бы трахать их, извращенец.
Аноним 30/08/21 Пнд 18:23:22 2144931216
>>2144922
Ну и как, вкатывание хотя бы шлюх окупает?
Аноним 30/08/21 Пнд 18:25:49 2144932217
>>2144931
Вкатился полгода назад. Заметил что начал тупеть (лол). Надо бы задачки дрочить чтобы потом перекатиться в более пиздатое место, а я бухаю для по шлюхам хожу. Пиздец
Аноним 30/08/21 Пнд 18:29:27 2144934218
>>2144932
Зато вот ебал недавно
Аноним 30/08/21 Пнд 18:29:39 2144936219
>>2144932
Я бухаю и на отходосах чувствую жизнь.
Плохой метод, но что делоть.
Аноним 30/08/21 Пнд 18:30:38 2144938220
>>2144922
Как втатиться, чтоб ебать шлюх, писать об этом на дваче и быть таким же крутым?
Аноним 30/08/21 Пнд 18:32:23 2144942221
>>2144938
Писать на игрушечном языке, быть алкашом и ебать спиздозных блядей - это круто? Не знал.
Аноним 30/08/21 Пнд 18:34:58 2144946222
Аноним 30/08/21 Пнд 18:59:31 2144973223
Подскажите видосы или статьи по архитехтуре приложений.
Хочу сделать приложение, нужно читать данные с внешнего апи, обрабатывать их сохранять и параллельно выводить на фронтенд.

Думаю взять вля бэкенда фастапи и реакт для фронтенда, вопрос в том, как все связать для максимальной производительности и минимума задержек.
Аноним 30/08/21 Пнд 19:05:05 2144979224
>>2144877
Ну ты напиши удобный, и тебе удобно и нам удобно.
Аноним 30/08/21 Пнд 19:07:41 2144981225
>>2144973
В смысле как связать? А есть опции? Перекладыванием json-ов.
Аноним 30/08/21 Пнд 19:55:30 2145042226
>>2144913
Я вкатунец, вопросы?
Аноним 30/08/21 Пнд 20:03:09 2145050227
>>2145042
Нихуя не знаешь, все хочешь?
Как отсортировать дерево справа-налево?
Аноним 30/08/21 Пнд 20:26:44 2145071228
>>2145050
>Нихуя не знаешь, все хочешь?
Да, сразу хочется внедрить все технологии и хочется войти в ближнем будущем.
>Как отсортировать дерево справа-налево?
Пока круды шлепаю, но даже это так себе идёт, может надо было с фронтенда начинать.
Аноним 30/08/21 Пнд 20:26:52 2145073229
Аноним 30/08/21 Пнд 20:48:11 2145095230
Аноним 30/08/21 Пнд 21:23:01 2145118231
Аноним 30/08/21 Пнд 21:32:55 2145123232
>>2144747
Ты про гил не слышал, да?
Аноним 30/08/21 Пнд 21:41:05 2145129233
>>2145123
И как же запуск десятков процессов одного и того же приложения прокает? Как именно мы выбираем инстанс который будет обрабатывать запрос если их дохрена?
Аноним 30/08/21 Пнд 21:45:48 2145134234
Аноним 30/08/21 Пнд 21:47:04 2145135235
>>2145129
> И как же запуск десятков процессов одного и того же приложения прокает?
Чего блять? Я нихуя не понял, но предположу, что ты имеешь ввиду "Как запустить несколько процессов?". Либо воркеры гуникорна условного сами за тебя все запустят, либо реплики докерконтейнера
> Как именно мы выбираем инстанс который будет обрабатывать запрос если их дохрена?
Балансировщики есть специально для этого. Что они делаю, думаю, и понятно из названия
Аноним 30/08/21 Пнд 21:52:24 2145137236
>>2144527
А с чего ты взял что фотки отдает сервис на джанге?
Аноним 31/08/21 Втр 02:11:32 2145358237
>>2145129
Для говнопроектиков на цифровом океане за 5$ хватит и одного инстанса.
На крупных проеках у тебя клиенты 502, 503, а в основном 504 будут получать. Поэтому делаешь несколько инстансов, перед ними балансировщик стоит. Он распределяет что куда пойдет, поэтому нагрузка равномерно распределяется на все инстансы.
погугли haproxy, тебе понравится
Аноним 31/08/21 Втр 06:03:09 2145416238
>>2145129
В базовом варианте ты запускаешь просто несколько воркеров, а uwloop/gunicorn/nginx распределяют нагрузку между ними, тупо round robin, по кругу.

gunicorn/uwsgi запускаешь с опцией --workers N, и всё. Через nginx сложнее и не надо. В простых случаях этого за глаза хватает. Если жёсткие нагрузки, то там уже другое.

Главное, что надо понимать. Каждый инстанс джанго обрабазывает запросы последовательно. То есть он получил запрос, дальше долго его готовит, после чего отдаёт результат. И пока не подготовит, он не может приняться за следующий запрос, а подготовка может быть заблокирована из-за долгого запроса к БД, например. Поэтому и запускают много воркеров, причём можно сильно больше, чем количество логических ядер.
Аноним 31/08/21 Втр 08:51:35 2145430239
Анон, подскажи питон норм язык для вката? Чтобы потом можно было перекатиться куда-то? Планирую двигаться по этому роадмапу https://roadmap.sh/backend
Аноним 31/08/21 Втр 10:35:08 2145481240
Анончик, я вот пытаюсь понять как мне красиво джангу деплоить со всеми ее друзьями. Нашел несколько туториалов, в которых все распихивают по контейнерам, но при этом, например, для celery используют volumes, чтобы она могла лезть в код джанги за тасками. Разве с volumes не теряется весь смысл контейнеров? А как тогда контейнеры, допустим, разнести по разным серверам, если они все связаны через volume?
Postgre сажают в контейнер, но файлы базы оставляют снаружи. Nginx сажают в контейнер, но сертификаты оставляют снаружи, чтобы сертбот мог их обновлять. Зачем тогда их в контейнер сажать, непонятно.
Как вообще это правильно делать?
Аноним 31/08/21 Втр 11:02:25 2145516241
>>2145481
>Postgre сажают в контейнер, но файлы базы оставляют снаружи
Догадайся что будет, если файлы базы туда не сажать
они будут перезаписываться при каждом перезапуске контейнера
Аноним 31/08/21 Втр 12:11:32 2145570242
Пытаюсь установить модуль через pip install в юпитере на шинде на рабочем компе и мне пишет ошибку
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1125)'))': /simple/miner-text-generator/
При этом pandas у меня норм встал. Это похоже, на то что мне админ просто блочит установку неизвестных модулей?
Аноним 31/08/21 Втр 14:03:13 2145682243
Анон, начал учить функции и не понимаю, как с ними работать, помоги, пожалуйста.

https://www.codepile.net/pile/Kk2Mw0ja

У меня есть функция db_connect - там я описываю подключение к базе данных.
Далее есть f1 - f3 - эти функции используют подключение к бд, чтобы выполнить какой-то запрос.

Я не понимаю, как мне передать в f1 - f3 результат подключения к базе из первой функции. У меня получилось запустить такой код только в том случае, если я во внутренности f1 - f3 скопипащу код из db_connect (строчки 1-37). А как мне сделать, что я один раз это подключение описал, и дальше я его могу в последующих функциях свободно использовать? (41-74)
Аноним 31/08/21 Втр 14:10:07 2145687244
>>2145682
Че? Какое еще подключение к базе? Ты открой любой курс/книгу "питон для самых маленьких" и учи азы на изи примерах

аргумент передавай
def f1(db_connection): query = db_connection.execute()
Аноним 31/08/21 Втр 14:18:23 2145694245
image.png 37Кб, 565x509
565x509
>>2145687
И мне тогда получается каждый раз при вызове функции нужно будет вызывать ее с db_connect в аргументе?

f1(db_connection())
f2(db_connection())
f3(db_connection())
Так что ли? Пайчарм мне еще почему-то подчеркивает аргумент. Говорит, что оно заслоняет переменную, определенную во внешней области видимости.
Аноним 31/08/21 Втр 14:22:59 2145701246
>>2145694
def get_db_connection(kwargs):
----return Client(
kwargs)

db_connection = get_db_connection()
f1(db_connection)
f2(db_connection)
f3(db_connection)
Аноним 31/08/21 Втр 14:23:31 2145702247
>>2145701
забыл что макаба проебывает звездочки
абу, нахуй иди
Аноним 31/08/21 Втр 14:34:02 2145710248
image.png 51Кб, 585x693
585x693
>>2145702
Что-то все равно не так.
Если я удаляю unexpected argument и прогоняю код, то получаю ошибку
TypeError: __init__() missing 1 required positional argument: 'host'
Аноним 31/08/21 Втр 14:41:33 2145714249
>>2145710
Бля, чел, открой любой изи курс или книжку где учат синтаксис питона и его фичи по очереди. Зачем ты эти коннекшны к БД ебошишь вообще не понимаю
Ты путаешься в самых базовых понятиях, это если б чувак спрашивал как ему на машине стартовать с ручника с горки но путал бы поворотник и рычаг передач

У тебя kwargs через 2 звезды даны чтоб туда именованные аргументы закидывать, ты же туда ничего не прокинул, затем ты за каким-то хреном создаешь client внутри функции но не делаешь с ней вообще ничего. В f1 нихрена не передал, хоть он и будет резолвить твою переменную в глобальном скоупе но это косяк
Аноним 31/08/21 Втр 14:43:52 2145717250
Аноним 31/08/21 Втр 15:20:32 2145752251
>>2145717
Что не так? Критикуешь, предлагай.
Аноним 31/08/21 Втр 15:33:31 2145759252
>>2145752
Все мои предложения есть в шапке. А это довольно странный список от индусов, с примесью фронта\ДБА\ДевОПСа.
Аноним 31/08/21 Втр 16:36:56 2145818253
1628800563885.png 652Кб, 2408x1996
2408x1996
Какой фреймворк вкатышу лучше выбрать, джанго, фласк или фастапи?
Аноним 31/08/21 Втр 16:57:27 2145836254
image.png 25Кб, 434x210
434x210
что это?
как это работает?
Аноним 31/08/21 Втр 17:00:20 2145840255
>>2145836
В a[0] лежит сама же переменная a. Оно бесконечно так будет рекурсивно раскрываться
Профит только в том чтоб завалить вкатыша на собесе. Вопрос прямиком из жопаскрипта
Аноним 31/08/21 Втр 17:17:38 2145858256
>>2145840
то что это рекурсивная херня, я понял, я не поняла как это создалось, что это за механизм упаковывания
Аноним 31/08/21 Втр 17:48:50 2145882257
Аноним 31/08/21 Втр 18:30:59 2145912258
image.png 13Кб, 412x296
412x296
>>2145882
почему запятая меняет присваивание?
Аноним 31/08/21 Втр 18:32:46 2145913259
>>2145912
Запятая в конце делает это туплей с одним элементом, поэтому и происходит распаковка.
Аноним 31/08/21 Втр 21:03:23 2146024260
>>2145882
Всё равно не очевидно. Я думал, что знаю хотя бы основы питона, а оказывается нет.

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

Я пока не понимаю.
Аноним 31/08/21 Втр 21:07:06 2146031261
>>2146024
>Всё равно не очевидно
Как ты думаешь что даст вот это результат в жс (проверь в консоли браузера):
{} + []

А вот этот:
[] + {}

?
Понял теперь что такое по-настоящему "не очевидно"?
Аноним 31/08/21 Втр 21:20:33 2146045262
>>2146024
Та же хуйня, что делает возможным a, b = b, a
Аноним 31/08/21 Втр 21:24:09 2146046263
Как запилить автообновление JWTтокенов по таймеру параллельно с останьными процессами?
Аноним 31/08/21 Втр 21:25:10 2146048264
Пацаны, есть ли какой-нибудь видос/статья с хорошим доступным и простым объяснением за asyncio? В частности, волнует вопрос про Task и Future. Я кучу всего перечитал и пересмотрел, но всё ещё не могу понять их разницу.
Что делать с async методами, чтобы запустить их в обычном синхронном main? Что по итогу мы передаём в event loop? Как запускать корутины с аргументами, и чтобы потом этот набор корутин мне возвращал все результаты в один общий список?

Нужна инфа буквально для чайников. Все статьи "для нубов" годов так 2014-15, но я знаю, что уже всё с тех пор изменилось
Аноним 31/08/21 Втр 21:31:19 2146052265
>>2146048
А можешь своими словами объяснить, что вообще даёт асинхронность, без привязки к конкретным библиотекам и названиям?
Аноним 31/08/21 Втр 21:52:38 2146077266
>>2146052
Ты меня проверяешь или просто из тех, кто не шарит за асинхронность?
Поясню, так сказать, "нахуя" она мне

Пишу парсер, который проходится по всем страницам сайта.
Есть функция, которая достаёт то, что мне надо, с одной страницы. Соответственно, жрёт много времени на коннект и сбор контента. Поэтому я переделал её в корутину и запускаю в ивент лупе коллекцию Тасков(?) или Фьючеров(?), которые возвращают результат сбора в общий список.
У меня есть рабочий код, который я написал где-то год назад, и он прекрасно работает с приростом в скорости относительно синхронного варианта где-то в 2 раза.
Написать я его написал, но ничего в нём не понимаю. Сейчас я решил его переписать и разобраться, как это правильно сделать, чтобы при этом ещё было осознание того, что именно я делаю
Аноним 31/08/21 Втр 21:53:40 2146079267
>>2146077
>Пишу парсер, который проходится по всем страницам сайта.
Тут я напиздел. Не по всем страницам сайта, а лишь по определённому блоку, где есть пагинация
Аноним 31/08/21 Втр 22:21:08 2146104268
Аноним 01/09/21 Срд 00:09:30 2146239269
Записался на конкурс по Ренпи. Месячный. Думаю, если Питон учу, то нужна практика.

Короче сидишь такой 3 недели, литерали 3 недели. С 2 девочками в чате в вк. Они там что-то рисуют, то-се, спрайтики, фоны, ахахахах, а вот тут тени, а вот тут дорисовать... Сидишь, чешешь яйца, думаешь - ну Ренпи... Че там. Я же матрицы делал.

Последние 3 дня - аааа, ничего на успеваем, сценарий вот, но его куски плохо соединяются и имеют дырки, вот тебе заплатки для дырок сценария, вот тебе музыка, она не играет что? так она во flac и wav, а Ренпи кушает только mp3, ахахаха, конвертируй, че смотришь? че то билд не билдиться, билдился же 5 минут назад, ахаххаа, а это ты комментарий не закрыл на 5389 строке из 10000 почти ахахахаха, а еще у нас тут в Ренпи есть автопроверка всей хуни, Линтер называется, но она отвалилась, ахахахаа, и что ты мне сделаешь? я в другом городе, дебаж ручками, сучка, а еще у нас тут уникальные имена у спрайтов, сиди переименовывай, как гук на рисовом поле по рисинке, выделять и переименовать ахахаха, а еще "девушки" слегка за 25 постоянно арты скидывают в разрешении, которое нужно передлывать, а вот тебе кстати еще патчики к спрайтикам, что? в сюжете есть спрайт, а в файликах нету? ну так сам додумай, ты ведь не маленький, уже полтора курса по Питону прошел, что? нет кнопки в меню? иди сам полазий по форумам и документациям, ахахаха, лазишь как черт по форумам Ренпи на англюсике 5+ летней давности, а там стены кода, и ты по ним ползешь, а потом стекаешь...

А в последние 2 часа вообще каждую минуту правки были. Ахахахах, вот тут текст раздели. Ахахахах, а вот тут музыка не играет, аахахахах а вот тут затемни, ахахахах, а вот тут спрайтиков не видно, а какого х
я их не видно, они же правильно прописаны, а нет, это же я сам, чертов гений, их 3 раза переименовывал и во 2 раз переименовал не правильно... Ахахаха а вот тут переменную убери, а слово добавь, а вот тут... Кстати, если скачать новую версию Ренпи, то в ней Линтер идеально работает ахахахаха без всякой логики, просто скачиваешь, а он работает ахахахах и 100+ ошибок в лог файл, а времени осталось 20 минут...

Ебанись. Почувствовал себя на продакшане с горящим дедлайном, спасибо Ренпи.
Аноним 01/09/21 Срд 01:48:29 2146283270
>>2146239
> Почувствовал себя на продакшане с горящим дедлайном, спасибо Ренпи.
> Последние 3 дня
Все логично, антош
Аноним 01/09/21 Срд 01:54:16 2146287271
>>2146045
Это разные вещи. Тут магия в том, что код
(x, y) = x[:] = (['a'],['b'])
совсем не эквивалентен коду
x[:] = (['a'],['b'])
(x, y) = x
а равно и
x[:] = (['a'],['b'])
(x, y) = x[:]

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

Видимо надо мануалы по поводу двойного присваивания читать.
Аноним 01/09/21 Срд 01:56:12 2146291272
>>2146287
Тебе просто обманули и ты смотришь на =, а надо смотреть на запятые.
Аноним 01/09/21 Срд 02:40:27 2146315273
>>2146291
>Тебе просто обманули и ты смотришь на =, а надо смотреть на запятые.
Я не вижу обмана, в том смысле, что если всё обернуть в скобки, то всё будет тоже самое.

Каким образом получить тот же эффект, но с одним знаком = на строчке? То есть как в виде двух строк это представить?

Операцию разворачивания кортежей я прекрасно знаю.
Аноним 01/09/21 Срд 02:41:33 2146316274
Ребята, реквестирую помощь с тг ботом. Тг ботов никогда не делал, как это работает знаю, соответственно прошу кратко расписать как это реализовать.
Нужен бот, который будет 24/7 онлайн на сайте + отвечать на входящие мессаджи по шаблону, в принципе это все. Самое для меня непонятное -- именно момент того, как законнектить бота с сайтом.
когда-то вкатывался в айти, даже успел немного поработать, сейчас свой мелкобизнес и стало очень интересно реализовать такое самому
Аноним 01/09/21 Срд 03:17:18 2146323275
>>2146316
> законнектить бота с сайтом.
Через АПИ телеграмма
Аноним 01/09/21 Срд 07:21:26 2146362276
Screenshot from[...].png 37Кб, 422x499
422x499
>>2146287
>>2146291
>>2146315
>>2146031
>>2146024
>>2145912
Короче, аноны, я вспомнил, что байтоёб со стажем, решил тупо глянуть, что там в коде происходит. А не пытаться читать стандарты языка, пепы всякие и т.п.

ХЗ, это баг или фича, должно быть по стандартам языка или нет, но так происходит из-за реализации в CPython
Надо просто тупо сделать
import dis
и тупо посмотреть код, который получается. Рекомендую попробовать сначала на примерах проще.

Всё из дизасма очевидно, проблема в двойном присваивании, которое разворачивается в
> 14 DUP_TOP
и из-за этого воникает этот эффект.

Могу разобрать построчно, что тут происходит в каждый момент, но это слов много и надо сначала примеры проще может разобрать. ХЗ, интересно кому-либо такой подкапотное байтоёбство.

А писать так не надо, конечно, это прямой кандидат на undefined behaviour
Аноним 01/09/21 Срд 07:43:29 2146375277
>>2146362
Ну в референсе тоже написано, тащемта, там весьма замороченные правила. Скорее просто намудрили, и в такой специфической комбинации оно дает такой результат. Реально, как анон сказал, для выебывания на собесах. https://docs.python.org/3/reference/simple_stmts.html#assignment-statements
Смотри там про слайсы.
Аноним 01/09/21 Срд 08:03:18 2146395278
>>2146375
По-моему это тоже не то, там расписывается механизм присвоения слайсу, что в какой последовательности, типа

a, x[func(a):func(a+2)] = [100]

а что происходит когда многократное присваивание
x = y = z
я там не вижу, или может я туплю.

Может кто цитату привести для этого случая или объяснение, как положено по стандартам?
Аноним 01/09/21 Срд 12:29:56 2146684279
>>2137650 →
А можно то де самое, но с занесением в список индексов только последних элементов подгруппы?

Т.е.
Список:
[1,1,2,3,1,5,1,4,1,2,2,6,1,5...]
Надо последовательно сгруппировать индексы элементов, если сумма элементов меньше или равна, например, 10.
Т.е. получить что-то вроде [4, 7,10,12...]
Аноним 01/09/21 Срд 13:35:34 2146761280
>>2146395
>An assignment statement evaluates the expression list (remember that this can be a single expression or a comma-separated list, the latter yielding a tuple) and assigns the single resulting object to each of the target lists, from left to right.

Надо еще иметь в виду, что в списках хранятся ссылки на объекты. В частности, может хранится ссылка на себя. Применительно к (x, y) = x[:] = (['a'], ['b']) имеем

Шаг 0. Вычисляется "the single resulting object" - создаются два списка a = ['a'] и b = ['b'] (имена пригодятся), и упаковываются в кортеж.

Начинаются присваивания слева направо.

Шаг 1. Первый target list - (x, y). При распаковке, x становится a, y становится b. Т.е. x и a теперь ссылаются на один и тот же объект в памяти ['a']. Аналогично, для y, b.

Шаг 2. Второй target list - x[:]. В силу предыдущего шага, это то же самое, что a[:]. Присваивание срезу меняет соответствующий список, в частности, в нашем случае меняет и его размер с 1 до 2. Первым элементом становится ссылка на объект a = ['a'], т.е. на самого себя. Вторым элементом становится ссылка на ['b'].

Разворачивая двойное присваивание, все это эквивалентно
a = ['a']
a[:] = [a, ['b']]

Минимальным примером типа >>2145836 будет
a = []
a.append(a)


Аноним 01/09/21 Срд 13:46:59 2146775281
unnamed.jpg 50Кб, 512x267
512x267
>>2146761
Выглядит правдоподобно, надо будет ещё погонять эту хуйню.
Но таки да, надо лезть в этот ваш dis и смотреть кишочки по факту.
Аноним 01/09/21 Срд 14:42:23 2146849282
>>2146287
>Это разные вещи. Тут магия в том, что код
>(x, y) = x[:] = (['a'],['b'])
>совсем не эквивалентен коду
>x[:] = (['a'],['b'])
>(x, y) = x
>а равно и
>x[:] = (['a'],['b'])
>(x, y) = x[:]

Порядок другой. Эквивалентом будет
(x, y) = (['a'], ['b'])
x[:] = (x, y)
Аноним 01/09/21 Срд 16:56:40 2147005283
>>2145759
Ну инфа в шапке годная, не спорю. Но там в основном именно по изучению питона, а то что я скинул это скорее про в целом программирование, не? Я просто сам только вкатываюсь и как понимаю, просто питона недостаточно.
Аноним 01/09/21 Срд 16:59:07 2147011284
>>2147005
Список в целом бессмысленный, его изучать последовательно и целиком не нужно и не получится. Но определенную базу по большинству из этого ты получишь в процессе изучения и практики реальных задач.
Аноним 01/09/21 Срд 17:52:45 2147060285
image.png 377Кб, 1220x523
1220x523
Мне кажется или этот узкоглазый обосрется с подобными асинхронными записями в базу (вернее результат будет отличен от желаемого)
Если мы через asyncio.gather запустим пару корутин, которые будут асинхронно че-то писать в базу то на самом деле эти корутины исполнятся синхронно, т.к. на уровне самой БД подобные транзакции будут лочиться
Аноним 01/09/21 Срд 17:56:33 2147063286
Есть список l= [1,4,3,5,2,4,1,3,4,7,3,5,52,9,6,33,8,2,3,5,9,2...]
И есть словарь d= {'a':[0], 'b':[15, 3], 'c': [5]} , где значения - это индексы элементов из l
Как получить словарь по структуре идентичный d, но со значениями из l?
d2= {'a':[1], 'b':[33, 5], 'c': [4]}
Аноним 01/09/21 Срд 17:58:09 2147065287
>>2147005
> Я просто сам только вкатываюсь и как понимаю, просто питона недостаточно.
Антош, выучи вначале питон + фреймворки нужные для рынка. Затем устройся на работу и учи тот стек, что требуется там. Толку от того, что выучил МонгоДБ и никак не применишь - мало. А вот если выучишь Докер перед всем остальным(типа CI\CD & PostgreSQL) может такое и очень пригодиться, в том числе и при обучении.
Аноним 01/09/21 Срд 18:02:47 2147071288
>>2147063
d2 = {key: [l for i in d[key]] for key in d}
Аноним 01/09/21 Срд 18:05:09 2147075289
Аноним 01/09/21 Срд 18:10:21 2147080290
>>2147060
Есть подозрение, что в таких видосиках не показывают всего.
Аноним 01/09/21 Срд 18:12:31 2147082291
Палю секретный секрет как параллельно обновлять строки в базе:
Пилишь сырой butch-update и радуешься
Аноним 01/09/21 Срд 18:15:36 2147085292
>>2147011
>>2147065
Понял, спасибо за ответ, тогда для начала изучу питон.
Аноним 01/09/21 Срд 18:19:59 2147092293
>>2147085
Это ты --> >>2145694 ?
Тебе уже говорили, что надо делать
Аноним 01/09/21 Срд 18:29:56 2147107294
c317477486fe79c[...].mp4 13222Кб, 576x1024, 00:01:11
576x1024
Аноним 01/09/21 Срд 18:35:10 2147117295
>>2147107
С таким ебалом надо бы пострематься вебку включать
Аноним 01/09/21 Срд 18:38:43 2147122296
>>2147107
Правильно, нужно учить паскаль, он то точно полезнее
Аноним 01/09/21 Срд 18:40:30 2147126297
Он вон книжку по хачкелю купил, на полку поставил, теперь эксперт дохуя.
Аноним 01/09/21 Срд 18:43:38 2147130298
>>2147107
В чем то он прав. После питона, остальной синтаксис кажется хуйней, причем нечитабельной. Остальные языки нужны под конкретные задачи. Сеть - это питухон, игрухи - всякие си подобные, явы и прочее. Хули тут обсуждать. Смысл учить шарп чтобы написать инсту.
Аноним 01/09/21 Срд 18:44:02 2147132299
>>2147107
Хаскель и Лего на одной полке.
Аноним 01/09/21 Срд 18:47:35 2147135300
>>2147107
А что сейчас на фортране пишут? Почему нет пролога?
Аноним 01/09/21 Срд 18:55:37 2147140301
>>2147130
Ты можешь написать и на питоне игру, вопрос в производительности.
Аноним 01/09/21 Срд 19:00:30 2147149302
>>2147130
Ты можешь написать и на питоне игру, вопрос в производительности.
Аноним 01/09/21 Срд 19:08:11 2147157303
>>2147107
Рад что гуру пикапа занялся программированием.
Аноним 01/09/21 Срд 19:09:47 2147158304
Аноним 01/09/21 Срд 19:15:44 2147161305
Аноним 01/09/21 Срд 19:17:46 2147162306
Аноним 01/09/21 Срд 19:35:00 2147195307
>>2146239
Что за курс, платный?
Аноним 01/09/21 Срд 19:49:46 2147214308
>>2147195
На Степике от Beegeek, 2 штуки. Поколение Питон
Аноним 01/09/21 Срд 20:07:54 2147227309
>>2147161
Что поделать. Это legacy code аж 1979 года. Зато все оптимизировано донекуда. В современном Фортране больше модульности, есть ООП. Есть поддержка параллельных вычислений.
Аноним 01/09/21 Срд 20:19:15 2147242310
>>2147227
С чего ты взял, что оптимизировано? Думаю диды-профессоры какие-то циркулем чертили на доске, а потом выпустили методичку. Ну а там забацали на эвм и допиливали какие-то хвосты и подставляли подпорки, чтобы оно не развалилось на более современных версиях.
Аноним 01/09/21 Срд 20:22:28 2147250311
Аноним 01/09/21 Срд 23:02:53 2147480312
>>2147250
>Походу кто-то недавно его смотрел, судя по обсуждениям выше
Заведомо или это видео автор смотрел, или другой общий источник, может где-то обсуждали материал из этого видео, или это видео снято по обсуждениям.

Вирусная же хрень. Мне понравилось.

Думаю теперь такое начнут на собесах спрашивать.
Аноним 01/09/21 Срд 23:12:31 2147489313
>>2147480
>Думаю теперь такое начнут на собесах спрашивать.
Долбоеб, впервые прочитавший задачку и решение на подготовленном листочке будет важно раздувать щеки и ехидно посмеиваться, когда соискатель не сможет ответить на этот идиотский вопрос. Nice
"я назову тебя дурак из-за того что ты не знаешь хуйни, которую я сам узнал 15 минут назад"
Аноним 01/09/21 Срд 23:20:30 2147497314
В жабьем скрипте такого говна камазами свозят и ничего, живут как-то, развлекаются.
Аноним 01/09/21 Срд 23:21:51 2147500315
>>2147489
> Весь состав нашей кафедры бьётся сейчас над тем, как можно доказать эту теорему. Если сможем, включим доказательство в программу экзамена.

Всегда так было.

На самом деле такие штуки могут показать, что ты крутишься в тематических тусовках, посвящённых платформе. Народ сталкивается с чем-то интересным и репостит, в результате все из тусовки знают. Такое своеобразное 1488, для определения свой-чужой.
Аноним 01/09/21 Срд 23:22:05 2147501316
>>2147497
Да это пиздец пытаться понять этот мусор после питона
Аноним 02/09/21 Чтв 07:20:34 2147636317
А как лучше заюзать код на С для питона, через апи питона или через модуль питона для Си? Вроде как есть два способа.
Аноним 02/09/21 Чтв 10:30:18 2147736318
>>2147149
Кстати интересная хуйня с игрой СИМС.
Симс 4 питоне и там скрипты и всякие взаимодействия дико тупят и багают. ну бля, питон медленный.
но ПРИКОЛ В ТОМ что предыдущая часть - СИМС 3 - написана на СИ и БЛЯДЬ ОНА ТОЖЕ ТОЧНО ТАК ЖЕ ЛАГАЕТ.
Аноним 02/09/21 Чтв 10:56:14 2147742319
>>2147736
И какой вывод из этого следует? Приколист, блять, твои намеки детский сад.
На чем там написан верхний уровень в игре поебать вообще. Думать что вызов gl функций из ассемблера будет заметно быстрее чем из питона будет только макакен или школьник.
Поэтому все правильно они сделали. А лагает очевидно из-за того что код хуевый сам по себе, может там через диск каждое действие обрабатывается, чтобы мгновенное сохранение сделать, вот и лагает. Хоть на ПЛИС делай, обращение к диску быстрее не станет.
Аноним 02/09/21 Чтв 10:56:39 2147743320
>>2147736
>ну бля, питон медленный.
Расскажите-ка нубу, а использование pypy или numba ускорят питон в таком случае?
Аноним 02/09/21 Чтв 11:11:06 2147758321
>>2147743
Зачем его ускорять, это встроенный язык в данном случае, его скорости за глаза. Ну а молотить на питоне какой-то графоний не очень идея в любом случае. Вон те же шарповики свой юнити на плюсах сделали и в хуй не дуют.
Аноним 02/09/21 Чтв 11:24:11 2147779322
>>2147758
Кстати, есть же IronPython3. Можно ли через него делать игрушки на юнити?
Или это - жуткая костылеобразная затея, и лучше шарп выучить?
Аноним 02/09/21 Чтв 11:26:29 2147780323
>>2147779
Там только вторая ветка и то вроде какая-то каличная.
Аноним 02/09/21 Чтв 11:31:02 2147784324
Аноним 02/09/21 Чтв 11:47:33 2147803325
Надо сделать тайпинг следующим образом: функцию будет возвращать строго один из объектов, либо объект Citizen либо Town, как правильно это прописать в тайпинге?

Union это не то. Мы тут оперируем не классами а уже объектами
Аноним 02/09/21 Чтв 11:49:20 2147808326
>>2147784
Ну хуй знает, первая альфа, я бы не лез туда пока, лул.
Аноним 02/09/21 Чтв 11:51:20 2147811327
>>2147803
Так ты в Union объекты закидываешь, что бы классы ебошить нужно явно Type прописывать
Аноним 02/09/21 Чтв 12:06:11 2147818328
>>2147071
Спасибо.
А если l у нас список списков и для каждого надо вычислить d2, мы ещё один цикл добавляем в эту часть [l for i in d[key]] или вне её?
Аноним 02/09/21 Чтв 15:27:58 2148002329
>>2147742
так я про это и написал
Аноним 02/09/21 Чтв 15:45:51 2148021330
image.png 3Кб, 373x89
373x89
image.png 3Кб, 430x105
430x105
>>2138718 (OP)
Писал свои васянские реализации для таймера (отложенного исполнения асинхронной функции) и периодического таймера (одна и та же асинхронная функция должна исполняться с периодичностью в N миллисекунд). Таймер (пик1) реализовался как надо, проблем нет, но какого хрена create_interval (пик2) не пашет как надо? Он блин исполняется всего 1 раз и все, хотя там цикл while вроде как
Аноним 02/09/21 Чтв 16:03:06 2148038331
>>2148021
Покажи как ты цикл запускаешь, вангую, что где-то там проблемы
Аноним 02/09/21 Чтв 16:06:42 2148044332
image.png 4Кб, 421x103
421x103
>>2148021
В жопаскрипте аналогичное самописное решение конечно же работает как надо
Аноним 02/09/21 Чтв 16:18:50 2148060333
>>2148038
https://ideone.com/ChD174

Ждем IO - 3 секунды, больше не ставил, т.к. ideone не вытянет долгого выполнения.
Видно что мой асинхронный коллбек test_func выполнился всего 1 раз а должен был "стрелять" каждые 500 мс
Аноним 02/09/21 Чтв 16:27:30 2148072334
>>2148060
Передавать нужно не футуру
А корутину
Генератор же истощается и подыхает. Один хер что он асинхронный, все равно генератор
Аноним 02/09/21 Чтв 16:34:04 2148080335
>>2148072
Я не совсем понял как у него рантаймэррор не получился, он же одну и ту же корутину дважды эвейтит
Аноним 02/09/21 Чтв 16:36:48 2148082336
>>2148080
>как
Питон
Тут должен warning или error вылезать. Но ничего не вылезло. Хер знает в каком месте это может быть "фичей"
Аноним 02/09/21 Чтв 16:44:16 2148087337
>>2148082
Если просто вызвать завершенную корутину дважды, то все нормально, ошибка вылезает, а тут какая-то хуйня
Аноним 02/09/21 Чтв 16:46:37 2148088338
image.png 18Кб, 775x455
775x455
>>2148072
Да, переделал и все пашет как надо.

>>2148080
Вот тут на пике ошибка падает. Не ебу почему она в цикле не падала.
Аноним 02/09/21 Чтв 16:59:39 2148100339
Аноним 02/09/21 Чтв 17:04:08 2148104340
>>2148100
>2016
лол

Я понял в чем проблема - из-за того что все обернуто в Task. Поэтому вопрос: как бля поставить коллбек на обработку ошибок в таске? С промисами это хороший тон - хуярить catch в каждый промис после then, иначе высрется uncaught error
Аноним 02/09/21 Чтв 17:10:47 2148107341
>>2148104
Это не баг, там написано. Тебе нужно что-то такое

t1 = create_interval(test_func(), 500)
await asyncio.sleep(3) # long await
await t1
Аноним 02/09/21 Чтв 17:12:25 2148109342
>>2148104
>2016
А что не так?
>из-за того что все обернуто в Task
Из-за того, что у тебя на таску ссылка есть, без t1 исключение должно сразу отработать.
Аноним 02/09/21 Чтв 19:03:51 2148194343
>>2148107
И зачем же await-ить t1 если он фоном в ивент-лупе уже исполняется? Только лишь чтобы поймать ошибки? Бред какой-то, для этого хендлер-коллбек просто нужен и все.

Аноним 02/09/21 Чтв 19:11:16 2148202344
>>2148194
Ты можешь просто не назначать таск в отдельную переменную. Если ты это делаешь, то подразумевается, что ты потом ее как то обработаешь
Аноним 02/09/21 Чтв 19:38:59 2148225345
image.png 50Кб, 512x512
512x512
Сап аноны, есть словарь вида:

{'terminalVS': {'2021_09_02': {dlib.vector([-0.13334, 0.0858562, 0.0471418, -0.0853292, ... и т.д.

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

Пробовал через ast.literal_eval, но тот выдает исключение ValueError: malformed node or string, думаю, дело в dlib.vector, который он не может спарсить.

Есть ли способ загрузить в программу без собственно-написанного парсера?
Аноним 02/09/21 Чтв 19:41:56 2148227346
Аноним 02/09/21 Чтв 19:44:29 2148229347
>>2148202
https://ideone.com/JPdwyC

Ебнул декоратор который добавляет к корутине хендлер для ошибок. С обычным таском он работает (test1) но когда юзаю мой васянский create_interval (test2), то же самое - он тихо сдыхает. И в конце высирается ворнинг что мой хендлер который должен был обработать ошибку (тоже корутина) так и не был вызван. Странно
Аноним 02/09/21 Чтв 19:55:13 2148232348
>>2148229
У тебя какой-то фетиш на коллбеки? Хуй сразу же встает что ли?
Аноним 02/09/21 Чтв 21:06:55 2148283349
>>2148227
Благодарю, анон, всё получилось!
hey 03/09/21 Птн 00:40:08 2148514350
Посоветуйте лучшую книжку по ПИТОНУ. не старьер желательно и чтобы в переводе была. то что в шапке шлак, старые издания по 2.
Аноним 03/09/21 Птн 00:40:56 2148516351
Аноним 03/09/21 Птн 00:44:17 2148517352
2021-09-0300-40[...].png 12Кб, 509x430
509x430
Вопрос по django rest. К примеру у меня есть модель Person, у нее есть поля name, position, fax_phone, personal_phone, work_phone.
Что мне нужно сделать в сериализаторе или в модели, чтобы при запросе все номера были сгруппированы в отдельный объект json, как на скрине?
Аноним 03/09/21 Птн 00:52:32 2148522353
Аноним 03/09/21 Птн 00:53:21 2148523354
>>2148514
Какую тебе "не старую" книжку? Ты синтаксис хоть изучил?
Аноним 03/09/21 Птн 00:58:57 2148525355
>>2148522
Собственно в методе возвращаешь PersonPhoneSerializer(person).data, можешь еще контекст в аргументы прокинуть, если он необходим.
Аноним 03/09/21 Птн 01:04:10 2148527356
>>2148514
Для ровных пацанов есть вечная Python Cookbook от Бизли. Но для нулевых не покатит. Все остальное есть в доках.
Аноним 03/09/21 Птн 01:09:58 2148528357
Аноним 03/09/21 Птн 01:12:17 2148529358
>>2148527
Да ну, кукбуки это одни из самих унылых книг. Имели смысл бумажные в каких-то девяностых-нулевых, но сейчас то хули, всё за пять сек можно нагуглить.
У Бизлича вот недавно вышла новая книга про всякие современные интермедиейтные штуки, вот это должно быть интересно, но пока не спиздили пдфку.
Аноним 03/09/21 Птн 01:14:50 2148531359
Аноним 03/09/21 Птн 01:18:50 2148532360
>>2148529
>кукбуки
Ассоциация с куколдами сразу же
Адекват об такое шквариться не будет
Аноним 03/09/21 Птн 01:32:48 2148536361
>>2148529
>Имели смысл бумажные в каких-то девяностых-нулевых, но сейчас то хули, всё за пять сек можно нагуглить.
Это зря, в кукбуках надо читать не чтобы решение твоих проблем найти, а чтобы узнать, какие проблемы бывают и как их решают. Очень полезно.
Аноним 03/09/21 Птн 01:36:26 2148539362
>>2148527
>Все остальное есть в доках.
На самом деле официальный туторал от питона очень-очень хорош, не хуже большинства книг.

Разве что на английском. Но если немного с английским дружишь, то даже хорошо, заодно и язык подтянуть можно. Он там средний, не самый простой, но и не убойный.
Аноним 03/09/21 Птн 01:42:14 2148543363
>>2148539
Я там сразу начинаю по всем ссылками лазить и всё смотреть, лол. Времени не напасешься.
В книге хоть читаешь как-то последовательно, хотя тоже паралельно бегаю в гугл и доку, но поменьше.
Аноним 03/09/21 Птн 02:10:26 2148552364
Есть путь до директории: /home/huipizda/hui/pizda/yadebil
как я могу получить в виде отдельных строк все части этого пути: /home/ home/huipizda /home/huipizda/hui/ и т.д.?
Аноним 03/09/21 Птн 03:10:56 2148571365
Screenshot from[...].png 22Кб, 370x216
370x216
>>2148229
Модицифируй create_interval
и ты всё увидишь,
> Exception 'coroutine' object is not callable
тебе надо делать await coro, а не await coro(), ты ведь уже готовую корутину передаёшь в create_interval

Да, ещё использовать табы вместо пробелов это полный зашкван.

И ещё вместо такого while цикла лучше
for i in itertools.count()
специально для этого
Аноним 03/09/21 Птн 03:16:28 2148572366
>>2148229
И ещё такой момент, этот код не эквивалентет setInterval из JS.

Например если у ты вызываешь функцию с интервалом в секунду, а она работает пол секунды, причём это может быть io-bound-sleep задержка, а не cpu-bound, то реальный интервал будет в полторы.

Аналог setInterval, это если ты в цикле создаёшь новую задачу.
Аноним 03/09/21 Птн 03:28:01 2148575367
>>2148229
И ещё, если тебе так нужны коллбэки, то просто сделай
t1.add_done_callback(cb)

где cb это
def cb(task): # не корутина, просто функция
____exc = task.exception()
____if exc:
_________process_exception

Аноним 03/09/21 Птн 11:22:14 2148811368
>>2148571
>использовать табы вместо пробелов это полный зашкван
шо?
Аноним 03/09/21 Птн 11:23:53 2148816369
>>2148571
>>2148811
в чем разница между табом и пробелами?
таб это просто несколько пробелов за раз, 2 вроде или сколько там
Аноним 03/09/21 Птн 11:33:57 2148833370
Аноним 03/09/21 Птн 11:41:00 2148842371
>>2148816
Размер таба динамический, зависит от настроек, поэтому их и не любят
Аноним 03/09/21 Птн 11:42:17 2148846372
>>2148816
Питон по-определению чувствителен к пробелам. Стандартная рекомендация настраивать в редакторе замену таба на 4 пробела. А код с табами не совместим с кодом с пробелами.

Табы вообще отстой и не нужны, если ты только make-файлы для си не делаешь, боль она боль.
Аноним 03/09/21 Птн 11:45:42 2148853373
>>2148552
Делаешь dir_splitted = dir_path.split('/')
Затем

paths = []
for i in range(1, len(dir_splitted)+1):
----paths.append(''.join(dir_splitted[:i]))
Аноним 03/09/21 Птн 11:46:28 2148855374
>>2148842
?
Блять: взял и настроил
ахуеть проблему придумали
Аноним 03/09/21 Птн 11:47:45 2148858375
>>2148855
Это что бы у всех код выглядел одинаково без дополнительного пердоленья и смены удобных тебе настроек
Аноним 03/09/21 Птн 11:55:57 2148874376
>>2148552
from pathlib import Path
mypath = '/home/abc/def/gggg'
paths = [str(path) for path in Path(mypath).parents]
Аноним 03/09/21 Птн 11:58:11 2148877377
>>2148858
> код выглядел
В жопу выглядел. У тебя табы и пробелы несовместимы. Если в одной строке табы, а в другой пробелы, будут проблемы. То есть тупо код не сопровождаемый из-за этого.

Никто табы не делает, пусть кто найдёт репозиторий с кодом мало-мальски большого проекта, где есть табы.
Аноним 03/09/21 Птн 12:00:44 2148879378
>>2148877
Долбоеб, в любом редакторе вроде пуйчарма пойдет автоматическая замена табов на пробелы
Мне делать больше нехуй кроме как по 4 раза дрочить клавишу пробела во время каждого перевода?
Аноним 03/09/21 Птн 12:01:16 2148880379
>>2148877
>Никто табы не делает, пусть кто найдёт репозиторий с кодом мало-мальски большого проекта, где есть табы.
Вся магия заключается в том, что современные IDE конвертируют табы в пробелы
Аноним 03/09/21 Птн 12:03:39 2148882380
>>2148879
>Мне делать больше нехуй кроме как по 4 раза дрочить клавишу пробела во время каждого перевода?
Долбаёб ты. Ты просто настраиваешь редактор на автозамену, и вместо табов в коде будут пробелы.

Но в твоём коде именно табы.
Аноним 03/09/21 Птн 13:17:38 2148935381
11111111.png 33Кб, 299x663
299x663
Анончик, подскажи каким образом избавляться от вложенности ифов? Учитывая что проверяется obj['state'], а конечных состояний больше чем на схеме(штук 20).
Слышал про некие машины состояний, но там вроде переход только от одного к другому.
Знаю что задача часто встречается, но хз как решить
Аноним 03/09/21 Птн 13:22:32 2148937382
Аноним 03/09/21 Птн 13:31:55 2148943383
Не очень понятно, что у тебя паттерн
if data not in db:
___do1()
elif data in db:
___do2()
else:
___do3()
делает. Или лишнее, или же do1() меняет db, но тогда это стрёмная штука в плане отладки из-за внутренних скрытых состояний.
Аноним 03/09/21 Птн 13:44:37 2148945384
>>2148935
Если doN() вот именно такие, то можно сделать хелпер-функцию, которая внутри будет этот if делать и возвращать новое состояние.

Код станет сильно компактнее.

def _helper(func_true, state_true, func_false, state_false):
____if response in ...:
________true_func()
________return state_true
.....

и дальше по строчке на каждое состояние.

Машина состояний полноценная нужна, если тебе надо вверх по коду идти, а не только вниз.
Аноним 03/09/21 Птн 14:01:03 2148951385
>>2148935
>>2148937
словарь не подходит
>>2148943
>>2148945
Если кратко, то состояние хранится у клиента, я получая запрос смотрю состояние, и делаю ответ(do1(), do2())
# в схеме немного не правильно указал, сама функция и меняем состояние
В зависимости от состояния разные ответы, ответ меняет состояние, на следующее и предыдущее.
Мне говорили что тут паттерн стратегия нуже, но я что-то не понимаю как применить его.
А ещё, что за полноценная машина состояний?
Аноним 03/09/21 Птн 14:19:08 2148965386
>>2148951
Все что тебе нужно получить это калбэк и new_state. После новый стейт присваивается а калбэк исполняется. Все.
Словарь спокойно это может решить

В крайнем случае создаешь класс State где и реализуешь бизнес-логику для каждого стейта
Аноним 03/09/21 Птн 14:29:06 2148967387
>>2148951
Всем все подходит.
Составляешь словарь
states = {'state1': (do1, do2), 'state2': (do3, do4)}
А потом получаешь нужную функцию по текущему стейту
states[state][response in 'test']()
а потом тебя увольняют за такой говнокод
Аноним 03/09/21 Птн 15:16:25 2149013388
>>2148965
Вот тут подробней можно, или пример похожей реализации.
>>2148967
Я знаю про словари, но мне кажется что иметь глобал словарь на 30 строк не очень идея
Аноним 03/09/21 Птн 15:26:03 2149022389
>>2149013
Ну какбе стейт машина это тоже простыня из свитчей в бесконечном цикле.
Аноним 03/09/21 Птн 17:20:59 2149140390
Где найти нормальные туториалы как собрать приложение на Nginx, React и Flask/FastAPI?

По отдельности все понятно, но никак не могу понять как они работают в связке.
Аноним 03/09/21 Птн 17:33:29 2149157391
Аноны, какие языки программирования вы знаете помимо питона? Как часто их используете?
Аноним 03/09/21 Птн 17:49:04 2149171392
>>2149157
Знаю перл и пхп (на уровне пофиксить или накидать что-то несложное). Планирую ещё закатиться в го и ноду, но пока душу питона до хорошего уровня, поделывая на нем некоторые проекты со скрипом.
Аноним 03/09/21 Птн 17:57:47 2149187393
>>2149171
Какие проекты пилишь? Что вообще актуально делать для портфолио чтобы взяли на РАБоту?
Аноним 03/09/21 Птн 17:59:24 2149191394
>>2149171
Как вы с несложным умудряетесь деньги зарабатывать?
Аноним 03/09/21 Птн 18:03:16 2149193395
>>2149187
>>2149191
Задачи какие дают. В основном всякий е-комерс и автоматизации вокруг него. У меня есть некоторая наработанная клиентская база, просто перекатываюсь на более актуальные технологии.
Аноним 03/09/21 Птн 19:20:32 2149286396
Аноним 03/09/21 Птн 23:09:30 2149510397
>>2148842
что мешает юзать дефолт?
>>2148846
в чем проблема поправить код автоматически?
Аноним 03/09/21 Птн 23:11:26 2149512398
>>2149510
У каждого разный дефолт
Аноним 04/09/21 Суб 04:53:46 2149610399
>>2149510
>в чем проблема поправить код автоматически?
Анон расшарил код. Я его скачал, попробовал что-то добавить и словил ошибку, потому что у него табы вместо пробелов. Не помню, когда последний раз с таким сталкивался.

Ок, я в виме делал, набрал команду
:%s/\t/(четыре пробела/cg
и все эти табы заменились на пробелы, как надо, работа на секунды.

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

Потому что табы и пробелы несовместимы.

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

Поэтому нужны единые стандарты. А единые стандарты это пробелы, а не табы.
Аноним 04/09/21 Суб 05:07:33 2149613400
>>2149610
Если нужна серьезная разработка, то подключается редактор с произвольным импортом-экспортом и линтер.
А если мне сниппет накидать в каком-то айпитоне или ideone, или там одноразовый скрипт, то зачем мне дрочить те пробелы?

А вообще, надо сделать какой-то опциональный normal mode, что позволит юзать скобки. Ну реально же хуйня с этими отступами.
Аноним 04/09/21 Суб 05:46:27 2149615401
>>2149613
Ты пытаешься придумывать проблемы на пустом месте, а дальше накручивать какие-то оболочки для решения.

Есть де-факто стандарт, это использовать пробелы. По 4 штуки, последнее уже вроде в pep8 прописано.

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

Табы и не в питоне скорее исключение.

Любой продвинутый редактор тебе автоматом автоотступы делает, поэтому "дрочить по пробелу" необходимости нет.
Аноним 04/09/21 Суб 06:41:24 2149616402
>>2149615
Я тебе говорю, откуда табы могут взяться, а не призываю использовать их, лол.
Аноним 04/09/21 Суб 10:34:33 2149678403
>>2149610
Все правильно анон >>2149613 говорит
Нахера в ideone / shell изъябываться с твоими пробелами? Ты адекватный вообще?
hey 04/09/21 Суб 13:21:31 2149844404
А в /pr нет канала телеги тематического?
Аноним 04/09/21 Суб 13:23:45 2149845405
Аноним 04/09/21 Суб 13:25:21 2149847406
Аноним 04/09/21 Суб 13:41:23 2149879407
Аноним 04/09/21 Суб 14:35:55 2149924408
Хочу начать учить Питон в ближайший час.

У меня глаа разбегают от обилия обучаок. На ютубе. в гугле, на русском и английском(владею им).
Что делать?????

Вот первая ссылка в гугле - https://www.learnpython.org/ - она норм?
или на курсере/edX лучше? Мб по курсу МФТИ на ютубе? Или на openedu.ru?

Так много вариантов, я сижу и не знаю что делать!

Мой опыт: хеллоу ворд на Го и в вузе Дельфи был
Аноним 04/09/21 Суб 14:40:41 2149931409
Аноним 04/09/21 Суб 14:41:35 2149933410
>>2149924
Берешь любой и всё. Как выучишь основы, дальше делаешь что хочешь, параллельно смотря гитхаб с примерами, примеры либ в доках и т.д.
Ты больше времени потеряешь, если будешь искать идеальную обучалку.
По моим ощущениям книга лучше, причем чем толще. Ты можешь скипнуть материал какой-то, а потом вернуться и почитать подробности, если потребуется.
Видео, если быстро хочется вкатиться и без подробностей/предельных случаев и т.д.
Аноним 04/09/21 Суб 14:45:02 2149937411
>>2149924
>Вот первая ссылка в гугле - https://www.learnpython.org/ - она норм?
Посмотрел, очень даже норм для начала. Как раз чтобы первое впечатление было и руку набить. Советовать конкретно сложно, у всех разные мозги и разный бекграунд.
Аноним 04/09/21 Суб 14:51:07 2149948412
>>2149937
>>2149924
Минус ссылки только в том, что там по старому питону сделано, форматирование строк бросается в глаза, оно там из второго питона, %-стиль.

Возможно ещё что-нибудь такое есть.

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

Потом, конечно, уже надо будет нормально писать.
Аноним 04/09/21 Суб 14:51:14 2149949413
image.png 5Кб, 409x209
409x209
Прошу на пальцах объяснить как работает код.


Как Я вижу:

Объявляем словарь "x" и список "y"
Через цикл for и if выполняем проверку нахождения (ключа или элемента????) в словаре "x".
Если (ключа или элемента????) из списка "y" есть в словаре "x", то мы его передаем в ключ в переменную "z"
После выводим ключ и значение словаря.
Аноним 04/09/21 Суб 14:56:44 2149953414
>>2149949
>Если (ключа или элемента????) из списка "y" есть в словаре "x",
> if i in x:
для словаря означает проверку, что i есть среди ключей словаря.

Ты тоже запусти питоновскую оболочку и руками команды понабивай. Вот создай там словарь и проверяй условия вроде
'Bob' in x, "Pasha' in x
и т.п.. Доки, конечно, параллельно читай.

Но в любом случае запусти консоль интерпретатора и в ней играй. На твоём уровне очень полезно.
Аноним 04/09/21 Суб 15:12:42 2149962415
>>2149953
Я потыкал код. Только не понял почему z сохраняет значение элемента словаря, а не сам ключ.
Аноним 04/09/21 Суб 15:29:03 2149981416
>>2149962
Иди прочитай хоть одную книжку, у тебя вопросы уровня почему базовый функционал работает как должен.
Аноним 04/09/21 Суб 18:02:42 2150095417
Блядь только что щас понял что надо было каты с кодворза лить в гит для портфолио.
Аноним 04/09/21 Суб 18:04:56 2150099418
>>2150095
И как посрал фоткай и выкладывай на гитхаб.
Аноним 04/09/21 Суб 18:10:29 2150102419
>>2150099
Не, не на каждую же кату мутить репу. В одну репу лить решения для питухона и все. Забавно сравнил с инстой, лол.
Аноним 04/09/21 Суб 18:14:52 2150104420
>>2150099
И кстати, люди тоже льют решения, я чекнул по поиску, ну и что тут такого, разные кушки льют, мб даже лично для себя. Я вот плотно засел за изучение гита и понял, что можно было прокачать гит тупо на катах :3, но в целом пох.
Аноним 04/09/21 Суб 18:15:22 2150105421
>>2150102
Ты просто не понимаешь смысл таких сайтов.
Выкладывание решений на гитхаб это что-то вроде повесить школьную контрольную на стену в рамочку. Это не достижение, просто проверка твоих знаний.
Аноним 04/09/21 Суб 18:31:08 2150119422
>>2150095
Их бы никто не смотрел
Аноним 04/09/21 Суб 18:37:28 2150122423
>>2150119
Мимо анон
Ну можно так похвастать, что умеешь решать сложные алгоритмические задачки, и решения свои показать. В принципе лучше, чем ничего, а дополнительных затрат никаких.
Аноним 04/09/21 Суб 18:39:40 2150125424
>>2150122
> В принципе лучше, чем ничего
Просто лучше демонстрирует, что показать тебе нечего.
Аноним 04/09/21 Суб 18:53:45 2150137425
>>2150125
Всё-таки задачки с алгоритмами получше, чем туду-листы. Конечно, если там не easy и не одны медиумы, а hard тоже хватает.

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

А вот ту-ду лист, расрашенный публично это да, тебе нечего показать и ты грузишь мир мусором.
Аноним 04/09/21 Суб 18:56:56 2150144426
>>2150137
Проблема в том, что ты эти решения можешь посмотреть и скопипастить, это не имеет смысла.
А вот на собесе тебе дают рандомную задачку и там уже видно, знаешь ты что-то или нет. Поэтому смысл сайтов в том чтобы погонять задачки и набрать практики в их решении, подтянуть какие-то области, в которых ты плаваешь.
Аноним 04/09/21 Суб 18:59:38 2150147427
>>2150122
>>2150137
>Ну можно так похвастать, что умеешь решать сложные алгоритмические задачки, и решения свои показать
> Если ты это любишь, это хорошо о тебе говорит. А если ещё и оформлена хорошо, то совсем здорово.

Этот код пиздится за пару кликов, так как на большинстве платформ открытый банк решений. Ну и к слову, джуну все равно ничего серьезного не доверят, да и на 95% проектов дрочь сложных алгоритмов нахуй не нужен. Гораздо лучше иметь там какой-нибудь небольшой проект, где ты сам сделал пару сервисов по ковырянию каких-нибудь сторонних апишек и вывода данных для пользователя, настроил для них докер, бд, сделал CI/CD и написал тесты.
Аноним 04/09/21 Суб 19:03:21 2150150428
>>2150144
>Проблема в том, что ты эти решения можешь посмотреть и скопипастить, это не имеет смысла.
Вряд ли кто будет решение принимать по гитхабу. Само собой спросят.

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

Если на это пойдёт мода, то смысл, очевидно, потеряется. Потому что и копировать будут, и выделиться сложно.
Аноним 04/09/21 Суб 19:08:48 2150154429
>>2150147
>Ну и к слову, джуну все равно ничего серьезного не доверят, да и на 95% проектов дрочь сложных алгоритмов нахуй не нужен.
Сеньёру тоже алгоритмы не нужны, сеньёру надо уметь большие проекты тянуть. Если ты в юниорстве не можешь сложные задачи решать, то не сможешь и в сеньёрстве.

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

А вот CI/CD это уже прикладные инженерные вещи. Им можно научиться на месте по необходимости. Причём как раз джуну это никогда не доверят огранизовывать, потому что здесь надо понимать, как работают большие проекты, а у джуна опыта работы на больших проектах нет по определению.
Аноним 04/09/21 Суб 19:09:10 2150156430
>>2150150
> Если на это пойдёт мода, то смысл, очевидно, потеряется. Потому что и копировать будут, и выделиться сложно.
Так в том-то и дело, что давно пошла. Может ты судишь по рунету, где нулевые вкатуны бегают с сертификатами цыганских курсов, лол.
Аноним 04/09/21 Суб 19:25:41 2150172431
Аноним 04/09/21 Суб 19:33:31 2150179432
image.png 14Кб, 1070x51
1070x51
>>2150172
Зумеры обезумели, сумеешь ли ты совладать с ними?
Аноним 04/09/21 Суб 19:34:04 2150181433
>>2150179
А в чем проблема то?
Аноним 04/09/21 Суб 19:35:51 2150182434
>>2150154
Настраивать джун конечно ничего не будет, но это показывает его самостоятельность, что очень важно, никому не нужен дурачок, который не сможет решать проблемы, а будет бегать к мидлосеньорам что бы каждый пук разжовывали.

>Умение решать сложные олимпиадные задачки показывает, что у тебя есть мозги
Нет, это показывает дрочь олимпиадных задачек, причем иногда в ущерб качеству кода. Компановка кода, его поддерживаемость, этому нихуя не учат олимпиадников. Я сам в вузике ходил в олимпиадный кружок. Было нормальным называть переменные в 1-2 буквы, не знать ООП, делать грязные хаки, которые делали код нечитаемым (потому что его второй раз никто читать не будет) и все это ради пары милисекунд перфоманса.

>Поэтому олимпиадников загрегают топ компании очень активно.
Потому что у них такая схема найма персонала. Сначала набираются олимпиадники и прочие алгоритмодрочеры. Работают год и проходят перфоманс ревью и прочие KPI, если качество кода оставляет желать лучшего, то человек идет нахуй. Так можно получить обучаемых инженеров с математической подготовкой для сложных проектов. Проблема в том, что на это нужно куча бабла, что бы содержать челиков, которые еще сидят в инкубаторе и их судьба о дальнейшем устройстве не решена.
Когда очередная среднеконторка начинает думать что она гугл, то процесс найма очень затягивается, так как они хотят рокстара, который сразу бы ебошил годный код, а человек даже функции в нормальный класс скомпоновать не может, а задач под такую алгоритмическую базу у компании нет.
Аноним 04/09/21 Суб 19:36:18 2150184435
>>2150181
Вангую, что следующим шагом будут анимированные и звуковые символы юникода, чтобы они ещё блестели и пердели, тогда совсем заебись станет.
Аноним 04/09/21 Суб 19:39:14 2150187436
34 лвл кун решил вкатываться в иптон.
Смотрю про циклы и условные операторы. Полет нормальный .
Опыта программирования на утро сегодняшнего дня - 0.
Аноним 04/09/21 Суб 19:40:03 2150189437
Аноним 04/09/21 Суб 19:41:09 2150190438
>>2150187
Ну и нахуй ты тут нужен, иди читай книжки, смотри видосики. Через пару месяцев приходи - будем смотреть, получится ли из тебя что.
Аноним 04/09/21 Суб 19:59:05 2150204439
>>2150182
>но это показывает его самостоятельность
Но ты же понимаешь, что тут тоже можно склонировать чужой проект. Более того, скорее большинство именно клонирует. В таких вещах принято тупо копипастить чужие решения, не понимая, что там зачем, и править какие-то параметры под себя.

Это даже не мошенничество, так просто люди "учатся", или сами искренне считают, что учатся.
Аноним 04/09/21 Суб 20:05:09 2150208440
>>2150204
Поэтому нужно разбирать проект и спрашивать что, как и зачем кандидат так сделал. А если говорить про то, как все ИРЛ происходит, то гитхаб вообще никто не смотрит.
Аноним 04/09/21 Суб 20:08:01 2150210441
обязательно IDE качать?
Чем Блокнот плох для обучения азам и вообще первым программам/работам/проджектам?
Аноним 04/09/21 Суб 20:10:55 2150212442
>>2150210
Автокомплита и подсветки синтаксических ошибок нет, в начале у тебя со всем этим проблемы будут, а IDE явно тебе все покажет.
Аноним 04/09/21 Суб 20:15:11 2150215443
>>2150210
Нет
Дед на Python 1.1 хуярил прямо в терминале и заебись все было
IDE эти всякие огт лукавого
Аноним 04/09/21 Суб 20:17:09 2150217444
>>2150210
Replit тебе хватит на первое время
Аноним 04/09/21 Суб 20:17:27 2150218445
>>2138718 (OP)
программисты, что не так в этом коде?
x=3435+73-1
bx=''
while x>0:
bx+= str(x%7)
x=x//7
bx[::-1]
bx=int(bx)
for i in range (1,1000):
p=bx-i
p=str(p)
if p.count('6') == 12:
print(i)
Аноним 04/09/21 Суб 20:19:26 2150220446
Аноним 04/09/21 Суб 20:20:11 2150221447
>>2150218
x=343(в степени 5)+7(в степени 3)-1
bx=''
while x>0:
bx+= str(x%7)
x=x//7
bx[::-1]
bx=int(bx)
for i in range (1,1000):
p=bx-i
p=str(p)
if p.count('6') == 12:
print(i)



ПОДКОРРЕКТИРОВАЛ
Аноним 04/09/21 Суб 20:20:53 2150222448
Аноним 04/09/21 Суб 20:21:24 2150224449
image.png 23Кб, 1110x258
1110x258
Аноним 04/09/21 Суб 20:23:11 2150225450
image.png 61Кб, 534x513
534x513
Аноним 04/09/21 Суб 20:25:30 2150227451
Аноним 04/09/21 Суб 20:27:31 2150229452
>>2150212
> в начале у тебя со всем этим проблемы будут,
в чем трабла тупо текст из обучалок перепечатывать?
Аноним 04/09/21 Суб 20:28:54 2150230453
image.png 45Кб, 1256x360
1256x360
Аноним 04/09/21 Суб 20:29:21 2150231454
>>2150225
Зачем ты это родил в принципе?

Ты bx не реверснул. Вернее изменение не перезаписал
Почему range у тебя 1000? Почему не 1001 и не 500?
Аноним 04/09/21 Суб 20:30:13 2150234455
>>2150229
Потому что в один момент ты забудешь поставить двоеточие и начнешь срать в тред с просьбой разобраться что у тебя с кодом не так, ведь ты все скопировал с учебника
Аноним 04/09/21 Суб 20:36:11 2150241456
>>2150234
Ну я не собираюсь больше 80 строк писать
Аноним 04/09/21 Суб 20:36:34 2150242457
Аноним 04/09/21 Суб 20:37:14 2150244458
>>2150241
Что бы обосраться достаточно одной строки
Аноним 04/09/21 Суб 20:38:13 2150245459
image.png 2Кб, 290x150
290x150
>>2150242
Блять... нахера ты вообще за прогинг берешься если в глаза ебешься?
Аноним 04/09/21 Суб 20:38:17 2150247460
image.png 16Кб, 685x167
685x167
Аноним 04/09/21 Суб 20:39:25 2150248461
image.png 1Кб, 184x40
184x40
Аноним 04/09/21 Суб 20:42:06 2150249462
>>2150248
он все равно не работает, я на этот сайт с айдла перепечатывал
Аноним 04/09/21 Суб 20:45:29 2150250463
>>2150247
Тебя не смущает что ты перевел число в 7-ричную систему но потом на похуй вычитаешь из него единицы?
Аноним 04/09/21 Суб 20:48:02 2150251464
>>2150250
суть ведь найти число при котором
> p.count('6')==12:
я это и пытасюсь сделать
станислав полемин 04/09/21 Суб 20:49:19 2150252465
в этой строке перебираются ай с 1ого до 1000?
>for i in range (1,1000):
Аноним 04/09/21 Суб 20:51:10 2150253466
Аноним 04/09/21 Суб 20:51:23 2150254467
>>2150251
для начала: ты не понимаешь как работают системы счисления

И почему бы заранее не найти комбинации числа с 12-ю 6-ми и потом уже их привести к нужному числу?
Аноним 04/09/21 Суб 20:54:14 2150257468
>>2150254
неплохая идея, спасибо
а что собственно не так с СИ в этом коде?
Аноним 04/09/21 Суб 20:55:56 2150258469
>>2150257
У тебя получилось int в 7-ричной системе. Но int похер, он воспринимает его все равно как 10-ичное. Ты вычитаешь из него единицы, какой результат по-твоему получится?
Аноним 04/09/21 Суб 20:57:25 2150259470
>>2150258
>ричной
dctt я разобрался, благослави господь твою рожу
Аноним 04/09/21 Суб 21:06:23 2150263471
>>2150247
Эту задачку надо решать на бумаге, а не на ЯП.

Подсказка: 343 это 7 в четвёртой степени, то есть 1000 в семиричной системе.

Аноним 04/09/21 Суб 21:09:54 2150264472
>>2150263
Вторая посказка, считай 90% решения. Задача сводится к тому, чтобы найти максимальное число из 15 7-ми ричных цифр, в котором 12 цифр 6.
Очевидно, что это число
666_666_666_666_555

оставшиеся 10% сам.
Аноним 04/09/21 Суб 21:13:10 2150269473
>>2150264
у меня ответ 343 вышел
Аноним 04/09/21 Суб 21:16:10 2150270474
>>2150269
А мне кажется, что должно быть 222 в семиричной системе, то есть 2*(49+7+1) = 114
Аноним 04/09/21 Суб 21:21:48 2150273475
>>2150270
Нет, это я протупил, в семиричной системе 666 + 112 = 1111
это 400 в десятичной
Аноним 05/09/21 Вск 00:29:01 2150367476
cirno.jpg 85Кб, 728x471
728x471
Аноним 05/09/21 Вск 00:36:43 2150375477
>>2150367
Покажи как курс выглядит. Особенно интересно как у них задачки с автопроверкой выглядят.
Аноним 05/09/21 Вск 00:39:26 2150377478
>>2150375
Качается пока, потом гляну и расскажу.
Аноним 05/09/21 Вск 00:40:51 2150378479
>>2150377
В смысле бл - качается? Ты с Рутрекера качаешь?
Аноним 05/09/21 Вск 00:42:16 2150379480
>>2150378
Не, не с рутрекера. Что я, ебанулся - на удеми покупать?
Аноним 05/09/21 Вск 00:43:43 2150380481
>>2150379
И ты будешь чисто по пдф-кам и видосам изучать?

Вот я например хочу порешать задачки на ООП - куда мне идти? Я пока только Юдеми нашел или на Кодеварс задачки вылавливать.
Аноним 05/09/21 Вск 00:45:12 2150381482
>>2150378
Да, мало сидеров. кряк от вурдалака
Аноним 05/09/21 Вск 00:47:18 2150382483
>>2150380
сам придумай себе задачки, идеальным вариантом задачи на ооп будет игра эрпоге
там же классы как раз.
вот выдумай себе классов кучу и ебошь
подклассы хуйклассы и тп.
Аноним 05/09/21 Вск 00:49:31 2150383484
>>2150380
Конечно, я вообще больше по книгам, но по этой теме и питону что-то не густо, так что решил глянуть такой курсец.
Про задачки не знаю. Я самостоятельно практикую, задачки разве что всякие алгоритмические балуюсь.
Аноним 05/09/21 Вск 00:50:07 2150385485
>>2150383
А где задачки берешь?
Аноним 05/09/21 Вск 00:50:57 2150386486
>>2150385
Где все. Литкод, кодворс.
Аноним 05/09/21 Вск 02:20:43 2150426487
Аноним 05/09/21 Вск 15:25:31 2150682488
Я слоупок?

Уже прошло 7 месяцев с изучения языка программирования Python

За это время я -
1 - Написал 2ch на джанго, сейчас пишу аналитику инстаграма.
2 - Сделал бота для изучения английского, бот парсит инфу с сайтов, кучу, выдает, там не просто пару возможностей, кучу всяких функций. ( Телега - аиограмм )
3 - Подтянул sql запросы, могу написать простенькие запросы
4 - Поднял немного знания как работает инет, что такое HTTP,HTTPS,POST,DELETE и т.д
5 - Изучаю сейчас с# в планах сделать игрушку для андроида
6 - Написал небольшой сервис на Golang
7 - Ну и мы учили с++, там чисто прям фигню знаю
8 - Немного HTMl/CSS, особо не верстал, по мелким вещам.
9 - Jira,Postman
10 - знаю что такое тест кейс, баг репорт, чек лист, уровни тестирования, виды тестирования и по мелким вещам.
И т.д по мелким вещам.

Почему я не могу найти работу, даже на джун в удаленку брать не хотят, стажировку проходить я не могу, хотя была возможность, но я ебал 1+ месяц стажировки. Мне ещё рано? Нормально ли в таком этапе уже искать работу, или стоит подучиться больше, сделать ещё пару пет проектов?
Аноним 05/09/21 Вск 15:26:47 2150683489
Забыл добавить, что немного знаю алгоритмы, но после 5 куя на коде варс забросил решать задачки.
Аноним 05/09/21 Вск 15:37:41 2150690490
>>2150682
Потому что у тебя винегрет из разных ЯПов и направлений? Не пробовал углубиться во что-то одно?
Аноним 05/09/21 Вск 16:01:07 2150700491
>>2150690
Да мне в кайф быть многосторонним, везде что-то делать. Я думаю тяну на Python джуна, но меня даже на собесы не зовут, ну и как мне показывать свои способности если даже шанса не дают. Говорят я им не подхожу, хотя мой стек подходит +- и я быстро обучаюсь

Аноним 05/09/21 Вск 16:01:48 2150702492
Аноним 05/09/21 Вск 16:06:21 2150707493
>>2150700
Ебало стяни тогда и топай на стажировку.
Аноним 05/09/21 Вск 16:06:32 2150708494
>>2150702
Украина, работы на джун-удаленку пару штук, я ещё студент, пока в офисе не могу сидеть.
05/09/21 Вск 17:29:22 2150753495
>>2150708
>Украина
>работы пару штук
>я ещё студент
>в офисе не могу сидеть.
>Почему я не могу найти работу?
Аноним 05/09/21 Вск 17:55:13 2150772496
>>2150753
Действительно. Сам угораю с него.
Аноним 05/09/21 Вск 18:54:09 2150848497
Ок, я написал приложение с фронтендом из Реакт и бэкендом Фастапи. В приложении есть возможность загружать файлы и описание к ним, которое хранится в ДБ.
Как теперь все это запилить на сервер?
Аноним 05/09/21 Вск 19:00:11 2150854498
>>2150848
В девопс треде спроси, лул.
Аноним 05/09/21 Вск 19:01:26 2150856499
image.png 589Кб, 960x640
960x640
Сап аноны, есть программа, которая на протяжении нескольких часов проводит монотонные математические вычисления над массивами. Посмотрел нагрузку, оказалось, что она загружает цп на 90%, а видеокарты nvidia с cuda на 20%. Можно ли сделать так, чтобы видеокарты больше задействовались?
Аноним 05/09/21 Вск 19:04:51 2150857500
>>2150854
Он чуть более чем полностью мертв, лол
Аноним 05/09/21 Вск 19:09:47 2150861501
>>2150857
Вот и оживи таким острым и уникальным вопросом!
Аноним 05/09/21 Вск 19:52:53 2150892502
>>2150861
>уникальным
Ну тавк ответь, если он такой уникальный
Аноним 06/09/21 Пнд 08:03:49 2151232503
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов