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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 520 57 131
Питон тред №136 /python/ Аноним 03/02/22 Чтв 15:26:26 2285619 1
py-44.jpeg 68Кб, 780x520
780x520
guido-35.png 535Кб, 549x646
549x646
Тред, посвящённый языку программирования Питон, #136

Предыдущий: >>2266995 (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
Аноним 03/02/22 Чтв 15:36:11 2285631 2
Python is shit
True
Python.programmers == 'petooh'
True
Аноним 03/02/22 Чтв 15:39:31 2285634 3
http://uneex.ru/LecturesCMC/PythonIntro2021

Сап питонач, решил отсюда все задачи, документацию питона щелкаю, дополнительно попарсил ЦБ и openweathermap. Куда двигаться дальше?

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

На вакансиях разные библиотеки требуют и только разбрасываешься на всё подряд, нихуя толком не сделав.
Аноним 03/02/22 Чтв 16:06:31 2285667 4
>>2285634
Ты опоздал, вкатун.
ИИ уже порешала джунов.
Аноним 03/02/22 Чтв 16:07:09 2285671 5
когда жит?
Аноним 03/02/22 Чтв 17:02:15 2285749 6
Прочитал как "Притон-тред"
Аноним 03/02/22 Чтв 17:03:47 2285753 7
image.png 131Кб, 1244x624
1244x624
Как производить поиск в коде на гитлаб?
У меня вкладки "Code" вообще нет. Все перетыкал, ничего не получается. Вот в гитхабе по умолчанию отличный поиск.
Аноним 03/02/22 Чтв 17:14:33 2285769 8
Помогите, пожалуйста. Есть пикрилейтед тег <img>. Я уже записал его в виде объекта selenium:
element = driver.find_element_by_xpath('//captcha//img')
Так вот как теперь взять текст поля data-ng-src, раскодировать base64 и записать это дерьмо в картинку на диск?
Аноним 03/02/22 Чтв 17:14:54 2285771 9
2022-02-0319-11.png 387Кб, 1875x319
1875x319
Аноним 03/02/22 Чтв 17:22:32 2285782 10
подскажите пжста, если есть в открытом доступе гугл ексель табличка на чтение, можно ли с помощью питона получать значения ячеек, не подключая сервисный аккаунт с ключом доступа?
Аноним 03/02/22 Чтв 17:29:28 2285800 11
>>2285782
все спасибо разобрался сам, просто скачиваю по ссылке \csv и работаю с ним
Аноним 03/02/22 Чтв 17:30:16 2285804 12
>>2285771
Текст я выдернул. Как теперь из текста этой хуйни сохранить картинку?
Аноним 03/02/22 Чтв 17:46:22 2285822 13
captha.png 7Кб, 240x80
240x80
Кто-нибудь капчу пытался наёбывать? Подскажите как пикрелейтед капчу, которая уже есть в сохранённой картинке в текст пробовать перевести?
Аноним 03/02/22 Чтв 17:54:39 2285839 14
>>2285822
нарезаешь на буковки, вручную помечаешь, скармливаешь в terreract, юзаешь.

Там нейронки нынче, нормальные, LSTM.
Аноним 03/02/22 Чтв 17:57:04 2285844 15
>>2285839
Двачевскую капчу не распознает
Аноним 03/02/22 Чтв 17:59:23 2285849 16
>>2285844
Мне не требуется двачевская. Я привёл пик капчи без обработки. pytesseract обсирается с ней. Возможно необходимо как-то картинку подготовить, хз
Аноним 03/02/22 Чтв 18:27:39 2285868 17
>>2285667
Покажите мне этот ии. Заебало уже по 5-6 часов спать.
Аноним 03/02/22 Чтв 18:32:37 2285876 18
>>2285634
Если делаешь что-то на питоне, то в основном попросят за веб и бекенд. Попробуй написать что-нибудь на веб фреймворках типа джанге, фастапи, ботле или ещё что-нибудь. Освой разные субд и орм к ним. Разберись с деплоем и пр. Короче, займись вебом и посмотри как он работает, авторизация, токены, вот жто всё.
Подключись к какому-нибудь халявному апи, типа дискорда или хз, и взаимодействуй с ним. Короче, развлекайся.
Аноним 03/02/22 Чтв 18:44:26 2285890 19
>>2285634
Забей на библиотеки. На собесах никто не будет требовать их знание. В общем-то от начиная с синьера и знание питона не обязательно. Ты должен понимать принципы и владеть идеально хоть одним стеком. Любой другой потом осваивается за пару недель.
Аноним 03/02/22 Чтв 18:52:31 2285900 20
>>2285890
Ану расступились, я властелин стека!
Аноним 03/02/22 Чтв 18:53:35 2285903 21
>>2285782
>>2285800
возникла следующая проблема -
скачивается старый файл, а он там обновляется постоянно
Аноним 03/02/22 Чтв 19:36:23 2285954 22
Снимок.PNG 21Кб, 352x720
352x720
Зацените прогу, я Сеньёр если что.
Аноним 03/02/22 Чтв 19:47:19 2285965 23
>>2285954
Где асинхронные хуи, где очереди из пёзд?
Очень слабо.
Аноним 03/02/22 Чтв 22:19:14 2286097 24
>>2285849
потому что его не обучил!
04/02/22 Птн 09:26:09 2286344 25
>>2285954
Сука, как же меня бесят эти дерьмокодеры блять, Сеньёр блять, ты серьёзно? Я на стажировке в MTC банке сервера на note.js поднимал и ебался над приложением мобильным не в вашем ебучем котлине в на чистом java и сука платили 30к в месяц и то после всего я ещё джуниор и в итоге не прошёл стажировку и меня послали. Так что в следующий раз подумай блять перед тем как писать кто-то и не лезь туда куда не знаешь, начни с паскаля это всё что тееб пока светит, а лучше учи основы ассемблера, ибо после него вся дурь выбивается и ты осознаёшь себя богом этого мира
Аноним 04/02/22 Птн 09:31:43 2286350 26
>>2286344
Ты лох.
Я бы тебе и 30к не дал. Еще бы и хуй вытер об тебя))
Аноним 04/02/22 Птн 12:58:32 2286529 27
>>2286344
Нахуй нужен ассемблер, мне его знания вообще не пригодились в вебе.
Писал код для плк сименса в нефтянке, и то, хз где применить его опыт здесь. Байты считать? Какие? Их тут нет.

Что реально полезно это общая дисциплина написания кода. Писать так чтоб работало с первого раза, замечать возможные ошибки уже на этапе разработки. Пишешь класс 100-200 строк и он работает сразу. Вот чего не хватает многим.
Аноним 04/02/22 Птн 13:00:02 2286532 28
>>2285667
Ну где там ии. Хочу чтоб он мне сам написал сервер.
Аноним 04/02/22 Птн 13:14:35 2286544 29
Привет, двач. Привет, анон.
Боюсь обосраться с первым ЯП, поэтому, если нет возражений -- уточню здесь.
Вопрос такой:
Стоит ли дрочить веб, неужели условные сайтики, магазины всё ещё пилятся?
Я к тому, что даже мой батя в своё время за пару недель запилил себе сайт в 00-х, хотя за компом-то почти не сидел.
Ещё я слышал некоторые гадости о питоне, в частности о том что он слишком прост и не так хорош, как другие яп. Возможно, злые языки, но настораживает.
Хватит ли полутора лет обучения по 2-3 часа в день на то, чтобы начать зарабатывать какие-то копейки?

Да, вкатун. Нет, не бейте тапками.
Аноним 04/02/22 Птн 13:27:14 2286550 30
>>2286544
Я бы сказал так - знать веб на питоне пригодится, но планировать зарабатывать именно им это несколько перебор, хотя и возможно. В принципе, после хорошего раскуривания питона ничего тебе не мешает идти куда-то дальше за деньгами по актуальной обстановке.
Полтора года вполне норм, если ты не дурачок и не забъешь, тут сложно судить.
Аноним 04/02/22 Птн 13:29:52 2286553 31
>>2286550
Только не бей, но

Где по большей части используется питон, кроме как в вебе?
И вообще, стоит ли идти в веб с этими жабаскриптами и прочим, или на питоне можно пилить что-то интересное и полезное?
Аноним 04/02/22 Птн 13:42:52 2286561 32
>>2286553
Где угодно используется.
В веб вообще идти не стоит, разве что фуллстек макакой батрачить.
Аноним 04/02/22 Птн 14:01:27 2286581 33
.jpg 204Кб, 1040x1040
1040x1040
04/02/22 Птн 14:15:54 2286608 34
>>2286561
>где угодно
А где угодно это где кроме автотестеров?

другой анон
Аноним 04/02/22 Птн 14:21:36 2286613 35
>>2286608
Где нужно автоматизировать какие-то действия ЭВМ посредством программного кода.
Кроме нишевых вещей вроде игор или шиндовс гуи, например.
Аноним 04/02/22 Птн 14:25:22 2286617 36
https://ideone.com/vSDoPd
Зацените какая хуйня строится. Рост времени для grid_taveller(i, i) есть O(i^2), как я и ожидал, но сама форма графика время/(i^2) странная. Почему так?
Аноним 04/02/22 Птн 14:26:20 2286621 37
image.png 71Кб, 647x793
647x793
Чет проиграл с тех, кто не советует веб, каждый раз такая хуйня и спам вакансиями на почту и по телефону когда открываю резюме.
04/02/22 Птн 14:30:10 2286628 38
>>2286561
>>2286613
Питон, насколько мне известно, довольно гибкий язык, но можно ли на нём делать какие-то большие проекты? И он, как я слышал, не так часто используется в этом вашем погромировании, но просто используется везде, где нужно запилить скрипт на коленке. Это правда?

>>2286621
Думаешь, стоит идти в веб? Какие шансы у вкатуна за полтора года получить достаточно знаний на джуна и пойти работать?
Чем вообще занимаются в вебе кроме создания и оформления сайтов, анон?
Аноним 04/02/22 Птн 14:32:53 2286632 39
image.png 38Кб, 558x417
558x417
>>2286617
upd. Эти странные линии это похоже логарифмы, а асимптотика квадратична. Не могу понять откуда эти линии появились и почему они образуют такой рисунок
Аноним 04/02/22 Птн 14:41:04 2286641 40
Аноним 04/02/22 Птн 14:42:59 2286642 41
>>2286628
>Думаешь, стоит идти в веб? Какие шансы у вкатуна за полтора года получить достаточно знаний на джуна и пойти работать?
За полтора года изи

>Чем вообще занимаются в вебе кроме создания и оформления сайтов, анон?
Веб это не только сайты, в больших проектах он перетекает в обработку больших массивов данных с соответсвтующим стеком больше похожим на энтерпрайз. В моем случае это кафка, кролик, кликхаус и способы работы с распределенными системами.
04/02/22 Птн 14:50:26 2286651 42
>>2286642
Спасибо за ответ.
На чём работаешь? Мне пару раз советовали жабаскрипт, да я всё метаюсь и боюсь обосраться с вебом.
Аноним 04/02/22 Птн 14:50:59 2286653 43
>>2286651
На питоне, очевидно же
Аноним 04/02/22 Птн 14:52:20 2286656 44
>>2286653
Что помимо питона надо знать для начала?
У большинства вакансий запросы различаются, под все не подстроишься, но тем не менее.

блять, сажа...
Аноним 04/02/22 Птн 14:59:16 2286672 45
>>2286628
>можно ли на нём делать какие-то большие проекты? И он, как я слышал, не так часто используется в этом вашем погромировании
Чел... не слушай этих пердунов. Они тебе ещё щас скажут, что он медленный и прочую ахинею. Много больших и достойных проектов на пайтоне живёт и развивается, названия не буду говорить, если захочешь сам найдёшь.
Аноним 04/02/22 Птн 15:20:46 2286703 46
>>2286656
>Что помимо питона надо знать для начала?
Главное в айти это попасть под струю и наработать год-два опыта. Поэтому смотришь вакансии в своем городе и дрочишь стек указанный в них, желательно, что бы там была какая-нибудь технология для распределенных сервисов типа тех же брокеров сообщений, что бы катится дальше, а не утонуть джанге хотя я сам начинал с нее, но там к ней подключили микросервисы и в дальшейнем этот опыт помог мне перекатится на следующую работу. Потом сам все поймешь.
Аноним 04/02/22 Птн 17:56:48 2286911 47
Подскажите, может уже было такое
В мейне есть вызов двух асинхронных методов. Один из них имеет вечный цикл и в глубине wait(...), который блокирует все остальное, пока не дождется ответа. Как вызвать этот метод, чтоб не блокировать выполнение остального кода?
А то доходит до этого места и все, пиздец, пока данные не придут - стоит.Через asyncio.create_task пробовал, но тот валится, если вдруг не дождется сообщения
[T:MainThread] ERROR:asyncio: Task was destroyed but it is pending!
Аноним 04/02/22 Птн 18:38:31 2286941 48
>>2286911
Переписать wait, что бы он был асинхронным
Аноним 04/02/22 Птн 18:42:40 2286945 49
>>2286941
>await asyncio.wait()
Интересно
Аноним 04/02/22 Птн 18:51:40 2286959 50
>>2286945
И как я должен был понять что wait асихнронный? Тащи весь код
Аноним 04/02/22 Птн 18:57:28 2286966 51
Снимок экрана 2[...].png 105Кб, 1730x364
1730x364
Снимок экрана 2[...].png 100Кб, 1128x698
1128x698
>>2286959
Умирает на msg = await conn.notifies.get()
Использую aiopg
Пример практически из мануала. Умирает секунд через 5.
Аноним 04/02/22 Птн 20:37:04 2287095 52
>>2286544
Веб делится на фронт и бек. Питон в вебе это преимущественно бек. Фронт делают на нём извращенцы.
Язык своеобразен, как и все остальные. Так что это не аргумент. Питон проще, но медленней. Го быстрей, но синтаксически нагроможден.
Аноним 04/02/22 Птн 20:41:48 2287103 53
>>2286628
Посмотри на крупные веб-фреймворки питона и как давно они появились.
Аргументы, про то что питон это скрипты на коленке - тебе промыли мозги пхпетухи и goвноеды.
Аноним 04/02/22 Птн 22:35:48 2287212 54
Есть какие-нибудь инструменты для ограничения количества запросов на ресурс? Ratelimit штука удобная, но чёт я сомневаюсь что он сможет работать в параллельных запросах с разными инстансами
Аноним 04/02/22 Птн 22:56:24 2287226 55
>>2287212
Как решение, в голову только приходит использование что-то типа редиса или мемкеша, но почему-то это выглядит как костыль
Аноним 04/02/22 Птн 23:37:43 2287234 56
image.png 97Кб, 1824x547
1824x547
image.png 59Кб, 1897x357
1897x357
Не могу получить первый элемент списка. Что я делаю не так?
Аноним 04/02/22 Птн 23:50:19 2287240 57
Блять, я раньше с такими проблемами не сталкивался, жопа уже горит, хелпаните с проблемой, что может быть не так?

FastAPI+ClickHouse стек
venv активирован

Пытаюсь запустить фастапи с uvicorn, пишет что не видит clickhouse модуль, как это так спросил я, ведь в venv у меня он есть, Программа работает если запускать её с пайчарма, но uvicorn не видит, хотя раньше в других проектах видело. Опять же, все запускается все ок с пайчарма, но при uvicorn пишет -

ModuleNotFoundError: No module named 'clickhouse_driver'


И я попробовал установить clickhouse глобально - все заработало, но какого хуя??? Почему в локалке его не видит, он же сука лежит у меня прямо в венв там где лежит fastapi, а его видит, ну я блять рили не понимаю
Аноним 04/02/22 Птн 23:56:28 2287246 58
>>2287234
А, понял, он воспринимает это как строку, а не как список. Как тогда конвертировать в список :/
Аноним 05/02/22 Суб 00:17:29 2287256 59
>>2287246
result = sdelat_pizdato(response.text)
print(result[0])
Аноним 05/02/22 Суб 00:18:39 2287257 60
>>2287240
Кек, у тебя пучарм с глобальным интерпретатором работал
Аноним 05/02/22 Суб 00:28:18 2287261 61
>>2287240
Ювикорном надо запускать только фастапи, а кликхаус отдельно. Это ж бд, его тем более в докере запускать нельзя, у него свой роутер должен быть свой
Аноним 05/02/22 Суб 00:33:24 2287264 62
>>2287261
Я не знаю что я сделал, но я запустил. Как это в докере нельзя запускать? Да ну, у меня как раз стоит задача обернуть все это в докер,энивей попробую
Аноним 05/02/22 Суб 01:03:38 2287273 63
>>2287264
Ну сам подумай. Запустишь ты бд в докере. Он наебнется и прощай бд.
Аноним 05/02/22 Суб 01:14:18 2287276 64
16365892664980.webm 9486Кб, 1280x720, 00:00:07
1280x720
>>2287273
Тогда и сервер тоже в докере нужно запускать не нужно, а то он тоже проебется
Аноним 05/02/22 Суб 01:17:36 2287277 65
>>2287276
У тебя база наебнется. С записями. Понимаешь? Нет? Ну запускай в докере.
Аноним 05/02/22 Суб 01:23:07 2287279 66
Аноним 05/02/22 Суб 01:40:13 2287281 67
>>2287277
Дед, ты pesistent volume не освоил что-ли?
Аноним 05/02/22 Суб 01:46:30 2287284 68
Как модифицировать этот луп, чтобы он не падал от IndexError? Не могу сообразить. Ну кроме try/except.

