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

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

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

Предыдущий: >>1787217 (OP)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

https://dumpz.org/bASGKD8cCFDf
2 1793245

>Тред, посвящённый языку программирования Питон, #90


#99 конечно же
3 1793251
>>793245
О, следующий юбилейный
4 1793258
>>1793238 →
у тебя список. очень большой. нужно сравнить все со всеми. и удалять дубли из списка как только их встретил
питон 3.7

элементарно решается с потоками, но с процессами я задумался
чтобы дать доступ каждому процессу к мутабельному!!! списку и простого решения в голову не пришло. Идеи конечно были, но вот "да хуле там делать изи" не было
5 1793259
>>1793247 →
Меня тоже этот момент смущает. Вообще надо смотреть раскладку, сколько занимает картинка в закодированном состоянии, сколько времени она декодируется и какой декодированный размер.

Из этого уже можно проектировать алгоритм.

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

Но пересылка данных не такая дорогая операция. То есть или ты упираешься в процессор, и тогда выгодно пересылать в раскодированном виде, или ты упираешься в объём данных, тогда проще распаковывать в каждом процессе отдельно. Кроме того, вопросы возникают по тому, как вообще это сравнение работает и нельзя ли там радикально оптимизировать.

Вообще задача выглядит из тех, что хорошо распараллеливается. Есть очень неудобные задачи, но другого класса.
6 1793269
Вот ты пишешь, что на шарпе это работает 4 минуты, а на питоне 5 часов. Но это значит, что у тебя именно код медленный. Ты ведь мог бы запустить на одном процессоре, а не на 4-8. Невозможно выиграть больше, чем в 4-8 раз соответственно в многопоточной версии. Скорее всего будет меньше выигрыш, наверняка, из-за общей памяти, кешей и т.п. А у тебя разница в 80 раз.

Ну само собой многие операции на питоне тормозные, если сравнивать производительность в один поток. На чём-то можно и в 100 раз проиграть относительно других платформ, особенно если ускорялками не пользоваться.
7 1793271
>>1793247 →

>Почему нельзя картинку взять сразу в воркере? Зачем её прогружать в мастере? Судя по всему у тебя мастер как-то агрегировал эти картинки. Мог ли воркер сделать частичную агрегацию на своей стороне, а потом отдать только результат для финального мержа?


Результат все равно пришлось бы копировать в основной процесс, где находилась нейронка. Вариант чуть лучше, но производительность все равно в разы ниже, чем при использовании потоков.
>>1793252 →

>Может у тебя там сериализация тормозила? Или мастер тупил. Ну реально, звучит как хуета что оперативка не справляется с копированием.


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

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


Я упирался в место на диске, поэтому пришлось шакалить картинки, которые потом хотел разжимать в реальном времени при помощи нескольких потоков (процессов).
8 1793284
>>793258

> элементарно решается с потоками


Ну это пока оперативы на компе хватает. По-хорошему надо разбивать на части.

> чтобы дать доступ каждому процессу к мутабельному!!! списку


Вот здесь надо было остановиться и писать на шарпе, если очень нужно решение "в лоб". Самое забавное что гил замедлил бы твой код в количество процессоров раз. Вон у тебя 4 минуты на шарпе, стало бы допустим 30 минут. А ты нагородил такого, что аж 5 часов работало.
9 1793288
>>793271

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


Ну о чём я и говорил, ты сильно терял на сериализации. Причём удивительно, что это не куча мелких объектов, а бинарный кусок, и это по идее тормозить не должно. Такое ощущение что там сериализация пошла по каким-то бэкреференсам и выносила чуть ли не весь стейт интерпретатора в сообщение.
10 1793293
>>793271
Когда ты пишешь, что 90% времени идёт на копирование, мне кажется, что проблема в архитектуре или реализации.

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

Описанная задача выглядит как такая, что хорошо распараллеливается.

Я вообще не вижу принципиальных проблем с пересылкой большого количества данных, хоть через сокеты можно, но если объёмы действительно большие, то насколько оптимально дальше эти данные обрабатываются?

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

Но в том, что ты описываешь, меня в первую очередь архитектурный вопрос распределения задач смущает. Надо разбираться :)
11 1793294
>>793269

> Ты ведь мог бы запустить на одном процессоре,


а я это прямо и написал что на питоне была однопоточная версия
потому что мне не пришла в голову простая реализация на питоне
учитывая что я знаю шарп где даже мудрить не нужно
я переделал на шарпе сделал дело и забыл

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

собственно об том, что гил заставляет брать процесы и городить костыли (ибо это процессы) я и сказал в самом начале
12 1793302
>>793294
Ну то что ты называешь мудрить это вообще-то нормальный человеческий подход, разделить задачу на части. И собственно в самом начале про гил всегда и говорится, что многопоточные вычисления над неделимым стейтом в питоне будет больно. Твоя ошибка в том, что ты не подумал и начал откровенно колхозить, закономерно облажался, и теперь пришёл рассказывать что гил жить мешает.

Твоя задача кстати разделяется относительно легко. Разделяешь большой список на N частей, затем с помощью itertools.combinations_with_replacement каждому воркеру говоришь какие из двух частей прогрузить и однопоточно перебрать. Результат, найденные дубликаты, пишешь в виде индексов, и после основного map делаешь постпроцесс, который их по индексам удаляет.
13 1793303
>>1793299 →
Requests вообще не занимается валидацией. Jsonschema вообще не занимается http протоколом.
14 1793304
>>1793301 →
Ну как не решаешь? Индексы проставляешь же в базе?
15 1793349
>>793303
Тогда зачем он нужен? Спасибо. Какие задачи добиваемся этим.
16 1793350
>>793304
Ну индексы это не разворачивать матрицы и алгоритмы писать.
17 1793362
>>793349
Ну ты можешь любой жсон свалидировать любой схемой. К примеру конфиг приложения, или пришедшие данные от юзера, да что угодно может быть. К примеру проверить что в жсоне используется только словарь с определёнными ключами, или что аррей содержит только числа от 0 до 10, и чтобы этот аррей был длиной ровно 3.

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

>>793350
Ну тогда awesome interview questions в зубы и вперёд. Думаю вряд ли кто-то решает олимпиадные задачи чтобы постоянно держать анус закалённым. Перед поиском новой работы месяца-двух хватит чтобы снова надрочиться.
18 1793364
Что почитать если укус питона уже прочтен, а Лутца я ебал читать, там одно вступление на 100 страниц.
19 1793366
>>793364
Нахуй чтение, пиши программы.
5270058011607058940910892411220164965040128n.jpg59 Кб, 768x960
20 1793367
21 1793414
>>793366
>>793367
А если все же книжки?
22 1793437
Как заставить себя писать код, а не вбивать в гугл, забирай куски с SO и правя под себя?
23 1793497
>>793302

>Ну то что ты называешь мудрить это вообще-то нормальный человеческий подход


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

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


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

>закономерно облажался


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

>и теперь пришёл рассказывать что гил жить мешает


я с этого и начал.

>Твоя задача кстати разделяется относительно легко.


разное у нас понимание слово относительно. Конечно для питона это "относительно легко". Но по сравнению с потоками это "нихера себе конструкция на ровном месте".
И ЕДИНСТВЕННАЯ причина городить такой огород - гил
24 1793517
>>793437
Пока никак. Через год начнёшь сам проектировать структуры кода в зависимости от задач.
25 1793547
>>793517
Не, проектировать структуру приложения и прочее - я не про это.
Имею в виду, вот я разбил свою задачу на кучу маленьких. Допустим, первая подзадача - прочитать xml и забрать такой-то тег.
Я в 100% случаев тупо возьму кусок из своих старых наработок, или, если похожего нет, тупо возьму с инета и переделаю под себя. И чем дальше, тем больше я такого за собой замечаю, так как я ленивый пиздец, наработок все больше и больше, а писать 2 раза я не люблю.
Руками с нуля почти не пишу, в результате забываю многие простые вещи, и поэтому без наработок и инета под рукой (или возможности им пользоваться, например за собесе), я жидко перну и обосрусь.
26 1793549
>>793547
Так пиши
27 1793553
>>793549
Тогда будет медленно шопипец.
По джаве у меня был собес давно как-то. Сказали написать какую-то херь онлайн при них. Без IDE. Я забыл какую-то мелочь типа порядка аргументов в методе, мне сказали ЦОК ЦОК ЦОК ПОНЯТНО ВСЕ С ТОБОЙ. Я говорю - ребят, ну вы че епт, я когда пишу - есть автодополнение IDE и документация под рукой, я не могу такие вещи помнить наизуть. Мне главное знать как оно работает, каким способом решать ту или иную задачу, а синтаксис и вот такие нюансы типа порядка аргументов - это несущественно и решается/вспоминается на месте. А вы мне мол даете аля блокнот и типа давай пиши работающее нахуй приложение.
Послали тогда нахуй, в общем. Было обидно.
28 1793554
>>793553

>Тогда будет медленно шопипец


Но будет зато
29 1793616
>>793497

>я всего лишь здраво оценил количество гемора в такой задаче в питоне и количество "гемора" в шарпе и сделал правильный выбор


И о чём это? Кто-то не знает, что потоки в питоне слабо реализованы? Это проблема не только питона, но и многих других динамических языков.

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

В твоём случае налицо ещё проблема проектирования. Конкурентное программирование требует грамотного проектирования.

В тех задачах, которые могут сильно выиграть в производительности именно на потоках, а не процессах, питон чаще сольёт по другим причинам, то есть он сольёт и в однопоточном режиме тоже и это ограничивает питон сильнее, чем проблема GIL.
30 1793617
Думаю пришло время искать новую работу, отработал полтора года единственным питонистом на дно проекте, надоело, хочется в нормальной команде поработать ну и зп поднять. Короче поставил в резюме 130к, вот думаю адекватно или нет.
31 1793618
Анон, поясни тупому ньюфагу про Django.

Нужно ли создавать отдельную модель для десятилетий(decade) и устанавливать связь?

Как я это вижу сейчас:
Модель - десятилетие

Модель - фильм
----устанавливаем связь с моделью десятилетия
32 1793620
>>793617
Конечно, за одно знание питона тебе должны сразу корпоративную машину дать, свой кабинет и макпук последней серии.
33 1793624
>>793620
На текущем месте чуть меньше зп, плюс работаю из дома. Наверное я еще кроме питона чего-то знаю лол.
34 1793626
>>793616

>Кто-то не знает, что потоки в питоне слабо реализованы?


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

>со статической типизацией в другом месте


это уже софистика

>Конкурентное программирование требует грамотного проектирования


само собой. но я рассматриваю вопрос не "как грамотно делать многопоток", а "сколько преград ставит яп при этом". И почему итоговый огород именно такой, а не что-то проще

>чем проблема GIL


это не мешает работе. я знаю что беру питон за практичность, а не за скорость. и меньшая производительность питона не заставит меня мудрить хитрожопую конструкцию. А гил заставляет.
35 1793628
>>793624
Ну тебе тут интервью что ли устроить? За тебя резюме написать?
36 1793629
>>793628
Всмысле? Я спросил анонов которые с похожими скиллами вкатывались на такую вилку, если нечего сказать то можешь пройти нахуй.
37 1793631
>>793616
конкретно в этой задаче в шарпе я заменю foreach на Parallel.Foreach добавлю логов для списка и проверку выхода за границы и все

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

Я не говорю, что питон плохой. я люблю питон
но GIL зло, а процессы это просто костыли
38 1793632
>>793629

>отработал полтора года единственным питонистом на дно проекте,


>могу калькулятор сделать или игру "виселица", вот


Выпей кофе и подумай как ты реально можешь описать проект. Тут все пишут на питоне, лол.
39 1793633
>>793631

> в питоне же придется думать как это разбить на чанки, как давать процессам воркерам


result = executor.map(...)
И все
40 1793635
>>793633
какая несусветная глупость. условия задачи почитал бы
41 1793636
>>793632

> Тут все пишут на питоне, лол.


Писал небольшой монолит на джанге + селери, БД постгрес, в БД приходилось писать хранимки, так как в том кейсе без них нельзя было обойтись, писал разные парсеры selenium + bs, писал сервера для вебсокетов, либы для джанги которые юзали на других проектах, был опыт написание либы на С. Также занимался автоматизацией сборки и деплоя, но в рамках стейдж инфраструктуры. Ну и в жс и реакт могу.
42 1793637
>>793636
теперь перенеси все это в резюме и отсылай. не благодари.
43 1793638
>>793635

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


Какая же? На питоне есть один способ ускорить cpu задачу это раскидать по процессам, для ввода вывода лучше использовать асинхронность. Ну есть варианты завернуть С/C++/Rust в питон биндинг, так обычно и делают.
44 1793639
>>793636
если ты ленивая жопа, ссылайся на NDA, а то спросят почему GitHub пустой. тут уже кто-то советовал отвечать "пет проектов нет, во внерабочее время занимаюсь семьей/собакой/попугаем"
45 1793640
>>793639
У меня есть 2 проекта свежих, но 2 нужно дописать, но мне на самом деле не да этого, учу смежные технологии и CS
46 1793642
>>793637
Я спросил про другое, мне интересно ситуация на рынке перед тем как искать работу.
47 1793643
>>793640
Бро, не я тебя собеседую. Ты уже понял, что надо делать. Никто не мешает кстати искать работу, пока сидишь на своей галере.

>>793642
Смотри вакансии habr'a и vc для начала, потом копайся в говне на hh и прочих. Можешь посмотреть что на upwork творится, надо будет ИП открывать для этих целей. Опять же на VC и Habr все разжевано.
48 1793644
>>793639
Правильно советовали.
Большая часть программистов в мире программирует ради денег, а не ради жизненного признания, в том числе и те долбоебы, что его будут собеседовать. Если воротят нос из-да отсутствия какой-то ебалы, не имеющей отношения к работе, можно считать это подарком судьбы, что тебя не взяли в говноконтору. Это то же самое, что хрюши с их "мы не нашли тебя в соцсетях, нам скрытень не нужен" или "мы нашли фотку, где ты пляшешь на столе в баре, поэтому код писать мы тебя не возьмем".
49 1793646
>>793644
Если бы кодил ради жизненного призвания, то точно бы не сунулся в СНГ конторы лол.
50 1793647
>>793642
https://career.habr.com/vacancies?utf8=✓&q=python&location=&city_id=&type=all

вот, ищи. там есть и раздел для фриланса.

>>793644
Ну если на проекте ты кодишь по 10-12 часов, то как бы какое нахуй свободное время? Тем более в одно рыло тащить репозиторий. Таких единицы. Скорее всего это студенты CS или фрилансеры.
Хотя есть и люди которым 8 часов хватает на все и их совесть не тревожит.
51 1793703
>>793626

>потому и говорю, что в питоне параллелить не всегда удобно. Что то не так?


Всё так, в этом ничего нового, что многопоточность в питоне примерно никакая. В го хорошая.
52 1793854
>>793414
>>793364
Бамп вопросу!
53 1793856
>>793854
Про машинное обучение. Можешь конечно про бэкэнд почитать (Django) и читай про сам принцип написания кода.
54 1793892
>>793854
доки
55 1793902
Подскажите есть ли нормальный онлайн понятный тренажер по питону.Бесплатный типа https://pythontutor.ru/ для совсем тупых.
56 1793909
>>793902

>нормальный


>онлайн


>понятный


Выбери 2 из 3-х.
57 1793910
>>793638

>На питоне есть один способ ускорить cpu задачу это раскидать по процессам


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

так что аргументы тех кто грит "асинкио хватит, а остальным охуенчик мультипроцессинг" суть фантазеры которые не видели что такое реально охуенчик

зы: в данной задаче executor.map(...) не в тему. там общий мутабельный набор данных мутации которого всем воркерам нужно бы знать
58 1793923
>>793909
Нормальный онлайн тренажер
59 1793933
>>793902
Что ты подразумеваешь под тренажером?
Если изучать хочешь, то ставь питон, качай/покупай книгу и вперед, обычно всегда есть упражнения для закрепления знаний из главы.
Если тебе потренироваться, то литкосы/кодварсы/любой другой онлайн ресурс с задачками, где есть градация по сложности, встроенные тесты и т.д.
60 1794085
Сап датасцаентисты. В библиотечке ОП-поста есть книжки с примерами-задачами, которые предлагается самостоятельно выполнить обучающемуся? Крайне желательно, чтобы был ещё и разбор полётов.
61 1794087
>>793910

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


>И считать такую хрень нормой есть дикость


>а дикость сия спровоцирована гил


Не понимаю, к чему ты это говоришь. Хочешь просто понабрасывать, и всё.

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

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

При этом примеров, когда именно потоки критичны, не так много. Особенно для питона. Хорошая архитектура должна быть спроектирована так, чтобы более-менее легко было портироваться на много процессов.

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

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

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

Наконец, если тебе хочется потоки и без GIL, ты можешь глянуть на решения вроде Stackless Python. Это альтернативный, но официально признанный интерпретатор.
62 1794098
>>793362

>К примеру проверить что в жсоне используется только словарь с определёнными ключами, или что аррей содержит только числа от 0 до 10, и чтобы этот аррей был длиной ровно 3.


Так ведь все это я могу реализовать обычными тулсами и кондишинами?!
63 1794101
>>793362

>Ну тогда awesome interview questions в зубы и вперёд.


Спасибо. Добавил в закладки.
64 1794103
>>794087

>Не понимаю, к чему ты это говоришь


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

я своих аргументов не менял. Если кто то забыл с чего все началось то это его проблемы
65 1794109
>>793856
Во, про принципы написания кода думаю сойдёт. Что почитать конкретно?
66 1794113
>>794085
Бамп вопросу. Задания-кейсы с разбором в библиотечке есть?
67 1794128
>>794098
JSON Schema это как документация. Подключаешь OpenAPI, создаёшь демостенд и твою систему тестируют. А главное JSON schema не привязан к языку и ее можно будет портировать.
А так вообще pydantic хватало за глаза.
68 1794135
>>794113
Такого не бывает, хочешь сам напиши такую книгу.
Задач и инструментов овердохуя. Определись что ты хочешь узнать и это уже расписано на StackOverflow или в документации интересующего тебя инструмента.
1598897819689.jpg36 Кб, 213x309
69 1794136
Орнул
70 1794137
>>794128

>Подключаешь OpenAPI


А это что и зачем? Сори, я здесь новенький.
71 1794139
>>794113
Хотя есть вариант скачать курсы, там как раз пилят проект и объясняют шаг за шагом, с самостоятельной работой естественно
73 1794154
Подскажите тупому. В чем разница между двуся способами заполнения словаря.
a = [4,2,2,4]
arr = {}

1) for i in a:
... arr += 1

2)>>> for i in a:
... if i not in arr:
... arr = 1
... else:
... arr += 1
74 1794159
>>794154

>почему-то проебались квадратные скобки []

