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

Ответить в тред Ответить в тред
Check this out!
Питон тред №114 /python/ Аноним 28/02/21 Вск 22:55:38 19541381
68747470733a2f2[...].png 34Кб, 768x768
768x768
Python.svg.png 100Кб, 1200x1200
1200x1200
2200.jpg 99Кб, 890x872
890x872
Тред, посвящённый языку программирования Питон, #114

Предыдущий: https://2ch.hk/pr/res/1943168.html
Литература:
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
Аноним 28/02/21 Вск 23:00:21 19541452
Как сделать по красоте?
Есть JSON с постами двача. Из поста качаю картинку. Потом опять получаю свежий JSON. Как мне хранить метку, о том, что файлы из поста были скачаны?

Пример абстрактный, но очень наглядный
Аноним 28/02/21 Вск 23:03:52 19541483
>>1954145
Переводи номера постов в инты и храни в сете, потом проверяй.
Аноним 28/02/21 Вск 23:08:09 19541534
>>1954148
а для защиты от перезагрузки, в пиклзах, да?
Аноним 28/02/21 Вск 23:14:16 19541585
>>1954153
Да тупо в текстовом файле, там в одну строчку читать и писать.
Аноним 28/02/21 Вск 23:15:40 19541626
Аноним 01/03/21 Пнд 00:45:12 19542407
>>1954138 (OP)
Надо обозначить тип который выразит кортеж с двумя значениями, первое - строка, второе - число. Как это сделать?

Tuple[str, int] разве подойдет? Это что-то не то
Аноним 01/03/21 Пнд 00:59:23 19542538
>>1954240
>разве подойдет?
да
Аноним 01/03/21 Пнд 01:53:00 19542879
>>1954145
На дваче вроде бы посты иммутабельны, их можно разве что удалить. Храни метку, номер поста до которого ты уже скачал картинки. Ну или любое key-value хранилище, где ты прямо урлы картинок хранишь, какие скачал, какие нет. Я не понял для чего тебе пикл, ты видимо перезапускаешь программу, можешь например sqlite использовать чтобы не изобретать свою базу данных.
Аноним 01/03/21 Пнд 10:05:37 195437810
>>1954253
Только вот проверки isinstance не работают) (питоновская хуйня чисто)
Аноним 01/03/21 Пнд 10:11:18 195438211
>>1954378
Каким боком isinstance к тайп хинтингу?
Аноним 01/03/21 Пнд 11:39:29 195443512
>>1952721 →
Ну что ты там, разобрался?
>>1954038 →
Написать ещё один микросервис, который будет отвечать за авторизацию на других микросервисах?
Аноним 01/03/21 Пнд 14:08:19 195463213
Добрый день, возможно ли вкатиться в питон и найти раб оту в питере или москве за год обучения дома? в день смогу уделять +/-8 часов. Сейчас начал проходить курсы на степике.
Аноним 01/03/21 Пнд 14:27:12 195463714
>>1954632
можно, но нубы в бэкенд питоне сейчас не то что сильно нужны, проще вкатиться небось в пхп из бэка, или во фронт
Аноним 01/03/21 Пнд 14:37:53 195464115
>>1954637
а какой язык посоветовал бы из фронт (я кстати не особо даж понимаю в чес разница)?
Аноним 01/03/21 Пнд 15:45:56 195469916
>>1954632
Вкатиться можно, найти работу джуну почти нереально
Аноним 01/03/21 Пнд 15:48:32 195470317
Я не знаю какие фреймворки есть на других яп, но я прочитал почти всю доку дрф и попробовал на практике, это просто нечто, ничего более гениального я пока не видел, а если не вдумываться в методы которые под капотом, то вообще словно магия происходит, вопрос зачем нужны другие яп с их фреймворками?
Аноним 01/03/21 Пнд 15:50:19 195470718
Аноним 01/03/21 Пнд 15:51:34 195470919
>>1954703
В других языках тоже есть rapid application development фреймворки с магией
Аноним 01/03/21 Пнд 16:03:14 195471820
Есть текст, хочу из него сделать картинку с форматированием.
Как это сделать быстро и красиво?
на SO уже курю мануалы, но хочу узнать совета анонов
Аноним 01/03/21 Пнд 16:38:41 195477321
>>1954699
то есть стать мидлом невозможно и мой единственный выход гнить на заводе?
Аноним 01/03/21 Пнд 18:10:34 195486122
Подскажите плз, есть проблема с парсингом. Хочу получить для начала html страничку, но с одним сайтом происходит какая-то дичь.
вот код: https://pastebin.com/R30vHZva
на выходе html в одну строку, при запуске которой (если сохранить ее на комп и потом запустить в браузер) выходит 404
Для примера в этот код вставлял другие сайты и все было норм.
Я так понимаю, скорее всего там есть какая-то особенность в самом сайте, которую я не знаю.
Если что я полный ноль и только учусь. Если есть возможность пояснить плз в чем проблема
Аноним 01/03/21 Пнд 18:42:38 195487623
>>1954773
Нет, мидлом стать легко, сиди годик-три на работе и все, а вот что из вкатыша превратиться в джуна придется сейчас жопу порвать, хотя если тебе >= 23 и есть законченная вышка(техническая), то будет проще
Аноним 01/03/21 Пнд 18:44:36 195488024
>>1954861
Возможно проверяет юзерагента, поищи как в заголовки добавить user agent и тогда пробуй
Аноним 01/03/21 Пнд 18:56:58 195489025
Двощане, важный для меня вопрос, как часто в работе вы используете чистый sql, без орм, потому что на практике я еще ни разу не делал запросы без орм, только при изучении(разве что для отладки иногда инсерт, делит, селект и т.д), если будут ответы да, то так же вопрос как часто приходится сталкиваться с пониманием как работает бд, с транзакциями, с функциями, индексами и т.д, а так же где об этих темах можно почитать, реквестирую
Аноним 01/03/21 Пнд 19:08:49 195489626
В укусе питона большинство понимал, пока не пошли методы и классы.

Со мной всё плохо?
Аноним 01/03/21 Пнд 19:17:37 195490227
>>1954896
Даже .format() это метод для объекта строки, пока можешь просто запоминать, а когда осознаешь как все работает будешь в шоке, у меня так было
Аноним 01/03/21 Пнд 19:17:43 195490328
>>1954880
Добавил в заголовки юзер агента и accept, ниче не поменялось к сожалению
Аноним 01/03/21 Пнд 19:20:23 195490729
>>1954902
Просто ощущение что я ребёнок учёного на научной конференции, речь русская, а ничего не понятно.
Аноним 01/03/21 Пнд 19:39:59 195492330
>>1954907
Я по-моему из-за всех этих методов книгу дропнул, точнее читал в пол глаза, так что расслабься, потом придет осознание
Аноним 01/03/21 Пнд 19:40:40 195492631
>>1954903
Найди самый длинный юзерагент и перепроверь ссылку
Аноним 01/03/21 Пнд 19:50:42 195493232
>>1954896
В чем проблема понимания методов? Просто функция, засунутая в объект и как-то работающая с ним (хотя это не обязательно).
Аноним 01/03/21 Пнд 20:04:08 195494133
Untitled.png 155Кб, 1920x1058
1920x1058
>>1954861
>>1954903
Это spa, причем выдает в каком-то норкоманском легаси формате, ни разу ещё не встречал такую хуйню, лол.
Аноним 01/03/21 Пнд 20:15:12 195495634
>>1954876
техническая вышка энергетика + заканчиваю вышку юриста магистр которую могу поменять на айти без проблем. Помоги пожалуйста, какая последовательность действий что учить кроме питона непосредственно и где учить?
Аноним 01/03/21 Пнд 21:02:03 195498235
>>1954907
> речь русская, а ничего не понятно
Это как раз потому, что речь русская. Вообще, 90% русскоязычной литературы по ЯП и, вообще, по IT - лютейшее говно, причём даже в случае с крупными издательствами, потому что всё переведено инъязовским планктоном.
Аноним 01/03/21 Пнд 21:47:01 195502936
Аноним 01/03/21 Пнд 21:59:38 195504437
>>1954861
Ах да, еще добавь объект session и через него делай запросы обязательно, довольно важно, может даже заработает
Аноним 01/03/21 Пнд 22:01:14 195504638
>>1954982
Ну тут вопрос возникает насколько хорошо нужно знать инг, чтобы читалось понятнее чем на русском, у меня в голове только гугл транслейт максимум года 2010
Аноним 01/03/21 Пнд 22:11:25 195505639
>>1954956
Синтаксис питона(ветвление, циклы и т.д), структуры данных, алгоритмы, углубляешься в питон(ооп и пр.), смотришь более сложные вещи, потом если бек интересен начинаешь учить линукс, потом базы данных, html, css, потом уже вебфрейморки, джангу пожалуй, потом углубляешь еще сильнее в язык, асинхронность, многопотчность и прочее, постоянно начинаешь курить документации всего подряд, в это же время пилишь какую-то хуйню, можешь пробовать подавать резюме, получаешь тестовое, делаешь, продолжаешь уить смежные технологии, drf, celery, docker, я пока перед докером остановился, дальше ничего посоветовать не могу, но думаю примерно в это время надо найти работу. Параллельно читаешь умных людей с хабра. Есть курсы на степике, особенно рекомендую веб-технологии, там и про джангу(правда старую) и про современный фронт - ajax, и про протоколы - tcp, http, в остальном курсера есть, куча статей и документаций, кто-то кодварс дрочит, можешь попробовать когда поймешь что можешь писать свои функции. Асло другие аноны, скажите что пропустил
Аноним 01/03/21 Пнд 22:54:53 195508040
Аноним 02/03/21 Втр 00:28:54 195513541
>>1955029
Ты так пишешь, будто это ходовой формат в вебе.
Молодец, за пять сек нагуглил, берите его на 300к/сек.
Аноним 02/03/21 Втр 00:33:37 195513642
>>1955056
> про современный фронт - ajax,
Современней некуда
Аноним 02/03/21 Втр 00:34:08 195513743
Посоветуйте годные, слитые курсы для медленного вкатывания, с нуля. Желательно русские, но можно и на англе.
Аноним 02/03/21 Втр 01:12:52 195515944
>>1955137
>курсы
>пистон
ты че раст учишь что ли, пистон даже дети по книжкам понимают
Аноним 02/03/21 Втр 01:16:35 195516145
>>1955136
Ну там рассказывалось про фуллстак фрейморк с шаблонизатором и т.д, этим сейчас не пользуются, а про аякс рассказано, очевидно что знать как вью работает вне рамок курса
Аноним 02/03/21 Втр 01:18:16 195516246
Вопрос, часто апишки отдают в жсоне статус коды, но у хттп есть свои, это типо более молодежный способ и добавлять в жсон еще коды не нужно?
Аноним 02/03/21 Втр 07:52:01 195519447
Аноним 02/03/21 Втр 12:13:53 195530948
>>1954896
А что не так с классами и методами?
Аноним 02/03/21 Втр 14:15:31 195541749
Дайте задачи на pandas
Аноним 02/03/21 Втр 15:34:02 195548950
Есть у меня список в духе: [информация, команда, время]

В заданное время должна сработать команда манипулирующая информацией.

Как организовать стек с выполнением по таймеру? Каждую секунду чекать весь список? Есть встроенные функции для такого?
Нужно что-то вроде времени жизни значения из redis.
Аноним 02/03/21 Втр 17:04:11 195554551
>>1955489
Зависит от контекста. Есть например threading.Timer, есть библиотечка sched, а можно и по классике:
while True: time.sleep(t)
Для полного эффекта ентерпрайза можешь даже Twisted заюзать
Аноним 02/03/21 Втр 17:30:12 195557052
>>1955489
Для начала важно, как у тебя сама программа устроена. Что происходит в тот момент, когда ты ждёшь события, как добавляешь задания и т.п.

У тебя многопоточное или асинхронное решение?
Аноним 02/03/21 Втр 17:53:30 195559653
>>1955489
Есть всякие штуки, которые по расписанию работают(название не помню, но там вроде по запросу scheduler python должно вывалиться что-то) А вообще, можешь взять Celery, там есть постановка задачи на нужное время. Недавно на работе тоже самое делал.
Аноним 02/03/21 Втр 22:08:22 195580954
Приспичило написать gui. И тут возник вопрос: чем отличается pyqt5 и pyside2? Кроме лицензии есть отличия?
Аноним 02/03/21 Втр 22:45:36 195584855
Возникла необходимость отдавать медиа файлы - мп3 на фронт, правильно понимаю, что достаточно просто переавать файл через обычный
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
и на фронте он нормально скачается и зальется куда надо там? А самое важное как в таком случае настроить безопасность, пользователи не должны смотреть чужие файлы, пользуюсь drf, есть пермишшоны, придеться вместо обычного
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Переписывать метод retrive у вьюсета?
Аноним 03/03/21 Срд 00:21:21 195588556
>>1954902
f строки до меня со второго раза дошли, типа можешь писать в одной строчке и циферки и буковки
Аноним 03/03/21 Срд 02:55:19 195592657
>>1954138 (OP)
Друзья, вопрос по fixture.
Как настроить такую, которая будет при запуске каждого тест класса будет заполнять переменную, скажем Count, которая будет запрашиваться из другого метода. Далее, если смотрим if count > 2: делай это, елсе: делай то.
Аноним 03/03/21 Срд 02:59:46 195592858
>>1955926
Такое ощущение что либо я по своему проекту тут пишу, либо ты по фикстурам, больше никого
Аноним 03/03/21 Срд 03:20:40 195593359
>>1955928
Печаль. Уже хз что делать. Обгуглился совсем. Может кого из Индии нанять за пару булок хлеба?
Аноним 03/03/21 Срд 06:05:01 195594760
>>1955848
Ниче не понял что ты там хочешь сделать, но у каждого файла в базе данных можно сделать ссылку, по которой он открывается. Просто проверяй авторизацию при запросе к мп3 и все.
Аноним 03/03/21 Срд 11:29:02 195608661
>>1955848
Обычно вроде делается так:
1. Джанга проверяет пермишоны, отдает ссылку на файл
2. По ссылке файл отдает какой-нибудь nginx
Можно отдавать файл сразу в ответе, например, я энкодил пдф в base64 и пихал прям в тело json(и мне не стыдно), но тогда его надо будет обрабатывать на фронте.
>>1955926
А не проще ли запускать тест с разными параметрами? Сначала с count < 2, а потом с count > 2.
Аноним 03/03/21 Срд 12:14:29 195613062
>>1955417
просто работай с дата фреймами, вычленяй там разное и оформляй
панда ас пд
дроп нулл
сорт валуес
ну ты понял
Аноним 03/03/21 Срд 12:33:49 195615563
>>1956130
ху ис он дьюти тудей?
Аноним 03/03/21 Срд 12:40:21 195616664
Боже, чому нет хороших библиотек для работы с офисом мелкософта? Нашел pywin32 более-менее работающий, но он состоит из костылей. docx либа берёт только docx, панда только эксели.
Аноним 03/03/21 Срд 12:44:28 195617765
>>1956155
зе гай ху ис сапосед ту бе он дюти тодей ис щитфейсед он алл зе ликуор хе бот ин дюти фрии сторе. со хи ис пробабли офф дюти тилл томорроу
Аноним 03/03/21 Срд 12:57:14 195619866
>>1956155
блядь, это вроде дикая тема из армии? типа кто сегодня пидорит полы или что значило?
Аноним 03/03/21 Срд 12:58:07 195619967
>>1956177
лол, что это занчит вообще? кто то в кал наебенился в щитфейсес и он оф дути?
Аноним 03/03/21 Срд 14:31:31 195632168
изображение.png 23Кб, 782x142
782x142
>>1954138 (OP)
Сап. Есть такая простая модель, пикрилейтед. Два последних поля - это проджект менеджер и список сотрудников, участвующих в проекте. Хочется, чтобы при создании проекта PM сразу добавлялся в employee. Как можно добиться такого поведения?
Аноним 03/03/21 Срд 14:35:47 195633169
изображение.png 6Кб, 329x81
329x81
>>1956321
Вроде добился желаемого через переопределение save, но правильный ли это путь?
Аноним 03/03/21 Срд 14:38:30 195633570
>>1956331
А он у тебя не будет теперь еще и при изменении добавлять?
Аноним 03/03/21 Срд 14:46:53 195634471
>>1956335
Справедливо.. Придется добавлять условие. Или есть менее колхозный способ?
Аноним 03/03/21 Срд 14:55:39 195635372
>>1956321
Не секу в джанге, но разве не проще просто создать эмплои с флагом принадлежности пм/не пм?
Аноним 03/03/21 Срд 14:57:56 195635473
>>1956353
Ну так юзер в одном проект может быть менеджером, а в другом - кем-то другим
Аноним 03/03/21 Срд 15:02:43 195635774
>>1956354
Ну так для этого нужна кросс-таблица с полями ProjectID, EmployeeID, и флагом IsPM (или RoleID).
Аноним 03/03/21 Срд 15:02:45 195635875
>>1956344
Не знаю как правильно. Я бы в форму добавил автоматическое добавление, а то потом окажется, что в каком-то месте не надо добавлять и придется еще одно условие в save добавлять, а потом еще одно, а потом ну ты понял.
Аноним 03/03/21 Срд 15:07:15 195636176
>>1956357
Именно это ManyToMany field и делает. Просто если туда кастомные колонки впихивать - ORM сломается.
>>1956358
Спасибо, буду пробовать!
Аноним 03/03/21 Срд 15:10:04 195636477
>>1956361
>Именно это ManyToMany field и делает.
Я это понимаю, но тогда зачем тебе 2 раза хранить инфу о человеке, если он одновременно и пм в таблице проекта, и эмплои в кросс-таблице?
>Просто если туда кастомные колонки впихивать - ORM сломается.
Ну и говно эта ваша заливная орм пиздец, самому надо по работе в это вкатываться
Аноним 03/03/21 Срд 15:13:37 195636878
В дополнение к этому >>1956364
Если у тебя в проекте пм поменяется, тебе и в проекте надо апдейтить его, да ещё и в кросс-таблице удалять, если он из проекта вышел совсем, а не стал лидом каким-нить.
Аноним 03/03/21 Срд 15:20:24 195637379
>>1956364
> зачем тебе 2 раза хранить инфу о человеке
Чтобы не делать несколько запросов к БД, если нужны вывести список проектов, в которых участвует конкретный человек, как минимум. Такой API в целом удобнее для человека будет
Аноним 03/03/21 Срд 15:24:19 195638180
>>1956373
Не вижу тут дополнительных запросов, только дополнительный джойн в запросе и условие в where на 'пмность'. Но это твоё дело, я лишь со своей кукаретской позиции дата аналитика рассуждаю, что такой подход странный, базисты бы меня на старом месте на хуй послали бы схему бд переделывать за такое.
Аноним 03/03/21 Срд 17:33:31 195656081
Двач, подскажи, а как заполнить нампи массив кортеджами сразу (строками)
т.е. чтобы было через инпут
user input 2 #line
user input 3 #colums

