Двач.hk не отвечает.
Вы видите копию треда, сохраненную 12 мая 2021 года.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
исходник: https://dumpz.org/bASGKD8cCFDf
2 1931862
Вкот, пасанчики
ух блядь, пиздец меня душит питон.
3 1931878
>>31862
Бери инициативу в свои руки
4 1931879
Бля ребята, я уже 4 день с мокрыми глазами хуярю ссаный код, не связывайтесь с тиктоком, если кто-то предложит, это такая помойка закрытая, что просто пиздец. Когда просто смотришь на 5-8 разных хостов для их апи уже глаза кровью обливаются, там по 4 уровня доменов, десятки параметров и заголовков, которые рандомно появляются и исчезают, половина параметров идентичны для всех запросов в принципе, кароче жопа у меня горит очень сильно
5 1931880
>>31879
С любым "большим" сайтом не стоит связываться, ну или целенаправленно им заниматься и предлагать актуальные услуги.
6 1931886
>>31880
Я не особо много работал с вк, телегой, хх, яндексом и пр., но там такого ужаса не было, уж точно не приходилось лазить по китайским форумам, чтобы алгоритмы подписей искать
7 1931889
>>31886
У болшинства из этих есть апи, речь про другое.
8 1932014
>>31878
Так точно!
9 1932088
Как читать блин долбанную документацию.

>У джанги отличные доки (одни из лучших для пистоновских либ, имхо)



Вот например, смотрю урок по джанго. Автор написал кусок кода (ПИК1)

Мне интересно откуда он взял эти аргументы для функции
Я повторяю этот код но ИДЕ подсказывает мне какую-то хрень, args, kwargs. (ПИК2)

Ладно думаю я, иду читать библиотеку https://docs.djangoproject.com/en/3.1/ref/models/fields/#charfield
Нахожу нужное место, и там написано class CharField(max_length=None, options)
(ПИК3)

Окей, я вижу аргумент max_length, но что содержится в
*options, не хз.
Понять не могу где мне искать тот самый db_index=True, который в видео уроке.

Прошу вашей помощи.
10 1932184
>>32088
Ты просто пока недостаточно знаешь про сам питон, а в случае с db_index и бд так же, подтяни знания и потом все будет понятней
11 1932198
Посоветуйте intermediate книжку, сконцентрированную на прикладных знаниях. Типа второй книги Лутца (Programming Python), но не такую древнюю, желательно на английском.
353b7501ee672d4202dc9818937a3735.jpg14 Кб, 300x168
12 1932216
>>32088
Прокручиваешь в начало и видишь field options.
13 1932288
Откуда брать идеи и практику в написании программ? Я уже заебался читать одну книгу и выполнять какой-то конченый практикум аля "замените символы в строке". Когда думаю что написать, то в голову приходит только что-то простенькое типа программы для вычисления дискримината. Где брать задания?
14 1932293
>>32288
Сделай личного телеграм бота который будет тебе что-то делать
15 1932299
>>32288
Что тебе интересно то и делай. Хочешь датасаенс, хочешь сайты парси, хош ботов пиши, хош скрипты.
16 1932302
>>32293
Бота, который рандомно пару раз в день будет писать "Бля, че б такого сделать?"
Screenshot1.png6 Кб, 491x78
17 1932306
Что нужно вс коду? в utf 8 сохраняю
почему так 18 1932309
def say(message, times = 1):
print(message * times)

say('привет')
say('мир',5)

say()

в итоге требует аргумент к message, хотя он указан по умолчанию? учусь по индусскому учебнику
19 1932315
>>32309
def say(message='ya hui', times = 1):
20 1932319
>>32299
Я порно люблю
21 1932325
>>32319
Тогда тебе на вебкам.
22 1932331
def gnida_skazala(a = 3, b = 2):
print(a * b)

gnida_skazala('ya pidr ')

gnida_skazala('no dobri', 4)

gnida_skazala()

1) почему в выводе не присутствует gnida_skazala('no dobri', 4)
2) почему функция бежит в бесконечной рекурсии и заканчивается

RecursionError: maximum recursion depth exceeded while pickling an object
23 1932333
>>32331
Ты уже совсем растолстел.
24 1932406
>>32333
а если серьезнр?
25 1932410
>>32406
Ну если рекурсия, значит ты обдристался с отступами, разве не очевидно?
Скриншот 06-02-2021 180359.png7 Кб, 351x229
26 1932416
>>32410
где например?
27 1932433
>>32416
не конкатенируй строки и числа, поехавший
28 1932437
>>32433
всмысле
29 1932471
>>32331

>1) почему в выводе не присутствует gnida_skazala('no dobri', 4)


Потому что у тебя функция внутри себя 2 раза подряд вызывается, естественно она не дойдёт до 2 вызова, пока ты не добавишь условие на break для 1 вызова.

>2) почему функция бежит в бесконечной рекурсии и заканчивается


https://stackoverflow.com/questions/3323001/what-is-the-maximum-recursion-depth-in-python-and-how-to-increase-it
30 1932578
>>32198
python in a nutshell глянь.
31 1932601
>>32578
Есть смысл его читать после первого Лутца? Я так подумал, что уж лучше наверну книги Стива Лотта (Functional Python Programming, Functional Python Programming), пусть они и не совсем application-ориентированные, но хоть intermediate.
32 1932630
>>32601

>Functional Python Programming


Mastering Object-oriented Python
fix
33 1932644
>>32198
Большие вообще эти книги? Стоит читать? за сколько осиливаешь одну книгу например?
34 1932653
>>32601
Ну некоторая часть перекрывается, но в целом там достаточно много практической инфы. У Лутца, я так понял, намеренно многое упускается, потому что это для второй части.
Лотт крутой тип, да. Тоже облизываюсь на эти книги, но пока руки не дошли.
35 1932654
>>32644
Есть большие (Лутц по 1500 страниц каждая книга), есть маленькие, страниц по 300. Я-то не программист, а научный работник, мне некуда спешить, весь код впечатываю для практики, трачу где-то по 2 часа в день, 30-40 страниц.
image.png9 Кб, 351x228
36 1932657
>>32416
Вот тут, например

покормил
37 1932669
>>32654
Понял.
1500 страниц, ебать тот рот, это же реально дохуища.
Это блядь больше чем война и мир?
38 1932672
>>32654

>Я-то не программист, а научный работник


>просит практических книг


Почему я не удивлен.
39 1932677
>>32669
Да, Лутц большой и, как многие считают, излишний. Но так как мне некуда спешить, я решил разобраться в структуре языка поэтому и проходил потихоньку. Но вторую книгу (тоже на 1500 страниц) желания проходить нет.
>>32672
А хочу запилить прогу по computer vision по распознаванию микроструктуры шлифов, но уже с каким-то интерфейсом, чтобы легче было с ней работать. И была идея запилить интерфейс для OpenCalphad (это межинститутская оупен-сорс прога для расчета фазовых диаграмм, последний раз, когда я с ней работал, интерфейса там не было).
40 1932682
>>32654
Пиздато кстати, тебе платят деньги пока ты учишь питон, да? охуенно.
41 1932685
>>32682
Да я много чего учу, тот же немецкий, например. Но это все для научной работы, как и книжки, которые я читаю (сейчас, например, читаю "Теорию упругости" Лурье, попробуй осилить). Но зарплаты в пост-совкой науке небольшие, если, конечно ты не у корыта, и в конечном итоге путь один - съебывать.
42 1932710
>>32309
У тебя message как раз не указан по умолчанию, это позиционный аргумент, сам его вводи
43 1932712
>>32685
Сколько башляют, пацан? алсо читать не мешки ворочать, это по кайфу
я гружу шпалы еври дей, это выматывает пиздец, если ты не был в курсе.
44 1932716
>>32712

>Сколько башляют


Примерно 400-500 долларов.

>пацан?


Я может даже старше, чем ты.

>я гружу шпалы еври дей


Сколько платят за шпалы?
45 1932722
>>32716
за шпалы 266 баксов платят.Это средняя по области у нас ЗП
так что у вас выходит огромные зарплаты?
а в науке у нас помню требовался лаборант, там 150 долларов вроде было указано.
46 1932727
>>32722

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


Это со стипендией от академии наук, которая через год закончится. Короче, это меряние нищетой, по-моему, бессмысленно.
47 1932791
>>32727
да, это жёстко.
зачем ты учишь немецкий, например?
48 1932803
>>32791

>зачем ты учишь немецкий, например?


Немецкий - второй по значимости язык для физиков и инженеров после английского, например, есть много вещей, которых нет на английском. К тому же, в сети он представлен прекрасным техническим издательством Springer, книги которого можно качать и читать. Ну и германский мир мне нравится больше английского, может туда и съебу (хотя я знаю еще один северноевропейский язык, и может съебу именно туда, но это все не точно, не хочу загадывать).
49 1932806
>>32803
А что насчет китайского? алсо немецкий сложный или хуйня на палочке?
50 1932818
>>32806

>А что насчет китайского?


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

>алсо немецкий сложный или хуйня на палочке?


Сложнее английского раза в полтора-два. Есть три грамматических гендера (с каждым существительным ты должен еще и учить при один из артиклей + окончание, которые тоже разные) и 4 падежа вместо 2 у английского. Немного иной порядок слов, чем в английском или русском (то есть в простых предложениях второй глагол ставится в конце предложения, типа "Я могу сегодня утром в ресторане булочку покушать") + английский прост тем, что там много международных или сленговых слов, которыми ты пользуешься на русском, в немецком неизвестных и диких слов больше, к тому же они любят объединять несколько слов в одно со сложным комплексным значением.
51 1932998
>>32818
А сложнее ли он русского?
Dh5xvic.jpg202 Кб, 640x1136
52 1933007
>>32998
Нет, славянские языки сложнее германских.
53 1933046
>>33007
Охуеть, вот это жёстко. Сам писал данную табличку?
54 1933120
>>33046
Нет, это известный мем, на форчане проскакивал.
55 1933204
Прерву локальный fl вопросом об питоне.
Есть функция, в которой импут.сплит. Хочу написать исключение, но не совсем понимаю, как сделать, чтобы при возникновении ошибки эта же функция заново вызывалась.
Так сказать, зациклить, пока не будут введены данные, без ошибки.
56 1933214
>>33204
Делаешь бесконечный цикл и брекаешься если всё ок.
57 1933217
>>33204
def input_validator(a):
if a=='':
raise ValueError("Input is empty")

Тебе все равно придется логику проверки значения выносить. Потом цикл
while True:
try:
a = input()
input_validator(a)
except ValueError:
continue

Continue не даёт выйти из цикла. Но я бы взял tenacity и сделал бы обёртку. Пока результат будет пустой строкой повторяй a = input(), как оказалось библиотека хуево описана, но большинство задач таких решает
58 1933219
>>33217
После try except в конце else: break. Если не было exception выйди из loop, ну или в try засунь.
59 1933387
Привет, анон. Решил вкатиться в питон с нуля. Всегда нравилось программировать, в школе всё свободное время на паскаль тратил, потому что интересно было, сайты вручную делал и бла бла бла. Сейчас 26, нихуя не помню и не умею. Так вот, сколько примерно нужно учиться по времени, чтобы устроиться куда-нибудь самым днище-джуниором? Я сейчас официантом работаю за 35к, заебало, сил нет. Хочу освоить азы, устроиться в какую-нибудь днищенскую контору и уже серьёзно этим заниматься. Что посоветуете?
60 1933395
>>33387
А официантом кто будет?
61 1933401
>>33387
Серега, это ты?
62 1933453
>>33387
не вкатывайся в пистон. Вакансии процентов 90 на ml инженеров, где выпускники матфаков только котируются. А на бекендеров-джангистов приходится 10 проц вакансий с ебейшей конкуренцией.
На твоем месте я бы вкатывался либо во фронт( да да, конкуренция не ниже, но вакансий ГОРАЗДО больше) либо в автоматизацию тестирования( тут кстати пистон неплохо распространен), что по сути тоже программирование но немного утилитарное, а не креативное.
я скозал.
63 1933457
>>33217
кстати, зачем писать после цикла тру?
можно же просто написать вайл. разве он по умолчанию не тру?
64 1933461
>>33457
вайл условие, какое ещё умолчание.
65 1933469
>>33453
Пиздец кстати, неужели так много программистов вкатывальщиков? или мало работы?
Судя по питону да и прочим видимо языкам - вкатится в эту хуйню сложнее,чем в любую другую профессию,потому что как минимум нужно сидеть и учить, пытаться, пробовать, кодить.
А в любую другую профессию с работой руками например вкатиться намного проще, там тебя на работе будут обучать что и как делать, начиная от стройки и заканчивая автосервисом такая хуйня, там нельзя самому научиться и никто не ждет что ты прям с нуля будешь все делать.
а в программировании никто не будет тебя обучать, им надо чтобы ты сразу уже мог делать что нужно работодателю.
Проще говоря - в других работах если ты умеешь уже делать многое то ты ПРОФИ ПО УМОЛЧАНИЮ, который может требовать себе привилегии.
в кодинге по дефолту ты должен уметь делать многое, это стартовый этап.
66 1933470
>>33453
в автоматизации сразу (без опыта ручного тестинга) будешь очень грустной макакой за небольшую зп
67 1933471
>>33461
цикл пишется без тру же, просто вайл.
он будет выполнятся если ты не напишешь тру.
68 1933480
>>33471
Ну напиши просто и посмотри что будет.
69 1933481
>>33471

>цикл пишется без тру же, просто вайл


Нет, в пистоне пишется while условие:
70 1933484
>>33469
Таких как ты каждый день по вагону здесь. А представь, что творится в целом, если в каждой второй ссаной видяшке на ютубе рекламируют инфоцыганские курсы по вкату вайти.
71 1933536
>>33484
ну там же дохуя разного рекламируют, в основном это не питон. алсо из вкатывальшиков наверняка 80% отваливаются в процессе.
72 1933543
>>33387
Посоветую искать работу барменом.
73 1933545
>>33536
Да как раз бидон самый популярный.
А ты не входишь в 80%?
74 1933552
>>33480
>>33481
Ок, а в каком случае пишется while False?
75 1933555
>>33552
Ни в каком.
76 1933558
>>33545
Хуй знает, я пока не решил.
Алсо допустим курсы рекламируют дохуя, но так же ведь дохуя рекламируют биржи в смартфоне или азино 777.
Неужели много людей на такое ведется?
77 1933559
>>33552
Если тебе лень закомментить цикл, то вместо условия можешь написать False, и тогда он никогда не выполнится.
78 1933560
>>33555
То есть тру по сути не несет смысла, если условие фолс не применяется никогда?
Почему в языке не реализовали бы так, чтобы условие тру не обязательно было писать?
79 1933561
>>33558
Ну раз рекламируют, значит есть профит.
80 1933563
>>33560