75 1794195
>>794098
Очень много повторений будет. Если ты начнёшь абстрагировать это всё в функции, рано или поздно изобретёшь что-то вроде жсонсхемы. Зачем изобретать своё если можно взять готовое? Где уже съели пуд соли, пофиксили пару тысяч багов и даже спецификацию написали.
76 1794209
>>794154
У тебя там много чего проебалось.

a = [4,2,2,4]
arr ={} # инициализация перемнной типа dict

for in a:
arr+=1 # запусти и увидишь ошибку TypeError: unsupported operand type(s) for +=: 'dict' and 'int'.

словарь заполняется через объявления ключа и присваивание значения если это не DefaultDict, т.е.

arr['one'] = 1

на выходе arr({'one':1})

короче ты принес какой-то контекст и спрашиваешь.

если у тебя arr =[{}], то это список словарей. Откуда ты это говно притащил?
77 1794273
Аноны, понимаю, что наверное это скорее в работа-тред, но каким было ваше первое резюме? Хочу закинуть на питониста-ждуна, смотрю всякие нормы составления - везде пишут 1-2 страницы, опыт и прочее, а в итоге выходит половина А4. Может посоветует кто какие-то гайды еще или примеры?
78 1794275
>>794209
Ниоткуда. Я сам это сделал.
Моя задача добавить содиржимое словаря по ключам, где значения показывает кол-во элементов в арреи. То есть, если один раз встречается, то 1, если 2, то 2 и тд. По сути счет.
79 1794277
Кто-то ищет позицию Тест Автомэшн на Питоне? оставляйте свои телеги
80 1794284
Пытаюсь написать __repr__ метод для класса, в классе 10+ штук различных атрибутов, как это все красиво уместить?.. Я написал начало типа:
def __repr__(self):
----return "MyClass(\

и собираюсь на каждой отдельной строке обозначать новый атрибут, чтобы было читаемо, экранирование с помощью \ позволяет переносить строки, но сцука итоговый результат получается с большими пробелами между атрибутами, потому что табуляция внутри строки сохраняется, как убрать и ее?
81 1794289
>>794284
Делай через \n, хули.
82 1794292
Пагни, спасибо всем здесь за комменты, это охуенный форум! Меня взяли джуном, старт послезавтра и у меня уже сейчас трясутся руки лол.
Потому что я не знаю даже с чего начать. Пока мне менеджер сказал, поверхностно изучи гит, мы дадим тебе аккаунт - Что это значит ??? что мне нужно делать с самого начала? git init в рабочей папке ? Потом git pull master?
ХЭЛП
83 1794294
Плюс, написал я код, потом как делать git merge или git rebase? Чтобы синхрониться сначала нужно делать git pull?
84 1794299
>>794284
'''MyClass(
hui
pizda
djigurda
)
'''
85 1794341
>>793618
Уровень абстракции: писюн.
86 1794347
>>794273
Тебя смущает что там не две страницы? Тебя бы самого не смутило что к тебе пришёл джун с двумя листами регалий?
87 1794349
>>794284
return (
"MyClass("
"attribute=3"
" attribute=3"
" attribute=3"
")"
)
Обратный слеш почти всегда не нужен.
88 1794359
>>794292
Заведи аккаунт на гитхабе, сделай приватный реп. Изучай git clone, add, commit, push. Осознай что add не перманентный, оттуда файлы можно вернуть или вообще стереть изменение, это как бы черновик коммита.

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

Дальше merge/rebase. Это уже не поверхностный уровень. Поверхностно нужно только представлять почему случаются конфликты изменений и чем мерж от ребейза отличается.

Дальше узнай про remote. Ты можешь синхронизироваться сразу с несколькими репозиториями, например с основным и с форками. origin это всего лишь имя ремоута по умолчанию, и таких имён можно надобавлять целую кучу.
9B4E97D2-4914-44B1-BE7D-DA7F9DB195AC.jpeg129 Кб, 1119x758
89 1794418
Петоны, что такое сабсет? Это типа разные комбинации данного арея или что хотят в задании?
91 1794428
>>794359

>Дальше учись работать с ветками. Осознай что ветки это всего лишь указатели на определённые коммиты, и если checkout выбрал именно ветку, то при коммите она автоматически сдвинется на новый коммит. Осознай что ветки легко добавляются и стираются в репозитории, что до push они у тебя живут локально и ты можешь их не публиковать.


Спасибо, но как это сделать?
92 1794429
>>794419
Спасибо, я прочитал и ничего не понял..
93 1794430
>>794419
По сути все возможные комбинации? В чем смысл-то?
94 1794432
>>794428
Вот тут читай, всё разжёвано и переведено.
https://git-scm.com/book/ru/v2/

И практикуйся. Сделай просто текстовые файлы со списками фруктов/овощей/животных, добавляй, редактируй, удаляй.
95 1794433
>>794429
Сабсет это подмножество. All subsets это все возможные подмножества.
https://ru.wikipedia.org/wiki/Подмножество#Примеры
96 1794435
>>794433
Получется все в этом мире множества и подмножества. Зачем это нужно?
97 1794438
>>794435
Откуда мне знать зачем тебе это понадобилось?
Кстати на картинке пиздёж, там только подмножества из трёх элементов.
98 1794464
>>794292

>поверхностно изучи гит


вот так человек "сам выбрал гит" )))
99 1794468
>>794464
Собеседовался недавно, спросили за гит. Сказал, что юзал SVN всегда, а гит один раз ставил чисто от нехуй делать, пробовал конвертнуть репозиторий. Получилось, ну и забил, ибо нахуй он мне нужен. Мне сказали УУУУ КАК ТЫ БЕЗ ГИТА ЖИВЕШЬ, НЕ НУЖЕН ТЫ НАМ ТАКОЙ.
Дебилы, блядь. Как будто принципиальная разница есть. Пересесть и привыкнуть за полдня можно, если потребуется. Тем более есть клиенты, за которыми даже похер что у тебя, типа черепашки.
100 1794471
>>794468
Это как прийти в стартап и рассказать про богатый опыт программирования на коболе. Ну ты и дурень.
101 1794473
>>794471
Похуй. Во-первых, это написано в резюме. Во-вторых, я не люблю пиздеть.
В третьих, я был только рад отказу, когда понял, что меня собеседуют 2 начальника, один из которых формально у них главный разраб, но из программирования знает только заученные определения из книжек. Искали замену челу, который от них съебался на жопной тяге. Устроишься в такую залупу, и будешь один везти все на своем горбу, пока такие толстопузы будут бабло получать. Еще пиздели, что команда у них там, а на самом деле ты да я, да мы с тобой - вот и вся команда была бы.
Сейчас глянул, до сих пор вакансия открыла, лол.
102 1794482
>>794347
Меня смущает, что там пол страницы, может как-то не так оформляю.
103 1794505
>>794468

>Как будто принципиальная разница есть


технически они правы. С ГИТом есть разница. Ибо это довольной кривой тулз с бредовыми концептами.
104 1794545
>>794109
Лутц
105 1794551
>>793243 (OP)
Всем привет
Появлялся с месяцок назад, спрашивал про питон как бэкэнд для браузерной игры на коленке
Собственно, не забросил, понемногу двигаюсь.
Только вот немного не понятно, как примастить пользователя
Вот, к примеру, пользователь ловит рыбу, 10 минут, через 10 минут получает результат
Получается, я должен привязаться к реальному времени? когда время станет такое, то, выполнить проверку результата и все записи в sql?
И как питон поймет, что пора (собственно, время настало). Есть какой-то аналог крона, который заставляет его каждое определенное время проверять?
Мб немного сумбурно, но подскажите, что и как гуглить.
106 1794554
>>794551
так пусть жс считает когда дергать бэкенд
а бэкенд просчитает текущее состояние
изображение.png3 Кб, 322x82
107 1794560
>>794275
Так это счет по словарю у тебя. Полезная очень вещь, кстати.
108 1794562
>>794551
Надо не так. Сохрани когда пользователь последний раз поймал рыбу. И когда с фронта придёт запрос словить следующую рыбу, проверяй чтобы между сейчас и предыдущим разом прошло 10 минут, иначе болт. Ну или что там, забрать результат ловли. Крон довольно примитивная вещь, для нормальных приложений нужен либо планировщик (если ты рассылаешь с сервера в сокеты), либо валидатор (если запросы идут с фронтов).
109 1794567
>>794545
А есть что-то менее водянистое?
110 1794571
>>794567
Сухой лутц в порошке
111 1794583
>>794554
>>794562
Понял, буду двигаться, спасибо!
Валидатор звучит логичнее (офк для моих целенй, помноженных на мои познания)
112 1794596
>>794567
Лутц в оригинале
IMG20200901182304954.jpg105 Кб, 677x973
113 1794782
>>794571
>>794596
Ладно, уговорили. Я даже начал читать 4 издание что в шапке. Но тут меня посетили смутные сомнения, ведь там говорится и г питоне 2.6 и 3.0. И я оказался прав, есть 5 издание.

Так какого хуя в шапке лежит протухшее 4 издание?
114 1794790
>>794782
Блядь, это издание в двух томах с общим количеством страниц уже в 1600. Он там войну и мир пишет что-ли?
115 1794802
>>794109

>Что почитать конкретно?


fluent python
effective python
116 1794803
>>794790
Есть ещё вторая практическая книга такого же размера, лол.
117 1794872
Есть время, которое записывается модулем time. Там дохулион секунд.
Желаю перевести его в человековаримый формат
делаю:
from datetime import datetime
humantime = datetime.fromtimestamp(time).strftime("%A, %B %d, %Y %I:%M:%S")
Вроде бы все норм получается, но результат обгоняет на 12 часов.
Показывает, что время для time = сейчас 3 часа ночи.
Что я делаю не так? В данной конструкции все корректно и стоит искать проблему в конструкции, которая генерирует time?
118 1794879
>>794872
С часовыми поясами проблема небось. Читай документацию.
119 1794899
>>794879
Ну да, помогло
>>794872
Если кому интересно, корректно работающий вариант
humantime = datetime.fromtimestamp(time).strftime("%Y.%m.%d %H:%M:%S")
120 1794942
>>794803
Я не понял, в этой книге на 1600 страниц и 2 тома ещё и практики нет? ЧЕГО БЛЯДЬ?
121 1794953
>>794942
Может тебе и картинки подавай?
122 1794955
>>794953
Было бы неплохо, желательно еще в аниме-стиле.
Screenshot20200721-131625Mail.jpg66 Кб, 1074x260
123 1794997
124 1794998
Хочу сделать небольшой генератор текста на основе сообщений в чате (каждое слово из новых сообщений добавляется в словарь, назначаются какие-то пары слов, потом по запросу выдается мешанина из этих пар), но как лучше сделать?

Есть функция которая читает каждое сообщение и функция по запросу выдающая текст, надо ли засовывать логику самих генераторов внутрь этих функций или можно к примеру в отдельном файле .py сделать генератор и подружить его с основным файлом? Или писать в основном, но отдельными функциями где-то ниже/выше?
125 1795005
>>794997
Позиция?
126 1795010
>>795005
Прием питона
127 1795041
>>795005
Коленно-локтевая
128 1795043
>>795005
Фулл Маунт
129 1795056
>>794560
Не понимаю нахуя ты ренжем усложняешь, когда и без этого все работать будет.
130 1795058
>>794872
time.localtime() ?
131 1795059
>>795056
Да я как то не задумывался особо, конечно будет
132 1795064
>>794998

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


Че?

>надо ли засовывать логику самих генераторов внутрь этих функций или можно к примеру в отдельном файле .py


Пока кода мало - вообще похуй
133 1795107
Суп, програмач!
Учу джангу, есть вопрос:
Есть модель, там таблица линкуется с другой таблицей. Например,

class Table_1(models.Model):
name = models.CharField(max_length=255, default='')

class Table_2(models.Model):
Table_1_id = models.ForeignKey(Table_1, on_delete=models.CASCADE)
subject = models.CharField(max_length=255)

Есть страничка с формой на которой вводятся данные для этой Table_2.
By design при открытии я уже знаю, какой из элементов Table_1 мне нужен, чтобы запихнуть его в Table_2.Table_1_id и не хочу выводить его на форму.
В общем, я вижу два варианта:
1. Заставить форму передавать значение элемента, не выводя его (но я для этого плохо знаю фронтэнд, простых примеров не нашёл, в одном из примеров, на которые наткнулся подобное решалось через JQuery и AJAX, что явно оверхед, особенно с учётом того, где я вообще видел фронтэнд в гробу я его видел - мне нужно сделать рабочую болванку и передать её тому, кто умеет в HTML+CSS+Djinja+etc).
2. Добавить элемент прямо в view.py перед сохранением значений формы, но я что-то вообще не соображу, как. Я тогда в ответе я получаю только <QueryDict: {'csrfmiddlewaretoken': ['многабукаф'], 'subject': ['example_subject']}>, а при попытке накинуть дополнительное значение -- "AttributeError: This QueryDict instance is immutable" (в доках говорится, что это нормально, а метод appendlist работает только если QueryDict был заиничен как мутабл, но штатные не такие и вот дальше я уже ни фига не понял).
134 1795163
Нормальный ли этот метод по поиску 10 значных телефонных номеров в тексте? Учитывая, что похуй что телефон не верный, просто возвращение 10 цифр подряд.

import re
def readFile(file1):
count = 0
number = ''
with open (file1) as f:
text = f.readline()
digits = re.findall("\d{10}", text)
return digits
return None
135 1795169
>>795163
Возвращение 10 цифр подряд нормально, можешь дополнительно вхуячить \b по краям, чтобы именно десятизначные.
Алсо, read, а не readline.
136 1795174
>>794942

> ещё и практики нет?


Ты бы, блять, ее открыл для начала.
137 1795190
>>795163
Слишком много мусора в коде. Если убрать все лишнее, то от функции останется три строчки.
138 1795195
>>795163
ЗонаТелеком осваивает питухон. Скоро роботы начнут звонить.
139 1795197
>>795195
Всегда удивлялся долбоебам, считающим, что кто-то рандомно парсит рандомные сайты на предмет сначала номеров аськи, а потом номеры телефонов придумали. Ещё и коверкают, чтобы не спарсили, лол.
В сто раз проще и эффективнее купить готовые базы как у владельца, так и ломанные, тут тебе сразу и таргетинг готовый.
140 1795208
>>795169 >>795190
Благодарю.
141 1795209
Задали вопрос по Стаку. И я чет охуел.

Короче есть такой ввод:
старт\стоп работы, Имя работника, время начал\закончил
start Serega, 100
start Masha, 110
start Vanya, 120
stop Masha, 140
stop Vanya, 150
start Pidr, 160
stop Pidr, 180
stop Serega, 200
Вывод:
Serega, 100 (отнимает стоп от старта)
-Маша, часы
-Ваня, часы
и тд. То есть нужно показывать стукруту по пробелам, кто зашел и кто ушел.

Есть варианты как делать?
142 1795218
>>794942
Да говно этот Лутц. Лучше Саммерфильда возьми.
143 1795221
>>795209
И в чем проблема? Ассоциативный массив, время старта, нашли время стопа - отняли и забыли. Если имена могут попадаться несколько раз - ну два массива, окей. В чем проблема-то?
144 1795230
>>795221
Ты не понял.
Вывод должен содержать структуру проблов типа:
Иван:время
' 'Вася: время
' 'Петя: время
' 'Маша: время
' 'Тетя Мотя: время
' 'Пидр: время
С помощью листа ты не сможешь следить за старт\стоп и выстроить такую структуру, ибо первый стоп относится к последнему стартовавшему работу.
145 1795231
>>795230
Блядь. Абу режет пробелы, я поставлю тире, где должны быть пробелы:
Иван:время
- -Вася: время
- -Петя: время
- - -Маша: время
- - - Тетя Мотя: время
- - - - -Пидр: время
146 1795232
Привет, я считаю, что вдоволь начитался-накодился с алгоритмами и структурами данных. Хочу узнать что делать дальше? Например у меня появился интерес в создании сетевых приложений. Что стоит изучить и что почитать? Или это пока рано?
147 1795234
>>795231
Это знаки минус, а не тире, бестолочь. Как ты собираешься вкатываться в питоноведение, если ты даже этого не знаешь?
1027298134.jpg422 Кб, 865x1200
148 1795245
>>795232
Очень зависит какие сетевые приложения.
149 1795257
>>795234
Ну хорошо, это минусы вместо пробелов, по решению есть что сказать?
150 1795264
>>795230
Чё блядь? Ещё раз полностью изложи условие задачи, я нихуя не понял.
151 1795275
>>795264
Задача сложная, поэтому и не гуглится. Вот здесь более-менее описал >>795231

Алсо, что такое Singleton pattern?
152 1795292
>>794997
А они уточняли, что хотят велосипед посмотреть?
>>795064

>Че?


Это он про цепи Маркова, видимо
>>795107
1. Я полагаю, ты про это https://docs.djangoproject.com/en/3.1/ref/forms/widgets/#hiddeninput
2. Покажи как ты это делаешь, ничего не понял.
153 1795295
>>795209
Убираешь запятые и итерируешься через каждый 2й объект(имя). Во время итерации составляешь словарь где имя - ключ, если перед именем старт - заносишь время с -, если стоп - с +. Как вывести словарь - сам как-нибудь подумай
154 1795303
Как понять, что ты уже не джун, а мидло-повидло?
155 1795309
>>795303
Работаю полтора года и нет ощущения что близок к мидлу, думаю нужно искать работу с сильной командой и более высокой зп. Самому себя сложно оценить, единственный питонист на проекте.
156 1795332
>>795309
Если ты можешь понять зачем NoSQL на проекте и в чем плюсы и минусы MQ уже можно миддлом назваться потом переобуешься по дороге.
157 1795336
>>795197
Верните мне 2007. Я про парсинг базы и говорю. Автоматизация звонков.
Тебе что кроме Linphone надо? Спарсил записи, прошелся по всем номерам (список из БД) и все дела, еще на успел на прогулку.
158 1795341
>>795292

>А они уточняли


Они сказали "технологии на ваше усмотрение" кек
Я таки получил работку, но в другом месте (нет, не на Джанго, в принципе мне похрен на чем писать, знал бы эти заскоки в принципе к Джанге не прикоснулся бы при решении тестового - там прост кейс уж больно удобно под DRF ложился)
159 1795359
>>795275
это когда невозможно создать более одного экземпляра от класса а при попытке создания возвращается либо новый либо уже существующий в петухоне делается через декоратор
160 1795458
Подскажите про регулярки плз, как сделать замену в словах, которые состояли бы не менее чем из двух символов и до бесконечности, чет не соображу, ну если слооб то \b\b, а какой метасимвол мне нужен? {2} будет искать ровно из двух, как задать интервал до бесконечности {2, .*}? Чет нихуя не получается, хэлп плз.
161 1795462
162 1795464
Аноны, вопрос матерым помидорам.
Есть один сервер, находится он в СШП на восточном берегу, есть клиенты по всему миру, пинг для европки.сшп - збс, пинг для океании уже не торт.
Как пофиксать?
Вижу два варианта:
1. Самый простой и легко создаваемый на коленке. Сделать как в играх - разместить дополнительный сервер поближе к океании и перед конектом юзер должен будет пинговать сервера все и выбирать наиболее подходящий для него.
2. Заюзать "Global Server Load Balancing" но тут уже придется подключать доп.сервисы и, я так понимаю, принцип работы у них как и мой п.1
Что анон думает на этот счет?
Использую Nginx.
163 1795489
>>795464
Туда в любом случае будет хуевый пинг, надо более близкий сервер, да. Вроде в ЮВА более-менее локация, ну или прям локально там.
Как туда направлять решает сдн/балансировщик, обычно просто по айпи, какие там пинги, лол.
164 1795492
>>795489