lst = [1,2,3,4,5]
counter = 0

for j in lst:
____delta = j[1] - j[0]
____counter += delta
Аноним 05/02/22 Суб 01:50:16 2287285 69
>>2287284
Блядь, заменял значения, чтобы не задиванониться, и закономерно обосрался. В общем вопрос о том, как избежать IndexError при итерированию по списку, когда в итерации у меня участвует n-ный и n+1-й элемент списка.
Аноним 05/02/22 Суб 01:51:50 2287286 70
Аноним 05/02/22 Суб 02:06:38 2287290 71
image.png 47Кб, 999x738
999x738
гайс, хелп. может кто-нибудь подсказать как решать это говно ? у меня тестовое задание на позицию мечты, а на питоне у меня выходит только говнокод.
Аноним 05/02/22 Суб 02:18:41 2287291 72
>>2287284
lst = [1, 2, 3, 4, 5]
deltas = (next_el - prev_el for prev_el, next_el in zip(lst[:-1], lst[1:]))
counter = sum(deltas)
Аноним 05/02/22 Суб 02:25:56 2287295 73
>>2287279
Постоянно вижу, что вместо пользования лаконичного метода .json() сразу на ответе, люди импортят либу жсона, достают текст из ответа и скармливают его лоадсу.
В чем профиты от такого, у вас кабан за строчки кода платит?
Аноним 05/02/22 Суб 02:50:55 2287303 74
>>2287291
>zip(lst[:-1], lst[1:])
Блядь, почему я до этого не додумался?
Аноним 05/02/22 Суб 03:50:10 2287320 75
А как в питоне при вызове фукнции подставить в аргумент этой функции кучу переменных из другого файла? Я конечно могу запилить список всех переменных и передать его в качестве аргумента, но вдруг можно это циклом сделать как-то.
Аноним 05/02/22 Суб 04:22:48 2287326 76
>>2287295
Наверное тому что раньше не было его
Аноним 05/02/22 Суб 04:32:18 2287327 77
>>2287234
try:
data = response.json()[0]
body = body.get("comment")
logging.info(f"Message: {body}")
except:
logging.error("Bad response")
Аноним 05/02/22 Суб 04:33:49 2287328 78
>>2287320
Сделай из файла дикт json.loads и вставляй fuck(param)
Аноним 05/02/22 Суб 04:34:30 2287329 79
Аноним 05/02/22 Суб 04:51:47 2287336 80
>>2287328
А у меня там дикт не получится сделать. Короче говоря, у меня есть файл с кучей строк, которые мне надо прохешировать:
string1 = "gfdgsdhdfsh"
string2 = "bvcxbrfbdfb"
и т.д.

Соответственно, в другом файле лежит функция хеширования, которая по моей задумке будет получать в качестве аргумента вот эти вот string1, string2, ...
Файл со строками статический, но там просто их дохуя, и не хочется ручками делать ctrl+c ctrl+v.
Аноним 05/02/22 Суб 05:22:46 2287344 81
Screenshot 2022[...].png 224Кб, 828x971
828x971
Как вызвать функцию в конкретное очень точное время? Например нужно сделать пост ровно в 11:11 и не миллисекундой раньше. Неужели делать тысячу запросов в секунду с проверкой?
Аноним 05/02/22 Суб 05:37:13 2287350 82
>>2287344
Закинуть таск в крон или использовать селери с редисом.
Аноним 05/02/22 Суб 05:41:41 2287351 83
Аноним 05/02/22 Суб 05:51:45 2287353 84
>>2287336
Ты можешь сделать дикт из файла питона и ходить по нему, либо запустить все сразу через threadpool
Аноним 05/02/22 Суб 05:53:32 2287355 85
>>2287353
Но дикт же должен иметь пары ключ-значение. Или ты имеешь в виду сделать через setdefault?
Аноним 05/02/22 Суб 05:59:29 2287356 86
>>2287355
У теья ключом будет название переменной
Аноним 05/02/22 Суб 06:01:19 2287357 87
>>2287356
Ну, либо это будет лист, в любом случае сделать из него дикт или лист несложно.
А лучше сделать генератор на файл, чтоб не читать его целиком
Аноним 05/02/22 Суб 06:22:30 2287361 88
>>2287336
vottak = {}
with open("file.txt") as f:
for zs in f:
(ky, shit, val) = zs.split()
vottak[ky] = val
print(vottak)
Аноним 05/02/22 Суб 06:31:07 2287364 89
>>2287361
vottak = {}
with open("file.txt") as f:
for zs in f:
(ky, shit, val) = zs.split(' ')
val2 = val.replace('"', '')
vottak[ky] = val2
print(vottak)

Инетрация съехала, ну и дополнил тебе.
Аноним 05/02/22 Суб 06:49:26 2287369 90
У меня минискрипт парсер: каждую минуту делаю запрос на сервер и записываю ответ в одну и ту же переменную. Оперативка за пару часов забивается полностью. Гуглил, везде пишут, что питон сам собирает мусор и никакие гэрбэдж коллекторы не нужно. Охуенно собирает.
Аноним 05/02/22 Суб 07:37:30 2287376 91
> Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

обновите пасту под современные реалии пожалуйста
Аноним 05/02/22 Суб 13:01:32 2287524 92
image.png 43Кб, 1110x648
1110x648
>>2287351
спасибо, мужик. даже не знаю как тебя отблагодарить)
если решишь и это, скинь к коду еще номер карты или другие реквизиты, не обижу)
Аноним 05/02/22 Суб 15:05:51 2287643 93
>>2287524
Просто словарь завести. Как ты работать-то собрался если такое не сделаешь?
Аноним 05/02/22 Суб 15:41:57 2287676 94
>>2287643
так я не на разработчика или дса иду, из 8 задач только 2 пайтоновские, и то вот такие простенькие, я просто отвык это говно решать.
Аноним 05/02/22 Суб 15:57:28 2287690 95
>>2287369
Ты while true сделал да?
Аноним 05/02/22 Суб 15:58:47 2287694 96
>>2287369
Если бы ее собирал, значит серверы бы на нём не работали.
Видимо ты где-то мусоришь сам
Аноним 05/02/22 Суб 18:33:00 2287909 97
>>2285631
Жаба-говнокодер, не ты ли это?
Аноним 05/02/22 Суб 19:27:37 2287990 98
164407837770918[...].png 56Кб, 750x550
750x550
Поясните за pypy, судя по бенчмаркам здесь https://github.com/kostya/benchmarks он почти всегда быстрее(в 10 раз) обычного питона, при этом памяти особо больше не жрет, в чем подвох? В проде его используют, если да то почему не все ещё перекатились на него?
Аноним 05/02/22 Суб 19:56:01 2288018 99
>>2287990
Не слышал, стало быть не используют.
Аноним 05/02/22 Суб 19:58:04 2288020 100
>>2287990
Если нужно что-то быстрее питона, зачем выбирать что-то из среды питона, почему тот же го не использовать? В эпоху микросервисов вообще нет никаких сложностей делать разные части проекта на разных языках.
Аноним 05/02/22 Суб 19:59:21 2288022 101
>>2287990
Теоретически сообщество Python может повсеместно принять PyPy, PyPy может стать эталонной реализацией, а CPython может быть прекращен. Тем не менее, PyPy имеет свои недостатки:

CPython легко интегрируется с модулями Python, написанными на C, и это традиционно способ, которым приложения Python выполняют задачи, интенсивно использующие ЦП (см., Например, проект SciPy).
Сам этап компиляции PyPy JIT стоит процессорного времени - только благодаря повторному запуску скомпилированного кода он становится быстрее в целом. Это означает, что время запуска может быть выше, и, следовательно, PyPy не обязательно эффективен для выполнения связующего кода или тривиальных сценариев.
Поведение PyPy и CPython не одинаково во всех отношениях, особенно когда речь идет о «деталях реализации» (поведение, которое не определено языком, но все еще важно на практическом уровне).
CPython работает на большем количестве архитектур, чем PyPy, и был успешно адаптирован для работы во встроенных архитектурах способами, которые могут быть непрактичными для PyPy.
Схема подсчета ссылок CPython для управления памятью, вероятно, оказывает более предсказуемое влияние на производительность, чем различные системы GC PyPy, хотя это не обязательно верно для всех стратегий «чистого GC».
PyPy еще не полностью поддерживает Python 3.x, хотя это активный рабочий элемент.
Аноним 05/02/22 Суб 20:03:29 2288026 102
Ко мне на сервис приходят вебхуки из другой апи, типа сообщений в мессенджере. Они иногда приходят не в том порядке, если смотреть на timestamp, соответственно, обрабатываются они тоже не так как надо.
Какими способами можно упорядочить эти вебхуки? Сервер на gunicorn с кучей рабочих, так что это ещё сильнее усложняет ситуацию. Lock не работает почему-то, несмотря на то что включён preload.
Аноним 05/02/22 Суб 20:13:51 2288040 103
>>2288020
Чтобы не писать на goвне?
Аноним 05/02/22 Суб 21:14:15 2288075 104
скомпилировал Kivy на андройд, но виджеты KivyMD не отображаются (Отображаются аналоги обычного kivy), что я сделал не так?
Аноним 05/02/22 Суб 23:11:08 2288163 105
>>2288026
Как насчёт MQ с priority? Latency по обработке на бэке увеличится конечно же.
Аноним 05/02/22 Суб 23:46:45 2288190 106
>>2288163
Я так и делаю. У меня очередь sqs fifo настроена и перед обработкой я отсылаю их туда. Нужна именно sqs fifo, тк они умеют делать группы внутри очереди с извлечением элементов по одному. Но вытаскивать их надо по минимальному timestamp, а не fifo.

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

Есть же куча подобных сервисов. Как они делают? Я бы мог написать свой celery и амазоновский sqs, но времени столько нет.
Аноним 05/02/22 Суб 23:52:47 2288197 107
image.png 2Кб, 358x30
358x30
image.png 14Кб, 598x163
598x163
Может кто знает как в джанго обработать кнопки "купить "которые были сгенерированы фором в шаблоне {% for i in fuc %}, в views принимаю post запрос но он рендерит все кнопки, а надо одну конкретную, что делать. На пике ошибка, что get не может принять 2 запроса, а их 2 так как он обрабатывает 2 кнопки
Аноним 06/02/22 Вск 02:49:13 2288250 108
>>2287369
Ну не пиши тогда на питоне. А лучше вообще не пиши. Ни кода, ни тут.
Аноним 06/02/22 Вск 03:14:16 2288253 109
>>2287990
PyPy неофициальный, версии отстают от релизов, и нет полноценной поддержки бинарных библиотек.

То есть если ты хочешь использовать питон с чем-то, что в двоичном виде к питону подключается, но скорее всего будут проблемы. А это довольно обычная история для какого-то научного софта, всяких AI и т.п.
Аноним 06/02/22 Вск 03:22:53 2288254 110
>>2287344
А что делать до этого?
У тебя есть опции, или самому тупо подождать нужное время, или использовать модули вроде sched, или использовать функции из asyncio для этого.
Аноним 06/02/22 Вск 04:23:58 2288258 111
>>2288254
Есть же планмровщики задач типа celery и kron, зачем велосипеды делать
Аноним 06/02/22 Вск 13:27:07 2288505 112
image.png 83Кб, 989x547
989x547
Есть урл с джейсоном, конвертируется в словарь, подключается к гугл шитс, и заполняет ключ и значение в ячейки.
А нужно чтобы при запуске скрипта, если значение поменялось заполняло в новую ячейку А2, А3, А4..
Как это проще сделать? Проверять на пустую ячейку или pandas numpy использовать?


https://ideone.com/e.js/Ok2bJL
Аноним 06/02/22 Вск 15:22:35 2288685 113
>>2288505
На пустую, чем меньше будешь плодить непонятных процедур тем лучше
Аноним 06/02/22 Вск 15:25:56 2288689 114
>>2288190
Так у тебя fifo, а не атрибут timestamp, по нему отрабатывай и присваивай priority. По идее через Rabbitmq shovel можно сделать, а потом qos=N и распределяй по воркерам
Аноним 06/02/22 Вск 15:48:20 2288708 115
>>2288689
> Так у тебя fifo, а не атрибут timestamp
Это да, я просто хотел сделать задержку перед тем как отправить в очередь. Fifo нужно для распределения нагрузки по группам от разных чатов.
Сообщения мне может присылать бот, между этими вебхуками бывает буквально 10-100 мс. Апи настолько бгмерзское, что иногда первым приходит второе сообщение, а не первое. К примеру, исходный порядок 1-2-3-4-5, а фактически приходит 3-1-5-2-4. А в очередь может уйти вообще 2-1-5-4-1.
Аноним 06/02/22 Вск 15:49:10 2288709 116
Аноним 06/02/22 Вск 16:37:28 2288751 117
>>2288708
Пробуй Rabbit тогда, там и интеграции с БД есть и многое на платформе кролика же и делается, так как erlang
Аноним 06/02/22 Вск 16:48:16 2288763 118
>>2288751
Ех, ладно. Просто у нас отошли от раббита на sqs, хз почему. Буду дальше думать над костылями.
Аноним 06/02/22 Вск 16:54:44 2288773 119
image.png 79Кб, 1160x667
1160x667
image.png 74Кб, 1161x720
1161x720
Приветик.
Делаю задачку с zipfile из "Укус питона" и у меня возник вопрос.
Можно ли архивировать каталоги с файлами в них?
А то у меня получается архивировать нормально только один конкретный файл, в противном случае я получаю тот же каталог, но без файлов в конце пути.

Я знаю, что через import.os делается все нормально. Просто интересуюсь, где я не так поступаю с zipfile.

Код: https://ideone.com/xUs1At

Первый пик - архивация с файлом.
Второй - каталога.
Аноним 06/02/22 Вск 17:10:28 2288792 120
>>2288763
Кролик слишком много потребляет, но много умеет, а SQS на то и simple.
Тебе нужно какое-то временное хранилище, сортировку, хоть в памяти через массив.
Есть же встроенные in-memory хранилища.
Аноним 06/02/22 Вск 19:00:38 2288943 121
>>2288792
Просто мне показалось, что это довольно тривиальная задача. Удивительно что к ней нет готовых решений. Ну либо я слепой
Аноним 06/02/22 Вск 19:09:26 2288953 122
>>2288943
А у кролика разве есть что-то для этого?

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

Слёту, могут быть ситуации, когда какой-то пакет из 1-2-3-4-5 вообще не придёт, либо будет идти слишком должно. Наверное, ты не хочешь ждать, если уже знаешь, что все пакеты пришли. Ещё надо как-то отличать пакеты 1-2-3-4-5 первой серии от пакетов 1-2-3-4-5 второй серии, последующей. И куча всего ещё.

Аноним 06/02/22 Вск 19:39:07 2288985 123
>>2288953
Можно выставить задержку доставки, скажем, плюс 5с к тому timestamp который указан в payload. Если они пришли гораздо позже, что ж, тут уже можно сослаться на ошибку отправителя и доставлять их уже сразу, без задержки.

В целом они доходят до меня довольно быстро, в пределах секунды.
Аноним 06/02/22 Вск 19:45:52 2288986 124
image.png 37Кб, 860x199
860x199
>>2288685
Это вроде самое простое. Всем спасибо
Аноним 06/02/22 Вск 20:36:48 2289029 125
Питонач, расскажи, пожалуйста, или даже поделись опытом, как правильно организовывать юнит-тестирование.
Например, есть каталог со скриптами и модулями. Сценарии для pytest сюда же класть? Создавать ли отдельный подкаталог здесь? Или вообще вынести в другое место?
Описанные выше скрипты и модули могут содержать тесты? Или код отдельно, проверка отдельно?
Ну и посоветуй что почитать, посмотреть.
Спасибо.
Аноним 06/02/22 Вск 20:49:20 2289039 126
>>2289029
Там все рассказано
https://docs.python-guide.org/writing/structure/

Используй poetry для создания venv и структуры, очень советую. И работает поиск по PyPi а отличие от сломанного pip.
Аноним 06/02/22 Вск 22:12:30 2289139 127
>>2288985
В общем да, задержка доставки в eta 3-5с в обычную sqs очередь самое простое что можно сделать. Дальше оно уже отправляется в другую очередь fifo. Достава идёт дольше на время задержки, но зато по порядку. В итоге распределение по рабочим сохранилось и нет никаких узких горлышек в виде одного рабочего и тд.
Аноним 07/02/22 Пнд 01:52:14 2289262 128
image.png 192Кб, 798x741
798x741
Как лучше делать методы класса (пик)?