>То есть тру по сути не несет смысла


Нет, оно несёт смысл константного условия, что цикл будет выполняться всегда, пока внутри него не выполнится условие для break.
81 1933564
>>33560
Тру несет смысл. Вайл работает проверяя условие, ты можешь этим управлять. Когда тебе нужен бесконечный цикл, ты обеспечиваешь
всегда истинное условие тру.
82 1933571
>>33561
ну еще бы там не было профита, там суммы пиздец по сто тыщ за интернет обучение.
затрат мизер, профита вагоны.
даже если будет учиться 5 человек то уже дохуя профита.
>>33563
а почему например не пишется в условии вместо тру например вайл а !="?
83 1933573
>>33564
То есть при значении тру цикл остановится только после брейка?
Значит любое условие по умолчанию будет верным, кроме отдельно указанного неверного?
84 1933578
>>33571

>вместо тру например вайл а !="


Если у тебя в коде есть переменная a и она никак не изменяется внутри цикла, то ты можешь написать while a, и это будет тоже самое, что while True.
85 1933579
>>33578
понятно. а что по этому вопросу >>33573
все так?
86 1933580
>>33573
Цикл проверяет свое условие на каждом витке. Бесконечный цикл это всего лишь отдельный паттерн, использующий это свойство, нет никакого смысла его как-то выделять средствами языка.
87 1933590
>>33580
Кстати, слышал что какой то преподаватель по питону говорил типа применять брейк в цикле - дурной тон.
Это так?
88 1933593
>>33590
Не так.
Небось начитался про плохой goto и решил от себя добавить мудрости.
89 1933620
>>31851 (OP)
Несколько странный вопрос: как добавить свой оператор в Питон? Хочу поиграть с сурс-кодом и запилить свой оператор в Пистон, с чего начать?
90 1933628
>>33593
ну это был чел который участвует во всяких соревнованиях по кодингу, может у них там за эту хуйню очки снимают, я хз.
91 1933638
>>33628
В соревновательном кодинге своя атмосфера и свои преколы.
92 1933766
Изучив Python куда можно устроиться или можно ли вообще?
93 1933769
>>33766
Можешь устроиться водителем троллейбуса.
94 1933775
>>33558

>Неужели много людей на такое ведется?


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

Вторая известная приманка - это фондовый рынок, где ажиотаж среди вкатывальщиков-инвесторов огромный, все хотят "работать на бирже", покупать-продавать разные лоты и на этом зарабатывать. И реально на это многие покупаются.
95 1933776
>>33469
Ты на редкость адекватен в своём понимании, таких как ты редкое меньшинство

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


Чему-то всё-таки обучают или дают время обучиться. В вакансиях эти вещи перечисляют в разделе "желательно".
96 1933777
>>33775
ну допустим чтобы ебаться на бирже не нужно нихуя кроме денег стартовых. а чтобы вкатываться в программы надо же реально это задрачивать.
Мало у кого хватит на это желания и терпения.
К тому же ок, пусть они там хотят за 300к/сек работать, я считаю что норм зарплата для программиста и 40-50к.
Один хуй это больше чем на мухосранском заводе за 20к мерзнуть в цеху
97 1933780
>>33007

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


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

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

Вот тупо выпиши все времена глагола run в английском.

А потом добавь местоимения и специфичные модальные глаголы
run away
run for
run up
run over
run on
run off
run out
run with

Комбинации индивидуальны для каждого глагола. Понимать смысл очень-очень тяжело.

Главная проблема при изучении германских языков.

Грамматика относительно проста, но мнемоника очень сложна, на порядок сложнее и выразительнее, чем в русском языке.
98 1933782
>>33777

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


Вот это не все в состоянии осознать. Считают, что программирование это примерно как бухгалтерия, потратят сколько-то времени и разберутся.

А тут полностью мозги надо менять. И огромный объем сопутствующих знаний нужен.
7343f080-4cf3-443f-8095-5d7db1305b021605448206369.jpg13 Кб, 240x240
99 1933786
>>33782
ГАРАНТИЯ ТРУДОУСТРОЙСТВА
100 1933789
>>33775
У меня в it уже 7ой год стажа пошёл, и последние 1.5 года стагнация в развитии, а по отношению к рынку так полная деградация. И я понимаю, что лучше бы пошёл сейчас работать руками, потому что it меня заебало, мне уже почти 30, и мозги у меня медленные. И если бы меня сейчас взяли на позицию суши/пицца/бургеродела за ту же зп, что в it, либо даже на меньшую, но с гарантией, что через пол года я буду получать столько же, то не думая бы свалил.
101 1933807
>>33558
Пайтон сойдёт для начала. С одним языком ты всё равно нахуй никому не нужен, но с его знанием ты сможешь выучить другие. Смотри: у языка есть библиотеки и фреймворки (в зависимости от отрасли тебе нужно уметь в разные), параллельно с языком нужно знать абстрактные от языка вещи вроде (алгоритмы, базы данных, сеть, структуры данных, принципы архитектуры программ более-менее переносятся из языка в язык). Освоить на 80% сложный фреймворк - ну, не знаю, для меня (а я вкатывался с нуля) это было сложнее, чем освоить на 80% основной язык.

Соответственно, если ты освоил просто пуйтон и ВДРУГ решил уйти в джаваскрипт/руби/сишарп/лисп, твоя трата времени на пуйтон не была впустую, так как ты не инвестировал пятнадцать лет жизни в тамошнюю атмосферу и много общего узнал параллельно. С нуля за месяц научился клепать жирных телеграм-ботов на пайтоне? Тогда для того, чтобы делать таких же ботов на руби, тебе понадобится уже неделя - и так далее.
102 1933834
>>33807
Есть что почитать про принципы архитектуры программ? Мой код выглядит как говно и макароны.
103 1933890
>>33777

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


Надо сидеть за пекой и много задрачивать. У какого-нибудь условного официанта который привык на ногах работать организм будет в ахуе от того что приходится целый день сычевать за пека. Причем и на уровне психики и физиологии. Все эти васяны которые покупают курсы и пытаются вкатится никогда не станут програмиздами и айтишниками просто потому что не привыкли сычевать за пекой с детства. Именно по этой причине большинствой ойтишников это задроты с самого детства, которые сычевали со школы если не с садика.
104 1933932
>>33834
Кнут "Искусство программирования", Макконелл "Совершенный код"
105 1933975
>>33780

>А потом добавь местоимения и специфичные модальные глаголы


On, off, out и т.д. - это не местоимения и не специфичные модальные глаголы, а предлоги. У меня они никогда не вызывали проблем в сочетании с глаголами (разве что в самом начале изучения языка), всегда их интуитивно понимал.
106 1934004
>>33975
В германских языках предлог может полностью менять смысл глагола, чего не бывает в русском.

Сравни глаголы
run vs run out
не говоря уже про вырожденные случаи вроде глагола take

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

Пример из словаря:

> Can you run off 200 copies of this notice? — Можете сделать 200 копий этого объявления?

107 1934012
>>33834

>Есть что почитать про принципы архитектуры программ? Мой код выглядит как говно и макароны.


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

Намного полезнее читать разные стандарты оформления кода. Обычно там приведены примеры как делать, как не делать, и даже обосновывается почему.
108 1934030
>>33834

>Мой код выглядит как говно и макароны.


Тащи свой код, посмотрим.
109 1934050
>>33807
ну я примерно так и понял, когда начал знакомиться с программированием. Это типа как тачками, если ты например не умеешь нихуя и не знаешь как работает двигатель и остальное то это жопа.
Но если ты например разобрался с механикой рено то чтобы разобраться скажем с фордом тебе потребуется намного меньше времени, чем если бы делал это с нуля.
Принципы работы общие, отличия в конструкции.
>>33782
ну это пиздец, да. думаю такие отвалятся сразу же как поймут что нужно потратить на это прилично времени и никто за это время не будет платить.
>>33786
Это же вроде классическое наебалово, не так ли?
>>33789
в работах руками очень четкий потолок зарплаты, и он довольно низкий. Больше можно заработать если самому открывать бизнес хуизнес, что то мутить, тут наебать, там кабанчиком метнутся, и это уже совсем не то, чего ты хотел изначально.
110 1934064
>>33890
ну да, от склада ума и характера тут вообще дохуя зависит.
Дохуя людей просто не любят думать, например.
Многие не любят получать новые знания.
Я всегда охуевал с того что есть люди, которые при пользовании компом или даже смартфоном не пытаются понять как работает то, чем они пользуются, а просто механически запоминают что нажимать.
Это приводит к ебейшим ситуациям когда в другой проге такой человек видит что кнопки расположены иначе, какие то кнопульки "исчезли" и начинается ПАНИКА, что за хрень, где тут нажать??
111 1934088
>>34064
Это просто наипиздецкий пиздец, есть у меня много историй из жизни не связанных с компами. Например из недавних что сложного в том чтобы кабель для телевизора положить в плинтус или собрать комод, тут даже мозгов не надо много для таких целей, но я помог проложить в плинтусе кабель, а мебельщик прилет на следующей неделе собирать комод за пару тысяч, хотя там делов на полчаса-час, но я не стал уже лишнего им говорить, а перешел на пиво. А еще многие охуевают что я сам собрал кухню, вот так вот взял купил в леруа, мне грузчики затащили и я за вечер большую часть собрал, на следуюущий день с перфоратором и уровнем все повесил и сэкономил десятку, под трубы только чуток криво столешницу вырезал. Тут даже мозгов не нужно взял шурик, засунул туда биту h4 и крути себе параллелепипеды из заранее нарезанных и размеченных деталей, как в детстве конструктор. Большинство боятся даже этого, где особо думать не надо, а ты про компы и программы где нужно хоть чуть чуть иметь мозг.
С возрастом начинаю относится к этому как к явлению природы это как снег идет, как трава зеленая, как небо голубое, так же и люди не умеют пользоваться мозгом в большинстве своем.
112 1934096
>>34050

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


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

Сейчас для тех, кто работает руками и делает что-то квалифицированное условия довольно хорошие.
113 1934108
>>34088

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


А сколько должна стоить работа на час + дорога + переговоры с заказчиком, планирование времени и т.п.? Ну молодец, бесплатно для знакомых поработал.
114 1934117
>>34096

>Если же ты на себя работаешь


Я про это и написал

>что то мутить, тут наебать, там кабанчиком метнутся


Это основное что ты будешь делать, работая на себя.
Сама работа там отходит на второй план
115 1934126
>>34088
БЛЯ, ТЫ НАПОМНИЛ!
Пиздец я с этой хуйни в шоке когда слышу такие истории типа за 5 тыщ кран поменяли или там масло сменили в машине.
На таких чуваках греются все подряд, а потом идут базары что кругом наебалово.
Потому что реально часто наебалова вагоны. Люди не хотят думать - их наебывают.
От установки виндовс за 10 тыщ, тут по тредам ходит квиток в качестве мема, до охуительных историй из сервисов когда меняют несуществующие детали.
а самый ТОП ЖИР навара это ПЕРЕКУПИКИ, когда у честного деда покупается машина за 500к, полируется на мойке и на следующий день продается за 700к.
116 1934128
>>34117

>Сама работа там отходит на второй план


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

За материальное легче платят, чем за нематериальное.
117 1934132
>>34064

>ну да, от склада ума и характера тут вообще дохуя зависит.


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

>Дохуя людей просто не любят думать, например.


Думать тяжело и "дорого", позвать славика проще.
>>34126

>ПЕРЕКУПИКИ


Непонятно чему ты удивляешься, делать меньше и получать больше это самое изи.
>>34128
Это так, да там 2 строчки добавить че ты там пишешь 2 недели. Вон Ванька то работает сантехником, вчера смеситель установил и 3 тыщи сразу в карман положил.
118 1934136
>>34128

>За материальное легче платят, чем за нематериальное.


Вот нихуя. Там срабатывает ДА ЧЕ ТАМ ДЕЛАТЬ Я ЩАС САМ ЗА 5 МИНУТ. Ряяя а че меня током бьет, а чего меня говном залило.
>>33932
Устарело, есть пепа8.
119 1934152
>>34136

>Вот нихуя. Там срабатывает ДА ЧЕ ТАМ ДЕЛАТЬ Я ЩАС САМ ЗА 5 МИНУТ.


Это как раз про умственный труд. Или про бытовую работу руками, типа шкаф собрать.

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

А вот с IT другая история. Конфиг поменять или несколько строчек написать, почему это должно стоить дорого?

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

Другая интуитивная модель. Ремонт квартиры или машины стоит меньше, чем квартира-машина. Почему обслуживание компьютерной техники, программы для неё, должны стоить больше, чем техника? Вот менталитет не готов это принять. А техника сейчас стоит немного.
120 1934158
>>34152

>Как только что-то сложное, так всё как раз очевидно.


Нихуя подобного. Когда сервисменствовал мне регулярно говорили ДА ЧЕ ТУТ 2 ДЕТАЛИ ПРИПАЯТЬ ЖАЛЬ У МЕНЯ ПАЯЛЬНИКА НЕТ ЗАШО ТУТ 5 ТЫЩ? КАКАЯ ЗАМЕНА ЧИПА?

>А техника сейчас стоит немного.


Ну иди посмотри сколько стоит 3080, или пс5.
121 1934174
>>34128
самое основное там поиск клиентов и работа с ними.
Согласование сроков. оплаты, материалов и т.п.
документы это мелочи, тем более большинство вчерную работают без всяких бумажек
122 1934175
>>34158
замену чипа разве делают сейчас?
Это тупо невыгодно и не стоит того.
реболлят просто по фану в основном, как и ремонт блоков питания и т.п. - дешевле и проще купить новый.
123 1934183
>>33834
У самого лучшего языка в мире есть такое https://rubystyle.guide/
У вас тоже что-то должно быть, хз
124 1934186
>>34175
Другой не-сервис анон.
Часто нужны какие-нибудь замены разъёмов. И вот там вопросы возникаю, почему 15 минут работы по перепайке копеечного разъёма, при том что ты девайс сам в сервис привозишь и паяют тогда, когда им удобно, стоит как пол дня дорогой работы.

Плюс всё ещё окружено примитивным разводиловом откровенно на лохов, когда даже за быструю примитивную работу, не требующую особого опыта или инструментов просят неадекватно много.
125 1934196
>>34186
Это реальный жесткач, алсо как тебе жесткое наебалово с настройкой телефона за пару тыщ в салоне связи?
типа - вам настроить телефон? тыща за настройку, тыща за установку приложений.
126 1934199
>>34183

> принципы архитектуры программ


> стайлгайд


Хороший у вас там язык.
127 1934201
>>34196
В чем проблема взять с бабысраки 2к рублей если курица не умеет и не хочет учится пользоваться телефоном?
128 1934206
>>34201
ну это как то негуманно.
130 1934243
>>34206
Негуманно когда бабасрака бесплатно мозги ебет. Если сама не хочет делать, если ей родня не хочет делать то пусть платит. Аве капитализм. Вообще обьяснять тем кто не желает учиться что либо это наблагодарный труд который должен хорошо оплачиваться. Именно поэтому когда вижу что какой-нибудь мастер взял с бабысраки 30к рублей за настройку шинды мне нисколько не жаль бабусраку. Вероятнее всего она мразь которая изьебала мозги родне, думала что самая умная, за что и поплатилась.
131 1934254
>>34201

>В чем проблема взять с бабысраки 2к рублей


Отравление рынка. Мошенники и разводилы отравляют рынок, о рынке формируется мнение, что там постоянно наёбывают, клиенты противятся этому и ищут желание себя наебать во всём.

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

На рынке массовых услуг разводилы успешнее.
132 1934260
>>34241
читай
>>33834

>Есть что почитать про принципы архитектуры программ? Мой код выглядит как говно и макароны.

133 1934273
>>34254
Рыночек это не всегда честная конкуренция. Посмотри на крупные компании, мелкософт спонсирует опенсорс чтобы давить мелочь, нинтенда судится со всеми без разбора. Так что все норм. К таким мастерам все ровно идут только бабысраки.
134 1934471
>>34030
чот стыдно) смотрю на гитхабах разные исходники, часто не понимаю логики при разбиении программы на классы, функции, пакеты, каталоги.
135 1934520
>>34471
Ну почитай про базовые вещи: закон Деметры и слои архитектуры приложения, про связность и связанность
583867a9b746c7188eee256b7b840025.jpg123 Кб, 1100x753
136 1934526
Антоши, вкатываюсь в скриптики на питоне, возник вопрос с хранением кред.
Допустим, я общаюсь с неким API и все запросы (которые отправляются питоновскими скриптами) отправляю с одной учетки. И у меня есть набор таких скриптов с разными запросами.

1. Хочу, чтобы не светился пароль в скрипте - сейчас у меня тупо строка вида
api = apisdk.Client("serverip", "user123", "password123")
2. Не хочу вбивать пароль каждый раз, когда запускаю скрипты

Нагуглил keyring, установил.
Запустил консольку питона и руками сделал
import keyring
keyring.set_password("API","user123","pass123")


Окей, креда завелась в виндовом кейринге.
Теперь я могу дергать её внутри скрипта через keyring.get_password("API","user")
Но как долго она там хранится?
137 1934532
>>34526
Сделай как нормальные люди https://pypi.org/project/python-dotenv/
138 1934563
>>34532
Какие плюсы относительно кейринга?
Прочитал по диагонали и так и не понял, где фактически хранится креда. Видимо, это не для меня.
139 1934576
>>34526
Модулем заимпорти.
140 1934586
>>34563
Кейринг это гуишная юзерская хуйня.
Значения хранятся в переменных окружения, дотенв позволяет их подгружать из файла.
141 1934589
>>34586
Т.е. креда в файле все равно будет лежить?

>>34576
При всем уважении к твоему многолетнему опыту, но я не понял, на какой вопрос ты ответил.
142 1934592
>>34589

>лежить


Лежать*
143 1934598
>>34589
Ну смотри, ебло которое не умеет задавать вопросы. У тебя твой говноскрипт лежит в гите и ты не хочешь палить свой обоссаный логин и пароль? Так? Тогда импорти модуль который не будет индексироваться гитом. Просто я хз как понимать твое
>>34526

>Хочу, чтобы не светился пароль в скрипте -


Или поясняй что ты имел ввиду, тут телепатов нет.
144 1934601
>>34589
Сам код их берет из переменных, дотенв загружает из файла в твоей среде. В разных средах оно использует свои переменные без всяких изменений.
145 1934603
>>34598
Окей, под "Хочу, чтобы не светился пароль в скрипте" я имел в виду "Хочу, чтобы не светился пароль в открытом виде где бы то ни было"
Т.е. вариант хранить его в соседнем файле не подходит.
146 1934616
>>34603

>нехочу хранить


>нехочу вводить


/0
147 1934619
>>34576

>Модулем заимпорти.


расскажи как, примерно та же задача
148 1934620
>>34616
Всё верно

>Не хочу хранить в открытом виде


>Не хочу вводить каждый раз при запуске скрипта


Ты просто не знаешь, сколько креда в кейринге живет, ведь так?
149 1934623
Поясните, а в чём отличие or - ^ и and - &?
В чём разница между ними то? Какие лучше использовать?
150 1934626
>>34620
Прост не представляю как ты себе это представляешь. Это как посрать не снимая штанов и не измазавшись говном.
>>34619
Пишешь модуль где константами твои данные, дальше его импортишь и ок.
151 1934627
>>34626

>Прост не представляю как ты себе это представляешь


keyring
152 1934631
>>34627
Костыль, кривой.
153 1934633
>>34623
Это логические и битовые операции, вообще разная хуйня.
https://ideone.com/FnSuUb
154 1934636
>>34626
так подожжи
я сделал файл hui, куда вбил пару переменных (у меня не креды если что)
потом сделал в новом файле import hui и тут есть код с вызовом этих переменных
но если я выполняю второй файл, он ругаетсо на "переменная is not defined"
155 1934637
>>34636
from hui import zalupa1, zalipa2
156 1934638
>>34636
ага понятно, при обращении к переменной надо перед точкой название модуля указывать
а можно изменить это поведение, чтобы по дефолту все переменные искались в определенном модуле?
157 1934643
>>34520
ок, спасибо
158 1934644
>>34637
или так. спс
159 1934647
>>34532
такой способ хранения паролей, токенов норм? или есть еще более трушный метод?
160 1934651
>>34647
Ansible vault. Либо Keyring
162 1934655
А можно подключать модуль из другой папки относительно основного скрипта, но не трогая syspath?
163 1934681
двачик, памаги. Есть список [(4, 'a'), (4,'b'), (3, 'a'), (1,'a'), (1, 'b'), (1,'c')] итд.

Если сделать sorted(список, reverse=True), то все сортируется по убыванию первого элемента. Как сделать так, чтобы сортировка учитывала первый элемент и второй, чтобы была сортировка и по числу и по алфавиту?
164 1934690
>>34655
В общем, есть у меня такая структура
/script1.py
/script2.py
/script3.py
/src/mod1.py
Все три скрипта включают import mod1
По понятным причинам (модуль лежит не на одном уровне со скриптами) появляется ModuleNotFoundError
Пробовал добавить /src/ в переменную PATH, но не помогло
Как заставить питон искать модули в /src/?
165 1934701
>>34681
Что должно получиться?
166 1934705
167 1934707
>>34690
import src.mod1
168 1934713
Я добавил этот тред в избранное. Теперь я вкачусь?
Думаю начать с документации питона и книг лутца, параллельно переписывая свои шелл-скрипты на питон и решая задачки на литкоде с кодварсами. Подводные?
169 1934716
>>34707
ModuleNotFoundError: No module named 'src'
170 1934721
>>34701
Сортированный список по числу и по алфавиту. Чтобы было 4,а 4,б 3,в 3,г
Сейчас сортировка только по числу, а если числа одинаковые, то по алфавиту нет
171 1934724
>>34716
Как запускаешь?
173 1934731
>>34727
Спс броу
174 1934749
>>34690
import sys
sys.path.append('.../src')
import mod1
175 1934751
>>34724
Кнопочку "Плей" нажимаю в VSCode
176 1934752
>>34749
Ну вот это выглядит как говно. Думал, вдруг есть еще способы
177 1934768
>>34752

>Ну вот это выглядит как говно


Ну тогда засунь своё говно в ...\Python\PycharmProjects\{govno_project}\venv\Lib и не еби мозги.
178 1934774
>>34751
Должно работать, ты что-то нахуевертил.
Скрин сделай.
179 1934775
>>32998
Чел. Чем язык ближе твоему языку, тем он проще. Китайский до нэйтива ты никогда не подтянешь, а английский сможешь лет через 10 проживания
180 1934779
>>33387
Ну я вот уже пол года вкатываюсь в МЛ. Трачу по 2 часа в день.

При этом у меня инглиш b1, я работаю программистом АСУТП и закончил норм вузик в ДС

Ориентировочно вкачусь через 8 месяцев
181 1934792
>>34779

>Ориентировочно вкачусь через 8 месяцев


Рассчитал модель?)))
182 1934826
>>34623
если применительно к множествам то а^в это элементы входят в A | B, но не входят в A & B
а A & B это пересечения множеств
183 1934949
>>34775
Китайсткий это жёсткий ад, сколько там иероглифов, тысячи?
184 1935028
>>34727
Фешенебельно.
Как это работает? Лямбда выдает Х, равный паре элементов, и эта пара сравнивается с элементами изначального списка попарно? Почему знак минус у первого элемента в лямбда-функции?
186 1935034
>>35033
Я конечно нормально отношусь к каналу диджитализируй, но юзать вим в 2к21 это показатель ментальных расстройств.
187 1935035
>>35028
Лямбда выдает пары и эти пары сравниваются с другими такими парами, определяя место изначальных элементов.
Минус потому что числа сортируем по убыванию.
188 1935037
>>35034
труЪ программер всегда чем-то выделяется
189 1935038
>>35037
Вим не программерская а чисто админская штука, зумерок.
190 1935059
>>35038
Сразу видно программера, вышедшего из админов. Никакого толка от таких
divan.jpg84 Кб, 300x380
191 1935060
>>35059
Что тебе еще видно c дивана, зумерок?
192 1935075
>>35060
Что до 27 лет ты желал собственную мать.
193 1935094
Аноны, как поступают в случаях, когда нужно выполнять запрос по разным URL, c разными параметрами, но с одним общим ключевым словом?
Бля, объясняю как мудак походу) Мой случай такой: есть 4 онлайн-магазина, я хочу искать один и тот же товар среди них, получать от каждого ответ и находить самый дешевый. В каждый из магазинов надо передавать разные куки, поисковая строка тоже у всех разная, но товар один.
Парсеры я уже написал, теперь думаю как можно грамотно организовать доставку сырого HTML. Any advices?
195 1935104
>>35096
не, requests я знаю. запросы я сделал через aiohttp.ClientSession().
получилось 4 функции, выполняющих запросы и отдающих HTML, но чувствую, что это нихрена не питонвей.
196 1935117
>>35094
Ну так напиши мап-функцию, которая в зависимости от типа магазина на твои входные данные (товар) будет выдавать свои куки (словарь с ключами-магазинами и значениями-куками).
197 1935130
>>35117
Куда это надо гуглить?
198 1935165
>>35104
Сделай класс на каждый сайт, там хранишь сессию и функцию для формирования урла. Потом заводишь списочек с этими объектами и гоняешь через него.
199 1935190
>>35165
Ок, попробую. Спасибо за совет.
200 1935219
>>35094

>Any advices?


Класс под запрос.
Дальше классы под сайты. Например класс Yobashopreauest и наследующие BolshoyYoba, SredniyYoba, MaliyYoba со статическими методами. Чисто не глядя четам у тебя за данные и тд. Тут же можешь методы написать чтобы инфа на выходе была более-менее одинаковая.
Дальше обработчик ну и дальше сам докумекаешь.
201 1935240
>>34751
Конфигурацию смени на Python:Module

Внутри пропиши

"configurations": [
{
"name":"Python: Module",
"type":"python",
"request":"launch",
"module":"src.main"
},
202 1935544
>>35033
ИМХО, но это отвратительно.
Лучше почитать статьи (от разрабов)/документации/кукбуки ну или глянуть видео от непоредственных юзеров/разработчиков технологий.
commit.png4 Кб, 583x88
203 1935562
Что за странная ошибка при коммите?
204 1935670
>>35562
сотри .lock. гугл дохуя вариантов выдает, еще и решенные вопросы на SO
205 1935725
Есть список уровня ['po', 'b', 'pr', 'a', 'b', 'news', 'po']. Мне нужно вычислитьиндекс заданного элемента, например 'b' мне бы выдало [1, 4].
Простой метод .index не подходит он только первый индекс дает, а повторы игнорит. Есть какой-нибудь простой способ эти индексы получить?
в индексе можно конечно пердеть со старт стоп, но это сложно будет
206 1935739
>>35725
[i for i, val in enumerate(lst) if val == 'b']
207 1935773
>>35739
[ ... or -1]
Если совпадений нет
208 1935784
>>35739
Ок. Спасибо.
209 1935964
Помогите я распылился пиздец, изучаю пистон, до этого баловался с крестами и явой, калькуляторы, списки, коллекции, обо всем посмотрел. Но в требованиях на том же хх, просят различные фрейворки и технологии, но как их освоить? Какой пет-проджект (не обязательно на пайтоне, ибо сейчас все три языка у меня на одной уровне примерно) можно написать, чтобы хотя б на учебном проекте осознанно подергать рычажки?
понятие опен сорс знаю, но абслютно не знаю, что там делать.
210 1936028
>>35964
Ты дурачок, изучающий сайдэффекты.
Учи вим и удивляй господ.
211 1936316
>>35964

>сейчас все три языка у меня на одной уровне примерно)


Дна?
212 1936330
>>35964
С++ тут HFT или микроконтроллеры
Java - Spring/Spring Boot очередной веб сервис
Python - Django/FastAPI веб сервис или сразу в Data Science по курсам/книгам.
Java сейчас очень актуальна, но и вкат дольше. Python для обработки данных охуеть как актуален. Там и задачи интереснее, чем просто CRUD писать, но и требования могут быть другие. Кроме языков тебе SQL и NoSQL надо освоить.
С++ как и MycroPython актуальны для IoT, кресты конечно же в почете, так как и ресурсы другие. Вот и выбирай.
ESP32 стоит 900 рублей, покупай и делай вебкамеры личные или JetsonNano за 12 тысяч для проекта ML на Python.
213 1936380
Салам двач. Помогите нубу плз.
Осваиваю flask, столкнулся с проблемой:
На локалхосте форма отправляется нормально кнопкой submit с отображением другого шаблона после validate_on_submit, а на pythonanywhere проверка не проходится и отображается первый шаблон. Чудес же не бывает?
214 1936401
>>36380
Смотри историю запросов, может что отличается.
215 1936526
>>31851 (OP)
Как узнать, имеет объект собственный атрибут/метод либо он унаследован от другого?
216 1936560
>>36526
class.mro()
Потом проверяешь у всех __dict__
217 1936605
А как мне в джанге переделать модель юзера? Нужно при регистрации не только ник, мыло и пароль, но и имя с фамилией хранить.
218 1936659
>>36605
Сделай ExtendedUser, в котором хранится ссылка на User джанговского.
219 1936664
>>36659
В документации нашел, что можно что можно накостылить модельку и связать через OneToOneField. Ты про это?
220 1936679
221 1936749
Есть форма с рекапчей, но с какой-то лоховской настройкой - не дает задачек даже без аккаунта гугла.
И вот я думаю как бы её исполнять, чтобы без целого браузера, может какой-то нодой?
222 1936959
>>35165
ты увлекаешься классами? это ООП?
223 1936966
>>36959
Ставь класс если увлекаешься классами!
224 1936981
>>36749
Там в настройке каптчи может быть указано не давать задач. Ну, точнее invisible captcha
225 1937031
Двочане, повился вопрос, который не могу загуглить, нужно узнать использует ли тикток mysql, нужно для обработки ошибки 2013, алсо может кто знет что еще может генерить эту ошибку, какие программы, скрипты и прочее, ну и вопрос как в принципе узнавать на каком стеке написаны приложения?
свиборг.png190 Кб, 400x400
226 1937091
227 1937151
>>37031
https://careers.tiktok.com/m/position/6760856207306524936/detail
Там написано MySQL. Совсем уже пукпокеры одебилились
228 1937227
>>37151
Спасибо, друг
cover[1].jpg363 Кб, 594x843
229 1937448
Хоспаде спасибо автору, кажется наконец-то начал понимать ООП и как его использовать.
230 1937458
>>37448
Теперь ты Python Pro?
hackermanbyshiiftyshift-dan31sc-768x432[1].png556 Кб, 768x432
231 1937462
>>37458
А то
232 1937484
>>37448
По-моему ООП это то к чему приходишь, когда функций становится овердохуя и они жирнеют с каждым разом.
233 1937551
>>37448

>кажется


Когда кажется надо креститься.
234 1937606
Двач, помоги с джангой.

Расширил я, значит, по вчерашнему совету дефолтную модель юзера. "Расширил" через OneToOneField - у меня теперь для всего этого есть класс Employee.

Как мне в админке для Employee выводить его имя и фамилию? В самом Employee у меня только ссылки на юзера и на роль, и админка только два этих поля отображает
235 1937631
>>37606
Наверное, это то, что ты ищешь
Но хотя бы пытайся иногда гуглить, прежде чем вопросы задавать
https://developer.mozilla.org/ru/docs/Learn/Server-side/Django/Admin_site#продвинутая_конфигурация
изображение.png14 Кб, 931x312
236 1937636
>>37631
Не совсем. Хуево спросил просто, хотелось бы при переходе в конкретного сотрудника иметь возможность менять имя и фамилию, объявленную в дефолтном юзере. Это мне сам шаблон менять надо?
237 1937637
>>37636
Ладно, я увидел про инстансы в твоей ссылке. Почитаю
238 1937643
Всем здрасти, я новичок и мне хочется в бэкенд, но в моем городе нет вакансий на ноду (есть js и питон). Пока учусь переехать не могу. Так вот, в ноду лучше из питона приходить или из фронта на жс?
239 1937822
Бля, почему Джанго проекты так долго копируются куда-либо, хотя там 30 мегабайт? Из-за того, что там дохуища файлов? Хочу работать над одним проектом дома и на работе. Но на работе вроде нельзя ничего поставить, я скачал портативную версию редактора и норм. А ещё и все порты под флешки заняты, только на соседнем компьютере есть. Приходится копировать на сетевой диск, а с него скачивать на свой пека. Охуеть вообще. А потом обратно все также.
Я вот думаю мб чего придумать. Гит какой-нибудь освоить может. Но я же не смогу обратно в гитхаб залить файлы, не установив какую-нибудь программу?
240 1937839
>>37822
У тебя на работе нету гита?
241 1937844
>>37839
А он по умолчанию в винде стоит что ли? Я хуи пинаю на говноработе, она никак с айти не связана.
242 1937878
>>37844
лох
243 1937880
>>37878
Это да.
244 1937934
Как распознать объекты с экрана, кнопочки там всякие и окна всплывающие?
245 1937938
>>37822
про архивирование ты конечно в первый раз слышишь можно без сжатия
246 1937943
>>37938
Да, чет не подумал. Но так он не будет просто долго архивировать и разархивировать по тем же причинам?
247 1937978
>>37943
Протестируй дядь, яж не знаю твои спеки
248 1937980
пацаны
перекатываюсь к вам из байтоебли - надоело получать копье за ебучую тонну требований
скажите, что должен знать питон разраб? (не дата сайнтист - не прет математика на таком уровне. Либо бэк либо мл инженер)
спасибо)
250 1937988
>>37986
а на каком уровне должны быть знаний БДшек? хватит курсов на степике?
251 1937990
>>37978
Да, заебись, за 30 секунд сжало, разжало минуты за полторы, спс.
252 1937995
>>37988
Смотря чем заниматься будешь. В веб-фреймворках все операции с БД, как правило, уже за тебя написаны
253 1937999
>>37995
в вакансиях просто написал "знание бд"
я ж хз
254 1938004
>>37995
а вообще, чел, раз уж ты мне отвечаешь
скажи плез, насколько вообще работа интересная?
Я просто в бекенде ничего не смыслю и что ребята пилят на нем тоже не особо то и знаю, тк лет 5 пилил ПО для датчиков всяких
почему питонистов называют макаками? реально что ли по клавишам просто так тыкать? Я из уважения к коллегам по цеху не очень верю, что работа в ИТ может быть макакишной
для меня просто большое удовольствие вызывает решение сложных задач, чтоб прям посидеть, во внутренности системы, в которой работаешь, повтыкать
это все есть в мире бэка?
изображение.png28 Кб, 947x483
255 1938019
Подскажите дурачку - хочется чтобы при нажатии на 'Add user' сразу была возможность вписать имя, фамилию и почту. Как это сделать?
256 1938026
>>38019
Чел, если ты дурачок то может пойдешь в курьеры в яндекс еду?
257 1938041
>>38004
Тебе какой бэк подавай? Если очередной REST это даже Java макаки, потому что там все с фреймворком. Недавно писал сервис эмуляции протокола Штриха на питухоне. Для байтоебства есть еще micropython для ESP32 и Pi. Хочешь и там задрачивай микроконтроллеры и прочую ебалу. Правда я думаю придется на C++ или Rust с ESP32 переходить, пока еще не пришла из Китая.

Бэк в основном хуйня полная, если не сам архитектуру пилишь.
258 1938047
>>38041
Почему хуйня?
259 1938067
>>38047
В основном хуйня так как пилишь REST API CRUD с OpenAPI.
В основном архитектуру пилят те кто умеет, а разрабы уже чисто по стеку и реализации.
Я в одно рыло такие костыли лепил, что удивляюсь как все работало. Шина данных держалась на одном RabbitMQ, лол. Зато все сам, да. Отец, системный архитектор, говорил что я дебил (ну он вообще любитель Java) и в нормальную галеру меня не возьмут за такие проделки.
260 1938070
>>38047
А ну и проекты госовские часто на SOA (какие нахуй микросервисы) монолитах с XML и WSDL на борту. И конечно же на божественной(нет) Java. Смузихлебы с Python нужны только коммерсам и то не всегда. Куча легаси на Ruby и PHP. Скорее на NodeJS перейдут чем на Python.
261 1938092
>>38070
Тоесть не рекомедуешь в веб на питоне вкатыввтся? Лучше в жаву?
262 1938093
>>38092
насколько я понимаю, он в принципе в бэк не советует вкатываться тем, кто ждет каких-то дико охуевших задач
либо from supermodule import your_task
либо архитектор ( от себя хочу добавить, шо хуй станешь вторым без работы первым)
мимо
263 1938098
>>38093
Дак а чем плох import supermodule, это же значит что сидишь кайфуешь лепишь круды и чинишь если сломаются, будто на фронте свободы больше? Дизайн за тебя уже придумали, библиотеки тоже
264 1938100
>>38098
братка, я вообще не шарю в бэкэнде
просто предположение выдвинул
265 1938102
>>38098
да ничем, в целом-то, и не плох
главное, чтобы работа по кайфу была
кому-то в кайф круды лепить - в чем проблема? ни в чем
кому-то хочется поебаться прям - ну тоже ок
наверное вторым просто не нужно идти в бэк на питоне - либо кресты, либо еще что-то
266 1938103
>>38100
Вот и я не знаю, а в бекендик вкатиться хочется, но в какой...
267 1938105
>>38103
сегодня проитал про контору postuf
никто не сталкивался?
рили там все так хуево и главный чел мусульманин, который запрещает даже дома пить?
268 1938106
>>38102
Слышал что бек на питоне хуйня, что он не заточен под бек и основная его роль в дата сисенсе. Что можешь рассказать об этом, брешут? Или как жить, на что глядеть
269 1938109
>>38106
я крестовик, соре
опыт в питоне на бэке только в унике
со стороны кажется, что да - чисто для бизнес логики
но для написание безнес логики особо то ничего и не нужно знать, кроме как БИЗНЕС в котором эта логика будет
если устраивает - вперед
270 1938126
>>38109

>БИЗНЕС логика


Именно, а учитывая, что если монолит - Java, а если монолит Java, то фронт обязательно сука злоебучий AngularJS, то питону некуда примкнуть тут. Монолит на питоне? Ну нахуй. Такая ебака грозная получается, еще и вручную контроллить по сути, JVM же нет, а если микросервисы, то уже ближе к смузихлебству. Но просто REST на питоне? Ну хуй знает, даже Хуяндекс пилит микросервисы Python/Go судя по их хабру. Но там просто так уже не выпилить Я.Такси и не запилить на каком-нибудь чистом Go, не окупится, еще и новое спагетти появится.

>>38106
Он не то чтобы не заточен. Микрофреймворков с асинхронкой (забудь ссаную Джангу) уже дофига и на любой вкус, проблема с WSGI:ASGI, хотя и тут уже есть интеграция с nginx. Просто как бы помягче сказать, ну не сдался он никому, если только не пилишь соло или весь проект не строится на ML (ну с натягом можно туда вебсервис впихнуть, хотя он особую роль там не играет)
271 1938159
Аноны, кто работал с pyqt?

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

Алгоритм такой: Метод инит конструирует все и выводит первый ui обычного режима пик1, все классно работает. Нажатие кнопки '///' делает что-то self.ui = uic.loadUi('calulate_engineering.ui') и тогда старый пик исчезает и появляется новый интерфейс. Там как бы во втором ui все остается прежним, просто добавляется пара полей, но ничего не работает, типа жмякую кнопки, а не пашет, просто болванка. Подозреваю из-за того, что метод init заново не вызвал. Как можно реализовать такую дичь?
272 1938242
Аноны, кто работал с pyqt?
Когда запрос на oauth делаешь, то открывается страница с кодом. Его никак не получить в ответе что ли? Пользователь сам должен ввести его?
273 1938257
фронтенд на питоне это возможно
274 1938259
>>38257
Возможно, только пользователю придется выкачать весь интерпретатор и либы
275 1938304
>>38126
А что тогда смотреть? Пыха, джава и модный го?
276 1938357
>>38259
Чё ты несёшь, клоун?
Пук среньк. Скажи это на собеседовании и тебе ебало разобьют
277 1938358
>>38159
Бамп
278 1938386
Аноны, подскажите.
вот есть код
https://www.codepile.net/pile/5R0dKWRO
что надо поправить чтобы в результате сложения экземпляров класса File генерировалось уникальное имя файла для создаваемого объекта класса File?
279 1938389
>>31879
Чел можешь отписать в тг @jllik, есть пару вопросиков
y.png121 Кб, 736x736
280 1938402
>>38357
Ну давай, расскажи нам.
281 1938444
парняги
есть ли какой-нибудь способ остановить безопасно бесконечный while цикл во время выполнения?
юзаю пайчарм, в цикле идет обработка риалтайм данных с камеры. Если нажимаю стоп в ide, то весь процесс стопится и до строчек, где я закрываю камеру просто не доходит
ну типа

while True:
___do_smth()
camera.stop() # до сюда вот не доходит при остановке процесса
282 1938470
>>38358
бамп
283 1938486
>>38470
да иди ты нахуй со своим калькулятором
284 1938496
>>38444
Не силён в прерываниях через ide, но попробуй это:

while True:
____try:
______do_smth()
____except KeyboardInterrupt:
______camera.stop()
______sys.exit()
285 1938502
>>38496
лучший, спасибо
image.png69 Кб, 1053x291
286 1938511
>>31851 (OP)
Пизда рулю. При попытке юзания pip из виртуальной среды выпадают максимально странные ошибки (пикрил). Причем если запускать приложение (из докера) то все пашет, втф?
287 1938525
>>38444
finally/with
288 1938537
>>38525
Либо слушать прерывания (более уебанский способ)
289 1938541
>>38511
Пушто ты еблан и запускаешь не из под виртуальной среды?
Сначала activate -> переход в venv и потому уже python3 *.py.
Или настраивай PYTHONPATH=${PYTHONPATH}:/home/nick/tele2/webim
290 1938543
>>38541
Сейчас охуеешь, но делал все именно так
291 1938558
>>38386
бамп, помогите!
292 1938625
>>38543
покажи echo. Ты небось в пучарме еще дрочишь?
293 1938626
>>38537
Какой еще уебанский? Если ты сервис запускаешь через systemd, то как ты еще graceful shutdown сделаешь без обработки signal?
Самая мякотка, когда в Process вложен Asyncio Loop и надо прям аккуратно все завершить и при этом загасить, так чтобы никто не думал kill -9 послать, ибо долго блять.
294 1938677
>>38543
У тебя запуск идёт из системных каталогов, а не из под среды. Смотри сам, что тебе интерпретатор пишет. Там должны быть пути вроде
/home/vasya/virtualenvs/porevo/bin/...

Попробуй запускать интерпретатор не через activate, а напрямую как
/home/vasya/virtualenvs/porevo/bin/python my_script.py
295 1938686
>>38486
бамп
296 1938687
>>38511
Нормальная ошибка. У тебя какой-то webim/stats/types.py шадовит системный и всё охуевает.
297 1938690
>>38687
Ага, дело в том что в той же дире находится файл types.py (который есть и в стандартной либе питона в /usr/lib). Опять "приколы" питона
298 1938755
>>38690
Какие приколы? В JS такого что ли нет? Просто находятся дебилы, у которых проблема с фантазией
Screenshot170011.png90 Кб, 1082x722
299 1938802
Пайтаны выручайте заебало
Есть Лист классов и есть обычный лист
Как блять сделать дубликаты объектов в листе классов в соответсвии с кол-вом повторений в обычном листе?
Сделал ка кна скрине и оно висит нахуй
Дубликаты я посчитал удобно а дальше хз заебало уже аутировать даже
Пикрил
300 1938805
>>38802
1. Лист классов? Чего блять?
2. Повторения считаются с помощью collections.Counter, "дубликаты" убираются с помощью set
301 1938818
>>38805

>1. Лист классов? Чего блять?


Питоновский list содержащий объекты класса Test

>2. Повторения считаются с помощью collections.Counter, "дубликаты" убираются с помощью set


Убирать повторения не нужно нигде, наоборот в листе классов должныбыть повторения как в обычном листе на основе сравнения строк листа и полей name Объекта класса
Функция upd пытается это сделать на скрине
302 1938824
>>38818
Вижу ты итерируешься по cl_list и одновременно его модифицируешь. Красава
303 1938827
>>38824
))
памахите
304 1938833
>>38802
Ты наращиваешь при итерации, вот он и растет бесконечно. Делай через range(len).
Алсо, аппенд сделает только два. Делай extend([item] * v-1)
305 1938834
>>38833
Да я это понял, просто пытался пояснить что хочу примерно
Через рэнж попробую, спс
а вот с extend ЯННП
image.png7 Кб, 472x162
306 1938857
Screenshot175015.png55 Кб, 711x549
307 1938879
>>38857
Спасибо
Только в моём случае пришдлсь в скобки обернуть чтобы работало
308 1938885
>>38879
У * таки выше приоритет, лол.
Screenshot182431.png66 Кб, 769x645
309 1938896
Пытаюсь дать этой хуете уникальные имена но имена выходят нихуя не уникальный
Это как-то связанно мю что я копировал классы и они копились как ссылки?
310 1938901
>>38896
Да, это просто ссылки.
Надо делать copy.deepcopy им по одному тогда.
пидоры-помогите-6360505.jpeg164 Кб, 811x400
311 1938904
Как закомпилить питон в cmake с статической ссылкой на переменную среды PYTHONPATH и PYTHONHOME
Сам Cmake

cmake_minimum_required(VERSION 3.16)
project(pytest C)
set(CMAKE_C_STANDARD 99)
set(ENV{PYTHONHOME} "python")
set(ENV{PYTHONPATH} "python\\DLLs")
set(ENV{PYTHONPATH} "python\\Lib")
set(ENV{PYTHONPATH} "python\\Lib\\site-packages")
include_directories(python\\include)
link_libraries(python\\libs\\python37.lib)

add_executable(pytest main.c)
312 1938911
>>38901
Т.е. мой extend оборачивать в copy.deepcopy или как его юзать?
Screenshot190701.png71 Кб, 774x744
313 1938921
>>38901
Ничего не поменялось чет
314 1938922
>>38911
Ну если ты хочешь что-то менять, то надо в цикл оборачивать, а так можно и генераторным объектом обойтись, например.
https://ideone.com/wAJ2Sb
315 1938923
>>38922
Генераторным выражением то есть.
316 1938925
та ну ёбана
317 1938927
>>38925
Вам не стоит заниматься программированием.
Screenshot192024.png71 Кб, 699x748
318 1938930
>>38927
Та ладно, я всего-то невнимательно вставил копирование.
Только вот оно имена не всем скопированным объектам меняет а только первым двум
319 1938932
>>38930
Ну так ты только раз копируешь. Та же хуйня, что раньше, только с копией.
320 1938933
>>38930
Там не в копировании дело.
321 1938934
>>38686
бамп
322 1938939
>>38934
Ты заебал, просто по кнопке меняй ширину формы, больше ничего делать не надо.
323 1938942
>>38933
Какой же ты загадочный, пиздец просто.
324 1938987
Двачик родной, подскажи как вкатиться в ООП? Я понимаю что такое классы и зачем они нужны, хочу как-то освоить вот эти ваши всякие паттерны и бест практисы. Есть что почитать/посмотреть толковое с примерами на пистоне? Заранее спасибо?
325 1939021
>>38939
Какая же ты скотина. Твой высер ничего общего с решением не имеет.

Теперь по сабжу. ОП. Тебе надо вывести отдельную функцию, а не определять все в инит и создать какую-то переменную типа self.status и с помощью этой переменной по нажатию кнопки подгружать новый шаблон в созданную функцию и просто вызывать ее по нажатию кнопки.
326 1939034
>>38987
на питоне сложно писать в ООП стиле. Выглядит чужеродно.
327 1939035
>>38987
Что конкретно тебе непонятно?
328 1939036
>>39035
что такое инкапсуляция и нахуя она
329 1939039
>>39035
и полиморфизм
330 1939044
>>39036
Ну типа ты запечатываешь хуйню всякую чтобы она не протекала везде. Типа методы класса сразу пишешь чтобы не искать функцию хуй пойми где в программе и думать как блять это работает и как это нахуй отлаживать. А так у тебя сразу в классе его методы, понятней.
>>39039
Ну эт наследование когда ты можешь методы одного класса использовать в другом. Допустим ты созда класс овощи. А потом создал класс картошка, и класс морковка, и в них используешь тот же метод что в овощах.
331 1939048
>>39036
>>39039
Это не ООП понятия, а компутер саенсовые.

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

Каноничный ООП сейчас это джава и те языки которые с нее все украли
332 1939051
>>39048

>Каноничный ООП сейчас это джава и те языки которые с нее все украли


Ой блять, иди нахуй, душный легасипидор. Джава у него. Ебать ты дед вылез тут нахуй, джава сиплюсплюс. Хуй тебе в рот.
333 1939054
>>39051
В питон тред залез джавасквирт дебил?
334 1939055
>>39054
Какие у тебя проблемы с джаваскриптом, говно?
335 1939060
Ладно, я понял что с ооп сложно. Может подскажете тогда, что глянуть просто по бест практисам питона каким-то? Мне скорей для общего развития надо, т.к. больше наукой занимаюсь...
15960264102200.jpg67 Кб, 592x532
336 1939063
>>39051

>Ой блять, иди нахуй, душный легасипидор. Джава у него. Ебать ты дед вылез тут нахуй, джава сиплюсплюс. Хуй тебе в рот.

337 1939064
>>39060
Чел, я хз если ты не понял моем обьяснение на овощах то я даж не знаю.
>>39063
Боевые картиночки с гринтекстом, слив защитан.
338 1939065
>>39064
Бля, я понимаю что такое инкапсуляция и полиморфизм. Это какой-то клоун влез.

>>39021 кун
339 1939076
>>38987
На питоне ООП во всей красе не прочувствовать по причине отсутствия модификаторов доступа, интерфейсов и абстрактных классов. Так что такие вещи как инкапсуляция и полиморфизм тут забзать не получится. Если хочется прям ООПшного ООП, то советую попробовать Java, C# или на худой конец php.
php.png522 Кб, 756x964
340 1939086
341 1939110
>>39086
Да ладно, олдфаг из прошлого) Ты последние версии пыхи видел? Там все тоже ООП что и в джавашарпах, плюс строгая типизация есть.
342 1939114
Пагни, как запилить простейший ПАТЧ реквест в джанге? Имеется уже ПОСт, можно ли пол как-то модифицировать чтобы был патч? Я в этом не особо шарю, менеджер спрашивает. Спасибо
343 1939119
>>39114
Это одно и то же. Ну поменяй на патч где там есть пост, лол.
344 1939138
>>39119
Рили? А как ключ паф выделить? Айди там или имя для пути.
345 1939192
>>39076
>отсутствия модификаторов доступа
Есть, но неявные

>интерфейсов и абстрактных классов


Напиши свой интерфейс. В чем проблема? Абстрактные классы тоже есть ABCMeta

> инкапсуляция и полиморфизм тут забзать не получится.


https://www.geeksforgeeks.org/encapsulation-in-python/
https://www.geeksforgeeks.org/polymorphism-in-python/

Короче ты хуйню сморозил. Если есть необходимость применять такой подход, то пожалуйста, чаще всего нахуй не надо, а та же Жаба заставляет тебя это делать.
346 1939194
>>38987
refactoring.guru
347 1939204
>>39119
>>39114
Плиз хелп.
Алсо, Постмен выводит все лидсы даже по обращению к айди /480. Почему?
348 1939205
349 1939217
Антоны, как работает современный фронт, может кто подсказать как бэку начинающему, про шаблоны в джанге и как вебсервер документы отдает я понимаю, а вот зачем нужны фреймворки для фронта я хз. Я вот так представляю что на js подгружается вся динамика через апи и часть еще через ajax, я прав?
350 1939218
>>39114
На практике вообще юзаются патчи и путы? Все ведь онли на пост/гет можно делать
351 1939220
>>39218
Смузихлебская хуйня, видел может пару раз, и то скорее всего какие-то фреймворки из коробки такое предлагают.
352 1939223
>>39218
>>39220
Я с вами абсолютно согласен, однако один наш клиент лично попросил менеджера, что они хотят патч фичу от нас.
Попробовал я модернизировать пост, так не работает.
Кину сам кол чуть позже, если кто-то сможет подсказать.
353 1939243
>>39223
Короч вот. Из вьюс и сериалайзера. Из этого нужно как-то сделать патч.

> class ListLeadScoreIngesterView(generics.ListAPIView):


"""
GET songs/
POST songs/
PATCH lead/
"""
queryset = LeadScoreIngester.objects.all()
serializer_class = LeadScoreIngesterSerializer

@validate_request_data
def post(self, request, args, *kwargs):
a_lead = LeadScoreIngester.objects.create(
eventType=request.data["eventType"],
version=request.data["version"],
parameters=request.data["parameters"],
payload=request.data["payload"]
)
return Response(
data=LeadScoreIngesterSerializer(a_lead).data,
status=status.HTTP_201_CREATED
)

> class LeadScoreIngesterSerializer(serializers.ModelSerializer):


id = serializers.ReadOnlyField()

class Meta:
model = LeadScoreIngester
fields = ("id", "eventType", "version", "parameters", "payload")

def update(self, instance, validated_data):
instance.eventType = validated_data.get("eventType", instance.eventType)
instance.version = validated_data.get("version", instance.version)
instance.payload = validated_data.get("payload", instance.payload)
instance.parameters = validated_data.get("parameters", instance.parameters)
instance.save()
return instance
353 1939243
>>39223
Короч вот. Из вьюс и сериалайзера. Из этого нужно как-то сделать патч.

> class ListLeadScoreIngesterView(generics.ListAPIView):


"""
GET songs/
POST songs/
PATCH lead/
"""
queryset = LeadScoreIngester.objects.all()
serializer_class = LeadScoreIngesterSerializer

@validate_request_data
def post(self, request, args, *kwargs):
a_lead = LeadScoreIngester.objects.create(
eventType=request.data["eventType"],
version=request.data["version"],
parameters=request.data["parameters"],
payload=request.data["payload"]
)
return Response(
data=LeadScoreIngesterSerializer(a_lead).data,
status=status.HTTP_201_CREATED
)

> class LeadScoreIngesterSerializer(serializers.ModelSerializer):


id = serializers.ReadOnlyField()

class Meta:
model = LeadScoreIngester
fields = ("id", "eventType", "version", "parameters", "payload")

def update(self, instance, validated_data):
instance.eventType = validated_data.get("eventType", instance.eventType)
instance.version = validated_data.get("version", instance.version)
instance.payload = validated_data.get("payload", instance.payload)
instance.parameters = validated_data.get("parameters", instance.parameters)
instance.save()
return instance
Screenshot - 2021-02-13T104145.182.png30 Кб, 636x501
354 1939329
Аноны, подскажите.
вот есть код
https://www.codepile.net/pile/5R0dKWRO
что надо поправить чтобы в результате сложения экземпляров класса File генерировалось уникальное имя файла для создаваемого объекта класса File?
355 1939360
>>39217
Ajax как раз дёргает твой АПИ Бэка, получает новые данные и производит мутацию объектов на фронте.
Шаблонизатор уже устарел, так как обработка идёт на стороне сервера, что добавляет нагрузки. Можно и VueJS рендерить на сервере и отдавать готовый DOM, но не советуют.
image.png4 Кб, 362x128
356 1939367
Как выводить массив с элементами, выравненными по правому краю?
Сейчас вот так выводит,
image.png6 Кб, 421x194
357 1939385
>>31851 (OP)
Старая добрая задачка с двоичными числами. Даны 2 десятичных числа. Надо перевести их двоичную форму так, чтобы в обоих было одинаковое число знаков
Ну ебана, вот о чем я: даны 1 и 4; 1 -> 001; 4 -> 100

Вот код на скрине, вроде работает, но меня не покидает чувство что написал его по-уебански, как лучше?
358 1939386
>>39367
If len(num) neq 2:
pad(num, 1)
359 1939421
>>39386
Это numpy чтоли?
360 1939425
>>39421
Это не numpy. Это псевдокод. Я тебе готовое решение давать не стану.
Screenshot from 2021-02-13 12-41-49.png8 Кб, 644x72
361 1939438
>>39385
Вместо паттерна 'if diff > 0'
можешь пользоваться схемой
'0' x max(diff, 0) # в смысле умножить
в случае нуля '0' выродится в пустую строку.
362 1939491
Привет, друзья! Django

Собрался я значит сделать так, чтобы после успешной регистрации аккаунта, автоматом логинилось и редиректилось на стену этого самого пользователя. Но редиректится почему-то на адрес в начале которого подставлено /registration/.

Чем это может быть вызвано и как пофиксить?
image.png33 Кб, 519x433
363 1939495
Есть ли готовые решения для сохранения результатов вычислений на диск, чтобы повторно из не пересчитывать при перезапуске? joblib.Memory не завелся как я понял из-за того, что я либо на винде, либо аргументы функций не могут быть функциями, либо работаю в жопитер блокноте. Так что навелосипедил свой вариант для сохранения в csv. Можно тут что-то улучшить или заменить готовым?
364 1939502
>>39385
Зделол йоба-функцию в рамках тренировки, принимает сколько хошь.
https://ideone.com/7Z1cro
365 1939505
Для начала подсушите код, пожалуйста, а то 2 последних совпадающих абзаца глаза режут
366 1939506
367 1939509
>>39495
Можно сериализовать в текст в формате json, или yml, или xml, или еще в каком-нибудь формате соответствующих библиотек море, в питоне есть встроенный модуль pickle для бинарной сериализации питоновских объектов. Полученные значения можно просто в файлы записывать, можно в базу данных, а можно сразу данные писать в базу данных, в sqllite какой-нибудь.
368 1939512
>>39509
Нихуя ты умный, я уже это сделал.
>>39505
Есть такое, хотя и похуй.
369 1939513
>>39495
На каждый запрос дрочить файловую систему и загружать дохулиардный список решений ради одного значения?
Переделай на тот же скулайт хотя бы.
370 1939514
>>39495
Если тебе нужно именно с pandas работать, так там есть встроенная сериализация датафреймов о множество форматов
https://pandas.pydata.org/docs/reference/io.html
371 1939516
372 1939519
>>39514
Я и взял pandas именно из-за встроенной сериализации в csv.
>>39513
Там не настолько большой объем данных, но вычисляется он очень долго. После каждого перезапуска жопитера их вычислять не охота.
373 1939527
>>39519
А, ты по одному на файл пишешь?
Нахуя тогда цсв? Просто файл read write.
374 1939540
>>39527
Нет, не по одному, для каждого вызова функции с каждым набором аргументов. Но все равно объем небольшой получается. В данном случае чтение и запись на диск гораздо дешевле.
375 1939545
>>39425
for i in matrix:
for j in i:
print(str(j).rjust(3), end='')
print()
376 1939547
>>39495
А cache, cached_property и lru_cache из functools не подходят?
377 1939552
>>39547
Нет. Нужен персистентный кеш.
378 1939563
>>39048
>>39036
Не своетую читать шизика Мартина (или, по крайней мере, воспринимать его шизу всерьез). Инкапсуляция - это то, как ООПшники называют information hiding (https://en.wikipedia.org/wiki/Information_hiding) - это один из основных инженерных принципов вообще. Можешь начать с этой статьи.
379 1939882
>>39552
Redis?
380 1939940
>>39495
В ipython, а значит и в jupyter, есть магическая команда %store, кажется, она делает именно то, что надо
381 1939956
>>39940
Вот именно это я и искал, спасибо.
382 1940063
>>39243
ДЖАНГИСТЫ ХЕЛП
383 1940071
>>39545
Молодец
384 1940462
Анон будь няшей подскажи как:
1) Есть aiohttp веб сервис, иногда на него прилетают тяжелые запросы которые обрабатываются 100мс (вероятно это не предел) в синхронной части кода (какая-то обработка данных на pandas написаная не мной, я делаю http обертку).
Как бы мне из обработчика запроса спавнить подпроцесс и выполнять синхронный код в нем и await'ить до его выполнения передавая тем самым управление эвент лупу? (чтобы синхронный код не тормозил другие запросы).
Я думал заюзать multiprocessing, но ведь он синхронный, т.е. запустить то в процессе что-то можно, a await'ить это никак.
Может быть более правильно будет просто в основной цикл вычислений синхронного кода добавить переодический вызов await asycio.sleep(0), что бы дать возможность переключения на другие асинхронные таски? И сразу запускать скрипт с нескольких инстанциях.
2) Можно ли вывести как-то информацию, сколько примерно простаивает event loop (т.е. ему нечему передавать управление), чтобы на основе этого понимать сколько инстанциий скрипта необходимо для корректной работы (а может в будующем и автоскейлер накрутить). Понимаю что можно косвено судить по количеству асинхронных тасков или времени выполнения запроса, но хотелось бы явно.
385 1940528
Братья, ну помогите!
>>39329
386 1940614
>>40528
uuid4() гарантирует уникальностт
387 1940616
>>40462
Не совсем понял твою задачу. Ты можешь поднять микросервис через Process и кидать туда задачи через Pipe, тогда у тебя 1 процесс это вебсервис, а второй это для расчётов. Или же как вариант выделить просто отдельно сервис расчетов в микросервис и кидать туда по REST задачи. Третий вариант Celery с Redis или RabbitMQ, но нахуй надо.
389 1940779
>>40767
Вот спасибо, похоже то что надо.
390 1940781
В шапке очень много книг, а что посоветуете прямо новичку-новичку?
391 1940782
>>40767
Бля, это и мне подойдет. Спасибо, анон.
392 1940845
>>40781
В английский не можешь, конечно же?
393 1940858
>>40845
Ну если гугл переводчик подойдет как азмена английского - то могу.
394 1940859
Замена*
395 1940866
>>40462

>Может быть более правильно будет просто в основной цикл вычислений синхронного кода добавить переодический вызов await asycio.sleep(0), что бы дать возможность переключения на другие асинхронные таски?


Про run_in_executor тебе уже ответили.

А вот по этой части грабли есть: asyncio.sleep(0) не переключит таску. Тебе надо делать asyncio.sleep(0.0000001), например, чтобы переключение было.
396 1940893
>>40462

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


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

Косвенный метод в том, чтобы взять
time.process_time() (количество секунд работы процесса) и сравнить с time.monotonic()
то есть ты каждую секунду, например, считаешь разницу в monotonic времени (должна быть примерно секунда) и в process_time, по чему делаешь вывод, насколько сильно у тебя процессор загружен.

По-моему там есть даже более специальные инструменты для подобного мониторинга и более точные, но я на память не помню, где они закопаны, искать надо.
397 1940914
Сап двач, подскажите за функцию min. Юзаю её и нахожу наименьшее число, но можно сделать, чтобы она возвращала не число, а название переменной?
398 1940919
>>40914
Попахивает говнокодом
Если хочешь поебаться с названиями, юзай dict
399 1940930
>>40914
Я как-то выкладывал смищное решение в таком ключе на ебанутую задачку, сейчас гляну.
400 1940936
>>40930
Во, нашел >>1927282 →
image.png13 Кб, 812x243
401 1940951
402 1940958
>>40951
Норкоман штоле?
403 1940961
>>40951
Букашка.
404 1940963
>>40781
Я вот нашел книгу "питон для детей"
Подойдет?
405 1940968
>>40963
Сложна, бери для котов.
406 1940972
>>39243
Неужели никто не знает.
407 1940977
>>40972
Мудак, твое говно неформатированное никто даже пытаться читать не будет
408 1940986
>>40616
>>40866
>>40893
Спасибо аноны.
409 1940988
>>40951
Зачем на питоне писать как на перле?
410 1940998
>>40988
У тебя всё что сложнее одного выражения это "как в перле"?
Иди посмотри современный жс, там вообще какая-то инопланетная хуйня и никто не пиздит.
411 1941005
>>40998

>какая-то инопланетная хуйня


Это ты автор вот этого говна >>1927282 → ?
В жс есть свои конвенции и парадигмы, хоть они и малость уебанские порой но смысл в них есть. За то говно что написал ты, в любой компании будешь сразу уволен нахер. Тут не в питоне как таковом дело а в том что это максимально неподдерживаемый и лапшеобразный код
412 1941008
>>41005
Это шутка - пруф оф концепт, какие компании нахуй.
Собрались блять промышленники.
413 1941119
>>41008
PoC, у него лол. Т.е можно писать спагетти код и потом отвечать "да вы что это просто PoC, а не говнокод", ору
414 1941124
>>41119
Да, можно.
415 1941126
>>41124
Доедаем борщик и идем спатеньки
416 1941130
>>41126
Почему без точки?
417 1941161
>>40614
Ок, понял.
уже сам решил через
tf = tempfile.NamedTemporaryFile
418 1941338
Я сегодня узнал что мой код используют уже 3 месяца, как я счастлив аноны, в октябре еще нашел заказ на фрилансе, нужно было разработать бота, который бы писал рейтинг игроков для мода халфлайфа, мы нашли решение, я написал бэк и самого бота, который полил обновления и писал в дискорд о результатах матча и лидерборду. А сегодня я выяснил его оказывается подключили как доделали мод и там уже целый сезон прошел и все работает и как же я кайфанул от этого, моим кодом пользуются! Решил поделится с двачиком с которым начинал изучать питон
419 1941383
>>39051
Java мне немного прочистила мозги насчет абстрактных классов и интерфейсов. Особенно интерфейсы понравились.
420 1941447
>>40977
Лучше на репо залить или фотку?
421 1941448
Пацаны, написал охуенный скрипт, полезный. Решил его собрать через pyinstaller, чтобы не ебаться с установкой питончика на других компах, а просто запускать exe файл. Залил на гитхаб, на другой тачке скачиваю ехе файл, а встроенный в дрисятку антивирус орет, что это очень страшный троян и удаляет его. Файл можно добавить в разрешённые в защитнике виндовс, тогда всё ок. Но как сделать чтобы антивирус не ругался? Я гуглил везде предлагают подписывать ехе файл. Короче, знающий анон помоги.
422 1941478
>>31851 (OP)
Господа. Помогите машин лернинг вкатывальщику. Может есть какие-то матхев курсы? На рутрекере или ютюбчике.
Помогите мудрым советом
423 1941482
>>41448
Антивирь дриснятки блочит все что незнает.
424 1941484
>>41448
Подпиши exe файл
425 1941493
>>41478
что ты УЖЕ знаешь? от этого зависит все остальное.
На самом деле не понятно чего вы туда лезете.
Думаешь, зарплата говна просто не прогулявшего матстат должна быть выше джуна-программиста?
426 1941498
>>41493

>Думаешь, зарплата говна просто не прогулявшего матстат должна быть выше джуна-программиста?


Мне на зарплату поебать. Могу за еду хуячить, при условии, что в итоге смогу подняться. Меня математика привлекает, хоть я ее и не очень знаю. Во фронтенд не очень хочется, слишком много вкатовальщиков.
Есть знания в мат статистике, теории информации, системном анализе. Но далеки от совершенства.
Вот питон начал учить.
Я сам все что нужно найду, но на это целый день убью. Думал может кто что посоветует
427 1941598
>>41338
Ура! давно ты в питоне? много заработал на этом боте или делал чисто на энтузиазме?
428 1941601
>>41482
>>41448
кстати да, там скорее всего база данных куда отправляют доверенные екзешники, а любой незнакомы распознается как враждебный, ну как я понял.
ибо любые модифицированные он принимает за враждебные
429 1941611
>>41383
https://realpython.com/python-interface/
Ору с сектантов жабы.
430 1941641
>>41598
Питон ровно год назад начал учить(большие перерывы вотвоемя сессий), это был первый заказ крупный, получил 5500 вроде, хотя пока не получилось найти более выгодное предложение по цена/время, все берут таймауты, проекты морозятся, а найти работу вообще нереально
431 1941645
>>41611
Я правильно понимаю, что жабисты придумали хороший ооп, а теперь как сектанты доказывают всем что у них все неправильно, потому что по-другому?
432 1941730
>>41641
Ебать, че вообще нет работы? Это пиздец печально.
сам работаешь в магазине или как? учишься? алсо долго писал этот прожект?
433 1941734
>>41645
>>39048
Кстати, что насчет функционального стиля?
Пиздец жёсткая тема, не так ли?
есть кто на постоянке пишет в функциональном стиле?
434 1941769
>>41645

>Я правильно понимаю, что жабисты придумали хороший ооп


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

Интерфейс - указатель на соответствующую таблицу виртуальных функций.

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

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

В питоне ООП просто другое. И проектировать программы надо по-другому.
435 1941811
Всем ку. Заранее прошу ссаными тряпками не гонять(хотя если хочется, то можно). Пост перехода на питон(стоит ли?)

Сейчас стою на некоем распутье. В институтской бытности попробовал кодить на 1С, и понеслась пизда по кочкам. Сейчас мне 26, 5 лет опыта разработки в 1С, несколько неплохих сертификатов, но душа постоянно просит чего-нибудь свежего(да и кошелек тоже). Имея в ДС доход 180 на руки закрадываются мысли что можно и больше, да и сама 1С чую надоест через года 2-3. Вот и решил зайти в первоисточник и попробовать расспросить, стоит ли начать изучать питон для будущего полного перехода на этот ЯП. В принципе у самого образование - программная инженерия, тупым бухгалтером себя не считаю, даже ООП вспомню если постараюсь. Как с работой в ДС, как с зарплатой, как со сложностью/скоростью вкатывания. Ну короче в 2х абзацах распишите какой я мудак стоит ли начинать играться с питоном по вечерам

П.с. Есть небольшой опыт написания мобильных приложения на Java, когда делал очень нравилось, хотелось бы понять есть ли интерес в работе с питоном.
436 1941817
>>41811

>5 лет опыта разработки в 1С


>надоест через года 2-3


А ты нетороплив.
437 1941835
>>41817
Ну первые 2 года было совмещение с универом, там по большей части писюн пинал на работе
438 1941875
>>41383
Белый Человек выбирает TypeScript
439 1941883
>>41769
Именно. Только учти что у Java есть JVM. На самом деле сложилось впечатление, что туда притащили все и сразу, а потом обернули все во фреймворк, чтобы голова не болела у господ "ынтырпрайз" погромистов как и что писать.
Если в Питоне банальная инкапсуляция, да и видимая, то в Java слоев до implementation будет овердохуя (помним, что один класс - один файл). Зачем? В питухоне я могу описать модель ORM, обернуть ее в Pydantic и там же прописать интерфейсы под нее и будет это в db/models/user.py.

У меня был вариант реализации на Java, когда надо было кривую кодировку в UTF8 перегнать, так вот на Java не было ни единой такой реализации на Maven, а для питона готовый пакет с понятным исходным кодом. Да и те же байты легко через ord перегонялись, в Ява свое понятие байтов как оказалось и такая проблема известна.

Если например собирать тот же JSON в объекты, то в Java это сложнее чем через Pydantic. Почему так получилось я хуй знает, но как по мне направление языка не туда ушло. Вместо упрощения, его наоборот сделали комбайном. И ты тащить вместо одной функции кучу ненужного хлама или же изобретатель велосипед.
Когда мне говорят, что Питон потребляет много ресурсов (а так и есть) я напоминаю про JVM, которая может зарезервировать себе гигабайты памяти, потому что так решила.
440 1941887
>>41875
JS и TS для фронта а не бэкэнда. TS потом все равно в JS перегоняется при деплое, кек.
Screenshot 2021-02-15 at 18.18.56.png62 Кб, 1094x484
441 1941967
Пацаны. Какие по стандарту должны быть названия в функции для замера времени?

Встречалось что-то ARGS, KWARGS. Но не уверен уместно ли мне тут это использовать.
442 1941991
>>41967
Это у тебя декоратор, смотри как они оформляются для передачи всех параметров.
443 1942002
>>41484
Как?
444 1942008
>>41482
>>41601

Хуйню не несите. Антивирь сканирует ехе-шник и на что-то ругается. Что-то его не устраивает. База приплетенная тут не причём. Он именно определяет как троян, присваивает классификацию. Значит реагирует на сборку или используемые компоненты. Я на c# написал хелло ворлд и на другом компе запустил, так ехешник был заблочен как полученный из неизвестного места. Антивирус на него не ругался и не удалял.
445 1942027
>>41991
А почему это декоратор?
Я например хочу мерить время выполнение кода средним значением из 1000 раз.
Про декораторы читал. Но не понимаю почему ты решил что это декоратор.
446 1942035
>>42027
Декоратор это функция которая оборачивает другую функцию, добавляя какой-то свой функционал.

>Я например хочу мерить время выполнение кода средним значением из 1000 раз.


Для этого есть искаробочный timeit
timeit.timeit(func, number=1000)
Screenshot 2021-02-15 at 19.14.43.png286 Кб, 2012x1198
447 1942041
>>42035

>искаробочный timeit


Он какой-то стремный. В примерах использования, какие-то лист компрехеншены одни. Реального использования не нашел.
448 1942052
>>42041
Ты неправильно делаешь просто, вот же он пишет что хочет string or callable
Т.е. нужно
"""hello('privet')"""
или отдельную функцию
def test1():
hello('privet')
и тогда передаешь только test1
449 1942061
>>42052
Спасибо, работает. почти
450 1942089
Мне нужно сделать программу которая автоматически будет выполнять некие действия в браузере при этом основываясь на текст находящийся на этом сайте, это возможно сделать на питоне? Если это не очень трудно скажите как это сделать может библиотека там есть какая-то, спасибо.
451 1942125
>>41887
Статическая типизация. Слышал про такое?
452 1942134
>>42008
ну так полученный из неизвестного места это тоже ругань антивируса.
сорта говна тащем та
453 1942258
Я не понимаю импорты.
Есть несколько реп в корне и там же в корне файл с основным кодом. Репы ходят иногда друг в друга. Я так понимаю все пути начинаются в том месте, откуда запускается питон, даже если запускаемый файл в другой папке. У меня же первое совпадает со вторым, но я получаю ошибку спустя несколько импортов по цепочк
ModuleNotFoundError: No module named repa1.src
Но в корне есть папка repa1/src/.../utils.py
В чем может быть дело?
sys.path.append("repa1/src") не помогает.
454 1942264
>>42008
Какой же ты денегерат, просто пиздец. Даже пояснять не буду.
455 1942265
>>42258
Что ты называешь репами?

> Я так понимаю все пути начинаются в том месте, откуда запускается питон



Нет такого понятия все пути начинаются. Заглянь в содержимое sys.path, там список никак между собой не связанных путей, откуда импорты реально начинают искать модули и пакаджи.
456 1942267
>>42089
И кто будет открывать эти страницы в браузере? Что является текстом на сайте? (не такой простой вопрос как кажется) Почему не расширение браузера типа greasemonkey? Почему именно на питоне?
457 1942268
>>41811
Бросать 1С рано. Пробовать всякое разное однозначно стоит, не только питон.
458 1942273
>>42265

>репами


Репозитории из гитхаба, т.е. полагается, что это цельные куски кода.

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


И при запуске туда вписывается полный путь откуда все запускается же, не? Я это вроде как знаю и все равно не понимаю, что может помешать заимпортить один из репозиториев.
459 1942279
>>42273

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


Только если там есть специальный путь точка, означающий текущий каталог.

Каждый раз когда ты импортируешь какой-то модуль, проверяются все пути по маскам {syspath}/{module} и {syspath}/{module}/--init--.py. Во втором случае это считается пакаджем. То что найдено, фиксируется в импорт кэше. И если ты импортируешь например foo.bar, то сначала импортируется foo, это запоминается как {packageRoot}, дальше пробуется путь {packageRoot}/bar.py. То есть, foo.bar и foo.baz обязаны лежать в одном каталоге, как и всё остальное дерево foo. Относительные импорты возможны только изнутри этого дерева и не могут вырваться наружу {packageRoot}, то есть, нельзя импортировать ../../../../../../etc/passwd.

То что ты пытаешься сделать, строго говоря, некорректно. А если там модули в этих репах, которые нужно собрать компилятором? А если там структура кода такая, что сорцы лежат в repa1/src/python/modules/src/? По-хорошему зависимости нужно ставить через pip, а не клонировать репозитории, здесь тебе не го. Используй либо pip, либо симлинки если в этих репах чистый питон, либо просто скопируй себе всё что там есть. Колёса для pip кстати можно собрать и устанавливать локально, без загрузки на pypi.
460 1942299
>>42279

>Только если там есть специальный путь точка, означающий текущий каталог.


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

> По-хорошему зависимости нужно ставить через pip


Еба, вот это удобство.
Ну я понял как надо делать по хорошему. Но это не объясняет почему у меня не работает импорт. Идея может в разных репах лежит папка src
Screenshot from 2021-02-15 20-17-07.png28 Кб, 613x149
461 1942330
>>42299
Вот эта пустая строка в начале и означает текущий каталог. Если сконфигурировать питон так чтобы её там не было, то не будет он ничего искать в текущем каталоге.

> Еба, вот это удобство.


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

> Но это не объясняет почему у меня не работает импорт.


> ModuleNotFoundError: No module named repa1.src


> Но в корне есть папка repa1/src/.../utils.py


> папка repa1/src/.../utils.py


> sys.path.append("repa1/src") не помогает.


Ты просто рандомом тыкаешь во все стороны и даже не пытаешься вникать ни в документацию, ни в мой длинный пост. Папка utils.py, пиздец какая каша.
462 1942332
>>42330

>Если сконфигурировать питон так чтобы её там не было, то не будет он ничего искать в текущем каталоге.


Какие-то репы в этом каталоге он видит, а какие-то нет.

>Что за мутные репы там у тебя


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

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


Да вникать не во что. Я знаю это. Говорю же. По идее должно все и так работать без сис-пас-аппендов. Вот просто из корня должно рабтать import repa1.src.....
463 1942335
>>42330
Но да, я это уже от безысходности начал делать.
464 1942343
>>42332

> Да вникать не во что


В смысле не во что? В моём посте все ответы почему у тебя что-то импортируется, а что-то нет.

> Я знаю это


Уверен?

> Вот просто из корня должно рабтать import repa1.src.....


Не должно. Имена модулей это не пути в файловой системе. Иначе тебе придётся вместо import requests писать каждый раз import C:\Programs and files\Python\Lib\site-packages\requests\--init--.py
465 1942345
>>42343

>В моём посте все ответы почему у тебя что-то импортируется, а что-то нет.


Видимо, в глаза долблюсь.

>Не должно.


Остальные репы, кроме этой без проблем притягиваются.

>Иначе тебе придётся вместо import requests писать каждый раз import C:\Programs and files\Python\Lib\site-packages\requests\--init--.py


Нет, почему. В PATH есть путь до папки, откуда питон вызывается и еще до нескольких. Достаточно просто дописать недостающую часть пути.
466 1942347
>>42345

> В PATH есть путь до папки


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

> Остальные репы, кроме этой без проблем притягиваются.


Потому что там по счастливой случайности непосредственно питонячий код лежит, без всяких src. И не факт что они работают, даже если успешно импортировались. Мало ли как их задумал использовать создатель. Вдруг там вообще не модули, а программы, которые запустят ракету в космос когда ты будешь их импортировать?
467 1942348
>>41730
Я не могу найти работу с сентября, но щас понимаю, что тогда совсем зеленый был, щас сильно апнул скил, но вакансий вообще нет для джунов, их 0, а те что есть либо с тестовым типа зайдите на наш сайт и напишите эссе чем он вам понравился, либо компании уровня яндекса, тинькофф, сбера и пр, куда можно пробовать, но даже тестовое наврятли получишь. С вакансий на мидлов меня просто пидорят, отказывают не глядя, в сентябре хоть тестовых 5 сделал, после нг не получил ни одного. Я студент это тоже минус к желанию меня взять на работу
468 1942351
>>42348
Чел, ты - это я
469 1942352
>>42279

>Каждый раз когда ты импортируешь какой-то модуль, проверяются все пути по маскам {syspath}/{module}


И я не вижу причин не заимпортить нужную мне репу.
В третьем абзаце про другое речь.
Не понимаю в чем моя проблема.
470 1942354
>>42089
Selenium.
471 1942355
>>41730
Отклеилось то что делал проект дня 4-5, потом еще деплоил день и все вроде. Но щас если мне пишут по заказам уже смело сильно больше ставлю цены, вот сегодня посмтрел тз на тг ботов, суммарно оценил в 300 деревянных, теперь просто жду ответа. Так же мне написал один кабанчик сделать бек для обзвона клиентов, я назвал 800$, он сказал согласен с ценой и сроком, прошел небольшой собес, но думаю он не выберет меня, ибо опыта все еще маловато
472 1942362
>>42347

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


Ну я как бы и про это знал с самого начала.

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


А, да, стоит добавить, что в проблемной репе лежит может и не только питон, но притягивается функция из файла с питоном и по дороге плохих импортов нет. Я уже тащил оттуда ее, если что. Сейчас либо проблема в верхних импортах, либо я что-то сделал с окружением.
473 1942364
>>42351
>>42348
Давай поболтаем. Что сейчас изучаешь? У меня большие проблемы с фронтом, не могу сделать красиво. Ну и потихоньку изучаю C
474 1942367
>>42364
>>42355
Второй ответ это мой же коммент, почитай
Вчера буквально зашел в раздел с книжками в шапке и забрал себе книгу по шаблонам проектирования, мне кажется мой скил улучшился раза в 2 после прочтения благодарностей автора. Все откладываю изучение докера, который уже везде требуют и даже от джунов, хотя мне так лампово на убунту ковыряться и не учить ничего. Только недавно начал часто использовать на практике всякий сахар типа лист компрехеншона, разные методы в ооп, стараюсь в язык и ооп углубляться по сути, ты?
475 1942369
>>42367
Почитай книгу https://www.labirint.ru/books/516656/, там как раз то что ты изучаешь, я прозрел после прочтения
476 1942370
>>42364
Алсо параллельно делаю студенческий сайтик на джанго для кафедры математики, углубляюсь в джангу, в основном пытаюсь запомнить все методы орм которые там очень классные, а так же работаю на галере по сути, все неловко сказать заказчику, что я блять не буду вновь перерабатывать код ради теста, который не факт что сработает, работаем над сервисом по накрутке в тикток, но до сих пор не разгадали всех подписей тиктока и как именно ему надо отправлять данные, чтобы он не возращал то что слишком часто пользуемся им. Рассказывай про себя
477 1942385
>>42352
{module} не может содержать слешей. Там только имя из a-z0-9.

>>42362
Ну в целом ты делаешь что-то очень странное. Я тебя просил уже неоднократно разъяснить что за репы (ссылки на гитхаб?), и зачем ты из них импортируешь, и кроме того что тебе так хочется я ничего не увидел.
478 1942387
>>42385

>{module} не может содержать слешей. Там только имя из a-z0-9.


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

>Ну в целом ты делаешь что-то очень странное.


В смысле у тебя ответа нет, почему одна репа может притягиватьс, а аналогичная рядом нет?
Ссылки на гит не дам, это приватные репы для студ проекта, к сожалению, там не я один работаю.
479 1942407
>>42370
А я пилю систему управления проектами. На джанге. Как выше писал - с фронтом проблемы
480 1942432
>>42387

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


Ты меня типа на слабо берёшь или что? Откуда мне знать что там за студенческий хлам у тебя лежит и каким образом? Спрашивай своих братишек, которые написали эти репозитории, они тебе пояснят как ими пользоваться.
481 1942434
>>42432
Спасибо, анон. Очень полезно провел час. К сожалению, не узнал абсолютно ничего нового и пришлось разбираться самому, и да, уже разобрался.
482 1942440
>>42434
Какой вопрос, такой и ответ.
483 1942455
>>42125
Да, в Vue 3 прекрасно все. Кстати они довольно быстро перекатили на TS, было бы забавно увидеть Python года через 3 со статической типизацией и высокой производительностью.
пятерочка чел кассир тату.png1,3 Мб, 1261x998
484 1942477
>>42355
>>42348
жёско.
Почему не нужны прогеры, зато объявлений продавцами в пятерочку полно?
485 1942530
>>42477
Кто-то востребован, а кто-то нет. Смирись.
486 1942591
>>42530
Не лежит душа к работе продавцом как-то.
487 1942601
>>42591
А если бы зарплата была бы в два раза выше программиста твоего уровня?
488 1942628
>>42134
Петушмэн, что за хуйню ты несёшь? В дрисятке есть UAC и Windows Defender. Оба по разному блокируют приложения. Впрочем, пошёл ты на хуй чмо тупорылое, нахуй я перед тобой оправдываюсь...
>>42264
И ты шлюхандрий, сын трансгендерной женщины, наебни говна, ублюдок косорылый.
489 1942652
>>42601
Если бы такая зарплата была в комп сервисе или хотя бы в ламповом магазине по продаже железок (не ебаной сетевой шизе типа дноэс), было бы охуенно.
работал в таком магазе -сервисе, в принципе все норм, если бы не ЗП ебаные 14к рублей за работу без выходных и праздников.
Алсо если бы в автосервисе была такая ЗП и нормальное оборудование, тоже было бы пиздато. Но я автосервис с нормальным оборудованием и условиями типа нормально отапливаемых и вентелируемых боксов видел только на картинках в журналах и в роликах на ютубе где сервисы для мажоров, которым движки чипуют за миллион.
Обычно это грязь, срач, холод и жара с уёбанным инструментом и за низкий прайс.
490 1942655
>>42477
Вакансий тьма, только никто не будет джуна типо меня обучать, зачем, все равно через год зарплату апать, либо съебет на более теплое место и останетесь с говнокодом, либо убытками. А вот посмотреть на вакансии любые хоть фронт, хоть бек, везде зп отличные(мне такие пока только снятся), условия супер, только опыт нужен. Надежда только на то что мои проектики потм смогу показать и хоть немного выделюсь среди таких же как я и может примут куда
491 1942657
>>42655
Мне вообще кажется что это самое сложное, просто скил удачи должен быть прокачен, один знакомый фронт начал еще в далеком 2015 наверное рулетки по кс делать, залетел в эту тему, теперь именно что 300к\нс получает в сити за эти же рулетки
492 1942666
>>42477
Кстати, кринжит только людей с низкой самооценкой с этой пикчи.
493 1942709
Есть класс с хранилищем и асинк методом с while True внутри, который работает с элементами этого хранилища
Проблема в том, что мне иногда нужно добавлять новые элементы в хранилище, но похоже, что работающий метод с while True блокирует все остальные методы
Что делать?
Набросал схематично суть: https://pastebin.com/hYd4CZ13
494 1942723
>>42709
Не силен в асинкио, но проде авейты должны выбрасывать из цикла, проверь точно ли до авейтов доходит код
495 1942727
>>42709
У тебя какая-то странная схема с пиханием элемента в очередь.

Вообще, если у тебя исполнение пойдёт по пути else, то цикл заблокируется, у тебя не будет переключение задачи.

Это грабли asyncio и реализации очереди там. Там используются оптимизации, и если в очереди есть элемент, то await q.get() не переключит задачу. И если в очередь можно что-то положить, то и await q.put() не переключит задачу.

Переключение задачи будет только в том случае, если очередь пуста в случае get, или переполнена в случае put.

Поставь ради теста после await _queue.get() строчку
await asyncio.sleep(0.00001)
но только не await asyncio.sleep(0), потому что там тоже грабли и тоже переключения не будет.
496 1942864
У меня есть куча моих проектов pycharm на флэшке, устанавливать pycharm нет желания, как можно выполнить main.py чтобы python подцепил виртуальное окружение?
497 1942876
>>42864
К О Н С О Л Ь
498 1942880
>>42864

>пишет на питоне


>не умеет пользоваться терминалом


>про линух скорее всего тоже не слышал


>чтобы запустить проект нужна IDE


>...

499 1942881
>>41498
хорошоу.

вот тебе многослойный луковый план:
"Тирни Брендан, Келлехер Джон - Наука о данных.pdf" - обзорная болтологическая хуйня, но короткая. Это важно чтобы не спрашивать что такое X и y и прочие максимально тупые вопросы, которые машобщики считают само собой ясным, поэтому просто не описывают никогда.

Python_и_анализ_данных_Второе_издание_2020_Уэс_Маккинни.pdf - здесь самый чоткий и свежий питон с упором в обработку данных в pandas. Но питон нужно отдельно подчитывать в других книгах.

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

Где ХОРОШО про DeepLearning я не знаю, но попробуй снова Келлехара "Deep Learning by John D. Kelleher.pdf" или Николенко или Бишопа. Или сразу делай вид что ты элитарий и иди в ML-треде ссылки на английском читать.
500 1942884
>>42881
Параллельно, если понравятся, предлагаю подчитать:
"Нейт Сильвер - Сигнал и Шум. Почему одни прогнозы сбываются, а другие нет " - математики нет, но пиздецки интересно.
Искусство_статистики_Как_находить_ответы_в_данных_2021_Дэвид_Шпигельхалтер.pdf - самое современное введение в статистику (и поэтому даже с учетом машоба)

Само собой разумеется, ты должен придумать себе упражнения сразу по прочтении глав. Смотреть как реализованы алгоритмы.
Придумать себе Любимую Задачу - то, которая тебя бы вдохновляла. Желательно чтобы это было не распознавание котиков/аниме/жоп, а классификация каких-то доступных тебе уже сейчас твоих табличных данных. Чтобы ты смог ее приблизительно решить освоив классические методы.

Так же будет полезно освоить Tableau Public и power bi.
Прочитать отдельные книги по Time Series Analysis и рекомендательным системам.

Так, примерно лет через 5 твой путь будет завершен.
501 1942900
>>42880
При чём тут умение пользоваться терминалом????
тут надо знать схему использования виртуальным окружением да и ОС Линукс тут при чём??? Работал я раньше в нём да и сейчас иногда приходится. В чём прикол подобных высеров, чтобы самоутвердиться перед новичком?
502 1942902
>>42900
Проганье на питоне автоматом подразумевает знание линуха на уровне пользователя а также умение пользования терминалом
Если бы сказал кому на работе (даже будучи стажером) что не можешь запустить прогу без пайчарма, стал бы надолго локальным мемом
Поэтому познавай терминал и UNIX
503 1942914
>>42666
Возможно. Я в пикче кринжа не вижу, скорее это ЛУЗЛ.
>>42655
то есть тут получается как на многих других работах - без опыта не нужен, а опыта нет, потому что без опыта не берут?
504 1942920
Парни, захожу в venv питона с помощью activate, делаю pip3 freeze, но эта падла показывает какой-то левый список установленных пакетов, не тот что в среде. Что это может быть?
Для справки: сама прога запускается и работает как надо, проблемы лишь с venv
505 1942954
Задачка с Литкода:
"Вы профессиональный вор. Грабите ночью дома. В каждом доме определенное integer число денег, которое можно украсть. Но если ограбить два рядом стоящих дома, то сработает сигнализация. Напиши алгоритм чтобы взять максимальное число денег из домов, не тригернув сигнализацию"

Я написал жадный алгоритм на пикриле 2, он в общем-то дает близкий ответ, но не всегда точный. Как решить эту задачу чтобы всегда получать точный ответ?
506 1942992
>>42954
Тебе же просто надо взять четные или нечетные, не?
max(sum(lst[::2]), sum(lst[1::2]))
507 1942994
>>42992
Нет.
[9, 1, 1, 9, 1]
Проверь свою теорию еще раз
508 1942996
>>42920
Для одной библиотеки может качаться еще 10 мелких, зависимости же
509 1943019
>>42996
Они все должны быть в pip frezze
Когда запускаю прогу ничего там не качается, все зависимости уже собраны в venv
510 1943020
>>42954
Классическая задача на динамическое программирование.

Идейно, если у тебя есть список длины N, то рассматриваешь две ветви.
Первый вариант, это ты берёшь последний элемент, и максимальную сумму по списку длины N-2
Второй вариант, это ты не берёшь последний элемент, и дальше максимум по списку длины N-1.

Можно сделать рекурсивно, с мемоизацией (кешированием), а можно идти снизу вверх.
512 1943044
>>43019
Так а в чем проблема, пип фриз собирает все модули что есть в венв, пип инсталл устанавливает эти библиотеки определенных версий
513 1943084
>>42727
else там лишний, да
>>42723
Вот и я не силен
Пиздец, ничего не помогает. Если заранее заполнить очередь, то все работает, как надо. Но вот потом уже не получается вставить новые элементы в эту очередь, оно просто намертво блокируется, чо бы я не делал. Похоже, я просто неправильно понимаю, как решать свою проблему

Мне нужен таск менеджер, который будет запускать пакет корутин, ставить таймаут (пакету), брать следующий пакет, который не в таймауте... ну и так по кругу
Ваши предложения???
514 1943139
>>43084
Про какие-то грабли из асинкио и кривой вариант для обхода я тебе уже написал >>42727

Суть в том, что операции await q.get() и await q.put() работают синхронно, если есть, чего взять, или есть, куда положить.

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

>Мне нужен таск менеджер, который будет запускать пакет корутин, ставить таймаут (пакету), брать следующий пакет, который не в таймауте... ну и так по кругу


Пока не очень понятно, что у тебя таймаут и т.п. То есть ты планировщик (ака скедулер, scheduler) реализуешь?

Тут разные подходы могут быть. Во-первых глянь на функции вроде loop.call_later(), эта функция работает на низком уровне asyncio.

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

Глять заодно на PriorityQueue, если тебе нужно сортировать, выбирать задачи, которые раньше других надо выполнить.
515 1943154
>>43084
Я торможу, звиняюсь.

Всё проще, у тебя строка
await q.add_item(item) # вот эта функция уже никогда не исполнится
и не должна исполняться никогда, потому что loop_queue() содержит вечный цикл.
await означает, что бы ждёшь, когда функция что-то вернёт, но ждёшь асинхронно. То есть с точки зрения твоего кода в функции main() это как синхронный код. Он асинхронный в том плане, что передаёт управление другим задачам.
516 1943160
>>43154
>>43084

>Ваши предложения???


вероятно то, что тебе нужно, это
asyncio.create_task(q.loop_queue())
(asyncio.ensure_future для древнего питона 3.6)

Так ты оформляешь свою корутину в задачу, которая уже будет где-то там крутиться независимо и асинхронно.
16107856067140.jpeg28 Кб, 398x400
517 1943173
518 1943180
>>42881
>>42884
Спасибо большое
519 1943234
>>43154
Это я сообразил. Но как же мне тогда крутить свою бесконечную(круговую) очередь и подкидывать в нее новые задачи?
>>43139

>Пока не очень понятно, что у тебя таймаут и т.п. То есть ты планировщик (ака скедулер, scheduler) реализуешь?


Да, это скедулер, который должен работать постоянно в фоне.

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


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

Вот часть реального кода из моего проекта. Вероятно, я делаю полную хуйню, но тогда направьте в нужную сторону, что ли, а то я уже конкретно запутался с этим асинком
https://pastebin.com/5nhSB94r
520 1943252
>>43234

> Но как же мне тогда крутить свою бесконечную(круговую) очередь и подкидывать в нее новые задачи?



Во-первых замечания по стилю. Делать вот это
loop: asyncio.AbstractEventLoop = None
передавать loop в функции не надо. Это устаревший стиль, актуальный для питона 3.5, которые сейчас считается obsolete и активно выпиливается. Там была особая магия с тем, что можно пересоздавать циклы обработки сообщений, и куча проблем из-за этого. Это можно забыть, как страшный сон, и просто делать
self.loop = asyncio.get_event_loop()
или
self.loop = asyncio.get_running_loop()
У тебя код завязан на специфику 3.7 (contextvars, typing), поэтому можешь и функции для asyncio оттуда использовать смело.

Я не вникал особо в твой код, но там есть вот такое вот:
62: self.loop.run_until_complete(self.consume_queue())
это синхронный вызов, он завершится только тогда, когда завершится цикл в consume_queue, то есть судя по всему никогда, если только какого-нибудь исключения не будет.

Логика асинхронного программирования схожа с логикой многопоточного.
В многопоточном у тебя есть треды, которые время от времени переключаются. В asyncio аналог треда это задача, Task. У тебя скедулер в asyncio держит задачи и переключает с одной на другую, получается, что несколько задач работает одновременно. В то время как внутри задачи всё последовательно идёт, операция за операцией.

Соответственно, идея такая. Ты свой планировщик оформляешь как независимую задачу (сервис).
Как вариант, создаёшь объект
my_scheduler = TaskScheduler()
и запускаешь его как задачу
scheduler_task = asyncio.create_task(my_scheduler.consume_queue())

Потом в других задачах ты можешь делать
await my_scheduler._queue.put()
или синхронным вызовом
my_scheduler._queue.put_nowait()

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

> Но как же мне тогда крутить свою бесконечную(круговую) очередь и подкидывать в нее новые задачи?



Во-первых замечания по стилю. Делать вот это
loop: asyncio.AbstractEventLoop = None
передавать loop в функции не надо. Это устаревший стиль, актуальный для питона 3.5, которые сейчас считается obsolete и активно выпиливается. Там была особая магия с тем, что можно пересоздавать циклы обработки сообщений, и куча проблем из-за этого. Это можно забыть, как страшный сон, и просто делать
self.loop = asyncio.get_event_loop()
или
self.loop = asyncio.get_running_loop()
У тебя код завязан на специфику 3.7 (contextvars, typing), поэтому можешь и функции для asyncio оттуда использовать смело.

Я не вникал особо в твой код, но там есть вот такое вот:
62: self.loop.run_until_complete(self.consume_queue())
это синхронный вызов, он завершится только тогда, когда завершится цикл в consume_queue, то есть судя по всему никогда, если только какого-нибудь исключения не будет.

Логика асинхронного программирования схожа с логикой многопоточного.
В многопоточном у тебя есть треды, которые время от времени переключаются. В asyncio аналог треда это задача, Task. У тебя скедулер в asyncio держит задачи и переключает с одной на другую, получается, что несколько задач работает одновременно. В то время как внутри задачи всё последовательно идёт, операция за операцией.

Соответственно, идея такая. Ты свой планировщик оформляешь как независимую задачу (сервис).
Как вариант, создаёшь объект
my_scheduler = TaskScheduler()
и запускаешь его как задачу
scheduler_task = asyncio.create_task(my_scheduler.consume_queue())

Потом в других задачах ты можешь делать
await my_scheduler._queue.put()
или синхронным вызовом
my_scheduler._queue.put_nowait()

Таким образом твой планировщик работает где-то в фоне и выполняет какую-то работу, а общаешься ты с ним через очереди.
521 1943417
>>42902
Разве это так важно?
522 1943581
>>42864
Отвечу тебе серьезно, в консоли запусти батник виртуального окружения. Он лежит вроде вот тут
venv/Scripts/activate.bat
После этого пишешь python main.py
Все
523 1943781
>>43139
asyncio.create_task, а на остальные callback done. loop.run_forever()
Суть в том чтобы луп не останавливался, а таски подкидывакшь
524 1944012
>>42954
Что лучше, литкод или кодварс?
525 1944256
>>44012
Интервьюверы любят литкод, а я нет =))
526 1947942
Чуваки, нужен совет по джанге.

Есть приложуха, часть данных хранится в бд прикрученной к джанго, часть - в google firebase.

Модель джанго типа:

>class Currency(model.Model):


>..name=


>..description=


>


>..def chart(self):


>....return queryset from google firebase where currency_name==self.name



Графики к ней хранятся в Firebase:

>DailyCurrencyPrice:


>..datetime=


>..min_price=


>..max_price=



выводится все на тупом жс в обычный джанговский шаблон типа

><div id="chart-currency">...


><script>


>var array={% for currency in currencies_list %}


>..{% for data in currency.chart %}


>....{{ data.something }}



как бы мне просчитывать допустим средние значения ( типа average=(min_price+max_price)/2 ) данных выгребаемых функцией def chart класса Currency из данных выгребаемых из DailyCurrencyPrice Firebase ?
У джанго кверисетов .annotate() было, но это ж только для того что в джанго орм, а тут я левой либой (fireo) выгребаю
526 1947942
Чуваки, нужен совет по джанге.

Есть приложуха, часть данных хранится в бд прикрученной к джанго, часть - в google firebase.

Модель джанго типа:

>class Currency(model.Model):


>..name=


>..description=


>


>..def chart(self):


>....return queryset from google firebase where currency_name==self.name



Графики к ней хранятся в Firebase:

>DailyCurrencyPrice:


>..datetime=


>..min_price=


>..max_price=



выводится все на тупом жс в обычный джанговский шаблон типа

><div id="chart-currency">...


><script>


>var array={% for currency in currencies_list %}


>..{% for data in currency.chart %}


>....{{ data.something }}



как бы мне просчитывать допустим средние значения ( типа average=(min_price+max_price)/2 ) данных выгребаемых функцией def chart класса Currency из данных выгребаемых из DailyCurrencyPrice Firebase ?
У джанго кверисетов .annotate() было, но это ж только для того что в джанго орм, а тут я левой либой (fireo) выгребаю
527 1947967
>>47942
Короче чет я тупанул, вопрос-то не к джанге был: https://octabyte.io/FireO/fields/custom-field/#extend-db-value
528 1948236
>>47967
В итоге, кстати, сделал через Django Template Tag
На случай если кто переживал
print и pprint 529 1966424
Я так понял, что атрибут width относится только к pprint? И нельзя контролировать ширину строчки в стандартном print? Зочем это разделение и какой фундаментальное назначение у pprint
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 12 мая 2021 года.

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

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