> Как туда направлять решает сдн/балансировщик


Так вот я хочу запилить свой балансировщик.
Обычнобалансировщик(тот же Nginx) не обладает возможностью распределять трафик согласно IP.
165 1795494
>>795462
Короче я потрахался маленько и понял вроде, мне надо было так: r'\b(\w)(\w)(\w*)\b'
А твой совет я не понял
166 1795498
>>795464
Ну наверное что-то из серии 1. Но при этом ты можешь автоматом выбирать сервер, правда на более высоком уровне, чем nginx.

Но это всё можно прозрачно сделать. Твой клиентский софт сам пингует сервера из списка (который можно автоматом получать) и автоматом выбирает тот, который лучше.
167 1795500
>>795492
server appserv1.example.com:12345 weight=5;
server appserv2.example.com:12345 fail_timeout=5s;
server backup1.example.com:12345 backup;
server backup2.example.com:12345 backup;
}

fail_timeout поменяй на нужное значение
168 1795501
>>795492
Я думаю, nginx можно допилить - это востребованная фича, хотя чаще решается сторонними сдн или облачными хостингами с дохуя точек присутствия.
>>795494
\b\w{2,}\b
Будет то же, что у тебя.
169 1795502
170 1795504
>>795498

>Твой клиентский софт сам пингует сервера из списка (который можно автоматом получать) и автоматом выбирает тот, который лучше.


Так и планировал, да.
>>795500
Но антош, веса это не то, как и бэкап.
+ Мой балансировщик стоит в амурике и до него в принципе пинг большой.
171 1795508
>>795504

>Мой балансировщик стоит в амурике


Тогда какая разница? Я попадают на твой балансировщик с пингом до US. Ну если у тебя будет качать данные, я замечу, что просадки по скорости.
Бери данные по GeoIP и перенаправляй в соответствии. У Google же именно такая политика.
172 1795515
>>795508

>Тогда какая разница?


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

> Бери данные по GeoIP и перенаправляй в соответствии. У Google же именно такая политика.


Можно чуть подробней? Ну или ссылочку какую для почитать.
173 1795538
Поясните за фриланс. Не то, чтобы я хотел быть 300кк в наносекунду (хотел бы конечно, но речь не о том)
Скорее просто интересно посмотреть, какие рабочие задачи могут быть вообще у питон программиста, понять, чем придется заниматься скорее всего, мб цепануть какую-то работку не для денег, а для портфолио, чтобы было что в резюме закинуть при поиске на первую работу. Какие сайты юзаете?
174 1795548
>>795538
Во фрилансе на жс и тем более питоне больно громадная конкуренция с индусами да и вообще с целым светом. Для себя можешь пофрилансить, но на какой-то бабос особо не рассчитывай
175 1795555
Здравствуйте.
Есть ли какие-то онлайн-дрочильни вроде Codecademy для быстрого вкатывания в Питон, но без необходимости оплачивать подписку за кучу ЮСД долларсов?
Так-то в принципе начал читать книгу Гэддиса алсо, что скажете про нее, но на книгах у меня как правило меньше усидчивость.
Благодарю.
176 1795658
>>795548

>конкуренция с индусами


Как только индусы просекут про Go колесо сансары сделает новый оборот.

>>795515
Я мог и напиздеть. Могут и по latency отправить при начальной странице, а вот поиск уже может учитывать язык и геолокацию.
https://serverfault.com/questions/713241/how-to-redirect-users-to-different-servers-based-on-their-location

Возможно костыль, но я бы смотрел headers или lookup делал по IP. можешь хоть Абу спросить как он напердолил проверку VPN.
177 1795662
>>795658
Индусы в курсе о го, просто на го никто особо не делает екоммерс хуету или прототипы в отличие от жс питона пхп, он в больших компаниях как вспомогательный хай перформанс язык обычно вдобавок к чему-то медленному
178 1795691
>>795295
Ничего не понял. Можно примерно по коду посмотреть? Спасибо.
179 1795693
>>795332

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


Такую хуйню у меня спрашивали на интервью в ШША на позицию Тест Инженера Автоматчика. Так что, если ты думаешь это уровень мидла, у меня для тебя плохие новости.
180 1795699
>>795693

>Спрашивать


>Проектировать


>Поддерживать


?
181 1795710
>>795257
Тебе рано учить Пайтон.
182 1795715
>>795691
Чел, я и так максимум по шагам объяснил что делать, разбирайся
183 1795717
>>795710
Я работаю джуном. Просто никогда не сталкивался со стеком.
184 1795768
>>795717
Со стеком встроенных библиотек или с нетривиальной задачей?
мимокрок
185 1795769
>>795717

>работаю джуном


>никогда не сталкивался со стеком


ебать мой хуй блять
186 1795835
>>795768
Обоими. Со стеком как с дата типом.
187 1795891
>>795464
Такс, тут ещё мысль подкатилась:
А що с БД делать, ведь она тоже на серве в амурике. Иметь Н-штук БД и между собой синхронизировать периодически? Или забить хуй т.к. из одного датацентра в другой оверхед по пингу будет терпимый(надо проверить)?
188 1795958
https://stackoverflow.com/questions/11259322/getting-objects-by-id-in-django

Почему в этом примере не перевести string в integer ?
189 1796046
>>795958
Переводи. Когда закончишь, расскажи нам о результате
190 1796132
Есть один сайтик на джанге, который по запросу пользователя отсылает пачку запросов на сторонний сервис, затем собирает результаты всех запросов и отдает их пользователю в веб-морду. Проблема в том, что запросы выполняются долго, веб-морда устает ждать(или веб-сервер) и дропает соединение по таймауту. Как обычно это решается? Как мне вернуть пользователю ответ уровня "принял, обрабатываю" сразу, а когда все будет готово вернуть результат?
191 1796147
>>796132
1. Верни пользователю ответ, что все ок - обрабатываю, запусти фоновую задачу на запрос к другим сайтам, запиши итоги и заставь морду сделать запрос через время после первого ответа и если есть данные - выведи их.
2. Вебсокет
image.png69 Кб, 1093x717
192 1796148
Поясните за api плз. Вот например http://numbersapi.com/#42

Я хочу получить ответ в формате json, тут написано "JSON
Include the query parameter `json` or set the HTTP header `Content-Type` to `application/json` to return the fact and associated meta-data as a JSON object, with the properties..."

Я должен был догадаться, что 'json' = True, или я ебусь в шары и это тут где-то прямо написано?

И 2 вопрос, гляньте на пикрил, задача была чекать из файла числа на предмет "интересности" через это api, можно ли было api_url как-то более адекватно собрать? Если бы я хотел например собирать не только math, то все равно надо было бы строки складывать?
193 1796154
Заигрался тут в мамкиного дебаггера. Я игрался с traceback либой и где-то даже был удачный сниппет по превращению traceback в формат JSON. НО, это работает только для простого вывода, а хочется traceback забирать еще и из корутины. Наткнулся только на custom_handler для обработки ошибки, но не понимаю как вытянуть traceback. Где я туплю? Хочется выцепить стак: где произошла ошибка.

Нахуя? Пока не знаю, скорее всего проще будет через StreamHandler и exception это делать, но хочется иметь полную картину и возможность манипулировать форматом сообщения.

https://pastebin.com/F7PemfRG
194 1796156
>>796148
Первый вопрос не понял. Чтобы был жсон, надо отправить параметры в виде жсона или добавить такой параметр в урле, всё указано. В общем-то, так и делается. Ещё через Accept иногда.
Второе - f-strings.
f"https://hui.com/{huivar}/{pizdavar}/1.html"
195 1796157
>>796148
get(url=..., headers ={'Content-Type':'application/json'})
196 1796160
>>796154
Запизделся, не из корутины, но из ошибки в event loop. Из корутины понятное дело try...except.
197 1796163
>>796157
Это я понял, я спросил про способ через параметры

>>796156

Ну глянь у меня на пикче на params, я просто 40 минут просидел, пытаясь понять что надо написать не что-то типа:
params = {
'json'
}
а params = {
'json' : True
}
Тут про это явно не сказано нигде.
198 1796171
>>796163

> Include the query parameter `json`


Ты добавляешь в body, а не в query. Query string это сам урл после ?
199 1796174
>>796163
/math?json

Ниче, я тоже проебывался с этими вещами, путал body и query string, научишься.
200 1796191
>>796174
Спасибо на добром слове, анон. Еще бы ты меня успокоил в целом, про запоминание синтаксиса. Вот вроде какое-то время назад занимался словарями, задачки решал, все ок. А тут несколько дней развлекаюсь с регулярками и реквестами, словари вообще не трогал, в итоге для джсона они понадобились и я понял, что именно команды все нахрен позабывал, благо я хоть курс конспектирую и у меня все в тетрадке выписано, но все равно шарить по ней не круто
201 1796201
>>796191

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


VSCode/IntelliSense/PyLance
https://marketplace.visualstudio.com/items?itemName=Mukundan.python-docs - вот доки внутри IDE, хотя лучше смотреть свежие.

Чем чаще будешь пользоваться определенными встроенными библиотеками, тем больше запомнишь. Но вообще это хуйня помнить все наизусть. Иногда даже на SO захожу посмотреть как не надо делать
котэ-бокс-5596801.jpeg51 Кб, 500x717
202 1796224
есть flask rest приложуха с докером, как мне грамотно связать с vue, в плане отдельно ли фронт от бека? а деплоить как два серва поднимать для фронта и для бека? Типо рендерить из фласка vue js было бы наверно глупо, но за то так будет 1 сервак.
Посмарел гитхаб/гитлаб шаблоны вроде есть, но мб подскажут best practies
203 1796229
>>796224
Зачем тебе деплоить Вью отдельно, если можно просто раздавать его как статику?
204 1796234
>>796229
ну вот я и думаю, чому так на гитхаб шаблоне сделано
https://github.com/gtalarico/flask-vuejs-template
https://github.com/oleg-agapov/flask-vue-spa
https://github.com/testdrivenio/flask-vue-crud
Мне ж по сути надо запросы через axios слать
но в шаблонах идет везде разделение фронта и бека
205 1796236
>>796154
traceback.extract_tb(context.get('exception').__traceback__)
206 1796237
>>796234
или это чисто dev ветки, а в проде рендерят index.html на рут запрос? типа app.route('/') -> index.html
207 1796239
Как разделить строку на слова, но чтобы запятые и другие спец.символы не отделенные пробелами тоже были отдельным элементом списка?
208 1796242
>>796239
так ты отдели их пробелами первым проходом
а вторым дели по пробелам
209 1796244
>>796242
а, ну я так сделал, но может есть какой-то способ проще.
210 1796245
>>796234
>>796237
У тебя в примерах они по разному делают, одни запускают серв, другие вон про проду через билд также пишут, только рендерят самим фласком. Билд как минимум минимизирует твой жс код из-за чего сайт будет грузиться активнее. Рендерить можешь как в примерах или Nginx-ом раздавать статику
211 1796248
>>796236
Благодарю. Затупил
212 1796249
>>796244
проще некуда
изображение.png8 Кб, 574x78
213 1796250
>>796239
python cookbooks глава 2.1
214 1796253
Как передать id во вьювс?

/show/?id=3 - в браузере
url(r'^show/$', - в урлс
215 1796254
>>796245
всё, увидел, но я хочу уточнить используют ли в проде такое разделение фронт и бек на разных серверах, ведь логично же рендерить фласком билд
216 1796255
>>796250
тут же вообще от символов избавились
изображение.png826 Кб, 900x900
217 1796261
>>796255
блят, чет я тупанул, извините
218 1796268
>>796254
Я конечно залетуха без нормального опыта, но если именно делить на 2 сервера - отвалится кусок новомодных фич, типо сервис-воркеров
219 1796270
>>796268

>типо сервис-воркеров


Которые точнее для ПВА хуйни, а не в целом
220 1796272
>>796268
ну если фронт будет обращаться только в рест апи допустим, то вроде ничего не должно отваливаться
221 1796276
async def run_division(a, b):
await asyncio.sleep(2)
return a / b

# context to JSON
def custom_exception_handler(loop, context):
# first, handle with default handler
#loop.default_exception_handler(context)
tb = traceback.extract_tb(context.get('exception').__traceback__)
err = json.dumps({'message':context.get('message'), 'exception':context.get('exception'), 'at':tb.format()}, default=str)
print(err)

# define loop
loop = asyncio.get_event_loop()

# set custom handler
loop.set_exception_handler(custom_exception_handler)
loop.create_task(run_division(1, 0))
loop.run_forever()

На выходе JSON
{"message": "Task exception was never retrieved", "exception": "division by zero", "at": [" File \"/home/rost/Development/Test/loop_handler.py\", line 8, in run_division\n return a / b\n"]}, который можно запихнуть себе в анус, ибо никто не пишет так логи азазаза
в БД
15256.jpg152 Кб, 1000x810
222 1796424
>>795292

>1. Я полагаю, ты про это https://docs.djangoproject.com/en/3.1/ref/forms/widgets/#hiddeninput


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

><input type="hidden" name="Table_1_id" value="{{ Table_1.id }}">


и так сработало!
Вот тебе в благодарность.

>2. Покажи как ты это делаешь, ничего не понял.


Примерно так (удолил лишний код, не связанный с этой операцией, запостил раньше, чем понял, как можно и теперь жалко тупо удолять, так что оставлю, вдруг кого на какие мысли натолкнёт):
https://dumpz.org/ctnD3DFabp5G
Теперь соответственно после 50-й строки добавлено то, что выше гринтекстом подсвечено.
223 1796427
>>796276

>ибо никто не пишет так логи азазаза


а я вот пишу иногда. мимокрок
224 1796428
>>796424
Можешь плиз скинуть, как ты айдишник передаешь - vievs и modelform(url если успльзуешь?)?
Screenshot from 2020-09-03 16-44-31.png35 Кб, 326x641
225 1796456
Ребята спасите помогите. Есть такой класс https://ideone.com/RmSBdg

То что в нём уже есть менять нельзя. Можно только вешать декораторы куда угодно и создавать новые методы. Нужно чтобы в функции test оба метода проходили проверку результата. Функция, которая результат проверяет нестатичная и определена в классе. Поэтому нужно как-то self передавать в декоратор. И он успешно передаётся. Но в моём декораторе не хочет вызываться метод с декоратором classmethod. Хотя в классе он вызывается с использованием self. Что мне поменять чтобы он тоже вызывался и проходил проверку результата?
sddefault.jpg52 Кб, 640x480
226 1796459
227 1796462
>>796456
пара замечаний
1 декоратор принимает в себя результат другого декоратора. ВАЖЕН ПОРЯДОК. то есть твоя fix_result принимает в себя не ориг функцию, а что там создал classmethod. Банально поменяй порядок декораторов
2 все равно self неоткуда взять и он упадет.
228 1796463
>>796459
Ну то что этот декоратор делает с функцией b нужно сделать с функцией c
229 1796465
>>796462
Я сначала свой декоратор поставил чтобы self не терялся, а был первым аргументом в моём декораторе. Поэтому self должен сохраниться. Как только теперь его передать дальше чтобы вызвать classmethod?
230 1796468
>>796465
ну ты же понимаешь что f в твоем декораторе это не целевой метод класса, а обертка classmethod?

а значит при вызове нужно копнуть глубже
что то вроде
def wrap(args, kwargs):
fun = f
if hasattr(f, '__func__'):
fun = getattr(f, '__func__')
result = fun(
args, kwargs)
231 1796470
>>796468

>__func__


Получилось. Спасибо
232 1796473
>>796470
но это лютый костыль. мало ли че там может быть навешано. к тому же "что там навешено" оно навешано и при определении декоратора и сразу можно достать конечную функцию
то есть этот код можно вынести из враппера
233 1796474
>>796473

> код можно вынести из враппера


Можно. Так скорее всего и сделаю. А как от костыля с декоратором избавиться не знаю
234 1796476
>>796474
что значит как?
магии не бывает. если класс чего то не может, то нужно это переписать
если не дают менять код класса, то переписать класс в рантайме.
235 1796481
>>796476
Я не могу переписать. Это базовый класс и у него десятки дочерних. И всего более 1000 функций test где используется метод c. Мне проще в базовом классе повесить декоратор на c чтобы проверку в конце делать, чем переписывать 1000 вызовов этого метода.
236 1796482
>>796481
повесить декоратор ты можешь, то есть можешь править исходники
а поправить исходный код этих методов что декорируешь - ты не можешь

почему????
237 1796486
>>796482
В теории я могу все поправить. Но если я возьмусь править дочернии классы, то это работа на несколько месяцев. Я могу и метод с поправить. Но это может что-то сломать т.к. иногда он как self.c вызывается, а иногда как cls.с. Поэтому мне проще повесить декоратор и когда он вызываетс через self, то тогда в добавок функцию check вызывать чтобы результат валидировать. Я бы мог сразу в функции test после вызова c ставить вызов check, но это потребовало бы 1000 функция редактировать. Ещё мог бы поправить исходник метода c, но раз он в декораторе classmethod, то внутри я self никак не найду, а сначит и check не вызову. Убрать декоратор classmethod не могу т.к. это точно что-то сломает. Остаётся повесить ещё один декоратор, который будет проверять как вызван метод и по возможности вызывать метод check. Другого решения не вижу
238 1796492
>>796486

>иногда он как self.c вызывается, а иногда как cls.с


если оно у тебя где-то вызывается как cls.с, то декоратор работать не будет. Ибо неоткуда ему взять self. Этот твой декоратор сам должен вести себя как classmethod чтобы пробрасывать то селф, то cls
и правильно поправить исходники, а не изворачиваться так
239 1796498
>>796492

>если оно у тебя где-то вызывается как cls.с, то декоратор работать не будет


Знаю. Поэтому перед основным кодом сделаю проверку что там в аргументах. И если там нет self, то просто не буду продолжать
image.png90 Кб, 387x369
240 1796499
Аноны, прохожу тему про csv, json, xml. С цсв и жсоном все нормально и понятно более менее, а что за дичь вообще с хмл. Просто смотрю на пикрил и охуеваю, тут инфы с гулькин нос, и ради этой залупы разбираться с деревьями, тегами, все пиздец запутанно выглядит, если сравнить с каким-нибудь ламповым словариком для жсона. Эта залупа вообще часто юзается?
image.png51 Кб, 828x521
241 1796504
>>796499
Ясно, задачи еще пизданутее, да за шо... В такие моменты такая дизмораль посещает, кажется, что никогда в погромирование не смогу
242 1796510
>>796499
а что там запутанного то?

значит как хтмл (который тот же хмл) на жс сооружать - это изи
а как хмл сооружать - сложнааа
243 1796514
>>796510
Я хтмл только совсем обзорно посмотрел пару дней с кссом, и делал все ручками, хуяк див, хуяк див и намана. А тут сложно
244 1796516
>>796514
самое обычное дерево из узлов
у каждого узла есть аттрибуты.

ничем не отличается по логике как если бы ты словарь из словарей собирал. аж НИЧЕМ
245 1796519
>>796163
Может я не понял задание. А зачем ты городишь велосипед?
Делаешь Гет реквест и возвращаешь его в json. Потом уже делаешь с ним что нужно.
246 1796547
>>796428
А, в нескольких местах не поменял названия переменных и классов. Дятел. Ну и да, кое-чего не дописал, например, поля "state"
В общем, я делаю
table_1 = Table_1.objects.filter(state=1)[0]
У меня by design в той таблице может быть только одна строка, у которой state = 1.
После чего передаю дзиндзе в темплейт "'Table_1': table_1"

В моём коде, неисправленном из представления "Table_1" это "Event".
247 1796551
>>796504
Дрочу любые sql'и, файлы, xml'и и прочую лабуду на нескольких языках, но никогда не смогу в нормальное программирование. Всякая ебала с 100000 фрейморками, либами, паттернами и прочим ООП для меня сложнее.
248 1796622
>>796504
Возьми xmltodict и не еби себе мозг
249 1796646
кто нибудь использует dynaconf?
поясните почему он видит рядом лежащий settings.toml но не settings.json
или у жсона должен быть особый формат чтобы он его распарсил к себе?
как вообще увидеть где эта ебала файлы ищет ибо среди имен файлов что он там генерит "на поискать" есть settings.json но где он его ищет я хз
250 1796812
Датасайентисты на месте? Нужен чувак, шарящий в sklearn, хотелось бы задать дохуя пару вопросов.
Буду пиздец как благодарен
https://t.me/f1tane
251 1796820
Где можно взять взломанный PyCharm Pro для линуха?
252 1796821
>>796812
Шарящие чуваки не пользуются этой хуйней.
253 1796829
>>796821
двачую, все тру посоны на тф хуярят
1599165100671.gif1,2 Мб, 1280x1024
254 1796841
>>796820
Скачай professional и сбрасывай триал раз в месяц.
Живу так и не парюсь.
255 1796849
>>796820
Нахера это говноподелие на Idea? Комбайн же прожорливый
256 1796850
Пояснитт кто за doctest? Каким нужно быть дегродом чтобы засирать свои докстринги всякой тестовой парашей? Кто блят вообще юзает это говно?
257 1796855
>>796849
У меня 16 Гб памяти и 3.6 ГГц проц (выдал работодатель), мне похуй
258 1796861
>>796849

>Нахера это говноподелие на Idea? Комбайн же прожорливый


Она как раз менее прожорливая чем другие IDE, мало весит и быстро устанавливается.
259 1796870
>>796861
То что спустя несколько часов она отжирает кучу памяти и лагает, даже если в ней ничего не делали - это джава джетбрейнсам в штаны насрала опять?
260 1796874
https://www.youtube.com/watch?v=S8pINqfNEMA
Лучшему ЯП на свете
261 1796876
>>796870

>То что спустя несколько часов она отжирает кучу памяти и лагает


Память очищается если кликнуть на индикатор памяти в правом нижнем углу. Или можно настроить ограничение по памяти.

>это джава джетбрейнсам в штаны насрала опять


Наоборот, джетбрейнсы выжали из джавы максимум и при этом сделали нормальный интерфейс.
262 1796877
>>796820
Emacs из репозиториев
263 1796878
>>796876
Первая часть твоего коммента никак не объясняет первопричину проблемы.
264 1796879
>>796878

>Первая часть твоего коммента никак не объясняет первопричину проблемы.


Потому что "проблема" существует только в манямирке нищих пердолей с 10-летними ноутбуками.
265 1796881
>>796877
vim, зумерок
266 1796910
>>796841
Как его сбрасывать?
267 1796957
Есть жизненный пример использования асинхрона?
268 1796965
>>796547
Благодарю, подобное пытаюсь сделать, через контекст передаешь, я так понял?
269 1796971
Если есть такой HTML:
<div>text</div>
<div>text</div>
<div>text</div>
<div>text</div>
<div>text</div>
Как Seleniumом кликнуть на текст на линии 4?
270 1796987
>>796879
Ты спрашиваешь как обойти покупку PyCharm и называешь остальных, кто не использует это говно нищими пердолями. Проверься на биполярку.
271 1796990
>>796957
Конкретно что надо?
272 1796993
>>796957
Чятик на вебсокетах.
image.png7 Кб, 416x180
273 1797104
Это вчерашний анон, у которого были сложности с xml. Объясните плз, как можно по элементу понять степень его вложенности. (не уверен, что правильно юзаю термины, но надеюсь). Т.е. вот гляньте на пикрил из злоебучей задачи, блу это рут, т.е. у него это вложенность грубо говоря один, у ред вложенность уже 2, т.к. это дети блу и у грин уже вложенность 3, т.к. это ребенок ред. Как узнать эту вложенность элемента в моей рекурсивной функции, чет не понимаю, но мне кажется как-то можно.
274 1797109
>>797104
Да ты достал. Ставь ебучий xmltodict.
image.png32 Кб, 498x338
275 1797112
>>797109
Уже так справился, стандартной библиотекой и рекурсивной функцией
276 1797123
>>797112
Есть пример xml файла нужного? Скинь ссылку покажу как хуяк-хуяк происходит
277 1797128
>>797112
import xmltodict

xml_str = """
<cube color="blue">
<cube color="red">
<cube color="green">
</cube>
</cube>
</cube>
"""
xml_dict = xmltodict.parse(xml_str)
print(xml_dict)

OrderedDict([('cube', OrderedDict([('@color', 'blue'), ('cube', OrderedDict([('@color', 'red'), ('cube', OrderedDict([('@color', 'green')]))]))]))])
278 1797133
>>797112
xml_dict = xmltodict.parse(xml_str)
print(xml_dict['cube']['@color'])
print(xml_dict['cube']['cube']['@color'])
print(xml_dict['cube']['cube']['cube']['@color'])

тупой ручной проход по ключам.

blue
red
green
279 1797140
>>797112
<cube color="blue"><cube color="red"><cube color="green"></cube></cube><cube color="red"></cube></cube>
Надо чтобы выдало 4 3 1
Остальные тесты на сайте с курсом скрыты, их там 18 штук
280 1797142
>>797140
Бля, не туда ответил, хотел тебе ответить >>797123
281 1797146
>>797128

>'green')]))]))]))])


