Этого треда уже нет.
Это копия, сохраненная 14 февраля в 01:36.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image.png436 Кб, 2048x1152
Питон тред №165 /python/ 2853616 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #165

Предыдущий: >>2800678 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
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, но разницы почти нет)

— Какие книги считаются лучшими?
На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.

— Какие веб-фреймворки стоит учить в начале двадцатых?
Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: http://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.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

старая версия шапки, треды 90-148 и ранее: https://dumpz.org/bASGKD8cCFDf
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущий исходник: https://goonlinetools.com/snapshot/code/#8gd2g1snu3l8i26k0bc6k9
image.png100 Кб, 328x323
2 2853722
Вам не кажется что ООП в питоне какое-то детское что ли? Вот в джавашарпах и дарте например куча специальных ключевых слов-модификаторов для объявления классов, всё паттернами обмазано, всё через интерфейсы где надо и где не надо. А я вот при погрузке жисонов никакими фичами ООП кроме наследования и не пользуюсь по сути. Хотелось бы послушать что аноны с опытом в джавашарпах думают про питонячее ООП? Что такого есть в настоящих ООП-языках чего нет или есть но плохо сделано в питухончике?
3 2853866
>>853722

>Вам не кажется что ООП в питоне какое-то детское что ли?


Оно просто другое потому, что платформа другая с другими возможностями

>всё паттернами обмазано, всё через интерфейсы где надо и где не надо.


Это их дикие костыли из-за ограничений платформ. Иначе очень сложно реализовать в компилируемых языках. Просто подумай, как это всё выглядит на машинном уровне и станет понятно

>А я вот при погрузке жисонов никакими фичами ООП кроме наследования и не пользуюсь по сути.


классическое ООП = инкапсуляция, наследование, полиморфизм

В целом пользуюсь всеми тремя особенностями. Полиморфизм, это когда у тебя функция принимает базовый класс, а дёргает методы этого класса, а в функцию ты передаёшь унаследованные классы, в которых эти методы реализованы по-своему, сильно по-разному. Не всегда это нужно, но вот в проекте на котором я сейчас работаю, это очень активно используется.
4 2853960
Анон, размявший старые кости >>2837981 →, выйди на связь, пожалуйста.
5 2854006
Кто-то может поделиться инфой о том, где найти опенсорс проекты для участия с джуновским уровнем питона? Хотелось бы принимать участие в какой-то движухе и смотреть за тем, как дела делают умные люди, по возможности внося свой вклад
6 2854037
как разрабатывать бекенд приложения на питончике?
modern way способом, то есть без лишней еботни и чтобы все работы и успешно развертывалось на других платформах.

Сама суть приложения очень простая упрощенный склад (табличка в sqlite куда можно добавить продукцию и ее количество, обновлять количество, планировать закупку)

Хочется удобства - один раз сформировать api и чтобы фреймворк сам все подтянул из него.

FastAPI выглядит очень вкусно и он у меня сразу сходу завелся, скорее всего возьму его, что еще порекмендуете? какой самый бест гайд по фасту (кроме документации) нуи по всей обвязке, как быстро разворачивать базу, не вводить постоянно CREATE TABLE и все такое..
7 2854059
питон или голанг для бэка?
8 2854074
>>854059
Нужна скорость - говно, нужно быстро нашлёпать сервисов - петухон.
9 2854108
>>854059
Да тут что нравится, наверное. Мне лично говноланг больше нравится из-за компилируемости и лучшей многопоточки.

Но сам сейчас работаю на легаси копролите на питоне. Всякого пиздеца достаточно у нас. Из-за того, что питон интерпретируемый, а не конпелируемый, бывает что стреляет что-то на проде, что влияет на пользователей. И это пиздец. Кто-то не тот параметр передал в функцию, забыл протестировать этот сценарий, и все, пизда. Либо сейчас, либо через 3 года. Старые баги тоже стреляют часто. Причем баги такие, которые можно было бы компилятором отловить.
image.png704 Кб, 2222x1168
10 2854217
Есть ли библиотека с такой же пиздатой нейронкой, что у гугла в гугл ленс? Прям чтоб из коробки могла распозновать искаженные символы без тренировки на заранее подготовленном датасете? Пробовал easyocr - хуйня.
11 2854441
Сап антуаны!

Три года не программировал, сел делать себе таск-менеджер на неделю, по привычке поставил flask и чот дальше затупил.

Я хочу, чтоб при обращении на /week происходил рендеринг шаблона /templates/week.html с данными data.

Для этого я, во-первых, делаю:

@app.route("/week")
def week(data=data):
return render_template("week.html")


Во-вторых, я делаю jinja2 шаблон week.html с переменной data в папке templates.

Сложности в следующем:
1. Откуда вообще взять простой и масштабируемый html для расписания на неделю? Достаточно совсем-совсем простого, типа как в дневнике школьном. Не самому же его писать

2. Хочу, чтоб помимо переменной data в шаблон подтягивались данные из допустим захардкоженной переменной stable_data, как это всё организовать?

3. Как тестировать потом это вот всё?
12 2854465
>>854441
Во-первых, в твоём текущем коде твой шаблон сейчас не получает никакие данные, если только они у тебя не статичные и не вшиты в сам шаблон.
Во-вторых, чтобы их туда передавать, тебе в самом шаблоне надо эти данные вставлять через экранирование и некоторые правила:
https://jinja.palletsprojects.com/en/3.1.x/templates/
https://pythonbasics.org/flask-template-data/
В-третьих, захардкоженные переменные ты можешь объявить внутри приложения глобальной переменной/тащить из файла/бд/сети/откуда угодно.
В-четвертых, всё что в твоём приложении можно протестировать в текущем варианте, это твой единственный эндпоинт, который отдаёт шаблон. Мы можешь создать тестовый клиент с этим эндпоинтом и проверять, что он возвращает нужный шаблон:
https://flask.palletsprojects.com/en/2.3.x/testing/
13 2854551
>>854465
спасибо. А шаблон на неделю где брать? flex template for week schedule пробовал гуглить, чот там много всего лишнего, не разобрался
14 2854563
>>854551
Да где угодно, верстанием и не занимался и ui-библы не знаю.
https://codepen.io/javiercf/pen/XWXWGZ
15 2854846
>>853960
Чел там просто в строке 57 ещё одна ошибка

>for w in words3:


надо заменить на

>for w in word_lst:



Очевидно же.
16 2854939
>>854006
Там где сидят умные люди джуны не нужны кроме как ридми править
17 2854945
>>854108

>Причем баги такие, которые можно было бы компилятором отловить.


Типизиция + mypy ловят 99% таких багов
18 2854987
>>854006
Посмотри какие из тулзов которыми ты пользуешься написаны на питоне и подумай какой функционал ты хотел бы добавить к ним мб
19 2855438
>>854108

>Мне лично говноланг больше нравится из-за компилируемости и лучшей многопоточки.


Многопоточка в го реально крутая, лучше, чем где-либо ещё. Всё остальное на любителя.

Хотя возможность скомпилировать, да ещё в один файл без зависимостей, это тоже круто. И распространять легко, и код не раздавать.
20 2855446
Какой проект можно начать делать для портфолио? Что выбрать фласк или джанго?
image.png252 Кб, 586x504
21 2855464
kek, чел преподаватель выглядит так, как будто у него отрицательный ICQ
22 2855485
>>855464
Охуенный преподаватель, но лучше книжки читать. По видосикам только дауны учатся.
16831790986650.jpg19 Кб, 250x245
23 2855491
Питонята выручайте. Начал собесить народ. Иногда собеседую дата инженеров у которых в стеке питон.

Какую задачу вы считаете идеальной? Небольшую, на 5-10 минут. Чтобы проверить прям на собесе кандидата на основы питона. Какую задачу лично бы вы дали чтобы проверить, что кандидат хотя бы понимает базовый синтаксис и может быстро что-нибудь накодить?
24 2855541
>>855491
А репу его посмотреть не судьба? .
25 2855547
>>855541
Какую нахуй репу? У сеньеров/мидлов с опытом нет обоссаных пет-прожектов. На работе хватает кода. В приличном обществу сейчас никто не спрашивает такого.

Тем более в свою репу никто тебе не мешает натаскать чужих проектов, ага.
26 2855550
>>855491

>питон.


>Какую задачу вы считаете идеальной? Небольшую, на 5-10 минут.


Глубокий минет.
27 2855551
>>855547
А, значит в ПРИЛИЧНО ОБЩЕСТВЕ хрюша тебя просят за 10 минут написать пузырьковую сортировку и таким образом определяет твой уровень. Ясно.
28 2855556
>>855551
Может сортировку, может посложнее. И вопросами на теорию помучать, опыт посмотреть. Задача это только часть собеса. Никогда не видел чтобы требовали от тебя РЕПУ? Какую блять репу я обязан иметь? Что сука за бред тупорылого джуна.
29 2855557
>>855556
Ты чего порвался то? На собесе по лбу хуем настучали?
30 2855559
>>855557
Джун, спок
31 2855561
>>855551
Хрюша на собесе? Ты был хоть раз на собесе?
32 2855562
>>855556

>опыт посмотреть


Какой опыт ты смотреть собрался, если ты сам ни хуя не знаешь, иначе бы в треде не спрашивал. Лол.
33 2856935
>>855547
Садитесь друг другу на коленки и начинаете решать leetcode.
16849425771200.gif4,6 Мб, 480x270
34 2856952
>>856935
Да уже натаскал задач с литкода. Те которые 150 top interview. Выбрал дэтри и хуй вам скажу какие. А то натаскаетесь и придёте на собес.

Всем спасибо, кроме дауна с РИПАЗИТАРИЕМ. Ебучий джун-вкатун даёт свои обоссаные советы. Ещё раз напомню: никому твой сраный репозиторий с пижжеными проектами не всрался, это сродни школьные грамоты принести на поступление в универ.
35 2856985
>>856952

>Всем спасибо, кроме дауна с РИПАЗИТАРИЕМ.


Рад, что помог тебе: >>855550
36 2857014
>>856952
Если у тебя нет хоть каких-нибудь пет проектов на гитхабе, то ты говно, а не программист. Такого нанимать только в обоссаный яндекс.
f2e516482a220d6a81f075b277b419ad.jpg44 Кб, 500x366
37 2857017
>>857014

>Смотрите, мужики, сколько пет-прожектов спиздил, ну этого только в гугл

38 2857891
>>856952

>Всем спасибо


Проигрунькал. Тебе же только этот джун-вкатун и отвечал итт хоть как-то.

Представляю ебало синьора-помидора, который послы блестящего выполнения задачи встретится с напыщенной хуйней которая его валит задачками с литкода. Вся суть собесов.
39 2857907
>>857891
Ещё раз для тебя, недоразвитого. HR технические собесы - не проводят. Ты нахуй о чем вообще? Хоть понимаешь как строится собес?
40 2857919
>>857907
Уймись уже клоун, иди литкод скачивай.
41 2858144
>>857891
Ну вот я собесился 1.5 года назад, синьор-помидор(ше) было похуй на мою репу, меня больше по солиду, аркектуре и паттернам ебали, на алгосы было 2 задачи, 1 одна из которых (как потом узнал) была с литкода, ну решил её минут за 15-20, проблемесы?
42 2858203
Имеет ли смысл вкатуну (джуну) проходить задачи в литкоде?
Если да то примерно сколько изи и сколько мид задач желательно пройти?
43 2858318
>>858203
Все желательно
44 2858494
Не могу понять, почему постоянно меняется значение ключа в словаре:

i, norm = 1, 0
while i <= len(d)/3:
if float(dictObj.get('normal'+str(norm))[0]) <= 0:
dictObj['normal'+str(norm)][0] = int(-float(dictObj.get('normal'+str(norm))[0])*511)
norm += 1
i += 1

В каждом цикле меняется ключ normal0, хотя должен измениться только один раз.
45 2858887
>>858494
потому что у тебя вместо кода кусок говна.
1695931365730.jpeg15 Кб, 201x199
46 2859236
>>858494
Ебать ты пикрил
asqnHxpA8yY.jpg517 Кб, 1280x1113
47 2859768
Сап тред. Тут могут помочь или для этого стоит создать отдельный?
48 2860408
>>859768
Тут постят раз в день, какую помощь ты рассчитываешь получить? Не думал, что нагуглить быстрее будет?
image.png107 Кб, 225x225
49 2860409
>>853616 (OP)
Анон, я знаю кунг-фу Питон и немного джанги. Хочу пару пэт-проектов написать: Бот Парсящий, Бот с API Работающий и Джанга Базаюзающая. И для первых двух мне вдохновения не хватает. Подкинь плес идей, что реализовать.
50 2860423
>>860409

>Подкинь плес идей



Иди на фриланс биржу, найди заказы на ботов. Частый кейс когда нужно взаимодействовать с апи какого-нибудь инстаграмма
51 2860424
>>860423
Воистину мудрая мысль, спасибо!
IMG20230928034529641.jpg139 Кб, 1280x853
52 2860476
>>860409
сделай бота, который будет кидать хентай по жанру
53 2860593
>>858494
Давно настолько нечитаемого говна не видел
54 2860598
>>855491
Ё 2 спіса. Трэба аб'яднаць, выдаліць дублі, атсартаваць па альфабэце.
55 2860609
>>853722
Сам Пітон - дзіцячая мова, бо стваралася на падставе мовы "АBC" для шкаляроў. Дочаш дарослае ААП - ужывай php.
56 2861496
>>860598
https://gaudiatech.github.io/pyved-engine/
Чё как стоит ворваться?
Детям игрушки незатейливые писать.
57 2861686
Че вы думаете насчет чатжптшного встроенного интерпретера? Эта хуйня же может сама себя дебажить, я в ахуе просто. Хотя применение этому довольно ограничено, я вот больше не могу придумать ей таких задач которые возможно потестить в тексте.
58 2863247
>>861496
Смотря что ты хочешь.
59 2863576
>>857017
>>856952
Ебать чмонька порвалась, по манере писать видно, что тебе лет 25 и ты охуеть какой ВЕЛИКИЙ.
Посмотри на гит тех, которые на си протоколы пишут. Ты их тоже вкатунами объявил?
Я хуею с этих рванек, проецирующих свой опыт воровства на остальных. Тебе нельзя собесить людей.
60 2863580
>>863247

>Детям игрушки незатейливые писать.


Примерно это. Рогалики для детей (своих и их друзей).
61 2863667
>>863580
Если прям рогалики рогалики, то https://github.com/libtcod/python-tcod
https://rogueliketutorials.com/tutorials/tcod/v2/

Для ретро-игр вообще есть https://github.com/kitao/pyxel по типу фэнтезийных консолей как PICO-8.
Можно ещё raylib с биндингами - https://www.raylib.com/
https://electronstudio.github.io/raylib-python-cffi/
image604 Кб, 1080x1325
62 2863795
>>863667
Ох нихуя! Рейлиб нарядная, а Пухель даже под веб можно.
Спасибо, анон. Пойду читать, ближайшие недели две не ждите моих искромётных шуток про жопу.
1000015758.jpg60 Кб, 770x513
63 2864065
>>863576
Хуя подрыв. Не трясись ты так.

>Не все в наше время могут понять суть своих репозиториев с нахуй никому ненужными "проектам"

64 2865440
Нужно отформатировать дробные числа по правилу "показывать в дробной части первое не-нулевое значение"
1.013 = 1.01
0.30001 = 0.3
Это можно сделать как-то в рамках модификаторов форматирования, а не писать свою функцию?
65 2866644
>>853616 (OP)
хочу сделать класс, наследующий от pandas.DataFrame, чтобы наследовал все методы pandas.DataFrame, а также имел свои. при этом у меня есть библиотечные функции, которые возвращают объект pandas.DataFrame, а мне бы хотелось превращать его в объект моего производного класса

В C++ это легко достигается нативными средставми через указатели и виртуальные функции. А что делать в Python? Чат жпт не нашёл адекватного решения. Оно существует?
66 2866656
>>866644
class NewClass(DataFrame)

...на этом всё.
68 2866932
>>866836
Там верхние решения тринадцатилетней давности, чуть не для Питона 2.*
69 2867024
>>866932
ну и что - если оно простое и работает

также второе с __new__ хорошее
если я верно понял, то с ним те объекты DataFrame, которые у меня возвращают внешние функции, сразу будут объектами моего производного класса, т.е. конвертация даже не понадобится

я ещё не пробовал, но выглядит как то, что нужно
70 2867538
Привет, душители удава.

Есть два класса, А и В.
Есть функция, принимающая один из классов и коллекцию инстсансов этого класса.
Как написать тайпхинты для функции, чтобы в коллекции могли лежать только инстансы именно переданного класса?
Чёт туплю.
Screenshot5.png70 Кб, 1151x774
71 2867683
че делать анон
72 2867693
>>867683
пользоваться анакондой а не пипом под вяндой
73 2867725
>>867693
1 скрин: чето не пошло
2 скрин: разверну вопрос конкретней - мне нужно из этой папки програму высрать на комп
74 2867737
75 2867756
>>867538
TypeVar
76 2867766
>>867737
>>867725
я тут залетный кста. хз че делать. буду рад если подскажете
77 2867846
>>867766
другую версию пайтона попробуй

To use Stable Diffusion, you'll need to have Python 3.10. 6 installed on your device.
image.png13 Кб, 459x178
78 2867867
79 2867879
>>867867
На 6 знаках начинает выдавать е-нотацию, не подходит
80 2867882
>>867879
пруф? у меня также даже при 10 знаков
81 2867892
>>867882
Попробуй с числом меньше нуля.
82 2867912
>>867846
пробовал. но после старта оно лезет в папку 37 питона, и из-за его отсутствия выдает ошибку в самом начале. какбудто бат этот откалибровался на него. не знаю как перенастроить. я ставил 37 чтобы torch поддерживался.
83 2868260
>>867912

>оно лезет в папку 37 пытона


Маеш змяніць шлях у пераменных асяроддзя PATH, PYTHONPATH у наладках windows.
84 2868351
>>868260
спасибо! попробую.
85 2868513
>>868351
>>867683
@
из папки 310 взял python.exe и скопировал с заменой в папку с нейросетью.
@
также почистил попку 312 которой уже нет в путях
@
проблема теперь такая
Без названия.png11 Кб, 233x216
86 2868517
>>868513

>также почистил попку

87 2868531
>>868513

> также почистил попку


что же ты делаешь, пидорас
88 2868589
>>867756
Надо что-то типа

T = TypeVar('T')
def f(obj_class: Type[T], collection: Collection[T])

но для нескольких классов, наследственностью не связанных.
Если я правильно понимаю,

T = TypeVar('T', A, B)
def f(obj_class: Type[T], collection: Collection[T])

позволит передать obj_class = A, collection = [B(), B()], а не должен.
89 2868658
>>868513
Просто в голосину разорался
90 2868703
>>868658
Сейчас не время начинать с азов программирования, принципов работы ос и прочего! ГПТ на пятки наступает!
91 2868715
>>868589

>T = TypeVar('T', A, B)


Это как раз что надо

>позволит передать obj_class = A, collection = [B(), B()], а не должен.


Не позволит. Такое позволит вот это:

>T = TypeVar('T', bound=A|B)

92 2868762
>>868513
все уже разобрался всем спасибо.
93 2868775
>>868762
Что с попкой то было? Почему грязная была?
94 2868791
>>868715
Спасибо, понял.
95 2868837
Как ни крути, питонист всё равно вокруг попки вертится...
96 2868853
Суп, антошки. Подсабите советом
Есть вот такая конструкция для получения заголовка активного окна:
win32gui.GetWindowText(win32gui.GetForegroundWindow())

Как мне сделать проверку на определенный заголовок на ПОСТОЯННОЙ основе?
Что-то вроде такого:
while win32gui.GetWindowText(win32gui.GetForegroundWindow()) == "Notepad":
print("активно")
else:
print("не активно")
97 2868876
>>868853
Проверять в цикле раз в n милисекунд?
98 2869493
Сап, ананасы. Какую модель лучше использовать для данной задачи:
есть датасет, в котором последовательности запускаемых юзером приложения, необходимо предсказать следующие 10, метрика mAP@10.
DataAnalystClearBoardShutterstock180644618.jpg525 Кб, 1000x667
99 2869676
>>869493
ну так ты перебери все модели, которые знаешь и выбери лучшую по этой метрике!
100 2870133
>>869676
дай свой компухтер, переберу
101 2870167
Сап пейтонисты. Пришел к вам с такой темой, я пишу на Java + Spring и решил попробовать как там на питоне пишутся веб сервисы, взялся изучать django rest framework и что-то нихуя не понял. Вот в у меня как, есть репозиторий для работы с базой, есть энтити для маппинга, есть сервис для бизнес логики, есть контроллер для обработки запросов и есть модели которыми обменивается с клиентами. А в django вообще все по другому оказывается, у него есть view для обработки запросов, есть serializer для маппинга данных, и есть модели которые как представляют сущности в базе, так и служат интерфейсом для неё.
И вот вопрос бля а где писать-то логику я не понял?
Можете пожалуйста рассказать как у вас архитектура проекта устроена? Пока я вижу её такой:
view -> serializer -> model

Всех заранее целую в пупочек
102 2870218
>>870167

>Можете пожалуйста рассказать как у вас архитектура проекта устроена? Пока я вижу её такой:


>view -> serializer -> model


Ну да, так и есть

>И вот вопрос бля а где писать-то логику я не понял?


В моделях. В сериализаторах и вьюшках логики должно быть по минимуму
103 2870281
>>870218
А это разве правильно что у тебя есть один класс в котором и сама модель которая описывает сущность в базе, и бизнес логика и скажем так репозиторий. Как-то гавной пованивает не? Если я бизнес логику вынесу в самописный service и буду его после serializer вызывать это нормальный вариант?

Ну типа вот так:
view -> serializer -> service -> model
104 2870282
>>870167

>view -> serializer -> model


Лёгіку пісаць ва View, бо гэта ж і ёсьць твой кантролер?!
105 2870290
>>870282
Во первых
Я на cock_хольском не розумию, так что переведи через гугл переводчик свою какулю
Во вторых
Иди в жопу тролль
106 2870305
>>870290

>view -> serializer -> model



Varta razharnuć tvaju schemu da nastupnaha:

>frontview -> backview -> serializer+model



Backview vykonvaje rolu kantrolera, business-logika źmiaščajecca tut. Heta ŭmoŭna adpaviadaje architektury MVP:

>View -> Presenter -> Model

107 2870358
>>870281
Неправильно, логика должна быть в своём слое, а не в моделях. А называй как хочешь (сервис / интерактор / юзкейс)/
108 2870961
>>853616 (OP)
Почаны, нид хелп.
Хочу написать модуль расшифровки дампа траффика.
Есть negotiate от кербероса, модуль поднимает локальный сервер и отправлять гет-запрос (в хэдере authorization + билет крб) на этот сервер.
Продумал структуру, что это будет две три асинхронные функции.
Не могу понять две вещи:
1. мне в гет-запросе хостом чего указывать? Живой контроллер домена или можно рандомную парашу туда указывать?
2. в гет-запросе эндпойнтом будет служить эндпойнт авторизации на контроллере домена или нет?
109 2870963
>>867683
Очевидно не использовать шиндос.
110 2871521
>>869493
Волчара, это ты реально решил брать заказы на фрилансе и скидывать вопросы на Двач?

https://freelance.habr.com/tasks/530917
111 2871529
Сап, двач. Сижу на уроке информатики и программирую на питоне, пиздец тоска полная. Удручает это занятие донельзя..Какие-то задачки из ЕГЭ по нахождению Х. В общем программёры, как вы не скурвились от этого занятия?
112 2871530
Сап, двач. Сижу на уроке информатики и программирую на питоне, пиздец тоска полная. Удручает это занятие донельзя..Какие-то задачки из ЕГЭ по нахождению Х. В общем программёры, как вы не скурвились от этого занятия?
113 2871537
>>871521
не, я для соревнование на кегле
114 2871546
>>871537
Ну и на что ты и этот типок рассчитывают тогда?
Предсказать можно что угодно. Качества лучше чем у других добиться сложно, а выигрывает только один.

Ссылку кинь лучше.
115 2871655
>>871546
Так я для себя решаю, а не для результата, да и выйгрыш там ничего не дает тебе
116 2871747
Как научится лучшим практикам в программировании? Я самоучка, никогда на работал в серьезной ит компании. Могу написать скрейпер, могу сделать простенький ETL в пандах, могут подключить модели в torch для какой-то задачи. И я чувствую что мне на хватает знаний лучших практик. Например про pep8 я узнал только несколько месяцев назад, про линтинг буквально вчера (pylint не все что ли нарушения пеп8 подчериквает?). Про гит конечно я знаю, но не понимаю почему рекомендуют его использовать буквально в каждом проекте, для какого-то простого скрейпера мне ощущается это слишком громоздко. Что посоветуйте, где научится таким штукам?
117 2871878
тест
118 2871884
>>871747
На работе.
119 2871945
>>871747
Я лично очень много опыта и знаний получил, когда работал над своим проектом в течение года или даже больше.
Тысячи строк кода написал самостоятельно.
120 2871999
>>871747

>Про гит конечно я знаю, но не понимаю почему рекомендуют его использовать буквально в каждом проекте,


Для тренировки. Тебе жалко что-ли?
121 2872001
>>871655
тогда нахуя спрашиваешь как заниматься СОРЕВНОВАТЕЛЬНЫМ ML, вместо того чтобы просто учебники читать?
изображение2023-10-09225702114.png49 Кб, 1722x740
Сука Пайтон Infinity 122 2872453
Анонасы, кто шарит за PEP 8 подскажите, где тут сука ошибка в коде из разряда PEP 8.
123 2872471
>>872453
Что за сайт?
124 2872478
>>872471
Яндекс академия, там они норм упражнения сделали, но переборщили с pep 8.
125 2872581
>>872478
Стоит покупать?
126 2872584
>>872453
Зачем ты целочисленное и с плавающей точкой числа объявил строками, чтобы потом заменить их тип? Ты еблан или про нестрогую динамическую типизации не слышал?
127 2872686
В пистоне можно иметь одновременно две разные версии одного пакета? Используется либа А с зависимостью от либы Б, но в либе А старая версия либы Б, которая не имеет нужного функционала, но при этом обновиться тоже нельзя. Хотелось бы оставить либу А в рабочем состоянии и новые возможности либы Б.
128 2872709
>>872686
Наверно именно поэтому юзатся venv в питоне, скорее всего нельзя
129 2873016
>>870218
так разве вьюшки не для логики нужны?
можно пример логики в моделях?
130 2873532
>>870218

>вьюшках логики должно быть по минимуму


Проиграл на весь тред ебать ты пидор хахахахаха
131 2873755
Есть рабочий комп, на котором хочу в свободное время вкатиться в изучение питона. Пока есть админские права, я могу на него что-то установить, но скоро их не станет, поэтому хочу сейчас поставить что нужно. Можете дать список того, что мне нужно скачать, всякие мастхэв проги и что там еще может понадобиться?
132 2874317
>>873755
сам питон, какую-нибудь IDE и несколько нужных фреймворков. Библиотек разных можешь установить на будущее, типа тех что с таблицами excel работают и т.д.
133 2874502
>>872478
Ты их Практикум имеешь ввиду?
Какой курс взял?
134 2875055
>>873755
docker и qemu-kvm
их ты без админских прав не установишь, тогда как какой-нибудь питон можно локально

а имея докер или виртуальки, ты потом в них сможешь много чего ставить
135 2875061
>>872686
нет, нельзя. Сам подумай, как ты импортировать их будешь после этого?
136 2875144
>>875061
Установить их с разными алиасами хотя бы,my_package и my_package2, меня бы такой вариант устроил.
sage 137 2875252
Аноны, помогите с функциями. Никак не могу въехать.
Вот есть такая функция:
def test(a, b):
return a+b;

При этом, я хочу вводить a и b с клавиатуры/
Как мне это делать?
sage 138 2875345
>>875252
def f():
a = int(input())
b = int(input())
return a + b
1111.png555 Кб, 1190x800
139 2875444
Может кто объяснить чё это за хуйня?
140 2875524
>>875444
А с чего ты так уверен что твой venv это то же самое окружение что тебе иде показывает собственно?
1111.png48 Кб, 465x772
141 2875529
>>875524
Как-то не ожидал что в пайчарме может быть иначе, он же проект создал уже с окружением и по идее открывает его в нём. К тому же, всё остальное работает. Вообще всё, кроме этой библиотеки.

На всякий случай проверил из этого окружения, библиотека есть.
142 2875567
>>875444
что за тема?
143 2875637
>>875529
Сделай обычный импорт или переименуй функцию не по имени модуля.
144 2875639
>>875444
Ошибка в 5й и 22й строке, за такое ногами пиздить.
145 2875695
>>875639
22-я строка: Это буквально код из документации, да и я пробовал переименовывать, не помогало.

5-я строка: вот я и пытаюсь понять что тут неправильно. Попробую импортировать целиком по совету анона выше
146 2876799
inp = 'ооо " возрож" ? ! ^ \' '

inp = inp.upper()
is_done = True
inp3 = "gavno"

while not is_done:
is_done = True
inp1 = inp.strip(" \'\",.;:%!?$#@[]{}\\'")
if inp1 != inp:
is_done = False
continue

inp2 = inp1.lstrip("ООО").strip(" \'\",.;:%!?
$#@[]{}\\'")
if inp2 != inp1:
is_done = False
continue

inp3 = inp2.lstrip("ИП").strip(" \'\",.;:%!?$#@[]{}\\'")
if inp3 != inp2:
is_done = False
continue

st = f"select
from fnsclients where sname like '%{inp3}%';"
print (st)
147 2876800
Почему в st - "" вместо "ВОЗРОЖ" ???
148 2876834
>>876799
Твой цыкл не выконваецца ніводнага разу, бо is_done = True.
149 2876860
>>876834
если ставить False - то бесконечный цикл.
150 2876899
Скажите, реально ли петухон перегрет вкатунами? Хочу нахуй дропнуть веб, в который вкатился просто напиздев и учил его "по пути". Просто заебала эта маркетолухная хуйня "продажи, клиенты" и другие термины, которые меня окружали. Хочется писать что-то реально интересное, математическое, полезное. Плюсом, хотел бы на досуге пилить игрульки в godot. На вкат похуй, у меня в институте есть спец. курсы для бюджетников, бесплатные, где отправляют на практику в компании которые буквально от меня в соседнем доме. Впереди у меня будет целый год на "подготовиться". Стоит ли игра свеч, какие перспективы имеются, и что можно делать на питухоне в принципе, кроме тех самых зафоршенных "нейросети, бигдата". Смогу ли я делать оконные приложухи на пекарню и сложные логики? Поддерживает ли он взаимодействие с системой, на уровне, например, получения данных с датчиков ПК и т.д. заранее спасибо за ответы
151 2876906
>>876899
Бтв на деньги поначалу похуй, батек даёт 20к в месяц, тян РАБотает учителем, я сейчас кроме как в ВОВ на пиратках пердеть нихуя не делаю. Забугор наверное нахуй нужен, у себя и так нормально, за роскошью не гонюсь. Скорее для меня айти это "думать", а не "зарабатывать". Хотя вот сегодня заработал целых 150 рублей, сделав ебланам одногруппникам лабу на бейсике
152 2876990
>>876899

>Скажите, реально ли петухон перегрет вкатунами?


Да, он у всех на слуху.

>Хочется писать что-то реально интересное, математическое, полезное


Прости, а с какого хера ты обсираешь веб? Ты так рассуждаешь как будто ты уже 15 лет в вебе, сотню проектов уже запилил. Веб вполне себе интересен и полезен. У тебя пока ещё нет компетенции, чтобы так категорично рассуждать.

>Смогу ли я делать оконные приложухи на пекарню и сложные логики?


А какой в этом смысл... ну это тупо пиздец - писать десктоп приложения со сложной на питоне. Шоп они тормозили и лагали. Писать конечно можно НО ЗАЧЕМ!?
153 2877031
>>876990
Не хочу я веб, это не мое, и точка. Насчёт десктопа я просто спросил. Я какой язык будет норм для вкатунишки, согласно моим запросам
154 2877033
>>876990
А что если go, или какой-нибудь еще
155 2877040
Скажите, реально ли петухон перегрет вкатунами? Хочу нахуй дропнуть веб, в который вкатился просто напиздев и учил его "по пути". Просто заебала эта маркетолухная хуйня "продажи, клиенты" и другие термины, которые меня окружали. Хочется писать что-то реально интересное, математическое, полезное. Плюсом, хотел бы на досуге пилить игрульки в godot. На вкат похуй, у меня в институте есть спец. курсы для бюджетников, бесплатные, где отправляют на практику в компании которые буквально от меня в соседнем доме. Впереди у меня будет целый год на "подготовиться". Стоит ли игра свеч, какие перспективы имеются, и что можно делать на питухоне в принципе, кроме тех самых зафоршенных "нейросети, бигдата". Смогу ли я делать оконные приложухи на пекарню и сложные логики? Поддерживает ли он взаимодействие с системой, на уровне, например, получения данных с датчиков ПК и т.д. заранее спасибо за ответы
Бтв на деньги поначалу похуй, батек даёт 20к в месяц, тян РАБотает учителем, я сейчас кроме как в ВОВ на пиратках пердеть нихуя не делаю. Забугор наверное нахуй нужен, у себя и так нормально, за роскошью не гонюсь. Скорее для меня айти это "думать", а не "зарабатывать". Хотя вот сегодня заработал целых 150 рублей, сделав ебланам одногруппникам лабу на бейсике.
На слуху есть ещё C#, GO и Kotlin(но не уверен насчёт мобилок). Прошу помочь с выбором стула. Заранее благодарю
156 2877042
>>877040
Сори, хотел в нюфаня-тред отправить
157 2877168
>>877031

>Не хочу я веб, это не мое, и точка


Ну не твоё и не твоё. Только не говори, что веб не интересен или нет полезных проектов.

>какой язык будет норм для вкатунишки, согласно моим запросам


А причём здесь язык? Любой КОМПИЛИРУЕМЫЙ язык норм. Главное не язык, а мастерство владения им. Что толку тебе давать какой-нибудь С++, если ты будешь использовать его на 5% возможностей.

Язык - это индивидуальный инструмент, со своей собственной философией. Это как выбирать музыкальный инструмент, ты же не спросишь - посоветуйте на чём мне играть, на фортепиано, на скрипке или на барабанах? Кто-то любит ООП, он берёт java. Кто-то любит функциональщину, он берёт elixir. А кто-то любит более специализированный научный язык, он возьмёт r.

Выбирать надо по своему вкусу, может тебе сейчас посоветуют баян, а ты всегда мечтал быть джазовым саксофонистом.
158 2877194
>>877040
да. вьёб парашка ещё та. говно реальное рвотное.
159 2877215
>>877168
Ну так вопрос, что более актуальное под мои вопросы, вопрос даже, наверное, не про сложность вката, а про вакухи
160 2877564
>>877215

>не про сложность вката, а про вакухи


Во всех популярных языках вакансий хватает. Если ты освоил язык и не можешь найти вакансию - проблема в тебе. Либо ты неправильно ищешь, либо не хватает скиллов. Вообще, выбирать язык исходя из рынка труда - тупая идея. Рынок консервативен по натуре. Рынок любит проверенные мейнстримные решения, если условный mysql использовали 20 лет назад, его так и будут использовать ещё 20 лет. Если php использовали 30 лет назад, его и будут использовать ещё 30 лет пока не здохнет. Рынку нет смысла рыпаться в новомодные rust, golang или kotlin. Количество вакансий - это признак мейнстримности, не более того.
161 2877788
>>877564

> >не про сложность вката, а про вакухи



Ну так, что же будет более релевантным под мои мысли? С#?
162 2877797
>>877788
Хотя впизду сишку, она только под Винду...
163 2878159
>>877797
.core уже давно кроссплатформенный так-то.
164 2878175
киньте ссыль на курсы с ютуба
с самого начала
или ссыль на слитый видеокурс
sage 165 2878196
>>878175
Кинул тебе за щеку.
166 2878201
>>878196
хуя озлобленный
167 2878311
>>857014
Не позорь господ с репозиториями, долбоеб. Репозиторий может быть решающим фактором, а может человек всю жизнь коммерческий код писал.

// Мимо-8к-старов на своих проектах
168 2878484
>>878311
На пыхе пишешь, уëбок? Это даже не ЯП.
169 2878602
>>878484
На сях и питоне.
170 2879140
Мне надо написать скрипт, который будет пылесосить открытое апи с пагинацией. Вопрос: как лучше собирать данные в процессе? В результате мне надо выплюнуть датафрейм, и пока я хочу просто каждый ответ-страничку трансформировать в датафрейм и в конце схлопнуть все в один конкатенацией. Оптимально ли это, или принято подобные вещи иначе организовывать?
171 2879755
>>879140
Датафрейм это что и откуда?
173 2880136
>>879140
Ты можешь обойтись без ДФ или ты учоный (в питоне мочёный)? Штука отличная, но тормозная. Возьми какую-нибудь другую структуру данных. Даже просто в таблицу SQL их записывай — быстрее будет. Питон и так скоростью не отличается.

Прочитал — записал. Прочитал ещё — дописал дальше в базу... И никаких конкатенаций не нужно.
174 2880276
А где тред по нейроночкам и машобу? Раньше регулярно на нулевой он был.
175 2880288
>>880276
В отдельную доску выделили уже полгода как.
176 2880404
>>879140
так у тебя скрипт еще не раз упадет с ошибкой или тебя забанят.
лучше сразу каждую новую страницу на диск в CSV пиши.
Ну а ДАТАФРЕЙМ загрузить потом уже дело техническое
177 2880519
Есть класс, который наследует много других классов.
У этого класса есть метод, объявленный в каком-то из родителей.

Можно ли узнать, какой именно родительский класс объявил этот метод? Без заглядывания в код.
Что-то вроде:

class Class2:
def method: ...

Class(Class2): ....

c = Class()
c.method.implemented_by ## Class2
178 2880795
>>880519
Через __mro__
c = Class()
for parent in c.__class__.__mro__:
--if hasattr(parent, 'methodname'):
----print(parent.__name__)
----break
image.png13 Кб, 737x138
179 2880997
Тк я в любом случае пройдусь по всем элементам, то список мне не нужон.
А чо лучше map или () и в чем ваще разница в моем случае?
180 2881073
>>880997
Очевидно разница в том, что map - это ленивый итератор, а первая конструкция - генератор. И выбор между ними зависит от дальнейшего применения, если serialize это встроенный метод внутри каждого из элемента, то вызывать этот метод через лямбду и применять к каждому элементу - это как дотянуться до уха левой ногой через затылок. Можно, но зачем?
Untitled1ghfgtd.png1,3 Мб, 1254x1122
181 2881318
А есть сайты с проектами pyqt? Нихера нагуглить не могу. Всё какие-то обучалки как добавить говнокрутилки. А нужно натянуть дизайн например вебстраницы, а был бы нормальный пример его бы и можно было ковырять.
182 2881325
Чета в шапке слишком дохуя всего, глаза разбегаются. Можете посоветовать что-нибудь чуть более, чем ньюфажеское по питуну, особенно чтоб ООП было хорошо раскрыто? Базовые концепции знаю, пишу автотесты на питуне, поэтому совсем-совсем основы не надо.
183 2881346
>>881325
Чатжпт посоветовал fluent python. По оглавлению прям то, что я искал. Что можете насчет этой книги сказать?
184 2881353
>>881318
Няма, бо PyQT - гэта бібліятэка для стварэння графічнага інтерфейсу для desktop, а не web.
185 2881603
>>881346
В качестве первой книги сложновато может быть
186 2881660
>>881073
Cори, отписал и забыл.
Я вообще где-то слышал звон - не знаю, где он, что эти анонимные функции вообще лучше не использовать.

Но в целом, у меня обе операции возвращают примерно одно и то же.
И поулчается единственная разница именно в лямбде и ты только из-за нее написал про ухо и ногу? или есть еще в чем-то разница?
187 2881702
>>880136
>>880404
Спасибо за ответы, аноны, по-быстрому получилось решение набросать с датафреймами, все работает, но там и объемы данных маленькие - 10к строк. ДФ мне нужен, чтобы данные причесать и потом крутить в анализе, но вообще подкупило то, что тогда не надо хотя бы париться с парсером для джейсонов, а сразу сахарочком чистишь разглаженную табличку. Для саморазвития попробую реализовать запись ответов сервера в csv по мере поступления, чтобы не держать их в оперативке, и просто к этому напишу трансформер, который csv загрузит в датафрейм и после будет обрабатывать.
188 2881912
Аноны, а можно ли в пистоне внутри sg.Frame (PySimpleGUI) вложить 2 колонки sg.Column ??
Хочу чтобы обрамление Frame было, а внутри информация в 2 колонки (поля и текст разный)
189 2881956
>>881912
разобрался
190 2882084
Ребят, а идея освоить питон через платные курсы совсем плохая? Просто времени особо нету дома заниматься, а если заплачу то буду на работе в свободное время учить, особенно когда оплачено, или вся эта херня типо скиллбокса лажа?
191 2882089
>>882084
На степике пройди курсы по питону от института биоинформатики, все остальное сможешь уже сам доучить
192 2882214
>>882084

>идея освоить питон через платные курсы совсем плохая?


>эта херня типо скиллбокса лажа?


У меня две основных претензии к скиллбоксу. Первая это запредельная цена. Второе это то что они обещают золотые горы. Объясню подробнее. Вся задача курсов - это просто качественно учить, их не должно ебать твоё трудоустройство. Это всё равно что стенфорд или гарвард скажет - либо вы трудоустраиватесь, либо мы вам возвращаем деньги за пять лет учёбы. Время работы по распределению уже прошло. Сейчас уже не СССР. Они вообще не должны ссылаться на то, сколько получает программист. Правда в том, что на "джуниор" вакансию невозможно устроиться. Там конкуренция в районе 500-1000 человек на одно место. У тебя больше шансов попасть на пост директора газпрома чем пробиться на "джуниор питониста". Ну и цена курса в районе 150 тыщ? Или сколько там, не помню. Даже американские курсы в 3 раза дешевле, а по содержанию в 3 раза лучше. Ценность сертификата скиллбоксовского примерно нулевая.

TL;DR короче говоря, если бы скиллбокс стоил в районе 15к, не обещал трудоустройство, не обещал вернуть деньги, не ебал мозги акциями (рассрочки, скидки, прочая хуйня), и давал выборочно учиться - например мне хочется только RabbitMQ изучить. Пожалуйста. Тогда это были бы хорошие годные курсы.
193 2882228
>>853616 (OP)
установил питон
пытюась в матплотлиб, посылает нахуй
перерыл весь интернет выдрал все волосы на жопе
спасити
-

>>> import matplotlib.pyplot as plt



Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python\Lib\site-packages\matplotlib\__init__.py", line 272, in <module>
_check_versions()
File "C:\Python\Lib\site-packages\matplotlib\__init__.py", line 266, in _check_versions
module = importlib.import_module(modname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Lib\importlib\__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Lib\site-packages\kiwisolver\__init__.py", line 8, in <module>
from ._cext import (
ImportError: DLL load failed while importing _cext: Не найден указанный модуль.
194 2882284
>>882228
Microsoft Visual C++ Redistributable есть?
195 2882315
>>882228
надо было ставить конду. твой матплотлиб уже в комплекте.
вы хуево понимаете что пипка это петонячий пакетный менеджер он не может разруливать зависимости вне питухона, а конда могет
196 2882327
>>882315
нах вообще ставить че-та? вкатунировать можно в гугл колабе
197 2882334
>>882284
припадаю к твоим стопам и целую пыль с твоих ботинок!
Два дня ебался((
установил Microsoft Visual C++ Redistributable и заработало!
198 2883119
>>882334
Чел... Пиздуй изучать 1с или пыху
199 2883686
>>853616 (OP)
Почему не удается импортировать тензорфлоу? Я его же инсталлировал в конфиге никсов и pip list показывает, что нужные пакеты установлены.
200 2883724
>>883686
Глюк vscode. Нейросетка заработала
201 2884310
Как указать tkinter в зависимостях в setup.py?

Проблема в том, что tkinter может быть не установлен вместе с интерпретатором, при этом этого стандартного модуля нет в PyPI.

Как прописать tkinter в install_requires?
202 2884847
>>853616 (OP)
Почему pytest тесты вместо 20 секунд вдруг начали исполняться 6 минут? Шо за нах? Как проверить/задебажить что их вдруг так стало тормозить?
image.png12 Кб, 484x231
203 2885144
Написал небольшой скрипт который конвертирует из папки все файлы фотошепа в png. Но по какой-то причине на некоторых файлах вылазит ошибка
PIL.UnidentifiedImageError: cannot identify image file '1.psd'
Это не связано с количеством слоев или незнакомыми шрифтами. точно. В инете создается впечатление что проблема распостраненая и решают ее методом тыка. Но может здесь кто шарит
204 2886035
>>883724
Это не глюк вс код, это один дебил интерпретатор после установки вэнв не сменил.
205 2886983
Поправьте идею аплоада видео >1гб и отдачу их на клиент

Хранить кучу файлов на сервере и отдавать их постоянно хуевая идея в продакшене, пока решил использовать S3.

Админ через админку аплоадит большой файл, я овверайднул форму сохранения, и перенаправляю аплоад на Амазон через Celery задачу, чтоб не грузить основной поток. После аплоада сохраняю url в БД и отдаю его на клиент при GET запросе.

Я так понимаю пока файл все равно будет сначала грузиться на сервер/оперативку, а потом уже летать в облако? Есть ли какие-то другие варианты?
206 2887014
Тут в торче кто разбирается? Есть сетка и дискриминатор. Оба по отдельности тренируются генератор на l1 тренируется без проблем, дискриминатор на данных генератора тоже тренируется. Но вот когда данные из генератора пропускаю через дискриминатор, веса генератора напрочь отказываются обновляться после step оптимизатора. На backward торч ничего не пишет, типа всё норм. Проверял на разрывы графа, но нихуя не нашёл, detach и копирования нет нигде, requires_grad везде на параметрах стоит, grad_fn у всех есть. Что за блядство и как мне понять где проблема? Тут два варианта - либо граф разорван где-то, либо по какой-то неведомой причине градиенты слишком мелки, но я на высоком lr тоже проверял, он должен на первом же обновлении NaN словить. Но как понять что не так не понимаю.
207 2887145
Блядь после фастапи Джанго такой дрисней кажется, конечно. Скажите, это я отупел, пока работал с фастапи, или Джанго реально перегруженная?
208 2887432
>>886983
Да никто так не делает. Тут ничё даже выдумывать не надо, есть готовые руководства по реализации https://aws.amazon.com/ru/solutions/implementations/video-on-demand-on-aws/ Видеофайлы надо перекодировать обязательно. Неперекодированные файлы - это гарантия переплаты за диск, тормоза на фронтэнде и т.д. Тем более никто ведерко напрямую не открывает. Надо ведерко подключать напрямую к cdn, чтобы кешировало. Тем более раздавать видеофайлы с s3-ведёрка как правило дороже. Celery - это уже велосипедостроение. Там уже есть готовые eventbridge/sqs/sns. Можно взять любой из них и запилить. По ценам - один доллар за миллион событий ёпт. Хватит с головой на всю жизнь.
209 2887564
>>887432
О, благодарю. Даже не думал что все так продумано уже. Лет 7 назад помню на сервере через ffmpeg нарезали видео на разные качества, в итоге один аплоад пару часов занимал, а щас уже все намного проще.
210 2888970
>>887014
Короче ссал на вас, веб-макаки, сам разобрался. Оказывается компания-пидор Hugging Face в очередной раз сделала кусок говнокода в accelerate - пока не передашь ей вообще все модели для подготовки эта пидорасина будет молча рвать граф, причина - потому что пошёл нахуй. Даже если вообще левую модель вызовешь между forward и backward - всему пизда.
211 2889648
>>877040

>Скажите, реально ли петухон перегрет вкатунами


Не перегрет. Ты же ведь его учишь для для того чтобы вкатиться в датасатаниста/нейросеточника? У тебя есть высшее математическое, англ не ниже B2 и реальные шансы на оффер за кордон? В противном случае не понятно зачем тебе тогда вообще питон. Разве что для общего развития.
212 2889932
>>889648

>У тебя есть высшее математическое, англ не ниже B2 и реальные шансы на оффер за кордон?


Без опыта он за кардоном нахуй не нужен а для кручения нейронками достаточно инженерного курса матстата
213 2890813
посоны, объясните для дебилов, вот мне срали все в уши что venv зоебись, частота ебать поцоны все так делают, я думал что проще скопировать питон нужной версии в проект и установить только ему нужные зависимости, и вот я уже такой блять создают проект через venv, активирую его, ставлю нужные библиотеки, а чё теперьто блять? как его запустить дбез ебания в сосноль с активацией среды и только последующим запуском нужного файла?

я пытаюсь сделать батник в папке проекта и пишу в него
.\Scripts\activate
python run.py
pause

и что блять я получаю? запускается виртуальная среда и всё, консоль закрывается, до python run.py даже не доходит, а до pause тем более, что за говно, как блять запускать проекты созданные в виртуальной среде? постоянно как долбаёб открывать консоль, активировать среду и запсукать нужный файл? чё за говно ебаное?
214 2890940
>>890813
Программирование не для тебя, забей.

А по-серьезному, активируй 1 раз и запускай свои скрипты сколько хочешь. Или IDE юзай, они сами терминал открывают сразу в venv-e, если видят его в корне проекта.
image.png20 Кб, 1066x181
215 2890959
Сап, питоняч.
Учу Django, в частности Django REST Framework.
Кто-нибудь работал с авторизацией по токенам?
Создал эндпойнт для логина, используя dj-rest-auth, который при успешном входе сохраняет в БД токен для некоторого юзера (как на пике).
Вопрос: как реализовать аутентификацию по токенам? Нужно создавать свой энпойнт, например: api/auth-by-token/, посылать на этот эндпойнт сохраненный у клиента в local storage токен, создавать свой view, который будет связан с этим энпойнтом и уже во view проверять, есть ли такой токен и если есть, то аутентифицировать?
В доке джанги ничего не написано.
216 2890997
>>882084

>идея освоить питон через платные курсы совсем плохая?


По-моему отличная идея, но все зависит от твоей ситуации. Если есть деньги и мало времени - курсы твой выбор.
Сам я буквально на прошлой неделе закончил курс пайтон-разработчик (бэкенд) на Практикуме. По поводу качества знаний - я был приятно удивлен, дают много полезного. Но дальше все зависит только от тебя. Ты можешь ебашить каждый день, изучать предоставленный материал, посещать еженедельные трансляции наставников, задавать вопросы и т.д. и на выходе с курса получишь сильную базу. Либо ты ебланишь, делаешь по минимуму, а код для контрольных проектов пиздишь с гитхаба (тут может не повезти и тебя спалят на плагиат, тогда либо сам переписываешь, либо отчисление) - на выходе получишь примерно нихуя.
Ничего не имею против самообучения (самообучением придется заниматься даже на курсе), но надо понимать - самообучение требует умения в самоорганизацию, дисциплину. Гораздо выше шанс обосраться и не дойти до конца.
На курсе же - за тебя составили программу люди, знающие рынок, остается только прилагать усилия, для усвоения этих знаний (что тоже бывает непросто). Но за это надо зоплотить.
217 2891065
>>890940

>Программирование не для тебя, забей


ты прикалываешься? я должен потому что ты не знаешь как, бросить задумку и ничего не делать?

я не хочу каждый раз запускать кучу консолей и в каждой вручную активировать среду для запуска ебанного скрипта на питоне когда мне нужно запустить одновременно много разных проектов, я уже нашёл решение, нужно было прописать в начале активации call чтобы эта параша не перехватывала консоль, а ты просто сам этого не знал, так и скажи
2023-10-2321-27-00.png217 Кб, 525x362
218 2891505
Есть задача надо наложить текст на видео. С помощью CV2 делается на изи, но там обычный текст можно только наложить, без спец.эффектов, а для спецэффектов по типу пикрила нужен moviepy, но не могу найти готовых примеров, чтобы прям вот так же со спецэффектами выводилось. Типа слова сначала появляются маленькие, потом большие и зеленые, потом становятся как все остальные.
Мож на гитхабе есть уже че готовое, не знаете?
219 2891595
М-м. В классе есть функция, я хочу передавать её как аргумент по-умолчанию в другую функцию в этом же классе, а питон ругается на меня. Как сделать. Примерный код:
class Huy:
....def f1(self):
........print('f1')
....def f2(self, arg=self.f1):
........arg()
if __name__ == '__main__':
....huy = Huy()
....huy.f2()

> NameError: name 'self' is not defined


В других вариантах ловил другие ошибки. Как это сделать правильно?
220 2891598
>>891065

>когда мне нужно запустить одновременно много разных проектов


Когда тебе нужно много проектов, ты их запускаешь в кубере, а не ебёшься с этим всем.
221 2891695
>>891595
пиздец. чо за хуйню ты делаешь.
223 2891726
>>891698
Неожиданно, спасибо. Пробовал похожее, но не понял, как побороть

> missing 1 required positional argument: 'self'


но когда увидел код - стало очевидно, почему именно так.
>>891695
В данном случае - функцию для консолидации данных, ей, иногда (в зависимости от места вызова и аргументов), нужны разные чекеры, которые она применяет для анализа входных данных разными способами, при этом алгоритм получения данных одинаковый, так что я вместо того чтобы писать 100500 одинаковых функций с разными проверками написал одну, которая умеет в разные чекеры (включая дефолтный). Очень приятный для поддержки способ, но с классами я как-то споткнулся.
224 2892007
>>890959
Ладно, сам разобрался. Вот я долбоеб, все очевидно же было.
225 2892208
>>891598

>запускаешь в кубере, а не ебёшься с этим всем


ты чё там пукнул? я тебе щас ебучку-то начищу
226 2892264
сап, тыкаю палкой в fastapi и появилось желание сделать анонимного пользователя аля как на 2ch. Подскажите, как это провернуть
image.png1,5 Мб, 1920x1080
227 2892283
>>892264

>сделать анонимного пользователя


Пик

>как на 2ch


Интернет полон примерами гостевых книг на любом фреймворке. Первая строка в Яндексе по запросу "python fastapi +guestbook example":
https://github.com/okteto/guestbook-api
Впрочем, конкретно у фастапи есть нюанс: он собственно хорош для апи, а фронт тебе придётся делать отдельно, например, на кьюте, ткинтере, фласке или джанге.
228 2892290
>>892283
да я без фронта чисто апишку учусь делать.
Про гостевые книги спс, до этого даже не слышал об этом термине
229 2892465
>>892290

> до этого даже не слышал об этом термине


Вау. Новое поколение в интернетах. Прикольно. А ведь раньше, когда эти ваши соцсети были в зачаточном состоянии на каждом сайте, чему бы он ни был посвящён, была гостевуха, где можно было высказаться о предмете, почитать чужое мнение и иногда (в зависимости от оживлённости) даже пообщаться, безо всякой регистрации. Золотое было времечко, я вам скажу. Людей в интернетах было меньше, поэтому общение было камернее и ламповее, а разделение на сайты гарантировало общность интересов в рамках конкретного интернет-ресурса.
230 2892468
>>892465 >>892290
И да, в плане реализации гостевухи от АИБ почти неотличимы.
231 2892516
>>892468
а как хранится инфа о постах, если юзер "анонимный"?
232 2892573
>>892516
Точно так же, как на форумах просто вместо ссылки на запись пользователя - хранится логин плейнтекстом.
Например, как тут:
class Entry(Model):
....name: str
....entry: str
....date: Optional[datetime.date] = datetime.date
233 2892576
image.png30 Кб, 887x191
234 2892637
Чому pylint думает, что succ это константа, когда это явная переменная?
235 2892640
>>892637
Бо ты вызначаеш яе на ўзроўні модуля. Мусе быць у клясы.
236 2892641
>>892640
А на человеческом языке?
237 2892643
>>892641
А балалайкай па срацы?
238 2892656
>>892573
премного благодарен, сэр
239 2892671
>>892641
Это старый гонорейный пидор с пролапсом, охотящийся за грязными сраками молодых упругих питонистов ИТТ не первый год. Будь осторожен.
240 2893183
>>892640

>Бо ты вызначаеш яе на ўзроўні модуля.


Дебс, как ты думаешь, откуда у него один уровень индентации на скрине взялся?

>Мусе быць у клясы.


шарпогоспода/джавагосподин, спок
241 2893727
>>893183

>откуда у него один уровень индентации на скрине взялся?


Мб там на уровне модуля цикл или условие
242 2893855
>>853616 (OP)
The conflict is caused by:
torchvision 0.15.1 depends on numpy
accelerate 0.20.3 depends on numpy>=1.17
transformers 4.28.1 depends on numpy>=1.17
diffusers 0.17.1 depends on numpy
silero-api-server 0.2.9 depends on numpy
chromadb 0.4.10 depends on numpy>=1.22.5; python_version >= "3.8"
sentence-transformers 2.2.2 depends on numpy
openai-whisper 20230314 depends on numpy
tts 0.15.6 depends on numpy==1.22.0; python_version <= "3.10"

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
Что делать-то?
243 2893895
>>893855
Я бачу несумяшчальнасць тут

>chromadb 0.4.10 depends on numpy>=1.22.5


>tts 0.15.6 depends on numpy==1.22.0



Паспрабуй новую версію tts
pip install TTS==0.16.6
калі не дапаможа, то старэйшыя версіі chromadb, каб працавала з numpy==1.22.0.
245 2893991
>>893895
Спасбо. Я короче решил вообще TTS не ставить, мне только модуль chromadb нужен был.
image.png5 Кб, 270x120
246 2894092
>>890813

>как его запустить дбез ебания в сосноль с активацией среды и только последующим запуском нужного файла?


просто указываешь полный путь к интерпретатору внутри venv
например
/opt/virtualenvs/black_jack_venv/bin/python entrypoint.py
247 2894095
>>890813
второй вариант, это вручную присвоить несколько переменных окружения, на память не помню какие, для себя использую только первый >>894092 , и по-моему все им пользуются, когда без активации среды
248 2894344
>>893183

>Дебс, как ты думаешь, откуда у него один уровень индентации на скрине взялся?


>>893727

>Мб там на уровне модуля цикл или условие


Йеп. Там штаное:

> if __name__ == "__main__":


Если ты об этом.
В общем, неинтересно разбираться, вставил на строку:

> # pylint: disable=invalid-name


Я знаю, что это переменная, а то, что линтер не понимает, что она изменяет значения не значит, что нужно править нейминг.
249 2895059
Посоны, вы как пишете код, так:
list_of_anons = []
Или так:
ListOfAnons = []
?

Я смотрю, принято писать как в первом варианте, но мне кажется второй как-то более строгий чтоль и красивый. Да и раньше я писал на языке, где так принято, никак переучиться не могу, да и хуй знает стоит ли.
250 2895102
>>895059

>но мне кажется второй как-то более строгий чтоль и красивый


Деформация от первого языка, пройдет потом
251 2895425
Можно ли использовать asyncio.gather внутри задач другого asyncio.gather? Точнее, не создаст ли это боттлнеков дополнительных? Нужно сделать ~15 тысяч запросов, и по каждому ответу сделать еще 0-2 запроса, соблюдая структуру данных — не получится это все выпрямить в ~30 тысяч запросов на одном уровне.
252 2895535
>>895059

>Посоны, вы как пишете код,


В кодописании есть такая вещи как code style guide. Он регулирует как выглядит код, это важно, чтобы код всего проекта был единообразен, вне зависимости от того, кто является автором каждого конкретного куска,это упрощает код-ревью и тому подобные вещи.
Обычно это внутренняя тема, но для Питона есть специальный общий документ, называется pep8. И он определяет, что:

> Имена функций должны состоять из маленьких букв, а слова разделяться символами подчеркивания — это необходимо, чтобы увеличить читабельность.


> Стиль mixedCase допускается в тех местах, где уже преобладает такой стиль, для сохранения обратной совместимости.


> Имена глобальных переменных


> Будем надеяться, что глобальные переменные используются только внутри одного модуля. Руководствуйтесь теми же соглашениями, что и для имен функций.


> Имена методов и переменных экземпляров классов


> Используйте тот же стиль, что и для имен функций: имена должны состоять из маленьких букв, а слова разделяться символами подчеркивания.



https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html

Наличие такого документа и следование ему продиктовано дзеном, идеологией питона в целом. В частности этим заповедям:

> Readability counts.


> Special cases aren't special enough to break the rules.


> There should be one-- and preferably only one --obvious way to do it.



>>895425
Это читал?
https://stackoverflow.com/questions/69736380/using-nested-asyncio-gather-inside-another-asyncio-gather
253 2895605
Аноны, надо проверять, есть ли в конкретной директории Винды на ntfs диске некоторые файлы с определенными именами.
Как лучше всего это делать в питоне?
1) Индивидуально проверять каждый путь на существование в os по мере необходимости?
2) Один раз взять listdir и уже с ним дальше работать?
Кто в подкапоте os знает? Второй вариант это ОДИН запрос к файловой системе через апи или там под капотом к каждому файлу запросы выполняются?
254 2895770
>>895059
Стандартами питона принят стиль с подчёркиваниями. Спорное решение, мне в целом тоже кажется, что camelCase разумнее и стройнее, и современнее как-то.

Привыкнуть к любому можно. Иногда даже внутри питона используется camelCase, например в модуле logging и unittest. Но при этом в большинстве случаев всё-таки подчёркивания.

А дальше возникает ситуация смешения стилей. Скажем ты использует что-то из библиотеке, в том числе базовые классы, откоторых ты наследуешься, где методы используют подчёркивания. А сам ты делаешь camelCase. Как всё это совмещать?

Ну и ещё на проектах, где ты будешь работать, уже скорее всего какие-то практики сложены и скорее всего они по пеп-рекомендациям.
255 2895894
>>895770

>мне в целом тоже кажется, что camelCase разумнее и стройнее, и современнее как-то.


Можешь рассказать каким образом это разумнее и современнее чем подчеркивания?
256 2896065
>>895605
Хутчэй за ўсіх працуе os.scandir().
257 2896204
Изучила С++ слишком примитивный, низкоуровневый, буду учить питон.
258 2896255
>>895059
Мой стайл гайд это
some_variable
SOME_CONSTANT
someFunction
SomeClass
Делаю так везде, где это уместно, этого же принципа по возможности придерживаюсь в других языках.
259 2896280
>>896204

>-чила


жирно, уходи отсюда
260 2896294
/ga
261 2896354
>>853616 (OP)
Ох, парни, поел только что говна когда попытался добавить gunicorn к нашему проекту на uvicorn и fastapi

В общем, все знают что fastapi асинхронный и не поддерживает gunicorn по дефолту, вместо этого его запускают через асинхронный uvicorn. Но тем не менее во многих случаях на продакшене запускается gunicorn по своей привичной prefork-модели и ВНУТРИ него уже запускается uvicorn, в котором крутится fastapi-приложение - чтобы увеличить rps приложухи

Я все сконфигурировал, но начал хавать гавно как только увеличил число воркеров gunicorn больше 1. А все потому что на инициализации приложения fatstapi у нас выполняются некие скуль-команды - создание определенных триггеров и функций постгрес. Серит в логи: <class 'asyncpg.exceptions.InternalServerError'>: tuple concurrently updated

Ну бля, думается надо поставить какой-то лок на эту операцию, но ему пох, что asyncio.Lock что multiprocessing.Lock эффекта не дает. Может как-то подавить эту операцию в других инстансах гуникорна? Че делать-то? Как подобную проблему обычно решают?
262 2896415
Чего такого написать чтоб проект денежки делал?
263 2896452
>>896415
Плагин для вордперсса, инди-игру, мобильную игру-дрочильню, какое-нибудь применение generative AI типа генератор фоток для СЗ...
264 2898106
Анонче, а какие живые и бесплатные ide остались где можно отладить старинный скрипт для python 2.7 ?

VSCode больше не хочет. Других я просто не знаю
265 2898297
>>853616 (OP)
Привет питонистам! Как подучить Django за полдня? Для собеса. Есть может ссылочка у кого на свой любимый читшит-читбук какой-нибудь с основами и бестпрактисами?
266 2898479
Основательно взялся за изучение питона, прошёл курсы на степике (для начинающих и продвинутых от beegeeks, в процессе курс для профессионалов) и могу сказать что там задачки легко шли.... Но у меня уже руки чесались написать своё и я решил сейчас уже взяться.....
Кароче мне очень нужна прога которая парсит сайт rule34,xxx и скачивает с него медиафайлы. Сначала я написал рабочую прогу которая в текстовый файл закидывает ссылки на все нужные мне посты со всех страниц. Потом уже мне нужно было написать вторую прогу которая работает так: переходит по ссылке из текстового файла, и скачивает медиафайл со страницы (каждая ссылка ведёт на пост содержащий либо одну хентайную картинку либо одну анимацию аналогичного характера). И тут я застрял. По итогу программа тупо скачивает разные пнгшки боковых панелей сайта, эмблему-заголовок сайта, и ещё какую-то хуету вместо того чтобы скачать самое главное — картинку/видос, основной контент-то. Подскажите что можно написать чтобы нормально всё работало и скачивалось?
Я использовал bs4, requests, selenium. Может другие какие импорты нужны? Буду сильно благодарен за помощь, очень уж хочется выкачивать весь медок в автоматическом режиме
267 2898489
>>898479
А, про обучение это я к тому что вроде бы полезные достаточно трудные задачки в курсах этих дают, и я справляюсь с ними, но для решения реальной проблемы, написание кода для собственных бытовых нужд умение решать околоматематические задачки на ЯП ну вообще никакого плюса не даёт
268 2898597
>>896354
Очень просто - вынеси данную операцию за логику приложения.
Я перед стартом имеджа с приложением запускаю пре-старт-скрипт, который выполняет опеределенные действия и затем уже стартует приложение.
269 2898616
>>855547

>У сеньеров/мидлов с опытом нет обоссаных пет-прожектов


Ты не прав. Как раз у ждунов зачастую нет пет-проектов.
Пет-проект != код списанный с примера или написанный по аналогии.
Пет-проект очень легко отличить от хуйни и тупого наполнения профиля "репозиториями", любой мидол\сеньер-помидор это легко сделает.
Я работаю бэкэндером, постоянно занимаюсь доп.проектами и поддерживаю 3 пет-проекта-либы(одна свежая, остальным лет 5). Перед собесом предлагаю выполнить небольшое тестовое, либо показать профиль с проектами.
Решать задачки с литкода, наверное, тоже прикольно и на дата-инженеров может и самое то. В моей области такое не прокатит.
270 2898668
А какая конкретно имплементация питона качается с python.org?
Если PyPy то почему в вики написано что самая распространённая это CPython?
271 2898725
>>898668

>А какая конкретно имплементация питона качается с python.org?


CPython

>Если PyPy то почему в вики написано что самая распространённая это CPython?


Потому что так и есть
272 2898727
Бля, посоны, в шапке пиздят. Джанга вообще нахуй никому не нужна.
273 2898729
>>898479

>Подскажите что можно написать чтобы нормально всё работало и скачивалось?


>Я использовал bs4, requests, selenium. Может другие какие импорты нужны?


Тут не в импортах дело, импорты сами по себе никак задачу не решают. У тебя в имплементации твоей хуитки ошибка какая-то. Судя по описанию ты неправильно задаёшь селектор для выбора интересующего тебя контента на странице

>>898489

>для решения реальной проблемы, написание кода для собственных бытовых нужд


Просто делай больше петов
274 2898734
>>898729

>петы


Хуйня. Кабаньи тестовые больше опыта приносят, т.к. тебе ставят рамки.
275 2898739
>>898616
Алло, очнись уже нахуй. ChatGPT с минимальным рефакторингом сделает тебе репу за 2 часа. Грамотно только вопросы задавай. Ещё один блять. Твои карманные проекты никому не нужны. Похвастаться таким можешь только в среде задротиков. А белым людям кода хватает на работе.
276 2898754
>>898734

>Кабаньи тестовые


само по себе спорное явление

вообще, знания-технологии отдельно, опыт работы и разработки отдельно. Одно другое не заменяет.

Какие-то технологии, сам язык программирования, отдельные библиотеки, базы данных, принципы работы сети-сайтов - надо осваивать отдельно, лучше по книгам, обстоятельно. Не на пет-проекте, а именно технологию. Только так что-то полноценно можно освоить.

А учиться писать рабочий код и реальные проекты нужно отдельно. Это просто разные скиллы, их отдельно покачивают.
image.png5 Кб, 270x120
277 2898764
>>898739
Пет-проекты у многих есть, но при этом у меньшинства.

Пет-проект это не учебный проект, это что-то реально рабочее, что нужно или тебе самому, или другим. Чаще имеет форму участия в опенсорсе, где над одним проектом много людей работает.

У меня есть тоже свои пет-проекты, они реально работают, но не в открытом коде, показывать их я никому бы не стал.
278 2899315
>>898739
Ты видел какое говно без логики GPT высирает, одного взгляда на это уродство хватит чтобы понять откуда оно взялось. GPT сейчас это эхокамера, которую можно расценивать только как помощь вкатуну в обучении, как продвинутую версию гугла для поиска по темам на стаковерфлоу и то, то что тебе там найдется надо очень внимательно проверять.
279 2899341
>>899315
Про ЧатГПТ ты прав, но тот анон же другое имел в виду. Что твой пет-проект ничего не показывает, потому что он легко может быть не твоим.

Тут на доске одно время угорали с таких вкатутов, которые ссылки на свои репозитории оставляли, и у все одинаковый набор "петов", почти как клонированы. Потому что оканчивают курсы, на которых разбирают создание приложения, довольно ёмкого, вкатуны тупо по инструкции реализуют это.

Не то, чтобы они совсем не понимают, но не показатель совсем.

Собственно в древние времена появились рекомендации, что типа хрюши смотрят, если у тебя есть репа, то это очень круто. Наверное так оно и было. Но потом про это стали писать, до всех донесли, и все стали себе делать репы с каким-то мусором, созданным по инструкции. И после этого все эти репы потеряли смысл, лавочка закрылась.
280 2899348
>>899341
Получается что "петы не нужны" это просто отмазка некомпетентных кадровиков, которые НЕ МОГУТ оценить уровень человека по примеру его работы, которую он выставил им проще по методичке типовые вопросы задать.
281 2899384
Анон, есть одна тян функция, принимающая необязательный callable=None.
Как лучше проверить что передали ей на вход именно some_func, а не вызов some_func() -> None ?
283 2899647
>>898739

>ChatGPT с минимальным рефакторингом сделает тебе репу за 2 часа


Опять хуйню несешь.
Ты на столько джунский ждун, что не отличишь реальный проект с реальными комитами от говна созданного нейронкой?
Тогда, для тебя и правда лучше по бумажке проводить опрос кандидата. Главное ответы не забывай записывать, чтобы потом погуглить.
284 2899648
>>899647
+ еще не встречал хрюш, которые бы смотрели репы. За последние года 3 только на 2 собесах репы точно смотрели.
285 2899658
>>899348
Получается. Но у нас нет других кадровиков
286 2899803
>>899348

>которые НЕ МОГУТ оценить уровень человека по примеру его работы


В этом просто нет смысла, хотя бы потому, что реальные петы у меньшинства. В основном же или их нет в открытом виде, или там мусор.

Кроме того, оценить проект сложно, надо потратить много времени, сильно больше, чем полноценное собеседование.

Таким образом, оценка пет-проекта может быть разумной на поздней стадии, когда уже прошли первые этапы с вайтбордами и т.п., стадия "близко к офферу". Но не раньше.
287 2900260
Подскажите, пожалуйста. Не знаю, правильный ли тред, но пусть будет здесь. Я запилил небольшой сайт на фласке, сделал докерфайл, где поднимается gunicorn (в будущем на докер-композ поменяю). Для правильного деплоя на VPS мне достаточно просто докер ран сделать или по-хорошему, надо еще что-то навернуть (nginx или еще что)? Сейчас я дебажусь на VPS и просто запускаю docker run и доступ к сайту есть. Но мне интересны best practices, в первую очередь
288 2900382
Есть какой-то список программ или скриптов, которые должен уметь писать джун, мидл и т.д.? А есть тайминги за сколько должен уметь написать? Чтобы можно было оценить умение обучающегося по каким-то формальным признакам.
289 2900396
>>900382
Написать сортивровку долбоебом за 1488 секунд.
290 2900507
>>900382
Задачка на собес, литкодного типа
написать функцию, которая принимает на вход целое число N. Функция должна возвращать максимально возможную сумму чисел A и B таких, что A^4 + B^4 = N^4, или -1, если такой пары нет

В принципе несложная задача
291 2900509
>>900507

>Функция должна возвращать максимально возможную сумму чисел


в смысле целых положительных чисел, иначе не интересно
292 2900534
>>900507
Пчел, ты нас теоремой ферма не напугаешь. Мы жуки соевые-научпоперские все отсылочки знаем
293 2900733
>>900260
Для начала уже неплохо.
Как бы я предложил тебе улучшить:
1. Дебаж локально на ПК
2. Делай пуш в репозиторий
3. После пуша в репозиторий пускай запускается сборщик имеджа из того что ты отправил в репозиторий. У гитхаба\гитлаба\битбакета для это все есть.
4. После билда имеджа клади его или в докер registry или в локальный registry сервиса, если оно там есть(у гитхаба есть точно).
5. На сервере делай докер пулл -имя имеджа-.
6. Запускай его на сервере. Не забудь удалять старый, ибо место закончится быстро.
В принципе этого уже достаточно, можешь ходить по ИП на свое приложение и работать с ним.

Если хочется большего:
1. Купи доменное имя
2. Настрой на это доменное имя Cloudflare. Под настройкой имею ввиду как минимум смену nameserver, привязку ИП к домену(еще поддомен можешь настроить), генерацию сертификата там же.
3. Сделай отдельный имедж с Нжинск. Если нет доп. хотелок - бери уже готовый, иначе придется билдить со своими хотелками, но это не сложно. Добавь туда файл с настройками нжинкса, добавь туда отдельные настройки для домена и поддомена. Домен, к примеру, может вести на главную страницу сайта, а поддомен на АПИ или админку.
4. Оберни эти два имеджа в докеркомпоуз.
5. Разберись с .env файлом и переменными, их секьюрностью.
6. Разберись с тем, как будешь в нжинкс передавать сертификаты полученные в Cloudflare.
7. Настрой CI чуть жирнее - добавь проверку кода и тесты перед билдом имеджей.
8. Все так же складывай имедже в registry.
9. Для автоматизации процесса выкатки обновлений на сервер можешь попробовать - Watchtower, но это не обязательно, можно и руками.
10. Для понимания работы вольюмов в композе - сделай связь между нжинксом и гуникорном через сокет-файл.
11. Можешь сделать несколько веток в репозитории и в зависимости от ветки и действия с ней запускать разные CI скрипты - поможет разобраться в синтаксисе и логике работы этого всего.

Best practices зависят и от бюджета\времени\опыта. То что я описал выше вполне хватит для небольших проектов без бюджета на ДевОпса и десятка серверов. В проектах серьезнее уже требуются всякие сервисы от Амазона\Гугла и прочих, Kubernetes and etc.
293 2900733
>>900260
Для начала уже неплохо.
Как бы я предложил тебе улучшить:
1. Дебаж локально на ПК
2. Делай пуш в репозиторий
3. После пуша в репозиторий пускай запускается сборщик имеджа из того что ты отправил в репозиторий. У гитхаба\гитлаба\битбакета для это все есть.
4. После билда имеджа клади его или в докер registry или в локальный registry сервиса, если оно там есть(у гитхаба есть точно).
5. На сервере делай докер пулл -имя имеджа-.
6. Запускай его на сервере. Не забудь удалять старый, ибо место закончится быстро.
В принципе этого уже достаточно, можешь ходить по ИП на свое приложение и работать с ним.

Если хочется большего:
1. Купи доменное имя
2. Настрой на это доменное имя Cloudflare. Под настройкой имею ввиду как минимум смену nameserver, привязку ИП к домену(еще поддомен можешь настроить), генерацию сертификата там же.
3. Сделай отдельный имедж с Нжинск. Если нет доп. хотелок - бери уже готовый, иначе придется билдить со своими хотелками, но это не сложно. Добавь туда файл с настройками нжинкса, добавь туда отдельные настройки для домена и поддомена. Домен, к примеру, может вести на главную страницу сайта, а поддомен на АПИ или админку.
4. Оберни эти два имеджа в докеркомпоуз.
5. Разберись с .env файлом и переменными, их секьюрностью.
6. Разберись с тем, как будешь в нжинкс передавать сертификаты полученные в Cloudflare.
7. Настрой CI чуть жирнее - добавь проверку кода и тесты перед билдом имеджей.
8. Все так же складывай имедже в registry.
9. Для автоматизации процесса выкатки обновлений на сервер можешь попробовать - Watchtower, но это не обязательно, можно и руками.
10. Для понимания работы вольюмов в композе - сделай связь между нжинксом и гуникорном через сокет-файл.
11. Можешь сделать несколько веток в репозитории и в зависимости от ветки и действия с ней запускать разные CI скрипты - поможет разобраться в синтаксисе и логике работы этого всего.

Best practices зависят и от бюджета\времени\опыта. То что я описал выше вполне хватит для небольших проектов без бюджета на ДевОпса и десятка серверов. В проектах серьезнее уже требуются всякие сервисы от Амазона\Гугла и прочих, Kubernetes and etc.
294 2900774
>>899803

>реальные петы у меньшинства


Это ты ты как понял? Хуйня с курсов и спижженое с других гитов может быть только у вчерашнего баристы, который ещё не знает, что он обосрется после первого же вопроса. Я же не утверждаю что интерьвю и тестовые нужно отменить и только на основании петов на галеру брать.
295 2900819
>>900733
Спасибо, здорово! Я правильно понял, что на первое время просто gunicorn'а достаточно? Я какого-то хайлоада не ожидаю на сайт.

Можешь немного вообще прояснить, если знаком: я прочитал, что нджинкс имеет смысл подключать к gunicorn'у для
1) балансировки (перенаправлению запросов на разные инстансы приложения?)
2) когда хочется уметь отдавать еще и статические страницы (как я понимаю, во фласке даже main page на которой кроме нескольких ссылок может ничего и нет динамически рендерится каждый раз?

> 5. На сервере делай докер пулл -имя имеджа-.


Это я ручками должен делать каждый раз ведь? Это, наверное, как раз из того, когда на сайте появляется табличка "Сайт будет недоступен из-за профилактических работ с такого-то по такое-то"
Выглядит, что да. Иначе бы у пользователей просто сайт рандомно иногда отваливался из-за скрытого обновления. Щас подумал, что это можно делать и незаметно для пользователя, если есть несколько инстансов работающих, но это пока явно не мой случай.
Дочитал вторую часть сообщения, понял, что да

Меня еще интересовало, можно ли чего-то добавить на первом этапе, чтобы было посекьюрнее (какая-нибудь защита от ддоса и тд)

> 2. Настрой на это доменное имя Cloudflare


Можешь в двух словах объяснить, что он дает? Увидел, что как раз защита от ддоса а еще?

> 9. Для автоматизации процесса выкатки обновлений на сервер можешь попробовать - Watchtower, но это не обязательно, можно и руками.


Как раз показалось, что он ведет к проблемам, что я в начале поста описал, но, мб, там есть настройки на это

Сорри, если некоторые вопросы глупые, я никогда до этого с вебом дела не имел
296 2900963
Сейчас решаю яндекс контест - задачи из свежих тренировок по алгоритмам.
Требуется посчитать длину дуги окружности, однако я почти уверен, что нельзя использовать никакие библиотеки, включая math.
Сейчас я считаю косинус угла между двумя векторами, но не могу найти алгоритм арккосинуса, чтобы подставить.
Есть ли другие варианты?
297 2900991
>>900963

>Требуется посчитать длину дуги окружности, однако я почти уверен, что нельзя использовать никакие библиотеки, включая math.


Обычно math везде можно.

> Сейчас я считаю косинус угла между двумя векторами, но не могу найти алгоритм арккосинуса, чтобы подставить.


Какая задача? Косинус же можно просто через скалярное произведение найти
298 2901040
челы, чем нагрузочной тестирование своих апишек обычно делаете?
299 2901094
>>901040
https://github.com/locustio/locust
Яндекс танк, если живой.
300 2901097
>>900819

> что на первое время просто gunicorn'а достаточно


Его в принципе достаточно. Если есть хайлоад - скейлинг горизонтальный\вертикальный\диагональный.

> что нджинкс имеет смысл


То что ты перечислил - работа для обратного прокси, которым и является нжинкс. Гуникорн или всги тут роли не играет, ибо они прослойка между внешним миром и фласком. А нжинкс уже защищает приложение от агрессивного внешнего мира, выступая "внешним" миром для гуникорна.

> если есть несколько инстансов работающих


Да. но тогда у тебя будут свои проблемы. Если есть деньги то даунтайм сервера можно потушить при помощи платной функции Cloudflare.

> защита от ддоса


Cloudflare

> что он дает


Защита с правилами самописными, кеширование, CDN, стриминг видео, обработка фото, сертификаты, аналитика базовая, работа с геораспределенностью и еще что-нибудь что я забыл, но многое из этого за отдельные $$$.

> что он ведет к проблемам


Не бери на себя сразу слишком много. Вопрос по даунтайму при обновлении это непростая вещь, которая имеет несколько путей решений при твоей ситуации. Но тебе хватит и тех настроек что есть в Watchtower, т.к. там есть и роллинг апдейт и ожидание нормального завершения работы приложения перед обновлением. Если все у тебя норм, то старт контейнера с бэком занимает пару секунд - этого юзеры не заметят.

Вопросы у тебя нормальные, если сможешь все пункты осилить, то у тебя будет очень хороший опыт для работы или своих проектов.
301 2901326
>>901097
Ок, спасибо большое за развернутые ответы!
302 2901516
>>900991
Косинус я как раз нашел. Я имел в виду подставить в задачу самописную функцию арккосинуса, чтобы получить угол из косинуса, не используя math
303 2901600
>>901516
А тупо через ряды Тейлора нельзя?
304 2902755
>>900507
жесть ты кал высрал.
305 2902757
>>900819
а чо фласк и gunicorn?
го uvicorn и асинхронщину.
306 2902761
>>902757
>>900819
даже можно забить на фласк и нахерачить свой интерфейс на типе фласка но на uvicorn"е
307 2902950
Аноны, как импортировать модули по точному абсолютному пути до файла?
Обычно чтобы импортировать свой файл в скрипт как модуль добавляем путь в sys.path и делаем импорт.
А если у меня файлы называются "\dir1\a.py, \dir2\a.py,, \dir1\b.py," или как-то иначе, и расположены в разных каталогах, такие имена могут вызвать коллизию с другими именами, но я не хочу их переименовывать. Как мне прописать путь точно до этого файла?

my_module = __import__(r"D:\dir\a.py")
Мне надо как то вот так, но так разумеется не работает.
post.jpg54 Кб, 747x518
308 2902964
Поясните ньюфане, чё не так?
Импортированный модуль же установлен, чё не так?
изображение.png6 Кб, 263x118
309 2902971
>>902964
Проверь корректность переноса строки, там не должно быть лишних управляющих символов
310 2903005
>>902971
Я без DE, это скрипт в контейнере
311 2903369
>>902950
Трэба ўжываць іншыя функцыі з бібліятэкі importlib.util

https://www.online-python.com/ZpIJc5dqug
312 2903374
>>902950
Дарэчы, яшчэ такое ё
foo = importlib.machinery.SourceFileLoader(modul,fajł).load_module()
313 2903393
Ну вот и все, питон уперся в производительность не на матане, 400 жирных сообщений в секунду из реббита + сериализация/десериализация через orjson с последующией отправкой на локалхост занимает уже около 3-4 милисекунд. Нагрузка на проц 100%. И ведь это говно даже не распаралелить нормально, так как между ядрами оно гоняется примерно столько же сколько выполняется.
314 2903475
>>903393
Молодец, сделал хайлоад на коленке.
315 2903607
Есть корутины, внутри которой есть эвейты других корутин. Как посчитать процессорное время каждой корутины, без учёта свича контекста и работы других задач в эвент лупе?
316 2903807
Сколько просить с двумя годами опыта? Стек: FastAPI, Django, sqlalchemy, mongo, rabbitmq. Что изучить чтобы повысить рейт?
317 2903875
>>901097
У меня возник еще один вопрос по ходу разработки. Пока у меня был один сервис без бд, все было очень удобно. Сделал коммит в репу -> собрался имейдж -> на ремоут сервере сделал докер пулл + докер ран. Когда в этой схеме появляется докер композ, то я должен руками скопировать этот докер композ на ремоут сервер (возможно еще указать путь до имейджа, но допустим там просто :latest). Собственно, мне не очень нравится этап с копированием докер-композ файла на ремоут.
Понимаю, что скорее всего, это разумно не обойти, но мне эта необходимость тащить какой-то, по сути, конфиг на ремоут сервер не дает покоя.
318 2903981
>>903807
Проси две миски риса в день и один огурчик (свежий).
319 2904140
>>903875
Для базы дадзеных не патрэбны Compose. Наогул ня трэба замяняць базу дадзеных на сэрвэры, бо яна захоўвае працоўныя дадзеныя. Змяняць структуру БД, дадаваць палі, можна праз прыладу накшталт Alembic - гэта як git, але для БД.
320 2904605
>>903393
msgspec попробуй
321 2904624
>>903875

> о я должен руками скопировать этот докер композ на ремоут сервер


У тебя есть гит. На сервер клонируешь репу с гитом и оттуда берешь компоуз. И путь до имеджа ты не указываешь, ты указываешь УРЛ к имедже который сбилдился и лежит в хранилище. :лэйтест - тег имеджа, не имя.
Успокойся насчет компоуза, все ок. Не будешь тягать конфиги по серверам только в кубернетосах, на то они и следующая ступень развития.
>>904140

>Для базы дадзеных не патрэбны Compose


А якім чынам працавать з БД тады? Купляць асобную БД - занадта дорага, канфігураваць па-за межамі кампоуза - навошта? Гэта не прод ды не хайлоад.
322 2904638
Пытаюсь решить следующую задачу:

>Необходимо написать программу, которая будет считывать последовательности измерений. В каждой последовательности нужно выбрать максимальное значение, а в итоге вывести отсортированный по убыванию список этих макс значений, разделенных символом “;”. Во входных данных в первой строке будет задано целое положительное число – сколько записей нужно обработать, причем самих записей может быть больше чем это число, это нужно учесть. Значения в рамках одной записи разделены пробелом, минимальное число значений в записи – 1. Записи разделены переводом строки.



>Пример 1


>Входные данные:


>3


>1 2 3


>2


>4 5 6 7



>Выходные данные:


>7;3;2



>Пример 2


>Входные данные:


>2


>1 2 3


>2


>4 5 6 7



>Выходные данные:


>3;2



Мой код: https://pastebin.com/nn7mzJXA

Однако получаю ошибку при проверке решения:

>Код ошибки: RE «Runtime Error» — программа завершилась с ошибкой исполнения


>"error": "Traceback (most recent call last):\n File \"/opt/client/solution/main.py\", line 5, in <module>\n while len(c := input().split()) >= 1:\nEOFError: EOF when reading a line\n",



Алсо, в PyCharm всё работает прекрасно, пробовал запустить цикл с for, но он не подходит под условие задачи (т.е. с клавиатуры можно будет ввести только n строк), там ошибка WA (wrong answer) из-за других output.

Как фиксить? Уже час сижу с этой хуйнёй.
322 2904638
Пытаюсь решить следующую задачу:

>Необходимо написать программу, которая будет считывать последовательности измерений. В каждой последовательности нужно выбрать максимальное значение, а в итоге вывести отсортированный по убыванию список этих макс значений, разделенных символом “;”. Во входных данных в первой строке будет задано целое положительное число – сколько записей нужно обработать, причем самих записей может быть больше чем это число, это нужно учесть. Значения в рамках одной записи разделены пробелом, минимальное число значений в записи – 1. Записи разделены переводом строки.



>Пример 1


>Входные данные:


>3


>1 2 3


>2


>4 5 6 7



>Выходные данные:


>7;3;2



>Пример 2


>Входные данные:


>2


>1 2 3


>2


>4 5 6 7



>Выходные данные:


>3;2



Мой код: https://pastebin.com/nn7mzJXA

Однако получаю ошибку при проверке решения:

>Код ошибки: RE «Runtime Error» — программа завершилась с ошибкой исполнения


>"error": "Traceback (most recent call last):\n File \"/opt/client/solution/main.py\", line 5, in <module>\n while len(c := input().split()) >= 1:\nEOFError: EOF when reading a line\n",



Алсо, в PyCharm всё работает прекрасно, пробовал запустить цикл с for, но он не подходит под условие задачи (т.е. с клавиатуры можно будет ввести только n строк), там ошибка WA (wrong answer) из-за других output.

Как фиксить? Уже час сижу с этой хуйнёй.
323 2904666
>>904605
Там паритет по производительности
324 2904962
>>904624

> У тебя есть гит. На сервер клонируешь репу с гитом и оттуда берешь компоуз


ну это и есть "руками". Просто в таких сценариях чувствуется какая-то потенциальная "неконсистентность",

> Не будешь тягать конфиги по серверам только в кубернетосах


да, я нагуглил уже, что в кубах все можно сделать, но они оверкилл для моей задачи. Хотя ради интереса можно будет потом попробовать развернуть.

> И путь до имеджа ты не указываешь


я имел в виду путь = урл + тег. Правда почитал, что latest не рекомендуется указывать.
325 2905294
>>853616 (OP)
Есть одна задача яндекса...
Я успешно ее решил и получил отклик - слишком медленно.
Проблема в том, что тут даже не дают проблемный пример - типа сам ищи и тестируй все.
Я порвал жопу и нашел решение со сложностью O(n), безо всяких циклов в цикле, однако времени все еще тратится сликшком много.
Не представляю, как вообще можно было бы еще сильнее все сократить.
Какой алгоритм тут ожидался от меня? Или на чем можно срезать время?
Алсо если кто тоже участвует в тренировках по алгоритмам, пишите.
input()
ratings = input().split()
def zadacha(ratings):
s = 0
aCount = {}
for r in ratings:
a = int(r)
s += a
if(a in aCount):
aCount[a] += 1
else:
aCount[a] = 1
l = len(ratings)

bPrev = s-int(ratings[0])l
akPrev = int(ratings[0])
finB = (' '+str(bPrev))
aCount[akPrev]
finB = finB[1:]
n = aCount[akPrev]
for k, cuantity in aCount.items():
if(k == akPrev):
continue
# print(k, cuantity)
bNext = bPrev + (k-akPrev)(2n - l)
finB += (' '+str(bNext))*cuantity
bPrev = bNext
akPrev = k
n += aCount[akPrev]
return finB

print(zadacha(ratings))
325 2905294
>>853616 (OP)
Есть одна задача яндекса...
Я успешно ее решил и получил отклик - слишком медленно.
Проблема в том, что тут даже не дают проблемный пример - типа сам ищи и тестируй все.
Я порвал жопу и нашел решение со сложностью O(n), безо всяких циклов в цикле, однако времени все еще тратится сликшком много.
Не представляю, как вообще можно было бы еще сильнее все сократить.
Какой алгоритм тут ожидался от меня? Или на чем можно срезать время?
Алсо если кто тоже участвует в тренировках по алгоритмам, пишите.
input()
ratings = input().split()
def zadacha(ratings):
s = 0
aCount = {}
for r in ratings:
a = int(r)
s += a
if(a in aCount):
aCount[a] += 1
else:
aCount[a] = 1
l = len(ratings)

bPrev = s-int(ratings[0])l
akPrev = int(ratings[0])
finB = (' '+str(bPrev))
aCount[akPrev]
finB = finB[1:]
n = aCount[akPrev]
for k, cuantity in aCount.items():
if(k == akPrev):
continue
# print(k, cuantity)
bNext = bPrev + (k-akPrev)(2n - l)
finB += (' '+str(bNext))*cuantity
bPrev = bNext
akPrev = k
n += aCount[akPrev]
return finB

print(zadacha(ratings))
326 2905404
>>904624
У мяне мая пралада і БД для яго двума асобнымі кантэйнерамі. Калі збіраецца вобраз кантэйнера з прыладай, выконваецца адзіе з наступных загадаў, у залежнасці ад абставін:

docker build --build-arg CONFIG_FILE=settings-developer.py
docker build --build-arg CONFIG_FILE=settings-staging.py
docker build --build-arg CONFIG_FILE=settings-production.py


Адпаведна, у файле з наладкамі settings-developer.py прапісаны
DB_URL = 'postgresql://localhost:5432'
такім чынам ужываецца БД што стаіць на маем кампутары. Для staging - адрас docker кантэйнера што стаіць на тэставым сэрвэры, а для production - адрас асобнага сэрвэра.

>канфігураваць па-за межамі кампоуза - навошта?


Вось і я магу спытацца навошта канфігураваць нешта па-за межамі Dockerfile. Кампоўз непатрэбны.
327 2905415
>>905294

>Я успешно ее решил и получил отклик - слишком медленно.


Не делай так больше.
328 2905422
>>905415
Что? Ты о чем?
329 2905470
>>905294

> Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:


> https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации


> https://dumpz.org/ - можно постить листинги, не требует регистрации


> https://pastebin.com/ - для листингов, регистрация не обязательна


> https://goonlinetools.com/snapshot/share/ - для листингов, без регистрации, но с капчей

330 2905485
>>899341
Спасибо, я этот анон >>898739 Выразил более грамотно мои мысли.

Эта херабора была актуальна лет 7 назад. HR уж точно в репу не полезут. Я в месяц хожу на 2 собеса примерно. За 1.5 часа мне хватает 20 вопросов и 2 задачи чтобы оценить кандидата. Ну прикладывают они свои репы, дальше то что? И кстати, там в репах часто вообще никнеймы, может это вообще репозиторий левого чела. У меня кореш - ведроид разработчик кидал вечно мне свою репу. Сам же признавался что код понапиздил. Ради чего это все?

>>899647
А мне это нахуй не нужно делать заниматься тем чтобы отличать код из какого то репозитория. Чтобы что?

И да, у меня есть репозиторий свой, ещё со времён студенчества туда выгружаю свои прожекты. Но показывать это работодателю - это ебаный бред.
331 2905493
>>904638
Немагчыма паўтарыць тваю памылку. Удакладні абставіны запуска. Магчыма, несумяшчальнасць MacOS, бо тамака напрыканцы радка CR замест LF. Магчыма, карыстаеш python<3.8, дзе прысвайванне ва ўмовах не падтрымліваецца.
332 2905594
>>905470
Чел, кроме пастебина две первые не открываются, а последняя тормозит дико.

http://linkode.org/
https://dpaste.org/

Вот, с подстветкой синтаксиса.
333 2905599
>>905594
>>905470
И ещё рекомендую для красоты оформить картинкой в Карбоне https://carbon.now.sh/ и вставить её в пост.

И в шапку бы это занести. Так чел, задающий вопросы, показывает, что он уважает тех, кому придётся ему отвечать.
334 2905621
>>904962

>ну это и есть "руками"


Да, но ты это делаешь 1 раз при настройке сервера. Ну и каждый раз если поменяешь настройки компоуза, да.
Попробуй разные варианты и выбери наиболее комфортный для тебя на длинной дистанции. Я в списках выше описывал свой опыт развертывания систем и их опыт поддержки\обновления\автоматизации.

> но они оверкилл для моей задачи


Они оверкил для всего что имеет меньше, условно говоря, 10 серверов с сервисами.
Знания докера и компоуза тебе, как бэкэндеру, будут очень полезные. Куберы бэкэндеру нужны гораздо реже, для них нанимают ДевОпса, но и куберы лучше потрогать - опыт лишним не бывает.

>>905404
Докер ды кампоуз выкарыстоўваюцца у розных мэтах. Гэта як розные узроўні развіцця праекта і яго зручнасці пры падтрымцы.
Безумоўна есць магчымась напісаць выдатную докер-каманду якая будзе на 100 адсоткаў такая як у кампоузе, але гэта будзе ебейшая страка у кансолі\баш-скрыпце з якой будзе не вельмі зручна працаваць у будучыні.
У табе у прыкладзе БД ужо працуе, добра, але калі ў табе не 2 кантейнера, а больш? Як прыклад - першы скрыншот. Мабыць не самы лепшы прыклад, але час ад часу патрэбна кантраляваць парадак старта кантейнераў, мець шмат кантейнераў якія стартуют разам і павінны разам і разгортвацца. Усе гэтя на шмат лягчэй зрабіць у канфіге кампоуза. Ды і людзям якія не знаемы с ім прасцей працаваць с .ямл файлам, чым шукаць адпаведныя каманды для кансолі. На другім скрыншоце .ямл файл, з тым жа праектам, які я рабіў для фронтэнд-распрацоўшчыка, каб працаваць у афлайне.
335 2905663
>>905621
когда дурачок забыл о гуглтранслейте
336 2905726
>>905621

> как бэкэндеру


я дата саентист, просто интересуюсь

> Куберы бэкэндеру нужны гораздо реже, для них нанимают ДевОпса, но и куберы лучше потрогать - опыт лишним не бывает


Докер и композ довольно понятные даже стороннему человеку, а вот у кубера своя какая-то экосистема, в которую надо конкретно вникать.
337 2905762
Поцоны подскажите как реализовать паузу/resume скрипта по хоткею, чтобы в любой ситуации работало. То есть чтобы полностью фризило процесс. Что-то вроде ahk'шного "Pause". Погуглил - ниче не нашел.
338 2905774
>>905762
Отдельным потоком запускать СЛУШАТЕЛЯ нажатий на клаву.
339 2905786
Может ли ошибка no module named "mainapp" в джанго вылазить из-за виртуального окружения, и если да, то как это фиксить? Когда создавал проект, тупо указал папку, в которой виртуальное окружение будет, в терминале (venv) есть.
340 2905790
>>905762
Сделал через multiprocessing и psutil. Если есть решение получше пишите.
https://pastebin.com/BhxBFPj2
341 2905817
>>905294
https://goonlinetools.com/snapshot/code/#4aig7b6vpxwnia9vigr4zn
Хорошо, значит вот ссылка на мое решение. Вопрос:
Как можно ускорить эту прогу?
342 2905832
>>905817
Я разобрался. Оказалось, задача решается на порядок быстрее и экономнее в python 3.11, чем в 3.9, что позволило мне преуспеть.
Захрена там вообще такой вариант компилятора, в котором задачу невозможно решить, я не пойму.
343 2905883
>>905726

> я дата саентист


Зачем тебе докеры тогда?

> своя какая-то экосистема


По факту она своей структурой схожа с кмпоузом, но да, нужно вникнуть. Удачи, анон.

>>905663

> пук

344 2906452
>>905883

>Зачем тебе докеры тогда?


да докеры всем полезны. Как минимум, собрать какой-нибудь прототип, который запускался бы везде или выкатить демку с веб-мордой

> Удачи, анон


спасибо
345 2908631
Состоятельно учусь программированию с целью стать аналитиком данных. Закончился первый месяц, полет нормальный.
Пишу код в vs code в юпитер блокнотах и интерактивном режиме. Когда я запускаю программу в интерактивном режиме, происходит задержка print() вывода. Сообщения появляются позже, сразу скопом. Помогите пожалуйста разобраться почему так происходит.
Пример программы которая работает норм в стандартном IDLE и командной строке, но в vs code происходит задержка:
Программа загадывает число, ты отгадываешь. После того как произвел первую попытку. Она должна сказать - загаданное число больше или меньше. Но вместо этого сразу предлагает снова попытаться угадать. После второго ввода выводит старый и новый вывод сразу
import random
print('Я загадал число от 1 до 20.')
print('Угадайте число!' '\n' 'Всего у вас 6 попыток')
a = random.randint(1, 20)
for i in range(6):
b = int(input())
if a > b:
print('Я загадал большее число')
continue
elif b < a:
print('Я загадал меньшее')
continue
else:
print('Вы угадали!')
break
if i == 5:
print('Вы исчерпали количество попыток')
print(f'Загаданным числом было {a}')
else:
print(f'Количество попыток: {i+1}')

Задал вопрос чату жпт: I write pyton code in vs code. When I run the program interactively, there is a delay before output. Messages do not appear until you enter a new value. Then several conclusions appear at once. How to solve this problem?
Ответ чата в пиках.
346 2908706
>>908631
Ну и чего тебе от треда нужно? Скорее всего ГПТ всё верно написал.
347 2908709
>>908631
Стену текста высрал, а понятнее не стало. Хуёвый из тебя аналитик данных получится, раз аналитику не можешь понятный языком расписать.
165.png115 Кб, 1129x576
перекатчику 348 2908971
Новая версия шапки https://goonlinetools.com/snapshot/code/#aqb4ejoiuxir84vfonk7l

Призвана решить проблему долбоёбов постящих код. Выкинут раздел с кучей ссылок на говносайты. Добавлен правильный и заметный.
349 2909006
350 2909829
>>908971

Вот ещё два замечания по шапке (шаринг кода, оформление кода): >>905594 и >>905599
351 2909883
>>909829
Cпасибо, красивенькие, но ни один из них не позволяет запустить код, как предложенный online-python.com
352 2909933
>>908631
чот пикчи не грузятся.
а чо ты это говно сгрузил нейромакаке то? для начала научись своей головой решать задачи.
353 2910037
>>908971
https://online-python.com
Эта хуйня сломанная отступы не сохраняет. Если туда копипастнуть код, взять ссылку то тот кто перейдет по ней увидит гладкую простыню.
354 2910243
>>909933
Это не та задача которую я считаю нужным решать сейчас.
Я вполне могу обходиться и без vs code, думал проблема частая и юзеры кода подскажут.
355 2910300
>>910243
Попробуй имторнуть sys и после принта делать sys.stdout.flush()
356 2910676
>>910037
не удаётся воспроизвести указанную проблему.
357 2910703
>>910300
Спасибо попробую. Но я думаю это не выход, т.к. эта херня в каждом коде на vs code и только на нем.
358 2910705
>>910243

>юзеры кода подскажут


Бариста, тебе же GPT ответил что надо сделать чтобы пофиксить. Что ты ещё от ЮЗЕРОВ КОДА хочешь услышать?
359 2911512
Аноны!
Есть idxs = ('0', '0.1', '0.2', '0.2.1', '0.2.2' ) - это уровни задач/работ
Есть works = ('нет', 'тянку танцевал', 'тянку ресторанил', 'тянку цаловал', 'тянку имел или нет')
Вот как idxs и works - вставить в PySimpleGUI tree правильно?
360 2912072
Сам питонач не знаю как сформулировать
Короче нужно получить bitmap для символа как это делать, я хз как правильно сформулировать. Ну типа есть символ A или 私 короче типа их карту из 0 1 как их отрисовывать как можно её вытащить?
361 2913446
Почему django rest framework такое говно? Шаг влево, шаг вправо - ты уже сам написал себе необходимые классы для сериализации.
362 2913478
>>853722

>куча специальных ключевых слов-модификаторов для объявления классов


Ты про public/private всякие? Нижнее подчеркивание есть. Более строгая инкапсуляция технически тяжело реализуема, потому что язык не компилируемый и кто запрещать обращаться к _ должен -- не понятно, не интерпретатор же.

>всё паттернами обмазано


Так обмажь паттернами в Питоне. Да и половина ООП паттернов в Питоне заменяется стандартными средствами языка и стандартной библиотеки. Паттерны то появились во времена, когда нихуя кроме C++ и Java не было, да и в самих C++ и Java много чего еще не завезли.

>всё через интерфейсы где надо


Protocol и ABC

>в настоящих ООП-языках


Питон это если не более, то уж точно не менее ООП язык, чем Java и C++. Странно из-за отстутствия статической типизации его не считать ООП. Smalltalk -- динамически типизируемый, а уж он то самый настоящий ООП.

>Что такого есть


Тут скорее надо спрашивать, чего такого нет в других языках, потому что в Питоне есть почти что все, кроме эзотерических ФП фич вроде алгебраических эффектов и монад. Даже статическая типизация есть в виде mypy, которым каждая вторая современная библиотека пользуется (FastAPI, например).
У Питона ровно две главные проблемы -- ЖИЛ и скорость, в остальном это швейцарский нож. И то, ЖИЛ возможно выпилят.
363 2913481
>>908631
print(..., flush=True) попробуй.
364 2913483
>>855547

>Какую нахуй репу?


Согласен, если это сениор дата сатанисты, спрашивать надо опубликованные паперы.
365 2913756
>>912072
З дапамогай растэрызатара і растравага шрыфту.

https://www.online-python.com/DPl3bJjeBi
366 2914309
Прочитал книжку Лутца Программирование на python 1 том, пошел на пайтонтютор, пробую решать задачки. Получается с большим трудом - дошел до 3 раздела (вычисления), а на каждую задачку с решением в 2 строки трачу по 3-4 часа. Это я тупой или как-то по другому изучается питон?
367 2914370
>>914309
Слухайте а объясните как вы так учите программирование?
Я просто не понимаю правда, как ты прочитал всего луца всего и не можешь решать задачи с питон тьютора блин??
Я вообще ни одной книжки не читал. Я просто посмотрел гайды на ютубе про условия цыклы классы функции и.д. И пошёл писать код, с того же тьютора например, просто зачем тратить время? У меня тоже валяется книжка про питон там 400 страниц, прикинь глава про условия в 40 стр. Вот что можно писать 40 страниц
Про if () : elif () : else:
Блин ну может я просто тупой и не умею читать. Я понимаю что в лутце дохуя полезных модулей но лучше в примерах поискать в инетике
368 2914411
>>914370
>>914309

> Это я тупой или как-то по другому изучается питон?


Паграмирование на питоне, изучается как и другое любое паграмирование, с помощью практики, а не при помощи чтения, чмоня
а можно ли renpy считать за язык программирования? hatsunekaligeek 369 2914446
а можно ли renpy считать за язык программирования? это просто копия питона для всяких новелл по типу доки доки, бесконечного лета и т.д.
пук (78).mp41 Мб, mp4,
540x960, 0:20
370 2914486
371 2914561
>>911512
тут умеют только онлайн-говноподелки делать?? На джанге и фласке???
372 2914629
>>914370
Пробовал курсы тоже смотреть и в других местах примерно понимал как работают условия, функции. На примерах все понятно, а вот когда сталкиваюсь с практикой сижу и туплю, пытаясь придумать решение
373 2914637
>>914629
Кинь нам пример на чем тупишь, мы ж питон тред
374 2914639
>>914446
renpy это библиотека
375 2914654
>>914637
2 часа тупил на этой задаче - Дано положительное действительное число X. Выведите его первую цифру после десятичной точки.
Решение:
from math import
a = float(input())
print(floor((a - int(a))
10))

Сейчас туплю на этой - В некоторой школе занятия начинаются в 9:00. Продолжительность урока — 45 минут, после 1-го, 3-го, 5-го и т.д. уроков перемена 5 минут, а после 2-го, 4-го, 6-го и т.д. — 15 минут.

Дан номер урока (число от 1 до 10). Определите, когда заканчивается указанный урок.Выведите два целых числа: время окончания урока в часах и минутах.
Вообще в голову не приходит решение задачи. Нет, я могу просто захардкодить нужное решение, но уверен, что это не то, как задумывалось
IMG20231109212221.jpg6,4 Мб, 3120x4160
376 2914665
>>914654
Выведите его первую цифру после десятичной точки.
Решение:
from math import
a = float(input())
print(floor((a - int(a)) 10))

Смотри как вариант ещё так
int(str(abs(chislo)) [2])
377 2914689
>>914665
Если мы берем только 2й элемент, то сработает ли решение для числа, например 8800555.3535?
IMG20231109213730.jpg5,7 Мб, 3120x4160
378 2914697
>>914654
По второй вот так как то, только займёт пробивает до N-1 так? Ибо после последнего урока перемена не нужна по логике
379 2914700
>>914689
Тогда так
C = str(b) [str(b). find('.') +1]
380 2914702
>>914697
Как ты так быстро нашел решение? Мне в голову вообще ничего не приходило, просто пустота
381 2914703
>>914702
Из условия
Смотри
1-го, 3-го, 5-го и т.д. уроков перемена 5 минут, а после 2-го, 4-го, 6-го и т.д. — 15 минут.
Что это тебе напоминает?
Что от тебя хотят найти?
Тут только такой патерн мышления нужен. Тащи ещё задачу, я ничего делать не буду просто сам порассуждаешь как тебе составить алгоритм, подскажу если че но сам алг писать не буду
382 2914709
>>914703
2 следующие задачи они простые в математике я понимаю что нужно и могу их решить, а вот которая вызывает вопросы и непонимание:
Улитка ползет по вертикальному шесту высотой h метров, поднимаясь за день на a метров, а за ночь спускаясь на b метров. На какой день улитка доползет до вершины шеста?
Программа получает на вход натуральные числа h, a, b.
Программа должна вывести одно натуральное число. Гарантируется, что a>b.

Понятно, что улитка ползает вверх и вниз, но как это вычислить вообще нет никаких идей
383 2914717
>>914709
Подумай есть n дней m ночей, как посчитать сколько она проползла?
384 2914720
>>914717
Затем смотри вопрос, на какой день? Так? Значит ночей что будет?
385 2914725
>>914717
n - m это будет путь за 1 день. Можно попробовать через цикл while, но если смотреть по учебным материалам, до него еще не дошли

>>914720
А тут не понял
386 2914730
>>914725

>А тут не понял,


N дней n-1 ночей
387 2914734
>>914730
Попробую посидеть подумать над задачей
388 2914746
>>914734
Я тоже с вайлом сделал.
Но ты сказал я почасал репу там одна формула
. давай ты сможешь.
Смотри там железно есть целочисленное деление
389 2914778
>>914746
Пришло в голову так:
h = int(input())
a = int(input())
b = int(input())
r = h // (a - b)
print(int(r))

Но отрабатывает только на половине примеров
390 2914780
>>914778
Да типа того
391 2914781
>>914778
Да типа того
392 2914783
>>914778
Проверь остаток если он не ноль добавь ещё день
393 2914799
>>914783
Где-то нужно добавить 1 день, а где-то убрать. Вот примеры для тестов, которые не проходят
10, 3, 2. Правильный ответ 8, результат 10
10, 6, 0. Правильный ответ 2, результат 1
10, 100, 0. Правильный ответ 1, результат 0
20, 5, 4. Правильный ответ 16, результат 20
93, 17, 5. Правильный ответ 8, результат 7
395 2914819
>>914799
Тогда так
1 a
2 2a - b
3 3a - 2b

N Na - N-1 b
H = N
(N+1) a /2 - N(N-1)*b/2 надо найти N
396 2914838
>>853616 (OP)
Парни, заметил интересную особенность, я могу делать импорты внутри самого тела класса, они не протекают наружу, но сцук когда я хочу их использовать как в этом примере, то ловлю ошибку, внутри конструктора init например он не видит импортированный math
Это можно как-то поправить? И вообще что это такое? Фича или просто очередной косяк Пистона?
397 2914846
>>914819
А не это хуита забудь
398 2914874
>>914799
Я пон короче
1 + (H - A) / (A - B)
Просто нарисуй движение и поймёшь
image.png50 Кб, 400x400
399 2914918
400 2914927
>>914918
Прикольно конечно сохранил,
Только вопрос на фига оно нужно то?
image.png13 Кб, 399x154
401 2914950
>>914927
Как в первом варианте не нужно делать никогда, я думаю.
Во втором, в редких случаях каких-то.

Ещё вот так можно.
402 2914959
>>853616 (OP)
def paperwork(n, m):
if n < 0:
return 0
elif m <0:
return 0
else:
return m
Почему некоторые числа он перемножает, а некоторые нормально выводит
403 2914960
>>914959
я так же писал, но там уже почему то когда м меньше 0 он не возвращает
def paperwork(n, m):
if n < 0 and m < 0:
return 0
else:
return m
404 2914967
>>914960
Ваши одноклассники попросили вас скопировать для них некоторые документы. Вы знаете, что есть "n" одноклассников, а в документах есть "m" страниц.

Ваша задача - подсчитать, сколько пустых страниц вам нужно. Если n < 0 или m < 0 вернуть 0.
Все я сделал, там наоборот надо было умножить, короче затуп на ровном месте
405 2915025
>>914819
>>914846
В общем час вчера посидел, не смог придумать решение и пошел спать. Утром еще подумал немного, сдался и посмотрел в чужие решения. Вот пример:
from math import ceil
h = int(input())
a = int(input())
b = int(input())

r = ceil((h - a) / (a - b)) + 1
print(int(r))

>>914370
А по решению задач видимо нужно просто вот так брутфорсить задачи, чтобы в целом понимать что хотят и как решать, считай набить руку. Я когда sql учил не понимал теорию join и просто методом подбора понял как работает
406 2915068
Странно, что полупольский полупокер не окучивает юных педрилок. Заныкался куда-то. Только на сеньёров вылазит.
image54 Кб, 1000x607
407 2915983
>>914654
>>914697
>>914702
Эх вы, погромисты.

lessons = 2
min = (lessons45 + sum([15 if x%2 else 5 for x in range(lessons-1)]))
print(f"{9 + int(min/60)} часов {round(60
((min/60)%1))} минут")
408 2916016
>>915983
Всё время забываю что макаба разметку портит, звездочки .
https://www.online-python.com/RFeoarJNTb
409 2916397
>>915983
Ну красава,
А чем это плохо? >>914697
Типа медленнее работает?
Или просто не в одну строчку?
Я признаю что нуб и пишу по нубски. Есть мини гайд по таким выражениям как у тебя?
410 2916654
С клавиатуры через пробел вводится последовательность чисел, последовательностей может быть много (пустая строка - окончание ввода). Нужно вывести среднее арифметическое каждой последовательности (т.е. написать функцию, которая для строки считает среднее арифметическое).

Почему-то проходит 1 тест из 4, пишет wrong answer (а как блядь по-другому посчитать еще среднее чисел?)

прога: https://goonlinetools.com/snapshot/code/#nbibbrywjjeyyjfn0txtn
411 2916817
>>916654
А ты не думал что он считает только одну последовательность из 4?
412 2916858
>>916817
Почему одну? Я же функцию применяю к каждой введённой строке, после результат кладу в список.
413 2916894
>>916654
можна выкарыстаць функцыі існуючых бібліятэк. мой варыянт успрымае signed float, -15.555.

https://www.online-python.com/7FmE5XDAUq
414 2917060
>>916654
О, узнаю платину. Каждые пол года бариста-вкатун сюда её постит. Видимо это с каких-то курсов скилбокса\скилфэктори\хуектори.
415 2917102
>>915068
А это разве не нейросеть? По крайней мере ответы что он высирает 1к1 нейросетевые.
416 2917155
>>917102
Какой дегенерат будет месяцами срать в треде на чужом для местных языке?
Это как если бы я завалился на форчанг и начал бы там отвечать всем на русском. Ладно ответил разок, местные подумали бы чудак, проигнорили. Но если бы я там срал месяцами - это уже целенаправленное действие или шизофрения.
Если целенаправленное действие, то нахуя так делать? Внимание на себя обратить? Срачи затевать? Какой бы ни был ответ на этот вопрос - кто так делает - ведет себя с деструктивными намерениями по отношению к коммьюнити в которое он пришел. Антисоциальное, неуважительное поведение. Кто так упорно срет как свинья - тот к себе только такое отношение и заслуживает.
417 2917163
>>917155
Это модератор наверное.
418 2917204
Питонач, а как мне в середину файла что-то записать?
Вот я открываю файл

>with open("text.txt", "a") as f:


Ставлю курсор в нужную позицию

> f.seek(3)


Пишу что мне нужно

> f.write("&")


А дописывается всё в конец. Я с ключами туплю или в чём проблема?
419 2917206
>>917204
перепиши файл просто целиком.
скопируй все, встав куда надо что
и заново перепиши
420 2917209
>>917206
Да это понятно, но способ какой-то с левой резьбой.
Нахуя тогда этот file.seek() нужен, если нихуя не работает?
Наверняка же есть какой-то адекватный способ.
421 2917218
>>917209
Нет, дописывать можно только в конец файла.
seek() работает как надо, но он не для вас сделан молодой человек, а для других секретных задач настоящих красноглазых погромистов. чтобы байтики из файла выковыривать.
422 2917221
>>917218
Пиздос.
А если у меня файл на сто гигабайт, то что, пятьдесят гигабайт до и после копировать?
423 2917231
>>917221
В этом случае ты можешь открыть файл в бинарном режиме 'r+b' найти нужный байт с помощью seek(), скопировать всё что после него, вставить на место указателя новые байты новой инфы которую добавляешь и затем вставить ту часть файла которую скопировал ранее.
Но я не уверен как это в винде под капотом реализовано. Если нет опыта то ты гарантированно проебешься и файл сломаешь.
424 2917235
>>917221
Если у тебя файл по сто гигов, то тебе в любом случае надо считвать файл маленькими порцияим и порциями его записывать в новое место.
425 2917237
>>917231
Да я пока с текстовыми файлами играюсь чтобы хоть примерно понять как это работает.
Буду тогда дальше ковыряться, спасибо за ответы!

>>917235
Ну "сто гигов" в смысле просто большой файл. Но мысль понятна, да.

А как тогда текстовые редакторы работают? Они же не переписывают каждый раз к хуям весь файл, когда я в середину слова букву вставляю? Или реально в оперативе цикл запускают и все символы двигают на +1 позицию?
426 2917244
>>917237
Чел от программы зависит, буковки которые ты меняешь на экране они в оперативной памяти а не на диске, а сохраняется всё в файл только когда "сохранить" жмешь.
Есть программы которые файл всё время открытым держат и сразу в него пишут, есть другие подходы. Как погромист сделает так и будет, но самый лучший вариант это да заново перезаписывать в момент сохранения.
427 2917246
питонач я понимаю что я ленивая хуйня, но я рилли не вдупляю в этот гайд
https://habr.com/ru/articles/301776/
мне надо выполнить это

>buildozer android debug


но cmd ругается что не знает что такое android
как это фиксить?
428 2917274
>>917246
ohhhh i got it, i can not do that coz i am widows-fagot
image.png32 Кб, 515x400
429 2917414
>>916654
каков пиздец
image.png132 Кб, 1366x768
430 2917960
Дебильный вопрос, но я не понимаю как в функциях делать так,чтобы не в коде писать, а в консоле цифры
print('\n'.join(reversed(['1', '2', '3', '4', '5'])))
или
def no_space(x):
return("".join(x.split()))
431 2917964
>>917960
типо я хочу в консоль ввести цифры и соединить их, в 1 вообще работает, но мне надо чтобы 1 2 3 4 5 я в консоль писал, а не тут
image.png224 Кб, 1920x1080
432 2918159
питонисты рейтаните алгоритм
433 2918161
>>918159
а саму задачу забыл, корое есть число -123 надо развернуть -321, работает но есть чувство что это говнокод
изображение.png14 Кб, 708x238
434 2918339
>>918159
Ебать ты пряник.
435 2918360
>>918339
поясни за срез, как ты это сделал?
436 2918366
>>918360
Что именно пояснить? Что такое "срез" ты уже знаешь, судя по вопросу. У него есть параметры start, stop, step. По умолчанию step = 1. Если он = -1, значит срез итерируется в обратном направлении, соответственно разворачивает твою строку. А чтобы он не разворачивал "-" для отрицательных чисел, надо остановиться до этого "-", т.к. он является 0 элементом.
437 2918372
>>918366
аааа блять я понял, я затупил почему у тебя :: а сейчас дошло нач:кон:шаг
блин не пользовался ими никогда просто
438 2918394
>>918339
погоди а если число -120?
439 2918400
>>918394
Ну а по твоей логике каким образом лидирующий 0 должен интерпретироваться? Целое число не может начинаться на 0.
изображение.png7 Кб, 594x138
440 2918403
>>918394
Если тебе не нужно обратное преобразование в целое число, так не делай его.
441 2918467
>>917960
Цябе input() патрэбны. Паглядзі вось тут як твой больш прасунуты сябар яго ужывае https://www.online-python.com/7FmE5XDAUq
image.png108 Кб, 626x626
442 2918487
Всем привет, знаю пытон на уровне егэ 100баллов.
Долгое время пытался вкатиться во фронтенд, думая, что это мне интересно. Затем в универе проходили базы данных, и мой мир начал переворачиваться — во фронтенд не вкатился. Неинтересно.
Вот, собственно, вопрос - бэкенд на питоне - хороший выбор?
Я ещё немного потыкал pandas, numpy и scikit-learn на уровне визуализации датасетов, логистической регрессии и кластеризации.
Пора уже искать работу, но кажется, будто бы никуда не потяну.
443 2918556
>>918487

>бэкенд на питоне - хороший выбор


Максимально хуёвый. Тормозной же очень, и с памятью проблемы.

На питоне пишут прототипы, чтобы по-быренькому в общих чертах, пользуясь готовыми библиотеками. Прототип утверждают и пишут на нормальных языках.
кабаны ебнулись 444 2918613
ля, смотрите какая вакансия

требования:
Мы ожидаем, что ты:

> имеешь опыт работы не менее двух лет


> имеешь опыт работы с одним из web фреймворков: Flask/FastAPI/DRF


> разрабатывал ПО в парадигме ООП


> имеешь опыт тестирования своего кода на pytest


> работал с библиотеками pydantic/marshmallow


> имеешь опыт применения ORM SQLAlchemy


> знаешь математическую статистику и теорию вероятности


> понимаешь принципы работы алгоритмов машинного обучения


> способен задать математическую постановку задачи из сложной бизнес-задачи


> способен определить методологию тестирования качества модели с постановкой гипотез и оценкой экспериментов


> владеешь DS стеком на Python (Numpy, Pandas, SciPy, Scikit-learn, TensorFlow/PyTorch, Xgboost/LightGBM/CatBoost)


> имеешь опыт вывода модели в продакшн и управления жизненным циклом ML моделей (MLflow)


> владеешь инструментами для визуализации (seaborn, matplotlib, plotly)


> знаешь теоретические основы алгоритмов и структур данных


> понимаешь микросервисную архитектуру, знаком с Docker/Docker Compose


имеешь опыт работы с системами контроля версий Git/SVN (понимаешь методологии Git-Flow, GitHub-Flow)

> знаешь и понимаешь принципы работы реляционных БД, языка SQL


> понимаешь, что такое трекер задач и как его использовать


> можешь писать код, читать и анализировать его, аргументированно рассуждать о нем


> обладаешь навыками общения с коллегами, руководителями, заказчиками; способен услышать их точку зрения и донести свою



Чем предстоит заниматься:

> Разрабатывать инженерные бэкенд web-приложения на Python, FastAPI / Flask, ClickHouse, RabbitMQ, Docker


> Выполнять исследовательские задачи по возможности применения статистических методов анализа данных


> Покрывать свой код юнит, интеграционными и e2e тестами


> Проводить code review


> Создавать продвинутые пайплайны обучения моделей


> Разрабатывать гибридные модели – объединять статистические модели со знанием предметной области


> Участвовать в разработке архитектуры ML сервисов


> Проводить аналитику табличных данных, временных рядов


> Погружаться в предметные области, работать с заказчиками


> В составе кросс-функциональной команды работать по методологиям Agile


> Участвовать в проектной и сервисной деятельности

кабаны ебнулись 444 2918613
ля, смотрите какая вакансия

требования:
Мы ожидаем, что ты:

> имеешь опыт работы не менее двух лет


> имеешь опыт работы с одним из web фреймворков: Flask/FastAPI/DRF


> разрабатывал ПО в парадигме ООП


> имеешь опыт тестирования своего кода на pytest


> работал с библиотеками pydantic/marshmallow


> имеешь опыт применения ORM SQLAlchemy


> знаешь математическую статистику и теорию вероятности


> понимаешь принципы работы алгоритмов машинного обучения


> способен задать математическую постановку задачи из сложной бизнес-задачи


> способен определить методологию тестирования качества модели с постановкой гипотез и оценкой экспериментов


> владеешь DS стеком на Python (Numpy, Pandas, SciPy, Scikit-learn, TensorFlow/PyTorch, Xgboost/LightGBM/CatBoost)


> имеешь опыт вывода модели в продакшн и управления жизненным циклом ML моделей (MLflow)


> владеешь инструментами для визуализации (seaborn, matplotlib, plotly)


> знаешь теоретические основы алгоритмов и структур данных


> понимаешь микросервисную архитектуру, знаком с Docker/Docker Compose


имеешь опыт работы с системами контроля версий Git/SVN (понимаешь методологии Git-Flow, GitHub-Flow)

> знаешь и понимаешь принципы работы реляционных БД, языка SQL


> понимаешь, что такое трекер задач и как его использовать


> можешь писать код, читать и анализировать его, аргументированно рассуждать о нем


> обладаешь навыками общения с коллегами, руководителями, заказчиками; способен услышать их точку зрения и донести свою



Чем предстоит заниматься:

> Разрабатывать инженерные бэкенд web-приложения на Python, FastAPI / Flask, ClickHouse, RabbitMQ, Docker


> Выполнять исследовательские задачи по возможности применения статистических методов анализа данных


> Покрывать свой код юнит, интеграционными и e2e тестами


> Проводить code review


> Создавать продвинутые пайплайны обучения моделей


> Разрабатывать гибридные модели – объединять статистические модели со знанием предметной области


> Участвовать в разработке архитектуры ML сервисов


> Проводить аналитику табличных данных, временных рядов


> Погружаться в предметные области, работать с заказчиками


> В составе кросс-функциональной команды работать по методологиям Agile


> Участвовать в проектной и сервисной деятельности

445 2918619
>>918613
дохуища библиотек
пиздец
это только если знаю основы программирую с доками
446 2918667
>>918556
Как меня вымораживает псевдоаргумент про скорость языка и память. Куда ты спешишь блять в 2023 году, дед? Просто добавь сервер, в век облаков вообще смех. Питон база для бэкенда.
447 2918704
>>918556

>Максимально хуёвый. Тормозной же очень, и с памятью проблемы.



Всем похую чел. Мы вообще на монолите с фласком живем уже 6 лет, полет отличный.

Единственное, что хуевое в питоне - это динамическая типизация и отсутствие нормальных потоков. Все остальное заебись и четко.
448 2918705
>>918667

>Просто добавь сервер


Дебил никогда не имел базу больше 10к записей... пиздец. Разработчик ботов казино и криптоинвестиций чёт кукарекает.

Возьми нормальную базу с 10–100 миллиардами записей, да ещё чтобы поля разных типов. Потом клювик открывай... Сервер добавь... пиздец просто. Даже по сути, бля, не одупляет, макака, обученная буковки писать.
449 2918708
>>918667
Чел, ващет по тейкам про переписывание на НОРМАЛЬНЫХ ЯЗЫКАХ сходу детектятся вкатыши, нахуй ты таким отвечаешь вообще.
450 2918732
>>918704

>на монолите с фласком живем уже 6 лет


Ну если там бот продаж косметики города Кинешма, то вообще похуй, хоть на паскале.
451 2918747
>>918732
Не, у нас 100k rps бывает. Хуйлоад в российском бигтехе.

>>918705
Зачем в реляционной бд хранить миллиарды записей? У нас для таких объемов map reduce используется
452 2918756
>>918747

>реляционной


Кто первый кукарекнул «реляционной»?
453 2918757
>>918705

>100 миллиардами


Дружище, я вот другой анон, можешь пояснить в чем проблема питона относительно этого момента..
Я так понимаю ты имеешь в виду то, что чем больше записей в базе, тем медленнее питон с ними работает т.е. ищет нужную запись например, чтобы к ней обратиться?
Но в чем разница между 10к записями и 10000000000 миллиардами записей для бинарного поиска? Алгоритм бинарного поиска же, который диды ещё при царе горохе придумали одинаково быстро ищет в таких обьемах?
454 2918769
>>918757

>Я так понимаю ты имеешь в виду то, что чем больше записей в базе, тем медленнее питон с ними работает т.е. ищет нужную запись например, чтобы к ней обратиться?


Так за это не бидон отвечает, а субд. Язык тут почти никакой роли не играет, а играет орм и драйвер к бд.
И на условной алхимии в питоне твой запрос отработает также как и на энтити фреймворке в шарпе, разница будет только в весе загружаемых в память объектов, которые орм внутри сессии создаст.
Но даже если у тебя селект на сотни мильёнов строк, почти всегда эта подгрузка ленивая и драйвер не фетчит сразу все данные, там есть батчи.
Поменьше слушай таких синек, у которых проблемы языка это мильёны записей в бд с разными типами полей, лол.
455 2918789
>>918757
Разница в реализациях библиотек, при помощи которых питон будет обращаться к таким БД (организовывать очереди, мультипоточность, асинхронность и так далее). На чистом питоне без них ты в принципе не сможешь организовать работу. А они будут написаны на c/с++, скорее всего. С учётом принципов работы Питона. И потому будут тормознее своих реализаций просто на другом языке без учёта Питона.
456 2918790
>>918789

>На чистом питоне без них ты в принципе не сможешь организовать работу


Подключение к бд это просто подключение через сокет. Что такого особенного в сокетах не питухоне, что сделано сильно лучше в других языках?

Очереди celery (который под капотом rabbit или redis), ну или опять же кафка, ребит или редис в том или ином виде.
Многопоточность тут да, посос, но что есть, то есть.
457 2918913
>>918789

>Разница в реализациях библиотек, при помощи которых питон будет обращаться к таким БД


Так а в чем конкретно бутылка? Слишком долго запросы к бд обрабатывает, слишком много памяти занимает? Ты как-то слишком обобщенно ответил "ну там реализация библиотек плохая". Библиотеки в конце концов можно открыть и исправить, если знать где узкое место.
458 2919096
Подскажите, пожалуйста, задача такая
Нужно определить есть ли в тексте ссылка с определенными символами и если после этих символов определенное количество символов, вернуть true
Например, есть ссылка https://amogus.aboba/XX123456789
Если после ХХ 9 символов, то возвращаем true, если другое количество, то false. Сама ссылка может быть другой и соответственно другой длины, поэтому тупо проверить длину ссылки не получится.
Я так понимаю, нужно выделить в отдельное слово все символы после ХХ и посчитать его длину, как это сделать?
460 2919193
>>919174
После {9,9} добавь ещё ($|/)
461 2919208
>>919174
>>919193
Спасибо
Я правда уже решил как умею, может криво https://www.online-python.com/JfpIOeg7yb
Я почему-то сначала подумал, что через split это не сделать

Правильно я понимаю, что [^/] и {9,9} ($|/) это регулярные выражения?
462 2919210
>>919208
Калі org_string='https://google.com/XX123456789/' ты атрымаеш False. Паспрабуй так https://www.online-python.com/WnSp0wEaRJ
463 2919216
>>919210
Я думал просто добавить проверку на последний символ и если это "/", то сбросить его и считать уже после этого.
465 2919233
>>919217
>>919210
Только у меня не только цифры, но и буквы могут быть, 123456789 я для примера написал (наверное неправильно), твой код я так понимаю возвращает тру только если 9 символов это цифры (я не разобрался еще, потому что и питон, и польский язык плохо розумию). Да и у меня такие ссылки, что вряд ли там что-то будет после этих символов, максимум /
466 2919234
>>919210

>re.MULTILINE|re.UNICODE|re.IGNORECASE


Польско-латышская нейросеть обезумела. С ней уже не совладать.
467 2919237
>>919233
Так, там толькі для лічбаў. Вось для лічбаў і літар
https://www.online-python.com/HjEGOnyeJg

Гэта беларуская.
468 2919939
Куда вкатываться, машоб или Джанго?
Без понятия к чему душа лежит, помогите с выбором
469 2919996
>>919939
А какое у тебя образование? Если "вышка нинужна", тогда только Джанго, и то не вкатишься. Если физмат, или инженерное хотя бы, тогда лучше машоб, перспективнее
470 2920131
>>908971
Напоминаю перекатчику про новую шапку.
471 2920203
Добрый день!
Возник вопрос у непрограммиста.
Каким способом можно подогнать элементы массива, условие в духе AB+CD=0, где A и B - известные массивы?
472 2920308
>>920203

>подогнать


Переформулируй.
473 2920463
>>920308
Даны массивы A и B. Известно, что AB+CD=0. Надо найти массивы C и D. Не могу сообразить, как можно обозначить функцию для аппроксимации с таким условием. Скорее всего, я предполагаю, это через мнк делается, но если ошибаюсь, прошу поправить.
Раньше сталкивался максимум с аппроксимацией обычных зависимостей типа y(x) с помощью curve_fit, а тут что-то мне подсказывает, что в def через while можно сделать, но придумать не получается.
474 2920487
>>920463

>Надо найти массивы C и D.


C = -A
D = -B
AB+(-AB)=0
Не благодари.
475 2920498
>>919996
4 курс информационных систем и технологий
476 2920542
>>920487
-A * -B != -AB
477 2920571
>>920542
C = -A
D = B
-A x B == -AB
478 2920676
как у вас обстоят дела с конкуренцией, питонисты, когда даже в школе с 8 класса уже питон учат?
*не подъеб, а реально интересно
479 2920926
>>920676
Это из серии, что сказать "айтишники, как у вас с конкуренцией? сейчас с детского сада учат с компами работать"

Питон лишь инструмент. В школе учат, но никто питон не знает. Ну типа знают, а написать простейший генератор не могу. Не говоря уже про контекстный менеджер или декоратор.

Хотя знать питон недостаточно.
480 2920929
>>920926
На днях просто смотрел ещё вакансии по ключам python, django и т.д.
Откликов тьма, поэтому стало интересно, как у вас с трудоустройством
481 2922248
Анончик это правда что OCR в тессеракте кусок говна?
2023-11-15x04:38:22.png70 Кб, 1555x368
482 2922428
>>922248
если кому интересно - проблема была в повороте вы такие же безмозглые и бесполезные как чатгпт
483 2922468
>>922428

>Срд 04:41:21


>вы безмозглые и бесполезные

484 2922864
>>920929
95% откликнувшихся это вкатуны в самом плохом смысле. Из серии я пошел на курсы пусть меня научат. За полгода выучившие основы языка и слабо представляющие как работает змея под капотом, с минимальным знаем оопэшэчки, написавшими пару петов в стиле сервис рассылок. Если ты входишь в оставшиеся 5%, которые реально задрачивают змея во все свое свободное время и постоянно учатся то вэлкам.
485 2922870
>>920676
Какая конкуренция, о чем ты? Ты же не думаешь, что любого можно научить программированию? Любого можно научить только синтаксису.
2023-11-15x17:54:14.png165 Кб, 451x789
486 2923313
>>922468

> Втр 22:22:53


Ну ладно

Смотри мне тут чат распарсил жсончик, там матрица, классы всегда разные, но кохирентные, я так понял это через siamese nn решается по ансупервайзед схеме, да?
487 2923354
>>922864
>>922870
никому твоя низушная дрочка нахуй не упала, ты формошлем обыкновенный, абсолютно все твои задачи типовые, а те додики у которых чсв в яндексе играет, потом после выезда сосут хуи, потому что никто нахуй в этих ебанных дохуя айкью велосипедах не может разобраться

проще будь и не трать время на бесполезный луцедрочь
488 2923421
>>923354
Только я смотрю на вкатунов на нашей галере. Все в нулину. Элементарщины не знают. Как клонированные блять. Дохуя они че-то простые.
489 2923441
>>922864

>Если ты входишь в оставшиеся 5%, которые реально задрачивают змея


Да в общем то задрачивание не очень нужно само по себе. Это скорее показатель того, что ты в состоянии под капот лезть, в кишках разбираться. Вот этот скилл критичен, а не знание конкретно питона.

Это надо, чтобы человек мог думать, как программист, понимал IT в целом и т.п. Вот это годами нарабатывается. А иначе, чел типа синтаксис знает, а дальше труба. И реально 90% откликов будут такие.
Screenshot20190715190159.png1,2 Мб, 1920x1080
490 2923475
>>923421

> клонированные


> вкатунов на нашей галере


если они вкатились - значит всех кроме душнилы тебя все устраивает

> Элементарщины не знают


джангодрисня уебищная, через месяц-два все приколюхи освоят и будут ебашить как биороботы

>>923441

> этот скилл критичен


ДА ДЛЯ КОГО ОН БЛЯДЬ КРИТИЧЕН КРИТИН ТЫ ЕБАННЫЙ !?

ну вот тебе всратый тессеракт
>>922428

и хуле? ты чо полезешь разбираться в алгосах и фиксить? да хуй кто тебе заплатит за проебанный тайм, да и твоей вышки из под стобальной помойки с отсталыми дидами внезапно не хватит, будешь полгода сидеть дрочить говно вместо того чтобы спросить у чата воркэраунд на похуй
491 2923487
>>920926
Двачую этого.

>>920929
Петухон это инструмент. Никто не идёт специалиста по работе с молотком. Я вот дата инженер. Месяц назад тыкал scala, год назад java bean shell, а сегодня петухон. Прокачивай область компетенций, петухон тоже прокачивай, но это уже вторичное.
492 2923641
Чтобы запустить pytest тесты необходимо запустить само приложение? Без этого никак?
В ci пайплайне надо гонять тесты, это делается так - билдится контейнер а потом на нем вызывается "python -m pytest ." - но вот приложуха просто дохнет ожидаемо, т.к. не может подключиться к базе и к кешу (которых нет). Как это контрить? У меня есть несколько вариантов но все по-своему хуйня
2646.jpg7 Кб, 190x200
493 2923695
>>923641

> Как это контрить?


подключиться к базе и к кешу или писать дамми дейта самому и подтыкать, какие еще варианты то могут быть блядь
494 2923700
>>920203
scipy.optimize.curve_fit
495 2924329
>>923641
Юнит тесты для слабаков?
Либо возьми подними приложуху да прогони там нужные тесты. ЧО сложного то?
496 2924367
Питонобратва я с вами, снова начал читать про питон, не хочу я формошлепить, ну его нахуй, я слишком стар для этого дерьма.
Дайте пару советов бегиннерсу. Щас пока тока поставил вскод и собсна питон на работе пока вспоминаю синтаксис и просто иду по python crash course и еще нашел челика code with harry, искал инструкцию как на тилибон установить вскод.
Или не выебываться и идти нахуй, какие мне блять советы еще, бери да учи по книжке да по всей хуйне, правильно?
дед 37
497 2924640
>>924367

>Дайте пару советов бегиннерсу.


1. Правда! Живи по правде!
2. Береги честь с молоду, коли с детства не сумел.
498 2924780
Хули ему надо? Скопировал код из другого колаба в свой и синтаксис невалиден. Буквально то же самое.
sage 499 2924874
>>924367
Вдохновился моим постом в жс треде?
Ну давай, удачки.
image.png1008 Кб, 960x666
500 2925104
>>924367
Собственна никаких секретов тут нет, просто садишься за комп без задней мысли и кодишь
501 2925117
>>924874
Спасибо, братишка, взаимно.
502 2925307
Таааак блэт. Сегодня утром понял что наелся говна и теперь ни один докер с питоном не собирается, не может зарезолвить pypi.org:

HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /pypi/typing-extensions/4.7.1/json (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7fe3e789ebb0>: Failed to resolve 'pypi.org' ([Errno -3] Temporary failure in name resolution)"))

Шо за нахуй? С компа из терминала pip install работает, как только собираю зависимости в докере - сосу хуй. Что с ним блять такое?
503 2925342
>>925307
Тут что-то с dns похоже, но как понять какоц dns я использую и какой нужно?
504 2925384
>>924367

>дед 37


А до этого ты чем занимался?
505 2925433
>>925384
Гопал пориджей и отбирал телебоны
506 2926012
>>925384
Хуйней, в основном.
507 2926497
питонисты пытаюсь написать свою мини-библиотеку для рисования в консоли. но есть нюанс, при отрисовке кадров консоль мигает, как это пофиксить? если че я чищу ее os.system('CLS')/os.system('clear'). я понимаю, что есть какой то адекватный способ, но ничего не нагугливается. кроме "не очищайте ее, а проматывайте вниз" - по моему это такой же костыль как cls.
17000797966880.mp41019 Кб, mp4,
620x720, 0:11
508 2927041
>>925307
у меня арчик обновился и тоже пакет поломался, я форсанул пипу и взлетело, а на следующий день уже хотфикс прилетел, роллинг релиз топ а ты жри говно и страдай хуле

>>924780
>>926497
анончик как думаешь через сколько десятилетий этот безмозглый сблёв с интеллектом собаки приблизится к чатгпт 3.5 ?
509 2927465
програмач
рейтани говнокод.
https://ideone.com/SJLnwd
копируешь себе и запускаешь
510 2927649
Установил конду и все мои программы пошли по пизде. Пишет не установлен модуль pip. Конда наебнула все мои библиотеки? Что делать?
Снимок.JPG35 Кб, 780x443
511 2927675
Привет, ребята, вообщем учу питон и вот вроде бы всё понимаю но вот сейчас не очень понял.
512 2927686
>>927675
Что именно не понял?
513 2927692
>>927686
То как экстенд работает, ждал что pop() выкинет всё из b и оставит его пустым, а оказалось что есть ньюанс.
514 2927700
>>927692
Как и append, т.е. добавляет элемент в конец списка. Только extend принимает аргумент в виде итерируемого объекта.
yyyy.png3 Кб, 194x230
515 2927716
>>927692

>ждал что pop() выкинет всё из b и оставит его пустым


Потому-что ты модифицируешь список внутри цикла for. Для понимания работы твоего for, посмотри на цикл на скриншоте.
Получается что каждый pop() сокращает длину твоего списка и на каждой итерации происходит сравнение i с длиной нового списка.
yyyyyt.png4 Кб, 203x238
516 2927723
>>927716
Извиняюсь, забыл про elem. Но в твоем случае это не критично, ты не пользуешься этим элементом.
517 2927763
>>927716
О, кажется дошло. В моём случае я ждал что итераций будет 6 но с каждым разом их становилось на 1 меньше потому что удалялся элемент, итого вышло 3.
518 2928681
Аноны я знаю питон, джанго, джанго рест, аиограм 2-3, SQL, docker, bootstrap, скрепинг через bs4 с записью в бд или csv, могу сверстать простенький некрасивый лендинг на бутстрапе, но это будет долго. Поверхностно знаком с redis. И не могу найти работу бляяяя. Вакансий на джунов нет. А на фриланс идти боюсь, вдруг мне скажут что я долбоеб и самозванец. Ещё с заказчиками общаться бляяяя. Долбоеб я или да?
519 2928706
>>928681

>джанго, джанго рест


Начинает пованивать легаси и там джуны особо и не нужны

>аиограм


Нахуй не нужно

>SQL, docker


Единственные полезные навыки помимо питона

>скрепинг через bs4 с записью в бд или csv


Нужно 2.5 конторам

>с записью в бд или csv


Ничоси

>могу сверстать простенький некрасивый лендинг на бутстрапе


Нахуй не нужно [2]

>Долбоеб я или да


Да, вообще, твой стек напоминает какие-то курсы
520 2928716
>>928706
Да даже если я fast api выучу, не думаю что это трудно, все равно вакансий нет. Бляяяя а что учить то надо было?
521 2928740
>>928716
Гит, базовая работа с линухом, фаст апи, понять что такое рест и в целом виды взаимодействия с фронтом, брокеры сообщений типа реббита, задрочить SQL по мускулю/постргесу
522 2928764
>>928740
Гит знаю
Линукс знаю
Rest примерно представляю
Rabbitmq знаю как запустить в докере, хз видимо это не считается
MySQL Postgres знаю нормально
Фаст апи выучить не проблема, но нигде не вижу чтоб кому то было надо
523 2928816
>>928764

>Линукс знаю


Ну вот базовые знания типа симлинки, stdout/stderr, различные сигналы, в чем разница между тредом и процессом (и в целом про процессы в линухе), а так же как рестартовать сервисы и закрывать программы через командную строку.
Сможешь про это без гугла рассказать?
524 2928834
>>928816
Зачем нахуя это мне? Я ж не иду в девопсы, не уверен что и работающие питонисты это знают
525 2928882
>>928834
А куда логи у тебя пишутся например? Или что делать если соединение по ssh с серваком надо рестартануть? Этим не девопсы будут заниматься, а ты.
526 2928955
>>928882
Хз честно говоря, как и где это учить. Думаю напишу говно и вперёд
527 2929018
>>928955
Твоя задача состоит в том, что бы показать, что ты максимально состоятельная единица и не сильно охуеешь от того, что тебе придется делать на работе.
528 2929128
>>925307
Update: когда с домашней сетки подключаюсь - все собирается, когда в офисе это делаю - иду нахуй
529 2929174
>>853616 (OP)
Объясните нубу в этих ваших микросервисах, что такое API Gateway и Service Discovery, и чем они отличаются.
Предположим, что в docker-compose у меня есть сервис на FastAPI с роутерами, который через rabbitmq триггерит другой сервис-воркер, который слушает rabbitmq и в начинает выполнять какую-то тяжёлую CPU-bound задачу. В этом примере апи-сервис - это API Gateway, потому что это единая точка входа в приложение и это же одновременно Service Discovery, потому что знает, в какую очередь положить сообщение, чтобы нужный сервис тригернулся.
Или Service Discovery вообще не существует, потому что в докере все сервисы находятся в одной network и по своим именам могут друг с другом общаться и так напрямую. Если это развернуть в кубах, то там ситуация такая же. Значит, Service Discovery придумали до кубов и докера или что?
Последнее: ингрес в кубах - это что-то типо прокси-сервера, который служит единой точкой входа во внутреннюю систему кубера из сервисов, так? Считается ли это API Gateway.
Заранее извините за сумбур.
530 2929323
Че с mypy происходит? Завожу его на проекте и он высирает уйму ошибок вида:

Cannot find implementation or library stub for module named "rpc_host.better.base"

Как видите это мои же импорты, где я из модуля rpc_host проваливаюсь в модуль better и затем в base. Что ему блять надо? Почему он не может найти мои же импорты? Обычно эта ошибка вылезает на сторонние либы, может ему че-то в опциях указать? Раньше таких проблем не было, запускал из корня через: mypy . - и оно работало
531 2929909
ну и где перекоп, петушня?
532 2930325
тут можно обратиться за помощью ?
пишу курсовую, календарь в боте тг который отправляет сообщения по расписанию, хочу чтоб изымал id пользователя и отправлял всем, а не только тем кто в коде забит
\\\\\\\\
стабильная версия
\\\\\\\\\\
def scheduled_job(context):
today = datetime.today().date()
send_holi_day_info(today, context.job.context)

def schedule_thread():
while True:
schedule.run_pending()
time.sleep(1)

job = schedule.every().day.at("09:00").do(scheduled_job, context="6239016784")
job.context = "000000000000"

scheduler_thread = threading.Thread(target=schedule_thread)
scheduler_thread.start()
\\\\\\\\\
\\\\\\\\\
мои потуги
\\\\\\\\\\\\\
global_user_id = ""

@bot.message_handler(commands=['start', 'menu'])
def main(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
button_info = types.KeyboardButton("кнопка")
markup.add(button_info)
global_user_id = message.from_user.id
def scheduled_job(global_user_id):
today = datetime.today().date()
send_holi_day_info(today, global_user_id)

def schedule_thread():
while True:
schedule.run_pending()
time.sleep(1)

job = schedule.every().day.at("20:45").do(scheduled_job, global_user_id= global_user_id)
job.global_user_id = global_user_id
532 2930325
тут можно обратиться за помощью ?
пишу курсовую, календарь в боте тг который отправляет сообщения по расписанию, хочу чтоб изымал id пользователя и отправлял всем, а не только тем кто в коде забит
\\\\\\\\
стабильная версия
\\\\\\\\\\
def scheduled_job(context):
today = datetime.today().date()
send_holi_day_info(today, context.job.context)

def schedule_thread():
while True:
schedule.run_pending()
time.sleep(1)

job = schedule.every().day.at("09:00").do(scheduled_job, context="6239016784")
job.context = "000000000000"

scheduler_thread = threading.Thread(target=schedule_thread)
scheduler_thread.start()
\\\\\\\\\
\\\\\\\\\
мои потуги
\\\\\\\\\\\\\
global_user_id = ""

@bot.message_handler(commands=['start', 'menu'])
def main(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
button_info = types.KeyboardButton("кнопка")
markup.add(button_info)
global_user_id = message.from_user.id
def scheduled_job(global_user_id):
today = datetime.today().date()
send_holi_day_info(today, global_user_id)

def schedule_thread():
while True:
schedule.run_pending()
time.sleep(1)

job = schedule.every().day.at("20:45").do(scheduled_job, global_user_id= global_user_id)
job.global_user_id = global_user_id
533 2930326
>>930325
спасибо тем кто поможет
534 2930383
>>930326
тебя в чатгпт забанили или чево ебать?
535 2930390
>>930383
не помогает
2023-11-20x00:27:21.png114 Кб, 554x688
536 2930456
>>930390
просто программирование не твое, забей хуй
537 2930489
>>930325
Откуда ты извлекаешь id юзера? Из кнопки или сообщения? Это имеет значение. Если кнопка то callback.from_user.id и проверяй через принт какой там id каждый раз как извлёк. Узнай свой юзер id и так и чекай
538 2930544
Расскажите, на каких-нибудь джанго-фастапи-собесах алгоритмами нормально ебут? В Кнута вкатываться?
539 2930559
>>930544
Зависит от компании и позиции, меня в циане и иннотехе самые простые задачки на логику спрашивали.
540 2930576
>>930489
извелкаю из сообщения, комманы start menu

странно, раньше мне выдавало ошибку что job. не может быть str или none, сегодня оно просто не работает
541 2930861
>>920929
Почему тогда школьники после 8-го как ты говоришь класса не идут сразу мидлом в биг дата или сбер? Ну они же питон знают))
542 2930867
Блин я ведь должен учить ооп а вместо этого придумываю для вас задачку на вложенные архивы, делать нехуй да?
543 2930953
>>930867

>учить ооп


Палишься, шкила залетная.
544 2930968
>>930953
Что не так?
545 2931191
Как писать скрейпинг всякого крутого говна, где обычно специально выделяют несколько специалистов чтобы этому противостоять? Без покупки 100500 проксей естественно. Есть продвинутые гайды?
546 2931317
>>931191
Самому стать таким специалистом, чтобы обходить их хитрости. Гайды устаревают, защита на месте не стоит.
547 2931348
Сап погромач питоняч

Посоветуй как расти дальше?
У меня нет вышки пограмисткой, только инженерная, работаю жанго пограмачом уже 3 года, вроде начали давать тяжелые задачки, и даже на ревью не особо ебут, но как дальше расти - не понятно. Сейчас зп 150 и вроде все устраивает, но что-то неймется.

Если есть роад мап (актуальный) на сеньоритность или куда там дальше расти, или курсы какие то не бестолковые ака скилфингербокс, и прочие. посоветуйте плз.

Или пилить свой пет и на нем оттачивать новые навыки? как быть то ребят? м?
548 2931619
>>931401 (Del)
ты завидуешь что ли? Не завидуй.
549 2931708
>>931341 (Del)
Тогда, на питоне надо шлёпать через функционалку только?
550 2931718
>>931348
как учить джанго?
читать или без задней мысли что-то создавать и в процессе научишься?
551 2931879
>>931718
Как вообще что-либо учить?
1) Через силу по диагонали/или нет читаешь, смотришь, напрягаешь все усилия воли и концентрацию, чтобы что-то запомнить, при этом эмоционально не паникуешь, всё сразу выучить никогда не выйдет. Главное в первом этапе просто дойти до конца, чтобы было базовое представление о материале, который учишь. Это как выучить оглавление.
2) Дальше садишься что-то делать, но у тебя в голове уже есть оглавление и ты знаешь, на каую страницу книги тебе нужно зайти, чтобы узнать то, что тебе нужно. Заходишь и узнаёшь.
3) Повторяешь второй пункт 30 раз.
4) Повторяешь пункт 1 ещё раз, уже вдумчиво и с рефлексией, учитывая накопленный опыт.
5) Повторяешь снова третий пункт, потому что в прошлый раз ты полно говна накидал.
6) Повторяешь пункт 1 ещё раз, для закрепления.
7) Повторяешь второй пункт до бесконечности.
552 2931882
>>931879
читаешь и учишь в первом пункте сразу всё.
553 2932079
Аноны, нужна помощь недалекому человеку:
https://pastebin.com/EvPK4qgP

Почему если при нажатии "похуй" в диалоговом окне что "да", что "нет", программа вылетает. Даже если просто закрыть это окно.

И еще 1 вопрос: как можно сделать, чтобы надписи на кнопках в этом окне были на русском. Типо, не "Yes" и "No", а "Да" и "Нет"
554 2932085
>>931718
Нет, чтобы вырасти нужно не только жанга, нужно еще понимать в БД и не поверхностно и многие другие технологии помимо простых крудов внутри жанги.
Вот про оглавление этих технологиев я и хотел узнать в треде. Но тут только вкатуны - гречниевые тертые.
555 2932099
>>932097 (Del)

>завидуешь


>ограниченному жанго-дебилу



ну это только ты определяешь объекты твоей зависти, если для тебя даже дебилы недосягаемые, то ну чел, ну короче, типа ты еще ниже, понимаш?
556 2932116
>>932100 (Del)

Твое существование опровергает твой тезис. Зачем ты сам себя бьешь по лицу?
557 2932643
Нужна помощь - делаю бота в тг на питоне (pytelegrambot api)
и есть трабла с обработчиком register_next_step_handler

Общий концепт такой - пользователь нажимает кнопку в боте - ему приходит сообщение от бота - он отвечает на это сообщение - бот проводит изменения в соответствии с сообщением

Сам код выглядит так:

def handle_edit_name(call):
chat_id = call.message.chat.id
old_selection_name = call.data.split('#')[1]
print(f"Old selection name: {old_selection_name}")
old_selection_names[chat_id] = old_selection_name
msg = bot.send_message(chat_id,
"Введите новое название подборки или отправьте 'Отмена' для сохранения текущего названия.")

bot.register_next_step_handler(msg, lambda message: handle_new_name(message, old_selection_name))

def handle_new_name(message, old_selection_name):
chat_id = message.chat.id
new_selection_name = message.text.strip()

if new_selection_name.lower() == 'отмена':
bot.send_message(chat_id, "Изменение отменено.")
return

if len(new_selection_name) > 18:
bot.send_message(chat_id,
"Новое название слишком длинное. Максимальная длина - 18 символов. Введите новое название")
return

if db.check_selection_exists(new_selection_name):
bot.send_message(chat_id, "Подборка с таким названием уже существует. Введите новое название")
return

print(f"Updating selection name from {old_selection_name} to {new_selection_name}")
db.update_selection_name(old_selection_name, new_selection_name)
print("Selection name updated!")
bot.send_message(chat_id, f"Название подборки успешно изменено на: {new_selection_name}")

Сейчас бот успешно присылает мне сообщение из функции handle_edit_name, но на ответное сообщение никак не реагирует. В консоли никаких ошибок нет - видимо он тупо не попадает на вызов handle_new_name
557 2932643
Нужна помощь - делаю бота в тг на питоне (pytelegrambot api)
и есть трабла с обработчиком register_next_step_handler

Общий концепт такой - пользователь нажимает кнопку в боте - ему приходит сообщение от бота - он отвечает на это сообщение - бот проводит изменения в соответствии с сообщением

Сам код выглядит так:

def handle_edit_name(call):
chat_id = call.message.chat.id
old_selection_name = call.data.split('#')[1]
print(f"Old selection name: {old_selection_name}")
old_selection_names[chat_id] = old_selection_name
msg = bot.send_message(chat_id,
"Введите новое название подборки или отправьте 'Отмена' для сохранения текущего названия.")

bot.register_next_step_handler(msg, lambda message: handle_new_name(message, old_selection_name))

def handle_new_name(message, old_selection_name):
chat_id = message.chat.id
new_selection_name = message.text.strip()

if new_selection_name.lower() == 'отмена':
bot.send_message(chat_id, "Изменение отменено.")
return

if len(new_selection_name) > 18:
bot.send_message(chat_id,
"Новое название слишком длинное. Максимальная длина - 18 символов. Введите новое название")
return

if db.check_selection_exists(new_selection_name):
bot.send_message(chat_id, "Подборка с таким названием уже существует. Введите новое название")
return

print(f"Updating selection name from {old_selection_name} to {new_selection_name}")
db.update_selection_name(old_selection_name, new_selection_name)
print("Selection name updated!")
bot.send_message(chat_id, f"Название подборки успешно изменено на: {new_selection_name}")

Сейчас бот успешно присылает мне сообщение из функции handle_edit_name, но на ответное сообщение никак не реагирует. В консоли никаких ошибок нет - видимо он тупо не попадает на вызов handle_new_name
222.png14 Кб, 844x523
558 2932943
объясните ньюфагу.
решил я значит раскидать свою консольную программку по отдельным файлам для прикола. и вот такая хуйня получается.
есть функция в main.py (менюшка короче). Вот я нажимаю 1, например, вызывается функция из options.py Тут своя менюшка последний пункт которой выйти назад (вызываем взад менюшку из main.py) Но так делать нельзя, типо циклический импорт хуе-мое. А как тогда делать?
559 2933075
>>932943
У тебя очень хуевая логика в приложении получается. Ещё, если ты в тред прибежал совет спрашивать значит никаких изъянов в своей логике ты не видишь, и хочешь какой-то волшебной универсальной подсказки. Это всё в сумме значит что у тебя в голове неправильное понимание логики приложух, это не фиксится.

Что до совета - ну хз - импортируй все файлы в начале main py.
Робот Вася 561 2993122
Сап анончики, нужна ваша помощь, собираем робота, нужно что бы он ездил по линии через вебкамеру подвешенную на высоте 2 метра, помоги с кодом на питоне.
Тред утонул или удален.
Это копия, сохраненная 14 февраля в 01:36.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски