Вы видите копию треда, сохраненную 13 июля в 02:45.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий: >>2981203 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://online-python.com/ - листинги и онлайн-запуск
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://goonlinetools.com/snapshot/share/ - для листингов, без регистрации, но с капчей
#######################################
Вопросы-ответы:
— С чего начать изучать питон?
У питона намного лучше официальная документация, чем у большинства других языков. Есть там и учебное пособие для начинающих: https://docs.python.org/3/tutorial/introduction.html , неофициальный перевод на русский язык: https://digitology.tech/docs/python_3/tutorial/introduction.html (для питона версии 3.8, но разницы почти нет)
https://github.com/yakimka/python_interview_questions - интересная подборка, масса разнообразных тем и вопросов, для продолжающих, всё на русском
— Какие книги считаются лучшими?
На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.
— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
— А как учить джангу? Нахожу книги по джанге 1.х, можно их использовать?
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.
— Какие веб-фреймворки стоит учить в начале двадцатых?
Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: https://www.composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4
— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется
— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущая шапка: https://goonlinetools.com/snapshot/code/#154ln61u1e2e5b4kfv6w8r
Проясните пожалуйста, я не совсем понял. Как в джанго мы работаем с методом, если не хотим переходить на другую страницу.
Я делаю приложение по учебнику. Есть пара таблиц и страница, допустим, A. На странице А есть форма, где в поле action страница B. Страница B запускает метод bm (иногда при этом принимая геты. Метод возвращает HttpResponseRedirect("/A").
Я чувствую, что все это какая-то неправильная практика. Хочу добавлять этот функционал на любую другую страницу. Наверно, не стоит передавать название страницы переменной, должен быть способ получше.
Какие есть альтернативы? Как редиректить из метода на первоначальную страницу?
>Хочу добавлять этот функционал на любую другую страницу.
Я имею в виду, сейчас я прописываю путь обратно на страницу с формой, константой в методе, который вызывается из urls. Явно должен быть способ получше.
ValueError: day is out of range for month
cfg.append( f"{day:02d}.{month:02d}.{year}:22-{(day+1):02d}.{month:02d}.{year}:01" )
вобщем, day+1 выходит за рамки дней в месяце.
# ошибка тут: dts_last1 = datetime.strptime(dts_last, '%d.%m.%Y:%H')
Приведи начальную свою дату к дейттайму потом прибавь к нему таймдельту 1день, переведи эту дейтдату к нужному тебе формату (я не понял что у тебя написано)
хуйней ты занимаешься. исправлять ошибки за пользователя - моветон.
а если в day напишут 99, а -105, а если в месяце ошибутся? не туда ты идёшь анон - обрабатывай ValueError и выводи пользователю о необходимости исправить ошибку.
Или всегда же можно дать пример формата переводить инпут в дейттайм по этому же формату и кидать обратно в юзеря если он хуйню написал. Нет?
ключевые слова: chiboreache, ch0mb0r, chombor
Что ты несешь дегенерат? Каком любом инструменте? У встроенных библиотек всегда были методы принимающее строки в формате заданного шаблона. Я хуею откуда столько барист навкатывалось, которые сами не понимают что несут.
У тебя во рту говно, не открывай его.
29.02.2024 тоже корректно отработает
Разве лист в листе это не отдельный элемент? Я думал она будет считать все элементы в листе вне зависимости от их типа будь то число строка или список. думал длина будет 5, а не 9
точно. не разглядел сразу спасибо
Заебался уже искать инфу об этом:
Есть массив из 8 флоатов.
Сколько блять он весит в памяти? Суммарно.
Сам массив - 120 байт. Флоаты - 8*8 байт.
А референсы в массиве? А прочая объектная нагрузка? Где про это почитать? Документация будто для дебилов написана.
один float = 24 байта
список из 8 элементов = 120 байта
итого: 144 байта
кортеж из 8 элементов = 104 байта
итого: 128 байт
инфа от sys.getsizeof
но метода такая себе, прежде всего из-за таких вопросов:
непонятно когда останавливать просчёт - идём до object? учитываем ли дедупликацию и ссылки на одну и ту же область данных?
47
наебался с математикой - размеры, если у тебя число одно повторяется. итого для списка байт 312 байт, для кортежа 296.
Я рефкаунтер забыл посчитать, да?
ни разу из них ничего не открыл за год
есть МЯУы?
32
>Накопилось 30 книг по питону, линуху, сетям и справочники учебники джанго пхп регулярки вершины мастерства и т.п.
МЯУ, но я всё-таки осваиваваю понемногу. Полгода прохожу курсы и читаю книги по основам пайтона, сейчас ебусь с фласком, скоро возьмусь за джангу.
Спешить особо некуда, один хуй на работу всё равно не возьмут, чисто для души всё это учу.
А теперь подумай что из этих 3к человек на одно место обязательно найдутся 30 илонов касков, Павлов буровых, Биллы герцовых, и Марков цукерковых
Сможешь с ними конкурировать?
Да, там про это и написано. Дал пример юзера как надо заполнить данные, попробовал перевести в дейтайм п этому шаблону, получил ошибку - плюнул в юзера что он формат не выдержал
так это заводчане и откликаются, им что на заводе обменивать пальцы на 25000 рублей, что в тёплом офисе помощником джуниора кнопки нажимать.
но во втором случае хотя бы есть перспектива дорасти до заветных 300к, а в первом перспектива только на вал намотаться.
С направлением определился, язык сам по себе ничему толковому не приведёт.
Ну я откликнулся на такую вакуху. У меня опыть говнокодерства в разных языках, несколько лет на питоне, гитхаб с кучей моих личных проектов, мои проекты там лайкают и форки делают. Есть диплом с курсов лол, но диплом этот гос образца гос образца.
Чому Кабан Кабаныч тебя должен брать а не меня?
Я безнадёжен?
Скуф 30 лвл
>Как фиксить?
Никак. Я думаю когнитивные свойства и абстрактное мышление формируется в районе совершеннолетия, а в этом возрасте уже только угасает к сожалению.
>Как исправлять?
Только опыт поможет тебе. Ебашь ебашь ебашь ебашь.
Как получить опыт? Необходимо иметь мотивацию. Делай свой проект, "набиваший шишки", исправляй. И постепенно научишься. И не стесняйся заглядывать в чужие исходники.
Пиздеж, просто с возрастом обычно растет лень и нежелание въебывать ради сомнительных перспектив. Когнитивные возможности может и падают, но не критично и очень индивидуально для каждого.
>>057746
Проблема всех вкатунов в том, что они сами не знают для чего вкатываются. У них нет мотивации кроме прогрева от инфоциган "бросай завод и заработай 300к в наносек за неделю".
Вся доска в вопросах "напсиал хэло ворлд" а че дальше делать, бля не понимаю я эти ваши онотации линейная алшебра какая-то хрюк пук кудах.
Нюфани не понимают, что литкод это просто веселые ребусы для погромистов написанные в синтаксисе языка. Это как решать логические задачки "что тяжелее пуд сена или пуд железа" в надежде в итоге стать великим писателем и написать поэму. Это так не работает, только практика даст тебе настоящий опыт, когда ты сталкиваешься с задачей и ищешь решение. Но в этом то как раз и проблема у нуфань нет мотивации, они хотят 300кк в наносек, а кодить им не интересно, они не пишут в стол не развиваются для себя, только литкод дрочить и остается, толкько вот литкод тебя как погромиста не развивает.
>медленно решаю задачи
>берусь на кодварсе
Бля так это СПОРТИВНОЕ программирование. Оно специально сделано, чтобы ломали голову и медленно решали. В сайте не было бы смысла, если всё быстро и без головняка решалось бы. Нахуй тогда этот сайт нужен.
Можно было бы написать рабочий аналог API двача на FastAPI, например, но нет мы не хотим писать ОНЛАЙНИКИ
Программисты-анальники, что предали философию решения задачек и написания никому не нужного кода, ради написания веб приложений и зарабатывания денег
Проиграл. Где там наш дурачок на кассовом аппарате который баттхёртит от "онлайна"? Забавынй, пусть вернётся поскорее
Там тоже сотни откликов . Как раз питонисты туда побежали искать спасения
Двачую. Не знаю ни одного алгоритма кроме бинарного поиска. Задачи на кодварсе выше 6 ку вообще решить не способен, даже понять.
Но зато я работаю макакой в отличии от вкатунов знающих алгоритмы, архитектуру компьютера, линейную алгебру и комбинаторику
Выше правильно сказали, может говно-задачи бросишь уже решать. Найди пет-проект себе, и въёбывай а не ленись.
httpd = HTTPServer(('localhost', port), HttpGetHandler)
Исключает использование сервера извне Подключившись к серверу извне и отправив GET http://localhost/service?...
>Исключает использование сервера извне
Да, локалхост работает только на локальной машине. Если у тебя сервис слушает по локалхосту (а не 0.0.0.0), то значит с другой машины ты к нему не сможешь подключиться никак. Иначе ставь 0.0.0.0, ну или специфичный ip, это для более хитрых случаев
Давай в Data Science 🤓😂
убейся апстену. Как же тред засран этими анальниками....
бамп
>контестах
че эта
Тимофей Хирьянов на ютубе + английская википедия, когда он непонятно что-то объясняет
Держу дома сервер, хочу надрочиться писать на питухоне и вкатиться в нормальные боты для телеги, до этого раздводил педофайлов в 2018-2020 и писал хуету вроде чатботов, считаю для себя это золотым временем, в шараге всегда был при деньгах.
Щас просто хочу вкатиться чтоб попробовать пописать нормальные магазины для телеги по типу каталога запчастей с заказами и чатом техподдержки, и желательно связав с базой 1С.
Под рукой есть только домашний сервер, мобила на ведре откуда я сервер настраивал по ssh, и такая миниBT полноценная клава похожая на джойстик.
Попробовал пописать через vim с мобилы на клаве, пишется быстро, вроде нормально, быстро наклепал простейшего чат бота.
Хватит ли vim для удава? Просто я на работку ебал тащить ноутбук, да и ему там пизда быстро придёт, много железной пыли, хотя я на работе ничего не делаю, из 8 часов я 3 часа только работаю, вот решил попробовать хуйней пострадать на работе.
Алсо сервер это и есть ноутбук, там просто ftp, smb, торренты, shadowsocks, сервер кубача и jabber сервер держится, он у меня 24/7 запущенный стоит, им дистанционно ещё два человека пользуются, и в жабе целая конфа.
ответ "да"
>Тимофей Хирьянов
противный он какой-то, но ХЗ, где найти расшаренный курс, чтобы ещё из какого-то приличного заведения для приличной аудитории, а не менеджеров по розничным продажам телефонов
Python норм для микро сервисов? Не хуже, чем Go?
>Python норм для микро сервисов? Не хуже, чем Go?
Микросервисы решают не техническую проблему, а проблему менеджмента. Безразлично на чём их писать. Это просто способ дать нескольким командам возможность работать независимо друг от друга. В техническом плане ничего не прибавляется и не убавляется. Для компании удобно то что можно какой-то отдельный сервис отдать на аутсорс индусам. Язык любой абсолютно, какая разница у тебя брокер сообщений стоит а-ля кафка, который будет рассылать событиям другим сервисам и всё.
Благодарю за развёрнутый ответ!
Пойду попробую на твоей мамке или папашке, думаю у них всё готово за столько лет. Спасибо, анон!
Чувствую, что к лету опять подкрадется выгорание. Прошлое еле пережил, переключившись и подрочив мобилки на dart + flutter. Посмотрел на дата сатанизм и машоб, но ебал в рот матан, если честно. Хочется инетересно, а не заебаться в усмерть. Выручай, я верю в тебя
>Что бы такого почитать/посмотреть посоветуй (без джанги/фласка пожалуйста)?
Wiegers K. Software Development Pearls...2021 PDF
Serra J. Deciphering Data Architectures...2024
Network Architect's Handbook by Alim H. Ali
Haviv Y. Implementing MLOps in the Enterprise. A Production-First Approach 2024
За архитектурные спасибо. Может что-то посоветуешь из языка? Какой-нибудь актуальный кукбук или типа того. Может что-то по параллельному программированию или интересным реализациям/лучшим практикам в разработке. А то зачастую в тестировании хуй кладут на это. Хотя на прошлой работе со мной в автоматизации работали сильные разрабы и было интересно с ними сложные архитектуры строить и поддерживать
В списке разрешений ничего кроме этого нет.
Сейчас работаю на вс код, и там подключаюсь к интерпретатору питона в образе для автокомплита. Как сделать так же для вима?
Всем привет, возникли проблемы с созданием бота
Что и где я только не смотрел, но точной инфы мне не выдавало
Даже читал книжки по поводу этого, но не нашёл точного ответа.
Вообщем по логике, бот должен слушаться человека у которого есть права админа(На фотографии показан код если что), но бот может выполнять команды кого угодно, даже пользователей без админских прав>>055259 (OP)
Разрабам, которые ценят своё время и хотят быстрее написать код, достаточно VS Code. С Vim будешь всегда возиться, это такой Arch Linux из мира редакторов.
Вс пидорнул поддержку контейнеров на базе 11 дебиана.
Я прекрасно умею работать и там и там. С аимом только работа с интерпретатором в контейнере не задалась. Вот и спрашиваю
Что это за порнуха с генератором? У тебя в декораторе не хватает is_admin=True
Физтех очень даже норм. Хирьянов не норм
По идее в случае вима тебе надо ставить вим и расширения внутри контейнера, а дальше работать через терминал в виме уже внутри контейнера
Ты сначала на своей жопе попробуй микросервис анусный, хотя если дотянешься - можешь себя в рот взять.
> У меня опыть говнокодерства в разных языках, несколько лет на питоне, гитхаб с кучей моих личных проектов, мои проекты там лайкают и форки делают. Есть диплом с курсов лол, но диплом этот гос образца
>Откликнулся на вакансию 25к
Нихуя ты тупой. А ведь кто-то говорит, что погромисты умные, профессия интеллигентов.
Занимаюсь этой хуйней чисто для удовольствия уже, на мысль вкатиться практически уже забил
И ещё такой вопрос, обычно я завожу счётчики сравнений и перестановок, но вот тут случае отсортированного массива я не понимаю в какое место кода прикрутить счетчик сравнения, хотя очевидно в условии цикла while оно всегда происходит хотя бы 1 раз на каждой итерации
https://i.imgur.com/8hXavyw.png
Может он занижает ЗП на которую претендует из за того что нет опыта в трудовой, или может он просто омежка, боится что не справится. Но так или иначе это не как не коррелирует с умственными способностями, это всё из области социальных навыков. Получается тупой тут только ты т.к. не понимаешь этого.
Не понимает, на какую зп может со своим гитом и опытом работы с разными языками претендовать он, а тупой я. Замечательно.
> подскажите допустима ли такая реализация сортировки вставками
Допустима. Не является оптимальной (обычно используют бинарный поиск для того чтобы найти место в отсортированной части массива), но допустима.
> моя реализация отличается от всего что в гугле
Каждый дрочит как он хочет.
Лугабе
Отсортированный по возрастанию массив, внезапно
А чем тебя встроенная сортировка не устраивает, она работает на вставке либо на слиянии в зависимости от упорядочивания данных, если ничего не путаю?
Мне казалось он а на timsort основана, а там именно вставка и слияние. Может что-то поменялось конечно, давно не перечитывал
https://ru.wikipedia.org/wiki/Timsort
Действительно а нахуя стараться понимать и разбирать сортировки и другие алгоритмы))
Слушай, ты прав. Поресерчил - там в 2-ой версии был продвинутый квиксорт, потом тимсорт, а начиная с версии 3.11 вообще поверсорт для больших массивов или бинарные вставки, если длина < 64
бамп
Ну насортируешься приходи, как говорится. Может уже рабочие задачи подедаль, фреймворки потыкать, не?
Поделать*
Потыкать пока больше в тяночку хочется. А до первых рабочих задач я даже не знаю скока мне ещё.
Допустим, есть json вида:
1:
s: "TPXUSDT"
p: "0.038335"
2:
s: "HEDGEUSDT"
p: "0.00181"
3:
s: "INJUSDT"
p: "43.109"
Индексы 1,2,3 - удобно брать данные по ним. Но! Иногда нужные данные меняют индекс и надо переделывать значение индекса в коде. Это неудобно и всё ломается, когда такое происходит. Как тогда брать данные из таких json? Допустим мне надо найти "TPXUSDT" и узнать значение "0.038335". Получается циклом надо проходиться по json? Анон, покажи кодом, как это примерно будет работать. Всякие GPT выдают фигню с поиском по ключу, а тут надо по значению искать.
Спасибо, Анон!
адаптмруй входные данные для своего удобства (доступ по ключу)
> In [1]: spam = [{"s": "foo", "p": 1000}, {"s": "bar", "p": 2000}]
> In [2]: {data["s"]: {"i": idx, data} for idx, data in enumerate(spam)}
> Out[2]:
> {'foo': {'i': 0, 's': 'foo', 'p': 1000},
> 'bar': {'i': 1, 's': 'bar', 'p': 2000}}
>>068260
это ещё что за пиздец?
Покажи json этим самым json’ом, а то не понятно, у тебя список словарей или просто словарь на первом уровне
Как жаль, что ты тупой
Не пофиг. Если нужно найти только одно значение, то перебор. Если больше - нужно готовить для дальнейшего быстрого доступа
алгоритмическая сложность одинаковая. генератор отработает быстрее и код нагляднее
Как я понимаю, в python есть альтернатива нативным методам из java(тот же numpy).
Дайте, пожалуйста, хороший гайд или хорошее руководство по нативам в python. В разных книгах про такое информации толком нет, но иногда просто упоминание.
Как минимум не все либы совместимы с PyPy, вот например:
https://stackoverflow.com/questions/69409747/install-psycopg2-on-pypy3-docker-image
Плюс разработку CPython поддерживают крупные корпорации, а у PyPy в спонсорах из более-менее узнаваемых имён только Mozilla и Couchbase засветились насколько я вижу, да и то видимо перестали спонсировать. Поэтому и доверия больше к CPython. Ну и ещё доверия к нему больше потому что тупо на порядок более популярная и как следствие более обкатанная и проверенная имплементация
Думаю, что питон для бекенда в целом становится все менее популярным.
>>063183
В целом соглашусь, но все же в Go побольше всяких фишечек для работы с concurrency кодом. И GIL нет. Плюс типы и компилируемость прямо из коробки.
Я вот прямо сейчас пытаюсь адовое монолитное легаси на mypy перетащить, получается очень хуево пока что.
делай рассчёты и логику сразу на С, С++ и Rust - разрешаю
Мы тоже с этим столкнулись на питоне и гоуленк не помог. На последнем слишком много велосипедов приходится писать/интегрировать. В итоге вернулись на джева-спринг, лол. Всё-таки это пока безальтернативный по своей зрелости фреймворк. 7
Я добавил, потом поднял графану, импортировал туда дашборды с сайта графаны.
Все красиво, но цифры какие-то нереальные. Графана показывает, что у меня где-то под 200 запросов в секунду, хотя если посмотреть в лог nginx, то там будет 4-5 запросов.
У django-prometheus все настройки по умолчанию, может там надо бакеты как-то по-умному править?
Проблема в том, что под
1) питон написали неимоверное количество библиотек на научную тематику, и люди на это завязаны, решения на этой завязаны, команды и .т.д.
2) Практически нет высоко абстрактных фреймворков на С++
3) Хайп представляет питон как что-то очень простое, а С++ - как что-то очень сложное, ну и соответственно никто особо не разбирается
4) Компиляция С++ с геморроем заголовком, прагм, макросов, билд тулов и линкинга библиотек не прибавляет привлекательности. Нахрена во всем этом разбираться, если мне просто посчитать матрицу?
5) Управление памятью в C++, в том числе автоматическое, требует времени на вникание и разбирательство, никому это не надо.
По итогу людят нужен язык с прозрачным управлением памятью, простейшей линковкой билиотек и билдом, многопоточный, в народе известный как простой, желательно с уже готовыми научными библиотеками, и с гайдами как использовать эти библиотеки.
Это java/groovy/kotlin (через слэши потому что интероп).
Ну это очевидно приколы из АОП, то есть подключаемые перехватчики вызова, например удобно замерить сколько вызов длился, выполнить какой-то посторонний код при выполнении функции, например подсчет ссылок какой-нибудь и всё в таком духе. Конечно, всё это можно сделать непосредственно вызовом методов, но с этой штукой удобно подключать/отключать такую функциональность.
Как анон сверху сказал, в него удобно заворачивать всякие приколы дополнительные к функционалу. Например логеры часто делают через декораторы, так как это позволяет не засорять лишними принтами функцию. Также много функционала реализовано через интерфейс декоратора в разных либах, типа aiomisc, fastapi, redoc/swagger и прочее. Это просто удобно
Хуйня какая-то, игрушечный язык для деток.
На этом говне хоть работа помимо мл есть?
Нету, братик, щас много ищут 1С-ников.
Согласен, детская игрушка какая-то, не то что Паскаль. Я на нём серьезные вещи пишу в нашем НИИ, да и зарплата серьезная, целых 30 тысяч рублей. Наше НИИ это вам не шутки, чтобы здесь за тыканье в клавиатуру такие деньжищи платили надо лет 10 отпахать лаборантом помощником оператора ЭВМ. Ну, а что питон, про питон некоторые коллеги даже не слышали, оно и верно, если язык мало пригоден к работе, то о нём и знать необязательно.
Я питон первый раз в глаза три месяца назад увидел, за это время придрочился на пандах фреймы вертеть, в дб стучаться, довелось спарсить пару рейтинговых аггрегаторов и реплицировать рейтинг на своей стороне под задачу, плюс манагерам в офисе десяток отчетов автоматизировал. Понятно, что это не разработка и вообще не особо программирование, а скорее приправа к экшелю и эшкуэлю, но я погромистом никогда и не планировал становиться и мне банальное НАДО очень оптимизировало трек обучения без курсов и книжек.
мимо скуф 34 лвл
>Хуйня какая-то, игрушечный язык для деток.
Те, кто так говорит, обычно знает питон очень поверхностно.
Декораторы очень полезны, когда у тебя большая кодовая база, много дублирующегося кода.
Вот примеры из коробки, @contextlib.contextmanager, реально проще и лаконичнее, чем если самому реализовывать.
Декораторы очень полезны, когда у тебя большая кодовая база, много дублирующегося кода.
Вот примеры из коробки, @contextlib.contextmanager, реально проще и лаконичнее, чем если самому реализовывать.
Чтобы 300к наносеки-сеньоры не так сильно травили меня на анонимном форуме для прыщавых социопатов, конечно же.
На самом деле я не оправдываюсь, а лишь отмечаю, что в ограниченные сроки можно выучить какие-то утилитарные вещи когда понимаешь, какой именно костыль тебе нужен и умеешь в английский, но это вряд ли существенно приблизит заветные 300к/наносек и уж тем более с этим не справятся шестимесячные курсы без боевой практики и привязки к продукту/сфере деятельности.
Работы нет
На лбу маркером "пидор"
Почему нет?
Дано: PyAutoGUI и OpenCV. Их задача в частном случае - отыскать на текущем экране какой то элемент по точному совпадению, делается скриншот всего экрана затем на нем ищется картинка (прямоугольная, с четкими краями), в случае успеха возвращаются координаты места где было найдено совпадение.
Суть проблемы: локально все работает отлично, код запускается и все искомые элементы находит. Помимо локального окружения есть тестовая машина, на ней стоит гитлаб раннер который запускает код. При пробеге часть элементов находится со 100% шансом, часть элементов не находится ни при каких условиях, независимо от искомого изображения, будь оно больше или меньше. По ощущениям - не может найти элементы связанные с дополнительно открывающимися окнами внутри приложения. Непонятно какую роль это все играет, потому что делается скрин всего экрана, тем не менее. На скринах в процессе все эти окна отображаются, то есть должны быть найдены.
Из того что уже пробовал но не помогло: выставил одинаковое разрешение на обеих машинах, привел изображения к одному цветовому пространству, использовал пиксельные шрифты для уменьшения шума, попробовал несколько разных библиотек и методов поиска - всегда валятся на одном и том же этапе, сверил библиотеки и переменные path - все одинаковое.
Нет, только запросы на SQL в течение года где-то.
Мог бы помочь и ответить на эти 10%.
Сломанный рынок труда, деградация культуры разработки, технологический застой, превращение программирования в массовую доступную профессию.
>Сломанный рынок труда
Не сломанный рынок, а рынок труда работодателя. Это нормальная ситуация, которая наблюдается во всех сферах, и в айтишке неизбежно со временем она настанет.
>технологический застой
Увеличение числа разработчиков не может привести к технологическому застою, даже если средний их уровень понизится.
>превращение программирования в массовую доступную профессию.
А минусы какие? Нет возможности тешить своё ЧСВ, придумывая священную касту, в которой ты якобы состоишь?
с питоном знаком, с django нет, за сколько смогу осилить и смогу ли?
>Не сломанный рынок, а рынок труда работодателя. Это нормальная ситуация
Вкатуны не нужны, ситуация ненормальная, работодателю очень тяжело плавать среди огромных толп совершенно левых людей.
>>073985
>превращение программирования в массовую доступную профессию.
нет такого, профессия скорее усложняется
Судя по тому, как ты задаёшь вопрос и что вообще ты его задаёшь, ответ "нет, не сможешь"
>>074116
>с питоном знаком
Поясни, что это значит? умение написать программу из одной строки
print("hello, world")
тоже можно назвать "знакомством с питоном"
Хотя чего я спрашиваю, и так всё ясно. Но ты можешь всё-таки попытаться, мой совет, смотри в документацию Джанго, там есть в том числе специальные разделы-пособия для начинающих.
знаю базовый синтаксис, включая ооп
ну, есть прям конкретный вопрос
существует 2 таблицы в бд - студент/преподаватель
Как реализовывать функцию авторизации и аутентификации? Пользоваться встроенным в джанго функционалом или писать какой то свой бэк для логина?
звучит интересно, спасибо
Ты работу какую-то вузовскую делаешь чтоли? Забей хер, залей все в чатгпт и сиди кайфуй. Он такое напишет запросов за 15. Юзай все джанговское, там и аутентификация, и авторизация, и ормка. Опять же, гпт в помощь
> Вкатуны не нужны, ситуация ненормальная, работодателю очень тяжело плавать среди огромных толп совершенно левых людей.
Ну врядли, если у чела есть подтвержденный опыт разработки - то он не левый, можно рассматривать на хайр.
Чувствую, огромное количество вкатнуов отклеится как только на хх подвезут подгрузку выписки из трудовой с госуслуг
>Пользоваться встроенным в джанго функционалом
да, по крайней мере бэкенд часть использовать оттуда
Решилось очень нетривиально, проблема была в особенностях серверной ОС и неправильными видеорежимами.
Сап питонята вопрос по pyqt6 и qml
Как далать эти ебучие пропертис в py файле? Из этой документации нихуя не понятно.
Скучали? Ну тогда раздвигайте свои булки.
Мне как бы выбирать не приходится, на чем сказали на том и гребу.
Да кстати я нашёл как делается это говно.
Кому надо вот: https://docs.huihoo.com/pyqt/PyQt5/qml.html#
Альсо если погуглишь доки по pyqt там блять нерабочий пример который выдаёт ошибку, и примечание: "автоматически сгенерированго из примера на c++". Сука что за криворукие уебаны.
Ненавижу этот ебучий qml.
>а лишь отмечаю,
Всё равно не понятно что ты пытаешься этим сказать.
Похоже на то, что ты просто пришел похвалиться что за 3 месяца синтаксис выучил и скриптики для автоматизации наговнякал?
Ты сейчас выучил базовые правила иностранного язык и написал на нем сочинение "как я провел лето". Ну поздравляю. Ты сделал свой первый шаг.
У всех нуфань случается этот ВОСТОРГ от первых успехов, когда все их маленькие дела получаются, какие раньше казались компутерной магией, и кажется что море по колено. Все, наверное, через это проходят, тем более питухон, пожалуй, имеет самый низкий порог вхождения, не зря его справедливо называют ненастоящим скриптовым языком для школьников, типа AutoHotKey.
VBA (VBS) забыл ты ))
теперь планируешь куда подаваться? менять место работы ? дальше учить пайтон...
all_entries_string += '\n'.join(f"# {counter} {(entry['title'][:70+1].rsplit(' ', 1)[0] if entry['title'][:70+1].endswith(' ') else entry['title'][:70+1].rsplit(' ', 1)[0]).rsplit(' ', 1)[0]}\n{'# LOADED' if not entry['id'] else 'https://www.youtube.com/watch?v=' + entry['id']}" for counter, entry in enumerate(data_list, start=1))
Расхайпленый кал. Советую Курячего. Мужик знает что делает ибо сам работает с этим, а не просто теоретик https://www.youtube.com/watch?v=Dy_ueC-Girk&list=PL6kSdcHYB3x5PzO26mzRFU6NmsRqd6WgL
два чаю
>(лекции Хирьянова) Расхайпленый кал
да
>Советую Курячего.
нет
глянул, он сам начинает с того, что его лекции не нужны, всё есть в официальной документации Python tutorial, а его лекции просто потому, что нужны лекции
минусы его лекций: много воды примитивной с одной стороны, при этом подразумевается, что слушатель уже умеет программировать на чём-то, например на Си, с ИТ дружит, ему надо что-то про питон узнать
вообще я о том, что Хирьянов неприятен, но ценен тем, что его лекции, что в шапке, про алгоритмы, про сложное алгоритмическое программирование с использованием питона. Это реально полезно
А Курячий просто про синтаксис питона и может некоторые моменты реализации для тех, кто уже умеет программировать
Я могу понять, зачем смотреть Хирьянова и реально тратить на него время, но Курячий какой-то совсем бесполезный
пусть к файлу вырезал потому что там кринж
Будь человеком, дроби код на мелкие части. Эти твои выебоны потом тебе же боком выйдут
Потому что stdout не прокидывается в терминал назад, потому что ты запускаешь программу как даун через васянский скрипт в идешке, а не как нормальный человек.
Запусти через python3 файлнейм.py и все будет работать
перезагрузился, теперь файлы созданные через IDLE Shell открываются автоматически в VS code в аутпуте показывает результат. Как это сработало хз
720x1278, 0:16
Ясно что в начале можно поставить условие если то хуемоё. Ничего более элегантного не придумали?
>Через атрибуты
Это как используя класс или что-то другое, приведи пример плес.
>через глобальные флаги, через лок трединг
Ну это практически то же что и через if с переменной. Хотя через лок трединг похоже правильнее всего, если дохуя вызовов.
Джэва/kotlin хороший выбор когда есть куча запутанной бизнес-логики, сущности, походы в базу, много крудов.
Гоуленг неплох для инфра задач, где нужно всякие кубернетис операторы писать или там сетевой трафик хитро перенаправлять.
Питон хорош для всего, но только поначалу - если это прототип или пруф оф концепт, который нужно быстро на коленке собрать, чтобы показать кабанам и получить добро на дальнейшее развитие.
Сам сейчас работаю на довольно зрелом проекте, который все хотят с питона переписать на kotlin или go, но нет денег и ресурсов на такое. И очень сильно страдаем. Mypy пока что очень хуево получается встроить, во многих критичных местах предыдущие разрабы почему-то решили, что словари вместо полноценных классов это хороший выбор, из-за чего во многих местах просто адовая гора мусора скопилась, которую почти невозможно нормально разгрести, так как хуй поймешь что там внутри этих словарей лишнего лежит.
Ну и алсо у нас утечки памяти и потоков, которую за несколько лет так и не смогли найти и поправить, в итоге просто по расписанию раз в полтора часа рестартим все, чтобы не было OOM'ов.
>Думаю, что питон для бекенда в целом становится все менее популярным.
Есть пруфы или это твоё авторитетное мнение?
Ну онлайновые, дальше-то что?
Есть ли для питона нормальные инструменты уровня visual vm, pprof или разных jmc, jmh, jfl?
Сужу по моему окружению и в целом по рынку вакансий в ру бигтехе (вк, яндекс, сбер, озон, авито, yadro, okko и прочие)
Питона там не особо много, в вакансиях питон это тесты или ml/ds в основном, а не разработка.
В проекте где я работаю, почти все сервисы были изначально написаны на питоне и джаве. Сейчас питон практически отовсюду у нас выбросили, переписали на го. Лично мой сервис довольно старый, был быстро написан на фласке где-то в районе 2015-2016 годов, сейчас мы его хотим на несколько сервисов на go/kotlin распилить.
Новые сервисы на питоне в моей конторе уже не стартуем совсем, максимум - это прототипы и proof of concept, которые потом переписываются на компилируемых языках с статикой.
И кстати скрин у тебя хуевый - laravel и express местами попутали, так еще и непонятно в чем популярность измеряется. Какой-то инфоцыганский наброс для рекламы курсов по питону.
А руби это вообще смех, на российском рынке он подох чуть ли не полностью уже. Легаси конечно есть везде, но на легаси ты нормальным спецом никогда не станешь.
Так и будешь ворочать ложками застарелое говно мамонта вместо нормальных и актуальных продуктов на рынке.
Насколько хорошая/плохая практика когда функция ссылается на внешнюю переменную?
def do_smth():
return do_another_smth(n)
n = ...
do_smth()
Потому что по-хорошему вместе с питоном нужно знать тонну вузовской математики на хорошем уровне + непосредственно уметь в эти самые ML/DS.
Бекенды на питоне сейчас писать стало не модно, так как для этого лучше подходят типизированные языки.
Ну как первый язык программирования, чтобы научиться писать циклы и условия с массивами сойдет.
Дальше нужно что-то конкретное брать. Питон в бекенде по моему только в Яндексе из российских крупных контор остался. Да и то, его там на го пытаются заменять всеми средствами.
Нормальная тема, но только слишком сложно.
Плюс нужно становиться экспертом в какой-нибудь конкретной области. Видеонаблюдение, сетевой трафик, компьютерное зрение, графика, инфобез итд.
Если просто деньги хочется получать и какие-нибудь круды писать в банке, то Java/Kotlin имхо самый нормальный выбор.
Ты ещё .NET backend приплюсуй.
Так это с опытом работы скорее всего столько вакансий.
programms = []
for i in range(10):
programms.append(subprocess.Popen(['path']))
for programm in programms:
programm.wait()
Запускай не через vscode, можешь переименовать скрипт в расширение .pyw чтобы консоли не было видно
Спасибо, заработало. Запустил просто через cmd.
>Бекенды на питоне сейчас писать стало не модно, так как для этого лучше подходят типизированные языки
очередной типошизинг
Бекенд более чем популярен в бекенде. Типизация нужна для вычислительных задач, для бекенда же нужно взаимодействие с другими программами и сервисами, с ОС.
Для бекенд-специальностей на питоне в большинстве случаев подразумевается приличное владение линуксом, чтобы ты его более-менее понимал и дружил. C# это про виндовс-платформы, но бэкенд обычно линуксовый
Питон лишь инструмент. Конечно другие языки тоже, но для скриптовых языков это особенно верно. Тебе надо попутно знать другие предметные области
Ну и очень много пытается вкатиться именно в питон, конкурентность среди вкатунов намного выше, чем на других платформах, менее хайповых.
волки боятся конкуренции, вкатывайся, учись.
Как говорил толстой - делай что должно и будь что будет
Много диванных спецов и школоты идиотской расплодилось, которые даже про ассемблер не слышали.
Спасибо.
Ассемблер это где цвет и комбинации положения пикселей записаны символами?
Это когда бумага в туалете кончается
Так вот, потом я взял вторую книгу(по сайпай) - и чуть не блеванул уже после первой главы, настолько все контрастно по сравнению с первой - это не книга по сайпай, а какая-то мешанина из сайпая, нампая и матана с непонятной структурой. Такое ощущение, что это отрывки диссертации, а не книга. Вот нахуя мне эта медицинская матчасть, если я не медик? Нахуя мне разгребать всю эту кучу пользовательских функций, пытаясь понять, что хочет автор? И ладно бы там нормальный репозиторий еще был, но там хрень какая-то, а не репозиторий...
Короче, вот такие дела, анончик, книга книге рознь.
Всему вам учить приходится.
Demanding никогда не переводится как востребованый, если это не индус писал.
Особо не дрочат, но для меня там уже никакого роста нет. Бывает 2 часа работаешь, а потом в потолок плюешь.
Могут быть задачки типа Keycloak настроить, создать запрос в БД Postgres/Clickhouse.
Созвоны только понедельник-пятница на открытии и закрытии спринта.
Самодурство присутствует как м везде, но в малом количестве.
Мне надо уже кому-то свой говнокод передать
У Кострикина неплохие учебники по линалу.
А тебе зачем наймом заниматься?
>SQLAlchemy
Как это безобразие изучать? Какое-то громоздкое такое. Мне сложным показалось, ну скорее запутанным.
Вкатун, ты?
Вычислительные задачи - там везде матрицы и векторы с флоатами, какие там еще другие типы могут быть.
А вот в бизнес-логике без нормальных типов никуда. Ты как свои сущности без типов собрался описывать? Я сейчас ебусь с легаси монолитом 8 летней давности, типов очень не хватает. Типы нужны, компилируемость тоже нужна. Чтобы узнать, что ты написал говно еще на этапе компиляции, а не когда оно ночью на проде стреляет. Пытаемся купировать проблему при помощи mypy, но получается пока что хуево.
Босс говорит в последнее время про микросервисы, буду просить бюджеты и время, чтобы основную логику вынести в 2-4 сервиса на Go или Kotlin. Питон на бекенде неплох только для быстрых прототипов, поддерживать годами большие проекты на нем крайне сложно.
Я хз при чем тут C#, но даже на нем новые проекты крутятся на линуксовых контейнерах. Винда - это windows forms по большей части, либо очень старое легаси на .net framework из середины 10-х годов.
>Не могу вкатится уже третий год
>учу питон бэкенд
А что конкретно ты учишь?
Алсо вкатываться в питон бекенд я сейчас крайне не рекомендую, когда есть более популярные в бекенде стеки технологий.
>Как это безобразие изучать? Какое-то громоздкое такое. Мне сложным показалось, ну скорее запутанным.
2.0 уже яснее, к ним стало просветление приходить или наняли нормального документоведа. Но язык документации по прежнему дремучий и косный.
Сразу в 2.0 вкатывайся, срать на легаси.
Есть ~1000 файлов. Их надо постнуть в 2 разных эндпоинта, получить ответы, сагрегировать мета-инфу и построить отчетики, в условном сеаборне.
1) Если делать последовательно:
итерируемся по списку файлов
прочитали файл, сделали пост 1 (~2-3 сек), сделали пост 2 (~5-10 сек), зааппендили в глобальный датафрейм
построили отчетики
2) Если делать через тредпул:
создали тредпул условно с 10 потоками
закинули в тредпул функцию, которая прочитает файл, сделает пост 1 (~2-3 сек) и пост 2 (~5-10 сек), вернёт локальный датафрейм
итерируемся по списку файлов и сабмитим
после отработки тредпула заапдендили все локальные датафреймы в глобальный датафрейм
построили отчетики
3) Если делать через асинк:
чтоб он сразу 1000 задач не наплодил, нужен семафор?
чтоб чтение файлов не блочило эвентлуп, нужен aiofiles? оно типа тру асинк или только имеет асинк интерфейс, а под капотом run_in_executor?
т.к. мне надо единожды прочитать каждый файл, но дважды отправить его, достаточно ли это также всё обернуть в одну асинк функцию, а не ебаться с передачей контекста из одной таски в другую таску и т.п.?
всю итоговую цпу-задачу с отчетиком надо делать также в run_in_executor или можно стопать луп и спокойно будет работать синхронный код в мейн треде?
В 1 случае всё работает, но долго (текущая реализация).
В 2 случае вроде бы кажется, что будет работать быстрее, но т.к. я всё равно делаю оба запроса в рамках одного потока, то с течением времени тредпул забьётся и будет долго обслуживать оставшийся список файлов + могут быть проблемы с обработкой ошибок.
В 3 случае только вопросы, т.к. дальше фастапи, склалхимии и редиса с асинком не работал.
а) микросервисы не норм, если они у тебя не по-настоящему независимые друг от друга
б) ну ты сравнил интерпретируемый и статически-компилируемый языки конечно. Го конечно будет быстрее
>>084802
Если ты секунды уже считаешь, то тебе нужен настоящий параллелизм, можешь котлин попробовать
https://kotlinlang.org/docs/data-science-overview.html
А вообще ты сильно выиграешь в производительности, если можешь убрать из этого процесса сетевые вызовы (я так понимаю - микросервисы?)
Так что как лучше делать:
- Язык с настоящей параллелизацией
- Обрабатываешь файлы пачками по 10-20 в параллели
- Посты или не делаешь вообще или только в конце на всё
Есть я и моя мечта - на досуге реализовать один проект, который работал бы в вебе и на andoid/os. Он довольно сложный, как мне кажется, но почти некоммерческий.
Я правильно путь себе подобрал - изучать Питон для этого и соответствующие библиотеки и фреймворки?
Потребуется ли добавить Go в это блюдо знаний? Думал добавить Dart+Flutter, но по-моему Питон + какой-нибудь Kivy или BeeWare дадут результат не сильно хуже.
Другими словами, мой вопрос - что помимо собственно Питона мне нужно изучить, чтобы реализовать свою мечту?
ты дибил или да? Где сама идея-то? Хочешь сексшоп с петушками сканить на анальные игрушки??
Извини, бро, идею я сказать не могу. Это мое ноу-хау, вроде как. По нагруженности - это что-то среднее наверное или даже ниже. Мне не с чем сравнивать, но примерно так чувствую.
Не знаю зачем ты хочешь как можно больше технологий набросать? Чем меньше технологий тем проще тебе будет
Асинхронное чтение файлов asyncio не поддерживается, под капотом будут треды
>чтоб он сразу 1000 задач не наплодил, нужен семафор?
Как вариант семафор, можно просто самому сделать пул воркеров-обработчиков, которые будут брать задачи из очереди
Там вообще надо вникать в твою задачу детально, профиль какой-то делать, на что время уходит. На сетевые вызовы, на чтение файлов, на чисто питон код, или на сишные функции, которые вызываются из питон-кода
он наивный юноша просто, который думает, что в жизни так просто всё. Что вот возьмёт, что-то изучит и сразу начтёт красиво писать. Что в состоянии сразу реализовать свою сложную идею, или же если его идея проста, то она кому-то нужна, узнают и украдут сразу, но вот просто никто реально не реализовал
>который работал бы в вебе и на andoid/os.
Если каких-то сложных взаимодействий с ОС не нужно, то тебе может и одного веба хватит, погугли PWA.
Если что-то простое, то просто берешь typecript и ебашишь фронт+бек+мобилки.
Если бекенд посложнее, нужна ебанина с инфрой или просто намеки на хайлоад, то добавляешь Go на бекенд.
Питух (питухон) нахуй не нужен в этой схеме.
другой анон, на самом деле полезно было бы, чтобы было асинхронное чтение, хотя для SSD уже почти не актуально.
На вращающихся магнитных дисках там уже важнее, чтение может быть долгим из-за доступа к диску. Хотя вот если серьёзно заниматься, то надо другие способы оптимизации использовать, оптимизированную подгрузку в кеш. Там есть магия, когда ты читаешь массу мелких файлов из одного каталога, можно в десятки раз ускорять чтение, не прибегая к тредам и асинхронщине. Причём тредами такое ускорение не получишь.
Но лучше просто переезжать на SSD
>Питух (питухон) нахуй не нужен в этой схеме.
Для среднего уровня наоборот Писон наиболее подходящий. Во всяком случае, лучше уж Писон, через очередной хуйпойми УБИВЕЦ ЖЫЭСА.
Куда писать?
заебал уже всюду это видео постить
Он изначально так себе, сплошная вода
актуален
Если сделать capture_output фэлс, то тогда в сонсоль, но не в переменную, а надо и туда и туда. Что-то искал решения, но пока так и не нашел. Может кто подскажет?
Захватить stdout и вывести например принтом тоже не совсем варик.
В сабпроцессе есть не только ран, например check_output, но по моему yt-dlp.exe с ним нормально не работает.
all_links_results = "https://www.youtube.com/watch?v=kLZJw_JAaMk"
command = f'yt-dlp.exe --continue
process = subprocess.run(command, input=all_links_results.encode(), shell=True, capture_output=True)
print("Error occurred:", process.stderr)
да, есть биндинги на Питон, но проще на встроенном GDScript, который "типа питон"
>Захватить stdout и вывести например принтом тоже не совсем варик
Почему? Других вариантов нет, у тебя потребитель stdout должен быть один, либо твой скрипт, который делает read()/readline(), либо консоль
Вообще что именно ты пытаешься делать? Я вангую, что тебе больше хочется контролировать через скрипт вывод процесса, и одновременно глазами наблюдать, что происходит. И тебе при этом интересно, что происходит в случае, когда что-то выкачивается очень долго.
Тебе нужно смотреть скорее в сторону proc = subprocess.Popen(), там ставить stdin=subprocess.PIPE, опций вроде bufsize=0, дальше делать не proc.read(), а proc.readline() или proc.read(100) (100 байт тут от фонаря, можно по одному байту читать). Если ты сделаешь просто read(), то этот вызов заблокируется до момента, пока процесс не завершится, а скорее всего у тебя именно тут запарка.
ещё может понадобиться метод pull(), proc.pull()
Эта библиотека пересылает телеметрию, ключи и пароли от твоего компа злоумышленникам, а уж они воруют твои акки и прочее.
Может быть проблема в настройке времени на компе, нужно обязательно NTP включать, а может быть ты как ебаный школьник флудил запросами без задержек вот тебя и отключали
> Так в том и проблема что я написал одно сообщение в избранное и акк слител.
Тогда настройка времени виновата. Включай ntp
url = 'https://2ch.hk/user/posting/' (М)
data = {
'task': 'post',
'board': 'test',
'thread': 30969,
'usercode': None,
'code': None,
'code': None,
'captcha_type': '2chcaptcha',
'email': None,
'comment': 'test',
'2chcaptcha_value': captcha,
'2chcaptcha_id': value,
'makaka_id': None,
'makaka_answer': None
}
response = requests.post(url, data=data)
print(response.content)
Ну и сколько из этой сотни тысяч вакансий именно бекенд, а не тестирование, ML, DS, нейронки, фронтенд и просто мусор?
Java/Kotlin тоже хороший выбор. Но в целом бекенд на питончике тоже есть и никуда он не уйдет, просто сам язык имхо плоховат для такого.
Все, я выделил фильтрами бэкенд инженеров.
Без фильтров просто по запросу Python в EU почти 300к вакансий.
>Джуном в него залезть тоже можно, но через стажировки.
Стажировки для студентов топовых технических вузов.
Меня прям тошнит от того, что я кликаю туда - а курсор для печатанья не ставиться.
Со строчками пустыми где написано о количестве usage ещё хуже было, что я по пять раз кликал пытаясь что-то написать - а там нет строчки, там пустое место из-за надписи о usage - но слава богу они нормально отключились.
Настройка не помогла то есть, даже после перезапуска.
а
половина докстрингов в проекте просто дублирует название класса/модуля
))
Использовать ORM или долбить руками? Где почитать о лучших практиках, о том какую базу выбрать?
Пишу пет-проект, веб-краулер.
Спасибо.
>Использовать ORM или долбить руками?
Очевидно если ты задаёшь такой вопрос, то orm без альтернативы.
>Где почитать о лучших практиках, о том какую базу выбрать?
Зависит от ТИПА ДАННЫХ. Какие у тебя данные, под этот тип подбирай БД. Если у тебя социальная сеть, бери графовую бд. Если у тебя график цен на акции, то это временные ряды. Если у тебя нейронка и нужен поиск по данным, бери векторную базу данных. Если у тебя кеширование, бери redis. Если у тебя обычное приложение, но нужна аналитика - бери postgresql. Если тебе просто нужно хранить данные - бери nosql, mongodb например.
Найлепшая практыка ўжываць SQLAlchemy + Alembic.
Чтоб не привязываться жестко типа вот так:
value = json_data["лол"]["кек"]["ку"]
А как ты хочешь, каким образом путь к элементу получать? Причём так, чтобы универсально?
Вот представь, сделаешь ты метод json_data.get("лол>кек>ку"), но ведь тебе никто не запрещает в словаре такие ключи создавать, как ты поймёшь, у тебя вложенный словарь, или длинный ключ в словаре?
В принципе, примерно то, что ты ищешь, называется "json path", это по аналогии с xpath в XML, больше нужно для поиска по жсону.
https://pypi.org/project/jsonpath-ng/
доминант - это что-то из БДСМ??
Почему цикл ФОР при стринговом типе перебирает по одной буковке? Почему он просто не выводит одно слово?
Вау, спасибо
Если питонопроект дорастает до этапа тюнинга gc, то этот проект или гигантский монолит, или его скоро перепишут нахуй.
А впн тоже не доступен?
>>099140
>>099034
два типикал чмони-гребца. конкретно по гц https://www.youtube.com/watch?v=lSgoYx06L_s
Если говорить по подготовке к собесу, google: python 100 interview questions + youtube: python собеседование, либо читай https://docs.python.org/3/ от корки до корки
Брось этот язык, иди на завод на токарный станок уже. Тебя там нехватает, а здесь не соображаешь уже, видимо ужнался так, что документацию не можешь прочитать, там примеры есть же.
>Потому что в питоне string переменные это на самом деле char массив.
Вообще это просто неверно. string в принципе не массив, строки это самостоятельный иммутабельный тип, их внутреннее устройство другое.
Но при этом это итерируемый тип, то есть по нему можно проводить итерацию (то есть вот так цикл гонять).
Но человеку, только начинающему разбираться с циклами, не стоит лезть в эти итераторы, это подготовка нужна относительно приличная
Просто нужно знать, что вот со строками так можно, как можно обращаться к элементам строк по индексу print(my_string[2]), но при этом это не массив, и сделать my_string[2] = 'x' нельзя
макаки- онлайновскик явовские и джанговские.
Есть корп сеть допустим CORP, есть пчелики которые заходит под своими аками в эту сеть в windows.(обычная офисная сеть с планктоном) Есть веб приложение на fastapi/flask/streamlit. Как индефицировать пользователей которые заходят на это веб приложение?
только по айпи или можно вытащить имя пользователя?
Например зашла на сайт Даша Иванова, а у тебя в консоли высветилось тип:
login: CORP\dasha_shluha
У нас есть корп приложуха которая автоматически идентифицирует пользователей внутри сети, когда они туда заходят, а с интернета просит пароль и логин. Хотелось бы понять как это работает
про ldap читай. удостоверься у админов, что тебе дадут доступ на контроллер домена для проверки аутентификации прльзователей
Гырды былды ыуоопа мылырыапы
(loopCity, iter) = pPlayer.firstCity(false)
ваще пофиг на скобочки:
> In [1]: ('bar' 'baz')
> Out[1]: 'barbaz'
смотри что-нить по теме распаковки последовательностей https://docs-python.ru/tutorial/prisvaivanie-znachenij-python/prisvaivanie-znachenij-raspakovkoj/
Хуйню написал какую то да и поебать.
bytes.count(sub[, start[, end]])
когда эти самые квадратные скобки не используются на практике. Пример:
...
str = text.count('o', 1, 4)
...
Зачем так пишут?
Это значит, что параметр опциональный, то есть не обязательный. А вложенные скобки означают, что более глубоко вложенный параметр опционален относительно внешнего, то есть в данном случае sub обязателен, start можно указывать, а можно нет, end можно указать только в том случае, если start уже есть.
>PHP - это недоязык. Надо как минимум из С семейства знать
PHP куда ближе к Си, чем питон. Не надо доёбываться к этим долларам.
Я хочу написать скрипт который будет выписывать слова определённого формата из текстовых файлов, отображая в итоге только первые упоминания каждого слова. В интернете я нашёл похожие примеры, но те скрипты работают только с одним файлом. Я попытался добавить цикл для того чтобы код прочитал все файлы, но idle выдаёт IndexError: tuple index out of range. Как это можно пофиксить?
import re
import os
codes = set()
pattern = re.compile('\d{10}')
for fil in os.listdir('Папка/'):
with open('Папка/' + fil,'r')as f:
for line in f:
match = pattern.search(line)
if match:
codes.add(match.groups()[0])
for codes in sorted(codes):
print(codes)
import pathlib
files = [
open(file, "r", encoding="utf-8")
for file in pathlib.Path("./Папка").iterdir() if file.is_file()
]
for file in files:
for line in file.read().split():
if line.startswith("искомое слово"): # тут указать слово целиком или начало слова
print("слово найдено!")
print(line)
else:
print("слово не найдено!")
А, или тебе нужно не только в начале слова искать. Я подумал, что только вначале.
Ну в общем, подсовывай тогда свою логику вместо
if line.startswith
для хранения результата используй множество, а не список, ну и не придётся проверять есть ли что-то уже в результате - просто пересекаешь накопленный результат с новой партией найденных...
Я словил конкретного вялого от всех вакансий с 800+ откликов. В итоге остался в инженерной компании, где работал асушником. Договорился с руководителем, в итоге, пилю приложения на pyQT для инженеров асушников. Опыт не особо релевантный, но хотя бы в рабочее время учишься.
В мире АСУ всех под дулом пистолета на астра линукс пересаживают, по этому приходится на ней же и писать.
А бля, это задержка, пока один принтит номер потока, второй успевает прочесть файл и пойти на следующую итерацию.
>Я словил конкретного вялого от всех вакансий с 800+ откликов
Проблема не в рынке, проблема в твоей психологии. Это не рынок хуёвый, а ты хуёво ищешь. Искать нужно уметь. Если ты смотришь 0 лет опыта, джуниор, стажёр, а чёж все остальное-то блять тогда ищут? Получается по твоей логике все остальные - слепые долбоёбы, которые не хотят легкой наживы, шоп сразу придти и с порога трудоустроится. "Джуниоры" - это не буквально, а просто фигура речи. Так образно называют начинающих программистов. Не нужно вбивать "джуниор python" в поисковую строку. Ты же не ищешь "халявный iphone" на озоне? Это есть, но обычно такие вещи не говорят прямо, а пишут между строк, в описании. Нормальная компания никогда прямо не скажет "нам нужен начинающий программист", если не хочет потом заново переделывать "работу". Такие вакансии с 800+ откликов обычно публикуют рекрутинговые агентства, а не сама фирма.
Это называется terminal multiplexor, либо использовать какой-ниьбудь TUI фреймворк типа https://github.com/Textualize/rich
Но проще в tmux 4 лога вывести, серьёзно
Короче если кому-то интересно(никому) - ищем рабочий ключ лицензии (на гите и лоспере их валом). Далее через терминал sudo nano /etc/hosts прописываем вот эти хосты:
127.0.0.1 www.jetbrains.com
0.0.0.0 account.jetbrains.com
0.0.0.0 www.jetbrains.com
Готово, теперь ваш софт от ЖидБрейнс не задетектит, что лицензию забраковали, а это только вопрос времени
Спасибо, лучше я буду пользоваться vscode
пмздец какой гемор сделать venv в нём, чтобы работало... (винда, да)
CE работает, но я ей никогда не пользовался, там вроде дела с фреймворками и некоторыми мелочами чуть хуже обстоят чем в прошке, по крайней мере так в инете пишут. Короче мышление макаки "спизди платное, оно точно чем-то лучше, чем бесплатное" заставило меня прошку выбрать
Ты присваиваешь значение, на которое ссылается переменная. Она ссылается на литерал 3.
А почему? В обоих принтах создается с нуля инстанс класса и он из глобальной переменной test берет значение, и во втором случае это же 5. Я не понимаю...
>создается с нуля инстанс класса
Не создаётся. Для создания нужны скобки ()
У тебя просто ссылка на класс, но не на инстанс.
В обоих случаях один и тот же класс без инстансов.
Аааа, вот оно как, спасибо большое!
как вам такой трабл:
есть интерпретатор питона на питоне:да это ебанистика
и так короче код берется из textFild и compile() и потом exec() ага видимость namespace globals()
там еще есть автодополнение на jedi
короче все катит, но когда его компилишь в exe, globals резко слепнет и не видет установленных модулей кроме стандартных типа math, собственно блять как этому ебучему экзешнику сказать что смотри python'овские библиотеки
он видемо в vs code работает потому что выполняется на питоне, и собственно может нормально забрать globals, а когда компилится то туда уходит только то с чем он собирался, хотя это пиздец странно.
я хз как фиксить
Даже если создавать инстансы, ситуация не изменится.
Ввиду того что код в питоне исполняется построчно, а переменные это по сути не переменные, а имена для объектов, он интерпретирует объявление класса следующим образом: создать класс config, для него установить атрибут number, значение которого равно объекту, на который в момент объявления ссылается переменная number (то есть 3).
5 - это другой объект. Строкой test = 5 мы не поменяли значение объекта, а просто присвоили ей ссылку на другой объект. Объект 3 продолжает жить, так как на него продолжает ссылаться атрибут config.number.
Забыл пруф.
Да причем тут классы вообще.
Это всё по причине фундаментального поведения языка:
a = 1
b = 2
a = b
b = 99999
# "a" не изменится потому что строки и числа присваиваются по значению, а не ссылке.
Ну я об этом написал, просто выше ответили про инстанс класса так, будто дело в нём. А он тут вообще не при чём.
Судя по ответам в гугле – у всех по разному, но не часто.
Пишу бек на fastapi, какой-то нетривиальный алгоритм приходится вкорячивать может раз в два года. Естественно его тогда гуглишь, а не вспоминаешь из головы, находишь по возможности готовые имплантации.
И если это какой-то хитрожопый алгоритм, то это все в очередь складывается, на самом сервисе обычно не считается.
>юзать алгоритмы, поиски по графам
Если бы я хотел использовать графы, я бы поставил neo4j. Нахуй мне обосрались эти графы. Ну серьезно, неужели ты думаешь нужно переизобретать "поиск по графам" лол если уже есть язык цифер https://neo4j.com/product/cypher-graph-query-language/
Суть такова, скачал stable-diffusion-webui, в скрипте запуска эта параша создаёт себе venv и пытается доставить зависимости в него. Не вышло, но суть не в этом.
После запуска я это ебаное говно что-то мне похерило в системе, теперь pip freeze показывает ТОЛЬКО те пакеты что поставил скрипт, pip install посылает меня нахуй и говорит что мои пакеты externally managed.
В ебучей директории venv которую этот скрипт создал нет скрипта deavtivate про который говорят в гугле.
Это говно поломало мне системные пакеты все.
Сука, как это отменить? Ёбаные выродки, первый раз за много лет я хочу нахуй сжечь заживо людей писавших это ебаное говно, ЧЕТЫРЕЖДЫБЛЯДСКАЯ ЯРОСТЬ!
Как это говно чинить?
Бамп вопросу
>теперь pip freeze показывает ТОЛЬКО те пакеты что поставил скрипт
Даже если пересоздать терминал?
Покажи что выведет "which python3" или "which python" если первое не сработает. Если покажет не системный питон то лезь в эту папку и покажи её содержимое, по идее там должен лежать deactivate скрипт
Системный.
В любом случае я психанул и просто грохнул всё что связано с питоном и переставил по новой.
В общем это говно видимо стало поведением по умолчанию в 12 питоне, решается удалением волшебного файла-флага или вызова pip с флагом --break-system-packages.
Сыны шлюх на мейнтейнерах просто поменяли поведение по умолчанию и сказали "note: If you believe this is a mistake, please contact your Python installation or OS distribution provider."
>В общем это говно видимо стало поведением по умолчанию в 12 питоне, решается удалением волшебного файла-флага или вызова pip с флагом --break-system-packages.
Ссылочку? Странно как-то звучит, причём тут версия питона к дистрибуции пакетов? Наверное ты про версию pip а не питона. Ну в любом случае интересно было бы почитать
print(num)
cfg1 = C(1)
cfg2 = C(2)
# должно быть:
# 1
# 2
#Traceback (most recent call last):
# File "C:\Users\user\Desktop\123123.py", line 1, in <module>
# class C(num):
#NameError: name 'num' is not defined
> # должно быть:
> # 1
> # 2
Кому должно? По теме, почитай про конструктор класса, это прям твой случай
из-за такой же ебени и не душу питона для ООП. Используй его ТОЛЬКО для процедурного программирования, не для ООП. Для ООП питон не дорос ещё, пися_ маленькая.
>>112690
Собственно процедурщина тут не поможет, если не знаешь чего опасаться.
Дело в том что все значения в питоне - это ссылки.
Ссылка тест указывает на 3
Ссылка number теперь указывает на то, на что указывает test то есть 3
Ссылка test теперь указывает на 5, но number указывает не на тест, а на то, на что тест указывал по время присвоения number = test
Хотел тебе развернуто рассказать, что ты делаешь не так, но увидел этот ответ на пост, в котором по сути тебе помогли и указали на проблему, и передумал.
с одной стороны polars, который может быть в два-три раза быстрее. Да и написан он на раст, что делает возможным его запустить на всех системах с одним кодом.
с другой стороны разрабы панд, которых поддерживают всякие nvidia, intel и прочие гагинты. Что значит проект явно не забросят, не выдержав конкуренции. Да и различие в скорости с каждым новым апдейтом все меньше, вангую кстать, что все основные функции перепишут на раст, и поларс может отлететь в небытие
Сижу на pandas, пока не вижу причин перекатываться на polars. Как понадобится, так и перекачусь
Polars не шупал ещё. А как там с совместимостью numpy операций и поддержкой популярными пакетами вроде catboost/lightgbm? А то с пандас df можно работать как с numpy массивами и скармливать напрямую в МЛ либы для тренировки
зачем тебе numpy, если там arrow из коробки?
scikit из коробки поддерживает, lightgbm тоже
про catboost не уверен
Пы сы если тебе не только на чтение но и на запись то тут я так сходу хз, видать придётся брать исходный код как текст или как аст, менять его, на ходу создавать новую функцию из этого текста или аст и переприсвоить идентификатор функции на этот новый объект но тебе это не надо скорее всего, иначе ты бы тут не спрашивал а сам заресёрчил
Пы пы сы так работает если мы говорим об аттрибутах функции, а не о локальных переменных print(wrapper.a) вместо print(func.a)
Во, оно! Спасибо!
Я не понимаю откуда у функции wrapper берется атрибут "a". В какой момент он наследует свойства func?
Ты в курсе, как работает декоратор? Вызывая func, ты вызываешь wrapper.
оно и не наследует. как только ты обернул в @wraper, твоя test функция стала wrapper(test())
Так он же не во wrapper обернул, а в deco
Есть столбец таблицы, который хранит значения в диапазоне 0-2.
С ними работать неудобно, зато компактно. Хочу чтобы они везде, где мне это нужно, подменялись на строки "плохо", "средне", "хорошо".
Есть способ сделать это лучше, чем вручную?
logging.getLogger(__name__)
А как мы сравниваем? Если мне нужно, скажем, чтобы значение было 1/средне или больше/лучше
как лучше всего реализовать логин?
1. OneToOne
2. Proxy
3. AbstractUser
4. AbstractBaseUser
Сам склоняюсь к 3 либо 4 варианту, что думаете?
*Логлосс заметно выше
да, ещё вопрос, только что узнал про '--enable-optimizations --with-lto' PYTHON_CFLAGS='-march=native -mtune=native'
есть смысл? или я накрашиваю свинью? Кто вообще оптимизирует медленный питон и зачем? Я думал все, что должно быть быстрым,уже написано на C (тот же numpy)
Что делать?
> '--enable-optimizations --with-lto'
смотри у тех кто поставляет тебе питона как его собирают. в debian, офф. docker образах собрано с оптимизациями, в nix - юез оптимизаций, т.к. они не позволяют сделать полностью воспроизводимый билд.
проверить можешь глянув процесс сборки в апстриме, либо флаги сборки твоего питона:
> python -c 'import sysconfig; from pprint import pprint; pprint(sysconfig.get_config_vars())' | vim
офф. доку на сайте почитай using/configure.html
lto thin будет дефолтом для Clang, если он поймёт этот флаг. дальше сам ибо лень с телефона подробный оьвет давать - вроде и так уже всё понятно.
> PYTHON_CFLAGS='-march=native -mtune=native'
gcc соберёт питон, оставив при сборке только инструкции под целевой проц - размер сборки будет меньше. поидее, возможно ускорение за счёт использования лучших нативных инструкций.
резюме: читай доку и не занимайся хуйнёй... можешь по приколу насобирать питонов и сделать для нас бенчмак!
Так падажжи ёбана. Если ошибка на тесте меньше, чем на кросс-валидации, то всё прекрасно же. А что с целевой метрикой происходит, и какая она?
резюме: ты пидорас и не умеешь читать
Я не спрашиваю, что эти флаги делают, а есть ли в них смысл. Кто оптимизирует питон и зачем. И ускорят ли они мой говноскрипт, если в нем все тяжелое и так отдается сишным либам типа numpy
если ты всё знаешь, дибилушка, то чего спрашиваегь? в доке все оптимизации описаны. реккурсию в циклы переводит. где это возможно - как пример одной оптимизации. осталбное rtfm, оладушек
Только пайчарм и только в стандартной ублюдской коричневой теме оформления, так пишут профессионалы!
> стандартной теме оформления
я так пишу уже пятый год, хуле тебе не нравится, собака джаваскриптовая?
Ты пятый год жалкий ламеришка, поздравляю.
У меня юпитер внутри вскода. Брат жив.
IDLE
Ошибка на тесте больше. Я крч разобрался, модель переобучается какого то хуя. В качестве функций у меня средние значения с разными временными окнами и каждая такая функция повторяется десять раз с разным значением альфа для экспоненциального взвешивания. Видимо такой подход не канает. А метрик нет, мне нужно вероятность максимально точно определять. Не в курсе как в таком случае оптимальные функции выбирать?
Попробуй следующее:
- добавь значение метрики день назад, неделю назад, месяц назад, год назад, индекс месяца, индекс дня недели, будний/выходной/праздничный, YoY, WoW, MoM
- добавь в модель регуляризацию
- попробуй другие модели, более устойчивые к переобучению
- попробуй выход одной модели в качестве метрики, а потом обучи другую
да чел с околонулевым reading comprehension че то там про флаги насрал, когда я спрашивал про сам смысл\эффективность задумки с оптимизцией питона
так что вопрос остается открытым
Желательно, чтобы столбики имели разные цвета, в зависимости от значения.
Желательно, чтобы положительные столбцы шли вверх, а отрицательные вниз.
Желательно, чтобы я мог посмотреть на эту диаграмму в вертикальном и горизонтальном разрезах.
Желательно, чтобы на вход я просто подавал на вход датафрейм, а на выходе получал красивую диаграмму, как я описал.
Какие библиотеки и методы мне гуглить?
Но тебе же реально уже ответили. Или ты ждёшь ответа по типу 2% ускорения цикла фор? Такого ответа не будет, очевидно что никто не знает. Как и очевидно что некий прирост есть, даже когда вызывается сишный код
1. Выводить прозрачный оверлей
2. Рисовать по формуле
Какое тебе нужно мнение, нафаня? Все эти фреймворки существуют и все их используют для подходящих задач.
ебани todo list или blog на каждом - поймёшь. заодно в ddd можешь вкатиться, чтобы логику переиспользовать на каждой реализации
Насколько ниже логлос в %?
Насколько несбалансированный датасет?
Как происходит разделение train|test?
Распределение свойств признаков совпадает в выборках?
Каков variance ошибок на кросс валидации?
Какая регуляризация используется?
Какой solver?
Делается ли скалирование/другой препроцессинг?
Я человек простой, обычный gRPC использую
Когда вы создаете виртуальное окружение с помощью virtualenv, скрипт активации (activate) делает несколько важных вещей. Во-первых, он изменяет переменную окружения PATH, чтобы указать на исполняемые файлы в вашем виртуальном окружении, а не в глобальной установке Python. Это гарантирует, что скрипты и установленные пакеты будут использовать версии Python и зависимостей из вашего виртуального окружения.
Кроме того, скрипт активации устанавливает другие переменные окружения, такие как PYTHONPATH, которые помогают Python найти модули и библиотеки в вашем виртуальном окружении.
Если вы просто сделаете chmod +x и выполните скрипт напрямую, он не будет иметь доступа к этим переменным окружения, и ваш скрипт может использовать неправильные версии Python или зависимостей. Поэтому используйте source activate для корректной активации вашего виртуального окружения перед запуском скриптов в нем.
Есть вопрос по библиотеке pyTelegramBotAPI:
Можно как-то с ее помощью узнать количество картинок, которые пользователь отправил в группе фотографий?
Просто я как понял, картинки отправленные группой имеют media_group_id и все, типа никак нельзя понять сколько их в группе (нашел костыльное решение с таймером только)
Обычные боты вообще не видят историю чатов, они могут только отслеживать новые сообщения и считать изображения по факту их появления. Бери Telethon или Pyrogram и получай всю историю сообщений пользователя и считай
Понял, спасибо
Тоже увидел, что можно Pyrogram использовать
Просто я уже написал все на pyTelegramBotAPI и переписывать с нуля не буду под другую библиотеку
Не подскажешь, есть ли более адекватный способ, кроме таймера в этом случае?
>Просто я уже написал все на pyTelegramBotAPI и переписывать с нуля не буду под другую библиотеку
Подумой
https://spb.hse.ru/ixtati/news/540051247.html
ахуенчик
будущая шапка треда
А анальную пробку вставлять обязательно при работе?
Как можно через обращение к классу (а не к экземпляру) на ходу поменять реализацию метода __add__? то есть например вызвал Foo.change_add() и сложение теперь для всех стало работать как вычитание. Пример всратый, просто чтоб наглядно продемонстрировать, что я хочу.
>для чего.
собрал на коленке скриптик, который мультипроцессором пробегает по файловой системе и делает хасл и возвращает для каждого файла датакласс-объект с результатами. потом просто суммирует по всем полям и выдаёт ответ. у скрипта есть два дополнительных ключа, которые добавляют ещё две дополнительные суеты.
>для чего.
подменив метод, я избавлюсь от двух сравнений в worker'e, вызван ли был скрипт с ключами или нет, чтобы вызывать или не вызывать дополнительную суету.
Моветон использовать глобальные переменные когда они изменяются во время использования и влияют на основную логику приложения. Обычно логгинг настраивается при инициализации приложения и дальше ты уже юзаешь только это, по сути это просто синглтон. В большинстве случаев достаточно корневого логера и ты уже можешь делать так
import logging
logging.info("something happened")
да, заебись. есть ли глубокая разница подходов second/third реализации? понимаю, что одна это классовый метод, который манкипатчит сразу нужный метод; а другой метод экземпляра который обращается к классу и потом уже меняет нужный метод. есть ли подводные камни, моменты на которые надо обратить внимание или это равноценная хуйня?
Хосспаде, какие же буратины деревянные лезут вайтишные, просто пздц. Про знание английского можно даже и не заикаться.
А не лучше использовать plotly? Как я понял, там с интерактивностью получше, плюс в перспективе можно будет нарисовать дашборд.
Херкам разве не поебать на проекты? Их только формальные параметры в резюме интересуют. Задачи херки
1) Матчинг возраста, стажа, кейвордов
2) Первичный созвон, обратная связь
3) Поддержка базы кандидатов, черных списков
>Какой пет на джанге написать джуну, что бы hrки радовались?
А сам не хочешь своему проекту радоваться? Какой нахуй смысл делать для других, если можно делать для себя? Открой ебучий интернет-магазин, начни продавать какие-нибудь электронные сигары, прибамбасы для собак, ещё какую-нибудь шнягу. Или ты прям живёшь для других шоп другие радовались а ты нет?
Ну используй
Чет сложно звучит. Хочется просто покрудошлепить>>121737
>>121737
Просто хочется добавить в резюме какой нибудь +- интересный проект
>>121741
Я хочу радоваться своим проектам, но у меня 0 идей.
За идеи спасибо, но просто хочу вкатиться в это ваше айти и грести 70к/мес., проект нужен чисто в качестве красивой строчки в резюме
И чем тебе "интернет-магазин" не идея? Чем не красивая строчка в резюме? Чем не вкат в это наше айти?
Поднимать свой интернет магазин это же надо искать поставщиков, искать покупателей.
Блядь, да не продавай там нихера, просто сделай магазин, напихай псевдо-товаров, сделай корзину, блядь, регистрацию, оформление заказа, всю хуйню сделай, только оплату не прикручивай. Может вообще продавать там "шмындрики" за "100 бублей". Почему ты такой тупой?
На такой левый интернет магазин будут смотреть, как на очередную поделку вкатуна
Ну хотелось бы, что бы hrка видя проект думала: "О прикольно", а не "Фу, очередной вкатун"
С дилдаками в форме тимлидов и сенек, херочкам понравится...
>Напоминаю, что никто не смотрит гихабы
Этого достаочно. Напоминаю историю разработчика homebrew которого попустили алгосами на интервью в гугел
Да какая нахуй разница? Ты реально настолько баран, что думаешь, что крутизну тебя как веб-разработчика определяют товары, которые ты продаешь, а не то, как ты сделал интернет-магазин? Бля, пиздец, надеюсь, ты тролль.
https://2ch.hk/api.yml (М)
Напиши на фастапи по этой доке, прикрути постгрес редис и петпроект готов, страницы верстать не надо.
Если не бросишь, то получится. Так всё в этом мире и получается.
>Напоминаю, что никто не смотрит жидхабы если у вас там не проекты на +500 звездочек или вы в большой попенсорс не комитите.
Даже в этом случае не смотрят, если нет коммерческого опыта. Для вкатуна главная цель - любыми путями получить / нарисовать первый год опыта, причем реального, а не учебного, а не закапываться в пет-проектах.
Ну да, а че, генерация капчи например интересная тема, создание thumb-ов это вот всё.
Сохранил, спасибо
Да, еще стоит просто дежурно напомнить о том, что и так все знают, ведь это очевидно, но всё же просто напомню, что всех уже порешал чат ГПТ, которого нанимают олимпиадники гарварда, а вакансии висят просто для вида, как и гитхабы с линкдинами. На самом деле пробиться невозможно, так что наилучшей стратегией будет ничего не делать, ведь если ты родился без опыта работы в отделе инноваций Бостон Динамикс и без золотых медалей на мировых олимпиадах, то совершенно бесполезно что-то делать. Просто напоминаю.
>>121925
Типа того
Делать, но понимать что это для себя. Никто смотреть не будет? в лучшем случае, а в худшем "все что вы скажете может быть использовано против вас"
Уж лет 10 как заменили, ну ты чего?
моя наивная идея состоит в том, чтобы избежать 100500 ненужных if один раз указав на нужную реализацию. типа инкапсуляция всё такое, класс сам знает как ему что делать.
В худшем зачморят на весь интернет, будут показывать код по первому каналу и у ведущих блогеров и ржать. Прифотошопят хуев на лицо, сдеанонят, насрут под дверь, вызовут чеченцев, заставят извиняться, а потом отправят на войну.
Эйчарка смотрит на проект как баран на новые ворота. Ты думаешь она там что-то понимает чтоли?
А чего там понимать? Если проект оформляешь в виде рабочего сайта, то любой поймет. А если это простыни кода на гитхабе, то конечно нахуй они кому нужны. Если только общий стиль твоего кода и комменты кто-то оценит. У меня такое было, кстати, однажды.
Так никого же не заставляем, сами приходят
>>122047
Лучший - система анализа поведения пользователей реддита. Разделена на несколько докер контейнеров. Сбор данных по API, пишет в две базы sql и influxdb. Есть векторная база для простого nlp. С правильной обработкой ошибок и не долбящая по напрасну серваки реддита. Групирование постов и сообщений по векторной близости через word2vec и вывод на дашборд с базовыми статами
Худший это crud с оценками учеников для разных предметов. Походу лабораторка из вуза
intNum или как-то так?
>Вкатунов берем только если физмат за плечам. Эти ещё ни разу не подвели
Что мешает вкатунам тоже давать тестовое?
Потому что в первом случае ты изменяешь значение словаря, а во втором ты пытаешься изменить целое число?
Был 2016 года, мой знакомый 30 лет никогда нигде не работавший написал консольную спамилку в вк на питоне, она умела просто долбить разные сообщения в ЛС и показывать капчу. Этих знаний ему хватило чтобы переехать из мухосранска в спб, устроиться там в галеру (это слово я впервые от него услышал) на которой он якобы нихуя не делат, и через полгода-год купить себе квартиру. В каких Европах он сейчас живет я не знаю.
Законом не запрещено
Мораль истории в том, что для успеха софтскилы не менее важнее хардскилов. И на прокачку навыка общения надо отдавать столько же времени, сколько на дроч в обход дерева и бинарный поиск.
Наш волчара!
Это был мудень без друзей, не совсем здоровый на голову.
Мораль в том, что надо было вкатываться в 2016 году.
Ну а то, у меня вон тоже друг свата брата по дедушкиной линии в 2012 году только слюни пускать умел. Сейчас работает в отделе инноваций apple тимлидом. Надо было тогда вкатываться, сейчас уж бесполезно.
Да я не говорю, что не вкатывайтесь. Просто описал охуительную прохладную историю, которую лично глазами видел.
Мы вообще вкатунов берем мало. Чисто бэкэндерские задачи и нужно понимать некоторые алгоритмы, где без математики уровня 1 курса вуза не понятно, почему один лучше другого и за счет чего. Вот тут физмат и пригождается
>нужно понимать некоторые алгоритмы, где без математики уровня 1 курса вуза не понятно, почему один лучше другого и за счет чег
Например?
>без математики уровня 1 курса вуза не понятно,
Математика уровня первого курса есть далеко не только на физмат-специальностях. У меня например были и матан, и линал, и дискретка, но ваша эйчарка меня отсеет, потому что образование не профильное.
Что значит профильное? Ты даже не написал свое направление.
Че ты распереживался из-за какой-то одной конторы? Мало их что ли? У всех свои заскоки. Одни из физмата не берут, другие в офисе работают, третьи черный нал платят вместо зарплаты. Из-за каждой такой трястись никаких нервов не хватит.
Ну так понятно, чувак с ML работает, для перекладки джейсонов вышмат вряд ли понадобится.
В ML можно залезть без профильной вышки. Это конкретные условия конкретного отдела в конкретном бизнесе. Они для себя решили, что им вот так удобнее собеседовать людей, а рядом с ними может быть точно такой же ML отдел, который решит по другому, и будут готовы собеседовать в том числе и людей и не с физмата. Чего трястись то из-за каждого? Работы полно вокруг.
Чтоб удовлетворить своё желание заниматься ML, очевидно же. Всё в этой жизни происходит исключительно за этим и больше низачем другим.
Только что Ротенбергу занял 100р.
CSRF_TRUSTED_ORIGINS = ['http://0.0.0.0']
ALLOWED_HOSTS = ['0.0.0.0']
На 127.0.0.1 все работает. В чем проблема?
https://github.com/django/django/blob/main/django/contrib/admin/templates/admin/login.html#L46
токен шлется. И повторюсь на 127.0.0.1 все работает. Тут проблема где-то глубже в 0.0.0.0 хосте
Добавь в settings.py:
CSRF_COOKIE_DOMAIN = '0.0.0.0'
Блять, в итоге решил проверить в Хромиуме, и все заработало. То есть проблема где-то в куках в фаерфоксе
Блять, жопа горит теперь. Все из-за того что локально записал себе куки в 0.0.0.0, потом когда запустил контейнер на таком же хосте, куки не перетерлись и csrf не перезаписывался.
Да докер файл писал для фронта, чтоб он запустил у себя локально проект
Это минимальное требование, чтобы человек вообще хоть что-то понимал, о чем говорят коллеги. Чтобы хотя бы имел представление о таких вещах, как отличия матрицы Якоби от Гессе и зачем они хоть примерно нужны вообще
>В питоне так же делать
Лучше не считать матан на питоне, но если хочешь, то можно сделать так же как на плюсах
Так наоборот, матан там считать удобно. Numpy, sympy, google or-tools, pytorch и т.д. Всё к твоим услугам
AND работает примерно как в && баше
То есть при первом false прекращает выполняет дальнейшую цепочку.
Спасибо
> Программирование не ограничивается крудами и веб разработкой
Ну и в каких еще направлениях программирования используется питон?
Ну вот сервисы кролик слушают и в кафку пукают распреледенно, например
> как отличия матрицы Якоби от Гессе и зачем они хоть примерно нужны вообще
Про отличия я прочитал, а зачем они хоть примерно нужны вообще, расскажи плз?
Так вот этот чекер я потом смогу использовать как тип? Например
class Man:
age: Checker
height: Checker
Т.е. просто использовать его вместо стандартного целочисленного типа? Ничего там в дальнейшем не наебнется с таким подходом?
Тебе не нужны датаклассы, отнаследуйся от int/сделай свой класс и переопредели методы
Оптимизация бизнес процессов, логистика - operations research короче, МЛ, финансовые и макроэкономические модели, расчет физических симуляций для R&D в промышленности. Это только то, с чем я или соседние отделы работали за последние годы
Чел, там материала на несколько лекций. Jacobian в тех же моделях логистики и производства грубо говоря для стабильности и точки эквилибриума переменных функции, которой моделируем. Например, как изменения в одном узле цепочки повлияют на другие и как оптимизировать для этого инвентарь на складах, объем производства деталей и т.д. Hessian поможет тебе оптимизировать МЛ модели, например через BFGS с ограничением по памяти аппроксимировать нужные функции эффективно. Можно например оптимизировать инвестиции компании в ценные бумаги, используя информацию о кривой в разных комбинациях бумаг. Или в производстве эффективно использовать бюджет, опять через кривую функций, используя эластичность спроса, цены на материалы/труд и т.д.
На деле, это желание висеть у кого-то умного на шее обузой, чтобы он тебя тянул. Ну, либо сам хочешь тянуть кого-то.
Оно надо, вообще? Хорошо учиться, когда учишь — это да. Но это редкое совпадение, чтобы это ещё над нормальным проектом происходило.
Какая мотивация у опытного товарища меня тащить? Вот не знаю. бесплатно же всё.
Так-то я бы сам нырнул в какую-то визуализацию, биг дата, обработку, карты, красивые картиночки и прочую постобработку. Но кому оно надо...
А речь изначально шла про программирование.
Цель не быть кому то обузой или учить, а собрать команду единомышленников и вместе что то пилить.
Вот первое что в голову пришло, нравится тебе картинками заниматься. Те кто открывают магазы на озоне им карточки товара нужны, ты делаешь нейронку которая хавает изображение и выдает карточку в нужном стиле, я занимаюсь автоматизацие всего процесса.
Вот таким образом придумывать что то и делать)
Хочешь оптимизаций - это не к питону. Упрешься в ограничения языка просто, все-таки кто бы что ни говорил, а он медленный.
Плавающая запятая будет стоить ± столько же, сколько и инт в общем случае. На самом же деле надо бенчмаркать. Связанно это с тем, что int в питоне это нифига не сишный инт и у него там есть обертки для поддержания длинной арифметики (условно, питонячий инт прямо из коробки у тебя может быть больше чем long long int, сишный и работу с ним как раз будет менеджить обертка). Float же тоже имеет обертку, но более простую(так как сслыается на уже нормальный сишный double), и разрастись так как int не может. Короче, депендс
Пишу код каждый день, который бежит на серверах в докер контейнерах. Есть юнит и интеграционные тесты. Код работает с другими сервисами по API, ходит в базы. Пайплайн CI/CD такой же, как и в типичном бэкэнд проекте. Щепотка математики не делает это чем-то космическим
этого Анона я блогословил.
умный тут штоле???
Например, на входе у нас две строки:
'А' : 0, 1, 2, NaN
'B' : 0, NaN, 2, NaN
На выходе мы должны получить:
'А, В' : 0, 1, 2, NaN
Как это сделать, двач, помоги.
'А' : 0, 1, 2, NaN
'B' : 0, 3, 2, NaN
'C' : 0, NaN, 2, NaN
К какой строчке должен будет присосаться "C"?
Тогда
1) Сортируй по значениям
2) Заполняй пустые ячейки значениями сверху (fillna с forward-fill)
3) В результате ищи дубликаты
Хэш в качестве ключа
Вопрос по ML.
Чет по-моему маюсь какой-то херней.
Пытаюсь попасть на стажировку в вк.
Изучаю машоб уже довольно долго. Вроде как.
Моих знаний хватило, чтобы, например, написать классификатор, который отличает мужской голос от женского - я использовал подготовленные аудиофайлы, подготовил датасет, почистил его, нашел лучший алгоритм (рандомизированный случайный лес), подобрал гиперпараметры и получил приемлемый ответ (98 % или типа того). Спустя полгода после дедлайна.
А сейчас я прохожу тест и нихуя не знаю ни о чем.
И вот задача. Есть датасет формата rank,query_id,feature_0,feature_1.....
Мне нужно по параметрам feature предсказать rank в отдельно взятой группе, то есть query_id.
Когда я решал задачу с классификацией голосов, я просто использовал train_test_split, там не было никаких групп.
Итак, похоже, мне нужно подготовить какие-то группы, а не все в повалку.
Как это делается? Что вообще гуглить?
Нужно сделать стратифицированную выборку train/val/test. Чтобы распределение ранков и групп в них были похожи. Особенно вжно так делать, когда несбаласированный датасет и есть явные перекосы
Да. query_id это просто номер группы, в которой мы определяем rank.
Скажем, у нас есть пять строк, все принадлежат к группе 10, и значения rank у них получаются 0, 0, 1, 2, 2
Я нашел решение.
splitter = GroupShuffleSplit(test_size=.20, n_splits=2, random_state = 7)
split = splitter.split(df, groups=df['query_id'])
train_inds, test_inds = next(split)
train = df.iloc[train_inds]
test = df.iloc[test_inds]
Ну так это просто фича. Если ты точно знаешь, в какой именно группе тебе надо делать предсказания, то экземпляры из неё и убирай а тестовый и валидационный датасеты. А если не знаешь, то делай стратифицированные выборки.
> тут как его можно почистить
Я же не знаю, что там у тебя и что чистить хочешь. Типичные манипуляции с pandas, я думаю. Как минимум четверть работы дата саентиста на это и уходит
>>133480
Ему возможно еще по рангам внутри каждой группы надо стратифицировать в довесок. А то может оказаться что в трейне для группы Х пропорции сэмплов с рангом 1 в разы больше, чем в тесте. Тогда ручками писать код придётся для стратификации всё-таки
Ну, у меня есть готовый датасет.
То есть 25к строчек формата:
rank, query_id, f1, f2, f3. ... f120.
Пока мой лучший результат это 55% с помощью рандомизированного случайного леса.
Вот условие.
Я просто не пойму, может такая ошибка это нормально для подобных задач? Или есть какой-то автоматический способ убрать аномалии из датасета?
Прости за ламерские вопросы.
Тогда так.
Можешь сказать, как бы ты подходил к исследованию для решения подобной проблемы?
Так тебе тогда нужно поделить так, чтобы все документы с одним query_id находились в этом сете. Иначе это не имеет смысла. Как делить? Как минимум чтобы распределение кол-ва документов для query_id было схоже. Хотя наверное от интерна такого не ждут. Вот список популярных подходов для твоей задачи. Выбирай любой на свой вкус и уровень навыков
https://towardsdatascience.com/introduction-to-ranking-algorithms-4e4639d65b8
Я????????
55% чего? Если ты пытаешься решить задачу классификации, и считаешь accuracy, то ты немного не в ту сторону смотришь. Ранжирование - это другой класс задач
лапки
Я только сегодня начал читать про метрики.
Начал все не с того конца. Сначала прочитал про устройство перцептрона, обратное распространение ошибки, потом наполовину наугад решил пару задач.
Короче, в условии (картинка парой постов выше) ясно сказано, что ранжировать объекты надо в группах.
Однако когда я работаю с группами абсолютно все метрики провисают до 0.5. А вот если просто выкинуть параметр query_id на мороз, они все растут до 0.9. Не пойму, что делать.
Однако, еще один вопрос, ndcg_5 это что? Я вижу объект ndcg_score, но что это за ndcg_5?
И почему когда я пытаюсь его использовать, мне говорят про то, что мультикласс нае катит, а нужно Only ('multilabel-indicator', 'continuous-multioutput', 'multiclass-multioutput') formats.
Не знаю, бро, я ещё не решал задачи ранжирования. Знаю только, что есть такой класс задач, больше ничего не знаю.
>Сначала прочитал про устройство перцептрона, обратное распространение ошибки, потом наполовину наугад решил пару задач.
Ох, тебе похоже пока очень рано туда подаваться.
> ndcg_5 это что?
Это ndcg для первых 5 рангов
Мой совет - пройди какой-то курс по МЛ. Где с основ объясняют. От log reg до деревьев. Даже если бы ты каким-то чудом решил тестовое своё с помощью анонов, ты посыпешься в первые же минуты интервью на теории МЛ
доступ все, больше не поучится? теперь только через впн?
где-то до марта еще открывался, чет теперь наглухо рубит
Начал вкатываться в питон, таргет выдал интенсив питон+гпт4, потыкался - прикол. Пару ботов в ТГ сделали с разными функциями, качалка вебмок с сосача и совсем по мелочи, БЕЗ ВСЯКИХ ПРАВОК КОДА РУКАМИ.
Есть с десяток идей, которые хочу реализовать через ТГ-ботов для коммерческого использования, но всё проебано со студенческих годов и тупо нервирует капашиться в коде, нет любви к этому делу. Норм мысля вкатиться через полугодовой курс в эту тему (100к с оплатой 0-0-24), обещают что через месяц начнём уже лутать бабосик с простых ботов на фрилансах или копить бабло и сувать фрилансерам чтобы они за меня это делали?
Дай совета, анон.
Щас наберем их руководствам, спросим. И в роскомнадзор наберем, тоже спросим. Сразу тебе доложим, как нам отчитаются все ответственные люди. Жди
>обещают что через месяц начнём уже лутать бабосик с простых ботов на фрилансах
Почитай "Буратино".
> двач, меня нервирует X
> как думаешь, нормальная идея задротить Х полгода, чтобы начать в нем хоть чутарик че-то соображать, а потом еще задротить и еще задротить и еще задротить и работать с Х и задротить Х
> как думаешь, норм идея?
Ну я даже и не знаю...
Хуевая идея: платить бабки за курс = просто отдавать бабки за собранную инфу с бесплатных источников. Тем более, если тебе не нравится программировать. Зароботок с ботов через пару месяцев - наеб, нихуя не научат за это время ничему. Ботов получиться писать простеньких, но за такие платят мало и деятелей берущихся за такое - много. В общем на бутылку колы хватать будет, но не больше.
Тему с дропшипом заказов можешь попробовать, но обычно там пиздец нервяк. Если готов быть посредником и две стороны успокаивать каждый день, что вот-вот все будет, при этом на руках нихуя не имея - то вполне заработаешь даже, только надо еще заказы найти эти, ведь как выше сказал, деятелей достаточно, и без хорошего акка на фриланс-платформах заказы будут поступать очень неохотно
Почитаю.
Хуй бы я загорелся что-то делать в пограммировании если бы не зерокод/ноукод, пока за это почти нихуя не знаю, но то что увидел - сильно впечатлило.
>>134319
Действительно, наверное сам подпиську на гпт4 куплю и буду ковыряться черпая инфу из открытых источников.
Они обещают что начнем лутать на фрилансах или устроют через 3-6 месяцев жуном, но я свои проекты хочу пилить и сам монетизировать, работаю с трафиком, для этого решил в тысячный раз вкатываться.
Бро, спасибо тебе за помощь, но, мне кажется, это не сработает.
Допустим у нас на входе:
A:1, 2, nan, 4
B:1, nan, nan, 5
C:1, 3, nan, 5
Здесь, как будто бы, будет В:1, 2, nan, 5. И это помешает В присосаться к С. И казалось бы, можно отсортировать ДФ в обратном порядке, но там один хуй будут спорные ситуации. Поправьте меня, если я не прав.
У меня есть одна идея, как это сделать, но я сейчас в очко и могут возникнуть вопросы.
Питон внутри использует для флоата использует тип float64 (он же double в си), поэтому работать будет скорее даже быстрее, чем инты.
Но оба типа на самом деле работают жутко медленно из-за дичайшего оверхеда на динамическую типизацию. Ты когда делаешь c = a + b, интерпретатор должен сначала продраться через все эти обёртки над типами, прежде чем выдать результат.
Реально потеря производительности раз в 100 относительно си-кода в таких задачах.
Короче, справился. Пришлось попарно перебирать все с строки. Долго, конечно, но пофиг.
Вы видите копию треда, сохраненную 13 июля в 02:45.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.