Мне в принципе оба метода подходят, но я где то слышал что функция должна возвращать только один тип, поэтому первый вариант правильнее. Однако второй способ выглядит более подходящим принципу DRY т.к. методы does_thing_exists и get_thing из первого варианта делают почти одно и тоже.
Аноним 07/02/22 Пнд 02:31:08 2289275 129
>>2289262
Хз кто это спизданул. Куча стандартных методов возвращает что-то, либо none, если ничего нет. Так что это нормально.
Указывать возвращаемый тип явно излишество.
Аноним 07/02/22 Пнд 03:37:36 2289281 130
Где взять тестовые задачи? Наверняка есть список заданий с собесов или типа того, самому нихуя не надо, поэтому и пет проект придумать не могу
Аноним 07/02/22 Пнд 03:55:18 2289282 131
1630607519770.jpg 313Кб, 1261x1000
1261x1000
1630660141507.png 301Кб, 1920x1080
1920x1080
1630660249272.jpg 262Кб, 1425x1080
1425x1080
1630660454121.jpg 1156Кб, 3840x2160
3840x2160
Аноним 07/02/22 Пнд 04:49:40 2289292 132
>>2289281
На собесе спрашиваю обычно за то чем собираешься заниматься.
Аноним 07/02/22 Пнд 11:26:11 2289441 133
go.png 13Кб, 516x118
516x118
django.png 12Кб, 488x112
488x112
Есть у кого-нибудь ощущение что питон уходит из бэка и замещается Go? По вакансиям это уже видно. В нужном ли направлении идут вкатуны?
Аноним 07/02/22 Пнд 11:35:23 2289466 134
>>2289441
Пчел, ты сравниваешь бек на джанге и ГОвне, хотя у них совершенно разные ниши. Аналогом на пистоне будет всякое асинхронное говно, которое юзают дохуя крупных компаний, оно проникло даже в банки. Всякие сберы, точки и ВТБ срут мне на почту когда я открываю резюме.
Аноним 07/02/22 Пнд 11:58:34 2289511 135
>>2289262
Второй лучше. К тому же сразу видно, что метод может вернуть None. Разные типы возвращать плохо, но None можно считать просто указанием на отсутствие значения.
Аноним 07/02/22 Пнд 12:11:51 2289541 136
>>2289511
get возвращает какой угодно тип
Аноним 07/02/22 Пнд 12:13:16 2289542 137
>>2289441
Вакансий на питоне просто тысячи, на го - пара сотен и то в 90% случаев это микросервис
Аноним 07/02/22 Пнд 13:09:29 2289612 138
16435714156650.jpg 51Кб, 800x512
800x512
Принимайте нового вкатывальщика в тред.
Аноним 07/02/22 Пнд 13:27:09 2289635 139
>Питон тред
Прочитал как Pytuh тред
Аноним 07/02/22 Пнд 13:34:56 2289657 140
>>2289541
там написано Thing or None
Аноним 07/02/22 Пнд 13:40:07 2289670 141
>>2289542
> 1964
> пара сотен
понятно
Аноним 07/02/22 Пнд 14:24:37 2289718 142
>>2285619 (OP)
Уважаемые, подскажите это python2 или 3?


import requests
import sys
import pandas
import logging
from xxxsdk import xxxClient
logging.basicConfig(format=u'%(levelname)-8s [%(asctime)s] %(message)s', level=logging.INFO, filename = u'lockout.log')

time_period = 10 # time period for searching 120 minutes

from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

swis = xxxClient("xxx", sys.argv[1], sys.argv[2])

Q = """SELECT TimeGeneratedUtc, EventCode, ComputerName, SourceName, Message
FROM XXX.APM.WindowsEvent where EventCode in (4740) and MinuteDiff(TimeGeneratedUtc, GetDate()) < {}
ORDER BY TimeGeneratedUtc DESC""".format(time_period)
results = swis.query(Q)

results = list(map(lambda x: dict(x), results['results']))


def clear(x, target, object_list):
for reg in object_list:
x = x.replace(reg, target)
return [i for i in x.split(target) if i != '']

if results:
for i in results:
acd = clear(i['Message'], '\t\t', ['\r\n\r\n', '\r\n\t', '\t'])
i['Domain'] = acd[acd.index('Account Domain:')+1]
i['User'] = acd[acd.index('Additional Information:')-1]
if acd.index('Caller Computer Name:') + 1 != len(acd):
i['PC'] = acd[acd.index('Caller Computer Name:') + 1]
else:
i['PC'] = None
i['DC'] = acd[acd.index('Account Name:') + 1]

log = pandas.DataFrame(results)

abnormal_dict = {}
for i in log.PC.unique():
count = len(log.User[log.PC == i].unique())
if count > 5:
abnormal_dict = count
logging.info('PC: {}; Count: {}'.format(i, count))

if abnormal_dict:
print('Statistic.abnormalPC: %s' % max(abnormal_dict.values()) )
print('Message.abnormalPC: %s' % ", ".join(list(abnormal_dict.keys())))
else:
print('Statistic.abnormalPC: %s'%0)
print('Message.abnormalPC: %s'%0)
else:
print('Statistic.abnormalPC: %s' % 0)
print('Message.abnormalPC: %s' % 0)

Аноним 07/02/22 Пнд 14:32:33 2289727 143
>>2289718
print в виде функции это тройка
Аноним 07/02/22 Пнд 18:25:35 2289977 144
>>2289441
щас фастапи стандарт де факто
Аноним 07/02/22 Пнд 18:42:27 2290019 145
Аноним 07/02/22 Пнд 18:43:21 2290020 146
Аноним 07/02/22 Пнд 20:09:23 2290151 147
Как вы относитесь к критике?

Мне прям пиздец как плохо становится, когда на очередном совещание собираются челики и начинают обсуждать твой код, все находят в нем ошибки, все блять душат сука всякой хуйнй. Не знаю, может я морально слаб, но после такого желания работать нет.
Аноним 07/02/22 Пнд 20:13:40 2290155 148
>>2290151
Критика - признак развития. Гораздо хуже, если бы её не было и ты бы просто не понимал хорошо ты делаешь иди плохо.
Аноним 07/02/22 Пнд 20:16:29 2290158 149
>>2290151
Ну и чтоб тебе было легче. Раз уж они тебя наняли, значит сами такое написать не могут.
Аноним 07/02/22 Пнд 20:39:08 2290175 150
>>2290151
Интересно, а в интернете есть такой жанр фемдома? Где сисястая эйчар разъёбывает тебя на собеседовании за твой говнокод по факту
Аноним 07/02/22 Пнд 20:47:25 2290179 151
16222138592430.png 235Кб, 511x481
511x481
Господа, есть у кого-нибудь слитые курсы от GeekUniversity (они же GeekBrains), Skillbox, Нетологии? В зависимости от того что есть у вас, возможен обмен на то что есть у меня. А у меня есть разные курсы от этих школ
Аноним 07/02/22 Пнд 21:27:08 2290218 152
Аноним 07/02/22 Пнд 22:25:49 2290252 153
>>2290218
Тому что мне сказали делать все проекты на джанге, а не фастапи
Аноним 07/02/22 Пнд 22:30:42 2290254 154
>>2290252
Ну у тебя там легаси хуйня получается. Мертворожденная.
Аноним 07/02/22 Пнд 22:47:18 2290267 155
>>2290254
Может у него там УЧЕТНАЯ СИСТЕМА: СКЛАД
Не везде же rps наносекать
Аноним 07/02/22 Пнд 23:10:38 2290281 156
Аноним 07/02/22 Пнд 23:56:51 2290314 157
>>2290267
Для такого и ботл сойдёт. Джанго нужен разве что для фулстека.
Аноним 08/02/22 Втр 05:49:50 2290379 158
Как лучше: датакласс в массив или массив в датаклассе?
Аноним 08/02/22 Втр 06:41:04 2290397 159
Аноним 08/02/22 Втр 10:26:34 2290464 160
>>2286613
Работу с сайтиками, обычно для скачивания чего-нибудь, например
Аноним 08/02/22 Втр 10:29:31 2290465 161
Аноним 08/02/22 Втр 13:25:25 2290613 162
>>2290464
Рпботу с сайтиками, запросами и базой данных. Это называется веб
Аноним 08/02/22 Втр 14:43:31 2290727 163
Можно ли как-то получить содержание открытой страницы браузера (DOM) из внешней python-программы? Хочу чтобы при наведении мышкой на определенный элемент, внешняя программа совершала действия и выводила инфу например в файл или в своё окно.
Аноним 08/02/22 Втр 15:33:30 2290772 164
>>2290727
А ты про консоль разработчика, встроенную в каждый браузер, слышал?
Аноним 08/02/22 Втр 15:48:13 2290783 165
image.png 55Кб, 872x692
872x692
как решить проблему? на ютубе было по другому
Аноним 08/02/22 Втр 15:52:23 2290787 166
>>2290772
Зачем мне консоль? Мне нужно из другой программы получить доступ к текущему состоянию страницы. Я хочу добавить дополнительный интерактив без расширений браузера и хочу знать возможно ли это в принципе.
Аноним 08/02/22 Втр 16:19:24 2290804 167
>>2290787
Думаешь браузерные вендоры в разработку совсем дебилов набирают?
Аноним 08/02/22 Втр 16:20:46 2290805 168
>>2290787
>Я хочу добавить дополнительный интерактив без расширений браузера
Звучит как "хочешуь удалить гланды без открывания рта". Ну то есть теоретически можно сделать это через жопу поднять вебдрайвер, постоянно искать твой элемент с ховер псевдоклассом и посылать жиэс на выполнение на странице... Но нахуя, а главное - зачем?

Если у тебя прямо внешняя программа и одним браузерным жиэсом не обойтись, то почему не сделать нормально - инжектить расширением скрипт, который будет вешать события на странице и ажаксить в твое приложение все, что душе угодно? Один хрен ведь с жиэсом дело иметь придется, раз речь про интерактив на странице.
Аноним 08/02/22 Втр 16:41:05 2290819 169
>>2290804
Я просто хотел уточнить возможность в принципе. Если это невозможно из-за ограничений безопасности - так и пишите.
>>2290805
Тут все равно будут сложности с обновлением скрипта после обновления страницы, и.пр. Моей первой идеей было писать расширение, но не хочется делать это для двух браузеров.
Аноним 08/02/22 Втр 16:54:52 2290828 170
>>2290819
>Моей первой идеей было писать расширение, но не хочется делать это для двух браузеров.
Велкам ту зе ворлд оф веб девелопент.
Аноним 08/02/22 Втр 17:02:23 2290842 171
>>2290819
>сложности с обновлением скрипта после обновления страницы
Никаких сложностей пушить скрипт в бесконечнлм цикле нет. С проверкой на повторное включение офк.
Это не отменяет ебанутость подхода, конечно.
Аноним 08/02/22 Втр 17:03:47 2290847 172
Аноним 08/02/22 Втр 17:42:24 2290898 173
>>2290727
Не очень понятно. Ты можешь в браузере пустить в фоне какой-то скрипт, который будет в фоне отслеживать разные события и отправлять соответствующие сообщения в питон-программу.

Если же ты хочешь мониторить действия на другой странице, то так просто не получится, даже со всеми этими селениумами куча нюансов есть и там всё не так просто, как хотелось бы. Но смотреть, видимо, надо куда-то в этом направлении.
Аноним 08/02/22 Втр 17:44:31 2290902 174
>>2290179
Господин, сейчас очень много изначально открытых материалов. Хороший тон пользоваться открытыми знаниями, которые специально готовили для таких, как ты, а не воровать чужое.
Аноним 08/02/22 Втр 17:55:06 2290913 175
>>2290727
Дум с бэка недоступен, насколько я знаю, ну либо спросить у фронтовиков
Аноним 08/02/22 Втр 18:29:58 2290976 176
>>2290727
сделай userscript с твоей отслежевалкой, и потом посылай на сервак на локалхосте где-нибудь.
Selenium Аноним 08/02/22 Втр 18:41:01 2290995 177
Screenshot3.png 125Кб, 2192x974
2192x974
Товарищи знатоки, Приветствую вас!
У меня образовался такой вопросик, в микро задачке суть которой, залогиниться на страничке али для продавцов, через селениум.
В общем, захожу на страничку , ввожу данные, жмакаю апплай, появляется микро капча , где надо ползунок двинуть до конца, прохожу ее в ручную и оно всегда выдает ошибку (скрин прикрепил) и снизу пишет "Что-то пошло не так. Обновите страницу и попробуйте ещё раз(error:qALqL8)" Ошибка не гуглиться, нормальной инфы по этому поводу я не нашел , но может я что то не знаю и по этому не могу нормально загуглить.
Может кто подсказать, почему она появляется это ошибка и как ее обойти. Так же пробовал через селениум в админку своего сайта заходить, все логинется на WP.
Если шо не веб и не пайтон программист, просто тут такая задача выпала. Буду очень благодарен добрым людям.
Аноним 08/02/22 Втр 20:45:57 2291122 178
>>2290783
У тебя все написано что не так. Смотри в конекшене, куда он стучится и что приходит, и далее по шагам до места где у тебя нихуя, а должно быть что-то.
Аноним 08/02/22 Втр 21:29:06 2291153 179
>>2286632
Строй просто график зависимости времени работы от размера квадрата в двойном логарифмическом масштабе
Аноним 08/02/22 Втр 22:35:53 2291204 180
Кто когда последний раз писал на втором питоне в коммерческо коде?
Аноним 08/02/22 Втр 23:02:51 2291218 181
>>2291204
Никогда, хотя у меня стаж 5 лет. Ну и слава богу
Аноним 08/02/22 Втр 23:23:56 2291233 182
Аноним 08/02/22 Втр 23:45:43 2291250 183
Аноним 09/02/22 Срд 19:24:49 2291933 184
Аноним 09/02/22 Срд 20:02:08 2291949 185
>>2291933
и что же тогда нормальное?
Аноним 09/02/22 Срд 20:23:53 2291961 186
>>2291949
Тебе не нужны хитрые курсы чтобы выучить питон. Достаточно почитать один учебник и пройти курс по алгоритмам для практики (делая задания).
На coursera есть дохуя курсов, в том числе и по алгоритмам от самого Седжвика.
На нетологии/хуелогии нет никакого сакрального знания. Тебе все равно придется въебывать, экспериментировать с языков и делать практику чтобы усвоить материал. Нет волшебного видео, которое бы как в матрице загрузило бы питон тебе в мозг.
Аноним 09/02/22 Срд 20:48:37 2291976 187
>>2291961
Достаточно устроиться на работу. Пресловутое "когда?" учит лучше любых курсов
Аноним 09/02/22 Срд 21:09:54 2291985 188
>>2290179
Имеются. Скинь названия, которые есть у тебя.
Аноним 10/02/22 Чтв 01:56:50 2292211 189
image.png 41Кб, 3549x80
3549x80
Пацаны, как достать из этого HTML вот этот текст?
Аноним 10/02/22 Чтв 01:59:12 2292212 190
image.png 13Кб, 377x117
377x117
image.png 5Кб, 640x64
640x64
>>2292211
Пробовал HTML2Text, но он захватывает гиперссылку, хотя в настройках ставлю игнорировать ссылки, то есть по идее все что в теге "<a" должно пропускаться.
Аноним 10/02/22 Чтв 02:58:33 2292221 191
Так, драсте.
Я совсем нулёвый ньюфаг в 27 то годиков, меня начальник моего КБ заставил учить питон и сам же читает мне какие-никакие курсы.
Первое задание я вроде осилил, по крайней мере не хочу вас мучить им - написать программу для решения квадратных уравнений, я это вроде сделал и хочу проверить как всё работает (я учил в универе си, работаю с APDL, так что такая задача мне по силам, я её собственно, уже решил).
Но есть очень дебильный вопрос - как поставить питон? Вот прям в гугле вбить и ставить с сайта?
Если поясните, могу даже показать как я это сделал, хоть посмеётесь.
Аноним 10/02/22 Чтв 03:07:10 2292222 192
Аноним 10/02/22 Чтв 03:08:04 2292225 193
>>2292221
Скачать и установить. Лучше настрой виртуалку ubuntu, там всё в разы легче происходит
Аноним 10/02/22 Чтв 03:10:11 2292227 194
Аноним 10/02/22 Чтв 03:21:36 2292229 195
>>2292225
Я скачал и поставил. Я не знал, что ставить, поставил 3.10 AMD64, ну видимо, это то, что нужно.
Теперь буду разбираться в ньюфажных проблемах - когда я кодил на сях лаба42.cpp, там был редактор, а тут чёт вообще никак. Ну я уже привык в notepad++ работать.
Линукс я не буду ставить - я не умею им пользоваться, это сложно.
Аноним 10/02/22 Чтв 03:24:05 2292230 196
Какой фреймворк изучать для бэка?
Джанга вроде уже не нужна и подходит только для пердиксов.
Слышал про фастапи, на нем можно создать веб-аппликейшен с БД и логикой и потом еще подключить js-фрейморк для красивого интерфейса? Или это просто хуйня для создания апих?
Аноним 10/02/22 Чтв 03:25:28 2292231 197
>>2292229
Vscode поставь, разберись что да как там, подключись к виртуалке через ssh и всё. Там все пакеты и пр легко настраиваются и устанавливаются, в командной строке сложнее pip install ничего не будет для тебя. Многие вещи на винде просто не работают, либо работают криво.
Если ты будешь делать скрипты на пару минут, то можно и на винде делать.
Аноним 10/02/22 Чтв 03:28:40 2292232 198
>>2292230
Все. Серьезно. Изучи все. Без джанги тоже особо далеко не поедешь, особенно когда тебя поставят перед фактом делать работу на конкретном фреймворке.
У джанги всё из коробки. На фастапи ебля. Да, она чуть быстре, но и джангу можно на asgi сервера запустить и будет работать вполне быстро, ненамного уступая фастапи. К тому же она понемногу движется в сторону асинхронности, что не может не радовать.
Аноним 10/02/22 Чтв 03:31:40 2292233 199
>>2292231
> Если ты будешь делать скрипты на пару минут, то можно и на винде делать.
Я ещё не знаю, чем я буду заниматься, скорее всего какие-то скрипты писать для teamcenter, если ты вообще про такое слышал.
Может быть, нас пересадят с ансиса на что-то другое и там нужно будет код писать на питоне, я не знаю пока.
На работе у меня точно есть только винда и ноутпад++ и ничего не будет другого, поэтому даже не вижу смысла пробовать.
Аноним 10/02/22 Чтв 03:37:58 2292234 200
>>2292233
А, ну тогда лучше на винде остаться, может матлаб ещё там у вас есть
Аноним 10/02/22 Чтв 03:38:26 2292235 201
>>2292232
Пасяб.
А поднимать приложуху на чем?
Слышал про gunicorn(пердикс-вариант) и на докере(для людей, которые еще не бегают лечить простатит).
Вопрос по докеру:
Я могу так сделать:
1. Я могу арендовать vps
2. Залить туда контейнер в докере
3. Запустить докер, чтобы он обрабатывал запросы
4. На впс купить белый ип, выделить порт
5. Купить доменное имя для vps