user input 0 1 2 3 4
user input 5 6 7 8 9

out
"0 1 2 3 4
5 6 7 8 9"

Совсем не понимаю как сделать ввод не по одному элементу, а по строкам
Аноним 03/03/21 Срд 18:19:20 195664082
Где искать какие-то годные видео или статьи с объяснением смысоового применения модулей? В каждом видео про нумпи или панду идёт какая-то хуйня с простым перечислением возможностей, почему никто не объясняет на реальных прикладных задачах?
Алсо, хочу вкатиться в дата саенс, какого рода математика мне нужна и как быстрее всего её подтянуть?
Аноним 03/03/21 Срд 18:22:05 195664783
>>1956560
Через генератор или цикл пробуй.
Аноним 03/03/21 Срд 18:26:42 195665484
>>1956560
import numpy as np
from io import StringIO
data = """
0 1 2 3 4
5 6 7 8 9
"""
arr = np.genfromtxt(StringIO(data), delimiter=" ",dtype='int')
print(arr)
Аноним 03/03/21 Срд 18:45:45 195668285
Поясните, а как работает, когда в for сразу 2 элемента for (j, el) in
далее ниже результат функции присваивается el
Аноним 03/03/21 Срд 18:48:56 195668686
>>1956682
for (j, el) in [('op','hui'), ('abu','pidor')]:
____print(el)
Аноним 03/03/21 Срд 20:14:12 195675787
>>1956682
Это значит, что у тебя каждый элемент коллекции это тоже коллекция, в которой ровно столько элементов, сколько у тебя переменных после for, это синтаксический сахар, например, пусть, у нас есть список пар чисел pairs = [(1, 3), (5, 2), (0, 9)], вместо того чтобы писать:

for pair in pairs:
    x = pair[0]
    y = pair[1]
    # делаем что-то с x и y

Мы пишем:

for x, y in pairs:
    # делаем что-то с x и y

Это называется распаковка, и она работает не только с циклами:

x, y, z = [7, -1, 4] # в x будет 7, в y будет -1, в z будет 4

Только надо быть внимательным, переменных должно быть ровно столько, сколько элементов в распаковываемой коллекции
Аноним 03/03/21 Срд 20:33:16 195676988
>>1956321
Во вью при сейве инстанса просто напиши эмплоес = пм, так нельзя?
Аноним 03/03/21 Срд 21:11:05 195679089
Аноним 03/03/21 Срд 21:12:02 195679290
Кто-нибудь на линупсе сталкивался с тем что пучарм зависает намертво, но только до тех пор пока не откроешь что-то, только нажимаю на ярлык терминала - сразу отпускает, хз что это такое вообще
Аноним 03/03/21 Срд 21:21:02 195679891
Двач, поясните за инпут.
Нужно переменную ввести, но она должна быть и инт и флоат зависит от данных как сделать, если переменная по сути инт "12.0", отображалась не как флоат?
Аноним 03/03/21 Срд 22:00:35 195682392
>>1956798
проверяй инпут на isdigit
Аноним 03/03/21 Срд 22:10:46 195683093
>>1956823
От души, уже и забыл про него
Аноним 04/03/21 Чтв 00:09:16 195690394
>>1956321
Я, конечно, тот ещё говнокодер, но можешь попробовать создать триггер на добавление записи в таблицу Project. Ну или мб там есть какое-то default value, не знаю
Аноним 04/03/21 Чтв 03:43:50 195695695
>>1956086
>А не проще ли запускать тест с разными параметрами? Сначала с count < 2, а потом с count > 2.
Не слышал об этом, как это выполняется? Или я не понял тебя.
Аноним 04/03/21 Чтв 04:28:55 195695896
>>1955809
Раньше pyside забагован был ужасно, щас они одинаковые. Но если юзаешь старые версии, то бери pyqt. Разницы никакой, тем более для россиянина, тут все хуй кладут на лицензии.
Аноним 04/03/21 Чтв 04:39:30 195695997
>>1954896
Копипасти код с каких нибудь заданий или гайдов, изменяй под себя, делай что-то по подобию этого кода и со временем поймёшь как этот кусок кода работает.
Повторяй этот алгоритм пока не задрочишь все основы.
А потом уже можно статьи читать и понимать о чем там.
Аноним 04/03/21 Чтв 05:00:09 195696298
>>1956640
> не объясняет на реальных прикладных задачах?
> Алсо, хочу вкатиться в дата саенс
Ебать довен. Начинай математику с 7 класса и до матана из универа иди.
Аноним 04/03/21 Чтв 11:06:09 195707399
Аноним 04/03/21 Чтв 13:07:06 1957146100
>>1956956
Я про это:
@pytest.mark.parametrize("count", [1,2,3,4,5])
def test_huest(count):
....assert count == 4
Так у тебя тест запустится 5 раз с разным count. Это если тебе надо просто проверять поведение с разными входными значениями. А если тебе подменить значение, которое метод возвращает, то это тебе monkeypatch нужен.
Ты бы конкретнее написал, что и зачем тестируешь, а то непонятно чего ты добиться хочешь.
Аноним 04/03/21 Чтв 14:38:11 1957207101
Аноны, как гуглить методы и инструменты для безопасности сайта, https понятно, авторизация окей, но ведь есть еще много всяких вещей, ддос, у меня есть медиа, которые можно брутфорсить, чтобы забирать данные и т.д, уже узнал что от брутфорса спасает какая-то проверка через логи, но как в общем жта тема называется, что гуглить, подскажите
Аноним 04/03/21 Чтв 16:26:38 1957334102
>>1954138 (OP)
Мне нужно передавать некую переменную от страницы к странице, например - выбранный пользователем проект. На основе этой переменной будет рендерится контент на других страницах. Как это лучше всего реализовать? Запихнуть значение в request, или завести столбец в бд last_project?
Аноним 04/03/21 Чтв 16:35:10 1957343103
>>1957334
Обычно такое в сессии хранят.
Аноним 04/03/21 Чтв 16:44:42 1957352104
>>1957343
Вот примерно это и думал, да. Спасибо!
Аноним 04/03/21 Чтв 16:52:20 1957359105
8f7ecb3415cda04[...].jpg 63Кб, 640x640
640x640
Аноны, короче нужна помощь с прогой под кодовым названием shithole.
Поступил заказ от организации (завод), прога должна отсеивать на входе людей так называемых SHITFACE
основной функционал я уже написал
if shitface == True:
lock door and fuck out
else:
welcome motherfucker

Осталось собственно написать нейронку которая будет детектить шитфейсы.
Аноним 04/03/21 Чтв 16:53:45 1957360106
изображение.png 1419Кб, 923x646
923x646
Аноним 04/03/21 Чтв 16:55:29 1957361107
>>1957360
Это из рекламы французского языка в чертаново?
Аноним 04/03/21 Чтв 16:56:02 1957362108
Аноним 04/03/21 Чтв 16:59:32 1957364109
>>1957359
>Осталось собственно написать нейронку которая будет детектить шитфейсы.
Ее не надо писать, ее надо обучить. Для это тебе потребуется набор размеченных данных для обучения нейронки - фотокарточки шитфейсов. Разбиваешь датасет на две части, на одном обучаешь, на другом проверяшь. Все.
Аноним 04/03/21 Чтв 17:00:34 1957366110
>>1957364
А зачем тогда специалисты нужны? Если нейронки все уже написаны, и них только датасеты грузить
Аноним 04/03/21 Чтв 17:05:04 1957376111
>>1957366
Специалисты нужны, чтобы подкручивать параметры нейронки для увеличения процента распознавания. Для шитфейсов и стандартная из библиотеки сойдет.
Аноним 04/03/21 Чтв 17:12:20 1957379112
>>1957376
Ну понял. Я как-то с челом в офисе сидел, он там все дрочил модели свои, тоже все подкручивал что-то. Но я спросить постеснялся
Аноним 04/03/21 Чтв 17:13:49 1957380113
>>1957364
какова вероятность ошибок в таких случаях?
Аноним 04/03/21 Чтв 17:14:15 1957381114
>>1957379
Что за чел был. что он там крутил? аниме небось смотрел
Аноним 04/03/21 Чтв 17:15:40 1957384115
>>1957381
Да я ебу что ли? Да и если бы знал - не скзал, нда
Аноним 04/03/21 Чтв 17:21:05 1957391116
>>1957384
Почему ты такой скрытный?
Аноним 04/03/21 Чтв 17:23:24 1957393117
>>1957380
Именно для этого и нужна проверка на второй половине датасета. Я точно не знаю, но вроде бы, 1% процент ошибок уже считается плохим результатом. Но это скорее зависит от задачи.
Аноним 04/03/21 Чтв 17:29:37 1957395118
изображение.png 9Кб, 374x240
374x240
Аноним 04/03/21 Чтв 17:33:02 1957399119
>>1957395
Ебать, ты солдат или коп? вы там нейронки крутите чтобы врагов народа палить за социальный рейтинг?
Аноним 04/03/21 Чтв 17:34:28 1957402120
>>1957399
Я уже там не работаю. Но дело было связано с инфобезом да
Аноним 04/03/21 Чтв 17:34:43 1957403121
>>1957393
Охуенно, вот бы вкатиться в эту тему.
как уменьшают количество ошибок? Просто кормят данными до предела или это не действенный способ?
Аноним 04/03/21 Чтв 17:35:23 1957405122
>>1957402
ты под подпиской о невыезде? почему ушел? не можешь теперь на иностранцев работать? соглашение о неразглашении пожизненное?
Аноним 04/03/21 Чтв 17:37:09 1957406123
>>1957405
Никакой подписки о невыезде, она была бы, если бы работал на гос.структуры. Тут же частная компания, но выиграла грант от государства. Соглашение на 5 лет подписано. Ушел потому что не мое, работа напряженная очень. Перекатился в веб и вроде не жалею
Аноним 04/03/21 Чтв 17:41:55 1957410124
>>1957406
теперь из дома фрилансишь или как?
когда закончится подписка о неразбазаривании? не боишся что набухаешся и проболтаешься?
Аноним 04/03/21 Чтв 17:43:36 1957414125
>>1957410
Не фриланшу, работаю на компанию
Через +/- 5 лет закончится
Не боюсь. Не пью
Аноним 04/03/21 Чтв 17:46:18 1957418126
Вам когда-нибудь пригождался C?
Аноним 04/03/21 Чтв 18:08:21 1957430127
>>1957414
ты зожник? на какую контору пердолишься?
Аноним 04/03/21 Чтв 18:08:50 1957433128
>>1957418
какой именно? кресты, шарп, просто?
Алсо тебе пригождался паскаль или бейсик?
Аноним 04/03/21 Чтв 18:11:30 1957434129
>>1957430
Может, тебе еще фотку паспорта скинуть?
Аноним 04/03/21 Чтв 18:36:46 1957451130
>>1957433
Бля, если я написал C, без всяких ебучих шарпов и плюсов - что тебе не ясно? И при чем тут паскаль и бейсик? Дефолтный интерпритатор пистона на С написан, и есть неплохая возможность интеграции этих двух языков. Интересно узнать, пользовался ли ей кто.
Аноним 04/03/21 Чтв 19:40:28 1957497131
>>1957451
Он написан на CPython
>>1957434
не, это уже лишнее
алсо у тебя есть паспорт?
Аноним 04/03/21 Чтв 20:41:51 1957560132
>>1955809
PyQt делает сторонняя фирма, а PySide та же фирма, что заведует Qt
Аноним 04/03/21 Чтв 21:48:51 1957653133
Screenshot20210[...].jpeg 64Кб, 790x577
790x577
>>1955809
>>1957560
О, как удачно я к вам зашел! Как раз на питончике ковыряю Qt. Пока туговато конечно идет, решил фронт для mpv запилить (как будто их мало) под свои нужды.

Так вот, есть может курс какой/набор литературы/рекомендаций по изучению? Я конечно с разбегу сейчас вхожу и с гуглом это работает, но через боль, карго культизм и стену непонимания ключевых концепций. На срутрекере книга на русике есть python3 и pyqt. Так там первая половина, блядь, это описание самого питона...
Аноним 04/03/21 Чтв 22:13:10 1957692134
>>1957653
так читай только вторую половину
Аноним 04/03/21 Чтв 23:13:07 1957770135
Аноним 04/03/21 Чтв 23:52:17 1957792136
Двочане, я спрашивал ранее про асинхронный селери и прочее, сейчас задача для меня прояснилась, а я узнал о некоторых деталях селери, хочу рассказать о том как я хочу реализовать нужный функционал. Задача такая: при определенном запросе берется до нескольких тысяч записей(беруться сразу или потом по очереди пока неважно), для каждой записи нужно сделать запрос по сокету, ответ появляется спустя время(i/o bound), примерная нагрузка ~10 таких запросов в секунду на пике которые нужно отправить и обработать, но запросов которые отправляют может быть много и у каждого есть свой тариф, сколько запросов в час можно делать, а так же дни недели и часы в которые можно делать запросы. Отсюда мое решение: есть генеральная таска селери, которая принимает тысячи записей, дни недели, часы, тариф, после этого она берет текущее время, день недели и максимально плотно создает микротаски, которые запланированны на время, которое считается как время прошлой таски + тариф/3600, а так же проверяется можно ли в это время и эту неделю выполнять таску, если нет, то опять плюсуем время, пока не закончатся записи, после того как все микротаски созданы проходит время и они запускаются, вся их цель это взять из бд данные(либо получить через атрибуты просто(тут вопрос о том сколько памяти это будет занимать)) и запихнуть их в брокер в нужное время, далее асинхронная часть: есть контроллер, который в бесконечном асинхронном цикле мониторит брокер, если в нем появилась запись, то он добавляет в асинхронный луп таску, в ней формируется логика запроса и awaitится запрос к серверу, после ответа мы проделываем еще манипуляций с бд и завершаем таску, таким образом как мне кажется можно добиться высокой производительности и легкой скейлиться в случае увеличения числа запросов. Оцените мой опус, чувствую себя не обезьяной даже немного, очень бы хотел увидеть критику и предложения
Аноним 04/03/21 Чтв 23:57:49 1957794137
Code2021-03-042[...].png 31Кб, 661x661
661x661
Зайки, котятки, рыбки, объясните чому в питоне сигналы переменные класса а не инстанса и как это работает вообще.
Это типа ради понта сделано или глубокий смысл есть.
https://pastebin.com/Pj76UkUR
Аноним 05/03/21 Птн 00:03:11 1957798138
>>1957792
Писал сюда во многом для того, чтобы точно сформулировать что я буду делать и понял важный момент пока перечитывал: можно откладывать время благодаря обычному asyncio.sleep(n), тогда задача селери сводится к тому, чтобы просто отдать нужные базы с записями в этот распределитель через брокер, а распределитель быстро создает асинхронные таски, у которых сразу установленно спать нужно время, потом они делают асинхронный запрос на сокет, ждут ответа и заносят в бд
Аноним 05/03/21 Птн 00:28:12 1957807139
>>1957792
Так же один анон сказал подумать над тем что делать с перезагрузками, как думаете лучше использовать redis или просто добавить поле в sql бд которое будет проверяться при перезапуске?
Аноним 05/03/21 Птн 00:39:42 1957816140
>>1957794
Разве это не nested class? Ты через parent класс обращаешься к nested и конструктором создаёшь уже объект. Почему так сделано хуй знает, чекни исходник
Аноним 05/03/21 Птн 01:09:43 1957827141
Как по-православному реализовывается execution branching при использовании argparse?
Допустим, есть скрипт, в котором два опциональных аргумента - не писать же для него четыре if-statement'а?
Аноним 05/03/21 Птн 01:17:50 1957829142
>>1957827
Какие чертыре? Настраиваешь опциональность и потом проверяешь
if opts.opt1:
print('hui')
Аноним 05/03/21 Птн 01:25:06 1957832143
>>1957829
> Какие чертыре?
Есть только первый, есть только второй, есть оба, нету обоих (тогда дефолтный поток идёт).
Аноним 05/03/21 Птн 01:28:17 1957833144
>>1957832
Опциональность на то и опциональность, что добавляет какой-то дополнительный функционал, а не кардинально другой. Т.е. расширенный вывод или там запись в файл.
Что у тебя за опции такие?
Аноним 05/03/21 Птн 01:39:38 1957835145
>>1957833
Первая отрезает последнюю часть потока, вторая (--path) задаёт альтернативный аргумент для функции из в любом случае остающейся части потока.
Аноним 05/03/21 Птн 01:44:14 1957836146
>>1957835
Что за потоки, хуй проссышь. Код бы показал.
Аноним 05/03/21 Птн 01:52:59 1957840147
.JPG 109Кб, 956x983
956x983
>>1957836
Ну, череда функций в main().
Аноним 05/03/21 Птн 01:55:50 1957842148
>>1957364
А можно где-то посмотреть пример этого именно в коде ну какой-то элементарный.
Аноним 05/03/21 Птн 01:59:29 1957843149
>>1957840
Да, ты просто неправильно структурировал. Сначала определяешь дефолтные паремтры, потом при наличии опции заменяешь.
Т.е.
param1 = default1
param2 = default2
if opt1:
param1 = opt1
И в конце один вызов.
Аноним 05/03/21 Птн 02:07:01 1957844150
>>1956640
Начни с конспектов лекций по теверу и мат. статистике.
Аноним 05/03/21 Птн 02:27:52 1957850151
>>1957843
Может, там и можно как-то сократить по такой схеме, но не вижу вариантов - всё равно будут повторные вызовы тех же функций в коде.
Аноним 05/03/21 Птн 02:35:45 1957855152
>>1957850
Лол, как так. У тебя там большая часть логики с еблей с args.path
Почти вся эта портянка заменяется на один иф
if args.path:
target_path = args.path
И один вызов encrypted_name =
Логику с upload_to_mega я не уловил, но тоже решается одним ифом скорее всего.
Это же классический DRY, о котором в любой нубской книге талдычат.
Аноним 05/03/21 Птн 02:46:57 1957857153
>>1957855
> if args.path:
> target_path = args.path
Это очевидно, но с таким подходом там всё равно будут почти одинаковые вызовы, потому что одна из опций отрезает часть дефолтного потока (как раз upload_to_mega). Будет спагетти, короче.
Аноним 05/03/21 Птн 02:54:16 1957858154
>>1957857
Да с чего им быть, если ты вместо повторения один раз вызовешь?
Аноним 05/03/21 Птн 03:09:57 1957860155
>>1957858
Не знаю. Я уже малость не в рабочем состоянии, так что завтра посмотрю.
Аноним 05/03/21 Птн 07:23:45 1957881156
>>1957146
Я пытаюсь разбить юзеров на несколько тестов, которые ранятся параллельно.
Аноним 05/03/21 Птн 10:29:51 1957936157
16125116913330.jpg 201Кб, 850x1226
850x1226
>>1957816
где ты там нестед класс увидел
Аноним 05/03/21 Птн 10:43:49 1957947158
>>1957792
Три раза прочитал, мало что понял.
Это у тебя все в одном потоке?
Обработка ответа не будет блокировать луп?
Как ты реализуешь точное время запуска таски?
Почему-то кажется, что эта штука будет потихоньку смещать запуск асинхронных задач и в итоге захлебнется. Но, повторюсь, я мало что понял.
>>1957881
https://pastebin.com/78Q5TBqp
Аноним 05/03/21 Птн 10:58:12 1957960159
Кстати, подскажите ещё мне какое-то йоба-решение современное, заодно попрактикуюсь.
Есть список кейвордов, надо каждый день последовательно делать запросы для некоторого количества из них в определенное время. Т.е. сегодня ночью первые 1000, завтра ночью следующие 1000 и т.д. Всего это занимает пару недель, потом в следующем месяце всё по новой.
Пока я сделал простецкий, но надежный вариант - смотрим сегодняшнее число и берем такой по счету кусок списка из файла, потом для каждого кейворда формируем путь month/day/kw.html и если такого файла нет, то делаем запрос и пишем. Ну и по крону хуярить.
Можно бы переделать на БД, но особого профита нет, мне кажется.
Что могут предложить всякие брокеры-очереди и прочие современные хуйни?
Аноним 05/03/21 Птн 12:11:09 1958010160
>>1957947
Смещение тасок это то о чем я думал, блокирующая функция будет выполняться например 5 секунд, тогда все функции у которых был слип на 1,2,3,4 секунды просто встанут в очеред и после блокирующей выполняться сразу подряд без ожидания, т.е они запустяться либо в точное время, либо чуть позже, когда блокирующие завершаться, но это действительно резонный вопрос, поэтому есть еще 3-й вариант, не использовать в одном патоке расчет времени для таски, а оставить его в селери и тогда опять же передавать именно в брокер все данные + отложенное время, которое будет браться главной всинхронной таской в лупе, это так же важно для скейлинга, чтобы забирать сообщения могли другие потоки/процессы(до сих пор не углублялся в разницу). Если я могу объяснить что-то подробнее, то напиши что, а то я так доволен своим решением что некоторые вещи кажуться очевидными для меня. Единственная проблема в том что я до сих пор не нашел как добавлять таски в луп и делать асинхронные запросы по сокету, обычно только про http пишут, но думаю мне просто нужно поискать
Аноним 05/03/21 Птн 14:05:06 1958093161
>>1958010
>блокирующая функция будет выполняться например 5 секунд
Из-за чего она блокироваться будет? Из-за загрузки процессора или ещё из-за чего-то?
Аноним 05/03/21 Птн 14:48:53 1958160162
>>1958093
Нужно ведь тысячи записей просчитать, она cou bound будет, поэтому она блокирующая и асинхронность на нее не работает
Аноним 05/03/21 Птн 14:51:45 1958162163
>>1958093
Поэтому мне кажется лучше выносить ее в селери, и она в брокер будет отдавать просто записи с нужным временем, а при необходимости асинхронную хуйню можно вынести на отдельную машину, можно мультипроцессинг сделать(т.к операции однотипны и простыее мне не нужны треды, разве что процессы, верно ведь?)
Аноним 05/03/21 Птн 16:06:43 1958296164
пацаны если не смогу найти себе контору говна, реально ли в текущем году зарабатывать фрилансом если ты не сеньор 300к/сек с кучей заказчиков в друзьях на фб? и если реально, где вы это делаете
Аноним 05/03/21 Птн 17:05:36 1958385165
>>1958296
>реально ли в текущем году зарабатывать фрилансом
Ну вот смотри, прямо сейчас в треде чувак страдает мультипроцессингом, асинхнонщиной, всякими селери, и прочей технологически и алгоритмически ёмкой хернёй, уже недели две страдает.

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

