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

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

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

Предыдущий: >>1656865 (OP)
Литература:
Автоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Кто может, залейте её на ЯД к остальным.
Ещё книжки: 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/cAaW2nPySYyy
2 1665912
>>65888 (OP)
киньте плз сурс на интервью с Гвидо
4 1665979
У кого-нибудь опыт работы с API Википедии есть?
5 1666049
Здравствуйте. Как лучше определить тип введенных данных. Я принимаю str в консоли, это может быть любой тип данных. Я так понимаю только через вложенный try..except можно это сделать? Или лучше изначально запросить у человека, какой тип данных он вводит и не ебаться?
6 1666050
>>66049
А что ты такого делать собрался с этими данными?
7 1666051
>>66049
Что значит любой? Числа, строки, фотографии котят?
8 1666059
Продублирую из прошлого треда. Посоветуйте чат-бота для твича. Пробовал twitchio - нихуя не получилось его запустить. Данные все верные указываю, на них не ругается, но ругается на тайм-аут соединения и что к каналу подключиться не может.

Сойдут и боты с самым базовым функционалом.

Алсо, что лучше использовать из виртуального окружения - virtual env или pip env? Последний не понял как настраивать в PyCharm, в консольке вроде настраивается, pip файлы создаёт.
e40f86b2ed6e27fd285a4a1e9dca1af4.png115 Кб, 720x720
9 1666061
>>65888 (OP)

работать
работает
работу
10 1666062
Антош с облаком слов - доставь сурс этой поделки.
11 1666070
Есть апи поинт и сериализаторы DRF. Как описать поинт который принимает пост запрос по одному сериализатору, а возвращает по другому сериализатору? Не получилось загуглить, может пример какой есть?
12 1666074
>>66062
чому просто не погуглить?
13 1666078

>моча потерла посты про kivymd


Молодец, теперь выпили остальное it-быдло и будет совсем хорошо
1532685572090.jpg24 Кб, 360x360
14 1666088
Я тут подготовил поздравительную программу, но как-то многословно получилось, предлагайте оптимизации.
https://ideone.com/TOue0E
15 1666123
>>66088
это на каком языке написано?
16 1666135
>>66051
Любой Python тип
17 1666136
>>66050
Хранить, удалять, искать. Все
18 1666139
>>66123
Борщехлебном
20 1666156
Подскажите каких-нибудь библиотек и мануалов для новичков на тему манипуляций с картиночками. Типа автоматического добавления надписей, обрезки и т.д.
21 1666177
>>66049
если средствами стандартной библиотеки, то да try: x = int(input()) except ValueError и тд
если модные хуйни хочешь, то глянь https://typer.tiangolo.com
23 1666179
>>66156
тысяче лет назад был Pillow сейчас хз в каком он статусе
24 1666207
>>66049
Я 5 минут как знаком с питоном и вообще не программист, но разве проверка введённой строки через type(ebanina) не решает твою задачу?

Если type(ebanina) == type(str()) то это строка
Если type(ebanina) == type(int()) то это число
25 1666225
>>66207
Результат input это всегда строка.
Тут решение это или валидировать и конвертировать типы ручками, или прогонять через какой-то eval. Я не смотрел ещё, как второе в питоне сделано.
26 1666242
>>66225
Тогда не проще сделать int(input()) если тебе определенный тип от пользователя нужен?
27 1666244
>>66242
Он же написал, что разные типы, что бы это не значило.
28 1666317
>>66244
А какой тип ввода можно ожидать от пользователя кроме текста или числа?
29 1666377
>>66177
Хорошо, спасибо
>>66317
int, float, bool, list и т.п.
Не спрашивай нахуя мне это, по учебе просто надо реализовать
30 1666392
>>66377
Не могу представить задачи, при которой в одном запросе от пользователя может потребоваться ввод ответа в таком диапазоне значений. Что блядь твой код вообще должен делать?
31 1666404
>>66392
Реализация АВЛ-дерева
32 1666440
>>66404
И что, блядь?
это упражнение или практическая программа?
33 1666450
>>66440

> это упражнение или практическая программа?



> Реализация АВЛ-дерева


> ввод данных через консоль



ты совсем дурак?
34 1666463
>>66377
Такое автоматическое определение типов - всегда дурной тон и грязь. Откуда ты знаешь, может там пользователь хотел строку "[]" ввести, а не пустой список?

Как ты будешь обрабатывать списки вида
[aaa, 'bbb', 123, 123aaa, [], "[]"]
будешь реализовывать рекурсивный парсер?

Умеренно приемлемый вариант:
смотрим первый символ введённой строки, предварительно сделав strip()
если это цифра, пытаемся интерпретировать как цифру, в противном случае выдаём ошибку
если это '[' или '{', пытаемся интерпретировать как корректно сформированные списки-словари, упакованные по стандарту JSON, и парсим через json.loads()
Если это кавычки или любой другой символ, интерпретируем как строку. Но в случае, если кавычки, эти кавычки обрезаем.

Такой умеренно строгий ввод, user-friendly. Иначе надо парсер делать. Не очень сложно, но не нужно.
35 1666465
>>66136
Это всё можно делать со строками, зачем их во что-то конвертировать?
36 1666466
>>66074
Хочется увидеть поделие местного анона.
>>66142
Спасибо
37 1666499
Посоны, а где почитать об офускации и шифровании кода?
Я просто не представляю что можно сделать с кодом, если переменные все с динамическими именами и от них НЕобфускации зависит результат работы программы.

Кроме того, я пару лет назад пытался понять как сделан один коммерческий зашифрованный продукт серверный продукт, чето запустил, открыл и был удивлен, что там вполне читаемо все.
38 1666509
>>66450
нет, ты.
мы вдвоем заявляем , что ты или не умеешь объяснять или занимаешься хуйней.
39 1666510
>>66377

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


тогда ясно.
хуйня, конечно и конечно никто не получит удовлетворения помогая тебе.
40 1666512
По какой причине тесты в Джанго могут не проигрываться? Вроде запилил свои django.test.TestCase но по команде manage.py test он мне сообщает что воспроизвел 0 тестов (и выдает флаг ОК лол)
41 1666514
>>66512
Когда вызываю файл напрямую: manage.py test restapi.tests.test_models все работает
Почему я сразу не могу запустить все тесты? Почему он их не видит?
42 1666520
>>66463
Понял
>>66465
Смысл в обобщенности, что один класс, реализующий структуру данных, может принимать разные типы данных
>>66509
Это не я, если что писал. Не знаю, что по-твоему практическая программа, так что отвечу, что это упражнение.
43 1666522
>>66520

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


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

>Хранить, удалять, искать.


следовательно твои данные должны храниться в виде строки. Не вижу тут никакой загадки.
44 1666547
>>66522
Строки, числа и прочее сравниваются все по-разному, так что и дерево будет выглядеть по-разному.
45 1666551
>>66547
Так если ты собираешься строить дерево из смешанных данных, то тебе придётся строки с числами сравнивать, что ещё хуже.
46 1666640
Хочу просто освоить питон, давным давно писал на C. Посоветуйте какой-нибудь учебник, содержащий некоторые задачки, можно на английском.
47 1666659
>>66499
Можно поставлять софт без исходников, в pyc-файлах, но из них как раз специальными утилитами всё хорошо восстанавливается, так что защита не работает, но создаёт массу проблем.

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

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

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

Обычный закрытый софт тоже распространяли направо и налево. А сейчас это только проще, благодаря разным технологиям виртуализации.
48 1666688
>>66551
Не, я уже обработал, что нельзя в одну структуру данных класть данные разных типов.
49 1666691
>>66640
byteofpython
50 1666707
Что из Линуха стоит освоить питон-разработчику в первую очередь?
51 1666710
>>66659
Так-то можно нахуевертить с байткодом и добавлять в поставку бинарный модуль, который будет расшифровывать на ходу.
Так сделно в всяких похапешных ионкубе и вроде последние версии довольно успешны в своей работе.
52 1666760
53 1666768
Сап джангач!
Есть модель movie, у нее есть поля тайтл, юрл итд.
Я вывожу на индексе.хтмл все татлы модели и приделываю ссылки для перехода на сам тайтл. При переходе по ссылке ошибки 405, метод не разрешен. Что делать, куда блядть копать?
54 1666772
>>66768
Ну ты и сверхразум конечно, даже код модели и код вьюхи не скинул
Скорее всего ты намутил херни внутри метода get_absolute_url или типо того
55 1666773
>>66691
хуета, а не книга.
56 1666776
>>66772
не делал через абсолют урл гет
57 1666789
>>66776
This response code (405) can come from any number of issues, but it generally ends up that either you are using the wrong URL (as in this case), or you are using the wrong request method. Sometimes it's both!

Quite often I see people getting this issue when they are trying to update an individual resource (/api/res/1), but they are using the list url (/api/res) which doesn't allow the request to be made. This can also happen in the reverse, where someone is trying to create a new instance, but they are sending a POST request to the individual object.

In some cases, the wrong url is being used, so users are requesting a standard non-API view and thinking it is an API view (/res instead of /api/res). So make sure to always check your urls!


дебагай
58 1666806
>>66789
это и я читал, но по моему коду такой хуеты нигде нет.
image.png8 Кб, 468x112
59 1666807
60 1666898
>>66776
У тебя вьюхи как-то по-крестьянски оформлены
Перепиши их функциями либо примени более высокий уровень абстракции чем наследование от простого View. Если перепишешь вьюху, а ошибка исчезнет, будет повод задуматься
(и че это бля за метод manga_web?)
61 1666912
>>66776
def posts_details(request, slug):
post = Post.objects.get(slug__iexact=slug)
return render(request, 'main_app/post_detail.html', context={'post': post})

Попробуй get типо такого написать
62 1666943
1
unnamed.jpg39 Кб, 369x512
63 1666959
Можно как-то это упростить?
result = a['ni']['hu']['ya'] if a['ni']['hu']['ya'] else ''
64 1666965
>>66959
можно чуть укоротить, но не упростить:
result = a['ni']['hu'].get('ya', '')
65 1666967
>>66959
(lambda x: x if x else '')(['ni']['hu']['ya'])
66 1666969
>>66965
>>66967
Я нашел годный вариант a['ni']['hu']['ya'] or ''
Хотя он не решает такое:
param['huita'] = param['huita'] or default
67 1666978
>>66969
а, ну да, у тебя там есть такой ключ. мой код вообще не так работает
исходный вариант имхо самый понятный
68 1667003
Писал я на днях маленький скрипт, который просто парсит меню с сайта пиццерии с помощью bs4 и requests. И вот вчера хотел продолжить, на всякий случай проверил, а код уже не работает. Теперь он код страницы возвращает без этого меню, только начало и конец страницы. Хотя когда сам на сайт захожу, там всё отображается как обычно. Я так понимаю, теперь меню с пиццой и всем остальным появляется через js и ajax всякие. Во вкладке network нашёл эти скрипты, что дальше с ними делать я не понимаю. Пытался как-то запросы get потыкать на них, но я кривой и не могу понять как их типа все активировать, а потом хоп и получить нормальный код страницы как раньше было. Помогите пожалуйста, с меня как всегда.
69 1667006
>>67003
Обычно достаточно досыпать пару заголовков, но бывают и всякие токены. Надо смотреть и повторять, каких ты советов ещё хотел?
70 1667008
>>67006
Да у меня уже жопа сгорела с этого. Подумал, может что-то совсем очевидное и лёгкое упускаю, кто-нибудь поумней подскажет.
71 1667010
>>67008
Ну давай ссылку, можно глянуть.
72 1667016
>>67010
https://pastebin.com/DYeJQTXj
Пробовал всё подряд, поэтому сори за комменты такие.
73 1667020
>>67016
Ну вроде ничего сложного, грузится жсон с https://api.papajohns.ru/catalog/goods?lang=ru&platform=web&city_id=1
без всяких ухищрений. Потом разжсониваешь его и кушоешь готовые данные без ебли с супом.
74 1667026
>>67020
Да, json я брал, у меня для этого отдельный скрипт написан. Я просто хочу написать одну прогу с json, а другую с помощью selenium. Мне bs4 во втором случае нужен был для того, чтобы у меня селектор не состоял тупо из хардкода до нужной кнопки "в корзину", а как-то более независимо от названий классов.
75 1667027
>>67026
Там есть условия, чтобы ждать появления элементов.
https://selenium-python.readthedocs.io/waits.html
Т.е. в инспекторе смотришь, что тебе там надо, и засылаешь урлы и условия, чтобы всё прогрузилось, а потом забираешь готовый исходник.
76 1667028
>>67027
Я вроде пробовал и что-то не помогло. МОжет ещё раз стоит попробовать. Там ещё дело в том, что даже если самому полный код страницы смотреть, то меню там не будет, хотя очевидно, что всё прогрузилось.
77 1667036
78 1667042
>>67036
Господи, я понял в чём ошибка была. Я искал по старому классу, они 46 на 47 поменяли за день. Пиздец, моя жопа. Спасибо за помощь, анон.
79 1667043
>>67042
Цепляться за какие-то околорандомные значения не очень идея, лол.
80 1667057
>>67043
Знаю, тем же json всё гораздо проще, но я просто хотел потренироваться с селениумом и ксс-селекторами + супом нужное вычленять. Надо будет подумать как сделать так, чтобы вообще ни один этот ебучий класс в проге не прописывать, только оставить всякие теги типа ul или h3.
81 1667060
Как называется метод, который вызывается при наследовании в рантайме?
82 1667081
>>67060
виртуальный метод, поиск которого откладывается до момента вызова
83 1667085
Охуенно сделано. http://norvig.com/spell-correct.html
Могут же диды.
84 1667091
>>67081
Ладно, я искал __init_subclass__
85 1667217
>>66773
Критикуешь — предлагай.
Untitled.png25 Кб, 1104x284
86 1667373
Почему id не надо инициализировать, а nickname надо?
87 1667438
>>67373
Это какое-то PDO? Если по смыслу, то id автоинкрементное, оно само где-то как-то в каких-то геттерах генерируется. А если по тексту, то первоначально id и nickname это статические свойства класса. Их можно читать в методах экземпляров как self.id и self.nickname, но когда ты в методе или конструкторе пишешь self.nickname = ... , ты маскируешь статическое свойство.
88 1667443
Блин, что-то не врубаюсь как Джанга мой запрос обрабатывает

Кратко: есть вьюха, наследующаяся от View, там происходит обработка формы. Я хочу, чтобы когда юзер ввел неправильные данные в форме (проверяется моим кастомным валидатором custom_validator), ему выбрасывалось сообщение по типу "Лох! Пидр!" и он оставался на той же странице, вместо этого какого-то хрена форма срабатывает и сохраняет введенные данные. На втором скрине виден результат могучего дебага с помощью print. После вызова метода form_invalid и вызова get вьюха продолжает снова свою работу на следующей строчке после вызова form_invalid(self.form). С хрена ли? Почему она не останавливается?
89 1667454
>>67443
Ведь строчка render(request, 'sh/index.html', context) в методе get должна вернуть отрендеренный темплейт и на этом все нахуй, конец фильма. Почему он блин продолжает выполнение метода post после всего этого?.. это максимально у меня не вяжется в голове
90 1667463
>>67438
sqlalchemy
91 1667464
>>67438
Может это не маскировка, а точка входа?
92 1667682
Анонче, помоги.
Я знаю какой я глупенький, плохой, не хороший, но почему когда я ввожу команду:
from colorama import init
from colorama import Fore, Back, Style
init()
print(Back.BLACK) допустим, IDLE мне выдает:

93 1667714
>>67464
Вполне, nickname чем угодно может быть, динамическая типизация же. А PDO кто как хочет, так и ворочает. По идее удобно при удалении объекта посмотреть, какие у него свойства не являются линками переменных с такими же именами у его класса (или суперкласса), и в базу их заэскьюэлить.

>>67682

>[40m


Это разметка в терминале линупса вроде. Жирненькое там, мигающее, зелененькое, красненькое.
94 1667715
>>67682
Это эскейп-коды. http://ascii-table.com/ansi-escape-sequences.php
Нужен нормальный эмулятор терминала.
95 1667760
>>66514
Скрин тестов в студию, или же просто класса
96 1667921
Насколько принято использовать дополнительные искаробчные штуки вроде functools, itertools, collections?
Нужно насыпать побольше, если надо, или лучше обходиться, если можно?
97 1667967
>>67921
Вполне распространено. Лучше пользоваться такими встроенными инструментами, которые тебе даёт язык из коробки, чем городить свои велосипеды.
Главное как и везде, соблюдать баланс, не городить их там, где этого не требуется.
98 1667975
>>67921
Не знаю, мне кажется всё очень специфично и индивидуально. Иногда лучше самому написать, иногда из модулей взять.

Нужно думать и о читаемости-стройности кода, и об эффективности.

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

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

Но случаи разные.
Вот, например, паттерн:
i = 0
while True:
____i += 1
____if something:
________break

его можно и скорее всего почти всегда нужно заменять на код
for i in itertools.count():
____if something:
________break

Так обычно повышается читаемость довольно сильно. Кроме того, count работает быстрее. Хотя может ради одного раза и не всегда оправдано.

Есть в стандартных либах решения, которые очень спорные. Например, DefaultDict или как-то так.
Вместо того, чтобы прописать значение по-умолчанию, но ради этого использовать левую структуру данных с оверхедом и лепить менее очевидный код, проще и нагляднее пользоваться традиционным
val = some_dict.get('val', default)
У тебя так получается самодокументированный код. Но, когда как. Если у тебя совершенно штатная ситуация, когда в словаре элемента нет, а его получить надо, то можно и DefaultDict использовать, чтобы код компактнее был.

Конструкции с генераторами списком, одномерные, мне кажутся более читаемыми, чем многие модульные функции.

Мне кажется, что нужно просто хорошо знать, что вот такие модули есть, и что вот там такие функции есть. А уж использовать их, или нет - по своему личному решению и усмотрению. Плохо, когда ты городишь свой код, просто не зная, что за тебя это уже написано.
98 1667975
>>67921
Не знаю, мне кажется всё очень специфично и индивидуально. Иногда лучше самому написать, иногда из модулей взять.

Нужно думать и о читаемости-стройности кода, и об эффективности.

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

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

Но случаи разные.
Вот, например, паттерн:
i = 0
while True:
____i += 1
____if something:
________break

его можно и скорее всего почти всегда нужно заменять на код
for i in itertools.count():
____if something:
________break

Так обычно повышается читаемость довольно сильно. Кроме того, count работает быстрее. Хотя может ради одного раза и не всегда оправдано.

Есть в стандартных либах решения, которые очень спорные. Например, DefaultDict или как-то так.
Вместо того, чтобы прописать значение по-умолчанию, но ради этого использовать левую структуру данных с оверхедом и лепить менее очевидный код, проще и нагляднее пользоваться традиционным
val = some_dict.get('val', default)
У тебя так получается самодокументированный код. Но, когда как. Если у тебя совершенно штатная ситуация, когда в словаре элемента нет, а его получить надо, то можно и DefaultDict использовать, чтобы код компактнее был.

Конструкции с генераторами списком, одномерные, мне кажутся более читаемыми, чем многие модульные функции.

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

Вот в asyncio, если мы делаем что-то библиотечного уровня, то в соответствующие функции там часто надо подавать класс-фабрику.
class MyProtocol():
____def __init__(self, value):
________pass

loop.create_server(protocol_factory, .....)

Эти фабрики должны работать без параметров, но чаще они нужны.

Документация по asyncio настоятельно рекомендует использовать
functools.partial для этого, но реально очень часто это игнорируют и передают параметры через лямбды, так удобнее и понятнее
loop.create_server(lambda: MyProtocol(some_value), ....)

Это реально более читаемо. И так в большинстве серьёзного кода делают. Но когда количество параметров больше, чем один-два-три, то уже другая история. Правда я сам с этим не сталкивался. Вот мне кажется, что использовать partial для передачи одного параметра - просто дурной стиль.
100 1668014
>>65888 (OP)
Двач в чём проблема? В sublime text 3 решил поставить по дефолту замену табов на пробелы и ограничение до 80 символов в строке. Сохраняю и получаю ошибку
101 1668025
>>68014
либо в конце 3-й строки добавить запятую
либо убрать 3-ю и 4-ю и в конце 2-й добавить запятую
15582498392540.jpg117 Кб, 700x466
102 1668073
Всё ещё до конца не понимаю классы и их правильное использование в питоне и вообще.
Анон, что почитать, где попрактиковаться именно с классами? Материалы желательно для чайников.
Спасибо.
103 1668145
Хочу сделать систему комментирования в виде дерева в Django. Куда копать, что курить?
Хотелось бы не готовое решение "подключил и работает", а чтобы нужно было немного самому поковыряться.
104 1668183
>>68145
А что тут крутить? Таблица с комментариями ссылается сама на себя
105 1668190
>>67975

>левую структуру данных с оверхедом


>val = some_dict.get('val', default)


Хеттингер считает, что дефолтдикт быстрее.
106 1668201
>>68190
я считаю, что ты пидр
107 1668207
>>68201
Но ты не хеттингер.
108 1668221
>>68207
Но ты пидр.
109 1668255
>>68190
Глянул доки, defaultdict всё-таки для другого, не только чтобы значение по-умолчанию получить, если элемента нет, то и чтобы при этом добавить элемент в словарь, причём вызвав для этого фабрику, что указывается при создании объекта.

d = defaultdict(func)
value = d[key]

эквивалентно
d = {}
if key not in d:
____d[key] = func(key)
value = d[key]

и не эквивалентно
value = d.get(key, func(key))
и даже не
value = d.setdefault(key, func(key))

своя область применения, неудачная иллюстрация
110 1668269
>>68255

>не только чтобы значение по-умолчанию получить


И для этого тоже.
111 1668274
>>68014

> в чем проблема?


В саблайме, вообще удивлен, что кто-то сидит на этом проприетарном унылом блокноте в 2020
112 1668451
>>68274
Что посоветуешь? Только начал изучать, поставил sublime и PyCharm CE, но последний, как мне кажется, избыточен для новичков.
113 1668470
>>68451
Я другой анон, но посоветую visualcode, ток там юниттесты лично у меня хуево работают, и я спецом пайчарм запускаю для этого
114 1668514
>>68470
Я другой анон, но посоветую нахуй пойти vs, если человек только-только решил вкатиться. Слишком уж он плохо действует на неокрепшие умы юных кодерастов. Пусть для начала в саблайме посидит
115 1668523
>>68451

>но последний, как мне кажется, избыточен для новичков


По-моему лучше сразу начать пользоваться IDE. Это умение не менее важное, чем знание языка, и использование IDE сильно облегчит процесс обучения. Тебе не нужно сразу учить все функции - поначалу можешь пользоваться как обычным текстовым редактором.
116 1668524
Хай. Есть PyQtGraph с Барами. Необходимо что бы для каждой вкладке, при нажатии на соответствующий график менялись Лабелы той вкладки, в которой был евент.
Ссылка на вопрос https://ru.stackoverflow.com/questions/1116274/Как-узнать-на-какой-именно-график-нажал-пользователь
117 1668527
>>68523
Лучше уж сразу в командной строке, у идла не у всех всех библиотеки работают
118 1668528
>>68527

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


Зачем идл когда есть бесплатный пайчарм?
pgadmin.png83 Кб, 1453x677
119 1668532
Лол, сейчас в Джанге вылезла какая-то хуйня, ранее не встречавшаяся. Походу она не может приконнектиться к Postgres БД:

could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?

Вот это вылезло в консоли при команде python manage.py runserver. А на скрине моя попытка входа в БД через pgAdmin, ввожу пароль, но он меня посылает нах, буквально 2 дня назад же все работало, че с ним не так? В инете толком инфы нет
120 1668537
>>65888 (OP)
Посоветуйте IDE для Python на Mac.
Его можно как-то подрубить к Xcode?

Сейчас тащемто пишу код в vim, не хватает подсветки синтаксиса.
121 1668548
Имеет ли смысл лезть в асинхронщину при реализации обыкновенного веб-скраппера? По сути, он не делает ничего, кроме парсинга текста через регексы, некоторого его видоизменения и записи изменённого текста в файл (либо просто его вывод как опция).
Куда бы здесь вообще можно было засунуть асинк, если бы очень захотелось?
122 1668549
>>68537
поставь vs code и не еби мозги. Он прекрасно устанавливается на маке, а xcode там для другого предназначен.
123 1668552
>>68548
Если только начинаешь с питоном, то не забивай пока мозги асинком. Он местами довольно нетривиальный и могут быть проблемы с пониманием того, как это работает. Для начала попрактикуйся на синхронном коде чтобы руку набить.
124 1668557
>>68532
Постгрес поддерживает триллиарды способов коннекта к своей базе. Скорее всего, дело в его конфиге, а не в джанге.

>>68548

>Имеет ли смысл лезть в асинхронщину


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

> Если твой говносервер собирается их все принимать - велкам


Кстати, разве работа со множеством соединений не обеспечивается непосредственно Django?
Если лежит у меня на сервере, грубо говоря, main.py и к серверу приходят два коннекта, то джанго этот main.py будет запускать для каждого из коннектов отдельно, нет (в рамках каких-то пределов, конечно)? Или будет его последовательно для каждого коннекта выполнять?
126 1668567
>>68562
Обеспечивается.
127 1668569
>>68567
А, окей, то есть, речь шла об асинхронщине уже сверху этого.
128 1668573
>>68569
Снизу.
129 1668577
>>68573
В каком смысле?
130 1668583
>>68577
Если у тебя прокси-сервер, то все упирается в коннекты, async. Если у тебя сервер приложений, то одно приложение по ресурсам весит намного больше, чем поток OS. Если клиент может приостановить приложение где-то в середине - опять async.
131 1668586
>>68583
Ничего не понял, но буду иметь в виду. Спасибо.
132 1668589
>>68586
Что тут понимать, асинки - очень противоречивая штука, и это не к одному питону относится.
133 1668592
>>68451
Если только начал изучать, то без разницы, бери всё что угодно, хоть блокнот. PyCharm действительно на этапе хелловордов избыточен и даже вреден: многие без кнопки run даже скрипт на питоне не смогут запустить. Но вообще PyCharm мастхев для серьёзной разработки, VSCode и другие редакторы не предоставляют таких возможностей работы с гитом, рефакторингом, статистический анализ и автокомлит а идшках от IDE тоже лучший на рынке. Если небольшой скриптик нужно написать - то VSCode. А если нужно что-нибудь поправить на удаленном серваке, то vim мастхев
134 1668593
>>68514
Расскажи как он плохо действует, интересно
135 1668594
>>68548
Нет не имеет смысла. Обычно наоборт - скрапинг замедляют с помощью time.sleep'ов, чтобы твой ip не забанили за дудосинг
136 1668597
>>68562
Не обеспечивается, джанга обрабатывает запросы последовательно. Эта проблема решается WSGI-серверами (gunicorn и uwsgi например), которые в свою очередь поднимают несколько процессов джанго-приложения (можешь представить себе насколько это "оптимально") и складывают все входящие запросы в очередь, которую процессы джанги читают
137 1668616
>>68514
Удивительно, но вскод не так уж и прост, как может показаться на первый взгляд
Чтобы его адекватно настроить под разработку чего-то сложнее, чем laba1.py, нужно обмазаться кучей плагинов и уметь в настройки этого всего, да и терминалом придется постоянно пользоваться а там и линупсом обмажешься
Ну сублим понятно простой быстрый блокнотик, хорошо заходит, когда нужно просто открыть и посмотреть какой-то чужой листинг
А пичарм хоть и считается тяжеловесным, но это все же лучший выбор прям для совсем новичка-аутиста, т.к многие вещи делает сразу же из коробки
И проект правильно скомпонует, и виртуал очку сам накатит, удобный дебаггер, гит, автопеп8, редактор бд многое другое
138 1668620
Я сейчас только начинаю учить питон и лажу по куче сайтов с задачками. К сожалению, не смог найти того, что нужно. У меня такой реквест: есть задачи, разделённые по темам (буквально: списки, стринги, числа, кортежи, циклы фор, циклы вайл и т.д.), тебе по каждой теме даются задания (например разрежь строку пополам и отзеркаль половинки), а ниже приводится код, как это сделать. Большинство сайтов, что я находил, не предполагают ответов.
139 1668634
>>68620
checkio, codewars.
Но там юзеры шлют свои решения, что не идеально, хотя дает пищу для размышлений.
А где специально задачи под конкретные фичи и вылизанные авторские решения я бы и сам посмотрел.
140 1668637
>>65888 (OP)

>Можно ли на питоне делать мобильные приложения?


>Да, смотри на фреймворк Kivy



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

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

Чет пригорел с вашей шапки мимокрок
141 1668638
>>68637
Саси
142 1668675
>>67975
Хуй знает. Как по мне лучше развернутый код, чем тот который в одну строчку вхуярили.
9VLeGH3Vo60aoLcF.mp4145 Кб, mp4,
1276x568, 0:03
143 1668695
>>68470
>>68274

ну и что, что убогая жаваскриптовая параша, зато БИШПЛАТНО
144 1668762
>>68695

> жаваскриптовая параша


> открывает проект на жсе



> запускается на полсекунды дольше


Лол, плюс полсекнды на запуск редактора это ничтожные затраты по сравнению с преимуществами VSCode, хотя фронтенд-петуху, наверное, не понять, у вас ведь действительно скорость разработки ограничивается лишь запуском редактора и скоростью печати.
Обычно редактор запускают один раз в начале рабочего дня и дальше он остается открытым, если ты, конечно, не на калькуляторе с 256 МБ оперативы программируешь, где для того чтобы запустить другую программу нужно выгрузить из памяти все запущенные.
145 1668767
>>68637

>Джанга хуянга тормознутое говно и не нужно, одумайтесь


ооо, пхпшника порвало
ну что, аноны, не следил особо последние пару тредов и вот к вам вопрос: по вашим ощущением увеличилось количество вкатышей или так же? просто после видоса у дудя думаю щас будет резкий бум и хайп на войти в айти. а что у нас щас самое модное и хайповое сейчас? конечно же нейроночки и машоб. а на чем их пишут? конечно же на питончике. поэтому собсно и спрашиваю тут
146 1668788
>>68767
вкатышей и неадекватов целый тред как обычно

неадекват
image.png746 Кб, 1446x485
147 1668790
>>68767
Их ловят ещё на подходах, лол.
148 1668801
>>66640
мне зашла Седер. там не мусолят циклы и прочую хуету для вкатчиков
149 1668806
>>66659
да канешн. поди расшифруй этот ебучий Си из прошивки! поебись с этим асмом. у них то автоматически считай защищено все.

если я собрался делать конкурирующие продукты на raspberry pi, что же мне делать?
150 1668810
>>66710

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


слишком теоретично
что конкретно надо делать?
151 1668816
>>68788
да тут еще норм. почитай js тред. вот там реальный пиздец.
я многие матные слова и оскорбления впервые раз в жизни там увидел,лол
152 1668823
>>68073
А их невозможно прочувствовать, если ты не в большом проекте.
Представь что каждый класс пишешь не ты, а какой-то пидор параллельно и ты его лично ненавидишь за то, что с ним невозможно договориться.
Тогда, инкапсуляция естественным образом позволяет тебе поменьше общаться с этими пидорами и их кривые руки не способны сломать твой код.

Мне кажется, просто нет хороших книг об этой концепции ООП-ненависти.
153 1668830
Как посчитать число символов в тексте, без учета пробелов? Пока на данный момент 2 быдлоспособа: последовательный проход по всем чарам и инкрементирование счетчика в случае, если чар == " ", а также замена всех пробелов на пустые строки (в этом случае придется копировать весь текст) и после - подсчет символов. Есть какой-то небыдлокодерский способ для этого?
154 1668838
>>68830
len(s) - s.count(' ' )
155 1668843
сап двощ, установил себе дохера библиотек, но пайчарм их не видит, кто сталкивался?
156 1668844
народ, делаю проект по нейронке, кто подскажет хорошие материалы для изучения? штука должна анализировать много текста и на основе его выдавать сгенерированный текст (как студент пишущий диплом)
157 1668849
>>68767

>ооо, пхпшника порвало


тут ты мимо, я байтоеб.
158 1668867
>>68830
sum(symbol != ' ' for symbol in string)
BXAqsE-IUAAJ7m3.jpg56 Кб, 427x604
159 1668913
>>68762

> кококо



что, простите? я по вашему жаваскриптерскому не шпрехаю, сорян
160 1668937
>>68913
Решено! Вкатываюсь в жаву!
161 1668987
>>68830

> последовательный проход по всем чарам и инкрементирование счетчика в случае, если чар == " "


Ты же так просто число пробелов посчитаешь.

> а также замена всех пробелов на пустые строки (в этом случае придется копировать весь текст) и после - подсчет символов


Этот способ вообще ебанутый.

Хули тебе не нравится способ :

count =0
for i in range(len(string)):
temp = string
If temp != " ":
count = count +1

И все блядь!
162 1668988
>>68987
Ебучее форматирование [и] сожрало, но думаю суть понятна
163 1668997
>>68987
Ты сделал тот же первый его способ, к тому же весьма уёбищно. Он же нормально >>68867

И оптимальный способ >>68838
В одну строчку и в несколько десятков раз быстрее.
164 1668998
>>68997
Он нихуя не то же самое написал, он хотел увеличивать счётчик если символ == пробелу. Хуй знает зачем.

Кому это мой способ уебищный?
165 1669001
>>68838

гвидо, ты?
166 1669002
>>68998
Суть та же, итерирование по стоке и проверка каждого символа. Ошибся в формулировке, очевидно.

Теперь почему твой вариант уёбищный:
for i in range(len(string)):
temp = string-i
Нахуй не нужно, заменяется for temp in string, потому что строку можно прямо итерировать.
count нахуй не нужно, заменяется sum в том варианте.
167 1669003
>>68937
Это правильно, работы валом. А на питухоне такой роскоши нет.
168 1669169
>>69003
Java-senior: - не хотите ли рассмотреть предложение о работе в нашей компании, на каких условиях согласны работать?

Java-junior: - кто, как это? Пожалуйста, не спамьте нашу компанию вашими резюме. И раньше чем через 5 лет не пишите.
169 1669249
>>68913

>жаваскрипт


>жаба


Петух здесь только ты.
мимо жаба сеньор
170 1669253
>>69249

вебмакака, плиз
171 1669256
Использую pyav, чтоб получить кадр с видео и сделать предпросмотр. Видео может быть любым по длине до 2 часов, ага. Т.к. у 95% видюх первый кадр - черный экран, то хотелось бы взять кадр из середины.
Как сделать это?
Первый кадр беру так,
container = av.open(video_filename)
frame = next(container.decode(video=0))
А как быстро получить кадр с середины генератора? Чтоб юзер не сидел по 10 минут и не ждал.
172 1669308
>>68830
len(''.join(string.split()))
173 1669310
Покидайте своих гитхабов, интересно глянуть что там у гьюниор девелоперов творится)
Естественно не пустых.
174 1669312
>>68637

> Джанга хуянга тормознутое говно и не нужно, одумайтесь


Чел сейчас пишут микросервисы на каком нибудь fastapi + обвязка на С или Cython.
175 1669349
>>69310
а ты нам что
хоть бы свой гх показал еблан
176 1669455
>>68532
Так, братва, новости по вчерашней проблеме: сегодня после введение команды python manage.py runserver всё просто взяло и запустилось. Я не фиксил нихуя, поэтому о причинах проблемы по-прежнему в душе не ебу
177 1669480
>>69310
ты не дерево-тян, чтобы я тебе свой говнокод на питоне показывал
178 1669495
>>69256
Может ffmpeg с параметрами просто запускать? Эта твоя либо ласты склеит и скрипт упадет. Там же Си?
179 1669503
>>69256
А сразу сгенерить превью и положить ссылку в базу?
180 1669529
>>69455
Может просто забыл базу запустить?
Либо другие приложения могли как-то мешать, вариантов куча.
181 1669532
>>69529
На винде как правило не надо ничего запускать. Там Джанго сам коннектится к базе, юзая параметры из settings.py (кстати я не в курсах, работает ли daemon для Postgres или обходятся без него? может в этом дело)
182 1669539
>>69495
Си. Там есть количество кадров в параметре можно глянуть, но все равно, сидеть и ждать, пока генератор пробежит несколько десятков тысяч кадров даже в холостом режиме - муть какая-то. Попробую ffmpeg запустить, должно быстро отработать, надеюсь.
>>69503
На генерацию превьюх, а точнее, на выбор кадра и тратится все время. Если юзер загрузит 2 видюхи, то не хочется заставлять его ждать столько же, сколько он ждет как в вк пока там высрет все варианты пересжатого видео.
183 1669549
>>69539
даже так будет тратиться много времени на 1 превьюху?
получить_колво_кадров_видео/2

https://stackoverflow.com/questions/43838101/opencv-capture-arbitrary-frame-from-video-file
184 1669563
>>69532
Давно начал изучать питон? Как прогресс?
185 1669628
>>69563
Начал изучать - больше года назад. Быдоскрипты писал для упрощения работы на говнозаводе и решения лаб в универе, решил попробовать вкатиться в бэк месяца 2 назад и начал с Фласка лол вовремя забив на него хуй
186 1669632
>>69549

>opencv


>получить 1 кадр


Нихуя ты мощный. Ты и бутылку пива бензопилой открываешь?
187 1669658
Молодые веселые 27летние вкатывальщики, тут для вас авторитетный кодер курс выпустил.
https://youtu.be/AL0QrLUWSE4
188 1669670
>>69658
Не верю, что пиздюку понравится возиться с бэкендом
Они во фронт чаще пиздуют либо (в запущенных случаях) в геймдев, где их жарко любят лиды во все щели
189 1669678
вопрос от нуба:
как заставить ms vs code в терминале не выходить в консоль после удачного или не удачного завершения скрипта, а аналогично стандартному python IDLE остаться в REPL ? и оставить весь результат выполнения
Python 3.8.2 ms vs code 1.44.2, вообщем имено то что хотят здесь:
https://stackoverflow.com/questions/54609806/how-to-prevent-vscode-from-exiting-python-environment-after-running-code
но там ответа так и нет, разницы от запуска через F5 или F5+Ctrl нет
190 1669679
>>69678

> ms vs code


Кто победил?
191 1669686
>>69658
Бывают увлечённые пиздюки, в моём детстве такие были, кто с ZX-spectrum возился, на бейсике и асме кодил. У меня правда позже комп появился.

По нему видно, что он просто там по книжке набирает, смутно понимая, что делает. Но я кстати верю, что научится, из таких потом к 30 годам настоящие сеньёры и вырастают.
192 1669692
>>69678
Чего?
Там не репл, а запуск скрипта, аналогично python main.py
Что ты ожидаешь после того, как цикл событий отработает? Потыкать переменные если хочешь, то ставь точки и вперед дебаггером.
193 1669694
>>69692
ну в IDLE как завершился скриптик, IDLE не спешит закрыться, все результаты остались пока Restart Shell на Ctrl+F6 не сделаешь и можно и дальше вручную потыкать переменные, функции, ну вот это вот всё
194 1669696
>>69694
Ага. И?
195 1669711
А вот кстати, какая питонья идешка позволяет отлаживать сишные модули и чтобы в ассемблер еще заглянуть, регистры xyzmm посмотреть?
196 1669721
197 1669814
Такая проблема. Почему не удается импортировать файл из той же папки что и основная программа? Пишу import file_name, а pycharm эту строку в серую превращает и нихуя не импортируется. Что за нахуй?
198 1669815
>>69814
Серым будет, пока ты не использовал его в коде.
И как так не импортируется?
199 1669817
>>69815

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


Понятно, ни разу ещё ничего не импортировал.

> И как так не импортируется?


Ну я думал раз серым стало, то не импортировались.
200 1669822
>>69308
Самый нормальный человек в треде, не то что местные аутисты с циклами
201 1669839
>>69822
Какой-то жабаскриптовик небось, там подобной хуйней любят заниматься.
202 1669848
>>69822
>>69839
Если вы про это >>68987, то я до этого только с С немного работал.
203 1669850
>>69532
но сервис postgres должен быть запущен. может быть винда его запускает, а может не стала.
204 1669874
>>69822
тормозная хуйня
205 1669881
Здарова питонасты.
Я уже полтора года работаю фуллстэк обезъяной Django + Vue.

Решил вкатиться в go, и очень быстро понял, что без знания SQL дальше я пройти не смогу. Я решил задать вопрос ИТТ потому что вам вероятно знакома моя проблема и вы как питорасты сможете мне подсказать.

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

Вопрос. Есть ли классический/правильный/хороший подход к организации SQL кода в проекте? Куда ложить файлики, как организовывать и реализовывать схему в БД, как её поддерживать без системы вроде миграций Django? Очень надеюсь на подсказку, хотя бы какую-нибудь ссылку или тэг как искать, куда копать. Спасибо.
206 1669885
>>69881

>Есть ли классический/правильный/хороший подход к организации SQL кода в проекте?



https://ru.m.wikipedia.org/wiki/Нормальная_форма
207 1669888
>>69881
Да вроде нет особых подходов.
sql файл с create запросом = схема, а потом хуяришь prepared statements по необходимости.
208 1669893
>>69888
Я предполагал такое, но после автомиграций джанги для меня это немного дико. Типа, джанга как-то делает изменение схемы БД каким-то формальным, задокументированным, что ли, а тут получается просто SQL файлы с созданием БД. От этого немного легче, уже можно формулировать новые вопросы.
>>69885
Это наверное немного не то. Я больше спрашивал об организации кода в проекте и возможно об архитектурных паттернах. Типа, "как обычно строят бэкенд приложения без Django ORM".
209 1669896
>>69881

>Есть ли классический/правильный/хороший подход к организации SQL кода в проекте? Куда ложить файлики, как организовывать и реализовывать схему в БД, как её поддерживать без системы вроде миграций Django?



Есть, пиздуешь на девопс и бьешь DBAшнику челом оземь.
210 1669911
>>68523
Двачую этого. Начал вкатываться где-то года два назад, и так как я до этого был членуксоидом продолжительное время, за каким-то хуем решил осваивать вим. Мало того, что я потратил на это кучу времени, так ви байнды для меня теперь как проклятие, я не могу без них ни в одном редакторе.

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

Я короче как посидел на Jetbrains IDE теперь считаю что после первых шагов, как только они дошли до фреймворков и прошли задачи helloworld1, echo2, сразу учиться пользоваться IDE. Все эти ваши редакторы кода полная хуйня по возможностям. Да, бесплатный и свободный, и это весомые аргументы которыми можно руководствоваться при выборе инструмента, но сравнивать функционал редактора и полноценной IDE и говорить о том, что редактор может заменить вторую это притворство.
211 1669916
>>69911
У меня наоборот - долгое время писал скрипты в минимальном редакторе и заебись, а с освонием бидона решил заодно погонять пичарм.
Пока очень бесит, что он везде лезет со своей хуйней и советами, лол и вообще слишком всё переусложнено на ровном месте. И это я ещё не пишу живой код, а балуюсь во время изучения.
Интересно, через сколько это пройдет.
212 1669921
>>69916
Как только первый проект начнешь. Баловаться со скриптами лучше действительно в обычном редакторе.
213 1669940
>>69921
Над многими большими проектами работают в виме, это совершенно нормально. Наверное всё сильно зависит от особенностей проекта, языка кода.

Если ты работаешь над кусками сложного кода и понимаешь проект, то там нафиг не нужны все эти сложные IDE. Возможностей вима как IDE вполне достаточно. Он тоже подсвечивает синтаксис, поиск умеет делать, diff-ы и много чего ещё. При желании можно и сложнее настроить.

Когда логика кода размазана по десяткам файлов, как это в Java принято, с их диким использованием наследования, то там уже тяжелее в виме и чаще идёт в сторону IDE.
214 1669962
>>69881
если у тебя монолит = бекенд + бд, то обычно миграции хранят вместе с проектом (аналогично django orm) и используют что-то вроде alembic или flyway или liquibase

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

еще есть вариант когда в компании есть отдел эксплуатации хранилищ и там им просто кидается заявочка и они сами ебутся как-то
215 1669966
>>69962
Отдела подтирания жопы ещё нет?
216 1669975
>>69966
смешно
217 1669983
>>69940
Не очень хочется развязывать срач, так что я на этом сообщении остановлюсь. Вот что мне не нравится в vim, emacs и отчасти в тех же самых новомодных и удобных vscode:

- хуже автокомплит: неважно какой у тебя редактор, language server'a у всех одинаковые. В идее автокомплит работает в разы лучше
- искаробочное решение, которое работает сразу: помимо освоения вима и имакса их надо люто пердолить, даже если учитывать что ты возьмешь какой-нибудь популярный конфиг, допиливать его придётся до вменяемого ide-like environment. В vscode всё встаёт само;
- отсутствие вменяемых инструментов рефакторинга по всему проекту;
- интегрированные и очень удобные инструменты гита, мержи, история, и всё это наглядно и очень удобно. Наверняка в остальных редакторах есть инструменты для гита, но я уверен на 99% что они и близко не стоят по удобству с инструментами Jetbrains IDE, и для мержей скорее всего придется ставить стороннюю утилиту;
- интегрированные возможности управления деплоем, докер, возможность настройки пресетов конфигураций для них, UI для управления/подключения к контейнерам. Минус в том, что как я и сказал, не знаю как это работает под капотом. Но вопрос в том надо ли это мне? (нет). Скорее всего для решения этих задач также потребовалась бы какая-нибудь утилита
- охуительнейший дебаггер

Собственно одна IDE заменяет кучу инструментов, без пердолинга, искаробки. Но вот как раз минус в том, что код писать удобнее именно в редакторе, но программирование это лишь хз, для меня, где-то 15-20% написание кода, остальное время проработка задачи, дебаг и прочее говно
218 1670011
>>69983

я сублим + сублим мердж юзаю
219 1670020
>>69983
Срач какой-то особо безсмысленен, зависит от задачи.
На англоязычных сайтах не видел чтобы срались из-за инструментов каких-то так фанатично) Есть инструмент, со своими плюсами/минусами, каждый выбирает что нравится.
220 1670025
>>70020
Холивар же. Обычное дело.
221 1670026
>>70025
Так себе развлечение.
222 1670027
>>70020

> На англоязычных сайтах не видел чтобы срались из-за инструментов каких-то так фанатично


Ага, именно поэтому вим вс эмакс это один из самых легендарных срачей эвер.
223 1670034
>>69962
Спасибо большое, дружище.
С отделом я конечно пока повременю, просто для начала хочу hello world в виде бота написать на go, но бд там и логика относительно объемные получаются, будет над чем поработать.

Спасибо!
224 1670052
Самп. Как лучше реализовывать цикл?
Так:
for i in range(1-x):
...

Или:
While x < y:
...
x+=1
225 1670056
>>70052
Если заранее известно сколько, то лучше for.
226 1670059
>>70052
Надо было использовать map
Мы вам перезвоним, показать где туалет на выходе с собеседования?
227 1670061
>>70059

>Надо было использовать map


wat?
228 1670063
>>70059
Хто map, я map? А может быть ты?
229 1670066
>>70052
генераторным выражением
230 1670067
>>70066
Это как?
231 1670073
>>70067
Погугли
232 1670081
>>70059
я сру только на работе
Screenshot2020-04-28-16-33-40-563ru.iiec.pydroid3.jpg100 Кб, 1080x638
233 1670085
Поясните какого хуя не работает импорт. В одной и той же папке 2 файла name.py в котором только my_name = "Anon" и основная, в которой импорт делаю и делаю print("имя: ", my_name). Но при запуске выдает эту залупу.
Какого хуя?
234 1670088
>>70085
Потомучто ты pydroid3

используй нормальный ide мудило
235 1670090
>>70088

>pydroid


Пидроид?
236 1670091
>>69911
А нахуя брать платный ide, когда есть бесплатные?
237 1670093
>>70088
Какой нормальный ide есть под Андроид? сам мудак
238 1670096
>>70091
Так бесплатные ж говно ебаное. Нахуя какие-то копейки на божественную жидбрейновскую IDE жалеть?
Или ты из яндекс.такси вкатываешься?
239 1670101
>>70093

> Какой нормальный ide есть под Андроид?


Тебе там нечем заняться?
240 1670108
>>70096
Чем жидбрейн лучше пичарма?
241 1670110
>>70108
Чем двач хуже сосача?
242 1670113
>>70093
colab мудодел
243 1670114
>>70101
Да, кодю на смарте когда скучно и делать нехуй.

Так моя проблема исключительно в пидроиде? Так то я вроде все правильно делаю?
244 1670117
>>70110
Первый умер
245 1670123
>>70113
Colab app? Так это онлайн интерпретатор, мне не подходит, у меня днём инет в глубокой жопе, даже на двач не хватает. Но спасибо, уебок
246 1670125
>>70123
Пиздос, ты где живешь?? В белорусии чтоли?? мразь
247 1670136
>>70125
Работаю за пределами города, пидрила. Так что нужен именно оффлайн вариант.
248 1670141
>>70136
Ну знает тогда хуесосина, попробуй взять планшет с windows'ом
249 1670176
>>70136
>>70141
Вот это вы долбоёбы
250 1670192
>>70085
Ты бы хоть показал код.
Вангую, что импортировать импортировал, но без неймспейса используешь.
251 1670206
А этот >>70192 прав оказался то! Так что мы реально >>70176. Я же тут >>70085 писал что использовал my_name, хотя надо было name.my_name.

Все заработало, так что пидроид норм.
 1002.png337 Кб, 1920x1080
252 1670294
Анон, есть у кого Лутц изцучаем пистон 5е издание второй том, и програмирование на пистоне 5е издание 1, 2 том? на рассово неверном русском. С меня няши, лучи добра, и тонны нефти(хоть она нихуя и не стоит сейчас)
253 1670377
>>70294
rutracker
Если вкатываешься на первое время вполне хватит Укус Питона. Для первого проекта достаточно.
254 1670418
>>70101

наши руки - не для скуки!
запускаем руки в брюки
доставаем телефон
програмируем питон
255 1670420
>>70294
не читай эту хуйню, там слишком много воды и пустых рассуждений ни о чем (по сравнению с нормальными книгами).
256 1670421
>>70377
да я уже 7ой месяц ебусь со змеюкой. просто решил прочитать вдруг что полезное найду. Спасибо за наводку. Твоя мать порядочная женщина, а отец благородный мужчина.
257 1670426
>>70420
Ну да воды много но что то полезное нахожу один хуй. На английском тяжело читать, хотя первую книгу на инглище я прочитал про питон.
посоветуй чего-нибудь, пабрацки, а? интересно про классы почитать, и про то как эффективно ими пользоваться. Ебошу парсеры буккмекерских контор с блекджеком и шлюхами. было бы круто если бы было как то чтиво в эту сторону повернуто.
258 1670445
>>70088
он из КПЗ капчует
259 1670470
>>70445
проиграл
260 1670483
>>70426
Офф доки, посмотреть практические примеры использования.
Книжки по 500 страниц прочитаешь, все равно забудется.
261 1670520
>>70421
Если 7й месяц то полезнее всего думаю будет прочитать Fluent Python. На русском вроде "Python к вершинам мастерства". Ультрагоднота.
262 1670525
Думаю, большинство бухтящих про водянистость Лутца не дочитали и до сотой страницы, лол.
263 1670553
>>70096
А он другие языки умеет? Там js, лучше node.js, html-css-xml-json?
264 1670559
>>70553
Смотря что купишь. Ultimate всё умеет. Не знаю насколько всё, но очень многое.
265 1670572
может кто-то дать материалы, по созданию текстового бота с критериями анализов? который, будет генерировать текст анализируя другие
266 1670579
>>70520
Записал. Благодарчик.
267 1670581
>>70553
я сейчас на 500й первого тома. Тяжело читать, и он часто повторяется. Годнота конечно в том что у него основательный подход но блять какой слог ебанутый. Может проблема в переводе
268 1670717
>>68801
что дальше можно после Седер почитать?
Пробовал Лутца для закрепления, но там много воды и мало практики.
269 1670735
>>70525
пару хелловордов, синтаксис подучить, задачи на алгоритмы, туториал на джанге, и все, боец готов) остальное на ходу осваиваешь, так даже лучше запоминается когда на практике что-то применяешь сразу.
270 1670835
>>70717
Уже упомянутое intermediate-python.epub как концентрацию питонического.

Ну а дальше я ничего не читал уже. Чистый питон по сути заканчивается.
Книги формата "Сборник Рецептов" держу и листаю для решения моих практических задач.
271 1670927
>>70835
Мучос грасиас.
272 1670984
>>70525

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

в общем, не читал, но хуйня ваш лутц!
273 1670993
>>70835
Спасибо!
274 1671048
>>70984

Всё правильно говоришь, поддерживаю

мне конкуренты не нужны
275 1671052
>>70735

> туториал на джанге


А какой конкретно? Официальный что-ли? К слову прикольно, что некоторые книги по фреймворку порой растягиваются на 500 страниц. Вот уж действительно проще некуда.
276 1671067
>>71052
В официальном туторале по джанге 2000 страниц, если что.

Но весь не нужен, конечно.
277 1671082
>>71067
И написан он получше некоторых книг
278 1671126
Что будет если ты подключил функцию из внешнего файла и ее же объявил внутри основной программы? Нихуя же страшного не будет?
279 1671133
>>71126
Функция это та же переменная, просто переопределится.
280 1671268
Читаю про итераторы и не совсем понял один момент.
Вот есть объекты, которые могут итерировать сами себя, т.е. имеют __iter__, возвращающий себя, и реализованный __next__.

В коде с примером счетчики итератора инициализируются в конструкторе, т.е. его можно будет проитерировать только один раз для объекта (как тот же файл, например).
Это какой-то принципиальный момент, или при желании можно счетчики сбрасывать в __iter__ для многоразового использования?
281 1671282
>>71268
Охуенно конечно говорить о каком-то коде из примера, но при этом сам код не выкладывать.

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



Да, можно.

А вообще лучше сразу на yeild и генераторы переходи.
282 1671283
>>71282
Ну я же объяснил, что он делает.
Хотя ещё как-то сомнительно, надо будет посмотреть в других источниках.

> А вообще лучше сразу на yeild и генераторы переходи.


Что значит лучше? Это всего лишь сахар, который тот же механизм использует.
2238464311.jpg36 Кб, 290x413
283 1671288
Я понял, что меня смущало.
При сбросе счетчиков объект изменяется и предыдущие исчерпанные итераторы тоже оживут, чего не должно быть.
284 1671292
Таким образом, если надо много раз, то надо каждый раз возвращать отдельный одноразовый объект-итератор.
285 1671337
>>71268
В норме итерируемый объект должен не себя возвращать, а создавать новый объект-итератор.

То есть в своём MyObject ты при __iter__ создаёшь некий другой объект, MyObjectIter, в нём хранишь переменные, с которыми работаешь, ссылку на MyObject при необходимости.

А вот в MyObjectIter итератор уже self возвращает.
286 1671346
>>71337
Ну с отдельным итератором всё понятно.
А в случае самоитерации отдельный итератор это уже она сама и надо соответственно реализовать.
287 1671596
>>71052

>А какой конкретно? Официальный что-ли?


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

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

>>71067
Это там со всеми доками и туториалом 2000 страниц.
А так туториал 7 parts, или 64 страницы если в pdf.
288 1671726
>>71596
Джанго гёрлз говно из жопы, не объясняется ровным счётом нихуя, ты просто пишешь что тебе говорят.

У мозиллы неплохой гайд, но по старой версии джанги
289 1671872
Ребята, а где раздачи курсов можно скачать? Кроме рутрекера ничего на ум не приходит.
290 1671902
Здравия аноны. Читаю вводу доку питона и назрел вопрос. На самом деле он у меня еще с того времени как я узнал что существуют языки с динамической типезаций.

В целом можно описать этот вопрос как: зачем вообще нужна динамическая типезация? Мне, как человеку, который вообще никогда не работал с такими языками, кажется это очень не удобно. Основная проблема это возможность отправления в функцию непредполагаемого типа. Попробовал в консоли отправить в функцию sum строку. Получил ошибку типа ожидалось int, а получено str. Значит функция как-то проверяет тип, я так понимаю это можно делать отловом исключений (до этого еще не дочитал). А так как я не знаю фишек динамической типзацией, то для меня это кажется чистым костылём.

Так вот, анон, в чем плюсы динамической типезации над статической.
291 1671923
>>71902
А тебе удобно в статических языках, когда тебе надо делать работать с темплейтами-дженериками потому, что вроде бы функционал одинаковый у функции-метода, но типы разные?

А удобно работать с форматами вроде json/xml? Удобно, когда ты не можешь в словаре хранить разные типы данных, а только одного типа или с одним определённым интерфейсом?

Собственно самая засада начинается с работой со сложными структурами данных, зачастую заранее не определёнными. Вот как такие, что приходят тебе по JSON.
292 1671951
>>71872
Нахуя если в Степике два курса и они оффлайн?
293 1671958
>>71951
А мне по джанге нужно.
294 1671963
>>71958
На ютубе туториалы, на английском не мало такого там.
295 1672006
>>71963
Про Ютуб я знаю, у меня с английским проблемы. Мне вообще от конкретного автора курс нужен.
Помогите, Христа Ради ммм 296 1672060
Начала учить Файтон, всё шло хорошо, но появилось задание написать калькулятор. Окей. Присваиваю переменной операции (сложение, деление и т.д.). Мне нужно с числом, которое пользователь вводит, произвести операцию, которую он выбирает, со вторым числом, которое он напишет. Как это написать, именно сам итог счёта? Я так поняла, что нужно каждый раз проверять, что ввёл пользователь в "операции" и через if каждый раз прописывать этот счёт, как на втором пикчерз.
Нет ли штуки, которая кратко заставит написать в одной строчке, мол (a "чё там пользователь ввёл в операции" b) и чтоб оно посчиталось?
делаю в вижуал студио
Дико извиняюсь, если пишу не по-программистски.......
297 1672102
Кто-нибудь пользовался чатботом на основе twitchio?
298 1672143
>>72060
Просто просишь ввести необходимую операцию:
s = input("Введите матиматическое выражение: ")
Например пользователь ввел "2+6×3"
result = eval(s)
И дальше ответ:
print("Результат матиматического выражения: %.2f" % result)
299 1672192
Аноны, дайте короткий чеклист того, что нужно знать для вката на фриланс выхода на прибыль хотя бы в $1к. До питона 3 года прогал на яве, есть опыт работы с бд, линуксом, html+css, ангельский B2. Синтаксис знаю, SL продрочил, сейчас читаю Лутца по программированию.
300 1672198
>>72192
JS + React + Node.js + HTML + CSS

Этого вполне достаточно будет для $1к
301 1672202
>>72198
И какое место в этой связке занимает питон?
302 1672203
>>72202
Может ты еще с ассемблером во фриланс собрался? Питон это работа в офисе.
303 1672207
>>72203
Питон это бекенд, мл, боты и куча вариативных скриптов спрос на которые был и есть. Ладно, не суть. Сколько примерно займёт вкат в твой набор?
304 1672212
>>72207

>это бекенд


Это пхп. Либо джава, но никак не питон.

>мл


Много ты работ во фрилансе, связанных с мл, видел?

>боты


На node.js пишутся быстрее и легче, спасибо божественному puppeteer. К тому же можно их писать в виде расширений для браузеров, что тоже весьма популярно и пользуется спросом.

>Сколько примерно займёт вкат в твой набор?


Если перечисленный тобой опыт реален, то не больше 3-х месяцев точно.
305 1672249
Нужна небольшая утилита, смысол такой.
Открываешь аудиофайл. Сверху появляется проигрыватель с бегунком-громкостью, все дела. Внизу под ним один в один наложенные графики с уровнем, спектрльным центроидом ну всякой другой кепстральной математикой, она у меня есть.
Пользователь может этот графики туда сюда-зумить, запускать файл с разных мест отмечать на графике или бегунке контрольные точки, которые потом будут экспортироваться.
По сути надо продублировать интерфейс mp3splt-gtk, но без его заёбов.
PyQt сможет? Если да, то от каких виджетов плясать?
306 1672266
>>72249
попробуй guizero, а график в matplotlib вторым экраном.
и файл не проигрывай. нахуй надо это qt.
307 1672344
Слыхал, что использование в url idшников и в принципе primary key - зашквар. А как тогда обращаться к объектам?
На примере той же Джанги или Фласка?
308 1672352
>>72344
Схуя ли?
image.png169 Кб, 1280x800
309 1672376
почему если n=0 то мы возвращаем второй аргумент функции как 1? и почему в третьем случае у нас получается целых три аргумента? m-1,m,n-1
310 1672377
>>72143

>eval(s)


Сразу пишешь заявление на увольнение.
311 1672380
>>72344
uuid или можно шифровать/дешифровать id
мол crypted_id = encrypt(id, key)
/items/{crypted_id}
а потом обратно decrypt(crypted_id, key) можно еще случайность добавить
но лучше забей это реально нужно лишь в 0.00001% случаев
312 1672421
>>72344
Слаг филд
313 1672531
учу алгоритмизацию и созрел вопрос - сделал рекурсию на примере функции Аккермана - ЗАЧЕМ ЭТО НАДО?
314 1672560
>>72531
кому надо
и что это

сам учишь какую-то хуйню, а нас спрашиваешь. Мы ебем нахуя тебе оно надо? Я вот не делал рекурсию на примере функции Аккермана
315 1672589
>>72531
С таким настроем лучше не учить алгоритмы. Серьезно.
2020-04-3018:00:03.png11 Кб, 433x204
316 1672626
Аноны, а кто работал с PyQt?
Есть QTableWidget, который выводит определенную информацию из SQLite. Там не просто из таблицы, а с джоинами, плюс сделал первый столбец в каждой строке как QtCore.Qt.ItemIsUserCheckable, чтобы можно было выделять галочками.
И хотелось бы прикрутить фильтрацию столбцов к этому делу. В идеале - чтобы как в DB Browser'е (см. пик). Но можно и сверху, а не в самом виджете.
Собственно, вопрос: как это лучше реализовать? А то тут нагуглил вообще про какие-то модели данных, но я не программист, и мало что понял. Да и не знаю, работают ли они с джоинами и посторонними элементами в виджете. Короче, посоветуйте что-нибудь, пожалуйста.
317 1672699
>>72589
вопрос то в другом - для чего нужна рекурсия? если во первых она ограничена и во вторых можно циклом все задать?
318 1672707
>>72699
Так делай циклами тогда.
319 1672713
>>72699
Можно и без рекурсии. Иногда даже нужно. Но в этом случае тебе придётся её самому имитировать через стек, что лишний геморой. Если хочешь - делай так.
320 1672742
>>72352
Вот именно, работает же, зачем что-то изобретать.
Мало ли что могут писать фантазеры.
321 1672847
>>72531
Иногда рекурсией код записать гораздо проще, при этом он еще и сразу понятен. Например для той же функции Аккермана - переписал уравнения в код и всё, даже мозг включать не надо.
322 1672860
>>65888 (OP)
Нужно написать микросервис, который принимает набор данных и возвращает результат, смоделировав его через ML модель. Правильно ли я понимаб, что тут вполне будет фласка достаточно?
323 1672902
>>72860
Можно вообще и без фласка, зависит от уровня подготовки.
А так да, фласк/джанга.
324 1672905
>>72860
А как у тебя протокол получения задачи и отправки результата будет устроен? Обычный запрос по url-post и ожидание ответа без разрыва соединения?

Тогда да, достаточно.
325 1672925
>>72905
rest же есть.
Тоже просто

>достаточно.

326 1672929
>>72860
Если время ответа будет с большой задержкой, то нужно делать вебсокет.
327 1672935
Спрошу и тут.
Подскажите, каким образом лучше всего изучить Django?
Есть базовые знания HTML, CSS и Python. Знания английского среднее.
Пробовал по оф.документацие, но там все сухо подано, да и объяснения какие-то туманные для новичка. Вот тебе код, вот при наборе этого кода ты получишь следующее. Хотелось бы более углубленное изучения, где бы объяснялась причинно-следственная связь.
Есть ли на русском какой-нибудь годный вводный курс для новичков? Чтобы раскладывали все по полочкам, без копи/пасты и т.д.
328 1672936
>>72935
на ютубе есть туториал по джанге, там объясняется что и зачем куда пишется.
329 1672938
>>72936
Спасибо.
Как найти? Автор/канал?
331 1672943
>>72939
Спасибо конечно же, но 1 час это очень мало, да и к тому же, хотелось бы на примере какому-нибудь. Например: создаем эдакий сайт на Django, в ходе которого бы рассказывались азы, причинно-следственная связь и т.д. У Хоуди очень поверхностная информация, просто быстро пробежался, да и к тому же, под конец там вообще сплошной "не обращайте внимание, просто пишите то же, что и я".
332 1672948
>>72943
Смотря какой уровень у тебя, тут например подробно и растяжисто: https://www.youtube.com/watch?v=-kvoStX713Q&list=PLSWnD6rL-m9adebgpvvOLH5ASGJiznWdg&index=3
333 1672950
>>72943
на английском 12-ти часовые туториалы есть, наверное тебе такое подойдет)
334 1672955
>>72948
Спасибо. Да, о чем-то таком я и говорил. Нашел еще днем отличный курс Олега Молчанова, только там все было очень хорошо разжевано где-то до 5-6 урока, потом он троить что-то сильно начал, забив на разъяснение и просто перейди к копи/пастингу. Нужно будет Медведя посмотреть, надеюсь, у него вышеописанное не начнется.
Еще раз спасибо тебе.
>>72950
На самом деле, чем больше, тем лучше, карантин же, свободного времени уйма, да и к тому же, чем больше информации о фреймворке, тем лучше. Поверхностное знание и копи/паста совсем не то.
335 1672968
Собрал питон из исходников:
./configure --prefix=/home/`whoami`/local --disable-shared
make install

Потом собираю свой экзекьютабл. Там в main(...) надо вызвать Py_Initialize() по тьюториалу. Если убрать папку ~/local/lib/python3.8, то получается ошибка. Но в этой папке ~2000 файлов. Питону правда, чтобы просто запуститься, нужно выполнить столько скриптов?
336 1673015
>>72968
Там все библиотеки, без них питон не питон. Сделай хотя бы пустую папку, а по strace можно понять, что там реально он открывает.
337 1673030
>>73015
Уже попробовал. Для запуска с Tkinter (за копипастингом пропустил момент, на котором эта либа попросила новые скрипты) все еще требуется ~200 файлов оставить. Но в принципе уже норм. Вопрос можно снять.
338 1673074
>>71872
coursehunters.net
339 1673213
народ, активно учу пайтон - синтаксис, что нужно чтобы стать уже джуном и со спокойной душой откликаться на вакансии? только без шуток, плез - я прям на грани отчаяния сейчас
340 1673262
>>73213
И с чего это ты вдруг на грани отчаяния?
341 1673271
>>73262
потому что не понимаю, как учить дальше и что делать с теми знаниями, что уже получил - плюс переехал в другую страну и в связи с гребанным вирусом все планы полетели в пизду
342 1673272
>>73213
Сколько тебе лет?
343 1673274
>>73272
24 скоро - закончил ргунг, поработал в сибири - переехал в израиль, сначала по программе, тепреь уже гражданин, учу на курсах си и потом буду JS, самостоятельно пытаюсь учить питон, учу иврит, в итоге иврит курсы его накрылись пиздой - сколько программирование еще учить не знаю, хочу как-то ускориться =, но не знаю как
344 1673276
>>73271
Это всегда очень индивидуально. Зависит от тебя, какие у тебя вводные, по образованию-возрасту-статусу-складу ума-подготовки, от того, в какой стране ты находишься, в каком городе и какой там рынок IT, какой у тебя юридический и визовый статус.

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

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

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

Для питона, есть большое направление ML, OpenCV и вот туда, в котором я не ориентируюсь вообще. Ничего не могу сказать.

Есть сетевые направления, сервисы разные, тут проще:
1) для всего полезно разобраться с git
2) полезно разобраться с контейнерами, с docker
3) полезно разобраться с параллельным, многопоточным и асинхронным программированием. Особенно с асинхронным, если на питоне
4) полезно разобраться с веб-фреймворками, актуальные django и aiohttp
5) полезно разобраться с БД и хранилищами, Postgres, Mongo, Redis и подобными.
6) полезно очереди сообщений, RabbitMQ, всякие Celery может быть.
7) полезно разобраться с облачными технологиями, все эти AWS, Azure и т.п., но я всё до них никак не дойду, но они в тренде.

Огромная масса всего есть, просто страшно, сколько всего надо бы уметь. Я делаю упор больше на сетевые вещи, это мне ближе. Что-то ещё забыл наверняка.
346 1673282
>>73280
Молодец, развернуто ответил, без пафоса и надменности. Такое отношение всегда приятно наблюдать. Плюс в карму однозначно.

мимо
347 1673289
>>73280

>Огромная масса всего есть, просто страшно, сколько всего надо бы уметь. Что-то ещё забыл наверняка.


8) RESTful API's
9) тесты
10) фронтенд немного
Да не так уж и много. Можно глянуть вакансии, у каждой своя специфика чаще всего, но если есть опыт python/django, разобраться с чем-либо не составит много труда и времени.
manage.py.png75 Кб, 1251x408
348 1673345
Копирую тред, может здесь ответят.

Проблема при установке django
Устанавливал django на ubuntu по инструкции отсюда https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-18-04-ru
Начал создавать образец проекта:
mkdir ~/django-test
cd ~/django-test
python3.6 -m venv my_env
source my_env/bin/activate
pip install django
django-admin startproject djangoproject

И на следующем шаге в ответ на
python manage.py migrate
получаю
can't open file 'manage.py': [Errno 2] No such file or directory

То есть во первых почему-то не находится django, а во-вторых файл manage.py.

Долго гуглил и везде пишут что нужно просто находиться в той директории, где находится manage. py чтобы он нашелся.

Пытался выполнить запрос python manage.py migrate из всех директорий всех файлов manage.py, которые нашел на компьютере (они на пикриле), это не сработало.

Например перехожу в директорию одного из этих файлов:

cd /usr/lib/python3/dist-packages/plainbox/impl/providers/categories
Пытаюсь выполнить:
python manage.py migrate
Результат:
No module named 'plainbox'

Как исправить?
manage.py.png75 Кб, 1251x408
348 1673345
Копирую тред, может здесь ответят.

Проблема при установке django
Устанавливал django на ubuntu по инструкции отсюда https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-18-04-ru
Начал создавать образец проекта:
mkdir ~/django-test
cd ~/django-test
python3.6 -m venv my_env
source my_env/bin/activate
pip install django
django-admin startproject djangoproject

И на следующем шаге в ответ на
python manage.py migrate
получаю
can't open file 'manage.py': [Errno 2] No such file or directory

То есть во первых почему-то не находится django, а во-вторых файл manage.py.

Долго гуглил и везде пишут что нужно просто находиться в той директории, где находится manage. py чтобы он нашелся.

Пытался выполнить запрос python manage.py migrate из всех директорий всех файлов manage.py, которые нашел на компьютере (они на пикриле), это не сработало.

Например перехожу в директорию одного из этих файлов:

cd /usr/lib/python3/dist-packages/plainbox/impl/providers/categories
Пытаюсь выполнить:
python manage.py migrate
Результат:
No module named 'plainbox'

Как исправить?
Андрей 349 1673352
Я читал книгу Пола Берри "Программирование на Python", по ней я его и выучил. Наикрутейший учебник, все на пальцах объясняют. И да, там версия Python 3.x.
350 1673356
>>73345

> django-admin startproject djangoproject


Ну так зайди в этот djangoproject сначала, норкоман. Там и лежит manage.py
351 1673360
>>73356
Ищу
~/root/django-test/djangoproject
И пишет
bash: /root/root/django-test/djangoproject: Нет такого файла или каталога

Хотя несколькими строками ранее писал
CommandError: '/root/django-test/djangoproject' already exists
352 1673361
>>73360
Все, все нашел. Спасибо, сработало.
353 1673362
>>73360
~/root это каталог root в хомяке юзера, т.е. в твоем случае /root/root
Ты линупс в первый раз видишь, штоле?
354 1673374
>>72939
это траллинг? есть получше туториал?
355 1673408
>>73374
Тоже вкатываешься? Если да, то напиши на почту: juststaAi!rtdjangoANUSgmaTklilPUNCTUMcoOyDm, будем помогать друг другу, если интересует конечно же.
356 1673442
>>72626
ладно, хуй с вами, решил вопрос textedit'ами сверху и проходом по нужным столбцам со скрытием или показом строк
357 1673455
>>73408
да пиши тут. мне неинтересно будет "вкатываться".
у просто забукмаркить решил видео на будущее.
358 1673462
>>73289
Ещё бывает приходится писать на С.
359 1673479
>>73462
Шо? Нахрена?
360 1673487
>>73479

>Шо? Нахрена?


Фантазер просто)
361 1673488
>>73479
Сам пилишь что-то на джанге или работаешь?
362 1673490
>>72905
Да, именно так. Собственно вчера уже запилил. Сейчас хотел начать делать фронт, а он мне такой ModuleNotFoundError: No module named 'numpy', хотя вчера всё работало. Скиньте годных статей про управление версиями питона и вот это всё, а то после фронта, где ставишь всё в проект и кайфуешь, как-то непривычно.
363 1673491
>>73490
А ты как вообще с проектом в питонухе работаешь? Через виртуальную среду? Если пишет No module named 'numpy' значит так оно и есть

п.с. где годные туториалы по построению фулл веб-приложения: бэк на питоне, а фронт на жс? пока что все что я делал это заливал ванильный жс-говнокодкод в темплейты джанги, хочется освоить фронт (на уровне "троешника" хотя бы) и бэк в связке
364 1673497
>>73491
Зашёл говорю flask run, ёпт, а он морду воротит. Вчера норм робило, как я понял потому что использовал ту версию питона, которая с юпитером работает, а вот ща какую-то другую начал. Вот и хочу разобраться что к чему
365 1673505
>>73497
Вот чтобы не было такой ебли с версиями, ебошь virtualenv или conda venv и ставь все пакеты туда, надо будет - сменишь среду, а не будешь кустарно менять глобальные интерпретаторы для проекта
366 1673507
>>73490
В питоне принято работать через виртуальные среды, он их очень хорошо и удобно поддерживает, даже проще, чем кажется при взгляде на инструкции.

Фактически тот же принцип, что и в npm. Там у тебя есть "виртуальная среда", он определяется соответствующим каталогом node_modules, в который и записываются npm-модули при установке.

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

Сначала просто создаёшь виртуальную среду, а потом пользуешься ей без активации:
~/virtualenvs/venv_py38/bin/pip install some_module
~/virtualenvs/venv_py38/bin/python my_prog.py
условно как-то так. Универсальный подход, можно использовать в системных скриптах и т.п. Питон сам будет брать всё, что нужно, из соответствующего окружения.

Переносимость "на дискете" правда сильно хуже, чем у npm.
367 1673515
>>73507

>Переносимость "на дискете"


Тут чел хотел на полном серьезе просто перенести папку venv: >>1664292 →

Это не то чтобы нереально, но больно много ебли с этим. Для переносимости лучше docker'ы ебошить
368 1673523
>>73507
>>73505
Спасибо, аноны, буду пробовать.
369 1673528
>>73515
Питон на дискете переносится, но плохо.

Для ноды ты просто тупо копируешь каталог, и если у тебя линукс с 8 версией, а на целевой машине винда с 12-й версией, то скорее всего заработает без проблем. Большинство модулей переносимые.

В питоне сложнее, перенести так можно, но только в рамках системы одного семейства и одной версии питона. И надо ключи правильные при создании venv не забыть.

> Для переносимости лучше docker'ы ебошить


Но для этого надо, чтобы докер на машине стоял, а для этого надо его ставить, а это гемор. Его потом ещё надо запускать. Сам докер в системе - это дыра в безопасности, с ним надо аккуратным быть. На Win 10 Home докер не поставишь. Больше гемороя, чем кажется.
370 1673533
>>73280
спасибо друг, а то тут все так надменно отмечают, как будто родились и уже на мамкиной пизде прогать стали. Правда спасибо) вопрос есть, просто я вот умею уже частично что-то делать, но до сих пор не понимаю практичесокго применения этого всего дела
30986737-a-source-code-on-screen[1].jpg115 Кб, 1300x866
371 1673822
Покидайте своих гитхабов, интересно глянуть что вы там творите).
372 1673824
>>73822
Уже в какой раз это пишешь здесь? Изыди
ZippySkills.com-Best-Python-Courses-Online-for-Beginners-10[...].jpg66 Кб, 1024x576
373 1673826
inlineimagepreview[1].jpg12 Кб, 590x332
374 1673828
375 1673842
>>65888 (OP)
Есть задача парсить сайт раз в час и сравнивать спаршенные значения с предыдущими. Как лучше хранить данные для задачи?
376 1673843
>>73842
Что есть "результат парсинга"? Сырые html-залупы?
377 1673844
>>73843
key - value
SQLite-Manager-editing-screen[1].png133 Кб, 850x362
378 1673845
>>73844
sqlite
379 1673846
>>73845
А почему не JSON? Не сочти что я умничаю, просто интересно.
380 1673847
>>73846
Да, можно в файлик просто писать json.
С БД удобнее и быстрее, она для этого и предназначена, хотя если и напишешь как написал, потом уже не составит труда на бд переключить, т.к. логика готовая будет.
s-2[1].png84 Кб, 933x589
381 1673848
382 1673859
>>73844
redis, ёпта.
383 1673861
>>73859
C редисом не знаком, он пока в бэклоге
384 1673868
Аноны, во время выполнения функции надо запустить другую и продолжить выполнение текущей, не дожидаясь пока вторая завершится. Это все тредами надо делать?
385 1673873
>>73868
Зачем?
386 1673877
>>73868
Варианты:

Запуск в другом процессе
Запуск в другом треде (зашкварно, не только из-за GIL но и из-за ебли с локами и гонками)
Асинхронный запуск функции, если это связь с сетью и одна из функций не блокирует основной поток нон-стоп
387 1673879
IIFE как в жс в Питоне пишутся? Это функция, которая исполняется сразу после объявления. Или так не делают?
(lambda x: file.write(x*10))("string argument")
388 1673880
>>73873
Во время обработки запроса надо сделать запрос на другой сайт, результаты которого нужны только серверу. Клиент в это время уже спокойно может идти дальше, получив ответ со статусом 200
>>73877
Понятно, спасибо, анон. Вторая функция и так асинхронная, но просто хотелось бы, чтобы ответ на клиент ушел быстрее
1ZXcyTDpPg8XOVfEZ-yngAQ[1].jpeg18 Кб, 739x415
389 1673897
390 1673898
>>73897

>Наверное типа такое нужно.


*Наверное тебе типа такого нужно.
391 1673901
>>73879
Нахер бесполезный оверхэд, нужный только чтобы показать "Мама, смотри, я без рук еду я через функциональную парадигму прогаю!"
392 1673971
>>73879
В этом есть какая-то необходимость?
При желании, можно несложно сделать декоратор и определять функцию как

@call_right_now(params)
def func(param1, param2):
___body
393 1673981
>>73898
>>73897
>>73848
>>73845
>>73828
>>73826
Кто-то бота-спамера тут тестирует
394 1673982
>>73877
>>73897
А что в итоге профитнее будет, например при 100+ запросах к этой функции? Запуск в другом процессе выглядит привлекательно, но ведь такая хуйня запустит по процессу на каждый вызов функции и рано или поздно наебнет сервер. Или т.к. особо CPU-затратных операций в этом нет - забить на GIL и делать тредами?
395 1673983
>>73880
Просто делаешь очередь на обработку запроса на сайт. К тебе приходит клиент, ты формируешь запрос на другой сайт и кладёшь это в специальную задачу в очередь. Клиенту выдаёшь ответ.

В это время другая задача сидит на очереди, как только там что-то появляется, обрабатывает независимо уже этот запрос. Так можно и через asyncio делать, и через потоки. Можно отправлять в другой процесс или на другой сервер уже через MQ какой-нибудь.
396 1673986
>>73982
У тебя самая классическая задача на очередь сообщений. Но тебе не обязательно для этого поднимать очередь между несколькими процессами, ты можешь и в одном это делать. Схему я описал >>73982
1ZSCeHQf08mD0hKaxMIUYCw[1].jpeg91 Кб, 1000x550
397 1673987
>>73982

>и делать тредами?


ну так проще всего, и работает же.
Rg0fG[1].png255 Кб, 1920x1080
398 1673989
>>73981
Да неее
399 1673993
>>73983

>и через asyncio делать


Но ведь asyncio просто запустит вторую функцию асинхронно, а сама функция остановит выполнение, пока запрос не завершится.
400 1674008
>>73993
Нет, в первой функции ты делаешь
request = {'some_url': 'xxxxxxx'}
queue.put_nowait(request)

другая функция где-то в фоне крутится, запущена как самостоятельная задача
async def downloader(queue):
____while True: # or something
________request = await queue.get()
________await do_request(request)

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

Асинкио или треды даже не важно, паттерн общий. С тредами тоже надо через очереди работать, это самое правильное, а не через мютексы.
401 1674010
>>73280
На кой питон-разрабу знать AWS и Azure?
bigstock-Real-Python-Code-Developing-Sc-217216531[1].jpg1,1 Мб, 1600x1068
402 1674011
>>74010
Для развертывания приложений.
403 1674014
>>74008
Понял, спасибо, анон.

> Операции сетевых запросов в asyncio не блокирующие.


Я просто не так понял, подумал речь просто о вызове второй функции через await в теле первой
15513023202570.jpg132 Кб, 794x615
404 1674016
Анон, есть комбобокс, который надо заполнить результатом запроса в бд.

self.ui.comboBox1.addItems(self.addsmth)

def addsmth(self):
--list1 = queryfunc1()
--return list1

queryfunc1() - это функция запроса и она точно возвращает список вида ['A', 'B', 'C']
Но программа крашится, когда я запускаю окно с этим комбобоксом.
Что за хуйня?
405 1674018
>>73528

>Сам докер в системе - это дыра в безопасности


С чего бы это?
406 1674025
>>74018
Если сокет докера доступен по-умолчанию, а так часто делают (добавляют пользователя в группу docker), то любая программа может к нему подключиться и делать что угодно в твоей системе с правами рута и доступом ко всей файловой системе.

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

Это в первую очередь про линукс. В винде, возможно, докер запувскается сам внутри виртуальной машины и поэтому более безопасен. ХЗ, я работаю с линуксами.
407 1674026
>>74011
Заебал ты со своими аватарками, завязывай.
data-code-screen[1].jpeg245 Кб, 1200x800
408 1674037
>>74026
Ок.
409 1674038
>>74037
Какой же жопаскрипт урод, пиздец просто.
410 1674041
Пишу бота в одной игрушке для саморазвития. Пока научился через opencv детектить кнопки и тыкать по ним. Теперь более сложная задача - уворачиваться в бою от всякого говна (типа тохи - весь экран в говне, надо уворачиваться).
Антоши, накидайте статей/ключевых слов по решению задачи - анализ изображения в реальном времени, определение скорости и направления объекта (только 2D). В память лезть не интересно, хочу именно по картинке. Ну и у меня всякой математикой-геометрией плохо, буду благодарен если поделитесь полезными материалами для решения такой задачки.
411 1674111
Аноны, стоит ли объединить все наши репы с книгами в одну большую и живую?
412 1674219
>>74025

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


Доступ к сокету позволяет использовать api docker, как с помощью него писать, например, в /usr?
Я тебе больше скажу, если ты используешь sudo, то любая программа можеть написать в твой bashrc alias и дальше делать что угодно.
413 1674306
>>74219
С помощью апи докера можно запустить контейнер, который делает любые нужные тебе вещи
docker run -v /:/hostroot:rw -u root:root --priveleged some_container

Внутри контейнера ты уже можешь делать всё, что угодно. Базовыми средствами докера ты как-то блокировать такое поведение не можешь.
414 1674321
>>74016
Дебаг для слабых?
415 1674333
>>74306
другой анон
оч грамотно пояснил. добра тебе. есть где гайд с подробным описанием таких косяков и практиками как с этим бороться?
416 1674334
Вы когда из под виртуалки работаете каждый раз прописываете
. venv/bin/activate
export FLASK_APP=hello.py?
а только потом flask run? Это же три команды против одной на моем любимом фронтенде. Можно как-то исправить?
django30welcome[1].png130 Кб, 2088x1416
417 1674444
>>74334
1раз пока не закроешь консоль:

>myvenv\Scripts\activate


далее уже по потребности типа:
python manage.py runserver
418 1674479
Где можно начать подрабатывать на питоне? Я знаю питон, вроде даже не так уж и плохо. Разрабатывал свои сайтики, писал для себя граберы. Ну, вот и думаю, а где можно начать писать граберы, но уже за деньги? Мне не нужны огромные деньги, но нужна работа. Где можно начать? И как надо начать? Как сложно начать?
419 1674481
Мужеложцы факултета слизерин, поделитесь, какой вы фреймворк для рестов юзаете? django,flask, etc..?
420 1674488
>>74479
Гитхаб для начала свой покажи.
421 1674490
>>74488
Его нет.
422 1674491
>>74479
Проблема в том, что таких как ты слишком дохуя. Все они пасутся на такой простой хуйне, демпингуют и работают за копейки, чтобы вырвать говнопроектик себе.
423 1674492
>>74491
Это я понимаю, но мне не нужны огромные деньги. Потому я просто хочу раз в недельку клепать такой говнопроектик.
424 1674493
>>74481
джанго удобная штука, но дело каждого.
425 1674494
>>74492
В офис за недорого не вариант? Что-нибудь связанное с вебстеком например, заодно натренируешься.
426 1674495
>>74494
Была бы возможность... Я живу в полной дыре, к сожалению. Был бы я в миллионике, хотя бы, то явно бы такие вопросы не задавал. Я понимаю, что в офисе лучше, но возможности нет.
427 1674503
>>74492
Я бы сказал регаться на апворке, но там для начинающих много напрягов. Плюс недавно в рашке отключили пионер, который самый удобный способ вывода, так что хуй знает.
Можешь попробовать fiverr. Это такой сервис для мелкоработ, но там вроде надо и продвигаться как-то, чтобы у тебя заказывали.
428 1674504
>>74495

>Была бы возможность...


>к сожалению. Был бы


>лучше, но возможности нет



Кому надо ищут возможности, прикладывают некоторые действие, а не оправдываются, тем не менее это ваше дело как жить.
429 1674505
>>74479
За сколько выучил питон до тово как начало что-то получиться?
430 1674506
>>74505
Я его уже 1.5 года знаю. Да и он не единственный мой язык.
>>74504
Так я и спросил, а что делать то? А то темный лес, какой-то.
>>74503
Хорошо, спасибо. Именно тот ответ, который я ждал. Попробую fiverr.
431 1674507
>>74491

>дохуя


>слишком дохуя



Вместо того чтобы изучать актуальный стек, они

>они пасутся на такой простой хуйне


Казалось бы очевидное решение.
432 1674512
>>74493
django здоровый дофига, хочу что-то полегче, мне пару crud эндпойнтов к монго прикрутить посути.
433 1674514
>>74512
в drf есть все, делается по офф доке довольно быстро, для пары ендпоинтов в джанго в дебри вникать не надо будет

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

если модный дохуя, то fastapi
434 1674516
>>74514

> то flask


> то fastapi



Опередил.
435 1674537
>>74479

>Я знаю питон, вроде даже не так уж и плохо.


Хуле толку питона с сайтиками, смысл во всяких библиотеках вроде панд, матплотлиб и прочих тензерфлоах
436 1674618
народ, можете подсказать, где взять заданий для практики?
437 1674641
>>74306
Ну например в федоре selinux стоит по умолчанию, он тебе не должен дать сделать подобного.
А с судо ты проблему уже решил?
438 1674642
>>74618
загуглить, либо если алгоритмы leetcode
439 1674775
Ширину tkinter.Entry() вообще не как не изменить?
441 1674833
>>74780
Благодарю.
442 1674870
>>74775
Конкретную ширину на экране (или иногда высоту) обычно устанавливает менеджер разметки - pack, grid или place. Если тебе нужна конретная ширина или высота после компоновки, вешай на виджет событие Configure с лямбдой и замыканием с другими виджетами, если с ними надо что-то сделать в записимости от этой ширины или высоты.
443 1674912
>>74870
Мудренно. Мне просто конкретная ширина нужна была, просто .grid(ipadx=) вроде справился с задачей.
444 1674990
ERROR: This cross-compiler package contains no program /Users/name/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang
ERROR: activate_clang_osx-64.sh failed, see above for details
ERROR: This cross-compiler package contains no program /Users/name/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang++
ERROR: activate_clangxx_osx-64.sh failed, see above for details
Кто сталкивался с такой проблемой? как решать?
445 1674992
пытаюсь установить pygame и pyaudio - выдает ошибки, что делать?
446 1674999
>>73479
Куча питонячих библиотек написано на С, тот же uwsgi. Так вот приходится писать биндинги и свои реализации серверов.
447 1675025
Ну что же, методом проб и ошибок пришел к выводу, что пока лучший бесплатный видеокурс по джанге записан Олегом Молчановым. Есть еще очень простой для восприятия курс за авторством Андрея Кудлая, правда он платный (для ознакомления залиты лишь 7 уроков). Пиздец как интересно на все уроки взглянуть, жаль что денег нема.
https://youtu.be/c45cBujMQAs
448 1675030
>>73844
А насколько много данных? А то можно просто словарь питоновский держать и хранить его в бинарном виде с помощью встроенного модуля picle, ну или в текстовом json
449 1675032
>>74618
checkio.org
450 1675085
>>74992

>pygame


https://www.pygame.org/wiki/GettingStarted#Pygame Installation

гугли ошибки, может у тебя питон или пип не установлен вообще)
451 1675096
>>75025

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



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


Там же ничего нового в принципе, только то что уроки записан в 2020 году и ты повелся на лендинг)
452 1675106
>>75025
Из того что смотрел годный - "[tceh] Разработчик на Python" от Никиты Соболева. Правда там не только по Джанге, но и основы + фласк, но в целом довольно интересно, основное по фреймворку рассказывает, затрагивает DRF
453 1675113
>>75096
Да дело не в новизне, а в подаче материала. Не все могут доходчиво объяснять сложные вещи. Разве не это главное на начальном этапе?

>>75106
Не сталкивался с ним до этого, надо будет обязательно посмотреть.
454 1675116
>>75113

Ну Олежа объясняет же что к чему.
455 1675179
Пиздец, Олеги-Андреи какие-то.
Это что-то на уровне индусов с udemy или даже выше.
456 1675189
>>75179

> Пиздец, Олеги-Андреи какие-то.


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

Допустим, я пишу ИС на джанге. Сначала я разрабатываю API и основу своей ИС. Потом, каждый следующий спринт я пишу микросервисы, решающие конкретные задачи в моем проекте. Эти микросервисы взаимодействуют с помощью API. Я все правильно понимаю? Хотелось бы услышать ответ от анона с опытом в разработке.
458 1675236
Здаров бандиты, вкатился месяц назад в питон для анализа (До этого кодил максимум, чтобы лабу сдать в универе). Сначала структуру языка поизучал, потом к практике сразу, могу достаточно простые регрессии обучать уже.
Куда дальше двигаться?
uploadform-html[1].png142 Кб, 1920x976
459 1675240
>>75236
джанго
460 1675241
>>75240
Это саблайм?
461 1675244
>>75241
Ага. Но скрин не мой)
123.png113 Кб, 1894x910
462 1675245
>>75244
Atom поудобнее, и модули дополнительные есть под язык с которым работаешь.
463 1675247
>>75245
Атом я рот ебал. Сейчас пользуюсь vscode и vim. Давно хотел саблайм посмотреть, но руки не доходили
464 1675248
>>75247
Я о том, что атом почти то же самое, что вскод, и то и то от микрософта а гитхаб сейчас микрософт и держит и я смысла менять шило на мыло не вижу
465 1675251
>>75248
Атом по функционалу устраивает и хватает пока, более легковесный чем вскод/пучарм.
А так из иде пучарм неплохой, приблуд много всяких.
466 1675257
>>75245
В Атоме почему-то не работает автодополнение при прогании. Не только в Пистоне но и в ЖС. В чем причина может быть?
467 1675260
>>75251
Слез с пичарма, как только закончил бегиннер курс. Слишком тяжеловестно и много лишнего. При желании, все плюхи пичарма можно заебенить и в vim или vscode
123.png107 Кб, 1519x911
468 1675270
>>75257
Особо таким не пользуюсь, а так там package autocomplete Python называется, чтобы полноценно для твоего проекта работало надо вот это добавлять:
123.png162 Кб, 1920x1080
469 1675275
>>75257
>>75270
с жс кстати работает, у тебя наверное не установлен package atom-ide-ui
123.png162 Кб, 1920x1080
470 1675276
>>75257
>>75270
с js/html кстати работает, у тебя наверное не установлен package atom-ide-ui
471 1675284
>>75235
если ты делаешь в соляново, то смысла в agile нет. Все эти штуки это для команд.

В основе agile лежит bdd + scrum, то есть разработка основанная на поведении + инкрементарная разработка. То есть ты не ебашишь сразу описание всего апи и потом делаешь по куску в две недели, а определяешь что нужно твоим пользователям прямо сейчас больше всего и делаешь это в течении спринта. В конце спринта релизишься, фиксируешь что было ок/неок, складываешь техдолг в беклог, определяешь задачи на новый спринт.

Вообще почитай красную книгу про scrum, на дваче одни долбоебы

разраб, опыт 5 лет
472 1675286
>>75284

>разраб, опыт 5 лет


гитхаб есть?? как научиться питону и джанго?
473 1675295
>>75284
Спасибо, анон. Я вообще курсач пишу, поэтому и написал пофантазировать про эджайл. Не хочется каскадную модель выбирать, поэтому и спросил, как джанга и эджайл дружат.
474 1675314
>>75240
Вэб разработка то мне нахуя? У меня спецуха экономиста бигдата нужна, чтобы экономический анализ свой совершенствовать
475 1675317
>>75295
джанго - это сервер, эджайл - это подход к организации. "Дружат" нормально, не хуже любого другого аналогичного фреймворка.

Хочешь модного бери fastapi.
476 1675327
>>75286
гх есть, но юзаю только для работы, пет-прожекты не пишу, впопенсорц не вкладываюсь, в рот ебал палить местным неадекватам


как научиться, я хз, прогал в школе на PascalABC.Net, потом поставил линукс и перекатился на python, писал всякое, чтобы проще было делать домашку по алгебре. В универе были C, C++, C#. Ничего прям спецом, как местные, по 8ч/день не учил. С 3-го курса пошел работать.

Из книг по ЯП мне понравился Лучано Ромально Fluent Python, но он в отличие от Лутца не объясняет такие сложности вещи, как то что программируем мы за компьютером, а у компьютера есть клавиатура.

На джанго не пишу, больше по aiohttp
477 1675331
1675327

>На джанго не пишу, больше по aiohttp


По бекенду в основном работаешь или фуллстек?
478 1675335
>>75331
занимался бекендом / бд / батч-процессинг. сейчас сменил работу, пока занимаюсь какой-то хуйней. работаю в офисе, js/вестка не умею, но думаю почитать чего в отпуске
479 1675336
>>75331
если ты фуллстек и не столкнулся с синхронными проблемами, то не еби себе голову и бери drf

знакомые пайтон фуллстеки пишут SPA+backend на reactjs+drf или vuejs+drf
480 1675361
https://itproger.com/intensive/python как думаете - стоит брать курс?
481 1675370
>>75336

>reactjs+drf или vuejs+drf


Собственно дублирую вопрос: >>73491
Где годные туториалы по построению фулл веб-приложения: бэк на питоне, а фронт на жс? пока что все что я делал это заливал ванильный жс-говнокодкод в темплейты джанги, хочется освоить фронт (на уровне "троешника" хотя бы) и бэк в связке
482 1675373
>>75361
Смищно, как они пишут сразу зарплаты.
По-моему, какая-то обдираловка лопухов.
11.png64 Кб, 1054x928
483 1675393
Добрый день.
Не могу решить задачу. Может поможет кто-то?

a = int(input()) #рекомендовано столько спать
b = int(input()) #пересып
h = int(input()) #столько часов спит

if h == a:
print('Это нормально')

if h <= a:
print('Недосып')

if h >= b:
print('Пересып')
484 1675409
>>75393
Тебе же написано, чему стоит уделить особое внимание.
Алсо, вариант может быть только один, так что лучше завернуть в if-elif, а не отдельно.
485 1675495
>>75370
я не знаю

вообще странный вопрос, если ты про SPA+backend. как бы вся суть такой связки в том, чтобы фронт и бек были независимы и связывались только через API. Как бы вся связка так работает: на бекенде пишут openapi.yml, показывают фронтам, фронты генерируют js-код и юзают его.

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

погугли про SSR
486 1675500
>>75393
код выполняется сверху вниз по строчно
если у тебя
a == 5
b == 6
h == 5

то
h == a -> пишет "норм"
h <= a -> пишет "недосып"

ты как бы попадаешь в обе ветки. А тебе надо либо сделать так, чтобы условия не пересекались, либо так, чтобы второе условие не проверялось
487 1675506
Написал программу для вычисления площади треугольника. Нормальный код или можно сделать лучше?

import math

a = int(input())
b = int(input())
c = int(input())

p = (a + b + c) / 2 #полупиримитор

temp1 = p(p-a)(p-b)*(p-c)
S = math.sqrt(temp1)

print(S)
488 1675525
В прошлом треде спрашивал, как паковать стандартную либу в стандалон-экзешку. Вот, сейчас нагуглил:
https://gregoryszorc.com/blog/2018/12/18/distributing-standalone-python-applications/
Так что у PyOxidizer'а сам механизм лучше, чем у PyInstaller.

>>75506
Можно улучшить комментарии.
489 1675537
только сейчас заметил что с оф.сайта питона скачивается 32 бит версия(работает всё идеально) у меня 64 винда, а с левых сайтов качать не хочется, да и так это не на что не влияет, правда ведь?
490 1675541
>>75537
Он пытается автоматически начать скачивать?
С линупса вот сюда захожу
https://www.python.org/downloads/release/python-382/
Там разные версии есть.
491 1675546
>>75506
Можно без math

>temp0.5

492 1675570
Что почитать по поводу моделирования электроцепей на питоне?
493 1675613
Бот в телеге может писать сообщения напрямую пользователю, если он не бот сам по себе, а админ канала?
494 1675620
>>75393
трабл в первом if. Где написано что нужно спать определённное кол-во часов? Следовательно h не равно а. a - это минимум, который можно спать, b - максимум. Я думаю она должна выглядеть так:

a = int(input()) #рекомендовано столько спать
b = int(input()) #пересып
h = int(input()) #столько часов спит

if a<h<b:
print('Это нормально')

elif h <= a:
print('Недосып')

elif h >= b:
print('Пересып')
495 1675631
>>75393
>>75620
Алсо, лучше строгость поменять у всех, я щитаю
496 1675675
Аноны, поясните за OpenCV. Он основан на машобе или он по другому принципу работает? Насколько хорошо он развит в питоне и есть ли какой-нибудь яп который превосходит питон в этом плане? И самое вкусное - если вкатываться в opencv и машоб то сколько времени на это потребуется с знаниями матана и статистики на около базовом уровне?
497 1675679
Скачал учебник Лутца, а там питон 3.0.1 в примерах, а у меня 3.8.2. Мне продолжать учиться и потом читать чейнджлоги ко всему подряд, или выбрать другой учебник?
498 1675680
>>75679
Там чейнджлогов на 2-3 страницы наберётся + Лутц почти везде сноски делает.
499 1675681
>>75675
opencv - это библиотека, там много разных реализаций алгоритмов в основном связанных с обработкой изображений

> Он основан на машобе или он по другому принципу работает?


какие-то алгоритмы "классические", какие-то с машобом да

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


В питоне есть обертки к сишным функциям на опенцв. Соответственно нативно все в будет в родных C++, нормальные биндинги помимо питона есть в Java, Matlab может еще где. Превосходит ли хуй его знает.

> И самое вкусное - если вкатываться в opencv и машоб то сколько времени на это потребуется с знаниями матана и статистики на около базовом уровне?


Опенсиви ебать какой большой, смотря какие задачи ты с ним хочешь решать. Судя по задаваемым тобой вопросам, тебе нужно будет года 2-3
500 1675683
>>75679
продолжай учиться
501 1675684
>>75680
Спасибо большое.
502 1675685
>>75683
И тебе спасибо, анончик
503 1675688
>>75681
Основная цель - фейс рекогнишн, и в малой доле привлечь обработку фото. Но и без машоба я тоже не обойдусь ибо надо нейроночку мутить для моей цели. Спасибо за ответ.
2020-05-03-18-40-38-434798[2].jpg36 Кб, 600x431
504 1675738
505 1675752
>>75738
Несущего в себе больше смысла сообщения я видимо не дождусь?
506 1675774
>>75752
opencv
507 1675776
>>75774
Да, мы здесь о нём говорим. Развивай мысль дальше.
Снимок экрана от 2020-05-03 21-48-58.png42 Кб, 736x231
508 1675793
Я БЛЯТЬ В АХУЙЕ !!!! ПОМОГИТЕ !
509 1675794
>>75793
Какие же питунисты тупые, пиздос.
510 1675795
>>75794
Что не так, объясни мне, ч т о не так ?
511 1675796
>>75795
>т о , ч т о т ы т у п о й е б а к л а к
512 1675797
>>75794
Тут двачую, так писать это конечно хех мда.
513 1675802
>>75796

> то , ч т о т ы т у п о й е б а к л а к


Я это и без тебя знаю, умник ебаный. Как эту ебень с json'ом фиксить ?
514 1675803
>>75802
Вкатись во фронтэнд пока не поздно.
515 1675804
>>75793
Проиграл с этого клоуна
516 1675810
>>75795
"FUCK YOU" это строка, первый символ которой F, второй U и тд

согласно формату json все строчки должны быть в двойных кавычках, то есть первый символ должен быть ", второй F, третий U, ..., O U " - последние.

таким образом корректый json это "FUCK YOU", а твой код должен быть таким:

import json

payload = json.loads("\"FUCK YOU\"")

и да ты правда тупой
517 1675813
>>75804
>>75794
>>75796
Хули вы, высеры ЧСВешные, сразу не смогли сказать что loads и dumps перепутал ?
518 1675817
>>75813
Охуеть, он ещё и методы перепутал. Га-га-га, вот это ржака пацаны.
519 1675820
РЯЯЯ Я НАПУСАЛ ШО БЫ ОН СДЕЛАЛ print("nahui) А ОН МНЕ SyntaxError ВЫДАЕТ! ШО ТВОРИТСЯ-ТО! ЧЕСТНОЙ ЛЮД НАГИБАЮТ!
ЫЫА ПАЧИМУ МОЙ do_shit(shit) НЕ ДЕЛАЕТ ШО Я ЕМУ СКОЗАЛ? ДВАЧ ПАМАХИ!

блять, просто изучи error log, если ты только учишься, то там как правило и есть ответ на твой вопрос, это не многоуровневая ошибка в той же Джанге, вызванная косяками в БД
520 1675821
Сап, питонач
Почему так?

>>>int.__sizeof__(1)


28

>>>a = []


>>>a.__sizeof__()


40

>>>a.append(1)


>>>a.__sizeof__()


48
521 1675822
>>75821
Потому что твоя мать шлюха.
522 1675824
>>65888 (OP)
Посоветуете какой-нибудь фреймворк для парсинга тик тока?
523 1675826
>>75822
Какие же хохлы дегенераты пиздец просто
524 1675830
>>75826
>>75822
Семен, сейчас на хуях уедешь отсюда обратно в /b
525 1675832
>>75826
Какие же питунисты дегенераты пиздец просто.
527 1675874
>>75872
И к этому еще где-то статьи на хабре о том, как устроены стандартные типы данных и сколько на что отводится.
528 1675898
>>75113
По джанге вот еще неплохой вариант нашел https://www.youtube.com/watch?v=0kWZrf_CanY
529 1675901
аноны
Нубский вопрос пиздец, но гуглится хуево
Короче пишу свой package. Нормально ли функциональный код вставлять в его __init__.py? Вроде как импортируется в таком случае ахуено удобно. Но хз сомнения
530 1675909
>>75901
Нет смысла, и не принято так делать.
531 1675925
>>75901
Иногда так делают:
https://github.com/python/cpython/blob/master/Lib/logging/__init__.py

https://github.com/python/cpython/blob/master/Lib/collections/__init__.py

Более того, довольно часто делают. Посмотри просто исходники стандартных библиотек питона
https://github.com/python/cpython/tree/master/Lib
532 1675982
>>65888 (OP)
Какую IDE использовать чтоб меня не засмеяли когда я расшарю свой экран?
533 1676001
>>75982
Word.
534 1676016
>>76001
Нету ворда активированного.
535 1676028
>>75982
взрослым людям на такое говно поебать
536 1676164
>>76001
>>76028
Забыл где нахожусь. Вместо простого ответа на простой вопрос получаю либо смешнявку, либо совет за жизнь.
Спасибо, сосачеры.
537 1676170
>>75982
GNU Emacs, Pycharm, Tmux+Vim+bash
538 1676221
>>75982
Ориентированные на разработку и настроенные - норм, если ты в них свободно работаешь. Что Pycharm, что VS Code, что всякие атомы. Vim-emacs тоже норм.

Твой уровень как разработчика мало зависит от IDE. Особенно в случае питона.
539 1676339
>>75982
>>76164
Без разницы особо. IDE - Pycharm/VSCode, если полегче нравится то Atom с плагинами или Sublime
540 1676350
>>75982
>>76339

Все нормальные пасаны юзают анаконду
541 1676362
>>76350
Нормальные пацаны юзают то что им удобно, есть из чего выбирать.
542 1676400
https://youtu.be/7kn7NtlV6g0?t=921

>Ява и свифт - хорошие языки для профессионалов, которые учили программирование


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



Норм обосрал))
543 1676413
>>75613
В личку? Нет.
Может потегать юзера в канале с помощью разметки
IMG20200504172726295.jpg79 Кб, 611x743
544 1676416
545 1676466
>>76400
Да, есть такое.
Идея такая, что большие языки слишком индустриальные, с очень большим входным уровнем. Кому-то это прикольно, что просто строится такой барьер от случайных людей, кому-то это противно, некоторым программистам в том числе.

Гвидо хотел создать язык программирования для не программистов. Он сам об этом говорит. Чтобы всё было максимально понятно и красиво.

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

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

Но всё-таки большая разница, когда база языка сделана максимально стройно, когда это было основной целью, и когда база была тяп-ляп, а уже потом программисты пытались из этого как-то выкрутится. Пример последнего - JS и PHP. Они тоже начинались как языки не для программистов, но сделаны теми, у кого никакой культуры не было, тяп-ляп. И страдают от этого до сих пор.
546 1676500
>>74321

>pyqt


>дебаг


)
yoda.jpg14 Кб, 320x225
548 1678951
>>76500

>Пишу гуй


>Никогда не слышал про дебаг

549 1686065
Привет. Хочу попробовать что-то сделать с джанго. Пока знаю только синтаксис питона и основные моменты. В треде есть книжки, там одна по джанго 2009 года. Так же на ютубе есть типа курс по джанго 2017 года, но там в комментах пишут, что мол всё , уже неактуально. Я так понимаю и книга уже тоже неактуальна=> чтоб чему-то научится в подобном придётся искать только самую свежую инфу на англ?
Тред утонул или удален.
Это копия, сохраненная 24 августа 2020 года.

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

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