Чет мне от этих скобочек хуевато стало
Мимикрок
282 1797167
>>797140
Я дебил, или задача через жопу написана? Имеется пирамида из кубиков

[] - синий - 1
[][][] - красный - 2

зеленый так что ли расположен?
image.png51 Кб, 844x528
283 1797177
>>797167
Ну, если тебе самому интересно, то вот задача целиком, я выше ее уже постил. Но только если тебе интересно, я как выше уже писал мб и кривожопо, но сделал
284 1797186
>>797177
Ну, пирамида. 1 вершина и 3 кубика внизу. В нижнем ряду зеленый между двумя красными.
Cиний 1
Красный -2
Зеленый - ?
Красный -2

так что ли?
285 1797188
Почему говорят что на питоне нельзя заработать?
286 1797192
>>797186
я так понял имеется в виду н аркоманская пирамида,
синий кубик
два красных
зеленый кубик
верхний стоит один, ряд ниже стоит 2 и т.д., т.е.
синий кубик 1Х1 = 1
два красных 2X2 = 4
зеленый кубик 1X3 = 3
287 1797197
>>797192
Охренительное задание, да.

>>797188
Можно на чем угодно заработать. Хоть на продаже иконок и шрифтов. Зависит от навыков.
288 1797246
Ищу анона для изучения джанго
289 1797275
>>797246

>сделайте за меня тестовое задание


>деньги поделим, аааабищаю

290 1797333
Антуаны, с чего начать изучение нубу? Открыл сейчас саммерфилда, а там на первых же страницах пишут, что это книга для людей с опытом программирования. Посоветуйте что-нибудь для совсем нуба.
image.png33 Кб, 220x308
291 1797353
292 1797359
>>797353
использовать основные элементы Python – списки, функции, модули;
рисовать при помощи встроенных инструментов Python;
анимировать изображения с tkinter;
написать настоящие игры – “Прыг-скок!” (клон знаменитой игры Pong) и бродилку “Человечек ищет выход”, где нужно прыгать по платформам, чтобы добраться до выхода.

Без "Змейки", в помойку нахер
293 1797426
>>796993
Что-то проще. Типа будильника?
image.png39 Кб, 888x356
294 1797454
Аноны, поясните за хтмл парсинг и бютифул суп. Не понимаю эту фразу из документации (контекст на 1 пике): "Beautiful Soup then parses the document using the best available parser. It will use an HTML parser unless you specifically tell it to use an XML parser." Я недавно начал вкат, что собственно есть хтмл парсер?

Я думал что парсер это программа, которая позволяет обрабатывать информацию и как-то ее фильтровать, т.е. у меня задача учебная из хтмл документа на определенной ссылке достать все юрлы, причем их еще особым образом обработать. Собственно до этого момента я считал, что я как бы и пишу какой-то примитивный парсер. Чет я запутался
pycharm64s72GySkvHl.png46 Кб, 700x719
295 1797457
>>797454
Алсо такой вопрос, чет в документации не вижу метода get, это же не гет из реквестс, и не гет который юзается для словарей, где почитать, откуда он берется, как работает?
296 1797463
>>797454
То что ты пишешь называется скрапер, а не парсер, но твой скрапер должен использовать готовый парсер для выдирания информации из HTML.
297 1797466
>>797454
парсить == извлечь, разобрать
298 1797476
>>797463
>>797466
Чтобы прояснить этот момент, т.е. если я напишу например:
source_url = "https://pastebin.com/raw/2mie4QYa"
myfile = requests.get(source_url)
print(myfile.text)

Таким образом он мне хтмл страничку распечатает. То тут все равно будет задействован этот парсер? На какой из строк? Когда я заюзал .text?
299 1797489
>>796987

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


Это был не я.
300 1797498
>>797476
нет не будет
ты не разбирал содержимое
ты просто его распечатал
301 1797538
>>797498
Ты же сам сказал "для выдирания информации из HTML.". Вот я получил это содержимое, в данном примере распечатал, а могу например регуляркой в нем что-то конкретное поискать, могу всю эту хуйню засунуть в какую-нибудь переменную, что тогда ты понимаешь под выдиранием информации?
302 1797569
>>797538
хтмл это всего лишь текст
браузер парсит этот текст на составляющие (дерево тегов) по правилам хтмл парсинга (разбора)
красивыйсуп точно так же парсит строку которую возвращает сервер в структуру к которой ты можешь делать запросы для извлечения

нудист ты
303 1797675
>>796820
https://piratebay-proxy.pw/torrent/19191123/JetBrains_PyCharm_2020_1_build_201_6668_115_Win_MacOS_Linux_Crack_FTUApps
и не надо каждый месяц крякать как некоторые нубы тут делают
304 1797678
Анчоусы, сколько примерно времени надо, чтобы найти работу за еду? Стажировку там, что угодно. И что для этого надо выучить/узнать. Сам на 3 курса уника и надо бы уже на тему работы задуматься
305 1797685
Питонисты, вы часто используете асинхронность?
Как в ней попрактиковаться?
Инб4 устройся на такую работу
306 1797702
>>797685
Я вообще не знаю ее. Нахуй не нужна на обычных работах же.
307 1797709
>>797685

>Как в ней попрактиковаться?


писать замороченный асинхронный код
чтобы в голове сфомировалось асинхронное мышление
308 1797728
>>797709
>>797702
Поясните мимокроку, а асинхронность и многопоточность это не одно и то же? Я как-то делал прогу, которая должна совершать определенные действия раз в n секунд, действия были достаточно сложные, поэтому если я задавал делать что-то 20 раз с интервалом 5 секунд это занимало не 100 секунд, а больше, т.к. она делает действие пару секунд, потом 5 секунд ждет, потом опять действие пару секунд и выходит скажем 110 секунд на выполнение такой хуйни.

Описанное мной многопоточностью фиксится, или асинхронностью?
309 1797731
>>797728

>Поясните мимокроку, а асинхронность и многопоточность это не одно и то же?


Нет, асинхронность работает в 1 треде

>Описанное мной многопоточностью фиксится, или асинхронностью?


Без разницы
310 1797736
>>797728
многопоток выполняется одновременно параллельно
при асинхроне дает возможность выполнить другое если текущее ушло в ожидание (ответа из сети, ответа от диска, ответа от базы. от другого процесса и т.д.)

а твое фиксится выставлением периода ожидания в конце каждого выполнения
311 1797759
>>797426
Да куда ещё проще? Делай чятик. Будильник хуета. Его можно и без асинка сделать.
312 1797775
>>797759
А почему чатик? В чем его асинхронность? Алсо, он асинхронный, но однопоточный?
313 1797778
Посмотрел ролики от удеми по питону. Про пентестинг. В целом, подойдет ли питон для пентестина, хакинга, для написания стиллеров, граберов, создание ботнета. Или лучше для пентеста юзать другие яп. Показался питон - легким для освоения и написания кода. Что думаете? Лучше он или другой яп.
314 1797780
>>797778

>Посмотрел ролики от удеми по питону. Про пентестинг.


Че? Поясни.
315 1797781
>>797780
https://cloud.mail.ru/public/25VT/PEYkh8Bff/
Вот.
Реквест прежний.
Подойдет ли питон для написание стиллеров, граберов, ботнета и прочего в хакинге. Например, для создания ботнета. Клиент-сервер есть, сокеты тоже. Норм будет? Или для стилера. Например, дох програм на кали написаны на питоне, всякие там брутфорсеры и прочее.
316 1797796
>>797775
Если ты задаёшь такие вопросы, то асинк тебе ещё не нужен. Читай про сокеты, процессы, потоки, примитивы синхронизации, как с нуля без фреймворка написать сервер/клиент на сокетах. Можешь сначала классику сделать: одно соединение = один поток. Соединяй к этому серверу 10 тысяч клиентов и смотри как система захлёбывается от кучи процессов/потоков и тугой синхронизации между ними. Потом читай про тредпулы и очереди обработки короткоживущих запросов, можешь даже простенький http сервер написать. Потом попробуй туда прикрутить вебсокеты. Вот тут как-то оно не встанет, так как соединения живут долго и забирают воркер из тредпула на вечно, не позволяя подключать новых клиентов. Возвращаешься к классике, соединение=поток, всё работает, но на 10к соединений всё так же тормозит. И вот здесь уже читай что такое epoll/kqueue и чем они отличаются от select, что такое эвентлуп и нахуя было переизобретать планировщик ядра в юзерспейсе. Потом читай про колбэки и почему с ними очень сложно писать код. Потом читай про асинхронность, корутины, неблокирующие сисколлы, вот тогда завеса тайны немного приоткроется.
317 1797802
>>797778

> для написания стиллеров, граберов, создание ботнета


Судя по уровню твоих знаний питон тебе точно не помешает. А насчёт малвари, ну сам подумай, питон и установить не так-то просто, и весит он немало, как ты его будешь незаметно внедрять жертвам?
318 1797812
>>797802
ну некоторые скрепты все же собираются в эхешники через путуэхе и пуинсталеры всякие, мимо
15987496212700.png235 Кб, 679x462
319 1797819
>>797796
Да нахуй оно мне это надно.
320 1797821
По ошибке указал, что последняя работа была три месяца позже, чем на самом деле. Сейчас идет проверка и мне говорят, где три месяца, чувак? Если я честно признаюсь, что в глаза проебался, то меня все равно нахуй отправят? Или что можно сказать?
Походу 5 часов и месяц интервью улетают в дупу. :(
pro.jpg18 Кб, 512x186
321 1797825
>>797819
Счастливого пути.
322 1797859
>>797802
На чем лучше писать малвари?
Если есть это
>>797812
101-5ece1df6555b0700.jpg44 Кб, 700x538
323 1797864
>>797731

>Нет, асинхронность работает в 1 треде


А можно сделать многопоточность с асинхронностью с каждом потоке?
Или это слишком сложно и там куча подводных камней?
screencapture-upwork-jobs-012f980f416f90affc-2020-09-05-111[...].png470 Кб, 1920x3760
324 1797865
Сколько такая хуйня стоит, регулярно приходит.
Швайноиндусы с 6 сразу мимо, мой выставленный рейт в 40 тоже маловат, сколько?
Всякие куберйобы и терраформы не знаю, но можно и подучить.
325 1797869
>>797821
Если не признаешься и найдут - все равно ведь нахуй отправить могут
326 1797870
>>797864
Можно. Я все ебусь с оберткой-классом Process, чтобы как в GoF красиво было.
Суть в том, что каждый тред/процесс должен запускать свой eventloop.
327 1797871
>>797821
Ну а какие варианты есть кроме признания?
328 1797873
>>797870
И всё равно стоит вопрос >>797685

>вы часто используете асинхронность?


>Как в ней попрактиковаться?


Ну, со вторым вроде выяснили, что можно чат написать.
А что насчёт первого? Если ты не с какой-нибудь обработкой видео работаешь, то насколько часто асинхронность нужна?
329 1797880
>>797873
Обработка видео не I/O, CPU bound.
330 1797881
>>797871
Кто проверяет? Кадровик? Ну тогда объясни что проебался в резюме, если требуют код, то говори о NDA и шли в хуй. Не понимаю в чем проблема.
331 1797885
>>797881

>Кто проверяет?


Скорее, служба безопасности.
Мимошёл
332 1797932
>>797796
кста, а не подскажешь что-нибудь про тестирование нагрузки сервера, типо сымулировать трафик в 200к как в erlang делают (смарел какую-то презентацию аля python vs erlang), спрашиваю у тя так как видно ты компетентен
333 1797951
>>797932
Yandex.Tank
334 1798107
>>797881
Ты не тому ответил, я у него же и спросил, какие у него еще варианты
image.png92 Кб, 1272x820
335 1798111
Аноны, 2 день сижу, помогите плз. Есть ссылка https://pastebin.com/raw/hfMThaGb Надо с нее вытащить все <a> теги и из них юрлы, причем о резать вот так:

ftp://mail.ru/distib -> mail.ru
<a href='http://neerc.ifmo.ru:1345'> - > neerc.ifmo.ru

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

Самый близкий к нужному эффект дает urlparse(link).netloc, но он не справляется например с такой хуйней в конце домена ":1345", и ссылки типа bya.ru отправляются нахуй.
image.png76 Кб, 1650x580
336 1798135
>>798111
Я отчаялся и начал делать регулярками, не понимаю, какого хуя первая и последняя буква обособляются в отдельную группу...
337 1798154
>>798135
просплить урл по слешу, а в той части где будут точки просплить по двоеточию и возьми первую часть
338 1798174
>>798111
Я бы сделал проверку на наличие http или https, а потом бы срезал всё, что не находится между // и /, т.е. как раз твой адрес.
Мимонюфажек
339 1798206
Как написать скрипт, который будет блокировать ту или иную программу на компьютере(виндовс) по расписанию? Скрипт нужен только для одной программы. Это вообще сложно сделать? Сам я изучаю питон чуть больше недели и пока даже не представляю, как к такому подступиться.
Вообще звучит очень просто, но на деле хуй знает.
340 1798208
>>798206
Также думаю, что можно прописывать нужные адреса в хосты, чтобы программа открывалась, но не работала. Такой вариант меня тоже устроит. Как проще сделать?
Самое главное, чтобы всё по расписанию было.
341 1798210
>>798206
Что значит блокировать? Чтобы она не запускалась?
Можно по процессам лазать и рубить ее нахуй, например.
342 1798213
>>798174
там в сэмпле есть ссылки которые начинаются на frp://, а еще есть ссылки вообще вида mail.ru/huipizda, но вообще я уже с юрлпарс получше разобрался и через него сделал
343 1798215
>>798210
Да, чтобы она не запускалась в определённое время. Но при этом в другое время должна запускаться.

> Можно по процессам лазать и рубить ее нахуй, например.


это сложно сделать? что гуглить?
344 1798216
Посоветуйте вкатышу курс/книгу (лучше какой-то курс с задачками мб) по изучению джанги, чтобы прям вообще для дебилов (ру/англ не важно)
345 1798217
>>798215

>тобы она не запускалась в определённое время


Не очень понимаю формулировку "не запускалась". А запускается она как, по планировщику ОС или ее пользователь не должен запускать?
Если рубить процесс не вариант, то нужно способ к конкретному случаю подбирать.

>это сложно сделать? что гуглить?


python kill process by name пробовал в гугел вводить?
346 1798218
>>798217
Я так понял он хочет просто ип, к которому прога обращается кидать в хостс
347 1798231
>>798217
Я включаю прогу и она должна вообще не запускаться или сразу после запуска выключаться.
>>798218
А это второй вариант, если первый слишком сложно сделать.
348 1798233
>>798231
Если тебе нужно сделать аля кряк, то лучше поищи в инете, 99% что это уже сделали. Фотошоп например частично так крякается + хосты заворачиваются в анус, чтобы он не лез стучать.
349 1798235
>>798233
Нет же. Мне нужно, чтобы я не мог запустить программу в определённое время, чтобы не отвлекаться на неё. Типа как блокировка сайтов, но только программ.
350 1798237
>>798235
Боже, ты настолько слабовольный? Выведи себе вместо ярлыка запуск через батник, который проверит время, и если оно то самое, то вместо запуска пошлет тебя нахуй.
351 1798264
>>798216
Бамп...
14125003729420f0dw0.jpg69 Кб, 604x604
352 1798281
>>798216
Лутц.
image.png62 Кб, 300x300
353 1798302
354 1798311
>>798216
я посмотрел хауди хо джанга за час но оказываеца надо было знать питон пришлось смотреть питон за час и мне сразу пазванили и пригласили за 299к/наносек бэкенд делать, но я ж не дурачок себе цену знаю и среднюю цену на рынке и нахуй их послал они еще какую то хуйню про сикать спрашивали сикуль какой то извращенцы ебаные на сиках помешаные с такими разговор кароткий
355 1798322
>>798216
Прохоренок Python3 и PyQT5
356 1798333
>>798322

>Python3 и PyQT5


Думаю это рано еще для него, сначало надо выучить с десяток гофовских патернов, прежде чем предисловие читать , или это тролинг какой то?
357 1798342
>>798333
В первой части этой книги - классика - переменные, типы, циклы и прочее.
А PyQT5 вторая часть книги посвящена. Её можно пролистать по диагонали. Или вообще не читать.
358 1798366
>>798342
Ну соглашусь, ты меня убедил, пожалуй для изучения джанги лучше книги на данный момент не найти
359 1798367
>>798237
Да, получается настолько слабовольный. Попробую сделать батник, спасибо.
360 1798369
>>798366

>ты меня убедил,


Зря, там питон, а не джанга.
Для джанги в Оп-посте посмотри.
Или тут
https://progerlib.ru/django-books
361 1798377
>>798367
да я другой чел, а тот чел с самого начала про джангу спрашивал
362 1798381
>>797865

>первый отзыв


>контент врайтер


Ну 10 баксов дадут тебе в час.
363 1798384
>>797881
Они звонят в контору же, там кадровик говорит РАБотал ты у них или нет, какие даты.
364 1798387
>>798384
СИДИШЬ НА УЮТНОЙ РАБОТЕ, ЛЕНИВО ИЩЕШЬ МЕСТО НА ВЫРОСТ ПОЛУЧШЕ
@
ПРОШЕЛ СОБЕС, ТЕБЯ ГОТОВЫ ВЗЯТЬ
@
БЕЗОПАСНИКИ ЗВОНЯТ ХРЮШЕ С ТВОЕЙ ТЕКУЩЕЙ РАБОТЫ

трустори кстати
365 1798390
>>797865

>120+ микросервисов


Соа говно, микросервисы заебись.
Когда уже микросервисы станут тоже говном, а в треде будут наносервисы, чтобы совсем для каждого чиха был отдельный сервис?
366 1798445
>>797865

>Сколько такая хуйня стоит


20-25
367 1798448
>>798387
Чего хрюша потом сказала?
368 1798450
>>798448
Рассказала начальнику, тот подвалил ко мне с темой "ты там охуел работу искать у меня за спиной, что не нравится тебе?".
Посрались в итоге на этой теме, когда я сказал ему, что это он охуел хотеть, чтобы я с ним согласовывал свои жизненные решения, и что в следующий раз позвоню ему когда буду цвет труселей выбирать себе.
Он потом извинился. Сказал, что вспылил, что понимает, мол важно смотреть рынок периодически.
Но я все равно ушел, только в другое место уже.
369 1798494
>>798450
Нихуя ты кремень. Странно, что он тебя в тот момент не уволил.
370 1798509
>>798494
Почему он должен был его уволить? Есть договор, если договор не нарушается, то всё в порядке. Работа по найму это не клятва верности.
371 1798511
>>798509
н...но...ведь...часть корабля — часть команды....нельзя посонов подставлять)))
372 1798522
>>798511
Это что-то из пхп или 1с мирка
373 1798541
>>798494

>Не уволил


Орнул. У нас тут крепостничество в ОйТи развито? Ещё бы про розги вспомнил
campfirehabitablezone.png51 Кб, 438x260
374 1798600
>>793243 (OP)
Хвощ, какие книги посоветуешь для знакомства с REST API?

Есть RESTful Web APIs by Leonard Richardson, Mike Amundsen, Sam Ruby
Норм или с 2013 года она морально устарела?
375 1798604
Python3.9, аномалия потребления памяти.

Сравним два сценария:

1. https://github.com/hakavlad/nohang-extra/blob/master/NOH_39_FAT/2/1
2. https://github.com/hakavlad/nohang-extra/blob/master/NOH_39_FAT/2/2

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

Однако:

Первый скрипт при запуске потребляет 12000 кб анонимной памяти (VmRSS: 16 MiB).

Второй - 3800 кб анонимной (VmRSS: 8 MiB).

В чем подвох? С более старыми версиями проблемы не было. С новым интерпретатором - аномально высокое потребление анонимной памяти. Это норма? Каково возможное объяснение явления?
image.png49 Кб, 597x557
376 1798635
Анон, пояни за scikit.
Есть код (пикрил), который на основе невероятного датасета рисует границы принятия решений.
Вопрос - как? Как сука он это делает?
Я понимаю что в coef_ записан "тангенс угла наклона", а в intercept_ сдвиг по оси y.
Но простого понимания как все это рисует линию ("a = -(line * coef[0] + intercept) / coef[1]") нет.
Кто нибудь, обьясните долбаебу (мне) как это работает.
377 1798655
>>798604
Потому что это не stable версия? На сайте предлагается 3.8.5. А так смотри issues и переписки пепцов.
378 1798682
Аноны, дебильный вопрос про пучарм. Пытаюсь начать ковырять джангу, и нужно ковырять файлики из двух разных папок на одном уровне (подчеркнуты красным на первом пике). Но смотрим на 2й пик, слева видно только содержимое собственно папки мейн, как подняться на папку выше, открыть папку майсайт, и файлик из нее тоже открыть?

А то не хочется пучарм в тысяче окошек открывать, хочется чтобы все файлы были вкладочками в одном окне (у автора курса который смотрю саблайм, и не очень хочется еще и с ним разбираться, там это удобнее я так понял)
379 1798707
>>798682
file->open->dir
380 1798862
йо, питонеры. в шараге нужно потыкать win32 api и порекомендовали писать на шарпе или плюсах. знаю, что для питона есть pywin32. так вот вопрос, стоит ли вспоминать плюсы чебы написать эту сраку или легче будет изучить pywin?
381 1798894
Бля, как же сложно джанго учить. Такое ощущение, что на тебя вываливают сразу грузовик каких-то непонятных деталей, которые хз как взаимодействуют, хз с чего начинать и все такое. Берешь курсы - ну мы скачали джанго, вводим команду и вдруг ХУЯК У ТЕБЯ ВЕЗДЕ МИЛЛИОН ФАЙЛОВ, ВСЕ ДРУГ У ДРУГА НАСЛЕДУЮТ ШОТО, КУДА СМОТРЕТЬ ХУЙ ЗНАЕТ.

Так и должно быть, или я рано полез?
До джанги изучал просто питон и его синтаксис и задачки решал, ну от совсем базовых типа как цикл for работает, заканчивая какими-то основами ооп и классов, реквестами, несколькими популярными модулями.
382 1798969
>>798894
Ну хуй знает, чем тебе помочь. Практика, практика. В Джанго 4 базовых вещи - urls, models, views и settings. Вначале создаём модели в models. Затем создаём урлы в urls, чтобы принимать get и post запросы. Во views принимаем request, пишем/читаем из моделей и отдаем response. Вот это надо понимать.
Это был платный курс по основам Джанго, с тебя $50, Антон.
383 1798970
>>798969

>Это был платный курс по основам Джанго, с тебя $50, Антон.


Хуесосы с яндекса теперь и в треде.
384 1798972
>>798682
File-open-learndjango-mysite
385 1798988
>>798969
Ага, как 50 баксов этой самой джангой заработаю.
386 1798994
>>798969
Но вообще смущает то, что после того, как я поучил синтаксис такое ощущение, что все, что я учил пошло нахуй и неактуально, тут из самого питона одни импорты ну и классы, а так куча каких-то своих методов, функций, хуй разберешься. Понятно, что есть документация, но просто сидеть и читать документацию мне кажется это не путь с нуля, нужно понимать, что ты в ней ищешь, чтобы нормально пользоваться
387 1799003
>>798994
А ты как хотел. Каждая крупная библиотека закрывающая свои задачи - фактически отдельный язык. А то и два, если на стыке питона и, например, джаваскрипта... А то и три. Четыре...
388 1799005
>>798994
загугли про mvc и про паттерн command почитай
https://refactoring.guru/design-patterns/command
389 1799037
>>798970
Хуесосы с яндекса бы это растянули на несколько месяцев ващет.
390 1799038
>>799003

>на стыке питона и, например, джаваскрипта


джаваскриптопитоновый_швайнекарась.жпг
image.png20 Кб, 372x372
391 1799041
>>799038
Нужно сребрендить, ты прав.
392 1799042
книга доусона норм по пайтону?
393 1799045
>>799037
Так-то у яндекса отличный адаптив, и крайне объемный, в спринт укладывают то, что по-хорошему месяц учить, а потом еще и проект по этому делать.

Только дорого пиздец просто, конский ценник. Откуда у них студентов-вкатывальщиков столько, способных по 120к выложить. А потом говорят что в россии бедных много.
394 1799051
>>799045

>А потом говорят что в россии бедных много.


Я таким же вопросом задаюсь, когда вижу, как раскупают квартиры за оверпрайс в новостройках за считанные недели, когда вокруг меня ездят дорогие машины, и это в регионе со средней зарплатой меньше 30к, а медианная наверно вообще ближе к 20 чем к 30.
Скажете - да они все в кредитах, ипотеках. Согласен отчасти, но ты блять иди ипотеку с автокредитом возьми при зарплате в 20-30к. Еще и детей при этом заводят, и одевают нормально.
395 1799054
>>799051
Ну в моем городе все под чистую скупают Казахи, так что ответ хоть на один вопрос у меня есть.

Но когда я увидел сколько вкатывальщиков в яндексе - я прихуел. Особенно в питон. Там по сотне людей в месяц к ним поступает только на бэкенд на питоне. Аналитиков и сатанистов тоже дохуя. Эдак скоро на одну вакансию будет конкурс, как на дворника.
396 1799056
>>798541 >>798509

Ну я из США пишу, поэтому забыл уже как там у вас, я был молодым, когда уехали. Здесь за такую хуйню выкидывают на улицу.
397 1799057
>>799054
Так и есть, до этого момента нас спасала конченая система образования в снг, которая умеет готовить не те кадры, которые нужны, а которые были нужны.
398 1799063
>>799056

>Ну я из США пишу


Земля тебе пухом.
399 1799077
>>798994
Все постепенно. Основной вопрос в разработке - какие данные нужно отправлять по обращению к адресу? Это будет html или json? Html? Отлично. Будем использовать шаблон из папки templates. А затем строка за строкой - реализуем. Этот базовый механизм нужно понимать. На этом этапе не нужно знать все, потому что всего крайне дохуя и оно пока лишнее. От всей статьи про протокол http нужно лишь два метода - get и post. Даже коды ответа от сервера (200, .. 500) можно не знать, т.к. Джанго умное и само вставляет нужные коды в response. Вообще Джанго выполняет много работы внутри, оставляя на поверхности синтаксический сахар для удобства реализации первичного функционала - перехода по urls. Что ещё нужно - использовать дебаггер - в pycharm он крайне удобный - чтобы останавливаться на нужных строках кода и смотреть в переменные. Найти там объект request, например )
400 1799084
Насколько большим может быть словарь для быстрой работы питоноскрипта? Типа миллион ключей со значениями уровня "десять тысяч списков строк" с постоянным добавлением туда, поиском и удалением этих ключей будет нормально работать или лучше это куда-то записывать? В базу данных там или еще куда. Как нормальные пацаны делают?
401 1799088
>>799084
Хуй знает что ты делаешь такое, чтобы задавать такой странный вопрос, но звучит как кейс для redis
402 1799095
>>799084

>Как нормальные пацаны делают?


Делай самым простым и быстрым способом. Появятся проблемы - начнешь думать об оптимизации.
403 1799098
>>799095
Мне кажется, если у него возникла необходимость держать в памяти словарь на миллионы ключей и как-то дрочить его в процессе, то он с самого начала сделал что-то не так.
404 1799100
>>799084
А не проще ли нормальную бд развернуть и обращаться к ней с алхимией?
405 1799101
Как вообще ситуация с бэкэндом обстоит? Реально вкатиться с нуля на стажировку?
406 1799102
>>799098
ну на миллионы это я загнул но просто интересно, нормальная ли это практика работать с большими словарями
>>799100
не знаю, может и проще как раз, но никогда не работал
407 1799104
>>799102
Ну я под такие кейсы на серваке разворачиваю постгресс, потом уже из него скриптом получаю информацию, обрабатываю и записываю обратно. Но я хуй знает что у тебя там.
408 1799122
Аноны, я только начал питон тыкать, до этого еще посмотрел ксс хтмл, думал, фронт или бэк мне интереснее, и возник такой вопрос, вот анон выше про джанго спрашивал, я сейчас маленько посмотрел, а чем собственно ее профит? Ну весь дизайн же можно просто сделать в хтмл с кссом, вбить в а таги ссылки на другие странички, которые прихуяришь к сайту, всякие красивости жаваскриптом доделать типа всяких менюшек и т.д.

Единственное, что мне вообще непонятно сейчас с моего нубского уровня - это как заставить работать нарисованную мною допустим кнопку логина (я понимаю, что "единственное" это громко сказано, и в этом и есть огромная суть бэка, но все же). Т.е. всякие фласки и джанго это то, что работает с базой данных и выдает из нее данные, когда мы жмем на сайте кнопки? Т.е. условно отвечает за регистрацию, логин, переписку допустим, да?
409 1799124
>>799122
Джанго больше не для интерфейса, а для бэкенда. Всякая обработка запросов, выдача тебе нужных страничек, взаимодействие с базами данных. На фронтэнд чаще что-нибудь адекватное используют, Vue, например.
123.PNG8 Кб, 347x200
410 1799150
Необходимо реализовать таблицу рекордов при помощи модулей pickle и shelve, которая будет храниться в бинарном файле.
Режим доступа ab+ это дозапись и чтения из бинарного файла.
Но почему-то, сохраняется только первые имя - рекорд.
Подскажите, что я делаю не так?
411 1799157
>>799150
Сори, я тебе ничем не помогу, сам недавно начал, но другой вопрос, зачем вообще делать как на твоей пикче, типа f = open... когда есть охуенная штука с with open... которая сама закрывает файл и визуально куда приятнее и читабельнее?
412 1799158
>>799157
Это одно из заданий из книги, думаю их лучше проходить предложенным способом . А конструкции с with из другой темы.
413 1799159
>>799157
чем же она такая охуенная?
414 1799161
>>799101
Реально, рынок очень голодает по бэкэнд специалистам а особенно если еще и по петону, в половине случаев сами всему обучат лишь бы были желающие, сам вкатился джуном после просмотра хауди хо джанго за час
415 1799162
>>799161
час долго, есть на полчаса видосик, после которого хотя бы на сотку возьмут?
416 1799163
>>799158

> заданий из книги


что за книга?
417 1799165
>>799162
идеальным вариантом будет включить х2 скорость у видео и параллельно начать раскидывать резюме повсюду, хотя это необязательно, обычно не успеваешь досмотреть видео до конца, как хрюши начинают звонить и готовы на все что угодно лишь бы ты к ним пошел
418 1799182
>>799165
Можно хотя бы на полтинник вкатиться чтобы в рабочее время обучаться?
419 1799187
>>799182
Да а зачем обучаться? берешь таску пару строчек говна высираешь, а потом тащишь это вместе с заданием сюда, а аноны решают пока сам в это время думаешь как будешь тратить свои кк в наносек
420 1799213
>>799187
А если без прибауток, то какой минимум примерно для работки на галере бэкендером?
421 1799225
Помогите плиз, передать айдишник(data.id) из шаблона в форму, он отображается в инпут. Файл загружается, если id прописать вручную, как на первой пикче.
422 1799657
>>794292

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


Хуя, джуном взяли без знания гита. А какой оклад?
423 1799663
>>795303
>>795309
>>795332
>>795693

Всё куда проще чем вы думаете. Мидл это не тот человек, который много знает, а тот, кто умеет решать задачи поставленные бизнесом самостоятельно. Умеешь решать задачи с определенным стеком самостоятельно? Ты мидл.
424 1799683
>>799663
А если твои задачи это клепать формочки в сделанном до тебя инструментарии или написать 2 sql запроса в неделю?
425 1799694
>>799683
То ты мидл верстальщик :)
Ну не нужно утрировать, вряд ли такой объем работы встретишь в 2к20.
426 1799696
>>799694
смотря где работаешь
я работал в банке одном, где был чел в "отделе разработки по"
насколько я помню, он разработал в доисторические времена дрочилку на delphi для запроса и разбора xml кредитной истории с какого-то бюро
и несколько лет сидел ее поддерживал, иногда дрочил хранимки для другого старого говна, но это было редко
427 1799736
>>799657
тоже в ахуе, как блят залетел туда
428 1799742
Полгода назад создал сделал дрочилку для подключения к оракловой базе и отработке некоторых данных.
Сейчас понадобилось разово сделать почти то же самое, только с другим запросом.
Создаю в том же сука пичарме проект, на той же версии питона. Устанавливаю той же персии cx-oracle.
И он мне пиздит, что на компе нет оракл клиента. При этом предыдущий проект с ровно той же конфигурацией заебись работает.
Ну и параша ебаная блядь.
429 1799768
>>799742
Тупо скопировал модули из другого venv и заработало.
На всякий случай проверил на новом проекте, слил последнюю версию либы, в ней та же параша.
Сука уроды нахуй они старые версии в репозитории перепилили, конченые блядь.
Возможность программировать, собирая приложение из чужих кубиков, дико увеличила производительность и возможности одного человека, но за это приходится платить тем, что тебе кто-то в салат насрет когда не ждешь.
430 1799769
>>799742
попробуй окружение с прендыдущего проекта взять
431 1799804
>>794292

>что мне нужно делать с самого начала


принять факт что гит кривое говно и начать разбираться в этом говне (читать читать читать читать и еще раз читать)
432 1799858
>>799768
Pipenv
433 1799884
>>799663
Ну ок. А о каком уровне Решения мы говорим? Сказали сделать и ты сделал? А как же проектирование и тп? Я имею в виду что это работа командная, тебе дали какой-то модуль, ты знаешь его запилить грамотно. Но без опыта работы ты мидлом не будешь, даже, если ты умеешь решать задачи.
434 1799892
>>799657

>А какой оклад?


55к. ДС-2
435 1799895
>>799063
Чому? Топ-5 страна на изи.
436 1799908
>>799663
Прошел собес на мидла, и решил что еще рано мне, в итоге отказался.
437 1799910
>>799908
Тебя забрили или сам отказался, здесь можешь не врать.
438 1799911
>>799910
Нет, оффер даже прислали на почту после собеса.
439 1799912
>>799911
Пиздец, на хх писал чтоли? Меня там - одни отказы, не приглашают.
440 1799914
>>799912
Меня сами зовут на собесы.
441 1799920
>>799908
Ну и дурак братишка.
442 1799927
>>799920
Почему, у меня просто сейчас зона комфорта, да зп гораздо ниже, но пишу в одно лицо проект. Так сказать архитектор лол.
443 1799929
>>799927

>у меня просто сейчас зона комфорта


Так ведь это еще хуже. Не развиваешься
444 1799935
>>799929
Наверное да, хотя я постоянно учу новое, да и на этом проекте приходится добавлять разные технологии, вот сегодня выкатили еще требования. Ну и приходится быть девопсом, так как у нас не мог их набрать. По сути у меня только фронты и тестеры есть, все остальное я делаю, да и то тестеры не могут в авто тесты.
15513916884060.jpg50 Кб, 449x449
445 1799968
Одна и та же SampleForm.exe в C# и Python.

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

Чому так?
446 1799971
>>799968
так то либы винформса не лежат рядом с ехе. ваш кэп
а винформс могет в линукс?
447 1799974
>>799968
Компилированная хуйня vs Интерпретируемая хуйня, хммм, почему же так долго
448 1799978
>>793243 (OP)
private async Task Cheburek()
{
await Task.Run(() => Kek());
}

Приведите настолько же изящный пример вызова асинхронной функции в Питоне, и я съем свою шляпу.
449 1799982
>>799974

>Интерпретируемая хуйня


Мне тут говорили, что pyinstaller из питоноскрипта высирает на выходе компилированную хуйню.
450 1799984
Посоветуйте, на чем потренироваться для Jango. Что попилить, попытаться реализовать (только не сложное, совсем бегиннер левела).
451 1799985
>>799982
то что питон внутри компилируется в pyc/pyo не значит что язык перестает быть динамическим. Всего лишь не тратится время на разбор кода.
452 1799990
>>799984
Потренируйся правильно писать название.
453 1799991
>>799984
Напиши свою имиджборду.
454 1799994
>>799984
повтори все что есть в видео хауди хо джанго за час, я вот даже думаю написать книгу по видео хауди хо джанго за час офк станет бесцелером а потом еще можно и пару кинолент снять по ней
455 1800000
>>799994

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


Это как Прохоренок на пол книги скопипастил доки Qt без пояснений, и гляди-ка — "Создание оконных приложений на PyQt" за косарь рублей.
456 1800029
>>796965
Сори. Забыл отправить сразу. Надеюсь, поможет.

Ну да. Там такое: render - это функция, которая собственно формирует окончательный html-код на основе шаблона. Она принимает по дуфолту три параметра:
1. request (ты его получаешь ещё как входящий параметр в функции)
2. путь к шаблону относительно папок template
3. словарь с наборами ключ-значение, где ключами выступают текстовые значения, а значениями... значения, которые им будут соответствовать, в html-код вставится их текстовое представление.

Зачастую словарь заполняют прямо в параметрах функции, но я сначала его собрал и потом передал одной переменной. Ну "Красивое лучше, чем уродливое", "Явное лучше, чем неявное", "Читаемость имеет значение" - вот это вот всё. Главное, за что я для себя выбрал пайтон (ну и универсальность, конечно, тоже).
Есть ещё альтернатива - функция locals(), её можно передать третьим параметром и она зашлёт темплейту все использовавшиеся локальные переменные.

Соответственно в тексте шаблона инструментами шаблонизатора djinja ты можешь подставить в конструкции {{ }} ключ из того словаря и эта конструкция заменится на str() значения по этому ключу.

Объясняю я не идеально, а тут ещё показывать надо бы, но, надеюсь, понятно.
Вот здесь достаточно понятно и с примерами, но читай внимательно, к чему они подводят - это по старому джанго 1.10 и сейчас render_to_response неактуален.
https://overiq.com/django-1-10/loading-templates-in-django/
Примерно оно же по русски, но меньше кода и тоже старая версия:
https://djbook.ru/ch04s06.html

Вот тут хорошо про locals по пути можно подохуеть с прогресса в области автоперевода, даже не сразу понимаешь, что изначально текст был не низшем эльфийском:
https://fooobar.com/questions/2153525/django-using-locals

Вот про использование языка шаблонов... на первый взгляд хорошо написано:
https://djbook.ru/rel3.0/ref/templates/language.html

Хм-м... Интересно. Тут и ещё в паре мест говорится, что Djinja нужно устанавливать и импортировать отдельно, но при этом если её не устанавливать (в pip list её нет), то там что-то типа встроенного языка шаблонов работает по сути так же, как описано на сайте дзиндзи... Возможно, это придётся иметь в виду в требованиях к автору фронтэнда.
456 1800029
>>796965
Сори. Забыл отправить сразу. Надеюсь, поможет.

Ну да. Там такое: render - это функция, которая собственно формирует окончательный html-код на основе шаблона. Она принимает по дуфолту три параметра:
1. request (ты его получаешь ещё как входящий параметр в функции)
2. путь к шаблону относительно папок template
3. словарь с наборами ключ-значение, где ключами выступают текстовые значения, а значениями... значения, которые им будут соответствовать, в html-код вставится их текстовое представление.

Зачастую словарь заполняют прямо в параметрах функции, но я сначала его собрал и потом передал одной переменной. Ну "Красивое лучше, чем уродливое", "Явное лучше, чем неявное", "Читаемость имеет значение" - вот это вот всё. Главное, за что я для себя выбрал пайтон (ну и универсальность, конечно, тоже).
Есть ещё альтернатива - функция locals(), её можно передать третьим параметром и она зашлёт темплейту все использовавшиеся локальные переменные.

Соответственно в тексте шаблона инструментами шаблонизатора djinja ты можешь подставить в конструкции {{ }} ключ из того словаря и эта конструкция заменится на str() значения по этому ключу.

Объясняю я не идеально, а тут ещё показывать надо бы, но, надеюсь, понятно.
Вот здесь достаточно понятно и с примерами, но читай внимательно, к чему они подводят - это по старому джанго 1.10 и сейчас render_to_response неактуален.
https://overiq.com/django-1-10/loading-templates-in-django/
Примерно оно же по русски, но меньше кода и тоже старая версия:
https://djbook.ru/ch04s06.html

Вот тут хорошо про locals по пути можно подохуеть с прогресса в области автоперевода, даже не сразу понимаешь, что изначально текст был не низшем эльфийском:
https://fooobar.com/questions/2153525/django-using-locals

Вот про использование языка шаблонов... на первый взгляд хорошо написано:
https://djbook.ru/rel3.0/ref/templates/language.html

Хм-м... Интересно. Тут и ещё в паре мест говорится, что Djinja нужно устанавливать и импортировать отдельно, но при этом если её не устанавливать (в pip list её нет), то там что-то типа встроенного языка шаблонов работает по сути так же, как описано на сайте дзиндзи... Возможно, это придётся иметь в виду в требованиях к автору фронтэнда.
457 1800037
>>799994

>хауди хо джанго за час



Поясните мимокроку, в чем мемас? (в рот ебал полуторачасовые видосы смотреть, в которых еще и не пойму нихуя)
458 1800043
Расскажите, откуда вы книжки пиздите? В шапке вроде старые издания, а хочется свежака, чтобы потом не разбираться дополнительно, что за годы изменилось, на рутрекере и флибусте (хуй знает откуда еще книги пиратские качать) даже укуса питона нет (на рутрекере укус есть в редакции от 2009)
459 1800045
>>800037
Советуют всем рандомную хуйню, наверное.
То же с этим вашим укусом.

>>800043
Свежая пиратчина на sanet, несвежая на libgen. Но это оригиналы.
Переводную хуйню слабо воруют, мало кому это нужно, да ещё и зачастую в виде говносканов.
460 1800046
>>800043
Покупаю в вк документах, а так же в лицензионных телеграмм каналах официальных представителей
Also:
" укус питона filetype:pdf " в гугл
461 1800052
сап двощ, скажите, вот я прочитал укус питона, можно ли уже пытаться устроиться на работу, или что-то еще по мелочи изучить надо?
462 1800055
Ребят посмотрел немного Хауди Хо как установитб обои как у него? Он их с помощью питона сделал? МОжет подскажете как код написать как унего?
463 1800060
>>800055
from Steam import Wallpaper_engine
.jpg35 Кб, 640x501
464 1800139
Питонач, я пытаюсь научиться работе с udp. Сначала использовал socket.recv()? У меня как-то получается, что если я пошлю несколько сообщений достаточно быстро, то они в буфер залезают все целиком. При этом некоторые сообщения по байтам \x00 разваливаются, так что их декодировать не получается. Затем я попробовал воспользоваться UDPServer с ивентом handle, но там такое же поведение со склеиванием сообщений. Я понимаю, что датаграммы могут как угодно приходить, но есть ли возможность обрабатывать датаграммы по отдельности, а не читать из буфера и получать битые сообщения? Не может же быть, что это фича TCP.
465 1800169
Как локально установить библиотеки? Есть у меня набор файлов-библиотек. И мне надо установить их не через pip, а только с помощью файлов.
Может кто-нибудь полному нубу расшифровать? Те решения которые я нахожу напоминают ту картинку "нарисуй сову". Скопируется на локальный диск - изменить директорию path на pip install и т.д., в общем вообще непонятно.
466 1800171
Посоветуйте плис каналы, чаты по питону в тг. Кидали как-то чатик по джанго - проебал. Можно подобного плис.
467 1800172
>>800169
в окружение их себе засунь
468 1800173
>>800172
Что это значит? У меня вообще через конду все. Если просто запихать в ее библиотеки, то библиотеки пишутся как установленные, но сами библиотеки не работают, лол.
Я тепенький.
469 1800175
Вот все советуют запилить свою борду. А можете пошагово сказать как и на чем, джанго подойдет для этого или выбрать другой фреймворк? Надо самому пилить или опять же заюзать фреймворк? И что даст если я все таки напишу. Какой опыт.
470 1800178
>>800175
На джанго.
471 1800180
>>800178
Так ясно. А вот, как быть с хтмл и ксс? Остальное я понимаю. А вот этим дзинзи, бутстрапы - наводят страх на меня.
472 1800181
Какая перспектива писать игры под андроид на киви и продавать их, купят?
473 1800182
>>798894
Проблематика написания http серверов, работающих с базами данных, она сама по себе непростая. Недостаточно просто знать питон чтобы сразу начать писать приложения на джанге.
474 1800184
>>800180
верстай сам, раз страх наводит
475 1800185
>>800181
Бросай эту затею. Учи жаву/котлин. Экономлю тебе год жизни.
>>800139
Везде в гугле recvfrom используется для удп.
476 1800198
>>799935

>да и то тестеры не могут в авто тесты.


Ебать, что там у вас за мешкоштат.
477 1800201
>>798894
Тебе для начала надо просто полуркать как веб-сервисы работают и взаимодействуют, что такое реквест-респонз, их методы, что такое RESTful API, изучить хотя бы немного базы данных, и тогда будет всё понятно. Джанга на самом деле проста и удобна для разработки.
478 1800203
>>800181
Писать и продавать это разные вещи.
479 1800216
>>799978
Ну так че, нетути?
480 1800280
>>800216

> The Run method queues code to run on a different thread (usually from the "thread pool", which is a set of worker threads managed for your application by .NET)



Есть.

https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.run_in_executor

Про гил мы все в курсе, можешь не напоминать.
481 1800313
>>800185
У recvfrom такое же поведение. Насколько я понял, recvfrom позволяет еще и адрес отправителя прочитать. Данные же опять из буфера кусками читаются
482 1800314
>>800280
Чет сложно. Где изящество?
483 1800319
>>800313
Код показывай
484 1800322
>>800280
нету. асинхронной ламбды не найдешь
485 1800333
Еще тип Future для шарписта просто WTF какой то
486 1800366
>>799884

> Но без опыта работы ты мидлом не будешь, даже, если ты умеешь решать задачи.


Моего знакомого через месяц работы джуном сразу сделали мидлом. Комерческого опыта не было, но было нихуевое количество пет проджектов в портфолио. Так что опыт опыту рознь, все сводится к умению решать задачи самостоятельно.
487 1800372
>>799892
Для ДС маловато, хотя бы 60 после вычетов со всякими плюшками типа ДМС. Но если ты студент, то в принципе норм.
488 1800376
>>799742
Вангую, что винду юзаешь)
489 1800391
>>800314
Где ты в шарпе изящество нашёл? Я без гугла вообще не понял что делает Task.Run. Ехал имплисит через имплисит.
490 1800397
Что можно написать на питоне на продажу? Что востребовано? Для фриланса или для конторы. Или чисто если самому, и продавать потом как делают инфоцыгане с курсами, только не сам курс, а чудо-программу.
491 1800421
>>800391
Это синтаксический сахар, чтобы не заебываться. Очень удобно, когда надо нажать на кнопочку на форме и чтобы приложение не висло.
492 1800422
>>800397

>на питоне


>на продажу


Все, что ты можешь предложить, уже давно лежит в общем доступе на гитхабе, бизнесмен ты наш.
493 1800423
>>800422
Ну вот, нахуй он тогда вообще нужен? Куда его можно воткнуть? Писать барс для поликлиник? Если говорить о работе на дядю, или писать парсеры для тупоголвых на кворке?
494 1800425
>>800423
А он и не нужен.
495 1800426
>>800423

>нахуй он тогда вообще нужен?


Проект автотестов вести.
496 1800433
>>800422

>уже давно лежит в общем доступе на гитхабе


это только для тех кому бложик поднять

А в реальном мире хоть "все написано", но спрос на программистов только растет. КО говорит, что решения общие, а задачи у каждого частные
497 1800498
>>800421
Ну если сахарить, то в питоне можно декоратор написать.

@run_in_thread
def on_click() ...
498 1800500
>>800498
вот только это совсем не то
да и сахар этот попахивает знатно
the-bike-shed-effect.jpg48 Кб, 638x404
499 1800526
500 1800532
>>800526
вызывающий код должен решать нужно ли ему запустить какой то метод в его потоке или в отдельном. И такой сахар это костыли
501 1800535
>>800532
сахар это диабет
502 1800539
>>800535
ну с питоном диабета точно не будет
там все довольно коряво
503 1800541
>>800539
есть множество других языков idris, julia, erlang/elixir выбирай любой
504 1800546
>>800541
странный довод в споре "читабельность питона и шарпа" )
image.png705 Кб, 762x800
505 1800590

>2k21


>python

506 1800614
>>800539

>там все довольно коряво


Что все?
Может, тебе еще и генераторы корявые?
lst = [i for i in range(1, 101) where i % 10 = 0]

В шарпе это решается громоздкой линковой конструкцией.
507 1800626
>>800546
а я и не спорил, мимокрокодил, увидел мессагу про сахар и решил спиздануть шо это диабет. так шо я вопросов претензий не имею
508 1800634
>>800626
в добавление скажу шо спорить о языках глупо, пошли бы и свой напейсали как аффтор closure, вместо флуда, ну или другую любую программулину
509 1800643
>>800614

>Что все?


ну мы же про многопоточность и асинхронность говорим

>тебе еще и генераторы корявые?


вообще то да. и LINQ почитабельнее будет. Ты просто привык к генераторам. Скомбинируй несколько for .. in в генераторе и посмотри насколько "легко" это читать

>а я и не спорил,


вооот. прими как данность истину, что реализация async в питоне не такая удобная как в шарпах
побрей голову и иди в монастырь просветленным
510 1800645
вот блин неудобно вот так забудешь указать на чей пост ссылаешься
>>800643
>>800626
511 1800820
tessbo.webm5,7 Мб, webm,
640x480, 1:07
512 1800887
Сап, питач.

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

Суть в чём - у меня есть интернет-агентство и мы занимаемся трафиком: разные источники данных (рекламные системы, системы аналитики и т.д.) и разные наборы данных. Хотелось бы это собрать в один какой-то удобный вид, поэтому:
Задача 1 - написать какой-то набор коннекторов с этими самыми источниками данных (яндекс директ, яндекс метрика, гугл аналитикс, колтач и т.д.).

Далее, хотелось бы это всё куда-то красиво отображать, чтобы была возможность выбрать срез, дату и т.д.,
Задача 2 - написать отображение собранных данных.
Как я понимаю, это можно сделать в Power BI и в Google Data Studio, например, да и просто в свой web-интерфейс.

Следующий шаг - это обработка и аналитика тех самых данных: прогноз, аналитика, выявление закономерностей. Вот тут, как я понимаю, и приходит очередь именно Python, потому что, как я понял, у него есть какие-то классные библиотеки и всякое такое. Ну ещё есть язык R, но для него отдельного треда в программаче нет.
Задача 3 - какая-то постобработка собранных данных.
Тут, конечно, самый сложный момент, потому что нужны математические модели, что именно куда делать, и я в этом пока не особо силён. Поэтому, данный пункт в целом пока откладывается.

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

Почта для связи - drang0.&lik2ANUSyan\DedexPUNCTUMruzXu
14531946018070.webm1,9 Мб, webm,
320x240, 0:21
513 1800897
>>800887
Да, и я достаточно регулярно тут сижу, поэтому с радостью выслушаю любое мнение или критику. Особенно интересует Задача 3 - я, получается, с трудом представляю не только реализацию, но и саму задачу: для чего вообще нужна эта постобработка?
Глобально, хотелось бы, чтобы на основании данных строились какие-то закономерности, которые можно было использовать. Например, у нас с такого источника 1 лучше конвертируется форма 1, а с источника 2 лучше конвертирует форма 2. Глазами не всегда такое получается заметить, а система сама бы выдавала подобные "находки".
Подобное вообще возможно реализовать на программном уровне? И если да - то куда мне стоит вообще сейчас обратиться, чтобы хотя бы на базовом уровне начать понимать? В Data Science?
514 1800906
Аноны, помогите, я застрял в мухосране 50к населения на 2 недели без опыта работу, нашел it офис и прошел собеседование на backend разработчика, но они работают на php7+ И node.js, сказали берем на стажировку 2-х недельную, стоит идти если делать нечего? Я не хочу с питона уходить, но мне как веб разрабу пригодится такой опыт?
515 1800907
>>800897
Сделай сначала нормальное тз. А то у тебя поток сознания.
516 1800912
>>800906
конечно пригодится. после этого ты еще сильнее полюбишь питон
517 1800914
>>800887
Звучит слишком просто, лол.
Какие тебе там мат.модели нужны? В машинное решил вкатиться чтоли?
>>800897
Ну смотри. Есть несколько главных направлений, которые у тебя применить можно, машинного:
Предсказания.
Классификация.
Всякая работа с текстом и прочими изображениями.

И всякие прочие задачи дата-анализа:
Когортный анализ.
Анализ метрик.
A/B тесты.

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

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

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

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

A/B-тесты - если у тебя до сих пор нет такой услуги, то можно ввести.
Это разбиение группы пользователей на две, одна пользуется старой фичей, другая - новой. Потом сравнивается статистически.

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

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

В общем, придумать много что можно. Это тебе на максимально простом уровне.
Чувак сверху требующий тз никогда с заказчиками не работал, лол, походу.
517 1800914
>>800887
Звучит слишком просто, лол.
Какие тебе там мат.модели нужны? В машинное решил вкатиться чтоли?
>>800897
Ну смотри. Есть несколько главных направлений, которые у тебя применить можно, машинного:
Предсказания.
Классификация.
Всякая работа с текстом и прочими изображениями.

И всякие прочие задачи дата-анализа:
Когортный анализ.
Анализ метрик.
A/B тесты.

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

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

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

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

A/B-тесты - если у тебя до сих пор нет такой услуги, то можно ввести.
Это разбиение группы пользователей на две, одна пользуется старой фичей, другая - новой. Потом сравнивается статистически.

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

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

В общем, придумать много что можно. Это тебе на максимально простом уровне.
Чувак сверху требующий тз никогда с заказчиками не работал, лол, походу.
518 1800916
>>800907
Ещё бы я умел писать ТЗ Сейчас погуглю варианты и набросаю по первым 2м пунктам, но сюда не буду уже прикладывать, наверное, логичнее будет отправить тем, кто уже с предложением напишет на почту
519 1800928
>>800914

>типа юнит-экономики, за которую нужно за яйца повесить ебанное ФРИИ



Хех, а ты разбираешься.
Ты разработчик? Или ты со стороны бизнеса как раз?

Осилил, но если это "максимально простой уровень", то видимо мне предстоит ещё много этапов понимания пройти.
Есть может какие-то курсы на эту тему? Или хотя бы - как это гуглить?

и да, буду рад, если оставишь свой контакт или напишешь на почту - спамить не буду, но вопросы позадаю, если не против
520 1800942
>>800928
Я аналитик, которому пришлось стать разработчиком, потому что разработчики - ленивые унылые хуесосы. В результате пилю сам себе инструменты и скрипты автоматизации.

Фейка не имею, а писать тебе с настоящей почты, где у меня ФИО - такое себе.
Ну из всего описанного только метрики и сложно. С ними можно только столкнуться либо случайно подглядеть в момент работы где-то. Может кто и обучает им. Статей видел пару штук по расчетам.

Остальное даже хз, как не понять.
Тебе скорее всего надо БД развернуть нормальную сначала. Что-нибудь на постгрессе, если бесплатно хочешь. Потом уже остальное. Большая часть аналитиков не ебет, как это делать. Я тоже только обращаться и работать с ними умею. Разворачивал только один раз для лулзов. Дальше уже скрипты (пайплайны) которые обращаются куда надо и туда инфу записывают. А потом уже остальное думать.
521 1801059
Сап, питонисты. Поясните один абстрактный вопрос. Оценил, какой питон классный, когда надо набросать какой нибудь скриптик для автоматизации чего нибудь, или быстро прототип какой нибудь накидать. Но как вы пользуетесь чужими библиотеками при динамической типизации? Поясню: если язык статический, ты пишешь var x = new Xyuta(), а дальше x. и наблюдаешь все методы и члены экземпляра. Таким образом можно по именам методов сразу минимально вкатиться в новую библиотеку, а какие то тонкости уже идти задрачивать в документацию. Но в питоне (и подобных) x - это для ide именно, что x. Т.е. чтобы разобраться в любой сторонней либе, нужно натурально ее всю перелопатить? Сам не программист, вкатываться не собираюсь, для себя тыкаю разное порой, поэтому прошу ответить просто и без снобизма
522 1801063
>>801059
Используй IDE. В большинстве библиотек все подсвечивается точно так же, как в языках со статической типизацией.
523 1801072
>>801063
Это так, если использовались аннотации типов, но если их нет, то ide сама не понимает ничего. В vs code, по крайней мере
524 1801080
>>801072

>В vs code, по крайней мере


Я не знаю насчет vscode, но пайчарм понимает почти все виды аннотаций (и не только), и нормально работает со всеми популярными библиотеками. В крайнем случае читай документацию к библиотеке.
525 1801187
Какой самый лучший фреймворк для парсинга сайта по типу всяких авит и прочего? scrapy подойдет или есть что получше?
526 1801257
>>801187
Лучше Скрапи только Селениум, но там уже про другое немного
527 1801295
>>801072
PyCharm все понимает
Говорю как чувак, копавшийся в проекте на 120к строк чистого кода без тайп-хинтов
Снимок.PNG8 Кб, 357x227
528 1801296
Само собой это не будет работать!
Ведь я задаю всем объектам которые консервирую одно и тоже имя!
Но что я ещё могу предпринять?! Я же не могу автоматизировать создание переменных под эти объекты, с каждый раз новыми именами... Если это и возможно, в книге этого пока нет!
Меня это очень бесит, я просто сижу и смотрю в экран.
Подскажите мне пожалуйста, если не ответ, то хотя бы на что обратить внимание.
529 1801332
>>801296

>Я же не могу автоматизировать создание переменных под эти объекты, с каждый раз новыми именами... Если это и возможно, в книге этого пока нет!


Запахло классами вроде?
530 1801344
>>800372
ДС-2. Знаю что маловато, но я и не готовился к интеврью нихуй. Чисто на автомате выехал.
531 1801345
>>801296
Переменные нахуй не нужны, апендь в один и тот же лист листы со счетом и потом по индексам доставай.
532 1801394
Если программа на CPython по факту написана на Си, то какого хрена ее нельзя скомпилировать как следует в экзешник?
533 1801407
>>794292
Датасоенс? Веб?
534 1801489
>>793243 (OP)
Сап, программисты - анальники как и я
Помогите пж новичку

Вопросец про threading

Моя программа, попытка таймера для учета рабочего (и отдыха) времени, когда я хочу запустить демон для метода моего (экземляра класса MyTimer) объекта таймера, он просто не запускает его как демон, а просто как без мультитрединга, то бишь ждет выполнения до конца, (а там бесконечный, мать его, цикл), и невозможно ввести ничего с клавиатуры из команд, даже print(' hui') не выводит

https://dumpz.org/bxAPmt4Y5FgG
535 1801492
>>801489
И кстати оно работало когда я threadil не метод экземпляра, а когда этот таймер был просто функцией
image.png14 Кб, 700x377
536 1801500
>>801489
Чому-то отклеилось
537 1801543
>>801489
Вопрос снят))
538 1801576
>>801543
Расскажи уж.
539 1801594
>>801576
Передавал результат функции вместе ссылки на нее
Скобки лишние где функция для треда указана)))))0
540 1801897
>>801543
У меня тоже кстати часто такая хуйня, ебешься с чем-то, гуглишь неск. часов, в конец заебываешься, идешь спросить на стаковерфлоу или хотя бы двачик, и пока формулируешь вопрос - озарение приходит (или чуть погодя, после того как вопрос задал)
screen1.png47 Кб, 1175x802
541 1801922
Пытаюсь включить тесты по этому гайду, но он видимо outdated:
https://code.visualstudio.com/docs/python/testing#_enable-a-test-framework

Чяднт? В питоне не шарю от слова совсем
542 1801928
>>801922
ааа я понял кажись. надо делать тест отдельно и создавать для каждого теста тест отдельно?
543 1801933
>>801928
не. нихуя не понимаю.
544 1801956
>>801933 >>801922 >>801928

всё, разорбался, сори за тупой вопрос
545 1802028
Не могу устанавливать packages через nuget
В случае с nuget package installer высвечивается пикрелейтед 1
В случае с nuget gallery - не могу ничего установить, не появляется кнопка

Что делать?
546 1802193
>>802028
а нюгет причем к питону?
547 1802198
>>802193
да я уже забил хуй и pycharm скачал и наслаждаюсь жизнью. Визуал студио говно мёртвой собаки
548 1802207
>>802198
для тебя безусловно )
549 1802211
>>802207
Сори если обидел
550 1802220
>>802211
скорее удивил. даже на твоем скрине написано, что эта либа для .NET
123.PNG12 Кб, 347x328
551 1802260
>>801345
Итак, при помощи антинаучного способа, связка этих двух функций теперь начала выдавать список всех рекордов, который попадают в файл.
Но я понимаю, что это не правильно.
Это работает только если файл изначально пустой.
Касаемо индексации, как я могу индексировать объекты из бинарного файла, если я постоянно даю этим объектам одинаковое имя?
552 1802262
>>802260
Быстрофикс: работает только если файл изначально НЕ пустой, т.е. уже содержит объект с именем scores
553 1802268
>>802260
Это задание с хх ру? Что-то подобное видел. Там нужен был прогер по чето по спорту писать.
123.PNG12 Кб, 347x299
554 1802269
>>802260
А вот и фикс в догонку. Теперь мой антинаучный код работает!

И всё же, подскажите как было бы правильно.
555 1802271
>>802268
Это задание из книги Майка Доусона.
Что такое xx py?
556 1802274
Купил курсы скиллбокс по дата саентист. Какие подводные?

https://live.skillbox.ru/webinarsale/code
557 1802297
Начинаем программировать на Python | Гэддис Тони пойдет для быстрого вхождения в основы, как фундамент?
558 1802309
>>802274
Подводных никаких. Будешь умнее.
image.png18 Кб, 625x393
559 1802335
>>802269
Сначала проверяй наличие файла
try... except громоздки, вместо них используй оператор with
Промежуточные переменные scores1 и scores2 не нужны, добавляй сразу в scores
560 1802340
>>802335
Очень спасибо!
Я пока ещё не проходил оператор with и модуль os, но скрин сохраню как учебное пособие на будущее!
561 1802343
Питонисты, помогите плз, по функционалу всем устраивает и удобен пучарм, но у других видел саблайм, и какой же он красивый, цвета и шрифты очень зашли, есть какая-нибудь тема на пучарм, чтобы выглядел как саблайм?
562 1802367
>>802260
у объектов в листе, блять, нет имен. Достаешь их по индексам из него после того как добавил. Это же как у тебя бы были переменные hui1, hui2, hui3, вместо этого теперь у тебя есть лист hui и в нем hui[0] == 1, hui[1] == 2 и так далее. В чем проблема? Словарь тоже для этого подходит если тебе нужны какие-то конкретные имена (хотя я хз зачем).
563 1802397
>>802367
Расскажи про очередь, как та хуйня работает?
564 1802448
Посоны, я тестировщик. Нужен питон для селениума. С чего начать?
565 1802466
Анон, а в джанге есть какие-то инструменты, чтобы обрабатывать html страницу, если я её полностью через POST отправлю?
Или встроенные в питоне?

Как это, вообще, принято делать?
566 1802472
>>802343
Каким функционалом пайчарм ты пользуешься?
Саблайм открывается за секунду.
567 1802474
>>802448
Попробуй с print("Hello world!")
image.png811 Кб, 589x856
568 1802479
>>802448
Страница 328.
569 1802480
>>802466
Ты реализуешь вывод страницы через POST-запрос? Ты ебанутый?
570 1802482
>>802480
Без джаваскрипта как иначе сделать?
571 1802485
>>802482
Причем здесь ЖС? У тебя есть вьюха страницы в виде html-документа. У тебя есть Web-сервер. Ты выполняешь GET-запрос через адресную строку браузера, постучавшись к порту сервера, и он отвечает тебе телом соответствующей доменному пути html-страницы.
572 1802496
Посоны, я не понимаю, пытаюсь через консоль PyCharm запустить скрипт flask run, мне консолька пичарма пишет, что

> "flask" не является внутренней или внешней


командой, исполняемой программой или пакетным файлом.
При этом через кнопочку все запускается, а сам модуль flask в venv добавлен. Что я делаю не так?
573 1802500
>>802479
И зачем мне работа с пдф?
>>802474
Сань, хуй соси.
image.png149 Кб, 566x679
574 1802502
>>802500
Может, тебе еще рано перекатываться в автоматизацию?
575 1802508
>>802502
Я на ангельском глядел, там видимо другая страница. Спасибо.
1024336994.jpg69 Кб, 700x896
576 1802509
>>802297
Бамп.
577 1802512
>>802509
Тебе синтаксис изучить надо? Для этого подойдет что угодно лол
578 1802515
>>802479
пиздец если ты работаешь то я в ахуе как вы туда залетаете
579 1802518
580 1802521
А чо не так? Очень годная книжка. Я с ее помощью впервые эксель отредактировал.
581 1802522
>>802512
Да нужно чтобы хорошо доходило до школьников. Ну и для меня в том числе. 28 лет админ.
582 1802524
>>802502
Глянул. Маловато будет. Мне б подробнее работу в селениуме. В целом какие решения есть по тестированию, чтоб велосипеды не выдумывать.
583 1802527
>>802524
Поподробнее первая ссылка в гугле, лол.
584 1802528
>>802524
Не вижу протянутых мне 500 баксов.
585 1802530
>>802527
Ну а двач мне нахуя?
>>802528
Я за интернет плачу. Достаточно.
586 1802533
>>802530
Вот у интернета и спрашивай!
587 1802534
>>802533
Я тебе сейчас как дам по лбу.
588 1802536
>>802534
Монитор сломаешь.
589 1802537
>>802534
Ты даже тест написать не можешь, до лба кулак крашнется.
590 1802538
>>802536
>>802537
Маме твоей позвоню тогда, она тебя заругает.
15767587380180.gif1,4 Мб, 1008x567
591 1802540
>>802538
Ну ладно.
592 1802542
>>802540
Ну вот и помогай тогда. Что почитать для тестировщика в селениуме на питоне.
593 1802543
>>802542
В интернете почитай.
594 1802545
>>802496
Бамп, помохите плс. Я вообще не понимаю даже примерно как это решить, гугол не помог.
595 1802547
>>802543
Бака.
596 1802548
>>802522
Python для детей бери.
597 1802549
>>802542
Ну ты издеваешься? Дали годнейшую книгу, одну из настольных, где все азы, дальше уже гуглить что надо после понимания азов.
Ты наше терпение тестируешь?
598 1802561
Блин, что в приципе может отвечать за порядок вывода файлов? В дебаг режиме оне наоборот идут сверху вниз, а в обычном режиме, как на второй пикче.
599 1802590
А как лучше записывать словарь с разным количеством значений у ключей в базе данных, чтобы потом их было проще доставать, изменять и добавлять?
Ключи в первой строке, а значения во второй, третьей и т.д. или на каждой строке свой ключ/значения?
Screenshot2020-09-1015-04-54.png219 Кб, 1917x1106
600 1802634
Аноны, чому фласк себя так ведет с оперативкой, чем это обусловлено?
На пикриле нагрузка на сервер и поведение фласка-бэка по работе с памятью.
601 1802697
>>802590
Не совсем понял, что у тебя за структура данных.

Ты хочешь, чтобы ключ был, например, "animal", а для такого ключа могли быть значения вроде dog, cat, и т.п., в общем много значений?

Что за СУБД при этом?

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

Можно сделать комбинированный ключ, вроде "animal:cat", но так тебе будет сложно делать выборку.

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

Всё зависит от того, какого рода запросы ты делаешь и какой функционал тебе нужен, какие выборки нужны, как данные можно в базе менять и т.п.
изображение.png31 Кб, 696x443
602 1802726

>Не совсем понял, что у тебя за структура данных.


Грубо говоря вот такая

{"рыба": ["окунь"], "животное":["конь", "лось"], "растение": ["подсолнух", "ромашка", "подорожник"]}

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

>Что за СУБД


ткнул пальцем в небо и выбрал sqlite3
603 1802740
>>793243 (OP)
Аноны, поясните, есть ли смысл ставить VS Code для питона, или Sublime Text'а хватит, чем они отличаются??
604 1802774
>>802740
VS code медленней открывается.
В VS code удобней графический интерфейс.
По умолчанию встроено окно консоли.

В sublime всё это тоже можно установить.
605 1802781
>>802740
PyCharm
606 1802782
>>802781
Вот я устроился на работу, с какой вероятностью там используют pycharm? Нужно ли мне освоить линукс и вим в частности перед поиском работы?
607 1802784
>>802781
Он платный, а ломануть у меня не получилось, судя по всему не у меня одного, они там что-то меняли и у всех слетели кряки((((
608 1802785
>>802784
А зачем тебе про версия?
609 1802786
>>802784
просто ты криворукий.

>• Установите PyCharm;


>• Запустите программу и выберите evalutate free.


>• Перетащите JetBrains-agent.jar в окно IDE.


>• Перезапустите IDE.


>• Появится диалоговое окно JetbrainsAgent Helper. Выберите тип лицензии (выберите «Сервер лицензий») и нажмите кнопку «Установить».


>• Перезапустите IDE


>• Готово.

610 1802787
>>802784
всё прекрасно работает
611 1802788
>>802785
Для джанго и тп
612 1802790
>>802472
Ну например саблайм вроде не подсвечивает переменную, которая нигде не используется, бесполезные импорты не отмечает. Не знаю, есть ли там форматирование по пеп8, и отмечает ли он проебы в пеп8 вообще, еще какие-то мелкие фишки такие (могу ошибаться, я с саблаймом не работал, но видел, что у других он ведет себя вроде так)
613 1802793
>>802788
Понятно.
614 1802798
>>802788
А в чем разница для джанги? Несколько дней уже джангу ковыряю на коммьюнити версии, проблем со стороны пучарма не вижу, модели вьюхи урлы открываются, хтмл темплейты открываются, каких фичь не хватает?
615 1802799
>>802790
Под всё это есть расширения ведь.
Ошибками кода занимаются расширения типа линт.
616 1802805
>>802798
Честно говоря я этим делом года-пол или чуть более назад занимался, загвоздка была в том что он не создавал проект под джангу, и еще вроде с синтаксисом какой-то трабл был, но мне щас пока саблайма хватает, а там видно будет, ща сижу плагины накатываю на проверку ошибок итп
617 1802813
>>802805
так проект сама джанга создает в консоли же, после стартпроджект. А потом просто manage.py открываешь пучармом, кликаешь типа "открыть в проекте" и все
618 1802815
>>802813
Ну это да, прост я как забросил тогда чарм, так и не возвращался пока
619 1802905
620 1802975
>>802479
Это старая хуйня уже.
621 1802978
>>802561
Можешь добавить по сорту алфавита.
2oni7fxi0qn21.jpg47 Кб, 690x388
622 1802989
>>802975
Очень интересно. И насколько книга, написанная по третьему Питону, написанная для вката в Питон, может быть неактуальной для вката сегодня в Питон?
Screenshot2.png16 Кб, 336x243
623 1803011
Зачем self пишется?
624 1803014
>>803011
ООП
О
П
625 1803021
>>802782

>вим


nahuya?
626 1803022
>>803014
Ну это типа я обращаюсь к классу?

А возможно из класса обратиться к другому классу?
627 1803081
>>803022
1) self не пишется, когда ты создаешь статический метод класса (помечается через декоратор @staticmethod).
Есть еще @classmethod, но он юзается чуть чаще, чем никогда
2) Разумеется, можно. В этом суть ООП.
628 1803090
>>803011

>Зачем self пишется?


Чтобы использовать братские методы внутри одного класса.
Например, в твоем случае в методе test_one можно будет вызвать test_two выглядеть это будет как self.test_two(). Если ты попытаешься удалить в параметрах этих методов self'ы, то интерпретатор скажет, что ты охуел и попытался вызвать второй метод до того, как он он был заассайнен.
629 1803119
>>803081
Не могу понять в чем суть декоратора. Можно в одной функции определить другую, а потом через первую можно поменять вторую? Сколько не читал не могу въехать в этот сахар в чем удобство и прикол. Можно в двух словах чтоб прям было ясно плис.
630 1803121
>>803119
А оно тебе вообще надо? Для себя/для анализа/во многих вещах ООП вообще нахуй не нужен.
631 1803124
>>803121
Да просто для себя. Как это понять прост.
632 1803132
>>803124
Так оно тебе точно надо? Это пиздец муторно, сложно и не нужно, если ты не разработчик в команде.
А так, тут нужно основы ООП в принципе начинать...
633 1803215
>>803011
явная передача this, обусловленная работой языка
634 1803247
>>802989
Не в Питон, а в Селениум\Автоматизацию.
635 1803272
Аноны, кто работает, поясните плз за отношение к гуглению на работе. Я знаю, что гуглить по кд для прогера на работе норма, но все-таки, я вот сейчас сел делать для себя пробный проект и чувствую себя дебилом, т.к. литералли почти перед каждым действием гуглю, нахожу куски чужого кода, иногда маленько меняю, а иногда беру как есть и вставляю.

За такое будут пиздить палкой, или это стандартная практика? Где вообще грань между идиотом, который ничего не умеет и только гуглит и разумным использованием гугла.
636 1803297
>>803272

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


Ну судя по твоему опыту, то первый. Либо боишься делать, либо ничего не знаешь.
Подгугливать это нормально. Но если ты 99% гуглишь, то хз.
637 1803304
>>803297

>Ну судя по твоему опыту, то первый. Либо боишься делать, либо ничего не знаешь.


Ну я пару дней почитал-посмотрел всякую хуйню по джанго, а сейчас начал делать впервые свой проект, и я же даже методов нихуя не запомнил, поэтому приходится подгугливать и чекать даже хуйню типа ... = models.CharField(max_length=50)
638 1803309
>>803304
Просмотр видосиков и чтение литературы на самом деле не является процессом изучения подобных сфер, но является очень хорошим способом получать метазнания, тоесть знания о том с помощью какого инструмента можно решить проблему и примерно как это работает. И вот только уже решая с помощью этого инструмента что-то, ты его непосредственно изучаешь, тоесть процесс гугления и есть истинный процесс обучения, но без метазнаний конечно тоже никуда...
639 1803317
>>803272
Похуй, важен результат. Проблема гугления в бездумном копировании чужого кода. Однако если ты на работе, в 50% случаев гугление тебе не поможет напрямую, а только даст направление, которое нужно переделать/доработать (если ты конечно не гуглишь всякие базовые функции), а то и просто дискуссию по которой ты уже понимаешь, что делать.
Тащемта, иногда вообще приходится находить автора какого-нибудь модуля, и делать дистанционный минет, умоляя рассказать, как он работает.

Ну и в любом коммунити языков тот факт, что проггер - человек, зарабатывающий на поиске фраз в гугле - давно стало мемом. Не просто так.
640 1803343
>>803119
Декоратор - обертка для нескольких одинаковых функций, чтобы не дублировать в них одну и ту же часть кода.
Ты спросишь: а почему бы тогда просто не создать функцию и использовать ее в этих "нескольких одинаковых функциях"?
Да потому что обертка может включать больше одной функции, и тебе придется нестить их в одном и том же порядке. Например:

def func_one():
--greet()
--initialize()
--_do_what_func_one_should_do
--finalize()


def func_two():
--greet()
--initialize()
--_do_what_func_two_should_do
--finalize()


А теперь просто напишем декоратор, который выполняет по очереди greet(), initialize(), КАКУЮ-ТО ФУНКЦИЮ и finalize(). Тогда на выходе будет:

@decor
def func_one():
--_do_what_func_one_should_do


@decor
def func_two():
--_do_what_func_two_should_do


Это называется ПИТОНИЧЕСКИЙ ПУТЬ.
640 1803343
>>803119
Декоратор - обертка для нескольких одинаковых функций, чтобы не дублировать в них одну и ту же часть кода.
Ты спросишь: а почему бы тогда просто не создать функцию и использовать ее в этих "нескольких одинаковых функциях"?
Да потому что обертка может включать больше одной функции, и тебе придется нестить их в одном и том же порядке. Например:

def func_one():
--greet()
--initialize()
--_do_what_func_one_should_do
--finalize()


def func_two():
--greet()
--initialize()
--_do_what_func_two_should_do
--finalize()


А теперь просто напишем декоратор, который выполняет по очереди greet(), initialize(), КАКУЮ-ТО ФУНКЦИЮ и finalize(). Тогда на выходе будет:

@decor
def func_one():
--_do_what_func_one_should_do


@decor
def func_two():
--_do_what_func_two_should_do


Это называется ПИТОНИЧЕСКИЙ ПУТЬ.
641 1803346
>>802496
Бамп вопросу
642 1803349
>>803346
Не пользовался фласком, но наверняка в C:\Python\Scripts находится файл flask.exe. Пишешь батник типа

cd C:\Python
flask run "C:\Users\user\Desktop\мой прикрастный нивираятный проект.py"

и запускаешь его.
643 1803350
>>803349

>cd C:\Python


cd C:\Python\Scripts, конечно же.
644 1803351
>>803346
ну у тебя же в вопросе ответ, тебе пишут что фласк не является исполняемым, а раз через кнопочку запускается и работает значит запускается не фласк, я вообще не ебу че там во фласке и как оно работает, но скорее всего надо запустить не flask run, а "python flask run "
645 1803352
>>803349
Чичас бы либы к питону в эхешниках писать :D
646 1803355
>>803349
Блин, забыл добавить, через обычную консоль винды все работает и flask run запускается, не работает именно через консоль пучарма. py flask run в консоле пучарма тоже не работает.
647 1803356
image.png3 Кб, 227x111
648 1803357
649 1803358
>>803355

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


Ну, бля, гугли дальше, хули.
650 1803367
>>803358
Ну бля(((
651 1803421
>>803355
Короче, я батник venv перезапустил и все заработало
652 1803452
>>803304
Потому что знания нарабатываются в ходе создания реального проекта, а не просто чтения литературы
653 1803455
>>802496
Запускай скрипт через python, создай какой-нибудь main.py в верхнем каталоге как "точку входа" и стартуй приложуху
654 1803459
>>803452
нарабатывается опыт, а не знания.
655 1803461
>>803459
Никогда не прогал? В процессе прогинга и решения проблем получаешь 90% знаний.
656 1803466
>>803461
активно использую 5 яп из того списка что я знаю.

в процессе прогинга получаешь опыт, то есть знание нюансов полученных знаний. но сами знания получаются от чтения литературы, статей, чужого кода и т.д.
657 1803468
>>803272
У меня двойное дежавю. Неоднократно такое сообщение уже видел.
658 1803479
>>803455
Во-первых, я писал, что все и так работает, проблема была только с тем, что я не понимал почему командная строка пучарма не видит подключаемые модули. Во-вторых, вот тут >>803421 я написал как решил проблему. В-третьих, область видимости в питоне это вообще про другое.
659 1803481
>>803466

> активно использую 5 яп из того списка что я знаю


При этом ты еще ни разу не работал. Понимаю. Очень релевантный пример.

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


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

>При этом ты еще ни разу не работал


конечно не работал. разве на этом сайте сидят те кто работает. тут только джуны ищущие работу ))))

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


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

Разница лишь в объеме закрепляемых знаний за один шаг. Лично для меня шаг "прочтем главу книги и закрепим" слишком мелкий шаг. Я читаю по диагонали или вдумчиво все до чего дотянусь пока не сформируется понимание "ах вот как в этом языке все устроено". Ну а далее дело практики для закрепления. Если нет понимания - нечего закреплять. Когда кодишь "потому что так в книжке/гугл" и не понимаешь суть - ты не учишься.

так что без чтения "чтобы разобраться" не выйдет.
но конечно если я разобрался в "старом языке, а в новом то же самое", то я могу сразу переходить к практике
661 1803515
>>803304

>и я же даже методов нихуя не запомнил, поэтому приходится подгугливать и чекать даже хуйню типа ... = models.CharField(max_length=50)


абсолютная норма. Так работает мозг - запомнит, только то, что используется. Потому в начале практики тупняк это нормально. Главное чтобы ты понимал то, что пишешь.
662 1803529
>>803479
Твоя изначальная проблема была в запуске всего под виндой кстати а не в "командная строка пучарма не видит подключаемые модули"
663 1803530
>>803495

>разве на этом сайте сидят те кто работает


В /po и /b постоянно залетают Большие Дяди Прогеры с доходом от $5к - изи вообще. Пруфы нужны? Это борда успешных состоявшихся людей
664 1803533
>>803495

> конечно не работал. разве на этом сайте сидят те кто работает. тут только джуны ищущие работу ))))


Не только

> ты получаешь ПОНИМАНИЕ происходящего. Если у тебя сформировалась четкая картина че где как, то остается только практика, чтобы закрепить. Без понимания ты слепой котенок


Чел, ты, по твоим же словам, "знаешь" минимум 6 языков, из них 5 "используешь активно". Я не уверен, понимаешь ли ты насколько это абсурдно звучит, но знать и активно использовать 5 языков, во-первых, нахуй не нужно никому, во-вторых, невозможно. Офк, если под "знать" подразумевать уровень хотя бы junior+ или даже middle, а под "активно использовать" 1-2 проекта в год на этом языке. Написать хеллоу ворлд и пробежаться по основному синтаксису -- это не "знать", это хуйня, которую можно за 1 неделю по вечерам разобрать, если не совсем дегенерат если это не твой первый язык.

> Разница лишь в объеме закрепляемых знаний за один шаг. Лично для меня шаг "прочтем главу книги и закрепим" слишком мелкий шаг. Я читаю по диагонали или вдумчиво все до чего дотянусь пока не сформируется понимание "ах вот как в этом языке все устроено". Ну а далее дело практики для закрепления. Если нет понимания - нечего закреплять. Когда кодишь "потому что так в книжке/гугл" и не понимаешь суть - ты не учишься.


Нет, ты берешь и делаешь свой простейший проект. Типа микроблог на джанге или CRM на шарпах/джаве. Вот когда сделаешь -- тогда ты попрактиковался.
665 1803535
>>803529

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


Линупсошиз, плс.

> а не в "командная строка пучарма не видит подключаемые модули"


Батник перезапустить пришлось бы и на линупсе. Ну, и да. Серв висит на центосе, если что.
666 1803549
Собираюсь купить курс на калбрейнс по запуску батников на линупс, какие подводные?
667 1803551
>>803533

>нахуй не нужно никому, во-вторых, невозможно


значит быть фулл стек разработчиком можно (а это подразумевает знание фронтенд и бэкенд языка, и не факт что это один язык, и много чего другого), а писать на нескольких не из стека нельзя. Ага ага
Можно выучить один язык и пихать его во все щели. А можно использовать более подходящие языки. Все зависит от человека и его способности, а главное желания, обучаться.

>Вот когда сделаешь -- тогда ты попрактиковался.


Разве я отрицаю практику? Но практика без теории ничто - тупое копирование нагугленного. И потом в этом треде глупые вопросы про основы http потому что понимания нет.
668 1803555
>>803551
Спешите видеть, гений иронии в треде. Тот же файл с тем же именем, но с другим расширением запустить -- надо обязательно пояснять, чтобы не дай бог тонкая организация линупсошиза не пострадала.
669 1803556
>>803555
>>803549
промазал
670 1803560
>>803551
фул стак на то и фул стак что дай ему таску и его стак будет оверфлоу
671 1803668
>>803551
"Знаю 5 языков" в прогинге является синонимом "не знаю толком ни одного, но выебываюсь своей мнимой многозадачностью"

>значит быть фулл стек разработчиком можно


Фуллстек подразумевает существование на стыке фронта и бэка, причем не со знанием 5+ языков а с хорошим знанием как правило лишь 2х (или вообще одного, если это JS Node + front, но с пониманием сопутствующих технологий). И да, сеньор фуллстеков как таковых не бывает (даже если есть такая лычка это ни о чем не говорит), нельзя быть дохуя пиздатым во всем, и работодатель это понимает
google.png110 Кб, 3000x1250
672 1803671
Короче, есть сайт, на сайте элемент N и в нём textcontent является 'Sosi pisos'

Как я могу с помощью питона извлечь этот текст контент, чтобы в будущем его сравнить?
673 1803672
>>803671
ой. кажись нагуглил
driver.find_element_by_css_selector('div.item.selected span').text
оно?
674 1803683
>>803672
Ты скопипастил решение для селениума
Гугли python webscraping и bs4
scr1.png76 Кб, 1515x466
675 1803685
>>803683
оно мне и нужно было. Я просто профан

А не подскажешь, почему не принтит ничего?
sidebarPycharm.png6 Кб, 73x522
676 1803688
Как в пайчарме настроить боковую правую панель (где скролл) чтобы там отображались лишь ошибки, закладки да изменения в коммитах, чтобы warning там вообще не появлялись, а то крупные модули засираются как на пикриле (нет, это не мой код такой, это крупный сторонний проджект)
677 1803692
>>803685
В смысле "ничего", он у тебя запринтил innerHTML как в DOM и было
678 1803693
>>803668

> "не знаю толком ни одного, но выебываюсь своей мнимой многозадачностью"


по себе судишь )
еще скажи блин что полиглоты (которые обычные языки знают) пиздят
нет ничего сложного знать несколько языков на высоком уровне
то есть уметь в высокоуровневую магию + стандартная библиотека. Знание фреймворков к этому не относится.
679 1803694
>>803692
А как сам текст достать? Я хотел, чтоб текст запринтил
680 1803696
>>803692
getattribute('textcontent') тоже ниче не принтит
681 1803699
>>803696
точнее принтит none
682 1803730
>>803693

>полиглоты


Ты не полиглот. Ты дефолтный борщехлеб

Терминология лингвистов к пограмиздам не применима от слова совсем. Любому не-борщехлебу это очевидно
683 1803732
>>803694
У тебя в консоли написано "No results found", абсолютно то же самое, что в тэге <p>. Ты совсем в глаза ебешься?
684 1803743
>>803732
АХАХАХХАХАХАХАХАХАХАХАХАХ
АХХАХАХАХАХАХХАХАХХАХАХХАХАХХАХАХХАХАХАХАХАХ

Я думал, амхахах, ахахах, я думал, что мне питон но результ фаунд выдаёт. Сукаааааа
ebanuty.webm1 Мб, webm,
650x520, 0:12
685 1803745
686 1803758
>>803745
Программирование - это не моё. ((9
687 1803771
>>803758
С таким подходом, если тебя достаточно отпугнуть одной ошибкой, любое начинание - не твоё.
688 1803784
>>803730

>Терминология лингвистов к пограмиздам не применима от слова совсем


Ну это уже полный абсурд. Стоит пояснять почему или сам догадаешься?
689 1803793
>>803771
Да нет, мне нравятся ошибки и решать проблемы.
690 1803802
>>803793
Вот и решай. Камней преткновения и затупов на твоем пути будет еще неимоверное количество.
691 1803807
>>803743
рофляная ошибка, бывает
ползите 692 1803817
694 1805543
Привет ребят, можно ли в питоне запустить код во время его работы(при каком нибудь условии) и чтобы два экземпляра одного кода работали одновременно? Если можно то как это сделать?
695 1807476
>>805543
asyncio
Тред утонул или удален.
Это копия, сохраненная 23 марта 2021 года.

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

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