Вот и сам думай. А ты сам понимаешь, чем асинхронное программирование отличается от многопоточного? Обеими технологиями владеешь?
Аноним 05/03/21 Птн 17:17:44 1958403166
Аноним 05/03/21 Птн 17:18:22 1958404167
>>1958162
>Поэтому мне кажется лучше выносить ее в селери
Я сам не очень умею с селери работать, так никак не засяду за неё, может и годная вещь, но по ощущениям это просто некая дополнительная оболочка, нужная, чтобы в синхронном коде поддерживать задачи. Это же не самостоятельный пакет, а надстройка над другими MQ.

Не уверен, что от неё большой профит, если у тебя на базе asyncio проект.

Если у тебя большие cpu-bound задачи, то тут только вариант воркеров.

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

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

Так ты используешь несколько ядер процессора (во второй схеме), или даже несколько машин со всеми ядрами(первая схема), и у тебя нет блокировки.

Можно ещё иначе, ты можешь переделать свою задачу так, чтобы она была не блокирующей, если там большой цикл, то разрешить в какой-то момент переходить на исполнение других задач, вставить регулярные
await asyncio.sleep(0.00001),
но не 0, это мы обсуждали уже. Можно свою процедуру - корутину сделать для переключения, но работать она будет не быстрее.

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

Слишком часто вызывать не надо, переключение задачи на самом деле довольно дорогая операция.
Аноним 05/03/21 Птн 17:20:27 1958406168
>>1958403
Ты путаешь многопоточность и параллельность.

Технологии многопоточного программирования появились совсем с другими целями. И ещё тогда, когда почти все машины были с одним процессором и одним ядром.

Их цель обходить блокировки в первую очередь.

Многопоточность - это несколько потоков-ветвей исполнения кода, когда у каждой свой стек вызовов и свои регистры.
Аноним 05/03/21 Птн 18:13:06 1958441169
>>1958404
Да, та задача по высчитыванию таймера для каждой записи cpu bound, там тупо вычисления и поэтому я ее оставлю на celery, смогу спокойно поднимать воркеров, а слип(0.00001) буду использовать для проверки в цикле брокера на новые сообщения. Да, celery здесь не нужен на самом деле, потому что я всю планировку перенес на asyncio.sleep() у себя в голове, я его хочу оставить только потому что он позволит отдавать ответ джангой сразу, а вычислениями займется позже, а asyncio нужен потому что сами вычисления с записями это строк 10, не больше, проблема в том что внешний сервер может отдавать значение долго, возникает i/o bound, а если из-за нагрузки внешний сервер начнет по 5 сек отвечать, тогда даже не знаю как без асинхронности, создавать по процессу/воркеру/потоку на каждую запись не вижу смысла, там одного потока достаточно? да и опыта с многопоточностью не было нормального, кроме хело ворлд
Аноним 05/03/21 Птн 18:27:12 1958450170
>>1958385
Сгущаешь краски, после выполнения спрошу кто были конкуренты, я то сам по ощущениям вообще ребенок, собесы это просто моя самопрезентация, показывал что я адекватный и рассказывал про опыт и как планирую реализовывать проект, поэтому еще недели 1,5 назад спрашивал, пока прогал 3,5 дня и уже получил свои 230$, просто пришлось час потратить на документацию drf и потом написать, протестировать код, сейчас пишу сюда скорее для общения и почитать чужие мысли, сами технологии не слишком сложные ведь, прочитал квик старт, почитал доки, если надо залез в исходный код и по переопределял что надо, все
>>1958296
Если опыта нет, а кушать нужно вчера, то такая себе идея, я только вкатываюсь во фриланс по сути, это мой первый коммерческий опыт, искал изначально на веблансере, писал парсеры, бота, небольшой бек, немного работы просто с вебом, потом зарегался на хабр фриланс и нынешний заказчик нашел меня сам, как закончу с этим меня ждет старый клиент и один еще написал что ему нужна помощь, но я не уточнял какая, попасть на разработку бота или нормального бека сложно, в основном там требуются знания битрикса, сrm, и прочего пхпшного, у меня пара заказов слетали после переговоров, в остальном мне нравится, для студента самое то, вместо анальной галеры в маке я вот чаек пью
Аноним 05/03/21 Птн 18:44:39 1958463171
image.png 73Кб, 995x577
995x577
Кто-то знает, почему это выдаёт тру? Флоат же должен выдавать фолс, а оно работает на месте, где инт запланирован
Аноним 05/03/21 Птн 19:13:12 1958486172
Аноним 05/03/21 Птн 19:17:54 1958495173
>>1958486
Ебучий случай. Ты мой герой
Аноним 05/03/21 Птн 19:35:28 1958524174
>>1957947
>Это у тебя все в одном потоке
Там есть метод, который по названию теста выбирает юзера из листа юзеров. Например, запускаю тест - тест_почты - перед запуском метод выбирает соответствующего юзера из списка, который будет тест_почта_юзер1, которых скажем 4 для параллельного запуска. Далее тест ранится, никаких проблем. Так же есть ещё тесты завязанные на этого же юзера. Когда запускаешь по одиночке все работает.
Теперь, когда запускаешь несколько тестов сразу И выбираешь несколько параллельных инстеесес-n4 (ранит сразу 4 теста за раз используя всех 4 юзеров).
Проблема: когда запускаешь несколько свитов, которые используют одинаковых юзеров, как только юзеры в листе закончились пайтест xgist возьмёт по новой юзера, который уже ранит тесты. Тот юзер будет logged out и тест будет фейл. Надеюсь так примерно понятно.
Аноним 05/03/21 Птн 22:23:19 1958657175
>>1957798
В следующий раз пиши это не на двач, а в свой блокнот, и, перечитывай несколько раз, рефактори свои мысли и формируй план действия/рисуй рисуночки. Когда поймешь, что план готов, можешь уже и начинать реализовывать, а можешь и анону отправить.

Уже четвертый год так живу. Зависимость есть.
Такой метод называется рассказать утке, только вместо утки рассказываешь блокноту (себе).
Аноним 05/03/21 Птн 22:28:18 1958661176
>>1958524
> Надеюсь так примерно понятно.
Нет. Учись по пунктам писать.
Аноним 05/03/21 Птн 23:29:02 1958712177
>>1957858
Таки ты был прав. Жёстко затупил вчера - за три минуты сегодня пофиксил.
Аноним 06/03/21 Суб 00:19:29 1958732178
Ух бля, кбучий селери. Половину рабочего дня пытался понять что такое celery exited with 'signal 11 (sigsegv). Оказалось, что это баг селери и его не собираются принципиально фиксить, пока не переедут на новую архитектуру. Какое же говно, пиздец
Аноним 06/03/21 Суб 00:27:32 1958738179
Есть в стандартной либе http клиент с ретраями без говняка? На всю ту хуйню из requests, с mount, session, adapter смотреть невозможно.
Аноним 06/03/21 Суб 00:37:07 1958743180
>>1958738
В стандартной либе базовый клиент, который требует дохуя бойлерплейта, реквестс достаточно пару строчек.
Аноним 06/03/21 Суб 00:41:56 1958747181
>>1958743
Ну и как ретраи делаются в пару строчек у requests?
Аноним 06/03/21 Суб 00:50:44 1958751182
>>1958747
Я про простые запросы, для ретраев в любом случае придется городить огород.
Аноним 06/03/21 Суб 00:51:15 1958752183
>>1958657
Если бы я сразу сюда писал, то это вообще треш будет, так да, сначала в блокнот формулирую, рефакторю, но потом когда отправляю как обычно умные мысли приходят сразу, поэтому у меня по итогу суммарно 3 способа вышло, каждый лучше предыдущего
Аноним 06/03/21 Суб 00:56:15 1958755184
>>1958732
Я сегодня ахуел с того что в пучарме есть баг с импортами, он не видит нормально иногда модули и подсвечивает красным, а это так тригерит, что даже нашел комментарий, который убирает, а потом переделал структуру вообще, чтобы этой зуйни не было, но самое отвратительное, что год назад я только вкатывался и как же я себя тупо чувствовал, когда мне скинули проект, я его открыл, а там строк 10 красных, гуглить не умел, спрашиваю что за ошибка у человека кто скинул, а он говорит нет там ничего, все нормально и только вот сегодня узнал что это был баг и за год его не пофиксили
Аноним 06/03/21 Суб 02:04:29 1958791185
Анон. Есть дохуя текста, текст этот постоянно меняется, но там есть строка которая никогда не меняется, мне нужно взять слово находящееся слева от этой строки, слово это может быть любой длины, как это можно сделать?
Аноним 06/03/21 Суб 02:18:16 1958797186
Аноним 06/03/21 Суб 12:28:26 1958930187
>>1958751
А нахуй ты мне про простые запросы отвечаешь, если вопрос был про ретраи? Ты тупой?
Аноним 06/03/21 Суб 13:30:52 1958957188
axFHolHuWOA.jpg 166Кб, 765x1080
765x1080
Как сделать, чтобы в VSCode мои .py файлы открывались во внешней коммандной строке?

Меня встроенный терминал бесит что на него постоянно надо мышкой переключаться, а командная строка перехватывала бы фокус.
Аноним 06/03/21 Суб 13:40:38 1958965189
>>1958957
Сначала прочитай про хоткеи
Аноним 06/03/21 Суб 13:44:43 1958968190
index.mov 901Кб, 2188x1362, 00:00:03
2188x1362
Аноним 06/03/21 Суб 13:45:53 1958970191
>>1958965
Ctrl + Sh + C лишь открывает терминал внешний, но не запускает в нём открытый файл.
Аноним 06/03/21 Суб 13:46:44 1958971192
>>1958968
Да, чтобы у меня курсор ввода перескакивал в терминал, а то часто запускаю его и вместо ввода данных сру в код, потому что курсор не перескачил.
Аноним 06/03/21 Суб 13:51:34 1958977193
Снимок экрана 2[...].png 272Кб, 890x982
890x982
>>1958971
Посмотри дефолт, либо добавь сам хоткеи в конфиг
Аноним 06/03/21 Суб 13:53:01 1958978194
>>1958977
Да эти хоткеи уже есть и я про них знаю. Но они не запускают файл, а просто открывают терминал или внешнюю КС.
Аноним 06/03/21 Суб 13:56:55 1958980195
>>1958978
Ну я даже не знаю. Вверху есть кнопка запуска текущего файла. Если тебе прям хоткей нужен, пиши сниппет свой
Аноним 06/03/21 Суб 13:57:36 1958981196
Аноним 06/03/21 Суб 13:59:49 1958985197
>>1958981
Либо вот у меня ctrl+alt+n. Но я таким не пользуюсь, у меня все через входной файл работает, за редким исключением.
Помощь по Python Аноним 06/03/21 Суб 15:23:27 1959026198
Анон, прохожу онлайн интенсив не скилбокс и тд . Зашел в итоговые задания после прохождения всего материала +250часов и там вообще не выкупаю нихуя.
Дан набор

Помощь по Python Аноним 06/03/21 Суб 15:29:47 1959030199
try n2.
Дан набор данных:
3
YKW89OEOCITYODO,2018-07-24T14:40,1000.00
XMV928G6WUX582L,2020-09-09T06:45,9500.30
0PEZX4TUY3I4ZRZ,2018-03-31T04:33,5320.45
нужно привести к:
Номер бронирования YKW89OEOCITYODO, забронирован 2018-07-24T14:40. Цена: 1000 руб. 00 коп. и тд.
Как читать эти данные построчно с добавлением нужного текста?
Данные вводятся через input и должны сами читаться и выводиться в заданном формате в строку.
Как проигнорировать это число N в первой строке в выводе.

Аноним 06/03/21 Суб 17:24:01 1959143200
image.png 49Кб, 534x574
534x574
Такая вот вещь. Есть массив и я его транспонирую через стандартное array.transpose()
А как можно сделать другие виды этой хуйни? Как на пике ниже?
Можно ли через transpose или надо самому всё перебирать?
1 пример реализован стандартной функцией
Аноним 06/03/21 Суб 19:30:53 1959269201
>>1959143
2) np.flip(array).transpose()
3) np.flip(array, 1)
4) np.flip(array, 0)
Аноним 06/03/21 Суб 19:53:38 1959293202
>>1959269
Благослови господь твою добрую душу
Аноним 06/03/21 Суб 20:49:37 1959341203
Аноним 07/03/21 Вск 00:08:51 1959458204
image.png 21Кб, 445x313
445x313
ZFuPqbcxdH8.jpg 190Кб, 765x1080
765x1080
>>1958985
>>1958980
>>1958978
>>1958977
>>1958968
>>1958957
Всё. Сделал, посоны.
Сделал как хотел просто поменяв в конфигураторе запуска 12 строчку на externalTerminal и теперь при запуске кода он просто открывает консольку внешнюю.
Аноним 07/03/21 Вск 13:36:39 1959729205
>>1959341
N число это тройка, которая есть в Input, но не должно быть в Output
Аноним 07/03/21 Вск 13:37:51 1959732206
https://itman.in/python-windows-virtualenv/
Написано
"Для установки выполните команды:
pip install virtualenvwrapper-win
pyassoc"
Какой еще нафиг pyassoc, его нигде нет, что это за скрипт такой?
Аноним 07/03/21 Вск 13:48:54 1959742207
>>1959732
Это какая-то легаси хуйня, сейчас пользуются искаробочным venv
Аноним 07/03/21 Вск 15:29:28 1959854208
Аноним 07/03/21 Вск 15:36:30 1959863209
Какие могут быть причины связанные с устройством языка, чтобы выбрать python или node, типа кроме случаев что у нас уже есть проект на одном из яп, вроде библиотек достаточно и там и там, типизация в ноде строгая, разве что разработка в питоне быстрее или есть существенные различия. А так же как вы думаете стоит ли свитчиться на жс?
Аноним 07/03/21 Вск 15:39:22 1959866210
>>1959030
Как ты вообще планируешь заниматься дальше? Задача элементарная
Накидал навскидку, проверки сам допилишь
def get_data():
val = input()
val = val.split(',')
if len(val) != 3:
print('fuck you nigger')
return get_data()
money = val[2].split('.')
if len(money) == 2:
return val[:2] + money
print('fuck you')
return get_data()

