Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы: 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
>>2445867 → > Почему старый как говно мамонта петухон одновременно является зумерским языком в наши дни? Откуда такое противоречие, в каком-то детском мультике главный герой писал на петухоне? Интересная тема. Реально большой отрыв между зумерами и средним возрастом. Единственный язык, даже у JS такого нет, там равномерная пропорция.
Какой-то петух в прошлых тредах советовал https://hyperskill.org/, так вот, после прохождения триала ты сосешь хуй. Платная подписка 20 долларов, а по бесплатной там нихуя нет кроме котлина
Здравствуйте, я хочу написать программу, которая распознает буквы и числа с изображений на которых ничего больше нет, кроме букв и чисел. То есть, теоретически, не сверхсложная задача.Нагуглился этот сайт. Там вводный урок как установить opencv на macOS. https://pyimagesearch.com/2018/08/17/install-opencv-4-on-macos/ Естественно, как и ожидалось, у меня нихуя не получилось. Поясните, пожалуйста, вот у меня стоит питон 3.10. Как думаете, может быть дело в том, что у меня нихуя не получилось, потому что требуется питон именно 3.6? Opencv4 может, так сказать, поладить с питоном 3.10?
А ещё подскажите, пожалуйста, где почитать про то, что за хуйня там вообще происходит? Почему по гайду надо каким-то хитровыебанными командами скачивать OpenCV4? Почем обязательно там что-то компилировать надо? Какой-то блятб мэйк фэйк, почему так сложно OpenCV4 установить? Почему нельзя одной командой типа pip3 install opencv-python всё решить? Почему там надо чёта компилировать, какой-то cv2.cpython-36m-darwin.so cv2.so файл искать. У меня очко бомбануло, я всё по инструкции сделал, но у меня нет такого файла cv2.cpython-36m-darwin.so cv2.so хоть усрись.
Как узнать, откуда автор взял, вот эти шаги? Я хочу детально во всём разобраться, узнать где я ошибся. Но для этого надо не просто повторять шаги, а осознанно знать, что именно и для чего делает автор. А чтоб узнать в чем замысел автора, это надо узнать, где нащупать начало всей этой хуйни, откуда начать копать? Надо доку opencv проштудировать от корки до корки? Верно?
>>2447954 Обычно прозрачно и ставится, командой pip install opencv-python
Насчёт opencv не скажу, но какие-то пакеты могут требовать сборки, она обычно происходит прозрачно, просто долго, но при этом часто требуются зависимости, которые ставятся в систему, а не через pip. Собственно из-за них, скорее всего, сборка и требуется.
К сожалению не всё работает просто через pip install.
На Макоси никогда не работал, что там с макосью ХЗ, думаю чуть больше пердолинга должно быть.
>Как думаете, может быть дело в том, что у меня нихуя не получилось, потому что требуется питон именно 3.6? Opencv4 может, так сказать, поладить с питоном 3.10? Вряд ли. В твоей доке сказано > It is extremely important to use Python 3.6. By default High Sierra and Mojave are coming with Python 3.7 now. It sounds good, but Python 3.7 is unsupported by Keras/TensorFlow Просто дока 2018 года, говно мамонта. Тогда только выпустили 3.7 и ключевые пакеты не успели его поддержать.
Сейчас все пакеты 3.10 поддерживают, потому что 3.10 уже давно выпустили и все пакеты его поддерживают.
Там самая ржомба происходит после установки opencv4.0.0 в этом гайде в шаге 6 там надо пройти по пути: /usr/local/python/cv2/python-3.6 и найти там файл: cv2.cpython-36m-darwin.so
Но у меня ни пути такого нет, потому что у меня пистон 3.10, там вообще всё как-то по-другому в плане расположения папок чем написано в гайде. А файла cv2.cpython-36m-darwin.so вообще нет нигде. Я пробовал искать через Файл - Найти, вообще нигде нет такого файла на всём устройстве.
И я даже не знаю, что искать, что гуглить, где может быть написано почему у меня нет этого файла и как быть если у меня пистон 3.10. Я настолько обескуражен, что я вытираю слюни с воротника своей рубашки.
Сап, где лучше знакомиться с ООП. Нашел курс в ютабе, но все, что там говорится, для меня как для узбека по-французски. Я вроде понимаю, но не могу связать все воедино, чтобы сформировалась целостная картина. Стоит отложить тему или просто тупо знакомиться с тем, что преподают и попутно набираться опыта, чтобы как-нибудь потом понимание пришло?
Есть ли какие-то ресурсы по типу leetcode/codewars, только не для просто задачек по алгосам, а рефакторингу кода, паттернам проектирования и всему такому?
>>2448236 Тут ты проебал табуляцию. Суть в том, что можно делать 4 пробела, а можно один Таб, но мешать их нельзя, иначе будет то что тебе написало. Засунь в какую-нибудь ИДЕ, возможно даже онлайновую, она сама все поправит.
>>2448224 Ну я и дебил. Я после твоего поста зашёл в get started гайд, а там вверху ссылка как через pip установить opencv. И лишь ниже идут ссылки как скомпилировать из исходников. Я до твоего поста эту вверху ссылку не увидел и сразу заходил в ссылку как на маке компилировать из исходников. И очень мучился и страдал, выполняя шаги и не понимая почему так всё сложно.
>>2448304 Да, мне 33 года, я не знаю английский, перевожу копипастой в гугл переводчик, поэтому я не смог сразу понять, что мне надо было заходить именно в ту ссылку, где pip.
Объясните мне, зачем Гвидо понадобился питон 3? Десять лет унижений скриптомакак, только за что чтобы были скобочки в print? Почему сознательные люди из числа разработчиков не остановили его еще в 2010м? Ведь ясно было что он скурвился, еще когда он пошел работать на гугл. Почему так?
Ебля со строками и их форматированием, бич старых языков, в плюсах до сих пор страдают. Хотя изменений нужно было побольше накопить перед выпуском новой версии. До 3.5 тройка действительно была непонятной хуетой.
>>2448895 Там было довольно много изменений на уровне си-апи, на уровне объектной модели и другого.
Вроде как вычистили питон от болезней детства, но портировать многие библиотеки было сложно.
Но самый большой тупняк сделали по глупости. Во втором питоне юникод строки начинались с префикса u"", а в третьем это был иллигал синтаксис.
Из-за этого даже самый примитив невозможно было писать совместимо, чтобы и на 2, и на 3 работало. Реально пидорасы. Спустя несколько лет добавили в 3 поддержку префикса u"".
Правильно сделали, что перешли, но могли бы сделать сильно умнее, чтобы не так болезнено было.
>>2448956 Причем я бы еще понял если сишник какой-нибудь таким бы занимался по старой памяти, он хотя бы знал бы что и зачем он делает. А тут байтоебство на скриптовом языке, не зная ни синтаксиса языка, ни операторов байтоебства, мам смотри, я прогромироваю.
>>2448968 Обернись это в функцию и воткни return вместо break. Ну или бросай ошибку, но это очень хуевый метод. А зачем тебе блядь, пятикратная вложенность?
>>2448968 >не создавая при этом функций? Вроде бы никак по нормальному не сделать, это тебе не си. 1. Можно сделать переменную выхода, и в каждом цикле на каждой итерации её проверять, но это некрасивый громоздкий код. 2. Может быть можно создать какую-то очередь итераций в виде генератора, после чего обрабатывать её в одном цикле и выходить - но по смыслу это будет выглядеть как функция с return, а читаться (и возможно даже работать) намного хуже. 3. try <тут твой четверной циклы>, raise hueta вместо break, и потом пустой except: ... - написать очень коротко, но работать скорее всего будет не очень эффективно. А может быть и эффективно. Хотя о чём я вообще, если питон в 200 раз по скорости нормальному языку проигрывай и эффективность с питоном нужно очень аккуратно рядом ставить, только в контексте эффективности написания кода.
В вакухе протухшая версия питона (2) + сгнившая версия джанги (1.х нахуй). Обещают, что процессы налажены, никакого маразма, скоро перейдем на современный стек, мамой клянусь.
Сколько у вас ушло времени на то, чтобы начать хорошо понимать основные алгоритмы и структуры данных? Сейчас прохожу книжку Problem Solving with Algorithms and Data Structures using Python и как только прошел стеки и очереди, начал застревать буквально на каждой задачке на долго, а некоторые и вовсе решить не могу, тут просто дело практики и надо продолжать или я тупой?
>>2449302 Если тема для тебя новая, лучше вообще стараться не сравнивать себя с гениями-сыночками маминых подруг и другими задротами олимпиадного программирования. Сравнивай с собой вчерашним - если получается быстрее - заебись, прогресс есть, ты охуенен, плюс мотивация к изучению дальше. В тех же medium-hard задачах на литкоде можно сдаться и сразу полезть в дискашн и скопипастить решение, слегка разобравшись в логике. А можно написать свое кривое, медленное, но прошедшее все тесты решение и почувствовать, что ты что-то можешь. Потом попробовать улучшить алгоритм, что-то переписать, чтобы он работал быстрее. Главное, чтобы ты видел прогресс относительно самого себя. И уже после всего этого можно посмотреть чужой код и сравнить со своим лучшим.
>>2449283 Третий питон очень долго никто не поддерживал, ничего под него не было, даже джанги. Поэтому реально ещё в 2012 активно стартовали проекты на 2.6-2.7.
Версия 1.4 была только для второго питона. В версии 1.5 появилась ЧАСТИЧНАЯ поддержка третьего питона. При том что третий питон уже был доступен в 2010 году.
Аналогичная ситуация и с кучей других фреймворков, пакетов и библиотек.
Реально полноценный переход на 3 где-то в 2014-2015 году состоялся, вот тогда уже все поддержали более-менее.
>>2449421 Период 2009-2014 был для питона "потерянной пятилеткой". Из-за того, что очень косячно организовали миграцию на новую версию.
Чистый питон мало кому нужен, когда никаких пакетов нет. А маинтейнеры не стремились переходить, потому что сложно и потому что другие не переходили.
В результате популярность питона в начале десятых сильно просела. Потому что не хочется стартовать проект на легаси-ветке языка, а на современной невозможно, потому что ничего нет. Это убивает. Вот такая вот засада
Решил эту задачу с созданием калькулятора ИМТ, но не понимаю как написать код если я захочу ввести нереальные данные, к примеру измерить вес 1 килограммового человека с ростом 1.8 метров.
Рост вводится в метрах а вес в кг. Написал if вес > 3 кг А = вес Иначе Б = рост. Получается он примет и рост и вес за А если я введу 1кг.
Как отделять эти данные для расчёта по другому?
А вообще в таких калькуляторах вводятся не метры а сантиметры и тогда данные могут быть вообще одинаковыми, например рост 180 и вес 180.
>>2450133 Тут на самом деле неоднозначный вопрос, какие пары (рост,вес) считать реальными, а какие нет. Допустим, для веса 1кг, какой максимально допустимый рост? Вес 1 кг - это плод месяце на 5-6м или выкидыш на жизнеобеспечении. И какой у него рост будет примерно? Ну скажем в пределах от 30 до 50 см. Окей, для 1кг мы подобрали границу. Но не будем же мы для каждого веса писать условие. И что делать с дробными значениями? Можно ли подобрать какую нибудь линейную зависимость для максимума и минимума роста в зависимости от веса? Или нелинейную? А может быть потребуется система с параметром, чтобы хотя бы приблизительно задать нужнкю область. Короче, ты слишком усложняешь для такого уровня задачи, забей.
>>2450133 ну можно по весу или росту если чел вводит свой рост в ниже 175 то пишешь ему что он карлан и шлешь нахуй так же и с весом, например ставишь диапозон от 60 до 100 если он вводит больше или меньше соответсвтенно пишешь что он инцел все, задача решена
>>2450202 Ну так рассчитай для роста 180 и веса 1, может пользователи твоей библиотеки будут проверять различные гипотезы, у тебя нет требований ограничивать рост и вес в задаче
Почему все программистки на Питоне такие всратые? У меня была тянка кодерка на C# - белокурая валькирия, и таких большинство, кто пишет на си. А вот питотяны все всратые поголовно. С чем это связано?
>>2450299 >программистки Залетухи, раздвинувшие ноги перед кабанчиком, работающие по принципу "Коля, ты же в этом шаришь, помоги пожалуйста закрыть тасочку"
>>2450226 >>2450233 >>2450281 Ну я и дегенерат. Думал что данные только один раз вводятся, и пытался выделить что из этого является ростом а что весом используя while.
>>2450334 А ещё читал пип-8, незыблемое правило четырёх пробелов. Не соблюдать его это просто как в лицо плевать, если не хуже. Сразу "до свидания, спасибо за уделённое время"
По мелочам ещё всякие пробелы вокруг операторов и т.п.
>>2450379 Но ты же понимаешь, что как только питонист видит так отформатированный код, он сразу понимает, что ты залётный, и дальше только ищет, к чему бы ещё придраться.
Cори сча наверное ебаная тупость будет, кто-нить опыт с дискорд ботами имеет? Я хочу, чтобы он в бесконечном цикле слал запрос на сайт, получал с него инфу, и в зависимости от содержания инфы менял никнейм конкретного пользователя. Я сделал запросную часть, я поднял бота И вроде осталось добавить там типа 4 строчки чтобы этот самый ник менять а я не могу понять как сделать нахуй!! Короче вот как вот такой условно код сделать: while true if a > 15: member#228.edit(nickname = govno sobaki) time.sleep(600) пысы я не вкатун поэтому знаю мало, просто балуюсь
Бля, помогите, весь вечер ебусь. Это дрф, я посылаю с фронтенда картинку и координаты как её обрезать чтоб тамбнейл получился. и хочу это сохранить в бд. В модели два имейджфилда, один для самой картинки, второй для тамбнейла. Ну и вот как этот тамбнейл после обработки впердолить в сериализатор? То, что на пике сейчас работает, файл создается как надо обрезанный. А то, что закомментировано не работает кароч, пишет, что типа не ассоциирован файл. Не могу понять, как надо передать его так чтоб он попал в модель как будто из фронтенда я его послал и сохранился там куда надо.
>>2450608 Да никакой, я просто 'thumbnail' указан в fields. Ну и с картинкой также, только 'image'. Метод я использую, если GET запрос, тогда вместо них 'image_url' и 'thumbnail_url', потому что я не понял, как сделать чтоб одно и то же поле и на запись могло рабоать и чтоб абсолютный путь возвращало, когда гет запрос. Ну в общем с оригинальной картинкой все работает.
>>2450608 Ну как я читаю в гугле, вроде вот надо в bytesio сохранить и потом какой-то объект создать, но там этих объектов всяких дохера у джанго, я не понял какой. С File вот чет не работает.
>>2450613 Честно говоря, не особо понятно что ты пытаешься сделать. Зачем ты на бэкенде кропишь изображение? Пуска его фронт обрежет и кинет тебе в json
>>2450615 Потому что на фронте я ебался ещё больше, так и не понял как сделать. Там тысяча сраных библиотек от каких-то китайцев с этими кропперами, которые хуй пойми как работают, половина не устанавливаются даже потому что там в этом сраном жсе какие-то версии фреймворков с разным синтаксисом или хер пойми чем и библиотеки старые не подходят для новых, это вообще пиздец. Я понял как сделать чтоб он координаты обрезки возвращал и ладно.
Ну то есть я раньше делал как-то что он сохранял обрезанное уже, но сейчас я захотел чтоб и оригинальное было и обрезанное. А на фронте я не осиливаю. Там какие-то тоже эти потоки итд.
>>2450606 Ухбля, вот так сработало как надо. Нужно было имя у файла указывать. Только обрезает херово. Ну буду разбираться. Наверное я как-то перепутал координаты.
>>2450625 Только конечно он 2 раза и основной файл сохраняет выходит, потому что save 2 раза вызываю. А как файл из реквеста достать, чтоб в PIL открыть я чет тоже не допер.
>>2450618 > Там тысяча сраных библиотек от каких-то китайцев с этими кропперами, которые хуй пойми как работают, половина не устанавливаются даже потому что там в этом сраном жсе какие-то версии фреймворков с разным синтаксисом или хер пойми чем и библиотеки старые не подходят для новых, это вообще пиздец.
Аноны помогите плиз, слышал что на winXP каким-то образом можно поставить питона3.5 и он даже будет нормально работать. Есть у кого гайд как это сделать?
>>2450936 В 3.5 версии убрали/заменили какие-то функции, которые нужны для работы на хрюше. Так что просто убрать проверки не проканает, надо по ходу какие-то библы подсунуть. Я понимаю что это древнее говно, но очень надо софт на хп запустить.
>>2450956 Нет, я где-то читал, что они тупо зарубают старые версии, чтобы не возиться с их поддержкой, хотя могло бы работать. Но сам питон тоже не стоит на месте, так что что-то может и отвалиться из-за старости платформы.
Есть часть кода, который прослушивает сокет. Если с соединением что-то случилось, он должен вывести сообщение в лог, подождать и повторить подключение. Но в действительности он выводит одно сообщение в лог и всё, цикл обрывается. Где я проебался?
>>2451116 Вряд ли, т.к. я для решение нужной мне задачи в джанге есть только два основных способа - либо Generic модели, либо django-polymorphic. Все остальное - изобретение велосипеда
Аноны, норм ли план вката? Сначала прохожу курс на степике, затем учу алгоритмы и структуры данных, в процессе 50-100 задачек с литкода решить, потом паттерны смотреть самые популярные, ну и про бд почитать дейта желательно + именно по синтаксису sql, затем джангу щупать
>>2451316 Нет. Плана никакого нет. Это всё изучается на практике, а не в теории. В теории ты не сможешь подготовиться. Только пойти хуем и подняться на реальных задачах. Так везде, и ойти не исключение.
>>2451316 Имхо лучше Byte of Python за пару вечеров прочитать и сразу идти писать код. Если ты реально осилишь 100-200 задач на codewars (к примеру), то неплохо закрепишь синтаксис у получишь представление о базовых алгоритмах и структурах данных. Если речь идет о паттернах ООП, то хз зачем тебе это, если ты начинающий, но если супер интересно можешь почитать Ну и сразу после этого хуячь веб на джанге, хотя лучше drf, если конечно не хочешь делать фуллстек проекты на джанговых шаблонизаторах
>>2451410 > Byte of Python Хочется взять за волосы и ебашить об плитку зассаного туалета ебалом. Ну совершенно же бесполезное говно. Если бы ты ещё деньги за это получал, но нет же никаких рефссылок. Зачем советовать это? Или ты сам вкатун, который нихуя не вкатился, но это говно ты понял? Поясни свою мотивацию, пожалуйста, очень интересно.
>>2451417 Ну напишешь ты введите х и у и выведешь сумму, что дальше? Оно не дает никаких знаний дальше этого. Мне всегда казалось, что это какой-то троллинг вкатунов.
>>2451425 Это не полезная книгая для начинающих, это бесполезный кусок говна, который зачем-то спамят регулярно в этом треде и я стремлюсь понять, для чего. Это вкатуны пробуют насрать конкурентам? Расскажи как есть, очень интересно. Если ты реально вкатился, то должен понимать, что это реально хуйня, но зачем-то до сих пор советуешь. Значит не вкатился? Признайся.
>>2451428 Алсо, чтобы читающие не пердели, я рекомендую как первую или the python apprentice и последующие, или introducing python 2 от орайли (дальше пока пробел для интермидиейт(?), дальше fluent python 2 от того же орайли, хотя можно зачесть его как интемидиейт). Также рекомендую начала си по вкусу (у маннинга есть хорошие книги, праты и кочаны нинужны, и тем более к&р) и изучение исходников cpython - есть специальня книга по этому от realpython, есть курс на ютубе по второму, но суть примерно та же. Скриньте этот твит и ставьте в шапку, рассылайте нубам вместо блевотного байт оф питона.
>>2451453 Алсо, ещё вспомнил, есть хорошая книга illustrated guide to python как нубская. Очень хорошая как единичная. Для сириус бизнеса лучше apprentice и дальше.
>>2451462 Нахуй идешь ты со своим клиповым вниманием, даун. >>2451463 k&r это древняя книга с древнии подходами, сейчас так никто не пишет. Для реального опыта нужен базовый юникс и современная книга по си, они есть у маннинга. https://www.manning.com/books/modern-c По классическому и современному юниксу могу тоже посоветовать, если нужно.
Все на самом деле предельно просто, скачиваешь идешку, открываешь, да кодишь себе без задней мысли. Сразу начинай пилить пет-проекты, без них сейчас никуда. Когда напишешь что-то стоящее, так сразу на работу и возьмут. Секретов тут и нет, главное стремись к своей мечте.
>>2451465 Бля чел, у того анона >>2451316 как раз +/- адекватный подход, а ты ему советуешь забить на базовые области знаний из CS и идти сразу что-то """прикладное""" дрочить, так ведь быстрее)))). Пиздец. Иди тикток посмотри, для тебя текст это слишком большая когнитивная нагрузка
>>2451479 >Если ты реально осилишь 100-200 задач на codewars (к примеру), то неплохо закрепишь синтаксис у получишь представление о базовых алгоритмах и структурах данных. >советуешь забить на базовые области знаний из CS
>>2451502 Тут никакого цс нет, дурачок, речь о нубских и мидловских книгах. Но некоторые дауны советуют какие-то байт оф питоны, как нубские книги. А никсы так и самому нубскому нубу знать надо, это база важнее чем сам язык, который только дополнение к ней.
>>2451505 Что там в никсах тебе знать для джуна при том, что индустрия в основном на убунте сидит? Пакетные менеджеры с парочкой команд для грепа логов?
>>2451509 Сразу после твоей маман вертел. Ты бы не огрызался, а слушал старших. Любая хуйня это юникс, кроме дотнета. Юникс знать важнее, чем олгоритмы. Их тоже знать полезно, но их можно загуглить, они универсальны. Полезно читнуть книгу, чтобы знать, что именно гуглить, да.
>>2451453 дядь если челик вкатывается и хочет апишки пилить ему нахуй книжки об устройстве языка твои??? укус питона - курсы на степике - дальше на ютуб или курсы по джанге скачать, пилить пет и искать работу, толмуты твои потом достанет если интересно будет а пока надо вкатиться чтобы практику получать
>>2451507 Доцкеры, ипц, пермишены, вимы базовые(хотя там вроде нано в убунтах, пиздос), крон жопы, сокеты (тут сравнимо с шиндой, да не совсем), ссх с ассиметричным шифрованием, гит (базовый в линуксах), щепотку баша. Это то что я за пять сек вспомнил, ещё куча всего.
>>2451512 >Докер Не относится к знаниям никсов >ICP Чуть чуть да, но ни разу не видел, что бы сейчас вне очередей или каких-нибудь платформонезависимых протоколов работали >Вим Лул, пайчарм использует большинство >Крон Чутка да, но тут опять же, кроме формата нахуй ничего не нужно. >Сокеты Базовых отправки и получения достаточно >Ссх Порт с паролем очень сложно ввести, ага, а больше большинству и не надо >Асимметричное шифрование Не относится к никсам >Гит Не относится к никсам >Баш Похоронить это говно уже давно надо
>>2451515 Всё это родное никсам, что "не относится", то портануто позже. Остальное у тебя глупые отмазы. ссх и ассиметричное шифрование отдеально это признак, что ты нихуя не режешь дупля. Ключики-ключики для авторизации, где они? Или ты привык через путти вводить пароли из шинды? Там есть путтиген и пагаеант, подсказываю. Вот так со всем.
>>2451517 >Всё это родное никсам, что "не относится", то портануто позже. А джуна должно ебать как это говно 10 лет назад запускалось?
>Ключики-ключики для авторизации, где они Это гуглится буквально за одну минуту, а cat ~/.ssh/id_pub делается за 10 секунд, я когда устраивался на первую работу только это об ssh знал.
>>2451518 Да джвнм ничего не ебет, выучил циклы и давайте мне 300к/сек. > Это гуглится буквально за одну минуту Речь не о гуглится, а что ты разделил это в своей ответке, что многое говорит о тебе.
>>2451519 У тебя асимметричное шифрование на никсы что ли завязано? Или может выполнить простую команду и скинуть админу ключ тоже каких-то особых навыков требует?
>>2451523 У меня на никсы завязано ссх с ключами, которое нужно крепкому вкатуну. Ты это поделил на две части, не понимая, о чем речь. И потом вспохватился и за одну минуту загулил (или вспомнил?). Но это было очень симптоматично.
Сап, двач. Есть один 3rd-party пакет с классом SomeClient внутрянка которого сильно завязана на переменные окружения, которые он там-сям в коде читает через os.getenv и os.environ. Обычно инстанс этого класса существует в единственном экземпляре и живет в том же окружении, что и вся аппка в целом. Но у меня возникла потребность создавать несколько экземпляров этого клиента для доступа к другим "базам". Как мне в рамках аппки эмулировать для каждого инстанса свое окружение, чтобы os.getenv в потрохах клиента по одному и тому же ключу читал разные значения? Это возможно вообще?
>>2451507 Нужно более-менее свободно себя чувствовать в консоли линукса.
Уметь ходить по каталогам, удалять-создавать файлы, архивировать, понимать атрибуты файлов и группы доступа (владелец-группа-все), что такое процесс, что их можно как-то мониторить, прибивать и т.п. Ну как пакеты ставить. Перенаправление ввода-вывода.
В принципе вот на таком уровне. Всё, что не знаешь, изучишь.
Начальных админских навыков не надо, девопс навыков не надо. Если об это специально не спрашивают, конечно.
Друзья, научите меня как сделать чтобы при создании поста, создавался тред и ему назначался какой-то номер. Сейчаc у меня там выпадающий список, причем я не знаю почему. Я пытаюсь делать двач на джанго. Спасибо.
>>2452326 Ты дурачок штоле? Номера должны сами присваиваться автоинкрементом в базе, а чтобы запостить в конкретный тред, просто передаешь его номер в хидден поле формы постинга. Если там что-то есть, то это ответ в тред, если нет, то новый тред.
Как на сайте с динамическим контентом построен процесс получения новых данных и занесения их в таблицы? Допустим, MyAnimeList. У каждого аниме есть количество серий, и статус, которые нужно обновлять по определённым датам. И это можно делать двумя способами - либо через GUI вручную, либо настроить какую-то автоматизацию (парсер + cron мб). Как это можно организовать?
>>2452326 Насколько знаю, у всех моделей джанги неявно задан Primary Key со всеми constraint. Если ты хочешь создавать новый объект, тебе нужно у этой модели определить метод creat_thread, к примеру и вызывать его во вью.
Можешь так же указать у модели thread_id = AutoField(primary_key=True), чтобы явно задать первичный ключ
Шарит кто в REST best practices? Имеются: 1) books 2) comics 3) reviews 4) user(author)
На рецензиях Many-to-one с books, comics и user. К какому эндпоинту в таком случае принадлежат reivews?
Вижу два варианта
books/:id/reviews comics/:id/reviews user/id:/reviews - чтобы собирать все reviews, которые написал юзер, этот эндпоинт останется одинаковым в обоих вариантах
Игогда когда код пишу на работе нужно проверить в черновом файле какую-нибудь простую конструкцию на 5 строчек (проверить как язык работает, вспомнить какой метод что делает).
Есть софт чтобы быстро запускать такой питоновский черновик? Сейчас использую онлайн интерпретаторы, но они медленные и неудобные.
Под виндой я бы скорее всего просто создал бы дополнительный портабл лёгкий вскод, чисто под запуск мини скриптов, но под линуксом хуй знает что есть.
>>2453093 А че мешает просто бля с терминала запускать твою хуйню? Или в пайчарме тупа держать черновой файл и его запускать? Чет проблема у тебя типа как открыть дверь не используя ноги и руки.
>>2446437 (OP) Пацаны, вот есть у меня асинхронный шедулер в котором хранятся asyncio.Task, которые спят какое-то время а потом выполняют некий коллбек. Это все существует на серваке в рамках моего тг-бота. Мне порой надо бы зайти на этот сервак и посмотреть какие таски лежат в ивент лупе и их метаинформацию (аргументы). Как это сделать? У celery вот есть свой механизм по контролю тасков, но у селери механика совсем иная, тут же просто корутины в ивент лупе
>>2453302 Тебе надо реализовывать свой механизм по контролю тасков.
В asyncio есть функция all_tasks, которая возвращает все таски, которые сейчас крутятся. Так ты можешь мониторить. Но тебе надо реализовать какой-то дополнительный механизм, чтобы нужная тебе информация о тасках была.
У задачи может быть имя, при создании указывай параметр name.
Ты можешь создать объект-менеджер, куда складывать дополнительную информацию о таске в момент создания.
Вариант, если у тебя эти таски постоянно создаются и прибиваются, это сделать через модуль weakref weakref.WeakKeyDictionary ты создаёшь словарь, где в качестве ключа твой Task, а в значении какой-нибудь объект, где детальная информация о задаче, для мониторинга. Когда задача завершится, из этого словаря автоматически данные удалятся, в этом смысл weakref, очень активно используется.
>>2453334 Да, это ему тоже надо, или вебсервер прикрутить, или вариант отдавать какой-нибудь json при подключении клиента на какой-нибудь сокет
Сервер довольно легко прикрутить, aiohttp, надо только чуть иначе подключать. По-умолчанию предполагается, что у тебя приложение это вебсервер, но его можно запускать как опциональную рядовую таску. Смотреть надо в сторону TCPSite оттдута
>>2453266 Линтеры пишут бараны, которые не понимают в программировании
Смотри, ты же можешь запросто переопределить в каком-нубудь другом модуле функцию print(). И она будет делать другое. Например если ты параметр '1' указываешь, то инициализируется какая-то глобальная переменная. Если параметр '2', а до этого был вызов с параметром '1', то запускается рандом, если рандом что-то пулучил редкое, то генерируется и выбрасывается рандомное исключение.
Прохожу степик, ебать он душный конечно. 100500 неинтересных и бессмысленных задач на перестановку чисел и всякую подобную хуйню. Но я только 10% прошел, надеюсь дальше поинтереснее будет
>>2453481 >Прохожу степик, ебать он душный конечно. 100500 неинтересных и бессмысленных задач на перестановку чисел и всякую подобную хуйню. ХЗ что там на степике этом вашем, все эти задачки нужны для того, чтобы набить руку, чтобы ты свободно писал код
Если ты их легко решаешь, значит тебе нужны задачки посложнее и вообще тебя уже другому учить надо
А есть ли ещё другие бесплатные программы для распознавания рукописного текста наподобие Tesseract, чтоб без гуя и чтоб можно было взаимодействовать через терминал или через питон?
>>2455023 >>2455023 вкатываюсь 2 месяца, пока прохожу степики и дрочу джанго по ютубу, с октября у меня начинается курс в япрактикуме (бесплатно по программе госуслуг попал), пока кидал резюмешку на стажерские вакансии с хх, в половине случаев даже не просматривали, ну или отказ конкуренция походу дикая, на хх по 1.5к откликов на стажерские/джуновские вакансии запилю пет проект, прикреплю к резюмешке, может получше дела будут
Здарова мужики. А вы линуксами пользуетесь или продолжаете сидеть на винде? Все мои знакомые коммерческие программисты - виндузятники, правда все фронтендщики, но один на пыхе пишет. Но мне тут втирают что для бэкенда, а особенно для питона используется только линукс и за винду тут обоссывают ебало. Это правда?
>>2455620 Базовый линупс знать нужно хотя бы потому, что деплоить ты будешь на сервак с линуксом в большинстве случаев. Ну и некоторые библиотеки не имеют версий под винду. Некоторые технологии не имеют нативных решений под винду, типа докера или редиса, но для докера есть всл, а под редис какая-то заплатка для шиндоус. Короче прям сносить у себя на рабочем компе винду не обязательно, но совсем без линукса ты не обойдёшься в любом случае.
подскажи пжл по баблу. для Мск, Спб 100 тыр. на удалёнку это примерн какой уровень и што надо знать? немного подвыпал из пятона, очнулся а вакансий как-т не мноха
У меня есть некая строка Типа 'xxx:???:yyy:!!!:zzz:@@@' где ???, !!!, @@@ могут быть как значениями, так и None. Как мне заменить фрагменты с None на звездочку? Т.е. это то не сложно, но например если ??? и !!! будут None, то звездочка должна быть одна, типа '*:zzz:@@@'
>>2446437 (OP) VS Code - единственная среда разработки, в которой удобно работать из-за запуска кода в нормальной консоли, работать перестала - ругается на русский язык. Пробовал другие, у всех свои всратые консоли. Idle не дает нормально копировать/вставлять текст. Как чинить это??
ну шо вы бетмены
Аноним05/09/22 Пнд 13:44:21№2455808234
>>2455855 >Если ИИ и аналогичное, то там может и не завязки на линукс. Если что-то системное, сетевое, веб, то линукс почти подразумевается.
Ты ошибаешься, лол. С разработкой на жанге и прочих фастапи я вполне виндой обходился. всл только нужен, чтоб докер локально запустить. А вот с нейроночками уже нихуя под винду версий библиотек нет, начинается анально-костыльная клоунада.
>>2456163 Не очень корректное, особенно если это в книге про питон с его GIL. Трактовка многопотока как средства увеличения производительности вводит в заблуждение. Потоки не для этого придумывали. Это их потом для этого стали использовать, когда появились доступные многоядерные процессоры.
>>2455620 Сижу на линуксе, потому что привык давно. Все сервера на линуксе. А так для питона должно быть однохуйственно, если тебе ламповее кодить в винде или на маке никто за это не обоссыт.
>>2456227 Обычно ты кодишь не на чистом питоне, а используешь какие-нибудь библиотеки или сервисы. Там numpy/tensorflow/cv2, подключаешься к раббиту и т.п. Вот тут могут начаться сюрпризы, что нужной библиотеки нет или что хрен поднимашь сервис.
Сам сижу на линуксе очень давно и все эти проблемы не волнуют.
>>2456226 Ну так я написал что для тех кто совсем не шарит. Может человек вообще никогда не задумывался что в процессоре несколько ядер. Поэтому дано короткое объяснение чтобы было понятно о чем вообще речь. После можно уже давать корректные определения и обсуждать детали.
>>2456198 А в коллабе винда по-твоему что ли? Я-то как раз и делаю в блокнотах, но не в коллабе, там же оплату отключили, а в яндекс датасфере. Но если тебе потом деплоить хуйню эту, то желательно на локале придётся тестировать.
>>2456226 А для чего? Спрашиваю для подъеба. Ну потоки чтобы прям потоки в одном приложении, т.е. pthread и вся хуйня, мультизадачность на уровне ОС то понятно зачем. Чтобы был свой поток для гуя? Какие-нибудь подключения у сервера асинхронные (и в целом асинхронный IO)?
>>2456306 >Чтобы был свой поток для гуя? Например вот здесь, на гуе потоки становятся нужны. Или при работе с сетью, когда тебе надо несколько подключений обслуживать одновременно.
То есть главная задача, это чтобы избегать блокировок и чтобы несколько частей приложения могли работать одновременно, то есть приложение многозадачное было.
Для этого потоки и придумывали, причём ещё тогда, когда многоядерные и многопроцессорные машины были диковинкой.
А уж увеличение производительности это приятный побочный эффект. Правда не для питона.
>>2455625 >>2455627 >>2455855 >>2456190 >>2456227 Спасибо, мужики. Я линуксом пользуюсь довольно давно, думал винду накатить, посмотреть хоть на wsl этот хваленый. Но раз такое дело, то ну ее нахер, буду дальше на линухе сидеть
Сап. Есть одно исключение, которое хочу обработать, только не могу понять, какое. Как определить, какое исключение вылезает? Traceback (most recent call last): File "F:/Users/юзернейм/AppData/Local/Programs/Python/Python310/ччч.py", line 55, in <module> readcords(board, user) File "F:/Users/юзернейм/AppData/Local/Programs/Python/Python310/ччч.py", line 9, in readcords x=chorddict[start[0]] KeyError: 'с'
>>2456258 зашел посмотреть тарифы в датасферу: >Nvidia T4 >самый дешевый тариф 90к в месяц >Nvidia Tesla v100 >самый дешевый тариф 850к в месяц >цена на алике - 800к за видеокарту
>колаб pro P100 - 800 рублей спасибо ебать, охуенно импортозаместили
кастую Шнобеля в этот тред
Аноним06/09/22 Втр 09:08:05№2456519263
что максимальное количество потоков в питоне равно количеству ядер, и что скачивать 50 файлов одновременно не получится даже на последнем Ryzen т.к. у него всего 32 логических ядра.
>>2456281 Лол, ну человек спрашивает, нужен ли ему линупс, а ты говоришь можно виндой обойтись, потому что коллаб. Ну раз коллаб, можно и телефоном на анроиде обойтись, хуле. Алсо, учитывая что в коллабе линукс, базовые команды типа перемещения по директориям тебе всё равно знать надо.
>>2456479 Я помесячные вдски не смотрел, там у них реально дороже выходит, пользовался только блокнотом, ушло ~4к за 8 часов обучения модельки. То есть в итоге 1к заплатил, учитывая что при реге грант на 3к дают. Хз дорого это или нет, ведь альтернатив нет лел, коллаб же сдох (хотя у кого-то может зарубежная карточка есть).
Вот есть база питона у меня, дальше для быстрого вката JS и фронт учить? Просто из альтернатив связанных с питоном вижу ml и data science,но там наверняка не будет быстрого вката и педпочтение
>>2456519 Чел, ну ты чего? В скрине про пул тредов и про про то, какой будет дефолтный параметр, который выставлен исходя из обычных сценариев использования.
Ты можешь хоть 1000 тредов запусть, в том числе в тредпуле.
Скачивание данных это операция ядра, она не завязана на GIL, поэтому ты получишь большой буст даже на тредах в питоне. GIL мешает, когда у тебя чисто питоновские вычисления идут.Работа с сетью не завязана на ядро процессора, ничто не мешает держать потоков больше, чем количество ядер.
>>2456479 >Nvidia Tesla v100 >самый дешевый тариф 850к в месяц >цена на алике - 800к за видеокарту Теперь я охуел. В чём прикол этой карт, на фоне обычных карт?
>>2456811 Работа с сетью на низком уровне идёт в ядре. Где-то там обрабатываются входящие пакеты и складываются данные в буферы. Ты просто делаешь системные вызовы.
>>2456820 Вот я только память вижу. У меня 4гб, у них 16, если надо больше 4, что это уже критично. Для ML это вообще критично, реально столько памяти используется?
Вычислительные бенчи какой-то сверх разницы не показывают, чтобы платить такие деньги
>>2456820 А карта nvidia 3090ti по всем параметрам обходит эту теслу, в том числе по оперативке, в cuda бенчмарках первая в списке, +20% к тесле 100, а продаётся у нас за 140 тр., это вместе с налогом на СВО
Так вышло, что меня вышвырнуло за борт во время реорганизации. Ну, думаю, хватит в одминах сидеть, зря что ли парсерочки пописывал всякие, пора вкатываться в тему. Пошел на ХХ и прихуел, там не так уж и много вакансий с опытом от года, и везде к питону+ооп+sql требуют еще немножечко знать. Ананасы, а как вообще вкатываются то блять нынче в питона?? Мне аж хуёво становится, когда открываю вакансию на ссаные 70 тыщ, а там написано: Дружный коллектив, печеньки, просто ты должен уметь PostgreSQL, Redis, AWS, Django, Flask, FastAPI, Docker, Kubernetes, Celery, Pandas, Numpy, scipy, Matplotlib, LightGbm, aiogram, aiohttp, SQLAlchemy, pymysql, json, Tensorflow, OpenCV, Postman, Devtools, Tessa, Jira, DevTools, Postman, Fiddler, Kafka, Robot Framework/Pytest, Jenkins/GitlabCI/TeamCity, Selenium, RabbitMQ, ClickHouse, Docker, K8s, fastapi, celery, rabbitmq, orm (sqlalchemy,alembic/djangoorm), asyncio, unittests (postgresql/mongodb), redis
(без опыта вообще какие то ебанутые требования на самом деле)
>>2455023 Выше написал. Потом тебя прочитал. А чего ты ждал, типа джунам стали более рады? Нихуя подобного. Более того, по ходу вкатиться стало сложнее, чем три года назад (когда я пробовал в последний раз перед тем, как на обычную сисадминскую хуйню устроиться)
>>2456857 Хуя ты прямолинеен. Эта метафора подразумевает, что спрашивают везде разную хуйню, на каждую сука позицию свою, а что бы кидать отклики на все вакансии, надо знать всю эту ёбаную портянку. Я некоторых словей и неслыхивал никогда
>>2456870 >смесь из совершенно разных стеков Анонче, а можете подбить несколько самых частых и востребованных стеков, что бы я по ютубчику зазубрил в тему пару слов хоть, а то ну пиздец, я открываю вакансию и везде половина - знакомые, а половина - незнакомые слова. При чем незнакомые всё время у всех разные.
>>2456873 А прикинь, сколько всего надо знать, чтобы кидать отклики на все вакансии "программиста"? Тебе сразу и JS, и C#/C++/Java/1C/PHP добавлюяются, с каждым из которых десяток базвордов
>>2456862 >они пишут про максимально прокаченного пчелика На самом деле ты меня воодушевил сейчас немножко, спасибо, анон. Буду просто нахрапом ездить и всё. На 10 собесе экзаменующий зазевается всё равно.
Продскажите лучший фреймворк для изучения вкатуну в бекенд
Познакомился с основами синтаксиса, прочитал все тома Лутцашучу, я же не совсем конченный душнила, разузнал об ООП, нарешал задачек в пинтюторе и степике, теперь 3 стула имею перед собой - django, flask и fastapi, подскажите какой фреймворк более терпим к новеньким ньюфагам и ресурсы для изучения соответствубщеего
>>2457098 Да оба несложные для обучения, там разница в подходах, в джанге всё из коробки, в фастапи всё костылить самому (ctrl-c ctrl-v из доки или гайдов). Фастапи и фласк это одно и тоже практически.
>>2457102 >Да оба несложные для обучения >Джанга Она не сложная, если сделать что-то не больше бложека. Там только с особенностями ОРМ для составления нормальных запросов нужно разбираться как со всем фастапи.
>>2457154 Ormar, Tortoise Но вообще, орм зло, лучше просто запросы ебошить обернув методами и конвертируя в нужную модель для внутреннего представления.
>>2457163 Спасибо, интересные варианты, про ormar вообще никогда раньше не слышал, по описанию похоже что годное решение.
Интересно что-то такое, что бы дружило с FastAPI, поддерживало все три основные базы, похоже на правду
>Но вообще, орм зло, лучше просто запросы ебошить обернув методами К сожалению дикое количество тупой рутины получается, приходит к тому, что ты начинаешь изобретать свою собственную маленькую ORM. Особенно когда тебе надо делать массу join запросов. Вот это раздражает.
А в остальном может и зло. Я когда этим больше занимался плевался от этой джанги, делаешь очевидный запрос, а под капотом оказывается, что там сотри запросов к базе вместо пары очевидных. И это почти норма. Там конечно есть способы лечения, но всё равно выносит.
>>2457450 У лутца есть две проблемы это вода и не совсем свежая версия питона на данный момент. Как фундаментальное пособие по языку для начинающих это хорошая вещь.
>>2457558 >не совсем свежая версия питона на данный момент чет ты преуменьшаешь обосрамс, там все еще учат что словари - это не упорядоченная коллекция
>>2457558 >Как фундаментальное пособие по языку для начинающих Возможно для начинающих программирование, но не для начинающих язык с опытом программирования
В сисадминстве порой на собесе могут спросить и модель OSI и каждый из 7 уровней подробно, ноть на деле ты просто ковыряешься в носу, гоняешь в дотку и баб зине мышку подключаешь под столом. Как обстоят дела на собесах по питон-бэку? Ничего, если я честно скажу по структурам, что тупо ебашу везде спискит, а вот если жопа загорится, тогда перерефакториваю на кортежы, где необходимо или "БЛЯТЬ СТРОГА НАХУЙ!"?
есть список из множеств допустим x = [{0, 1}, {0, 1, 2}, {2, 3}, {3, 4, 5, 6}, {1, 2}, {3, 4}] Почему x.sort() (Параметры сортировки дополнительно не указываются, вопрос чисто для понимания работы) выдаёт список в первозданном виде. Никаких ошибок нет, то есть это вроде как-то работает, но на экран интерпретатор выводит список в том же виде, который и был.
Если указать ключ (k=len), то спокойно сортирует по длине.
Я Python Junior разработчик, у меня год коммерческого опыта, плюс опыт фриланса и т.д.
Мой стек:
Python,Docker,K8s,PostgreSQL,FastAPI ну и миллиард других технологий связанных с питоном, в целом могу выучить все что надо, тот-же sqlalchemy/alembic и т.д, все это использовалось
Проблема в том, что я с Украины и с начала войны у нас стало 0 вакансий на джуна, я 3 месяца пытался найти работу, ничего не нашел, сейчас сижу на шеё у девушки, думаю уже идти разнорабочим.
Что бы вы посоветовали, возможно ли найти работу на западе с английским intermediate, или можно ли попробовать соврать в резюме и сказать что у меня 3 года опыта работы и я чуть ли блять не сеньйор?) Как думаете, такое прокатит?
Прямо от разработчика сортировки ответ нагуглил, если коротко, то питон пытается сравнить пары сетов друг с другом методом __lt__, который для сетов переопределен и показывает является ли один сет сабсетом другого, в итоге хуйня получается.
вот освоил я джанго, фастап, даже пет проекты запилил, на гит запушил, резюме все по гайдам нарисовал, а вакансий нет лол, хх предлагает вакансии преподавателя в онлайн курсы пиздец
>>2458137 поздравляю - всего за пару месяцев ты получил ценный урок "не ведись на хайп" теперь можешь смело удалять аккаунт на гитхабе и забывать джанго-хуянго, и идти искать нормальную работу.
>>2446437 (OP) Возникло желание создать кучу объектов и/или переменных с именами по типу имя1, имя2, имя3 и т.д. Как реализовать это с помощью цикла? Никогда об этом не задумывался. Могу, конечно, вручную набрать, но это же говнокод.
Люди добрые, подскажите как настроить подключение через прокси с аунтефикацией в селениуме В гугле есть вариант с установкой selenium-wire, но она чето не ставится на мою виртуалку с дебианом
Какой положняк по ИДЕшкам? Сейчас пользую винг101, некоторая подсветка сбивает с толку при выделении, сливаясь с ним. В остальном пока похуй. AQA вкатун из прошлых тредов
>>2458633 мимо-анон многоязычник Объективно это слабая сторона питона, из-за такого подхода область видимости переменных только вся функция, когда почти во всех других языках возможна область видимости "блок". И не понятно, как это можно пофиксить, чтобы не потерять совместимость.
>>2458682 У джанги не-коробочные решения нужно впиливать с болью в жопе. К тому же, для большинства случаев достаточно вебморды для других сервисов, с этим фастапи справляется куда лучше если написать нормальное асинхронное RPC.
Аноны, препод в вузе задал набрать 1000 очков на сайте checkio. Встал вопрос: им не получится выебываться на собесах как литкодом? Об этом сайте вообще слышал кто-то? я нет
>>2458761 Литкодом ты тоже не повыебываешься, там буквально решения в паре кликов лежит. Если вайтборд будут спрашивать то свое что-то дадут. В целом литкод помогает прокачать алгоритмы, но не является чем-то крутым само по себе.
>>2458761 Потыкал без регистрации, просто прикольная игрушка, аналог литкода. Вряд ли это может быть убедительным. Может быть умелительным.
Анон >>2458766 почти прав. На собесе статистика литкода не будет убедительной, если ты только на собесе не покажешь, что спокойно задачи оттуда решаешь. Гипотетически может сработать, если ты напишешь, что любил задачки на алгоритмы и приведёшь статистику с литкода, где много хард задач, и медиумов вообще много. Там если будут другие любители задач, это привлечёт внимание. Но боюсь это надо харды решать. Хвастаться изи-медиумами как-то несерьёзно.
Поясните какого хера все так накинулись на fastapi? Это ж кал для смузихлёбов.Как можно писать на фреймворке, в коммитах которого разработчики используют эмодзи. Это ж как cебя надо неуважать. Любая уважающая себя контора берёт aiohttp. Фрейморк, главным кор-разрабом которого является человек, который написал бОльшую часть питоновского asyncio. Fastapi - для лохов, aiohttp - выбор мастеров
>>2458816 >Любая уважающая себя контора берёт aiohttp. Фрейморк, главным кор-разрабом которого является человек, который рождён в СССР. Для белого господина это хуже, чем даже если в Индии, тех хотя бы англичане долго воспитывали
У нас в постсовке он более-менее популярен и известен. Такое ощущение, что в англоязычной среде даже Sanic знают лучше
Потом, FastAPI позиционируется именно как API-инструмент, для бекенда. Там вот вся эта привязка к pydantic и всё такое. AioHTTP смотрится как инструмент для создания вебморд для асинхронных приложений, в этом плане он удобен. Его можно запускать как рядовую задачу, нет никакой завязки на ASGI и сторонний софт. Мне в таком плане он нужен. Но это не массовое применение и поддержки инструментов для API там фактически то и нет, всё самому надо делать.
Сообщества не хватает, чтобы допиливать и прикручивать нужные фичи.
Нужно ли писать именно асинхронные бэкенды на питоне? Просто в том же джанго нет асинхронности из коробки но есть обертка sync_to_async и всякие расширения для асинхронности ORM, и вообще мне кажется что в последующих версиях добавят поддержку асинхронности. Асинхронность прямо таки бескомпромиссно улучшает перфоманс по операция ввода\вывода?
>>2459197 Хрюши в первую очередь смотрят на стек и опыт. Собеседующий может оценить это только если ты до него дойдешь и все равно даст тебе вайтборд, если хочет.
>>2459195 Джанго это фреймворк для крудов, работающих на архитектуре запрос-ответ, по REST и всё такое.
Там в коробке синхронная ОРМ, с которой всё равно надо пердолить, чтобы оптимально работала. Там в коробке джанго-шаблоны, которые надо сразу же менять на jinja2.
Если ты не круд пилишь, а что-то другое, может возникнуть история, что ты тупо функционал от джанги не используешь, а прикручиваешь другое. Но имеешь ограничения.
>Асинхронность прямо таки бескомпромиссно улучшает перфоманс по операция ввода\вывода? Скорее нет, чем да. Синхронные более-менее масштабируются количество инстансов. Но синхронные ориентированы на задачи запрос-ответ. Если тебе надо сеансы держать, вебсокеты например, для это уже не их задача и тебе надо асинхронное делать.
>>2459220 >Синхронные более-менее масштабируются количество инстансов Зависит исключетельно от того как ты запросы отбрабатываешь. Способов для масштабирования асинхронных сервисов уйма.
>>2459220 Ну насчет вебсокетов согласен, тут спорить не о чем. Но по факту в джанго модели в текущих версиях добавляют обертки асинхронности в ORМ. Получается в случае асинхронных запросов к БД через ORM мы получаем возможность поставить множество запросов в базу на выполнение в event loop на уровне всего приложения?
А в чем прикол? Это же как очередь на сервера в WOW в день релиза аддона - на серваки как правило очередь и зайдет раньше всех тот, кто первый пришел (FIFO). А если бы игроков подключало асинхронно, то первым мог бы войти седьмой, а вторым десятый и тд, потому что у них запрос на сервак тупа быстрее обработался. Так или не так?
Работаю с ЧУЖИМ кодом. Отвечают вяло, я сам довольно таки ньюкек. Есть софтина, которая делает некий код. Не важно, что она там делает, не суть. Суть в том, что отрабатывали её на малых объёмах данных (десятки), а мне надо переделать так, чтоб она работала с сотнями образцов так скажем. Данные перерабатываются, из них делаются комбинации, их оче много. Сразу закину модуль, который, как мне кажется, проблемный. https://pastebin.com/2n7q2DB3
Беглый анализ показывает, что строка >return '%.2f%s' % (num, ['', 'K', 'M', 'B', 'T', 'Qd', 'Qt', 'S', 'Qd', 'Qt', 'S', 'Oc', 'Non', 'Dec'][magnitude]) Отвечает за используемые приставки-множители результатов, то есть похоже, от этой строки и зависит, сколько вариантов результатов можно иметь. Девчонка, которая это писала, говорит типа добавь множители ещё. Я не очень понимаю, чего она предлагает сделать. То есть получается после 'S' добавить триллион? Как оно писаться то будет?
>>2459377 >>2459372 >>2459363 Спасибо. Менять уже код не хочу, не могу и не стоит задачи. Так что уже оставлю, как она написала. >>2459365 А хрен его знает, может быть вполне.
>>2459407 Сначала понять почему не работает, какое конкретно значение приходит, какого порядка, а потом добавить в список нужные аббревиатуры с запасом небольшим.
>>2459411 > а потом добавить в список нужные аббревиатуры с запасом небольшим. Собственно я и хочу понять, чего там добавить, лучше даже с большим запасом уже.
>>2459455 Хотя нет, нихуя я не сделаю, хватит свое говно писать. Вот есть у меня класс продукт, от него наследуются яблоки и апельсины. Но мы не продаем, а ПОКУПАЕМ. Яблок максимум 10, апельсинов 15. Если что-то вышло за рамки, должно стать 10 либо 15. Классов таких может быть тыщу и для всех ифами прописывать не вариант.
>>2459467 Если клаудвафля норм настроена, ее вообще ничего не пробивает, даже хромиум который в бурп встроен. Очевидно есть способы, но если ты это спрашиваешь на дваче, то не только не получишь ответ, но он тебе и не нужен.
Объясните как обойти эту ъеровину У меня запросы в sqllite через полнотекстовый поиск, но сука он каждый раз на знаки препинания ругается разные. Че за хуйня?
>>2459413 блять во-первых выкинь этот индусский код нахуй. Какого хуя он иногда возвращает инт, а иногда стринг? Где тайп хинты нахуй?
во-вторых если прямо так сильно хочется иметь лист с сокращениями, а не как аноны выше предлагали, то вынеси лист из функции в глобальную переменную (ЗАГЛАВНЫМИ_БУКВАМИ_СУКА)
в-третьих очевидно что ошибка из-за того, что число может быть слишком большим и не влезает в диапазон, на который расчитан лист сокращений. Этот случай тоже надо как-то обработать.
в-четвертых используй сука f-strings, а не это ваще говно мамонта с процентами
в-пятых почему первая проверка идет с учетом знака, а следующие по модулю? Типа если там на входе -100005000, то похуй, выводим как есть?
Эта переменная у меня содержит фразу "(is not facet-valid...)" и судя по скрину, ругается на точку блять. Но там же всё в ковычках, че ему не нравится я не знаю.
>>2459725 Я разобрался Установил на винду selenium-wire и прокси заработала Вот настройки proxy_options = { "proxy": { "http": f'{type}://{login}:{password}@{proxy_adr}' } } type это тип прокси - хттп, сокс
Подскажите теперь пожалуйста, как зайти на сайт одной конторы с помощью селениума? Почему то не пускает именно через бота. Видимо понимает что это бот Я гуглю, ниче не получается Помогите советом плс
>>2459480 Но тут в другом же дело, sql принимает за разделитель знаки препинания. Вот как это обойти? Нашел параметр,который указывается при создании таблицы -'tokenchars', но он тож не робит
>>2459474 > блять во-первых выкинь этот индусский код нахуй. Лучше у меня ничего нет.
> Где тайп хинты нахуй? Не забудь, что эта тня получает больше меня. Надо было на кодера учиться.
> в-третьих очевидно что ошибка из-за того, что число может быть слишком большим и не влезает в диапазон, Да, и я это хочу исправить! > в-пятых почему первая проверка идет с учетом знака, а следующие по модулю? Типа если там на входе -100005000, то похуй, выводим как есть? Значения заведомо положительные.
Вообще на данный момент я это напердолил в связке сеттера и >>2459460 Добавил поле макс, которое приравнивается к полю эмаунт при вызове конструктора. Потом в функции вызываю сеттер, который при большем значении чем надо приравнивает к этому максу. Но чет есть ощущение, что есть более элегантные методы.
>>2460098 Может тебе надо сначала как-то ТЗ внятно описать?
Если тебе надо создавать 100500 классов с разными параметрами, то надо описывать какой-то родительский класс, а дочерние конфигурировать параметрами. Или пилить фабрику классов. Разные подходы есть.
На конечном этапе у тебя только два варианта. Или делать сеттер, или переопределять __setattr__ для класса, что примерно тоже самое по смыслу, но больше гибкости. Но setattr будет перехватывать доступ для всех свойств, что может быть перебор.
>>2460126 Ну в целом я получается так и сделал уже. Есть родительский, сеттеры определяют значение в каждом наследованном. Ну ладно, работает и хуй с ним.
>>2446437 (OP) Прогеры, отцы, нужна помощь/ Создаю экземпляр класса, ряд свойств ему задаю в init из заранее сгенерированного словаря выглядит примерно так https://pastebin.com/YMWwr9p3
Смысл в том, что ряд свойств может отсутствовать в этом словаре, и при отсутствии весь __init__ не выполняется Еть вариант каждое свойство заворачивать в try except, но это выглядит громоздко Подскажите, плиз, более лаконичный способ?
Знаю, что в getattr есть default_value, только вот в setattr такого нет. Неужели придется самому писать?
>>2459841 У меня прокся такая, которая с каждым новым подключением меняет айпи У меня так это будет решаться в теории Я сам до мультипроцессинга не дошел Изучаю программирование в прямом эфире, решая насущные задачи
>>2459992 >Лучше у меня ничего нет. Так исправь, чтобы стало лучше. Возвращать разные типы в простой функции, название которой никак не намекает на такую возможность - это позорище.
>Не забудь, что эта тня получает больше меня. Какая разница, сколько она получает, если ее код - говно? И у тебя есть возможность сделать его менее говеным
>Да, и я это хочу исправить! Так я тебе говорю: если хочешь делать так, то надо как-то обрабатывать случай, когда magnitude получается больше, чем позволяет список. Иначе ошибка рано или поздно вылезет снова.
>Значения заведомо положительные. Тогда abs(num) на 6-ой строке не имеет смысла. А вообще, где проверка, что число поданное на вход будет положительным? Вот что-то мне подсказывает, что там не просто так стоит abs - без него, отрицательные числа будут уходить в инфинит луп (и снова привет говнокодерше которая не придумала ничего лучше, чем цикл while).
>>2460423 >Что ты хочешь на выходе иметь? Хочу, чтобы при отсутствии целевых интерфейсов в словаре __init__ не выдавал ошибок, при этом хочу, чтобы атрибуты задавались (получали дефолтное значение), также хочу, чтобы это было лаконично. >Ты можешь делать data.get('prop_eight', default_value), например Элегантно, гениально, охуенно. Спасибо! > То, что ниже в посте про ChainMap Если честно, соду крутость не понял, вообще ничего не понял, но я тупой, это норма. Почитаю на досуге. Спасибо!
>>2460433 Возможно, я не понимаю крутости того, что ты мне предлагаешь, но мне нужно обрабатывать их по одному, т.к. в зависимости от пришедшего результата возможно изменение хода программы
>>2460463 >Если честно, соду крутость не понял, вообще ничего не понял, но я тупой, это норма. ChainMap это объединение нескольких словарей.
Допустим тебе нужно какое-то значение. Если оно есть в верхнем словаре, то берёшь это значение. Иначе берёшь значение из словаря ниже. При этом когда записываешь значение в такой словарь, меняется верхнее значение.
Это распространённый паттерн, например тебе надо работать с конфигами У тебя всегда есть значения по-умолчанию. Вот их ты хранишь в нижнем словаре. Но какие-то значения ты можешь переопределять в конфиг-файле, их записываешь в словарь уровнем выше.
Кто знает почему на курсере перестал быть доступным аудит (простое прослушивание курса без выполнения заданий)? Ещё пару недель назад всё было хорошо, а сейчас курсы от Гугла нельзя изучать
The result is really stunning! Keeping at this pace, Python 3.14 will be faster than C++. To be exact, the loop time will be -0.232 seconds, so it will be done just before you want to do the calculation. There appears to be a hole in time-space continuum but these calculations are rock solid. Therefore, I think we might have to question the work of Einstein and friends.
В питоне всё объект, в том числе обычные целые числа. В си они приводятся к единичным процессорным инструкциям, которые исполняются за один такт. В питоне же ты работаешь с объектом. Сначала ты лезешь в само объект, определяешь его тип, потом берёшь его значение, потом создаёшь новый объект, потом удаляешь старый или просто уменьшаешь счётчик ссылок на него.
Отсюда просаживание производительности в десятки раз.
>>2460708 Может быть, но зачем? Питон изначально проектировался как язык из которого удобно дергать всякие сишные либы. И числодробильня на питоне таким образом пишется стандартно и без тормозов.
Если хочется язык типа питона с быстрой JIT-компиляцией лучше сразу взять Julia мне кажется.
Протестировал на python3.10, pypy и g++, clang++ Другие версии питона не тестировал, они только под докером на этой машине.
Между pypy 3.8 и pypy 3.9 разницы нет, между gcc и clang тоже, ключи оптимизации как-то не влияют.
брал значения как автор, n_points 10_000_000, n_repeats 10
В оригинальной версии питон кода получается, что CPython3.10: Estimating pi took 6.7839 seconds per run плюс-минус
pypy: Estimating pi took 0.6611 seconds per run
c++: Each loop took on average 0.25783 seconds to calculate
Но на самом деле питон-код не соответствует коду на си. У него там ад какой-то: x, y = (random.uniform(-1, 1) for v in range(2)) Вот нахрен это выебонство? Почему не сделать x = random.uniform(-1, 1) y = random.uniform(-1, 1)
запускаю второй вариант, он соответствует си, без лишних операций создания-раскрутки кортежей
Получаем после запуска cpython 3.10: stimating pi took 4.1485 seconds per run pypy: Estimating pi took 0.3186 seconds per run
довольно серьёзное ускорение, просто если не делать лишнее, не соответствующее коду на си.
При этом вариант pypy лишь незначительно уступает коду на Си.
Конечно тут не совсем корректно сравнивать платформы, надо понимать, в чём разница между реализациями random в разных вариантах, скорее всего они не эквивалентны.
>>2460797 лол, а если использовать вместо random.uniform(-1,1) использовать просто random.random() что тоже будет точно соответствовать коду на си, то результат вообще: CPython 3.10: Estimating pi took 1.8586 seconds per run. pypy: Estimating pi took 0.2856 seconds per run. g++ -O2: Each loop took on average 0.24853 seconds to calculate.
По-моему он специально так код написал на питоне, чтобы получить огромную разницу и красивые графики.
Иначе получается, что базовый питон всего в 7 раз проигрывает си на численных операциях. Как-то не впечатляет.
На самом деле конечно сильно проигрывает, просто здесь random() время потребляет основное
>>2460797 Тупейшая задача на самом деле. Вот допустим оказывается что на платформе Х в питоне 3.17 экспериментально найденное значение пи равно 3.45, и что дальше?
>>2460544 >Нет, с беком в целом сложно фрилансить Но ведь пыхеры постоянно пишут разного рода говносайты на фриласне, вроде как. А всяких там парсеров, тг ботов или обработки данных тоже больше нет?
>>2460698 >The result is really stunning! Keeping at this pace, Python 3.14 will be faster than C++. To be exact, the loop time will be -0.232 seconds, so it will be done just before you want to do the calculation. There appears to be a hole in time-space continuum but these calculations are rock solid. Therefore, I think we might have to question the work of Einstein and friends. Ебало автора представили?
Кстати, если бы в нашей физике существовали временные петли, то можно было бы реализовать сверхтьюринговские вычисления.
>>2460162 >Дали прямой ответ на то, что я не просил? >Гений, я просто тестил разные варианты и мне так удобнее, понятно >всё про эту уязвимость, в моем случае шансов 0 на её реализацию. >Ну и конечно,скинуть ссылку на документацию - ебать помошник.
Сан, анчоусы. Хочу сделать пару приложух на андроид уровня калькулятора, так же хочу некие скрипты, или хуй знает как называется, на винду типа выключить комп через 60мин ярлыком, два раза кликнул и время пошло. Еще хочу скринсейвер сделать на винду. И все такое по мелочи. Я правильно понимаю, что питухон весьма универсален и это все можно сделать на нем? Вкатывался в курсы всякие, но мне не нравится решение задач ради решения, с этим особых проблем нет, но как то ебалово, как математика без прикладных задач. Что мне надо поставить\настроить, чтобы создавать типа программ которые хотя бы будут мне в окошке в винде показывать результаты?
>>2460957 Чтобы просто окошки рисовать должно быть достаточно Tkinter который идет в стандартной библиотеке. Не супер сложно, но его надо отдельно учить. Чтобы управлять виндой, надо учить какие системные API у винды и как к ним привязаться из питона. Чтобы писать под андроид по-хорошему надо брать яву или котлин. Наверное можно через какую-то прослойку и на питоне писать, но получишь дополнительных граблей и API андроида опять-таки придется учить.
>>2460957 > правильно понимаю, что питухон весьма универсален и это все можно сделать на нем? Да и нет.
Питон универсален, сделать можно всё, но не всё делать просто. Некоторые вещи делать больно.
Мобильные приложения, графические приложения можно делать на питоне, но сложно, питон для этого не предназначен. И это не маинстрим.
Если ты видишь себя как разработчик софта для мобилок (перспективно), либо как разработчик десктоп (устарело), то смотри на другие платформы. Если же хочется писать именно на питоне, то варианты есть делать это и на питоне.
>>2460899 Корректный вариант даже проще, чем тот, которым ты пользуешься. Отучаться от неправильных способов надо сразу.
Возможно для решения твоей проблемы надо оборачивать параметры в кавычки, чтобы SQL не пытался их интерпретировать как управляющие символы. Корректно экранировать муторно, а если ты будешь работать как надо, за тебя всё сделают.
>>2446437 (OP) Знатоки pytest, поясните как бысть с фикстурами которые подгружают данные в таблицы?
Для тестов создается отдельная таблица, но ведь ее надо заполнить данными чтоб все работало, верно? Для этого есть csv-файлы с фикстурами (в данном случае у слова иное значение). На каждом тесте мы подгружаем все эти фикстуры а в конце теста делаем truncate по всем таблицам. НО: данных много и из-за этого тесты выполняются по несколько минут в гитлабовском пайплайне. Надо бы подгружать не все данные по всем таблицам а только нужные нам на каждом тесте. Запилил фигню вроде этой, теперь у нас по 1 фикстуре на каждую таблицу, но выглядит как-то убого да и будет много дублирования кода, в этих 3 строчкам будет менять только название таблицы. Шо делать? Как такие проблемы в pytest обычно решают?
>>2460899 >Дали прямой ответ на то, что я не просил Дали прямой ответ именно на то, что просил. Твой вопрос и уязвимость - проблема одной и той же природы.
Чел, зачем ты вообще тогда задаешь вопросы, если с околонулевым пониманием предмета (что нормально, для этого и спрашивают обычно), ты сразу, даже не попробовав решение, начинаешь с ним спорить? Что это, как не необучаемость?
>>2461411 Ты не читал литературу по тестированию, но подаёшься на тестера и хочешь, чтобы мы за тебя решали тестовое задание. Молодец. Плюс тебе за софтскиллы вместо хардскиллов.
>>2461417 Да, понимаю, а что проверять то в стр и в сете? Простое ебануть рандомную строку и сет и проверить их на что-то типа нот нул, есть ли там цифры или буквы итд?
>>2461455 Контекст такой, подразумевается что ты знаешь pytest/unittest или нет? Видимо нет, без фреймворков.
Просто когда параметры, тогда вопрос тестовой инфраструктуры, как технически параметры передаются и проверяются.
Смысл же в том, что у тебя может быть какой-то сложный тест. Но ты хочешь протестировать его с разными аргументами, когда тест остаётся прежним.
Например, у тебя тест на чётность, как у них в примере. Нет смысла плодить слишком много параметров, например 402, 404, 406, сложно представить, что один работает, другой падает.
Но ты обязан протестировать особые случаи, значения вроде нуля, положительные и отрицательные числа.
Или функция определения простых чисел. Там сложные случаи, когда может падать функция, это значения 1, 2, числа вида 2p (удвоенное простое число), p^2. Ты, как тестер, должен предусмотреть, на чём реальный риск свалиться из-за косячной реализации алгоритма.
Или вариант со строками, надо тестировать варианты с пустыми строками, юникод и т.п.
>>2461420 И что? Я когда попал в команду, где были тонны легаси говна и писать без тдд было просто нельзя, то я тоже охуевал от написания тестов и что нужно тестировать. По итогу читал какую-то говнокнигу бесплатную по тестам и такой мути я давно не видел. Толмуд похлеще стауструпа, но просто вода
>>2461498 >А множества на что протестить? Прояви фантазию. Ты знаешь, что такое множества. Ты знаешь, какие у них бывают свойства. Просто как бы опиши эти свойства кодом.
Там добавление, объединение, подмноженсват, эквивалентность разных и т.п.
Друзья, давайте твёрдо и чётко разберемся в одном вопросе. Питонисты это: 1. вэб-разработка 2. тестировщики 3. аналитики/работа с данными 4. нейронки Больше вариантов нет и нужно выбрать один из четырех стульев, верно?
>>2461285 Блэ, ебал я рот этого pytest блять Есть примеры как правильно оформлять тесты с базой на aiohttp например? У меня либо все крашится нахуй, либо он мне кидает ошибки вроде "relation does not exist" (миграции почему-то не прошли)