24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы: https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации https://dumpz.org/ - можно постить листинги, не требует регистрации https://pastebin.com/ - для листингов, регистрация не обязательна https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
Вопросы-ответы: — А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.
— Стоит ли читать %книга_нейм%, если там питон версии 2.х? Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
— А что ещё можно читать? Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4
— А как учить джангу? Нахожу только книги по джанге 1.х У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Как можно без лишней возни ускорить программу на питоне 1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь. 2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником. Исходник: https://dumpz.org/bASGKD8cCFDf
К вам из AQA треда. Чего почитать/посмотреть для старта. Там порекомендовали степик, нашел там курс от самого ресурса, и два связанных, базовых, курса к нему - course/575/promo course/67/promo и course/512/promo Стоит тратить время, или есть что-то лучше? Алсо, в шапке две ссылки на книги накрылись, самая первая и последняя на ЯД.
>>2412684 > 8052 This user has been placed on accounting hold На первом аккаунте у анона - мастера книги судя по всему деньги кончились. Может анон захочет и сможет проплатить, ссылка оживёт.
>>2412684 >и два связанных, базовых, курса к нему Эти какие-то совсем ниочёмные. Я бы советовал по книжке какой-нибудь программированию учиться, смысла в этих курсах никакого нет. Дофига книжек и лекций разных на ютубе.
Основной курс по тестированию смотрится содержательным, хотя скорее всего и в открытом доступе можно много найти. Я что-то по тестированию находил и читал. Но тема такая, что чтобы с этим нормально работать и нормально это изучать, в питоне надо более-менее свободно плавать.
Сап аноны, я к вам с дебильным вопросом. Попробовал гуглить, но не нашел решение. Суть такая: у меня есть два неотсортированных (если это важно) словаря, типа таких: {1: "hui", 3: "pizda", 2: "vzxcv", 62634: "fsfs", 4231: "fasfscv"} - в этом словаре элементов больше {"vzxcv": "tri", "hui": "odin", "pizda": "dva"}
Мне нужно взять ключи из первого и подкинуть к ним значения из второго, если соответственно значения первого и ключи второго совпадают, короче получается как будто такой словарик, чтобы по итогу я получил:
>>2413009 Дядя, по-моему он не то что тебе надо сделал. Там же получается словарь: {1: 'odin', 3: 'dva', 2: 'tri', 62634: 'fsfs', 4231: 'fasfscv'} Это же не то что тебе надо
>>2413111 Как выполнить эту задачу в лоб я думаю ты сам знаешь. Сделать её элегантно, мне кажется, не получится
Питон не может прочитать значения во втором словаре, и понять что там написано, для него это просто строки с набором символов. Соответственно, если порядок там у тебя даже не задом наперёд, а просто вразнобой то хуй ты их как автоматизированно присвоишь, только вручную
>>2413111 >>2413186 https://ideone.com/r7ZuPe По-моему, это всё же анон обосрался с сочинением примера, а мой результат как раз правильный, поэтому отличается. Или я что-то совсем не понимаю.
>>2413227 Да надо бы сразу скинуть как оно там есть, но там наверное какая-то секретная инфа
Просто глядя именно на пример с написанными тут словарями, не представляя, как оно там должно выглядеть в реальных словарях с которыми он работает, то должен получиться такой результат: >{1: "odin", 2: "dva", 3: "tri", 62634: "fsfs", 4231: "fasfscv"} С вот этими двумя словарями >{1: "hui", 3: "pizda", 2: "vzxcv", 62634: "fsfs", 4231: "fasfscv"} >{"vzxcv": "tri", "hui": "odin", "pizda": "dva"} Такого результата нельзя добиться никак кроме как топорным методом
Я не оп, но понял что ему надо - заменить значения первого словаря на значения из второго, если это самое значение из первого словаря является ключом во втором. Ты молодец
>>2413231 Блядь, какой же я тупой. Да анон, ты прав, а я обосрался в примере, извини.
Сейчас попробовал поиграть с твоим однострочником, чтобы понять, как оно работает нихуя не понял. А как мне его поменять, чтобы например не добавлять элементы, для которых нет значения во втором списке? Ну типа
Делаю парсер,выцепляющий ссылки на скачивание mp3 файлов. Столкнулся с тем, что нужно как-то вывести абсолютно всю информацию на экран,как бы прокликав все кнопки "Показать еще". Как мне это сделать,не использую Selenium? Вот страница,где собираю ссылки : https://sponsr.ru/hobbytalks
Вот как выглядит код кнопки: <a href="" id="show-more" class="btn btn-small mb25">Показать еще</a>
>>2413573 Открывай дебагер в браузере и смотри что происходит когда эту кнопку тыцаеш. Скорее всего там жаваскрипт грузит какую-то херню с данными. Если так то добавляешь еще один гет и парсишь json или что там пришло.
Господа, кто-то с блядской vk_api? Делаю чат бота через callback, эта хуйня тормозит неимоверно. Юзаю метод авторизации vkApiGroup в котором на бумаге задержка меньше чем у обычного, один хуй около секунды на обработку 7-8 условий (ключевое слово). Если просто принять запрос и дать ответ - почти сразу, но с условиями тупит как хуй знает что. Есть какие-то решения?
Хочу вручную рендерить формы для создания моделей через {% for field in form.visible_fields %} Можно ли так сделать, чтобы в зависимости от типа поля, к нему применялся отдельный css-класс? К примеру, если input="text", то применяется класс .nice-text-field. Если input="checkbox", то применяется класс .nice-checkbox-fields.
По началу хотел использовать готовые библиотеки вроде бутсрапа или джанго криспи формс, но сейчас стало интересно, возможно ли вообще это сделать?
>>2414066 >винду Вот здесь ты что-то не то делаешь. Другая версия винды?
Питон не сам красит, он использует ANSI-соманды, escape-коды, которые управляют терминалом, дают команду поменять цвет курсора или фона.
При этом они используют табличные цвета. Я к тому, что проблема скорее всего в терминале, а не питоне. В том терминале-консоле, который ты используешь, видимо другие табличные цвета. Надо настройки соответствующие смотреть.
Погугли может на тему "windows console color saturation".
Так, аноны, проясните один момент, пожалуйста. Например, есть цикл в функции: def counter(list1): __for i in list1: ____if condition1: ______continue: ____else: ______counter(list1)
Вопрос в чем - перед тем как вызвать рекурсию, мне надо удалить один элемент из list1. Вопрос - на каждой итерации рекурсии элемент будет удаляться из оригинального list1? Или там создаются копии и они уже будут резаться?
Здарова анонимусы. Я криптохуйло, решил потихоньку начать вкатываться в автоматизацию своей деятельности потому что это сочно и полезно.
https://www.codepile.net/pile/wBJWkMvE Вот смотрите этот кусок кода в принципе делает то, что я хочу: генерирует етн адреса в нужном мне количестве, и выгружает пару { адрес : приватник} в файлик, с которым я дальше собираюсь работать. Но у меня какое-то чувство что код просто даунский нереально, хотя и работает. Выгрузка получается в формате https://www.codepile.net/pile/V6P2VXx3 (только значения разные в каждой строке настоящие) Вопросы: 1)можно ли тут как-то получать дикт{адрес: ключ} минуя вот это разбиение на два листа и потом мердж их в словарь выглядит просто ебано как-то 2) Как красиво сделать жсон, чтобы не просто пара значений была, а, например: [ { addres: key_1 pkey: value_1 }, { addres: key_2 pkey: value_2 }, .... ] Вопрос 2. https://www.codepile.net/pile/OX3WJrX3 вот тут я хочу в строку "to" : "single_test_reciver" в значение синглтестресивер из моего джосона распаковывать кей вэлью и таким образом прокидывать транзакции на столько адресов, сколько будет в джейсоне ( потому что это единственное, что будет отличаться между транзакцией на 1 адрес и на 10) А эта хуйня начинает критовать и ругаться. Я уже и лист в тупл конвертил и пробовал только кеи из словаря пасовать, всё равно хуй.
Насрал пиздец но надеюсь кто-то подскажет я в питоне 5 дней убил на эту хуйню весь день сегодня
>>2414319 Поправка в последней ссылке: def send_in_polygon(*args) Тут она никаких аргументов не просит, работает вот так def send_in_polygon() А агрс это то, что я пытаюсь сделать.
Вообще я сейчас посмотрел на то, что написал, я наверное долбоеб просто и мне надо как-то под цикл это всё засунуть и брать i-й элемент листа в качестве аргумента в "to" : "single_test_reciver", пока файл не кончится.
>>2414325 Это ж не то. Должно быть: 0 : huy 1 : pizda 2 : jigurda 3 : govno Т.е это вложенный цикл на 2 переменных и ты там все равно приходишь к копрехеншену какому-то на два значения, как я собрал в словарь. Но я понял мысль что словарь нах не нужен был.
>>2414335 Да, спасибо. Только я все равно не осилил сматчить значения в парах без зипа. Но отформатировалось как надо pairs = [{'addr': i, 'pkey': j } for i, j in zip(addreses, pkeys)] Еще бы распокавать теперь эти адреса ебаные
Сап, анончики. Вкатываюсь в питон, решаю задачки, но заметил, что когда сталкиваюсь со сложной задачей, то мое решение чаще всего всегда являет собой ебейший говнокод, на десятки строк. Когда вижу предложенное оптимальное решение, то оно всегда в несколько раз короче с вменяемым алгоритмом. Нужно ли продолжать биться головой об стену, изобретая велосипед, или достаточно просто разобраться в чужом коде, а потом повторить алгоритм?
>>2414364 Любое решение является решением. Если код выполняет задачу с заданными критериями, это является решением. Со временем научишься лучше, короткий код не панацея, главное чтоб он был удобным. Удобный значит легкий в понимании и гибкий в модификации.
Можете сказать что-то за саблайм текст? Там четвертая версия уже давно появилась, но почему-то на него все забивают, как я вижу, чаще пользуются vs кодом. Мне лично нравился саблайм текс 3, в момент запускается, не перегружен интерфейсом. Вот я и думаю, ставить третью или четвертую версию...
>>2412684 На степике есть серия курсов "Поколение Python": для начинающих, продвинутых и профессионалов, обещают еще курс по ООП, паттернам и тестированию. Для ознакомления с Питоном самое то, рассматриваются базовые возможности языка. Практики достаточно много, благодаря чему хорошо закрепляется материал.
Офигеть, я думал по-другому работает Думал, если 10<x<20, то будет else срабатывать А оно не срабатывает А есть какая-то возможность заставить срабатывать else? Или как-то переписать такую логику?
>>2414584 Если if выдал True, то все связанные с ним elif'ы и else'ы будут скипнуты. Чтобы else выполнялся если 10 < x < 20, его нужно засунуть под первый if Тоесть вот так
if num > 10: if num > 20: print('aaa') else: print('bbb')
Так, питонач, нужна помощь. Пикрилейтед. Есть список списков, например. [[1], [0, 2], [1], [4], [3]] Здесь, каждый индекс элемента списка (подсписок) - вершина графа, а значение(я) - ребро(а) к прочим вершинам. Как сделать так, чтобы все связанные вершины, в том числе через другие вершины, сформировалли группу? Т.е. сейчас тут 2 группы 0-1-2 и 3-4. Граф может быть весьма разветвлённый с сотнями вершин и кучей ребер. Сейчас простейший случай.
>>2415145 >(алсо не понял граф направленный у тебя или нет) Нет, не направленный. >смотри алгоритм union-find Спасибо. >>2415161 >если тебе это сказал сделать ебанутый маразматичный дед Нет, sort of leetcode.
Помогите новичку пожалуйста запускаю vue как фронтенд для django(rest) но почему-то все страницы дублируют контент(<template> как я понял) 3 раза. В чем может быть проблема и как решить?
>>2415161 >накатывай графовые либы и ебись с ними, там уже все включено все просто и охуенно. Очевидно, что ты никогда не работал ни с одной "графовой либой", ты чисто абстрактно рассуждаешь типа для всего есть решение.
Между тем как задача очень простая, если вершин умеренно много. Если скажем 100, то вообще самые примитивные решения быстро работают. Если десятки тысяч, то надо чуть вдумчиво решать.
>>2415485 прорешивай свое повышение до архитектора
или заводи пет полезный для общества, так чтобы он стрельнул в стартап
а сейчас ты просто тупой ебливый додик, который дрочит ради нихуя, чтобы хоть как то заюзать ннахуй неусравшиеся, уже угасающие, знания от ВО
если ты кусок джунского или мидового или сеньерского дерьма - и кроме унылых СКУЛЕПАСКУДНЫХ тикетов ничего не видишь в своей никчемной жизни - то эта хуета тебя не спасет от нескончаемой фрустрации.
Как жить с pipenv? На проекте челики почему-то решили что "докер нинужон" и для локального поднятия сервака ты должен сам ручками поднять базу, реббит и селери. Естественно каждый раз при обновлении мастер-ветки все зависимости в pipenv надо переустанавливать вручную чтобы быть увереным что они актуальны. с pip install -r requirements.txt это было элементарно, а как быть с pipenv?
В данный момент остался хоть один свидетель пользы динамической типизации в питоне? У самого на проекте и у всех знакомых она введена где только можно. Помню как ещё лет 5 назад орали НИНУЖНА, а сейчас за ее отсутствие во всех крупных проектах по рукам бьют.
>>2415634 Когда только начинал говнокодить, думал, что динамическая типизация охуенно, не надо лишний код писать. Когда подрос, понял, что иметь перед глазами тип очень удобно, так что пользуюсь просто аннотацией.
>>2415634 Хз, как-то не парюсь по этому поводу. Просто меньше строчек в коде, ну да чуть запутанней, но это наталкивает на написание самостоятельных и коротких функций. Ошибки сложнее предсказывать, да. Для диктов приходится городить что-то типа if data and data.get("kok"). С другой стороны нагляднее, а не где-то в жопе с обработчиком эксепшонов.
>>2415659 Ну блять, мне не выбирать знаешь ли, сейчас ситуация в Рашке с работой в целом "не очень". Сейчас пилю свой докер-композ, предложу на встрече, если не зайдет уберу из гита и буду сам юзать. Но пока надо думат ькак быт ьс pipenv
Приходилось когда-нибудь самому писать openapi.json для сваггера? Что такое слои в докер-образе? Чем отличается command от entrypoint?
На проекте:
Пук, ну сваггера у нас пока нет, в общем можно конечно его добавить но чет руки не доходят, да и не нужон он в общем-то, сами ручками запросы гоняем. Докер? А мы его чет не запилили тут. Ну ты руками базу там подними и все прочее, нормально же.
>>2415331>>2415489 >я бы из тебя сделал вечного джуна >или заводи пет полезный для общества, так чтобы он стрельнул в стартап Ну и нахуй ты нужен, если будет свой стартап? А так-то литкод помогает. Особенно если во всякие МААНГи подаешься.
>>2415771 Зачем базу в докер? Его поднял один раз и всё. А всякие свагеры и опенапи кроме дыр в безопасности хз для чего, если это не галера на аутсорсе, а свой проект. Док в постмане. И вообще, вопросы для сисадмина, а не разработчика. Так пусть платят как сисадмину (непомерно дохуя) и нагрузку соответствующую.
>>2415769 >Они ебанутые? Как обосновали? Представь, что у тебя проект крутится на BSD. Вот и всё.
>>2415771 >Докер? А мы его чет не запилили тут. Ну ты руками базу там подними и все прочее, нормально же. Докер штука ограниченного применения, очень удобная для своих целей, но часто его пытаются притыкать всюду, где надо и не надо.
Например для быстрой установки чего-то на боевые сервера скорее будут Ansible использовать, чем докер-сборки.
Если тебе надо работать с базой, то скорее это должен быть отдельный сервер, отдельная машина. И для этого докер не нужен.
Это только для отладки или для мелких нагрузок разумно локально базы в докерах крутить. Чтобы быстро поднимать разные версии, переключаться с одной на другую и т.п.
Сам подумай, тебе не только сервер баз поднимать надо, но и сами данные подгружать. А для данных докер уже не очень предназначен.
>>2415856 Базу в докер пихают для быстрого развертывания у клиента, если это галера или расширять базу. >>2415883 Я использую докер в разработке. Продом дженкинс занимается. Использую только то что нужно, а что не нужно - не использую. И тебе советую.
Сап, питонач. Пытаюсь запилить сохранение cypher-скрипта в xml файл. Для этого я вручную заменяю неудобные символы внутри текста там где нужно, потом собираю xml-дерево, добавляю туда строку и сохраняю в файл. Однако, почему-то в финальном xml файле все символы типа ">" и "&" заменены на коды, из-за чего ломается формат скрипта. Как мне сохранить данные в xml без замены символов и сохранением структуру xml-тегов?? Листиг моего куска кода: https://dumpz.org/ard855sMF9Z9
>>2416077 Потому что чужой микросервис, которому я буду скармливать этот файл, жрёт текст внутри тега as is, и строка > (A)-[:relation]->(B) не скомпилируется в сайфер, в отличии от > (A)-[:relation]->(B) поэтому я не хочу заменять абсолютно все символы, а только лишь те, которые встречаются ранее вышеописанной строки.
>>2416095 > выглядит простенько Это я актуальный фрагмент только вырезал, там на самом деле по соседству ещё несколько вложенных иерархий с ПД, которые я офк доксить тут не стану.
Но в итоге накостылил себе решение, подставив вместо скрипта плейсхолдер, который после крафта структуры заменяю обычным str.replace() на мой текст как есть.
>>2412543 (OP) docker-compose этот ваш конечно удобный базару нет но как мне дебажить через Pycharm его? В частности celery worker. Есть какие-то туторы в инете но там хуета непонятная, либо ошибки падают либо тупо ничего не происходит (брейкпоинты игнорятся)
Несколько разных асинхронных задач (либо несколько тредов - пох вообще) останавливают свое исполнение на строчке вроде (в случае асинхронки тут будет await очевидно) if Condition(): ...
и собственно ждут наступления этого Condition, как только другой тред или другая асинхронная задача устанавливают его в true, задача продолжает исполняться дальше
Впервые попробовал эту ебучую джангу, и КАК ЖЕ У МЕНЯ СУКА ГОРИТ Я кучу времени убил просто на то, чтобы в админке завести формочку для добавления пользователя, наконец смог откопать, что там нужно прописывать какие-то ФИЛДСЕТЫ НАХУЙ, чтобы появились поля Вообщя вся эта админка выглядит как какой-то пиздец, макароны ебучие, в которых кодом описывается темплейт
Господа! Помогите не программисту. Есть игра disco Elysium. Очень надо извлечь оттуда текст на русском языке. Есть код для извлечения, но извлекает он текст на английском. Что можно сделать. https://gist.github.com/jd7h/e724eb2b23faa42b51424ac110c7b976
>>2417326 > там регексовая параша, нужно ждать душных низушных додиков которые любят играть в эту ебищную миниигру Но-но, хуйло, тут есть люди из перла, где почти любая проблема решается регекспом. То что ты в них не умеешь и искаробочный питоний ре каличный это не проблема регекспов.
>>2417381 >антипаттерн Человек, 10 лет не могущий вкатиться в индустрию, что-то рассуждает о ее практиках, спешите видеть! Так и вижу на собеседовании на джуна >знакома ли вам %любая непонятная ему технология% >это антипаттерн, все кто ею пользуется душные низушные додики
Я короче полный нуб. Вот смотрите, допустим я хочу выучить Питона. А для чего он собственно используется-то вообще? Я на него обратил внимание только потому, что он вроде как самый простой из полноценных ЯП.
Вот с Фронт Эндом все понятно - учишь там HTML, CSS, JS, TS, React, Redux и прочую хуйню, потом пишешь сайты, раскрашиваешь кнопки, делаешь линки кликабельными. А для чего Питон используется и что учить к Питону? Я так понимаю нельзя просто выучить Питон и уже только с ним одним искать работу? Потому что во фронте вон как дохуя всего надо. Собственно что с Питоном можно делать? Что делаете конкретно вы? Объясните на пальцах, пожалуйста.
Я кстати уже скачал книжку Python Crash Course, материалы собираюсь все читать на англюсике, но пока хочу пройти только эту книжку, остальное уже копать после. Спасибо.
>>2417575 А что из этого является самым профитным вариантом? В датасаенс надо же матан знать? А то его я не знаю, датасаенс для меня точно закрыт. Для бэка надо знать фронт? И что за QA - Quality Assurance? Чем конкретно ты занимаешься?
>>2417381 >регэкспы антипаттерн Смотрю, быстро ты осмелел после того, как тут регэкспами (!) по перформансу (!!) твой говнокод уделали несколько тредов назад. Не в защиту злоупотребления ре, есличо.
>>2417762 как сдетектить дегенерата который нихуя не знает сам, но ему очень нужно хотя бы на оранжевом сайте поларпить из-за абсолютной фрустрации ирл? он всегда отвечает на вопросы >я то знаю пук среньк но те не скажу ыы))) тебя и не спрашивали долбаеб, молчи нах пока знающие дяди объясняют человеку
Всем привет, кто-нибудь пользовался educative или codeacademy? В частности, https://www.educative.io/path/ace-python-coding-interview курс интересует. Ну или в целом что-то для более продвинутого уровня в формате именно интерактивных курсов
не понимаю / в аргументах функции типа я понимаю что это параметры аргумента, но не понимаю как они правильно пишутся. во всех примерах пишут через запятую
def func(a, /) или def func(, a) и чо нах? какой параметр к какому аргументу относится? или эти параметры и есть аргументы сами по себе или чо?
Подскажите плз, как в джанге сделать так чтоб тесты запускались в другой бд. Я чет не понял из гугла. Там типа так писали. Дает ошибку, что бд по такому-то адресу не существует, хотя она там есть.
Прост я подключил дефолтную бд в облаке типа и к ней коннектится долго чет, думал чтоб для тестов обычная скулайт использовалась.
Правда он пишет OperationalError: connection to server at "containers-us-west-85.railway.app" (34.127.94.129), port 7923 failed: FATAL: database "Правильный путь" does not exist
Мб это он в облаке основной бд че-то пытается искать?
>>2418005 >Мб это он в облаке основной бд че-то пытается искать? ага
Может как вариант при запуске тестов перезаписывай словарь DATABASES['default']? Типа так:
if 'test' in sys.argv: #ну или как ты там тесты запускаешь ____DATABASES['default'] = { ________'ENGINE': 'django.db.backends.sqlite3', ________'NAME': os.path.join(BASE_DIR, 'sqlite3'), ____}
>>2418240 Если контора норм им поебать как ты задачу сделаешь. Если это душные имбецилы, то они захотят чтоб ты вручную алгоритм написал с полными тестами, а ещё в маркетплейс выложил.
>>2415771 >on the interview: >are you familiar with web development, frameworks, linear algebra, machine learning, statistic analysis, any assembly language? >please solve this equation from astrophysics >on the job: >center div pls
>>2416061 Двачую. За 2 года код ни разу не запускал локально. Прогаю сложную распределёную систему, которую тупо невозможно поднять локально. Нужны десятки гигов оперативы чтобы поднять вмки и накатить туда образ, а билдить его ещё несколько часов надо перед этим. Поэтому вся разработка и прогоны только через пулреквесты и ci. Локально питоном пользовался только чтобы линтер установить и однострочкини в проверить
>>2418447 >переусложнение У тебя сложность по времени O(n log n), да ещё и sorted потребует памяти в размерах O(|string_1| + |string_2|) на новые списки, при том, что задача решается за линейное время и с O(размер алфавита) памятью.
>>2418929 >даже моя десктопная мать десятлиетней давности поддерживает 96 гиг. Не всякая даже серверная мать держит больше 64 Гб. То есть вот если тебе нужна машина с большой памятью, на это надо смотреть. Конечно, есть и такие, которые террабайты поддерживают.
Если у тебя линукс, то большой памяти под докер не нужно, всё работает на 8 гб даже. Если поднимать кучу полноценных виртуалок, то больше понадобится.
>>2418647 >Двачую. За 2 года код ни разу не запускал локально. Прогаю сложную распределёную систему, которую тупо невозможно поднять локально. Если ты разрабатываешь на сервере, то докер намного нужнее становится. Докер это в первую очередь инструмент для изоляции, чтобы твоя работа не мешала другим, не засирала файловую систему, сетевые порты и т.п., не было конфликтов зависимостей, версий-занятых портов и т.п. Поэтому как раз на сервере больше потребность.
А вот для боевого применения не очень надо, там предполагается, что у тебя нет бардака. Хотя при микросервисном подходе тоже полезно, например легко несколько инстансов одного сервиса поднимать.
Поставил uvloop, aiodns. Таски просто летают. Как ещё можно улучшить? Читал что нет смысла в asyncio разделять async воркеров (просто таски в asyncio.gather) по отдельным тредам, типа и так норм, а некоторые вообще не советуют так делать. Сервис просто делает запросы туда-сюда, вычислений нет, кроме валидации в pydantic, чтение бд/редис и всяких параметрах. Даже логгирование в отдельный тред сделал. Сейчас работает отлично под нагрузкой, хочу его увеличить.
>>2418961 Больше интересуют не запросы как таковые, а производительность тасков. В среднем пока используется 30-40 одновременных тасков, в будущем может придется увеличивать. В тестах на примерно 1000 и выше таких воркерах замечал падение производительности, т.е очередь разгребалась медленней. В этом плане интересует скорость и как найти оптимальное количество. Все используемые либы асинхронные.
>>2412543 (OP) Я pip обновил глобально до новый версии, а в пайчарме когда создаю новый проект в новом виртуальном окружении pip старый, да еще пишет мне постоянно не хотите ли обновиться, зараза ебаная.
>>2419395 Наверное ты послушал "опытных" спецов, иначе говоря, старых пердунов, которые не могут осилить новую универсальную иде. Наверное, на джанге пишут ещё и с питоном2. Неудивительно что там пип старый, специально под них ничего не обновляют
Обновил убунту, перестал работать wxpython, пишет >Unable to access the X Display, is $DISPLAY set properly?
>echo $DISPLAY >wayland-0
при этом wxpython собирал с нуля, не из кеша. Как с этим бороться и возможно ли с этим бороться?
Гуглить пробовал, но не очень понятно. Пишут, что эта ошибка из-за того, что wx старый и хочет X11 дисплей, а не Wayland. Можно ли запустить под Wayland, без отката назад на X11?
Вроде какие-то упоминания есть, что это дело должно работать. Но это не точно
Обновил убунту, перестал работать wxpython, пишет >Unable to access the X Display, is $DISPLAY set properly?
>echo $DISPLAY >wayland-0
при этом wxpython собирал с нуля, не из кеша. Как с этим бороться и возможно ли с этим бороться?
Гуглить пробовал, но не очень понятно. Пишут, что эта ошибка из-за того, что wx старый и хочет X11 дисплей, а не Wayland. Можно ли запустить под Wayland, без отката назад на X11?
Вроде какие-то упоминания есть, что это дело должно работать. Но это не точно
>>2414364 > достаточно просто разобраться в чужом коде, а потом повторить алгоритм Только так и никак иначе. В программировании всюду используют оптимальные алгоритмы и библиотеки. Самодеятельность никому не нужна. Задачи решаются самостоятельно только для лучшего понимания взаимодействия внутри кода.
>>2419587 >ты рожден чтобы страдать. мы все рождены для этого, без страданий жизнь не жизнь
> wayland в итоге не выдержав и сутки отключил этот Wayland нафиг, и другим анонам советую. Переменная DISPLAY это ещё цветочки, ещё куча багов вскрыласть неприятных. Как минимум три штуки ещё бага очень заметных.
Короче, аноны, если обновите линукс и там будет Wayland, от которого будете плеваться, поптобуйте переключить на XOrg
гуглите utuntu wayland to xorg
Надо всего лишь в файле /etc/gdm3/custom.conf раскомментировать строку WaylandEnable=false она или закомментирована, или там стоит true после чего перезапустить компьютер
>>2420032 Я на жирном проде тестирую мне можно, не локалке. Это код у меня кривой с жсонами, пидантиком и прочими вещичками. Не голые запросы. Я просто только пару месяцев назад в асинкио вкатился. Не у кого спросить как надо, а в гугле инфы не так много как хотелось бы.
>>2420167 Ни с каким, хули вы претесь в бидон как в язык для веба? ВСЕ языки можно использовать в той или иной мере для веба, это галочка для его приверженцев.
>>2420188 Тогда спрашивай, в каких направлениях работу легче найти, кроме дефолтного веба, а не про фреймворки хз к чему. А то как-то непоследовательно получается.
>>2420195 Лол, конкуренции. Я никогда не занимался вебом, только из-под палки, потому что надо сделать веб-морду для какого-то инструмента. И то это был по большей части пхп, потому что там можно искаропки такую хуйню сделать, не подключая сто гигабайт пакетов. Какие есть крупные проекты на бидоне? Задроченный инстаграм? Не факт, что он там ещё есть.
>>2420224 Эти воркеры парсят очереди в редисе через while true. Если есть набор задач - делают пока очередь не кончится. Если нет - ждут 1с и пытаются опросить снова. Не знаю насколько оптимально это всё.
Просто немного смущает что один тред делает так много, когда остальные ресурсы сервера просто простаивают. Пока распределил евентлупы между ядрами. Сами корутины полностью независимы друг от друга и не имеют общих ресурсов кроме редиса.
>>2420300 не понимаю, что тот анон имел в виду в моём понимании "морда", это веб-интерфейс к существующей программе, пхп для этого совсем не предназначен.
А вот в питону морды приделываются на ура, или фласк для этого используют, или aiohttp очень удобен, там веб можно подключить так, что это не ломает основной функционал.
Объясните мне, вот например я пытаюсь вкатиться в этот ваш питон, но при этом мне не хотелось бы работать ни в бэке, ни в тестировании. На позицию девопсА тоже претендовать не стоит, т.к. судя по "страшным" рассказам некоторых людей, в эту сферу как правило идут бывалые программисты или сисадмины, интересующиеся программированием, а вкатутосям вход заказан. Получается остаётся только Data Sience? Но вряд ли миру нужны analитики в таком же количестве, как в первых двух сферах, т.е. вакансий меньше = вкат сложнее. В чём я не прав? В каком направлении тогда идти? Нахуй, что ли?
>>2420424 Ищи вакансии и требования. Без опыта у тебя вообще не должно быть предпочтений. Либо идешь туда куда берут и набираешь опыт, либо идешь нахуй.
>>2420424 >но при этом мне не хотелось бы работать ни в бэке, ни в тестировании. Ты написал чего ты не хочешь или не можешь. А можешь сформулировать, какое направление тебе интересно? Из этого уже можно думать, какой язык подбирать. Возможно это будет не питон.
>>2420454 >Либо идешь туда куда берут и набираешь опыт, либо идешь нахуй Спасибо за ценный поджопник, кроме шуток
>>2420456 >А можешь сформулировать не могу( Легче пойти от противного. Насчёт QA я погорячился, но делать сайтики мне бы не хотелось >какое направление тебе интересно? В первую очередь мне интересно то, чем не занимается большинство - отсюда и такое отношение к вебу а не из-за конкуренции вкатунов, ну честно Так-то мне интересны и девопсеры, и аналитики, и разработка ПО. Иногда ещё накрывает интересом к разработке игор или нейронкам, но потом я начинаю себя накручивать, что это у меня молодость так играет и я охладеваю...
>>2420524 > разработке игор или нейронкам я вот как раз геймдевелопер и датасаентист - идеальное, дополняющее друг друга сочетание - я кайфую, чего и тебе (трясущаяся лягушка) желаю (нет)
>>2420524 В беке тебя никто сайты пилить не будет просить, этим занимается фронт. Большую часть времени будешь ебаться с оптимизацией запросов к бд/апи плюс это не обязательно именно сайты, ещё и сервисы/микросервисы. Потом дорасти до девопса и иметь дело уже с инфраструктурой всего этого серверного говна, куда что втыкать и разворачивать, т.к кодовая часть уже будет чисто шаблонной. Я вообще в веб вкатился в 26, до этого конечно прогал, но не так много и были это в основном скрипты и плк, а до этого на заводе вообще провода крутил, станки перебирал, да чего только не делал.
Гвоздями к стулу тебя никто не приколачивает, опыт спокойно переносится в другие языки и должности. В конце концов, питон это просто инструмент, знать и учить надо совсем другие вещи. Хочешь в геймдев - иди в геймдев. Хочешь нейро - иди в нейро. Там такие же люди работают, а не какие-то уникальные личности со сверхспособностями. Просто они продолжали упорно долбить сабж, даже если она временами может подбешивать и вводить в уныние.
>>2420543 Позитивно у тебя всё описано, но >Хочешь в геймдев - иди в геймдев. Хочешь нейро - иди в нейро Ты так говоришь, будто для того чтобы пойти в любую из этих областей погромирования (или какую-то третью) нужно просто выучить базу языка - синтаксис, алгоритмы, особенности, хуё-моё - по курсу за пару месяцев максимум. А потом, типа, иди куда глаза глядят - сядешь и научишься. Но ведь там уже на входе требуют горку разных хуёвин, актуальных именно в этой сфере, по которым тоже нужно отдельно готовиться именно для этой сферы. И это если не брать в расчёт опыт. Я, конечно, был бы рад ошибаться, но...
Имеет ли какую-то практическую пользу разбивание внутренностей большой функции на ещё несколько мелких, которые вызываются внутри большой?
Сам я всегда пишу огромные задроченные функции целиком, но часто наблюдаю, как погромисты с бОльшим опытом делят большую функцию на кусочки, и эти кусочки используют когда надо. От этого есть какая-то принципиальная польза, или оно делается чисто для читабельности/понимаемости кода? Я мудак, если не дроблю свои функции?
>>2420579 Для вкатуна/джуна разбивать обязательно, приучает мыслить в нужном русле. Как наберёшься опыта, уже сам научишься определять, где оно нужно, где не нужно, а где просто вредно.
>>2420578 Ара ара, только сейчас это понял? Питон можно выучить за 3 дня, без шуток. Правда знания архитектуры программ, библиотек, данных, 100500 систем внутри пека и методов работы со всей этой необъятной системой сюда не входят, поэтому зная синтаксис ты ничего не напишешь. И курсы не помогут. Нужно брать узкую область и долго набивать себе лоб шишками набираясь опыта. Именно поэтому везде пишут 1-3 года опыта. Прогер без пары лет хотя бы опыта кодинга над реальными задачами это буквально читатель гугла, он бесполезен.
>>2420620 >Ара ара, только сейчас это понял? Питон можно выучить за 3 дня, без шуток. Нет, конечно. Ты можешь "выучить питон за три дня", если у тебя хороший бэкграунд на других языках, но после этого ты будешь писать на питоне как на си-джаве и т.п.
Но в принципе да, освоить нужный язык, если владеешь другими языками и предметной областью, можно быстро. Не так, чтобы вести проект, но так, чтобы работать, когда есть кому тебя ревьювить.
>>2420620 >Именно поэтому везде пишут 1-3 года опыта. Это просто поле селект в форме ХХ. Там есть выбор, указать "без опыта", опыт "1-3 года", опыт "3-6 лет", и "свыше 6 лет".
Если указать "без опыта", то работодатель утонет в море резюме от вкатунов, подавляющее большинство которых ничего не умеют, они считают, что их на работе должны учить. А более-менее нормальные откликаться на вакансию не будут.
>>2420633 Зависит от вакансии. Можно спокойно без опыта пойти в небольшую уютненькую контору с небольшим зп. Вкатуны же сразу метят в гугл и зарплату в 300к.
Анончики, как писать приложения, состоящие из нескольких модулей?
Вот пример: хотел автоматизировать процесс. Сначала через scrapy паршу магазин. Потом с помощью pillow немного меняю картинки. Потом немного работаю с текстом (перевод спаршенной информации). Затем это все заливаю по ssh на сервак.
Со своей структурой я конечно же обосрался (это все модули, отдельные папочки): project --scraper --image_processing --translation --ssh
Естественно при попытке собрать это все в один пайплайн начинаются пляски с бубном в виде ModuleNotFound и прочей ебенью. Как правильно это все делать?
Хочу написать программку. Я буду добавлять задание на главную страницу, которые будут выглядеть, как стикеры с текстом. Люди эти стикеры будут перетаскивать вправо или лево, в зависимости от выбранной стороны текст со стикера будет отправляться на почту правому или левому человеку. Такое на питоне возможно?
>>2420617 >>2420619 Спасибо за ответ >>2420817 Конечно польза, но это в принципе на поверхности - я спрашивал есть ли какие-то профиты кроме очевидной читабельности
>>2420892 Ну во первых, меньше состояний - больше производительность. Лучшая отлаживаемость, простые тесты, унификация кода. Да до кучи пользы. Сам подумай. Что проще поддерживать - ебаную лапшу в одном классе или несколько простых функций в одном модуле?
>>2412543 (OP) Сап, с недавних пор решил вкатываться и уже возникли вопросы. Уже неделю мучаюсь с этой задачей ничего не могу придумать. Задали делать сервер на Flask-е, а вот получить json вообще ни в какую. Где я ошибся и туда ли я вообще направляюсь? Был бы рад если кто нибудь смог бы помочь.
Прохожу сейчас курс для начинающих. Раздел if-else. Задачка: найти наименьшее из двух введенных чисел. Насколько лучше/хуже if a<b: print() if b<a print() чем if a<b: print() else: print() С точки зрения возможных ошибок в реальных задачах. Первая проблема которую я вижу два одинаковых числа, и очевидным решением было бы добавить еще один блок с сообщением, на случай если будет равенство. А какие еще могут быть ошибки?
Как в джанго разбивать приложение на аппы и организовывать их взаимодействие? Пример такой: на сайте есть пользователи, функционал работы с которыми вынесен в апп (регистрация, логин-логаут, персональная страница) и их сообщения, которые тоже в отдельном аппе. Теперь хочу на странице пользователя показывать все его сообщения. 1. Правильно ли такое разбиение на аппы? 2. Как это сделать? Без изменения аппа пользователей.
>>2421314 В реальной жизни это скорее всего как прикрил будет выглядеть. А в твоих обеих вариантах плохо то что не обрабатывается вариант где a == b, на остальное как-то пох тащемта.
>>2421360 min я видел в решениях от других юзеров к прошлым задачкам. А если использовать только тот инструментарий который представили на этом и прошлых уроках?
В первом варианте у тебя фактически написано одно и то же условие два раза (a<b и b<a)
В реальной задаче если так написать через пол года придет криворукий коллега и поправит первое условие, а второе поправить забудет. И вы будете долго и мучительно искать косяк
>>2420892 Есть еще неочевидный профит который проявляется когда ты пытаешься такой код профайлить. Профайлер тебе покажет сколько времени потрачено какой функцией. Соответственно с удачно разбитыми функциями легче искать медленные места.
Подскажите, пожалуйста, варианты решения проблемы. Есть сайт, на котором я хочу автоматизировать один процесс, а именно ввод строки в форму и отправку на сервер (много раз). Для этого нужно авторизоваться на этом сайте используя логин и пароль, но также там есть проверка на бота (гугл капча). Использую питон в своем решении. В идеале я вижу след.решение: с помощью скрипта я вызываю что-то вроде popup-а браузера, где ручками авторизуюсь, выбираю галочку запомнить меня и нахожусь длительное время в системе. Данные авторизированного пользователя хранятся в каком-то подобии сессии в питоне (куки и локальное хранилище, в котором собственно находится уникальная строка от гкапчи). Таким образом, могу много раз посылать запросы на сервер. Подскажите, как я могу это реализовать, с помощью чего или хотя бы как правильно нагуглить такое решение. Пысы: пожалуйста, давайте без селениума. Селениум это план Б, если ничего больше не получится.
>>2421408 Решение стоит пару баксов за тыщу штук, подключаешь такой сервис. И да, "запомнить меня" и сохраняешь печеньки между запусками. С селениумом в любом случае соснешь, тут нужен хедлесс браузер, да и ещё патченный, чтобы не палился. + желательно домашний айпи, а на из дц.
>>2421415 Мне не нужно автоматизировать вход. Мне нужно только автоматизировать ввод в форму и её отправку на серв. Я хочу, чтобы открывалось браузерное окно, я логинился и уникальные данные оставались у меня где-то в переменной(ых) для дальнейших запросов. Моя проблема в том, что я не знаю, как создать такое браузерное окно для логина и как сохранить потом уникальные штуки в переменные, т.е. как из этого окна браузера передать их в код.
>Решение стоит пару баксов за тыщу штук, подключаешь такой сервис Ну это мне не нужно, могу самостоятельно капчу пройти >тут нужен хедлесс браузер, да и ещё патченный, чтобы не палился. + желательно домашний айпи, а на из дц. Всё с домашнего компа будет, хедлесс же без интерфейса, с него можно как-то открыть окно с капчей и потом от его имени всё остальное делать?
>>2421422 Хедлесс можно запустить в обычном режиме, хз можно ли его потом спрятать. Смотри pyppeteer. Но вообще рекомендую рассмотреть сервис, это в сто раз меньше ебли типа того что ты хочешь сделать. Просто грузишь страницу, отправляешь хуитку от рекапчи туда и через несколько секунд приходит результат, который просто обычным постом отправляешь.
Два часа уже с импортами вожусь, мб знает кто то что сделать чтоб заработало? Короче есть директория, там есть питоновский пакет, хочу в подсвеченном файле импортировать файл с конфигом из директории выше, абсолютный импорт и относитеьный через точки (src.config или ..config) не работает, в одном случае пишет что модуль src не найден, во втором attempted relative import with no known parent package ). Файл do_smt запускаю из директории example командой python src/proj1/do_smt.py
Задача вроде тривиальная: разбить на разряды большое integer число вроде 2^81 и напечатать его в виде: 12.345.678
Но как это сделать элегантно на питоне? На данный момент я: перевожу число в строку переворачиваю его итерируюсь по нему в цикле for с шагом 3 и заполняю список тройками чисел переворачиваю список делаю join через точку
Снова >>2421314 Теперь начался раздел с операторами and, or, not. Их же можно буквально воспринимать. Зачем тогда городят всякие логические сложения-умножения. Или в будущем будет некое расширение правил, где это все понадобится?
>>2412543 (OP) Аноны, подскажите, насколько тщательно вы смотрите мры от коллег, заметил, что сейчас для меня самое худшее это открывать очередной мр на 10 коммитов, где изменено под 20 файлов, часть рефакторинг, новые методы, тесты, уже на 4-5 коммите голова отключается и я просто начинаю пролистывать, как вы поступаете с этим?
Что за хуита? Почему в интервале между один и десять он при вводе числа 11 пишет что загадано больше число? Или он посчитал это как две единички? Или я мудак и пишу какую-то хуету?
>>2422459 Путь надо указать? Просто в книге написано что файлы, хранящиеся в одной папки с проектом питон и так видит и путь указывать к ним не надо.>>2422459
>>2422469 Неудобно же. Посмотри на эту хуйню. Половина экрана забита каким-то говном. Я знаю, что каждый кодит в чем хочет, просто часто такое за вкатышами замечаю. Неужели лень в консольке пару комманд вбить?
>>2422522 Ну так поэтому видео и не информативны. То ли дело когда просто читаешь шапку на пару страниц строго про 1 элемент, например строку и её методы, решаешь тут же десяток задач на строку, переходишь к следующему. Никакой воды, чистая практика.
>>2422528 Да. Типо есть строка, есть методы. Используя методы сделайте 1-2-3. Если хочешь все все методы смотришь документацию питона. Задачи типовые, по сортировке и простым алгоритмам.
Аноны, начал изучать пайтон. Подскажите плз откуда интерпретатор понимает, что параметр tag - это экземпляр именно BeautifulSoup'a? Единственное моё предположение, что когда мы пишем .has_attr, то tag автоматом становится экземпляром bs4.element.Tag
Заканчиваю вводную книгу по питону. Посоветуйте что читать второй книгой. Желательно чтото с интересными прикладными результатами чтоб от скуки не умереть и развивать навыки. Уже есть пару книг на примете по графике, ГУИ и примитивным играм, ищу еще варианты.
>>2422473 Я вкатун по джетбрейнсу. У них для удобства можно подконнектить иде к сайту (только пайчарм и ничего больше) и сабмитить решения напрямую из из пайчарма кнопкой. Иначе на все проверки надо копипасть код просто, а зачастую надо много их тестов погонять, чтобы исправить.
>>2422829 >>2422845 Шо то хуйня, шо это. Дрочить всякие фичи достаточно ipython, это будет 80% времени, для остального можно взять универсальный вскод, знание которого потом пригодится ещё в других целях.
>>2422793 >примитивным играм Сссссука как же я ненавидел эту хуету раньше. Везде сука в каждом ебучем курсе в каждой книжке для дебилов надо написать тетрис написать понг написать спейс инвейдерс. Какая же душная ёбаная срань, до сих пор ТРИСЁТ
>>2422860 Какому нормальному человеку в 2022 году всрался спейс инвейдерс? Я понимаю там всякие логические игры писать, текстовые квесты, хуё-моё, но это тупа кал, нет ничего хуже чем рисование в ткинтере или черепахе в обучающих курсах
>>2422863 Это для совсем детей или для пердунов, очевидно же. Простенькие классические игры и практический проект одовременно, а не высосанная из пальца хуйня под названием "пет-проект".
Криптодебил-вкатун ради автоматизации снова на связи. В целом поковырял веб3 библиотеку, могу делать разные приколы и это ахуенно. Глобально в планах конечно вообще пердолинг в солидити начать, но пока задача стоит следующая: Мне нужно уметь в нихуевый парсинг/скрейпинг (я хуй ево как оно называется) короче мне надо высасывать данные с сайта и как-то их сортировать и дальше уже что-то с ними делать. Кто-нибудь знает хороший сурс чтобы я ультимативно научился в эту хуйню? Гуглить я гуглил но какие-то ебаные гайды там я хз.
>>2422863 Чел, это весело. Я понимаю что ты душный дрочила, который сортирует бесполезные данные в бесполезных массивах файлов во время обучения, но обучение должно быть фановым. Ме блядь не интересно писать программу "у моники 15005000 рабочих и у каждого по 100050000 параметров, над каждым из которых надо произвести 1005000 операций и все записать на диск", я хочу сделать чтото веселое. Понятно что твой питон на питоне никому нахуй не всрался, но для меня это мотивация. И да, мне нравится творить хуйню в черепахе так что с этим можешь тоже пойти нахуй.
>>2412543 (OP) Всем привет Писал в прошлом тредике Хочу сделать бота для одной старой игры. Нашел статью https://habr.com/ru/post/346258/ Но способ этот не подходит, т.к. в свернутом режиме не работает
Или есть вообще какие-то варианты для написания бота, чтобы ээто вес работало в свернутом окне? куда можно посмотреть?
>>2422939 Отрисовывать кал в ткинтере и черепахе это гораздо более душная поебень, чем копаться в массивах файлов. Но наверное оно как-то от стиля мышления зависит. У меня абстрактное мышление сосёт толстенный хуй, в школе геометрию я мог понимать в лучшем случае на средне-базовом уровне, а вот по алгебре я исполнял очень даже хорошо, на жирную 5, если готовился. Наверное из-за этого отрисовка объектов, их движения и соприкосновения для меня мучительна
>>2422939 >Чел, это весело. Это хорошо для школьников всяких, у которых мотива язык изучать нет. А так вроде как весело, ты управляешь этой черепашкой, в игровой форме можно всякую "ненужную хрень" осваивать.
А если ты взрослый, мотивированный на освоение программирования, то это уже как-то странно выглядит. Не, в принципе и с черепашкой можно что-то делать, какая-то визуализация, но всё равно странно.
>>2422716 Неправильно понимаешь. Сто лет этот bs4 не запускал, а когда запускал неправда была, но
Логика такая, что ты передаёшь функцию-колбэк, которую сам определяешь.
bs4 вызывает эту функцию и передаёт в неё некий параметр, объект определённого типа. Таким образом именно bs4 отвечает за то, что будет передан объект нужного типа.
Это совершенно общий подход для всех колбэков, во всех языках программирования.
Короч я понял, двач такой двач. Никто нихуя по теме второй книги для освоения питона ниче не сказал, зато каждый выложил свое дохуя важное мнение, которое к теме не относится.
>>2423100 "начинаем программировать на питон - тони гэддис" Цели - начать писать программы с ГУИ желательно, набивать руку, набираться опыта, не в какой-то отдельной области а в программировании в целом. Цели завтра вкатиться в датасаенс с 300ккк\наносек прямо завтра не стоит, у меня впереди два года шараги. Так что задача скорее иметь способность реализовать свои замыслы с ГУИ, графикой и всем сопутствующим нормальной программе.
>>2423100 посмотри степик, там в топе бесплатных отличная линейка курсов "поколение пайтон", просто дохуя практики, отлично подойдет пока закрепить все базовые навыки
Хэллоу, ворлд! Есть бот, работающий с апи вк. Ищет картинки с привязкой к координатам. В картинках всякие индусы часто выкладывают хуи. Через что нужно прогнать набор картинок, чтобы убирать индийские хуи?
>>2423109 Книги бесполезная трата времени. Ну надрочишься ты на всяких лямбдах, сядешь на проект, и поймешь, что нифига не знаешь как код писать.
Путь у джуна такой: 1. Любая книжка по основам (чтобы откровенное говно не писать) 2. Практика 3. Практика 4. Практика 5. Выбор сферы 6. Устройство на работу 7. Начинаешь читать книги, чтобы прокачивать скилл 8. Перекат из шараги в шарагу-лайт 9. Перекат из шараги-лайт в нормальную компанию.
>>2412543 (OP) Бля, котаны, поясните за pytest и фикстуры. Вот в примере чел показывает как он добавляет в тест фикстуру, которая запустится в начале этого теста и сделает какие-то операции над объектом request, который является ее параметром - что это блять за request? Откуда он нахуй взялся? Я не вижу чтобы его импортировали откуда-либо. Он относится к этом у как к чему-то абсолютно нормальному и идет дальше
>>2423231 а где эту практику взять? ну вот пролистал я укус питона, прорешал весь пинтьютор, что дальше? почти во всех вакансиях с хх даже на 30к требования с кучей фреймворков и от года знаний
>>2423248 Какой-то мудацкий аргумент который был добавлен каким-то мудацким плагином. Вот тебе пример со скрина, тут плагин добавляет стороннюю фикстуру.
pytest в принципе очень непрозрачен и ебаное говно - сочетает в себе все дерьмовые стороны питона, но его юзают, ибо альтернатив особо нет.
>>2423252 Кодишь пет, да и все. На требования похуй, они ищут идеального кандидата, который знает нужный им стек. Как сделаешь пет, так и говори, в лоб, что опыта нет, но зато ты сделал пет, освоил фласк какой-нибудь, ксс, хтмл, гит, докер, умеешь писать и читать питонячий код. В резюме пиши, что освоил то, то и это. И ссылочку на гитхаб. Или еще лучше на развернутое приложение где-нибудь на vds. Тогда будет видно, что ты не очередной дебс с курсов, скопировавший код, а адекватный чел, способный шевелить мозгами.
Когда будешь делать пет, сначала читай доку, потом читай исходный код фрейморка, если не знаешь, как запилить какую-то штуку. Можешь читать книги по фрейморку, но не копируя бездумно код. Просто пойми общий ход создания приложения и применяй его для создания пета. И почитай про типичные ошибки новичков. Потом уже лезь и копируй код со стаковерфлоу. В результате, ты:
1. Поймешь архитектуру фреймворка (там ничего сложного, обычный mvc). 2. Научишься сам решать проблемы. 3. Научишься в гит (закомитить, запушить, склонировать к себе удаленный репозиторий). 4. Научишься в другие инструменты, которые ты будешь использовать.
А сидеть и нарешивать "поменяйте в file.txt все буквы из нижнего регистра в верхний" нет смысла. Эти упражнения нужны в первый месяц, чтобы ты просто обучился синтаксису.
Книжки нужно читать нормальные, а не хуету для домохозяек. Но это уже потом, когда настнет время расти и двигаться дальше.
Этот >>2423307 прав во всем. Только больше трех пет-проектов пилить не стоит, а то примут за долбоеба, который пыжится, а его никуда не берут. >>2423269 Звучит тупо. Хочешь учить дарт - учи. Будешь кроссплатформой заниматься на мобилках, что неплохо. Хочешь жабу - учи сразу жабу, не майся херней.
>>2423290 Здесь мы не будем останавливаться на универсальности данного сценария так как я хотел лишь продемонстрировать возможности атрибута platform из состава модуля sys. К тому же избыточность комментариев на этой доске может негативно отразиться на общем восприятии языка Python так как язык по своей сути очень лаконичен и прост. О том как писать простые и более универсальные сценарии мы узнаем в следующих комментариях.
>>2423387 А может не будешь пиздеть почему зря? Тебе ясно и четко пояснили, что есть словарь, и нужен рандомный элемент. Нравоучения свои себе оставь, щенок
>>2423831 >>2423838 Ну конечно, нахуя пользоваться готовой абстракцией придуманной как раз под этот кейс. Давайте лучше руками щас напишем двухэтажный компрехеншен. Тааак, отлично, давай еще лямбдочку замапим. Падажжи ебана.
>>2423873 Чел не напрягайся. Твое мычание указывает что ты силишься что-то сказать, но никак не осиливаешь сформулировать. Походи-остынь, соберись с мыслями.
всем привет сразу оговорюсь - я не планирую вкатываться в кодинг есть одна конфа в тг и там кикнули одного юзернейма и у меня появилась идея
хочу написать бота для тг, который будет имитировать данного юзернейма как я это вижу:
спарсить все его старые сообщения и чтобы потом на чьи то сообщения в конфе бот выдавал из этого списка что то похожее
есть ли готовые решения или направь что надо изучить анон? сам я когда то какие то курсы проходил по питону онлаен ради инетереса и готов изучить что нужно для такого бота, просто поднаправь меня я это делаю just4lulz
>>2423109 Видимо стоит брать, придумывать задачи и писать.
Выбрать для начала графический фреймворк. Или tk, что встроенный, или wx, или qt, ещё kivi вроде как можно.
tk встроенный, но не совсем, не всегда по умолчанию стоит. Очень примитивный, но что-то на нём делать можно.
kivi какой-то андеграундный.
Самые известные это wx и qt. Я немного работал с wx, и сейчас немного надо с ним работать, однако он старый и сейчас медленно развивается, более крутым считается qt, стоит смотреть именно на qt. Правда лично я в qt не умею совсем.
Аноны правы, ГУИ приложения не совсем про питон. Есть мнение общее, что для ГУИ питон скорее как средство создания прототипов. Потому что сложно распространять и т.п. Есть такое.
С другой стороны если ты учишь ГУИ, то тебе надо осваивать логику ГУИ. Не суть на каком языке программирования. wx и qt есть на разных платформах, будешь уметь на одной платформе, сможешь и на другой.
>>2424196 На хрюлансе могут просить заказчики-нубы. Я обычно это решал говнобатниками или запуском сервера и вебмордой(лол). Всё хочу подучить го, чтобы делать нативные стендэлоны, там вроде есть подходящие либы и под гуи и под вебморды. мимо
Что первое - новее, это я в курсе, но есть ли какая-то разница при прогоне на практике? Во 2м случае мы явным образом ивент луп указываем, это на что-то влияет?
>>2424303 Не уверен насчёт run(), второй пример не будет работать корректно, если ты вызываешь его не в основном потоке.
В 90% случаях это не нужно, обычно ты сразу инициализируешь эвент луп, при этом он работает в основном потоке, чаще всего явного мультитрединга нет. В этом случае не принципиально вообще.
Когда иначе, например у тебя ГУИ, или ещё что-нибудь, там уже больше магии.
Лучше в любом случае через run() делать, если тебе только явно не нужен loop.
аноны молю,подскажите,не поздно ли в 27 с нуля начинать?если нет подскажите какие книги начать читать или может быть курсы какие-то посоветуете?хотел бы на питоне программировать
>>2424910 >2022 >куча поисковых систем >по первой же ссылке в гугле список актуальных книг, курсов, туториалов >А ПАСАВЕТУЙТЕ КНИЖАК И КУРСАВ А ТО ЧО Я ЛОХ ЧТО ЛИ САМ ГУГЛИТЬ ЕПТ
Ты явно гуглить не умеешь, какое тебе программирование? На возраст похуй. За год при желании и усердии вкатишься на трейни или июня, а дальше уже сам поймешь куда развиваться хочешь.
Обычно советуют Лутца, но это хуйня. Книжка эта для новичков в Питоне, а не для новичков для в программировании в целом. Лучше начни с Укуса Питона, освой синтаксис и смотри, куда ты хочешь вкатиться и гугли роадмап по выбранному направлению. Всякие продвинутые фичи языка изучать смысла нет, все равно ты их испоьзовать вне laba1 не будешь.
>>2423856 Какие же питонобляди опущенные... Пздец, а ведь раньше я и таким же был.
Хвала яйцам перекатился в божественный го, со статической типизацией и минималистичным синтаксисом. В гохе все прозрачно и ясно, там действительно only one way to do it - никаких выворотов-изворотов со сторонними говнолибами. Вложенный цикл for это то что поймет абсолютно любой прогер из любого ЯПа, это максимально чистый и прозрачный способ решить задачу, выебоны с манялибами - первый признак джуна-вкатуна, который изо всех сил пыжится показать, какой же он "прошаренный". для справки: твоя залупа тоже использует 2 цикла for, внезапно да? только под капотом
>>2425045 >выебоны с манялибами - первый признак джуна-вкатуна Поэтому goвноеды костыляют каждый все сам и это есть go-way? Челик, в го просто не завезли нормальный менеджер модулей, поэтому опущи и стали срать что фреймворки/либы/любая херня - плохо, все надо писать самому
Пацаны, назрел вопрос: способен ли питон как-то оптимизировать создание объектов в рантейме? Вот скажем типичный пример когда в цикле проверяем вхождение элемента в определенный набор, тут на скрине челик решил не создавать это набор заранее а ебанул его прямо в цикл, будет ли в таком случае питон создавать этот кортеж на каждом новом проходе цикла? Или он таки догадается что это нинужно и создаст его 1 раз?
Кого из ютуберов можно посмотреть для изучения питона с нуля для долбоёба? Наслушался тут, что Гоша Дударь и Хауди Хо - пидрилы и смотреть их не надо, учат хуевому коду. А кто учит нормальному? Чтоб оперативно ввел в курс дела, но и не грузил сходу часовыми лекциями о переменных, потом часовыми лекциями о операторах, и недельным курсом по спискам. Я хочу скорее сам писать. Мб кто-то на игровых примерах учит? Типа учим питон с нуля, написывая тетрис или змейку там. Полюбас вопрос поднимался, ебаните в шапку. Ща учу по этому типу и еще читаю Укус Питоназа жеппу
>>2425573 Хули вы все на ютуб претесь? Есть куча спижженных нормальных курсов на трекерах, есть книги. Ютуб для всяких интересных адвансед хуиток вроде такого или просмотра каких-то конф https://www.youtube.com/c/mCodingWithJamesMurphy А смотреть очередного индуса или ивана ебанкова с его корявым пересказыванем любой начальной книги это дебилизм.
>>2425573 Открываешь любую книгу по вводу в питон+программирование на 800 страниц, читаешь главу за главой, делаешь задания, профит. Никакой интернет пиздобол тебе такого не даст.
>>2425592 >>2425727 Без обид, пацаны, но я ебал Марка Лутца и ебал каждого, кто ситает его норм темой или учился по нему- вы долбоёбы. Читать такую хуиту - себя не уважать. Это надо обладать даром божьим, что бы так ахуенно душно, невъебенно тяжело и пиздец как неинтересно рассказывать что-либо, что аж желание учиться отбивает напрочь. Пару раз пытался, не смог, рвотный рефлекс сильнее.
Укус Питона еще норм, читаю. Но мне проще, когда объясняют на пальцах и визуализируют с примерами.
Кто-то может объяснить как спарсить страничку, которая динамически генерирует бесконечный скроллинг, при этом отдаёт какую-то ебанутую подпись, которая на каждый "реквест скролла" генерируется js-ом разная? Или хотяб отправьте почитать/посмотреть куда надо. Я сколько не посмотрел всяких гайдов по парсингу вот такой хуйни не встречал и я не понимаю че дел. Т.е я понимаю наверное подход какой-то, что надо взять кусок кода из сурсов страницы, отвечающий за генерацию подписи, как-то с ним распердеться и сделать такую же генерацию подписи в скрипте, но конкретики у меня в голове никакой.
>>2426293 Ну ты всё правильно описал. Но это гемор. В таких ситуациях обычно пробуют мобильную версию без js, потом смотрят запросы мобильного приложения и на крайний случай юзается селениум.Аноним06/08/22 Суб 16:08:17#466№2426302
>>2426293 Ну ты всё правильно описал. Но это гемор. В таких ситуациях обычно пробуют мобильную версию без js, потом смотрят запросы мобильного приложения и на крайний случай юзается селениум.
>>2426302 А если у сайта нет мобильной версии? Селениум это вообще пизда, там на страничке 20 айтемов, а всего их 20к, т.е это тыщя прокрутов, так не пойдет. Сори если пишу полную тупость я в питоне 2.5 недели.
>>2426302 Я другой челик, но тоже надавний вкатыш. Хочу спарсить данные с динамической страницы. Попробовал мобильную без js в хроме - нужные данные перестают подгружаться. https://apexlegendsstatus.com/profile/uid/PC/1010353021047 Про "смотреть запросы с м. приложения" я не понял. И по поводу селениума вопрос - его не хочу использовать, т.к. он постоянно браузер открывает, а я хочу бота сделать, так что это не вариант. Есть ли ещё способы как вытащить данные, или только селениум?
>>2426143 Дурачок, начальных книг по питону самое большее количество из всех языков, потому что все дауны туда ломятся. Есть и годные. Лутц весьма специфичен, но это просто не нубская книга, чего многие не понимают.
>>2426941 Книги как раз помогают уменьшить поток людей. Пока дурачки читают свои книжки и решают олимпиадные, нахер никому не нужные задачки, нормальные люди без задней мысли просто пишут стандартный шаблонный сервер, делают деньги и учатся писать хороший рабочий код. А не вот это вот всё книжное говно, которое пригодиться разве что при создании своего яп
Аноны, какого хуя нет ни литературы, ни туториалов, ни видосов на ютубе, которые занимали бы переходное звено в изучении ООП между "Class Animal" и "пишем свою онлайн-игру с подсистемой экономики на R и чатами на сокетах"? Мне нужны какие-то примеры со средним уровнем абстракции. На уже готовые репки несложных приложений смотреть не хочется, т.к. непонятен ход мысли - хочется какой-то пошаговый источник, чтобы было понятно, что откуда проистекает.
>>2427795 Жанго вообщне неактуален. Есть фастапи для современных проектов, есть фласк для небольших. А вкатуны ломятся в жанго, думая, что это какой-то похапе. Ну так идите в похапе.
В общем, в каждом тест-кейсе включаем фикстуру loadmodels, которая в общем-то и делает что написано - подгружает в тестовую базу все фикстуры изcsv-файлов, а после теста стирает их делает truncate на все таблицы. Все работает, без базара, только вот когда мы делаем это на каждом тест-кейсе скорость прохождения тестов значительно снижается. Как поправить? Можно попробовать конечно делать эти манипуляции в начале всех тестов а truncate 1 раз в конце но вот незадача - некоторые тесты например почти целиком стирают таблицы и после теста эти изменения необходимо откатывать чтобы другие тесты работали как следует, и откатыват ьавтоматически а не вручную. Как быть?
Изучаю сейчас питон по курсам от Гугла на курсере, как сделать так, чтобы не забыть всё? Потому что там же на каждой из специализаций свои приколы и много изученного не используется.
>>2428015 И есть ли какой-то эталонный пример кода, который можно использовать как пример оформления скриптов, чтобы сразу научиться писать красиво и понятно?
>>2428015 > как сделать так, чтобы не забыть всё? Придумываешь сам себе практику и делаешь. На самом деле никак, если забыл гуглишь, постепенно будет в памяти откладываться
>>2428103 Спасибо! >>2428104 В начале второго курса рассказывается про работу с csv-файлами, а потом про это забывается. Ну тут уже сказали что просто гуглить забытое.
>>2428304 >про работу с csv-файлами А как с ними работать, лол? Я знаю ровно один способ - pandas.read_csv и pandas.write_csv и больше pandas нахуй не нужен.
>>2428314 >и больше pandas нахуй не нужен да ты охуел пес я с екселя на него пересел, теперь 90% моей работы перешло в запуск скрипта и 10% попизделки с коллегами мимо оффисная макака
>>2428374 Так в экселе можно тоже на ВБА писать. У меня епта целый семестр был охуительный предмет ОФИСНОЕ ПРОГРАММИРОВАНИЕ с написанием макросов для ворда, экселя и аксеа.
>>2424196 схуяли. Сейчас пет-проект типа АРМа спеца. Формочки и прочее - или wxGlade или FormBuilder. Сама технология - wx (лучше, но pip install) или TKinter (уже встроен). Гемора больше с TKinter и не очень нативно всё. Ибать эксперты на дваче....
Пишу кликер для одной говноигры, для этого нужно чтобы скрипт искал на экране пиксель заданный в RGB писель и кликал по нему. Так вот вопрос, как лучше всего это реализовать, какими библиотеками? Я уже заебался смотреть 100500 гайдов, где евангелионов стоят, ну честно, простой же скрипт: поиск пикселя по экрану, клик, ожидание и снова повторить, почему так сложно то?
Предыдущий:
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
#######################################
ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года
Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.
— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4
— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется
— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Исходник: https://dumpz.org/bASGKD8cCFDf