n = input()
try:
n = int(n)
except ValueError:
print('fuck you nigger')
exit(0)

assert n > 0

l = []
for i in range(n):
data = get_data()
print('{}, {}, {} {}'.format(*data)
Аноним 07/03/21 Вск 15:41:28 1959870211
>>1959866
def get_data():
__val = input()
__val = val.split(',')
__if len(val) != 3:
____print('fuck you nigger')
____return get_data()
__money = val[2].split('.')
__if len(money) == 2:
____return val[:2] + money
__print('fuck you')
__return get_data()

n = input()
try:
__n = int(n)
except ValueError:
__print('fuck you nigger')
__exit(0)

assert n > 0

l = []
for i in range(n):
__data = get_data()
__print('{}, {}, {} {}'.format(*data)
Аноним 07/03/21 Вск 17:37:23 1959949212
Screenshot 2021[...].png 19Кб, 742x182
742x182
Как проитерироваться через лист чтобы вытащить индексы по правилу от первого 0 до последней единицы в последовательности(сорян за кривое объяснение в скрине вторая строка, это что я хочу получить, палочками отделил нужные последовательности).

Аноним 07/03/21 Вск 18:04:57 1959989213
While круче for?
Аноним 07/03/21 Вск 18:05:39 1959993214
Аноним 07/03/21 Вск 18:05:57 1959995215
Аноним 07/03/21 Вск 18:28:09 1960022216
Аноним 07/03/21 Вск 18:35:30 1960030217
>>1960022
Спасибо большое анонче. А то я весь вечер гадаю как это сделать.
Аноним 07/03/21 Вск 19:07:59 1960082218
>>1959729
pizda = ["3",
"YKW89OEOCITYODO,2018-07-24T14:40,1000.00",
"XMV928G6WUX582L,2020-09-09T06:45,9500.30",
"0PEZX4TUY3I4ZRZ,2018-03-31T04:33,5320.45"]

def dzhigurda(stroka):
parsed_stroka = stroka.split(',')
if len(parsed_stroka) < 3:
return
print(f'Nomer bronirovania {parsed_stroka[0]}, zabronirovan {parsed_stroka[1]}, cena {parsed_stroka[2]}')

for hui in pizda:
dzhigurda(hui)
Аноним 07/03/21 Вск 19:25:08 1960107219
>>1959863
> типизация в ноде строгая
Кого ты хочешь наебать? Нода это обычный жс в котором стройгой типизации отродясь не было. есть всякие тайпскрипты, но это другое. Тайп скрипт компилится в нетипизированый жс.
> Какие могут быть причины связанные с устройством языка
Во-первых, читаемость. В питоне отступы это часть синтаксиса и просто бегло взглянув на код можно понять где что находится. ЖС это ехал калбек через калбек и все это в одну строку. да, не все пишут как мудаки, но сам язык никак это не регулирует. Так что в код каждой библиотеки будешь вчитываться как в первый раз.
Во-вторых, сложность анализа чужого кода. Тебе придется рано или поздно лезть в код библиотеки что бы понять какого хуя происходит. Библиотек дохуя, а документации нихуя. В жс это особенно выражено по моему личному опыту. И если ide типа пучарма как то пытаются найти откуда взялся этот класс или функция и предложат на выбор несколько мест. То в жс текстовый поиск твой лучштй друг. Импорт это просто текстовая строка котопрую нода переваривает внутри себя. Оно импортируется и рабоатет, но не факт что текстовый поиск найдт откуда она взялась.
В-третьих, отсутствие обратной совместимости. Питон можно обновлять спокойно и быть увепеным, что код для 3.5 запустится на 3.9 Ноду тебе придется откатывать. Ты сидишь на своей 12 и никого не трогаешь, но потом нужная тебе библиотека говорит что ей нужна от 10 до 11.

> А так же как вы думаете стоит ли свитчиться на жс?
Это путь в один конец. Люди которые начинали с ноды потом очень хуево пишут на нормлаьных ЯП. мы уже от двух таких на работе избавились.
Но решать конечно тебе.
Аноним 07/03/21 Вск 19:58:20 1960161220
>>1959863
>Какие могут быть причины связанные с устройством языка, чтобы выбрать python или node,
Сама нода хороша, по некоторым моментам удобнее питона, часто быстрее, но JS слишком убог и крив, ни в какое сравнение с питоном не идёт.

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

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

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

Вообще очень много всего такого.

Питон как язык программирования несопоставимо лучше JS.

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

Правда с нодой тоже не так просто, потому что её делали по принципу callback based, а сейчас стандарт это async/await. В JS с этим нормально, но проблема в том, что ключевые либы всё-таки в старом стиле сделаны.
Аноним 07/03/21 Вск 20:01:55 1960170221
>>1960107
>Питон можно обновлять спокойно и быть увепеным, что код для 3.5 запустится на 3.9
Ну нет всё-таки. Как и в ноде, всё зависит от конкретных либ.

В случае либ на базе asyncio, там довольно много фич с depricated поведением, про которые сказано, что из выпиливают с версии 3.5-3.8-3.9-3.10 и т.п.

А область применения ноды как раз пересекается с питоном по asyncio.

Пишу и на ноде, и на питоне.
Аноним 07/03/21 Вск 22:13:29 1960271222
>>1960161
Типо питон медленнее переключает задачи асинхронные? Вроде и там и там асинхронноть на генераторах сделана, непонятно тогда почему так, бенчмарков не нашел никаких, если у тебя есть, то скинь.
>Ноду используют для сервисов на серверах.
Неужели эта скорость настолько критична? Тогда что остается питону из бека, если не сервисы
Аноним 07/03/21 Вск 22:29:35 1960278223
Аноны, какого хуя в pyqt не работает драгндроп изображений? Текст перетаскивает, изображения нет.
Сначала подсмотрел способ тут:
https://learndataanalysis.org/how-to-implement-image-drag-and-drop-feature-pyqt5-tutorial/, потом скопировал полностью, но один хер.
Менял hasImage() на hasFormat('image/*'), тоже ничего.
мб есть что-то более вменяемое, чем qt-высер, потому что это просто, блять, акт поедания говна
Аноним 07/03/21 Вск 22:38:37 1960286224
>>1960161
https://www.techempower.com/benchmarks/
Хз что это за бенчмарки, но судя по ним у питона совсем все грустно(
И ведь действительно, если важна скорость переключения задач, то может вообще писать с++ каком-нибудь, чтобы была прям максимальная производительность
как открыть ебучий IDLE из командной строки? Аноним 07/03/21 Вск 22:59:35 1960316225
Суть такова, что нужно установить python на несколько машин и тратить время на поиск и создание ярлыка для стандартной IDLE попросту нет. Как известно процесс стандартной оболочки идет под именем pythonw.exe. Вбиваю в cmd это и...нихуя! В чем дело блять? Любая другая залупа всегда открывается через win-r + выполнить, но не IDLE. В чем может быть дело???
Аноним 07/03/21 Вск 23:01:30 1960318226
Не хочу набрасывать, правда интересно. Как пишут сложные вещи на Питоне? Со сложной иерархией и все такое. Просто не понимаю, вот например: реализую какой-нибудь лисенер, в него падают различные обьекты. Явных типов нет, так что для того, чтобы понять что это за обьекты, что в них надо подергать - надо лезть в кишки или в доку, потому что в обьектах( да и сами обьекты) может быть что угодно. Может прилететь обьект-носорог, а может гироскутер - делай с этим что хочешь. Например в тех же строгих языках вроде джавы все сразу ясно - вот описан в параметре носорог, будем работать с носорогами.
Аноним 07/03/21 Вск 23:24:19 1960342227
>>1960286
>Хз что это за бенчмарки, но судя по ним у питона совсем все грустно
Эти тесты в основном слишком синтетические и некорректные. Там какие-нибудь примитивные запросы используются, одни фреймворки только примитивные запросы и умеют, другие ориентированы на сложные, там ещё может быть куча middleware запускаться по-умолчанию, которые не используются, и которые можно в принципе выпилить при желании и тем самым сильно ускорить. Ещё нюансы вроде кеширования накладываются и т.п.

>>1960286
>И ведь действительно, если важна скорость переключения задач
У питона очень дорогая операция по переключению задач в asyncio, вообще асинхронность недостаточно в движке поддержана, слишком тяжёлый код крутится чисто питоновский. uvloop не то, чтобы радикально этот момент решал. pypy может быстрее работать, но он опаздывает с поддержкой версий и не все важные библиотеки под него портированы.

Нода быстрее, но там, кстати, в коробке много чего нет, что есть в питоне. Банально нет очередей или аналогов даже, это уж совсем абсурд какой-то.

Быстрый go, он как раз вот на такие задачи заточен, но уж слишком low level.
Аноним 07/03/21 Вск 23:30:56 1960345228
>>1960318
> Например в тех же строгих языках вроде джавы все сразу ясно - вот описан в параметре носорог, будем работать с носорогами.
Зато не можешь в одном словаре хранить и носорогов, и гироскутеры одновременно.

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

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

От простых ошибок, если ты вместо объекта возвращаешь список объектов, или не учёл, что может быть объект, а может быть None, полноценно защищает typing.
Аноним 07/03/21 Вск 23:58:36 1960358229
>>1960345
Я вот кстати наоброт не понимаю темы с типизацией, в питоне она благо строгая, но если у тебя есть метод или функция, то ты сначала читаешь что в нее нужно передать, если нужно передать инт, то как ты можешь туда словарь запихнуть непонятно, насколько сложным должно быть приложение, чтобы в параметр типа time_stamp передать строку и потом жаловаться на питон
Аноним 08/03/21 Пнд 01:14:05 1960374230
Джангисты, хелп, мне нужно вместе с джангой включать отдельную программу, а в ней я бы хотел просто использовать модели из джанго орм, но когда пытаюсь имортить их, то все идет по пизде, как это можно реализовать, просто импортить наверное плохое решение, ибо там луп бесконечный, тредить или мультипроцессить я не хочу и думаю это плохая идея, как быть, выручайте
Аноним 08/03/21 Пнд 01:15:56 1960375231
>>1960358
> в питоне она благо строгая
Где вы этих сказок наслушались?
Допустим есть код:
a = 1
a = 'one'

В питоне он отработает без ошибок и переменная будет иметь тип str
Но попробуй тоже самое сделать в строго типизированном языке и получишь ошибку.
> но если у тебя есть метод или функция, то ты сначала читаешь что в нее нужно передать, если нужно передать инт, то как ты можешь туда словарь запихнуть непонятно
Смотри пример выше. Просто берешь и пихаешь. Питон не компилируемый язык и компилятор тебе ошибку не подсветит. Есть плагины, которые при написании кода в фоне пытаются его скопмилить и вот они уже подсвечивают ошибки. Но это все костыли. Сам язык слишком гибкий и позволяет жанглировать типами. По сути все объекты в питоне это просто указатели на память. А вот уже у того что там лежит есть тип. Но передаешь ты именно ссылку.
Аноним 08/03/21 Пнд 01:17:38 1960376232
>>1960374
Нихуя непонятно что ты хочешь. тебе нужна просто орм как в джанге потому что джангу ты использовать не собираешся вообще? Или тебе параллельно с работающей джангой нужно иметь возможность шатать базу?
Аноним 08/03/21 Пнд 01:40:05 1960382233
>>1960376
2-е надо, уже нашел решение вроде как, создал свою команду для manage.py и если ее писать, то запускается отдельное приложение, которое вроде может юзать орм
Аноним 08/03/21 Пнд 01:42:56 1960384234
>>1960375
Так это другое вроде, я, конечно, не эхсперт, но питон в отличии от жса не позволяет неявно преобразовывать типы, типа "one"+int(1) получишь ошибку, надо сначала поменять тип переменной, это ведь строгость, зато она неявная и поэтому можно писать a = "foo" a = 1
Аноним 08/03/21 Пнд 01:49:33 1960386235
>>1960382
Нахуя тебе mange.py? Какую хуйню ты творишь? Просто импортируй в скрипт модели и саму джангу. Выполни в первых строках django.setup() и дальше работай с моделями как в джанге.
Аноним 08/03/21 Пнд 01:52:32 1960387236
>>1960384
Строго типизированный язык требует что бы ты указал сначала какого типа переменная, а уже потом присваивал ей значение. Питон этого не тебует.
Аноним 08/03/21 Пнд 01:56:05 1960390237
>>1960375
>В питоне он отработает без ошибок и переменная будет иметь тип str
>Но попробуй тоже самое сделать в строго типизированном языке и получишь ошибку.
Если у тебя такие ошибки, то это исключительно твои проблемы. В своём типизированном коде ты сделаешь
a = 1
...
a = 2
и получишь ошибку, потому что будешь думать, что у тебя a=1. Или там у тебя разные области видимости.

Типизация тебя не спасёт никак.

Если у тебя ОО программа, то ты легко можешь словить ошибку типа, когда у тебя функция может возвращать разные объекты, возвращает их класс-родитель, но ты ждёшь наследника другого типа. Один-в-один ситуация, как в питоне, просто в питоне ты object ловишь.

>Есть плагины, которые при написании кода в фоне пытаются его скопмилить и вот они уже подсвечивают ошибки. Но это все костыли.
Это позволяет избавиться от большинства ошибок. Например, если ты возвращаешь строку '1', а не число 1, то это отловится на ура. Это не плагины, а специальные модули вроде mypy. Более частая история, это когда у тебя функция может вернуть объект, а может None, но ты этого не учёл. Вот на раз ошибка будет обнаружена, что твой код ситуацию не обрабатывает. А в типизированных языках не всегда, кстати, потому что в таких случаях возвращают NULL, на который надо проверять явно, иначе segmentation fault. Довольно частая ведь история.

Статическая типизация страхует от примитивных ошибок, хотя нередких, но инструменты вроде typing с этим тоже справляются неплохо. Они же и документируют неплохо. Хотя неэстетичны в плане кода.

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

Серьёзный профит от статической типизации совсем в другом, не в ловле ошибок. Она в том, что позволяет оптимизировать код очень сильно. Сложить две переменные статического типа int, это классово другая история, чем применить операцию сложения к двум объектам типа int. В первом случае одна инструкция процессора и возможности для дополнительной оптимизации кода, во втором случае немеренный оверхед. Настолько дикий, что арифметика и байтовые операции могут работать в сотни раз дольше. Вот именно здесь критически важна статическая типизация. А никак не в ловле ошибок.
Аноним 08/03/21 Пнд 01:58:38 1960392238
>>1960386
Ну есть и этот способ видимо, у меня команда просто запускает main() и ебаться с конфигами не нужно
Аноним 08/03/21 Пнд 02:04:21 1960394239
>>1960387
Главная разница в том, что в статическом случае компилятор знает, какой тип, и делает соответствующий машинный код. Там другой тип поставить невозможно, и работает это быстро.

В динамическом проверка проводится runtime, машина лезет в объект, видит, какой-там тип, и применяет операцию к этому типу. Классический полиморфизм, классическое ООП прямо на самом базовом уровне.

Самая главная проблема в том, что это дико накладно. Всё остальное не проблема.
Аноним 08/03/21 Пнд 02:12:37 1960400240
>>1960390
> Серьёзный профит от статической типизации совсем в другом, не в ловле ошибок
Уже именно в ловле ошибок. Потому что люди на работу приходят с таким минимальным набором заний, что вся надежда только на IDE и ее встроенные првоерки. Если вы пошли работать в питон, то это уже не про скорость работы программы. Это про скорость разработки. Во всяком случае у нас так.
Аноним 08/03/21 Пнд 02:17:40 1960402241
>>1960387
Ору, только что пытлася писать что какой дурак не поймет что передавать в функции и т.д и сейчас фиксил минут 15 баг в асинхронном скрипте, который не писал ошибку, пока я try except не поставил и не увидел что у меня почему-то строка передается, а не инт
Аноним 08/03/21 Пнд 02:55:00 1960413242
>>1960278
Сделал то, что требовалось, на Kivy, столкнулся лишь с проблемой пермишнов на винде, которая фиксится принудительным запуском в нормал моде. Если найдется знаток pyqt, пусть объяснит, собственно, какого хуя нельзя реализовать примитивный функционал без сеанса копрофагии.
Аноним 08/03/21 Пнд 03:40:44 1960421243
241775738.png 162Кб, 1000x930
1000x930
Просто пришёл похвалиться. 16 часов непрерывной работы сегодня, и я сделяль
Аноним 08/03/21 Пнд 07:48:11 1960433244
>>1960278
Эх, года 2 назад спросил бы и я тебе прям код принес, а сейчас уже хуй найду. Но делал, да.
Аноним 08/03/21 Пнд 11:01:47 1960491245
>>1960421
ты псих? и что сделал?
Аноним 08/03/21 Пнд 11:29:29 1960502246
как открыть ебучий IDLE из командной строки?
Суть такова, что нужно установить python на несколько машин и тратить время на поиск и создание ярлыка для стандартной IDLE попросту нет. Как известно процесс стандартной оболочки идет под именем pythonw.exe. Вбиваю в cmd это и...нихуя! В чем дело блять? Любая другая залупа всегда открывается через win-r + выполнить, но не IDLE. В чем может быть дело???
Аноним 08/03/21 Пнд 13:50:44 1960593247
>>1960502
У меня так прописано.
C:\Python37\pythonw.exe "C:\Python37\Lib\idlelib\idle.pyw"
Аноним 08/03/21 Пнд 14:32:10 1960651248
>>1960593
Как запустить без предвратильного указания направления?. Без слешов. Как оперу или хром
Аноним 08/03/21 Пнд 14:49:32 1960688249
>>1960651
Подозреваю, что можно замутить однострочник на самом питоне для этого, но мне лень.
Аноним 08/03/21 Пнд 14:49:39 1960689250
>>1960345
>>Зато не можешь в одном словаре хранить и носорогов, и >>гироскутеры одновременно.

Могу, никто не мешает в дженерик Object сунуть. Другой вопрос что это будет плохой код в большинстве случаев. Опять же есть PECS(<? super T>, <? extends T>) .

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

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

Это будет не какая-то хрень, а базовый тип. Который, скорее всего, позволит мне сделать все то, что я хочу сделать(если абстракция хорошая). Если нет - ну буду приводить, куда деваться. И с виду это лучше, чем попытаться дернуть поле и не получить его, потому что обьект тот, кек.
Аноним 08/03/21 Пнд 16:04:41 1960808251
всем привет, хочу вкатиться в питон, чтобы с помощью него вкатиться в сэб(джанго). наслышан о томе, что надо знать матан, диффуры, интегралы и вот это вот всё и только тогда ты поёмешь питон.
какие сложность будут в изучении у меня?
25 лет, знаю только верстку, чуть-чуть на базовом синтаксисе пыху и сам по себе не тупой васян. туповатый слегка, но не тупой.
Аноним 08/03/21 Пнд 16:10:21 1960821252
>>1960808
> наслышан о томе, что надо знать матан, диффуры, интегралы и вот это вот всё и только тогда ты поёмешь питон.
Тебе напиздили. Вообще ничего знать не нужно.
> какие сложность будут в изучении у меня?
Если вместо того что бы почитать что такое джанга, ты постишся на дваче у тебя уже проблемы с поиском источников информации.
Аноним 08/03/21 Пнд 16:12:36 1960833253
>>1960808
Умеешь в столбик делать арифметические операции?
А то надо быстро роуты считать в джанге.
Аноним 08/03/21 Пнд 16:52:32 1960967254
>>1960821
Спасибо за ответ!
Я знаю, что это за фреймворк и для чего он нужен. Просто я сторонник того, что для начала надо выучить язык достаточно хорошо, а только потом садиться за фрейм.
Но всё равно, благодарен за ответ тебе
Аноним 08/03/21 Пнд 17:20:23 1961031255
>>1960967
Есть всего один способ выучить язык - это сесть и начать на нем писать. Не эти ваши псевдокурсы, а реальную программу у которой может быть релаьное применение. даже если это применение нужно только тебе. Проэтому садись и пиши.
Аноним 08/03/21 Пнд 17:31:26 1961056256
>>1960433
Ради любопытства дожал pyqt и выяснилось, что нужно либо использовать hasUrls(), чтобы не было привязки к типу данных, либо вешать setAcceptDrops на мэйн виджет после инстанциирования. Киви понравился мне больше - видно, что документацию писали нормальные люди для людей.
Аноним 08/03/21 Пнд 17:40:48 1961081257
Кто-нибудь делал такую штуку как proxy объекты?

Есть некое устройство с описанными методами:
чтение/запись, для него возможно создать несколько вариантов реализации Serial или Usb, хочу инкапусулировать логику по выполнению команд (вынесены в DeviceProtocol):
типо:
class DeviceProto:
proxy = DeviceProxy()

proxy.write(b'\x01\x02')

Но потом при реализации мне надо подменить proxy реализацией.
Аноним 08/03/21 Пнд 18:50:37 1961198258
>>1954138 (OP)
Значит так, есть две кнопки: одна запускает цикл с мониторингом сайта, а другая по идее должна убивать его нахуй, как реализовать? Пишу примитивного бота, используя aiogram, спасибо
Аноним 08/03/21 Пнд 20:03:40 1961378259
>>1961198
Ну раз бот простой


бежать = ложь

def нажать_кнопка()
global бежать
if бежать == истина:
бежать = ложь
if бежать == ложь:
бежать = истина

покуда:
if бежать == ложь
sys.выход()
if бежать== истина
распечатать('текст')
Аноним 08/03/21 Пнд 20:37:43 1961427260
Можно как-то значения из метода одного класса передать в метод другого класса? Решил обернуть свою программу в PyQt5, а там оказывается при запуске моего цикла дохнет цикл интерфейса. А если подключать QThread, то он в отдельном классе и хуй передашь переменные введенные в окне. НУ ЙОБАНАРОТ.
https://pastebin.com/8cPUgrfk
Аноним 08/03/21 Пнд 20:44:07 1961430261
>>1958755
Это короче та хуйня с импортами, когда пукчарм путается в относительных и абсолютных импортах и светит красным абсолютный импорт?
Аноним 08/03/21 Пнд 20:44:31 1961431262
Как же сложно оценить производительность, я думал запросов 10/сек это уже небольшая нагрузка на программу, которая должна делать запросы, хранить все в памяти, делать вызовы и работать с бд, по итогу все делается идеально и потребляет всего 1-3% от цпу/озу на моем некрокомпе, расскажите сколько запросов может выдерживать средний впс?
Аноним 08/03/21 Пнд 20:49:31 1961435263
>>1961430
Да я уже там запутался, точно помню что есть структура name1/name1/name2/script.py и пучарм не хочет импортить from name1.name2.script, подчеркивает коасным, но запускается, но если поменять на from name1.name1.name2.script, то пучарм скажет все окей, маладца, а питон уже пошлет нахуй. А еще есть релятивные импорты из-за которых отдельный файл джанги не запустишь, а с обычным нерелятивным импортом не запустится уже джанга. Импорты вроде и удобные, но с ними энивей так много ебли, когда вообще в питоне не понимал это вообще ад
Аноним 08/03/21 Пнд 20:51:15 1961437264
>>1960688
>>1960502
Надо добавить соответствующие пути в системную переменную path, в ней содержатся пути, по которым система ведет поиск, когда ты забиваешь команды без полного пути
Аноним 08/03/21 Пнд 20:59:50 1961452265
>>1960375
> > в питоне она благо строгая
> Где вы этих сказок наслушались?
> Допустим есть код:
> a = 1
> a = 'one'
> В питоне он отработает без ошибок и переменная будет иметь тип str
> Но попробуй тоже самое сделать в строго типизированном языке и получишь ошибку.
И как из этого следует, что язык не строго типизированный? Динамическая типизация о том, какой тип данных можно положить в переменную. Строгая типизация о том, как в процессе работы с типами данных они могут измениться. Ты тёплое с мягким путаешь.
Аноним 08/03/21 Пнд 21:04:23 1961456266
>>1961452
Нет, он не путает вроде, сам перечитал вчера, есть явная/неявная, сильная/слабая, статическая/динамичная, я так полагаю что строгой называют просто явную сильную статическую типизацию, как в с++ вроде, а в питоне она динамическая и неявная, поэтому ее не называют строгой я так полагаю
Аноним 08/03/21 Пнд 21:13:14 1961461267
>>1961435
Да не, с импортами в питоне все просто, когда разберёшься))) Есть два типа импорта — относительный и абсолютный. Абсолютный импорт идет относительно точки входа программы, а относительный импорт идет относительно файла, в котором он используется. Если на примере, то будет так:
tochka_vhoda.py
papka1
---file1.py
---papka2
------file2.py

И если ты в tochka_vhoda.py импортишь file1, то будет import papka1.file1
Если в tochka_vhoda.py импортишь file2, то будет import papka1.papka2.file2
Если из file1 импортишь file2, то будет уже import .papka2.file2
То есть, добавляешь точку, показывая, что импорт относительный. Если импортишь вверху относительно, к примеру, из file2 импортишь file1, то будет import ..file1
Но главная проблема в том, когда тебе надо из file2 импортить что-то из tochka_vhoda.py Это кажется кривым, пока не оказывается, что импортить относительно нельзя не только из самой точки входа, но и из всего, что находится в одной папке с ней. А сюрприз-сюрприз в джанго файл мэнэдж находится на одном уровне с приложениями. И импортить что-то из одного в другое каждый раз пиздец геморрой. И отображение таких финтов в пукчарм каждый раз идет с ошибкой
Аноним 08/03/21 Пнд 21:14:25 1961463268
>>1961456
> Нет, он не путает вроде, сам перечитал вчера, есть явная/неявная, сильная/слабая, статическая/динамичная
> я так полагаю что строгой называют просто явную сильную статическую типизацию, как в с++ вроде
> строгой как в с++
Сходи перечитай еще раз
Аноним 08/03/21 Пнд 21:23:32 1961467269
Посаны, вопрос такой. Я только недавно вкатился, знания хуевые. Написал пару штук по работе, рутинные задачи оптимизировал, подключение по http, получение данных, загрузка их в пандас и это все прочее говно. Тут мне более менее все понятно.
Сейчас хочу по работу написать тестирование, где люди будут на вопросики всякие отвечать.
Допустим беру я django,ide pycharm, так как js не знаю и ебаться сильно пока с ним не хочу беру bootstrap. БД юзаю сейчас postgresql (хотя это уже особо не важно).
Вопрос какой - средств django и bootstrap мне хватит чтобы тестирование на вебе сделать? Я просто пока не до конца понимаю как это реализовать. Человек выбирает категорию, ему подтягиваются вопросы бд, выводятся, он жмякает, передает данные на бэк. Опять же представляю все это пока примерно, но сдается мне, что скорее всего без js я не обойдусь?
Аноним 08/03/21 Пнд 21:27:50 1961472270
>>1961467
В джанго есть шаблоны жинжа2АРЯЯ ЭТО ШАБЛОНЫ ДЖАНГО А НЕ ЖИНЖА ТВЕРДО И ЧЕТКО. Тебе хватит с головой, если не собираешься что-то прям невероятное мутить на фронте. И даже если соберешься, то в шаблоны можно подтянуть рякт и запихнуть в статикфайлы. Джанго это же комбайн, там все что угодно можно намутить
Аноним 08/03/21 Пнд 21:42:54 1961479271
Аноним 08/03/21 Пнд 23:09:07 1961519272
>>1961056
Окей, антош.
Пояснишь за киви? Как дезигн делал? Как код проекта получился, не перегружен ли? Доки киви шагнули вперёд, за последние года 2-3? Получилось замутить исполняемый файл для линупса/винды?
КуТэ-кун
Аноним 08/03/21 Пнд 23:45:37 1961527273
>>1961519
Ты прямо работаешь на qt? Мне показалось, что python+qt совсем мертвая связка в плане вакансий.
Аноним 09/03/21 Втр 00:14:14 1961534274
>>1961431
Берешь и тестишь на впс. Можешь танком пострелять. Кто знает какое железо у тебя там, выделенный или делит с другими железо, есть ли лимиты.
Аноним 09/03/21 Втр 00:50:01 1961543275
>>1961534
Не, это понятно, я про мое представление, мой мозг не осознает что даже посредственный процессор может выполнять тысячи операций в секунду
Аноним 09/03/21 Втр 02:03:00 1961572276
>>1954138 (OP)
Сап, програч. Я сам студент-биолог, хочу узнать о применении питона в моей сфере - я слышал, что это полезно дохуя для матанализа. Буду рад как кратким ответам, так и ссылкам на литературу по теме (если такое вообще есть).
Аноним 09/03/21 Втр 04:03:15 1961597277
>>1961543
Это всё зависит от конкретных запросов. Ты можешь быть неприятно удивлён, когда сначала читаешь статьи, как сервер БД разогнали до миллиона запросов в секунду, а у тебя начинаются проблемы на 100 запросах в секунду, причём не то, чтобы сложных.

Не всё так просто в общем.
Аноним 09/03/21 Втр 04:07:56 1961599278
>>1961467
Bootstrap не нужен и вообще лучше забудь про него. Js не очень нужен, можно обойтись, на первых порах точно.

То, что тебе нужно, разбирается в официальной документации джанго, там есть демо-приложение с голосовалкой, с последовательным разбором от и до.
Аноним 09/03/21 Втр 10:30:10 1961654279
Как прописывать путь к файлу, который нужно открыть? Понятно, что есть open. Но не понимаю, почему в одних случаях он открывает файл без расписывания путей со слешами, а в другом он требуется. Как файл исполнения с прописанным путем будет выглядеть?
Аноним 09/03/21 Втр 10:39:36 1961658280
>>1958404
>процессы-воркеры берут задания из сервиса по обмену сообщениями, вроде раббита, считают, заносят результат в базу.
А разве celery делает по-другому?
>>1958441
Ты каждый раз собираешь пересчитывать таймеры, если что-то пойдет не так? У тебя вроде тарифы уровня "n запросов в час", у celery есть rate limit на каждый воркер, правда, не знаю насколько гибкие настройки, но может cгодится.
>>1958524
Это я не у тебя спрашивал. Тебе я скинул пример теста.
>>1960382
Нормально сделал, management command вполне себе решение.

Аноним 09/03/21 Втр 10:42:10 1961659281
>>1961654
Просто в одном случае файл лежит рядос со скриптом, который его читает. а в другом он лежит по другому пути.
Алсо, не забывай про текущую директорию.
Аноним 09/03/21 Втр 11:13:32 1961672282
>>1961654
Бля ну загугли "относительный и абсолютный путь к файлу"
Че за Аноним 09/03/21 Втр 12:02:10 1961692283
Скриншот 09-03-[...].png 14Кб, 508x541
508x541
Короче говоря, учусь по учебнику ''Укус Питона'' от индуса. Это преамбула.
Пока все было норм, но сейчас дошел до этого кода, который буквально напечатан в учебнике:

from math import *
n = input("введите диапазоны:- ")
p = [2,3]
count = 2
a = 5
while (count < n):
b=0
for i in range(2,a):
if( i <= sqrt(a)):
if(a % i == 0):
print("a neprost",a)
b = 1
else:
pass
if (b != 1):
print("a prost",a)
p = p + [a]
count = count + 1
a = a + 2
print (p)


При инпуте выдает:
Traceback (most recent call last):
File "C:/Users/username/AppData/Local/Programs/Python/Python38-32/EEE.py", line 6, in <module>
while (count < n):
TypeError: '<' not supported between instances of 'int' and 'str'

Аноним 09/03/21 Втр 12:07:31 1961699284
>>1961692
input всегда все воспринимает как строку. Переведи в int принудительно. Записывается так -- int(input())
Аноним 09/03/21 Втр 12:11:19 1961701285
>>1961692
Хуевая книжка.
import *
скобки в условиях
else: pass, што?

В печку это говно.
Аноним 09/03/21 Втр 12:20:15 1961707286
>>1961699
Спс. Я че-то забыл, что input про литералы.
Все равно хз зачем такой косяк допущен. Или это переводчик, или автор-индус. Кто знает
Аноним 09/03/21 Втр 12:48:24 1961733287
>>1961692
Ок, я понимаю, что в крестах бывают ошибки непонятные и без трейсбека. Здесь тебе, тварь, и строку и человеческий текст ошибки написали.
Аноним 09/03/21 Втр 12:51:12 1961734288
>>1961733
Очень ''понятно'' расписана ошибка, да.
Аноним 09/03/21 Втр 12:51:40 1961735289
>>1961734
нельзя сравнит число и строку. Пиздец как непонятно.
Аноним 09/03/21 Втр 13:10:28 1961743290
>>1961735
Там нет int, cмотри внимательнее. Только input
Аноним 09/03/21 Втр 13:27:25 1961748291
>>1961692
Поясните за первую строчку с импорт маф. Я так понял, что это было сделано для того, чтобы юзать свирт (sqrt)?
Аноним 09/03/21 Втр 13:31:59 1961752292
>>1961748
Импорт маш чтобы юзать сквирт?
Аноним 09/03/21 Втр 13:38:15 1961756293
>>1961748
Бля, импорты это единственная часть питона, за которую нужно сесть и пару часов потратить вплотную на изучение, вчитываясь в каждое слово и разбирая каждый пример+прогоняю свои тестовые скрипты. Так на пальцах не расскажешь
Аноним 09/03/21 Втр 13:44:11 1961760294
>>1961743
count - int
n - str
Ты решил тупостью одолеть?
Аноним 09/03/21 Втр 14:41:53 1961843295
>>1961748
Чтоб когда тянке показал код, она сквирт делала
Аноним 09/03/21 Втр 15:32:21 1961892296
Есть некий проект. Если ошибка есть, то она отлавливается и отдается нужное сообщение.
Как сделать глобальный отловщик ошибок для лога?
sys.exc_info() уже пустой на момент, когда доходит обработка логгера.
Аноним 09/03/21 Втр 15:43:57 1961902297
cheers.png 91Кб, 323x254
323x254
>>1961692
Кто-нибудь объяснит, как работает эта функция при n = 6?
Аноним 09/03/21 Втр 15:44:21 1961903298
Че из годного сейчас посоветуете учить новичку?
Из ОПа кажись устарело по интернет магазинам довольно много новых но какой из них годняк? Пасиб
Аноним 09/03/21 Втр 17:16:04 1962034299
>>1961692
Не понимаю, или ты тонкий тролль, или действительно есть книжка, которая такой лютый пиздец в каждой строчке. Но я пока таких книжек не встречал. Обычно если кто-то в состоянии собрать книжку, а не вводную статью на форуме, то такого пиздеца уже не делает.
Аноним 09/03/21 Втр 17:25:20 1962047300
Вопрос, наверное, больше по VS Code, но попробую спросить тут.
Я создал абстрактный класс с абстрактными методами. Как сделать так, чтобы при наследовании от него, ИДЕ мне подсказывала, что я еще не реализовал абстрактные методы? Может в докстрингах где-то такое прописывается? Когда учил Яву, и Эклипс, и Нетбинс выдавали предупреждение об этом.
Аноним 09/03/21 Втр 17:35:29 1962069301
>>1961903
В телеге есть годный канал python_textbooks с сотнями книг. Качай, листай, может что-нибудь да зацепит.
Аноним 09/03/21 Втр 17:44:25 1962083302
Screenshot 2021[...].png 220Кб, 1302x1504
1302x1504
Как блджат вызывать генератор в классе?
Хочу генерить порядковый айди на генераторе в классе. (понимаю что можно и без генератора в этом случае Хотя понял только когда начал писать этот пост, лол)

Но я хочу понять как реализовать это на генераторе

Всякие варианты перепробовал. Нихрена не выходит. На тебя надежда анончик.