Я новый ньюфаг, так что спокойно, без агрессии.
Аноним 10/02/22 Чтв 04:11:52 2292241 202
1568580906416.PNG 18Кб, 626x471
626x471
>>2292221
Ладно, сделал что хотели. Но у меня тупой вопрос ещё.
Если вопрос зачем мне sys, то я им выхожу, чтоб не считать дискриминант с делением на ноль.

В IDLE Shell код нормально работает, запускается вроде всё даже ничего. Но если запустить просто сам файл питона, то после ввода параметров в "чёрном" окошке всё закрывается сразу. Это так и надо?
Аноним 10/02/22 Чтв 04:15:58 2292243 203
>>2292241
Скажи, что ты троллишь.
Как ты сях умудрялся писать?
Аноним 10/02/22 Чтв 04:17:02 2292244 204
>>2292235
У тебя какая-то неполная, картина. "Пердикс" вариант - стандарт.

Докер это просто контейнер, установщик всего говна который в нем прописан. Запрос сначала поступает на прокси типа nginx, куда сертификаты ещё прикручиваются, как правило. Потом это идёт на сам инстанс сервера тот же gunicorn для wsgi, либо asgi с uvicorn воркерами, который уже запускает и работает с твоим приложением. Тут многоуровневая система, чтоб запустить с одной кнопки, надо настроить её.
Аноним 10/02/22 Чтв 04:20:18 2292245 205
>>2292243
На сях я умудрялся писать давно и в основном лабы. А по работе я писал APDL скрипты, они тупые совсем.
Ну так серьёзно, ответь и я пойду спать, завтра выписываться с больничного.
Аноним 10/02/22 Чтв 04:21:02 2292246 206
>>2292244
Во всяком случае, в проде используется именно это. Контейнеры запускает, обновляет и тп кто-то типа дженкинса, который подтягивает код с репозитория. Например, решил ты обновить свой говнокод, запушил в репу, а дженкинс увидит это, остановит, обновит и перезапустит контейнер
Аноним 10/02/22 Чтв 10:53:00 2292352 207
>>2292244
Нахуй uvicorn с его чсвшными мейнтейнерами, когда есть nginx/unit?
Аноним 10/02/22 Чтв 10:57:52 2292359 208
>>2292352
А что в gunicorn из коробки не работает?
Аноним 10/02/22 Чтв 11:11:19 2292368 209
>>2292359
Речь была про uvicorn, а не gunicorn.
Ну ок.
1) Простая конфигурация,одностраничное описание.
2) Лёгкое обновление конфигурации
3) Мультиязычность, тебе не надо ебаться с различными WSGI
Аноним 10/02/22 Чтв 11:12:16 2292370 210
>>2292359
А ну и wsgi/asgi из коробки. Не надо прокидывать gunicorn->uvicorn.
Аноним 10/02/22 Чтв 11:46:13 2292409 211
>>2292352
Нет там воркеры только uvicorn.
Он запускается так же как и обычный gunicorn только с указанием асинхронного воркера типа gunicorn ....asgi.application -k uvicorn.workers.UvicornWorker.
Аноним 10/02/22 Чтв 12:12:39 2292434 212
>>2292409
Так а нахрена? Получается ты когфиг каждый раз будешь менять в указании команды запуска, ну или в env файле.
Запуск из кода? Кривое решение, а тут у тебя независимое решение с лаконичными настройками, самое то для контейнера
Аноним 10/02/22 Чтв 12:26:41 2292450 213
Аноним 10/02/22 Чтв 12:41:10 2292474 214
>>2292434
Какой конфиг, какой енв. Я написал баш один раз со всем говном который надо запускать и засунул его в докерфайл. Всё.
Аноним 10/02/22 Чтв 13:08:30 2292517 215
Аноны, у меня есть бесконечный процесс, который проверяет сайт на изменения. И я пишу GUI для этого процесса, ну и некоторых других функций

Вот фрагмент кода:
https://ideone.com/CYIZej

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

Я попытался вместо Threading использовать Мультипроцессинг, но он не хочет запускать процесс при одной кнопке, и terminate() по нажатию другой

Может как то через global Stop решить проблему, правда я так понял глобальные переменные это не очень хорошо
Аноним 10/02/22 Чтв 14:00:43 2292587 216
>>2292474
И каждый раз ребилдить, каеф
Аноним 10/02/22 Чтв 14:09:35 2292601 217
>>2292587
Да, ребилдить, потому что как ты иначе перезапустишь контейнер когда дженкинс подтянет репу. Я ж не сам это делаю, всё что я делаю сам - пуш в репу. Всё. Грейсфул шатдаун для того и нужны, если ты об этом. Или ты прямо на ходу без ребилда апдейты ставишь, я не понимаю.
Или ты дефолтные настройки всегда используешь для проектов? Не понимаю к чему это вот всё.
Аноним 10/02/22 Чтв 20:01:34 2293028 218
Продублирую из ньюфаго-треда.

Есть устроившиеся питонисты в треде? Расскажите кем устроились, а то синтаксис + ООП + функциональщину изучил (остались алгоритмы и структуры данных, тестики немного), а куда дальше смотреть - хз. Мат базы нет, так что дата сатанизм и машоб сразу не про меня.

Отписавшим любителям потеребить Питона - заранее спасибо.
Аноним 10/02/22 Чтв 20:25:06 2293059 219
>>2293028
Джанго + DRF пидором иди, очевидно. Только сначала докер выучи докер композ, SQL хотя бы джойны групбаи, и гит чтоб не сильно обосраться с конфликтами.
Аноним 10/02/22 Чтв 20:46:45 2293088 220
>>2293059
Композ ненужон, лишнее нагромождение
Аноним 10/02/22 Чтв 20:48:40 2293091 221
> писать на джанге с nosql
Скажите, что есть вещи хуже, пожалуйста. Я чувствую что с каждым днём становлюсь полным идиотом
Аноним 10/02/22 Чтв 23:40:15 2293272 222
Как вы пишете тесты? Каждый метод тестируете или только те, где может возникнуть ошибка?
Аноним 11/02/22 Птн 00:37:39 2293330 223
photo2022-01-28[...].jpg 62Кб, 1280x1030
1280x1030
Заебался уже.
Создал папку на диске D. Создал в ней .venv.
Активировал скрипт activate.
В консоли теперь пишется (.venv) (словно я в виртуальном окужении).

Запускаю pip install matplotlib, он выводит что такой пакет уже есть на диск C.

Requirement already satisfied: numpy>=1.17 in c:\users... (глобал каталог)

ЧЗХ, если мне он не на диске C нужен а чтобы он в новую виртуалку встал?

Почему эта сучара лезет в глобал проверять список пакетов когда я ей по питонски блядь говорю поставь сука пакет в новую виртуалку?
Аноним 11/02/22 Птн 00:45:33 2293341 224
Аноним 11/02/22 Птн 00:50:52 2293352 225
>>2293330
Венв это не виртуалка. Ставь убунту
Аноним 11/02/22 Птн 00:56:19 2293355 226
>>2293352
Раньше работало и адекватно ставило пакеты в .venv
Теперь даже из .venv пытается ставить в глобал
Аноним 11/02/22 Птн 01:23:57 2293368 227
>>2293355
>>2293352
Разобрался вроде, походу это VSCode где-то пути от старого проекта подцепил.
Через обычную шелл консоль всё нормально ставилось, а через внутреннюю вскодовксую хуёво.
Аноним 11/02/22 Птн 01:39:05 2293381 228
>>2293368
Ну или даже возможно внутри venv-кофигов какой-то конфликт версий, снёс нахер .venv папку, поставил заново и нормально.
Аноним 11/02/22 Птн 13:08:26 2293670 229
Нуко анончики подскажите, как лучше. Есть около 1000 объектов, которые должны обновлять свое состояние раз в некоторое время, выполняя долгий и сложный асинхронный запрос по сети, одни реже, другие чаще - от раза в 10 сек, до раза в 50 минут (это все с использованием asyncio)
Можно написать цикл, который будет эти объекты перебирать и запускать им обновление когда надо, это будет по сути одной задачей. А можно каждому объекту создать по задаче, которая будет дергать обновление сама.
В первом случае код получается сложнее, во втором в целом изящнее, но может в будущем потребоваться костыль. Нет же ничего плохого в том, что бы запускать сотни и тысячи корутин?
Аноним 11/02/22 Птн 13:51:40 2293710 230
>>2285619 (OP)
>>2285619 (OP)
Хелп ребятки змеяки
Есть bytes
b'{"ID":255,"title":"\xf0\xcf\xc5\xc8\xc1\xd4\xd8 \xce\xc1 \xc2\xc1\xda\xd5","description":"\xf3\xdf\xc5\xd3\xd4\xd8 \xd7\xd3\xc5 \xd0\xd2\xc9\xd0\xc1\xd3\xd9 \xce \xc2\xc1\xda\xc5","project_name":"\xf3 \xc2\xcf\xc7\xcf\xcd"}\r\n'
Я знаю что в нём содержится строка {"ID":255,"title":"Поехать на базу","description":"Съесть все припасы н базе","project_name":"С богом"}
Как её можно конвертировать?
Аноним 11/02/22 Птн 14:13:16 2293731 231
>>2290155
Двачую. Работаю на проекте без ревью и нихуя не понимаю, нормально я делаю или нет. Я сам очень тяжело принимаю критику, но понимаю, что без неё здесь никуда
Аноним 11/02/22 Птн 14:40:55 2293753 232
Аноним 11/02/22 Птн 14:45:20 2293757 233
Аноним 11/02/22 Птн 14:59:30 2293771 234
15904355074460.jpg 52Кб, 500x376
500x376
Парни, вкатывальщик в треде, не бейте, лучше обоссыте.
Я не знаю, как здесь принято, может я не по адресу, но тогда пните по адресу пож-та.

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

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

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

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

Можно на английском, даже лучше мб на английском.
Аноним 11/02/22 Птн 15:17:35 2293791 235
Аноним 11/02/22 Птн 15:23:17 2293799 236
>>2293791
О збс, спасибо анончик
Аноним 11/02/22 Птн 15:25:16 2293808 237
>>2293670
>Нет же ничего плохого в том, что бы запускать сотни и тысячи корутин?
Нет.
Аноним 11/02/22 Птн 15:31:09 2293818 238
Всем привет, я ньюфаг, изучаю тут питон, иногда на работе, и использую в общем google cloud shell, но в нем питон 3,7. И я не могу понять, его вообще можно там заапгрейдить или нет? Чет в гугле как-то непонятно.
Аноним 11/02/22 Птн 15:36:03 2293826 239
>>2293818
Зачем тебе распоследний, если ты изучаешь только?
3.7 вполне норм ещё.
Аноним 11/02/22 Птн 15:38:21 2293829 240
>>2293826
Ну хз, у меня в задании написано, что надо использовать 3,8+ потому что там наверное джанго и что-нибудь не будет работать мб.
Аноним 11/02/22 Птн 15:45:53 2293842 241
>>2293826
Ну да вот джанго в моем проекте говорит, что ему надо 3.8
Аноним 11/02/22 Птн 15:48:39 2293846 242
Ну или мб есть ещё какой-нибудь такой облачный сервис, где можно код писать в браузере бесплатно?
Аноним 11/02/22 Птн 17:01:00 2293967 243
>>2293829
Да, 3.7 это кал, нужно 3.8 потому что там завезли f-strings и джанго там асинхронный
Аноним 11/02/22 Птн 17:04:38 2293970 244
>>2293967
Стринги в 3.6, про другое не в курсе.
Аноним 11/02/22 Птн 17:07:09 2293973 245
Аноним 11/02/22 Птн 17:19:26 2293992 246
Безымянный.png 27Кб, 1331x455
1331x455
>>2293818

Блин, ну или скажите, как сделать так чтоб поэтри создал виртуальное окружение в проекте, если оно уже создано не в проекте, а в какой-то залупе?
Я просто на рабочем компе забыл настроить virtualenvs.in-project и он выводит эту хуйню. Ну сейчас я уже настроил, но один хрен то же самое. Поэтому я и хотел в облаке писать, потому что тут постоянно какое-то говно. Плюс ещё нихуя в PATH не добавляется.

А в облаке я не могу установить всё потому что там питон не 3,8. В итоге уже целый день пержу в стул, жопа горит. Постоянно трачу 90% времени на настраивание всякого говна.
Аноним 11/02/22 Птн 17:23:07 2294001 247
>>2293992
Ты на гугловском облаке в виртуалку поставил шинду? Ну и ебанько, лол.
На линупсе бы обновил в пару строчек небось.
Аноним 11/02/22 Птн 17:23:10 2294002 248
>>2293992
У тебя вообще в virtualenv питон 3.9
Аноним 11/02/22 Птн 17:26:06 2294010 249
>>2294001
>>2294002
Да епта, скрин с компа рабочего, тут винда и не работает поэтри. А в облаке старый питон.
Аноним 11/02/22 Птн 17:31:15 2294020 250
Аноним 11/02/22 Птн 17:48:39 2294050 251
Как загрузить большой файл в хранилище bitrix24 через либу requests? метод disk_storage_uploadfile ключ параметра fileContent open('largefile.txt', rb) сервер отклоняет запрос
Аноним 11/02/22 Птн 18:10:33 2294076 252
>>2294050
Почитать доки к одному и к другому, очевидно.
Аноним 11/02/22 Птн 18:15:52 2294083 253
>>2294020
Я чет снес всю папку .poetry думал она снова появится если переустановить пакет, а чет не появилась)) Ошибка никуда не делась, но папки, где лежит этот файл, который надо редактировать, нет, лел.
Аноним 11/02/22 Птн 18:19:42 2294089 254
>>2294020
Ну кстати папки ...AppData/Local/pypoetry, которая в ошибке, тоже вообще нет.
Аноним 11/02/22 Птн 18:29:46 2294109 255
>>2294020
Да, почитал в общем ещё схожие вопросы, пиздец ебля. Нахуй надо, дома уже попишу завтра.
Аноним 11/02/22 Птн 18:37:35 2294123 256
>>2294109
Епта, я пофиксил просто создав виртуальное окружение вручную через python -m venv и поэтри стало туда устанавливаться.
Аноним 11/02/22 Птн 19:36:55 2294224 257
Прикинте у нас в команде есть чувак, который сипайтон в гдб дэюажит. Читаю его инвестигейт бага. А там такое. Он в кишки интрпретатора залес. Питоновские фреймы вынул. Увидел, что код отправил успешный хттп запрос лоадбалансеру и не смог отправить второй. Нашёл, что в рантайме завис сокет, через который второй запрос шёл. Посмтрле его файловый дискриптер потом уже без гдб стандартными средствами линукса глянул с кем этот сокет сейчас обащается. А там реально повисший эстэблишт сокет был. Он пошёл в этот лоадабалсен проверять почему он с сокетом не взаимодействует. А в этом лоадабансере на входящем порту, который был указа у клиента нет открытого тсп соединения. Он потом начал смотреть шурналы и логи этиго лоадбалансера на хосте. А ещё забыл расказать, что он перед этим выдашил какую-то структуру из памяти сипайтона, где был таймштамп когда клиент начала по этому сокеду разговаривать. Вот это время он нашёл в логах. Увидел, что активная амфора лоадбалансера падала и виртуальный айпи времено переключался на запасную амфору, а потом как создалась новая мастер амфора, то айпишник снова вернулся на новый мастер. И в это время питоновский процесс клиента общался по хттп через этот лоад балансер и сокет остался, а айпишн ик поменялся и новая амфора не знала про это открытое соединение, а стара упала не разорва его. Вот такой крутой инвестигейт чувак провёл. Я бы уже обострался на этапе выяснить точное время хттп запроса если его в логах нет. А он молодец всё дебагером достал. А вы так умеете?
Аноним 11/02/22 Птн 19:46:35 2294238 258
>>2294224
Пару принтов добавить и все пофиксим, пиздец вы там наркоманы.
Аноним 11/02/22 Птн 19:51:32 2294245 259
>>2294238
Этот процесс на ноде был полгода запущен и нельзя его убивать т.к. ha подумает, что с нодой что не так и переназначит её роли на другие ноды и возможно ребутнёт её.
Аноним 11/02/22 Птн 19:54:32 2294249 260
>>2294224
Вот поэтому я не программист. Я никто. Но лучше быть никем чем вот этим.
Аноним 11/02/22 Птн 19:55:06 2294250 261
>>2294224
Сколько платят такому чуваку?
Аноним 11/02/22 Птн 20:00:05 2294257 262
>>2294250
Точно больше 5к евро (это минималка была для релокейта, который он в прошлом году получил), но на сколько больше не знаю. Может на пару сотен может на несколько тысяч
Аноним 11/02/22 Птн 20:12:21 2294292 263
image.png 127Кб, 1416x267
1416x267
image.png 75Кб, 2290x285
2290x285
Сап, анончики, такой вопрос.

Хожу в БД (mysql) и выкачиваю оттуда данные, потом кладу их в ксв. Все бы ничего, но в некоторых полях извлекаемых таблиц лежат жсоны с переносом на новую строку или просто многостроковые тексты с переносом строки.
В результате при записи данных в ксв получается смещение записей на одну влево. Как-то с этим можно побороться простым способом, или надо городить обработчики, которые будут вырезать \n\n из получаемых данных?

На скринах внешний вид в базе и после записи в csv.
Аноним 11/02/22 Птн 20:15:36 2294297 264
>>2294292
Если значение в кавычках, то должно быть ок.
Посмотри в опциях к врайтеру.
Аноним 11/02/22 Птн 20:25:13 2294306 265
>>2294297
Кавычки, как я понимаю, добавляются уже на стадии обработки питоном, т.к. в базе все значения лежат без кавычек.
Сейчас попробовал поиграться с параметрами escapechar и csv.QUOTE_NONE, но безрезультатно. В какую сторону еще покопать?
Аноним 11/02/22 Птн 20:36:19 2294332 266
Аноним 11/02/22 Птн 21:03:23 2294390 267
image.png 5Кб, 467x214
467x214
Скачал qt, создал проект pyside пытаюсь редактировать файл qml через designer выскакивает ошибОчка
Аноним 11/02/22 Птн 21:16:19 2294408 268
>>2294332
А, это потому что я обосрался, сорри.
Вот так там сделан переход на новую строку:
We've found a new treasure!\r\n\r\n%param1% Treasure Hunters joined the search and helped us find

Я хз, как убрать \r\n\r\n. Можно эту последовательность как-то заэкранировать от питона?
Аноним 11/02/22 Птн 21:47:53 2294465 269
>>2294408
Питону-то похуй, это эксель разрывает строки, если больше одного ньюлайна, судя по всему. Цсв вообще довольно всратый формат в плане стандартизации.
Аноним 11/02/22 Птн 22:00:27 2294480 270
>>2294465
Хотя не, вру, работает такой вариант. Возможно у тебя что-то другое ломает формат. Убирай последовательно куски от этого значения и смотри.
https://ideone.com/uUTXCt
Аноним 11/02/22 Птн 23:04:45 2294521 271
>>2293670
А можно сделать одну периодическую задачу которая будет создавать отдельнын задачи для остальных.
Вообще, периодическое обновление сам по себе костыль. Привяжи их к какому-нибудь методу и всё. Это сейчас оно выглядит логичным, а в будущем просто наебнется.
Аноним 11/02/22 Птн 23:07:04 2294523 272
>>2293731
Так это тоже неплохо. Отсутсвие ревью это, как правило, говорит о том что ты будешь поддерживать свой проект и вспоминать самого себя добрым словом
Аноним 11/02/22 Птн 23:10:28 2294531 273
А мне хуй кто поможет, уже два треда
Аноним 11/02/22 Птн 23:21:52 2294535 274
>>2294245
Для сервиса который-нельзя-ребутать надо логирование для каждой строчки делать. Не придётся потом сидеть и ядро линукса на транзисторы разбирать.
Любой хороший спец решит задачу максимально простым способом, а не реверсинжинирингом
Аноним 12/02/22 Суб 00:16:05 2294567 275
Касаемо Qt.
Как же бесит, что для каждого чиха я должен импортировать хуеву тучу классов, которые часто являются лишь обёртками над перечислениями. Вместо того, чтобы написать
widget.setSizePolicy('fixed', 'expanding')
я должен писать в импортах:
from PySide6.QtWidgets import QSizePolicy
и потом написать:
widget.setSizePolicy(QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Expandinf))
Ну какого хуя
Аноним 12/02/22 Суб 00:21:27 2294571 276
>>2294567
Ну, ну, от жса ты тогда вообще умом тронешься
Аноним 12/02/22 Суб 01:08:23 2294584 277
>>2294535
В дебаг режиме там есть трейс логи. Но мы его только в тестах испольщуем т.к. там за лень несколько гигов сжатых zst логов. Тут надо сложный ротейт делать чтобы у клиентов место на дисках не кончилось. Может в бэклоге и есть на это таска, но пока клиенты на инфо логах сидят.
Аноним 12/02/22 Суб 01:29:58 2294589 278
Аноним 12/02/22 Суб 06:29:52 2294617 279
Почаны, у меня немного наркоманский вопрос, но все же.

Как в однострочном решении написать так, чтобы строка, которая поступает на инпут, использовалась два раза? Видел такое решение через лямбда-функции, но не уверен.

Грубо говоря там чувак в одной строке в 2 местах в коде использовал введенную строку, и все это в рамках однострочника (решение в одну строку).
Аноним 12/02/22 Суб 07:01:21 2294620 280
Аноним 12/02/22 Суб 08:29:49 2294624 281
Аноны, поясните за pytest следующее:
Что конкретно нужно покрывать тестами в веб-приложении типа CRUD? Классы и функции из views? И какого плана должны быть тесты, что-то типа проверки http запроса - assert response_code == 200 ?
Аноним 12/02/22 Суб 09:01:56 2294641 282
>>2294620
Типа задача:

Напишите программу, которая вычисляет долю студентов, получивших оценку A.

Используется пятибальная система оценивания с оценками A, B, C, D, F.

Формат ввода:
Строка, в которой через пробел записаны оценки студентов. Оценок всегда не меньше одной.

Формат вывода:
Дробное число с ровно двумя знаками после запятой.

Sample Input 1:
F B A A B C A D

Sample Output 1:
0.38

Sample Input 2:
B C B

Sample Output 2:
0.00

Sample Input 3:
A D

Sample Output 3:
0.5

Решение:

string_operated = input().split()
print('{0:.2f}'.format(string_operated.count("A") / len(string_operated)))

НО!

Я точно знаю что такую задачу можно решить в 1 строку, без занесения инпута в отдельную переменную. Вроде бы видел как такое решали через лямбда-функции. Может кто-то подскажет?
Аноним 12/02/22 Суб 09:08:33 2294644 283
>>2293088
Ну да если пердолишь свою джангу под стол, то и композ и не нужен. Да и докер не нужен, пусть кому интересно сами пердолятся с установкой зависимостей.
Аноним 12/02/22 Суб 09:19:11 2294646 284
>>2294624
http-коды да. Если что-то меняется в базе запросом, то после теста запроса лезешь в базу и чекаешь изменения. Если загружается файл, то лезешь в директорию и чекаешь добавился ли он и.т.д.
Аноним 12/02/22 Суб 09:56:48 2294652 285
>>2294641
Можно завернуть в компрехешнен, у которого свой скоуп в однострочнике, но это пиздец изврат. Лямбды точно нет.
https://ideone.com/0ZVWMV
Аноним 12/02/22 Суб 10:03:57 2294656 286
Аноним 12/02/22 Суб 12:02:39 2294746 287
image.png 64Кб, 700x405
700x405
Почему PyCharm не видит, что у класса QMainWindow есть функция windowTitleChanged? Пользуюсь PySide6, установил в локальную папку
Аноним 12/02/22 Суб 15:23:53 2294944 288
image.png 204Кб, 1080x1015
1080x1015
Лол блядь
Аноним 12/02/22 Суб 15:48:03 2294962 289
Хай двач, хотелось бы услышать ваше мнение.

Я сейчас работаю на фрилансе, зарабатываю 1к баксов +-, джун.

Проблема в том, что мне бы хотелось нарабатывать опыт в компаниях, но мне никто не предлагает 1000+ баксов, а смысл мне ниже идти, если я на фрилансе работаю по 3-4 часа в день и имею эти же 1000, а на работе за 500 баксов 8 часов, ещё наверно и овертайм будет, нахуя мне такая работа нужна.

Вопрос в том, стоит ли ставить себе приставку мидл и говорить типо - У меня и так опыт с фриланса,берите.

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

Проблема фриланса в том, что я не уверен что развиваюсь, вроде постепенно больше клиентов = больше заказов = больше денег, но таски одни и те же.
Аноним 12/02/22 Суб 15:53:30 2294965 290
>>2294624
Для тестирования API лучше использовать vcrpy
Аноним 12/02/22 Суб 16:10:07 2294978 291
>>2294962
>Проблема фриланса в том, что я не уверен что развиваюсь
Вот видишь, ты сам ответил на свой вопрос.
Опыт тоже стоит денег - плати за него, как подмастерья мастерам в гильдиях.
Аноним 12/02/22 Суб 16:15:46 2294985 292
>>2294962
На фрилансе есть фултайм удаленка в командах, пиздуй туда.
Аноним 12/02/22 Суб 17:04:56 2295037 293
Делаю сайт,PyCharm,Django.Хочу указать пути для статических файлов.
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Выдаёт ошибку:
'module' object is not callable
Гуглил,пришёл к выводу,что проблема в том,что папка,в которой лежат настройки,называется project,как и сам проект.Так ли это,и если так,то что делать?Если нет,то в чём проблема?

Аноним 12/02/22 Суб 18:44:27 2295173 294
Не понимаю, объясните пожалуйста
На кодварсе задача, суть в том, что дается число и нужно вернуть число, но с цифрами в порядке убывания.
Решил с таким алгоритмом:
перевод в строку - строка в массив - массив в целочисленный масив - сортировка - преобразование в число.

Но нашел такое решение:
int("".join(sorted(str(num), reverse=True)))

Не могу понять что тут происходит, ибо функция sorted по сути же не работает со строками, и тут не используется .split() и нет перевода в массив.
Аноним 12/02/22 Суб 18:49:39 2295180 295
>>2295173
Почему не работает, строка итерабля, ты можешь по ней итерироваться. Ну а сортед возвращает сортированный список.
Аноним 12/02/22 Суб 19:37:42 2295234 296
>>2295037
В джанге надо миграцию для статикфайлов делать отдельную.
Вообще, статикфайлы всегда были головной болью в проде. Кучу разрешений делать чтоб просто их увидеть, про жс скрипты вообще молчу.
Аноним 12/02/22 Суб 19:42:36 2295241 297
>>2295180
То что строка итерабля в курсах и сначала пытался отсортировать строку, но мне возвращало исключение
'str' object has no attribute 'sorted'
Аноним 12/02/22 Суб 19:47:21 2295246 298
>>2295241
У списка есть сорт, потому что он мутабельный. А сортед сортирует любую итераблю и создает новый отсортированный список из нее.
Аноним 12/02/22 Суб 20:01:35 2295266 299
>>2295246
А, ебать, я понял. И .join() там юзается как раз из-за этого
>А сортед сортирует любую итераблю и создает новый отсортированный список из нее.


Спасибо за объяснение
Аноним 12/02/22 Суб 20:04:12 2295269 300
>>2295266
И типа если мне надо будет отсортировать строку, то я бузу юзать метод join с учетом того, что мне вернется новый список. Хз как верна эта логика, но хоть как-то понятно
Аноним 12/02/22 Суб 20:09:25 2295280 301
>>2295269
Ага.
Вообще, привыкай юзать интерактивный шелл для разных проверочек и упражнений, это очень удобно.
Аноним 12/02/22 Суб 21:34:42 2295395 302
Анон, сейчас только начал вкатываться в веб-разработку на фласке (до этого на питоне писал только автоматизации и аналитику), не совсем понимаю - а в чем разница между использованием фласка с джинджей и хтмл-темплейтами и беком на питоне + фронтом на жс? Исходя из того, что я понял, фласк вроде как позволяет оживить страницу наравне с жс, или нет?
Аноним 12/02/22 Суб 21:41:57 2295406 303
>>2295395
Можно генерировать все на беке, можно сделать апи на беке и морду на фронте. Разные подходы.
12/02/22 Суб 21:45:43 2295412 304
>>2295406
Хм. Интуиция подсказывает, что генерация на беке безопаснее, но медленнее.
А как вообще понять, какой подход использовать? И есть ли такие ситуации, когда обязательно нужен JS, или в принципе фласк полностью может его заменить?
Аноним 12/02/22 Суб 21:52:34 2295421 305
Аноним 12/02/22 Суб 21:55:14 2295423 306
>>2295395
Либо на бэке ты генеришь готовый статичный хтмл, соответственно будет тратиться время клиентом (браузером клиента) на обработку этого хтмл (построения дома), если у тебя там какая-нить таблица на тысячи строк. Вся динамика через обновление страницы.
Либо на бэке ты генеришь жсоны с данными через апи, а на фронте с помощью якс/фетч долбишься в апи и отрисовываешь эти данные как тебе надо. Вся динамика на джаваскрипте без обновления страницы.
Аноним 12/02/22 Суб 22:39:59 2295461 307
Аноны, есть сервер на 3м Джанго, в респонсе нужно установить куки. Но почему-то параметры samesite="None" и secure=True оно просто игнорирует, кто-нибудь сталкивался с этим? Я знаю что был баг, где нельзя было поставить samesite None, но версия джанго где эта хуйня уже пофикшена, но при этом в респонсе уже приходит Set-Cookie без этих параметров.
Аноним 12/02/22 Суб 22:53:44 2295474 308
>>2295412
Захочешь к себе на страницу прикрутить сторонний сервис, а там либы на жсе.
Аноним 12/02/22 Суб 23:33:54 2295512 309
Как стать хорошим специалистом
Аноним 12/02/22 Суб 23:42:17 2295516 310
>>2295512
Надо хорошо программировать.
Аноним 13/02/22 Вск 00:04:45 2295528 311
>>2295512

>Надо хорошо программировать.

необязательно

нужно надрочить собесы
вести твиттер
писать на хабр и медиум
выступать на митапах и конфах

Аноним 13/02/22 Вск 00:09:18 2295533 312
>>2295528
сделать трансгендерный переход и покрасить волосы в кислотный цвет
Аноним 13/02/22 Вск 00:21:04 2295546 313
Аноним 13/02/22 Вск 00:21:35 2295547 314
>>2294652
>>2294656

