Вы видите копию треда, сохраненную 4 октября 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий: >>1690482 (OP)
Литература:
Автоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Кто может, залейте её на ЯД к остальным.
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
#######################################
ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года
Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.
— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4
— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется
— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
последняя шапка - https://dumpz.org/aaNRDPe2xXh2
Шапка с прошлого раза.
Надо вставить туда пару новых книжек, но для этого нужен файловый хостинг без СМС и регистрации, и чтобы долговечный, а не на три дня.
А если вьебать книжки в запароленный архив в запаролленном архиве и на яндекс диск/гугл драйв залить, в таком виде их оттуда потрут?
тупой вопрос
Да может и в обычном не потрут, яндекс ссылки в шапке до сих пор живы. Но я не хочу на себя оформлять просто.
ХЗ, надо попробовать, можно сейчас гугл-яндекс аккаунт без смс-верификации себе сделать.
если бы вы перестали советовать Лутца и это сраное дедовское видео про async, то читали б
Проблема не в Лутце, а в дефиците внимания, выращенном ютубчиками и соцсетями.
Если человек не может на пять минут сосредоточиться на одной задаче, то о каком обучении может идти речь?
Дедовское видео крутое. Я его туда включил, но меня оно впечатлило, поэтому и включил. Если что-то кажется крутым, включи сам в шапку. От меня там треть, другие аноны большинство сделали, ХЗ сколько разных.
Лутц какой-то шлак, я не знаю, что на него так дрочат и его советуют. Просто так принято. Но я не ориентируюсь сейчас в книгах для начинающих, не могу ничего посоветовать никому.
На память какой-нибудь Саммерфильд получше.
По-хорошему, в шапке нужны отобранные материалы, чтобы аноны изучили разные и рекомендовали, вот это достойный материал, а это говно.
Проблема в том, что вводные разные. И мозги по-разному работают.
Я начал питон учить очень давно, не помню по чему, но не по Лутцу. И там хорошая книжка была. Но у меня был уже коммерческий опыт c/c++ и php. А кто не умеет программировать, тому другие книги нужны.
Я в восторге от деда с конкуренцией, а другой анон тут из треда в тред ноет, как будто ему эти 45 минут зубы сверлят советской машинкой без наркоза.
Всем не угодишь.
Тот самый дед там кстати пишет новую редакцию своей весьма неплохой книжки для AW, но завяз, потому что дохуя надо рассказать.
Вот её жду.
Кидай книги, залью.
Я еще 2 треда назад кидал ссылку на активную файлопомойку со всеми книгами треда:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6
Там только не хватает одной папки, если анонам понравится такой способ - докуплю место и залью все.
Потому что он Дед и ему надо побреньчать своими медалями. Если бы он еще и преподавал, то научился бы выделять главное и современное.
У самого бидона довольно неоднозначное развитие со временем, так что как знать.
Даётся теория. После теории даются практические задачи НОРМАЛЬНОЙ сложности которые для своего требования требуют только уже пройденной теории. И так по нарастающей. С в каждой новой главе практика уже включает и все темы из предыдущих глав.
А то сколько не ищу нахожу какое то говно в котором либо просто килотонны теории и нихуя упражнений, либо как во всяких приложухах и сайтах практические задания делались для каких то конченых олигофренов которые сами не в состоянии даже print ("Hello world!") написать, и поэтому тебе дают уже почти готовую строку, в которую надо доставить слово или скобочку или ещё какую залупу. Боже, как же горит с этой хуйни, для кого это делают вообще, я так целый курс прошёл, и когда попытался сам что-то написать, и строчки родить не мог, просто потому что все задания были вида - почти готовый код подставьте пропущенные символы.
В принципе можно поставить себе какую нибудь примитивную задачу, а ля змейку в консоли сделать. Но хотелось бы какой структурированной годной книги. Но если не найду, то похоже придётся самому задачи придумывать и самому всё выискивать.
Блять, как же жопа горит с этих ебанутых курсов и с этих совершенно дибильных задач. Неужели хоть кто-то реально по этому говну программировать научился?
Спасибо
Этот укус кто-то один советет постоянно? Там же нет нихуя, какая-то рекламка-пробник на почитать в туалете.
Нет. Надо, чтобы в системе были какие-то библиотеки от питона, в виртуальном окружении не всё, что нужно. Даже в режиме portable.
А как сделать из своей программы портативную, работающую на любой ПК? Есть способ?
pyinstaller
При большом желании можно и в виде папки собрать, но нюансы есть. Ещё от системы зависит, линукс-винда
Как минимум, надо копировать явно дополнительно некоторые системные библиотеки, там возможно ещё проблемы с их подключением будут, надо, чтобы они в зоне видимости были.
Мне это когда-то удавалось, но я давно уже этого не делал. В общем при желании можно, но повозиться придётся.
url = results['results'][0]['Url']
Что эта штука делает? В переменной results вроде как строка.
json строка, вероятно.
Кто-то сталкивался? Все ж всегда нормально работало
Нет, это большая дыра в безопасности. Библиотеки обычно дают свой, безопасный, способ форматирования.
Пиздец, укатывайся обратно в ЖС.
кавычку не закрыл
Просьба помочь . Если не сдам мне пиздец.
Написать функцию, которая в бесконечно цикле считывает данные о пользователе из консоли и добавляет нового пользователя в базу
при этом функция должна валидировать введенные данные и приводить к однмоу виду
мать твоя дыра, а если данные из доверенных источников или уже вытащенные из бд - нет никакой проблемы.
просто используешь джанго и не мучаешь всех своими фантомными болями.
Как посмотреть sql-код миграций в Джанге?.. (и возможно ли это вообще)
Это всегда очень плохой стиль.
Но у тебя другая проблема со стилем есть, сшивание строк вместо форматирования, это какой-то жутко грязный подход.
Строки надо форматированием собирать, а не сшивать так грубо из кусков. У тебя какой-то JS код, а не питон. Используй метод format для строки. Это более читаемо и более надёжно.
кто нибудь сидит на емаксе?
А что не так в его коде? Как делать не стоит?
rows = [
("her", "beef"),
("galon", "dog"),
("foo", "bar")
]
Соответственно я должен получить на выходе ["galon", "beef"].
Надо как-то заюзать функцию max, но как?
А, в столбце, проглядел.
max(rows, key=lambda v : len(v[1]))[1]
Ну собственно так, однострочником хуй знает.
И что получится?
Надо максимальный элемент 0, максимальный 1 и т.д.
Подзореваю, что есть какой-то чотенький функциональный вариант, но я ещё не ботал эти модули.
Неплох подход, но этот код вернет конкретный кортеж из rows, а не построит новый
Тут лучше не ебаться с однострочниками. В одну строку никак не сделать
map(lambda v: max(v, key=len), zip(*rows))
zip(*) это мощно, я подзабыл этот трюк.
[max(v, key=len) for v in zip(*rows)]
В общем, колхоз при наличии искаробочных либ это плохая практика, да.
Какой парсер? Там прочитать одну строчку надо было, потом результат из словаря в одну строчку вернуть в файл.
Про csv не скажу, уж больно примитивная вещь, но использовать рукописный json вместо штатного - очень дурной стиль. Я просто не понимаю зачем. Даже для самых примитивных задач.
Когда ты используешь внешний модуль, который ставится через pip, тут уже хорошо иногда подумать, а надо ли? Но вот не использовать стандартную библиотеку - всегда дурной стиль.
Антоны, где вы храните логины-пароли, требуемые в скриптах?
В переменных окружения? Во внешнем файле? Где еще?
>Какой парсер? Там прочитать одну строчку надо было, потом результат из словаря в одну строчку вернуть в файл.
Приведи свой код, который ты для этого написал.
Раз уж защитники json либы в треде появились, может ли эта ваша либа рекурсивные объекты в json записать? Это объекты, который хранят объекты внутри себя. По типу JsonConvert.SerializeObject в C#? Если нет, то нахуя ваша стандартная либа нужна?
Я бы оценку не снижал, если нет совсем глупостей вроде eval. Но у любого (де-)сериализатора есть свои подводные камни. Как минимум сериализация рекурсивных объектов, особенно деревьев, как в billion laughs attack.
И зачем это нужно?
Если это локальный скрипт, то можно и самому ввести при запуске. Если паролей много, то можно хранить в файле и перед использованием расшифровывать мастер паролем. Можно сделать так, чтобы права на чтение файла были только у того пользователя, от имени которого запускается приложение. Но в целом здесь работает защита неуловимого Джо.
У облачных провайдеров есть хранилища секретов и гайды по настройке уровней доступа. Чаще всего такие секреты можно внедрить в виртуальные машины или контейнеры.
Если есть планы куда-либо скрипт перенести, то переменная окружения выглядит более портируемым вариантом, нежели чтение файла.
Но зачем доверять, если не составляет труда проверить?
К слову о джанго, сырые запросы там тоже не конкатенацией предлагается делать: https://docs.djangoproject.com/en/3.0/ref/models/expressions/#raw-sql-expressions - отличий почти никаких, зато безопасность получается на уровне ORM.
Зачем это? Как ты себе этот код уже в json представляешь?
Если тебе нужно сереализовать такого рода данные, используй pickle, с его помощью можно. Корректно сериализуешь и потом обратно восстановишь.
Во всех модулях для работы с БД что-нибудь подобное всегда есть.
Ты один из тех дауничей, которые всякие xml, json, html парсят регексами и str.методами вместо предназначенных для этого библотек?
И в жсе и в питоне, да и вообще везде в современных языках, есть форматированные строки. Наиболее удобно и знакомо при прыжках по языкам. Они хуже будут чем .format? А то я его заменяю у себя в проекте потихоньку на f.
Скачал под Винду Анаконду, все обновил, скачал опенцв через когда --инстал.
И сука блядь! Все скрипты из примеров зависают, или иногда как-то запускаются в спайдере! Причем запустил раз - все норм, ещё раз - говнище это не работает, ни ошибок, ничего, ядро зависает. Опенцв тоже ошибки не прокидывает. Имшоу вызывается, потом всё, пизда, после закрытия окна опять кернел перезапускать
Ты дурачок? Еще спроси "Гыгы а хуле ваш React не может файлы на жесткий диск сохранять?)))"
У меня все три переменные андефайнд - сервер, юзер, пасворд.
Схуяли они андефайнд, ведь я только что их импортнул?
Ты импортнул функции, а эти переменные вообще локальные для этих функций.
Где ты увидел такой ебанутый способ?
на чем до питона прогал?
Заебал. Потому что staging_creds это функция, кусок ты врожденного говна. Даже если ты вызовешь свой импортированный сблев - все равно область видимости этих переменныхз внутри функции, а не снаружи. Свернись сука питончиком в уголке и сдохни. Нахуй ты вообще чтото пишешь с таким уровнем сука тупая?
Тот самый Двач, который я люблю и знаю, ммм
Лол, на стаке. А как тогда правильно импортить? Если в одном файле разные креды. Ну от прода и от стейджа как у меня, например.
Кто угодно словит, кто хотя бы способен слова в предложения складывать.
Но ведь реакт как и js нахуй не нужон. Эти все интерфейсы, фронтенд, это всё игрушка дьявола.
> В чём прикол
ни в чем, чел просто кинул пример
> почему это не должно работать
это должно работать и работает, просто обычно так не пишут, а это ожидаемое поведение
> И зачем так писать на практике
так не нужно писать на практике, только в качестве иллюстрации устройства питоновского лукапа
В чем проблема, это элементарно, если SQL не знаешь то через ORM (sqlalchemy) можешь сделать
Размеры текста, если что, от пары десятков до сотен тысяч символов, поэтому решения плана пикрелейтед не подходят.
Такое что ли? https://jsfiddle.net/n1qftbL6/2/ >размеры формы изменяемы
>сотен тысяч
хз, мне кажется зависнет там у тебя, даже если не браузером будешь этот копипаст делать, другие приемлемые форматы удобнее использовать.
Вроде того, но это для инпута, а мне нужно место, куда выводить текст из функции - такой-то бокс без Submit button, в который нельзя ничего написать, а можно только скопировать оттуда.
ууу хакер, на фласке он пишет, даже элементарных вещей для версти загуглить не может)
Действительно, спасибо.
Двачую этого. Сам ищу
Начни с чего-нибудь простого. Попробуй сначала сделать пустую колоду, например.
если для себя - используй jupyter notebook и интерактивные виджеты.
это новое поколение всех программ
гуи, чтобы датасасонам было удобно
1. В первую очередь, пруф-демонстрационность . Ты не просто обрабатываешь данные, а еще и показываешь коллегам как именно ты их обработал. Понятно как воспроизвести и почему ты прав.
2. Интеграция описания и кода. Один файл на всю тетрадку.
3. Питоновские библиотеки уже накопились и наслоились . Теперь удобно. Виджеты для простых интерактивных расчетов уже есть. Графики пиздатые.
4. Нелинейное исполнение. Можешь повторять этапы в том порядке в котором нужно, а в не в том в котором написано в программе.
Программист должен понимать, что такое Программа.
Какие преимущества питона перед другими языками, скажем, JS?
например такие странные вещи как '5' - 3 в питоне не напишешь
нет ебучих скобочек
на самом деле это будет не файловый менеджер, но прогу я хочу оформить в стиле нортона
JS по своей натуре именно язык для фронта. Питон - нет
Если смотрим там, где они будут пересекаться - на бэке, то у Питона более ожидаемое поведение, меньше запар с дебагом да и больше либ. Но сосет хер в плане многопоточности
только джаваскрипт на бэке можно как тайпскрипт использовать
никаких, хочешь использовать js, используй. Если ты используешься {хуйнянейм}, то сам знаешь зачем, здесь не рекламный тред
Однако используют его 1.5 человека
prikol'no i klasssno! pomen'she js lapshi i drisni.
nemnogo mnogopotochen, mojet compile to C-code, poshustree vsiakih golangov budet!
no delo kajdogo, bez fanatizma kak govoritsia.
1) с помощью каких либ лучше организовать простой json api для веб-приложения? Через фреймворки информации гуглиться полно, а вот на чистом питоне что то всю голову поломал, везде максимум XMLHttpRequest гуглиться, а мне как я понял нужно Fetch. Вообще до этого не работал с аякс-подобными вещами, путаница в голове.
2) по ТЗ требуется два ресурса, можно ли без фреймворка как то организовать внутреннюю роутеризацию вроде
if /vvod?n=555 то делать это, а если /vyvod то делать вот это? Или тупо два скрипта с разным именем делать?
По фреймворкам то мануалов куча, а вот "низкоуровнево" с http чот я обосрался.
это тестовое задание на работу? разумеется, они хотят посмотреть какими фреймворками ты владеешь.
Разбирайся.
1) В стандартной библиотеке есть(раньше был) http.serverНо это для слабаков, возьми лучше голый ТСP сокет
2) Парси строку запроса, роути куда надо
Ну в описании задания нужно написать на Python 3.7, да и из фреймворков я только джангу немного чухаю, создавать на ней джанго-проект под такой простой cgi-апп избыточно, мне кажется они хотят как раз проверить как я вообще чухаю в работе с cgi.
Пикрильну задание на всякий случай, что бы была понятна о чем речь.
>>703248
Вот вроде нарыл такую конструкцию:
Читаем запрос:
import sys
import json
myjson = json.loads(sys.stdin.read(int(os.environ['CONTENT_LENGTH'])))
Отсылаем обратно:
print 'Content-Type: application/json'
print 'Content-Length: ', len(json.dumps(myjson))
print 'Connection: keep-alive'
print json.dumps(myjson)
Такая же конструкция подходит под условия задания?
>2) Парси строку запроса, роути куда надо
О, точно, спасибо!
Вообще вакух на джунов нет, я то думал на собесе сумму множителей массивов посчитаю, да строчку реверсну, пузырьком посортирую и вкачусь... Наивный. А тут приходиться на мидловакансии пытаться.
здесь не написано, что ты должен использовать ЧИСТЫЙ питон. не вижу ограничений по фреймворкам.
Если джанго сложный , пробежись по-быстрому по flask.
Я удивлен что ты всерьез какую-то работу надеешься в вебе получить, если спрашиваешь такое. Подтягивай матчасть
>>703050
И в плане производительности питон хуже — JS во много раз быстрее справляется со многими алгоритмами.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/python.html
>Такая же конструкция подходит под условия задания?
Нет
Угомонись и возьми bottle, в самый раз будет. Или aiohttp, если хочешь модным показаться.
>Если джанго сложный , пробежись по-быстрому по flask.
Да я по джанге уже быстро пробежался, вроде не сложно, даже модель-темплейты простейшие написал,но на собесе хуйца сосну.
Фласк давно хотел чекнуть, но за вечер врятли что то там разберу.
Кароч на эту вакуху я всерьез уже не рассчитываю, сейчас попытаюсь завести всю эту лабуду на чистом питоне, чисто самому получше что бы разобраться, если не получится - налабаю на джанге проект и закину им на почту.
>>703311
Да я же говорю, я вообще унтерменш программирования пока, хотел червем-джуном вкатиться, на собесе за алгоритмы поотвечав, а практику по ходу дела наработал. Но питон-ждуны судя по hh вообще не нужны. Похоже придется пытать счастья в тестировщики, QA Python Junior на hh полно. Да и у меня знакомый есть свежепеченый QA питонщик, по сравнению с мои знания хакерские просто.
Вообще был бы благодарен, если подскажешь годную литру по матчасти в плане питоновеба.
>>703316
ну как я понял, так они говорят не старше 3.7, что бы не на некропитоне 2.x им присылали решения.
>>703323
Понятия не имею о чем ты, но спасибо за совет, сейчас буду гуглить, просвещаться.
Большинство годной литры - на инглише. Скажем та же Two Scoops of Django (больше обзор по best practises, но годно)
Выбирай фреймворк, а потом и литру. Поначалу лучше обзорно по вебу пройтись через Таненбаума (1к страниц, лучше выбирать отдельные главы) и через стандартные питон-либы вроде requests и socket
Благодарю за рекомендации. Буду сидеть, обтекать учить.
Про bottle прочитал, наверное подошло бы для целей в ТЗ идеально. Но раз уж брать фреймворк, то лучше уж джангу, как анон сказал:
>разумеется, они хотят посмотреть какими фреймворками ты владеешь
Ладно, информация к размышлениям есть, буду думать. Спасибо!
>простой cgi-апп избыточно, мне кажется они хотят как раз проверить как я вообще чухаю в работе с cgi.
Нет. У них основные требования Джанго и Джанго-рест. Значит лучше на джанго и делать.
Через cgi это вообще мрак, так делали 20 (двадцать!) лет назад, когда писали cgi на перле или си. На питоне так никогда не делали, никогда вообще.
Нужен любой фреймворк, можно лёгкий. Но если устраиваешься на Джанго, то разумно Джанго.
>Через cgi это вообще мрак, так делали 20 (двадцать!) лет назад,
Поэтому ничего толкового нагуглить и не могу наверное, зря только всю ночь сидел. Но у них про фреймворки ничего не написано, думал надо показать умение разбираться "напрямую", одним .py файлом в несколько строк, а не просто по манам проект ModelTemplateView высрать ради двух запросов и потом всю эту лабуду им на почту закидывать.
Ок, запилю щас на джанге. Еще правда с редисом нужно будет разобраться, но там с гуглением проблем нет.
Когда cpu-bound вычисления становятся узким местом, их переносят в облако по типу Azure. Ни нода, ни пистон как таковые ответом здесь не будут
Что там гуглить, добавить хендлеры в конфиге сервера, поставить правильный шебанг и права на исполнение. Делов на пять минут.
Но таки да, никто так не делает, лол.
Вот я с этого и начал, http.server запустил, скрипт с шебангом и чрутом сделал. Хелло ворд вывел через localhost:8000.
А вот как в этом срипте реализовать json api мозги скрипят.
Через env передается путь реквеста, парсишь его, и вот он роутинг.
Потом высираешь хидер json и данные. Ничего сложного.
Берешь библиотеку socket и selectors, на них пишешь свой асинхронный сервер, для скорости ответа пишешь свой HTTP парсер на С, драйвера для редис тоже нужно будет написать на С.
Кажется нащупал то, что хотел. Только что смог выдернуть через os,eviron роутинг и переменную гет-запроса.
А обратно на браузер отсылаю ответ с помощью обычного print 'Content-Type: application/json' итд да? Все это допиливаю, и получаю интерфейс?
Спасибо тебе огромное!
Не подумай что я хотел что бы за меня тут тестовое решили - на него я уже забил, взял ношу не по себе. Главное уже самому хочется разобраться, как это работает. Если выше все правильно, то дальше уже сам разберусб.
>>703462
И сам не замечаю как получаю борду на 5000 запросов в секунду, тянки текут, сисярпы завидуют? Ты же пошутил, да?
Да, всё так.
Я написал вот такой код, но не знаю как выввести остаточные элементы (которые не были выведены с помощью max, min) из списка. Помогите...
a = int(input())
b = int(input())
c = int(input())
list = [a, b, c]
print(max(list))
print(min(list))
Попробуй отсортируй массив методом sort от большего к меньшему, а потом пиши print[-1];, принт 0, принт 1.
То есть от меньшего к большему. Ну кароч отсортируй и с индексами работай.
Три переменные упаковываются в туплю, сортируются и распаковываются обратно в три переменных, что именно неясно?
что это за алгоритмы, ёба, часто мандельброта развёртываешь?
Я примерно понимаю, что простыми базовыми средствами от такого количества ссылок питон загибается, посему реквестирую методы валидации большего количества ссылок.
Я в таких случаях пихаю всё в базу и пилю воркер, который берет n пустых записей, обрабатывает и складывает обратно.
Ну и потом запускаешь сколько надо воркеров.
что за ошибка в connectionpool?
зачем делаешь copy.deepcopy? currentUrl не строка?
> все комбинации трёх символов из "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
таких комбинаций не 500_000, а 238_328
Посмотрел на таблички, которые часто рисуют стандартные тулы многих БД и решил на досуге запилить такую же на питонухе. Спустя пару часов таки наваял свою херню:
https://ideone.com/j3wsAd
В принципе работает (на вход подаем список с заголовками столбцов и список строк данных, отдельно рисуем рамку, а затем дорисовываем всю таблицу, объединяя строки командой '\n'.join(table) и выводя результат print-ом). Правда мне кажется, что я нахерачил слишком много говнокода, особенно в самом методе draw_table, а также я работаю со строками, постоянно их удаляя и обновляя из-за конкатенации (таков механизм Питона жи). Есть возможность это делать более экономично? Есть какой-то аналог mutable string в Питоне?
Есть формат с выравниваниями и ширинами.
https://pyformat.info/#string_pad_align
Остальное не смотрел, но в целом как-то рыхленько всё.
>проверить на валидность
? И что это значит-то? Что по ссылке можно перейти? Или что она синтаксически валидна?
Эти комбинации проверяются в двух шаблонах, т.е. 476656 разных ссылок
>>703724
То, что по этой ссылке доступен файл, а не ответ сервера 404. Короче, цель найти картинку в лучшем разрешении на основе двух миниатюр, адреса которых аналогичны, но отличаются только тремя символами.
>>703707
Я не погромист, изучаю питон только для бытовых целей, можешь вкратце пояснить за воркеры, привести пример либо послать на статью, где про них почитать?
Тридцать ебаных лет...
до сих пор меня настигают проблемы с utf8 в самом удобном языке для работы с данными.
тут видишь какое дело, питон с таким количеством справляется, а это тебе сервер который ты брутишь отказывает возвращать что-то
> То, что по этой ссылке доступен файл, а не ответ сервера 404
можно попробовать делать не get запрос а head запрос
> можешь вкратце пояснить за воркеры, привести пример либо послать на статью, где про них почитать?
хз надо ли тебе это, но можешь попроще погуглив sqlite и сделав табличку url, http_code
датасосаенс от слова сосать
почему я вообще должен про нее помнить в 2020 году?
запускаю sql через МАГИЮ %sql в ipython
как тут правильно?
а, разобраться разобрался, но был взбешен.
начнем с того, что если ты просто будешь в dns опрашивать через aiodns существование IP, то намного шустрее результат получишь.
>Я не погромист,
А ну так то да. Потерпишь тогда requests
но у меня нет легаси. это 3.7 с полностью свежими либами.
Понял, что в sqlalchemy url нужно передавать "?charset=utf8".
Легаси это как раз charset-ы и их поддержка и стыковка в разных инструментах.
пруф лучше кинь, как ты такие ссылки http://some.com/images/xyz.jpg будешь проверять на существование images/xyz.jpg через aiodns
погугли что такое итератор
Это осуществляется питоньей вм, а как там оно реализовано это уже не твои заботы.
Словари тоже не имеют определенного порядка, хотя позже это к ним прикрутили.
если у домена нет IP, то уже его дальше не надо пытаться загружать.
это должно много доменов отсеять сразу.
а. так это один домен, но много URL внутри него?
ну и дерьмо.
Забанят тебя сразу как только воркеров осилишь.
крч никак не можешь пруфануть?
ах да еще цитатку бы с чего ты взял про сгенеренные домены, когда речь шла про ссылки на картинки
я же думал это какой-то нормальный сеошник, а это дебич хеши к файлам подбирает.
извини, что быканул
просто вот приходит чел, нормально спрашивает, ему бы пояснить, что куда. А вы тут выебываетесь знаниями dns и то невпопад
добра тебе анон
Я писал такое за 7 минут
Если у тебя postgre, можешь использовать ArrayField. Ведет себя почти как обычный питоновский список.
С подключением. Дата обоссаентисты не умеют в код вообще, оно им и не нужно похоже.
Ну или так, просто интересно, что будет выгоднее - использовать JSON/Array или сделать это с помощью дополнительной таблицы.
это прототипирование.
Не волнуйся, там есть кнопка "Download as .py", перед тем как обоссаной кодер-макаке задание выдавать.
самое прикольное что в модели свои они тоже нихуя не умеют и только баззворды ебашат
Где только?
(думал кстати с фронта в явном виде ip присылать, все равно у меня там jquery стоит, но это крайняя мера, не хотелось бы чтобы юзер знал об этом)
Привет!
Какая книга лучшая для познания best practices Питона? Язык - английский.
Хотел бы взяться за нее, когда закончу "Автоматизацию".
Извините, если вопрос уже задавался, и заранее спасибо за ваши мнения.
> Хотел бы взяться за нее, когда закончу "Автоматизацию"
Она довольно слаба по теории и рассчитана на небольшие скрипты для мимокрокодилов, а не сириус бизнес. Хорошие интермедиейт книжки будут слишком сложны.
Что тогда читать?
>>704419
Нашёл в паке из шапки, спасибо.
Может, кому нужно - тут ПДФ более высокого качества:
https://b-ok.cc/book/3602256/37f78d
и формат для читалок:
https://b-ok.cc/book/2843478/98995e
Сайт требует регистрации, но он норм.
На проекте самописная работа с бд через модели (маппинг на основе полей, их типов, реляций, кое где валидаций) и классов-репозиториев, которые имеют набор crud методов. Так вышло, это уже данность, помянем красивую работу с бд на проекте, исправить без перепиывания всег опроекта с нуля невозможно (честно говоря и этот самопис появился, потому что использовать тот же sqlalchemy без переписывания всего проекта было невозможно). Но реализация не удобная само собой. Есть у кого посмотреть несложные подобные решения, у которых можно было бы позаимствовать хотя бы удобный интерфейс?
>Когда cpu-bound вычисления становятся узким местом, их переносят в облако по типу Azure. Ни нода, ни пистон как таковые ответом здесь не будут
И что тебе это облако даст, если код написан под один поток на питоне?
>И что тебе это облако даст, если код написан под один поток на питоне?
А запустить несколько копий одной и той же программы и распределять нагрузку между инстансами что запрещает?
+ если пишешь числодробилку то юзаешь модули которые написаны на Си и там скорость вполне себе топ.
>А запустить несколько копий одной и той же программы и распределять нагрузку между инстансами что запрещает?
Один поток на Си будет быстрее, чем десять процессов на питоне. Чтобы получить такую производительность, нужно использовать:
>модули которые написаны на Си и там скорость вполне себе топ
и перекидывать что можно на видеокарту. Вычисления, которые не получится делать на видеокарте, но где нужна многопоточность, можно выносить в DLL на С/C++. В таком случае можно добиться адекватной производительности без нужды платить за десять процессоров в облаке.
А есть что-то, чем нормальные люди пользуются, а не любители попердолиться пару ночей с мануалами и структурой левых велосипедов?
Что-то типа %посчитай-на-видяхе
Или прогресс ещё не дошел и нужно объяснять программе что сложные рассчеты я хочу произвести не на одном ядре процессора, а на всех, а в идеале - на своей простаивающей видяхе? Что за печеньки в головах у разрабов?
sklearn не умеет это делать из коробки? или какая другая обертка может есть для scipy?
Антош, что сказать то хотел?
Я из личного опыта тебе рассказываю как это бывает в +/- крупных ойти-компаниях.
Берется либа намапай/сцы-пай, берется массив данных, быстро и качественно пишется ПО для сервиса, затем данные считаются, вертятся и результаты получаются, на этом все. И все работает збс и всё довольны.
На с/с++ пишутся какие-то охуеть сложные и важные штуки, которые можно реализовать только в си и/илм при прямом доступе к памяти, всьо.
Напомню, что играет роль не только скорость программы в результате, но и скорость разработки и стоимость поддержки и развития.
numba это в принципе способ ебошить вычисления с производительность С++ (потомушо блин под капотом это С++ и есть, плюс отсутствие GIL)
Только вот я уже не первый час разбираюсь как ей пользоваться. Метод из мануала (@jit) не работает.
>Что-то типа %посчитай-на-видяхе
Как ты себе это представляешь?
>Или прогресс ещё не дошел и нужно объяснять программе что сложные рассчеты я хочу произвести не на одном ядре процессора, а на всех
Гугли numba prange.
>а в идеале - на своей простаивающей видяхе
Для начала, разберись как работает CUDA.
>sklearn не умеет это делать из коробки?
Не умеет. Придется переписывать все функции руками.
>>704947
>Метод из мануала (@jit) не работает.
Кидай код.
>Как ты себе это представляешь?
Как в keras, например.
Проблема-то я знаю в чем. @jit требует функцию на вход. А у меня в jupyter функций нет и объявлять их не хочу, ибо код станет нечитабельным. А как отдельную строчку обернуть, я хз.
Все так антош, все так.
Освоишь - тянки будут давать сразу при встрече
>Как в keras, например.
keras изначально написан под видеокарту. Ты же пытаешься либо заставить работать на видеокарте функции из разных библиотек, что невозможно. Единственный вариант - переписывать эти функции самому.
Я просто наивно полагал, что это уже сделали до меня. Питон приучил, что всё уже придумано до меня.
>>Метод из мануала (@jit) не работает.
>Кидай код.
Сделал во по этой ссылке без примеров:
http://numba.pydata.org/numba-doc/latest/cuda-reference/kernel.html
Понимаю, что это я туплю, но где именно, без примеров понять не могу.
dendrogram это твоя функция? Я писал, что такое не получится. Почитай вот это:
https://numba.pydata.org/numba-doc/0.13/CUDAJit.html
>dendrogram это твоя функция?
Нет, это scipy.cluster.hierarchy.dendrogram
Спасибо, буду дальше разбираться.
Подскажите, куда копать и гуглить, чтобы в приложении открытие файлов производилось с помощью подобного (как мне кажется, дефолтного в Windows) окошка?
На последних моих проектах везде происходила замена чего-нибудь очень старого на новое. В одном случае это было откалывание сервисов от джанго-монолита и react-в-backbone на фронтенде. Речи о замене всего не шло, по крайней мере сначала. В другом случае просто постепенное переписывание всего, что есть. Всегда должно быть определенное недоверие к "невозможности".
sqlalchemy, вроде бы, можно использовать для существующей базы - если можно "новый способ" пристроить сбоку и начать постепенную миграцию, то почему бы и не провести эксперимент. Когда мы начинали избавлять джанго от обязанностей, каждый желающий имел неделю на написание своего мини-сервиса с типовыми задачами для нашей базы. Технологии, библиотеки - какие угодно. Потом серия демонстраций и консенсус, пробный сервис для прода.
Я бы не рекомендовал написание собственного ORM. Это хорошо известная протекающая абстракция - в SQL нет ничего такого, что можно навсегда упростить и забыть. Если делать все согласованно, то результат будет напоминать функциональный эквивалент SQL с той же сложностью. Если срезать углы - то как не прийти к настолько же плохому решению, как и существующее?
Это приводит нас к тому, что решать нужно конкретные проблемы в конкретной ситуации. Что есть плохое в существующей системе? Избыточный интерфейс, сложная реализация, отсутствие расширяемости или модульности (ака "без переписывания проекта никак")? Чего системе не хватает? Как используется база? Можно ли сделать так, чтобы типовое использование БД выглядело так же просто, как типичный HTTP-запрос? В общем, дать определение хорошего и плохого.
Может быть полезно подумать об экстремальных случаях. Какие проблемы возникнут, если новая система будет тонкой прослойкой над вручную записанными запросами? А-ля сгенерированные иммутабельные модели без изысков и функции, которые их запрашивают и записывают.
В любом gui'шном фреймворке есть подобная штука, которая вызывает системное меню для выбора файлов.
что это за говно и как ты собираешься встречать с улыбкой Эру Мобильных Приложений?
Хочу делать для десктопа
а зачем вы это делаете?
поч не https://pypi.org/project/terminaltables/ или че там ща модно у зумеров
Была мысль сделать бота, который форвардит сообщения из чата в чат, но тогда получается, что одному пользователю может приходить куча сообщений от разных юзеров в один чат
Есть два файла a.py и b.py:
[a.py] -------------------------------
#!/usr/bin/env python3
def foo():
print("you're a nice person")
print("you're faggot")
[b.py] -------------------------------
#!/usr/bin/env python3
from a import foo
foo()
--------------------------------------
Как не сложно увидеть, в b.py импортируется функция из a.py. Ну это я так думал, ибо при таком импорте импортируется весь файл, и я сразу становлюсь пидором. Как не быть пидором, а только хорошим человеком, выполняя b.py?
(Все персонажи являются вымышленными, и любое совпадение с реально живущими или жившими людьми случайно)
блять, забыл, что ебакаба пробелы захавает.
[a.py]
#!/usr/bin/env python3
def foo():
____print("you're a nice person")
print("you're faggot")
>if __name__ == '__main__'
Чоу, нельзя отдельно из файла функции подёргать, нужно всегда целиком импорт делать щоли?
При импорте выполняется всё, а потом уже в неймспейс импортирующего пробрасываются нужные вещи.
Как починить твою хуйню?
С помощью того самого
if __name__ == "__main__"
Понятно. Немного ебливо, но жить можно. Спасибо, Петян.
Ну обычная орфографическая ошибка. Чтобы выдавало true если ты написал лашодь вместо лошадь
Надо подключать либы для работы с текстами и ебаться с ними, это сложная тема.
у тебя по пизде таблица идёт, если многострочный стринг в тупелях передать. ещё ебобо рисовать таблицу, а потом менять в ней символы. ебаш сразу по хардкору, предварительно просчитав все размеры.
Есть всякие штуки вроде нечеткого поиска и прочих левенштейнов, но это баловство.
блять, берёшь словарь с нужными словами, загружаешь его в set, потом для каждого слова проверяешь входит ли оно в set или нет. если не входит, ура.
или тебя блять надо чтоб обязательно две ощибки были, а не одна?
если две, то берёшь словарь, загружаешь его в set, проверяешь входит ли оно в set или нет, если нет, то для каждого элемента set считаешь расстояние левенштейна к твоему слову. если оно два, то ура.
selenium
px = np.array([[[ 1, 2, 3, 255], [ 4, 5, 6, 0]], [[ 7, 8, 9, 0], [ 3, 3, 3, 255]]])
надо заменить все элементы на например 0, где в оригинале последнее значение было 0. то есть получить на выходе:
out = np.array([[[ 1, 2, 3, 255], [ 0, 0, 0, 0]], [[ 0, 0, 0, 0], [ 3, 3, 3, 255]]])
если образно, то это типа обнулить все прозрачные пиксели нахуй.
>[:, :, 3]] = 0
бляяяя. ты волшебник! расскажи, что за магия,
а то я уже ебанул два цикла для этого.
>бляяяя. ты волшебник! расскажи, что за магия
Вот так еще лучше:
px[px[:, :, 3] == 0] = 0
[:, :, 3] - это выборка всех элементов с индексом 3 по 2й оси.
То есть вот этих:
[[[ 1, 2, 3, 255], [ 4, 5, 6, 0]], [[ 7, 8, 9, 0], [ 3, 3, 3, 255]]]
Получается такой массив:
[[255, 0], [0, 255]]
Дальше ты сравниваешь его с 0, и получаешь 2D массив из True/False:
[[False, True], [True, False]]
Который ты используешь для индексации своего массива для замены пикселей на нули:
[[[ 1, 2, 3, 255], [ 4, 5, 6, 0]], [[ 7, 8, 9, 0], [ 3, 3, 3, 255]]]
Гугли numpy slicing и играйся с массивами, пока не научишься.
лучиков тебе!
этот вариант понятный. но что происходит в px[(px == 0)[:, :, 3]]?
имено (px == 0) [индексы] я не встречал. проверил, оно выдаёт True/False массив. но всё же, что это за синтакс?
>имено (px == 0) [индексы] я не встречал
Абсолютно то же самое, что и в px[:, :, 3] == 0, только в другой последовательности. Сначала сравниваешь с 0 (px == 0), и получаешь вот это:
[[[ False, False, False, False], [ False, False, False, True]], [[ False, False, False, True], [ False, False, False, False]]]
А уже потом выбираешь нужные значения ([:, :, 3]):
[[[ False, False, False, False], [ False, False, False, True]], [[ False, False, False, True], [ False, False, False, False]]]
И получаешь все тот же массив:
[[False, True], [True, False]]
Дальше все то же самое. Второй вариант лучше, поскольку в нем меньше вычислений - не надо сравнивать каждый элемент с 0, только последний.
выгодно совмещать
нефть+pandas+matplotlib+python-pptx+sklean
золото+pandas+matplotlib+python-pptx+sklean
газ+pandas+matplotlib+python-pptx+sklean
и так далее
божечки. спасибо.
Пишу бекенд на питоне
Или проэкт не нужен?
В каком месте ты мог "подучить" джанго если ты не сделал на нем нихрена? Ты в своем уме?
Ну я по курсу сайт делал.
В json не может быть никаких "дат", там и Number в качестве ключа тоже не бывает. Только строки. Фронт сам справится
Анон, что посоветуешь по Django 3.0? В сети куча наебалово-курсов, сложно выбрать, ибо сильно сомневаюсь в качестве. Вариант с книгой не рассматриваю, ибо как-то легче учиться по видео, привык что ли...
В любом случае, заранее поблагодарю тебя.
Я понимаю, что в json не может быть дат, их надо предварительно сконвертировать в строки, обычно решается с помощью функции для dumps, где ты конвертишь в строку с нужным форматом, но default передает только ключи, значения таким образом не приведешь. Вот я и спрашивю как лучше
pydantic
Сап, в каких программах или при помощи каких библиотек можно создать красивый, ну или хотя бы не всратый дизайн?
2. Смогу ли нормально разрабывать под виндой? С линуками вообще не дружу. IDE я нагуглил вроде как от микрософта есть, там же и интерпретатор. То есть отлаживать код смогу спокойно? И в виду странички смотреть, если апач поставлю? А на хостинг просто файлики .py заливать - все верно?
Шарп я знаю поверхностно. Глянул ASP.NET, там кроме самого языка надо еще хуеву тучу инфы понять, как там сама страница устроена. Питон нагуглил, что очень просто в обучении и сайты на нем клепать как нехуй делать и быстро. Поэтому и задумался, может быстрее, чем я в АСП разберусь, я на питончике с джангой наклепаю сайт?
Что не так? Я сказал что мне надо чтобы в доках были допустимы ошибки - я так и сделал. И она работает.
только для двух конкретных слов
+ если лишний символ в конце то len не совпадут все пойдет по пизде
+ если перепутать два символа местами, то это будет как две ошибки
все подумали что ты за рил интересную задачу взялся, любое слово проверить на опечатку, а ты хуйню какую-то сделал, проверил что посимвольно совпадают
твоя же хуйня вообще решается в две строчки
from itertools import zip_longest
sum(x != y for x, y in zip_longest(s1, s2))
вопросы задавайте нормально бля
потому что данные на компьютере хранятся в двоичном виде, нужна точность используй тип Decimal
Дело не в точности, я просто хочу понять почему так происходит, при том разные цифры выдают разные результаты - один с ошибкой, другой без.
> только для двух конкретных слов
Это пример же, на деле обе строки будут изменяемые.
> + если лишний символ в конце то len не совпадут все пойдет по пизде
Над вот этим надо ещё подумать, да
> + если перепутать два символа местами, то это будет как две ошибки
Логично. Но можно ещё доделать, что если буквы не совпадает - пробовать менять ее со следующей.
> все подумали что ты за рил интересную задачу взялся, любое слово проверить на опечатку
Это какую, например?
>а ты хуйню какую-то сделал, проверил что посимвольно совпадают
А я другого и не утверждал. Мне это нужно для игрового бота.
> from itertools import zip_longest
> sum(x != y for x, y in zip_longest(s1, s2))
Чёт не понял как это должно работать.
> вопросы задавайте нормально бля
Яж написал - "Такой вопрос. Есть любое слово, как сделать чтобы выдавало True если в слове есть даже 2 ошибки?"
Куда уж яснее? И я сделал именно то что и хотел.
Спасибо за ответ!
> Логично. Но можно ещё доделать, что если буквы не совпадает - пробовать менять ее со следующей.
собственно расстояние Левенштейна тебе про него и писали
> Это пример же, на деле обе строки будут изменяемые.
главное чтобы у тебя работало и решало твои задачи
иди с богом нахуй
Питоны, такая проблема. Есть pdf, в котором много таблиц и остального мусора. Онлайн конвертеры вполне удачно, хоть и криво, конвертируют этот pdf в excel с кучей отдельный таблиц. Как это можно сделать на питоне? То есть надо найти на странице таблицу и сконвертировать ее в csv. Как таблица внутри пдф хоть выглядит?
Пдф это очень ебливый формат для парсинга, может быть очень сложно его собрать в нужном виде.
Я обычно конвертирую через соснольный pdftohtml, а потом уже его дрочу.
Отличная идея, спасибо. Я даже не подумал об этом.
Нашел сначала tabula, которая, как оказывается, требуtт джаву, потому как просто обертка - не нужна. Попробовал pypdf2 - это явно не для таких тупых как я, потыкал, ничего понял, сдался. Нашел camelot, требует numpy и ghostcrpipt, жрет по 100мб на страницу, но работает. Пока его пробую, ибо если я сейчас погружусь в pdf->html->csv, боюсь неделя на это уйдет.
> собственно расстояние Левенштейна тебе про него и писали
Зачем мне знать эту залупу? Все же легко: если 2 ошибки подряд - меняем буквы местами и проверяем ещё раз. Если ошибки больше нет - оставляем.
> главное чтобы у тебя работало и решало твои задачи
Ну так уже, надо только немного доделать.
> иди с богом нахуй
Хули ты такой грубый?
БТВ дочитал укус питона. Что теперь стоит почитать?
А если серьезно?
погугли плагин какой-нить
Такие вещи архитектурно надо делать на уровне middleware. Поиск гугла выдаёт какие-то решения.
Это вообще если на уровне Джанго с этим работать, можно и раньше обрубать, но это хитрее и не для всех задач.
Да можно тупо файрволлить и не ебаться с этим.
имясчислами 8.177.55.0/21
имясчислами 3a04:aa00::/36
где имясчислами и ip разделены табом.
надо содержимое этого файла разделить по типу ip (v4/v6)
в разные файлы.
Например я юзаю нжинкс всегда и вот там такое есть:
https://www.cyberciti.biz/faq/linux-unix-nginx-access-control-howto/
Первая строка в гугле
нашел примерно то что надо:
import ast
text="['AS8888 8.177.55.0/21', 'AS9999 3a04:aa00::/36']"
result = [next((x for x in ast.literal_eval(line) if ":" not in x),"") for line in text.splitlines()]
print(result)
result2 = [next((x for x in ast.literal_eval(line) if "." not in x),"") for line in text.splitlines()]
print (result2)
Но как его заставить читать файл я не понял
f1 = open('ipv4.txt', 'w')
f2 = open('ipv6.txt', 'w')
with open('file.txt') as f:
__for line in f:
____fh = f2 if ':' in line else f1
____fh.write(line)
спасибо
Насколько сложно такое сделать? С программированием дел особо не имел только много раз неудачно вкатывался, а тут приспичило автоматизировать задачу...
зависит от сайта
что не так?
>ты у всех спрашиваешь или только у вкатышей?
Кому не сложно ответить. Ну и специализацию интересно узнать, какой расклад вкратце.
1. Есть ли в джанго готовая система для отчетов или все руками рисовать в html, таблички там эти итд?
2. Если надо соединить данные по нескольким моделям, то есть JOIN'ы всякие делать, это уже запрос на чистом SQL надо писать или есть варики на чем-то попроще в джанге это сделать?
>БТВ дочитал укус питона. Что теперь стоит почитать?
Про расстояние Левенштейна. Тру стори, я не тролль. Динамическое программирование - это очень сложный для понимания раздел алгоритмов, задачи оттуда не самые повседневные, но выворачивают мозг наизнанку даже на уровне просто кодирования.
После нескольких подобных задач я совсем не научился их решать, но зато просто написание кода как будто перестало давать когнитивную нагрузку. Не выясняешь, почему очередной индекс вывалился из массива, а сидишь как на той пикче хуе-мое падажжи ебана и делаешь то, что конкретно хотел.
А сам-то что хочешь почитать?
Открой консоль браузера и попробуй во кладке Network выяснить, какой запрос отправляется при отправке формы поиска, и можно ли его программно повторить.
Если нет, то про селениум уже сказали. Это сложный путь, и вероятно питон здесь не лучший выбор. Сможет ли решить твою задачу например autoit?
>Есть ли в джанго готовая система для отчетов или все руками рисовать в html, таблички там эти итд?
Быстрее всего, вероятно, сделать html табличку руками, но можно попробовать создать форму и заполнить ее во view - в шаблоне форму можно легко представить в виде таблицы.
https://docs.djangoproject.com/en/3.0/topics/forms/#form-rendering-options
https://stackoverflow.com/questions/2283611/output-django-model-as-table
На чистом SQL практически никогда писать не нужно, если не захочешь сам.
Хм, странно у меня на одной машине все работало, а теперь при переносе джанго говорит добавить '127.0.0.1' в ALLOWED_HOSTS, сейчас там только 'localhost'
Просто интересно, почему localhost как имя хоста не прокатывает
Есть файл 3д модели с костями, на каждую по 3 матрицы 4х4 (на пике первые 3)
Т.е. это наверно translation, rotation, scale относительно кости-родителя
Как в блендере сделать из этого скелет?
Я знаю что надо умножить на инвертированную матрицу родителя, но нихуя не получается, я заебался уже пздц.(
Я, извиняюсь, гомосексуалист-одинесник, и настало время двигаться в сторону настоящего погромирования.
Если откинуть веб, то остаётся ваш змий и жаба-конвеер с индусами.
Хотелось бы иметь хоть небольшую возможность для независимого от офисной конюшни, существования.
Практикуется ли у питонистов фрилансинг или какие-нибудь другие формы существования, отличные от кьявавого энтерпрайза?
> для чего в основном и в каких конторах за рубежом используют ваш йоба-йазы
сейчас уже в основном в dataсайнтесе и как ни странно в офиссе, все больше вытесняя ексел
интеренсно питон похоронит его или нет
как маняпулировать костями в блендере я уже почитал разумеется
космический смысол в том что я не знаю матрицы
поэтому не получается сделать скелет
я уже не человек нахуй
с чего начать изучение джанги
попробуй начать с изучения джанги
ну ты бля остёр пиздец я в ахуе просто бля буду ахуеть
Основы плотьненько.
Далее фреймворк/библиотеку которую хочешь.
Ты сколько уже учишь? Или ты учишь-учишь и нифига не понимаешь что ли?
В начале прошлого лета начал изучать. До этого в универе неплохо разобрался с C++ их меркам.
Пробовал вникнуть в django и pyqt. На первом пробовал что-то запилить из книжек по нему, но дальше хуевого блога с регистрацией ничего не делал. Купил доменое имя, смог подрубить на него сайт на виртуалке с своего компа (gunicorn + nginx). На pyqt написал простенькое приложение по которому защитил диплом.
Учу-учу нахуя и для кого учу не понятно. Смотрю вакансии, читаю требования - охуеваю сколько всего нужно, а в моем портфолио нихуя.
>Учу-учу нахуя и для кого учу не понятно.
Ну так просто учить ради того чтобы учить - так не эффективно. Какой нибудь пет проект типа, далее по ходу уже смотришь вещи которые нужны и не понятны.
>На первом пробовал что-то запилить из книжек по нему, но дальше хуевого блога с регистрацией ничего не делал.
Хз, там просто копипаста получается, объясняется поверхностно, хотя если понимаешь что в коде написано, проблем сильно возникнуть не должно.
>Смотрю вакансии, читаю требования - охуеваю сколько всего нужно
Хз, кроме основ досконально не требуется что-то, типа запилил что-то на джанге c postgresql, хотя там эта база меняется одной строчкой))
Проще жить будет.
Есть модель Статья с полями Дата и Текст.
Есть модель Комментарий с полями Статья, Комментатор и Текст.
Есть модель Комментатор с полями Имя и Емайл.
Можно ли вытащить таблицу без запроса к SQL с колонками Статья | ЕмайлКомментатора ?
Но, естественно, не для одной Статьи, а для нескольких\всех?
>Смотрю вакансии, читаю требования - охуеваю сколько всего нужно
А ты че хотел, лол? Ты прям как этот анон: >>706142 Написал 2 проекта на питончике и думаешь выбить дверь в любой офис с криком "встречайте Батю"? Есть еще хреналион прикладных знаний (если хотя бы веб рассматривать), таких что на их фоне уже сам питон смотрится прикладным, вот тут Танненбаума советовали -> >>703350 можно пробежаться по нему для начала
Да сто методов есть.
Я бы делал через редис.
Можно скулайт.
Можно хранить в файлах и проверять дату создания.
Если он постоянно запущен, то можно прямо в структурах хранить какую-то дату создания/валидности.
нет, питон язык для быдлокода
Можешь въебать говна и любой бек для фронта на электроне
>element = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div[2]/form/div[2]/div[1]/input")
>element = driver.find_element_by_name("phone_country")
https://web.telegram.org/#/login
Поле для ввода кода страны.
Сука, ну не находит.
Xpath вроде valid
Блядь, очень тупой походу
Xpath корректный вроде, iframe нет, time выставлен.
Может у них есть защита какая-то или что-то еще, о чем так просто не узнать?
В этом случае должна работать простая итерация - https://pastebin.com/XZ7AyX75. Это может быть потрясающе неэффективно, но в ORM есть свои способы оптимизации. Например, что-то вроде https://pastebin.com/EqRhxUac
Сохраняй source и смотри чо там, может надо дождаться пока оно там нарисуется, а ты сразу ищешь.
Шарит тут кто-нибудь в Скрапи? Хочу научиться парсить странички. Нашел на апворке задание спарсить все подписи под фотографиями с этой ссылки https://vsco.co/chrysc/gallery типа инстаграмма сайт.
Там значит при открытии ссылки загружается 14 фото и кнопка load more после нажатия кнопки появляется бесконечный скролл, который отправляет такой же аякс запрос к апи, как и кнопка. У запроса параметры limit - сколько фото загружать и cursor - какой-то код, как я понимаю указатель, который указывает, до куда загружать и site_id - хз что. В ответ приходит json, который содержит всю информацию о фото, предыдущий и следующий указатель. Пик 1 в общем. Если прокрутить до конца то в ответе на последний запрос просто нет следующего указателя.
Я написал такой код и вроде как он даже загружает, подставляет новый указатель и тоже подгружает, но всего почему-то 42 значения и они ещё и повторяются иногда, в общем полное говно какое-то. В терминале Скрапи пишет, что типа много повторов и он их больше не будет выводить.
Есть какие-нибудь идеи, что это за хрень? Или это у них какая-то выебистая система, специально, чтоб не парсили?
Я уже и сюда написал
https://stackoverflow.com/questions/62106475/selenium-message-unable-to-locate-element#62106475
Все, что предложил модератор, вроде попробовал, но ничего не помогло
Заголовки у меня все добавлены, без них вообще нахер шлет.
xpath какой-то жутковатый, но и он, и более простые версии (https://pastebin.com/gCWhhL9h) работают из хрома. Значит, дело не в них.
На месте ли страница? Можно ли вывести в терминал и посмотреть, как выглядит тег body? Не закрывает ли форму какой-нибудь дерзкий поп-ап? Что говорит стектрейс?
pastebin стерся, ну и ладно
бамп вопросу
Добрый вечер. Объясните, зачем вообще в питоне ООП? Я ни разу еще не писал каких-то классов или еще чего. Никогда не переопределял классы или методы у импортированных модулей. Я вообще не понимаю, зачем это все надо. Мои программы это просто набор хорошо укомплектованных функций и какой-нибудь if __name__ == '__main__' в конце. ООП мне кажется вообще неудобным. Какие-то классы, методы, еще какая-то ебота. Я не понимаю, нахуя мне понимать философию и сакральный смысл какой-то хуйни, если я просто хочу писать код.
А это разве не будет постоянно выдавать один и тот же результат? Нужно чтобы с началом нового дня выдавало по новой.
Тебе в мл.
Чекаю, спасибо, впервые в этой теме
Хм, вообще, работаю с Pythonanywhere, ботов поднимать оттуда удавалось, доступ к Телеге оттуда есть, но мало ли....
Дефолтный пустой спилт так хитро работает, потому что это часто нужная фича. Остальные строго про параметру режут.
Видимо, работа функции по дефолту, split(" ") работает иначе
Стандартная проблема одиночек.
Чтобы понять ООП, думай о нем как правилах взаимодействия кучи тупых сварливых кодеров. Тогда все логично.
Сука, так и есть, какого хуя вообще, через Pythonanywhere Селениум не может открыть некоторые сайты, типа телеги, пайтон.орг, гениально блять
Не думаю, что там по матрице на translation, rotation и scale - линейные преобразования складываются в одну матрицу простым умножением. Но точно не скажу. Рекомендую найти тред по блендеру и немного изучить основы 3д графики. Ну и конечно выяснить, что это за матрицы.
Можно было бы проверить, что конкретно не так с умножением на инверсию матрицы, но для этого нужен конкретный пример с логом ошибки. И опять же удостовериться, что это то, что тебе нужно.
спасибо за ответ
так-то там в файле модели других кандидатов под матрицы нет,
остальное - вертексы, имена текстур и т.д., скорее всего это оно
я глянул библиотеку которая юзает модельку, по ходу это должно быть D3DXMATRIX, но это мне не особо помогло
Из последнего говно-скрипт на 100-200 или около того стр с прикрученным сайтом на джанго для прохождения онлайн курсов на edu-reg.ru
>>708737
Я не думаю, что это какая-то проблема. Просто ООП кажется очень громоздкой ненужной херней. Это, кончено, прикольно, что все есть объект со своими методами, но я бы не стал реализовывать парадигмы ООП как основополагающие для своего кода
ООП это один из способов формального закрепления одних и тех же идей и представлений о том, как правильно организовывать большие кодовые базы. Противопоставление ООП чему-либо не имеет большого смысла, потому что ООП не уникален ни в чем. Базовая идея о том, что есть данные и есть операции над ними вообще пришла из алгебры.
Другое дело, что ручные реализации этих принципов (например, ООП можно реализовать на полностью структурном Си) будут самого разного качества и формы. Команды без опыта получат лапшу, которая начнет проявлять признаки структуры после третьего переписывания, опытные команды сделают все правильно сразу, но будут расходиться по длинному списку вопросов.
Это делает вещи сложнее, поэтому во многих языках эти самые идеи здравого смысла имеют поддержку в виде отдельного синтаксиса и семантики. Это как договориться писать "3 ^ 4" вместо "3 3 3 * 3". После того, как основные проблемы решены (ака базовые фичи ООП), можно перейти и к более сложным вопросам. По аналогии с возведением в степень, теперь мы можем писать "3 ^ 4.1" вместо сложных действий по поиску аналогичной closed form formula. Я думаю, именно набор таких фич делает ООП сложным для изучения.
Получаем ли мы бонусы от именно этой реализации опыта организации кода? Конечно. ООП нотация здорово помогает IDE давать релевантные подсказки. Оно дает нам натуральную иерархию для документации. Интерфейсы дают простую возможность пихать точки расширения куда угодно, чем обильно пользуются авторы фреймворков. Ну и как любой единый стиль, про который все знают, это то, что держит большие кодовые базы на плаву.
Есть ли минусы? Естественно. ООП неявно поощряет к мутабельности и делать такие вещи, которые в определенный момент ставят крест на дальнейшем улучшении статической типизации. Языки с наиболее продвинутыми системами типов - функциональные. До определенного момента ООП более (или намного более) многословен. ООП уверенно плох в реализации ряда вещей (см. магические методы add и radd; entity component system).
Уникален ли как-нибудь в этом плане питон? Ты действительно можешь выжать намного больше из простого структурного подхода. Поэтому в питоне практически нет старых джавовских паттернов проектирования и dependency injection. Но начиная с определенного момента проблемы все равно появляются и встроенный в язык ООП может их решить. А может и не решить, тут уж как повезет. У нас просто есть рабочая гипотеза о том, что если это правильно притоговить, то проблем станет меньше.
ООП это один из способов формального закрепления одних и тех же идей и представлений о том, как правильно организовывать большие кодовые базы. Противопоставление ООП чему-либо не имеет большого смысла, потому что ООП не уникален ни в чем. Базовая идея о том, что есть данные и есть операции над ними вообще пришла из алгебры.
Другое дело, что ручные реализации этих принципов (например, ООП можно реализовать на полностью структурном Си) будут самого разного качества и формы. Команды без опыта получат лапшу, которая начнет проявлять признаки структуры после третьего переписывания, опытные команды сделают все правильно сразу, но будут расходиться по длинному списку вопросов.
Это делает вещи сложнее, поэтому во многих языках эти самые идеи здравого смысла имеют поддержку в виде отдельного синтаксиса и семантики. Это как договориться писать "3 ^ 4" вместо "3 3 3 * 3". После того, как основные проблемы решены (ака базовые фичи ООП), можно перейти и к более сложным вопросам. По аналогии с возведением в степень, теперь мы можем писать "3 ^ 4.1" вместо сложных действий по поиску аналогичной closed form formula. Я думаю, именно набор таких фич делает ООП сложным для изучения.
Получаем ли мы бонусы от именно этой реализации опыта организации кода? Конечно. ООП нотация здорово помогает IDE давать релевантные подсказки. Оно дает нам натуральную иерархию для документации. Интерфейсы дают простую возможность пихать точки расширения куда угодно, чем обильно пользуются авторы фреймворков. Ну и как любой единый стиль, про который все знают, это то, что держит большие кодовые базы на плаву.
Есть ли минусы? Естественно. ООП неявно поощряет к мутабельности и делать такие вещи, которые в определенный момент ставят крест на дальнейшем улучшении статической типизации. Языки с наиболее продвинутыми системами типов - функциональные. До определенного момента ООП более (или намного более) многословен. ООП уверенно плох в реализации ряда вещей (см. магические методы add и radd; entity component system).
Уникален ли как-нибудь в этом плане питон? Ты действительно можешь выжать намного больше из простого структурного подхода. Поэтому в питоне практически нет старых джавовских паттернов проектирования и dependency injection. Но начиная с определенного момента проблемы все равно появляются и встроенный в язык ООП может их решить. А может и не решить, тут уж как повезет. У нас просто есть рабочая гипотеза о том, что если это правильно притоговить, то проблем станет меньше.
Почитал про тройку - vue angular react. Но для них нужно знать js. Короче, какой стек мне ещё изучить, чтобы написать свое веб-приложение?
нафиг тебе навороченый фронт для джанги если ты бекендер а не фулстек, шаблоны на бутстрапе уже оверхед
Для пет-проекта. В команде один человек - я. Поэтому задумался, что с фронтом делать
Я с дивана но слышал что с джангой vue используют
https://www.youtube.com/results?search_query=vue+django
Есть что-нибудь более углубленное чем укус питона, но чтобы не слишком заебисто было?
Пелевина почитай, например. Не слишком заебисто? Это техническая литература, тут не получится почитать часик в электричке и разобраться. Нужно потеть буквально над каждой страницей, иначе никакого смысла нет.
Довольно понятно и плотно. Спасибо, анон
для чего-то простого можно вообще без фреймворков обойтись, на чистом жс, а т.к. ты жс еще не знаешь там у фреймворков еще все запутаннее будет.
>>708897
вообще-то любой жс фреймворк можно использовать, или вообще без него.
какие-то простые вещи, работа с api, и прочие мелкие вещи на чистом жс проще сделать, если конечно какой-то из жс фреймворков не знаешь.
какой-то дурной тон!! работа работой, а политика и социальные новости могут в твиттере у себя выразить, не к месту мне кажется!
А конкретное название книги напиши. Еще какие варианты есть?
Так жанга древний унылый mvc фреймворк, а экспресс это библиотека под работу с req, res, ее аналог это фласк
а что популярнее в 2к20
Давно меня зовут всякие вылезаторы из говна вкатиться в айти и всё такое. Но я слишком ленивый, так что всё это хуйня. Не потяну я. Но! У меня возникло менее абстрактное и далекоидущее желание: написать бота для дисскорда. С простеньким функционалом, вроде чтения сообщения и ответа по ключевым словам. Нет, это даже не чатбот. Есть куча видео "как написать бота", где тебя учат в каком порядке кнопки нажимать, но именно хочу сам написать с нуля. Казалось бы - ну так читай хуютца и пиши. Но дело не то не в языке, а в понимании куда и как этот язык засунуть. Итак:
Дано: В школе рисовали российский флаг в кубасике, а в универе писали на паскале что-то уровня "автоматическая решалка квадратных уравнений". Никакого ООП, структур данных. Короче, ничего. Английский понимаю, но материал на английском увеличит нагрузку раза в 2, так как одно дело понимать о чём говорят в саус парке и совсем другое читать техническую литературу. Нет, подтягивать язык параллельно с освоением совершенной новой для меня области деятельности я не собираюсь. Одного зайца будет достаточно.
Хочу: Написать простенького бота для Discord для личного пользования.
Функционал: читать сообщения в чате и реагировать ответными сообщениями в зависимости от содержания.
Вопрос: Что нужно изучить? Я так понимаю, что нужно прочитать про ООП и собственно введение в питон. Что ещё? Я не вижу всей картины, ибо от IT я, ясное дело, далёк.
За сумбурщину уж простите. Вот вам тяночька.
Да просто прочитать документацию какой-нибудь библиотеки, с помощью которой ты его напишешь.
Ты не понял. Я вот понимают примерно что такое библиотека, но именно что ПРИМЕРНО. Я гуманитарий с небольшой физмат базой, которой как раз хватает, чтобы не падать в обморок при виде знака производной. Меня учили объявлять переменные, потом их складывать, а потом выводить на экран. Всё это в пределах 20 строк. Пределом того, чему нас учили, были функции. Это прям реально был потолок. Я не до конца понимаю как всё это работает вообще. С чего начинается и чем заканчивается. Но не вижу ничего невозможного чтобы узнать. Но мне надо понять - откуда узнать то? Школьный учебник по информатике мне явно ничего не объяснит - я в школе внимательно его читал. Там кроме логических операций и двоичной системы исчисления не было нихуя.
Или таки стоит начать с введения в язык?
спасибо
Тебе как раз подойдет питон краш курс и автоматинг боринг стафф, которые советуют всем подряд на серьезных щах.
Ну вот ты знаешь, что такое функция. А библиотека - это файл с функциями, которые кто-то другой написал.
Типа когда ты пишешь print(), ты же не задумываешься, как оно работает. А это функция, которую разработчики питона написали за тебя и сложили в отдельный файл, который где-то там лежит и когда ты пишешь принт, то автоматически открывается тот файл и запускается та функция.
И есть такие же функции, которые написали для чего угодно, включая ботов для разных чатов.
Для общего знакомства с питоном достаточно навернуть укус питона, читается очень легко. Дальше открываешь документацию discord.py, это охуенная библиотека для ботов в дискорд на питоне, и по гайду из неё делаешь простейшего бота, который уже умеет отвечать на сообщение. Дальше из той же библиотеки просто подключи команды, если понадобится. Документация крайне простая.
Укус питона вроде был в шапке, https://discordpy.readthedocs.io/en/latest/ это discord.py
Спасибо.
Не, я читал и параллельно пытался понять как twitchio устроен.
пришел запрос ---> данные из запроса распарсились ---> открыл соединение к Рэбиту ---> положил данные ---> закрыл соединение
Как мне открыть соединение один раз и потом его юзать постоянно и во всем сервисе?
Как сделать подобное с синхронными очередями я знаю, там все просто, как это сделать тут - хуй знает, т.к. ебаный await который можно заюзать только внутри функции и собсна как после этого данный коннект прокинуть на все приложение - не знаю. Ну не глобалку ж юзать.
по сути придется юзать глобалку
в FastAPI предлагается следующая система:
делаешь метод def get_rabbit_connection() , а в каждой функции пишешь Dependency(get_rabbit_connection)
я обычно делаю так: вставляю в request.app.state поле спецовое с этим самым коннекшеном а в get_rabbit_connection передаю request
получаю довольно лапшевидно, но мне кажется так удобнее
Добрый день, товарищи. Запутался, нужна помощь.
Делаю примитивный (как оказалось, для меня совсем нет) парсер
Есть страница html. В случае, если на ней есть конкретное слово, скрипт должен выдавать мне А, иначе Б
Собственно, удобнее и красивее, дабы не срать в тред своим говнокодом а то еще кто ослапнет
https://pastebin.com/emhQEd8F
Норкоман штоле? Ты пробуешь открыть файл с именем как у твоей переменной.
И зачем искать по строкам? Достаточно всю твою хуиту заменить на
if name1 in response.text
>Норкоман штоле?
Привет. Да.
>Ты пробуешь открыть файл с именем как у твоей переменной.
Вчера меня посещала подобная мысль, видимо, нужно сохранить этот вывод как текстовый файл, да?
>И зачем искать по строкам? Достаточно всю твою хуиту заменить на
if name1 in response.text
Тут вот в чем дело: потенциально я хочу производить некие колдунства с данной страницей. Например, найти некий соседний параметр с параметром name1
И вот как я хочу это сделать: разбить строку на конструкции, узнать номер конструкции, где содержится name1, прибавить к номеру n-e число, и дальше производить уже с ним всякие грязные махинации
Даже писать это устал. Мб есть способ попроще узнать содержимео соседнего поля?
Там длинная строка формата
...<td>name1</td> <td>param11</td> <td>param12</td>...
Ну и платиновый (наверное) вопрос. Есть винда, в ней командная строка, хочу запустить скрипт, он ругается типо нет модуля
C:\Users\lox>ftype Python.File
Python.File="C:\WINDOWS\py.exe" "%L" %*
А питон, который у меня в пайчарме, куда я закачивал эти модули - он в другом месте
Можно ли как-то малой кровью не добавляя какие-то странные переменные, заставить скрипт нормально работать из командной строки винды?
https://stackoverflow.com/questions/17309288/importerror-no-module-named-requests
Описанное тут не помогло.
Мб этот пакет (модуль) можно установить в стоковый питон, но чет он меня игнорирует (то, что в инете находил, не помогает), и вообще даже путь не дает поменять.
По работе с контентом - смотри beautifulsoup, ещё можно выдирать регулярками как быстрохак, но обе эти темы достаточно обширны.
С модулями - пучарм по дефолту для каждого проекта создает венв, т.е. изолированный сетап питона, куда докидывает нужные модули.
Для системного питона можешь в том же cmd сделать pip install requests
>Даже писать это устал. Мб есть способ попроще узнать содержимео соседнего поля?
>Там длинная строка формата
>...<td>name1</td> <td>param11</td> <td>param12</td>...
Есть уже готовые парсеры типа БьютифулСоупа, чтобы такой хуйней не заниматься.
Так, братаны, что-то не въезжаю в концепцию питоновского GIL. Я в курсе что это такой необходимый для CPython костыль, чтоб интерпретатор не наебнулся во время выполнения, выражается в невозможности выполнять более 1 потока одновременно
Но... постойте, потоки блин и так не могут выполняться "одновременно", если сцуко процессор занят одной вычислительной операцией он не может на похуй параллельно выполнять другую, поэтому "одновременное" выполнение возможно лишь в операциях ввода-вывода (когда проц отдает выполнение стороннему ресурсу)
Так в чем прикол GIL блин?
Уже сто лет дохуя ядер и будет только больше, вот тебе и одновременно.
https://ideone.com/OciJX7
все просто:
- потоки питона точно такие же традиционные потоки в смысле ОС.
- GIL блокирует интерпретатор самого питона, но не остальные системные вызовы или потоки.
-GIL "отпускается", если ты в питоне вызывал функцию на Си типа read или select.
- маловероятно, что GIL можно заменить и не потерять в производительности простых и дорогих сердцу Гвидо однопоточных скриптиков и джанго-сайтов. GIL - навсегда.
То есть, можно написать традиционный много тредовый сервер и, в принципе, будет почти ок.
Можно вынести *y вторым параметром, но будет без запятых.
Можешь заморочиться с двумя принтами и end плюс sep для запятых.
Мапы джойны не предлагаю.
str(y).sript('[]')
Про soup понял, буду разбираться
По поводу системного питона
Вроде бы я это делал, во всяком случае что-то подобное пробовал провернуть
Да и синтаксис команды очень похож на линуксовый. Какие-то аналоги я точно пробовал. Возможно, стоит докинуть руками? Гляну.
В любом случае спасибо, тред!
Что случилось, взрослые ребята дали тебе попробовать метапрограммирование? А я тебе говорила, не связывайся с ними, они тебя плохому научат.
Кто бы сомневался, что вылезет какая-то школьная ебанашка со снисходительным тоном.
Сложный так как нет нормальных обучалок, на ютубе одна залупа в стиле выучить питон за час, где какой то долбаеб создает бота телеграмм копируя код с сайта и даже не обьясняет как он работает либо какой то ебанат обьясняющий 10 уроков как создать КАЛкулятор, а по книжкам учить это полная пизда, там умудряются такую элементарную хуйню усложнить что после пары страниц ты думаешь что уже не вывезешь дальше этот язык, до сих пор не нашел золотую середину, дрочи пока все подряд первый год, берись за все книги и видеоуроки которые находишь и дрочи их пока мышление выстраивается если ты в программировании новичок
Как раз таки для питона написано самое большое количество крутых и интересных самоучителей, и это главная причина почему я взялся его учить.
Так-то я хотел яву и шарп, а по ним хер да нихера.
О хаскелле можно даже не заикаться, я хз как и где его люди учат. Наощупь видимо.
поняла, просто я имела ввиду на долгосрочной основе кому-то может такое подойдет потому что у меня постоянно проблемы с программированием. спасибо за ответ. вот моё задание:
на картинке дерево. терминальные узлы это слова, а нетерминалы - это части речи. это синтаксическая структура предложения. Такое дерево в виде кода представлено вот таким образом - ('S', [('NP', [('ART', 'die'), ('N', 'Katze')]), ('VP', [('V', 'jagt'), ('NP', [('ART', 'die'), ('N', 'Vögel')])])])
как описано в задании, идея состоит в том, что каждое дерево это кортеж из 2 элементом (2 tuple), на первой позиции стоит материнский узел в формате string а на второй позиции либо тоже стринг если речь идёт о листе дерева (терминальном узле), либо же формат List если там находятся дочерние ветви от материнского узла, то есть нереминалы. Они построены рекурсивно также как и их мать (я не понимаю эту фразу но так сказано в задании). И само задание написать функцию, которая считает количество нетерминальных узлов в дереве. Должно это выглядеть в виде числа вот таким образом:
test: print(node_count(('S', [('NP', [('ART', 'die'), ('N', 'Katze')]), ('VP', [('V', 'jagt'), ('NP', [('ART', 'die'), ('N', 'Vögel')])])])))
Result:
9
Я заранее извиняюсь если я это недостаточно понятно описала, так как надо было переводить многую терминологию. и честно, я не знаю как это решать. Всё, что мне приходило в голову это сделать это через len(tuple) но оно не сработало. Буду очень признательна за помощб
Двочую, хз че он не может найти, я нашел Питон для киндеров, начну обучение с него а там посмотрим, да даже в шапке вон около 50 книг на яндекс диске
я могу писать от мужского лица если тебе от этого станет лучше
слушай, я конечно ссал на фемок, но почему она должна писать о себе в мужском роде если она тян? Почему она должна скрывать свой пол?
благодарен
Традиции двощей, синдром пизды в поле "From", вот это всё. Зачем акцентировать то, чему тред не посвящен?
Согласен. Прочитал эту книженцию за 4е дня особо не напрягаясь. Книга обычный справочник, зачем читал, хз.
Сейчас читаю Лутца и приходит понимае что, куда, зачем, для чего и почему. Этот "укус питона" кроме как справочника ни на что более не годится.
да и то лучше посмотреть оф. документацию, чем этот мусор
Если ты знаешь что такое рекурсия, то все просто:
1. Берешь этот кортеж и проверяешь тип второго элемента.
2. Если элемент строка, то возвращаешь единичку, больше тут делать нечего
3. Если элемент список, то для каждого элемента(кортежа) в списке проделываешь пункты 1 и 2
4. В конце складываешь результаты.
Все.
Если не знаешь что такое рекурсия, то прочитай что это и посмотри примеры использования.
Че все так сложно та, прочитал как будто на другом языке и нихуя не понятно, программисты как будто с другой планеты и другая более разумная расса
Программисты как ученые просто (хотя по разуму даже близко не стояли) - очень любят четкую терминологию. Это засилье терминов может сбивать с толку и запутывать неискушенных людей.
Как стать таким же если я тупой, начал изучать недавно, вроде интересно, но с каждой ступенькой понимаю что у меня не хватит мозгов, там же сплошная математика по которой я дуб дубом, пока научился делать калькулятор, какуж стратегию выбрать чтобы тупому обучиться до джуна, планирую за 5 лет, как распланировать обучение чтобы не перегореть? А то метаюсь от книги к книге и научный текст вообще не воспринимаю, будто читаю на английском
Короч, хватаем что в функцию прилетело, бошку сразу рубим, а хвоста не выкидываем, глядим на него, тут у нас два пути: если скобок нету, то один в уме держим и свободны, а если есть - опять ему бошку рубим и опять на хоста глядим. Потом вспоминаем что у нас в уме сложилось. Ну и готово.Так лучше?
у меня такое было постоянно пока к соседу снизу не заложил дыру в батарее. бедненький. где-то в МВидео работает кабанчиком.
Но у него был друг и он ему регулярно звонил.
Спасибо большое, буду пробовать
Из тех. Бэкграунда есть знание sql, понимание работы веба и бд, понимаю, что такое ооп.
В целях самообразования решил освоить ЯП.
С конкретной целью точно не определился, как минимум это расширение тех. бэкграунда с целью повышения своей стоимости на рынке труда, а если мне сильно зайдёт, то возможно смена специальности.
Питон рассматриваю потому, что с ним можно и в разработку, и в анализ данных, и в дата сатанизм, и в автотестирование. К чему из этого лежит душа и лежит ли вообще я возможно пойму освоив питон на базовом уровне.
Вопросов 2:
-подойдёт ли питон для вышеобозначенных целей
-есть ли какой-то гайд по вкату для таких как я? Цели изучить язык глубоко не стоит, уровень даже джуна мне наверно пока будет избыточен. Для начала просто понять как это все работает и нужно ли мне.
> -подойдёт ли питон для вышеобозначенных целей
если цель просто получить околопригодный для любых целей инструмент, то да
> -есть ли какой-то гайд по вкату для таких как я? Цели изучить язык глубоко не стоит, уровень даже джуна мне наверно пока будет избыточен. Для начала просто понять как это все работает и нужно ли мне.
я питон разраб так что хз за гайды, я топлю за книгу Лучано Романо Fluent Python, но там мб много всякого лишнего для тебя. Есть еще Python автоматизация рутинных задач, ее хвалят. Мб погуглить какую простую книжку по анализу данных.
Это cmder.
есть скрипт https://pastebin.com/cVWbsDmE
он работает
просит ввести данные ,но я не понимаю что в него вводить
как я понимаю он просит ввести путь на документ и ширину и высоту экрана
но какой тип документа надо использовать?
кратко про скрипт
делает принтскрины в определенной области и переводит в видео
Он от тебя просит ширину и высоту окна, с которого запись ведёшь, а сохранять будет в файл в тот же каталог, где лежит скрипт.
Понял спасибо
А в каком формате вводить данные
Просто размер например 600 + пробел +800 или <600>пробел<800>
Ты пишешь название скрипта, как ты сначала написал, и в той же строке через пробел циферки, и потом жмёшь энтер
В общем, заебался, ничего не понимаю. Нахер этот Скрапи, слишком много там всяких папочек и настроек для такого, как мне кажется, подключил просто requests. Мне же надо просто запрос отправлять к апи и ответ получать, даже хтмл парсить не надо. А для вывода и обычный txt сойдет.
Написал такой код, если просто запустить цикл типа пока в ответе есть следующий указатель, то цикл бесконечный. Запустил 5 итераций и норм все было, запустил вот на 10 и после 6-й итерации с какого-то хера приходит не то, что нужно, это теги из под самых первых фоток (которые не аяксом загружаются, а сразу после открытия страницы) и далее на 8, 9, 10 итд итерациях ответ один и тот же. Ну вот в общем можете сами увидеть https://pastebin.com/6n9NhJLd
При этом в браузере по этому же запросу информация нормальная. Вот на пикчах 2 и 3 показан седьмой запрос с вроде верной ссылкой, но в скрипт приходит совсем другой ответ.
Мб заметите, где я обосрался? Мб это из-за какиих-то символов специальных типа "=" и "+", которые неправильно подставляются? Хотя в других запросах тоже они есть и норм вроде.
>— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
>Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
Вспомнил и спецом зашел, чтоб обоссать автора шапки за это. Ты злобная свинья. Ты своими охуительными советами лишаешь ньюфагов радости делать фракталы из фоток Эйнштейна. У меня все.
Сделай слеши в другую сторону, он ругается на бэкслеши в адресе, хуй пойми почему
Короче, запусти попробуй через cmd винды, через cd зайди в каталог скрипта и дальше python3 "имя скрипта" 800 600
Может заглушка какая-то, чтобы запросы слишком часто не отправлял? Со раскоменченным слипом та же хуйня?
Ага, тоже так думал.
>создает тестовую базу
То есть любые объявления Model.objects.create внутри TestCase по факту нифига не создают?
import sys
sys.path.append('C:/Users/Username/Desktop/')
import aaa
Но модуль нихера невидно.
Как реализовать запрос содержимого таблицы1 организованный по результату вычисления "функции" использующих значения двух столбцов(x1,x2) из таблицы2 с форингкеем к таблице1
SELECT owner_id, (x1 + x2)2 AS Result INTO #tempTable2 FROM table2
SELECT table1.* FROM table1 JOIN #tempTable2 ON table1.id=#tempTable2.owner_id ORDER BY #tempTable2.Result
Что-то такое
Спасибо за ответ! Я с какими слешами только не пихал, всё-равно не работало. В твоём случае правильно ещё r перед слешами добавить или двойными \\ писать, но так тоже не работает:
AttributeError: module 'ntpath' has no attribute 'abs'
>В твоём случае правильно ещё
Этим как раз занимается функция abs - приводит путь к правильному виду
>ещё r перед слешами добавить
Второй питон используешь что ли? Тогда попробуй заменить os.path.abs на os.path.abspath
>Второй питон используешь что ли?
3.8
Если пишу, как у тебя, то выдаёт:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
А в чем проблема? Если надо запустить их парралельно - делаешь тредсейф, чтобы не блочило основную функцию, если не надо - просто слипы добавь
Ему \Users не нравится. Я, видимо, не глядя в abs / пихал.
Давай сначала. Вот это у меня работает:
import os, sys
sys.path.append(os.path.abspath('C:/users/user/desktop'))
import aaa
В sys.path добавляется строка вида 'C:\\users\\user\\desktop', проверь, чтобы у тебя строка в sys.path так же выглядела.
У тебя при импорте модуля ошибка ModuleNotFoundError?
Спасибо за помощь, анон! Я юзал PyCharm и там всё-равно не работает. Сейчас запустил в стандартном IDLE, модуль импортируется и тестовая функция выполняется. Работает и с командой:
import sys
sys.path.append('C:\\Users\\User\\Desktop')
и с твоей последней командой:
import os, sys
sys.path.append(os.path.abspath('C:/users/user/desktop'))
Осталось разобраться, почему в PyCharm не работает и пишет No module named aaa, не смотря на то, что в sys.path все пути прописаны правильно
https://www.pyimagesearch.com/2017/09/18/real-time-object-detection-with-deep-learning-and-opencv/
Мне нужно чтобы он выводил куда-нибудь всю хуйню, а не только в окошке показывал мне предметы. Чтобы логфайл делал, так сказать. Потом этот лог файл подхватывала бы другая программа, и все. Я не знаю питон, и мне только эту хуйню припилить, чтобы все было хорошо.
Есть тут занимающиеся компьютерным зрением? Помогите позязя :3
https://pastebin.com/B9JNBhuW
>>710863
Гугли ран-корутин-тредсейф в асинкио.
>>710937
https://stackoverflow.com/questions/1547494/how-to-do-nested-django-select
Чет на скульру не увидел вакух по питухону.
>annotate
В ней же можно только определенные функции указывать avg sum max и прочее?
Мне нужно немного "сложнее" вычисления (получив свои координаты проверяю координаты в бд выстраиваю наиболее ближних) и чтобы по результату этого вычисления выстроились результаты. Может подскажешь где в запросах джанго орм можно указывать свои функции?
>>710976
Там немного не то рассматривается, по описанным выше причинам.
>>710982
>сосаче
Именно для этого.
Если вкратце, то суть такова:
Из-за коронавируса остался без работы на которой проработал около 10 лет(учился на заочке). Эта была моя первая и единственная работа, сильно к нему привык, но увы, ничто не вечно. Благо малость успел накопить денег на полгода/год жизни без обязательства работать. Вряд ли в ближайшие пару месяцев мне светит какая-то работа, ибо ситуация пиздецовая, рабочие места закрываются, то бишь вакансий все меньше, а работников желающих найти работу все больше. Ситуация нынче такая, что люди готовы работать за копейки, конкурировать с ними смысла не вижу. Настал переломный момент в моей жизни. Благо не все так плохо, мне 25, жизнь пока не проебана.
Хочу воспользоваться накопившимся капиталом и за эти полгода/год выучить и попробовать вкатиться в веб разработку, а если быть точнее, начать работать бэкендом. Я прекрасно понимаю, что мне придется после обучения определенное время работать за гроши будучи джуниором, но похуй, благо желание есть, да и перспектив один хуй больше, нежели по моей специальности, в коей все очень хуево.
Полным ньюфагом не являюсь, т.к. в свое время высирал разного рода скрипты/макросы на AutoIt и AutoHotkey для автоматизации повседневной рутинной работы. Как началась эпидемия, сел и начал учить основы питона, а дальше уже пошел html и css. Уже пару недель как пытаюсь выучить джанго, более-менее получается что-то совсем простенькое(создание баз, какая-никакая работа с языком шаблона и прочие основы).
У меня тут несколько тупых вопросов, очень надеюсь на твой совет, уважаемый анон:
1) Когда стоит начать учить основы JavaScript-а?
2) Как правильно практиковать писать на джанге?
Сейчас я делаю так:
За пару тройку дней высираю какой-нибудь шаблон блога на bootstrap 4, сильно заморачиваясь с css стилем, а потом уже перехожу на джангу, где пытаюсь писать бэкенд. Делаю это так потом, что в шаблон блога добавляю разного рода ненужную парашу по типу многоуровневой сортировки и прочее говно, которое в блоге нахуй не нужно, но в других местах пригодиться, так сказать, пытаюсь прокачать знания алгоритмов.
Это вообще нормальный способ? Или лучше забить хуй на еблю с фронтом и скачивать бесплатные шаблоны, и практиковаться на них?
Если вкратце, то суть такова:
Из-за коронавируса остался без работы на которой проработал около 10 лет(учился на заочке). Эта была моя первая и единственная работа, сильно к нему привык, но увы, ничто не вечно. Благо малость успел накопить денег на полгода/год жизни без обязательства работать. Вряд ли в ближайшие пару месяцев мне светит какая-то работа, ибо ситуация пиздецовая, рабочие места закрываются, то бишь вакансий все меньше, а работников желающих найти работу все больше. Ситуация нынче такая, что люди готовы работать за копейки, конкурировать с ними смысла не вижу. Настал переломный момент в моей жизни. Благо не все так плохо, мне 25, жизнь пока не проебана.
Хочу воспользоваться накопившимся капиталом и за эти полгода/год выучить и попробовать вкатиться в веб разработку, а если быть точнее, начать работать бэкендом. Я прекрасно понимаю, что мне придется после обучения определенное время работать за гроши будучи джуниором, но похуй, благо желание есть, да и перспектив один хуй больше, нежели по моей специальности, в коей все очень хуево.
Полным ньюфагом не являюсь, т.к. в свое время высирал разного рода скрипты/макросы на AutoIt и AutoHotkey для автоматизации повседневной рутинной работы. Как началась эпидемия, сел и начал учить основы питона, а дальше уже пошел html и css. Уже пару недель как пытаюсь выучить джанго, более-менее получается что-то совсем простенькое(создание баз, какая-никакая работа с языком шаблона и прочие основы).
У меня тут несколько тупых вопросов, очень надеюсь на твой совет, уважаемый анон:
1) Когда стоит начать учить основы JavaScript-а?
2) Как правильно практиковать писать на джанге?
Сейчас я делаю так:
За пару тройку дней высираю какой-нибудь шаблон блога на bootstrap 4, сильно заморачиваясь с css стилем, а потом уже перехожу на джангу, где пытаюсь писать бэкенд. Делаю это так потом, что в шаблон блога добавляю разного рода ненужную парашу по типу многоуровневой сортировки и прочее говно, которое в блоге нахуй не нужно, но в других местах пригодиться, так сказать, пытаюсь прокачать знания алгоритмов.
Это вообще нормальный способ? Или лучше забить хуй на еблю с фронтом и скачивать бесплатные шаблоны, и практиковаться на них?
> Если я правильно понял, то "вся хуйня" лежит в detection, если тебе нужна только надпись на рамке, то тебе нужен label на 76 строке.
Спасибо большое. Дай бог здоровья. Правда print(label) выводит только один обьект, а второй выводит после, но не вместе. Но и так нормально.
Кстати, а как добавлять или убавлять обьекты поиска. Там видно что код ищет только нужные предметы, а при удалении какого-нибудь, посылает нах. Видимо где-то описано количество предметов, да?
>мне 25, жизнь пока не проебана.
Сорян, но ты уже слишком стар. В 25 становятся как минимум мидлами, а учитывая что у тебя знаний меньше, чем у школьника-олимпиадника, то конкуренцию с молодыми и на всё готовыми ты вряд ли осилишь( Тем более сейчас каждый второй считает ойти манной небесной с зарплатами по 300К, поэтому рыночек перенаселён.
Мне 24 и я постоянно думаю, что жизнь полностью проебана. Мне вообще стыдно кому угодно говорить, что учу программирование, кажется, что все смеяться будут. Вот звонили недавно из 2гис, откликнулся на их вакансию хуя-обновлятеля информации об организациях за 25к, так меня кадровичка по телефону уже выебала, спросив, что, а кем бы я хотел работать постоянно, если не на их прекрасной позиции (нахуя сука они все это спрашивают, на любой самой даунской работе блядь, неужели им самим не очевидно, что никто бы не хотел задерживаться на этой работе надолго?), я просто обливаясь потом сказал: "эээээээ, нууууу, вот, кхе-кхе, мммммммм, я немного изучаю программирование...". Сегодня письмо на почту пришло, о том, что я им не подхожу даже для этого говна.
Как его лучше хостить в веб? Поднять в докере? Или лучше стендалон с uwsgi? Как он статику отдаёт сам?
Мне нужно что-то готовое, что я потом смогу зараутить с помощью nginx.
Ну я и еблан конечно.
https://flask.palletsprojects.com/en/1.1.x/deploying/#deployment
Простите, там всё написано для таких долбаёбов как я.
>>Благо не все так плохо, мне 25, жизнь пока не проебана.
25 норм для вкатывания. Не иди только в гос конторы и прочие помойки. Хз че тебя здесь пугают, ты можешь хоть в 30 вкатываться, если у тебя есть потенциал роста.
>Я прекрасно понимаю, что мне придется после обучения определенное время работать за гроши будучи джуниором
Апай инглиш. За бугром джуны норм получают
>1) Когда стоит начать учить основы JavaScript-а?
Когда тебе он понадобиться.Если ты бэк, тебе по сути, туториала хватит. Не заморачивайся короче
>Как правильно практиковать писать на джанге
ознакомься с архитектурой джанго приложений. (где то в офф туториале об этом упоминается кстати)
>пытаюсь прокачать знания алгоритмов
Если ты в вебе, на этом этапе для тебя это юзлес
>Или лучше забить хуй на еблю с фронтом и скачивать бесплатные шаблоны, и практиковаться на них?
Если хочешь заниматься бекэндом, просто качай ставь на бутстрап.
а разгадка проста
первые 2 по 5 - это какая-то неведомая хуйня, а остальное - это 3 матрицы 4х4
Вы видите копию треда, сохраненную 4 октября 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.