вот кот
https://ideone.com/cvD0gS
Аноним 09/03/21 Втр 18:06:20 1962102303
Аноним 09/03/21 Втр 18:10:50 1962110304
>>1962102
Ёшкин кот, точно же! Собсем тупой я. Спасибо!
Аноним 09/03/21 Втр 18:38:04 1962121305
>>1961572
Есть много программ для биологии и анализа, я видел под линукс точно несколько, погугли их сначала, там всякая визуализация прцессов и графиков, большая часть на питоне написана, если знаешь питон, то свою сможешь написать, но есть и готовые программы\модули, конкретно ничго сказать на вскидку не могу
Аноним 09/03/21 Втр 19:25:43 1962158306
>>1961519
>Как дезигн делал? Как код проекта получился, не перегружен ли?
Всё в коде, базовая декомпозиция + кастомные виджеты, если нужно особое поведение, общие функции вынесены в отдельный модуль. В таком небольшом проекте перегружать его просто нечем.
>Доки киви шагнули вперёд, за последние года 2-3?
Без понятия, но если сравнивать с qt, тут я открыл их и с первого раза сделал всё, что было нужно. Если не считать заёбы с пермишнами винды.
>Получилось замутить исполняемый файл для линупса/винды?
Собрал для винды через pyinstaller, но из-за версии 3.9 нет возможности сделать один файл, т.к. он теряет dll-файлы, поэтому приходится собирать папку и кидать их туда самому.
Аноним 09/03/21 Втр 22:00:37 1962343307
cookiefuckup.png 16Кб, 1892x153
1892x153
Салам, братишки. Flask обезьяна на проводе.
Реализовал по мануалу remember_me функционал при входе на сайт строка в строку, но он сука такая не работает. Выдаёт ошибку, что на пике. С куками знаком чуть больше чем никак, поэтому тяжело осознать в чем пробоема. Вроде нагуглил, что необходимо переменную конфигурации приложения SERVER_NAME поставить явно и она должна содержать точки, для предупреждения каких-то там хуякерских аттак, и что имя сервера в одно слово типа localhost может не поддерживаться современными браузерами. Ну я сижу на PythonAnywhere и имя сервера установил соответствующее, с точками и поддоменом, а оно все равно не робит. Помогите, братцы, что нагуглил - не хватает знания предмета, чтобы извлечь профит. Если еще литературку подкините, где все разжевано, то вообще збс будет
Аноним 09/03/21 Втр 22:25:17 1962367308
Аноним 09/03/21 Втр 23:30:14 1962412309
>>1961658
Блин с таймерами как раз проблема, все идеально реализуемо и в луп добавляю корутины из другого треда и запросы асинхронные на тсп делаются и селери нормально все обрабатывает, но вот сейчас все думаю как переделывать при релоадах, у меня уже есть таблица со статусами каждого запроса(нужно для апи энивей), меняя статусы можно контролировать выполнение(когда приходит время выполнить корутину просто делаем запрос к бд и смотрим статус, если stopped, то просто не обрабатываем), сюда же остановка с помощью смены статуса, либо запуск заново. Видимо для релоадов надо так же таймстемп хранить в этой же таблице, а при запуске запускать просто сначала все корутины на каждую запись в бд, а потом начинать слушать брокер. Сейчас понял что я сделал create_or_update, но если за время пока запись ждет в корутине человек захочет остановить и запустить заново, то статус сменится на stopped, а потом на pending, поэтому одно и тоже обработается дважды, надо удалять запись и создавать, чтобы idшник менялся. Уф, чет из-за кучи всяких ограничений становится сложно все держать в голове, есть подсказка как такие алгоритмы взрослые дяди в голове держат, в каком формате записывают? А менеджер команд это просто бомба как по мне, почему-то особое удовольствие писать именно python3 manage.py scriptname
Аноним 10/03/21 Срд 01:06:09 1962466310
>>1961752
лол
>>1961748
звездочку юзать - дурной тон.
Это импорт всего говна разом
лучше импортировать конкретные методы которые ты собираешься использовать
ну или целиком модуль.
Аноним 10/03/21 Срд 02:33:09 1962491311
image.png 38Кб, 437x517
437x517
Анон, уже всю голову изъебал. Почему go_while не запускается?
Кое как разобрался с этими тредами, но нихуя не понимаю почему не работает метод go_while
https://pastebin.com/thwEsYE5
Аноним 10/03/21 Срд 07:14:51 1962529312
>>1961527
Нет, пилю свои проекты, если десктоп.
>>1962158
Понял.
Дезигн в отдельном файле или в коде тоже?
Аноним 10/03/21 Срд 07:26:33 1962530313
В коде все чётко выходит
Аноним 10/03/21 Срд 09:56:10 1962546314
>>1962491
Я в ваших qt не разбираюсь, но разве сигнал не должен быть вызван? emit() и все такое.
Аноним 10/03/21 Срд 10:34:56 1962570315
>>1961658
>Это я не у тебя спрашивал. Тебе я скинул пример теста.
Да, но тот тест не подходит братан.
Аноним 10/03/21 Срд 10:36:27 1962572316
Можно ли из пайчарма запускать докер на сервере чтобы там развернуть чистый питоном, создать там ритуальную среду для тестов И гонять это все на Джекинс. Если да, то как
Аноним 10/03/21 Срд 10:53:41 1962587317
>>1962570
Тебе же только оставалось пробросить юзера из фикстуры в тест, это пример и делает. Ну нет, так нет.
Аноним 10/03/21 Срд 11:30:45 1962618318
name на пальцах Аноним 10/03/21 Срд 11:39:18 1962623319
Кто может на пальцах объяснить, как работает переменная _name_ и для чего ее используют? Нихуя непонятно.
Аноним 10/03/21 Срд 12:00:14 1962624320
>>1962623
__name__ задается при загрузке твоего скрипта. Если это скрипт который ты непосредственно запустил (точка входа) то переменная будет равна __main__
Это можно использовать для тестов например. Если твой скрипт должен подгружаться в другом скрипте то ты можешь написать внизу if __name == '__main__': и после этого вызыватье го функции для проверки. Даже если этот код оставишь файле он никогда не выполнится если не запущен как отдельный файл.
Аноним 10/03/21 Срд 12:04:08 1962625321
>>1960286
>https://www.techempower.com/benchmarks/
Это там, где в топовом фреймворке на расте даже длина сообщения в ответе захардкожена и это считается нормой?
Аноним 10/03/21 Срд 13:05:11 1962662322
>>1962572
Вот же поколение, без пучарма ничего не может сделать
Аноним 10/03/21 Срд 13:34:31 1962681323
>>1962158
Лучше в отдельном файле конечно, при этом в дочернем классе - т.е. делать кастомный объект для каждого используемого виджета, в нём же создавать юзкейсы со стилем, поведением и жизненным циклом, дабы не плодить объекты лишний раз и переиспользовать, если нужно. А так, либо в коде с использованием style sheet'ов, либо в .kv файле, но мне нравится первый вариант.
Аноним 10/03/21 Срд 14:59:22 1962734324
Аноны,что не так?

при тестах такого вида:
class TestFactorize(unittest.TestCase):
>def test_many_multipliers(self):
>>>>>with self.SubTest():
>>>>>>>self.assertEqual(factorize(), ())
>>>>>>>>>with self.SubTest():
>>>>>>>>>>>self.assertEqual(factorize(), ()
выдается ошибка
AttributeError: 'TestFactorize' object has no attribute 'SubTest'
как исправить?
Аноним 10/03/21 Срд 15:22:27 1962756325
>>1962734
Создать объект SubTest перед тем как к нему обращаьтся
Аноним 10/03/21 Срд 15:33:02 1962767326
Screenshot - 20[...].png 14Кб, 841x198
841x198
>>1962756
поясни что ты имеешь ввиду?
я туда передаю все аргументы которые нужны.
например
with self.SubTest(x=x):
self.assertEqual(factorize(x), (x))
в примерах что я видел не создается ничего, вот пример из доков на пике

Аноним 10/03/21 Срд 15:44:48 1962780327
Аноним 10/03/21 Срд 15:49:31 1962786328
>>1962780
Блядь, уже заметил свой проёб, исправил.
пиздец, вот что копипаста делает.
первый раз написал с большой буквы и прокопипастил по коду.
Аноним 10/03/21 Срд 16:53:18 1962845329
>>1960342
Pypy уже 3.7 поддерживает. Возрадуемся, братья!
Аноним 10/03/21 Срд 17:02:40 1962853330
Подскажите, а как открыть файл на чтение и запись и без удаления всего, как в случаи с "w"
Я уже запутался в этих обозначениях
Аноним 10/03/21 Срд 17:16:46 1962866331
>>1962853
Если ты хочешь дописать, то это 'a'
Аноним 10/03/21 Срд 17:50:13 1962902332
Аноним 10/03/21 Срд 17:51:22 1962904333
Аноним 10/03/21 Срд 17:52:16 1962906334
Аноним 10/03/21 Срд 18:10:04 1962924335
>>1962906
Он разве работает на чтение?
Аноним 10/03/21 Срд 18:38:11 1962964336
Аноним 10/03/21 Срд 19:49:04 1963031337
>>1962964
Так там можно комбинировать, 'ar', 'xa', 'xab'. Если что. 'rta' открывает файл в стандартном режиме, как без параметра, только с возможностью дозаписи текста в конце.
Аноним 10/03/21 Срд 19:51:35 1963035338
>>1962587
Да, это было временное решение, все равно спасибо.
Аноним 10/03/21 Срд 19:52:22 1963038339
>>1962662
>>1962618
Хорошо. А как сделать без него? В терминале?
Аноним 10/03/21 Срд 20:08:02 1963073340
Аноним 10/03/21 Срд 21:13:09 1963143341
image.png 93Кб, 960x731
960x731
image.png 92Кб, 890x747
890x747
А почему так странно всё работает?
Если просто читаю файл и вывожу его, то получаю пикрил как и нужно
А если я перед этим устраиваю перебор файла, то при выводе я получаю пустоту.
Аноним 10/03/21 Срд 21:17:28 1963147342
>>1963143
Файл это итератор, по мере итерации он двигает указатель.
Можешь сделать file.seek(0) и подвинуть на начало.
Аноним 10/03/21 Срд 21:21:36 1963157343
>>1963147
Спасибо большое, всё работает
10/03/21 Срд 21:26:12 1963160344
>>1954773
Зачем эти ваши промежутки? Иди сразу на сеньора.
Аноним 10/03/21 Срд 22:28:22 1963225345
Посоветуйте пожалуйста наборы упражнений для практики. На кодворс или литкод. Может кто знает хорошие по нескольким темам или адаптивные.
Аноним 10/03/21 Срд 23:05:07 1963243346
>>1963225
Даю упражнения. Делаешь свою субд на основе json, с записью, чтением, удалением и т.д. Чтоб работать с ней могло сразу несколько пользователей. С механизмом блокировок, с экономной записью, с условием что бд может быть несколько гигов и читать всю в память не стоит.
Развлекайся. Это проще, чем кажется
Аноним 10/03/21 Срд 23:50:23 1963278347
>>1963243
Задача 2: переписываешь drf под работу со своей бд
Аноним 11/03/21 Чтв 02:22:48 1963323348
Ребятки, как убрать бекенд в селери, чтобы он не использовался и не требовался?
Аноним 11/03/21 Чтв 11:55:48 1963468349
Уже совсем отупел. Как добавить строку в список через запятую?
Т.е. есть строка через инпут ("rock,paper,water,fire")
А как её добавить в список, чтобы было так ['rock', 'paper', 'water', 'fire']
Аноним 11/03/21 Чтв 12:07:12 1963477350
>>1963468
я разобрался
я разобрался
Аноним 11/03/21 Чтв 12:14:36 1963483351
f2e520c4d97c5b9[...].jpg 17Кб, 300x180
300x180
Аноним 11/03/21 Чтв 12:24:26 1963492352
>>1963483
Вот так программисты и живут
Аноним 11/03/21 Чтв 13:52:27 1963559353
пацаны, я человек из мира гейдева
стоит ли в питон вкатываться? есть интересные задачи?
Аноним 11/03/21 Чтв 16:57:34 1963795354
>>1963559
Нет. Хочешь ml или сайты клепать - то да.
Аноним 11/03/21 Чтв 17:41:51 1963858355
>>1963795
видел, что много где хайлоад пишут на питоне
это же топ, не?
Аноним 11/03/21 Чтв 18:49:54 1963969356
>>1963858
Это где пишут? Хайлоад на питоне, это как тюнингованная девятка на автодроме: вроде и едет и даже не плохо, но чтоб с другими тягаться, придется постараться.
Аноним 11/03/21 Чтв 19:36:33 1964055357
Ребят, Django еще живой или концы отдал? Глянул вакансии (ДС) негусто вообще, зря я его учу получается?
Аноним 11/03/21 Чтв 19:38:13 1964059358
>>1963969
На хайлоаде C#/Java боссы качалки?
Аноним 11/03/21 Чтв 20:03:14 1964103359
>>1963969
да я в требованиях видел "опыт высоконагруженных" бла бла бла
короче из питона только в мл, да?
Аноним 11/03/21 Чтв 22:00:35 1964296360
>>1963969
купить 2 сервера вместо 1, сэкономишь на человекочасах
Аноним 11/03/21 Чтв 22:13:52 1964312361
>>1964296
ну в мэйле видел фразу "python" и "высоконагруженные" в одной вакансии
Аноним 11/03/21 Чтв 22:27:23 1964334362
>>1964055
Года 4 назад было норм, сейчас фласк предпочтительнее.
>>1964059
На хайлоаде perl же
Аноним 11/03/21 Чтв 22:29:13 1964335363
>>1964103
Да нет же. Говорю, ты можешь на питоне писать. Опыт высоконагруженных проектов не зависит от языка, а от правильного проектирования.
Аноним 11/03/21 Чтв 22:57:12 1964364364
>>1964335
>Опыт высоконагруженных проектов не зависит от языка, а от правильного проектирования.

Так тогда надо жс брать
Аноним 11/03/21 Чтв 23:37:06 1964412365
Аноним 11/03/21 Чтв 23:47:18 1964424366
Как установить силениум в пачарм Линукс минт
Аноним 12/03/21 Птн 00:27:59 1964461367
>>1964364
Он отчасти прав, потому что основная нагрузка идёт на всякие очереди и БД, и нужно с ними грамотно работать, грамотно хранить данные в приложении, и много чего ещё.

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

Настоящий хайлоад, где надо каждый такт процессора и каждый байт оптимизировать встречается очень редко.
Аноним 12/03/21 Птн 00:33:21 1964464368
>>1964364
>Так тогда надо жс брать
И не понятен снобизм по отношению к ЖС.

ЖС быстрый и подходит для нагруженных сервисов более-менее. Он просто очень грязный и неприятный.
Аноним 12/03/21 Птн 01:00:01 1964470369
Я уже наверное всех заебал, извините. Некуда больше идти.
Я настроил редис, могу подключаться, могу создавать пару ключ-значение на сервере, смотреть ее и удалить.
Теперь, мне нужно в имеющуюся фикстуру scope=class, которая принимает параметр request делает всякие настройки и yield, и затем request.cold.driver.quit()
Мне нужно в эту фикстуру дописать, чтобы переменные из этой фикстуры писались в редис сервер, потом проверились, после удалялись И печатали в stdout о результате.

Подскажите будьте любезны как такое выполнять?
Аноним 12/03/21 Птн 01:30:58 1964480370
>>1964470
Пиши нормально, что тебе нужно
Аноним 12/03/21 Птн 01:56:25 1964492371
поцоны, только не ссыте на ебальник плиз за такие вопросы
но оч нужно
какой-бы пет проект накатать, чтобы качнуться в backend разрабоке? асинхрощина там, fast api всякие
Хочу, шоб hrка от счастья заплакала а тимлид руку пожал, место свое бы предлогал, в щеки целовал бы
Аноним 12/03/21 Птн 02:00:32 1964493372
>>1964492
Предметную область выбери, которая тебя интересует, и сразу придумаешь проект.

А если тебя ничего предметного в этой жизни не интересует, то никакого пета ты и не запилишь, ибо участь твоя рабствовать на галере, а не созидать.
Аноним 12/03/21 Птн 02:02:06 1964494373
>>1964470
Сука, проиграл, уже недели две тебя вижу и мне все лень загуглить че такое фикстуры, я думаю остальным тоже, тебе точно эти фикстуры нужны, может более популярное решение стоит найти?
Аноним 12/03/21 Птн 02:05:32 1964495374
>>1964492
Да любую хуйню сделай, если асинхронщена нужна, то найди какой-нибудь сайт в котором часто данные обновляются и сделай какой-нибудь дашборд, hrки де вроде даже не поймут че ты сделал, а тимлидам расскажешь что использовал технологии
Аноним 12/03/21 Птн 02:08:08 1964496375
Мальчуганы, подскажите, стоит ли вкатываться в докер ради того чтобы 1 раз задеплоить приложение, я его почему-то боюсь как огня и постоянно откладываю, могу нахуивертить так что впску загублю? Много ли придется док прочитать перед деплоем?
Аноним 12/03/21 Птн 02:13:23 1964498376
>>1964494
>>1964480
Фикстуры это декораторы специально из pytest.
Нужно записывать переменные в редис и потом вывести в stdout что записали. Вроде понятно же из поста.
Аноним 12/03/21 Птн 02:32:46 1964501377
>>1964498
>Вроде понятно же из поста
Ты еще и выебываться будешь? Тебя нормально спросили о подробностях.
Я не понимаю в чем проблема? Делай мок редиса, либа такая даже есть, если лень самому 20 строчек написать и засирай его сколько угодно.
Аноним 12/03/21 Птн 02:37:47 1964502378
>>1964498
@pytest.fixture(scope='class')
def some():
____result = self.connection.setex(key_name, expiration, data)
____print(result)

И запускаешь pytest tests/ -s
Так что ли?
Аноним 12/03/21 Птн 02:55:08 1964506379
>>1964498
Так записывай их, потом выводи.
Аноним 12/03/21 Птн 02:57:36 1964507380
>>1964496
Ради одного раза - нет. Если периодически и впс у тебя работает на другой оси - стоит
Аноним 12/03/21 Птн 03:14:01 1964510381
>>1964493
спасибо, охуеный совет вообще иди нахуй с такими советами
мне блять ядерная физика нравится, но в лабу за 25к идти я не хочу (хотя с чего я решил, что буду получать профессорскую зп)
еще вопросы, созидатель-питонист хуев
>>1964495
годно, спасибо
Аноним 12/03/21 Птн 03:37:10 1964513382
>>1964510
>мне блять ядерная физика нравится, но в лабу за 25к идти я не хочу

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

Аноним 12/03/21 Птн 06:12:16 1964537383
>>1964506
Ну так как это сделать в фикстуре.
>>1964501
Так я уже описал. В фикстуре нужно:
1. Записать переменную генерируемую фикстурой (которая уже есть и работает ) в редис. Для редиса уже есть метод подключения и записи.
2. Проверить ее наличие что она действительно записалась в редис.
3. Удалить ее и вывести это в stdout.
Аноним 12/03/21 Птн 06:13:33 1964538384
>>1964502
Да, как-то так. Только она мне на print выкидывает ошибку - я так понял это из-за того что это функция принимающая item и которая выдаёт yield.
Аноним 12/03/21 Птн 06:52:07 1964543385
Может я туплю и мне тупо сделать отдельную фикстуру для этого, а не менять существующую. непонятно правда как потом новую навесить на старую.
Аноним 12/03/21 Птн 10:45:18 1964631386
Аноним 12/03/21 Птн 13:11:59 1964729387
пацаны, а кто-нибудь в мэйл собеседовался? есть ли там такая же шиза, как и у яндекса?
Аноним 12/03/21 Птн 18:38:08 1965181388
Компьютер саентисты, возникла надобность в том, чтобы была коллекция, суть в том, чтобы она представляла из себя очередь(чтобы можно было вызвать типа метод get и возвращалось первое значение), при этом в очередь нужно добавлять элементы произвольно, на самое важное то что она должна быть упорядоченна по определенному значению из списка(в списке несколько элементов), буду благодарен за подсказку как это реализовать, либо если есть такая структура данных, то назовите ее. Мне нужно просто получать данные в произвольный момент и встраивать их в очередь на правильное место в соответствии с таймстемпом, который приходит, а обработчики должны просто брать первый элемент из очереди. Можно было бы реализовать все кастыльно и напрямую, типа применять сортировку после каждого дополнения, но может есть более правильное решение?
Аноним 12/03/21 Птн 18:43:42 1965187389
>>1965181
priority queue не подходит?
Аноним 12/03/21 Птн 18:43:46 1965188390
Аноним 12/03/21 Птн 18:54:41 1965202391
изображение.png 65Кб, 3150x391
3150x391
Как сделать так, чтобы словарь не создавался внутри словаря?
Аноним 12/03/21 Птн 18:54:56 1965203392
Аноним 12/03/21 Птн 18:59:32 1965212393
>>1965202
Ты какой-то хуйней занимаешься.
head, *tail = input().split()
d[head] = tail
Аноним 12/03/21 Птн 19:02:30 1965218394
>>1965212
Все равно словарь внутри словаря про знак умножения не знал, спасибо
Аноним 12/03/21 Птн 19:06:01 1965226395
>>1965218
Нет там никаких вложенных словарей, ты значит не всё показал.
Аноним 12/03/21 Птн 19:09:52 1965232396
изображение.png 72Кб, 3195x635
3195x635
Аноним 12/03/21 Птн 19:15:14 1965242397
>>1965232
Ну это значит та хуйня криво показывает. Обучатели, лол.
Можешь выполнить это как скрипт и посмотреть результат.
Аноним 12/03/21 Птн 19:41:55 1965271398
image.png 23Кб, 1188x643
1188x643
image.png 14Кб, 909x373
909x373
Аноним 12/03/21 Птн 19:49:18 1965286399
>>1965271
Хуй тебя знает. Условие задания хоть бы написал.
Аноним 12/03/21 Птн 20:01:05 1965299400
>>1962121
А можешь вкратце объяснить, почему разрабы выбирали для своих поделий питон? Я сам хеллоувордщик пока только - так что если сможешь побороть свою брезгливость - поясни с минимумом терминов, пжлст.
Аноним 12/03/21 Птн 20:04:05 1965301401
>>1965299
Потому что удобно. А почему не питон, и что вместо питона тогда?
Аноним 12/03/21 Птн 20:04:28 1965302402
>>1965271
Нашел. В цикле for -1 не нужен
Сам хз как 195 кейсов он прошел, хуевые тест кейсы значит у них (литкод как всегда, рот его ебал)
Аноним 12/03/21 Птн 20:05:04 1965303403
>>1965299
Питон изначально под линух был придуман
Аноним 12/03/21 Птн 20:06:53 1965304404
>>1965271
Настолько очевидно, что даже не понятно, почему ты не понимаешь.

почему у тебя 2^k-1?
Вот почему тут -1?
Ты не проверяешь случай из одних единиц.
Аноним 12/03/21 Птн 20:07:41 1965305405
>>1965299
В научных кругах любят питон. Просто его очень легко освоить, не надо ебаться с компиляцией. Все интуитивно понятно. Ну сам подумай. Если ты физик и тебе надо какое то слоожное уравнение составить и протестить еще, станешь ты учить Си? Тебе это нахуй не сдалось. Питом куда быстрее осваивается..
Аноним 12/03/21 Птн 20:07:45 1965306406
>>1965304
>>1965302
>Нашел
Ну ок. А лучше пять минут самому подумать, прежде чем сюда писать.
Аноним 12/03/21 Птн 20:07:49 1965307407
Аноним 12/03/21 Птн 20:23:26 1965318408
image.png 33Кб, 751x514
751x514
image.png 8Кб, 614x147
614x147
image.png 21Кб, 488x321
488x321
image.png 61Кб, 738x622
738x622
Всем привет, пробую сделать перевод с помощью Flask-Babel, но не получается. Что я делаю не так? Файл перевода скомпилировал в расширение .mo. Сейчас пишет просто на русском.

Заранее спасибо!
Аноним 12/03/21 Птн 20:26:49 1965325409
Столкнулся с такой проблемой, когда в моем callback'е, вызываемым библиотекой websocket-client происходит какое то исключение, то оно тупо не выводится в консоль, из за чего труднее отлаживать код если я где то допустил ошибку.
Можно ли это как то исправить?

def onmess(data):
message = processing_data(msg)
output_data(msg) # some misprint

websock = self.ws = websocket.WebSocketApp(self.url,
on_message = onmess})

websock.run_forever()

Что бы было понятнее, в третьей строке происходит у меня допустим исключение, и во время этого исключения никакого вывода в консоль вообще не происходит, исполнение этого коллбэка просто завершается.
12/03/21 Птн 20:38:30 1965335410
Привет, нравится c++ и python. Думал изучать всерьёз ue4, но понимаю, что в России слишком напряжно будет начать получать деньги с этого. Да, меня интересуют деньги, а следовательно востребованные направления. В веб разработке разочаровался, потому что совсем не нравится верстка. Сомневаюсь, что не фулстак, а бэкенд разработчики востребованы. Deep learning, научные штуки тоже не нравятся. Знаю async, декораторы, некоторые библиотеки, прочую фигню. Что посоветуете из актуального и не веб?
Аноним 13/03/21 Суб 00:06:28 1965494411
>>1964631
А не, поправил. Ошибки нет. Я зачем-то туда return print вставлял.
Аноним 13/03/21 Суб 00:29:58 1965515412
>>1964334
Про Perl не знал, я зелень
А почему Flask предпочтительнее? Я Django начал ботать, переключаться на Flask теперь, джанго же вроде как больший функционал предлагает, не?
Аноним 13/03/21 Суб 00:31:01 1965517413
Тест
Аноним 13/03/21 Суб 00:31:18 1965518414
Всем привет, два года работаю программистом на Си, есть профильная вышка, понимание наиболее популярных алгоритмов и структур данных. Стек: С99, иногда плюсы ради каких-то библиотек, SQL (PostgreSQL, SQLite), Python (pandas, numpy, tensorflow, opencv).
Работа связана с математическим моделированием, но низкая зп и малая востребованность таких спецов вынуждают меня перекатываться в другую область. Последний год активно использую питон в работе, так что решил перейти на него в паре с джанго.
Живу я в мухосранске, где на hh кроме консультантов и операторов колл центров, требуются одинэсники и эникеи, даже по пхп ничего нет, так что удаленка мой единственный вариант.
Вопросы:
1. Как вы учили джанго? Ютуб, оф дока, книги? Все вместе?
Я пытался начать с документации на сайте джанго, но очень сложно идет.
2. Понимаю, что усвоение знаний вещь индивидуальная, но все же, если я рассчитываю за год вкатиться на удаленку, это не полный бред?
3. Что было на собесе? Помогли ли пет проекты при трудоустройстве?
4. На какую примерную зп стоит ориентироваться? Судя по тому же хх около 60к, а это уже больше моих 50, что для меня уже неплохо.
5. Нужно ли уметь верстать? Если да, то на каком уровне? Как обстоят дела с JS?
6. Как хорошо нужно разбираться в линуксе на реальной работе? Джун должен уметь в гит, докер, nginx? Сейчас использую только гит в виде основных команд и иногда убунту и распбиан в виде работы с учетками, файлами, установкой пакетов и либ.
7. Как относятся к ошибкам джуна? Что бывает за косяки? Что будет, если вовремя не выполнить задачу?
Всем добра, извините за тупые вопросы и опечатки
Аноним 13/03/21 Суб 00:44:19 1965523415
>>1965518
>за год вкатиться на удаленку
За год ты можешь запилить несколько приложух на любом языке или на нескольких. Если одна взлетит, то тебе уже похуй на все будет.
Аноним 13/03/21 Суб 01:16:11 1965551416
>>1965518
Учи английский и работай на заграницу.
Аноним 13/03/21 Суб 01:16:51 1965552417
>>1965523
>Если одна взлетит, то тебе уже похуй на все будет.
Без серьезных денежных вложений ничего не взлетит.
Аноним 13/03/21 Суб 01:51:52 1965584418
>>1965552
Найди финансирование, это нормально. Но сложнее конечно.
Аноним 13/03/21 Суб 01:53:01 1965585419
>>1965523
Что именно ты имеешь в виду? Если свой стартап, то у меня уже есть такой опыт, к сожалению, это дано не всем, я понял, что мне лучше работать на кого-то.
Ниже отвечал не я.
>>1965551
Анон, ты имеешь в виду фриланс на биржах типа апворка? Я не против, конечно, но для начала мне в любом случае нужно освоить джанго и набраться опыта в каких-нибудь реальных проектах.
Английский 6.0
Аноним 13/03/21 Суб 06:43:17 1965609420
>>1965518
Вкатывайся в нейроночки. У тебя как раз pandas, numpy, tensorflow, opencv, то что нужно. Бросай свою нищую контору и свой зажопинск. В джанго вкатываются совсем дурни без образования.
Аноним 13/03/21 Суб 11:17:48 1965683421
>>1965609
В смысле? Я с ними уже год работаю, поэтому и появился питон на работе.
Зп там почти такие же, как в вебе, а сложность работы несоизмерима.
Я не хочу переезжать, мне это просто невыгодно, поэтому и ищу удаленку. Вообще не хочу больше как-то сталкиваться с математикой и программированием на си и плюсах, это была моя огромная ошибка, нужно было сразу уходить в веб. Я бы и в 1с прошел, но они тут получают по 30к
Можешь что-то подсказать по моему вопросу в плане джанго?>>1965609
Аноним 13/03/21 Суб 12:15:03 1965733422
>>1964729
Что за шиза? поясни
Аноним 13/03/21 Суб 12:18:01 1965737423
>>1965305
>>1965299
еще на питоне есть юпитер нотебук, там очень удобно свои формулы представлять ученым и каждый может сразу же их выполнять и модифицировать
Аноним 13/03/21 Суб 12:19:17 1965739424
>>1965683
Почему тебя так дико покоробило плюсы и математика?
и как ты отучился если тебя с этой хуйни тошнит?
Аноним 13/03/21 Суб 13:34:54 1965799425

>>1965739
Отучился с трудом именно из-за нежелания учиться. Сначала учился в спбгу, потом свалил обратно в свой мухгту
Заканчивать пришлось, потому что больше кроме кодинга я ничего не умею.
Я сейчас начал осознавать, что меня где-то развели как лоха, пока я дрочил разные виды математик и разбирался с вращением деревьев на плюсах, кто-то вкатывался в питон, пхп, джаву и работает сейчас удаленно, имеет более интересные проекты, ещё и зп выше.
Так что я решил больше не наступать на эти же грабли.
Ну или пока за это не начнут платить х3 от рынка
Аноним 13/03/21 Суб 14:02:57 1965812426
>>1965733
Лютый матанодроч с оплатой меньше рынка
Аноним 13/03/21 Суб 14:36:08 1965825427
Привет, питонисты, есть проблема, для каждого юзера таски селери должны выполняться строго по очереди, т.е он не может совершить 2 действия, которые дляться долго одновременно, самое просто решение это просто создать словарь и проверять завершена ли таска для каждого пользователя, но может есть решение в селери, которое позволяет сделать строгую очередь выполнения для каждого пользователя?
Аноним 13/03/21 Суб 15:40:59 1965884428
>>1965825
Какой в этом смысл? Ты тормозишь работу целери таким образом.
Аноним 13/03/21 Суб 18:08:27 1966023429
А можно ли как-то на основе переменной и списка сделать словарь?
Переменная a = rock
а в списке b fire water wood ice
можно ли получить словарь {rock: "fire", "water", "wood", "ice"}
Аноним 13/03/21 Суб 18:12:41 1966032430
Аноним 13/03/21 Суб 18:16:56 1966041431
image.png 22Кб, 1332x114
1332x114
>>1966032
Если я из списка строку делаю, то оно будет всё воспринимать как один элемент же?
Аноним 13/03/21 Суб 18:20:11 1966046432
>>1966041
Туплю можешь сделать, тупли хешабельны.
Аноним 13/03/21 Суб 18:30:19 1966051433
image.png 4Кб, 332x51
332x51
image.png 3Кб, 253x54
253x54
>>1966046
Я туплю? На первом скрине просто str(array) а на втором через " ".join(array) Надо было, чтобы оно воспринималось не как цельное слово, а как разные слова. Может есть аппенд какой-то и через перебор?
Аноним 13/03/21 Суб 18:32:57 1966054434
>>1965812
Пиздец, назуя они это практикует и кто к ним вообще идёт?
>>1965799
Жесть! а почему решил на математику поступить?
там именно фак прогинга типа был?
когда я учился такой хуйни еще не было даже
мочему свалил из спгу? ты сам с миллионника или с маленького городка - соли земли русской?
Аноним 13/03/21 Суб 18:34:35 1966056435
>>1966054
>Пиздец, назуя они это практикует и кто к ним вообще идёт?
Мб у них питон юзается в основном для дата сайнса?
Аноним 13/03/21 Суб 18:44:31 1966060436
>>1966051
Да значением можно список ставить, ключем нельзя.
Если нужно именно ключем, то сделай tuple(lst). Но скорее всего это хуевое решение.
Аноним 13/03/21 Суб 18:56:36 1966066437
>>1965884
потому что одна таска делает расчет и заполняет таблицу, другая удаляет все расчеты, если вторая выполнется до завершения первой, то половина записей останется
Аноним 13/03/21 Суб 19:08:00 1966077438
>>1966056
они заебали своим сайенсом, мониторят там блядь кто какие треки моргенштерна предпочитает утром в пятницу.
и какую рекламу лучше пихнуть в это время.
такого рода дататсаенс там
Аноним 13/03/21 Суб 19:40:56 1966103439
>>1966066
Делаешь таску на запись, делаешь коллбек с тем, что тебе надо а в конце его юзаешь таску на удаление.
Что делать дальше? Аноним 13/03/21 Суб 19:41:02 1966104440
Прошел основной синтаксис пайтона. Мы в Университете изучали с++ пол года или даже больше, поэтому изучение было быстрее в несколько раз, чем когда я изучал с++.

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

Из минусов мне пока тяжело дается понять как работает ООП или декоратор, не ну я могу сказать что такое инкапсуляция, полиформизм, наследования, но я не смогу применить это. У меня есть задроченная теория для сдачи тестов(Экзаменов) в Университете. Но я полный 0 в практике.

Иногда решаю задачки на КодеВарс 5-6 куи, пробовал проект Эйлера, но чет не особо зашел.

планирую двигаться в веб, начинаю с Фласка, летом как подтяну знания хтмл + ксс перейду на джанго, если с Фласком все ок будет. Но не знаю, правильно ли я двигаюсь. Не покидает чувство, что я делаю что-то не так.
Аноним 13/03/21 Суб 19:41:26 1966105441
Как на пайтоне по-православному асинхронно реквесты высылать через прокси?
Аноним 13/03/21 Суб 19:42:49 1966106442
Аноним 13/03/21 Суб 19:44:37 1966110443
>>1966104
Просто пиши как можно больше кода для себя - быстро прогресс почувствуешь. Если тебе какой-нибудь тулзы не хватает в повседневности или сервиса, попробуй написать, используя те вещи, которые тебе сейчас не понятны.
Аноним 13/03/21 Суб 19:47:16 1966113444
>>1966054
ПМИ. Это что-то вроде российской версии computer science, программирование с очень общиной теорбазой и математикой.
Свалил, так как жить для меня в Питере дорого, а качество образования того не стоило, в итоге в мухгту просто легче было получить вышку, а на знаниях это никак не отразилось. Один хер что там, что тут, все было поставлено на самообучение
Я с 200к мухосранска.
Аноним 13/03/21 Суб 19:49:26 1966115445
>>1966113
С очень обширной
быстрофикс
Аноним 13/03/21 Суб 20:08:48 1966127446
>>1966103
Не, удаляет таску пользователь, когда захочет, мне надо просто проверятьпри удалении что предыдущая завершена, я сделал просто словарь в который добавляю таски каждого пользователя и при вызове каждой таски проверяю есть ли доступ к ней
Аноним 13/03/21 Суб 20:27:03 1966146447
>>1966104
>планирую двигаться в веб, начинаю с Фласка, летом как подтяну знания хтмл + ксс перейду на джанго, если с Фласком все ок будет
Можно начать сразу с Джанго. Он более системный и стройный, хорошо задокументированный, фласк это конструктор, к которому со стороны надо разные инструменты прикручивать.
Аноним 13/03/21 Суб 20:30:47 1966148448
>>1966104
>Из минусов мне пока тяжело дается понять как работает ООП или декоратор,
Попробуй просто руками покурочить.

Что касается декораторов, то всё сильно проще. Запись
@deco
def func(args):
____pass

полностью эквивалентна записи
def func(args):
____pass
func = deco(func)

Тебе надо просто разобраться, как работать с функциями самими по себе, с аргументами их и т.п., что не очень очевидно после C/C++.

Попробуй помучать непосредственно, а не в рабочем коде, быстро разберёшься на самом деле.
Аноним 13/03/21 Суб 22:40:26 1966217449
>>1966113
200к это большой город!
а я учился сначала на автомеханическом, потом автопром сдох
потом на психолога когда тема была на подъёме, психология хуета без задач оказалось в россии.
потом на строительном, но пизданул кризис и стройки сдулись
короче пиздец жгучий, как тебе такое?
Аноним 14/03/21 Вск 01:28:21 1966310450
1YLRsAMyt7k.jpg 124Кб, 784x1000
784x1000
image.png 45Кб, 941x813
941x813
А .venv среду надо каждый раз скачивать если захочу какие-то сторонние библиотеки в проекте заюзать?
Или они при установке через pip-ку не привязываются к каталогу, в который я их ставил?

Также ещё пипку обновил в %APPDATA% через команду в терминале VSCode.
Аноним 14/03/21 Вск 01:42:33 1966314451
Bump
Аноним 14/03/21 Вск 02:14:18 1966325452
>>1966310
venv не надо скачивать. Он копирует твой каталог с питоном с привязкой или без site-package.
Скачиваешь только внешние либы из requirements при обновлении
Аноним 14/03/21 Вск 02:42:29 1966340453
>>1966077
>>1966054
>>1966056
>> еще какие-то сообщение
да не саенс, чистый питон
там и mygames ищут питониста, и vkpay
короче прикольные вроде вещи

Аноним 14/03/21 Вск 03:55:19 1966350454
>>1966310
>Или они при установке через pip-ку не привязываются к каталогу, в который я их ставил?
venv скачивает модули в тот каталог, к которому ты его привязал. То есть если у тебя 10 разных venv, то в каждом будет своя собственная копия модуля.

Вот честно, почему ты такой не любознательный? Мог бы просто сам создать три venv и посмотреть, что как каталоги изменяются и чего он каждый раз качает. Так же проще и интереснее даже.
Аноним 14/03/21 Вск 04:14:03 1966354455
здарова. недавно решил вкатиться и выбрал питон для своей кривой программы, за полгода чето научился и сделал так, что это начало приносить деньги, но сама структура кода оставляет желать лучшего, плюс делать gui на питоне стал через pyside, а там стили так же оставляют желать лучшего (либо я чет не догоняю), и чтоб прога не выглядела как кусок говна пришлось долго ебаться с ней, и теперь я не могу добавить в нее новые модули без труда.

Вопрос, как вообще начинать рефакторинг своего кода? Че писать, чтобы можно было добавлять модули в программу проще (как конструктор). И поддерживает ли pyside что-то бОльшее чем css для стилей. И если нет, на какую либу перекатиться (с питона слезать не хочется)
Аноним 14/03/21 Вск 06:03:00 1966369456
>>1966354
> за полгода чето научился и сделал так, что это начало приносить деньги
И как сделал?
Аноним 14/03/21 Вск 10:32:24 1966408457
Хочу сделать простой поисковик:
На сайте в строку вбиваешь название вещества (например NaCl), нажимаешь "поиск"
Прога ищет в базе данных и выдаёт все элементы list'a, в которых есть это слово.

list уже есть, домен, грубо говоря, тоже. В чём сделать поиск и вывод?
Аноним 14/03/21 Вск 12:05:25 1966439458
>>1966354
пиши тесты чтобы работали и рефактори.
прогоняй тестами.
иначе сломаешь всё нахуй
Аноним 14/03/21 Вск 13:32:23 1966483459
image.png 163Кб, 1920x1040
1920x1040
>>1966325
>>1966350
Спасибо.

Я уже спать ложился, ща проверил две папки создал и venv к ним добавил, да, действительно, там во многих файлах пути прописываются к текущему проекту для которого я в терминале прописывал команду "python -m venv".
Да даже тупо хэши у папок разные (естественно).


Аноним 14/03/21 Вск 15:12:14 1966521460
Присоединился значит в стартап к протыклассникам.
На меня повесили разработку бэка со словами "стек на твой выбор, просто сделай, чтоб работало и в приемлемые сроки" ​
Я как-то даже растерялся с этой хуйни, как собственно выбрать стек с 0?
Сам проект, допустим - платформа с заказчиками и исполнителями всякой хуйни
Есть частично написанный фронт на вью. С меня надо рест апи; ну там регистрация с разными ролями, личные кабинеты и прочая хуерга. Сцепим это все аксиосом (наверное).
Сначала подумал про джангу дрф или фласк рестфул + постгря/ребит/селери. А потом задумался, мож нахуй эту джангу? Что сейчас ещё можно заюзать из бэкенд фреймворков под чистый проект?
Баловался с aiohttp и fastapi, но не знаю насколько они продакшен реди. Плюс ещё знаю, что у асинк решений проблемы с orm либами, а мне хотелось бы алхимию или что-то максимально похожее на неё.
Аноним 14/03/21 Вск 15:22:30 1966525461
>>1966350
>>1966483
Заодно кста разобрался как интерпретатор выбирать.
Потому что он иногда обращается к библиотекам и интерпритатору из appdata, а если неправильно настроить проект, то будет обращаться к локальному интерпретатору, у которого может не лежать рядом нужных библиотек.
Аноним 14/03/21 Вск 15:44:31 1966539462
>>1966521
Fastapi использовал в проде, но проект был хуита по нагрузке, зато асинхронки из коробки. Вот про ORM хуй знает. Есть Tortoise ORM, но это глубокая бета. Peewee-async советуют. Для FastAPI уже админка есть с Vue3 TS
Аноним 14/03/21 Вск 15:46:16 1966542463
>>1966408
Jinja2 для морды, чё ещё надо?
Аноним 14/03/21 Вск 15:46:54 1966544464
>>1966521
>Плюс ещё знаю, что у асинк решений проблемы с orm либами, а мне хотелось бы алхимию или что-то максимально похожее на неё.
Сейчас клянутся, что в алхимии 1.4 будет хорошая поддержка асинхронности. Пока 1.4 в стадии бета-тестирования, официальный релиз 1.3
Аноним 14/03/21 Вск 16:11:02 1966558465
Dvv4Atmg0wk.jpg 153Кб, 850x601
850x601
>>1966525
Алсо

лучше выбирать глобальный интерпретатор или локальный который в .venv проекта лежит?
Чую что второе лучше.

{
"python.pythonPath": ".venv\\Scripts\\python.exe"
}
Аноним 14/03/21 Вск 16:14:39 1966562466
image.png 23Кб, 957x260
957x260
tr6fO6G3LU.jpg 461Кб, 1280x883
1280x883
>>1966558
И где хранятся настройки для entire workspace VSCode?

Я только локальные нашёл в json возле проекта.
Аноним 14/03/21 Вск 16:17:33 1966563467
image.png 9Кб, 264x202
264x202
>>1966562
Всё, разобрался, один в settings.json, второй в .workspace лежит.

Аноним 14/03/21 Вск 16:21:23 1966564468
>>1966544
Alchemy перегружена. Tortoise ORM обещают универсальность для всех реляционок.
Вот остальные придется через сторонние пакеты использовать. Ну в черепахе и команда ещё маленькая и roadmap на 2 года.
Аноним 14/03/21 Вск 16:24:50 1966571469
>>1966558
Смысл venv в изоляции. Соответственно и пакеты которые ты установил будут там же, не затрагивая общесистемные (актуально для ЖМУ Пинус).
К тому же на проекте у тебя может быть и PyPy вместо CPython.
Сразу ставь PyRight и PyLance. Вполне годное решение.
Аноним 14/03/21 Вск 16:30:03 1966575470
>>1966571
Понял.

Но я походу случайно уже установил глобально некоторые пакеты (pyplot).

Это ничего страшного?
Через какую команду их если что удалять?
Аноним 14/03/21 Вск 16:38:44 1966577471
>>1966575
pip uninstall либанейм
Заебал, это не Гугл.
Аноним 14/03/21 Вск 17:01:58 1966586472
ZFuPqbcxdH8.jpg 190Кб, 765x1080
765x1080
>>1966577
И то верно. Спасибо, разобрался.
Аноним 14/03/21 Вск 17:51:25 1966611473
>>1966542
в чём поисковик писать, в чём базу данных вести?
я правильно понял, что для этого мне придётся покурить php?
Аноним 14/03/21 Вск 17:52:34 1966612474
Всем привет. Собираюсь вкатиться в программирование и выбрал питон. Как с ним на удаленке?
Смогу ли я через полгода изучения питона + джанго + бд уже на удаленке брать заказы?
25 лет, шарю в верстке, программированием как таковым никогда не занимался, но достаточно хорошо шарю в вебе.
Аноним 14/03/21 Вск 17:55:42 1966613475
>>1966612
>Как с ним на удаленке?
Нормально
>Смогу ли я через полгода изучения питона + джанго + бд уже на удаленке брать заказы?
100% нет
>25 лет, шарю в верстке, программированием как таковым никогда не занимался, но достаточно хорошо шарю в вебе.
Лол, и как именно ты хорошо шаришь в вебе?
Аноним 14/03/21 Вск 17:58:55 1966614476
>>1966611
А причем тут пхп?
В тот ли ты раздел зашел?
Аноним 14/03/21 Вск 18:01:17 1966616477
>>1966613
Работал в веб-студии, знаю где линия фронта, где бэка.
Не специалист, просто спокойно поддержу разговор, если речь зайдёт о вебе. Параллельно шарю в сео, сем и т.д.
Также тестером работал ещё
Аноним 14/03/21 Вск 18:01:49 1966617478
>>1966614
чел, я могу реализовать задумку на питоне, потому и пишу тут
а спрашиваю итт, потому что аноны так или иначе сталкивались с потребностью залить код на сайт. Вот и спрашиваю, нужно ли мне пхп или есть какие-то костыли с питоном?
Аноним 14/03/21 Вск 18:19:08 1966639479
>>1966617
Какие нахуй костыли? select * from table where name like upper('%na cl%');
Для простого поисковика тебе этого хватит.
print и pprint Аноним 14/03/21 Вск 18:19:51 1966640480
Я так понял, что атрибут width относится только к pprint? И нельзя контролировать ширину строчки в стандартном print? Зочем это разделение и какое фундаментальное назначение у pprint?
Аноним 14/03/21 Вск 18:20:53 1966641481
>>1966616
За полгода ты только с нуля будешь более-менее уметь писать проекты, но такое говнище будешь писать, что мало кто захочет связаться с тобой.
Каким-нибудь стажером может и пойдешь, но таких, кто за полгода хотят выучить стек и устроиться - много.
Аноним 14/03/21 Вск 18:21:51 1966642482
>>1966639
а на сайт как сделоть? чтобы это было онлайн
Аноним 14/03/21 Вск 18:23:20 1966644483
image.png 30Кб, 1157x129
1157x129
Аноним 14/03/21 Вск 18:24:29 1966645484
>>1966641
> кто за полгода хотят выучить стек и устроиться - много.
а кто учится полгода - мало
Аноним 14/03/21 Вск 18:31:08 1966656485
>>1966640
Полное название pretty print как бы намекает.
Вообще, необходимость принтить какие-то сложные структуры на практике близка к нулю.
Аноним 14/03/21 Вск 18:32:38 1966658486
>>1966642
Есть два варианта. На питоне выдавать только жсон, а морду сделать на жабаскрипте. Или полностью на питоне, например flask.
Аноним 14/03/21 Вск 18:33:33 1966659487
>>1966658
что насчёт пхп, говорят, всего 100 строк кода
Аноним 14/03/21 Вск 18:35:33 1966663488
>>1966659
Что ты к тому пхп прицепился?
Ну можно сделать на пхп, можно на питоне, это не имеет значения. Сейчас практически любой язык может в веб и имеет веб-фреймворки, близкие по возможностям.
Аноним 14/03/21 Вск 18:41:51 1966668489
>>1966663
Да и тот же самый пхп сейчас усиленно перепиливают в язык общего назначения, и ходовые фреймворки у него все внешние. Этими встроеннымы веб-фичами, заложенными изначально, никто не пользуется.
Аноним 14/03/21 Вск 18:43:58 1966675490
>>1966663
> На питоне выдавать только жсон, а морду сделать на жабаскрипте.
тому шо на хостинге есть php, но нет фласка
Аноним 14/03/21 Вск 18:45:22 1966678491
>>1966675
А что, остались ещё такие говнохостинги за три копейки?
За них же можно купить и говновпску и хоть аллаха там поставить.
Аноним 14/03/21 Вск 18:49:18 1966682492
>>1966678
Алсо, даже на говнохосте должна быть возможность запустить через cgi. Это хуевенько, но работать будет.
Аноним 14/03/21 Вск 18:51:14 1966683493
Аноним 14/03/21 Вск 18:54:29 1966687494
4d8ecc6967b4a3d[...].jpg 39Кб, 728x712
728x712
Аноним 14/03/21 Вск 19:06:22 1966699495
>>1966675
Пошел нахуй из треда, пидорас
Аноним 14/03/21 Вск 19:12:49 1966712496
>>1966683
Чел, самый днищенский впс меньше 200 рублей стоит. Буквально одна пачка сигарет. Или пару обедов в школе, или кофе в старбаксе, или бигмак, что для тебя там актуально.
Аноним 14/03/21 Вск 19:17:40 1966716497
Аноним 14/03/21 Вск 19:24:16 1966723498
>>1966716
Ну так ты можешь раз в месяц и оплачивать, экономя на вышеназванных вещах.
Аноним 14/03/21 Вск 19:32:34 1966736499
Вот вы напомнили про подписки, я посмотрел сколько у меня в месяц на них списывается около 130 долларов, пиздец, я даже забыл на что подписывался.
Аноним 14/03/21 Вск 19:55:08 1966762500
>>1966736
У меня гитхаб премиум был в прошлом году (скидон был), пытался спиздить 3700, а бабки на вкладке маринуются и на карте редко больше 5к бывает, в тот раз было меньше. Изи вей, для отключения списывания. Я никак не могу найти где говноофис свою подписку держит, просто списывает нахуй и все.
Аноним 14/03/21 Вск 19:55:22 1966763501
>>1966736
У тебя софтина вся лицензионная что ли?
Аноним 14/03/21 Вск 19:55:59 1966765502
>>1966675
На Heroku задеплой, юродивый.
Аноним 14/03/21 Вск 19:56:12 1966766503
      °
Аноним 14/03/21 Вск 19:59:24 1966769504
>>1966763
>Лицензия
На каждую проериетарную хуйню есть жопенсорс поделие.
Тот же DBeaver CE умеет все кроме Mongo, а подписка там охуеть дорогая. Вся суть в том, что либо все из коробки,но платно либо все из кучи маленьких коробок, но бесплатно.
Аноним 14/03/21 Вск 20:08:22 1966777505
>>1966769
> все из кучи маленьких коробок, но бесплатно
Я так на вим хотел полностью перейти. Но эти блятские конфиги под каждый проект настраивать - нет уж. Перешел на vs code. Что-то среднее оказалось и вполне устраивает. Плагинов - хоть обосрись, только половина глючные страшно, особенно от микрософта
Аноним 14/03/21 Вск 20:45:43 1966801506
>>1966777
Ты про PyLance/PyRight? Нормально работают, заставляют правильно type hints писать, хотя и ругаются на 'Possible None value...', но я ж не макака, а целый бабуин и вместо None будет обработка exception, о котором PyRight не знает, сука
Аноним 14/03/21 Вск 20:50:29 1966805507
>>1966777
А ещё забыл, что эти ебаные typehints заставляют тащить с собой кучу импортов.
То есть если
def method(arg:BaseRequestModel) ->BaseResponseModel: то в импорте должно быть
BaseRequestModel, BaseResponseModel
И тут цирк с конями и блядями, так как уже начинается жава ынтырпрайз и абстракции.
Аноним 14/03/21 Вск 21:07:18 1966823508
Чего покурить для прочного понимания async/await и в целом механики асинхронности в пайтоне? Как-то не особенно много контента, вроде.
Алсо, что там с ASGI нынче? Фактически стандартом становится?
Аноним 14/03/21 Вск 22:04:17 1966872509
Добрый вечер, полный ньюфаг впринципе в программировании. Какие задачи можно решать питоном и какие цепочки развития впринципе есть? как я понял кроме самого языка надо еще что-то учить в зависимости от задач. Что сейчас перспективнее, буду оч благодарен если пропишите алгоритм учебы.

Да и вообще, возможнн ли вкат в питон за год очень активной учебы ( в день по 8+ часов)?
Аноним 14/03/21 Вск 22:27:32 1966896510
>>1966801
Видишь ли, у меня один проект пока на втором питоне. В медленном процессе перехода на 3 не по моей вине. И только один pls, Microsoft, работает со вторым. Еще с 18 года там ебучий баг, что он что-то в фоне анализирует и ломает к хуям весь автокомплит.
Аноним 14/03/21 Вск 22:32:27 1966904511
>>1966872
Это не твое. Займись лучше паскалем или бейсиком
Аноним 14/03/21 Вск 23:57:07 1966937512
>>1966823
Таки да, nginx уже нативно может с ASGI работать, RIP Apache.
Аноним 14/03/21 Вск 23:58:31 1966938513
>>1966896
Легаси на 3.7+ уже просто так не перевести, мне тебя искренне жаль.
Аноним 15/03/21 Пнд 00:00:41 1966941514
>>1966872
Вкат возможен за 8+ часов в день за полгода с пет проектом адекватным. Просто так читать и писать говняные сниппеты смысла нет. Тот же парсинг страниц хуйня без задач, пока не свяжешь с чем-то ещё (аналитика, к примеру, автозакупка)
Аноним 15/03/21 Пнд 00:03:18 1966942515
>>1966066
Ставь в базе семафор на этого пользователя при запуске первой таски. По завершению работы семафор снимай. Во второй таске чекай семафор. Пока он есть, крутись в ожидании.
Аноним 15/03/21 Пнд 01:35:13 1967005516
>>1966938
Этими вопросами пусть тимлид и главный админ заморачиваются, а меня привлекают по мере необходимости.
Питон тред №115 python 15/03/21 Пнд 01:54:09 1967015517
pylogo.jpeg 39Кб, 1000x625
1000x625
feaybtnl1920x10[...].jpg 321Кб, 1920x1080
1920x1080
AR-200108475.jpg 151Кб, 2100x1400
2100x1400
Тред, посвящённый языку программирования Питон, #115

Предыдущий: >>1954138 (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
Аноним 15/03/21 Пнд 01:59:10 1967019518
1539278313734.png 1118Кб, 782x616
782x616
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов