Вы видите копию треда, сохраненную 16 марта 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Коммуна: https://sites.google.com/view/pypry/
Основные книги: https://yadi.sk/d/HQhhsBsq3TVRUq
F.A.Q: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Интерактив шел: https://repl.it/languages/python3
Книги которые ты никогда не прочтёшь: https://yadi.sk/d/tArKKuQu3Kejuq
#python #питон #пайтон #vscode #вскод
прошлогодний: >>1316759 (OP)
>fuuuuuuuuuuuuuuuu
мод, будь ласка, подправь циферу плз
Ну, я про тоже говоря что двигаться надо в сторону которую надо лично тебе.
Куда можно вкатиться для практики и ничего не сломать?
>Ты ведь не начал рисовать, снимать в Ютабчик или делать прости господи рэп. Там деньги побольше, чем в кодерстве (насчет первого не уверен), но их ты не выбрал.
Все тобою перечисленное приносит меньше денег, чем кодерство.
Кодерство сопряжено с решением реальных задач. А реальных задач, которые нужно решить, до сих пор очень много. От системного программирования и ведения баз данных, до программирования интерфейсов и визуализаторов.
Рисование, ютабчик и рэпчик - это то, что делается с целью развлечь аудиторию. Проблем с развлечениями сейчас нет. Инфосреда перенасыщена разного рода легкодоступным взаимозаменяемым инфомусором. Реально популярными сейчас становятся лишь те, у кого есть исключительные врожденные особенности (внешность, голос, наличие пизды, етц) и те, кто стоял у истоков, сумел урвать популярность, уехать на хайптрейне. Дефицита кадров нет и быть не может. Потому что люди по большому счету могут развлечь себя и без интернета (бухнуть, упороться, просто пообщаться). А банковскую базу данных на каком-нибудь древнем Коболе кто-то в любом случае должен поддерживать.
Как результат - деятели искусства в большинстве своем живут в проголодь, а то и вовсе нихрена не получают за свои скиллы.
В подтверждение можешь загуглить среднюю зп аниматора в Японии. 800 долларов в месяц в стране с развитой экономикой - по-твоему это много? Программисты в среднем в два раза больше получают, если что.
А вообще начать нужно было с того, что вакансий на рэперов и ютуб-блоггеров вообще нет. Равно как и нет гарантированного заработка. Развитие в подобном направлении - это как создание своей авторитарной секты или финансовой пирамиды. Деньги здесь конвертируются из твоей харизмы и авторитета, а не из каких-то конкретных сколь-либо измеримых скиллов. Можно очень много труда вложить и это никак не окупится. В кодинге все намного проще.
Все под капотом используют python urllib, тебе сюда:
https://stackoverflow.com/questions/3168171/how-can-i-open-a-website-with-urllib-via-proxy-in-python
возможно я не правильно понял и тебе нужно прокси в штуке по которой кликает autoit - в таком случае тебе пиздец, нужно ставить какую-нибудь приложуху для подрубления VPN/proxy на всю систему, либо, если он будет кликать исключительно, скажем, по браузеру - расширение для браузера.
алсо если ты используешь autoit только чтобы кликать по браузеру, то лучше удалить нахуй это аутирование и написать нормальный скрипт который будет делать запросы сам, как к нему порубить прокси я уже написал
ты школьник, блять?
Но выебали на oop меня - на сахаре, переопределении, call, iter и прочих фичах.
Но собес понравился как и вопросы.
Если кому интересно, то могу подробный список сделать.
Анонизпрошлоготреда
А вот прочитал бы лутца и флюент пайтон, то такого бы не было
мимо вкатился 2 года назад с подобными вопросами
> Напиши сперва что за вакансия была (позиция, требования, обязанности)
В прошлом треде давал ссылку на hh, поищи.
> ну и пили, что у тебя там спрашивали.
Окей, буду дома - распишу всё.
Спасибо за ответы.
> в таком случае тебе пиздец
Сценарий как раз такой, что мне пиздец.
> если ты используешь autoit только чтобы кликать по браузеру
Если бы это был браузер, тогда я бы просто селениум юзал.
А это программа под шиндовс, а реверсить запросы не очень хочется, так что придется делать как ты подсказал
> ставить какую-нибудь приложуху для подрубления VPN/proxy на всю систему
> > ставить какую-нибудь приложуху для подрубления VPN/proxy на всю систему
Алсо может кто знает что-то подобное с api, чтобы можно было из скрипта менять прокси
Документацию и исходники.
> А вот прочитал бы лутца и флюент пайтон, то такого бы не было
Только если б перед самым собесом. Ибо не юзал подобное и поэтому не знал, а так бы забыл уже просто.
> мимо вкатился 2 года назад с подобными вопросами
Молодец, но не факт что и меня не возьмут.
>>28079
Вакансия:
https://gomel.jobs.tut.by/vacancy/29522007
Вопросы:
Для начала вопросы общие(с чем работал, что знаешь, как дела с C/C++). Стандартные типы данных и их свойства. Словари(хешируемость, какие типы данных могут быть ключами? а если два списка в кортеж засунуть, сработает?). Область видимости. Рекурсия(почему задан на её лимит? почему лучше не использовать его массово?). List comprehension(какие типы данных можно оттуда получить). Декораторы(пара примеров стандартных + примеры из работы, Flask тот же + напиши свой). Генератор/Итератор(как for i in a под капотом работает? а как к своему объекту прикрутить итерирование кастомное? напиши генератор. когда отработает print если вставить его в генераторе после yield). OOP в питоне(наследование. super. множественное наследование. как вызвать метод одного из нескольких родителей, если этот метод есть у всех родителей(вызов из вне методов класса и тот же вопрос но уже вызов в методе дочернего класса)? метод есть у обоих родителей, вызываем его без указания конкретного родителя, метод какого родителя вызовется?). Многопточность(как ресурсы распределяются? как настроить связь между потоками? GIL). Многопроцессорность(как ресурсы распределяются? как настроить связь между процессами? как убить конкретный процесс в линупсе?). Асинхронность(как в синхронный код встроить асинхронную функцию/библиотеку? зачем она нужна? как отрабатывает под капотом? когда юзал её и для чего?). Celery/RabbitMQ/Redis(где юзал? какие задачи хорошо выполнять? что под капотом(потоки/процессы)?). REST(методы? что это такое?). Longpoll(для чего, зачем и как?). Callback(для чего, зачем и как?). Сокеты(работал ли? что использовал для этого?). На чём API небольшое поднял бы и чому?. SQL(типы связей? типы данных?). NoSQL(работал?). Докер(работал? плюсы? минусы? слои?).
На этом вроде и всё(думаю не всё вспомнил). Вопросы в хронологической последовательности стоят.
В самом конце это всё разбавлялось разговорами о ранее выполненных проектах мной, выбранной архитектуре, так же о их проектах.
Всё длилось почти два часа.
P.S. Не все вопросы по OOP назвал т.к. это был пиздец и я поплыл просто, ничего не соображал, ещё и жарко было в переговорке.
P.P.S. Даже заранее глянули гитхаб мой(проекты и код), но ничего не сказали. Один из проектов не смогли запустить ибо проебал импорт лишней либы, фэйл.
> А вот прочитал бы лутца и флюент пайтон, то такого бы не было
Только если б перед самым собесом. Ибо не юзал подобное и поэтому не знал, а так бы забыл уже просто.
> мимо вкатился 2 года назад с подобными вопросами
Молодец, но не факт что и меня не возьмут.
>>28079
Вакансия:
https://gomel.jobs.tut.by/vacancy/29522007
Вопросы:
Для начала вопросы общие(с чем работал, что знаешь, как дела с C/C++). Стандартные типы данных и их свойства. Словари(хешируемость, какие типы данных могут быть ключами? а если два списка в кортеж засунуть, сработает?). Область видимости. Рекурсия(почему задан на её лимит? почему лучше не использовать его массово?). List comprehension(какие типы данных можно оттуда получить). Декораторы(пара примеров стандартных + примеры из работы, Flask тот же + напиши свой). Генератор/Итератор(как for i in a под капотом работает? а как к своему объекту прикрутить итерирование кастомное? напиши генератор. когда отработает print если вставить его в генераторе после yield). OOP в питоне(наследование. super. множественное наследование. как вызвать метод одного из нескольких родителей, если этот метод есть у всех родителей(вызов из вне методов класса и тот же вопрос но уже вызов в методе дочернего класса)? метод есть у обоих родителей, вызываем его без указания конкретного родителя, метод какого родителя вызовется?). Многопточность(как ресурсы распределяются? как настроить связь между потоками? GIL). Многопроцессорность(как ресурсы распределяются? как настроить связь между процессами? как убить конкретный процесс в линупсе?). Асинхронность(как в синхронный код встроить асинхронную функцию/библиотеку? зачем она нужна? как отрабатывает под капотом? когда юзал её и для чего?). Celery/RabbitMQ/Redis(где юзал? какие задачи хорошо выполнять? что под капотом(потоки/процессы)?). REST(методы? что это такое?). Longpoll(для чего, зачем и как?). Callback(для чего, зачем и как?). Сокеты(работал ли? что использовал для этого?). На чём API небольшое поднял бы и чому?. SQL(типы связей? типы данных?). NoSQL(работал?). Докер(работал? плюсы? минусы? слои?).
На этом вроде и всё(думаю не всё вспомнил). Вопросы в хронологической последовательности стоят.
В самом конце это всё разбавлялось разговорами о ранее выполненных проектах мной, выбранной архитектуре, так же о их проектах.
Всё длилось почти два часа.
P.S. Не все вопросы по OOP назвал т.к. это был пиздец и я поплыл просто, ничего не соображал, ещё и жарко было в переговорке.
P.P.S. Даже заранее глянули гитхаб мой(проекты и код), но ничего не сказали. Один из проектов не смогли запустить ибо проебал импорт лишней либы, фэйл.
В конце понеслось, конечно.
У тебя настолько навороченные проекты, что там о какой-то даже архитектуре можно разговаривать?
>А я не знаю как уволиться с моей теперешней работы, не делал никогда такого ещё.
Я писал кадровичке, что хочу заявление написать, потом офер показывал. Было стремно, но лучше это сделать сейчас
Я же не единственный погромист там был, да и по факту ждун еще на тот момент (а на следующей вакансии уже как мидл шел)
Отработал две недели положенные и норм всем было
Ну то понятно. Но мои уже месяц не могут найти питониста с годом опыта на новый проект, говорили, что если не найдут, то я туда.
Проблема ещё и в том, что у нас только 3 пистониста, ну и и я, походу, самый опытный.
>Но мои уже месяц не могут найти питониста с годом опыта на новый проект
После моего ухода вакансия висела еще 5 месяцев. Хорошо быть погромистом в мухосранске
А у нас то не такая уж и мухосрань БульбоДС, но тем не менее не могут найти никого, ну или так "ищут".
Собрал яйца в кулак, завтра пойду за ЗП и увольняться.
> Есть парочка нестандартных
Сельдерей, редис и кролика тоже использовал? Алсо расскажи про проекты на джанго/фласке: верстал ли, пилил ли чего на жс в них? Я вот в джуна пытаюсь вкатиться, ковыряю джанго, но до жс и верстки дело не дошло. Надысь ходил на собеседование, меня завернули на вопросах по хтмл/цсс, до питона, скуля и самого жс вообще не дошло дело, хотя вакансия не фронт ни разу.
> Сегодня утром прислали офер.
Мои поздравления.
> А я не знаю как уволиться с моей теперешней работы, не делал никогда такого ещё.
Ох, лол, берешь и без задней мысли говоришь начальнику, что хочешь уволиться. Заполняешь по собственному, отрабатываешь 2 недели и уходишь в закат. Там, конечно, начнутся обещания и обида ебаная, а потом судорожные поиски нового сотрудника (и вот тут ты можешь узнать о своей конторе и начальстве много нового, если доведётся увидеть как проходят собеседования и что они обсуждают потом между собой после них).
>>28620
Во-первых, бизнес и ничего личного. Они могут давить на жалость и обещать плюшки, но если ты начнёшь расшаркиваться ради конторы, контора потом в очень редких случаях тебе навстречу пойдёт, и ты вообще можешь первым полететь, случись чего. Во-вторых, смотри выше про собеседования. Бывают случаи, когда не могут долго найти сотрудника, хотя разных спецов хоть жопой жуй, на вакансии условия чуть ли не попку пудрой посыпать будут, а на деле всё не так совсем и нередко компания может отфутболивать кучу резюме даже не доводя их до первичного собеседования просто потому что может. Или кукарекают, что могут сейчас прямо любого спеца взять за любые деньги, а потом человек с хорошими знаниями и богатым опытом приходит, просит не такую уж большую сумму, а ему отказывают, потому что начальство на 70 едва со скрипом согласно и только после испытательного срока.
> Сельдерей, редис и кролика тоже использовал?
Да, всё и сразу, и по отдельности для разных целей.
Я как-то уже тут кратко писал про проект с raspberry pi и парковкой, там вот как раз это всё использовалось для отправки сообщений с панели админа на конкретную машину. Ну это если интересное задание, ну а так, это обычный стек для большинства проектов на Джанге.
> Алсо расскажи про проекты на джанго/фласке
Ну на джанге обычно йобо-сайты. Коллега юзал его для админки управления ботом(который настраивает купленные для трейдеров, вроде как, шиндовс-сервера).
На фласке пилю то, что поменьше, вот к примеру панель админа для того же проекта на raspberry pi. Или личный кабинет что б админить БД и работу бота в ВК. Я думаю ход мыслей понятен.
> : верстал ли, пилил ли чего на жс в них?
JQuery - мой максимум, и то, немного, я сразу всем говорю что с JS работать не умею, не умел и учиться не буду. Но если надо - разбираюсь немного в коде и могу подправить или написать своё.
В крупных проектах обычно дизайн мне уже дают готовый и я его натягиваю(тут то знания эти и пригодятся), а пока пишу бэк то юзаю bootstrap 3/4 что б можно было заказчику всё показать.
Общее представление о тегах/классах и прочем есть. Но их я скорее во время парсинга сайтов и автоматизации приобрёл.
> берешь и без задней мысли говоришь начальнику, что хочешь уволиться
Думаю завтра так и сделаю.
Если есть желающие испытать судьбу - могу дать контакты дядьки.
А вообще забавно. Денех нет, но мы это, чэсно отдадим тебе 33% потом, когда-нибудь, может быть, нет.
Зачем создавать социальную сеть для спортсменов, если можно создать полноценный спортпаблек в действующей соцсети?
инбифо:нигде
Ну если кто и согласится на такую хуйню, то нужно все это сразу юридически офомлять(очевидное наеблово же)
Кусок на пике выдает "слово; слово; слово". Как мне сделать, чтобы в самом начале списка он писал "1. "? Т.е. "1. слово; слово; слово". У меня получилось добиться только "1. 1. 1. слово; слово; слово", лол.
А, всё, въехал.
Я правильно понял, что в линупсе количество корутин ограничено только памятью, а на шинде фиксированное значение, после достижения которого вылетает ошибка?
Какой то ахуевший( просто тупой ) мужик который хочет забесплатно припахать
Лол, тут целое комбо: всем нужно знать что он уезжал с выблядком(!), сдох фронт разработчик.
очевидно я, может ты уже скажешь шо гуглить или и дальше буешь говорить какой я даун?
python choose file dialog
А как тогда на шинде происходит? На линухе я запустил больше 4 миллионов корутин (и у меня закончилась память), в то время, как в винде ошибка выскочила на тысяче
я ньюфаг если что
>Как узнать какие вообще нагрузки будет давать он при 50, 100, 1000 пользователей?
Профилирование и нагрузочное тестироватние
>Как мне узнать нужна ли моему софту асинхронизация?
Она нужна когда ты хочешь оптимизировать утилизацию процессерного времени. Она нужна при большом количестве блокирующих операций.
1) Есть контора, где нет отдела разработки, которая всё отдавала на аутсорс, а тут вдруг созрела и решила запилить свой. Пока там никого, от кадровика я так и не понял вообще кто будет заниматься организацией разработки и есть ли вообще какие-то идеи у них на этот счёт. Дальше интереснее -- они хотят пилить проекты для себя на джанго, имея в отделе 2х человек: помидора и джуна/мидла. Я претендую на джуна. Пока ответа не было, но если будет, то стоит ли при таком раскладе связываться? Что-то сомневаюсь, что один помидор в команде из двух человек и, возможно, полное отсутствие всяких систем управления проектами и контроля версий, дадут хорошее развитие. Вангую, он будет так нагружен, что не до ревью будет, в итоге ждун будет решать задачи хуй пойми как лишь бы работало.
2) Стоит ли связаться с вакансиями, где задачи -- сопровождение каких-то проектов и поддержка (python, SQL для отчетиков, как я понял)? Какая-то автоматизация, иногда в нумпи посчитать что-нибудь и нарисовать. Почему мне кажется, что работа будет примерно одна и та же и не совсем интересная, через какое-то время надоест, а достаточных знаний для переката в какой-нибудь веб на ней не получить (разве что опять джуном, но блджад ещё 5 лет что ли джуном быть). Для отчётов же оптимально писать код, асинхронность или многопроцессорность -поточность не особо нужна наверно, нет? Ну и фреймворки и прочее тоже мимо меня пройдут.
Пиздос, вот это я днище оказывается.
Повезло несколько месяцев назад первую дноработу получить, а я такой убогий.
Что ж, пойду догонять\дочитывать Лутца.
> Есть парочка нестандартных, а остальные обычные, да(django/flask/aiohttp/falcon/api вот это вот всё)
А гитхаб скинешь?
> Повезло несколько месяцев назад первую дноработу получить
Всё ок, галвное что получил, а теперь не останавливайся и расти, прокачивай скилл и всё будет заебись.
Моя первая работа тоже была дном, если бы не фриланс - совсем ебанулся б и отупел, теперь вот тертья будет, надеюсь зайдёт хорошо.
>>32839
Ой, ну я стесняюсь.
P.s. меня наконец уволили и в понедельник будет первый рабочий день на новой работе, ура
Что за ошибка? Код в студию.
Не понравится уйдёшь, хуле думать? Если есть сочнее варианты выбирай их, если нет иди куда есть, опыт получишь.
> Где до этого работал в Минске джуинором?
Мелкая новая контора, взяли первым питонистом. Было это в 2к17, но тогда я на 5-6 собесов до этого сходил, так что сомневаюсь что вакансии пропали резко.
Хз как ты ищешь работу, но вот в фирму, из которой я ушёл только что набрали 2 стажёров погромистов-питонистов и 1 пистониста с опытом работы 1+ год.
Регайся на Linkedin, добавляй всех подряд из предложки и всё у тебя будет хорошо. Хрюши сами писать будут.
У меня при выключенном статусе поиска предложения идут.
> Ой, ну я стесняюсь.
Да не стесняйся анон. Можешь в телегу скинуть, например. Просто хочу почитать, сравнить со своим. По стилю кода, по организации. Вообще хотел бы почитать какие-нибудь небольшие проекты с хорошей организацией, стилем, чтобы почерпнуть для себя как правильно делать. А то в моей конторе одни джуны (и я самый поздний) и порой встречается очень лютый пиздец.
Ну или сюда.
@HarrysFolks телега
> Всё ок, галвное что получил, а теперь не останавливайся и расти, прокачивай скилл и всё будет заебись.
> Моя первая работа тоже была дном, если бы не фриланс - совсем ебанулся б и отупел, теперь вот тертья будет, надеюсь зайдёт хорошо.
Спасибо на добром слове няш :3
Ну это норм вообще приходить на место и в течение нескольких месяцев опять сваливать? Потом других работодателей не будет отпугивать такая херня?
Я ещё и на предыдущих местах по 2 года примерно работал, потому что тоже никакого роста не видел за это время ни у себя, ни зарплаты своей и уходил в другое, а теперь вообще в другую область полез.
Но всё-таки интересно, что анон думает насчёт отдела из двух человек.
>Хз как ты ищешь работу, но вот в фирму, из которой я ушёл только что набрали 2 стажёров погромистов-питонистов и 1 пистониста с опытом работы 1+ год.
Просто мониторю дев бай и другие площадки. Везде нужны йобо сеньеры, вплоть до легаси фреймворков аля торнато, с тонной опыта работы с брокерами сообщений. Ясен хуй ни того ни другого у меня нету.
>>32991
>Регайся на Linkedin,
Зарегался, заполнил профиль никто вообще не стучится, поиск включен, просмотров как было 0 так и осталось.
Где храняться данные в куче или стеке?
Если к примеру (без асинхронизации) одновременно будет работать с программой 10 пользователей, то программа будет обрабатывать каждого из них поочередно, или для каждого будет создан поток? Простым языком если, вся последовательность операций от ввода данных пользователем до записи в бд занимает 2 секунды, если одновременно будут 10 человек, то это растянется на 20 секунд или все те же 2?
Если для каждого юзера создается один поток и все это делается одновременно, то зачем нужна асинхронизация? Чтобы внутри потока решать ресурсоемкие задачи? Типа чел вводит спарсить полинтернетов, программа ставит задачу парсить полинтернетов и тем временем постепенно выдает юзеру результаты парсинга, то бишь две задачи работают АСИНХРОННО, правильно?
И если есть, киньте какой то материал по асинхронизации в питоне для совсем деревянных
пик стронгли релейтед
>Нихуя могу понять как работает асинхронизация (и, видимо, в целом компьютер).
Кароче под капотом там все тривиально.
Есть некий событийный цикл.
Он же Event Loop.
Цикл бесконечно while true проверяет, скажем, наличие запросов пользователей на запись данных к БД, или наобород получения данных оттуда.
Например это может быть реализованно в виде списка сокетов которые мониторит эвент луп.
Как только пользователь кидает что то на запись, евент луп это тут же выхватывает, отдает данные функции на запись, и крутиться дальше.
Типа того.
Можешь погуглить видео молчанова про асинхронность.
>Как только пользователь кидает что то на запись, евент луп это тут же выхватывает, отдает данные функции на запись, и крутиться дальше.
А если функция в этот момент занята?
Ебать, радует что наполовину вопросов таки смог ответить. Остальные подтянуть не проблема.
Анон, пора разносить резюме?
Единственное что боюсь что собесбудет на ангельском.
И ищу удаленку.
Дело происходит в Украине.
>Потом других работодателей не будет отпугивать такая херня?
Нет. Если объяснишь почему ушёл.
>Но всё-таки интересно, что анон думает насчёт отдела из двух человек.
В хорошем будущем отдел будет расширяться и вы вдвоём станете руководителями. В плохом — отдел расформируют, а вас выкинут на мороз.
>Если к примеру (без асинхронизации) одновременно будет работать с программой 10 пользователей, то программа будет обрабатывать каждого из них поочередно, или для каждого будет создан поток
Зависит от машины и от того как ты это напишешь, 9 могут ждать, пока один обрабатывается.
Если брать например ОС и одноядерник (без гипертрединга) - то да, там у каждого процесса переключается контекст и дается квант времени.
>>33260
>то бишь две задачи работают АСИНХРОННО, правильно?
Нужно понимать разницу между IO и CPU bound операциями.
Если брать например тот же пример с БД.
Без асинхронности, у тебя есть поток, который делает запрос к базе И ЖДЕТ. Сам запрос к базе - IO операция, большая часть времени тратится на доступ к хранилищу.
В случае же асинхронной операции, у тебя после запроса к базе, поток освобождается и может заняться другими делами.
там какое-то мнопотоковое приложение и в функции лок?
короче, задали в вузике задачу: написать код, который создаст массив из n-чисел( рандомные числа, перевернутый и почти отсортированный) и сортирует их 2 способами (пузырек и вставки). Во время сортировки прога должна считать перестановки и сравнения. Не зная языков набросал вот такое. Не понимаю как посчитать сравнения. Куда я только счетчики не ставил, вечно выдает какую то хуйню.
import random
def BubbleSort(a): # функция сортировки пузырьком
count = 0 # счетчик перестановок
for i in range(len(a), 0, -1):
flag = True
for j in range(1, i):
if a[j - 1] > a[j]:
c = a[j - 1]
a[j - 1] = a[j]
a[j] = c
count += 1
flag = False
if flag:
break
print ('Произведено перестановок: ', count)
return a
def InsertionSort(a):
count = 0
for i in range(len(a)):
v = a
j = i
count += 1
while (a[j-1] > v) and (j > 0):
a[j] = a[j-1]
j = j - 1
a[j] = v
per +=1
print('Произведено перестановок: ', count)
короче, задали в вузике задачу: написать код, который создаст массив из n-чисел( рандомные числа, перевернутый и почти отсортированный) и сортирует их 2 способами (пузырек и вставки). Во время сортировки прога должна считать перестановки и сравнения. Не зная языков набросал вот такое. Не понимаю как посчитать сравнения. Куда я только счетчики не ставил, вечно выдает какую то хуйню.
import random
def BubbleSort(a): # функция сортировки пузырьком
count = 0 # счетчик перестановок
for i in range(len(a), 0, -1):
flag = True
for j in range(1, i):
if a[j - 1] > a[j]:
c = a[j - 1]
a[j - 1] = a[j]
a[j] = c
count += 1
flag = False
if flag:
break
print ('Произведено перестановок: ', count)
return a
def InsertionSort(a):
count = 0
for i in range(len(a)):
v = a
j = i
count += 1
while (a[j-1] > v) and (j > 0):
a[j] = a[j-1]
j = j - 1
a[j] = v
per +=1
print('Произведено перестановок: ', count)
>Кст у тебя вышка профильная есть или нет? Если да, то шараги или топ вуза?
Для того чтобы отвечать на вопросы которые ему задали нужно иметь профильную вышку?
На позицию мидла это очень слабые требования, учитывая как он написал "посыпался". На джуниора и про дескрипторы и MRO и по многопроцессорность в некоторых конторах гоняют и ничего.
>Ебануться, и это на джуна без опыта
Нет конечно.
Выше написали что ужетри говноработы сменил, на мидла идет.
Но хочу искать новую работу на удаленке.
Если меня просят на собесе про разницу между этими версиями питона и я честно скажу что не знаю потому что со старой версией по работе даже не стаклкивала мне не перезвонят?
Но это не требования а путь.
Двачую вопрос. Тут смотрел один видос про асинхронность, состоящий почти полностью из воды, но там была такая фраза, что, мол, в асинхронных библиотеках создаётся обычно eventloop и множество потоков, которые уже выполняют работу и ждут io и прочие блокирующие операции. То есть, асинхронность -- это всё-таки многопоточность, просто скрытая от программы, которая её использует, чтобы её можно было писать как синхронную?
>>33430
А что с ними не так?
>А что с ними не так?
Торнадо и гевент уже сильно посасывают в скорости у aiohttp, т.к. используют самописные варианты эвент лупа, в то время, как Селиванов ускоряет asyncio сишными либами где только можно. Еще и uvloop выпустил базирующийся на libuv, который работает только с стандартным asyncio.
Так ты питон не для работы учишь?
Теперь пару коммитов на гитхаб и можешь смело искать работу на удалёнке за 150к.
Напиши консольный текстовый квест. С разными вариантами и исходами.
есть такое ощущение что не понимаешь вообще как что работает и несешь чушь
то есть у тебя даже представления нет
Сделой рядом еще одну функцию, тогда у тебя их будет две и они смогут обслуживать двух пользователей
Я понимаю почему тут ошибка, я спрашиваю, это когда то был легитимный код, или это ощибка в книге?
Может и ошибка книги. Редакторов, переводчика, автора.
Ыыыыыы сука заорал
> Просто хочу почитать, сравнить со своим.
У каждого своё. У меня там 2 проекта норм , ну почти, 2 пет, и кучка дажнго-фриланс-проектов
> По стилю кода, по организации. Вообще хотел бы почитать какие-нибудь небольшие проекты с хорошей организацией, стилем, чтобы почерпнуть для себя как правильно делать. А то в моей конторе одни джуны (и я самый поздний) и порой встречается очень лютый пиздец.
Тебе bestpractice нужны, а не мой код.
>>33207
> Зарегался, заполнил профиль никто вообще не стучится, поиск включен, просмотров как было 0 так и осталось.
Так может в друзья народ добавить надо? Обычно так ищут персонал.
>>33410
Не три, а две, эта третья будет
>>33261
Не на джуна, да. Ну и я специально не учил ничего, а с чем сталкивался - то им слёту отвечал, а с чем нет - пытался логически догнать.
>>33299
Чому б и нет? Пробовать не запрещено.
>>33357
У меня там 2 проекта норм, 2 пет, и кучка дажнго-фриланс-проектов.
Они чекнули точно пет проект(сказали об этом), насчёт остального хз. Но в остальных проектах есть flask/django/ceelry/rabbitmq/redis/postgres и прочее, думаю и их пролистали.
>>33359
Вышки нет, сейчас получаю её (заочно, лол), типа топ вуз (ИИТ БГУИР)
>>33379
> На джуниора и про дескрипторы и MRO и по многопроцессорность в некоторых конторах гоняют и ничего.
Таки да, было такое.
> На позицию мидла это очень слабые требования, учитывая как он написал "посыпался".
Я посыпался именно на ООП, и то, не на всех же вопросах, а на тех, с которыми не сталкивался.
Насчёт слабые/не слабые даже хз. Просто я так и не уловил какой-то чёткой грани между вопросами на продвинутого джуна и на мидла, она есть вообще? Какая градация?
Я на сколько помню, у мидла больше спрашивают про "подкопотную" составляющую языка и его методов/функций и прочего.
Но тут собес как был:
общий вопрос -> под капот -> выбрались из-под капота -> общий вопрос -> под капот и так до конца.
P.s. Кстати, про английский ни слова не было, ни до ни после собеса.
> Просто хочу почитать, сравнить со своим.
У каждого своё. У меня там 2 проекта норм , ну почти, 2 пет, и кучка дажнго-фриланс-проектов
> По стилю кода, по организации. Вообще хотел бы почитать какие-нибудь небольшие проекты с хорошей организацией, стилем, чтобы почерпнуть для себя как правильно делать. А то в моей конторе одни джуны (и я самый поздний) и порой встречается очень лютый пиздец.
Тебе bestpractice нужны, а не мой код.
>>33207
> Зарегался, заполнил профиль никто вообще не стучится, поиск включен, просмотров как было 0 так и осталось.
Так может в друзья народ добавить надо? Обычно так ищут персонал.
>>33410
Не три, а две, эта третья будет
>>33261
Не на джуна, да. Ну и я специально не учил ничего, а с чем сталкивался - то им слёту отвечал, а с чем нет - пытался логически догнать.
>>33299
Чому б и нет? Пробовать не запрещено.
>>33357
У меня там 2 проекта норм, 2 пет, и кучка дажнго-фриланс-проектов.
Они чекнули точно пет проект(сказали об этом), насчёт остального хз. Но в остальных проектах есть flask/django/ceelry/rabbitmq/redis/postgres и прочее, думаю и их пролистали.
>>33359
Вышки нет, сейчас получаю её (заочно, лол), типа топ вуз (ИИТ БГУИР)
>>33379
> На джуниора и про дескрипторы и MRO и по многопроцессорность в некоторых конторах гоняют и ничего.
Таки да, было такое.
> На позицию мидла это очень слабые требования, учитывая как он написал "посыпался".
Я посыпался именно на ООП, и то, не на всех же вопросах, а на тех, с которыми не сталкивался.
Насчёт слабые/не слабые даже хз. Просто я так и не уловил какой-то чёткой грани между вопросами на продвинутого джуна и на мидла, она есть вообще? Какая градация?
Я на сколько помню, у мидла больше спрашивают про "подкопотную" составляющую языка и его методов/функций и прочего.
Но тут собес как был:
общий вопрос -> под капот -> выбрались из-под капота -> общий вопрос -> под капот и так до конца.
P.s. Кстати, про английский ни слова не было, ни до ни после собеса.
Знание английского на уровне хотя бы чтения документации/технической литературы и статей уже как само собой разумеещееся должно быть для разработчика, поэтому наверно и не спрашивают. Также как и белая зарплата. А у нас как отзывы о конторах откроешь, так чаще, чем в каждом втором, в плюсах указывают белую зарплату. Лол, это не плюс, а норма должна быть.
Есть 2 стула, на один уже сел:
1. Pyinstaller. Все лаконично
2. CPython, Nuitka тут все сложно. По сути операции те же, тот же объем библиотек впихивает. Ещё и время теряется
А как аксакалы справляются?
Ага, спасибо. Там есть родственник - TableWidget, попробую с ним для начала.
Pyinstaller, разумеется, в чем вопрос?
Привет, можно посмотреть твои джанго проекты? Сам учу его, хотел глянуть для практики
API(flask/falcon/aiohttp), парсеры.
Все знакомые программисты кроют его хуями, называя недоязыком.
В чем преимущество знания этого языка на рынке труда в отличии от остальных.
первый php/js фулстак, второй c# разраб с проектом в дремучем легаси. глядя на успехи сотоварищей стал осваивать программирование с помощью python, но за это закидан ссаными тряпками.
хотелось бы аргументации
тяночка красивая на пике кто это? мм прям няяя хочу трахат. хз почему кроют хуями, язык супер, сам сишарпер
> php/js фулстак
> Node.js
> фулстак
Короче на cms сайтики пишет.
> С#
> Легаси
Ну кто бы сомневался.
Смело шли нахуй и указывай на проекты Яндекса. Активные проекты, ИИ и прочее.
Будущее есть, для учебы сгодится. Потом решать куда пиздовать с этим багажом.
foo() for i in range(10) - синтактически неверен.
for i in range(10): foo() - разбивается на две строки автопепом.
Как в питоне сделать нормальный однострочный луп?
Учись иметь свое мнение, мразь. Хватит прогибаться.
Потому что я могу создать однострочный иф и хочу создать однострочный луп. Но не могу. Меня это бесит.
Пифон специально сделал чтобы у мамкиных однострочников пригорало. Однострочный if тоже дурной тон, ващет.
Нахуй он тогда есть? Почему одно однострочное говно есть, а другого однострочного говна нет? Меня бесит эта антисимметрия однострочников.
Потому что это не однострочный иф, а тернарный оператор, который есть везде, просто с человеческим синтаксом.
> for i in range(10): foo() - разбивается на две строки автопепом.
У меня ничего не разбивается, при запуске из дефолтной idle. Иди говна поешь.
>автопеп разбивает
>Как в питоне сделать нормальный однострочный луп?
>вот, однострочный луп, работает
>пук
Бля, ну я же написал
> что-то по их примеру нихуя пока понять не могу
Там contextmanager и cache из Django, которыми я никогда не пользовался. Проще никак не запилить? У меня по сути проблема не запуска множества одних задач одновременно, а проблема в том, что каждая задача использует какой-то внешний ресурс, который нельзя использовать одновременно и чаще определенного интервала. Я вот думал обернуть обращение к нему в класс-синглтон и запилить в нём при обращении к атрибутам какой-нибудь лок + ожидание времени. Пойдёт такое решение? Разбираться сейчас прямо с тем как можно обходить такие ограничения я не очень хочу.
Нет, не нужно, просто стало любопытно
pathlib.Path("text.txt").write_text("\n".join(map(str, pathlib.Path(".").glob("*.py"))))
pathlib.Path("text.txt").write_text("\n".join(map(str, pathlib.Path(input("Enter dir:")).glob(".xlsx"))))
быстрофикс*
pathlib.Path("text.txt").write_text("\n".join(map(str, pathlib.Path(input("Enter dir:")).glob("*.xlsx"))))
Вместо того, чтобы нормально расписать ньюфагу, ты пытаешься уместить всё в одну строчку, ради максимальной нечитабельности, а попутно еще и сам жиденьким припускаешь.
Зачем?
Другой_анон
Извини, всю голову изломал, внимание притупилось - после твоих слов еще код поковырял, написал какое-то говно типа fnmath.path и поел говна в итоге.
Тебе уже пол треда в лицо нассали, а ты всё пытаешься копротивляться, брось, мань.
Объясните, как это работает?
Последние три строчки принта - как получилось идти по несуществующим элементам массива? Он же давно не содержит 24, 22 и т.д.
Кстати интересно, есть ли какие то плюсу у php перед питоном/джанго кроме того, что у первого куча готовых решений и проще действовать по принципу хуяк-хуяк и в продакшн?
padrachie
Скорость работы, в принципе тут Python может во всех сферах соснуть.
for не проходит по обьекту, который ты запихаешь в for x in OBJECT
for проходит по итератору, который создаётся на основе итерируемого обьекта
Понял, и вдобавок еще и счетчик тоже нельзя менять в таком цикле. Ок, буду использовать while для таких манипуляций.
Это у меня крыша едет или такое может быть? И как мне быть? 2to3 прогнать? Там все равно MIT лицензия.
Можешь читать лутца и проверить изменения в языке, которые есть на его сайте. Он там ещё пишет почему новое издание книги не выпускает.
Ещё раз, что ты хочешь сделать? Получить список файлов, подходящик под маску '*.xlsx', а затем записать все эти имена в текстовый документ. А твой код что делает? Прочитай его построчно, проанализируй. Там же 4 строки у тебя.
Проблема 1: fnmatch принимает аргументами путь/имя файла и, собственно, маску для проверки. А ты ему что передаёшь? Указатель на твой созданный текстовый файл, в который имена писать. Нахуя?
Проблема 2: fnmatch принимает один путь. А ты вызываешь его всего один раз за весь код, вместо каждого файла (т.е. внури for цикла). Нахуя? Ещё и цикл этот запускаешь внутри (неправильного и бессмысленого) условия.
Собственно, в условии задачи ведь уже все расписано:
1. получить файлы (os.listdir твой)
2. найди среди них подходящие (for f in fs: if fnmatch...)
3. записать в файл (file.write(f))
Самое примитивное решение прямо вот в лоб и решить же.
Затем можно открыть документацию и увидеть fnmatch.filter, куда можно сразу весь список файлов передать. А затем и .join у строк, убрав вообще циклы, в итоге до одной строки сократив всю основную часть задачи.
Это если через fnmatch и os.listdit делать. Так-то вот ещё и про glob выше написали, так что способы разные всегда будут.
в питоне дабландерскор переменные в классах волшебные, возможно в книге пример валидный, но только для какой-то конкретной версии питона, знаю только про пикрелейтед
Или это излишне поначалу?
Делай, если условие задачи и твоё решение допускают появление таковых. Иначе - нахуй.
Сап.
Спрашиваю повторно:
При запуске вот этого скрипта https://github.com/dan-v/bruteforce-bitcoin-brainwallet Вылезает ошибка о том, что словарь не в UTF-8. Хотя он в верной кодировке.
Стоит питон 2.7.9, установлены requests и coinkit. Подскажите пожалуйста куда копать. Гугл говорит поменять кодировку %через что уже только не ставил UTF-8%%. В cmd chcp "Текущая кодовая страница:866"
Спасибо.
Поставить приличный python. Включить utf-8 везде (гугли, в 10 винде точно можно).
Благодарю.
На 1 Рамшана приходится 50 so_cool_name_band потолок которых - паблик вк с 5к подписчиков и два -три концерта с кафешках
На начальном этапе изучения Python и программирования в целом столкнулся с задачей
Хочу создать конечный список из координат точек по x и y, который будет заполняться. Логично, что список будет выглядеть как [ (0, 0), (1, 1), ...]
Как задать формат элементам списка и обращаться к ячейкам, заполняя (x, y)?
Нихуя не понятно братишка, попробуй еще раз объяснить что нужно
Заполнять (x, y):
Создаёшь список:
a = []
Добавляешь ячейки:
a.append((x, y))
Читаешь книги и самоучитель:
https://pythonworld.ru/samouchitel-python
Кое-как что-то заставил работать, но криво. Я не понимаю, что за хуета. Почему сначала пол списка выводится, потом весь и в следующем цикле обрабатывается только одно слово?
Вали на SO, там уже решения есть.
Заработало. Вдруг кому-то интересны мои терзание и говнокод
Gist пожалуйста
Обязательно её вручную конвертить в строку при возвращении?
>return ("Вывод: " " + str(а))
Алсо хочу сделать что то на микросервисах, но идей что именно сделать нету. Хотя может продолжить пилить детектор скримеров для двача, но что там можно вынести в отдельные сервисы? И нужно ли это вообще?
Используй форматирование через f'some var {var}', там за тебя применяется метод str
Если хочешь расти, то попробуй вкатится в попенсорс, там тебе и ревью будет и подсказки под бест практисам, да и на код других людей посмотришь.
На работе так же начал деградировать, а потом решил для себя сделать консольный асинхронный чатик на вебсокетах, с шифрованием, отсылкой файлов и отправкой картинок в сообщениях с превращением их в ascii.
Искал попенсорс, но ничего толкового не нашел. Обычно нахожу слишком большие проекты с кучей мейнтейнеров остаются только комплексные задачи. Но сейчас попробую поискать по good first issue на гитхабе.
Тоже чатик на aiohttp начинал делать, но остановился после возможости создания каналов. Надо бы продолжить его писать наверное, а то главная функция - возможность чатиться не реализована.
>Обязательно её вручную конвертить в строку при возвращении?
При возвращении — нет. Но ты всё путаешь-смешиваешь.
В питоне строгая типизация. Если ты хочешь использовать число не как число, то да, надо вручную переводить в другой тип. Конкатенация строк, естественно, возможна лишь со строками, так что тут да, любой нестроковый тип нужно будет str(), если нет какого-то либо иного obj.to_beautiful_string() у этого класса (например, strftime у datetime объекта)
https://www.aeracode.org/2018/06/04/django-async-roadmap/
https://code.djangoproject.com/wiki/Version3.0Roadmap
Получается, что через год джанга по скорости будет догонять всякие аснихронные фреймворки сохраняя удобство?
А как вообще сделана работа с несколькими пользователями сейчас? Читал про uwsgi, но кажется не совсем понял.
То есть у нас есть nginx, который запускает новый инстанс каждый раз, когда происходит вызов, который синхронно отрабатывает и умирает после завершения? Очень на пыху похоже.
ну они СЕЙЧАС озаботились этим вопросом,а писать на рельсах приятнее,чем на джанго
А почему?
Мне казалось, что популярность рельсов упала как раз тогда, когда все фичи спиздили другие фреймворки
потому что упор был на удобство писанины кода,все вело к нагромождению функций+сам рубен далеко не быстр был.
а щас ввели джит и к 3 версии рубена должны ускорить его в 3 раза по сравнению со 2
Ну так цепная реакция запущена. Новые проекты на раби не станут делать, поэтому и популярность не вернётся.
ушедшая популярность-не говорит о херовости системы.питон держится в основном за счет ML.джанго все равно сильно уступает пхп
Я не говорю о херовости или нехеровости. Ваще не знаю как эти рельсы выглядят и работают. Да и это не важно. Речь о том, что вот у нас новый проект, с какого хуя мы выберем для него раби и рельсы? Очень должны быть веские аргументы и скорее всего команды его не выберут.
рельсы похожи на джанго,только гемов больше(это как батарейки в джанго) и писанины меньше
Так я и джанго не видел в глаза. Я абстрактно рассуждаю.
Много способов: kivy, termux, pyqtdeploy
Например чтобы вместо
s='some-string'
for i in s:
..i=i.upper()
Можно было сделать нечто вроде
for i.upper() in s:
?
Ну что ж, вопросов было на собесе дохуя, но что имеем в сухом остатке?
Модуль, над которым предстоит работать, не имеет ни одного комментария и ни одного doc-string'a. Единственными носителями информации о нем, являются два сотрудника(из которых и придется выуживать информацию), которые меня и собеседовали. Благо он небольшой, но структура, конечно, запутана.
Охуел с команды, которая занимается непосредственно ядром, и используемых технологий.
Как-то так.
Был первый рабочий день. Держу в курсе.
Есть джанговский generic.UpdateVIew. В качестве полей указаны 6/8 полей модели. На странице есть форма на все 8 полей (2 поля вручную дорисованы, это manytomany поля, я сделал их простыми input-text). Вопроса два:
1) Как получить данные этих полей?
2) Как их сохранить? Логика их обработки уже есть (ну, восстановление объекта модели из строки), так как так же происходит и создание объекта.
В создании все просто (FormView), а вот как в UpdateVIew сделать тоже самое - хз
UPD
Ага, вытянуть же можно через request.POST, верно? А как данных сохраняются? Что то в ручную не хочецца
У джанги есть виджеты для m2m, почему бы не сделать нормальную форму с их использованием?
А там есть виджет для m2m который работает в точности как input-text, а при вводе появляется список с подходящими вариантами? Не очень то удобно выбирать среди сотен вариантов.
А шо ты с одним синтаксисом хочешь делать то? Алгоритмы учи.
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields
Типа этого? Честно говоря хз, есть ли там поиск, т.к. под рукой нет подходящий проектов сейчас, чтобы проверить.
https://docs.python.org/3/library/index.html
>А как вообще сделана работа с несколькими пользователями сейчас? Читал про uwsgi, но кажется не совсем понял.
То есть у нас есть nginx, который запускает новый инстанс каждый раз, когда происходит вызов, который синхронно отрабатывает и умирает после завершения? Очень на пыху похоже.
Если говна много - берешь и делаешь композицию
Юзай табличную структуру проекта как в джанге:
- директории в корне проекта - названия сущностей
- файлы внутри директорий - названия программных инструментов
Типа такого:
project/
__init__.py
db.py
auth/
__init__.py
route.py
models.py
templates/
blog/
__init__.py
route.py
models.py
templates/
Кстати заодно можешь подсказать, какой архитектурный паттерн сейчас в ходу? MVC?
Пример верный.
Вопрос про архитектурный паттерн сбивает с толку, используй то, что подходит под задачу. Если пишешь сайт - mvc подойдёт.
И что бы на это ответить? Прожорлив, ведь питон сам по себе прожорлив. 50 мб оперативки надо, что б наверняка.
while True:
dbcon.execute("SELECT * FROM `request`")
req = dbcon.fetchall()
print(req)
if len(req) != 0:
dbcon.execute("DELETE FROM `request`")
mydb.commit()
time.sleep(1)
Можно это всё в одну строку сделать? Или надо расписывать по if и elif ?
судя по твоему вопросу тебя это ебать не должно. Люди занимающиеся нормальными задачами таких вопросов не задают, а для других это значения не имеет.
def mutate_if_even(number):
- - is_even = (number % 2 == 0)
- - if is_even:
- - - - return number * 666
- - else:
- - - - return number
mutated_numbers_list = list(mutate_if_even, numbers_list))
Спасибо анон. Буду завтра пробовать, сегодня уже день ковырять питон. Надо дать мозгам отдохнуть, а значит время clojure!
Пока знаю что можно создавать классы без магических методов, но надо ли оно в коммерческих проектах?
Сайт для создания гайдов.
Принес вам такую задачку.
Есть файл со строками текста. Строк в файле очень много, но они повторяются. Задача состоит в том, чтобы перенести все строки в другой файл и отсортировать их.
Эффективным алгоритмом в этой задаче будет - создать массив с уникальными строками и каждой строке прикрутить счетчик с кол-вом повторений этой строки. После того как прочтем каждую строку в файле - сортируем массив и записываем каждую строку в выходной файл и дублируем исходя из счетчика повторений.
Проблемы у меня возникли с самим счетчиком. Каким образом его можно реализовать? Пробовал записывать в отдельный массив, но ничего не получилось.
Прикрепляю свой говно код
python cookbook, было ещё какое-то годное выступление с конференции на ютубчике.
> но надо ли оно в коммерческих проектах?
За два года ни разу не понадобилось.
А на собеседовании спрашивали?
Вообще как я понял это инструмент для создания абстрактного класса.
Но непонятно нахуй такой абстрактный класс нужен, если есть встроенный модуль abc и вроде как по понятия питона вся эта аля джава хуйня вообще не нужна.
Профита нету. Все строки будут в массиве. А что если файл весит 10гигов, а оперативы у меня только 8. Все наебнется
Ты вообще как такую ситуацию представляешь?
Ты там вавилонскую библиотеку в этом файле хранишь блядь?
Если тебя это так беспокоит енжой генераторы, очередь и yeild.
Это случайно не тестовое задание? У меня похожее было.
Необходимо слить логи из нескольких файлов (они могут быть очень большие), так, что бы в итоговом оказались отсортированные логи с возможность указать фильтр по их уровню
Тогда ладно.
Со счётчиком хорошая идея, а с массивом - можно лучше. Red-black tree, например, где ключом будет строка, а значением - счётчик. В Джаве для этих целей используется TreeMap. После загрузки всех строк достаточно будет пройти по дереву и вывести все строки n раз, при этом вывод будет сразу в отсортированном порядке.
>>37983
Задачку придумал для себя сам. Просто интересно как можно ее решить, не используя бд и чтения сразу всего файла.
Вообще тут может быть два случая:
1) Если в файле мало уникальных строк, то применяем этот алгоритм >>37944
2) Если мы прочитали файл и узнали что уникальных строк много и они просто не смогут поместится в массиве, то применяем следующий алгоритм:
Читаем первую строку и записываем в выходной файл. Далее мы каждый берем серединною строку из середины файла и сравниваем ее со считанной. если и получается примерно такая формула:
меньше - берем (middle + 0)/2 строку
больше - берем (middle + end)/2 строку
И сравниваем до тех пор пока не узнаем место вставки. Получается сходящийся ряд.
Алгоритм эффективнее придумать не смог.
Я на собеседованиях спрашиваю "зачем нужны метаклассы", достаточно знать зачем они.
> Вообще как я понял это инструмент для создания абстрактного класса.
Нет, это код, который может повлиять на создание класса. Как new и init влияют на создание инстанса класса.
>>37976
Если в память не влезает то:
а. добавить памяти
б. усложнить алгоритм
Чел вообще-то сказал конкретный алгоритм и спрашивал про реализацию только.
А если файл реально будет огромный, допустим несколько Gb, такой алгоритм не начнёт тормозить из-за разбросанного чтения? Последовательное чтение кажется эффективнее, чем скатать туда-сюда.
Абстрактные классы полезны, по крайней мере те что из collections.abc. Пару раз встречал в чужих библиотеках проверку isinstance(a, list), то есть если ты захочешь свой кастомный класс пропихнуть пропихнуть, то библиотека его не примет, если он не унаследован от листа, хотя казалось бы duck-typing, какая ей разница от кого я наследуюсь, если я реализовал весь его интерфейс. Если бы вместо проверки на list была бы проверка на соответствующий абстрактный класс из collections.abc, то все бы было норм.
двойные листкомприхеншены в лямбде которую ещё и засовывают в переменную, это же пиздец
>За два года ни разу не понадобилось.
>Я на собеседованиях спрашиваю
И нахуя? Если это не разные аноны, конечно.
Не знаю что такое листкомпри что-то там только третий день вкатываюсь в питон, но вроде как автор просил в одну строку и это первое, что на ум пришло.
Физ-базз хуячишь?
Прочитал Изучаем Python от Лутца, основы языка знаю. Теперь читаю Fluent Python. Такое ощущение, что топчусь на месте
Когда устроился на работу где использовался фреймворк Flask.
Да уже решил эту проблему посредством urllib3. Другой вопрос возник, как производить эту загрузку фоном предоставляя серверу возможность отвечать на запросы, а не висеть всё это время?
Сделать отдельную функцию для загрузки и запустить ее через multiprocessing\multithreading
Ну пиздец, это в официальной доке написано и в интернете есть куча примеров по первому запросу, а ты на дваче спрашиваешь то, что бы смог сам узнать за пару минут
Я ему сказал, что питон юзается в обучении программированию вместо пацкаля, в вебе с джанго и в ИИ.
define "недолгая" для начала.
>Совковый препод утверждает, что у питона будет недолгая жизнь, как убедить его в обратном?
Почему он так утверждает? Пистону уже 30 лет, второй ветке 20, тройке почти 10
Да я в теории понимаю как это два параллельных потока могут взаимодействовать, но я не понимаю как мне в один момент параллельно запустить внутри одного из методов сервиса фоновую загрузку файла.
Вот у меня есть например такой код:
@app.route('/submit')
def set_task():
---//---
Func()
---//---
return result
Мне нужно чтобы обращаясь методом submit вызывалась set_task(), отрабатывалось то что до Func(), Func() запускалась в фоне т.к. она может работать долго и сразу после этого отрабатывалось, то что после нее без задержек.
Три раза переписывал код полностью, все равно один хрен получается.
https://pastebin.com/R2GR9YPd
Спасибо всё заработало.
>а если там миллион файлов
То соснёшь ты и с pathlib'ом.
Или я что-то не так сделал? убунта внутри вин10, если что, может как-то влияет. touch миллиона файлов оче долгий, за весь день вон 300к только.)
Правильно, all, any начинают проверку только после формирования последовательности
Томушто дополнительное время за счет перегона range в список, попробуй all(range(0, 10^8)) охуеешь от скорости
Ну ты all-то с any не сравнивай, первому понятно, что надо по всей коллекции пройтись.
>Дибил защитан. all обязан взять все элементы, any достаточно первого элемента, который считается True.
Нет сравню, для all находим первый False - выдаем False
>>38785
>Дибил защитан. all обязан взять все элементы, any достаточно первого элемента, который считается True.
И хули тогда any(ranger(0, 108)) работает 3 секунды? Второй элемент уже True
Оба этих метода обрабатывают всю последовательность
>И хули тогда any(ranger(0, 108)) работает 3 секунды? Второй элемент уже True
>
>Оба этих метода обрабатывают всю последовательность
В глаза долбишься? Они работают по 5мкс.
Я в плохом смысле охуевание имел ввиду
Пиздабольство короче, пацаны это все наеб, лучше продавайте кроссовки из китая по цене оригинала бля, чем питухон дрочить.
>питухон дрочить.
а его и не надо дрочить - бери и пиши. Дрочить надо джангу и другие прикладные вещи - так и смотри по вакансиям.
Да любому адекватному работадателю проще прийти в миллион вузов и оттуда свежее мясо набирать, лучших из лучших, чем васянов.
Ахахах ох насмешил, во всей пораше от силы 5-6 более менее сносных айтишных института найдется.
Ты дурачек? Что в моих словах не так?
Даже выпускник мухосранского института имени нестиранных штанов и то лучше двачера.
сейчас бы путать императивщину и декларативщину
Может есть еще какие-нибудь хорошие курсы?
>интенсив по питону
>200 долларов
Определенно нет.
Статьи на Metanit тебе хватит с головой, лениво изучается за неделю.
Всякие плюшки типа более зложного ООП, метакласы, генераторы итд -уже из книг узнаешь.
В функция конструкция with open.
А в ней уже цикл перебирающий построчно файл который вместо реторн использует yield.
Вопрос. Цикл держится в памяти до тех пор пока есть обращение к next?
Можно ли обращаться к генератору циклом фор?
Как правильно обращаться к генератору с использование цикла With?
Можно какой нибудь гайдик по Event Loop для полных имбецилов?
Меня вот мое кресло заебало, да и с позвоночником проблемы имеются - думаю о покупке
>Цикл держится в памяти до тех пор пока есть обращение к next?
Нет.
>Можно ли обращаться к генератору циклом фор?
Да.
>Как правильно обращаться к генератору с использование цикла while?
Смотря как хочешь использовать. Как генератор или как итератор?
>Можно какой нибудь гайдик по Event Loop для полных имбецилов?
https://www.youtube.com/watch?v=D1twn9kLmYg
Пасиб
>Смотря как хочешь использовать
Евент луп который будет выдирать в реальном времени строки у гегенератора и записывать в разные файлы.
>в реальном времени
Это что значит?
g = gen()
while True:
....try:
........line = next(g)
....except StopIteration:
........break
....# your shit
Но зачем это когда можно for использовать?
for line in gen():
....# your shit
У тебя каша в голове. Если асинхронный генератор, то не for, а async for, суть такая же.
ладно, ты победил
Спасибо.
>Но зачем это когда можно for использовать?
Просто хотел сделать йобу которая бы слушала прием строк или типа того, и в реальном времени передавала в функцию сортировки.
Ну вообщем я пони что это все хуита из под коня, буду смотреть в цикл фор и асинк фор. Спасибо.
Хех.
В цикле совершаются записи в файл для которых из словаря берется адресс до файла. Если там такого нет, он создается записывается в словарь, и цикл продолжается дальше.
Внимание черный ящик.
Как лучше и быстрее обрабатывать проверку наличия ключа в словаре?
Ифами или исключениями? То есть вместо проверки на наличие в словаре просто запихнуть логику в трай и при эксепшене добавлять туда новое значение?
Что быстрее что сложнее со стороны алгоритмической науки?
Это говнокодерство или норм?
Или сама идея со словарем адресов хуевая?
Бля, возьми да померяй timeit-ом! По-людски с помощью if.
Да.
Это же значит что нужно retrun число по модулю.
А он мне порет, мол должен вернуться 0, а не 3. Нихрена не пойму, помогите пожалуйста
Все, разобрался, mod - это сокращение от modulo, пиздец мда ебал в рот
try-except - довольно медленная конструкция, вообще в твоем случае должен помочь метод setdefault
Ого спасибо. Даже не слышал про нее.
>Ифами или исключениями?
Смотря чего больше. Если пропусков — иф, если почти все ключи есть — исключиения.
https://repl.it/repls/WoodenPrimeElements
Задача такова:
Есть один документ. Документ должен быть утверждён несколькими людьми.
Из этой задачи вытекают все возможные варианты:
1. Количество людей может быть от 1 и больше
2. Последовательность утверждения может быть важна, а может быть неважна (последовательное параллельное утверждение)
3. Если представлять последовательность утверждений как узел, объект, или логический элемент, то логика утверждения может быть сколь угодно вложенной. Т.е.:
approve_list = [func_approve0, [func_approve1, [fnuc_approve2, func_approve3]], ...]
Где:
approve_list - упорядоченный список из "логических объектов" (ещё не придумал как это реализовать) в которых будет непосредственно происходить утверждение.
В общем задача представляет собой граф, или некий алгоритм/путь по которому должен пройти утверждаетмый документ. Вся эта система не должна быть в хардкоде и гибко конфигурируемой например на основе пользовательских данных, типа "эту бумажку должен утвердить сначала Василий, потом Пётр, потом либо Евгений, либо Евстасий".
Я не прошу решить задачу за меня, просто узнать какие типы данных, инструменты возможно помогли бы мне справиться с задачей. Хотя конечно можно все графы и на обычных списках строить, о чём я сейчас и подумаю, но вопрос здесь всё-таки оставлю.
Есть 9 сортов удобрений. Х1...Х9 - это количество добавленного в яблоню удобрения каждого из 9 сортов.
Y1 - это средний размер итоговых яблок с яблони
Y2 - это средняя вкусность итоговых яблок с яблони
Y3 - это средняя калорийность итоговых яблок с яблони
То есть Y1 = f1(X1,...,X9) Y2 = f2(X1,...,X9) Y3= f3(X1,...,X9)
Для восстановления регрессии нужно применить нейронную сеть.
Скажите, пожалуйста, как правильнее сделать? Сделать три отдельные нейронные сети для предсказания по отдельности Y1,Y2, Y3.
Или правильнее сделать одну нейросеть, которая имеет три выхода и оптом предсказать Y1,Y2,Y3?
P.S. В машоб тред уже запостил вчера, ответов по сути вопроса нет, на всякий случай и тут запостил, вдруг повезет.
Как вообще пишется код на ооп?
Никак не могу привыкнуть, до этого работал в матлабе несколько лет и не приходилось с этим сталкиваться
>При описании класса можно использовать переменные для лучшей читаемости кода?
Что ты имеешь ввиду?
Это для учебы в шараге.
Я хотел бы второй вариант, где оптом 3 выхода с 1 нейросетью, ибо этот вариант смотрится чуть посложнее, но боюсь, что, а вдруг, такой путь неправославный, и меня засмеют типа т-ю-ю-ю-ю шо за хрязь?! так нельзя!
Второй вариант сводится к первому при условии того, что 3 сетки начинают иметь какие-то общие параметры. Общие параметры это иногда хорошо, иногда нет, поэтому сходу что лучше не скажешь. Но второй способ более распространен, удобен и быстр.
Большое спасибо, понял
Обосрался с этого васянства.
Очень кстати у них пиздатый пример на сайте, там где запись из двух редактор, с этой приблудой, и без. Весь эффект достигается автокомплитом, который случайно специально поломали для второго окна. Найс.
Как почистишь - выложи. Там делов на 5 минут.
Я понимаю что не только, но в примере без этой приблуды автокомплит порезали, что очень заметно, и что дает половину эффекта "увеличения производительности". А раз они пиздят в одном, следует ли ожидать что в остальном все будет гладко?
path = /home/andrew/.local/share/Trash/files/
rmtree удалит папку files или то что в ней находится, рекурсивно, и как правильно записать чтобы удалилось то что находится в папке files напрмер, чтоб ебнуть не саму папку, а то что в ней находится.
Я юзал для домашних проектов. На работе ссыкотно так как раньше отправляло весь код на их сервера. Теперь политика поменялась, они получили дохулиард инвестиций и весь машинлернинг теперь у тебя локально. И автокомплит теперь построчный. Подсказывает не просто по алфавиту (как в pycharm) а методы которые используются чаще всего. Теперь буду юзать на рабочих. Зависимость есть.
Кароч: хули Requests не поддерживает HTTP/2 в 2019? Прошерстил весь авесом-питон список и гугл, но из актуальных библиотек для HTTP/2 нашёл только хайпер и тот полудохлый и дико низкоуровневый, который ещё допиливать и перепиливать до уровня реквестсов.
Питон, что ли, умер как язык и на него все забили или я что-то упускаю?
Поставь перед питоном нужникс или другой реверс-прокси который это всё умеет и который твоему апликешону будет всё это бриджевать.
>нужникс
nginx?
оно не будет ругаться на сертификаты? это же по сути man-in-the-middle получается
> nginx?
da
>оно не будет ругаться на сертификаты?
Поеботой с сертификатами будет тоже заниматься нужник. бэкенд за нужником общается с нужником через HTTP 1.1 или через uWSGI или через Unix Sockets, что предпочтительней если они на одной машине.
Спасибо, буду разбираться!
>pycharm
Это тот, в котором уже полгода тебе отладчик показывает левые неактуальные для скрипта значения?
Буду премного благодарен, если как таковой имеется
Ну вот смотри
Temp = glob.glob('/home/andrew/Temp/*')
for T in Temp:
shutil.rmtree(T)
Все норм если в папке есть папка с файлами, а если там только файлы, он ругается, мол файлы - это не дериктории, но это и понятно. Как млять удаляться файлы, ну и каталоги. Про os-remove я знаю, она удаляет только файлы, и также ругается если есть директории. Какой то замкнутный круг сук.
Ну смотри:
rmtree удаляет директрии, но ругается на файлы.
os.remove удаляет файлы, но ругается на директории.
Шуруповёртом можно закрутить винты, но нельзя забить гвозди (предположим, у нас стеклеянный шуруповёрт).
Молотком можно забить гвозди, но нельзя закрутить винты.
Тебе надо закрутить пару винтов и забить пару гвоздей, инструмент выдали. Твои действия?
>Temp = glob.glob('/home/andrew/Temp/*')
>2019
>пердолить файлы
>до сих пор не знать про os.walk
что блять происходит итт
>>> t = (1, 2, [30, 40])
>>> t[2] += [50, 60]
> TypeError: 'tuple' object does not support item assignment
>>> t
> (1, 2, [30, 40, 50, 60])
Но при этом если t[2] присвоить какому-то имени и с ним сделать iadd, то исключений не будет.
>>> l = t[2]
>>> l += [50, 60]
>>> t
> (1, 2, [30, 40, 50, 60])
Он там приводит дис, но как-то не очень поясняет подробно, я так и не понял, что конкретно там происходит после того как к списку добавится другой список, что вызывает исключение?
Ctrl+A > Edit > Refactor
Я просто мимохуй, но кратко расскажу про свой опыт, может, тебе что-то это даст. Тоже заливаю свою хуйню на гх, везде ж советуют. Как итог у меня просмотров хуй да нихуя, хотя резюме поглядывают. Один раз смотрели код на гх на собесе (бегло весьма, кстати, без вопросов каких-то) прямо, пока я задачи решал на бумажке, больше никому это не интересно было. И насчет скриптиков: у тебя прямо скриптики или всё-таки что-то похожее на полноценное приложение? На одном собесе я тоже спизданул, что у меня есть опыт написания скриптиков, можно на гх посмотреть, на что получил "Ну скрипты... Нам, конечно, это не подходит, у нас всё-таки не скрипты, а полноценные приложения, хуё-моё." Теперь я говорю, что у меня ПРОЕКТЫ (учебные) и писал я небольшие ПРИЛОЖЕНИЯ. Такие дела.
Таплы - иммутабельные. Но в иммутабельном тапле лежит ссылка на мутабельный вектор. При t[2] += ... он жалуется на то, что ты не можешь использовать присваивание с элементами тапла (потому что таплы иммутабельные); например, представь, что ты число так пытался бы увеличить - тогда t[2] += 42 меняло бы сам тапл (клало в него новое число), а тапл не может в изменения (иммутабельный). Когда ты делаешь l = t[2], в l лежит ссылка на мутабельный вектор. Соответственно, здесь уже никаких таплов нет и все прокатывает нормально.
tl;dr: никакой логики в этом на самом деле нет, просто питон - тупое кривое дилетантское говно. Пробуй кложу, если хочешь увидеть, как нормально реализовывать таплы, вектора и прочие базовые типы данных
Никто не будет код твоих скриптиков смотреть, всем похуй.
Что нелогичного? Кортежи - неизменяемые, список - изменяемый. Список хранится в кортеже по ссылке, поэтому сам список мы можем изменять спокойно, его ссылка от этого не изменится, а значит и неизменяемости кортежа это никак не противоречит. А когда мы пытаемся изменить список из кортежа t[2] += [1], то выбрасывается исключения, потому что у кортежа не предусмотрен специальный метод __setitem__
> Таплы
Туплы тогда уж: https://dictionary.cambridge.org/dictionary/english/tuple
Не, то, что ты мне описал, я и так знаю и понимаю. Я просто не очень догоняю, почему при in-place изменении списка происходит изменение элемента в кортеже?
> t[2] += 42 меняло бы сам тапл
Потому что эта операция создаст новый экземпляр. Список же изменяемый, не должно там нового экземпляра создаваться, а значит и элемент кортежа изменять не надо. Я думал, что если __iadd__ реализован, то сначала по t[2] получается ссылка на список, а потом уже все операции происходят со списком не затрагивая мой кортеж вообще, а тут хер пойми.
>>41678
> у кортежа не предусмотрен специальный метод __setitem__
А почему этот метод вызывается для кортежа, а не для списка, который в t[2]?
>А почему этот метод вызывается для кортежа, а не для списка, который в t[2]?
Потому что += (у списка) не изменяет объект как если бы ты вызвал функцию у объекта, а добавляет элемет и возвращает тот же список.
Грубо говоря,
tuple[x] += val=> z=tuple[x]; z += val ; tuple[x] = z
По крайней мере, так список работает — https://repl.it/repls/FortunateAdventurousDesktopenvironment
>А почему этот метод вызывается для кортежа, а не для списка, который в t[2]?
Потому что __setitem__ вызывается при попытке записи элемента по индексу, можешь считать что это отдельный оператор "[] =", у списка он будет вызван в таком случае: t[2][0] = 1, в этом случае никаких исключений не будет
Читал что одно время они скупали плагины для atom у авторов и вставляли туда зонды, собирающие инфу. Когда их вскрыли они конечно заявили, что всё для юзеров и оче секьюрно, но репутация испорчена.
>>41346
https://github.com/python-hyper/hyper-h2
>>41634
>os.walk
>2019
Кто эту парашу стрёмную использует? glob пижже.
>>41664
https://docs.python.org/3/reference/datamodel.html?highlight=data model#object.__iadd__
> `__iadd__() method, x += y is equivalent to x = x.__iadd__(y)`
Лол, в доках пифона прямо ответ вшит:
https://docs.python.org/3/faq/programming.html#faq-augmented-assignment-tuple-error
Давай расскажи чем walk лучше, а я посмеюсь.
ТОПОЛЬ ЕБАТЬ
>Что нелогичного?
Питон. В частности, реализация коллекций в нем. В частности, хотя бы тот факт, что одновременно выполняется нужная операция и выбрасывается исключение. И тот факт, что у людей вообще возникает этот вопрос (причем настолько часто, что аж в фак его добавили и прямо там, кстати, в официальной(с) документации(тм) сами пишут, что это нелогично), прямо говорит нам о том, что это сделано через жопу. Давайте раз и навсегда признаем, что коллекции в питоне впрочем, как и сам питон - криворукое говно. Я не говорю, что это плохо.
Кстати, напомни, как пустой сет создать? yobaface.png
>>40443
>2k20
>изобретать автодополнение
Ну, что тут сказать... Б Е З Б Л А Г О Д А Т Н О С Т Ь
>В частности, хотя бы тот факт, что одновременно выполняется нужная операция и выбрасывается исключение
Пифончик сделали простым. Очень простым и это очень хорошо, что логика выполнения кода одинакова для всех объектов.
>>41756
Опять import sarcasm забыли утром написать? Хорошо, разверну мысль:
>>> type([1,2])
<class 'list'>
>>> type([1,])
<class 'list'>
>>> type([])
<class 'list'>
>>> type((1,2))
<class 'tuple'>
>>> type((1,))
<class 'tuple'>
>>> type(())
<class 'tuple'>
>>> type({1,2})
<class 'set'>
>>> type({1,})
<class 'set'>
>>> type({})
<class 'dict'>
>Что нелогичного?
>Что нелогичного?
>Что нелогичного?
То есть "простой" язык - это тот, в котором есть только один тип данных, отсутствует полиморфизм и нельзя написать ничего полезного. Ну, видимо это подразумевается, хотя под "логикой выполнения кода" можно много чего иметь в виду. Ок, интересное определение, записал себе в списочек.
Ты неправильно об этом думаешь. Есть словари, списки, кортежи. У них полноценные конструкторы "из скобочек". А есть одна конструкция для set и всё. Только непустая.
Я имею ввиду логику +=. Можешь написать свой тупл раз тебя это так коробит.
Ответ мимохуёв приоритетнее словаря, в котором помимо явной транскрипции даже пример произношения британского и американского английского есть?
>в котором есть только один тип данных
Не один тип данных, а одна модель данных. Пифон прост тем, что на всё дёргаются магические методы. Любой сахар в конце концов резолвится в них. И += точно такой же сахар, который будет резолвиться для всех объектов одинаково.
>Ты неправильно об этом думаешь
Пикрелейтед.
>>41779
>Пифончик сделали простым.
>Я имею ввиду логику +=.
Выбери что-то одно. Ты про пифончик или про +=?
>>41781
>Пифон прост тем, что на всё дёргаются магические методы. Любой сахар в конце концов резолвится в них
Тогда у меня для тебя есть еще один простой язык, который должен тебе понравиться! У вас есть минутка, чтобы поговорить о си-плюс-плюс?
> Ты про пифончик или про +=?
Про пифончик и в частности +=
> У вас есть минутка, чтобы поговорить о си-плюс-плюс?
Лол, ну ты шутник.
Смешные вещи говоришь ты, а шутник - я. Щито поделать, десу.
Там же русским языком написано. Даешь функции лист и индекс элемента листа, функция возвращает новый лист на основе вводного, в котором элемент с вводным индексом удвоен.
Если индекс некорректен, то функция возвращает вводной лист без изменений.
>В факе.
Ссылку на строку/скриншот можно? Я просто правда что-то не вижу такого или не понимаю, о чём ты именно.
>Все знакомые программисты кроют его хуями, называя недоязыком.
Так это и не язык. Тупо расширенная командная строчка.
>на рынке труда
Хуею с лохов, кто готов за это платить. Бонус для удобной автоматизации всякого говна - да. Но как отдельную строчку в резюме его могут вписывать только отбитые аутисты, рядом с навыками пользоваться офисным кулером и шариковой ручкой.
Заюзал os.walk Но что-то не получатеся
for root, dirs, files in os.walk('/home/andrew/Temp/'):
for D in dirs
shutil.rmtree(D)
ЧЯДНТ?
УПД
Я жи все по идее делаю верно, перебираю вручную, говорю что нужно удалить каждый каталог, он пишет
SyntaxError: invalid syntax
хотя на оф сайте именно такой синтаксис и есть сук.
мышкой наведи на подсказку в своей идехе ну
Есть несколько вопросов, с меня как обычно Картинка с тортиком:
1. Обмазываюсь декораторами, и понял как, но немного не понял, нахуя. Не могли бы вы привести какой-нибудь очевидный пример, что бы даже до жирафа дошло?
2. Один блоггггер сказал, что чтение хорошего кода позволяет выработать стиль и правильно называть переменные, что бы твои соседушки потом не ебанулись от наименования функций.
А где же найти самый правильный код, как не в стандартной библиотеке пайтон?
Все в пайтон - объекты и классы, даже небо, даже строка, я так понимаю.
Значит, я могу посмотреть как реализован класс "string" и все его методы?
Как можно залезть вовнуторь вот этого всего в стандартной библиотеке и посмотреть, как строки устроены изнутри?
3. Какой дистрибутив Linux лучше всего ставить для того, что бы в резюме хвастать знанием этой ОС, и что конкретно работодатель хочет от моих знаний, когда прописывает "знание Linux"?
А как тогда? Перебираю каталоги.
1) Ну вот к примеру в большинстве веб-фреймворках роутинг построен на декораторах, типа:
@route('/index')
def index():
return template('index_page.html')
Очень удобно.
2.1) Именование переменных - не самая важная часть хорошочитаемого когда, конечно если не называть их a,b,c;
Более важно не городить 10-тикратные вложения if, не генерировать списки однострочниками из 10 циклов, фильтров и.т.д
В pep-8 всё написано как правильно писать.
2.2) Конечно можешь https://svn.python.org/projects/python/trunk/Objects/stringobject.c
3.1) Советую xubuntu. XFCE, пожалуй, последняя оставшаяся невырвиглазная оболочка
3.2) Под этим можно понимать всё, что угодно, начиная от mkdir и заканчивая пересборкой ядра с отключением ненужных модулей и.т.д
Нахуй не нужны эти декораторы в продакшене. Их использование нихуя не очевидно. Разве что, добавить временный костыль до рефакторинга, или позапускать тесты на производительность.
Скриншот кода своего, наверняка ж с отступами проебался.
На уже решение, раз сам не в состоянии загуглить даже https://stackoverflow.com/a/1073382 .
Или двоеточние после for D in dirs не поставил не только в посте тут, но и в коде своём. Диагноз: вы тупой.
Да в питоне жопой жуй такого синтаксиса, который только все усложняет, при этом по сути ничего не добавляя, и решение "стандартными" способами куда читаемее. Как пример - функторы, дескрипторы, все этот нахуй не надо никому кроме либостроителей, но я думаю это для их и создавалось. Я лично за два года пару раз использовал функторы, раз 5 - декораторы, и ни разу дескриптор.
Я и не буду этого делать, но я не один пишу на этом и разобраться в этом придется. Меня уже заебали ченчжлоги каждого обновления размером с войну и мир, блять.
бяка
Тебе никто не мешает сидеть на текущей версии, а вообще, в питоне всегда были большие чейнджлоги были.
>>> ['a', ['b', 'c'] * 2, 'd']
['a', ['b', 'c', 'b', 'c'], 'd']
Надо чтоб получилось:
['a', 'b', 'c', 'b', 'c', 'd']
а че не стыдно в резюме писать? C#?
Я не ебу как здесь астериск экранировать, подставь вместо \ звездочку
Ах тыж... Оно! Спасибо тебе, добрый человек.
https://guidelline.herokuapp.com
Предложения всякие принимаются, все дела.
Нужно загнать эти два массива в очередь(одним пакетом) а потом на сервере получить и распарсить.
Массивы имеют разную длину (тоесть не получится два массива обернуть в один и сделать .tobytes() без пердолинга).
Сейчас реализовал все кастыльно - два массива отправляю в ujson, и потом отсылаю полученную строку(после .dumps() есесно), а на сервере делаю обратный процесс(т.к. для дальнейшей работы нужны именно np.array()).
В одном из массивов хранится изображение, во втором дескриптор к изображению (можно к общему типу float64 привести, если это поможет).
Была идея и то и то привести к одному размеру(заполнив пустые значения невалидными данными) но это не меньшие кастыли чем ujson.
Блять раздули проблему из нихуя. В питоне изначально нельзя выполнять операцию присваивания в управляющих конструкциях (if, for), потому что долбоебы путают '==' и '='. Теперь в питоне решили добавить возможность присваивания в управляющих конструкциях, только для этого нужно использовать специальный оператор ':='. К примеру теперь можно так:
if (a := 10 % 2) == 0:
...
Или в конструкции with:
with file := open('file.txt', 'r'):
...
Да захотелось потестить хероку. Очень удобная штука оказалась. На впс на днях тоже залью, опыт будет полезным.
Есть ли способ переопределить заголовки в реквесте когда используешь бесплатный прокси?
Именно затереть своим значением, а не добавить к значению, которое ставится прокси по дефолту?
>>42960
А что не ясно? Либо вернуть новый список с изменённым элементом, либо оригинальный, если индекс хреновый передали.
Вот, например: https://repl.it/repls/ImpureGleefulAggregator
>>42086
Помимо нерабочего кода, на что уже указали, ты ещё и всегда новый список возвращаешь, по условию не так надо.
Хотя вот перечитал и хрен его знает, надо ли удваивать значение в оригинальном списке, двояко как-то звучит. Ну, по тестам их внутренним должно быть видно.
Вот видишь, ты сам не знаешь как.
Зачем?
>А генератором это невозможно сделать?
Тебя просят список вернуть, что ты там генератором будешь делать?
А так, конечно, можно:
for idx,el in enumerate(in_lst):
if idx == index:
yield el * 2
else:
yield el
Да, обосрался, в import, except и with запрещено использовать новый оператор. Всегда читайте PEP'ы
Ну с for я не обосрался, это логично в принципе
А как мне блядь достать словари comment в списке? Я пока что додумался как достать одинr r2.json()[0]["comment"]
А когда я блядь пытаюсь пройти циклом, мне пишет ошибку тип i должен быть интом или флоатом, а не str
так это список и вложенные словари, я то думал список-списко-словарь, а там список-словарь итд
какого спрашивается хуя. Думать уже не могу, аноны на помощь, СДЕЛАЕМ КЛИЕНТ ДВАЧА НА ПИТОНЕ ВСЕМ ТРЕДОМ
Пойду пока обезболивающее приму,
Вот блядь я тупой, сам решил вопрос. Всегда так, сначала спрошу, а потом сам решу
Пилю на киви для ведройда, а нахуя? Блядь я этот проект буду прикладывать в своем гитхабе, думаю это вин, а ты?
В любом случае мне нрав это, пофиг на профиты с этого
For i in r2:
Print( r2.json().["comment"] )
И идет ошибка итерация должна быть цифрой а не стрингом
Я вроде понял как фиксить, но я уже на пути кровати
Пофиг, что есть. Мой будет с блекджеком и шлюхами
Фикс
>For i in r2:
Что, по-твоему, должен тут сделать питон? Что делает цикл for? С какого перепугу i должна по-твоему быть цифрой? r2 это коллекция цифр или, быть может, нечто другое?
С такими знаниями вина точно не будет.
> Скобки '[]' сами убираются лол
[j] используй, макаба ж за тег курсива с i считает.
Бамп.
Решил свою проблему простым range(1000), а если постов меньше, то идет сообщение LAST POST, да я блядь гений. Щас все пойдет
<a href="/hw/res/2810449.html#3424417" class="post-reply-link" data-thread="2810449" data-num="3424417">>>3424417</a><br>Амд - выбор школьника - максималиста по типа скрынника, ясно.
Значение словаря comment выдается таким, как мне убрать все лишнее и оставить только текст анона?
Затем что автоматизация.
Хуйню какую то делаешь.
r2 возвращает список? Ну так посмотри его длину.
for j in range(len(r2.json())):
А тебе уже сделали живительную лоботомию?
Мне попадались артефакты прошлого вроде https://gatc.ca/2014/11/11/pyjsdl-demo-apps/ позволяющие перевести код в джаваскрипт, но должно же быть что-то получше.
>артефакты прошлого
Ну так хули ты хочешь то?
Бери brython, валяй свою игру, горячий ты мой пирожок.
Я хочу развернуть на github pages без лишней головной боли.
вынеси вызов r2.json() в отдельную переменную, ты эту функцию 500 раз вызываешь для 500 постов.
posts = r2.json()
for i in range(len(posts)):
По второму - а что тебе не нравится? Хочешь убрать <br> ?
добавь после <\a> еще <br>
comment = re.findall('</a><br>(.*)$', b)[0]
И да, ты забыл после re.findall()[0] <- скобки с ноликом, re.findall возвращает список
>0]
кстати, если ставить [0] выдает ошибку. Я че то затупил с этим len и range, даже стыдно как-то)
Значит список пустой (в посте нету текста?, раз выдает ошибку).
Перехвати ошибку и выведи всю строку, что бы посмотреть собщение, в котором ошибка возникает.
Если что добавишь проверку:
post = re.findall(bla-bla)
if post:
comment = post90
----обработать текст
Ты получаешь список, а не текст
['bla bla']
Потом все равно придется получать доступ по индексу, так что сделай это в правильном месте
Благодарю.
@
Так и не нашёл
@
Понял что на питоне нет гейдева
@
Недовольно урчишь
Если на ПК - нихуя нет считай.
На мобиле попробуй kivy.
> Godot
Там же вроде не питон, а что-то питоноподобное. Как и во многих других движках.
Если уж речь за движки то их куча ебаная, и с этим лучше в /гейдев/, но к питону они будут относится более чем никак.
А вот за питоновские движки - нечего пояснять, ибо их нет.
Вот для визуальных новелл только есть штука.
Типа как ФПС в играх выводится и нагрузка на ЦПУ.
Только мне надо поверх всех программ и рабочего стола.
PyOpenGL или Tkinter лучше дрочить?
Может есть решения попроще?
{
0: {'':''},
1: {'':''},
.....
}
Начинаю нумерацию с 0 и до ....
Словарь заполняется постепенно(старые элементы иногда удаляю), так же периодически я должен по нему пробегаться и работать с его значениями(там байты).
Какой самый быстрый и адекватный способ хранения данных? В идеале, даже если срипт умёрт - данные должны жить и потом я к ним должен получить доступ.
Сейчас юзаю memcached, но столкнулся с ограничением(?) в размеры словаря. После добаления 250 ключа в этот словарь - всё стопится без ошибки и кеш опустошается.
Смотрю в сторону редиса, но вдруг я упустил ещё какой-то очевидный вариант?
>Годот движок полностью на питоне
https://github.com/godotengine/godot
Ага, на целых 1.5 %
Это насколько же надо в теме не шарить, что бы предположить что на питоне можно написать полноценный движок для 3D
А про синтаксис я и не спорю.
>Не позорься, неуч
Написал человек, у которого игровые движки на питоне. Это что то уровня теории плоской земли.
Сайты верстать и делать прочую хуйню не люблю, но хочу зарабатывать деньхе путём написания кода. Что посоветуете?
Хотя с другой стороны, мне же надо будет как то идентифицировать эти теги для отображения. бля, запутался
Их не нужно убирать. Это форматирование поста (жирный текст, оформление ссылок и тд). Когда будешь вставлять этот текст как есть в соей приложухе, оно автоматом даже форматнуть дожно.
В джанго например можно сделать {{ post.comment|safe }} И у тебя текст будет отформатирован как в посте.
и убери try...except, и сделай ифами как я писал раньше, try медленный
comment = re.findall(...)
if comment:
....print(comment[0])
else:
....print('empty comment')
Точно) Я не знаю почему, но я фапаю на этот трай и эксцепт
А приложуху писать буду на киви, хз есть там такое или нет
да как-то сравил я эти методы по времени, не критично различаются, Ну энивей, поставлю if else
Говно модель.
Ясен он смущает, он как бы вывалился из функции
И что, ошибок нет?
И почитай про оформление кода в питоне, плагин поставь для проверки. У тебя все в кучу намешано.
Ну тут да, затупил. Вроде бы полностью Лутца прочел и все части кода выполнял из книги, а все еще как-то не так. Прочитаю тогда уж и книги других авторов. Я не тестировал, сначала хочу полностью написать, а уже потом тестить
Думаю, что когда допишу, пойду искать в треде анона со знаниями киви, вместе запилили бы двач, думаю один не вывезу или вывезу
ну и да, внутри метода self. не нужны для переменных, которые ты не будешь использовать за пределами метода. А в идеале вообще ничего не изменять методами. Тем более если этот метод get. Но это уже совсем другая история.
То есть, я могу селф нафиг опустить? Прост как я тогда данные с других классов буду получать, c помощью ретурна?
Понял, принял
Лул.
Ты же уже сохранил результат вызова ListTread.json() в переменную allThread, зачем ты в цикле сново вызываешь эту переменную?
Проверь, а есть ли что то в переменной, может в реквесте ошибка?
Мне кажется, что кей эрор из -за того, что переменная boards передается в запрос с "b", ковычками. Уже исправил json(), сам заметил и исправил)
отбой, отбой, хуево посмотрел. Не надо так.
Нет, не из за ковычек. В самой строке кавычек нет, это литерал строки.
Ах да, у тебя key error, значит это не список, а словарь.
да, ошибки в реквесте нет
лол, а ведь точно) Проматал в самый конец и там словарь
да ладн, придет с опытом, а названия в процессе. Да и вроде все понятно
.keys()
лол, не гонит, дружище. Я вот сижу в треде, спрашиваю итд итп, делай что-нибудь. Я хоть и задаю, как мне кажется, тупые вопросы, но бляяя
Читаю множество либ и каждый день провожу время в гитхабе, за статьями итд итп
Просто делай что-нибудь
{"board":"b","threads":[{"comment":"\u003cstrong\u003eИДЕОЛОГИЧЕСКИХ ДИСЦИПЛИН В СССР ТРЕД\u003c/strong\u003e\u003cbr\u003e\u003cbr\u003eСам я в Совке не жил и \u003cstrong\u003eлутшыва абразаваня у мири\u003c/strong\u003e не получал, чему искренне рад. Хотел бы услышать от заставших Совок кулстори о том, как вы сдавали \u003cstrong\u003eДИАМАТ, ИСТМАТ, ИСТОРИЮ КПСС, ИСТОРИЮ ВЛКСМ, НАУЧНЫЙ КОММУНИЗМ \u003c/strong\u003e и другие виды бреда и шизофазии. Чего от вас требовали, как принимали экзамены, что и как нужно было интерпретировать и были ли запрещенные цитаты классиков коммунизма. Интересны и истории о Гражданской Обороне \u003cspan class=\"spoiler\"\u003eрусский рок говно, не нужно цитировать изрыгания вашего кумира\u003c/span\u003e чему там учили и какие у вас были самые ебанутые преподы.\u003cbr\u003e\u003cbr\u003eКо всему этому хотел бы узнать, были ли в вузах последователи Франкыуртской школы и как к ним относились. Правда ли, что КГБ на кануне распада Совка обосрало Запад этой хуйней, или оно само?","lasthit":1549895254,"num":"191253469",
Такого типа словарик
Я пробовал выйти в список, который дальше, но дальше ошибка
иди смотри на ютубе Олег Молчанов
Ну ты меня утомил, я щас тебе сесь код напишу, тебе список тред на борде вывести? Дай минутку.
Нееееееет. Не пиши. Мне надо просто понять, как мне из словаря {"board":"b","threads":[{
достать словарь с num с ключем номера треда
ВОт я и написал как. Подумай над этим кодом, и поймешь.
это типа выходит "fgfgfdfgdfgffgvcvcbbvcbfg", а как тогда идентифицировать эти "num":"121223434243"
хахаа ты гений, господи спасибо анончек
решил, щас буду нон стопом перечитывать доки. Слишком стыдно перед Лутцом за такую дичь выше с моем стороны :/
А мне зашло, воды много и много раз одно и тоже, но интересно
А как мне эти номера тредов в список закинуть, чтобы было вида
num = ["1232434234", "23445564564", "23434536534"]
попытался сделать и вышло ["1", "2",] итд
Сам решил)
["12342344353"]
Надо как-то все в одну переменную засунуть
тоже допер, но нет( Я еще попробовал цикл добавить, но тоже нет, а так же попробовал сделать
nums+=num
забей, я даун :/ Определял список по новой в каждой итерации
у меня создаются такие вот датафреймы, как на 1 пике (расписание по дням недели)
мне нужно обьединить эти датафреймы в один, как на 2 пике(вертикально), да так, чтобы у каждого датафрейма был свой индекс, а join и concat дают какое - то говно
Не везде, обозначил только нужные переменные, чтобы их получать, иначе ошибка, шо переменная не обозначена. Можно и глобальной сделать, но вроде это вредно
Ты их и сделал глобальными. Зачем тебе self.boards за пределами метода get_all-thread ?
Nums, может и нужен, смотря что ты там хочешь именно сделать, но в таком случае ты должен вернуть его в конце, а не записывать его в свойства.
Ты там наркоты, что ли, обкурился, snake_case и camelCase одновременно использовать в одном названии?
>Кароч реквест такой, как изучть по нормасу стандратные либы питона
Писать код, замечать, что пилишь какой-то велосипед, гуглить, находить решение со стандартной либой, и так сто раз.
Никак ты не "выучишь", кроме как практикуясь. Если не будешь использовать, всё забудешь. Но бБудешь помнить об их существовании, поэтому уже на этапе планирования заадчи поймёшь, что тебе надо сделать что-то, что, вроде как, можно сделать стандартными способами.
Канонично делать
>threads = get_threads(board)
>posts = get_posts(thread[0]) # ну или какой ты там хочешь тред, не знаю
Селфы нужны там, где тебе надо хранить какое-то состояние у объета, а не просто передать значение из одной функции в другую.
Те ты советуешь не изучать все подряд досканально, а только те, котоорые нужны будут под проект, так?
>все подряд досканально
Ну вот ты иностранные языки как учишь, открываешь словарь и по алфавиту идёшь? И вообще выучиваешь (пытаешься) досконально все слова, какие существуют?
Разумеется, прям с нуля стоит не просто пилить из головы велосипед, а поискать почитать предварительно какие-нибудь бложики и туториалы по интерующей тебя тематике, какие-нибудь гайды и "бест практисес" (с огромной долей скептицизма). built-in'ы проглядеть, названия существующих библиотек, наверное, можно тоже. Но в целом, да, когда тебе нужно решить задачу A, ты гуглишь "как скачать страницу" и там уже начинаешь изучать как работает веб и хттп, библиотеки urllib и requests, всякие scrapy, beautiful soup'ы и прочее говно, тебе эта паутина сама по ссылкам приведёт куда надо.
Ничего плохого не вижу, ду ит
Ну, я думаю то, что я сделал это круто. Реализую свою версию либы, опираясь на уже сделанную, но не тупая копипаста
Блин, ты действительно читал Лутца? Ты же после каждой итерации заново пустой список создаешь емае.
Я же потом отписал, что затупил и исправил)
Куда уж проще? Ну пока что говнокод, буду расти
FAQ по изучению все ещё актуален? За 3 года с момента его написания появились какие-нибудь годные видеокурсы?
как работает связка Джанго + Ангулар?
Пытаюсь поднять проект локально.
Беру шаблон, редактирую.
Но браузеру(Джанго) похуй на мои изменнения, внесенные в код.
Что я делаю не так?
А ты перед тем, как учить Питон, посмотрел, есть ли в твоем Зажопинске вакансии по нему?
Скачиваешь и тут же воспроизводишь его. В двух отдельных тредах.
В первом варианте, как если бы работал с открытм файлом - вообще ничего не происходит. Во втором варианте - падает к херам
Оно не падает, а вызывает StopIteration, как и должны итераторы заканчиваться.
Если тебе было норм делать for line in txt (то есть вместе с \n строки получать), то тут можешь for line in txt.readlines() вызвать.
Какой-то косячной, конечно, мок, я бы сказал. readline() вообще бесполезный, выходит, если руками в try/catch не обренуть.
Это индивидуально, не всем комфортно так на удаленке. И часто живое общение в коллективе продуктивнее сказывается, когда ты не сам с собой кодишь)
А как тогда лучше обработать StopIterator, если возможно? Или лучше в методе? readlines() в принципе на всякий случай обернуть в try/catch?
тест условно выглядит так:
@mock.patch('builtins.open')
def test_read__read_header(self, mock_open):
file_name = 'test.txt'
str_1 = 'test string 1'
str_2 = 'test string 2'
example_file = 'line=' + str_1 + '\n' + 'line=' + str_2
mock_open.side_effect = [
mock.mock_open(read_data=example_file).return_value
]
reader = Reader(file_name)
reader.read()
assert reader .lines[0] == str_1
assert reader .lines[1] == str_2
Упс, тут все отступы съедаются оказывается :(
Помоги, анон!
Вообще StopIteration обрабатывает for-луп. Как впихнуть readline() в фор-луп я что-то сообразить не могу, у кого там __next__ и __iter__-то есть непонятно, но может другие помогут. Вызов readline() тут выходит равноценен вызову next(iterator) руками, но так никто же не делает.
Короче, я бы в данном случае нахуй его выкинул и readlines() использовал, strip'ая \n если надо. Ну либо обернул бы это говно в функцию readline(mock_file), которое делало бы try/catch по StopIteration и возвращало пустую строку при его появлении, как настоящий readline. Ну или манкипатчинг никто не отменял, разумеется.
С другой стороны, возможно это как раз фича, чтобы ты заметил, что прочитано больше, чем ожидалось, хотя и выглядит подозрительно. Там же не дураки сидят, как говорят.
Что за Reader-то на скрине и что он делает? Может уже всё готово там.
>readlines() в принципе на всякий случай обернуть в try/catch?
Нет, readlines() не надо оборачивать, он-то может спокойно пустой список вернуть.
plotly
ридер занимается чтением, и распарсиванием файла в структуру. Там все тупо влоб пока, потому и сижу тесты накидываю, заодно с pytest знакомлюсь.
Каждая строка это конкретная структура, железобетонно. Так же одна может быть вложена в другую. Так то пустых строк не может быть. Но тут лучше перебдедь)
Но если через with / as обурнуть чтение файла, то не важно что readline() , он корректно же выходит в случае eof, а тут вот такое поведение. Или может можно как то сымитировать eof ?
Потому что твой код будет работать на линуксе, а некоторых либ под винду либо нет, либо они работают в неполноценном режиме.
никто не работает только с питоном. вся инфраструктура на линуксе. Думал изучил синтаксис и сразу 300к/c?
да, так и думал))
>7й пхп
уебищно сдизайненый язык, используемый только в люто дремучем легаси либо для проектов уровня "интренет магазин запчастей моего мухосранска", да и то одними стороверами слегка за 40
>зато быстрее пистона))))
ПОЛНОСТЬЮ ОПРАВДАН!!!
ПХП выстрелил только потому что в своей время удачно влез на позицию, которую сейчас занимает тот же пистон - легкий язык для быстрой разработки. Учить его в 2019 это блядь диагноз. Хочешь легкий вкат - бери питон, хочешь все еще легкий вкат и что бы быстрее чем питон - бери го. Хочешь не легкий вкат, но что бы все охуевали отвашей крутости, и что бы один язык и на фронте и на бэке - бери кложу. Куда вы своей своей пыхой лезете то, дибилы, он вас сожрет!
1 Тб это очень мало. Когда я ещё в школе начинал кодить и писал свои первые поделки на Бейсике уже нужно было 2-2.5 Тб, сейчас для питона никак не меньше 10 Тб SSD нужно и два монитора с диагональю не меньше 19'.
Как и твой вопрос.
короч сделал в тесте так:
with pytest.raises(StopIteration) as exc_info:
reader.read()
assert exc_info.type is StopIteration
Создаешь текстовый файлик в проекте, пишешь туда хеллоуворлд, запускаешь, и наблюдаешь результат в терминале встроенном.
Какая разница? Где захочешь, там и делай.
Можно вообще не ебаться с ide, скачать какой-нибудь текстовый редактор с удобными плагинами и синтаксисом и делать всё там.
Шо там модно, вскод, атом какой-нибудь.
Благодарю
Как можно заходить на веб страницу без указания порта?
У меня есть домен и сабдомен от провайдера, но мне всегда надо указывать в конце порт, который я указал у себя в коде чтобы я мог зайти на свой сайт.
Читал, что надо выставить порт 80 через рута, но это не фига не работает. пишет пермишион динайд.
То есть, ты написал тест, assert'ящий, что либа mock выдаст определённое исключение в конце чтения? Зачем ты эту либу-то тестами обкладываешь? Тестируй правильную работу своего кода.
>>47484
>один язык и на фронте и на бэке - бери кложу.
Ты любитель обложиться кучей транспайпипиляторов или опечатался в слове javascript?
Тебе повезло.
import sys
from PyQt5.QtWidgets import *
class Window(QWidget):
----def __init__(self):
--------super().__init__()
--------self.resize(500, 500)
--------self.setWindowTitle('SASI')
app = QApplication(sys.argv)
screen = Window()
screen.show()
sys.exit(app.exec_())
так я и обкладываю свою либу тестами.
Или ты про "assert exc_info.type is StopIteration" ? на да, сейчас на свежую голову он кажется явно лишним.
https://www.coursera.org/learn/python-osnovy-programmirovaniya
Бесплатно, с онлайн првоерками заданий (требует соблюдения pep8 о чем в видео и говорится). по самым основам то что надо. Если заплатишь то еще сертификат дадут))
там есть обязательная часть (отмечено) которая необходима для продвижения по курсу, и не обязательная - задачки со школьных олимпиад. Можно пройти сначала обязательную, а потом, если хочется поломать мозги как в ограниченых условиях решить то или иное, можно вернуть порешать.
Не работает на обычном дистрибе 3.1. Вот так работает:
from tkinter import *
window = Tk()
window.title("ТФЬУ")
window.mainloop()
Может, все-таки 3.7 попробуешь поставить?
подскажите, как управлять объектом (спрайтом, чи как его там) стрелками или мышью в cocos2d? Какие там команды использовать для контроля мыши и клавиш?
готов упростить задачу. Как распознать нажатие клавиши? Типа нажатие клавиши приводит к выполнению функции. Какая команда?
Вот к примеру два способа создать файл:
open('file.txt', 'tw')
и
f = open('file.txt', 'tw')
Во втором случае при попытке открыть его в другой проге будем получать сообщение, что файл уже используется и неплохо бы его сперва f.close(). Это из-за присваивания переменной f? А там разве не копия файла хранится с которой питон работает? Почему ОС тогда ругается? СЛИШКОМ СЛОЖНО!
и чем же симфони крута?
ролл?
В первом случае ты как только открываешь файл, дружелюбный питон его тут же закрывает, потому что объект-указатель на файл ты нигде не сохранил, временный объект уничтожился и всё за собой подчистил.
Спасибо
Просто используй конструкцию
with open('file.txt', 'tw') as file:
--file.write('la-la-la')
The end.
Во-первых, это хорошая практика, потому что ее все используют, а во-вторых, такая конструкция автоматически закрывает файл после выполнения всего своего блока.
Попытка не пытка!
' SELECT PASSWORD FROM USERS WHERE USER='Abu'
Тогда я посмотрел на нормальные бд. Но я даже до конца не понимаю как буду инсталлировать свое приложение, не говорz о установке бд. Или без этого не обойтись? Как я понял, sqlite 3 дефолтно стоит на androide и ios. Может, как-то с этим работать? Кто в курсе, расскажите как хранить данные?
Нужен ответ 6, учитывая, что sin(30) = 1/2
В тоже время, сам math.sin(angleA) при том, что a=3, b=8, angleA=30 ровняется -0.9880316240928618, а нужен 0.5. Как, короче, привести ответ в дружелюбный вид?
Смотря что хранить собрался. Если настройки/параметры какие - можно в json файле.
Если что посложнее - sqlite как ты и говорил.
Если прям ниибацца что хранить собрался - postgres/mysql на сервере.
Хочу хранить там маленькую информацию, которую нельзя посмотреть вне программы и сложно было подделать. Как я понимаю.
Я думал о создании класса, который по-сути является словарем с паролем. Но тут 2 проблемы: значение ее атрибутов можно узнать с помощью __dict__. Если дикт переписать на то чтобы он выдавал ничего, то объект не распаковывается из файла тем же shalveм(которым запаковывался). Можно конечно сделать так чтобы каждый такой словарь с паролем конструировался отдельным конструктором и данные(и пароль, в том числе) записывались не в атрибуты, а в константы в его методы. Но возможно есть способ посмотреть и содержимое методов и. соответсвенно, узнать информацию без пароля. Более того, не понятно как решить проблему того, что злоумышленник может shelveм сделать одноименный файл с одноименным объектом, но в котором методы выполняют злонамеренный код, вместо ожидаемых действий.
Эти рассуждения приводят к мысли, что если не использовать сторонние бд, то нужно заносить данные(которые представляют из себя базовые типы данных) в txt или json и им подобные форматы, предварительно шифруя их. При этом, способ расшифрование
знает только моя программа. В таком случае, злоумышленнику не возможно занести вредный код в эти файлы и у него нет легкого способа расшифровки информации.
Ерунду придумал.
1. Тебе точно нужен сервак с БД в который ты будешь хранить важную хуйню.
2. Иди в тред мобильной разработки под ведро и там спрашивай как лучше организовать приём/передачу данных между удаленной бд и клиентом. Похуй на чем ты пишешь(киви, пчёлка ещё что) - ты пишешь на мобилу и принцип там такой же
Парни, давно в курсе что все данные в Питоне это по сути С-шные структуры (struct), но вот до сих пор не знаю как же они выглядят. Есть сурс где хоть как-то объяснено, как выглядят различные структуры данных в Питоне на С-синтаксисе?..
Формат сайта
.../book/ набор цифр
Весь интернет облазил нихуя нет, нашёл максим как с помощью requests или urllib2 скачать сайт/картинки, но вот как подсчитать нету, помохите.
https://ficbook.net/readfic/1234567
Сайт типа единая библиотека с которой раздаются линки с /readfic/ на поиск/главную страницу/...
Там вся фишка в том что %35 книг дают ошибку если рандомные 7 цифр кидать, поэтому нельзя просто посмотреть на новые статьи и по номеру в url узнать библиотеку.
В данном случае у нас есть 2 объекта класса Warrior, которые дерутся при их вызове сторонней функцией fight.
Только почему-то интерпретатор крашится сразу же при входе в нее и вызове первого метода у одного из объектов. Пишет что-то про int not callable, но какой еще нахрен int, там его в принципе нигде быть не могло?.. В чем может быть трабла, анонче?
Открой чакры, мне не удается телепатически считать твой код
Просто количество действующих книг с url https://ficbook.net/readfic/ххххххх без количества 404 (пик 1)
Предполагается ответ типа: 1 387 356 действующих, опционально ссылки которые дают 404 (там без редикта, а просто, поэтому тут нужно как считывать страничку, а не просто брутфорс url)
Короче, я совсем наивный. В жизни не программировал, мне 28 лет, у меня не АйТишная работа (которую я, к слову, люблю и менять не собираюсь) и так далее. Я решил учить питон по фану, потому что почему бы и нет - какая разница как задротствовать в свободное время.
В общем, проглотил "Learn Python 3 the Hard Way", лениво пописывая что там автор просил переписывать и выполняя все его заебы. Потом написал пару скриптов для себя, решать кое-какие рабочие вопросы - конечно полный примитив, обычно они решаются банальным калькулятором, бумажкой и справочником списать константы. Ну хуй с ним, вроде весело.
Чего там дальше читать? Где брать задачки? Не, ну я конечно типа ученый в толчке моченый, но дико работающий руками и на всякие курсы по ДАТА САЕНС у меня вызывают скуку. Где брать интересные задачи?
Ну я тут повторюсь, что вкатился чисто по фану, в поисках хобби лучше чем миньки раскрашивать да в иве крабить.
Если чисто по фану, то можешь попробовать вкатиться в спортивное программирование на топкодере или кодфорс, там и архив задач такой что за всю жизнь не перерешаешь.
Пусть начнет с edabit, там более нативный интерфейс, для вката самое то.
Ды нет, я разборы не смотрел, но вроде бы всё понял
https://pyfiddle.io/fiddle/c795e444-1431-4c97-8346-355205bc0e2b/?i=true
22 поменяй на 9999999
через какое-то время забанят и все насмарку
автоматизируй все работу какую можно
Дай питон тебе здоровья антоша.
Предположим есть асинхронный websocket сервер. Можно будет регестрироваться, аутентифицироваться. Короче чатик.
Сервер будет работать с базой через aio либу.
Так как я не особо понимаю в РСУБД, то вопрос вохможно очень глупый.
Для каждого обращения к базе нужно будет создавать соединение и закрывать его по окончанию запроса? Или можно сделать одно соединение на весь сервер и раздавать курсоры каждой корутине, которая решит сделать запрос? Или же нужно создать пул соединений и выдовать соединения по надобности, а потом возвращать их в пул?
4-е издание Марка Лутца все ещё актуально?
Или там вообще какая-то другая схема?
Начнём с того, что есть три основных способа писать конкурентный код:
1) Потоки(собственно "мультитрединг")
2) Процессы
3) Асинхронный подход
В серьёзных проектах все намного сложнее, чем тупое распараллеливание на потоки. Или использование одного из этих вариантов.
К примеру на фронте может быть множество асинхронных серверов, которые отвечают за статику или распределяют нагрузку на бэкэнд сервера, которые уже не асинхронные, а параллелят всё на процессы(воркеры).
Короче, нюансов много. А вещей, с которыми нужно ознакомиться, чтобы все это хорошо осознавать еще больше.
>В серьёзных проектах все намного сложнее
На самом деле проще. Берется какой-то celery и ему все отправляется.
> size - поле, ограничивающее размер выходного файла
Гуглил и не нагуглил, только если с разным quality пересохранять по 10 раз, пока нужный размер не поймаешь, но это говно какое-то. Да и png игнорирует quality. Как решить эту проблему?
Алсо, я всё еще не могу понять как на лету картинку ресайзить в джанго и отдавать? Вот я в View пишу в get_object все манипуляции, создаю новый экземпляр модели картинки на основе временного файла в оперативке, дальше я если этот экземпляр возвращаю, у меня джанго пишет, что он пытается найти этот файл в /media/, а его там, конечно, нет. Нихуя не понимаю что-то. Идея гонять туда-сюда картинки на диске тоже мне не нравится. Как решить?
Замени == на in и возьми имена в кортеж/список.
Потому как проверяется на Тру по очереди:
фэмили == "хуй" - тру/фолс
или
"пизда" - тру/фолс (вот тут срабатывает всегда)
И когда хоть что-то из этого тру - срабатывает условие.
А т.к. не пустая строка - всегда Тру то и оно срабатывает при первом же условии твоём.
А, наверное понял. После or надо полное условие опять записать.
django rest
flask
ну это питон тред, так шо
Чего? Почему?
Есть три класса: Main, Thread1 и Thread2.
Main инициализирует экземпляры Thread1 и Thread2 и поочередно запускает каждый тред.
Thread1 что-то бесконечно делает.
Thread2 бесконечно считает время и реагирует, только когда наступает полночь.
Вопрос: может ли Thread2 при наступлении полуночи грохнуть Thread1, который, напомню, был инициирован в Main?
Спасибо.
Там все правильно, ты просто тупой. Попробуй пошагово пройтись с входным значением, например [1, 3, 12, 22, 24]
В этом примере просто перебираются все значения, с конца, разве нет? Это не байнари серч, по определению.
Нда, от вас дождешься.
Снимаю вопрос неотвеченным.
Решил задачу последовательным вызовом инстансов: Main -> Thread1 -> Thread2. Thread1 вызвал Thread2, Thread1 и грохнул Thread2. Скучно, ПА-БЕГИННЕРСКИ, но зато работает.
Читал в книге, что в пайтоне при объявление переменных в классе есть какая-то особенность для задания имени переменной, типа когда перед ней ставится "_" ( _name = 'fafafaf'). Кто-то знает когда это используется?
Никогда. По PEP8 все глобальные переменные объявляются в начале кода капслоком.
Смысла выделять какие-то иные переменные андерскором нет.
Если имя поля/метода в классе начинается с "_", то это означает, что данный член класса предназначен для внутреннего пользования, т.к. модификаторов доступа в python нет, то это такой способ сообщить другим разработчикам, что не стоит использовать такие поля/методы, так как возможно это скажется на внутренней логике объекта или же разработчик так показывает, что эти поля/методы в будущем могут быть изменены или удалены. Ну я думаю ты понял
делай сетку, так удобнее, няша
Или pyqt.
Короче я хочу узнать, какие книги лучше всего прочитать, чтобы дойти до Django?
Что я знаю хорошо: C#(Core + Unity3D) и HTML+CSS
Что пытался освоить и забросил: PHP (пиздец говно если честно, все эти андерскоры __ и постоянная разница в синтаксисе заебала, не язык, а помойка, как хочу так и пишу называется)
Что забыл, но знал: Java(Core + LibGDX)
Нашел дофига книг, но везде все по разному и нет конкретного описания порядка прочтения книг для тех, кто уже знает хотябы какой-то язык.
Буквально вчера начал читать "Dive into Python 3" и я не понимаю, как ее можно читать новичку, а уж тем более тем, кто уже что-то знает. В ней прямо вначале хуева туча страниц посвещена тому, что как отлавливать исключения, включать библиотеки и т.д., потом приведен еще код программы с функцией, опереторами и т.д. и все это блять вначале, нахуя?
Короче я ее забросил и ищу сейчас нормальное чтиво. Думаю начать с "Укуса Питона - Swaroop Chitlur" и отшлифовать все лутцом (Learning Python) и уже после этих 2х книг прочитать что-то по Django, но пока ничего толкового не нашел.
Подскажите плез, как лучше начать изучение python конкретно в моем случае?
И забыл добавить - все это нужно освоить (Python + Django) за 2-3 месяца.
Времени свободного дохуя, читаю в среднем (без решения задач) по 50 страниц в день
>Swaroop Chitlur
Ну нахуй.
Тебе по питону или по джанге книги нужны таки?
Если по джанге - Антонио Меле (вроде так), годная книга. И не смотри что там версия джанги 1.*, для изучения похуй. Ну потом документацию почиатешь по джанге - она охуенна.
Мне надо изучить сейчас Python так, чтобы этих знаний хватило для освоения Django, а уже потом, если будет время, продолжить осваивать сам Python гораздо глубже
Короче если кратко, то у меня диплом и мне нужно пилить сайт. Сначала начал изучать php и планировал изучить какой-нибудь фреймворк по типу Laravel, но по ходу прочтения книги по PHP я осознал, что это говнище.
Потом я немного поковырялся с ASP.NET, потому что уже знаю C# и мне было бы комфортно работать с ним (хз почему раньше не допер попробовать). Но тут я столкнулся с тем, что я линуксоид и майкрософтовская хуета не очень то дружит, а подключение к дб у них на сторонних библиотеках, которые я так и не смог запустить.
И после пары недель проебаного времени на PHP и ковыряний с ASP.NET я решил попробовать Python и какой-нибудь вебфреймворк. Скачал Django, пару минут и вуаля, все работает, язык понятный и простой, но вот я его нехера не знаю и все мои познания в питоне это:
$ python
>>> 3+4
7
джанго сложен
Забей хуй на джанго.
Мимо вкатывальщик, django, django rest, навики верстки, +куча других популярных питоноских фремворков и либ, проекты на гитхабе, нахуй никому не нужен, рабоытнайти не возможно.
а для себя?
А сейчас иди, и проверь эти вакансии. Я тебе зуб даю, 70 процентов ваканский с питоном это "знание python, bash, js будет большим плюсом"
ты где живешь? я просто в ДС и тут с вакансиями все збс, не только питон, но и джанго
199 вакансий на hh по опыту работы "без опыта"
ну хз, мне просто надо для диплома сделать сайт и параллельно я планирую изучить какой-нибудь язык для бекэнда + фреймворк на нем
пхп - говно
асп.нет - микрософт (говно)
джава - не подходит для моей задачи
питон, а конкретнее джанго - последний и наиболее понравившийся мне вариант
никогда не читал ни про фреймворк, ни про сам руби, просто знаю что он есть и все
> пхп - говно
> питон, а конкретнее джанго - последний и наиболее понравившийся мне вариант
Лол. Если уж и выбирать между двух сортов, а ты выбрал пистон, потому что он как васик, то рнр куда более предпочтительнее. Ибо создавался как раз для динамических домашних страниц.
Выписать все слова, которые являются анаграммами друг для друга, например «замок» и «мазок». Проверка слов должна быть регистронезависимой. Слова, для которых анаграммой является только оно само, выписывать не нужно, даже если это слово встречается в тексте в разном регистре.
Вот мой говнокод: https://pastebin.com/ZAgbueqH .
Суть в том, что все работает правильно, но есть тест на 100000 слов, который не проходит по времени.
Что можно подправить? Если что, ограничение 4 секунды и размер 64 МБ.
он противный в чистом виде, я не могу к нему привыкнуть, все прям как через жопу, в отличие от чистого питона. А вот фреймворки для пхп вроде бы ок, но то, что чистый пхп меня бесит - уже заставило задуматься, а стоит ли.
а я отрицаю? да, ебанат, поэтому попросил помощи, ведь хорошие люди могут помогать таким как я, ебанатам
хотя не, хуета, ни о чем не говорит почти
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
'LOCATION': '/tmp/memcached.sock',
}
}
Вот пример кешируемой вьюхи.
class ShipView(generics.RetrieveAPIView):
....queryset = Ships.objects.all()
....serializer_class = ShipSerializer
....@method_decorator(cache_page(606024))
....def dispatch(self, args, kwargs):
........return super(ShipView, self).dispatch(args, kwargs)
Сделал git pull, перезапустил gunicorn, все пиздец, ничего не работает. Все конфиги перековырял наконец заработало (хз как). Сейчас опять обновился - та же картина
from collections import Counter
def is_anagram(str1, str2):
return Counter(str1) == Counter(str2)
попробуй вместо строк работать с bytearray
До сих пор QT используете?
Тогда какой смысл на Питоне лепить приложения?
Лучше Раби взять, он быстрей.
>Ваш ГовноПитон
почему?
>До сих пор QT используете?
плохо что-ли?
>Тогда какой смысл на Питоне лепить приложения?
не обязательно, можно лепить сайты, можно что-то анализировать, да все что угодно по сути
- Почти, а на Питон IDE завезли уже?
Ну и кто больший хуесос?
>Лучше Раби взять, он быстрей
Мне не быстрее. Потому что мне нужно сначала выучить твой Раби, а потом изучать документацию создания десктопных приложений на нем.
В то время как по PyQt у меня миллион и один пример на харде и все сделано этими самыми ручками. Поэтому если мне нужно что-то сбацать, это выйдет явно быстрее твоего варианта.
> st3
ДЕБИЛ, ЭТО РЕДАКТОР, А НЕ IDE!
Максимум его можно превратить в текстовый редактор с элементами IDE, но если уж на то пошло, тогда лучше notepad++ брать, его почти в полноценную IDE можно заделать, но зачем, когда есть нормальные IDE? Правда под Питон все IDE проблемные и прокаченных вроде того же Эклипса на халяву нет вообще. Ток, ПиШарм, но он же говно.
Как это делать, ебана? После того как внутри основного списка, а также непосредственно включенных в него, будут проверены все вхождения с помощью in, че дальше-то делать? Надо проверить вообще ВСЕ списки которые там есть. Скорее всего приходится рекурсивно вызывать функцию проверки вхождения, но только как это сделать блэт?
Получается что-то вроде пизданутой древовидной структуры как на пикриле. Надо ее как-то целиком обойти
Проигрываю с залётного дегрода, которому порвало от осознания своей быдловатости и узколобости и он не придумал ничего лучше как жирно потраллировать, но в итоге жиденько обосрался и подскальзнувшись на собственной лужи испражнений упал прямо в своё дерьмо. Найс.
>ДЕБИЛ, ЭТО РЕДАКТОР, А НЕ IDE!
>зачем ide конкретно для питона, если есть st3?
я и не говорил, что st3 это ide, просто пользуясь одним продуктом ты устраняешь головную боль и пригорание, когда тебе для одного языка нужно открыть одну ide, для другого вторую, а для третьего третью и т.д.
И раз уж на то пошло, то из st3 можно сделать полноценную ide с помощью пары пакетов.
От ide людям по сути нужно только 2 вещи: компиляция кода в исполняемый файл и автозавершение писанины(code intelligence), остальной функционал в 90% случаев вообще не используется и нахуй никому не уперся, лишь пустая трата места на диске, долгий запуск ide и нагрузка системы.
да это неважно, какой у него синтаксис (хотя эти ебаные доллары перед переменными бесят и по началу сильно заебывали, но и потом гнильце осталось), важно то, что он не заставляет делать архитектуру правильно, а если изначально все не продумать, то будет как через жопу. Отсюда и вопрос, а надо ли эту хуйню учить и использовать, если для простого сайта я должен еще какую-то архитектуру продумывать? Почему я не могу написать все красиво на чистом пхп без продумывания архитектуры? На каком-нибудь Java или C# я могу это продумать в голове и сделать красиво на ходу, а в пхп получится сборная салянка из html, css и php, ну и в довесок js.
>>57900
на рубен вакансий очень мало, дохлый язык в том плане, что он узкоспециализированный, в отличие от питона, на котором делать можно множество вещей (от научных и до игр)
>>58078
имеет, если все хуево, я бы тебе посоветовал посмотреть гарвардский курс CS50, этого вполне хватит
Минимальная IDE это:
- редактор кода
- атоматическая сборка приложения (компилятор)
- дебаггер
- автозавершение кода
Все это есть в st3, вопросы?
Для простого сайта ты можешь вполне обойтись без mvc, oop и прочих фреймворков. Я встречал самописные инет магазы на коленке. Там такой фарш был в коде, что просто охуеешь от увиденного. И это было в продакшене и работало.
Познаешь сам — урок на всю жизнь. На работе так же будешь просить за тебя сделать?
Не все время. Но соглашусь, пусть подумает.
Бля, ты че ботан из 8го класса?
Тред для того и создан, чтобы народ обменивался вопросами и решениями. На Stackoverflow такую же хуйню под каждым тредом высираешь?
Ну и пиздовал бы на стэк, а, ты в английский не можешь. Ну и тред этот не о такой ерундовой перхоти, да и выше анон тебе уже давал ответ.
Хм, из-за рекурсии конечное возвращаемое значения могло быть не то, какое хотелось бы. Как на 1м скрине видно, что функция возвращает True и завершает работу, но вызвавшая ее fun продолжает ебошить и по итогу получается False. На 2м скрине через глобальную переменную все работает как и задумывалось
Но отсюда следуют другие проблемы: подобная дичь нифига не оптимальна, ибо нет быстрого выхода из этой бешеной рекурсии и также необходимость использования глобальной переменной
Есть ли способы обойтись без global а также как сделать этот алгоритм быстрее, наверняка жи есть метод
так а я то о чем и говорю, это мешанина из говна и палок, а пхп не заставляет тебя писать иначе без фреймворка, в том то и дело. Если сам не заставишь, то будет мишанина из говна, а продумывать архитектуру на маленький проект - ну нахой
Ну не скажи, микрофреймоврков как грязи. Да и самому запилить ядро цмс не составляет труда, если, конечно, есть знания. Ладно, забей, тред не про рнр.
def kia (spisok):
spam = ', '.join(spisok[0:len(spisok) - 1])
spam_second = ' and '.join(spisok[len(spisok)-2::])
print (spam + spam_second)
qwe = ['a', 'b', 'c', 'd', 'e']
kia (qwe)
Вот до такого додумался, но это неверно.
def func(l):
...: return f'{", ".join(l[:-1])} and {l[-1]}'
Либо так если ты не знаешь, что такое форматные строки:
def func(l):
...: return ", ".join(l[:-1]) + ' and ' + l[-1]
Первым делом учи АНГЛИЙСКИЙ. Во всех тредах пишут одно и то же, но нееет, не буду гуглить, буду спрашивать
https://stackoverflow.com/questions/26704806/python-string-join-list-last-entry-with-and
соглы, просто пелена моей ненависти к пхп подпалила мой нежный зад
читай литературу, если сложно - тупо вбивай незнакомые слова в переводчик и рано или поздно начнешь уже читать без словаря. В среднем это 1 месяц каждодневного чтения со словарем и будет уже хорошо.
Вот еще советы:
1) Везде язык ставь на английский (ОС, программы, игры и т.д.)
2) Смотри англоязычный ютуб если захотелось поаутировать (тренируй слуховое восприятие слов)
3) Смотри фильмы/сериалы с русскими субтитрами
пока такие есть я спокоен за свою работу
>>58855-кун
> сложна
В 2к!9 не уметь в ангельский... with who I’m sitting on this board.
Upper intermediate по мёрфи красный/синий + зубрежка слов, фразеологизмов. Ебаный в рот, прекращай watching anime and пиздуй to learn, learn and once again learn.
я не смотрю аниме...почему то после 500 слов мне стало тяжело запоминать их
не понял
Такой расклад:
Через API POST-запросом юзер отправляет JSON: { "ticker": "MSFT", "email": "
Я его обрабатываю с помощью tastypie внутри джанго-приложения. Задача состоит в том, что надо на этот тикер для этого пользователя создать подписку, мол, когда цена тикера выйдет за границы max_price и min_price, надо на указанный мейл отправить письмо.
Поля модели подписки выглядят так
class Subscription(models.Model):
subscriber = models.ForeignKey(User, on_delete=models.CASCADE)
ticker = models.ForeignKey(Ticker, on_delete=models.CASCADE)
min_price = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True)
max_price = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True)
Помимо прочего по запросу надо создать тикер с указанным именем и пользователя с указанным имейлом.
Главные вопрос: как я могу создать два новых экземпляра модели с помощью tastypie?
Загуглив нашёл этот способ параллелить, в другой программе у меня он же работает адекватно.
Обычный не пуловский map нормально работает с теми же аргументами
на первом скрине то, что я пытаюсь спарсить, на втором попытки
что сделал:
создал объекты класса UnicodeDammit и BeautifulSoup - не помогло
использовал "formatter", который рекомендуется в официальной документации для работы с HTML entities https://www.crummy.com/software/BeautifulSoup/bs4/doc/#output-formatters
убрал пробелы и переводы строк(мало ли?) - очевидно не помогло
закодировал и декодировал в utf-8 - не помогло
Есть список __all__ в __init__.py, почему я всё еще могу импортировать объекты, которые не находятся в этом списке?
Ну не разобрался я сразу. Подумал почему-то, что кроме import * это дает ещё какие-то ограничения на импорт. Зачем вообще этот тред? Чтобы друг друга долбаёбами называть? К чему этот негатив?
Чисто, блять, понятно почему тред на дне
> 862 пост
> чому на дне?
И правда
ПЕРЕКОТ суки
https://2ch.hk/pr/res/1332788.html (М)
https://2ch.hk/pr/res/1332788.html (М)
https://2ch.hk/pr/res/1332788.html (М)
https://2ch.hk/pr/res/1332788.html (М)
https://2ch.hk/pr/res/1332788.html (М)
ПЕРЕКОТ суки
https://archive.ics.uci.edu/ml/datasets/Superconductivty+Data#
У меня следующий вопрос. Могу ли я привести признаки к общей шкале(стандартизировать)? То есть взять каждый столбец признаков и вычесть из каждого значения столбца mean по данном столбцу, а потом поделить на std по этому столбцу? И так сделать со всеми столбцами(На приложенной картинке описал формулами стандартизацию)?
Скажите, пожалуйста, мне нужно такую стандартизацию делать или нет?
Вопрос: как элегантно получить из всех значений словаря множество?
Пока делаю циклом по словарю, но всяко же есть более элегантный способ.
Практически все, чем я занят, имеет отношение до нейросетей, которые должны понимать тексты на естественных языках. Мои темы это компьютерная лингвистика, MRC/IE, семантическое индексирование текстов, machine reasoning, NLU, интерпретация речи, intent recognition, анализ нарративов, парафраз, Conversational AI в общем и целом, но в основном Q/A-системы. Чат-боты всех видов и мастей: оснащаемые памятью, иерархическими контекстами, Mini-Me системы, AL/RL based, агенты обучающиеся в процессе, машин ризонинг, Visual Conversational Agents - вот это вот все. Не говорю о более утилитарных вещах типа NER, парсинга, coreference resolution, готовых коробочных фреймворках и т.п. Но однозначный мой фаворит конечно нейронки, отвечающие на вопросы по прочитанному документу. На второй пикче в верхнем углу список основного арсенала этой подотрасли.
Здесь очень много вещей, которые стоят того, чтобы ими заниматься. На самом деле не перечислю даже часть тем, которые изучал, в виду того что я задрот одной этой сферы. Конечно, не берусь утверждать, что прям знаю все на свете пэйперы и репы, но, в принципе, имею хоть какое-то представление практически обо всем что тут делается в открытом доступе. Смотря, что нужно.
Меня здесь раньше звали только делать веб-сервисы разные, игры браузерные; вообще хотел бы познакомиться с людьми, которые могут научить делать круто в семантическом поиске и генерации речи, ну или хотя бы объяснить сложные архитектуры. Те, которые начали появляться только вот в 2018-19: всякие переусложненные GANы для текста, ебануто настеканные конструкции на вариационных автоэнкодерах и т.д. Потому что иной раз читаешь бумагу и невозможно даже по чертежу до конца понять как оно должно работать, там бывает до изучения кода даже дело не доходит. Их таких трудных не много, но надо сто процентов чтобы человек объяснял, самому чето как-то жесть прям.
Не знаю, насколько вероятно тут найти именно NLP-проекты, по видимому придется все таки делать сайты. В веб тоже умею, ну собсна первые свои деньги вывел из сапы еще школьником в 2011 году при помощи пыхи и хостинга "Джино", так что опыт есть, да, хех. Да и вообще всегда зарабатывал в интернете, смысл тут чето расписывать. Фреймворки системы twisted-...-bottle, ну и другие питоньи и не только батарейки, понятное дело. Я отлично знаю английский язык, португальский похуже. Не мечтаю быть ударником-сайтостроителем, но если это пока единственная возможность, конечно не откажусь от работы. Для меня главное возможность общаться с коллегами, которые понимают сильно больше моего, вообще люблю все новое и интересное.
Добавляйтесь ко мне в пашку:
https://github.com/Myrtle-Irene
или пишите
myrtle15irene
Хотел сделать для вас красочные наглядные стенгазеты, а они не в хайрезе выдались, сук0)9, да как так-то.
{\__/}
( • - •)
/ ⊃
Практически все, чем я занят, имеет отношение до нейросетей, которые должны понимать тексты на естественных языках. Мои темы это компьютерная лингвистика, MRC/IE, семантическое индексирование текстов, machine reasoning, NLU, интерпретация речи, intent recognition, анализ нарративов, парафраз, Conversational AI в общем и целом, но в основном Q/A-системы. Чат-боты всех видов и мастей: оснащаемые памятью, иерархическими контекстами, Mini-Me системы, AL/RL based, агенты обучающиеся в процессе, машин ризонинг, Visual Conversational Agents - вот это вот все. Не говорю о более утилитарных вещах типа NER, парсинга, coreference resolution, готовых коробочных фреймворках и т.п. Но однозначный мой фаворит конечно нейронки, отвечающие на вопросы по прочитанному документу. На второй пикче в верхнем углу список основного арсенала этой подотрасли.
Здесь очень много вещей, которые стоят того, чтобы ими заниматься. На самом деле не перечислю даже часть тем, которые изучал, в виду того что я задрот одной этой сферы. Конечно, не берусь утверждать, что прям знаю все на свете пэйперы и репы, но, в принципе, имею хоть какое-то представление практически обо всем что тут делается в открытом доступе. Смотря, что нужно.
Меня здесь раньше звали только делать веб-сервисы разные, игры браузерные; вообще хотел бы познакомиться с людьми, которые могут научить делать круто в семантическом поиске и генерации речи, ну или хотя бы объяснить сложные архитектуры. Те, которые начали появляться только вот в 2018-19: всякие переусложненные GANы для текста, ебануто настеканные конструкции на вариационных автоэнкодерах и т.д. Потому что иной раз читаешь бумагу и невозможно даже по чертежу до конца понять как оно должно работать, там бывает до изучения кода даже дело не доходит. Их таких трудных не много, но надо сто процентов чтобы человек объяснял, самому чето как-то жесть прям.
Не знаю, насколько вероятно тут найти именно NLP-проекты, по видимому придется все таки делать сайты. В веб тоже умею, ну собсна первые свои деньги вывел из сапы еще школьником в 2011 году при помощи пыхи и хостинга "Джино", так что опыт есть, да, хех. Да и вообще всегда зарабатывал в интернете, смысл тут чето расписывать. Фреймворки системы twisted-...-bottle, ну и другие питоньи и не только батарейки, понятное дело. Я отлично знаю английский язык, португальский похуже. Не мечтаю быть ударником-сайтостроителем, но если это пока единственная возможность, конечно не откажусь от работы. Для меня главное возможность общаться с коллегами, которые понимают сильно больше моего, вообще люблю все новое и интересное.
Добавляйтесь ко мне в пашку:
https://github.com/Myrtle-Irene
или пишите
myrtle15irene
Хотел сделать для вас красочные наглядные стенгазеты, а они не в хайрезе выдались, сук0)9, да как так-то.
{\__/}
( • - •)
/ ⊃
Подскажи подход для условной генерации, к примеру нужно генерировать предложение с указанным словом, я пытался стандартный вариант - нейронка с GRU teacher forcing + слово подавал в hidden_state, но на выходе какая-то хуйня получается, почему то слово всегда сует в начало предложения, а так любая NLG нейронка умеет.
Вроде как через Urrlib Делается, но все равно не могу собрать целую команду
>>> urllib.unquote('%D0%BF%D0%').decode('cp1251')
u'\u0420\u0457\u0420%'
>>> urllib.unquote('%D0%BF%D0%')
'\xd0\xbf\xd0%'
>>> urllib.unquote('%D0%BF%D0%').decode('unicode_escape')
u'\xd0\xbf\xd0%'
Разные ОС, разные оболочки.
почему?
Вы видите копию треда, сохраненную 16 марта 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.