24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Это малюсенький кусок кода, который сам по себе работает и с ним все в порядке, но я пытаюсь добавить к нему маленькое дополнение, а именно: если внутри словаря у кого-то в списке значений только одно значение (как у Сары), выдать сообщение не "favorite languages are:" и дальше в столбик, а " favorite language is" и одно слово. Короче хочу чтоб в случае с Сарой было "Sarah's favorite languages is C." Как этого добиться?
Бандиты, подскажите на счет докера. Имею django-сайтец с бд пока что sqlite, но в планах перекатиться на postgresql. Фигачу его в docker compose build, оно устанавливает чет, все ок, это понятно.
Хочу растиражировать его в трех экземплярах (по одному на 3 разных региона), те отличия в плане ПО будут несущественны, отличаться будет в основном инфа в БД, и разместить все это безобразие на одном vps-серваке Digital Ocean'а. Теперь вопрос: куда тут наворачивать nginx + gunicorn || uwsgi? В каждый докер-контейнер пихать? А не шибко ли жирно? Поверху и как-то маршрутизировать? Но как?
Вопрос судя по всему тупой до предела, но я видать еще тупее. Как хоть загуглить подскажите.
Ни у кого случайно не завалялся скрипт для инстаграма, позволяющий устанавливать таймер на публикацию? Буду премного благодарен, если как таковой имеется
>>1342469 >Какие области питонирования, надо изучать, чтобы познать сие чудо? Либы типа keras, pytorch, для начала будет достаточно. Можешь загуглить курс Practical Deep Learning for Coders от fast.ai. Там и необходимую теорию дадут. Вообще в нейронках самого программирования не очень много, если ты конечно не реализуешь модель с нуля на tensorflow. В основном много времени уходит на сбор данных и их предобработку, а поставить на обучение нейронку с помощью либ - дело 5 минут
>>1342469 Нет, она невозможна. Питон интерпретируемый язык, а нейронные сети должны компилироваться с указанием оптимизатора, лосс-функции и метрики. Следовательно нужны компилируемые языки - интерпретируемые не могут компилироваться.
1. Допустим, у меня есть класс автомобили, у которого есть переменная скорость и метод движение. Есть два дочерних класса, допустим Феррари и Веста. У первого из них переменная скорость увеличена, у второго уменьшена относительно той, что была в родительском классе. Я хочу устроить их гонку, для чего создаю объекты этих классов, и в цикле, вызываю их метод двигаться, пока один из них не доедет до какой-то конечной точки (очень условно). Вопрос:
Взаимодействие объектов внутри программы происходит процедурно? Я просто задаю набор действий, которые следует сделать с объектами и эти действия выполняются? Это правильный подход? Где вообще можно почитать-посмотреть, как правильно использовать ООП, как должны взаимодействовать объекты (в книжках-курсах больше внимания уделяется синтаксису, а мне бы образ мышления, что-ли)?
2. У меня есть класс Телевизор. У этого класса есть две переменные (громкость и канал) и три метода: переключить канал, увеличить громкость и уменьшить громкость). Правильно ли я понимаю, что суть инкапсуляции заключается в том, что пользователь должен обращаться к объекту класса телевизор только используя методы, которые ему предназначены (все три в моем примере)? Если пользователь попытается не увеличить громкость с помощью метода, а изменить значение переменной "Громкость" - это нарушение принципа инкапсуляции, потому, что пользователь не должен менять что-то внутри моего объекта сам, по своему усмотрению, грубо говоря, в обход тех инструментов, того интерфейса, который я ему предложил? А я, соответственно, должен защитить свой класс от всякого вмешательства, за исключением того, что прямо предусмотрено мной?
Еще один вопрос, уже не связанный с ООП:
Я хочу замутить проект на Tkinter - небольшую декстопную прогу, которая облегчит составление говнодокументов. Но не могу придумать дизайн, где какую кнопочку поставить, в каком виде сделать. Нет ли у дорогого Анона в запасе каких-нибудь годных туторилов по теме основ дизайна приложений (кажется это называется UI/UX но я не уверен)?
Сап, анончик, а что ты имеешь ввиду под совместным изучением? Я вот думал предложить анонасам сделать на Pygame модель солнечной системы с движущимися планетами, а в перспективе, и с возможностью расчета гравитационных маневров для полета от одной планеты к другой (правда это все заморочно, понятное дело). Но это скорее совместным проект, что бы скучно не было в одного ночами писать (ну и научиться с Гит работать не в одну каску, да и в резюме написать строчку об опыте совместного проекта, ога).
Пирог и спасибо Анонам, которые ответили мне в прошлом треде
Я тут первый раз попал на проект с хайлоадом, микросервисы, асинхронность, кафка, вся хуйня. Узнал, что проект пока еще ни разу не сталкивался с боттлоком из-за использования пистона. А вы сталкивались c ним? Есть ли смысл учить какой-нибудь го для перфоманса? мимо вкатился год назад
>>1342729 Следует оговориться, что это нетрадиционный взгляд на ООП. Может, интересный своей оригинальностью, но новичку лучше рекомендовать что-то каноничное.
>>1343168 И заставлять крутиться на одном vps шесть докеров с шестью nginx'ами/postgre/rabbitmq/celery и тд ради 6 сайтов? Как-то не экономненько получается
Два чаю. Вообще если бы программистам было не лень допиливать компиляторы/рантаймы вместо затыкания проблем с производительностью процедурщиной/нативщиной/вендорлокщиной/мультиланг разработкой и прочим байтоебством, а потом вокруг этих припарок создавать свои кривые и уродские фреймворки - то мир бы стал гораздо лучше. Или того хуже - возвращаться в каменный век, к байтоебщине, делая в 21 веке языки вроде Rust и Go.
>>1343257 Раст - отличный функциональный язык. Сравнивают его с го только долбоебы, которые о любой технологии судят исключительно по заголовочкам желтушных статей маркетолухов.
>>1342654 >Допустим, у меня есть класс автомобили, у которого есть переменная скорость и метод движение. Есть два дочерних класса, допустим Феррари и Веста. У первого из них переменная скорость увеличена, у второго уменьшена относительно той, что была в родительском классе. Ебаный ты ублюдок, тебе не нужно городить лапшу из наследования для того, чтобы изменить значение переменной. Если ты не можешь даже придумать неублюдочный пример для своего вопроса, то это явный признак того, что тебе для начала следует заняться, блядь, делом и начать хуячить полезный, сука, код, а не дрочить на мудацкие примеры из книжек для тупорылых даунов.
>>1343406 >This is especially the case with Stackless Versions released before commit 949c518c67c75a1. Since Stackless 2.7.7 most compatibility problems are gone
>>1343416 И нахуя ты это копируешь, дебил? По-твоему все остальные итт такие же дебилы как ты и читать не умеют? Ты спросил, почему его не юзают везде - тебе ответили. Хули тебе еще непонятно?
>>1344745 >--if number % 2 == 0: >----n += 1 >--else: >----number = 3 * number + 1 >----m += 1 Ветка if не влияет на условие, и ты никогда не выйдешь из цикла, попав в if. Неудивительно, блядь, что он у тебя СЛИШКОМ ДОЛГИЙ.
Пишу бложик на джанге, вот есть у меня посты, хочу у каждого поста сделать кнопку, чтобы можно было добавить в сохраненные для моего пользователя. Как это реализуется? Есть шаблон, есть вью от ListView. В шаблоне у каждого поста делаю <form>, у которой делаю кнопку <input бла-бла>. А какой экшон у формы делать? Как там передать pk поста, который хочу добавить? Алсо, в какой вью это следует обрабатывать: в этой же написать метод post или сделать отдельную вью для таких целей?
Предположим надо выводить информацию, да не в консоль простую, а в левыый верхний угол экрана. Типа как ФПС в играх выводится и нагрузка на ЦПУ. Только мне надо поверх всех программ и рабочего стола. PyOpenGL или Tkinter лучше дрочить? Может есть решения попроще?
>>1344875 обосрался чутка >..try: >....post >....if not post: переименуй тут пост в какую-нибудь другую хуйню, например FavPost а ниже ничего не меняй пихай пост, который нашло или не нашло через get_object_or_404 >......Favorites.objects.create(user=request.user, post=post)
>>1344875 Короче, обрабатывать пост-запрос во вьюхе, которая список показывает, не стоит, так? Отдельно писать лучше для таких вещей + какой-то свой url для неё. А как без формы? Просто ссылку на этот url? Где-то читал, что если запрос меняет состояние системы, то не стоит использовать GET. А для чего тогда может пригодиться переопределение метода post в ListView? Я пока так сделал, но мне не нравится, что в шаблоне у формы экшон содержит урл и параметр к нему, а урл всех постов не подразумевает никаких параметров, как-то глупо выходит.
>>1332788 (OP) Проебался сегодня целый день запихивая фласк приложение в ехе файл и все из за одной функции которая из html делает pdf. Как оказалось из за того что os.path строит неправильный путь к папке. Думал захардкодить биьлиотеку, но в итоге 1 вызов поиска пути пока никак не могу обойти, кроме как переписать весь модуль. Почти построил троллейбус из хлеба.
>>1344737 Сложна, сложна, ничея непонятно. Но ведь эта штука нужна для выделения деталей на совершенно различный недетерминированных данных. Типо найти всех кошек на рандомных фотографиях животных. А у меня они полностью детерминированы - определены заранее. Похоже дешевле всего будет привязать к каждому изображению какойто числовой первоначальный классификатор (типо суммы всех точек или точек в определенных позициях), искать по этому значению в базе изображений, и для случившихся нескольких совпадений сравнивать изображение попиксельно с готовыми образами. Но это придется делать руками. А так хотелось подключить какую-то волшебную библиотеку, прописать пару параметров и больше ничего не делать. >>1344721 Мне просто нравятся таблички.
>>1344900 Про GET и состояние системы: речь о том, что если запрос что-то изменяет на стороне сервера, а не просто получает данные, то для таких целей нужно использовать другой метод, например, POST. Про урл и параметр в форме: ничем не плохо, кроме того, что у меня посты по адресу '.../blog/', и этот адрес никаких параметров не подразумевает. А в форме у меня action содержит этот же адрес, но ему передается еще параметр. Несоответствие получается, хотя оно и разруливается потом в контроллере. Ну да ладно.
Уже два года пишу на питоне, понял, что это обычная империативная дрисня с сахаром без изюминки. Чо делоть? Вкатывается в функциональщину со всем ее матаном? Я пока не хочу возвращаться к маминым борщам
>>1345065 Потому что ты читаешь книгу 83 года от рождения христа. Уже давным давно этот вопрос закрыт, что использовать абсолютно похуй, можешь как угодно сконфигурировать любой редактор, назначить на клавишу "таб" 4 пробела, использовать табы как сивол, использовать пробелы, разница только в самом факте. Забей. Я даже не знаю как это настроено в моих редакторах\иде, потому что разницы нет. Любой кто будет утверждать иное - шизик 50+ лет.
Анончики, тут есть те, кто учил питона по онлайн-курсам типа codecademy и stepik? Получить основы я там смогу? Сейчас вот начал курс на кодекадеми, параллельно нужно ещё читать учебник? Если да, то начинать сразу с Марка лутца - Изучаем питон, или есть более дружелюбная книга к нубам в языках программирования? книги по алгоритмизации не советовать, это и так понятно.
>>1345100 Ну, основы ты хоть где можешь получить. Но смотри, чего тебе не хватает: ошибаешься в синтаксисе - ищи уроки по синтаксису, тупишь над решением - качай логику. Основы это там сама "база", которую пишут в вакансиях погрмистов? Если ты в этом смысле, то это знание синтаксиса языка и ООП (ну и умение всего этого применять, конечно же).
Прошел SoloLearn, но там лишь на синтаксис упор (охуевший упор), никаких реальных задачек для мозгов нет.
Алсо, книги многими не рекомендуются, так как они быстро устаревают. Для примера: прочти пару постов выше.
>>1345118 Понял, анончик. Основы это синтаксис языка и умение записывать алгоритм на нем, ну то есть все эти массивы хуйсивы циклы и прочее. Синтаксис, я так понял, заебись дадут на курсах, а дальше нужно будет либо искать простые проекты сапера там написать, скрипт под что-нибудь, либо решать всякие олимпиадные задачи на логику и её прокачивать, так? нарабатывать умение мыслить алгоритмами Параллельно с этим изучать прочие возможности языка, Django всякие и графические интерфейсы. Все верно описал?
>>1345122 Да, все верно. Да и в принципе, самое умение думать и находить решение - важнее, ящитаю. Так как синтаксис можно быстро подтянуть. > а дальше нужно будет либо искать простые проекты сапера там написать, скрипт под что-нибудь, либо решать всякие олимпиадные задачи на логику и её прокачивать, так? Если найдешь курс, где после каждой темы будут давать годные задачи, то это тоже хорошо. В целом, да, ты прав.
>>1345125 На кодекадеми задачи в платном курсе, я пока бесплатный дрочу. Потом пройду курс на stepik и питонтьютор, там по идее будут задачи. После этого, думаю, уже смогу что-то осилить из простых скриптов и задач. кстати о сапере, на питоне можно написать полноценного сапера с графическим интерфейсом? Естественно, когда научишься.
>>1345144 Лучше не платить, можно и бесплатно обучиться. И в открытом доступе есть все знания и уроки. Но если тебя будет мотивировать то, что ты заплатил, то другое дело. > на питоне можно написать полноценного сапера с графическим интерфейсом? Вот этого не знаю, правда. Я такой же, как ты, хулиган нуфаг в питоне.
>>1345149 Я пока вообще платить не собираюсь, так как не знаю, зайдет ли мне программирование. Если заебет за пару месяцев - значит не моё и можно смело забывать о нем на всю жизнь. Понравится дрочить код - значит можно учить дальше.
>>1345080 > Я даже не знаю как это настроено в моих редакторах\иде, потому что разницы нет. Любой кто будет утверждать иное - шизик 50+ лет. А потом скрипты не работают потому что какой-то мудила табы вместо пробелов сделаны, в твоем редакторе автоматическое преобразование табов в пробелы. Онли пробелы
В чём плюсы питона? Почему он так популярен? Есть и были более производительные языки, но библиотеки для питона пишут. Даже для нейросетей библиотек больше, чем для других языков. Почему так?
>>1345227 >Есть и были более производительные языки, Потому что производительность это не самая главная характеристика языка, питон простой, не байтоебский, на нем быстро пишутся программы и есть очень хорошая стандартная библиотека.
>нейросетей библиотек больше, чем для других языков Нейронками занимаются те люди которые не хотят ебаться с указателями, освобождением памяти и прочими низкоуровневыми вещами. К тому же под капотом у этих библиотек те же плюсы, которые обеспечивают приемлемый перфоманс
>>1345100 Codecademy вообще херь какая-то, хотя я тоже сдуру с неё начинал. По 10 раз одно и то же "напишите 5 + 2", а теперь "2 + 5", а теперь " 5 - 2", теперь "a = 5, b = 2, a - b". Хуитка для даунов. То, что они там размазывают на ебаную тьму времени можно освоить за 15 минут. На степике курсы по-моему какие-то поверхностные слишком, лучше уж укус питона навернуть, если совсем очоба нужна. Та же хуйня, только быстрее и понятнее будет. После укуса Лутца навернуть, после Лутца наворачивать fluent python. Главное параллельно с этим упражнения делай. Не знаю, мне лично больше гораздо помогают поставленные мне задачи кем-то или чем-то, а не придуманные самостоятельно.
>>1345233 Воспользуюсь вимом, плагин для проверки синтаксиса при сохранении мне скажет, если в файле намешаны табы с пробелами, после чего я использую :retab что бы все пофиксить. Я коммодоиде я вспомнил потому что все современные редакторы (и иде) давно уже чхать хотели, что там у тебя, ибы пробелы, все сразу, ничего вообще, а если у кого то с этим проблемы, значит он использует софт из нулевых, как коммодо
>>1345240 Не, после C ебать байты в питоне гораздо более заморочено. То, что на С выглядит естественно и непринужденно, в питоне будет смотреться как прыжок изподвыподверта.
Анон, а по какой именно книжке Лутца начинать изучать? Сейчас закончил читать Укус, и я так понимаю, после него нужно смотреть Лутца, но в гайде от него как минимум две книжки для начинающих - "Изучаем питон" и "программирование на питон". С чего из этого начать? Или они взаимозаменяемы?
>>1345344 По-моему нет таких, по крайней мере у лутца. Да ты не ссы, там немного и может пригодиться. Ну или просто бери да пропускай сравнение со второй версией.
Вообще, строго по моему опыту, нужно полистать еще пару книжек по питону простых, типа Изучаем Пайтон Мэтиза. И параллельно порешать задачки на кодварс.
Объяснюсь: укус питона хорош как вводная книжка, но не все аспекты раскрывает. Лутц же пипееец скучный, и если ты раньше не программировал, с большей долей вероятности тебя будет вырубать. Меня вырубало после прочтения 3 страниц, когда читал в первый раз.
В то же время, когда у тебя наберется небольшой опыт погромирования, в том числе и на пайтон, Лутц становится очень интересным, потому что раскрывает всякие мелочи и интересности, которые ты мог раньше не усвоить/забыть/автор не описал. Я, например, только после него научился нормально пользоваться лямбда-функциями, до этого получалось такое себе.
Из самого Лутца сначала Изучаем, потом Погромируем.
Я сделол функцию, которая может выполнять только определенное количество корутин одновременно. (чисто ради интереса) https://repl.it/repls/MatureFlakyDemo Можно ли бы это написать более элегантно?
>>1346194 Я вкатываюсь пока только в джуна, если интересно, то вот опишу пока свой опыт. Собеседования скорее не проходят -- просто отклики игнорят либо присылают отказ. На остальных меня лично на одном просто спрашивали в общих чертах насколько знаю язык, с какими фреймворками работал и тд. На другом более конкретные вещи спрашивали типа какие типы данных основные есть, чем они отличаются, зачем нужен кортеж, если есть список и тд, потом про джанго немного: чем селект_ от префетч_рилейтед отличается, например. Эти ребята не давали тестовых. Гитхаб тоже никто не смотрел. Две другие вакансии сразу (походу бот) кинули тестовые. Первая: у них есть классы для работы с рест и вебсокет апи трёх криптовалютных бирж, надо к ещё одной китайской написать такие же. Только они хотят работать с базовыми классами, потому тебе надо разобраться (ни комментариев, нихуяшеньки нет) какой атрибут в базовом классе апи за что отвечает в этой криптоссанине и написать класс, который будет представлять собой соответствие их атрибутов и эндпоинтов/параметров апи. Говно, если честно. Я больше пытался понять что есть что и почему кривая китайская апишка не реагирует на половину параметров (потом увидел issue на гитхабе, которые никто не закрывает), а не код писал. Второе задание было написать бэк для бложика на джанго + фронт на html: пользователи через админку, они могут подписываться на других, у них есть лента с постами от тех, на кого подписаны, в ленте можно пост пометить прочитанным + при появлении нового поста пользователь должен получить уведомление на мыло. Вот тут уже я код писал и довольно много, в соседнем треде говорят вон, что это говно, а не контора, если джуну в качестве тестового даёт столько кода писать. Ну хуй знает, посмотрим, что ответят, так-то всё равно я что-то подобное собирался делать для практики. Про тесты не говорили, я решил немного написать, но не все сделал, потому что уже времени не осталось и я не знал как тестировать формы и вью для обработки пост-запросов. В соседнем треде анона за отсутствие тестов разъебали. А ещё логи и обработка исключений оказались очень важны, а я не особо парился над ними.
Ничего в этом сложного особо и нет, пришел, поспрашивали за синтаксис питона, что-то из жс-хтмл-ксс, так, хуиту, даже не вспомню. Долго ебали с сикуэль (оказалось, писать запросы надо 90% времени), ну я его еще до вката как-то знал, так что более менее. Ну там какие-то теоретические вещи, типа пузырьком по сортировать, че такое бинарное дерево, такого уровня. Посмотрели мои говнопетпроекты на гитхаб, всякие там бложики-хуежики, пара сверстанных лендингов, акк на кодеварс. Сказали, типа "хули ты кодишь как долбаеб, тебе бог лямбда-функции дал? Нихочу, хочу жрать говно". Ну я такой, типа, что бы читаемость, хуе-мое. Похвалили за комменты и относительную читаемость говнокода. Спросили про люнухс, честно сказал, что очень смутно ебу, че там да как, но вот, типа интересуюсь Си, в планах сделать проект, туда-сюда, поэтому буду осваивать. Спросили, че хочу сделать, вот, типа, говорю, буду онлайн-компилятор мутить для языков брейнфак и уук, типа, что бы по фану можно было поиграться. Поговорили за эти языки немножко, сказал, что заинтересовался прогерством из-за низкоуровневой хуиты, робота хотел сделать, который мне масло передаст. Ну чел заценил вроде, посмеялся так, нормально. Потом короче спросил, есть ли у меня вопросы, ну я там начал спрашивать за то, как они джунов учат, помогают-объясняют ли, про митапы, соврал, что давно хочу на МоскоуПайтон сгонять, про проект спрашивал, ну ваще так, показал, что мне интересно развиваться. Спросил, че мне хочется дальше делать в жизни, я сказал, что нравится пилить свои проекты, хочется прокачаться в управлении, и вообще приятно видеть результат работы. Как-то так, ну это правда. В конце про ЗП сказал, типа сколько хочешь, я ответил, что понимаю, что много особо не дадут, и я потеряю в зарплате, зато буду заниматься тем, что нравится. Короче, сказали, ну окай, давай мы подумаем еще, позвоним, но так у нас предложение 30к на первые 3 месяца, типа испытательный, потом 40к, а дальше как себя проявишь.
Через дня три позвонили, говорят, довай, ну я и согласился. Спросил че еще почитать, мне там скинули, что бы с проектом начал знакомиться, вот, в следующий понедельник выхожу.
На самом деле страшно было оч, тупил много, на самом деле, какую-то чушь нес о том, зачем нужен __init__, но блять рассказал про отличие списка от массива и про указатели, если дали бы какую задачку - я бы обосрался, но, я так понял, гитхаб с кодварс чел заценил (мне понравился кодеварс, я там по фану каждый день задачки решал), ну и вроде как ему понравилось, что я мотивирован.
Сама конторка вроде такая, не особо, пилит штуку с базами данных для госоргана, но мне норм. А, еще короче про английский спрашивали, я тоже честно сказал, что не особо, на уровне разговорного в чужой стране могу, с гуглом документацию питоновскую читаю, пару книже читал. Ну и еще он меня про ООП спрашивал, а мне нравится ооп, много (относительно) читал про саму парадигму. Вот, как-то так.
До этого был на двух собеседованиях, на фронта и на фуллстек. На первом обосрался везде, где смог, на втором криво сдела тестовое.
>>1346222 > с какими фреймворками работал > про джанго немного > из жс-хтмл-ксс Это прям обязательно или нужно хотя бы знать?
И сколько времени дается на вот это: > написать бэк для бложика на джанго + фронт на html Хотя, я на бэкенд пойду, то вряд ли мне фронт будут на тестовом давать. Или нет?
Спасибо. И удачи тебе с устройством.
>>1346224 > гитхаб с кодварс чел заценил А если ничего нет и опыта написания проектов нет вообще?
>>1346299 > Это прям обязательно или нужно хотя бы знать? Зависит от каждой конкретной компании и позиции, сам подумай. В одном месте просто пытались, видимо, мой кругозор оценить, в другом, где вакансия была четко под джанго, естественно задавали вопросы про джанго. Короче, я думаю, если в списке технологий или в обязанностях указано что-то конкретное как основной инструмент, то скорее всего что-то про это нужно будет знать. В остальных случаях, особенно если "будет плюсом" иногда на похуй просто могут спросить имеешь ли ты хоть какое-то представление, и если имеешь, то заебись, а если нет, то пёс с ним. Из фронта меня только на вакансии рубиста закидали вопросами, потом выяснилось, что им фулстек нужен и вообще мидл, ну и я в гробу видал их фулстек вместе с руби после питона любой другой скриптовой язык говном кажется теперь, лол, а от вёрстки меня воротит больше, чем от байтоёбства. Но как я понял, много где на позиции бэка требуется представление о базовых каких-то вещах из фронта. Можно очень быстро разобраться и освоиться, пройдя какой-нибудь курс, например, на freecodecamp базы неплохо даются. Сможешь рассказать про то как три колонки на страничке ебануть и в розовый раскрасить и хватит. > И сколько времени дается на вот это Мне дали 3-4 дня на это, проект надо было залить на гитхаб и вообще там должен прослеживаться процесс разработки. Честно -- клоунада с созданием мёрдж-реквестов самому себе это тот ещё абсурд, я будто с зеркалом разговаривал. В самом задании написано 1-2 дня, вот тут я охуел, потому что джун вряд ли столько напишет за такой короткий срок. Если разбивать на нормальный рабочий день, то у меня наверно вся рабочая неделя ушла бы на это минимум, но я дома сижу, и могу себе позволить писать код больше 8 часов, если надо. А вот на что они рассчитывали, если у меня была бы работа? Физически невозможно просто за 3 дня столько кода выдать. > я на бэкенд пойду, то вряд ли мне фронт будут на тестовом давать Ну я тоже на бэк претендую, но как видишь... Там минимум, наверно, чтобы понять имеешь ли ты представление о шаблонизаторе, не знаю. Если не заморачиваться, то можно довольно быстро накидать шаблоны и на css вообще забить, я думаю. Я просто немного заморочился и сделал говно-ДИЗАЙН, хотя в css у меня тот ещё бардак и куча копипасты из интернета, да ну и срать на него. Ящитаю, если даже простейшая верстка потребуется, то на ходу разберешься -- инфы много и там не так сложно (по крайней мере очоба). Скорее просто знать надо кучу параметров и их значений. Я раньше не писал никакие странички вообще, тем более стили для элементов не делал, не так много времени на это ушло, к тому же повторяющиеся или общие для страниц вещи можно запихнуть в один базовый шаблон и наследовать его в других -- это очень сильно упрощает жизнь и ускоряет написание. А вот если потребуют какой-нибудь жс-фреймворк или бутстрап, то я бы дропнул такое задание. Сам просто пытался вкатиться в vue, и там много всего слишком для того, чтобы взять и за вечер написать. А когда я пытался сам написать проект с бутстрапом, я очнулся через несколько дней с осознанием, что на бутстрап больше времени трачу, чем на всё остальное, и забил. > удачи тебе с устройством Спасибо, и тебе. Надеюсь, хоть что-то полезное из моего словесного поноса найдешь для себя. > А если ничего нет и опыта написания проектов нет вообще? Знаю, что не мне адресовано, но вставлю свои 5 копеек. У меня больше 200 просмотров резюме уже и одни отказы да игноры. Я слежу за insights->traffic на гитхабе. И знаешь что? Всем до пизды мои поделки, их смотрели только один раз непосредственно пока я на собеседовании сидел решал задачку. Я думаю, это может быть плюсом, но не везде. И это едва ли поможет тебе попасть на собес, а на собесе всё решишь ты сам при разговоре. А уж всё остальное вообще сомневаюсь, что кто-то смотреть будет. То есть, у тебя на гитхабе может быть второй вконтакте реализован, а тебе на отклики будут приходить отказы по неизвестным для тебя причинам, потому что твой гитхаб никто не смотрел и не собирался даже смотреть.
>А если ничего нет и опыта написания проектов нет вообще?
Я хз анон, я про тестовое забыл написать, что спросил, че мне его не дали, а чел сказал, типа у них тест - тот же бложег, так что они подумали, нахуй надо.
Питониты, подскажите, как запустит код циклично. Хочу проверить код, заменив rage>0 на >10. Как это можно сделать? А то в Spyder нужно вечно перезапускать программу и тогда переменные сбрасываются.
>>1346299 Как мне кажется на питоне нужен либо фулл стак поддерживать проекты со стеком django/flask + jquery, либо писать современное апи на котором уже будет работать фронт с использованием современного стека. Я конечно могу ошибаться, так как не работал разрабом, но имел опыт общения с людьми кто набирал людей на проекты.
>>1346552 >Как мне кажется на питоне нужен либо фулл стак поддерживать проекты со стеком django/flask + jquery, либо писать современное апи на котором уже будет работать фронт с использованием современного стека. Работаю чистым бекендом, ссу на фулстаков, которые делают двойную работу
>>1346762 В смысле парсить аудиофайл? Посмотри, может тут есть нужная тебе функциональность: https://github.com/python273/vk_api По-моему этот пакет может и просто список аудио получить, и ссылки на треки.
Есть инет магаз кое-какой технической достаточно сложной хуйни. В нем есть приложения: - Каталога (где товары). Товары содержат базовую цену и пиздец. - Конфигуратора товара - те списка вариантов как допердолить девайс под свои нужды, ничего грубо говоря заумного, но для каждого товара свои потребности в конфигураторе. Конфигуратор состоит из 2 моделек типа Слой и Опция. Слой - это совокупность Опций. - Корзина на сессиях - самодельная и не очень хитрая.
Как мне передавать в корзину список выбранных опций товара? Как мне потом допилить на страничке просмотра корзины кнопку "изменить опции" и чтобы передавать обратно из Корзины опции в Конфигуратор? Как бы вы подобное делали?
vk_audio = VkAudio(vk_session) tracklist = vk_audio.get(owner_id=user_id) [/code] В tracklist получишь список словарей, в словарях по ключу 'url' есть ссылка на трек, она открывается в браузере и если выполнить > wget %audio-url% -O track.mp3 То он загрузит его, файл играется -- я только что проверил.
>>1346850 Анончек, ты бог, спасибо! Я собираюсь сделать клиент вк на десктоп, типа телеги Будут диалоги, с возможностью качать и прикреплять файлы и музыка Как то так
Аноны, а как обойти блокировку телеграма, если я хочу для него бота написать на requests/aiohttp? Знаю, что есть пакеты, где можно просто прокси прописать, но хочу попробовать без них всё сделать. Пока ничего не нагуглил полезного.
>>1346870 Я тебе на PySocks кивал, либа для работы через сокеты + пример бота, как там их используют. Реквестс очень маловероятно умеют через них работать.
>>1332788 (OP) Почему в tkinter filedialog, окошечко, в котором выбираешь какой файл открыть или сохранить, в винде выглядит нормально, как системный файлдиалог, а в убунте 18.04 выглядит вырвиглазно, хуже чем убунтовский системный файлдиалог, и вообще весь tkinter в убунте вырвиглазный, а винде нормальный, особенно если виджеты из ttk использовать, как можно это исправить?
>>1346860 export HTTP_PROXY= export HTTPS_PROXY= Всё, что использует urllib2/3(включая requests) будет работать по этому прокси. Это если нужен глобальный прокси. Для отдельных запросов параметр proxies >>1347149 Смотрите, питонодебил не в курсе собственной платформы.
Аноны, а bot api телеги не предоставляет никаких возможностей получать сообщения из каналов? Что-то гуглю и кроме как добавить бота через админа канала больше никакой возможности это делать не вижу.
>>1347725 Хреново, тогда другой вопрос: если я всё то же самое запилю через просто обычный api телеги и захочу залить на какой-нибудь heroku, чтобы оно работало, и я им пользовался, как в таком случае залить вместе с кодом конфиденциальную инфу для аутентификации? Не просто же в текстовом файле в открытом виде?
>Complete the function scramble(str1, str2) that returns true if a portion of str1 characters can be rearranged to match str2, otherwise returns false.
Подскажите, как мне вытаскивать href из <a class="nav" href="/1808/"> назад </a> с помощью beautifulsoup? Типа, я буду постоянно тыкать на эту кнопку и на открывшейся странице забирать инфу, затем снова на эту ссылку тыкать и так бесконечно. То есть href каждый раз новый. Не очень въезжаю, как указывать на эту ссылку, имея только текст в ней, ну типа "назад", нутыпонел
Анон помоги с upset в sqlalchemy (Postres, psycopg2) https://docs.sqlalchemy.org/en/latest/dialects/postgresql.html Нихуя не пойму как это настроить. Есть база, объеявленая декларативно, скажем class city(Base): ....__tablename__ = 'city' ....name = Column... ....index = Column...
Где то там в коде я создаю новый город viskont = City(name='Viskont', index=111111)
>>1348643 Как топорное решение пойдёт, для малых размеров разницы никакой, но подумой, что происходит с текстом на болших размерах.
Сколько в алфавите букв? 52, включая регистры. цифры, символы и вся херня, в итоге 100 печатаемых символов. Как ни крути, не уникальных символов в итоге будет на порядки больше, чем уникальных. Этим можно воспользоваться. (Там, где количество повторений мало, предоставленный мной способ будет даже медленнее.)
Ты в своём коде на каждый элемент из s2 проходишься по всему в нихудшем случае списку s1, что в итоге даёт сложность, O(n×m) (размеры s1 и s2). на самом деле чуть меньше, потому что ты удаляешь элементы, математики помогите. Ну и удаление элементов из середины тоже не сильно производительности помогает.
Но если вспомнить про всего 100 возможных элементов, то станет ясно, что можно просто посчитать количество этих символов в s1 и s2 и сравнить, хватает ли их. Итого при "элегантном" в плане кода решении сложность уже линейная, O(n+m+k) (k - количество уникальных элементов в s2).
Ещё всё можно свести к одному проходу каждой из строк, записывая одновремнено количесво повторений всех символов, а потом их сравнить. Если ответ ответ отрицательный, то может быть хуже, а может быть лучше, смотря как быстро первый способ (считающий буквы поочерёдно) нашёл бы нехватающую. В коде видно, что в 6-7 раз медленнее может быть. Но в целом уже выходит O(n+m) на составление счётчиков + O(k) на их сравнение. Не знаю, как правильно ли это писать через сумму двух O, суть та же — время растёт линейно и тут уже, наверное, сравнивать их стоит по средним временам, анализируя входящие в них операции и т.д. (явно не для задачи на 6 или 7 kyu но codewars)
Если очень надо, то: 1. Если есть какая-то информация о входных данных, во втором способе можно отсортировать буквы в порядке их среднего использования в языке. например, если предполагается, что из s1 собрать s2 будет нельзя, то велика вероятность, что не будет хватать как раз редких букв. 2. В третьем можно, вместо двух счётчиков, сделать один из s1, а затем декрементировать значения при обходе s2, прерывая, если упадёт ниже нуля.
(Господа математики, ткните носом в ошибки и подправьте мои O-нотации плз.)
>>1349036 >O(n+m+k) (k - количество уникальных элементов в s2). Точнее, тут должно быть O((n+m)×k), вроде как (ведь мой код k раз проходит каждую из строк). А вот с одним лупом как раз (n+m+k).
>>1348694 Я понял что ты хочешь, ты хочешь происать так чтобы собрать все ссылки в обратном порядке и на всех страницах, так? Тоже удваиваю реквест. Бамп.
>>1347732 Запили себе каштомный телега-клиент, ему каналы читать можно безо всякой ебанины.
Собственно, я изначально это тебе и рекомендовал со своими ссылочками, а потом ты или другой баклан сошли на говно что это потому что я мол стандартную либу не знаю.
>>1349043 Про либу не я писал и вообще не особо понял к чему тот пост был. Да, я в итоге сделаю как ты говоришь и буду работать через обычный апи для чтения каналов. Просто хотел запилить бота, которым бы мог кто угодно пользоваться, а так только я смогу, раз всё через мой аккаунт работать будет, по сути. Придётся его ещё как-то огородить.
>>1348694 href может содержать либо абсолютный путь, либо относительный, либо ссылку на сторонний сайт.
Если ты находишься на example.com/a1/a2/a3, то: href="/b1/b2" перебросит тебя на example.com/b1/b2 (т.е. это абсолютный путь от корня сайта) href="b3/b4" перебросит тебя на examples.com/a1/a2/b3/b4 (т.е. это относительный путь на уровне текущей локации) href="http://www.google.com" перебросит тебя, очевидно, на гугл.
href ты достать можешь, текущий адрес есть — в путь.
>>1349068 Действительно работает. Но ты меня неправильно понял. :( Мне хотелось бы добавлять в arr элементы формы arr2. Не только тот один arr2 что в примере, а много. В этом плане ndmin не помогает.
Вообще в интернетах пишут: Что обычный list.append выполняется примерно в 4 раза быстрее np.append. И правильным решение по скорости выполнения похоже является создание list, а потом конвертация в np.array. Но фуууу же, какое то костыле-строение.
>>1349099 >np.array returns a copy of arr Зашквар, такой зашквар. >примерно в 4 раза быстрее Это я ошибся. При десятках тысяч элементов - в сто раз разница. Странный какой-то метод np.append, вроде он и есть, а вроде его и нет. Для больших массивов np.append ненужен - ибо копирование, а для маленьких весь np полностью ненужен.
Аноны, что с вашим питоном не так? Казалось бы простой синтаксис и нету указателей. А пользоваться сложнее чем С с малоками и указателями.
>>1349099 >>1349122 Вы не понимаете сути np.array, видимо. Это массивы, те самые, настоящие, а не списки. Они не созданы, чтобы им аппендили говно всякое без разбору.
>np.append, вроде он и есть, а вроде его и нет. Его нет. Это просто для удобства использования его сделали и так назвали. На самом деле это то же самое, что создать новый.
Внутри это всё один большой кусок памяти, в котором идёт, скажем, 64 числа. Хочешь это одномерный из 64, хочешь — двумерный 8x8, или там 4x4x4, и т.д. А после добавления говна в конец эти цифры изменятся, при этом np.append позволяет соединять массивы разных длин/форм, поэтому что ты там хочешь получить в конце нампи гадать не будет, просто выдасть тебе одномерный массив, который изволь теперь сам делить как хочешь. Например, вот так — https://repl.it/repls/GlumBuoyantCone
>для маленьких весь np полностью ненужен. нампи не только для скорости нужен (он даже не всегда быстрее чистого питона, написанного под конкретную задачу, вроде скалярного произведения одномерных векторов https://repl.it/repls/SubtleElectronicScreenscraper ), но ещё и для удобства работы. Слайсы всякие магические, векторы-хуекторы и т.д.
>А пользоваться сложнее чем С с малоками и указателями. Если бы ты этим С с указателями (в них ничего сложного, кстати) пользовался, то вряд ли бы так истерично реагировал на подобное поведение.
Нуфаг здесь. Поясните, как ena выходит за пределы индексов строки, если она равна количеству символов в строке? Вообще, где я обсераюсь, блять? Хочу сделать программу, которая бы выводила буквы и звездочками рисовала количество их повторений в слове: t - * i - p - И тд.
С циклом while выдает эту ошибку (охуеть). Если оставляю for, то он выводит повторяющиеся буквы, то есть, пишет одну букву дважды (или трижды, если она три раза встречается в слове. ЧЯДНТ?
>>1349312 Индексы строк/списков и прочего в большинстве языков, включая питон, начинаются с нуля. >s = "abc" >len(s) -> 3 но >s[0] -> "a", s[1] -> "b", s[2] -> "c".
>>1349945 >раббитмкью Это разве на ждуна? Очереди конечно просты как палки, но ждуну скорее всего нужно будет только знать команды для отправки\добавления колбека
>>1349945 А я вроде читал, что редис в качестве брокера для сельдерея работает быстрее кролика. >>1349940 Чем раньше занимался? Я вот в 26 нихуя вкотиться не могу.
>>1350135 >А я вроде читал, что редис в качестве брокера для сельдерея работает быстрее кролика. Чо блядь? Редис это NoSQL хранилище, а кролик это брокер сообщений. У них задачи и функциональность совершенно разные.
>>1350139 Что заставило тебя в питон ползти? Я вот смотрю на отказы и игноры моего резюме и думаю, что в ближайшие месяцы мне тем же самым предстоит заниматься.
>>1350147 У редиса бывают проблемы с персистентностью на больших нагрузках, у нас отказались от него в пользу etcd А так же с реббита переходим на кафку
>>1350146 Да я на самом деле просто хотел узнать актуальный минимальный стек, на работу не хочу вкатываться. Просто нужно занять голову, решил написать игру-бот в телеге и пару идея для чат-игр на твиче есть(сам напишу, сам в них играть буду, естественно). Питон вроде простой язык, решил выбрать его.
Уважаемые Господа, моя задача - распознать карты, которые я получаю в размере 50х71 (пикрелейтед). Всего 52 выходных типа данных. (4 масти по 13 номиналов от двойки до туза) Поставил керас с тенсорфлоу, подготовил данные. Но как мне определить какую структуру нейронной сети выбрать? Беру готовые варианты для мниста/цифар10 или пытаюсь сделать свою, в итоге получается что или сеть не обучается и буксует на 2-х процентах, или вроде всё идёт хорошо, с двух процентов сеть набирает до сотки (картинки то всегда одинаковые), тестовые данные тоже показываюТ 100%. НО когда я пытаюсь вручную через predict_classes посмотреть результаты по конкретным картам, мне показывает какую-то хуйню, 4рка буб и тройка пик может быть одного класса и т.д. В чем косяк? Как подобрать структуру сетки? Стоит ли обесцвечивать карты и оставлять только контуры перед обучением? Или может другой, более удачный, метод решения моей задачи подскажите? Мне нужно делать скрин и максимально быстро распознавать карты на экране.
>>1350245 >максимально быстро распознавать карты на экране Еще бы! Иначе будешь деньги дерять на онлайновом покере. Твой бот будет тупить и проебывать раз за разом твои денежки, лол!
Анон, который предлагал для телеги Telethon использовать, чяднт? Первый раз пытаюсь просто создать клиент и попробовать хоть какую-то инфу получить с телеги. И при первом же вызове client.start() он спрашивает номер, я ввожу и получаю FloodWaitError и предложение подождать сутки. Охуеть, там написано, что после 5 неудачных попыток будет такая хуйня, а тут ни одной не произошло.
>>1350291 Чисто из практики > джанго орм + Очень удобный интерфейс, работать приятно, всё легко и просто. - Медленная > алхимия + Много примеров и готовых решений, просто бери и юзай в продакшене. Миграции и прочие важные плюшки присутствуют. - Более убогого интерфейса не встречал, глаза вытекают, документация не структурирована нормально. > пиви Юзал один раз, но потом успешно сменил её на алхимию и больше не возвращался(надеюсь и не вернусь), от неё плеваться только хочется(хотя возможно это так программу с ней спроектировали, что у меня вызывали боль исправления) + Есть асинхронная версия её, вполне себе шустра.
Ещё и за pony-orm поясню немного, раз начал > pony-orm + Удобный интерфейс(немного непривычный после джанги). Хорошая скорость работы(судя по тестам). Проект развивается небольшой группой людей но довольно активно(есть и чат, где отвечают и issues коментят). Сейчас на ней активно пишу и для себя и на РАБоте. - Не готова к продакшену - до сих пор нет миграций(да, скоро обещают даже ветка есть, но код в ней не покрывает всё что нужно и периодически на миграциях падает, поэтому пришлось форкать себе и допиливать).
>>1350458 >- Более убогого интерфейса не встречал, глаза вытекают, документация не структурирована нормально. Фуф бля, я думал это только я заметил, все ее только хвалят. Помимо того что интерфейс и доки уг, так разработчики явно пришли из другого языка, алхимия совершенно не python-wave или как там говорят.
>>1350460 Но многие пользуются, т.к. альтернативы не очень популярны и известны. Хотя я встречал счастливых людей, которые про алхимию даже не слышали.
>>1350439 Без прокси как раз в заглушку стучусь -- это видно из того, что ответа просто нет. При использовании прокси функция сразу бросает исключение FloodWaitError и я не понимаю, почему. Ведь я даже код не успел получить для входа. Прокси рабочий, до бот апи достучаться получается. Всё по документации в getting started делаю. На pythonanywhere без прокси получаю 'ConnectionError: Connection to Telegram failed 5 times', а с прокси 'Connection Refused'. Пишут, что на бесплатном акке через их mtproto работать ничего не будет.
Поясните нубу за механику работы с файлами, что там вообще происходит под капотом.
Вот к примеру два способа создать файл:
open('file.txt', 'tw')
и
f = open('file.txt', 'tw')
Во втором случае при попытке открыть его в другой проге будем получать сообщение, что файл уже используется и неплохо бы его сперва f.close(). Это из-за присваивания переменной f? А там разве не копия файла хранится с которой питон работает? Почему ОС тогда ругается? СЛИШКОМ СЛОЖНО!
>>1350451 Я только вкатываюсь в джанго, какой лучше запилить сайт для начала чтобы научиться. Быстро изучил штмл и сиэсс, про существонвние бутстрапа знаю. Пока пугают только шаблоны и модели. ТАкой вот реквест, какие сайтики начать делать чтобы научиться, какая тематика, мб есть примеры посмотреть. Еще просмотрел видосы и почитал доки на оф сайте, так то вроде все ясно, я бы даже сказал, просто.
>>1351026 Я как-то хотел выебнуться и сделать что-то типа сайта с заметками ну типа как гугл ноутс. На бутстрап больше времени уходило, чем на всё остальное, и я забил. Потом пока делал тестовое с бложиком много нового узнал, но модели и выборки там совсем ни о чём получаются. А я даже не знаю что можно придумать, чтобы прямо дохуя таблиц было и связей разных, чтобы прямо вот фильтры и вот это всё ебашить. Да и пока из того, что я пытался сделать, пришёл к выводу, что если нужна какая-то сложная выборка, то без манипуляций данными в питоне обойтись может не получиться. А вот на SQL я изъебнулся и запрос написал.
>>1351084 Инет магазин нормальный с нуля напиши. Не такой типа: class Product(..): ..name= ..price= ....
А со всякими изъебствами, размерными сетками для каких-нибудь футболок, цветами разными, конфигураторами, может какими-нибудь конструкторами принтов, фильтрами, объемом и весом посылки, расчетом доставки через апи каких-нибудь деловых линий, заказами, дисконтами, оптовыми заказами для юрлиц с генерацией инвойсов и прочей мути, чатиком с поддержкой и тд и тп Я уже почти три месяца месяца пишу, и готово только процентов на 75 от силы, это при том что у меня почти 10 лет опыта в кодинге в целом и 4 года в джанге.
>>1351130 > Я уже почти три месяца месяца пишу, и готово только процентов на 75 от силы, это при том что у меня почти 10 лет опыта в кодинге в целом и 4 года в джанге. Ну вот и зачем тогда ты такое задание начинающему анону даёшь?
Лучше б очередную борду запилил + API добавил туда и плюшки всякие
>>1351144 Ну он хотел чтобы запросов было достаточно дохуя, чтобы каштомные кверисеты писать. А API, а что API?: def something(request): ..return HttpResponse(serializers.serialize('json', YourModel), content_type='application/json')
Что-то я совсем в тупике. Пытался перевести граф с картинки в код. Для этого создал два класса: один ребра, другой вершины. Заполнил их как на пикче. Но каждый раз, когда я обращаюсь к edgeIn/edgeOut конкретной вершины, я получаю, что они содержат ВСЕ РЕБРА ГРАФА.
>>1351193 Да, но цену-то надо на серверной стороне считать, чтобы не выходило что товар стоит -9999 руб просто потому что юзер знает как включить инспектор в хроме
>>1351207 Я понимаю, но прежде чем всё это в бэке реализовывать, надо какой-то фронт прикрутить, не? Много пердолиться придется, я во фронте вообще ноль. И желания нет особо с ним работать, жс не доставляет.
>>1351176 Во первых, код с вызовом dgeIn/edgeOut конкретной вершины тоже прикрепляй, во вторых, кусок кода никто тут перепечатывать не будет, на pastebin, а потом сюда с вопросом
Вопрос: можно ли изъебнуться и в качестве ключа использовать изменяемый тип? Можно ли захешировать dict и как, если можно? Сел в лужу, никогда ничего про это не читал и не думал об этом.
Есть одна процедура на мускуле. Процедура делает селект и сразу после него делает инсерт. Есть один я с питоном, который коннектится к базе на мускуле через mysql.connector и пытается дернуть эту процедуру. Ну то есть cursor.execute("call my insert-select procedure with params") output = cursor.fetchall() cursor.close() connection.close() Селект отрабатывает, инсерт нет. Почему не отрабатывает инсерт, понятно - я не делаю connection.commit. Пытаюсь вкрутить коммит руками - Commands out of sync; you can't run this command now Поставил автокоммит - все работает.
Так вот, вопрос - как закоммитить этот говно в базу руками? Автокоммит не хочу.
>>1351311 >Вопрос: можно ли изъебнуться и в качестве ключа использовать изменяемый тип? Можно ли захешировать dict и как, если можно? Делаешь собственный dict наследуюясь от обычного dict'а, и определяешь у него метод __hash__
>>1351176 >как так, лол, получается? У тебя у Node в __init__'е есть дефолтные значения edge'й, и это списки. Эти списки создаются один раз, и делается это при создании класса, то есть после выполнения питоном кода на строках 9-13. Так что, после того, хоть ты и сделал Node() несколько, они все ссылаются на одни и те же два списка. Попробуй ничего не изменяя создавать ноды через Node([], []), всё сразу починится.
Не делай дефолтными аргументами изменяетмые объекты. Если надо, делай arg=None, а в теле функции if arg is None: arg = [].
>>1351176 >>1351650 >>1351666 Парни, а если не секрет, что это вы делаете такое интересное? По коду нихуя не понял. И какое применение у этой штуки, зачем там граф?
Аноны, установил я ваши эти докеры и соснул хуйца. Написал докер файл, задал питон 3,6 и добавил простенький срипт(print('hello')), добавил cmd - [ "python", "app.py" ]. В результате получаю: /usr/local/bin/python: can't find '__main__' module in 'app.py' Делал и с __name__ == '__main__' и без, и с __init__ и как угодно - нихуя, выдаёт эту ошибку. Пытался запускать в ручном режиме - тоже нихуя. В какую сторону смотреть? Гугл не даёт никаких нормальных ответов.
>>1351958 Во-первых, твой word.replace находит вне лупа. Во-вторых, результат замены (т.е. слово без каких-либо букв) ничему не присваивается, в итоге просто пропадает, а в переменной word остаётся всё то же самое, что и было. В-третьих, как уже сказали, условия цикла у тебя никогда не изменяется, ena как была каким-то числом, равным изначальной длине слова, так и осталась. Советую поменять или взять учебник.
Анон, вот скажи, код должен быть коротким или наглядным? Меня этот вопрос уже пиздец замучал, каждый раз сомневаюсь и переписываю одно и то же по нескольку раз. Вот я сейчас пишу конвертер айди стима. Тут среди прочего мне нужно из строки вида STEAM_0:1:<рандомное число> вычленить <рандомное число>. Причем девятый символ может быть как нулем, так и единицей и это важно учесть. Далее в зависимости от девятого символа нужно провести простую арифметическую опрерацию. Так вот, как сделать правильней: 1. id_ = 'STEAM_0:1:<рандомное число>' num = int(id_[10:]) 2 + 1 if int(id_[8]) else int(id_[10:]) 2
2. id_ = 'STEAM_0:1:<рандомное число>' if 'STEAM_0:0:' in id_: ----num = int(id_.lstrip('STEAM_0:0:')) ----num = 2 elif 'STEAM_0:1:' in id_: ----num = int(id_.lstrip('STEAM_0:1:')) ----num = num 2 + 1
К слову, не предлагайте плз свой вариант написания, потому что вопрос не в этом. Просто считайте, что у вас есть выбор только между двумя этими вариантами. Какой бы вы выбрали?
Ребят, помогите. Столкнулся со странным поведением модуля pickle. Я создаю внутри класса словарь, потом записываю объект класса в файл с помощью pickle. Потом загружаю обратно сохраненный объект (пикча 1). Все норм, такое поведение я ожидаю.
Но когда я делаю тоже самое перезапустив скрипт или запустив загрузку из файла в другом скрипте, получается непонятная штука, как будто данные в словаре не сохранились в файл (пикча 2). При этом если создать словарь не в классе а просто так, то все работает как надо.
Кто-нибудь сталкивался с таким? В гугле ничего не нашел. Это баг или фича? Мб я тупой и что-то неправильно делаю?
>>1352210 Я бы предпочел первый вариант, тем более > Flat is better than nested. Но тут надо смотреть на длину таких выражений. Если она расползается на несколько строк и по сути представляет из себя вывернутое на изнанку условие или цикл, то на хуй, лучше второй вариант.
>>1352268 >Мб я тупой и что-то неправильно делаю? Словарь твой принадлежит классу, а не объекту этого класса, который ты в файл пиклишь. Когда ты загружаешь свой объект из файла, он так же указывает на словарь класса DC, который в новом скрипте имеет нулевые значение, так как ты ни одного объекта ещё не создал, который в ините прописали бы туда какие-то значение. Легко увидеть, если перед pickle.load создать какой-то объект этого класса.
>>1352354 Спасибо что просветил, анон. Получается, что я вообще неправильно понимаю работу классов и объектов. Много раз в объяснениях про ООП классы сравнивали с чертежом для реального объекта. Как могут созданные данные реального объекта принадлежать (храниться там получается) чертежу? Крч буду изучать все это дальше.
>>1352575 Попробуй изучать ООП на примере нормального ООП-языка, а не скриптопараши - путаницы будет гораздо меньше. Можешь даже тупо взять и почитать без практики пару глав про классы из какой-нибудь книжки по джаве.
>>1352630 Обычные, рабочие советы. Алсо, нет никакого "джавовского стиля" ООП, различия между мемберами класса и объекта этого класса везде концептуально одинаковые.
tl;dr: нечего сказать по теме - не разевай пиздюшник.
>>1352685 >различия между мемберами класса и объекта этого класса везде концептуально одинаковые.
Сам пишешь, что одинаковые, но отсылаешь в другой язык.
А речь я веду о стиле программирования, и в питоне и джаве он принципиально разный. >нечего сказать по теме Сказал человек, который втирает за джаву в питон треде, в ответ на вопрос по питону.
>>1352735 >Потому что в этом другом языке для новичка >новичка >изучи джаву что бы изучить питон А когда он про лямбды спросит, ты его в кложур-тред отправишь?
>>1352765 Вообще я согласен с тем аноном, почему то лучше понять всю ООПшную срань шарпа который я учил, я смог только когда вкатился на работу н питоне, лол. Вообщем смотреть на разных языках как оно устроенно полезно.
>>1351353 >Пытаюсь вкрутить коммит руками - Commands out of sync; you can't run this command now Потому что транзакцию нужно руками же и открывать cnx.start_transaction перед твоим cursor.execute.
>>1353217 >>1353201 Нахуя тебе питон, учи сразу го. В питоне-то со второй на третью уже более-менее кое-как почти все перекатились, а в го это все как раз впереди))0
>>1353223 На го достаточно вакансий, да. Часто даже наблюдается стек пых+го. А вот на питоне веб-проектов-то нихуя и нет. Язык вроде топ1 или 2 в мире по популярности, но что блядь вообще на нем пишут - загадка. Ну ML - это понятно, но 5% рыночка питона. Гуглишь на hh - или джанго или питон всегда на подсосе в качестве третьего языка в проекте или вообще легасня. Я тут не питон обсирать пришел, просто хочу выяснить сферу его применения, область, где питон хорош, а не НУ ЭТА ЕПТА БЛЯ СКРИПТЫ ТАМ ВСЕ ТАКОЕ МАШОБ ПИТОН ЗБС
>>1347704 Синьер бот-телеграм-апи-хтмл-архитект в треде. Нет, через бот апи нельзя читать сообщения в чужих каналах, где бот не админ. Тоже стояла такая задача, решил через обычное апи телеги(не бот).
>>1353233 Помимо разных скриптов - я вот недавно ходил по собеседованиям, во многих местах бэкэнд с хитрой логикой на питоне крутится, полагаю, из-за скорости прототипирования. Причем, лол, на нынешней работе сейчас джавистов набирают, потому что решили, что делать серьезный продакшон на голом питоне слишком разорительно, то ли программисты косячат, то ли сборщик мусора действительно говно и отжирает любое количество памяти. мимосисадмин
Аноны! Ни кто не ловил эту шляпу из здешних Trojan:JS/CoinHive.A ??? Я словил было открыто пару ссылок с этого треда и флибуста. как узнать с какого сайта словил?
Анончик, привет. Ниже будет немножко паста, но я хочу кое-каких советов. Короче, я совсем наивный. В жизни не программировал, мне 28 лет, у меня не АйТишная работа (которую я, к слову, люблю и менять не собираюсь) и так далее. Я решил учить питон по фану, потому что почему бы и нет - какая разница как задротствовать в свободное время. В общем, проглотил "Learn Python 3 the Hard Way", лениво пописывая что там автор просил переписывать и выполняя все его заебы. Потом написал пару скриптов для себя, решать кое-какие рабочие вопросы - конечно полный примитив, обычно они решаются банальным калькулятором, бумажкой и справочником списать константы. Ну хуй с ним, вроде весело. Чего там дальше читать? Где брать задачки? Не, ну я конечно типа ученый в толчке моченый, но дико работающий руками и на всякие курсы по ДАТА САЕНС у меня вызывают скуку. Где брать интересные задачи? Ну я тут повторюсь, что вкатился чисто по фану, в поисках хобби лучше чем миньки раскрашивать да в иве крабить.
>>1353633 Почитай Think Python Хорошая, бля, книжка. После нее будешь отстреливать и весь потенциальный функционал питона, и кучу примеров как его использовать,и тд. Есть на русском. Хардвей говно для пидоров и надроченно только тем, что бесплатно, да и то, только чтобы гнусавый автор потом втюхивал тебе свои сраные видеокурсы и все это под неебаться превозмогательным соусом. Короче из чистой жадности пендосов, а так даже a byte of python прикольнее.
Кодю 15 лет каждый день, ни дня айтишником чистым не работал
Джанганы, у меня картиночки хранятся, нужно их перед тем как выдать отресайзить исходя из параметров в запросе. Использую ImageField джанго, в get_object дёргаю super().get_object, получаю объект картинки, которую хочу посмотреть. Как ей теперь размер изменить? Что-то гуглится только изменение размера при сохранении модели.
>>1353633 >где брать задачи >дико работающий руками Прозреваю в тебе биохимика какого-нибудь. Захреначь самописный лабораторный журнал, чтобы еще отчеты генерировал.
>>1353663 Мне не совсем thumbnail нужно делать, мне просто нужно ресайз делать в свободном виде. Ну и вопрос был ещё в том, что я во вью в get_object получаю объект типа ImageFile, вот, допустим, я с помощью какого-нибудь пакета изображение из этого объекта обработаю как мне надо, а дальше что? Просто изображение возвращать?
>>1353775 А какая разница? По C++ вон вообще по-сути "Искусство программирования" Кнута от 1962 и до сих пор актуально шо пездец. А если ты про мифические сложности переучивания с питона2 на питон3 то переучишься минут за 15, вместо print 'hui' надо будет print('hui') ебашить ото и 80% разницы
>>1353776 У крестов уже несколько стандартов поменялось. Плюс каждый год выходят новые редакции книг. А в питоне половина книг дают версию 3.0 как охуительный прорыв. Когда уже 3.7 есть.
>>1353791 Ну варианта два: или учи английский и покупай (а иначе их и не достать - пиратятся чет тухло последнее время) только книги на английском, или читай просто пиздатые киниги похуй какого года, просто потому что для твоих ишак-скриптов всякие плюсы последних версий - до пизды припарка. Особенно если мовы ты не знаешь.
>>1353775 Это вообще нормально, что типа прогеры не знают английского? А вообще какая разница. Ниже про Кнута от 1962 уже писали. Но имей ввиду - пока весь мир наслаждается свежими изданиями с исправленными ошибками или дополненным материалом, ты обмазываешься двойным сетом ошибок - и автора, и переводчиков. Так что лучше учи английский, благо технические тексты читаются даже полными школярами.
Здравствуйте, мне для шараги нужно взять три набора данных с задачей регрессии из репозитория UCI, с помощью Keras, scikit-learn и XGBoost обучить по ним разные виды нейронных сетей, обучить модели на основе SVM, случайных лесов, градиентного бустинга и линейной регрессии. После этого ускорить это дело на GPU и показать в шараге. Я могу тяп ляп сделать код, копипастой из книжек, не понимая того какие параметры для моделей ставить и не понимая как для нейронных сетей слои правильно архитектуру сети подобрать.
Поэтому я хочу купить выполнение этого дела у фрилансеров, которые получше разбираются в теме.
Подскажите, пожалуйста, какой фрилансерский сайт лучше всего подходит для такого? Чтобы не кинули, типа деньги взяли и давай до свидания. А также скажите как выбрать фрилансера, чтобы он сделал модели осознанно с пониманием, а не схитрил, сделав так как могу и я бесплатно, то есть тяп-ляп накидать код, не подбирая разумно параметров, кое как выполнить и просто скинуть результат как-будто оно так и есть?
Немного общий вопрос, но все же. Есть ли у кого опыт работы программистом-стажером, имеет ли это смысл?
Суть такова, что сейчас на ХХ есть одна манящая вакансия, однако компания, которая её разместила в это же время развесила по моему ВУЗу из которого я кстати хочу ливнуть(зачем я об этом пишу?) листовки на обучение языку(естественно за щекели).Вот я и думаю, что даже если я к ним на собеседование приду, будет что-то вроде : "Ой вы конечно хороший кандидат, но немного знаний вам не хватает, мы тут кстати 4-ёх месячные курсы сейчас проводим всего за 4200/мес, после них мы вас обязательно возьмём на работу, честно честно"
>>1355558 Типа интерн? Скорее всего в этом случае просто продают курсы таким образом, но если там на собеседованиях реальные програмеры присутствуют, то если покажешь что ты нормальный пацан и на питоне говорить можешь, то могут и взять, но скорее всего там эта позиция даже не открыта
>>1355041 Страдаешь хуйней. Если тебе нужен нормальный код и хороший % обучаемости - не обязательно быть дата саентистом что бы это сделать. Хватит пары базовых статей/мануалов и опыта в питоне. Ну а если отвечать на твой вопрос - дорого будет стоить решение от реального спеца(но оно тебе и нахуй не нужно). Я думаю 1.5-2к вечнозелёных, не меньше. Обычно ищут на upwork каком или если русня - fl.ru. Но можешь и тут анонам предложить работу, думаю кто-то да ответит.
>>1355569 Нет, не нужно выжимать максимальный процент обучаемости. И код не нужен идеальный.
Нужно чтобы модели на взгляд были не совсем опущенскими. Чтобы минимальная доля обоснованности была в выбранных параметрах, количествах слоев. Чтобы в шарагу сдать и не предъявили, что я дичь втираю.
>>1355569 То есть в шараге преподы старые, никаких Keras'ов не знают. Но зато они 100500 лет дрочили матан, алгем, мат. статистику. В 90ых-начале 00ых прочитали книги с формулами про нейронные сети, книги про методы машинного обучения. Поэтому могут спросить за количество слоев, за тип нейронной сети. Могут спросить за параметры обучения методов машинного обучения.
Я плохо знаю математику, поэтому не могу пояснить почему я выбрал такое большое количество слоев, просто напихал 11 Sequential слоев по 400 нейронов. Понятия не имею как прикрутить сюда реккурентную сеть GRNN, FITNET, CFNN, я только умею Sequential делать. Методы машинного обучения применил дефолтные, параметры вообще не трогал.
А я хочу чтобы кто-то мне помог причесать это дело, чтобы шарага не обоссала меня. То есть нет ориентировки на настоящий топовый результат профессионала, которые все оптимизирует до идеала. Надо лишь причесать так, чтобы в шарагу зашло.
Поделитесь нормальным гайдом про то как прилепить vue.js к джанго. Всё, что нашел, либо протухло и нихуя не работает потому что версии поменялись, либо нужно запускать помимо джанго еще сервер на ноджс или вуй прикручивается из интернетов. Третий день ебусь уже с какими-то вебпаками и бобылями и нихуя не выходит.
>>1355667 Ебаны в рот. Берёшь либу scikit-learn, берёшь книгу по ней - Введение в машинное обучение с помощью Пайтон, А.Мюллер и С.Гвидо. Читаешь и выполняешь примеры все! Там расписаны все методы и большая часть параметров. Интересующие параметры гуглишь и играешься с ними, записываешь свои изыскания. Всё нахуй. Я тебе секрет раскрою - % тоже будет важен, как результат работы твоей программы и ты по нему будешь ориентироваться какие параметры выставлять и чому. Всё, или делай сам/проси анона тут, или иди нахуй на апворк/фл.сру, потому что ты даже не пытаешься. У тебя лапки и всё. Тьфу на тебя.
>>1355683 Не, ты не понял. Вопрос не в том как из вуя запросы делать к джанго-приложению, вопрос как вообще всё это говно запустить при этом без использования вуя из интернетов и без какой-то левой запущенной в фоне хуйни на ноде. Проблема именно в том, что я даже хеллоуворлд запустить не могу, потому что там какая-то куча ебучих билдеров для этой хуйни, которую надо обмазать конфигами, по гайдам нихуя, естественно, не работает, а к джанго приворачивается через webpack-loader уже то, что высрет этот вебпак.
>>1355674 Рест апи поднимаешь и пиздец. А чем ты в него ломиться будешь похуй - джанго выдает/принимает по такому-то адресу так-то структурированный json а дальше че хочешь с ним то и делай Никаких нодежиси и прочей дури для этого не нужно
>>1355754 Ты как-то неправильно фронт хочешь затулить, это при том что я толком и сам не понимаю как оно должно организовываться. Обычно идея такая - подымаешь ноду в качестве сервака для фронтенда и на ней крутишь реакт/вуй/шот еще, а уже они ломятся в джанго которое у тебя где-то глубоко в AWS / heroku на антресольку запихано. Чтобы пихали реакт или ангуляр прям в шаблоны джанго - я такого не слышал даже
>>1355764 Нихуя себе, а где про это почитать? Я гуглить пытался как фронт устроен, но там больше про всю эту ссанину, а не про то как оно работает на сервере. То есть если я хочу фронт на js, то шаблоны надо писать для js-фреймворка, а джанго чисто на rest и шаблоны джанговские вообще не нужны?
>>1355764 >>1355784 Что вы тут рассказываете, создаете в вашем проекте еще одну приложуху (собсно для фронта с реактами), делаете там БАЗОВЫЙ (минимальный) набор темплейтов (по сути голых), пишите для них вьюхи, в шаблоны вставляете ваш скрипт, который дальше уже может даже роутить сам. Плюсы: в целом разработка проще, можно использовать джанговскую аутентификацию, кешировать страницы, у нас 1 сервер, не надо еще и НОДУ поднимать (кто интересно ее будет поднимать, джангисты или реактовцы?), всегда можно расширить приложение статикой. Минусы: Если приложения вот прямо выстрелит, 300кк человек в секунду, то вы сами захотите запихнуть фронт на отдельный сервер (а еще отдельный сервер для базы данных и отдельный для статики).
>>1355821 > в шаблоны вставляете ваш скрипт Как? Всё, что я нашел -- обмазаться вебпаком и бобылём, высер вебпака рендерить будет django webpack loader. Как без этой хуйни нормально вставить жс, если там всякие импорты и прочая срань?
Аноны, вот хочу я сделать админку для веб-приложения(что б потом юзать её дальше в своих приложениях). Чем руководствоваться? Какой принцип создания админок как в джанге/фласке и прочих? Я для себя примерно такое накидал: 1. Пользователь подключает к своему веб-приложению админку, задавая урл для перехода и параметры для подключения к БД. 2. Я подключаюсь к существующей БД через свою ОРМ и поднимаю веб-морду на заданном урле со списком моделей и списком данных записанных в БД. 3. Добавляю всякие функции типа создание/удаление/изменение имеющегося. Всё так или упустил что?
>>1356014 Ты хочешь какую-то дичь, если честно, пытаешься впихнуть невпихуемое. Ощущение будто ты дико, адово угорел с самой идеи ORM, но не вполне понял что это не волшебная палочка, а просто дрист чтобы по сто раз не писать "FROM table SELECT * WHERE field1=......." Подскажу что знаю, и почему на мой взгляд это не сработает.
По фласку: Админки во фласке ты пишешь сам, орм - Sqlalchemy Она дурноватая и хуевасто документированная, и вообще как я понимаю штука в питон залетная, а не каноничная питон-вей хуитка. По итогу ты просто будешь вынужден портировать каждую уже существующую админку сайта без фронтенда и прочих шаблонов, но с сохранением всей уже прописанной логики во фласк. Тогда проще отхуячить старый сайт, переписать его шаблоны и уже на фласке и пусть крутится
По джанго: Админку джанго делает само, в зависимости от прописанных моделей. Создавать модельки по существующей базе ты конечно можешь, при чем есть вариант прям из бд их брать: https://docs.djangoproject.com/en/2.2/ref/django-admin/#inspectdb Какие-то каштомные штуки (ну например хранить в каком-нибудь поле словарь типа "ключ: значение" ты мастеришь уже велосипедами сам. Как и логику обработки форм, например есть базовая модель джаго юзера и тебе надо прикрутить к ней поле "телефон" - ты сначала через OneToOne-relation делаешь модель Profile, прикрученную к этому конкретному юзеру, назначаешь пишешь две формы типа: class UserEditForm(form.Modelform): ..class Meta: ....model = User .......fields = '__all__'
class ProfileEditForm(form.Modelform): ..class Meta: ....model = Profile ......fields = ['phone',]
в шаблоне выводишь их например <form .... {{ profileform.as_p }} {{ userform.as_p }} {% csrf_token %} <input type='submit'> </form>
И хули дальше если тебе надо в одном действии "обновление профиля юзера" сразу две модели менять? Автоматической удобной админки джанго из ORM тут уже недостаточно, впихивать по-отдельности можно - но очень быстро админ начнет забывать дописать то то, то сё.
Как итог - то же самое что и с фласком. Чтобы эта чудо-универсальная админка работала нужно будет перенести всю логику обработки и хранения данных в джанго и так для каждого конкретного сайта.
Ну и к слову, как давно ты видел сайты без админики? Я в последний раз видел чтобы кто-то контент на своем сайте-визитке правил ручками через phpmyadmin году эдак в 2007
>>1356014 Сорян, кажись я читнул твой вопрос жопой, а потом спросонья как-то еще и как-то снова жопой интерпретировал.
В джанго админку писать это по-сути две строчки admin.py from .models import Hui admin.site.register(Hui)
Далее можешь ее каштомизировать, скрывать поля, добавлять какие-то нетривиальные методы и тд. Нет смысла писать универсальную админку, потому что функционал уже и так встроен, а две+ строчки ты в каждом своем приложении и так нахлобучить не заебешься
Фо фласке админка пишется так же точно как и фронтэнд, только скрывается ебатней с сессией/регистрацией/юзером/паролем и тд.
>>1356132 Ох, антош, спасибо конечно, но немного мимо. Я видимо плохо пояснил, но: 1. Я работал с Джанго-админкой и она ок, да. Наверное ещё фласко-админку накачу и потрогаю 2. Я не хочу делать админку для фласка/джанги, я хочу сделать свою админку под веб-приложение написанное на другом веб-фреймворке, в котором админки нет. Поэтому я предположил, что общие принципы построения админок везде схожи и написал про Джанго/фласк и орм. Так же написал примерные этапы выполнения/работы админки и попросил анона высказать свое мнение, ибо может я забыл что, т.к. не нашел инфы о том как "сделать свою админку в <фреймворкнейм>. Возможно плохо искал.
10 минут сижу и пытаюсь понять, почему в данном примере отсутствует деление на два там на картиночке массив из четырех значений, но ведь для крупных массивов этот алгоритм не будет рабоать. Объясните мне, пожалуйста. Это сделано специально, чтобы запутать? Эта книга - просто мем grokking algorithms? Или я тупой?
Что делать, если у меня несколько функции используют одну переменную, определенную внутри функции main()? Каждый раз передавать ее в качестве аргумента в каждую функцию или определить ее за пределами функции main()?
>>1356219 Или передвавай(если только это не константа и не может быть определена вне всех функций) или закидывай всё в класс ну и там уже селфы-хуелфы.
Существует ли сервис где я мог бы проверить свое дохуя асинхронное рест апи на большое количество запросов? Типа деплою прожку аки как на хероку, и там выбираю например 12 миллионов запросов к апи. Он их автоматом генерирует и говорит всякую статистику типа среднее время ответа и так далее. Если нету. Палю идею для стартапа так скозатъ.
>>1356576 Ну вроде как есть, но наверное это не совсем то, чего бы ты хотел. Называется просто тесты. Обмазываешься ими и че хочешь то и делай с полученной инфой.
>>1356582 я пару недель назад регал новый акк мне 100 баксов дали на счет на первые два месяца (потом отберут) и после того как я 5 бачей туда все ж засунул. Короче если акция еще работает тебе даже для суперблатного дудосера своего рест апи мощей сто пудов хватило бы.
>>1332788 (OP) Планирую искать работу на питоне в ДС, так как внезапно появилось жилье не так далеко от ТТК. Ранее работал совершенно в другой сфере, но в свободное время писал разные приложения, сайты для себя и знакомых. Вот встал вопрос указывать ли прошлое место работы и стоит ли задеплоить несколько проектов вставив ссылку в резюме? Кто нибудь полезет их смотреть?
>>1356803 > Ранее работал совершенно в другой сфере > указывать ли прошлое место работы Зойчем? Не релевантный опыт ведь. > писал разные приложения, сайты Как freelance указывай этот период, а в скобках кратко напиши список приложений которые создал. Насчёт деплоить или нет - хз, но ссылку на НОРМАЛЬНЫЙ гитхаб с примерами кода дать стоит. Но если ты как фуллстек хочешь идти - задеплой пару веб-приложений что б показать как ты на хтмл/цсс/жс программируешь
Питонисты, вы не считаете свои инструменты неудобными? Понятно, что ко всему привыкнуть можно. Но вот maven/gradle в джаве или cargo в расте просто на голову выше. Единственный более-менее вменяемый инструмент - это pipenv, но он пока слабо распространён.
>>1356836 Ты в резюме должен написать свой релевантный опыт. То что ты 5 лет картоху жарил в маке - никого не ебет, когда на собесе спросят про то, чем ты занимался после универа n-лет, тогда про это и можешь рассказать, а до этого - не еби ХРке головы >>1356858 > Подумай, у кого ты просишь совета И у кого он просит совета, на твой взгляд? Ты думаешь одни вкатывальщики/диваны сидят тут?
Я искал работу не имея релевантного коммерческого опыта и имея пробел в 1.5 года после учебы. Ещё 8 месяцев было фриланса, и только в самой зассаной конторе меня спросили про пустые 1.5 года(я честно рассказал, где работал). В норм фирмах будут гонять по теории и опыту на реальных проектах, всё.
>>1356964 Ну так от того что ты напишешь о жарке картохи - нихуя не поменяется. Был у меня на работе коллега, который в 30 пришел ждуном из рекламы(гугол/Яндекс настраивал на сайтах). И ничего, норм, правда фирма говно, но она придаст ему ускорения. Ты не ной и не выебуйся, а двигай жопой и придумывай себе фриланс на последние года 2-3 и затирай историю о том, как шел к цели. Регайся на линкедине и хр сами будут писать, как расширишь круг "друзей".
>>1356985 > Ну картоху я не жарил Молодец, я просто привёл пример не релевантного опыта, не более. > смог купить жилье Нахуй тебе то ойти если ты успешен?
>>1356889 > pipenv Хуйня без задач. Сначала рейц её высрал, всё ахали как же пиздато, прошёл год и теперь все также ахают как же хуёво. Сука, сразу сказал, что бесполезное говно. Просто в пифоне так повелось не знаю, наверное из-за дибилов книгописателей, что большинство высирает свой код в виде пачки питоновских файлов без инструкций по установке. Казалось бы, сделали тебе setup.py → setup.cfg → pyproject.toml → что там сейчас в poetry. Описывай зависимости, делай энтрипоинты, кастомизируй экстрасами! Нет, не хочу! Хочу жрать говно requirements.txt! И это питонисты?! Мудачьё! за 7 лет в пифоне только два раза была ситуация, когда сломалась зависимость зависимости, это якобы то, что решает pipenv... это смех Здоровому пифонисту нужен только pyenv ну может ещё poetry, не дошли до него руки ещё. А вообще, намечается положительный сдвиг в этом говне: отказ от setuptools, distutils. Вопрос лишь в том, как быстро это случится.
Почему джанго не поднимает исключение, если я пытаюсь добавить в поле (primary_key=True) значение, которое уже там есть? Он просто пропускает его. Есть ли какая-то возможность отлавливать такие случаи, кроме как каждый раз отдельно обращаться к дб и проверять есть ли так такое значение?
>>1352701 >А речь я веду о стиле программирования, и в питоне и джаве он принципиально разный. Кстати вот как раскусить стиль питона? Я сам джавист, использую питон для каких-то своих тулзов, постоянно ловлю себя на мысли, что пишу в джавастиле и питонист так не пишет. Пытаюсь делать меньше абстракций, тогда получается что-то в процедурном стиле как в сишке. Конечно, для тулзов-то ладно, и так сойдёт. Но если взяться за что-то посерьёзнее, то выйдет какаха.
>>1357306 ПРОСТО без задней мысли берешь и пердолишь код так, чтобы он был проще, а не сложнее. Если классы помогут сделать код более лаконичным - используй их, если нет - пусть будет на функциях.
Сам не питонист, можно ли программу на питоне упаковать в бинарник, который можно запустить в окружении без питона? Нужно в сloud функции на ноде дёрнуть питон библиотеку (youtube-dl), в окружении питона нет и поставить нельзя. Пробовал аналоги библиотеки, написаннные на чистом js - работают в 10-15 раз медленнее.
>>1357543 Есть cxfreeze, например. Он может по-моему даже в один файлик всё упаковать. Правда, я его для винды использовал, про остальные не знаю. Только там надо будет руками написать список модулей, которые реально используются, иначе он тебе накидает столько, что хеллоуворлд будет жирнее твоей мамки.
>>1357788 Бля, проблема, а не прикол... проблема requirements.txt в том, что ты не описываешь как устанавливать твоё приложение. Это не проблема если у тебя один py файл, но если использовать расширения на си например, то необходим шаг по их сборке. Проблема setup.py в том, что если у меня не си, а хуй с горы, то встроить кастомный пайплайн сборки в setuptools адово. У нас на работе сделан свой extension для сборки cmake-ом и я не понимаю ни строчки в нём (образно). Но, как я выше писал, надеюсь на улучшение ситуации, благо пеп уже есть.
Сап питонач! Хочу запилить свой сайтик с просмотром аним, фильмов и сериалов и возник вопрос. Где хранить такой объем данных? Как интегрировать плеер, какие есть крутые, м? Чтобы субтитры были итд
>>1358923 Хранить на очевидной файлопомойке(есть специальные серваки, со слабыми процессором и большим объемом оперативы и хорошим ссд). Раздачу можно настроить через nginx, как выше писали уже. По плееру хз - гугли, думаю всё просто будет.
>>1359015 > Может есть фреймы получше? Falcon/aiohttp
> А онлайн кинотеатр/мангаридер лучше писать на фласке или на джанго? Смотря какая структура у тебя будет. Если монолит - лучше джангу, там и готово почти всё уже, бери подключай только. Если микросервисы/ещё что - то лучше что-то из вышеперечисленного, но и туда джангу можно запихнуть, хули нет. Вопрос про фреймворк можно бесконечно обсуждать. Пока у тебя нет какой-то специфической задачи и/или архитектуры - нехуй думать, бери любой популярный и пили.
Привет, Аноны. Тут недавно в треде поднимался вопрос о знании базового курса информатики для изучения языка. Что вообще необходимо знать из школьного курса (может даже из университетсткого)? Реально ли обойтись без этого?
В силу обстоятельств, в школе все умудрился просрать, а в универе информатики просто нет
>>1359400 Где-то затерялась ссылка на фришный курс по CS от амуриканского универа - CS50, в принципе он даст базовые знания по нужным областям. Если времени много и хочешь копнуть чуть глубже - серия книг Таненбаума(там и сети и железо и ОС), на сколько я помнил там 3 книги, но они довольно объемны, хоть и читаются очень легко. Прочел недавно "Теоретический минимум по Computer Science" - совсем короткая книга, но полная, можешь и её навернуть за 2-3 вечера.
>>1359426 >Если времени много и хочешь копнуть чуть глубже - серия книг Таненбаума(там и сети и железо и ОС), на сколько я помнил там 3 книги, но они довольно объемны, хоть и читаются очень легко.
>Тут недавно в треде поднимался вопрос о знании базового курса информатики для изучения языка
Лолбля, таненбаума нужно купить, когда ты понимаешь, что хочешь понять, как все работает под капотом, для ждуна/мидла это вовсе не обязательно, т.к. все спрятано настолько глубоко, что они никогда это не увидят
>>1359507 Ничего плохого в глубоких знаниях для джуна/мидла нет, а иначе можно так и остаться на таком уровне. Так же как ничего очень сложного не рассказывается в этих книгах(по крайней мере про сети и ОС точно, ибо их прочел). А чего-то более годного я не знаю. Может видео-курсы какие есть еще,.
Антош, если есть что добавить - пиши, а не лолкай.
>>1359531 За время прочтения осей и сетей можно выучить пистон, джангу, скуль и еще много чего, лучше это делать потом, когда поймешь, что тебе чего-то не хватает, а то будешь дрочить полгода-год таненбаума, пока вкатываться мог
Анон помоги найти ошибку, каким-то образом искажается цветопередача когда делаю скриншет с помощью питона: subprocess и pipe. https://pastebin.com/1AQ8WEkW Если запускаю тот же pipe line в консоли - картинка нормальная. Думаю что-то не так в районе возврата значения из output или записи в bytesIO. Но как это оттраблшутить и исправить?
>>1359722 Если output или f.getbuffer() записать на диск - получается правильная картинка. Получается проблема гдето в районе открытия картинки через PIL.
Что я делаю не так? Написал ACO для задачи коммивояжёра. При запуске (то что сейчас закомменчено) всё работало, но нужно было распараллелить вычисления. Изменил только строки на пикрелейтед. Ошибок во время выполнения в этом месте не происходит, но программа генерирует пустой путь. Вот полный код: https://ideone.com/bLo3yZ Загуглив нашёл этот способ параллелить, в другой программе у меня он же работает адекватно. Обычный не пуловский map нормально работает с теми же аргументами
>>1359040 В продакшене я такого не встречал конечно, но почему нет? По факту веб морда+админка от джанги, а апи на /фреймворк_нейм/, другое дело это целесообразность такого подхода. Для начала нужно для себя причины обозначить этого зоопарка. Я вижу только одну для себя - когда веб морда косвенно только связана с АПИ. К примеру у сайта обширное АПИ которое делает кучу всего, а вебморд только предоставляет доступ к готовым данным.
> А онлайн кинотеатр/мангаридер В данном случае, вряд ли нужен такой зоопарк,
>>1360168 Если кратко/просто: твоё приложение на джанге, куда запрос приходит, обрабатывается в этом же приложении и отдаётся назад результат. Никаких сервисов и распределённой структуры. Надо масштабировать? Берёшь всё своё приложение, копируешь на новый сервак и только в nginx добавляешь ещё один IP для распределения запросов и нагрузки. Для небольших и средних проектов норм подходит. Для чего-то более объёмного - не очень, т.к. зачастую лучше масштабировать отдельные части(я не про БД/кеш/подобное, а про отдельные вычислительные задачи, уровня "пережать видео", к примеру). Как-то так.
>>1360269 По той же причине почему брутфорс подбирал пароль за три минуты а не три недели. Это просто условность. Ну и ширусы писать можешь хоть на баше. Так что...
>>1332788 (OP) Как сразу выйти из многомерной рекурсии или многократных циклов?.. На ум приходит тот самый goto из Си. Есть ли в Питоне наиболее элегантный выход из таких пизданутых циклов/рекурсивных вызовов функции?.. офк без выхода из программы с помощью sys.exit()
>>1360380 Не, предлагали подобный PEP, но гвидо ван россум отверг его (зато пропихнул ни кому не нужный оператор ":="). Для циклов можно использовать else после цикла, можешь нагуглить пример.
курю bs4 решил спарсить информацию с сайта росстата и сразу фейл, какая-то ерунда с кодировкой на кириллице, перепробывал все, что нашел в интернете на первом скрине то, что я пытаюсь спарсить, на втором попытки что сделал: создал объекты класса UnicodeDammit и BeautifulSoup - не помогло использовал "formatter", который рекомендуется в официальной документации для работы с HTML entities https://www.crummy.com/software/BeautifulSoup/bs4/doc/#output-formatters убрал пробелы и переводы строк(мало ли?) - очевидно не помогло закодировал и декодировал в utf-8 - не помогло
>>1360380 >Как сразу выйти из многомерной рекурсии А разве там не достаточно просто return, чтобы выйти из рекурсии? Что ты имеешь в виду?
>или многократных циклов? Типа, хочешь так?
for i in range(n): ... for j in range(m): ... if some_condition: <особый брейк чтобы выйти сразу из всех циклов>
Тогда можно вместо for использовать while и вычислять условие выхода:
some_condition = True i = 0 while some_condition and i < n: j = 0 ... while some_condition and j < m: ... some_condition = <проверяем условие досрочного выхода> j += 1 i += 1
А можно хитрить, делать из многих циклов один:
from itertools import product
for i, j in product(range(n), range(m)): ... if some_condition: break
>>1360401 >А разве там не достаточно просто return, чтобы выйти из рекурсии Допустим функция вызывает саму себя. После return прекратится выполнение только вызванной функции. Та, что ее вызвала, продолжит ебошить
Антошь почему так? Этот упрощенный пример while True: print(self.server.recv(MAXBUF)) печатает только MAXBUF данных. Но я вручную запихал в сокет раз в 5 больше данных чем MAXBUF. (это unix сокет)
Пишу websocket-чатик, который обменивается с клиентами JSONчиками. В них есть поля не только для хранения сообщений, но и всякие команды для сервера по типу авторизации, регистрации, добавления какого-нибудь пользователя в чс и т.д
Стек следующий:
1) aiohttp 2) peewee-async 3) PostgreSQL
Т.к я не знаю ничего кроме python и javascript, то написать могу только web-клиент. Для него хочу использовать Flask. Для фронта Vue, но это наверное неважно.
Вопросы для шарящих Анонов:
1) Как мне грамотно организовать сессию и аутентификацию?
Предполагаю, что клиент зайдет на страницу лигина, которую отдаёт Flask. Потом к Flaskу прилетит POST-запрос, и он сделает запрос на чат-сервер, т.е отправит JSON с введенной информацией в зашифрованном виде. Если все ок, то сервер отдаст Flask какой-нибудь JSON Web Token, запишет сессию к себе в бд. После Flask ответит с сессионной кукой и перенаправит на страницу чата(типа окна мессенджера). Дальше клиент будет общаться напрямую с чат-сервером по websocket. Если страница перезагружается, то Flask будет проверять авторизацию пропуская запрос через себя к серверу и обратно.
2) На сервере для хеширования паролей хочу использовать bcrypt. Хеш с солью считается долго. Есть ли смысл считать его в отдельном потоке/пуле потоков/процессе/пуле процессов? Чтобы не было блокирующих операций.
3) Не могу понять, как нужно поступать с соединением с бд. На каждый запросс где-нибудь в middleware открывать соединение? Или нужно завести пул и брать соединения оттуда, а потом их освобождать?
Аноны, буду очень рад хотя бы небольшому комментарию хотя бы по одному вопросу. Даже радикальному.
>>1360385 Ну вообще, как сахарок := достаточно удобен, мне например он в таком месте понадобился if a:= some_dict.get('key') and a.get('nested') == 'some_string':
>>1360501 По ебалу надо бить за такой код. Давно уже придумали attribute access врапперы типа addict, но нет хочу жрать говно, зато ИСКАРОПКИ ХА-ХА, НИКАКИХ ЗАВИСИМАСТЕЙ, КАНЧАЮ ПРОСТА if some_dict.get('key', {}).get('nested') == 'some_string':
>>1360512 Так я тебе и говорю, разделяй. Что мешает разным модулям крутиться на одном сервере? Зачем ебаться и с фласком и с aiohttp, когда можно только с aiohttp?
>>1360513 Вообщем, если сделать так, как ты предлагаешь, то вопрос с авторизацией и аутентификацией наверное отпадает. Хотя я так долго думал о своей модели, что мне надо еще всё осмыслить.
Новичок репортининг. Прошу, поясните какую логику действий от меня требуется провести, чтобы выполнить эту задачу? Как в голове должна собраться информация, чтобы я понял с чего я должен начать и чем закончить, а потом это оформить в код? Молю, мсье питонисты, помогите :с
Коля каждый день ложится спать ровно в полночь и недавно узнал, что оптимальное время для его сна составляет X минут. Коля хочет поставить себе будильник так, чтобы он прозвенел ровно через X минут после полуночи, однако для этого необходимо указать время сигнала в формате часы, минуты. Помогите Коле определить, на какое время завести будильник.
Часы и минуты в выводе программы должны располагаться на разных строках (см. пример работы программы)
Помните, что для считывания данных нужно вызывать функцию input без аргументов!
>>1360347 я тебя слегка наебал, у нас на связке не фласк, а аиохттп, потому что скорость
По сути нам джанга нахуй не сдалась, от нее используется только админка и орм для описания моделей, на стороне аиохттп параши все делается скл запросами.
Юзать фласк в качестве апи смысла вообще нет, в отличии от аиохттп скорости он никакой не даёт, а других профитов я не вижу
>>1342729 > Elegant Objects же. Почитал отзывы и описание, складывается впечатление что имею дело с сектой живой воды. Но если серьезно имеет смысл обратить внимание или это какой то профисиональный мем как скип?
>>1360570 Падажи, но судя по синтетическим (и не очень) тестам, фласк шустрее джанги значительно, но медленнее aiohttp, да. Какие задачи у вас апи выполняет?
Здравствуйте, что делать. если я хочу запустить нейронку на своей пеке на своем старом двухядерном процессоре. А потом запустить нейронку в google colab на TPU? Суть в том, что я хочу показать скорость на пеке со старым процессором. И скорость с TPU. Но насколько я понимаю, помимо TPU в google colab есть еще CPU0, который вероятно тоже как-то участвует и вносит свои коррективы.
Как сделать так, чтобы CPU0 от google colab не участвовал?
В машобтреде вопрос задал, но там обычно не отвечают
Вопрос по PyQt5 Аноним08/03/19 Птн 00:12:23#455№1360812
Дока говрит шо model.appendRow(<Список>) из класса QStandartItemModel может добавить в строку список, но матерится шо это не QStandartItem, пробую через него по отдельности в цикле добавлять, Арёт шо не str типа, в итоге я просто отдельно добавляю пустую строку и потом вставляю элементы через setItem
Применяется ли методология SOLID? Применима ли она в питоне?
Смотрю вроде на примерах пока все, ну кроме разделения интерфейсов наверное, кажется лютым капитанством. Когда смотришь антипримеры как делать не стоит - вообще не понимаешь каким надо быть дебилом что бы так писать. Вроде и так понятно что надо делать так.
>И вопрос не о концепции ООП в целом, а личном его представлении егорки. Егорка не один представляет ООП таким образом, есть много независимых разработчиков со схожими представлениями.
>>1360940 >Х минут, это сколько минут? Сколько вводить? Тоже всегда терялся на этих задачках потому что написаны они максимально расплывчато и поуебански. Но вообще все просто. Ты должен написать прожку которая выводит время при любом икс.
То есть сколько минут ч часах? 60.
Еслли ввели 50
Оно должно вывести часы: 0 Минуты: 50
Ну или просто 00:50
Если 70 то 01:10
Если 130: 02:10
Проще говоря вся задача это простое деление числа икс с остатком на 60. Или остаток от деления если целой части нет.
>>1360951 А как научиться понимать, чего от тебя требуют в этих мразотных задачах? Мне все время кажется, что там дохуя лишней информации, в которой я путаюсь, я вообще подумал, что тут два неизвестных числа, и нужно ебаться с Х и Y
>>1360963 Спрашивать, если это соревнование, у жюри, если это для учебы, у преподов, если просто так книжку изучаешь, там, наверное, ответы есть в конце, если нету и очень нужно узнать мнение авторов задачи, пиши авторам учебника, честно говоря, если ты это сам для себя решаешь, то в случае непоняток можешь просто сам выбрать как эту задачу понимать, если вариантов много, можешь сделать для нескольких из них, упражнение же. В целом, понимать поможет только опыт.
>>1360963 >А как научиться понимать, чего от тебя требуют в этих мразотных задачах? ПОнятия не имею, я в олимпиадном программировании никогда участие не принимал. Попробуй codewars. Там на английском и то понятнее чем то что пишут в этой хуйне на родном. Сука, аж трясет нахуй из-за этих пидорских подходов постановления задачи или описания темы у меня проблемы с математикой в школе были. А как только стал изучать сам - все пошло естественно и как по маслу.
>>1361053 А можешь посоветовать какие-то аудиокниги, лекции и прочее говно, которое я смог бы слушать на работе и запоминать? Где поменьше практики, я так пару лекций по джаве слушал, там начало только и многое применимо к питону, но дальше пошел пиздарез с практикой и писаниной, и такое я осилить не смог, ибо на работе непопишешь, зато выучил всякие термины и обозначения, нужно побольше такой залупы, имеется?
>>1361067 >какие-то аудиокниги, лекции и прочее говно, которое я смог бы слушать на работе и запоминать? чтобы релаксирующая музыка была на фоне и начитывала девочка нежным голоском!
Аноны, выручайте, что-то не так пошло с окружением питона на моей десятой винде. Я когда-то давно накатил анаконду, но не пользуюсь ей. Только сейчас заметил, что если запускать питоновые скрипты напрямую, то есть не передавая их путь аргументом в интерпретатор, он ищет библиотеки в директории анаконды. Из-за этого у меня трейсбеки при импорте некоторых либ (так я проблему и обнаружил). В переменных окружения нет PYTHONPATH вообще, а PATH содержит только путь для ванильного CPython, который работает нормально. Хочу узнать, как это починить, не удаляя анаконду, чтобы в будущем такие проблемы решать самостоятельно.
>>1361101 Идешь в обычную, а не десяточную, панель управления - система - ну и дальше там где-то будут переменные окружения. снеси нахуй, поставь искаропки, пиши под линухом, как вариант. чем более дефолтные у тебя настройки, тем легче жить
Чем больше сижу на кодварс и сололерн, тем больше привыкаю к использованию лямбда-функций, итераторов, всякого рода мапов и фильтров (так как, часто, их использование помогает быстрее/легче решать задачки, побеждать в дуэлях и тому подобное).
Но когда я использую такие нагруженные штуки в своих проектах, понимаю, что их становится весьма непросто читать где-нибудь так через месяцок, особенно когда итераторы-условия выстраиваются в нефиговую по длинне строку.
Как часто вы используете эти фичи пайтона, и как не перегнуть палку?
>>1361112 Не слушай >>1361122 петуха. input возвращает строку, int пытается преобразовать то, что ему дано в ход в целое число. >>1361127 Хз что за книга, но на обложке что-то многообещающее. Если >>1361226 щеночек придирается к форматированию, то очевидно оно сделано для того, чтобы больше уместилось. А так, если в книге весь код такого уровня, то думаю полезно почитать. Но скорее всего это как трейлеры в кино. И вообще книги кал, смотри выступления с конференций на ютубе, читай чужой код. >>1361178 Если это книга для новичков, то выбрасывай её, это конечно академичный таск про список атрибутов всех родителей, но в реальной жизни никому не пригодится. И непонятно, почему он использует для visited словарь, в который засовывает True. Нахуй вообще значение надо, если единственную ценность представлюят ключи. Было бы логичнее использовать set. Короче, хуйня какая-то. >>1361637 Это пиздатый концепт, но он не особо применим в пифоне. Основная идея: сделать коротко и читаемо разбивается об противоположный камень с ростом сложности задачи. И наверное это хорошо, потому что большой код ≠ нечитаемый код, а короткий код ≠ читаемый код. Я тоже грешил лямбдами, фильтрами, мапами сначала, но, поверь мне, старая добрая функция/генератор/for будут гораздо более читаемыми и поддерживаемыми. Иногда map удобен, спору нет, но он удобен только когда это всё влезает в одну строку в 80 символов.
Питоначъ, помоги Есть строка вида "Я люблю {анекдоты}" И есть список ["собак", "дошираки", "двач"] Нужно перебрать все возможные варианты строк, подставив в фигурные скобки то, что находится в списке, и не забыть о том слове, которое изначально находится в строке (анекдоты). Как это сделать так, чтобы оно не выглядело слишком монструозно?
>>1361779 Есть упрощенный вариант, можно ни английский не знать, ни быть суперматематиком. - На русском курс про машинное обучение пройти на stepic.org - Умножение матриц, операции с векторами, смысл производной, производная z(x,y) можно прочесть на mathprofi.ru - Потом на русском на youtube Андрей Созыкин - Глубокие нейронные сети на Python - Потом переведенная книга на русский Шолле Франсуа - Глубокое обучение на Python
Этого мало для вката, только лишь вступление, но дальше уже проще будет ориентироваться в более сложной литературе.
Посоны, насколько зашкварно при написании кода не оставлять пробелы после операторов присваивания и после запятых?.. Считаю лишней тратой времени, которая нисколько не повышает читаемость кода
аноны помогите аутисту написать симуляцию крафта с шансом, а то даже мыслей нету как.
Есть момент крафта вещи а именно в нем участвуют от 3 до 5 вещей (больше или меньше нельзя), шанс успеха крафта 3 вещи 60%(в случае неудачи возвращается 1 вещь), 4 вещи 80%(в случае неудачи возвращается 1 вещь), 5 вещей 100% (шанса неудачи нет, поэтому этот вариант не учитываем)
>>1361954 Блять, что крафтим-то? Какая еще "одна вещь возвращается" в случае неудачи? Чего блять?..
Изначально если у нас есть "вещи", напрашивается ООП. Метод класса craft должен брать несколько объектов и по len(args) выбирать вероятность успеха. А функция random.random() генерирует float и смотрит попало ли оно в выбранный % диапазон
>>1361965 Он для начала приебошил этот костыль ибо не знает че да как. Если он хочет рандомно выбирать шанс, то ему в помощь random.choice, если ему нужен фиксированный фанс в случае каждой определенной ветви, он просто сравнивает рандомно сгенерированное число с float-границей
Сейчас изучаю матан(2 семестр технического вуза), немного выучил синтаксис питона(основы, но смогу написать какую-нибудь сортировку массива и простую функцию). Что дальше для машинного обучения? Изучать ооп и питон дальше? или уже пытаться вкатиться в нейронки? Я тут на курс какой-то от физтеха записался, но чет смотрю на программу и страшно, за 14 недель столько пройти
>>1361962 > Блять, что крафтим-то? Абстрактную вещь > Какая еще "одна вещь возвращается" в случае неудачи? Чего блять?.. Беру я 3 predmet, шанс успеха крафта 60%, в случае успеха я получаю один gotoviy_predmet, в случае неудачи я получаю один predmet и Беру я 4 predmet, шанс успеха крафта 80%, в случае успеха я получаю один gotoviy_predmet, в случае неудачи я получаю один predmet
> Изначально если у нас есть "вещи", напрашивается ООП. Метод класса craftдолжен брать несколько объектов и по len(args) выбирать вероятность успеха. А функция random.random() генерирует float и смотрит попало ли оно в выбранный % диапазон Мне бы в виде кода, а то я не очень понимаю
>>1361977 Я только ща сообразил, что ты хочешь, в общем, функция может принимать еще и список predmet'ов, а в случае неудачи возвращать случайный из них:
В случае удачи, соответственно, возвращается скрафченный предмет. Организуется в виде словаря: CRAFTED_ITEMS = {'JavaScript': ['хуй', 'говно', 'жопа'], 'Хуита': ['хулиточка', 'анус пса', 'червь-пидор']} и тогдалия. Ну, а в функции craft() сравниваешь входящий список со значением в словаре и возвращаешь соответствующий ключ.
>>1361971 >Мне бы в виде кода Сам бы и написало этот класс Item с базовыми методами и атрибутами. От него можешь наследовать подобные классы для расширения функционала, можешь примешивать другие классы для того же и т.п. Мне банально лень тебе это все расписывать. Подобие метода класса внизу. Реализация самого крафта вещи как такового по любому должна идти через БД какого-либо вида. В принципе можно удовлетвориться отдельным двоичным файлом pickle, где имеется кортеж пар set - item. Ну или банальный словарь где опять же ключ - название предмета, значение - set его компонентов
def craft(args): ----R = random.random() ----if len(args) not in range(3,6): --------print('Cannot craft an item from these') ----elif len(args) == 3: --------if R >= 0.6: ------------item = random.choice(args) ------------del args ------------return item --------else: ------------return new_item(args) и т.д.
Че плохого в глобальных переменных? Вижу что тут, что в Си от них стараются избавляться. Причина?.. "Э ну тип не круто как-то да)))" не катит, нужны рациональные причины подобному поведению разрабов
>>1362022 >Причина? Дурной тон. Представь себе масштабную разработку с привлечением кучи разрабов, которые хуярят глобалки. Во-первых, есть шанс совпадения имен, тогда все поедет к хуям: у одного это одно значение, а у другого имя переписывается принимает другое. Во-вторых, тяжело читать такой код. Вот проект с кучей py-файлов и импортов между ними. И то тут, то там всплывают рандомные глобалки. Что это, откуда это, почему это здесь? Хуй поймешь, нужно искать и смотреть, что это означает. Если бы это была функция, которая возвращает булку или список, было бы понятнее. Человек смотрит на импорты и видит, ага, вот импорт из "неймспейса" такого-то, можно зайти в него и посмотреть, что из себя функция представляет, что принимает и что возвращает. А если это какой-то NAME_LIST_2, то охуеть не встать, давайте по поиску попытаемся найти, что это за дрянь, а потом оторвем руки тому, кто ее сделал.
>>1362022 >не катит, нужны рациональные причины подобному поведению разрабов Хуятит пиздюк ебанный. Ты мне еще на собесе так побазарь со старшими. Любой программный продукт это коллективный труд большого количества людей на протяжении длительного времени, а не твои убогие высеры уровня васянская лаба. Поэтому он должен быть масштабируемым блядь, и что бы изменения в одной его части не делили весь продукт на ноль, делая его неработоспособным. За подробностями открывай принципы SOLID и читай нахуй они нужны.
День добрый, мисье сенньйоры Прошу посоветовать мне что-то на питон, фреймворк, библеотеку или че там ваще похуй, что сможет просто блять грамотно обрабатывать дохуиллиард соединений, ладно не дохуиллиард, а ,допустим, одновременно до 1к соединений, чтоб я мог нормально обрабатывать запросы, чтобы без всяких ебанутых надстроек по типу django или pyramid где в рот ебись не нужная авторизация админпанель и все в этом роде где можно легко поьтеряца, и нужно чтобы это было то, что я один раз запущю, и туда будут приходить соединения, чтобы типа у меня внутри был класс обработчик который каждый раз будет вызываться при новом соединении и я буду там уже со всей хуйней делать свои надстройки и прочую поебалистику, а то , сука, куда не плюнь, все блять готовых решений наклепали и они нахуй не нужны мне, шо то говно, шо это, прошу вас, посоветуйте
>>1362189 в этом вся и проблема что я не знаю что мне конкретно нужно, из http серверов всякая пораша по типу фласка джанго пирамид имеет слишком много не нужных мне для решение задачи надстроек, мне нужно что-то что просто будет корректно осуществлять менеджмент подключений, с возможностью расширения способностей по средству моего кода, я не хочу с нуля писать сервер на тех же сокетах, мне нужен готовый, провереный вариант, а ты нахуй шлешь, пидрила
>>1362229 >>1362235 прочел, будто китайский, т.е. не совсем понимаю как это можно применить в моей задаче, нужен просто чистый сервер, на сокетах ли на вебсокетах, плевать, просто чтобы он грамотно коммутировал подключения, ибо сокеты для меня темный лес
Вкатываюсь в питон, читаю книги, слушаю лекции, все дела. Хотел спросить за методы обучения, правильно ли после каждого выученного "ключевого слова" типа синтаксиса и правильности написания команд, дрочить каждый раз это в нотбуках? Ну вот сегодня я выучил как доставать цитаты и строчки из текста с выводом на экран, все питонеры запоминают команды типа "cliches, потом ставишь "=" и далее..." ну и в таком духе, это должно быть все в голове? Я вот каждый день учу новое и тренирую старое, так должно происходить самовкатывание в питон?
>>1362270 Нет. Видеотуторы по большей части бесполезны, даже с учетом того, что ты повторяешь за ними. Ты просто на втором уроке тут же забудешь, что было в первом. Поставь себе реальную практическую задачу. Например, автоматизировать что-нибудь на работе или дома. Часто повседневные задачи включают работу с папками и файлами (копирование, создание, удаление), чтение из текстовых файлов, запуск программ по расписанию. Когда ты ставишь себе задачу, то начинаешь искать методы ее решения. Тут-то и приходит запоминание, поскольку ты не все в одну кашу смешиваешь, а выделяешь необходимое. Когда создашь скрипты, можно подумать о GUI, чтобы тот или иной скрипт выполнялся по нажатию кнопочки в красивом окошке. Тут уже смотреть надо на PyQt - непаханное поле дроча и вникания в его функционал.
Здравствуйте, дорогие специалисты, помогите, пожалуйста, с решением задачи восстановления регрессии. Мне нужно взять какой-нибудь метод машинного обучения для восстановления регрессии, например, gradient boosting, скормить ему данные(ссылка на данные ниже) из задачи прогнозирования критической температуры при которой материал становится сверхпроводником:
У меня следующий вопрос. Могу ли я привести признаки к общей шкале(стандартизировать)? То есть взять каждый столбец признаков и вычесть из каждого значения столбца mean по данном столбцу, а потом поделить на std по этому столбцу? И так сделать со всеми столбцами(На приложенной картинке описал формулами стандартизацию)?
Скажите, пожалуйста, мне нужно такую стандартизацию делать или нет?
Как быстро и элегантно рандомно вытаскивать из списка объекты?.. Ведь просто метод random.choice рандомно выбирает один из объектов, но исходный список он не изменяет
Варианты: а) после операции val=random.choice(Iterable) использовать метод Iterable.remove(val). Но если таких элементов несколько он удалит первый в очереди, иногда это может быть критично б) сделать через val=Iterbale.pop(random.randint(0,len(Iterable)-1) . Но выглядит пиздец уебищно
что не так то блять?( в онлайн сервисе решается, а этот код выдает ошибку
ValueError: Phase 1 of the simplex method failed to find a feasible solution. The pseudo-objective function evaluates to 2.5e-11 which exceeds the required tolerance of 1e-12 for a solution to be considered 'close enough' to zero to be a basic solution. Consider increasing the tolerance to be greater than 2.5e-11. If this tolerance is unacceptably large the problem may be infeasible.
>>1361968 Сильно задрачивать питон не нужно, в ML тебе даже ООП редко когда понадобиться. Там в основном нужно либы знать, ну знания самого предмета нужны. Хорошее знание языка тебе пригодиться, когда будешь модели импленетировать с нуля на каком-нибудь tensorflow. В общем, учи питон по мере необходимости. Если возникают проблемы, то грамотно сформулированный поисковой запрос на английском языке поможет тебе в 99% случаев. Могу дать ещё такой совет: смотри чужой код. Сначала пробуй решить сам ( с помощью гугла), а потом смотри как решают эту задачу другие люди, наверняка у курса есть свое коммьюнити, мб там вообще решения выкладывают после дедлайнов. Это поможет тебе прогрессировать, и не вариться в котле со своими костылями. Если знаний языка совсем не хватает, то можешь глянуть какой-нибудь курс или видос по нужной теме, благо их сейчас достаточно
Аноны, надо объединить несколько физических машин в одну большую(виртуаьную), для того что бы я потом мог подключаться к ней и запускать задания на ней. Докер думаю юзать, то там столько всего и хз что лучше подойдёт мне для этих целей. Уже есть images с тасками, которые буду запускать, осталось только решить проблему объединения. Смотрел в сторону докер-машины и swarm(создаю одного менеджера и кучу воркеров), но не уверен что это то, что мне нужно.
Решил попробовать наимоднейшую нынче тулзу pyenv. На моей свежеустановленной системе 2 пайтона: 2.7.15 и 3.7.2. Почему pyenv видит только 3.7.2(system)? Или просто 2.7.15 не используется для системных нужд и стоит просто так? Хотя в это сложновато поверить, т.к у меня Arch.
Собираюсь поставить еще одну модную тулзу pipenv. Т.к его нужно засунуть в site-packages какого-нибудь из пайтонов, непонятно кого выбрать. Лучше поставить к системному мб? Или это вообще не имеет значения?
>>1365643 Вот черт, это ошибка с IDE Spyder. В консоле все работает. >>> import asyncio >>> async def main(): ... print('Hello ...') ... await asyncio.sleep(1) ... print('... World!') >>> asyncio.run(main()) Hello ... ... World! >>> Оказалось что сраные пердолики в IDE уже где-то крутят эвент лупом. Фикс: import nest_asyncio nest_asyncio.apply()
>>1366386 В дебиане10 как то не густо python IDEшек. Я привык к eclipse, но что-то в репозитории debian10 не завезли PyDev. Потестил те какие есть: spyder и eric - все говно. Остановился пока на vim + python-mode + jedi-vim, ибо кроме подсветки синтаксиса и автодополнения мне вроде ничего и не надо. Зато оно вообще не тормозит и я могу его удобно запускать на удаленном ПК. Предыдущие IDE запускал перенаправлением X по сети (нужен был 3.7 петон, когда в локальной ОС он 3.5)
Котаны, я в тупике, есть один ооочень плохой json, все пофиксил, кроме одного, есть такие штуки: '"a": "asdasd \" asdasd \" asdasd"' При попытке считать это json файл питон видит это как '"a": "asdasd " asdasd " asdasd"' Соответсвенно json.loads не может декодировать эту хуиту. Как фиксить?
Гайс, а поясните по хардкору, не могу нихуя понять. Изучаю питон по АБайтофПайтон, и в общем ещё начало книги, но дошёл до такого примера, на котором застопорился:
def total(initial=5, numbers, keywords): count = initial for number in numbers: count += number for key in keywords: count += keywords[key] return count print(total(10, 1, 2, 3, 5, 10, vegetables=50, fruits=100))
выдаёт сумму чисел из нижней строчки Print, 181, при этом цифра 5 вначале (initial=5), никак не учитывается - туда хоть 100 можно поставить, если же сделать так:
def total(initial=5, numbers, keywords): count = 5 for number in numbers: count += number for key in keywords: count += keywords[key] return count print(total(10, 1, 2, 3, 5, 10, vegetables=50, fruits=100))
То цифру 5, которая присвоенна переменной каунт, почему то из суммы вычитает, хотя операций вычитания в коде нет, и на выходе получается результ 176
А если же не декларировать переменную initial функции total вовсе:
def total(numbers, keywords): count = 5 for number in numbers: count += number for key in keywords: count += keywords[key] return count print(total(10, 1, 2, 3, 5, 10, vegetables=50, fruits=100))
Тогда как и положенно цифра пять изначально присвоенная переменной count прибавляется к переменным передающимся функции в нижней строке print и на выходе получается 186*
>>1376684 А всё, разобрался, видимо пример в книге некорректный, и то что вначале мы декларируем itial=1: def total(initial=1, numbers, keywords): Это всё хуйня, и в итоге initial присваивается значение первой цифры при вызове функции: print(total(10*, 1, 2, 3, 5, 10, vegetables=50, fruits=100))
Коммуна: 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
Еще больше книг от уважаемого олда питон-треда:https://yadi.sk/d/H-00n-UG3RSQem всегда доступно по шортлинку йей.рф/книги
#python #питон #пайтон
прошлый тред: (OP)