Во, примерно такое я и видел. Реально изврат, но спасибо.
Аноним 13/02/22 Вск 03:11:53 2295611 315
Имеет ли смысл начинать вкатываться в ООП, если изучал только базовые типы данных и операции над ними и функциональщину? Я проебал темы про декораторы, генераторы, вот это вот все. Генераторы еще более-менее понятны, а декораторы вообще хуй знает, что такое.
Аноним 13/02/22 Вск 09:02:16 2295646 316
>>2295611
а че там понимать в декораторах? Я не питонист ни разу, но достаточно посмотреть на пример кода с декоратором чтобы понять что он оборачивает собой вызов функции и что то делает либо с ее результатом, либо до ее выполнения (можно как middleware использовать, например, для проверки допустимости вызова функции)
Аноним 13/02/22 Вск 09:34:09 2295647 317
>>2295646
Вкатунам непонятны и намного более простые концепции.
Аноним 13/02/22 Вск 10:45:49 2295679 318
>>2295395
Нихуя он не позволяет оживлять, потому что шаблонные языки, которые просто нахуяривают синтаксис поверх уёбищного синтаксиса html - говно. Темплейты позволяют делать сервер-сайд рендер, который очень важен для SEO. Но на этом их преимущества заканчиваются. Зато есть ворох проблем, в виде отсутствия тулинга (большинство теймплейтов по сути один сплошной строчный литерал), засирания контекста (что просто охуенно заходит с предыдущим пунктом), засиранием ответственности (чтобы подредактировать шаблон тебе нужно знать весь серверно-клиентский стэк проекта). В конечном счёте это выливается в ебическую привязку вротэнд стэка к серверу, а значит никаких тебе соевых фреймворков в будущем. Самый запущенный пример - рубирельсы со своими шаблонами, которые требуют знания жиквери, в 2022-м году.
Так что если вкатун, то сразу раздели сервер и клиент на отдельные папки, которые связаны разве что общим конфигом.
Аноним 13/02/22 Вск 13:43:32 2295828 319
>>2295646
Непонятно, для чего и в каких случаях это можно использовать.
Аноним 13/02/22 Вск 14:15:45 2295858 320
>>2295611
Генератор - это функция, не связанная с ООП. Декоратор - это один из шаблонов проектирования. Тебе нужно выучить их всех, иначе хуйня будет с ООП.
Аноним 13/02/22 Вск 15:19:24 2295908 321
>>2295679
Мне всегда было интересно, а зачем серверсайд рендер нужен? Вон, в той же джанге, например, там же полфреймворка этим занимается. Зачем? Как это работает и чем лучше жса?
Аноним 13/02/22 Вск 15:22:30 2295912 322
>>2295828
Много где. Например, обернуть функцию в try catch или логгирование подкрутить. Ты ж не будешь её переделывать, а просто добавишь декоратор одной строчкой. В celery можно декоратором обозначить таски. Да дохуя всего.
Декоратор это обертка над функцией. Во всех языках есть обертки над функциями, но тут они выглядят вот так.
Аноним 13/02/22 Вск 15:24:05 2295916 323
>>2295908
Потому что так делали всю жизнь до развития жс для этого меньше десяти лет назад.
Аноним 13/02/22 Вск 15:25:34 2295918 324
>>2295916
Т.е, это просто пережиток что-ли?
Аноним 13/02/22 Вск 15:26:17 2295921 325
>>2295918
Это стандартный метод, рендер на жс это новомодная хипстота.
Аноним 13/02/22 Вск 15:27:32 2295922 326
>>2295921
Но эта хипстота везде.
Аноним 13/02/22 Вск 15:29:56 2295926 327
>>2295922
Ее активно перенимают высоконагруженные сайты, чтобы переложить рендер с себя на клиента, а так далеко не везде.
Аноним 13/02/22 Вск 15:32:42 2295928 328
>>2295926
Если проблема только в этом, почему бы не сделать отдельную прокладку на сервере чисто для рендера, вместо жса?
Аноним 13/02/22 Вск 15:37:52 2295934 329
Что за хуйня с поддержкой Qt в PyCharm? Установил PySide6. Так мне IDE не подсказывает названия сигналов, и пишет, что такого аттрибута нет (но при запуске всё работает). Также и с параметрами для конструкторов виджетов. Документация практически не работает, при наведении на имя не выскакивает даже ссылки на страницу в Интернете об этом классе/методе.
Аноним 13/02/22 Вск 15:38:31 2295935 330
>>2295928
Всё равно ты делаешь это у себя, а так это делается в браузере юзера. Умножь это на дохуллион реквестов у больших сайтах, вот он и профит.
Аноним 13/02/22 Вск 16:12:23 2295980 331
>>2295934
Выкинь пчарс и переходи на вскод
Аноним 13/02/22 Вск 16:16:18 2295985 332
>>2295679
Не то чтобы вкатун, я так вообще аналитик, просто хочу поднять веб-страницу, где заказчики аналитики будут просто нажимать кнопку, запускать скрипт и получать результат. Сейчас они тыкают этим меня, и я какое-то время думал просто зашарить им код, чтобы они его запускали сами, но там тоже свои проблемы - надо объяснить, как запустить интерпретатор питона, доустановить зависимости, не дай бог скрипт обновится. Короче мне было бы проще просто поднять страничку с кнопкой и все. И вот я думаю - кнопку "скачать отчет" можно сделать как на уровне фласка, так и жаваскриптом. Но мучиться с жс никакого желания нет, уже хватило на предыдущем месте работы.
Аноним 13/02/22 Вск 16:27:03 2295998 333
Аноним 13/02/22 Вск 17:17:32 2296062 334
Может кто подсказать, зачем нужна библиотека django-bootstrap? Из документации я чет не очень понял, че она делает, кроме как рендерит хтмл теги при помощи джанго тегов. И чё типа всё? Прост у меня в учебном проектике написано использовать эту библиотеку и я чет не понимаю, мне тупо надо будет, например, вместо того чтобы просто скопировать какой-то шаблон или элемент с сайта бутстрапа, ещё ебаться, заменяя все теги на джанго теги чтоб получилось то же самое? И зачем? Или это дает какие-то приемущества?
Аноним 13/02/22 Вск 17:17:35 2296063 335
>>2295985
Так если ты даже петухонить не умеешь, на жабаскрипте кнопку "Скачать" сделать легче, чем ебаться с формой в джанге/фласке.
Аноним 13/02/22 Вск 17:24:48 2296072 336
>>2296062
Bootstrap это ui библиотека, в ней за тебя уже настроены css-стили и под них настроены css-классы. Очевидно django-bootstrap нужна, чтобы при рендеринге хтмл вставлять классы с помощью шаблонизатора, а не самому прописывать.
Аноним 13/02/22 Вск 17:34:50 2296085 337
>>2296072
Да я знаю че такое бустрап. Ну так мне нужно будет прописывать эти классы в шаблонизаторе точно также, не?
Аноним 13/02/22 Вск 17:51:55 2296101 338
Не могу разобраться в задаче, суть в том что в строке слова в хаотичном порядке, в каждом слове цифра, которая обозначает порядок этого слова в предложении. Нужно вернуть строку с правильным порядком слов.

Что сделал я: создал словарь(цифры от 1-9), ищу в слове совпадение с ключом и возвращаю цифру как int, а не изначально str.

Дальше хуй знает, я думал создать пустой лист и добавлять слово по индексу исходя из цифры в нем через insert, но не особо получается.
Аноним 13/02/22 Вск 17:57:19 2296108 339
>>2296101
Думал использовать сортировку, но так как там строка сортируется по первой букве, а цифры игнорируются. Не понимаю как сделать сортировку конкретно по цифре.
Аноним 13/02/22 Вск 17:57:29 2296109 340
>>2296101
Покидай входных данных
Аноним 13/02/22 Вск 17:59:12 2296112 341
>>2296109
"is2 Thi1s T4est 3a" --> "Thi1s is2 3a T4est"
"4of Fo1r pe6ople g3ood th5e the2" --> "Fo1r the2 g3ood 4of th5e pe6ople"

Аноним 13/02/22 Вск 18:16:52 2296133 342
Аноним 13/02/22 Вск 18:20:24 2296139 343
>>2296101
сплит, сорт, джойн. Но нет элегантного способа извлечь цифру для сорта.
Аноним 13/02/22 Вск 18:22:31 2296142 344
>>2296133
Это же дрочерская задачка, либы юзать неспортивно.
Аноним 13/02/22 Вск 18:23:49 2296145 345
>>2296133
Хотя, если у тебя больше 10 слов, то не так красиво будет и придется предваритьельно извлекать числа и потом объединять
Аноним 13/02/22 Вск 18:24:20 2296146 346
>>2296142
>Это же дрочерская задачка, либы юзать неспортивно.
Схуяли?
Аноним 13/02/22 Вск 18:26:42 2296149 347
>>2296133
Спасибо, но я если честно особо нихуя не понял из твоего решения. Но решил втупую, через циклы и условия
Аноним 13/02/22 Вск 18:33:54 2296157 348
>>2296146
Потому что цель сделать красиво и изъебнуться, а не просто решить любым способом.

Я пока придумал так, но хуевасто, еще помучаю.
https://ideone.com/A7RcPO
Аноним 13/02/22 Вск 18:35:41 2296161 349
>>2296157
>Потому что цель сделать красиво и изъебнуться

>однострочник
>красиво
Аноним 13/02/22 Вск 18:39:45 2296170 350
>>2296161
Однострочник может быть красивым, если изъебнуться, это и есть суть дрочерства на сайтах с задачками.
Ну а лучше ли нахуевертить циклов или перегруженный однострочник это уже вопрос личных предпочтений и вкуса.
Аноним 13/02/22 Вск 18:49:43 2296181 351
>>2296157
Не работает для строк где больше 9 слов
Аноним 13/02/22 Вск 18:56:17 2296184 352
>>2296181
Ну можно добавить джойн и инт в лямбду, но мне в любом случае не нравится это решение, хотя в этом подходе другого вроде нет.
Аноним 13/02/22 Вск 18:56:53 2296185 353
Аноним 13/02/22 Вск 19:17:59 2296208 354
Аноним 13/02/22 Вск 20:05:52 2296260 355
>>2295908
Потому что поисковые движки срали на новомодный клиент-сайд рендер, им разметку сразу с запросом подавай.
>>2295928
>почему бы не сделать отдельную прокладку на сервере чисто для рендера
Шаблоны ты хотел сказать?
>вместо жса
"Вместо жса" в вебе ты только костыль сможешь сделать.
>>2295935
Кстати даже условные твиттеро-фейсбуки обрабатывают запрос, чтобы влепить метатэги, а не отдают голый html на все страницы.
>>2295985
Суть в том, что ты сейчас хочешь поднять страничку с кнопкой. А потом тебе захочется поднять ещё страничку и добавить динамики. А потом ещё и ещё. И так ты окажешься в ситуации, когда у тебя 100+ шаблонов страниц, написанных на DSL, для рефакторинга которых тебе чуть ли не помидор понадобится. Но помидор не будет ковырять шаблоны даже за жирные шекели.
Аноним 13/02/22 Вск 20:30:48 2296279 356
>>2295980
Спасибо за совет. VSCode видит сигналы и подрубает подсказки для аргументов. Не знаю, почему такого нет в PyCharm, который вообще-то стоит денег
Аноним 13/02/22 Вск 21:22:52 2296335 357
Питон есть на макоси искаропки? И каких версий?
Аноним 13/02/22 Вск 21:37:42 2296349 358
>>2296101
In [77]: def sort_string(input_str: str):
...: return " ".join(sorted(input_str.split(" "), key=lambda word: int("".join(c for c in
...: word if c.isnumeric()))))
...:

In [78]: sort_string("is21 Thi12s T4est 23a")
Out[78]: 'T4est Thi12s is21 23a'

In [79]: sort_string("is21 Thi12s T4est 23a")
Out[79]: 'T4est Thi12s is21 23a'
Аноним 13/02/22 Вск 23:55:07 2296468 359
Помогите с пагинацией в джанго.
Есть ListView. Хочу в зависимости от объектов в queryset менять размер пагинации.
Т.е. первая страница - пагинация через 14 элементов, вторая например через 16 элементов.
Как такое провернуть?
Аноним 14/02/22 Пнд 00:08:22 2296479 360
>>2296085
Ну так вместо дивов с форм-контрол ты будешь писать в башлоне бутстрап-форм. А вот если тебе уже нужны кастомные стили, то руками всё равно придётся переопределять и импортить.
Аноним 14/02/22 Пнд 00:22:43 2296484 361
>>2296479
Ну я так глянул ещё в документацию, походу да, в основном в формах разница, а всё остальное также. Я в формах ещё не особо поразбирался прост
Аноним 14/02/22 Пнд 00:50:21 2296496 362
Написал програмулину для решения кубического уравнения.

И чёт оно не пашет. ЧЯДНТ?


import math

print("Ввод абсц:")
a=float(input("a="))
b=float(input("b="))
c=float(input("c="))
d=float(input("d="))
print(Cardano(a,b,c,d))


def Cardano(a, b, c, d):
if a == 0:
return 0
res = []
p = (3 a c - b b) / 3 a 2
q = (2 math.pow(b, 3) - 9 a b c + 27 a a d) / 27 math.pow(a, 3)
D = (q / 2)
2 + (p / 3) 3

if D < 0:
if q < 0:
fi = math.arctg(math.sqrt(-D))
elif q > 0:
fi = math.arctg(math.sqrt(-D)) + math.pi
else:
fi = math.pi / 2
y1 = 2 math.sqrt(-p / 3) math.cos(fi / 3)
y2 = 2 math.sqrt(-p / 3) math.cos(fi / 3 + 2 math.pi / 3)
y3 = 2
math.sqrt(-p / 3) math.cos(fi / 3 + 4 math.pi / 3)
res.append(y1 - b / 3 a)
res.append(y2 - b / 3
a)
res.append(y3 - b / 3 * a)

return res


print(Cardano(1, 6, 3, -10))
Аноним 14/02/22 Пнд 00:50:53 2296497 363
>>2296496
Ага, не пашет. И соде тут нету.
Аноним 14/02/22 Пнд 00:52:36 2296498 364
>>2296496
> Написал програмулину для решения кубического уравнения.
Короче, просто на пастебин закину
https://pastebin.com/pJ905Rn2
Аноним 14/02/22 Пнд 01:16:21 2296514 365
>>2296498
А че не пашет? Считает неправильно типа? У меня запустилось, только первый принт убрать надо было.
Аноним 14/02/22 Пнд 01:18:50 2296515 366
>>2296496
> решать алгебраическое уравнение НЕ методом минимальной резольвенты в поле квартернионов
Кринжанул, спасибо
Аноним 14/02/22 Пнд 09:33:23 2296596 367
>>2296515
> решать алгебраическое уравнение НЕ методом минимальной резольвенты в поле квартернионов
Я таких слов не знаю, я инженер
Аноним 14/02/22 Пнд 11:19:43 2296649 368
>>2296515
Нормальные люди уравнения перебором решают. И точнее будет и быстрее.
Аноним 14/02/22 Пнд 13:11:13 2296727 369
pythoninttoroman.png 21Кб, 1265x276
1265x276
Вот в книжке написано, что словарь не гарантирует порядок, то есть полагаться на него нельзя, но на литкоде постоянно вижу решения, которые подразумевают, что порядок не меняется. Как так?
Аноним 14/02/22 Пнд 13:14:00 2296730 370
>>2296727
Наверное порядок не гарантируется при добавлении новых ключей
Аноним 14/02/22 Пнд 13:27:44 2296738 371
>>2296727
Это старая книжка, с какой-то версии гарантирует, 3.6 штоле.
Аноним 14/02/22 Пнд 13:33:35 2296743 372
>>2296738
Да, нашел, с 3.7. Спасибо.
Аноним 14/02/22 Пнд 13:33:38 2296744 373
Аноним 14/02/22 Пнд 13:44:03 2296753 374
>>2296743
Там на версию раньше уже было, а в следующей внесли в спеку языка для всех реализаций.
Аноним 14/02/22 Пнд 18:36:51 2297051 375
>>2296279
В вскод своих багов хватает, но он легче и удобнее. Главное - универсальнее.
Аноним 14/02/22 Пнд 18:39:29 2297053 376
>>2296727
В диктах вообще порядок не предусмотрен при работе. Нахер там он не нужен.
Аноним 14/02/22 Пнд 19:50:24 2297128 377
image.png 57Кб, 1122x407
1122x407
Приветик.
В книге "Укус питона" есть такой пример.
Он реализуется только в терминале? У меня не получилось в IDE, так как переменные не обнаружены.
Этот код только для того, чтоб показать, как питон могет?
Аноним 14/02/22 Пнд 20:08:22 2297150 378
>>2297128
Сам я юзал возврат кортежа, пися код в IDE, так что так можно делать. А ты наверно какие-то ошибки допускал, вот среда и ругалась
Аноним 14/02/22 Пнд 20:10:21 2297153 379
image.png 20Кб, 498x333
498x333
Аноним 14/02/22 Пнд 20:13:16 2297155 380
>>2297153
Но это же консоль внутри IDE. А при запуске через ctrl shift f10 такое не прокатит.
Аноним 14/02/22 Пнд 20:14:50 2297158 381
>>2297155
Допиши print() к переменным своего кортежа.
Аноним 14/02/22 Пнд 20:19:06 2297161 382
image.png 117Кб, 360x451
360x451
Нихуя, что спиздили. Надо будет таки взяться за эту тему.
Аноним 14/02/22 Пнд 21:18:54 2297243 383
>>2297128
Так могет и го.
Лучше бы не мог.
Аноним 14/02/22 Пнд 23:29:35 2297414 384
Опять дебил с кубическим уравнением. Очевидно, что учусь я решать не кубические уравнения, а немного другому.
https://pastebin.com/eezge7H4

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

Пишет TypeError: Cardano() missing 3 required positional arguments: 'b', 'c', and 'd' - очевидно, что функция не получает то, чего должна и я не очень понимаю, почему.
Тыкал по разному - не получается.
Аноним 14/02/22 Пнд 23:31:36 2297415 385
>>2297414
Потому что ты возвращаешь кортеж и пихаешь в кардано тоже кортеж.
Аноним 14/02/22 Пнд 23:39:14 2297418 386
Пишу на жанге. Есть уведомления, много разных типов, дан доступ к конкретному объекту, кто-то реквестирует доступ к объекту, объект обновлен и т.д. Есть 2 стула:
1) Въебать всю в одну модель, то бишь в одной таблице будут уведомления разных типов, но у строк будут пустые поля
2) Раскидать всё по разным моделям, но будет дохуя разных табличек.

На какой стул правильно садиться с инженерной точки зрения, по количеству запросов к БД и т.д. Понимаю, что это просто так примерно не почувствуешь, но может кто-то решал подобную задачу и может подсказать.
Аноним 15/02/22 Втр 00:06:00 2297446 387
>>2297414
Ты задал в def Cardano, что этой функции нужно 4 аргумента - а, б, с, д.

Когда ты вызываешь эту функцию, ты теперь полюбас должен указать для нее 4 аргумента, например так:
https://pastebin.com/wS4ub1Uv (изменения на 46 и 49 строках).

Альтернативно, ты можешь при объявлении функции задать, что ей нужен только один аргумент, который являет собой кортеж из 4 элементов. Тогда при вызове функции ты передаешь coef, а в объявлении функции надо просто дописать, что а,б,с,д - это элементы переданного кортежа.
https://pastebin.com/kjVJU6gW (изменения на 22 и 50)
Аноним 15/02/22 Втр 00:23:17 2297470 388
>>2297418
Зависит от того как ты к ним будешь обращаться. Лучше наверное по разным, чтоб не было одновременных вызовов и изменений одной и той же большой таблицы. Обращения к бд являются ленивыми, так что по идее в плане нагрузки разницы быть не должно.
Вообще, делай базу как можно меньшей.
Аноним 15/02/22 Втр 00:47:47 2297487 389
>>2297414
Конечно миссинг. У тебя вывод из 4х функций приравнивается к одной переменной, остальные три теряются. Чтоб сделать то что ты хочешь прочитай про arg kwargs. Выглядит это так.
dict = {a:1, b:2, c:3...}
func(++dict) плюсики это звездочки

Так что лучше тебе передавать лист на выходе. Пустой лист (а так же пустой дикт нуль, пустая строка и пр) в питоне равносильно false.
Интересно, зачем ты пишешь if a != False когда можно просто написать if a.

Это первое что в глаза бросается
Аноним 15/02/22 Втр 01:34:26 2297498 390
Хуй знает куда ещё написать за помощью. Так как пишу на пайтоне, то пускай будет здесь, хоть вопрос к нему относится очень отдаленно.

Пилю на селениуме парсер. Задача: собирать ссылки на айтемы со страницы, на которой они появляются динамически при скроллинге вниз. Иного способа получать ссылки, кроме как в тупую напрямую нет. АПИшка по ключам, которые не выдаются толком, а обходные пути заблочены. Число ссылок на айтемы которые необходимо получить варьируется от пары до десятка тысяч.
Столкнулся с проблемой переполнения оперативы на вкладке и последующим вылетом ошибки out of memory. Парсер находится на ВДС в конфиге на 8 гигов оперативы. Если просто вручную скроллить страничку и следить за потреблением памяти, то можно увидеть, что оператива сама собой освобождается при длительном скроллинге. При работе селениума на хромдрайвере такого освобождения нет, отчего и происходит переполнение.
Как бороться с такой хуйней и расчищать память? Закрывать инстанс браузера и открывать с того же места не вариант - открыть с того же места просто не выйдет ввиду отсутствия прямых ссылок/запросов. Почему обычный хром нормально справляется с прохождением больших наполненных страниц, а хромдрайвер загибается?
Аноним 15/02/22 Втр 01:38:12 2297500 391
>>2297498
Я слепой. Нашел ниже тред QA. Тем не менее, ответы и здесь приветствуются
Аноним 15/02/22 Втр 01:43:28 2297503 392
>>2297498
Пальцем в небо - поставить sleep на некоторое время?
Аноним 15/02/22 Втр 01:50:47 2297504 393
https://ideone.com/37hsNk
Я уже заебался с ошибкой QPaintDevice: Cannot destroy paint device that is being painted. Как фиксить?
Аноним 15/02/22 Втр 02:26:53 2297511 394
Реквестирую самоучитель для полного ньюфага.
Очень хочется чтобы было без воды, с вопросами в конце главы и понятно, но сколько не качал разных - не нашёл.
Вроде был такой, но я проебал название.
Аноним 15/02/22 Втр 02:30:26 2297513 395
>>2297503
Неа. Оператива вообще не освобождается, разные задержки пробовал
Аноним 15/02/22 Втр 02:53:30 2297518 396
>>2297511
Подозреваю, что тебе нужно не без воды, а чтобы было подано с практической точки зрения.
Аноним 15/02/22 Втр 03:31:54 2297523 397
>>2297518
Возможно. Мне просто не нравится лишняя информация которая не несёт полезной нагрузки, но она вроде и именуется водой.
Учитывая мою лень это реально проблема.
Аноним 15/02/22 Втр 05:38:08 2297547 398
>>2297446
>>2297415
>>2297487
О, спасибо. Я как раз пытаюсь в этом разобраться, сами понимаете, что нормальный человек не будет делать столько функций для простой задачи.
или будет
Аноним 15/02/22 Втр 06:36:26 2297557 399
Одна либа требует numpy версии 1.21 или ниже, а другая тащит за собой 1.22.
Это как-то решается, кроме установки более древней версии второй либы?
Аноним 15/02/22 Втр 09:38:05 2297592 400
>>2297498
Кучу данных держишь в памяти, делай генераторы там где это возможно и по максимуму используй ленивый доступ
Аноним 15/02/22 Втр 09:42:28 2297594 401
господа, существует ли апи для teamspeak с возможностью воспроизведения аудиопотока в канал, без клиента тимспика? Я правильно понял что апи ограничивается функциями администрирования, написания сообщения? То есть если я хочу радил-музыка бота, мне придется ставить тим спик клиент и ос под него?
Аноним 15/02/22 Втр 09:42:32 2297595 402
>>2297498
Лол. Ставишь себе дебаг проксю, прописываешь в браузере и скроллишь себе вниз, потом смотришь на запросы в проксе и повторяешь у себя, забирая готовые данные в чистеньком жсоне.
Какие блять селениумы.
Аноним 15/02/22 Втр 11:27:13 2297664 403
конструкция вида
Print('Loh' if 2+2==4 else "")
Всё равно печатает пробел. А как вообще пропустить выполнение печати если условие не выполнено?
Аноним 15/02/22 Втр 11:27:31 2297665 404
>>2297594
Читай док по апи тимспика, ищи репы в гите
Аноним 15/02/22 Втр 11:29:17 2297669 405
>>2297664
Print('Loh' if 2+2==4 else None)
Print('Loh') if 2+2==4 else None
Аноним 15/02/22 Втр 11:42:00 2297682 406
>>2297669
Ну он слово None и пишет
Аноним 15/02/22 Втр 11:42:53 2297684 407
>>2297682
В первом варианте, который предпочтительнее
Аноним 15/02/22 Втр 11:45:40 2297686 408
>>2297682
Однострочником нормально не пишется.
Можешь сделать
if 2+2: print('hui')
но это хуевый стиль.
Аноним 15/02/22 Втр 11:49:55 2297689 409
изображение.png 2Кб, 431x163
431x163
>>2297664
Почему бы не написать
if 2+2==4:
print('text')
?
Тернарный оператор в питоне супер жуткий, так как выводимые значение с разных сторон, а не рядом.

У меня пробел не печатается. Может быть тебе нужно явно указать sep и end, не знаю? Там только перенос строки должен печататься по умолчанию.
Аноним 15/02/22 Втр 11:59:04 2297691 410
>>2297689
С sep='' всё отлично, спасибо.
Аноним 15/02/22 Втр 13:01:46 2297764 411
>>2297511
Бумп реквесту

Ну была же книжка такая, там ещё первой главой ввод в информатику был для самых чайников
Аноним 15/02/22 Втр 13:08:59 2297767 412
Дочитываю Лутца.Это было тяжело по больше части из-за его водянистого стиля изложения материала. Хотя сама книга годная, для новичка аналогов просто нет.
Остались главы про Юникод, декораторы и метаклассы.

Подскажите, что из этого 100% нужно прочитать вкатышу, а что лучше отложить на потом?
Аноним 15/02/22 Втр 13:12:39 2297771 413
>>2297764
О, еще один вкатыш.

Попробуй "автоматизацию рутинных задач с помощью Python". Как раз первые 180 страниц - это описание синтаксиса, а дальше уже прикладные проекты идут.
От того же автора есть Hacking Cyphers и Making Games. Эти я не читал, но говорят годнота.
А под основами информатики я хз что ты понимаешь. Базовые понятия вроде циклов, функций классов и ООП? Все это есть в "автоматизации рутинных задач"
Аноним 15/02/22 Втр 13:14:35 2297773 414
>>2297767
Юникод. А что про него читать? Но он всюду энивей.
Для декораторов хватит одной статьи и потыкать их в программе один вечер - и это можно сделать в любой момент, как встретишь их - и для вкатывания они не нужны. Метаклассы нахрен.
Короче лучше просто тыкай дальше вещи что было ранее и понимай их глубже, практикуйся, а не какие-то декораторы...
Аноним 15/02/22 Втр 13:17:12 2297776 415
>>2297773
>А что про него читать?
У Лутца целая глава про него. Честно говоря, уже надоело читать, хочу уже прочитать доку джанги и говнякать сайтик.
Но я не спешу. Надо так надо. Это основа, ящитаю.
Про декораторы иногда даже пишут в вакансиях, например: "умеете применять декораторы или знаете что это такое".

Спасибо, анон.
Аноним 15/02/22 Втр 13:23:47 2297784 416
Вот бы лутца издатель пнул на новое издание, чтобы викинуть вторую версию и еще всякую хуйню и добавить свежачка.
Но он уже старый дид вроде, да и не хочет.
Аноним 15/02/22 Втр 13:29:00 2297791 417
>>2297784
Два чаю. Страниц 200 можно было бы убрать.
Да и инфа про 2й питон бесполезная.
Аноним 15/02/22 Втр 13:50:37 2297828 418
>>2297791
Два чаю. Страниц 200 можно было бы убрать.
Да и инфа про 2й питон бесполезная.
Аноним 15/02/22 Втр 14:19:15 2297875 419
>>2297771
>О, еще один вкатыш.
Чини детектор, я для общего развития изучаю.
>Попробуй "автоматизацию рутинных задач с помощью Python". Как раз первые 180 страниц - это описание синтаксиса, а дальше уже прикладные проекты идут.
>Базовые понятия вроде циклов, функций классов и ООП? Все это есть в "автоматизации рутинных задач"
Неа, там было про биты, байты и прочую поеботу, лол.
Просто запомнилась именно поэтому, т.к. я дальше этой главы и не зашёл. Но очень доставили вопросы в конце главы, это куда более эффективно чем конспектирование и повторение, я считаю.
Аноним 15/02/22 Втр 14:23:38 2297882 420
>>2297875
>биты, байты
>Питухон
Чел...
Аноним 15/02/22 Втр 14:27:26 2297896 421
a, b, c, d = None, None, None, None
Как быстро инициализировать переменные None вне зависимости от количества переменных, чтобы не повторять None то же количество раз?
Аноним 15/02/22 Втр 14:31:07 2297906 422
>>2297882
Что не нравится? Раскрой мысль.
Аноним 15/02/22 Втр 14:32:51 2297909 423
Аноним 15/02/22 Втр 14:33:30 2297911 424
изображение.png 5Кб, 313x101
313x101
Аноним 15/02/22 Втр 16:45:32 2298093 425
изображение.png 9Кб, 439x98
439x98
почему функция в которой надо напечатать N строк определенным образом работает 20 секунд, а две такие функции запущенные в двух потоках работают в 4 раза быстрее? Почему не в 2?
Аноним 15/02/22 Втр 16:54:05 2298108 426
>>2298093
Ладно, я тупой, каждый поток берет на себя половину работы же, вот почему.
Аноним 15/02/22 Втр 17:43:19 2298171 427
Я все не очень понимаю, по какому принципу в джанго создаются приложения? Или просто как угодно? Вот например у меня есть какой-то сайт, у него там есть разделы. Ну вот Двач например. Главная страница со списком досок где будет располагаться? Она же не принадлежит никакой доске логически как бы. Нужно делать отдельное приложение для главной страницы? Или её прямо в основной модуль запихать, где находится settings?
Аноним 15/02/22 Втр 17:52:11 2298185 428
>>2298171
В модуле где есть settings никаких вьюх делать не надо. В твоём случае надо сделать ещё один и добавлять к нему всё остальное. Эти модули сделаны просто для удобства, можешь хоть для каждого роута делать свой модуль. Вообще они должны быть независимы друг от друга для модульности.

А вообще поебать где что, можешь хоть в основном модуле делать, главное чтоб в роуте был указан метод
Аноним 15/02/22 Втр 18:01:41 2298199 429
Как определить свой строковый метод чтобы вызывать его вот так:

test = 'бла бла'
test.my_method()
Аноним 15/02/22 Втр 18:13:11 2298219 430
>>2298185
>В твоём случае надо сделать ещё один и добавлять к нему всё остальное.

Чет не понял. Типа делать приложение для главной страницы, которое будет прост рендерить главную страницу? А че значит "к нему добавлять все остальное"?.
Аноним 15/02/22 Втр 18:32:59 2298256 431
Аноним 15/02/22 Втр 18:51:16 2298272 432
>>2298256
Не понял. Напиши полностью. Допустим метод выдает return len(self) Как это сделать?
Аноним 15/02/22 Втр 18:55:49 2298274 433
Аноним 15/02/22 Втр 18:59:37 2298277 434
>>2298185
А, ну я так подумал, наверное приложение определяется моделью, да? Одно приложение должно содержать вьюхи, которые взаимодействуют с моделью, описанной в этом приложении. А то если приложение импортирует модель из другого приложения, получается оно самостоятельно работать не может.
Аноним 15/02/22 Втр 19:00:53 2298280 435
>>2298256
О вкатыш с курсов.

>>2298199

class MyString:

def __init__(self, arg:str):
self._value = arg

def __str__(self):
return f' 2298256 - хуесос. Значение: {self._value}'

def __repr__(self):
return f' Все равно 2298256 - хуесос'

def __iter_(self):
return [s for s in self._value]

У тебя какая задача стоит, юродивый?

Аноним 15/02/22 Втр 19:03:03 2298281 436
>>2298280
Хуя бальбанул очкоед.
Аноним 15/02/22 Втр 19:08:06 2298286 437
>>2298274
Да просто чтобы красиво было.

А вот такой вопрос. Если я в функцию отправляю строку как аргумент функции, она копируется или передается по ссылке? То есть если я отправлю огромную строку, то в памяти будет две такие же огромные строки и будет фигово для производительности?
Аноним 15/02/22 Втр 19:14:20 2298294 438
>>2298281
Иди Лутца наверни говнохлебатель
Аноним 15/02/22 Втр 19:16:26 2298296 439
>>2298286
>памяти будет две такие же огромные строки
будет ссылка на переменную(объъект), хранящую значение,
потом если GC пройдется и если ссылка будет уже не нужна, то очистит память. Но если ты за байтоебство, то нахера начал питон учить?
Аноним 15/02/22 Втр 19:19:14 2298298 440
Как же не хочется верстать свою говно страницу, а как пет-проекты тогда делать?
Аноним 15/02/22 Втр 19:21:49 2298299 441
>>2298296
Короче проверил в диспетчере задач. Отправил в функцию строку 50 мегабайт - процесс питона около 50 мегабайт. Значит по ссылке передается. Круто.

>если ты за байтоебство, то нахера начал питон учить?
Чтобы на нем байтоебить, очевидно же.
Аноним 15/02/22 Втр 19:24:47 2298300 442
Аноним 15/02/22 Втр 22:21:01 2298449 443
image.png 114Кб, 1677x682
1677x682
Аноны, я не понимаю. Вот у пандас есть df.value с методом tolist(). Я хотел посмотреть, как вообще этот метод составлен - мне стало интересно, как на уровне кода происходит считывание данных из экселя/ксв и засовывание в список. Я нажал CTRL + ЛКМ по этому методу и попал в определение класса class ndarray - метод tolist() действительно есть, но он весь состоит из огромного комментария, а из кода там только "pass". Посмотрел повнимательнее - так вообще у всех методов в этом классе (пикрил). Как раэто работает? Где-то же должна быть описана логика работы этого метода.
Аноним 15/02/22 Втр 22:32:21 2298474 444
>>2298449
Он сконпелирован, это просто заглушки от пучарма.
Аноним 15/02/22 Втр 22:41:25 2298484 445
>>2298474
Ну тогда все равно остается непонятно - даже если библиотека скомпилированная, я же все равно при вызове конкретного метода запрашиваю какой-то функциональный кусок скомпилированной программы - на нее должна быть ссылка. Как пайчарм соотносит, что tolist() должен исполнять функционал такой-то, а tobytes() такой-то?

И еще, а где можно посмотреть сорцы пандаса? На гитхабе https://github.com/pandas-dev/pandas все на питоне, но питон же не компилируемый, а интерпретируемый.
Аноним 15/02/22 Втр 22:46:59 2298489 446
>>2298484
Питонья вм подгружет компилированные модули, они ей сообщают - у меня есть такие методы, у меня есть такие штуки. Потом при их вызове она уже знает, что делать.
Пучарм тут вообще никоим боком.
Аноним 15/02/22 Втр 23:01:47 2298508 447
>>2298219
>>2298277
В общем, там можно делать как хочешь, на работу это влиять не будет. Хочешь делить всё - дели. Не хочешь - не дели.
Вообще, функционально это делится примерно так site.fag/a/puk, где а - твой модуль, а puk - роуты этого модуля. Зависит от того сколько у тебя будет различных маршрутов и реюзабельность кода. Ты ж не планируешь делать с десяток серверов с универсальными модулями?
Джанга это прежде всего рендеринг и всякое с базой из-за хорошей орм. Если ты делаешь какой-то мессенджер, борду и что-либо с большой нагрузкой на страницы в браузере, то лучше делать это не на джанге, а рендер отдать на жс.

Я сам не до конца понимаю зачем в джанге такое разделение на модули, когда он сам по себе монолит. Закос под микросервисы что-ли, лол.
Аноним 15/02/22 Втр 23:02:52 2298510 448
>>2298298
Как ж ты работать собрался, когда проекты делать не хочешь?
Аноним 16/02/22 Срд 00:23:46 2298555 449
Как установить библиотеку numpy на винду? Везде репозитории ебучие.
Аноним 16/02/22 Срд 00:36:57 2298558 450
>>2298508
MVC потому что. Джанга в этом плане очень взрослая, но без асинхронки нахуй не сдалась.
Сектанты просто указываются в нее как и в SpringBoot, не более.
Можно говнокодить на FastAPI, выбирая себе ORM по желанию.
Очень медленно пилится TortoiseORM, отставание просто пиздец. Тот же peewee умеет давно в CTE, но нет асинхронки нативной

Но мне норм пока так, пидорю костыли и raw SQL
Аноним 16/02/22 Срд 00:55:05 2298563 451
Аноним 16/02/22 Срд 08:37:05 2298619 452
Аноним 16/02/22 Срд 10:08:40 2298643 453
Аноним 16/02/22 Срд 10:10:04 2298644 454
>>2298555
Бери linux subsystem и ставь туда как нормальный человек.
В питоне для винды зависимостей овердохуя и надо тащить гигабайты для конпеляции сишных библиотек.
Аноним 16/02/22 Срд 12:29:55 2298746 455
>>2298555
pip numpy
Ещё лучше запихнуть всё что нaдо прямо сейчас в свой env.
Аноним 16/02/22 Срд 12:37:43 2298752 456
>>2298643
Какой язык - такой и программисты.
Хуже только в 1С-треде, но те хотя бы бух.учет знают.
Аноним 16/02/22 Срд 13:12:15 2298784 457
>>2298752
>Какой язык - такой и программисты.
Инфоцыгане сообщили, что Питон пиздец какой простой (НЕТ), вот и лезут вкатыши-дебилоиды.
Сука ну прочти ты документацию или банально погугли. Потом из-за таких ебланов и вилка ниже чем у остальных.
Аноним 16/02/22 Срд 13:20:46 2298794 458
>>2298784
Это жабаскриптовики кукарекают, потому что у самих набегающих ебланов еще больше - фронт же проще, лол.
Аноним 16/02/22 Срд 13:21:14 2298795 459
>>2298784
Ну это же думать надо.
Насру в треде, вдруг лошок какой все разжует и в рот положит.
Аноним 16/02/22 Срд 14:28:32 2298849 460
>>2285619 (OP)
Антуаны, помогите преобразовать json файл в массив. Нагуглил только как строку преобразовать в список.
Имеется несколько строк в json, нужно по запросу получить значение "аргумента" из каждой строки.
Аноним 16/02/22 Срд 14:30:19 2298852 461
>Питон пиздец какой простой (НЕТ)
А что сложного в говне вашем для школоты?
Типизация? Динамическая, интерпретатор все сопли за вас подотрет.
Синтаксис? Мммаксимум простой.

Хуже только рнр, даже жс уже лучше вашей поделки.

мимо лорд джавист
Аноним 16/02/22 Срд 14:54:48 2298888 462
Зачем нужен GIL в питоне? Ну вот зачем? Что не гуглю, везде какую-то разную хрень пишут. "Ну, это, пук пук, паралельность опасна - дедлоки будут"
Аноним 16/02/22 Срд 15:05:42 2298904 463
>>2298852
Долбоеб, ты пишешь на языке который впринципе перестал развиваться и без костылей никакие фичи занести уже не получиться из-за мемной обратной совместимости. Кста про упомянутый пых забавно, по любви у разработчиков джава около пыхи сидит во всех опросах, те на дне)0)0)
Аноним 16/02/22 Срд 15:09:29 2298910 464
>>2298904
Ты точно Джаву со своей питухней не путаешь?
Аноним 16/02/22 Срд 15:10:14 2298913 465
Делаю сайт про походы,Python,Django,PyCharm.Нужно,чтобы был интерактивный календарь,с расписанием походов.Я написал JS скрипт,который формирует календарь на странице,и тут возникла проблема.Заказчик хочет,чтобы даты походов были выделены определённым цветом и на них висели инфобоксы.В базе данных у меня походы с полями "дата начала похода" и "дата конца похода".В шаблон походы передаются через вьюхи,это ясно.А как мне из шаблона эти походы или их параметры передать в сам скрипт,который к шаблону подключен?И вообще,правильно ли я делаю,что так определил поля?Может,будет лучше,если у каждого похода будет одно поле,"даты",с неограниченным числом значений?Прошу прощения за глупые вопросы,заранее спасибо за ответ.
Аноним 16/02/22 Срд 15:19:00 2298921 466
>>2298910
Покажи async/await в жабе. А как там якобы возможные гринтреды, в java 3000 версии завезут? Ну классику вроде куда пропадают типы в ваших дженериках даже спрашивать не стану, а то у жабистов моментально попку рвет, особенно если сравнить с клоном жабы от майков
Аноним 16/02/22 Срд 15:21:26 2298924 467
В requests.session можно задать таймаут по умолчанию без переопределения методов? В адаптерах их нет
Аноним 16/02/22 Срд 16:52:36 2299006 468
>>2298913
>А как мне из шаблона эти походы или их параметры передать в сам скрипт,который к шаблону подключен?\
Есть два способа:
1. Говнокод - вешать джейсон с датой инлайн скриптом в глобальный скоуп, а потом уже его парсить при гидрации.
1.2. Пыхавей - привязать джейсон к дата-аттрибуту на каком-нибудь из элементов.
2. Зе райт вей - написать API эндпоинт, возвращающий нужные тебе данные и скриптом его дёргать.
Аноним 16/02/22 Срд 17:41:18 2299057 469
>>2299006
Спасибо!А первый вариант,это прям совсем говнокод?Я просто сайт для друга делаю,мне нужно,чтобы он более-менее работал.
Аноним 16/02/22 Срд 18:24:24 2299109 470
>>2298643
А как сделать это "стендалон" программой?
Аноним 16/02/22 Срд 18:25:53 2299110 471
>>2298752
>>2298784
Челы, я инженер-прочнист и мне под 30. Мне по работе нужно стало вот энтот ваш питон.
Аноним 16/02/22 Срд 20:48:47 2299277 472
Аноны, где можно почитать как работают те или иные методы\функции в под капотом?
К примеру, как выполняется "=="\in и т.п. вещи.
Аноним 16/02/22 Срд 20:55:08 2299285 473
>>2299277
Если на это нельзя повлиять, зачем знать?
Аноним 16/02/22 Срд 20:56:09 2299287 474
Аноним 16/02/22 Срд 21:43:47 2299338 475
>>2299285
Знание - сила.
Знание подкапотной хуйни позволяет выбрать оптимальный вариант решения задачи.
>>2299287
Слишком просто, нет.
Аноним 16/02/22 Срд 23:33:05 2299416 476
>>2299338
И как оптимизировать ==? Переписать питон?
Аноним 16/02/22 Срд 23:42:02 2299422 477
>>2299416
С одним = в два раза быстрее.
Аноним 16/02/22 Срд 23:44:10 2299424 478
>>2299422
Если нужна такая дотошность, зачем тогда питон? Поснму не си?
Аноним 17/02/22 Чтв 00:36:08 2299481 479
Понимаю, что дурачкок с кубическим уравнением вас в конец замучал, но надо всё-таки доделать к совещанию.

Почему "ретурн вне функции"?
https://pastebin.com/QhiwNufQ


Если коротко, то что я хочу.
У меня есть "рабочий" код, разбитый на функции. Само по себе вроде работает.
https://pastebin.com/kRzFi4Gs (будет жаловаться на то, что не получил х1, х2, х3, что логично)

И есть отдельная функция, которая решает. Она большая, как её разбить на подфункции "шоб красиво было" (так начальник требует) я не понимаю, но не суть - мне б чтоб работало хотя бы. Естественно, если совместить это с старым кодом, блок ввода не нужен, в общей функции у меня его нет.
https://pastebin.com/e70VuLcs
Аноним 17/02/22 Чтв 00:38:38 2299483 480
>>2299481
Потому что ты криво скопипастил, проебав отступы, которые в бидоне имеют значение.
Аноним 17/02/22 Чтв 00:48:33 2299496 481
>>2299483
А как правильно то? Я понимаю, что дело в этом, но не могу понять, как исправить.
Аноним 17/02/22 Чтв 00:53:15 2299501 482
>>2299496
> А как правильно то?
Однородно на всех участках. Это решается подгонкой в ide, но у тебя его нет скорее всего. Подключай как модуль тогда, форматирование может быть разным на уровне файлов вроде.
Аноним 17/02/22 Чтв 00:57:40 2299504 483
>>2299109
Через pyinstaller.
Идея очень плохая, так как тянет за собой дохуя, это ж питон, ну и заебешься пути все прописывать.
Аноним 17/02/22 Чтв 08:58:51 2299576 484
>>2299501
> Это решается подгонкой в ide, но у тебя его нет скорее всего.
У питона idle какой-то.
Аноним 17/02/22 Чтв 08:59:13 2299578 485
>>2299057
Ты хочешь говнокод для друга написать?
Аноним 17/02/22 Чтв 09:05:36 2299580 486
Как исполнять команду в заданное время дня, не проверяя каждую секунду, какое сейчас время? Этот способ работает, просто мне кажется, что это крайне тупой подход.
Аноним 17/02/22 Чтв 09:08:15 2299585 487
>>2299580
Придумал еще тупой способ - при запуске скрипта проверять, сколько сейчас время, считать сколько осталось и ждать. Но как делать грамотно?
Аноним 17/02/22 Чтв 09:40:44 2299597 488
>>2299580
>>2299585
Крон. Самому считать это в любом случае костыль.
Аноним 17/02/22 Чтв 10:08:38 2299611 489
>>2299580
Кронтаск, либо селери
Аноним 17/02/22 Чтв 10:12:49 2299615 490
>>2299416
> И как оптимизировать ==
Никак, и я не спрашиваю как его опитимизировать.
Я о том, что в каких-то случаях есть более быстрые варианты выполнения тех или иных задач. Хотелось бы почитать об этом.
Аноним 17/02/22 Чтв 10:17:27 2299620 491
>>2299615
Тут уже писали, что не нужно например использовать f-strings, потому что всё равно экономия НЕЗНАЧИТЕЛЬНА
Ну а вообще, если у тебя есть эти варианты на руках - ты всегда можешь загуглить, или сам проверить с помощью timeit, или посмотреть какие там операторы под капотом с помощью dis
Аноним 17/02/22 Чтв 10:20:14 2299622 492
>>2299057
Нет. Если скриптов не много, то пойдёт и так. Главное, чтоб тебе удобно было читать и разбираться.
Аноним 17/02/22 Чтв 11:58:26 2299708 493
> python data mode, python memory model
Чё это значит? Всё это время в питоне был маллок, про который я не знал?
Аноним 17/02/22 Чтв 12:59:35 2299769 494
image.png 44Кб, 549x296
549x296
>>2299620
>Тут уже писали, что не нужно например использовать f-strings, потому что всё равно экономия НЕЗНАЧИТЕЛЬНА
Что?
> сам проверить с помощью timeit, или посмотреть какие там операторы под капотом с помощью dis
Спасибо и на этом, антош.
Аноним 17/02/22 Чтв 13:07:09 2299788 495
>>2299769
Ну тип, сколько раз за всё время у тебя будет вызвано функция принта? Ты не заметишь этой разницы
Аноним 17/02/22 Чтв 13:17:43 2299800 496
>>2299788
> сколько раз за всё время у тебя будет вызвано функция принта
Разве только при принте можно делать ф-строку?
> Ты не заметишь этой разницы
Это уже дело мое.
> уже писали, что не нужно например использовать f-strings
Так что за ебанутый это писал? Если и нет смысла дрочить на 30%+ прирост скорости от ф-строк, то красота кода и функциональность ф-строк превосходна.
Аноним 17/02/22 Чтв 13:19:11 2299803 497
Аноним 17/02/22 Чтв 13:20:57 2299804 498
>>2299769
Это из-за кэша. Когда одну и ту же строку несколько раз генерируешь и она короткая, то у неё одинаковый айдишник. И раз она в первый раз создалась и сборщик мусора не успел её удалить, то все последующие разы будет одну и ту же строку возвращать. Поэтому для чистоты эксперимента нужно не миллион одинаковых строк генерировать, а разных.
Аноним 17/02/22 Чтв 13:22:47 2299806 499
Сколько времени нужно чтобы вкатится с нуля и найти работу?
Аноним 17/02/22 Чтв 13:25:09 2299809 500
>>2299806
Года достаточно, если усердно заниматься и изучать всё.
Аноним 17/02/22 Чтв 13:27:10 2299812 501
>>2299806
Около 1к часов усердной учёбы. Если повезёт и будешь регулярно гонять по собесам, то может кто-то сжалится лоханётся и возьмёт тебя пораньше
Аноним 17/02/22 Чтв 13:51:25 2299848 502
image.png 62Кб, 538x346
538x346
>>2299804
1. Где написано что он генерил ее миллион раз?
2. Не только лишь память.
>>2299803
Где там написано что не стоит юзать ф-строки?
Аноним 17/02/22 Чтв 13:51:48 2299849 503
Аноним 17/02/22 Чтв 14:16:10 2299870 504
>>2299848
>1. Где написано что он генерил ее миллион раз?
Он же наносекунды как-то посчитал. Логично, что он милион раз генерил и поделил.
>2. Не только лишь память.
Всё равно это объяснение факта, который получился в результате нечистого эксперимента. После того как провести его чисто, то результат в скорости будет хуже, а это объяснение со скрина останется прежним.
Аноним 17/02/22 Чтв 15:08:07 2299942 505
>>2285619 (OP)
Блэт, есть набор из 10+ строк, в функцию поступает строка, надо проверить что она начинается с одной из этих строчек, как это сделать без ебаных циклов for?

for s in STRINGS:
----if in_str.startswith(s): return True
Аноним 17/02/22 Чтв 15:22:25 2299976 506
>>2299942
А чем тебе циклы не нравятся?
Аноним 17/02/22 Чтв 15:46:20 2299999 507
Как делаются превьюшки для видео/обычных изображений? Допустим, если я делаю приложение и там есть страница с изображениями, исходники которых слишком большие чтоб быть превью, то как в этом случае поступают? Или на странице много видео - чтоб не грузить все, нужно вместо реальных видео подставить превью и потом по запросу подгрузить это видео
Аноним 17/02/22 Чтв 16:11:26 2300013 508
>>2299999
обрезка 1го кадра через ffmpeg
Аноним 17/02/22 Чтв 16:25:25 2300024 509
>>2300013
Да это понятно, я имею ввиду, как их хранить, например? Какие best-practises по их менеджменту есть?
Аноним 17/02/22 Чтв 16:26:36 2300025 510
Как красивше и правельно писать срезы?

str[1:4]
str[1: 4]
str[1 : 4]
str[a + b:c + d]
str[a + b: c + d]
str[a + b : c + d]

???
Аноним 17/02/22 Чтв 17:05:53 2300060 511
>>2300025
Первый и последний варианты.
Аноним 17/02/22 Чтв 17:07:47 2300065 512
>>2300025
>str[1:4]
>str[a+b:c+d]
Сейчас кризис полупроводников. Память дорогая. Нефиг на пробелы её разбазаривать.
Аноним 17/02/22 Чтв 17:11:05 2300067 513
>>2300060
А тут как лучше?

str[a + b:]
str[a + b :]
str[:c + d]
str[: c + d]
Аноним 17/02/22 Чтв 17:23:02 2300077 514
>>2300024
Мы с пацанами через Джангу делаем. В БД ссылки на файлы хранятся и все епт
Аноним 17/02/22 Чтв 18:00:04 2300124 515
>>2299620
fстринги более читаемы, если уж нет разницы
Аноним 17/02/22 Чтв 23:20:13 2300417 516
сап, не знаю, можно ли сюда с таким, но нужна помощь с написанием (или полное написание) парсера, который проводит аналитику по сайтам. идея: искать по ключевым словам, выводить в табличный вид куда угодно в каком угодно виде. tg @yuioef
Аноним 18/02/22 Птн 00:41:16 2300463 517
>>2299942
list comprehension

for s in STRINGS:
----if in_str.startswith(s): return True

Превращается в это

[in_str.startswith(s) for s in strings]

Ну и startswith возвращает булевое значение, так что нахера ты делаешь return True?

Если выделить конкретно строки
оно же filter/reduce, но оптимизированное
[s for s in strings if in_str.startwith(s)]
Аноним 18/02/22 Птн 02:01:14 2300484 518
Аноним 19/06/22 Вск 20:30:48 2383848 519
Всем привет, у меня вопрос. Я не понимаю что делает [t%5]

в конструкции :

t = 0
for c in word:
if c == 'aeiou'[t%5]: t+=1
return t

как это работает? Где почитать?
Аноним 19/06/22 Вск 20:31:41 2383849 520
t = 0
for c in word:
if c == 'aeiou'[t%5]: t+=1
return t

Всем привет, как работает [t%5]?
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов