Этого треда уже нет.
Это копия, сохраненная 24 марта 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред №100 /python/ 1803801 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #100

Предыдущий: >>1793243 (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
image.png5,2 Мб, 1175x1762
2 1803847

>tells everyone that Python takes name from 'Monty Python' and has no relation with snakes


>proceeds to make a snake alike logo

3 1803867
роад мапы 2019-2020 на веб разработку (бек) по питону остались у кого?
дайте ссыль
4 1803871
Стал разработчиком.
Денег платят в два раза больше.
Все равно не хватает, потому что все тратишь на алкоголь и психотерапевта.
Какая же стрессовая работа, яебал.
5 1803873
>>03867
let me google that for you...
6 1803876
>>03871
А сколько платят то что юзаешь психа?
7 1803877
>>03876
Переведи на русский.
8 1803884
>>03877
Мани скок дают чтобы оплачивать беды с башкой?
9 1803887
>>03884
ДМС только дают, и тот 15к в год, давно потратил. А так с зарплаты.
10 1803894
>>03887
Этот инвалид пытается у тебя спросить, какая у тебя з/п. Но ему тяжко это даётся
11 1803898
>>03894
Ну его все равно не впечатлит. Я ж не в ДС, а в дальнем регионе.
12 1803899
>>03894
Я просто мимо заметил что он до формулировки докопался.
b0a2649e6ad88e54eff7b808e7373d41.jpg10 Кб, 255x198
13 1803958

> з/п


> ДС


> Мани скок


> юзаешь

14 1803960
>>03958

>картинки с устаревшими мемами форчана


Ты забыл еще.
15 1804055
О, так это же юбилейный тред.
Ну, ура!
16 1804135
Джангисты, 1 пик вьюха, 2й пик результат, 3 пик темплейт, почему не выводится имя автора статей? Чет не могу понять, что не так делаю
image.png3 Кб, 306x69
17 1804136
>>04135
Думал, что проблема в pk, но в шеле все работает же
18 1804137
>>04135
>>04136
Блядь, сори, все, я долбоеб, как обычно стоило спросить, и то, над чем бился 30 минут становится очевидным
19 1804159
Анончики посоветуйте плис
Желательно пошагово
Какие задачи решать если можно сслыки чтобы качать скил
И какие проекты писать, начиная от самого простого и сложного, чтобы вкатиться макс комфортно.
И чтобы набивать портофолио, что нужно чтобы уже было написано, чтобы удивить РАБотодателя.
От себя - уже знаю синтаксис, про ооп, смотрел пару курсов пробовал до конца дочитать лутца, но нет, укус битон - да, по часу всего на ютабе - вообще вот он я.
20 1804182
https://conf.python.ru/moscow/2020/abstracts
Шо там за платная конференция?
Спизженные видео будут?
Интересно было бы послушать некоторых
21 1804205
>>03873
Ну че там? Полсуток уже прошло... Оч надо.
22 1804208
>>04159

>Какие задачи решать если можно сслыки чтобы качать скил


edabit.com
23 1804329
Пользуетесь ли вы в процессе разработки блок-схемами? Ну или вообще какими-нибудь визуализациями структуры проекта, моделей бд итд?
24 1804354
>>04329
Да.
25 1804381
>>04329
Гугли системный анализ.
26 1804629
>>04329

>Пользуетесь ли вы в процессе разработки блок-схемами?


Нет.

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


Без задней мысли сразу начинаешь фигачить заготовки классов. Для начала продумываешь интерфейсы, а тела методов оставляешь пустыми с пометкой TODO.
27 1804703
>>03867
Так хули там.
Линупс+веб фрейморк+веб сервер+БД+докер
28 1804710
>>04329
Да, для себя, перед началом работы, визуализирую схему работы системы, продумываю на схеме различные варианты. Рисую модели БД в pony orm эдиторе, эту схему скриню и в документацию пихаю. Иногда просят обрисовать общую схему работы, тогда иду в Фигму и рисую общую блок-схему.
29 1804835
https://docs.djangoproject.com/en/3.1/ref/models/expressions/#f-expressions
Почему F работает не так как в документации? Написано, что можно применить выражение к уже полученному объекту, но в итоге оно выдает ошибку, что я пытаюсь сложить инт и CombinedExpression, хотя запись в БД обновляет. Но если вместо готового объекта применить это на кверисет от фильтра через апдейт - все нормально без каких либо ошибок, я что-то не так понял?
30 1804842
>>04835
Упустил моент с релоадом объекта
31 1804878
Аноны, объясните, чяднт (пик 1). Модели пик 2. Делаю вьюху для отображения отдельной статьи, чтобы сделать ее автора кликабельным нужно получить его айди, зная статью, чет нихуя не получается пока
32 1804879
>>04703
да ет понятно, мне бы с материалами по этим темам актуальные.
что почитать,где посмотреть и так далее.
33 1805059
Аноны, есть какой-то гайд про проф. версии пучарма для джанги? А то мне говорили, что он там какой-то охуеть волшебный, дебажит темплейты, видит все референсы на всякую внутреннюю джанговскую хуйню, а я пока из разницы заметил только то, что он при стайлинге в хтмле цвета выносит влево как брейкпоинт.
34 1805098
>>04878
Во-первых, если у тебя a это объект типа Author, то тебе нужен просто а.id

Во-вторых, если a это объект типа Artclie, то тебе в твоем случае нужен article_author_id

В-третьих, зачем тебе приставка article_ в полях? Тебе названия модели мало?
35 1805139
>>05098>>05098

>Во-вторых, если a это объект типа Artclie, то тебе в твоем случае нужен article_author_id


А можешь эту хуйню чуть подробнее пояснить? А то я сделал какой-то адовый костыль в итоге чтобы получить айди автора, вот, глянь на пик с темплейтом, (в authors у меня лежит Authots.objects.all()). Причем обрати внимание, внизу закоменченная строка blog.article_author.id, она тоже дает айди автора, но я не понимаю почему, ведь у меня в blog только поля статьи, и в поле с автором статьи в модели статьи нет айди, а только его имя. Бля, наверное хуево поясняю, приложу еще вьюху 2м пиком, если вдруг тебе не впадлу ответить

>В-третьих, зачем тебе приставка article_ в полях? Тебе названия модели мало?


Увидел у какого-то чела на ютубе (sentdex вроде, или как-то так, и показалось удобно
36 1805208
У меня тупой вопрос:
Что можно писать на питоне? Ну вот джава для веба предназначена, сшарп для программ, а нахуй питон нужен? Чё с ним делают вообще?
37 1805212
>>05208
и в чём его профит, кроме охуенного синтаксиса
38 1805232
Пожалуйста объясните логику этого вывода.
39 1805238
>>05232
в if происходит неявный каст в bool
а по правилам питона пустая строка это False
40 1805239
>>05232
if использует метод __len__
41 1805240
>>05212
в батарейках же
Screenshot 2020-09-13 at 17.30.23.png19 Кб, 402x276
42 1805241
>>05238
Нет
43 1805243
>>05239
Вот это уже похоже на правду.
44 1805257
45 1805291
>>05257
в модулях на все случаи жизни
46 1805294
>>05241
мы вам перезвоним
читай чем __bool__ от __eq__ отличается
DJANGO AJAX 47 1805322
Кто пробовал в джангу отправлять аякс-запросы с обычного джаваскрипта без библиотек?

>Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource.


(Reason: CORS request did not succeed).

Насколько я понял, тут ошибка с csrf токенами.
Можно ли отключить эту хуиту?

Импортировать crsf_exempt пробовал, в settings Middleware комментировал. Ничего не выходит.
Или средствами самого джанго аякс-запросы не отсылаются, и надо ещё какие-то библиотеки устанавливать?
48 1805335
>>05322
наскока я знаю сервак должен разрешать cors, во фласке там экзепляр приложухи оборачиваешь в cors а в жанго хз, погугли django rest cors
49 1805339
Hello from Selenium
50 1805346
>>05339
Yippee-ki-yay, mothefucka
Image 117.png4 Кб, 381x136
Какого хуя, анон? Только учусь. 51 1805366
Эта трабла ебучая, происходит, уже хуй пойми сколько. И не только аойкой. С овм и другими модулями та же хуйня. Path, настроен. Что посоветуете?
1435675889246644930.jpg208 Кб, 720x480
52 1805369
пишу в терминал на мак каталина
$ python3 --version
мне в ответ 3.8.3

а если писать
$ brew info python
то мне в ответ stable 3.8.5

Почему, блядь?
53 1805381
>>05369
два интерпретатора питон стоит и разные ссылки на них
54 1805415
>>05381
А как это пофиксить?
я только вкатываюсь
55 1805421
>>05415
Ты с нуля?
56 1805433
>>05421
да
ну с терминалом разбираюсь по-тихонечку сижу, накатил дебиан в виртуалбоксе
57 1805449
>>04878
Так там же нужнл просто id а не author_id
58 1805492
halp-meo1886785.jpg263 Кб, 424x476
59 1805521
60 1805547
Помогите плиз:
https://dumpz.org/bBq2qrRBF4wK

метод get_username() чуть сложнее чем в примере.
Наверное это говнокод и можно сделать иначе, но я не знаю как.
61 1805579
>>05547
А синхронный init не плюнет экспешеном из-за того что у тебя в нем await?
62 1805581
>>05433

>накатил дебиан в виртуалбоксе


а чо не в контейнере?
63 1805582
>>05579
В этом и проблема что я не знаю как запустить этот метод без await.
64 1805590
>>05582
А то что ты не передаешь id при создании User это шо такое?
65 1805591
>>05590
id каждого юзера в вк, и через апи получаю и сохраняю его имя
66 1805592
>>05591
class User:
def __init__(self,id):

user = User()

Я про это
67 1805594
>>05592
а бля. накосячил. у меня есть лист из юзеров и я передаю конечно этот id
68 1805641
>>05232
При считывании условия:
- пустая строка => фолс
- нулл => фолс
- 0 => фолс
- фолс => фолс
69 1805642
>>05641

>нулл


Нан, простите.
image.png86 Кб, 1058x605
70 1805661
71 1805708
Какой самый простой и удобный способ вывести все возможные пермутации?
72 1805710
В общем, такое дело. Есть плевая задача ради которой не хочется поднимать селери.

Что имеем: django==2
Чего не имеем: брокер сообщений

Что нужно сделать? Отправить на сервис запрос, в ходе которого также должно отправиться письмо пользователю. Времени ждать, пока отправка запросу сервису рассылки писем выполнится, - нет.

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

Вопрос - можно ли как-то с помощью тредов/корутин реализовать это дело, в рамках запроса?
73 1805720
>>04878
1) убери приставки названий моделей у полей
2) чтобы получить id автора - достаточно просто обратиться к полю,и указать нужный атрибут "id".

Например

article = Article.objects.first()
author_id = article.article_author.id

либо

Article.objects.filter(article_author_id=id_number)

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

https://docs.djangoproject.com/en/3.1/ref/models/querysets/#prefetch-related
74 1805737
>>05521
Хочешь вместе вкатывать?
75 1805738
>>05710
в качестве брокера можешь редиску юзать, redis queue
76 1805740
>>05521
я уж думал ты нагугли чего нить, ищи path env и чекни не состыковки в них, либо удоли старый питон и оставь свежий
77 1805741
как отправить post multipart/form с json?
78 1805747
>>05738

Вопрос и был в том - можно ли тут обойтись без брокеров?
79 1805752
>>05710

Блииин, да это же можно на сигналах реализовать. Как я сразу-то не допер...
80 1805794
>>05720
Блин, я только сейчас понял, т.е. article.article_author это не просто имя автора, а прям целиком автор со всеми полями, так? А я начал кучу доп. запросов всратых лепить, получать всех авторов и сравнивать имена. Спасибо, стало понятнее
81 1805849
>>05737
это как?
82 1805852
>>05849
extreme programming

мимо
image.png3 Кб, 384x36
83 1805857
Аноны, помогите с редиректом в джанге плз. Вот когда на вьюху вешаешь декоратор @login_required он тебя не просто на страничку с логином кидает, а делает юрл такого вида (пикрил). Т.е. после того, как залогинишься он тебя отправляет на страничку, с которой ты попытался залогиниться, а не на захардкоженную.

https://stackoverflow.com/questions/806835/django-redirect-to-previous-page-after-login вот тут вроде примерно о том, но я если честно нихуя тут не понял. Может кто-то помочь тупому? Уже и доки читал, и стаковерфлоу, так нихуя и не понял
84 1805917
>>05547
Вроде как, делают через метод класса, вот примерно так: https://pastebin.com/S3MQjarF
>>05857
Что конкретно у тебя не получается?
85 1805959
>>05917

>Что конкретно у тебя не получается?


Не понимаю что куда совать.
Я если что этот анон:
>>05139
>>04878
Вот моя вьюха и темплейт, я не понимаю что куда и как совать, чтобы заработало.

<form method="post" action="./?next={{ redirect_to }}"> вот это например куда совать вообще? По идее в форму, но где, если я дефолтную джанговскую юзаю для логина. Тяжело поверить, что нельзя сделать нормальный редирект с дефолтной формой.

<a href='/login/?next={{ request.path }}'>Login</a> вот это вообще хуй знает куда пихать, ну и главное, я не хочу бездумно копипастить, даже если оно заработает, и я так и не нашел, где бы в доках это нормально описывалось. Смотрел в доках по авторизации, по формам, еще каким-то. Может я совсем тупой, и сам не понимаю, что мне надо...
image.png48 Кб, 624x343
86 1805978
>>05959
ну и офк уже пробовал просто
<a href='/login/?next={{ request.path }}'>Login</a> подставить в сайдбар,
<form method="post" action="./?next={{ redirect_to }}"> впихнуть в темплейт для логина
и вьюху изменить как пикрил, хуй (это к вопросу про бездумно копипастить)
87 1806050
>>05369
Удали старый питон. Или вообще оба удали и заново поставь.
88 1806055
>>05959

><form method="post" action="./?next={{ redirect_to }}"> вот это например куда совать вообще?


Скорее всего никуда. Потому как в форме логина у тебя есть скрытое поле с "next", что и есть твой redirect.

><a href='/login/?next={{ request.path }}'>Login</a> вот это вообще хуй знает куда пихать


Скорее всего никуда. Потому как декоратор @login_required должен делать это за тебя.

>Может я совсем тупой, и сам не понимаю, что мне надо...


У тебя вполне обычная реакция. В такие моменты лучше отвлечься, чаю попить и все такое.

>я не хочу бездумно копипастить


Ок. Давай попробуем подумать как это все должно работать:
1. Пользователь жмёт на ссылку, запрос идёт во вьюху, где его проверяют на авторизацию.
2. Если он не авторизован, то декоратор @login_required посылает его на вьюху логина, от себя добавляя в query ?next="путь_к_предыдущей_странице"
3. Вьюха логина получает этот запрос, берет из него значение "next" пихает его в невидимое поле твоего шаблона, из шаблона делает страницу с формой и отдает пользователю.
Если это так, или примерно так, то ты можешь это проверить:
- когда тебя переадресует на страницу логина, то в форме должно быть то самое скрытое поле с тем самым значением "путь_к_предыдущей_странице". Надеюсь, ты знаешь как открыть соснольку разработчика в браузере.
89 1806103
>>04137
Что было?
90 1806127
>>06055

>Потому как декоратор @login_required должен делать это за тебя.


Этот декоратор висит только на одной вьюхе, которую я даже не скидывал, с чего ты взял, что он висит? Декоратор-то сам работает нормально, но я не хочу, чтобы только залогиненные могли лазить по сайту, декоратором я закрыл только определенные странички, например где нужно комментарии оставлять.
91 1806136
>>05708

itertools
92 1806225
>>06127
Если ты хочешь делать редиректы как это делает декоратор @login_required, ты повторяешь ту же последовательность действий, только добавление дополнительного параметра "next" и пересылку запроса другой вьюхе выполняет твой код.
То есть тебе не надо добавлять в темплейтах в ссылки "?next={{ }}", ты просто во вьюхе проверяешь надо ли тебе редиректить этого пользователя на страницу логина, если надо, то используешь функцию redirect_to_login(next)
93 1806252
Надо бы провести в Питоне небольшой тест с утилитой ping

Отправить на хост запросы ping с разным размером длины пакета и посчитать время отклика. Как из Питона обратиться к ping и как прочитать ответ?..
95 1806271
Как сделать нейроночьку для распознавания капчи?
96 1806298
>>06271
Стать гуглом))0
97 1806316
98 1806321
>>06298
Там ничо не понятно, библиотеки не подключаются, ничего не получается, ошибки сыпяться
99 1806336
>>06316
Нет царского пути в математику. И нет царского пути в программирование.

> начиная от самого простого и сложного


Вот здесь правильная мысль.

> удивить РАБотодателя


Делай то что ты собираешься делать в будущем. Веб-разработка? Значит делай сайты. Аналитика и бигдата? Делай это. Машоб? Делай машоб. Гуи на десктоп? Делай гуи на десктоп.
Аноним 100 1806427
>>05492
И что мне с ним делать? Никогда не нуждался в виртуальной среде.
101 1806638
>>06427

>И что мне с ним делать?


использовать (с) КО
76DEECFB-3D9D-43D4-8338-CC7A92E9740D.jpeg44 Кб, 541x773
102 1806672
Аноны, скажите как улучшить резюме вкатывальщику без опыта работы
103 1806674
104 1806677
A3BE0861-FC90-4B2A-A260-28700A3CA38A.png675 Кб, 1196x3053
105 1806678
106 1806679
>>06672
Опыт работы и цель убери. В проекты добавь более детальное описание и ссылки на код. Навыки разбей по категорям. К сертификатам тоже можешь добавить описание.

Дизайн у тебя в целом неплохой, но резюме слишком пустое. Даже если у тебя нет опыта работы, ты можешь добавить описание к каждому проекту и сертификату.
107 1806683
>>06672
Сколько ты это проходил чтобы освоить?
108 1806684
>>06679
Спасибо
109 1806743
>>06683
Суммарно месяца 3-4
110 1806847
>>06743
остались ссылки на материалы?
поделись анон
111 1806865
>>06743
Быстро, есть какой-нибудь проект для портфолио? На что рассчитываешь? Степик, кестати, бесплатный?
112 1807003
Кто нибудь может подсказать как из функции throw получить имя функции, которая её вызвала? Сейчас я передаю её как аргумент, но было бы проще внутри функции throw это выяснять. Питон второй если что. Вот код для примера https://ideone.com/D1Y0BT
113 1807006
>>06847
Сначала изучал чистый питон, начал с укуса, потом углублялся в алгоритмы и структуры данных, смотрел препода мфти, грокаем алгоритмы, решал задачи по питону, когда получил базу пошел на степик
Курсы на степике: введение в базы данных, git(имхо слишком сложный, но дает лишний сертификат), web технологии, python: основы и применение, введение в linux. После курса веб технологии остается проект на джанге - сайт с вопросами
114 1807008
>>06865
Курс web технологии на степике бесплатный, после него остается проект учебный на джанге, расчитываю на то что у людей кровь не пойдет от моего кода, ибо сам ревьювить не умею
115 1807017
Блять, я тут уже спрашивал подобное, но все никак не пойму и приходится мне к вам возвращаться, больная тема, хочу закрыть.

Вот к примеру на сайте есть js код и только после того как ты нажмешь что-либо - подгрузится новый html контент. По любому когда ты исполняешь js код, браузер отправляет какой-нибудь get запрос на сервер, давая знать что ты что-то исполнил, и он присылает тебе контент в ответ. Как средствами одного requests мне сделать этот самый запрос, чтобы сервер подумал что я исполнил js код, и отослал мне новый хтмл? В отладчике сети браузера я не вижу нихуя никаких запросов, только информацию что я получил картинки и всякое такое.

К примеру есть браузерная игра сессионка с лоббями. После игры партия заносится в архив сайта и можно просматривать историю ходов. Разумеется там все заскриптовано и если отключить жс то вообще ничего не увидишь. И как мне без всяких селениумов заставить его прислать мне контента чтобы я спарсил внутриигровые данные определенной партии?
116 1807020
>>07017
Бля, я забыл еще что чтобы партии просматривать там надо быть залогиненым, лол. Такую хуйню еще не умею делать, надеюсь это тоже без селениума можно.
996821679.png82 Кб, 736x736
117 1807139
Посаны, как xdist для pytest'a работает?

Ну вот я скачал плагин, а что и где писать, чтоб тесты в параллельке запускались? И как настроить, чтоб максимум 4 теста одновременно делалось.
image.png19 Кб, 590x251
118 1807145
Это нормально, что у меня продублированы интерпретаторы?

Когда я в VSCode тыкаю на «открыть терминал» и пишу pip install -r requirements.txt (клонировал репозиторий на компьютер), в какой из интерпретаторов устанавливаются нужные библиотеки?

Потому что в ответе пишет, что все нормально, requirements установились, но когда я пытаюсь запустить код, каких-то библиотек все равно нет
119 1807150
>>07145
У тебя их 4, а не 15. Проверь опытным путем. Кто знает что ты там накуралесил.
120 1807210
Пизда рулю
Выискивал 5 часов ошибку, почему данные не сохраняются в кеше. На самом деле они сохранялись. Просто обращения происходили через словарь, где в качестве ключей использовались integer, а искали через string. Заебись.
юзайте для ключей всегда только str, нахуй выебываться
15844742101290.png1 Мб, 1280x960
121 1807225
В каждом проф-треде на дваче ноют новички, которые не хотят работать за опыт/портфолио, а хотели бы ещё и денег за работу получить.
Написал в прошлом треде предложение о своей супер-пупер программе (которая, как мне намекнули, достаточно просто реализуется) - 0 откликов.
Питонщики зажрались(
122 1807243
>>07225
Я гребу на околоэнтерпрайз параше в бэке, мне некогда
123 1807266
Сап, двач.
Объясните нубу, почему записи?

while arr > arr[i - 1] and i < len(arr):
i += 1

и

while i < len(arr) and arr > arr[i - 1]:
i += 1

неэквивалентны и в одном из случаев выдает ошибку out of range?
124 1807268
>>07266

>while arr > arr[i - 1]



И нахера ты сравниваешь list с элементом этого самого list?
что интерсно в 2.7 на PyPy ошибка не рейзится
125 1807275
>>07268
ой, там arr > arr[i -1]
126 1807276
>>07275
Бляд
arr[ i ]
127 1807281
>>07266
Если выражение слева от and равно False, то и всё выражение целиком будет равно False, поэтому питончик не проверяет выражение справа от and. Поэтому даже такое сработает:
if False and похуй_что_тут_вообще:
pass
128 1807283
>>07281
Спасибо, анон
129 1807577
>>07139
бумп
130 1807605
>>07145
У тебя просто симлинки дистр делает в разные папки, это один и тот же интерпретатор.
131 1807611
Какую либу выбрать для анализа и захвата пакетов?
132 1807920
Ебать меня РАБотая завалили даже подышать некогда. На любимый питач не заходил уже неделю. Как вы тут, братцы. и сестры
133 1807921
>>06672
На джуна норм. Добавь фотку, если не всратый.
>>06679
Двачую.
134 1807937
>>06672
сертификат по git от степика - просто пиздец.
ебанутейшний лектор. бодро начал, а дальше нихуя не понятно.
абсолютно бесполезный курс.

да, у меня тоже есть этот сертификат
135 1807939
>>07937
У меня есть на линкдине значок что я знаю гит, только это нихуя не говорит вообще.
136 1807947
>>07937

>а дальше нихуя не понятно.


Так и должно быть. Если бы было понятно, то это был бы не git )
137 1807960
>>07947
нет, серьезно, этот конкретный лектор - хуевый
я бы хотел по-быстренькому на ютубчике просмотреть про гит, но придется все же книжку читать.
138 1807961
>>07960

>но придется все же книжку читать.


так будет тот же результат )
139 1807965
Аноны, как я могу сделать такой словарь:
{[1,2]:3}
140 1808005
>>07965
Можешь заменить список за кортеж
141 1808047
>>07965
ключ должен быть хешируемым объектом
Image 123.png2 Кб, 279x186
Какого хуя, анон? Только учусь. 142 1808149
Сап, аноны. Кто шарит в телеграм ботах - можете предположить что за хуйня на пикрил.
Аноним 143 1808153
>>07920
Живы. Сам как?
144 1808156
>>08149
чел пытается запустить py файл, но у ниго нихуя не выходит, вот что на пике
145 1808157
>>08149
гугли How to add Python to Windows PATH
Аноним 146 1808158
>>08157
Проблема в банально-саном PATH?!
Сука. Если это так, обязательно умру оставив файл с параметрами path. И положу его себе под лопатки, когда буду в гробике.
147 1808160
>>08149
Скрипт запускается и успешно завершается. Ты успешен, расслабься.
148 1808165
>>08158

>Проблема в банально-саном PATH?!


Не факт, может у тебя в py файле нет основного цикла и приложение сразу закрывается
Аноним 149 1808167
>>08165
Пишу с библиотекой aiogram. Иду по туториалу, хули там не так может быть.
Аноним 150 1808169
>>08160
Спасибо, по(т/д)бодрил.
151 1808170
>>08167
сука блэт хули мы гадать должны, залей файл куда нибудь
Image 124.png57 Кб, 1358x655
Аноним 152 1808178
>>08170
if __name__ == '__main__':
executor.start_polling(dp)

Проблема в этой хуйне. Без этого куска, выходит первый пик. С ней, новый пик.
Image 124.png57 Кб, 1358x655
Аноним 153 1808179
>>08170
if __name__ == '__main__':
executor.start_polling(dp)

Проблема в этой хуйне. Без этого куска, выходит первый пик. С ней, новый пик.
154 1808182
>>08178
Неавторизованный запрос
Аноним 155 1808191
>>08182
Что делать в таком случае?
156 1808195
>>08191
Авторизировать его
Аноним 157 1808198
>>08195
Тебя никогда не пиздили за твою логичность?
158 1808202
>>08198
А тебя за твои тупые вопросы?
Аноним 159 1808204
>>08202
К удивлению, нет. Ладно, ясно, спасибо за помощь.
160 1808320
>>03801 (OP)
Всем привет,аноны!
Начну сразу с сути,решил парсить дамп википедии по этому гайду: https://www.heatonresearch.com/2017/03/03/python-basic-wikipedia-parsing .
Cуть в том,что бы работать с дамопм википедии через xml.etree.
Подцепило тем что довольно резво работает(Всю вики за 23 минуты проходит)
Все бы ничего, да только вылезла проблема: если текст у елемента довольно большой, что часто бывает на страницах википедии, то elem.text возвращает None.
Мне по сути весь текст внутри тега и не надо, мне хватит пару первых строк, но уже день не могу выудить их оттуда.Гугл что наш, что пендосский молчит по этому пвовду,так что шарящий анон, выручай.Если что,я тут сижу и отвечу на любые уточнительные вопросы.
161 1808458
БИДОН))000
162 1808467
>>08320

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


а ты уверен, что это из-за большого текста, а не из-за того, что элемент пустой? там могут быть плейсхолдеры
типа
<root>
<tag attr="hui"/>
</root>
Алсо 23 минуты это пиздец долго жи. Бери индексированный архив и ебашь разбор парралельно. У меня дамп русской википедии где-то за 3 минуты сжирает прямо из архива. Правда, там процессинг очень простой.
163 1808516
Какая сейчас адекватная вилка для бэкенд разработчика в ДС с опытом работы 1.5 года в конторе с хуевыми процессами разработки?
164 1808518
>>08516

>разработчика в ДС с опытом работы 1.5 года в конторе с хуевыми процессами разработки


80-100
165 1808520
>>08518
Хм, значит я очень хорошо прохожу собесы.
166 1808522
>>08520
Алсо мне казалось что 120-150к, именно такие зп предлагают работодатели, а я отказываюсь думая что продешевил.
167 1808526
>>08522
150 это уже начало сеньорской вилки. Для 1.5 лет опыта просто охуенно.
168 1808528
>>08526
Хз у меня знакомый мидлом на 200к проходил, мы с ним вместе гребли. Мне кажется реальный синьор за 150к не пойдет в ДС работать.
169 1808539
>>08528

>Хз у меня знакомый мидлом на 200к проходил


Иногда мне кажется, что я живу в параллельной вселенной где зарплаты вдвое ниже.
170 1808546
Какую книгу посоветуете< чтобы было мало воды и много кода? Может есть что-то на шилда похожее? Только не лутца, пожалуйста
171 1808574
>>07008
Дак ссылку на гит оставляй, всем двачем отревьюим
172 1808716
173 1808724
>>08153
Все по-старому братиш, работа-дом. Сам знаешь.
174 1808753
>>08546
"Изучаем Python" Марка Лутца.
175 1808755
>>08753
да я ебал рот читать 2000 страниц
image.png318 Кб, 415x581
176 1808756
177 1808758
>>08756
выглядит, как какая-то хуета для зумеров. я прав или это что-то годное?
179 1808763
>>08467
Да нет,в том то и дело что там прям <text>Много букв</text>.
И я убирал внутри тега текст по паре строк пока оно не начало возвращать не None. Нигде про такое не могу найти инфу.
180 1808766
>>08758
В самый раз для мелкобукв.
181 1808775
>>08766
ну если так, то стоит попробовать
182 1808798
>>08763
хуй знает. может какая буфферизация ебет вола? попробуй замени еетрипарсер на пуллпарсер и скорми ему файл в бинарном виде типа
with open('dump.xml', 'rb', buffering=0) as f:
parser.feed(f.read())
image.png55x102
183 1808801
>>08763
алсо, круто тебя на со обоссали
image.png34 Кб, 300x200
184 1808888
>>03801 (OP)

Анон, подскажи по пистону и рест-фреймворку Falcon - если у меня один процесс и в контроллерах я не использую асинхронность, сугубо hello world, то можно ли сказать что контроллеры thread-safe? Грубо гря получается по одному запросу одновременно, или я где-то объебался?
185 1809290
Дорогие мои. Кто-то пользуется этим принципом?
https://ru.wikipedia.org/wiki/Цикломатическая_сложность
186 1809294
Алсо, для чего и Как мы можем использовать .cfg конфиг в питоне? Что можем внутри указать, например и как пользоваться этим. Спасибо.
image.png1,2 Мб, 864x1096
187 1809360
>>09290

Конечно пользуемся. Добавляем его в pipeline, в СБОРОЧКУ/CI, через несколько месяцев понимаем что бизнес не платит за удовлетворение этой хуиты, выпыливаем, забиваем, смеемся в лицо дяде Бобу с его методами в 10 строк.
image.png49 Кб, 417x257
188 1809365
def equation_writing(a,b,c):
print(a,"x +",b,"=",c)
equation_writing(3,4,3)

Почему выводит дважды?
189 1809375
>>09365

замени print на return, я так понимаю, что первый раз печатает внутри функции, а потом еще раз результат функции
190 1809377
>>09375

ну то есть

return a + “ x + “ + b + “ = “ + c
191 1809380
>>09377

блять, я тот еще советчик)) функция принимает integers, а возвращает строку, поэтому

return str(a) + “ x + “ + str(b) + “ = “ + str(c)
192 1809411
>>09380
>>09377

А лучше сразу начинать следовать хорошим практикам и делать

return f'{a}x + {b} = {c}'
194 1809727
>>09360
А подробнее?
195 1809773
>>09727
В его дно галере не принято писать нормальный код. В репозиторий можно сливать любой мусор, а потом их сис. админ деплоит это руками на голое железо.
196 1809797
>>09773

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

У вас там всем заветам дядипиздабола Боба следуют? Небось water cooler moments насыщены дискуссиями о код-стайле. Эх, блядь, молодость.
197 1809987
Поясните за фриланс плис. Насколько выгодно делать тг ботов и продавать их, встречаю объявы что делают, под разные нужды, есть кто делает и толкает их, насколько прибыльно?
198 1810025
Анончики, чего необходимо придерживаться при работе с БД, чтоб избежать sql-инъекций?
Интересует конкретно sqlite.
На данный момент все форматирование строк в запросах заменил на вставку подготовленных операторов через '?'
199 1810185
есть модель Tree
class Tree(models.Model):
name = CharField
sort = IntegerField
parent = ForeignKey('self')
level = IntegerField
где level - уровень вложенности (0 - самый верхний родитель)

Нужно сделать структуру типа:
[{"name": '...', 'children': [{...}]}, ...]
отсортировано всё будет по sort
Объясните тупому, что значит получить структуру? Она в json формате должна быть что ли, тогда почему все в []скобках собрано?
200 1810186
>>10185
у тебя будет лист из обьектов класса Tree, как я понял.
И к нему уже будет применяться sort()
201 1810190
>>10186
Я так понял мне надо сделать все же json, а во всех вложения parent - child сделать сортировку, верно?
202 1810257
Сап, питонач. Вкатываюсь ваше это ойти с данного языка. Уже неплохо ориентируюсь в Flask, сейчас прохожу курс по sql. Куда дальше грести? Что учить? В какую область податься? Сам думаю между QA, Web, и DevOps. Подскажите что лучше.
203 1810262
>>10257

>2k21


>Flask

204 1810289
На связи опять анон, который учил джанго, у меня пеке было хуево, сейчас вернулся к занятиям, так и не разобрался с редиректом после логина, напомню, что я пытаюсь у себя проделать то, что описано тут: https://stackoverflow.com/questions/806835/django-redirect-to-previous-page-after-login , но то ли я рукожоп, то ли все изменилось, но у меня не получается.

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

>redirect_to = request.REQUEST.get('next', '')


то в next хранится нужный мне юрл, но сама страничка с логином не открывается, т.к. я так понял такой синтаксис для джанги уже не актуален, и нэкст надо доставать просто через request.GET[] как у меня на первом пике.

Короче я так понимаю мне надо где-то на стадии уже полученной страницы с логином нужно где-то сохранить этот кусок урла, и потом отправить его в пост запросе, и я так понял хидден в темплейте логина - плохая хуйня, какие еще есть способы?
205 1810291
>>10257

> Уже неплохо ориентируюсь в Flask


Теперь можешь начинать учить FastAPI
Мимо ненастоящий кодер
pycharm64yjyACPOp6p.png136 Кб, 1363x616
206 1810292
>>10289
блядь, пикчу забыл, вот така хуйня
207 1810314
Какая есть нормальная IDE чтобы выводила типы и позволяла навигироваться по сорцам? PyCharm хуйня какая-то по дефолту, может плагины какие-то нужны?
208 1810467
>>10314

>чтобы выводила типы


from typing import *
209 1810472
>>06672
Я при вкате писал говносертификаты и спиздил чужой код с гита. Сейчас, если бы сам кого то хейрил, то не обращал бы на это внимание вообще.
210 1810473
>>10314
Если ты не указываешь типы, то за тебя этого никто не сделает. У нас тут динамический язык.
211 1810481
Добрые Антоши, подскажите плес реально ли за 2-3 месяца (лучше за два все таки) подготовиться, чтобы пройти интервью во всякие крутые конторы (имеется ввиду способность решать на пайтоне алгоритмы и вот это вот все)? Питон учил лет 7 назад, но он отвалился за ненадобностью, увы. А сейчас я должен все это дико быстро вспоминать.
212 1810494
>>10481

>пройти интервью во всякие крутые конторы


>за 2-3 месяца


А сам как думаешь?
213 1810504
>>05208
Тот же бэк для вэба на джанге
214 1810573
>>09797
>>09773
Не, ну расскажите же о чем Боб учил? Как это на примере в работе приминять.
image.png447 Кб, 1278x615
215 1810602
216 1810668
>>10473
А откуда я знаю тип, который мне возвращает функция из какой-то либы?
217 1810681
>>10668
чудес не бывает

IDE может вывести тип если ей есть на чем основываться - или автор кода где-то использовал явный тип или информацию о типах оставил. или библиотека описана в typeshed
218 1810682
>>10668
typed либа может быть
219 1810684
>>10681
Я так понимаю, в pandas, numpy, scipy на это все хуй положили, да?
220 1810686
>>10684
не все любят захламлять код типами
многие любят как раз из-за того что он кря-тайпинг в противовес языкам, где нужно явно указывать типы
и типизация для них только "засирает код"

К тому же typing это питон3, а либы писались во времена питона2 и совместимость мешает все тайпингами обвесить
221 1810687
>>10684
А там это нахуй не надо вообще.
222 1810688
>>10686
Эх, щас бы лезть в документацию/сорцы, чтобы понять, что тебе функция вернула.
223 1810693
>>10688
так то это норма в кря-тайпинг языках. в этом и суть кря-тайпинга
и для него тайпхинтинг по факту костыли которые противоречат самой сути кря
224 1810709
>>03801 (OP)
Так а с какой книги начинать, если я вообще никогда ни на чём не программировал? Везде пишут код, а куда его вводить я не понимаю, есть что-то для совсем новичков?
Я просто увидел копипасту "завтра ищешь в интернете книжку dive into python" и хочу делать имиджборды, но dive into python мне слишком сложна а ещё я незнаю английский, да
1532822.jpg25 Кб, 288x400
225 1810715
226 1810728
>>10709
сейчас же идешь и смотришь канал на ютубе хауди хо пайтон за час, потом джанго за час , а потом отправляешь свое резюме куда нить где платят 300к наносек , и вот ты бэкэнд деволопер 300к наносек
227 1810748
>>10728

> хауди хо пайтон за час


Это без сарказма? Нет цели 300кк/нс, хочу писать всякую фигню чтобы она что-то там делала или печатала, охуенно же
228 1810799
>>10748
Ну а что тебе еще остается, если ты даже не понимаешь куда код вводить, и пришел за ответом сюда
229 1810806
>>10748
гиперскилл по пистону. если первый майлстоун первого проекта делаешь быстро — получаешь 1 месяц триала. если за этот месяц доделываешь первый проект — получаешь еще 2 месяца триала. штобы ты знал, первый прокт это что-то типа крестиков ноликов. так что 3 месяца триала изи получить.
https://hyperskill.org/onboarding
230 1810817
>>10799 >>10748

upd:если не хочешь легким способом изучить весь питон за 2 часа то вот можешь еще посмотреть, начиная от того как установить на шиндовс интерпритатор(штука которая будет переводить твою писанину(код) в команды для процессора) https://www.youtube.com/watch?v=IU4-19ofajg&list=PLQAt0m1f9OHvv2wxPGSCWjgy1qER_FvB6&ab_channel=egoroff_channel
231 1810818
>>03801 (OP)
Хочу посчитать количество строк кода в проекте. Офк пустые строки или закомментированные считаться не должны. Также желательно не считать докстринги. Как это сделать?
232 1810825
>>10818
открываешь файл в редлайнс проходишься по строкам фором
строку стрипишь чтобы табы и пробелы и смивол переноса строк убрать с обоих сторон и если длинна 0. или стартует с # или стартует с доксимволов то пас иначе строки+=1
233 1810839
>>10257
а теперь бери django + drf, и пиши на нем свой двач(либо aiohttp - лучше, но сложнее). Дальше устраивайся джуном.
Если знаешь алгосы, патерны и можешь минимально пояснить за проектирование систем - то иди в продуктовую компанию.
Если не можешь - иди в небольшую галерку, чтоб через годик свалить
234 1810841
>>10292
дак у тебя в поле next - действительно пустая строка. Ты в него ничего не добавляешь
235 1810846
>>10693
Кажется ты не понимаешь сути кря.
Подумай - почему утиная типизация используется не только в диамически, но и в статически-типизированных языках(например go)
236 1810869
>>10825
Красота. Только вот UnicodeDecodeError постоянно всплывает. Пиздит что байтики прочитать не может то тут, то там. Как вообще понять в каком формате файл открывать? При utf8 везде как видишь не срабатывает
237 1810873
>>10846
вики
"Неявная типизация, латентная типизация или утиная типизация — в ООП-языках — определение факта реализации определённого интерфейса объектом без явного указания или наследования этого интерфейса, а просто по реализации полного набора его методов"

Я выделил жирным саму суть.

А суть в том, что хоть в питоне всего лишь хинтниг (явное указание, но не наследование) это все равно ломает идею кря.

у тебя было
def foo(a):
a.bar()
a.baz()

даже если ты всего лишь описал протокол с методом bar()

def foo(a: BarableProtocol):
a.bar()
a.baz()

то работать будет, но иде будет выделять baz как ошибочный. Потому что явное указание типа (контракта) ломает идею "зуб даю, этот метод там будет в момент вызова" потому что сам контракт описывает то, что должно приплыть в метод

таким образом любое указание на интерфейс объекта противоречит идее кря
238 1810874
>>10869
я мимокрок и хз о чем вы
но в питоне для утф8+BOM нужно указывать кодировку "utf-8-sig", а для просто utf8 "utf-8"
239 1810891
>>10874
Если не указывать, будет utf8, я не об этом
На данный момент открываю файлы в бинарном формате, проблем не возникает. Вопрос лишь в том, как мне до открытия по метаданным понять, в какой кодировке файл можно открыть?
240 1810894
>>10818
Вот что получилось (это один крупный проджект, что попался в руки):

{'py': 62989, 'js': 12876640, 'ts': 1533118, 'php': 229729, 'html': 127282, 'css': 231549, 'json': 739869, 'txt': 52950, 'other': 2014346}

Слева расширение, справа - число строк кода. В other все что не попало в указанные расширения (за вычетом всякой ебени вроде jpeg, svg, png - это сразу фильтровалось)
241 1810914
>>10873
суть в том какие проблемы она решает
242 1810921
>>10693

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


Сижу на проекте где пистоновский модуль написал при помощи тайпхинтов и паттерна Dependency Injection (все зависимости определяются явно при инициализации объекта, как правило каждый объект инициализировал лишь раз) - полет нормальный. Без тайпхинтов там можно ебануться, а так сразу очевидно что за объект мы принимаем (или что за интерфейс) и что возвращаем
243 1810942
>>10921
Плюсую!
Большой проект без типов поддерживать - вообще жопа
244 1810948
>>10942
На самом деле большой проект на питоне - жопа
245 1810949
>>10948
На самом деле питон - жопа
246 1810950
>>10948
большой проект на динамически типизированном языке - жопа
247 1810951
>>10950
вот кстати явный пример жопы: >>10894
248 1810955
>>10950
Это правда. Слава типам!
249 1810990
>>10921
Я тоже сверхактвно юзаю хинты.
Я всего лишь напомнил что есть люди которые считают что хинты рушат саму суть динамичности и крякнутости языка

Меня в питоне подкупает скорость "хуяк хуяк и в продакшен"
И для этого и юзаю
250 1810995
Аноны, очередной вопрос знающим, ну или теоретикам, на порассуждать.
Какая схема работы подойдёт лучше, для масштабируемой системы:
1. Сервер на котором сразу все. Nginx+flask+pgbouncer+postgredql. И таким образом набор этих сервисов раскинуть по все регионам.
2. Сервер на которых веб часть(Nginx+flask) и один(под каждый регион) отдельный сервер под бд(pgbouncer+postgres).

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

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

Деплой идёт докер-композом.
Неужели кубернетосы завозить надо?
251 1810998
>>10995
поставить отдельные сервера для пингов по всему миру. пинг будет зашибись

а так это лучше спрашивать в теме про хайлоад
252 1811003
>>10921
Вообще писать с типами это как минимум удобно. Понятно что идет на вход функции и что она возвращает, автокомплит от IDE, меньше опечаток, так как несуществующий метод или свойство будет светить IDE.
253 1811013
Ебал я postman. Тестировать json api вообще не получается, только если им сгенерировать код для пистона, например. Может есть аналоги какие?
254 1811014
>>11013
Че значит не получается? Может ты криворучка просто?
255 1811035
>>11014
Может и криворучка. Но один и тот же запрос с одним и тем же JSON из под soupUI работает, из скрипта работает, а из ебаного postman Failed to decode JSON
256 1811038
>>11035

>Failed to decode JSON


Ну-ка покажи свой запрос и я обоссу тебя.
257 1811040
>>11038
На память -
POST 127.0.0.1:5000

> headers


Content-Type : application/json

> body


{
"origin_url": "something.com"
}
258 1811041
>>11040
А ответ?
259 1811042
>>10995
А проблем со сбором данных не будет при сервере на каждый регион?
260 1811043
>>11040
Ну и соответственно в postman body - raw - json. В curl тож эту ошибку отдает. Есть мнение, что кавычки экранировать надо - но мне не помогло.
261 1811045
>>11041
Из под postman -

> "message": "Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)"



Из других утилит - JSON с созданным объектом.
262 1811046
>>11045
Обоссан.
263 1811052
>>11046
Ок.
264 1811060
Антоны, скажите пожалуста как загуглить какой-нибудь алгоритм, который из списка с объектами у которых есть связи на себя(parent-child) сможет построить дерево, например в питоне со словарями. Мне бы какой-нибудь хотя бы словесный алгортим, чтобы велосиед не придумывать
265 1811071
>>07605
Спасибо!
image.png13 Кб, 750x142
266 1811089
Какой дегенерат это придумал? Аргументы в другом порядке должны идти!
word_list.join(" ")
267 1811102
>>11089
Чего блять?
268 1811111
>>11089
а что если в списке объекты класса fingers или объекты класса ass у которых нету не __repr__ не __str__ зачем в таком случае листу нужен такой метод? и в таком случае тданный метод в строке а не в спистке смотриться вполне логичнее уже
269 1811114
>>11102
челик имеет ввиду что он хочет листу метод джойн в который передается строка который вернет строку, а не строке в его джойн передавать список
270 1811115
>>11111

>у которых нету не __repr__ не __str__


А нахуя ты тогда на них Join вызывешь, паскуда?
271 1811116
>>11115
Лучше скажи зачем объекту метод который ему противоречит и приводит к крашу, который даже в случае положительного кейса возвращает ни как не относящееся к себе объекты? порванка
272 1811118
>>11116

>который даже в случае положительного кейса возвращает ни как не относящееся к себе объекты?


Че блядь?
273 1811120
>>11118
ну кто понял тот понял , а кто не понял учитесь пока тру кодерки живы B)
274 1811139
>>11114

>листу метод джойн в который передается строка


НА
ХУ
Я
?
BuddhaSidhartaGauyama.jpg102 Кб, 486x640
275 1811163
>>10950
большой проект на любом языке - жопа
276 1811168
>>10921

> а так сразу очевидно что за объект


Union[dict, Callable[[Tuple[dict, set]], List[Union[set, list]]]]
277 1811171
>>11089

> Аргументы в другом порядке должны идти!


Аргументируй почему.
278 1811173
>>11060
Да нет никакого особенного алгоритма, просто берёшь и строишь дерево соединяя parent-child циклом.
279 1811179
>>08756
Ебать какая штука интересная.

мимо-интегрировал-питоны-с-майнкрафтом
280 1811180
>>11139
плохой вопрос,нахуя метод или нахуя в него строка передается, да и в любом случае адресован не туда
281 1811181
>>11168
Для такого юзаются интерфейсы
282 1811183
>>11171
Потому что это логично блядь. Ты джойнишь что? Список или пустую строку?
283 1811190
>>11183
А если я джойню пустой строкой. Или пустая строка, склеивай вот это. Там же не только списки, там любой итератор можно склеить.
284 1811191
>>11181
Каким образом?
285 1811199
>>11190

>там любой итератор можно склеить.


>а что если в списке объекты класса fingers или объекты класса ass у которых нету не __repr__ не __str__ зачем в таком случае листу нужен такой метод?

286 1811204
>>11199
Это возражение или подтверждение? Непонятный какой-то гринтекст.
287 1811206
>>11204
Щас бы на дваче подтверждать что-то.
288 1811207
>>11199
любой строковой итератор мань, хватит исходить на говно, включи хоть немного серого вещества и поубавь ненависти к обществу за то что ты такой и все у тебя получится
289 1811209
>>03801 (OP)
Почему пикрелейтед код не вызывает редирект?
Например я обращаюсь по сокращенной ссылке hui

>127.0.0.1:5000/hui


В бд на short_url = 'hui' возвращает original_link='2ch.hk', это все проверял.

В итоге ссылка меняется на

>127.0.0.1:5000/2ch.hk


А результат на пике 2
290 1811210
>>11207

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

291 1811211
>>11206
Ну так а в чём суть возражения? Что не склеит нестроковые объекты? Ну выпадет эррор, и чо? А вот обязать любой итерируемый объект реализовать метод join — вот это пиздец. Особенно если мой объект генерирует нестроковые объекты, которым этот join и даром не сдался.
292 1811213
>>11210
ну все мань, питон нелогичный и вообще говно, мой тебе совет, хочешь логичности иди в js
293 1811215
>>11211

>А вот обязать любой итерируемый объект реализовать метод join


В питон не завезли реализации по умолчанию?
294 1811218
>>11215
завезли, но тебе не логично
295 1811219
>>11215
Дело не в этом. Дело в минималистичности интерфейсов. Итератор должен иметь только метод next. Если ты хочешь реализацию всего на свете прямо в стандартных типах, то тебе в руби.
296 1811220
>>11219

>Итератор должен иметь только метод next


С этим я согласен, но речь была о списках.
297 1811224
>>11220
А как же множества, кортежи, словари, ещё тысячи разных структур? Им всем тоже join надо? Как ты будешь объяснять пользователям почему list.join есть, а dict.join нет?
298 1811229
Поясните, смотрят ли наниматели в гитхабы вкатышей? Ну, я имею в виду ситуацию, когда ты сам явно в резюме указываешь ссылки на свои проекты.
Вот я с универа (щас мне 24) пилю всякую хуйню в опенсорс, у меня зеленый гитхаб, есть немножк звездочек от одноклассников, пры в чужие репы, есть даже работающий сервис, которым пользуется минимум с десяток мимокроков. Но так как я по натуре крайне мнительная даун-аутист короче личность, то за все время учебы не было ни одной попытки куда-нибудь вкатиться хотя бы стажером, как мои одногруппники. А теперь вот приспичило, так сказатб...

Просто гадаю, как мне резюме составить: честно, как есть - култори о том, что ещё нигде не работал, но очень люблю заниматься кодированием + ссылочки с подробным описанием проектов; либо кулсторти + "добавить" годик реального опыта в рогаикопыта...
299 1811231
>>10998
Не, с пингом разобрался, тут cloudflare и их балансировка в помощь.
Разве у тут есть живой тренд про хайлоад?

>>11042
Если ты про синхронизацию данных в бд то проблем не будет, будет задержка небольшая, но тут дело такое, что ты находясь в северной амуреке вряд-ли очень часто меняешь место пребывания своего и задержка в синхронизации на 10-15 секунд на тебя не повлияет. Все таки ты будешь ходить на один и тот же сервер, с высокой долей вероятности.
300 1811232
>>11229
Если смотрят, то не особенно глубоко. Гитхаб очень легко подделать. Ты можешь файл в своём проекте как пример хорошего кода привести. Или заработать себе известность, и впоследствии работу, если делаешь что-то нужное и значимое.
301 1811283
>>11220
У тебя хуй на списки что ли стоит? Открою тебе секрет: в метод join можно передавать не просто список а произвольный Iterable
302 1811286
>>11283
И в чем блядь смысл доеба >>11111 тогда?
303 1811376
Подскажите как прокинуть конфиг в дочерние модули?
В главном файле делаю следующее:
import configparser
...
config_filepath = path.join(path.abspath(path.dirname(__file__)), 'settings.ini')
conf = configparser.ConfigParser()
conf.read(config_filepath)
Всё ок, но как теперь к нему обратиться из других скриптов, которые вложены в папку?
304 1811377
>>11376
Они, к слову, вызываются из этого главного файла. Отправлять переменную с каждым вызовом функции же не вариант, как и читать в каждом модуле конфиг заново (не dry).
305 1811498
Я правильно понимаю, что если юзер ввел неправильные данные (например, почту в невалидном виде) - нужно возвращать код 422?
306 1811499
307 1811501
>>11499
Но запрос то верный синтаксически, а вот данные в нем невалидные
308 1811503
>>11501
Те че-то неясно сука?
309 1811596
>>11376
Собери функции модуля в класс. Передавай конфиг как параметр класса. Либо делай глобал и импортируй его из главного модуля.
310 1811602
>>11498
Можешь и 422 отправить. Или 400 с описанием что не так. Главное чтобы ответ был 4хх и клиент понял что сам накосячил. Алсо, убил бы сука за валидацию почты. В ней единственное что должно требоваться это наличие собачки.
311 1811631
Подскажите, если я делаю сервис типа goo.gl, то ссылки которые нужно сокращать можно передавать просто в GET запросе после ?, типа /short?url='ccылка' или по правилам нужно делать POST запрос, а в теле запроса указывать ссылку которую нужно сократить?
312 1811634
>>11089
Дохуя лет в питоне и тоже недоволен этой хуйней
313 1811637
>>11209
Попробуй https://2ch.hk
314 1811638
>>11637
Еще добавлю. Присмотрись к аргументу permanent, вместо того, чтобы использовать code
315 1811645
>>11631
Надо POST.
1. В случае GET все ссылки пользователей окажутся в логах сервера.
2. В случае GET можно где-нибудь запостить ссылку типа /short?url= на твой сервис и какая-нибудь генерация превьюшек нагенерит тебе сокращений для левых людей, которые и знать не знали про твой сервис.
3. В случае GET ответ может закешироваться в проксях. Конечно для сокращателя ссылок это наверное не так страшно, но придумать как это может сломать пользовательский опыт можно.
316 1811648
>>11645
Спасибо, буду делать через пост
317 1811702
>>11634
Дохуя лет, а мозгов все нет

--> >>11283
318 1811814
>>11702

>Можно передавать любой итерируемый объект


Дальше че? Пусть в любом итерируемом объекте будет join, а не только в строке
319 1811829
>>11814

>Пусть в любом итерируемом объекте будет join


Мальчик, отойди в сторону, не мешайся. Тут Большие Дяди разговаривают
320 1811845
>>10494
у меня есть опыт работы в ойти почти в 10 лет. нас тут 300 человек на мороз выкинули через layoff. работы много. у меня бывает по 30-50 звонков в день. но многие конторы требуют coding skills, хотя я больше инфраструктуру поддерживал (DevOps я). чтобы попасть в фаанг люди сидят в leetcode по полгода. вот поэтому и интересуюсь на сколько это реально за пару месяцев поднять питон с алгоритмами.
ps: я нахожусь в швятой, да.
321 1811860
>>11845

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


>ps: я нахожусь в швятой, да.


Учитывая твой опыт, может хватить и нескольких месяцев. Все зависит от того, чем ты занимался. Может ты десять лет писал круды, и встанешь в ступор при попытке написать алгоритм сортировки.
322 1811872
>>11860
все так. алгоритмы и питон я учил в 2013 году. все это отвалилось и забылось за ненадобностью. Спасибо, буду долбить. Другого выбора у меня нету.
323 1811879
>>11829
Дядя, ты бы пиздовал на хабр со своим чсв
324 1811909
>>11829

>Большие Дяди


Что ты тогда здесь забыл? Иди в джава-тред, писать абстрактные фабрики.
325 1811911
>>11879

>чсв


кек, чсв любого прогера может пробить стратосферу, от этого не избавиться
326 1811918
Вопрос:

На мой JSON API поступает PUT-запрос, причем в нем заполнены не все поля, а только те, что нужно обновить. Функуция -
@app.route('/product/<id>', methods=['PUT'])
def update_product(id):
product = Product.query.get(id)

name = request.json['name']
description = request.json['description']
price = request.json['price']
qty = request.json['qty']

product.name = name
product.description = description
product.price = price
product.qty = qty

Так вот вопрос - как мне обработать запрос, если в запросе приходит всего одно поле? Покрывать каждое поле if-ами? if 'name' in request.json?
327 1811923
>>11918
Очень хочется сделать что-то типа:

for i in request.json:
eval(f"product.{i} = request.json)
328 1811934
>>11923
=request.json

Fix
329 1811943
>>11934
Макаба разметку сьедает
330 1811949
>>11923
вообще зависит что у тебя за фреймворк/орм

но как бэ если request.json это что-то типо дикта, а product какой-нибудь орм, то поч не сделать просто
product.update(request.json())

или если совсем тугое апи, то
for k, v in request.json(): setattr(product, k, v)
331 1811952
>>11949

> product.update(✵✵request.json())


ауе фикс
332 1811971
>>11949
О! Спасибо тебе, добрый человек.
333 1811972
Аноны, что можно порешать/почитать перед собесом краткого? Боюсь даже самые простые вещи напутать
334 1811974
>>11972
на leetcode смотришь top interview question с уровнем easy
скорее всего твои интервьюеры возьмут задачи околооттуда
335 1812009
>>11089
Хуя ебанутые )
336 1812010
>>11974
Спасибо, анон
337 1812012
>>11974
Я в гугл проходил интервью на контракт там хард задачи спрашивают.
338 1812013
>>11918

>@app.route('/product/<id>', methods=['PUT'])


Что это такое?
339 1812033
>>12009
Автор питона-то? Конечно.
340 1812047
>>12033
Забавно, что в нескольких виденных мною книгах, охватывающих основы питона, эта и несколько других особенностей специально пояснены. Вероятно, в документации тоже.
Но куда там толпе экспертов-вкатышей. Хорошо хоть большая часть убежала к жабаскриптерам с их смишнявками, которые скоро рандомные хуи на фишки.нет будут знать наизусть.
341 1812052
>>12047

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


Потому что неинтуитивны, ага.
342 1812053
>>12052
Да, так бывает. Языку 40 лет, ебать тебя в сраку.
В питоне и так слишком осторожничают, навешивая сто дополнительных контекстов на существующие кейворды, вместо введения новых.
343 1812056
>>12053
Таки 30, но сути не меняет.
344 1812064
>>12053
В третьей версии сломали совместимость со второй.
345 1812067
>>12064
На это потребовалось десять лет, причем список критических изменений весьма небольшой. И этот самый переход до сих пор не закончен. Нубы уже безальтернативно учат 3, но ровным пасанам надо знать оба.
346 1812072
>>12013
Декоратор фласка.
347 1812073
>>12052

>Потому что неинтуитивны, ага.


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

в языке где
in obj вместо obj.contains так то нормально
348 1812077
>>12073
Причина не в этом. Есть тот же len, который опирается на дандер-методы для каждого кастомного объекта. В случае с джойном решила семантика: строковый метод - получаем строку.
349 1812079
>>12073

>in obj вместо obj.contains


Да, кстати. По привычке пишу if jopa.__contains__(huy)
350 1812201
Хочу писать тг ботов и вот столкнулся с декораторами. В прошлом треде анон норм пояснил так. Но, я понял, но не совсем. Понял только что такой блок экономит время и удобнее писать. Можно еще пояснить плис за дек-ы. Например как делать декоратор. Написать раз ф-ю, потом в нее заворачивать остальные, или как? Как вообще такая хуйня делается. Понял что удобно. Объявил, и пишешь только то что она должна делать, остальное где-то написано и ладно. Поясните плис. Кста сколько роликов не смотрел по дек-ы все говорят по разному и пишут. Почему это так сложна ааааа блжд.
351 1812211
>>12201
Изучаем пайтон том 2 глава 39 декораторы
352 1812221
def f(x = 1):
x = x + 1
print(x)

f()
f()
f()

vs

def g(y = []):
y.append(0)
print(y)

g()
g()
g()

результат второго:
[0]
[0, 0]
[0, 0, 0]

Зин, какого хуя?
353 1812266
>>12221
список y он один на всех. особенность создания функций в питоне
354 1812305
>>12221
можешь сделать так с первой
def f(x=1):
f.__defaults__ = (x + 1,)
print(x)
355 1812365
Сап, двач.
Недавно совсем начал изучать язык и возник вопрос , где можно было бы найти человека , который мог бы помочь с изучением, мог бы отвечать на мои тупые вопросы и направлять? Так сказать ментора.
С одной стороны не понимаю зачем это кому то может быть нужно, кроме может быть поднятия каким то образом ЧСВ, но с другой стороны наличие старшего опытного товарища крайне ускорило бы процесс вхождения в тему.
В общем, как- то криво описал, но надеюсь мой вопрос понятен.
356 1812372
>>12365
За менторство берут почасовую оплату, цена тебе не понравится.
357 1812403
>>12365
зачем тебе 1 человек если есть целый тред проффессианальных кодерков 300к наносек?задовай свои ответы

>который мог бы направлять


направляю проверяй хауди хо пайтон за час
358 1812475
>>11209
Анон, решил проблему? Если да, то скажи как
359 1812519
>>11139
ну всегда так было. во всех остальных языках семантика именно такая.
360 1812618
посоны, а как лучше? как в жабе/c# или как на любимом питончике?
361 1812633
>>12618
интуитивнее выгодяти как
модуль.функция(параметры)
в питоне извернули
362 1812634
>>12618
на джавескрипт
Снимок экрана 2020-09-21 в 20.57.37.png157 Кб, 1666x1171
363 1812673
Сап, программисты.
Тут такое дело.. хочу написать бота для Discord'a на питоне. И все бы ничего, но возникла одна проблема.
Необходимо создать команду, при которой бот создает голосование (Embed с реакцией). И с этой задачей я справился. Но в силу своих умственных умений, не сумел справиться со второй задачей - рандом пик участника, который нажал на реакцию (при этом еще идет таймер на минуту, дабы все успели кликнуть).
Искренне надеюсь на помощь анона.
Пик рил - часть кода, где, собственно, располагается команда.
teeth.png51 Кб, 240x232
364 1812850
Делаю гуи программу, которая помимо тектовой информации с интернета загружает и отображает картинки.
Вот только делает она это каждый раз когда надо эти картинки показать.

То есть у меня есть фильм, к нему название, дата выпуска, обложка и тд.

Как это делать кешировать, чтобы каждый раз не загружать?
365 1812855
>>12850
Чисто предположение, можно записывать в некий файл все ссылки на загруженные картинки и если на сайте есть картинка с ссылкой которая уже есть, то брать картинку из папки с загруженными картинками. Так же можно создавать папку под все файлы конкретного url, если нужно загрузить новый урл, то создавать папку и туда все складировать, если папка с таким урлом уже есть, то брать файлы из нее
366 1812876
>>12855
Я тоже думал про папки.
Неужели нет другого метода
367 1812942
>>12876
Посмотри как браузер кеширует, мне кажется это самая простая реализация, кстати, если это твой пэт проект и ты хотел бы еще кого-то пригласить к разработке, пиши tg @yellowpearl
368 1812970
>>12942
Да у меня там какашка. Я сам только наполовину понимаю что я делаю
369 1812981
Аноны, скажите пожалуйста, уже голова не соображает, я получаю POST запрос, декодирую его и все слеши и двоеточия превращаются в %3A%2F%2F, во что декодировать, чтобы в программе все нормально было, чтобы были слеши и двоеточия
image.png10 Кб, 672x68
370 1812983
ХАй челики, помогите разобраться, что ту на картинке присходит
371 1812996
>>12983

потому что str.join он принимает self!!! потому такая магия
372 1813010
>>12983
reduce - это fold из функциональных языков программирования. Первым аргументом должна идти функция с двумя аргументами, которая возвращает объект того же типа что и оба аргумента.

str.fold - это метод с одним аргументом, но поскольку ты его вызываешь из класса, а не объекта, то self считается за еще один аргумент и используется по назначению. То есть str.join('a', 'b') превращается в 'a'.join('b'), и возвращает 'b' (второй аргумент). Так что твоя хуйня должна вывести последний элемент в массиве.
373 1813011
>>13010

>То есть str.join('a', 'b') превращается в 'a'.join('b')


О, а вот это прикольно.
image.png29 Кб, 1379x228
374 1813042
>>13010

>Так что твоя хуйня должна вывести последний элемент в массиве.


нет
375 1813055
>>13042

>нет


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

А все потому, что join в качестве аргумента ожидает список, а ты суешь ему строку. Но поскольку они оба (список и строка) iterable, то оно работает, и получается, что после каждого символа во второй строке вставляется первая строка.

То есть str.join("govno", "mocha") превращается в "govno".join("mocha"), что эквивалентно "govno".join(["m", "o", "c", "h", "a"]), и получается mgovnoogovnocgovnohgovnoa.
376 1813076
Почему в Techempower джанга такая медленная?
377 1813107
>>12981
from urllib.parse import parse_qs

decoded_url = parse_qs('https://www.google.com/search?q=url+example&oq=url+exa&aqs=chrome.0.0j69i57j0l6.2350j0j7&sourceid=chrome&ie=UTF-8')

{'https://www.google.com/search?q': ['url example'], 'oq': ['url exa'], 'aqs': ['chrome.0.0j69i57j0l6.2350j0j7'], 'sourceid': ['chrome'], 'ie': ['UTF-8']}

тип - словарь
378 1813191
>>12673
Я не понял, что ты хочешь, но у меня сразу 2 вопроса:
1.Почему таймер поставлен на 10 сек, а не на минуту?
2. Почему ты вызываешь синхронный слип в асинхронной функции, а не asyncio.sleep?
379 1813210
>>03801 (OP)
Как заделать авторизацию (проверку прав юзера) на серваке на aiohttp? Я как джангодаун привык что в каждом реквесте есть переменная user, с которой можно мутить что угодно, а как авторизацию имплементить в aiohttp?
380 1813214
>>11040
Дак ты не на память показывай, а реальные данные на которых не работает. Желательно скрином
381 1813245
>>13210
aiohttp-session
382 1813257
>>13107
Мое приложение принимает в пост запросе ссылку, а когда мне нужно получить тело запроса его нужно декодить, в итоге все слеши и двоеточия неправильно кодировки
383 1813359
Киньте ссыль на чат в тг по джанго плис.
384 1813433
>>13257
Версия питухона? Фреймворк какой?
385 1813438
>>13433
Версия соси хуй, фреймворк пошел нахуй, как-то так.
386 1813442
>>13438
Ну тогда понятно, почему у тебя все через анус работает
387 1813449
Где можно прочитать про метод формат и функцию формат на простом языке? Меня напрягают конструкции вроде "{0:,.2f}".format(данные). Хочу более лаконичное форматирование.
388 1813511
Почему так?
word_1 это строка
Причем если просто написать
search_result.append(word_1)
print(search_result)
то список выводится на экран нормально
389 1813513
>>13511
Потому что append изменяет лист и ничего не возвращает.
390 1813539
>>13438
Ребенок, пиздуй-ка дальше раковать в вкшечке
15969961402640.jpg103 Кб, 1200x894
391 1813560
392 1813615
>>13191
Таймер на 10 сек для теста. А второе хуй знает. 4-й день пишу бота и за 4 дня не сильно разобрался в питоне.
image.png18 Кб, 686x178
393 1813623
Ну ебаный в рот, слово prepend питонистам незнакомо?
394 1813647
>>13623

>prepend


подразумевает добавление в начало чего-либо.
а теперь вопрос на сеньёра:
а где начало у деки? слева или справа?
395 1813660
>>13615
Иди читай сначала, а потом пиши, чукча.
396 1813661
>>13647
А ты араб или европеец?
397 1813665
>>03801 (OP)
Змеены, а кто-нибудь разбирался в кишках tk/tkinter? Мне нужно рендерить кнопочки-курсорчики в картинку без вывода гуя на десктоп, а пользовательский ввод получать инжектом координат, эвентов и прочего мусора. Просто результатом отображения должен быть массив пикселей, который будет потом пожат и отправлен юзеру. Там можно так сделать или все гвоздями к x11/окнам приколочено?

Может, есть какая-нибудь батарейка для такого эрзац-гуя?
398 1813774
Если при создании класса, создать метод-конструктор с именем __init__ этот метод будет автоматически вызываться при возникновении каждого очередного объекта соответствующего класса.
Если я создам метод с другим именем, но тоже с двумя нижними подчёркиваниями в каждой стороны, этот метод будет тоже вызываться автоматом, или нет?
GRAF.jpg42 Кб, 1152x648
399 1813787
Аноны вопрос по графам, а точней по алгоритму Дейксты

написал функцию
https://pastebin.com/JKJHfXyn

Она выводит все веса(или расстояния ) от начальной точки.

Вопрос состоит в том, как добавить запись самих вершин короткого пути.

Например чтобы путь от А до D выводило так - ABCD - 65
400 1813789
>>13774
нет не будет, ели очень надо то можешь просто создать метод и вызвать его в том же ините если надо и при создании экземпляра класса он отработает,
401 1813791
>>13789
Спасибо
ТУЛЗА 402 1813935
Ест ли какая-нибудь приблуда для наглядного проектирования структур данных? Я привык сначала расписывать на бумажке все структуры, но хотелось бы автоматизации и всяких свистелок с перделками. Да ещё у меня вложенные классы, словари и всякие списки списков словарей. Нужна большая вложенность и древовидность,что не на каждую бумажку влезет.

Тружновато каждый раз это прогонять через дебаггер PyCharma - он ещё более менее показывает ту структуру, которую хотелось бы от инструмента проектирования.
403 1813982
404 1813990
Не могу понять, зачем на хх ру объявы, на должности питониста, если есть биржи фриланса. Где можно взять додика за 500 рублей. Или когда есть готовые решения на гите. Можно взять подправить и работать дальше. Если все так просто, то почему работодатель так щепетилен в плане образования макаки и прочего, знаний алгоритмов и тд и тп. Сам яп питон прост как палка, уже все написано, каждая либо задокументирована. ТАк почему так сложно найти работу, тем более, что стеки питоне - нигде не учат. Ну нашли одного, ученого, он все сделал, набрали других, обучили. И все. Нипонимаю, объясните.
405 1814006
>>13990
Зеленый или никогда не работал?
406 1814011
>>14006
Нет, я не зеленый очень серьезно спрашиваю. Мне на самом деле интересно почему так. Когда можно взять однгого, он обучит остальных. Питону не учат в универах, так же как бэкенду и фронтенду. Каждый работ предлагает свою стек, нет единой унификации - те что конкретно нужно знать. Заметил - знать надо вообще все. Это просто нереально.
407 1814016
>>14011
Питон один из инструментов не более. Как минимум нужно понимать сетевой стэк, базы данных и паттерны проектирования.
408 1814026
>>14016
Да, все по часу на ютабе. Но работодателю этого не достаточно. В требованиях пишут знания несколько яп. Также, знание всяких фреймов. Те помимо базы что ты указал, которую можно выучить на ютабе за день, нужно знать еще овердохуя всего, и либ на питоне, и других япов. И что самое интересное, на одну задачу - овердохуя либ, фреймов, решений и тд и тп. А единой унификации нету. В итоге, хз что учить, где учить. Как вообще устроиться на работку прогером. Думаю в рашке только такая трабла. В школе и в вузах учат хуйне, но кроме дс наверное.
409 1814028
>>14026

>Да, все по часу на ютабе. Но работодателю этого не достаточно.


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

> Как вообще устроиться на работку прогером. Думаю в рашке только такая трабла.


Да конечно, проблема в стране.
410 1814139
>>13665
чето странное выдумал.
передавать в консольку данные от удаленного процесса чтобы локально рендерился гуй?

ладно. ты смотрел guizero ?
а jupyter kernel protocol?
411 1814190
>>14026

>Да, все по часу на ютабе


Учебник по матану можно за 2 дня прочитать, по линейной алгебре ну еще 2. Ты сразу можешь в магистратуру идти, хули 5 лет терять.
412 1814201
>>14190
Ну да. В итоге, ни опыта, ни работы, ничего. За 5 лет технологии шагнули вперед, и вот ты знаешь, что есть матан, высшая алгербра. И появилось еще 100500 либ и еще 100500 обновилось. Ты тратишь еще 5 лет на обучение, сидя дома. Итого 10 лет, без опыта. Ты изучил все, без опыта. И снова
И появилось еще 100500 либ и еще 100500 обновилось. Ты тратишь еще 5 лет на обучение, сидя дома. Итого 10 лет, без опыта. Ты
a = 'И появилось еще 100500 либ и еще 100500 обновилось. Ты тратишь еще 5 лет на обучение, сидя дома. Итого 10 лет, без опыта. Ты '
While True:
Дальше сам уже.
413 1814239
>>14201
Я про это и говорю, в теории все просто и понятно, пока не попадаешь на задачи из реального мира.
414 1814301
>>13787
Так же как и веса. Для каждого neighbour записываешь node, которая дала new_distance, типа предыдущая точка на пути. Потом смотришь какая предыдущая нода у D, какая предыдущая у предыдущей и т.д.
https://en.wikipedia.org/wiki/Dijkstra's_algorithm
415 1814307
>>14139

Первое не то, просто гуй-либа, а второе прям из пушки по воробьям.

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

VNC передает просто картинку, то есть моя задача - собрать гуевое окошко, передать либе координаты пользовательского курсора и эвенты нажатия мыши, отрендерить результат, отправить его по VNC клиенту.
Kc651HQgTA.jpg21 Кб, 334x224
416 1814379
>>14026

>Да, все по часу на ютабе

image.png422 Кб, 800x558
417 1814380
418 1814381
>>14239
Я тебе про это и пишу, решает навык программирования на питоне. То есть навык. Навык. Навыыыык. НАВЫК.
А не книги по матану.
Работодателю, любому, нужна скорость решения задачи, чтобы было быстро и качественно, исходя из этого, надо делать быстро и качественно. То что он сказал, не больше.
Вот начитался ты курсов, хуйни из вузов, матана. Пришел, тебе дали реальное задание, сделать то то и то то. Нвыка нету. Хуй пойми какие либы. Как все это собрать и тд и тп. В итоге - дверь.
Тем более в рашке, все доки до на ангельском. Пока прочитаешь, переведешь, въедешь. Набьеш скилл. Снова - дверь. Прочитал одно на русском. уже версия питона - 6,0. Снова - дверь.
Я понимаю дрочить питон, и работу на нем со школы или вуза. А не так, вместе с бейсиком или паскалем. То есть учить сразу, решать задачи, которые нужны в реальном времени. Такого на сегодняшшний день - нигде нету, ни в одном вузе и ни в одной школе.
Нет унификации, единого требования, все решается через множество япов. Алгов и тд и тп. В итоге, хуй вообще пойми что делать. Я еще понимаю, в конторе работает друг. ХОтя бы подскаже куда копать. А так пришел, дали тз, и ушел.
419 1814386
>>14381
Так и задачи у всех разные. Подключиться к БД или запилить pool connection это навык на питоне?
А создать robust pool connection? А определить где хранить промежуточные данные в SQL или NoSQL? Хуй знает.
Ты сейчас говоришь про minimum viable project, который потом рефакторится и развивается.

Алсо, я так и работал. Дали ТЗ и предложили на выбор Java или Python. Легаси был на Java, были утечки памяти, в итоге все к хуям переписал на питухоне, потому что скорость разработки выше. Рефакторил после смены ТЗ и версий API.
15931986035840.jpg66 Кб, 1237x726
420 1814392
>>14380
Я в ебучей яме.
421 1814395
>>14386
Я тащемто про обучение. Выше уже писали, что на каждый чих - уже готово решение, мб только литл разница и все. Те именно для этой разницы и нужны челики дяде. Чтобы править. А с нуля - уже тоже есть решения. Так вот. Почему бы в вузах - школах, уже не готовить птонистов. Чтобы дрочить что нужно на работе там, нарабатывать скил - чтобы быстро и качественно. А то на выходе - выучил матан, физику, химию, бейсик. И все. И нихуя. Я например, хочу вкатиться, но меня не пригалашают. Мб потому что образование не профильное. А мб боятся что я тупо зафейлю. Я например, тоже боюсь что то делать с нуля. Дадаут тз если, сразу полезу в гугл, ютаб. Это потому, что в реальной жизни все по другому чем у лутца.
422 1814400
>>14395
А почему Java не учить? В МФТИ есть питонисты, тащемта.
Django например тупой комбайн AIO и примеров бэка на на нем овердохуя.
Какие готовые решения есть? Есть несколько систем, надо сделать адаптер, чтобы они могли общаться. Пишешь на питухоне такой адаптер. В одной системе запросы по SOAP, в другой REST.
Нужно хранить логи и промежуточные данные. Вот тебе реальная задача. Вот реальная задача.
423 1814410
>>14400
блжд, мск. в моем мухосранске - нету такого, даже явы лол. Я про это и говорю, что дсам повезло, их могут научить, тянуть. А меня - никто не тянет, и друзей в этой сфере нету. И все вузы - еще и платные. Вот я сам и ебусь. Плюс - я не так охуенно знаю англ, на уровне со влоарем. Мониторю хх ру, там требования, ебал я в рот. Очень много надо знать, опыт, и все с нуля ебать. Этому лутц меня не учил.
424 1814411
>>14395

> по другому чем у лутца


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

>готовить питонистов


обилие инфоциган явно показывает, что питонистов и так готовят

>меня не пригалашают


с таким отношением тебя даже на час просмотра зарплаты програмиста на ютубе не позовут
425 1814414
>>14307
господи, НАХУЯ ?
в чем профит если есть X11 ?
426 1814417
>>14411
Да нет, просто нужна работа. А на работе, в отличии от твоего маня мира требуют чтобы работа была сделана)
сори если рушу твоего лутца.
427 1814422
>>14417
Ну лутц то про програмирование, а тебе нужна работа такая чтобы по праздникам можно было куриный доширак купить комуналку платить и на средней дешовости интернет чтобы позволял на дваче срать
428 1814427
>>14410
ты просто сыкливый. Я пришел считай нулевый с Java Core и начальным питухоном. В итоге все на месте освоил, потому что например Лутц не учит как работать с RabbitMQ или как пользоваться ORM и нужна ли она или прямые запросы, лол.
Специальность мат методы в экономике, но я все нахуй растерял, перекатился в программирование в 29, короче 2 года только.
Никто не тянул, пиздил сначала код с SO, спрашивал там, потом начал гуглить, смотреть кто и как реализовывал какие-то задачи, потом тупо читал руководства по библиотеками, теперь еще и issues на github.
А хули делать? IT оно такое, иногда и без наставников ебашишь.
429 1814429
>>14422

> а тебе нужна работа такая


> ты не должне жить


> ты унтерменш


> ты не человек


> ты конченный скот


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



Ну глупо, рили так рассуждать.
430 1814430
>>14427
Бд и брокеры это вообще отдельная от языка тема.
431 1814432
>>14427

>Лутц не учит как работать с RabbitMQ


бля люто плюсую ну че ему сложно чтоле пидорасу старому а заодно и монге пусть научит и джаве скрипту ну и скл за одно куда же без него , вот же пидорас ленивый не учит нихуя
432 1814435
>>14432
И докеру, и новому синтаксису, и новому форматированию, и рыночным отношениям, и как искать работу, и как идти нахуй, как в рашке устроится прогером, как в мухосранске найти работу на питухоне, как знать все и сразу, как написать твитер с нуля, и торнадо, и фласк, и .... и ... и вообще все и сразу. Вот сука то.
433 1814450
>>14430
Ну не учат! Не учат жи! Как так!?
434 1814453
>>14432
А что там с монгой? РКН заблокировали сайт с документацией и примерами? Доступ стал платным? Уууу рашка. Надо валить.
435 1814460
>>14453
да че с ней че с ней это че с лутцом че ему трудно научить чтоли анонов желающих работать и чтоб работа была сделана и опыта еще дать и профильное образование чтоб на собеседования звали?

>Надо валить.


Кого?
436 1814464
>>14453
Ну а вообще согласен, где это видано чтобы работать програмистом надо оказывается уметь программировать, пиздец рашка о5 дно пробивает
437 1814469
>>14026

>Но работодателю этого не достаточно.


скажи ему этому обэмэ работадателю что ты квалифицированный специолист, у тебя такие мощные проэкты как просмтр хауди хо пайтон за час и джанго за час, и что он полный дурак раз ему этого недостаточно
438 1814472
>>14414

Профит в том, что источником изображения для VNC является не ось, а видеозахват. То есть у меня нет ни X11 на стороне сервера. У меня там кроме картинки из устройства вообще ничего нет.

Блядь, я не хочу аттеншнвхорить, просто показать будет проще: https://github.com/pikvm/pikvm

Я сделал байду, которая изображает из себя недо-IPMI. Мне надо в VNC, в котором рисуется BIOS компа, сделать менюшку для управления питанием и подключения сменных носителей. Ну и у меня два пути: сделать расширение протокола (его согласны добавить к себе и в стандарт челы из TigerVNC, потому что проект - не хуй с горы и пользователей много), либо рисовать картинку.. Я склоняюсь к картинке, потому что протокол потом в стандарте не допилишь, а мало ли чего мне еще захочется рисовать.
439 1814474
>>14472
Какой-то проект заброшенный был VNC на питоне с PyGame
440 1814478
>>14474

О, вот pygame наверное подойдет. Чот я забыл про него. Спасибо.
441 1814532
Двач, как сделать выход из этого цикла? нужно, чтобы когда вводишь exit, цикл, ну или вся программа прекращала работу.

while True:
choose = int(input("would like to view: > "))
print(animals[choose])
442 1814537
>>14532
while True:
----choose = input("would like to view: > ")
----if choose == "exit":
--------break
----else:
--------choose = int(choose)
--------print(animals[choose])
443 1814538
>>14537
от души, не додумался, что сначала нужно делать проверку на выход
444 1814545
Какое самое лучшее решения бекенад на питоне? И где можно эти решения посмотреть или комбинации разлинчые, про фласк там или еще как-то.
445 1814565
я не пойму, почему конструкция вида

a = ['один', ',', 'два', ',', 'три']
b = ' '.join(a)
b.replace(' , ', ', ')
print(b)

выдает
один , два , три
вместо
один, два, три
с пробелами по обе стороны запятой? Как их убрать в итоге?
446 1814567
>>14565
strip
447 1814575
>>14567
стрип же удалит все пробелы вместо одного перед запятой
448 1814581
бля, оказывается есть разница между одинарными и двойными кавычками
449 1814583
>>14565

>b.replace(' , ', ', ')



b = b.replace(' , ', ', ')
450 1814646
Пацаны, те кто тут сидит, кто реально нашёл работу на Питоне? И в каком направлении? Это ваш первый язык или нет?
self.PNG4 Кб, 489x55
451 1814693
Каждый метод экземпляра должен иметь первый параметр self
Объясните пожалуйста максимально доступно, как ребёнку, зачем?
Что означает строка self.name = name
452 1814694
Питонисты, расскажите, в чём вы пишите свой код. Какая-нибудь IDE? Какая? Как вообще выглядит профессиональное использование питона? Посмотрел бы что-то типа стрима рабочего дня.
453 1814728
>>14694

>Питонисты, расскажите, в чём вы пишите свой код. Какая-нибудь IDE? Какая?


PyCharm + Cmder в качестве терминала + Sublime для редактирования отдельных файлов, не входящих в проект.
454 1814737
>>14728
Благодарствую
455 1814752
>>14693

>зачем?


затем, что гвидо так захотел. ни больше, ни меньше.

>Что означает строка self.name = name


self - ссылка на себя
self.name - создать в себе переменную name
self.name = name - инициализировать переменную name аргументом функции __init__
456 1814754
>>14752
Пожалуй даже добавлю это в код, в качестве комментария.
Спасибо!
457 1814901
>>14301
>>14301
а если путей несколько? от старта идут 3-4 ветвления и к конечной точке идет столько же?
каша же получится
алгоритм чекает самое короткое расстояние и он будет скакать по всему графу
458 1814914
>>14694
VSCode с плагинами, Пучарм прожорливый. ГУИ для подключения к БД - DBeaver, потому что у него куча драйверов, из минусов - Java/JDBC
459 1814964
PyPy позволяет использовать многопоточность на полную?
460 1815034
def fahrenheit_to_celsius(fahrenheit=int(input())):
celsius = (fahrenheit - 32) * 5 / 9
round(celsius, 3)
return celsius

print(fahrenheit_to_celsius())

Почему число не округляется?
461 1815059
>>14532
Чел.. Ну реально..
462 1815064
>>14964

>Pypy won't resolve Python problems of running a single-thread each time, since it also makes use of the GIL - http://doc.pypy.org/en/latest/faq.html#does-pypy-have-a-gil-why

463 1815072
>>15034
наверное потому что значение в переменной не перезаписывается?

celsius = round((farenheit-32)*5/9, 3)
return celsius
464 1815080
>>15059
я с функциями в первый раз работаю

>>15072
от души
465 1815105
>>15080
ты учти, что когда над объектом проводится операция, то либо ты в новую переменную сохраняешь, либо перезаписываешь текущую. Так-то за тебя ни интерпретатор, ни компилятор не додумает надо тебе результат сохранять или выбросить его к хуям при сборке мусора.
Ты провел операцию округления, но результат не сохранил в переменной. Учти, что питухон прожорливый, чем меньше переменных с выделением ячеек в памяти, тем проще сборщику мусора. Тем более динамическая типизация.
466 1815277
>>15034
Питурд задачки где-то решает, а двач ему помогай.
467 1815309
>>15277
решаю, на хайпер скиле, что не так?
468 1815322
Анон поясни за функцию
def pairs(arr):
return sum( abs(a-b)==1 for a,b in zip(arr[::2],arr[1::2]) )
print(pairs([21, 20, 22, 40, 39, -56, 30, -55, 95, 94]))

что записывает в кортеж вот ето выражение abs(a-b)==1
оно же блядь логическое и с ним функция sum не должна работать
469 1815330
>>15322
Почему не должна. int(True)=1
470 1815333
>>15322
какой лять кортеж? он тебе количество пар выдает между которыми расстояние 1.
471 1815483
Соре за тупой вопрос, только начал изучение
Дан произвольный список, содержащий и строки и числа.
image.png3 Кб, 769x41
472 1815486
Соре за тупой вопрос, только начал изучение
Есть задание:
Дан произвольный список, содержащий и строки и числа.
Выведите все нечетные элементы в одной строке.

Вопрос в том, как мне сделать список, содержащий СТРОКИ и ЧИСЛА
Что не так на пикриле?
473 1815488
Аноны, что значит этапы разработки веб-приложения?
И еще такой вопрос, кто работает, можно уточнить для чего именно пилят эти самые веб-приложения, ну примерно. Не просто же сайты, фирмам надо для чего-то же. И по стеку. Джанги хватит? Или надо фласк и батл и пирамиды всякие знать. Что посоветуете для изучения? какие связки лучше юзать или дрочить.
Например - бд sql alchemy
веб - джанго, фласк или что?
для деплоя че докера хватит? или надо дрочить ансиблы всякие?
Ну и для девопа что дрочить? датадога хватит?
Мне просто интересно, как происходит процесс создания веб приложух. С чего начинают, и тд и тп. Опыта нету просто. Читаю вакансии, пишут кто на что горазд, а что дрочить то конкретно?
А, ну для фронта что? явы хватит с хтмл и кссом?
474 1815512
>>15486
Можешь так:

import random
str_or_int = lambda x : str(x) if random.randint(10)<5 else x
ls = [str_or_int(x) for x in random.sample(range(1,100),10)]

Не заморачиваясь, строка, содержащая число все равно считается строкой.
475 1815515
>>15486
Но тем не менее твой список в порядке, может с отступами проебался где-нибудь.
476 1815517
>>15488

> этапы разработки веб-приложения?


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

> для чего именно пилят эти самые веб-приложения, ну примерно


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

> Джанги хватит?


да

> какие связки лучше юзать или дрочить


django + drf
flask + sqlalchemy
aiohttp + sqlalchemy
БД либо postgres или mysql, либо mongo

> для деплоя че докера хватит?


да, но лучше потыкать в gitlab ci

> или надо дрочить ансиблы всякие


не надо

> Ну и для девопа что дрочить


elk

> Мне просто интересно, как происходит процесс создания веб приложух


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

> ну для фронта что


reactjs

На самом деле знания лишними не бывают и то что ты шаришь в ансибле скажется на зп положительно. Но расписал стек который наиболее распространен сейчас
476 1815517
>>15488

> этапы разработки веб-приложения?


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

> для чего именно пилят эти самые веб-приложения, ну примерно


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

> Джанги хватит?


да

> какие связки лучше юзать или дрочить


django + drf
flask + sqlalchemy
aiohttp + sqlalchemy
БД либо postgres или mysql, либо mongo

> для деплоя че докера хватит?


да, но лучше потыкать в gitlab ci

> или надо дрочить ансиблы всякие


не надо

> Ну и для девопа что дрочить


elk

> Мне просто интересно, как происходит процесс создания веб приложух


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

> ну для фронта что


reactjs

На самом деле знания лишними не бывают и то что ты шаришь в ансибле скажется на зп положительно. Но расписал стек который наиболее распространен сейчас
477 1815520
>>15517
Годно спасибо большое отдуши анон, хотя бы есть куда искать теперь и что учить, и не быть дауном на собесе. Никогда не работал в этой области, хочу иметь хотя маленькое представление вообще что это такое и как строится процесс. У меня такое впечателние, приходит начальник - сдела то, не знаю сам что, чтобы делало то не знаю что за неделю. И все. Сидишь, потом встаешь и идешь нахуй.
478 1815530
>>15512
А попроще никак нельзя?
Через len например
А то мне ещё лабу сдавать, я боюсь не объясню это
479 1815531
>>15515
Да, проебался, пофиксил уже
480 1815534
>>15530
Не сразу понял, что ты там список создавал, и написал про len, можешь тогда с дальнейшим решением помочь?
481 1815538
>>15534
Ну давай
print([y for y in filter(lambda x : isinstance(x,int) and x%2==1, ls)])
По простому циклом
for el in ls:
if(isinstance(el,int) and el%2==1):
print(el)

Интереснее циклом
for el in ls:
try:
if)(el%2==1):
print(el)
except:
pass
482 1815546
>>15538
Или проще
print([x for x in ls if isinstance(x,int) and x%2==1]) фильтр в принципе не обязателен.
483 1815549
>>15517
А по алгоритмам что посоветуешь? Или дрочить фрейм - этого хватит? Я имею ввиду - юзать уже готовые решения. Или надо будет именно все делать с нуля.
484 1815553
>>15538
Ты тут по-моему выводишь нечётные по значению элементы списка.
А в задании надо элементы по нечётным номерам в листе( первый, третий, пятый и т д)
или я долбоеб код не понял
485 1815556
>>15553

>Выведите все нечетные элементы в одной строке.


Я это понял как нечетные числа. Иначе в чем вообще смысл?
написать
for el in range(0,len(ls),2):
print(el)

или
print([ls for i in range(0,len(ls),2)])
?
486 1815561
>>15486

>Выведите все нечетные элементы в одной строке.



is_int = partial(lambda e, f: isinstance(f, e), int)
res = " ".join(str(e) for e in filter(is_int, rand_list) if e % 2 == 0)
487 1815562
>>15561

>e % 2 == 0


1 конечно жи
488 1815603
>>15330
так в функции нет преобразования.
489 1815604
>>15333
до sum , там генератор со значениями True и False

и как функция sum может складывать логические значения без преобразования?
490 1815621
>>15604

In [1]: True + True
Out[1]: 2
sum.jpg129 Кб, 1580x987
491 1815630
492 1815638
>>15630

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

всем спасибо
493 1815645
>>15549

> А по алгоритмам что посоветуешь?


задачи самого простого уровня на leetcode, мб среднего

> Или дрочить фрейм - этого хватит? Я имею ввиду - юзать уже готовые решения


Как правило поверх готовых решений ебашишь свое говно. Сложных алгоритмов нет (если ты конечно не попадешь на проект где именно алгоритмы и разрабатывают), в принципе поиск в ширину на графе или общей подстроки это самое сложное с чем может столкнуться веб-макака
image.png19 Кб, 273x238
494 1815664
Что-то не могу сообразить.
Есть у меня байт-строка:

bstr = b'\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd1\x8b'

Я её превращаю в строку:

bstr = str(bstr)

>> " b'\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd1\x8b' "



Как мне эту строку обрабтно перевести в байты?
495 1815681
>>15638

Вдогонку тем, кто хочет использовать sum для логики. Есть еще две полезных функции:

In [2]: any([1, 0, 0])
Out[2]: True

In [3]: all([1, 1, 1])
Out[3]: True
496 1815698
>>15664
У тебя же на картинке все написано есть, дебс.
497 1815710
>>15603
кто сказал? реализация запрятана где то в сишном коде и там хз чо
но то что принимае True и считает его за 1 говорит о том что таки что то такое есть
498 1815745
Котаны, какой наиболее простой способ реализации очереди с приоритетом в Питонухе?
499 1815757
>>15745
На Гугле забанили? На towardsdstascience.com.овердохуя статей.
queue.PriorityQueue
500 1815771
>>15664
Отвечу сам себе.
Из строки нужно убрать b'' и применить команду encode().
В моём случае -
bstr.split("'")[1].encode()
501 1815813
Доброго, товарищи программисты, я тут пока только начинаю приобщаться к великому, и я тут с проблемой столкнулся, а я даже не понимаю в чем она заключается.

Задача:
Сколько полных часов, минут и секунд содержится в x секундах? Разложите имеющееся количество секунд на сумму из x часов + y минут + z секунд

Мое решение:
s = int(input('введите кол-во секуд: '))

x = int(s/(6060)) # це часы

y = int((s-x
6060)//60) # це минуты

z = int((s-(x
6060+y60))//60) # це секунды

print(str(x) + ':' + str(y) + ':' + str(z))

Проблема решения:
Код почему-то упорно не желает высчитать z(т.е. оставшиеся секунды) и приравнивает его к нулю. И я упорно не могу понять почему так нахуй. Буду рад вашим мыслям по этому поводу.
502 1815823
>>15813
Ну тут только переменные, нету логики. Даже не вдаваясь - в этом причина. Нужна логика, алгоритм решения. Те сначала решить, потом закодить. А ты просто объвил переменные сделал контенацию и вывел. Этого мало.
503 1815832
>>15813
А ты наоборот извлекай, через остатки от деления, тогда и не будет никаких проблем. У тебя деление нацело погрешность вносит.

t = int(input('...'))

ss, t = t%60, (t-t%60)/60
mm, t = t%60, (t-t%60)/60
hh = t
print("{}:{}:{}".format(hh,mm,ss))
504 1815833
>>15832
conv = lambda x, div: (x%div, (x-x%div)//div)
ss, seconds = conv(seconds, 60)
mm, seconds = conv(seconds, 60)
hh, seconds = conv(seconds, 24)
dd = seconds

Или с лямбда-выражением. Где-то был кусок кода с аналогичной логикой, но разбивающий время до дней.
505 1815834
>>15813

>x = int(s/(6060))


если что 60*60.

>>15823
Мен, сори, я тебя не понял. Можно поконкретнее что ты под логикой подразумеваешь? Мне кажется, что она есть, но может у нас разные понимания дефиниций.
506 1815835
>>15832

>У тебя деление нацело погрешность вносит.


Хм, спасибо, попробую по другому. До сих пор не понял что конкретно не так, но наверное да.
507 1815837
hours, remainder = divmod(timestamp, 3600)
minutes, seconds = divmod(remainder, 60)
return '{:02}:{:02}:{:02}'.format(int(hours), int(minutes), int(seconds))
508 1815851
>>15813
Решил вопрос с задачей тем, что в z перестал ссылаться на переменные x и y, что выглядит максимально уебищно, но хотя бы работает! До сих пор не очевидно что я конкретно сделал не так, но похоже ответ на этот вопрос я так и не найду.

Как-то так это выглядит:
s = int(input('Сколько хотите ссать мне на лицо в секундах?: '))

x = int(s/(3600)) # це часы

y = int((s-int(s/(3600))3600)//60) # це минуты

z = int(s - int(s/(3600))
3600 - int((s-int(s/(3600))3600)//60)60) #це секунды

print('Вы хотите ссать мне на лицо: ' + str(x) + ' часов ' + str(y) + ' минут ' + str(z) + ' секунд ')
509 1815856
>>15851
Меня волновал вопрос что именно я сделал не так в том коде, а не как решить задачу. Решить задачу - хуйня вопрос, а понять чяднт - полезно для понимания.
510 1815877
>>15813
А, нихуя, я ошибся с формулой в минутах и попутал операции % и //. Карочи я еблан.

s = int(input('Сколько хотите ссать мне на лицо в секундах?: '))

x = int(s/(3600)) # це часы

y = int((s-x3600)%60) # це минуты

z = int((s-x
3600-y*60)%60)#це секунды

print('Вы хотите ссать мне на лицо: ' + str(x) + ' часов ' + str(y) + ' минут ' + str(z) + ' секунд ')
image.png2,5 Мб, 1262x1600
511 1815888
ищу roadmap для qa тестировщика
512 1815958
Посоны, я немного тупой. Подскажите, пожалуйста, нормальный гайд по rpy2.
513 1816018
>>15888
Посмотри видео хауди хо тестирование за час
514 1816054
>>16018
не нашел у него такой видос, мб ссылку кинешь? (шарил по каналу хауди хо)
515 1816057
>>16054
ну значит жди пока он такой снимет :D
516 1816162
>>15757
>>15745
Чутка наебал, мне не просто "очередь с приоритетом" где в PriorityQueue лежат tuple вида:
(приоритет, порядковый_номер, объект)
а засовывать в очередь чистые объекты (без всяких кортежей), а сам объект уже содержит поле priority и чтобы очередь с приоритетом на основе какой-то коллбека или хрен я знает чего определила, куда положить этот объект. По итогу должен быть чистенький список с объектами, лежащими по приоритету, без всякой лишней ебени
517 1816217
Анончик, помоги тупиздню-вкатышку разобраться.
Я на работе написал небольшой скрипт, который дергает апишку. Апишка возвращает мне json с нужной информацией.
Проблема в том, что в жсоне возвращается дохуя полей, а мне нужны только нужные.
Среди них - поле 'date' которое содержит дату вида '2020-05-20T20:41:42Z', а еще есть поле 'tags', которое содержит в себе много тегов, и тип у этого поля - list.
Когда я делаю print(results['date']) - то у меня все выгружается красиво в столбик. А когда я пытаюсь выгрузить print(results['tags']), то питон пишет, что у меня KeyError: 'tags'. Собственно я и подозреваю, что это из-за того, что tags идут как список.

Как мне в конечном счете сделать принт только тегов?
image.png169 Кб, 620x686
518 1816242
>>16217
Хотя нет, подумал, что чуть другую инфу надо выгрузить, но тоже не получается.
На пикрелейтеде жсон, который я получаю. Мне нужно принтить значения поля created (с этим проблем нет) и поле 360000059967 (там где 'value': 'error'). Как мне это сделать?
519 1816243
>>16217
скинь жсон на пастбин
520 1816245
>>16242
filter(lambda obj: obj['id'] == 360000059967, result['ticket']['custom_fields'])
521 1816247
>>16243
https://pastebin.com/9WdXJiHe

Если что, у меня таких жсонов куча, так что я просто хочу складывать данные по полученным полям в заготовленные переменные через append, выглядит это вот так https://pastebin.com/22D4BDkM. Принтом я просто дебажу.

>>16245
Попробовал втупую это скопипастить, но выдает ошибку KeyError тоже.
522 1816248
>>16245

>filter(lambda obj: obj['id'] == 360000059967, result['ticket']['custom_fields'])



или
filter(lambda obj: obj['value'] == 'error', result['ticket']['custom_fields'])

хуй знает, что тебе нужно
523 1816249
>>16248
Value туда разный может присылаться - условно говоря error, problem, report, incident, их довольно дохуя.
image.png33 Кб, 793x638
524 1816253
>>16247

>выдает ошибку KeyError


хуй знает, братиш. может сегодня просто не твой день?
525 1816254
>>16249
айдишник у поля всегда одинаковый, штоле?
526 1816333
>>03801 (OP)
Живу в пгт на 10к живых, так вот у меня вопрос, могу ли я допустим отправить резюме в дс, пройти собес удаленно и если успешно пройду, ехать уже туда со 100% уверенностью что у меня работа есть? Просто не могу сейчас ехать и рисковать в дс, и искать работу, так как денег на месяц жизни едва хватит.
527 1816499
>>16333
Это от работодателя зависит, но да, возможно.
528 1816565
>>03801 (OP)
Есть питоновский модуль, там множество как функций так и классов. Хочу чтобы при вызове любой функции оттуда или любого метода класса (кроме специальных) логировалось имя этой функции/метода. Как это сделать? Вангую надо обернуть каждую функцию и каждый метод класса особым образом, но как это сделать на практике?
529 1816569
Cап

Подскажите что делает эта функция
def end_one(n):
while n > 6:
n = sum(map(lambda x: int(x)*int(x) ,f"{n}"))
if n == 1:
return True

не понятен второй аргумент в map - f"{n}"
530 1816575
>>16569
в данном случае тоже что и str(n)
531 1816595
>>16575
так лучше писать, чем str(n) ?
532 1816778
>>16595
конкретно в данном случае такое написание вогнало тебя в тупик , вообще можешь пробежать глазами по ф-строкам питоновским на какой нить статье
533 1816869
А как мне фор из жабы написать на питоне?
for (int i = 0; i < 10; i++)
534 1816878
>>16869
for i in range(0, 11):
Вообще, при любой возможности пытайся избегать циклов с итераторами, если это только не задачки на алгоритмы
535 1816885
lines = [line.rstrip() for line in open('script2.py')]

при таком открытии файла, он закроется после спискового включения?
536 1816890
>>16878
а чтобы сделать <=?
как раз задачка на алгоритм просто.
537 1816893
Тыкаю fastapi имея опыт работы с sanic и aiohttp, как то странно они реализовали аргументы в контроллерах, семантическое определение реквеста в зависимости от тайп хинтинга
538 1816912
>>16885
да, так как ссылки на него не будет, и после опен надо добавить ридлайнс
image.png237 Кб, 771x883
539 1816913
540 1816940
Абсолютно тупой вопрос:
вот есть у меня допустим публичный репозиторий на гитхабе, чтобы можно было показать кому-то. А в нем скрипт на питоне, в котором используется Api key сайта. Есть какой-то способ этот api key скрыть от посторонних? Как вообще люди делают?
541 1816943
>>16940
Ты говоришь про гит-репозитарий, то не умеешь юзать гит?..
542 1816947
>>16940

>А в нем скрипт на питоне, в котором используется Api key сайта. Есть какой-то способ этот api key скрыть от посторонних? Как вообще люди делают?


Все настраиваемые параметры должны быть в конфигурационном файле. Этот файл тоже является частью проекта, но перед коммитом значения логинов/паролей/ключей нужно удалить.
543 1816967
>>16947
А как оно будет работать, если нету значений?
мимокрокодил, заинтересовавшийся вопросом
544 1816969
>>16967
Где "нету"? Пиздуй в школу, тут серьезны дяди разговор ведут
545 1816971
>>16967
Просто делаешь конфигурационный файл с пустыми значениями и в описании проекта пишешь, что именно нужно заполнить.
546 1816973
>>16969
"дядя" 1999 года рождения блять

>>16967
Данные либо в json, либо в env файле с переменными среды, они в гит не должны быть проиндексированы и хранятся локально
547 1816976
>>16973

>они в гит не должны быть проиндексированы и хранятся локально


Конфигурацию можно и нужно добавлять в гит, просто надо удалить все значения, оставив только ключи.
548 1816985
>>16969
я хохол, соси бибу

>>16973
А если, припустим, нужно задеплоить бота телеграм на какой-то хероку, то его нужно для начала на репу залить. Если выложить код без токена, то он ведь не будет рабоать, не так ли?
549 1816990
>>16985
Там разве энвы в панеле админа и через консольку настраиваются
https://devcenter.heroku.com/articles/config-vars
550 1817013
>>16976

> надо удалить все значения, оставив только ключи


Чего блять? Хоть понял, что сказал?

>Конфигурацию можно и нужно добавлять в гит


Удачи
image.png42 Кб, 643x568
551 1817016
>>17013
Он имеет ввиду оставить файл типа такого, но затереть значения у определенных ключей
552 1817046
>>16869
int i = 0
while i < 10:
print('PYTHON_LUCHSHIY_YAZIK')
i += 1
553 1817048
>>16912

>после опен надо добавить ридлайнс


нахуя? файл сам по себе итерабл
разве что если надо прям сразу в память прочитать
554 1817049
>>16912

>да, так как ссылки на него не будет


только вот ось может освободить файл хуй знает когда, если его явно не закрывать
555 1817085
>>17046

>int i = 0


бля
556 1817167
Пацаны, атас. На работе заблочили доступ к двачу. Кек. Что делать? РАБочий пека с корп впном.
557 1817184
Пол года назад занимался Питоном, забросил, сейчас снова взялся. По сути, в общем, занимаюсь им уже около полутора лет, но за весь этот огромный промежуток времени я так и не смог осилить жалкий справочник авторства Майка МакГрата. Я только читаю и переписываю кусочки кода из книги. Существуют ли какие-нибудь задачники, практики и тому подобное?
558 1817189
>>17167
Сидеть с телебона
559 1817193
>>17046
а если я хочу через фор, а не вайл? или лучший язык не позволяет?
560 1817200
>>17184
У меня подобный реквест. Но я хочу задачи по рил лайф, то что требуется в конторах, офисах, фирмах. Чтобы кодить под определенные задачи. За что именно платят. А не так, решать математические задачи хуй пойми для чего.

Итак, реквест. Какие задачи будут стоять перед питонистом в офисе?
561 1817203
Есть способы собрать файл написанный на питоне для apk под андроид кроме бульдозера? Или это вообще сказка? Я не могу понять, такое комунити, тоны разрабов, и нету нормального человеческого портирования на андроид. Пачему?
562 1817208
>>17193

>лучший язык


причем тут scratch? это тред про питон
563 1817210
>>16869
for i in range(10):
print("Ass")

или со всеми параметрами

for i in range(0,10,1):
print("Cock")
564 1817215
>>17210

>for i in range(10):


так оно будет < 10
565 1817225
>>17203
Прочитал про виртульную машину бульдозера для виртуалки, но на оф сайте не могу найти образ, может кто знает? У хауди была ссылка, но не могу найти почему то, или вообще выпилили?
566 1817332
В общем уже как с полгода вкатываюсь + просто кодирую всякие штуки для себя. Проблема в том, что я за все это время так до конца и не понял, как работает механизм импортов.
Вот у меня есть такая структура проекта, точка входа находится в ./src/app.py, был добавлен alembic просто в корень.
Далее, при настройке этого алембика пытаюсь сделать импорт нужных штук, как на пике 2, на что при миграции получаю наверное закономерную ошибку импорта.
Видите ли, этот пидорас на находит модуль...
Внутри ./src и всех подпапках импорты работают прекрасно, везде есть __init__.py файлы
Чяднт? Вручную в sys.path добавлять путь(какой?) Неужели алембик криво накатил?
567 1817478
Двач, у меня горит жопа, впервые пытаюсь нормально минипроект доделать, чтобы потом его можно было любому скачать и установить все, сделал pip3 freeze, а потом как я понимаю надо удалить папку venv, чтобы все устанавливалось автоматически. git rm удалил ее полностью, в итоге еле восстановил, добавил в .gitignore потом опять все исправил и в итоге когда пытаюсь пушить на гитхаб он ругается, требует сделать гит пул, делаю, он удалят мне venv с компа, скажите в каком порядке нужно делать, чтобы локально у меня была папка venv, но на гитхабе ее не было
568 1817492
>>17478
Если начинаешь проект, то добавляешь в гитигнор сразу, если хочешь убрать из трекинга что нибудь потом не удаляя, то git rm --cached твой файл/директори

И это, перекатите уже
569 1817505
>>17492
спасибо, уже нашел что добавлять cached нужно
570 1817594
А как правильно открывать файлы изображений для, например, отправки куда-то?

Вот допустим такой код для отправки фото в png в телеграм, как было в одном из примеров библиотеки

update.message.reply_photo(photo = open(screenshots_path + screenshot , 'rb'))

на выходе качество получается хуже, чем когда я скинул этот же файл в чат напрямую. Более пикселизированное какое-то.
571 1817733
>>17189
Ага, пока так и делаю. Просто не оч удобно, если хочется код почитать\проверить.
573 1817749
>>17200
в офисе:
парсить и перекладывать по локалке экселевские таблички разные, парсить сайты конкурентов в теже таблички,
что-нить мониторить в локалке / на сайтах и мылить уведомления куда надо.

мимо креветка со скилом питониста.
574 1817753
>>17184
сейчач много куда книг вроде "что-нибудь на Python",
(вебдев, геймдев, криптография, ML DS и прочь.)
правда на англйиском в основном.
575 1817970
>>17215
Так у тебя в исходном примере i < 10 дебич.
Хочешь чтобы 10 входило, делаешь range(11)
576 1818066
>>17970
А если у меня всё в переменной?
типа переменная A
Стикер255 Кб, 512x512
577 1820654
>>16565
Ты можешь написать декоратор, но не для самого класса (чтобы не переписывать класс/переопределять методы), а для экземпляра класса. А потом по ходу выполнения функций логировать нужное с помощью атрибута __name__

Например, модуль requests:

a = requests
a.__name__ # Выведет "requests"
a.get.__name__ # Выведет "get"
Тред утонул или удален.
Это копия, сохраненная 24 марта 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски