Сохранен 549
https://2ch.hk/pr/res/2721548.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Питон тред №162 /python/

 Аноним 04/06/23 Вск 21:04:20 #1 №2721548 
czoqeynbyx56vxz5l1qr.jpg
f3140cbeaba1cf66dc3e8f90045dd6d3.jpg
Тред, посвящённый языку программирования Питон, #162

Предыдущий: >>2686473 (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
Аноним 04/06/23 Вск 21:06:57 #2 №2721552 
image.png
пришёл к вам с с#
накидал гуй
как выводить числа? через псевдонимы?
Аноним 04/06/23 Вск 23:34:34 #3 №2721624 
Если я импортирую один скрипт в другой, мне нужно также импортировать в скрипт-2 всё, что я импортирую в скрипт-1, или оно само подтягивается?
Аноним 04/06/23 Вск 23:52:09 #4 №2721633 
>>2721624
Зависит от того, как импортируешь, но вообще говоря, все имена, кроме условно приватных копируются.
Аноним 04/06/23 Вск 23:52:46 #5 №2721635 
>>2721633
>все имена, кроме условно приватных, импортируются.
Аноним 05/06/23 Пнд 01:51:31 #6 №2721669 
>>2721552
Варта ўдакладніць графічную бібліятэку.
Аноним 05/06/23 Пнд 01:59:26 #7 №2721671 
Как в wxPython сделать кнопку с иконкой так, чтобы иконка была не по левому краю рядом с границей кнопки, а ближе к тексту?
Аноним 05/06/23 Пнд 02:03:18 #8 №2721673 
>>2721624
Не, у файле skrypt2 пішы

import skrypt1
print(skrypt1._imia_pieramiennaj)
Аноним 05/06/23 Пнд 12:14:23 #9 №2722007 
Пацаны, не учите питон, это ненастоящий язык. Все рассказы про его востребованность - обман продавцов курсов. Питон используется в ДС и прочих непрограммистских профессиях, в остальных сферах он никому не нужен.
Быть питонистом - это даже хуже, чем быть пхпшником или дотнетчиком.
Аноним 05/06/23 Пнд 12:15:39 #10 №2722010 
>>2722007
В Яндексе наверно не в курсе
Аноним 05/06/23 Пнд 12:16:16 #11 №2722013 
>>2722007
Мы понимаем твою боль, боль истинного шарписта, который достигает результата вшестеро медлненнее питонистов. И даже немного разделяем.
Аноним 05/06/23 Пнд 12:55:13 #12 №2722066 
>>2722010
>В Яндексе
Мерзотная конторка.
Толоку яндексовскую видел?
Аноним 05/06/23 Пнд 13:01:34 #13 №2722074 
>>2721669
tkinte'om пользуюсь
Аноним 05/06/23 Пнд 13:40:45 #14 №2722118 
>>2722074
Пользуйся wxPython
Аноним 05/06/23 Пнд 14:16:08 #15 №2722160 
>>2722066
Так толока это что-то для бомжей, щас бы судить по ней о конторе. Ты бы еще предложил посмотреть условия работы для таксистов.
Аноним 05/06/23 Пнд 14:40:28 #16 №2722192 
>>2722066
>>2722160
Это с амазона пижжено, кстати (внезапно, лул).
Забыл, как оно там называется.
Аноним 05/06/23 Пнд 14:41:28 #17 №2722193 
>>2722192
mechanical turk, о.
Аноним 05/06/23 Пнд 15:28:20 #18 №2722255 
>>2721552
>>2722118
>>2721669
посоны, получилсь говно ровно ничего
нужно сделать приложения для корреляцционно-регрессионного анализа, что использовать для этого?
думаю насчёт streamlit, что скажете?
Аноним 05/06/23 Пнд 18:13:00 #19 №2722469 
>>2721671
Бамп
Аноним 05/06/23 Пнд 19:08:54 #20 №2722569 
>>2721671
Переписать на Electron
Аноним 05/06/23 Пнд 20:25:09 #21 №2722670 
>>2722255
streamlit странный, если ты опытный программист.
Это просто какая-то удивительно нетрадиционная штука

Пиши-страдай. Спрашивай.
Аноним 05/06/23 Пнд 20:28:28 #22 №2722682 
>>2722255
>нужно сделать приложения для корреляцционно-регрессионного анализа,

вообще-то как говно выглядит. Это типа калькулятора мощности?
Студенческий проект или реально нужное?
Аноним 05/06/23 Пнд 20:46:47 #23 №2722703 
>>2722682
студенческое
думаю делать без задней мысли в google collab (или в юпитере)
не знаю только будет ли это считаться за приложение
на с# делать не хочу
Аноним 05/06/23 Пнд 20:57:24 #24 №2722712 
>>2722703
ебош на streamlit.
в collab тоже есть элементы интерфейса, но могут доебаться.
streamlit же - как живой.
Аноним 05/06/23 Пнд 21:21:49 #25 №2722732 
>>2721552
Мммм, цифровая обработка сигналов
Как по ночам спится?
Аноним 05/06/23 Пнд 22:10:55 #26 №2722759 
image.png
>>2721671
Шоб вы поняли, шо я хочу. Пикрил получается, если все делать стандартными средствами.
Аноним 06/06/23 Втр 01:51:47 #27 №2722841 
>>2722759
Тэарытычна, трэба дадаць іконку да label, замест button.
Аноним 06/06/23 Втр 11:20:54 #28 №2723008 
>>2722841
расскажи лучше как и куда выводить данные, в entry?
Аноним 06/06/23 Втр 12:36:57 #29 №2723072 
>>2722841
Нет, не работает. Label это просто текст, а не специальная нода.
Аноним 06/06/23 Втр 14:48:02 #30 №2723242 
Привет
Аноним 06/06/23 Втр 14:49:34 #31 №2723245 
Народ, а вопросы по ботам в телеге на питоне здесь задавать или есть какой то раздел по ботам?
Аноним 06/06/23 Втр 15:15:53 #32 №2723303 
Привет
Аноним 06/06/23 Втр 15:16:19 #33 №2723304 
Отписал в личку
Аноним 06/06/23 Втр 18:41:36 #34 №2723712 
>>2723245
Пройди. https://stepik.org/course/120924/syllabus
потом уже задавай вопросы.
Аноним 06/06/23 Втр 20:33:35 #35 №2723817 
Аноны, вот мне надо в одном случае использовать str.startswith. а в другом str.endswith. Как мне эти два встроенных метода в переменную превратить?

if some:
...tmp = str.startswith
else:
...tmp = str.endswith

for x in range(milliards):
...string_var.tmp("test")
Аноним 06/06/23 Втр 20:45:56 #36 №2723824 
>>2723817
Всё разобрался методом тыка.
Представил, что startswith это как будто бы метод в обычном классе, а значит он ожидает строку как селф, над которой будет проводить действие - так и оказалось.

Интересно такое использование быстрее или медленнее обычного вызова?
Аноним 06/06/23 Втр 20:50:58 #37 №2723828 
>>2723824
timeit на 100 млн итераций показал абсолютно идентичную скорость, присвоение метода к переменной даже быстрее на на пару процентов.
Аноним 06/06/23 Втр 20:52:53 #38 №2723831 
>>2723828
Потому что не резолвится имя. На дохуя вызовов так и оптимизируют.
Аноним 07/06/23 Срд 20:40:56 #39 №2724986 
str.split("word")

А есть какой-нибудь встроенный метод чтобы точно так же разделить строку в список но по ИНДЕКСУ ?

Только срез?
Аноним 07/06/23 Срд 21:20:54 #40 №2725023 
>>2724986
нихуя не понятно
Аноним 07/06/23 Срд 21:20:55 #41 №2725024 
Реально ли с вышкой, но без опыта, вкатиться в удаленку на питухоне?
Аноним 07/06/23 Срд 21:39:08 #42 №2725049 
>>2725024
Даже с вышкой и с опытом нереально уже.
Аноним 07/06/23 Срд 21:48:04 #43 №2725054 
>>2721671
>>2722759
Бамп
Аноним 07/06/23 Срд 22:02:49 #44 №2725084 
>>2725038 →
>Я застрял где-то на планке 3,3 тысячи долларов в месяц
И чё те ещё надо, собака? Мало платят? На феррари не хватает? На устрицы с лимоном не хватает? На студию в москва-сити с мебелью от boca room не хватает?

>Варианты нахожу в основном среди фирм, которые перенесли деятельность из РФ
Ебать ну естественно, ажур ушёл с рынка же. Ты случайно не в анабиозе был последние 1,5 года? Хотя, обходить ограничения из России можно.

>Как вообще стать хорошим, ценным специалистов?
Работать, читать, изучать, развиваться. Ты продаёшь знания и своё время. Чем больше знаний накапливаешь, тем больше можешь предложить рынку.

>Как прокачиваться, в какую сторону?
Ажур + рякт + базы данных (nosql + реляционные бд) для начала будет норм. Ажур - это гигант сам по себе, там невъебенное количество сервисов. Ты пока их все изучишь - состаришься.
Аноним 08/06/23 Чтв 19:42:44 #45 №2726333 
Смотрю на ютубе собеседования выходцев с курсов типа яндекс-практикума и прочих залуп. У некоторых людей там смотрят их выпускные проекты/тестовые задания - и чаще всего это какой-то веб-сервис на джанге, а вместе с джангой они используют орм. Зачем? Я правда не понимаю. Сырыми sql-запросами же гораздо приятнее и удобнее манипулировать, код получается куда более читабельный.
Аноним 08/06/23 Чтв 20:30:18 #46 №2726401 
>>2726333
Какова цель АЙТИ - никто не знает. А те кто, знают не могут объяснить.
Обычно кода сделано так много, что выкинуть его никто не решается.
Получается, суть АЙТИ в постоянном ПЕРЕделывании.

Код с ORM переделывать несколько проще. Вот и все.
Аноним 08/06/23 Чтв 20:48:00 #47 №2726414 
>>2721552
берешь да выводишь. хз в чем у тебя проблема
Аноним 08/06/23 Чтв 20:50:17 #48 №2726415 
>>2726333
орм удобную абстракцию делает поверх базы. + за счет описания схем ты можешь генерить удобные миграции и потом их же применять/откатывать/делать бочку

а я смотрю ты трейни раз такие вопросы задаешь
Аноним 08/06/23 Чтв 20:52:01 #49 №2726417 
>>2724986
Ты тупой? Ты итак можешь по нему через индекс гонять. У тебя строки итерируемые
Аноним 08/06/23 Чтв 23:39:09 #50 №2726565 
>>2726333
>Сырыми sql-запросами же гораздо приятнее и удобнее
А потом после апдейта аппы тебе приходится в куче мест сырые скуэль строки редачить.
Сейчас полулегаси пытаюсь чинить. И там дегенераты прямо угорели.
Делают объект, репрезентирующий таблицу, добавляют ему в класс-атрибуты все названия колонок, потом пишут для каждой таблицы методы селекта, джойнов и прочее, которые генерируют на основе аргументов и f-строк запросы, которые потом посылают в пандахаус.
Вот так делать, как эти додики сделали - зашквар, который потом в нормальный вид приводить - много часов.
Плюс челики, добавив в одну из схем дополнительную колонку, все нахер сломали в одном из модулей. И ты пойди определи в нагромождениях бойлерплейт кода, где насрано.

Если не можешь осилить ормки, то юзай хотябы генераторы запросов как те, которые в алхимии или в пипике.
Аноним 09/06/23 Птн 00:00:50 #51 №2726583 
>>2726565
>А потом после апдейта аппы тебе приходится в куче мест сырые скуэль строки редачить.
Аноним 09/06/23 Птн 00:02:06 #52 №2726584 
>>2726583
Блядь. Хотел спросить, почему? Взял да переписал затронутую sql-ку. Репозиторий же.
Аноним 09/06/23 Птн 00:32:43 #53 №2726610 
image.png
ебаный рот...
Аноним 09/06/23 Птн 01:50:28 #54 №2726638 
>>2726584
мимоанон, это лютый пиздец на самом деле, когда тебе надо поддерживать сырой sql. Хорошо, когда у тебя 10-20 запросов в коде, а когда счёт идёт на многие сотни-тысячи, это просто нереальный ад. Ну и вся эта тупая привязка к названием столбцов.

А ещё зачастую очень тупой код, когда ты сам руками джоины делает.

Полные ОРМ то ещё говно, которое тюнить надо, префетчить и т.п., но хотя бы уж промежуточные варианты надо использовать. Когда почти сырой sql, но всё-таки через какую-нибудь оболочку вроде алхимии.
Аноним 09/06/23 Птн 01:53:05 #55 №2726639 
>>2725084
>Ебать ну естественно, ажур ушёл с рынка же.
Да тралль он. Это же самое крутое, когда тебя из РФ перевезут, да ещё и денежку платить будут адекватную

Проще на собесе ответить "кем вы видите себя через три года", а не "как вы видите РФ через три года"
Аноним 09/06/23 Птн 02:02:31 #56 №2726643 
>>2726584
>Взял да переписал затронутую sql-ку. Репозиторий же
В куче мест репозитория, ага
Имагинируй, что у тебя 25 табличек, и где-то с пять сотен запросов.
В одной таблице захотели добавить новую колонку, а в другой свапнуть форейн-кий, третью таблицу сплитанули на две и каждую дополнили дополнительными колонками. А запросы у тебя все ручками написаны с захордкоженными названими таблиц и строк, ну или через самописный генератор запросов, как я выше описал, что почти всегда не далеко уходит от сырых запросов.
Сосать. Теперь у тебя приятное времяпрепровождение по гармонизации и поиску заафекченных запросов.
Когда используешь какую-нибудь алхимию, то просто меняешь пару классов, перебиваешь алиасы, и в ус не дуешь.
Гораздо быстрее апдейтить, ощутимо легче мэйнтейнить.
+ как бонус, у тебя не засран код многострочными дегенеративными запросами.
Аноним 09/06/23 Птн 13:36:00 #57 №2726992 
>>2726643
а ты еще представь как все эти миграции в проде придется прокатывать и не проебаться нигде.
Аноним 09/06/23 Птн 13:37:07 #58 №2726997 
>>2725084
>>ограничения из России можно
А можно просто не работать с этими додиками. вот и усе
Аноним 09/06/23 Птн 13:41:25 #59 №2727004 
изображение.png
>>2726643
Ботрос С., Тинли Д. - MySQL по максимуму, 4-е издание (Бестселлеры O’Reilly) - 2023.PDF

Советы ? Мнения ? Ебало?
Аноним 09/06/23 Птн 14:14:49 #60 №2727050 
>>2725049
Вот странно. Если после того, как большая часть спецов сейчас свалила за бугор, не значит ли, что их места стали вакантными? По-моему наоборот востребованность должна подскочить, а следовательно и зарплаты.
Аноним 09/06/23 Птн 14:37:06 #61 №2727077 
>>2727050
Пра санкцыі нічога ня чуў? Няма магчымасці плаціць вам.
Аноним 09/06/23 Птн 14:57:36 #62 №2727088 
>>2727077
Не, ну понятно, что бизнес в России после начало войны жестко продристался и здох, но труба то как качала, так и качает газ в европу.
Я это к тому, что у власти то деньги точно есть и они могут их слить в ИТ, чтобы еще больше ужесточить режим и тотализировать власть. Если бы мне хорошо заплатили, то я готов работать на благо родины, затралить всех либерашек, вычислить их по айпи и обеспечить им еще долгие годы диктатуры находясь при этом в другой стране, разумеется
Аноним 09/06/23 Птн 17:10:12 #63 №2727296 
>>2727050
Вместе со спецами ушли компании, дохуя людей работали на галерах, с иностранными заказчиками, которые после начала всего этого говна отказались от сотрудничества.
Ну и не большая часть, но значительная, при этом у них есть возможность продолжать работать в тех же местах удаленно. а ещё дохуя погромистов знают англюсик только на уровне чтения доки
Аноним 09/06/23 Птн 19:56:43 #64 №2727628 
>>2727296
Если все закончится хорошо, то рынок опять придет сюда и тогда снова потребуются программисты, так как места для новых спецов будут уже свободны. А те, кто за бугром достаточно обжился - вряд ли уже захотят возвращаться сюда.
Аноним 09/06/23 Птн 20:00:04 #65 №2727632 
>>2727628
Даже если закончится хорошо, то ты к этому времени уже потеряешь упругость.
Аноним 09/06/23 Птн 20:09:16 #66 №2727650 
>>2727632
Ты дядя майор который угрожает попыткой покушения на мой анус или ты имеешь ввиду мою проф.пригодность?
Аноним 09/06/23 Птн 21:02:26 #67 №2727707 
>>2727628
>Если все закончится хорошо, то рынок опять придет сюда и тогда снова потребуются программисты, так как места для новых спецов будут уже свободны
А с чего ты взял, что это быстро закончится? Оно может еще с десяток лет продлится. И заходить обратно будут осторожно. А ты не молодеешь, кто бы что не говорил, а вкатываться в 22 гораздо легче чем в 30 и тебе все это время надо зарабатывать чем-то.
Аноним 09/06/23 Птн 21:37:32 #68 №2727757 
>>2727707
Ну, это я про совсем нуфагов и тех, у кого денег на переезд нету. А так то да, валить надо с Пидорашки нахуй ебаной, сука бля.
Аноним 09/06/23 Птн 23:33:48 #69 №2727932 
>>2727707
>>2727757
Мир вообще изменчивый, кто знает, что вообще будет через три года. Сколько всего обычная ковидла поменяла, само ИТ меняется очень сильно, рынок меняется, а ещё кризис мировой раскочегаривается. И там скоро ChatGPT 6 выпустят.

Даже в мире не понятно, что будет, не то, что в Пынестане

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

Это же не так работает, что куча самообразованных джунов сидит, а тут бац, и кто-то приходит их хайрить.

Ну как бы ИТ в любом случае всегда будет, но вряд ли ещё когда-нибудь будет такое время расцвета, каким оно было.
Аноним 09/06/23 Птн 23:39:02 #70 №2727937 
>>2727628
>тогда снова потребуются программисты, так как места для новых спецов будут уже свободны
А ещё вот это вот не так работает
Бизнес любит приходить туда, где работников много, где компаний много, потому что это возможности нанять опытных людей, это наработанные схемы и т.п.

По этим причинам компании в основном в Москве-Питере были, хотя казалось бы, почему ты не в мухосрансках открывать. Это ещё в офисные времена. Но плохо в мухосрансках. Лучше открыть в Москве, платить больше за офисы и зарплаты тем же мухосранским понаехам.
Аноним 10/06/23 Суб 15:22:12 #71 №2728382 
Не могу разобраться, как сделать.
У меня есть лист диктов c 10 полями у каждого. Эти дикты я рендерю на страничке в табличном виде, но отображаю там только 7 полей (3 поля - служебные и не требуют отображения). У каждой строки в таблице есть кнопка edit - и вот тут у меня проблема.
Мне нужно по кнопке edit отрендерить новую страничку со всеми 10 полями дикта, но я не понимаю, как это сделать. Я бы мог прокинуть по onclick() все 10 полей, но там есть 3 очень длинных поля, перекидывать это гет-параметром выглядит как пиздец. Есть ли какая-то возможность все же прокинуть на другую страничку весь объект, или надо будет в роуте новой странички забирать этот конкретный дикт с бека?
Аноним 10/06/23 Суб 15:27:34 #72 №2728387 
>>2728382
Забирать, конечно, передавать это вообще идиотизм.
Хотя отдельные страницы сейчас редко делают, в основном какой-то попап с ажахом.
Аноним 10/06/23 Суб 16:21:07 #73 №2728430 
>>2728387
Спасибо.
В ажакс (да и в жс как таковой) я просто не умею, поэтому у меня максимально SSR с минимум логики на фронте.
Аноним 10/06/23 Суб 17:18:52 #74 №2728490 
>>2727004
все нормально. доверяй но проверяй называется.
после генерации миграции, заглянуть внутрь и перепроверить что он там собрался делать с таблицей.
ебало додиков не могущих в орм?
Аноним 10/06/23 Суб 17:19:53 #75 №2728493 
>>2727088
>>что бизнес в России после начало войны жестко продристался и здох
Толсто
Аноним 10/06/23 Суб 18:56:02 #76 №2728643 
>>2728490
Я просто не понимаю какого хуя "программисты" безапелляционно рассуждают о том, что ORM всегда лучше.

Не всегда.
Аноним 10/06/23 Суб 22:26:31 #77 №2728897 
>>2728643
Отсутствие ОРМ - почти что метаклассы.
Если ты не понимаешь, зачем тебе нужны метаклассы, то они тебе не нужны. Если ты не можешь убедительно аргументировать, почему ты обмазался сырыми скуэль строками нинужность ОРМ, в веду хорошего владения СКуэЛь и плохого владения первыми - не считается за убедительный аргумент, значит тебе следует юзать ОРМ.
Аноним 10/06/23 Суб 23:42:37 #78 №2728965 
>>2728897
Скушаю, спасибо за прокорм

Нет, всё-таки не так, потому что метаклассы это глубокие низкоуровневые кишки, в то время как SQL сам по себе фундамент, который знать в любом случае надо. Это как Си, который база для C++/Java/C#/JavaScript

ОРМ же это надстройки, причём их много разных, не совместимых друг с другом, сложно встраиваемых куда-то, в то время как базовый SQL куда угодно можно встроить.

В общем ОРМ придуманы для того, чтобы полноценно поддерживать сложные базы. Это там для сайтов-крудов надо. Если же у тебя лёгкое хранилище на несколько таблиц, то ОРМ может быть не нужен и даже в чём-то вредить.
Аноним 11/06/23 Вск 00:22:27 #79 №2728998 
>>2728643
Вообще не лучше, иногда можно за один запрос сделать все пиздато и почти не писать код, с ОРМ постоянно приходится ебаться
Аноним 11/06/23 Вск 13:12:58 #80 №2729208 
>>2728998
просто ты с орм работать не умеешь.
Аноним 11/06/23 Вск 14:06:48 #81 №2729235 
>>2728965
>Если же у тебя лёгкое хранилище на несколько таблиц, то ОРМ может быть не нужен и даже в чём-то вредить.
Вот это хороший аргумент в пользу обмаза сырым скуэлем.
Аноним 11/06/23 Вск 14:19:40 #82 №2729251 
Сап, аноны, пришел с к вам с вопросом по Streamlit. У меня в проекте две вкладке, одна чисто работа с датасетом и инфографика по нему, вторая маняпуляции с ним же. Как сделать так, чтобы по мере переключения между вкладками прогресс программы не обнулялся, и ничего не перегружалось и не слетало. Тонну нефти
Аноним 11/06/23 Вск 17:31:04 #83 №2729472 
>>2729208
Когда приходиться выходить за пределы CRUD не умею, зато хорошо умею в sql
Аноним 11/06/23 Вск 17:40:37 #84 №2729489 
>>2729472
Ты можешь хорошо уметь sql, ассемблер, системные вызовы и массу всего ещё. Но от этого использование напрямую sql без промежуточных оболочек не перестаёт быть антипаттерном.

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

Когда база простая, это не страшно. Там ОРМ тоже зло, потому что лишняя зависимость и привязка к конкретной ОРМ. Но чем дальше, тем критичнее эти вот архитектурные вопросы.
Аноним 11/06/23 Вск 19:58:36 #85 №2729586 
>>2729489
>антипаттерном
Лол, обычно когда вижу такое слово дискуссия перестает быть осмысленной

>Зло это потому, что у тебя логика кода и структур данных выносится куда-то наружу, теряется контроль.
Что тебе надо контролировать какие поля у тебя в результатах? Никто не запрещает тебе класс обертку написать вот тебе и оболочка, а в компилируменых языках так и так должна быть какая-то структура, никто не будет в здравом уме везде какой-нибудь dict гонять разве что пхпшники битриксоиды

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

>Когда база простая, это не страшно.
Это двачаю когда база простая не страшно использовать ОРМ

Когда тебе нужно сделать какую нибудь хуйню для бухгалтерии, например unoin нескольких таблицы, отфильтровать по результатом из подзапроса и приджойнить с минимальной болью из другого подзапроса с ОРМ начинается сущий пиздец от всяких N+1 до того что ты кодом из ОРМ генерируешь точно такой же запрос, либо делаешь несколько запросов и проворачиваешь это говно в куче циклов не гляда на сколько O(n) у тебя большое.
Аноним 11/06/23 Вск 21:25:06 #86 №2729723 
У нас отдельно OLTP база для нас и отдельно OLAP для аналитиков и админки с простым ETL. В первой ничего сложнее пары джойнов нет и юзается ORM, ещё это удобный способ генерации миграций и дополнительной обвязки логикой не прибегая к тригерам и хранимкам, а так же доступ ко всем фишкам ООП, хуй знает зачем вы спорите
мимо
Аноним 11/06/23 Вск 23:06:55 #87 №2729858 
>>2729586
>Никто не запрещает тебе класс обертку написать вот тебе и оболочка,
Ок, понял, надо написать свою собственную ОРМ. С "дураком" и путанами

>>2729586
>Какая нахуй логика в sql запросе
Имена столбцов, их отношения с другими столбцами и т.п. У тебя часть кода фактически выносится из кода куда-то ещё. Что нехорошо.

>>2729586
>отфильтровать по результатом из подзапроса и приджойнить с минимальной болью из другого подзапроса с ОРМ начинается сущий пиздец
В принципе не совсем, если дружишь со всякими префетчами, то джанга та же пресказуема. Правда тебе в любом случае надо понимать, что там на уровне SQL происходит.

Потом, на самом деле никто же не запрещает наполовину руками запросы составлять. Вот алхимию так часто используют, ты пишешь что-то, что реально очень близко к SQL, руками описываешь логику джоинов, фильтров и т.п., то при этом делаешь это через оболочку.
Аноним 11/06/23 Вск 23:13:54 #88 №2729869 
>>2729586
>или для тебя банальные фильтры уже логика надо которой нужен контроль?
Мимо, но вставлю 5 копеек. Если у тебя не статический запрос на все случаи жизни, а серия запросов, где ты варьируешь колонки, не важно, ручками, или условными f-строками или самописными васягенераторами, и тем более если в зависимости от условия что-то меняется в запросе на уровне клоуза, то ты хардкодишь запросы, что очень херово, если у тебя запросов больше 10.
>Когда тебе нужно сделать какую нибудь хуйню для бухгалтерии, например unoin нескольких таблицы, отфильтровать по результатом из подзапроса и приджойнить с минимальной болью из другого подзапроса с ОРМ начинается сущий пиздец
Не понимаю о чем ты. В той же алхимии очень удобный декларативный слой над этим всем, просто без задней мысли чейнишь и в ус не дуешь, получая результат, какой хочешь
Единственный случай, когда ОРМ никак не заюзаешь, это когда нужно сделать джойны по таблицам из разных датабаз дебсы, которые до меня работали, по приколу или слабоумию юзали мускул и клик для разных, но очень связанных данных, литературно одна из колонок в клике - условный форейнкий для половины таблиц в мускуле.
Аноним 12/06/23 Пнд 01:37:50 #89 №2729992 
Аноны, помогите пожалуйста по оптимизации.
Можно ли написать более просто и понятно код, по-питонски??

# преобразовать это
# [('spr_progs',), ('sqlite_sequence',), ('client_point',), ('clients',), ('ass',), ('spr_hard',), ('spr_ofd',), ('hardwarass',)]
# в это:
# ['spr_progs', 'sqlite_sequence', 'client_point', 'clients', 'ass', 'spr_hard', 'spr_ofd', 'hardwarass']

# пока смог только так:
# dbtables = []
# for i in cursor.fetchall(): dbtables.append(i[0])
# print(dbtables)
Аноним 12/06/23 Пнд 02:07:41 #90 №2730000 
>>2729992
res = [i[0] for i in cursor.fetchall()]
Аноним 12/06/23 Пнд 02:15:57 #91 №2730003 
>>2730000
О! Точно! Добра тебе, Анон !
Аноним 12/06/23 Пнд 13:59:44 #92 №2730262 
Пришел спросить советом мудрых - у меня есть файл main.py, который вызывает обработку функций из других файлов. И собственно другие файлы - отдельная папка, в которой вынесена каждая функция в отдельный файл.

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


Вот в каком формате я вызываю функцию:
bot.message_handler(commands=['start'])(lambda message: start_command(bot, message))

А вот вызываемая функция:
def start_command(bot, message):
message_text = "Привет!"
bot.send_message(message.chat.id, message_text)

Кто-нибудь с таким сталкивался, в чем может быть проблема?
Аноним 12/06/23 Пнд 14:42:56 #93 №2730296 
16281901148610.jpg
А что на двачах думают по поводу курсов от того же Яндекс Практикума? Понято что все есть в свободном доступе, но если нет желания самому копать все это, стоящая вещь для дальнейшего трудоустройства?
Аноним 12/06/23 Пнд 14:54:22 #94 №2730300 
Здорова бандиты. Парсю сайтик на через requests, так он при большом количестве запросов кидает мне 429 код, типа много запросов. Я сделал в ручную функцию которая после получения такого кода ставить на паузу скрапер и все оке, но задался вопросом. Scrapy в такой ситуации работал бы быстрее? Он же ведь асинхронный и все такое. Или он точно также славливал бы эти 429 ошибки и в принципе было бы однохуйственно.
Аноним 12/06/23 Пнд 15:20:41 #95 №2730309 
>>2730300
Какая разница? У сайта есть рейт лимит, если его превысишь, он будет бухтеть. А с асинком ты его превысишь намного быстрее.
Аноним 12/06/23 Пнд 18:16:24 #96 №2730478 
>>2730262
У тебя возможно один из вызовов блокается, добавь дебаг логинга на все что можно и смотри.
Аноним 12/06/23 Пнд 20:06:58 #97 №2730578 
Ебучий asyncio какого хуя он срет в логи своим Exception ignored если я блядь обработал эту ошибку? Говна блядь кусок.
Аноним 12/06/23 Пнд 22:43:45 #98 №2730774 
>>2730578
Опять шинда?
Аноним 12/06/23 Пнд 22:54:13 #99 №2730786 
videoconvertiI4QfSI.mp4
Аноним 12/06/23 Пнд 23:52:58 #100 №2730857 
>>2730774
Да.
Аноним 13/06/23 Втр 00:43:34 #101 №2730903 
>>2729472
чо блять? а в каких ты еще сценариях к базе решил сходить? обновить конфиг бд или вьюхи посоздавать?
Аноним 13/06/23 Втр 02:29:53 #102 №2730920 
>>2729992
result = list(map(lambda x: x[0], cur.fetchall()))
Аноним 13/06/23 Втр 08:25:28 #103 №2731008 
>>2730920
перезвоним
Аноним 13/06/23 Втр 09:28:47 #104 №2731040 
>>2730296
Если нет желания, то и начинать не надо.
Аноним 13/06/23 Втр 10:38:49 #105 №2731095 
>>2730296
Главный профит Яндекса - опытные код-ревьюверы, они реально внимательно смотрят твои проекты и дают советы, как сделать код хорошим.
Плюс теория, которая и так есть на пиратских сайтах.
И так называемый карьерный трек, где тебя натаскивают на прохождение собесов.

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

По факту остается только код-ревью и подготовка к собесам, но для этих целей проще и дешевле будет найти себе опытного ментора, который будет точно так же ревьювить твой код, устроит тебе мок-собес, и какого-нибудь эйчара/карьерного консультанта, который поможет по софтам.
Аноним 13/06/23 Втр 12:11:14 #106 №2731222 
Fnf-UXSWYAAyB9E.jpg
>>2731095
> Главный профит Яндекса - опытные код-ревьюверы, они реально внимательно смотрят твои проекты и дают советы, как сделать код хорошим.
Аноним 13/06/23 Втр 12:25:29 #107 №2731248 
>>2731222
напиши лучше.
Аноним 13/06/23 Втр 12:50:50 #108 №2731269 
>>2731095
>>опытные код-ревьюверы
Пробовал проходить у них курс когда работа давала возможность.
В итоге ради эксперимента решил сделать задачу но которая выглядит как верная, но полностью не выполняет условия задачи.
В итоге ревьювер мне нихуя не сказал, ничего не проверил насчет этого. Автотесты их проверили что это говно без ошибок запускается и поставили мне зачет.
После этого я тупо свалил от них. Ну нахуй этих дауничей.
Аноним 13/06/23 Втр 12:52:07 #109 №2731272 
>>2731248
Там за лямбду уже надо бить по ебалу. А вообще если такие умные то могли либо матч патерн заюзать или через dict сделать красивее, а не лепить вот это вот говно.
Аноним 13/06/23 Втр 13:11:29 #110 №2731286 
>>2731272
ну сделай хуле пиздишь только
Аноним 13/06/23 Втр 14:03:46 #111 №2731379 
>>2731008
Можешь пройти нахуй пидор мелкобуквенный. Пиши классы для простых функций и итерируйся по списке через O(n^2).
Аноним 13/06/23 Втр 18:22:50 #112 №2731720 
>>2731222
В Яндекс Практикуме ревьюверы не из Яндекса, а из разных российских компаний-лидеров отрасли.

>>2731269
Покажи ревью-репорт, выглядит неправдоподобно.
Аноним 13/06/23 Втр 20:12:41 #113 №2731915 
image.png
Как в питухоне вытянуть выделенную область пересечения двух множеств? (то что не попало в пересечение)
Аноним 13/06/23 Втр 20:39:08 #114 №2731945 
>>2731915
Желтое a ^ b, белое a & b.
Аноним 13/06/23 Втр 20:48:42 #115 №2731952 
>>2731915
сука, даже пакманов сделали геями. ну сколько можно, блядь
Аноним 13/06/23 Втр 22:46:45 #116 №2732116 
стоит ли применять ооп в маленьких играх на питоне?
Аноним 13/06/23 Втр 23:20:51 #117 №2732154 
>>2732116
Там боттлнек в графонии, который канпилируем. Твой ООП никакой погоды не сделает, а организация и порядок в плюс.
Аноним 13/06/23 Втр 23:22:25 #118 №2732156 
>>2731720
>>выглядит неправдоподобно.
А как оно должно было выглядеть? Что ревьюверы запускают твой код и глядят как он работает или просто просматривают его глазами на похуй?

>>Покажи ревью-репорт
Как ты себе это представляешь? Это было год назад

яндекс дурачек спок
Аноним 13/06/23 Втр 23:24:23 #119 №2732161 
>>2731286
у себя на работе за зарплату итак делаю.
делать за других бесплатно не хочу
Аноним 13/06/23 Втр 23:28:30 #120 №2732162 
Что скажете за книгу "легкий способ выучить Питон"?
Стоит ли с нее начинать путь в программирование?
Очень соблазнительно звучит использование Питона для автоматизации.
Аноним 13/06/23 Втр 23:56:04 #121 №2732187 
>>2732162
Учить ЯП по книгам, особенно когда ты смешарик, ничего не лапавший - крайне хреновая затея.
Единственный более менее адекватный способ изучать язык, это что-то калокодить и получать мгновенный фидбек от системы проверки/тестов и еще чего-то.
Если ты вообще зеро, то прочтение книги будет для тебя бесполезным и ты достаточно быстро дропнешь, когда поймешь, что ты не учишься идентифицировать повторяющиеся простые паттерны с повышением сложности задач.
Если хочешь уметь что-то накодить осмысленно, то возьми какой-нибудь бесплатный курс по петухону на степике, и читай параллельно какого-нибудь Лутца в качестве справочника, чтобы углубиться по пройденным темам.
Аноним 14/06/23 Срд 00:02:48 #122 №2732194 
image.png
>>2732156
>Как ты себе это представляешь? Это было год назад
Вот ты и спалился. Доступ ко всем пройденным материалам, проектам и ревью остается даже в случае, если ты съебываешь с курса.
Вот я например уже давно отчислился, а все ревью остались в личном кабинете.
Аноним 14/06/23 Срд 02:14:54 #123 №2732275 
>>2732187
Чушь несёшь. Смотря какая книга. Не все книги научные, заумные и полные теории.
Я когда-то вкатывался по книжке Python Crash Course. Там пол книги - практика. И я с абсолютного нуля смог начать благодаря ей.
Аноним 14/06/23 Срд 19:04:13 #124 №2732974 
>>2731272
Хот тейк: лямбды норм если маленькие и используются в HOF
Аноним 14/06/23 Срд 19:06:25 #125 №2732977 
>>2732187
>калокодить
каколдить
Аноним 14/06/23 Срд 19:46:42 #126 №2733012 
>>2732162
https://mitpress.mit.edu/9780262542364/introduction-to-computation-and-programming-using-python/
Книга идёт в нагрузку к курсу MIT 6.00.1X
https://www.edx.org/course/introduction-to-computer-science-and-programming-7
Это и введение в Питон 3.5 и в программирование.
Аноним 14/06/23 Срд 20:48:16 #127 №2733182 
image.png
image.png
>>2732194
это?
Аноним 14/06/23 Срд 20:49:37 #128 №2733185 
>>2732194
притом учти что я в прошлый раз замечания его пофиксил и потом его повторно же без проверки приняли.
Аноним 15/06/23 Чтв 06:33:08 #129 №2733495 
Дёргаю своего питона в трусах периодически. Есть ли сервис по поиску нормальных менторов на стрючконе ещё?
Аноним 15/06/23 Чтв 08:26:18 #130 №2733535 
Screenshot1.jpg
Screenshot2.jpg
Поясните откуда вот это поле появляется? orderitem_set
Оно само где-то сгенерировалось на основе Модели OrderItem?
Сложно понять вот это все.
Аноним 15/06/23 Чтв 14:23:23 #131 №2733896 
>>2733535
это такое же поле как и customer, например
просто это внешний ключ на OrderItem
Аноним 15/06/23 Чтв 18:39:50 #132 №2734242 
изображение.png
Я правильно понял, что fstring резолвится сразу при определении? Типа нельзя создать какую-то переменную-шаблон и потом её пересчитывать по ситуации, и для этого надо тащить полноценные тяжёлые системы шаблонизации?
Аноним 15/06/23 Чтв 18:50:53 #133 №2734257 
Что происходит?
https://www.youtube.com/@PROGRAMMER_SEREGA
Аноним 15/06/23 Чтв 19:25:05 #134 №2734303 
Не нашел тред по МашОб - спрашиваю здесь.
Я потихоньку учусь писать модели, недавно сделал парочку для распознавания капч. Сейчас решаю задачу от яндекса, нужно сделать классификатор, чтобы отличать мужской голос от женского.
Проблема в том, что в массиве для обучения аудиофрагменты разной длины.
Как лучше сделать, обрезать аудио до шумных моментов, чтобы каждое длилось секунду или дополнять пустотой, чтобы каждое длилось четыре секунды? Можно ли кормить модель файлами разного размера?
Аноним 15/06/23 Чтв 19:46:22 #135 №2734329 
>>2734303
Пройдись оконной функцией до какого-нибудь разумного интервала, заодно аугментацию получишь.
Аноним 15/06/23 Чтв 20:22:41 #136 №2734350 
>>2734242
>полноценные тяжёлые системы шаблонизации
>>> format = "Hello %s"
>>> format % "World"
'Hello World'
>>> format % "Dvach"
'Hello Dvach'
Аноним 15/06/23 Чтв 21:38:09 #137 №2734431 
>>2734350
Ну это совсем легаси, есть str.format, более близкий к f-стрингам.
https://pyformat.info/
Аноним 15/06/23 Чтв 22:00:18 #138 №2734460 
>>2734431
>'%s %s' % ('one', 'two')
>'{} {}'.format('one', 'two')
Мда, щас бы строки удлинять.
Аноним 16/06/23 Птн 00:47:02 #139 №2734620 
>>2734460
>>'{} {}'.format('one', 'two')
'{0} {1}'.format('one', 'two')
'{1} {2}'.format('one', 'two')
Аноним 16/06/23 Птн 07:37:33 #140 №2734692 
Без названия.jpeg
Я хотел бы спросить, как выучить питон с нуля полностью и бесплатно, помогите пожалуйста :(
Аноним 16/06/23 Птн 11:15:53 #141 №2734838 
>>2734692
Смотря для каких целей.
Аноним 16/06/23 Птн 11:19:52 #142 №2734847 
Сап, анчоусы.
Я не кодер и пока становиться им не планирую, но хочу частично автоматизировать свою работу. Если не вдаваться в подробности, то я наполовину менеджер, наполовину аналитик и у меня очень много всякого дроча в духе "сделать запрос в базу, выгрузить в эксельку, сверить данные внутри эксельки, потом сверить данные с отчетом в адинэске, потом сверить данные с заказчиком" и "проверить, что в результате расчетов цифры не вышли за пределы определенного диапазона и отправить их письмом". Задач, как вы понимаете, довольно унылые и примерно одинаковые, а времени моего отнимают дохера.
Вопрос в следующем: с чего мне лучше начать? Я посмотрел книжки из библиотеки наверху, но там очень много всякой теории, которая, думаю, мне пока особо не нужна. Посоветуйте, пожалуйста, курс/книгу/статьи/мануалы, ориентированные в первую очередь на решение вот таких практических типовых задач, как у меня.
Ну и да, совсем базовые знания у меня есть, могу простенький sql-запрос написать, понимаю в целом, как сложность алгоритма посчитать и т.д.
Аноним 16/06/23 Птн 13:31:39 #143 №2735027 
>>2734329
Извини за ламерские вопросы, но в каком смысле аугментацию?
Как я поверхностно нагуглил, аугментация это создание новых данных для обучения на основе старых. Мне нужны для обучения одинаковые фрагменты, и я вырезаю из сырых данных отрезки одинаковой длины с нужными данными (в данном случае, игнорирую тишину и вырезаю те места, где в аудио есть любой шум).
Короче говоря, если я первоначальные аудио нигде не использую, то где здесь аугментация? Или ты предлагаешь, например, из трехсекундного фрагмента вырезать пять двухсекундных и этим обучать?
Аноним 16/06/23 Птн 13:48:26 #144 №2735060 
>>2734838
Да чисто научиться программировать, интересно же :)
Аноним 16/06/23 Птн 14:14:32 #145 №2735085 
>>2734692
>>2735060
Пройди бесплатные курсики на степике.
Аноним 16/06/23 Птн 14:18:00 #146 №2735092 
>>2734847
Вот на это попробуй взглянуть: https://automatetheboringstuff.com/
Аноним 16/06/23 Птн 15:47:36 #147 №2735223 
image.png
>>2721548 (OP)
Пацаны, а че это вдруг он ничего не выводит, когда засовываю exc внутрь принта или логгера? Раньше же выводил вроде
Аноним 16/06/23 Птн 16:13:27 #148 №2735266 
>>2735085
Спасибки •√•
Аноним 16/06/23 Птн 19:48:46 #149 №2735575 
>>2734257
Фейк.
Аноним 16/06/23 Птн 19:55:35 #150 №2735580 
>>2735575
Ебать там кейвордов нахуярили в описании, лол.
Но нахуя, вряд ли там будет какая-то значимая подписота. Где перспективы для монетизации?
Аноним 16/06/23 Птн 20:14:36 #151 №2735590 
Аноны, на пайтоне можно приложухи для смартфонов делать? Есть такая практика?
Аноним 16/06/23 Птн 20:29:29 #152 №2735611 
>>2735590
Kivy Framework посмотри, для мелочи всякой без требований по части дизайна мб пойдёт
Аноним 16/06/23 Птн 21:34:37 #153 №2735739 
>>2735590
Технически можно, но нахуя? Каждый язык это инструмент, и он хорош в своей сфере применения.
Аноним 16/06/23 Птн 22:36:37 #154 №2735833 
>>2735739
Ну я знаком с синтаксисом питона и у меня есть богатый опыт написания программ правда другой направленности. А тут знакомый написал что у него есть гениальная идея для приложения для смартфона а ТЫЖПРАГРАМИСТ. Разумеется ради этой аферы новый инструмент я осваивать не буду, есть лимоны - надо делать лимонад.
Аноним 16/06/23 Птн 22:43:10 #155 №2735845 
>>2735833
Ну если приложением будешь пользоваться ты или узкое комьюнити - можешь использовать киви.
Аноним 17/06/23 Суб 01:32:00 #156 №2736033 
>>2735845
Скорее всего программа будет для для какой-то монетизации, а значит для широкого круга. Это что-то меняет?
Аноним 17/06/23 Суб 01:34:59 #157 №2736036 
>>2736033
Можно сделать МВП, а если взлетит, то уже делать сириус бизнес и нанимать разработчиков.
Аноним 17/06/23 Суб 02:41:05 #158 №2736041 
Screenshot20230617-063609.png
>>2731222
Уже 6 утра, готовился ко сну, а потом увидел это и как обзмеился на всю комнату!
Можно конечно печатать вручную эту хуиту, если ты смешарик, но хакеры делают вот так, как я.
Аноним 17/06/23 Суб 03:22:55 #159 №2736044 
>>2736041
Это платина питухонтреда, нюфань.
Аноним 17/06/23 Суб 12:35:59 #160 №2736152 
>>2736041
Ты зашквар.

На деле в сливояндексотреадах в /б, местная фауна не смогла сделать решение, которые одновременно 1) давала бы точно такой же результат, 2) была бы быстрее древа иф-элсов.

Вот и думойте теперь.
Аноним 17/06/23 Суб 13:25:46 #161 №2736192 
>>2736152
>2) была бы быстрее древа иф-элсов.
Что бы функция выполнялась быстрее на 1 наносекунду быстрее?
Аноним 17/06/23 Суб 13:51:14 #162 №2736222 
>>2736152
>Ты зашквар.
>=
>Вы все пидорасы. Но сам то я ниче показывать, конечно, не буду, а то самого еще говном ненароком обольют. Лучше посижу тут и умный вид поделаю.
Аноним 17/06/23 Суб 14:01:28 #163 №2736240 
>>2721548 (OP)
Я не понимаю, как учить-то ваше программирование? Вот я начал учить питон, освоил базовые операторы if/else/print и т.д. Но там этих операторов ещё дохулион. Я должен просто каждый из них учить отдельно, по очереди?
Я хочу сказать, что у меня этот материал не укладывается в единую картину и понимание того, как это всё вместе можно применить и для чего. Я придумываю сам себе простые идеи: типа создать массив, выделить из него там чётные/нечётные числа, напечатать только слова с большой буквы и т.д. Но это же простейшие банальные вещи. Я неделю позанимался и дропнул, потому что не видел в этом смысла.
Но сейчас хочу продолжить, т.к. соблазняют высокие зарплаты программистов и возможность переехать.
Подскажите мне, пожалуйста, что я делаю не так и в каком направлении двигаться новичку.
Аноним 17/06/23 Суб 14:28:50 #164 №2736260 
>>2736240
>как это всё вместе можно применить и для чего.
На первых порах всегда так. Первое что нужно сделать, это выучить все операторы полностью. Потом ключевые слова, модули, паттерны и т.д. И разбирать каждый пример по 100 раз до автоматизма, а потом сам начинаешь понимать где и как складывать.
Начать можешь отсюда:
https://www.w3schools.com/python/default.asp
Аноним 17/06/23 Суб 16:41:59 #165 №2736445 
>>2736240
>соблазняют высокие зарплаты программистов и возможность переехать.
Как бы тебе помягче сказать...
Поздно пить Баржуми, потому что отучиться и накопить денег до того, как тут железным занавесом все накроет для тебя времени уже не осталось, сладкий. Максимум будешь потом Великий Русский Файерволл обслуживать.
Аноним 17/06/23 Суб 17:03:58 #166 №2736471 
>>2736445
+15 хривен
Аноним 17/06/23 Суб 17:21:40 #167 №2736526 
>>2736471
Росиський паспорт показать?
Аноним 17/06/23 Суб 17:23:49 #168 №2736538 
>>2736526
С его бати подобрал?
Аноним 17/06/23 Суб 17:54:50 #169 №2736588 
>>2736240
>соблазняют высокие зарплаты программистов и возможность переехать
Ахахахах!111
Забудь про это, бариста-вкатун. Тут талантливые котята галеру найти не могут, а ты даже из под палки базовый синтаксис освоить не можешь, а о каких-то небесных кренделях размечтался.
Аноним 17/06/23 Суб 18:28:36 #170 №2736635 
>>2736526
Как будто он что-то значит, лол. У пидоров из РДК (запрещенного в России) тоже паспорта есть.
Аноним 17/06/23 Суб 18:34:52 #171 №2736644 
Почему к питону такой хейт со стороны программистов? В первую очередь почему-то от джаверов.

Такие вещи пиздец как демотивируют. Сидишь, стараешься, учишься, потом встречаешь очередной пост про то, что питон - ненастоящий язык, который используется только для обучения детей, и всё, минимум на неделю выпадаешь из режима, так как начинаешь хвататься за все языки подряд и искать что-то настоящее и серьезное.
Аноним 17/06/23 Суб 18:42:02 #172 №2736660 
>>2736644
>Почему
Так они же тебе сами написали почему - потому что питон это скриптовый\игровой язык для обучения детей что-то вроде AutoHotKey
Аноним 17/06/23 Суб 18:44:55 #173 №2736664 
>>2736644
Я джавер, обожаю питон.
Аноним 17/06/23 Суб 19:06:22 #174 №2736683 
>>2736644
>Почему к питону такой хейт
Потому что так устроен человек. Они всегда считают, что только то, что им близко лучше, чем все остальное. Сишники и вовсе считают все остальные языки говном и не важно - жава, питухон это или руби. А последние, в свою очередь, уже смотрят на PHP или HTML как на младенцев макак.
Аноним 17/06/23 Суб 19:10:29 #175 №2736685 
>>2736683
хотя все из них хорошо справляются каждый со своей функцией и такие споры это просто переливание мочи из одной бутылки в другую.
Аноним 17/06/23 Суб 19:22:16 #176 №2736698 
>>2735027
>из трехсекундного фрагмента вырезать пять двухсекундных и этим обучать?
это
Аноним 17/06/23 Суб 19:35:04 #177 №2736705 
>>2736644
Я как-то посидел джавсита поколупал это вопрос по существу. Итоговый тезис выкристаллизовался такой:
> В питоне нет вебфреймворка уровня спринга. Спринг - вершина эволюции, эти ваши фастапи - костыли и недоделки.
Аноним 17/06/23 Суб 19:39:19 #178 №2736708 
>>2736660
Почему ты так думаешь?
Аноним 17/06/23 Суб 19:41:11 #179 №2736711 
>>2736705
Ну да, джависты в наше время это спринг программисты.
Аноним 17/06/23 Суб 19:44:06 #180 №2736714 
>>2736644
>Такие вещи пиздец как демотивируют
Тя как это ваще ебёт? Главное что купюры шелестят, а кто больше программист а кто меньше программист это вы на соревнованиях по спортивному программированию выясняйте. Пойди ебать запишись на google code jam и там доказывай кто больший программист. Нахуя вы забиваете голову какими-то бреднями? Если продукт выпущен на рынок, работает, приносит профит, то и какая хуй разница на чём он написал? На visual basic, на питоне или на scala?
Аноним 17/06/23 Суб 19:52:10 #181 №2736725 
>>2736644
Я сам питонист, меня такое в своё время замотивировало несколько других ЯП выучить, ни о чём не жалею. Хотя питон не брошу - это как первая любовь всё таки, да и вакух много... Кста, по работе не раз встречал довольно компетентных разрабов которые взяли питон как второй или дополнительный ЯП, имея основной бэкграунд в джаве/шарпе
Аноним 17/06/23 Суб 20:00:25 #182 №2736732 
>>2736725
А работаешь в итоге с каким языком?
Аноним 17/06/23 Суб 20:07:48 #183 №2736741 
>>2736714
Ну, если уж быть совсем объективным, то некоторые языки и правда хуже. Например, я в программисты пошел только для того, чтобы вирусы писать, заниматься взломами и т.д А оказалось, что питон вообще-то не про это, но учить его все-равно не перестану пока в совершенстве не освою, а потом уже на C++ наверно перейду.
Аноним 17/06/23 Суб 20:20:07 #184 №2736754 
>>2736741
Похоже на какие-то оправдания. Что значит "в совершенстве не освою". Синтаксис, ООП, типы данных можно "в совершенстве" освоить за месяц, тем более все эти понятия общие для всех языков. А модули, фреймворки и всё остальное говно освоить невозможно полностью, потому что его бесконечное количество - ты берешь из этого океана то что нужно для работы.
Аноним 17/06/23 Суб 20:33:35 #185 №2736767 
>>2736732
>А работаешь в итоге с каким языком?
Аноним 17/06/23 Суб 20:42:47 #186 №2736778 
>>2736732
Да всё так же с питоном

>>2736767
Гыгы
Аноним 17/06/23 Суб 20:52:36 #187 №2736790 
Стикер
>>2736767
>1С
Кстати в два раза лучше питона. Потому что выполняет свои узкие задачи. А питон ни туда ни сюда, хочет везде применяться, но в итоге в каждой области находится более специализированный инструмент. Таким образом питон вытесняется на обочину во всех сферах и потому его справедливо поносят. Он как бы и прикладной, но округление в нем не человекопонятное, он как бы и должен быть эргономичным но подкопотная о-нотация в нем такая хуевая, что элементарные алгоритмы выполняются там архимедленно, как будто диды-основатели специально саботировали свой язык. Ну и GIL конечно. Язык тролль, язык школьник, язык ни рыба ни мясо.
Аноним 17/06/23 Суб 20:57:48 #188 №2736798 
>>2736754
>в совершенстве не освою
Если субъективно, то совершенство для меня это уровень сеньера. Нельзя потратить всего каких-то пол года на изучение, а потом уже переходить к следующему языку. Так одна каша в голове будет, и узконаправленный специалист стоит сотен кодомакак как по мне.
Аноним 17/06/23 Суб 20:58:15 #189 №2736801 
>>2736790
Как будто в сфере бизнес-приложений нет инструмента лучше, чем 1С.
Аноним 17/06/23 Суб 21:14:18 #190 №2736823 
>>2736790
Что вы с этим иГИЛом носитесь, уже давно всё I/O-bound перекатилось в асинк, а какие-то числодробилки писать на бидоне это изначально идиотская затея.
Аноним 17/06/23 Суб 22:29:13 #191 №2736879 
>>2736798
>Если субъективно, то совершенство для меня это уровень сеньера
Если говорить про то, что спрашивают на собесах для оценки сеньористости, то это несколько книг по языку, просмотр конференций и иногда поедание говна когда на работе пытаешься понять причину поведения.
Только вот код писать это не особо поможет, лул, у меня он как говно выглядит, зато собесы прохожу влет.
Аноним 18/06/23 Вск 00:06:32 #192 №2736933 
>>2736192
Чел, это в /б было. Там додики не могли воспроизвести такой же вывод, как яндексоида. А хитрая математика основанная на делениях, внезапно, оказалась медленней.
А как дело дошло до того, чтобы это сделать на таблице произвольного размера, так сразу сисяны начали дристать под себя.
Аноним 18/06/23 Вск 01:03:33 #193 №2736954 
image.png
>>2734242
Аноним 18/06/23 Вск 01:52:20 #194 №2736963 
>>2736644
Без питона как минимум современный датасаенс представить невозможно, это уже де факто стандарт. Может для продуктовой разработки он не настолько хорош как статически типизируемые компилируемые ЯП, но для всяких небольших программ, которые нужно по быстрому написать и они не требовательны к ресурсам, он идеален. Консольный файловый менеджер Ranger например написан на питоне. Да и не нужно забывать, что на бэке часто используются не менее, если не более ебанутые языки, вроде похапе или жс. Так что хуй знает, что там жаберы пиздят.
Аноним 18/06/23 Вск 07:12:24 #195 №2737015 
>>2736954
годнота пошла!
Аноним 18/06/23 Вск 12:01:23 #196 №2737144 
>>2725084
>>Я застрял где-то на планке 3,3 тысячи долларов в месяц
>И чё те ещё надо, собака? Мало платят?
Если жить в европках, то это нихуя не высокая ЗП, там ЖКХ, жильё, налоги легко съедвают 1,5-2k$ (в грециях с италиями), а то и под 2-3k$ (во франциях с германиями). Остатки уйдут на медицину и прочие услуги, так что жрац придётся мягко говоря не деликатесы.
Аноним 18/06/23 Вск 12:35:48 #197 №2737166 
Какое мнение двачеров о Mojo?
Не нужный кал или душитель питона?
Аноним 18/06/23 Вск 13:05:05 #198 №2737191 
>>2725084
>И чё те ещё надо, собака?
Вот тебе не хватает мозгов.
Хорошо работать в богатой стране, но жить в дешёвой бедной. Там-то цены охуеешь. 2к за нормальную хату, а не конуру с клопами в чёрном районе.
Аноним 18/06/23 Вск 13:21:59 #199 №2737197 
>>2737166
>Какое мнение двачеров о Mojo?
Не вышел в адекватное свободное пользование.
Пока ощущается как попытка сделать тайпскрипт на петухон.
Приживется или нет - время покажет.
Аноним 18/06/23 Вск 15:44:26 #200 №2737318 
Nuitka - это охуеть. Это как вообще?
Аноним 18/06/23 Вск 16:53:43 #201 №2737386 
>>2737166
Пока что непонятная поделка находящаяся в зародыше.
Аноним 18/06/23 Вск 18:23:57 #202 №2737496 
>>2737166
а это что за аниме?
Аноним 18/06/23 Вск 18:34:34 #203 №2737511 
screenshot61.png
screenshot62.png
>>2726333
>они используют орм. Зачем?
Чтобы абстрагироваться от СУБД. Типа "зачем учить скуль, если можно не учить скуль".
> Сырыми sql-запросами же гораздо приятнее и удобнее манипулировать
Предлагаю перейти на следующий шаг (я как раз свой пэт перевожу, пока нравится подход): сделай из СУБД интерфейс - насоздвавай там хранимок для внесения данных и вьюх для получения, потом можно перекрыть доступ к таблицам, вот это - тема. Так ты и ИБ закроешь (а то бывало такое...✱), и внутреннее устройство будет защищено, и скуль может быть быстрее (а может не быть).
✱См. пик. На одном не особо крупном сайте я получил вот такое вместо окна комментария. Если присмотреться, то из-за употребления у меня в тексте камента символа ['] (апостроф или одиночная кавычка) возникает уязвимость, на втором скрине - примерный вид камента, который просто снёс бы все каменты в системе вообще. КХУЯМ.
Аноним 18/06/23 Вск 18:49:52 #204 №2737533 
>>2726992
>а ты еще представь как все эти миграции в проде придется прокатывать и не проебаться нигде.
Liquibase
Аноним 18/06/23 Вск 18:51:17 #205 №2737534 
>>2737166
если будет совместимость с нативным питоном то будет бомба, а так хз, нахуя нужна еще одна джулия?
Аноним 18/06/23 Вск 19:57:01 #206 №2737577 
>>2729869
>по приколу или слабоумию юзали мускул и клик для разных, но очень связанных данных
Забавно. Но в принципе в этом может быть смысл. Например, Glaber работает похоже, если я тебя правильно понял. И там в этом есть смысл.
Аноним 18/06/23 Вск 20:13:22 #207 №2737588 
>>2732116
От игры. Если это текстовый квест, то вряд ли получишь профит (хотя и хуже не будет). А вот если какой-нибудь экшон, то, скажем, врагов делать экземплярами класса со своими параметрами - прям вообще маст хэв.
Аноним 18/06/23 Вск 20:15:37 #208 №2737590 
>>2732154
>Там боттлнек в графонии, который канпилируем.
Опять же от игры, но даже если взять графонодроч, то он реализуется не на пистоне, а на Vulkan'е, и томоза (действительные или мнимые) от питона зависеть не будут.
Аноним 18/06/23 Вск 20:34:40 #209 №2737612 
>>2736644
>к питону такой хейт
Потому, что все ЯП относятся к одной из двух категорий: мёртвые и те, которые ругают.
Но ненависть жавистов и сишников имеет понятные корни: на Питоне писать проще и быстрее, поэтому если сидит два человека и решают одну задачку, то питонист её решит быстрее. Потом доработает, переделает пару раз и, в конце концов, получит готовый проект, когда у сишника будет версия 0.1 pre-alpha. Но при этом код на питоне будет работать медленнее (как правило некритично медленно, но всё же) и на фоне сишного монстра это будет выглядеть как поделка из лего.

Истина на самом деле примерно посередине: в идеале ты сначала берёшь питониста, он за несколько итераций делает тебе конфетку, потом натравливаете профайлер и находите 1-5% самого тормозного кода и просите сишника по уму реализовать ВОТ ЭТОТ небольшой кусочек, который потом подключится как so-шка. И так часто делают те, у кого котелок варит.
Аноним 18/06/23 Вск 20:51:23 #210 №2737625 
>>2736801
Тут надо знать, что есть 1С. И отдельно знать, кто пишет для эски конфигурации. И я не знаю даже близких ЯП, делающих то, что дедает он лучше. Из одного запроса, накликанного мышкой, генерируется целый бизнес-процесс, это тема.
Если захочешь приблизиться, то самым близким станет... Всё-таки Питон, но для него нужно будет целый фреймворк написать.
Аноним 18/06/23 Вск 21:04:03 #211 №2737639 
>>2737612
Groovy — динамический, гибкий, при этом хорошо совместим с Java, а ещё пробелы не влияют на компиляцию. Чем не вариант?
Аноним 18/06/23 Вск 21:58:04 #212 №2737707 
>>2737639
используй, так быть может он совсем не помрёт. плюс на жабе в принципе тоже много сторонних пакетов/модулей/либ, так что камом, перекатывайся в жабатред.
Аноним 18/06/23 Вск 22:12:09 #213 №2737717 
>>2737612
>ВОТ ЭТОТ небольшой кусочек, который потом подключится как so-шка.
У ffi есть один большой недостаток, это то, что приходится руками переводить данные в понятный для него формат. Т.е. случайный объект взять и передать либе ты не можешь, тебе нужно объяснить сишке, что это за объекты. Есть конечно библы с поддержкой numpy для C++ (pybind11 например), но в общем случае придется заморочиться.
Или вот есть у тебя бутылочное горлышко в виде императивного алгоритма с вложенными циклами, где внутри цикла вызывается какая то функция или метод над определенным питоновским объектом (не numpy массив), типа как в сортировках есть колбэк на оператор сравнения. Возьму конкретный пример -- фигуры в shapely и перегруженные операторы & и | для них. Сами то циклы ты может и перепишешь на Си, а как передать туда объекты shapely и тем более функции для них? Придется конвертировать шейпы в список вершин и переписывать алгоритмы объединения и пересечения. Там, где я такую задачу встретил, переписывание на C++ будет оверкиллом и код вполне летает и на питоне, но тем не менее, такая ситуация вполне может встретиться.
Может, я что-то не знаю, если кто много работал с ffi, можете оспорить или дополнить.
Аноним 18/06/23 Вск 22:16:26 #214 №2737720 
>>2737639
Clojure динамический, тоже JVM и по крайней мере не дохлый.
Аноним 18/06/23 Вск 23:11:17 #215 №2737758 
>>2732154
>>2737588
>>2737590
Какие-то вредные советы ИТТ. Если у чела встает вопрос ООП или НЕТ, значит он нюфаг. А это значит, если он будет делать не в ООП то у него будет монструозная каша, в которую он уже не сможет вносить изменения через месяц. ООП же в первую очередь для человека нужно.

Вообще не вижу смысл делать хоть что-то без ООП, разве какие-то совсем микроскопические проекты на 1000 строк.
Аноним 19/06/23 Пнд 01:19:52 #216 №2737838 
>>2737758
ну ну, 1000 строк для нюфака не дом гори.
Аноним 19/06/23 Пнд 01:32:05 #217 №2737839 
>>2737758
В Го и Расте нет ООП в привычном понимании, там тоже весь код -- каша по этой логике? Или для тебя ООП -- это вызов функции через точку? Так это кроме полиморфизма в питоне само по себе ничего не дает.
Аноним 19/06/23 Пнд 02:53:21 #218 №2737849 
>>2737839
ООП нужен нюфагу в первую очередь для того, чтобы код состоял из упорядоченных абстракций. Без этой парадигмы у нюфага 100% получается каша, которую автор сам прочитать не сможет уже через неделю.
Аноним 19/06/23 Пнд 10:02:28 #219 №2737928 
>>2737849
Вот тут хз. Если ньюфаг будет на каждый чих делать класс, то лучше не станет. Ньюфагам лучше советовать не слишком сильно угорать по ооп и объектам, а научить правильно декомпозировать кашу на что угодно.
Когда вел петухон у непогромистов в шараге, огромную часть времени потратил на то, чтобы вдолюить в мелкие биологические головешки тот факт, что надо разделять код на модули.
Аноним 19/06/23 Пнд 12:04:10 #220 №2738017 
Питонитсты-алгоритмисты, поясните такой момент, пожалуйста.
Например, есть функция:
def func1(s):
__l=[]
__for i in s:
____l.append(i+1)
__return l

Тут, насколько я понимаю сложность O(n).
Теперь перепишем функцию:
def func2(s):
__for i in s:
____yield i+1

Если я сделаю ее вызов:
for n in func2(s):
__print(n)

То какая будет сложность ? O(n^2), раз у нас два цикла - в функции и при вызове?
Или ч что-то не понимаю?
Получается, при экономии памяти функции-ненераторы делают все медленнее?
Аноним 19/06/23 Пнд 12:45:04 #221 №2738061 
>>2737928
Ты - препод?
Или обычный инженер?
Аноним 19/06/23 Пнд 12:48:50 #222 №2738063 
>>2737717
>код вполне летает и на питоне
Значит, этот код не трогай. Питон медленный не в принципе вообще весь, а просто у него есть хуёво работающие места, практика коллег покаызвает, что в больших проектах нужно ускорить очень небольшие участки, если прям пичот.
Впрочем, и это нужно редко, в конце концов там, где используется питон CPU-bound актуален сильно меньше, чем I/O-bound (ну или питон там используется для связки сишных модулей, как в ML/DS).
Аноним 19/06/23 Пнд 12:57:57 #223 №2738073 
>>2721548 (OP)
Какие либы ставите обычно внутрь контейнера с питоном? Использую чаще всего python:%VERSION%-slim с вот такими пакетами:

ARG BUILD_PACKAGES="gcc g++ software-properties-common apt-transport-https apt-utils gnupg1 libcurl4-openssl-dev libssl-dev git-core python-setuptools"
ARG BUILD_DEPS="netcat ca-certificates"
Аноним 19/06/23 Пнд 13:27:17 #224 №2738105 
>>2738017
О(n) никуда не делось. Вложенных же циклов у тебя нет

Но генераторы и правда немножко замедляют процесс
Аноним 19/06/23 Пнд 13:45:38 #225 №2738146 
image.png
Решил попробовать перейти с VS Studio на VS Code всё вроде бы хорошо и где-то даже лучше, но при нажатии F5 приходится выбирать как его запустить и выбирать папку для файлов что слева. Он что не сохраняет настройки среды?
Аноним 19/06/23 Пнд 15:12:18 #226 №2738245 
>>2738146
разобрался
Аноним 19/06/23 Пнд 15:56:35 #227 №2738315 
Допустим, я беру срез строки:
str555[-2:]
Можно ли развернуть этот срез через указание шага и не создавая новые переменные?
Если сразу взять str555[-2::-1], получается херня какая-то.
Аноним 19/06/23 Пнд 16:07:07 #228 №2738334 
>>2737849
Если ты используешь классы и методы вместо структур (датаклассов/диктов) и функций, принимающих в качестве первого аргумента ту или иную структуру, то это не ООП, а синтаксический сахар над обычной процедурщиной.
ООП про рантайм диспатч и иерархии классов, а в пет проектах это оверкилл.
Аноним 19/06/23 Пнд 16:27:31 #229 №2738373 
compact.png
>>2738315
Аноним 19/06/23 Пнд 16:48:16 #230 №2738406 
>>2738334
Чел от шизы таблетки есть. Пей таблетосы, что доктор прописал, а не выясняй что является истинным ООП.
Аноним 19/06/23 Пнд 17:19:12 #231 №2738441 
>>2738406
Ок, признаю, для нормис и вкатунов вызов функции через точку это и есть ООП.
Аноним 19/06/23 Пнд 17:31:55 #232 №2738457 
>>2738441
Для динамических языков да. См Smalltalk, Ruby. Определение ООП от автора этого самого ООП и смолталка.
Аноним 19/06/23 Пнд 18:19:32 #233 №2738555 
Сап питонач. Нужна ваша помощь, ибо гопота предлагает какую-то фигню не рабочую. Нужно написать код, который максимально загрузит процессор в однопотоке.
Аноним 19/06/23 Пнд 18:50:10 #234 №2738609 
>>2738555
Google, recursive factorial python
Аноним 19/06/23 Пнд 19:00:54 #235 №2738613 
>>2737758
>Вообще не вижу смысл делать хоть что-то без ООП, разве какие-то совсем микроскопические проекты на 1000 строк.
Ну, если это будет таки текстовый квест, например, то там прям уапсче от классов никакого плюса.
А в целом вот этот антон прав:
>>2737928
>не слишком сильно угорать по ооп и объектам, а научить правильно декомпозировать кашу на что угодно.
Да, две функции по 30 строк лучше, чем одна на 45 для понимания, даже если они неразрывно связаны. Но это не имеет никакого отношения к ООП.
Аноним 19/06/23 Пнд 19:06:41 #236 №2738623 
>>2738073
>Какие либы ставите обычно внутрь контейнера с питоном?
Те, которые нужны для работы конкретной программы. Как же иначе?
> gcc g++ software-properties-common apt-transport-https apt-utils gnupg1 libcurl4-openssl-dev libssl-dev git-core python-setuptools
Нахуя тебе это всё? Если так уж нужно, собери сначала вилы в мультистейдже, а потом - инсталлируй их пипом в образ, где они будут использоваться.
Аноним 19/06/23 Пнд 19:11:37 #237 №2738627 
>>2738315
> получается херня какая-то.
А что ты хочешь-то?
Вот у тебя строка:
>>> from string import ascii_lowercase
>>> ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
Дальше ты берёшь от неё срезы:
>>> ascii_lowercase[-2:]
'yz'
>>> ascii_lowercase[-2:][::-1]
'zy'
>>> ascii_lowercase[:-3:-1]
'zy'
Так?
Аноним 19/06/23 Пнд 19:51:57 #238 №2738666 
Стоит ли учить python ради машинного обучения ?
Или другие языки подойдут ?

P.S. - курсовая по нахождению обьектов при чтении входного потока камеры на raspberry pi.
Аноним 19/06/23 Пнд 20:21:46 #239 №2738684 
>>2738666
Стоит. Подойдут.
Аноним 19/06/23 Пнд 20:55:47 #240 №2738708 
>>2738334
>это не ООП, а синтаксический сахар
Но ведь суть явления определяют свойства, которые характерны явлению во всех его проявлениях. ООП это общее размытое обозначение некоего стандарта индустрии, без четких границ. Даже "три столпа" ООП не во всех языках реализованы. Таким образом ООП это просто условность, обозначающая упорядоченный по принципу объектности-субъектности код, а всё остальное - просто частности.
Аноним 19/06/23 Пнд 21:37:03 #241 №2738738 
>>2738684
>другие языки подойдут ?
или
>учить python
а ?
Аноним 19/06/23 Пнд 21:38:22 #242 №2738740 
>>2738738
Да.
Аноним 19/06/23 Пнд 21:51:31 #243 №2738747 
>>2738105
Поясни такую вещь за генераторы. Вот все говорят "генераторы экономят память". Прям все преподы как один, как будто заучили мантру.
А где конкретно в какой точке эта экономия памяти то? Что под этим имеют в виду?
"Память экономится" в том смысле что ты перезаписываешь переменную в бесконечном цикле и gc просто потом очищает память? Так это и в обычном цикле сделать можно, при чем тут именно генератор? Или у gc какое-то особое поведение с генератором?
Аноним 19/06/23 Пнд 22:08:23 #244 №2738768 
>>2738747
Тебе нужно проитерировать миллиард значений, которые могут быть вычислены, есть вариант сделать это через массив предварительно записав туда все значения и сохранив их в памяти, а есть вариант через генераторы, получая значения по необходимости. Так например работает итерация файлового дескриптера, который ты через open получаешь. И погугли про ленивые вычисления.
Аноним 19/06/23 Пнд 22:14:25 #245 №2738771 
>>2738768
Т.е. генератор "экономит память" потому что он... итератор. Ясно.
Аноним 19/06/23 Пнд 22:34:25 #246 №2738795 
image.png
image.png
>>2738747
>Такое и в обычном цикле сделать можно
В цикле ты перебираешь значения иммутабельного объекта range, если говорить о `for i in range()`
Его можно реюзать
Да, если это именно классическое `for i in range()`, то по итогу, поскольку объекту не будет назначено имя, он просто удалится после отработки рейнджа, но в процессе будет в памяти весь, целиком
Генератор же надо перезапускать, чтобы заново заюзать, он типа попроще
Что-то я уже мысль потерял, короче, хуй его знает, что там по памяти экономнее, лишь бы код работал как надо и читабельный был, наверное, мне вообще самому интересно узнать
мимонуфаня месяц питона
Аноним 20/06/23 Втр 00:20:57 #247 №2738923 
Испытываю удачу - есть вот такой код (телеграмм-бот на pyTelegramBotAPI):

elif call.data == 'search_chapter':
chat_id = call.message.chat.id
msg = bot.send_message(chat_id, "Введите номер главы манги, которую вы ищете:")
handle_search_chapter_input(chat_id,msg);


def handle_search_chapter_input(chat_id,msg):
try:
manga_name = chapter_selection[chat_id]['manga_name'] # Получаем значение manga_name из словаря
chapter_number = msg.text
conn = sqlite3.connect('manga_bot.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM chapters WHERE manga_name=? AND chapter_number=?",
(manga_name, chapter_number))
chapter_data = cursor.fetchone()
conn.close()
if chapter_data is not None:
chapter_title = chapter_data[3]
chapter_url = chapter_data[4]
chapter_number = chapter_data[2]
result_message = f"Глава {chapter_number}: {chapter_title}\n\nСсылка на главу: {chapter_url}"
bot.send_message(chat_id=chat_id, text=result_message)
else:
bot.send_message(chat_id=chat_id, text="Некорректный номер главы. Пожалуйста, введите число.")
except ValueError:
bot.send_message(chat_id=chat_id, text=".")


Проблема в переходе к функции handle_search_chapter_input - после того, как я нажимаю кнопку Поиск (call.data == 'search_chapter':) - он присылает мне сообщение с просьбой ввести номер, после чего не дожидаясь от меня сообщения, сразу же присылает сообщение, что номер главы некорректный.
Получается, что он определяет это значение как пустое и передает его в следующую функцию, из-за чего она всегда выкатывается с одинаковым результатом. Как мне это пофиксить?
Аноним 20/06/23 Втр 00:25:55 #248 №2738927 
>>2738923
Он у тебя будто свое же сообщение и съедает, ты присваиваешь msg значение bot.send_message(), а потом msg передаешь в функцию
Аноним 20/06/23 Втр 10:57:13 #249 №2739111 
>>2737533
>>Liquibase
...........................................
пиздец
Аноним 20/06/23 Втр 11:57:09 #250 №2739167 
>>2738738
Питон -- это де факто стандарт МО, для него больше всего современных уроков, библиотек и проектов. Если тебе пиздец нужно на другом языке, то можно на другом, если например Машоб -- это небольшая часть проекта, написанного не на питоне, или модель должна запускаться на железе, которое питон не тянет, например, эмбеддед какой-нибудь. Но даже там можно тренить модель на питоне, а деплоить ее на C++.
https://pytorch.org/tutorials/advanced/cpp_export.html
Распбери должен тянуть питон по идее, даже деплоить на C++ возможно не придется, так что смотри сам.
Аноним 20/06/23 Втр 12:03:52 #251 №2739174 
>>2738747
Вот нужно тебе загрузить с диска 1000 фотографий, обработать их и записать на диск. И ты по какой то причине захотел это сделать не в одном цикле, а сначала загрузить все фотографии, потом их всех обработать, и потом все записать. В список тебе придется реально грузить все фото, а генератор просто запомнит как это сделать и будет грузить их по одному, когда ты начнешь его разматывать в цикле.
Но это не повод все списки превращать в генератор, это будет преждевременной оптимизацией. Нет, видишь, что приложение жрет много памяти, прогнал через мемпрофайлер, увидел огромные списки по несколько гигов и только тогда превратил их в генераторы.
Аноним 20/06/23 Втр 15:36:52 #252 №2739445 
Блять. Я здесь выговорюсь после сдачи ужасно сложного проекта на Sagemath. Мне пофиг, что это больше, чем Пайтон.

СУКА, КАК ЖЕ БЕСИТ. При каждом чихе нужно прогонять заново все куски кода, рассованные по блокам, иначе привет, старые значения и ошибки в расчётах.
НЕТ НОРМАЛЬНОЙ ЕДИНОЙ ДОКУМЕНТАЦИИ. Я узнала о функциях для матриц от друга, а не от ёбаной туевой хучи сайтов, потому что эта хрень поглотила много библиотек типа numpy, а свести все доки в одно место и под один формат - хуй.

Сгори в аду, порождение математического угара. Я забуду о тебе, как о страшном сне.
Аноним 20/06/23 Втр 15:50:37 #253 №2739460 
>>2739445
Дашь полизать писечку?
Аноним 20/06/23 Втр 16:16:37 #254 №2739485 
>>2739460
разве что отсосать дам
наличие болта в штанах ничего хорошего мне не приносит
Аноним 20/06/23 Втр 16:19:11 #255 №2739492 
тупая шутка про то что в айти половина девушек - с сюрпризом и вообще акула чулочки линух
Аноним 20/06/23 Втр 16:19:28 #256 №2739493 
>>2739445
>от друга
От симпа
Хватит морочить парню голову, скажи прямо, что ты ему не дашь
Аноним 20/06/23 Втр 16:21:42 #257 №2739497 
>>2739493
курящий моаи сука, почему тут все такие озабоченные
Аноним 20/06/23 Втр 16:22:18 #258 №2739500 
Какова условная вероятность P(G = f | а) наличия писечки у автора, если в абзаце текста по крайней мере один из глаголов оканчивается на букву а?
Аноним 20/06/23 Втр 16:24:52 #259 №2739501 
>>2739500
ML-шики подсчитайте пжлста
Аноним 20/06/23 Втр 17:16:59 #260 №2739560 
>>2739500
1 pronouns упоминаний в женском, 0 pronouns в мужском. Если считать в процентном эквиваленте, то вероятность сочной, ароматной, мясистой THICK ASS этом треде равно 100% процентам.
Всем приготовить сухие салфетки и баночки для сбора мочи.
Аноним 20/06/23 Втр 17:27:29 #261 №2739578 
Что можно использовать для переводов текста, кроме gettext? У меня больше 2 языков
Аноним 20/06/23 Втр 17:29:40 #262 №2739580 
>>2739497
Если бы мальчики не были озабоченными, они бы с вами не общались и не помогали. Что мы думаем об одном, это, конечно, правда, но вот только средняя сельдь только это одно предложить и может. Так что радуйся, сельдь.
Аноним 20/06/23 Втр 18:16:03 #263 №2739623 
Есть мнение, что сельдь не может быть чем-то выше чем кодомакака потому что от природы в любой селедке заложено вниманиеблядство и социоблядство. Встроенные функции заставляют её тратить время и силы на привлечение к себе взгялдов, симпов и хуев.
Тогда как увлеченный гик обмазывается доками, месяцами и годами забывая про сон и еду как шизофреник упарывает материал и только достигнув каких-то промежуточных результатов может уделить время другим вещам.
Аноним 20/06/23 Втр 21:09:20 #264 №2739847 
>>2739578
def _(text: str, _: dict = json.loads(Path(__file__).parent.joinpath('i18n.json').read_text(encoding='utf-8'))) -> str:
____lang = locale.getdefaultlocale()[0]
____if lang in _:
________if text in _[lang]:
____________return _[lang][text]
____return text
Аноним 21/06/23 Срд 08:42:19 #265 №2740129 
>>2739847
Аноны смотрите. В этом примере анон по два раза обращается к ключу в словаре. Он его сначала проверяет "if lang in _" - это о(1), а потом ещё раз проверяет и берет "_[lang]" т.е. опять выполняет то же самое действие о(1).
Правильно ли в таких случаях брать ключ с помощью get() в переменную и уже смотреть эту переменную?
var = _.get(lang)
if var: pass
Аноним 21/06/23 Срд 09:10:31 #266 №2740142 
>>2740129
Зато проебешь на .get.
Прогоны сто тыщь мильйонов раз оба варианта (как это и происходит в реальных проектах) и сравни.
В целом это преждевременная оптимизация.
Аноним 21/06/23 Срд 14:00:59 #267 №2740507 
я если захочу отправлять горячие клавиши в конкретное окно уже запущенное работающее на постоянке(дискорд) то мне через Subprocess пытаться? или есть другое чё нибудь
зелёный
Аноним 21/06/23 Срд 18:04:06 #268 №2740753 
>>2739111
Зато решает вопрос миграций раз и навсегда для любых архитектур.
Аноним 21/06/23 Срд 21:16:00 #269 №2740961 
>>2737318
Беру свои слова назад.
Аноним 21/06/23 Срд 21:23:56 #270 №2740971 
>>2740142
Ничего я на гет не проебу. Тот же самый вызов ключа, я таким образом просто один вызов ключа меняю на бесполезную переменную. И без замеров понятно что проверить является ли переменная None это быстрее чем взять значение из словаря, но меня просто бесит тот факт что джва раза одно и то же действие выполняется. Это же некрасиво и непродуктивно. Раз мы что-то берем из словаря так надо это использовать.

А вообще вопрос был про культуру письма так сказать. Как более правильно, и не считаю это какой-то оптимизацией я вот всегда так делаю уже автоматом.
Аноним 21/06/23 Срд 21:30:18 #271 №2740977 
>>2739578
Чем тебе gettext не устраивает? Там хоть 80 языков и перевод автоматизировать можно, нахуя велосипед?
Аноним 21/06/23 Срд 21:32:08 #272 №2740978 
>>2740971
Ебать ты додик, перезвоним.
Аноним 21/06/23 Срд 21:36:05 #273 №2740979 
>>2737318
> Это как вообще?
>>2740961
Если я правильно понимаю, то оно просто пакует виэнв с кодом в один слой, прикидывающийся бинарником. Ни ускорения, ни уменьшения объёма, никакой магии. Так что почему бы и нет?..
Аноним 21/06/23 Срд 21:43:05 #274 №2740984 
>>2740129
> В этом примере анон по два раза обращается к ключу в словаре.
Если ты схоронишь значение в словарь, то в развороте ты получишь три обращения по ключу вместо 4. Потому что любое обращение к переменной в питоне это обращение к словарю vars() по имени переменной. Примерно так, см.:
>>> a = 1
>>> vars()["a"]
1
>>> vars()["b"] = 2
>>> b
2
Аноним 21/06/23 Срд 22:09:04 #275 №2740994 
>>2740984
Хм. Ясно. Спасибо.
Аноним 21/06/23 Срд 23:53:29 #276 №2741024 
Дочитал книжку о питонячей асинхронке. Получается вообще все сетевое взаимодействие сводится к чтению байтов из сокетов и их парсингу?
Аноним 21/06/23 Срд 23:55:27 #277 №2741025 
>>2741024
ахуеть открытие
в вузе ты не учился видимо
Аноним 21/06/23 Срд 23:59:59 #278 №2741028 
>>2741025
Учился, лул, специальность 02.03.02, протоколы и их отличия разбирали, но чего-то уровня парсилки http не делали
Аноним 22/06/23 Чтв 00:23:24 #279 №2741036 
>>2741028
>фундаментальная информатика
>не знает фундамента
ебать додик
Аноним 22/06/23 Чтв 02:22:10 #280 №2741075 
Реально ли в реббите посылающему (publisher) получить уведомление о том что его сообщение было взять потребителем (consumer) из очереди?

например через aio-pika
Аноним 22/06/23 Чтв 05:42:07 #281 №2741092 
>>2725049
В тред врывается IT-тян, и проводит тебе пелоткой по губам. Скорее всего ты лентяй, оп. У нас в оффисе все программисты получают минимум 150к, и это даже не джуниоры, а какие то духи 16-ти летние после школы. Я Синьор спешалист по саппорту, сижу на телефоне и решаю проблемы клиентов, у меня ЗП 500к+ премии, я всего добилась сама, в 20 лет у меня Х6М ProSport Elite Tunning изсалону, элитный тюнинг, занижение -10, музыка HarmanCardon по спецзаказу на 3 миллиона, всего 5 машин в мире, хата на Кутузовском двухуровневая, дом в Италии и земля в Айдахо, на старости заведу ферму и буду пасти там коров. Или что там делают старые фермеры, не знаю. Причём у меня нету богатых родителей, нету отца, мне в 16 лет было нечего есть. Я всего добилась сама и своим трудом. А местных петухариусов, которые создают нытик треды мне искренне жаль, честно. Надо было учиться, а не бухать по подъездам, ныть на дваче и сидеть на шее у мамок.
Аноним 22/06/23 Чтв 06:23:20 #282 №2741098 
>>2741024
Мог просто статью в википедии прочитать.

Я никогда не пойму, какого хуяникто не читает википедию, в которой написано всё.
Аноним 22/06/23 Чтв 10:38:40 #283 №2741227 
>>2741092
Забери меня к себе, я молодой и красивый. Буду твоим рабом.
Аноним 22/06/23 Чтв 10:57:08 #284 №2741241 
>>2740753
та же джанговская орм так же это решает.
и?
Аноним 22/06/23 Чтв 10:58:27 #285 №2741242 
>>2739847
>>dict = json.loads(Path(__file__).parent.joinpath('i18n.json').read_text(encoding='utf-8'))
Чо это за говно ты насрал в параметры функции?
Аноним 22/06/23 Чтв 12:45:00 #286 №2741317 
Бля, я щас код отправил на собес, а они уже два дня не отвечают. Наверное поржали и забили хуй на меня. Можете оценить, стоит свой репозит вообще работодателям показывать или кринж?

https://github.com/Shapestack/ExamplesOfMyWorks
Аноним 22/06/23 Чтв 12:51:57 #287 №2741325 
>>2741317
Это забавно, канеш. https://github.com/Shapestack/ExamplesOfMyWorks/blob/main/Bomb.py#L25
В целом, корявые вкатунские эксерсизы после прочтения нубской книжки. Посиди ещё полгодика и пробуй делать что-то полезное, а не ололо-упражнения.
Аноним 22/06/23 Чтв 12:57:56 #288 №2741327 
>>2741325
>что-то полезное
Например?
Аноним 22/06/23 Чтв 13:12:46 #289 №2741340 
Есть некий сервис который общается с другими только посредствам очереди реббита. Надо бы прикрутить туда healthcheck-и, которые говорят, жив сервис или приуныл.
Как вы поняли, сервака который слушает коннекшны там нет, у меня есть 2 стула:

1. Прикрутить какой-то небольшой сервер который помимо реббита будет слушать http порты
2. Отправлять запрос хеалфчека туда через другой сервис

Не понятно следующее. По п.1 - что асинхронное туда прикрутить чтоб было легковесное? Джанга очевидно не подходит лол. По п.2 - - так вообще норм делать хеалфчек? Прокидывать запрос через другой сервис? Чет мне кадется, херня какая-то
Аноним 22/06/23 Чтв 13:13:31 #290 №2741343 
>>2741317
Кринж, начиная от классов старого стиля и заканчивая логикой в методе str вместе с импортом внутри него. Зато интерфейс нахуячил.
Аноним 22/06/23 Чтв 13:15:20 #291 №2741346 
>Питон за пару месяцев можно освоить, хуле там учить, блять, ме ме ме.
Аноним 22/06/23 Чтв 13:17:39 #292 №2741350 
image.png
>>2741317
Хех
Аноним 22/06/23 Чтв 13:22:37 #293 №2741353 
>>2741340
Тебе надо что бы сервис который слушает реббит знал о том, что сервис-паблишер жив? Так сделай отправку тех же хелсчеков через тот же реббит и начинай алертить, если больше 1/2/5/10 секунд ничего нет
Аноним 22/06/23 Чтв 13:26:02 #294 №2741355 
>>2741343
Ладно, видимо пора перестать брать методички с Рашкинских сайтов и переходить полностью в eng сегмент.
Аноним 22/06/23 Чтв 13:30:27 #295 №2741356 
>>2741350
Я прекрасно знаю, что эта хуйня излишняя, тем более для такого маленького кода, но я думал, что так профи пишут, что так и надо.
Аноним 22/06/23 Чтв 14:01:02 #296 №2741396 
Сап двач. Есть список a = [True, False, 1, 0] и b = [1, 0].
Как проверить, что тип у значений тоже разный/одинаковый?
Нужно всё что есть в б, удалить из а, но труфолсы должны быть не тронуты. Надо циклом пройтись по б и если значение есть в а и его тип такой же, то удаляем.
Как это лучше реализовать, не двойные же циклы хуярить для этого? В подсказках дают наводку, что нужно сравнивать кортежы. Это получается, что через генераторы нужно просто два новых списка из кортежей(с значением и его типом) сделать и уже их сравнивать? Это самое верное решение или есть более правильный подход?
Аноним 22/06/23 Чтв 14:22:37 #297 №2741414 
>>2741353
не, хеалфчек нужен именно на сервис-консьюмер который слушает реббит а не на паблишер. На паблишере сервак на фастапи, там и так хеалфчек

Я указал в одном из пунктов что думал посылать запрос через сервис с фастапи чтоб он слал через реббит сообщение. Но мне сказали, что так дела не делаются
Аноним 22/06/23 Чтв 14:24:19 #298 №2741416 
>>2741396
Ты генератор не проверишь на вхождения в цикле, он в первый же раз размотается полностью.
Делаешь сет туплей для б и потом итерируешься по а и сверяешь, есть ли такая тупля.
c = {(val, type(val)) for val in b}
Аноним 22/06/23 Чтв 14:33:35 #299 №2741423 
>>2741416
Спасибо, понял, в принципе так и хотел сделать. Только мне не сет а лист нужен, задание немного не так сформулировал, но да ладно.
Аноним 22/06/23 Чтв 14:56:38 #300 №2741445 
>>2741355
Опять рашка гению в штаны насрала, да что ты будешь делать.
Аноним 22/06/23 Чтв 16:45:19 #301 №2741552 
image.png
Нужна помощь. Как прикрутить скрипт к страничке?
Есть проект Django с приложением
> project/app1
Есть шаблоны html
> project/app1/templates/app1/index.html
А также джаваскрипт в этой же директории
> project/app1/templates/app1/script.js
Я пытаюсь подключить этот скрипт следующим путём
>{% block content %}
>script src="script.js"></script>
>{% endblock %}
Через дебагер я выявил, что относительный путь "./script.js" преобразовывается в адрес хттп://localhost/index/script.js, что в принципе, логично, но совсем не то поведение, которого я жду.
Абсолютный адрес прикручивать это плохая практика наверное, как выйти из этой ситуации, помогите, пожалуйста.
Спасибо.
Аноним 22/06/23 Чтв 16:50:37 #302 №2741559 
>>2741317
ну тут конеш как то не сильно ок.
попробуй элементарно на ютюбе поглядеть разные обзорчики разного кода. или просто походи поанализируй как другие пишут код.
Аноним 22/06/23 Чтв 16:53:02 #303 №2741565 
>>2741356
у тебя физически 2 реторна не может быть. он на первом вылетать будет.
Аноним 22/06/23 Чтв 16:54:13 #304 №2741568 
>>2741355
А причем тут англ и ру сегмент? Ты тут выдал то что даже в нигерии в проде не делают.
А по сабжу в рф норм код пишут. Просто нужно учиться у норм челов, а на ютюбных диванщиков уровня хайдихо.
Аноним 22/06/23 Чтв 16:56:40 #305 №2741571 
>>2741346
Ну все верно. А что не так собственно?
Аноним 22/06/23 Чтв 17:09:46 #306 №2741598 
>>2741317
>К сожалению, в настоящий момент мы не готовы
>пригласить Вас на дальнейшее интервью.
>Мы внимательно ознакомились с Вашим резюме
>и, возможно, вернемся к Вашей кандидатуре
>когда у нас возникнет такая потребность.
Аноним 22/06/23 Чтв 17:14:36 #307 №2741607 
image.png
>>2741355
Аноним 22/06/23 Чтв 17:18:41 #308 №2741610 
>>2741565
А, я ток щас заметил. Не обратил внимания.
>>2741568
Потому что информация которая находится тут по большей части устаревшая и не полная, я по ней и обучался, а потом мне говорили, что я какую то старперскую дичь несу, которая давно не актуальна.
Да и челиксы с ютуба то же самое говорят - учи доки на англюсике. Но нет, я решил не жертвовать комфортом чтения на родном и вот результат.
>хайдихо
Я его посматривал, но УЧИТЬ язык с ютуба это вообще шизофрения.
>>2741598
Спасибо, я уже прочитал.
Аноним 22/06/23 Чтв 17:52:42 #309 №2741651 
>>2741552
Разобрался, я долбоёб, приятно познакомиться.
скрипты надо положить в статику и загружать оттуда ...src={% static 'script.js' %}
Аноним 22/06/23 Чтв 20:06:09 #310 №2741853 
>>2741610
Да далеко ходить не надо даже. Захотел я значит почитать про паттерны. Захожу к русскому челику и вот - информация 10летней давности. И так у нас повсеместно. Можете сами проверить.
https://github.com/pkolt/design_patterns/tree/master

Захожу сюда
https://github.com/faif/python-patterns/tree/master/patterns
На ангельском есть больше и информация свежая, максимум год назад обновлялось.
Какие тут выводы? Что учиться на русских сайтах зло, нужно либо вуз оканчивать, либо хорошее знание английского.
Вот и думайте теперь головой.
Аноним 22/06/23 Чтв 20:06:37 #311 №2741854 
Есть некая функция, которая создаёт текстовый документ.
Как думаете, что интуитивно понятнее и правильнее при создании константных переменных, чтобы сделать код менее вонючим?

Вариант 1:
>def foo(args):
>____SEND_PACKETS_SECONDS = 25
>____код на 100+ строк
>____keepalive(SEND_PACKETS_SECONDS)

Вариант 2:
>def foo(args):
>____SEND_PACKETS_EVERY = {'seconds': 25}
>____код на 100+ строк
>____keepalive(SEND_PACKETS_EVERY['seconds']
?
Аноним 22/06/23 Чтв 21:59:20 #312 №2741988 
>>2741242
Глобальная переменная без глобальной переменной.
Аноним 23/06/23 Птн 00:10:37 #313 №2742096 
>>2737928
Чува-ак! Посмотри на это:
>>2741325
Это как раз явный пример того, насколько хуёво, когда классы пихаются не к месту...
Просто бр-р.
Шифу.жипег
Аноним 23/06/23 Птн 00:14:46 #314 №2742101 
Посмотрите и моё тоже...
https://github.com/vsp245/Colab-AutoWebUI-Downloader

Весь код в одном файле и 'do_once' - для удобства использования в колабе.
Будьте снисходительны, делал для себя и сам пользуюсь постоянно, но вот решил поделиться и заодно попробовать оформить публичный репозиторий.

Если вдруг захотите посмотреть как скрипт работает в колабе, то единственное условие для его запуска - создать пустую директорию "stable-diffusion-webui" (колаб сейчас выдает предупреждение, если в тексте кода есть такая строка, но это не страшно)
Аноним 23/06/23 Птн 01:09:17 #315 №2742145 
>>2742101
Первый вопрос, на котором бы, все ранее тобой сказанное поросло бы красными флагами был бы "для чего ты везде засунул классметоды, хотя нигде преимуществ от мутирования самих классов не используешь?'
Выглядит будто ты просто пернул в лужу, чтобы пернуть в лужу, но обосрался.
Аноним 23/06/23 Птн 01:19:09 #316 №2742148 
>>2742145
Я сделал методы классовыми только в тех классах для которых не создаются экземпляры в процессе работы.
Аноним 23/06/23 Птн 01:40:37 #317 №2742154 
>>2742148
Ну и нахуй нужны такие классы?
Аноним 23/06/23 Птн 01:46:23 #318 №2742162 
>>2742154
Экземпляр в этом скрипте это скачанный файл или файл который уже находится на диске. Все методы которые меняют такие объекты не классовые, а обычные, Классовые методы относятся к изменениям GUI и к изменению общих классовым переменных, таким как например списки всех скачанных файлов или очередь на скачивание. Мне было проще так разграничить методы и мне кажется это логичным.
Аноним 23/06/23 Птн 03:29:47 #319 №2742186 
>>2742162
Хуйня без преимуществ и задач, ты не используешь инкапсуляцию, где нужно, но используешь полиморфизм там, где не нужно.
Олсо, предыдущий ответ не я писал.
Аноним 23/06/23 Птн 04:17:30 #320 №2742190 
>>2742186
Т.е. когда классовые методы работают только с общими классовыми данными, а обычные методы работают с экземплярами + классовыми данными это плохая практика?
Аноним 23/06/23 Птн 10:14:12 #321 №2742363 
Рекурсией вывести числа от 0 до n.
Можно как-то упростить?
Аноним 23/06/23 Птн 10:14:32 #322 №2742364 
Screenshot1.jpg
>>2742363
Отклеилось.
Аноним 23/06/23 Птн 10:24:09 #323 №2742373 
>>2742363
Не использовать рекурсию?..
Аноним 23/06/23 Птн 10:59:54 #324 №2742402 
>>2742363
Это не рекурсивная проблема. Или ты что-то не так понял, или это какое-то идиотская задачка.
Аноним 23/06/23 Птн 11:13:29 #325 №2742418 
>>2742364
да сойдет, разве что елс убрать чтобы пару строк сэкономить

def nat(n, c=0):
....if c != n:
........print (c)
........c += 1
........nat(n, c)
Аноним 23/06/23 Птн 12:17:49 #326 №2742491 
>>2742418
Спасибо
Аноним 23/06/23 Птн 13:37:38 #327 №2742599 
image.png
image.png
>>2721548 (OP)
Братва, искал способ объединить несколько enum-ов в пистоне и увидел вот такое. Офигел когда понял что оно реально работает, aenum можно на обычный модуль enum поменять если что.

Так че можно было что ли? Че я прямо в теле класса какой-то код высираю и он работет? Синтаксис такое разрешает? Думал только в методах можно код исполняемый хуячить, в классе только переменные объявлять
Аноним 23/06/23 Птн 13:41:26 #328 №2742605 
>>2742599
А переменные обьявлять это не код?
Аноним 23/06/23 Птн 13:48:38 #329 №2742620 
image.png
>>2742605
Ты прекрасно понимаешь разницу между объявлением переменной и исполняемым кодом, не верти очком
Вот жс тебе как бэ подсказывает что делаешь хуйню
Аноним 23/06/23 Птн 13:55:18 #330 №2742629 
image.png
>>2742620
Нет никакой разницы, class это как тот же def, делаешь там что хочешь, у него даже свой отдельный скоуп для этого. Методы в классе это просто обьявление функций, методами они становятся при инстанциировании через связывание с созданным объектом.
А жс в качестве примера можно приводить разве что для примера ебанутости.
Аноним 23/06/23 Птн 14:00:50 #331 №2742636 
>>2742629
Твой код на скрине абсолютно легален. Сработает и в жс и в го (только там не классы будут а структуры)
Ты просто присвоил по дефолту аргументу a значение None, параллельно выполнился код с пуком

Я же хуярю код прямо в теле класса, что в общем-то хуйня ебаная и ни один мажорный ЯП такого не позволит
Аноним 23/06/23 Птн 14:05:25 #332 №2742639 
>>2742636
Мой код показывает, что при обьявлении класса он исполняется, оттуда и пук. Значит исполнится всё что угодно.
Этим и отличается навесной ооп питона от заранее спроектированного, в котором всё обозначено. Оттуда же и явный self для методов, который только self по соглашению.
Аноним 23/06/23 Птн 14:11:18 #333 №2742645 
>>2742639
Можешь ещё ооп в перле глянуть, там ещё охуеннее навесили ооп на процедурный перл.
Аноним 23/06/23 Птн 15:00:55 #334 №2742692 
>>2742639
> Этим и отличается навесной ооп питона от заранее спроектированного, в котором всё обозначено.
Навесной ООП в ООП языке? Ты бредишь?
> Оттуда же и явный self для методов, который только self по соглашению.
Какое это вообще отношение имеет к тру ООП/не тру ООП? В каких мажорных языках int или dict являются объектами? Вот и думай головой
Аноним 23/06/23 Птн 15:37:43 #335 №2742745 
>>2742692
Ну почитай доку, там всё описано. https://docs.python.org/3/reference/compound_stmts.html#class-definitions
> Какое это вообще отношение имеет к тру ООП/не тру ООП?
Это не про тру, а про динамическую природу питоновского ооп. Это просто использование существующих возможностей, посыпанное сахарком, а не отдельный механизм, в котором строго описано, что можно делать, а что нет, на уровне синтаксиса. В питоне этого нет.
Аноним 23/06/23 Птн 17:08:17 #336 №2742837 
image.png
>>2741340
Челик с хеалфчеками снова заглянул к вашему шалашу. Заебошил небольшой http-сервер на starlette (потому что это говно оказывается уже подтянулось в зависимостях проекта). Но возникла проблема с запуском этого сервака. Белый человек бы просто запустил это через asyncio.gather и все норм бы работало, но ебучий вызов uvicorn.run - блокирующий а не асинхронный. Пришлось это высирать внутри треда (loop.run_in_executor запускает все в ThreadPoolExecutor). Есть какие-то альтернативы? Неужели ызов uvicorn не может быть неблокирующим?
Аноним 23/06/23 Птн 20:51:25 #337 №2743041 
>>2742837
>Неужели ызов uvicorn не может быть неблокирующим?
Нет, тебе нужен вебсервер который поддерживает ASGI, что бы твои веб-фреймворки запустились потому что напрямую они порты не слушают.
Как вариант можешь инверсию сделать, где Starlette во время инициализации запускает твой сервис. Или через asyncio самому сделать сервис, а aiohttp предоставит фабрику для HTTP протокола, а можешь сам ее написать.
https://gist.github.com/ethanfrey/75e58db27095936b9e5e
https://docs.python.org/3/library/asyncio-eventloop.html#creating-network-servers
Аноним 23/06/23 Птн 21:00:00 #338 №2743045 
>>2743041
loop.create_server это TCP сервер
А нужен HTTP
Аноним 23/06/23 Птн 21:08:13 #339 №2743054 
>>2743045
А http у тебя поверх чего работает по твоему?
Аноним 23/06/23 Птн 21:10:27 #340 №2743057 
>>2743054
Предлагаешь писать самому http сервак поверх транспортного уровня? Парсить байтики? Без базара, это будет интересно на первый хпорах, но нахера?
Аноним 23/06/23 Птн 21:12:53 #341 №2743059 
>>2743057
>писать самому
Ты мои ссылки открывал? Все уже сделано за нас
https://docs.aiohttp.org/en/stable/web_reference.html#aiohttp.web.Application.make_handler
Аноним 23/06/23 Птн 21:19:39 #342 №2743063 
>>2743057
https://docs.aiohttp.org/en/stable/web_advanced.html#aiohttp-web-app-runners
А еще aiohttp наконец завезли раннер нормальный
Аноним 23/06/23 Птн 22:54:17 #343 №2743129 
>>2743063
>наконец
В смысле?
там сказано же
>New in version 3.0.
можно считать всю жизнь там был
Аноним 23/06/23 Птн 22:57:50 #344 №2743131 
>>2742837
Тебе уже сказали, что все эти фастапи-старлеты сделаны из расчёта, что твое приложение это веб-сервер.

Если тебе надо запускать веб-сервер как одну из задач, тебе надо использовать aiohttp, это его фишка. И даже ссылку тебе дали на то, как именно в этом режиме запускать
https://docs.aiohttp.org/en/stable/web_advanced.html#aiohttp-web-app-runners

всё очень просто в общем
Аноним 23/06/23 Птн 23:10:50 #345 №2743136 
>>2741610
>А, я ток щас заметил. Не обратил внимания
Вот в этом и проблема... Зачем-то публикуешь на всеобщее обозрение код, который никому не нужен вообще. Видимо чтобы можно было зайти и убедиться, что ты программист. А как откроешь файл, то там такое...

Кстати, вот отрываешь твой гитхаб, сразу бросается в глаза имена файлов с большой буквы. Уже коробит. Открываешь файл, а там табуляции вместо 4 пробелов.

Как бы формально не запрещено, но в системе свой-чужой ты сразу попадаешь под "не наш человек, не наш"

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

Короче дальше тренируйся и осваивайся, может через год созреешь. Серьёзно.
Аноним 23/06/23 Птн 23:14:25 #346 №2743138 
image.png
>>2741350
>>2741317
kek
но хотя бы видно, что сам алгоритм придумал, а не списал у кого-то, уже в плюс
Аноним 23/06/23 Птн 23:20:09 #347 №2743143 
>>2738623
>Нахуя тебе это всё?
g++ (или может просто g++) идёт в стардантом питон-контейнере, поэтому он весит гигабайт

Нужно для сборки некоторых модулей при установке через пип
Аноним 24/06/23 Суб 08:04:12 #348 №2743264 
>>2743136
>Открываешь файл, а там табуляции вместо 4 пробелов.
>системе свой-чужой ты сразу попадаешь под "не наш человек, не наш"
Это потому что я на горьком опыте убедился, что таб безопаснее и не вызывает случайных ошибок отступа при копипасте кусков кода.
Лучше руки отрежу, чем себе в этом изменю.
Аноним 24/06/23 Суб 08:35:27 #349 №2743273 
>>2741340
Добавь туда фастапи и чекай, как и паблишер, отдельный хттп сервак, который будет дергать хттп порты твоего сервиса это какой-то пиздец
Аноним 24/06/23 Суб 12:37:20 #350 №2743370 
>>2734303
О, делал это в тестовом задании. С самописной классической NN на 80 входных нейронов добился 96-97% правильных ответов. Прогнал аудио целиком через трансформацию Фурье и даунсемпльнул диапазон 0-1000 Гц до 80 значений
Аноним 24/06/23 Суб 13:12:32 #351 №2743378 
image.png
image.png
>>2742629
>>2742639
>Мой код показывает, что при обьявлении класса он исполняется, оттуда и пук.
Честно говоря, это на первый взгляд пиздец как неочевидно, что именно должно произойти. По мне, так такой код во-первых не должен так работать, во-вторых - ни в коем случае не должен использоваться в этом качестве в проде потому, что неявное хуже явного.
На самом деле, если разобраться, то вяснится... Что код метода ololo не исполнялся, исполнилось только объявление функции и расчёт дефолтного аргумента. Собственно, вот более правильный и наглядный скрин.

Из этого скрина следует, что:
1. При объявлении ФУНКЦИИ формируется значение по-умолчанию. В этом есть логика: не каждый же раз, когда функция вызывается рассчитывать его отдельно.
2. При объявлении класса пробегают все инструкции в классе. Как при подключении модуля (очевидно, что при объявдении функции так же рассчитается дефолтное значение её переменных). Это... Нужно просто иметь в виду. По-хорошему в классе должны быть ТОЛЬКО ОБЪЯВЛЕНИЯ, конечно. Просто потому, что явное - лучше неявного и вот это вот всё.

Бонус(скрин 2): правильно передавать функцию внутрь без скобок, тогда она не будет исполняться потому что функции Python — это объекты первого класса. Подробнее: https://habr.com/ru/companies/otus/articles/725374/ .

Пишу это всё сейчас и одновременно понимаю, насколько важно понимать (желательно, интуитивно), что, зачем и почему происходит и при этом насколько Гвидо и компания сделали охуенную и гибкую вещь.
>>2742745
>Это просто использование существующих возможностей, посыпанное сахарком, а не отдельный механизм, в котором строго описано, что можно делать, а что нет, на уровне синтаксиса. В питоне этого нет.
Это круто. Когда пришло понимание, только зауважал авторов.

>>2741325
Возвращаясь сюда, обнаруживаем, что
class Powder(object):
....print('Порох')
идентично в данном случае простейшему
print('Порох')
и вообще никак от него не отличается.
Вообще всё сильнее подозреваю, что тут просто чувак троллил тупостью.
Аноним 24/06/23 Суб 13:30:18 #352 №2743387 
>>2743143
>Нужно для сборки некоторых модулей при установке через пип
НИНУЖНО.
Вечером протестирую и распишу подробнее, сейчас не успею.
Аноним 24/06/23 Суб 13:32:29 #353 №2743388 
>>2743264
>таб безопаснее
Нет. Вообще нет. Наоборот все редакторы его по-своему обрабатывают и это некстати.
Аноним 24/06/23 Суб 13:35:31 #354 №2743389 
>>2743378
Суть примера была просто показать, что класс исполняется. Если завернуть деф с пуком в другой деф, то пука не будет.
Аноним 24/06/23 Суб 13:40:44 #355 №2743390 
>>2743389
> Если завернуть деф с пуком в другой деф, то пука не будет.
Смотря как завернуть. При объявлении функции рассчитываются дефолтные параметры и, если для этого нужны доп. вычисленния, они будут произведены в этот момент.
Аноним 24/06/23 Суб 13:48:56 #356 №2743393 
>>2743390
Нет, обьявление функции внутри другой функции это уже код, который не исполняется при обьявлении внешней.
Аноним 24/06/23 Суб 13:59:23 #357 №2743397 
>>2743393
Объявление внутри — да, не вызовет. Просто могу сочинить такой код, что через прокладку вызовется, но это довольно искусственный пример будет.
Аноним 24/06/23 Суб 14:57:31 #358 №2743435 
>>2742101
Бамп.
Аноним 24/06/23 Суб 15:09:22 #359 №2743445 
>>2743264
Если ты продолжишь вкатываться в питон, то тебе всё равно придется переходить на проблеы, потому что это стандарт и у всех пробелы. Неудобно будет кодом обмениваться и поцаны не поймут. А ещё замахаешься потом все свои старые коды перекатывать в пробелы. Так что лучше сразу себя к ним приучай.
Аноним 24/06/23 Суб 15:14:49 #360 №2743449 
>>2743445
>А ещё замахаешься потом все свои старые коды перекатывать в пробелы.
Э-э-э…
>find ~/proj -type f -name *.py exec sed -i 's|\t| |' {} ;
Или как-то ну очень похоже. Протестить надо.
Аноним 24/06/23 Суб 15:56:44 #361 №2743471 
>>2743445
Ясно, учту.
Аноним 24/06/23 Суб 20:24:34 #362 №2743660 
>>2743445
А почему бы просто не написать программу, которая бы заменяла табы на пробелы после написания?
В нее импортируешь, она реплейсит, на выходе нормальный код и никаких проблем. По-моему ничего сложного.
Аноним 24/06/23 Суб 21:12:19 #363 №2743671 
>>2743660
Да есть полно такой хуйни, которая форсит любые стили. Встраивается в тулчейн вместе с линтером.
Аноним 24/06/23 Суб 21:56:26 #364 №2743700 
>>2743660
Так pycharm буквально из коробки делает
Аноним 24/06/23 Суб 23:50:29 #365 №2743752 
>>2741610
>>Потому что информация которая находится тут по большей части устаревшая и не полная, я по ней и обучался, а потом мне говорили, что я какую то старперскую дичь несу, которая давно не актуальна.
Нет. Ты просто хуйней маялся.
Аноним 25/06/23 Вск 12:10:29 #366 №2743922 
DRF нормально для вката на бэк? ЧТо еще нужно изучить?
Аноним 25/06/23 Вск 12:54:57 #367 №2743941 
>>2743922
Растяжимость своего ануса выучи, псина.
Аноним 25/06/23 Вск 12:57:35 #368 №2743946 
>>2743941
Что за агр сразу пошел? Что я не так сказал?
Аноним 25/06/23 Вск 13:09:59 #369 №2743954 
>>2743922
Нормально.
Можешь еще фастапи освоить.
Аноним 25/06/23 Вск 19:09:58 #370 №2744250 
>>2743946
Никакого негатива. Это должен знать каждый начинающий питонист.
Аноним 25/06/23 Вск 19:15:20 #371 №2744257 
>>2744250
Начинающие питонисты что-то вымерли, кстати. Раньше постоянно спрашивали как сложить 2 и 2, а щас тишина.
Это цыгане похудели и перестали везде рекламу хуярить?
Аноним 25/06/23 Вск 19:29:57 #372 №2744272 
>>2744257
Как правило, у 80% процентов любых начиналов начиналка заканчивается спустя неделю. Яндекс рекламу кисельных берегов покажет и пошел наплыв, а через месяц опять все затихнет. Типично.
Аноним 25/06/23 Вск 21:14:44 #373 №2744341 
>>2743922
Я знаю drf и ещё жабаскрипт с реактом, но работу не найти. По джанге вообще почти 0 вакансий для джунов.
Зато на ПХП дохера. Учил бы пхп - уже бы работал. Хз че делать. Третий язык учить не хочется. На следующей неделе не найду работу - пиздую говночистом пахать. Вот тебе и вкат длинной в полтора года.
Аноним 25/06/23 Вск 21:28:50 #374 №2744345 
>>2744341
>Третий язык
Это не язык...
Аноним 25/06/23 Вск 21:36:15 #375 №2744346 
>>2741853
Паттерны вечны, чел... Мне кажется, погромирование — это не твоё. Тебе надо что-то, где новые версии каждую пятницу выходят. Браузер обозревать, может, в видеоблоге? Скачка, распаковка, обзор фич, установка новой темы, пары плагинов? Часа на три подкаста.
Аноним 26/06/23 Пнд 01:11:38 #376 №2744418 
>>2744345
Койсанский тоже языком не считают, тем не менее, чтобы объяснить чёрной шлюхе, что ты намерен загнать в неё своего питона, этот язык придётся выучить.
Аноним 26/06/23 Пнд 06:00:07 #377 №2744442 
>>2744341
Зачем ты для джунов ищешь? И что значит "знаешь"?
Пет-проект фуллстековый на жанге и рррякте сможешь захуячить?
Если да, то хуячь, деплой и показывай хрюшам.
Аноним 26/06/23 Пнд 07:59:37 #378 №2744464 
>>2743370
а не пиздишь?

>>2743378
нахуй ты свой пр везде запускаешь, долбоёб?
Аноним 26/06/23 Пнд 08:05:40 #379 №2744465 
>>2742491
нахуй инкримент, ебаш сразу nat(n, c+1)
Аноним 26/06/23 Пнд 09:23:23 #380 №2744483 
>>2744442
>Если да, то хуячь, деплой и показывай хрюшам.
До хрюш еще надо дойти, автофильтры HH сейчас отправляют в мусор все резюме с опытом меньше 1-2 лет.
Аноним 26/06/23 Пнд 09:40:48 #381 №2744494 
>>2744346
А, намекнул, что мой уровень интеллекта как у Стаса Ай как просто, неплохо. Но я могу отличить один паттерн от другого, у меня претензии к тому, как он написан и про общее устаревание ру сегмента. Да и дело тут не только обучающем материале, если уж говорить о последнем.
Аноним 26/06/23 Пнд 10:04:42 #382 №2744503 
>>2744494
Дело в паттерне психики в твоей голове. Таким кажется, что за соседней дверью пизда жирнее.

Смею огорчить: всюду, куда ты ни сунешься, ты принесёшь своих тараканов. И они организуют то же гнилое болото вокруг тебя, что и в любой другой точке интернета или планеты.
Аноним 26/06/23 Пнд 11:15:24 #383 №2744596 
>>2744503
>принесёшь своих тараканов
Их называют объективностью.
Аноним 26/06/23 Пнд 11:18:23 #384 №2744601 
>>2744442
Можно задеплоить хоть аналог гугла и его никто не посмотрит пока не нарисуешь себе год опыта, а лучше два.

>Зачем ты для джунов ищешь
А для кого искать? Я джун и есть. У меня нет реального опыта, но есть нормальный опыт на своих проектах.
Аноним 26/06/23 Пнд 11:51:50 #385 №2744661 
>>2744596
Нет, их называют проекциями, шаблонами действий и паттернами мышления. Не думай, что их можно волевым усилием изменить, они лежат в лимбической системе, программируются с пелёнок и никакими обратными связями из неокортекса не обладают. Ты буквально не можешь ничего изменить сознанием, волей, усилиями твоего «я».
Аноним 26/06/23 Пнд 12:04:52 #386 №2744675 
>>2744601
>>но есть нормальный опыт на своих проектах.
Какой?
Аноним 26/06/23 Пнд 12:05:05 #387 №2744676 
>>2744661
>Не думай, что их можно волевым усилием изменить
Из-за проблем с легкими мне говорили, что спорт это не мое, а спустя полтора года я занял в второе место города по арму. Так же я бросил курить. В реальной жизни не существует вечных констант. Нет и внутренних шаблонов, зато есть такие в которые тебя вписывают другие. Но они всегда и во всем заблуждаются, а ты больше всех.
Аноним 26/06/23 Пнд 12:07:31 #388 №2744679 
>>2744250
>>Это должен знать каждый начинающий питонист.
В этом то и дело что только начинающие его изучают. А опытные все уже на fastapi
Аноним 26/06/23 Пнд 12:09:39 #389 №2744681 
>>2744679
>А опытные
А опытные изучают чужие.
Аноним 26/06/23 Пнд 12:26:58 #390 №2744696 
>>2744675
Ну вот это например написал
https://reee.re/
Аноним 26/06/23 Пнд 13:51:46 #391 №2744779 
>>2744676
В любом случае есть планки. Да и генетически заданное не перепрыгнуть. Если нет абстрактного интеллекта, не получится в программисты. Нет музыкального слуха — не станешь композитором. Нет реакции — не станешь боксёром. И так далее. Причём, это не тренируется, это уже в генах есть. Или нет. Ну вот и у тебя видно, что алгоритмизация — это не твоё.
Аноним 26/06/23 Пнд 14:23:05 #392 №2744822 
>>2744779
Не знал, что знание алгоритмизации закладывается генетически.
Ладно, передавай глухому Бетховену и мешку Валуеву привет.
Аноним 26/06/23 Пнд 16:49:39 #393 №2744999 
>>2744822
Бетховен начал терять слух к 30 годам примерно, когда уже стал состоявшемся композитором. Про Валуева анон конечно странный пример привел, мне вот с дивана кажется, что в поединке борцов руками можно побеждать не только скоростью, но и выносливостью, например. Короче пример нерилейтед.

На счет абстрактного мышления тот анон прав. Факт в том, что есть люди с развитым абстрактным мышлением, а есть с не развитым. Выводы о таких вещах мы можем делать только из эмпирического опыта, так что точно сказать ничего нельзя. Но что есть личность? Это связи нейронов в сером веществе? Если ты согласен, что личность человека формируется до определенного возраста и дальше практически не меняется, то должен согласиться и с тем, что абстрактное мышление тебе сильнее не развить чем есть сейчас. Только на пару миллиметров за долгие годы.
Аноним 26/06/23 Пнд 17:13:57 #394 №2745027 
>>2744999
https://www.youtube.com/watch?v=atIwagMBDi4

>поединке борцов руками можно побеждать не только скоростью, но и выносливостью
Его слова дословно.
>Нет реакции — не станешь боксёром

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

>Если ты согласен, что личность человека формируется до определенного возраста
Нет, не согласен. Знаю людей, которые до 70 лет не могли пользоваться кудахтером, а теперь спокойно могут регистрироваться на почте или смотреть ютубчик.

>на пару миллиметров за долгие годы.
Я могу любую прогу написать без проблем, было бы время и доки под рукой. А пол года назад мне это все казалось из области рокетсайенс.

Короче, все слова о "Не твое" это попытка набить себе цену избранность, либо попытка кого-то сказать, что твое болото и так не плохо и нечего тебе из него вылезать. Сиди, перди в диван. Это твой потолок.

Весь смысл в видеорилейтеде.
Аноним 26/06/23 Пнд 17:27:46 #395 №2745048 
У меня вопрос.

Вот есть функция которая добавляет текст в другой модуль.

with open(path, 'r+') as file:
----file.write(text)

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

И второе, как импортировать файл чтобы он не запускался. Ну, или хотя бы игнорировал print и input.
Аноним 26/06/23 Пнд 17:33:46 #396 №2745054 
>>2745027
Если ты можешь написать что угодно, то чому у тебя в портфолио, которые ты отослал работодателю и показал в треде примеры уровня "учим питон для дошкольников" да и те с ошибками? Это риторический вопрос, можешь не отвечать, я прекрасно знаю почему.
Людей подобных тебе очень много, особенно сейчас, когда курсы "стань наносеком за пол года" заполонили всё медийное пространство.

На счет простыни которую ты тут накатал. Вот некоторые тейки.
>Препод сказал что ты тупой - значит можно уже идти только в рос.гвардейцы
>Знаю людей, которые до 70 лет не могли пользоваться кудахтером, а теперь спокойно могут регистрироваться
Очевидно, что ты не понимаешь контекст явлений о которых рассуждаешь. Каждому анону, который это прочтет будет это очевидно. Почему так? Потому что у тебя не развито абстрактное мышление и логика твоя линейная и поверхностная, не идущая дальше первого порядка. Такие дела.

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

>Весь смысл в видеорилейтеде.
Нет, спасибо, поучительные видоски с пикабу смотреть нет желания.
Аноним 26/06/23 Пнд 18:01:11 #397 №2745122 
Добрый вечер, господа!
Я прошу совета. На данный момент разрабатываю на django анонимный форум, и встал такой вопрос. Точнее, несколько.
Я не храню ip юзеров в базе данных специально. Но как мне банить по ip если я их не храню?
Далее - банит ли двач юзеров? Потому что если банит, значит хранит ip адреса, так?
Аноним 26/06/23 Пнд 18:14:51 #398 №2745142 
>>2745048
>А как сделать так, чтобы текст не добавлялся повторно после если он и так уже в нем есть?
Читай файл перез записью и проверяй на содержимое. Просто длину проверить, наверное, хватит.
>И второе, как импортировать файл чтобы он не запускался
Гугли "if __name__ == 'main'"
Аноним 26/06/23 Пнд 18:28:30 #399 №2745161 
>>2745054
>прекрасно знаю почему
Потому что у меня нет абстрактного мышления? Видишь, догадался - значит есть.
>Очевидно, что ты не понимаешь контекст явлений о которых рассуждаешь
Очевидно что ты любишь вешать ярлычки.
>логика твоя линейная и поверхностная
В твоих суждениях я обратного не увидел, только какой-то доисторический пещерный высер про особенных людей.
Если говорить про шаблоны, то ты как-раз из того типа людей, которые делают предположение, сами себе их обосновывают и сами же верят.
>Каждому анону, который это прочтет будет это очевидно. Почему так? >Потому что у тебя не развито абстрактно
Хихикнул.
>логика твоя линейная и поверхностная, не идущая дальше первого порядка
Да куда уж мне до тебя, ты поди и Тзинча с Хермеусом Морой в рот выебешь.
>Вообще непонятно зачем ты тут оправдываешься
Это называется диалог.
>Тебе только дали добрый совет основанный на опыте других людей который многократно был пройден и повторен
Ты поучился и бросил? Тогда че ты тут сидишь? Что то-типо бабки-гардеробщицы в театре?
А если не бросил и из числа избранных, то откуда тебе знать какой путь проходят те, кто не был избран?
>начинаешь истерику
До сего я сидел с каменным ебалом, но сейчас на ней лишь насмешка.
>в пустую потратишь свое время.
Может быть, но мне нравится так его тратить.
>Нет, спасибо, поучительные видоски с пикабу смотреть нет желания.
Ну, и пошел нахуй, пидор, блять, ебучий. Слишком уберменьш видать, чтоб выйдосики смотреть. Австралопитек, ебучий, охуеть блять.
Короче, мотай на ус. Логика подкрепляется аргументами, а в твоих словах я ничего подобного не увидел, только безаеляционные утверждения. Мне кажется ты школьник.
Аноним 26/06/23 Пнд 18:37:32 #400 №2745169 
Есть select-запрос на sqlalchemy который по фильтрам из where вытягивает какие-то данные. нужен еще один запрос, тот же самый только без limit и offset, который вернет общее количество элементов без учета пагинации. Как блять их сделать один из другого без дублирования кода?

Уебищная химия начинается с того что я select-ом выбираю данные которые мне надо вытащить и только потом навешиваю источники и фильтры. Не получается заменить колонки на sa.func.count
Аноним 26/06/23 Пнд 19:23:35 #401 №2745239 
>>2745027
>Значит его не надо развивать?
Интеллект ты можешь «развить» только в своих генетических рамках. Если ты слабоумный или плохо соображаешь — это так и будет. Тем более, после 15–18, когда биология уже совсем другое развивает и останавливается на этом.

Правильное слово не «развивать», а «тренировать». Сколько есть потенциала — только это натренируешь, не больше. Да ещё он после 45–50 начнёт заметно снижаться.

Словом «развивать» маркетологи завлекают туповатое быдло, опустошая тем карманы, а взамен давая ощущение, что они тоже когда-нибудь станут умными, если прочитают 100 книг и вот эти вот курсы.

Разум не развивается, только тренируется. Как и мускулы. Как и музыкальный слух. Как и умение рисовать. Как и склонность к танцам, скульптуре, шахматам и прочее. И программирование не исключение.
Аноним 26/06/23 Пнд 19:34:20 #402 №2745253 
>>2745142
>длину проверить
Ну и что толку? Запустил программу, в тестовом файле было 10 символов, добавил 'huy' стало тринадцать. Потом опять запустил прогу, len показало тринадцать и добавило снова 'huy' - len показало 16. Теперь у меня два хуя в тестовом и так по кругу.
Нужно чтобы такого не было.
Аноним 26/06/23 Пнд 19:36:45 #403 №2745254 
>>2745169
Сделай общий код для where и не еби мозг.
Аноним 26/06/23 Пнд 19:36:57 #404 №2745255 
>>2745161
>Ну, и пошел нахуй, пидор, блять, ебучий.
>Короче, мотай на ус.
Ебать тебя порвало братишка. Зашивайся.

>я могу что угодно написать... только не буду... патамушта мням мням время надо много
Не повезет кому-то с коллегой, когда такого клоуна жадный кабан возьмет себе на галеру.
Аноним 26/06/23 Пнд 19:37:25 #405 №2745256 
image
>>2745027
>Я могу любую прогу написать без проблем
Детектор дилетанта.
Аноним 26/06/23 Пнд 19:40:08 #406 №2745258 
>>2745161
>Тзинча с Хермеусом Морой в рот выебешь.
Тебе лет 16, что ли? Чел, просто если так, то ты ребёнок и извини, что я тебя уничтожил. У меня внуки немного младше тебя. А тебе ещё расти и расти, ггг.
Аноним 26/06/23 Пнд 19:47:05 #407 №2745262 
>>2745253
with open(path, 'r+') as file:
----if text not in file.read():
--------file.write(text)
Аноним 26/06/23 Пнд 19:48:12 #408 №2745263 
Алло умники хватит сраться раз такие умные скажите как банить по ip если не хранишь их в базе данных
Аноним 26/06/23 Пнд 19:49:06 #409 №2745264 
>>2745263
nikak
Аноним 26/06/23 Пнд 19:52:37 #410 №2745265 
>>2745263
redis
Аноним 26/06/23 Пнд 19:58:14 #411 №2745267 
>>2745258
Все понятно. Дед пердед под 60 лет опять жалуется на непутевую молодежь и хвастается бабке, что кого-то якобы "слил" в интернете на анонимном форуме для девочек. Мда, блять, мда, пиздец...
Аноним 26/06/23 Пнд 20:00:39 #412 №2745270 
>>2745262
Заработало, спасибо.
Аноним 26/06/23 Пнд 20:02:34 #413 №2745273 
Попросили создать бота для ВК, сам не погроммист нихуя, бот простенький, ЧатГПТ выдаёт какую-то хуйню, может кто поможет?
Бот должен:
Дождаться сообщения пользователя;
Написать "Привет";
Дождаться второго сообщения;
Написать "Привет 2";
Дождаться третьего сообщения;
Написать "Привет 3";
Дождаться последнего сообщения, выдать "Привет 4", и остановиться.
Аноним 26/06/23 Пнд 20:06:29 #414 №2745277 
>>2745273
Насколько я знаю, апи вкудахта не позволяет отсылать сообщения не сертифицированным программам. Раньше позволяло, но из за борьбы с ботами они запретили. Так что тут нужно п переподвыподвертом делать. Например через селениум т.е. открывать браузер и эмулировать действия реального человека.
Я сам такую хуню делал года два назад, может сейчас и другие варики есть, хз.
Аноним 26/06/23 Пнд 20:08:02 #415 №2745280 
>>2745267
Ты такой клоун что слов нет, нихуя не умеешь нихуя не знаешь, зато гонор выше гор. Хррр тьфу.

inb4 я вообще другой анон
Аноним 26/06/23 Пнд 20:12:55 #416 №2745284 
>>2745277
Да не, я уже на ВПС бота загрузил, и всё норм работает, я просто не знаю, как мне логику самого скрипта описать, вот например что мне сейчас выдал ЧатГПТ:

# Основной цикл программы
while True:
# Получаем новое сообщение
response = vk.messages.getConversations(count=1, filter='unread')
if response['count'] > 0:
item = response['items'][0]
message = item['last_message']
user_id = message['from_id']

# Отправляем приветственное сообщение
send_message(user_id, "Привет")

# Ждем второго сообщения и отправляем "Привет 2"
response = vk.messages.getConversations(count=1, filter='unread')
if response['count'] > 0:
message = response['items'][0]['last_message']
send_message(user_id, "Привет 2")

# Ждем третьего сообщения и отправляем "Привет 3"
response = vk.messages.getConversations(count=1, filter='unread')
if response['count'] > 0:
message = response['items'][0]['last_message']
send_message(user_id, "Привет 3")

# Ждем последнего сообщения, отправляем "Привет 4" и завершаем диалог
response = vk.messages.getConversations(count=1, filter='unread')
if response['count'] > 0:
message = response['items'][0]['last_message']
send_message(user_id, "Привет 4")
break

Какого-то хуя приветы шлются совершенно рандомные, уже час с ним ебусь.
Аноним 26/06/23 Пнд 20:14:45 #417 №2745285 
>>2745284
Что такое "ВПС" ?
Аноним 26/06/23 Пнд 20:15:45 #418 №2745286 
image.png
>>2745285
Аноним 26/06/23 Пнд 20:17:07 #419 №2745288 
>>2745286
А для отправки сообщений в ВК что используешь? Какой-то модуль?
Аноним 26/06/23 Пнд 20:20:38 #420 №2745297 
>>2745280
Семен, успокойся. Ты прав, программистами рождаются, а не становятся. Ты только пей таблеточки.
Аноним 26/06/23 Пнд 20:20:40 #421 №2745298 
>>2745288
Нахуя? У ВК в сообществе настроил бота, получил токен, через vk_api отправляю. Я не разбираюсь, может это и модуль, кста, я нуп.
Аноним 26/06/23 Пнд 20:35:38 #422 №2745314 
>>2745298
Ясно, совсем я отстал от жизни.

msgl = ["Привет", "Привет2", "Привет3", "Привет4", ]
conversations = {}
while True:
....response = vk.messages.getConversations(count=1, filter='unread')
....if response['count'] > 0:
........item = response['items'][0]
........message = item['last_message']
........user_id = message['from_id']
........if user_id not in conversations:
............conversations[user_id] = msgl.copy()
........send_message(user_id, conversations[user_id].pop())
........if not conversations[user_id]:
............break

Попробуй так может заработает, но не факт, понятия не имею где ты там пишешь и как этот модуль работает, просто вслепую накидал.
Аноним 26/06/23 Пнд 20:42:19 #423 №2745322 
>>2745314
>pop(0)
Аноним 26/06/23 Пнд 20:43:22 #424 №2745324 
image.png
>>2745314
Работает, только почему-то наоборот - начиная с "Привет 4" и до "1", и так по кругу. Мне в принципе и так пойдёт, а можно его как-то остановить после "Привет 1", чтобы вообще ничего не выдавал?
Аноним 26/06/23 Пнд 20:45:41 #425 №2745328 
>>2745324
>pop(0)
Я ноль проебал, добавь и будет не по кругу.

Убери из списка msgl остальные сообщения после "Привет 1" и не будет выдавать.
Аноним 26/06/23 Пнд 20:51:28 #426 №2745337 
>>2745328
>Я ноль проебал, добавь и будет не по кругу.
Я добавил ноль в pop(0), и оно пошло по возрастающей, а вот
>Убери из списка msgl остальные сообщения после "Привет 1" и не будет выдавать.
Я не понял, если я из массива всё уберу кроме одного сообщения, то оно же одно и будет, кек.
Аноним 26/06/23 Пнд 20:57:07 #427 №2745345 
>>2745337
msgl = ["Привет", "Привет2", "Привет3", "Привет4", ]
conversations = {}
while True:
....response = vk.messages.getConversations(count=1, filter='unread')
....if response['count'] > 0:
........item = response['items'][0]
........message = item['last_message']
........user_id = message['from_id']
........if user_id not in conversations:
............conversations[user_id] = msgl.copy()
........tmp = conversations[user_id].pop(0)
........send_message(user_id, tmp)
........if tmp == "Привет 2":
................#сюда команду остановки бота
................pass
........if not conversations[user_id]:
............del conversations[user_id]
............break

Всё чел, давай меня как следует отблагодари и дальше сам уже допиливай, я помог уже достаточно.
Аноним 26/06/23 Пнд 20:59:38 #428 №2745351 
>>2745263
А что хранишь?
Аноним 26/06/23 Пнд 21:02:38 #429 №2745358 
image.png
>>2745345
Бот всё равно не останавливается, ладно, спасибо большое, буду завтра допиливать.
Аноним 26/06/23 Пнд 21:05:12 #430 №2745368 
>>2745358
Полюбому должна быть команда полного вырубания бота её и юзай, перечитай доки.
Аноним 26/06/23 Пнд 21:23:01 #431 №2745389 
>>2745277
>апи вкудахта не позволяет отсылать сообщения не сертифицированным программа
Недавно бота для вк писал. Все позволяет.
>>2745284
А тебе обязательно их в определенном порядке слать?
Может тебе нужно чтобы он на определенные слова отвечал?
Аноним 26/06/23 Пнд 21:26:07 #432 №2745394 
>>2745368
Можно просто break привязать к ключевому слову в логике.
Аноним 26/06/23 Пнд 21:35:00 #433 №2745418 
>>2745389
>А тебе обязательно их в определенном порядке слать?
>Может тебе нужно чтобы он на определенные слова отвечал?
Вообще, мне естественно не приветы нужно отправлять, а определённый текст для группки в ВК, сначала будет показываться рандомная картинка (это уже сделано), потом пользователю должен отправиться определённый текст в нужной последовательности естественно. Ищу как остановить бота, пока не нашёл.
Аноним 26/06/23 Пнд 21:42:21 #434 №2745437 
>>2745418
If tmp == "Привет 2":
....break
Аноним 26/06/23 Пнд 21:44:09 #435 №2745444 
>>2745437
Только не так, а так.
if tmp == 'Привет':
....break
У тебя же с Привет начинается
Аноним 26/06/23 Пнд 21:51:02 #436 №2745450 
>>2745437
Я тогда наебался, надо было не "Привет 2", а "Привет2" писать. Но тогда он соответственно останавливается после выдачи двух сообщений, и начинает заново.
>>2745444
А тут он только первое сообщение шлёт по кругу.

В общем, буду покупать подписку на ГПТ4 или фрилансеру какому захожу, всем спасибо.
Аноним 26/06/23 Пнд 22:07:45 #437 №2745475 
>>2745450
>А тут он только первое сообщение шлёт по кругу.
Хз, quit() попробуй, только тогда он вообще всю программу закроет. Ищи раба на зарплате, пусть он тебе в доках команду выхода ищет.
Аноним 26/06/23 Пнд 22:19:09 #438 №2745486 
>>2745450
А я кажется допер что тебе нужно. Тебе нужно не чтобы он после "определенного сообщения выключался", а чтобы он просто затыкался когда все сообщения выдаст.
В таком виде скрипт будет запоминать с кем уже говорил со времени своего запуска и больше им ничего отвечать не будет, пока не перезапустишь. Но лучше тестануть такое поведение и с разных айдишников попробовать написать.
Я уже было хотел вызваться за напивко, но так и быть держи. Там всего одну строчку переставить надо было.

msgl = ["Привет", "Привет2", "Привет3", "Привет4", ]
conversations = {}
while True:
....response = vk.messages.getConversations(count=1, filter='unread')
....if response['count'] > 0:
........item = response['items'][0]
........message = item['last_message']
........user_id = message['from_id']
........if user_id not in conversations:
............conversations[user_id] = msgl.copy()
........if not conversations[user_id]:
............continue
........send_message(user_id, conversations[user_id].pop(0))
Аноним 26/06/23 Пнд 22:24:51 #439 №2745491 
>>2745486
Ооооооо, анон, каеф, спасибо тебе большое, всё работает!
Да, видимо я как-то не правильно объяснил что ли? Видимо после работы и 4 часов ёбли с этим петухоном башка уже не соображает.
Аноним 26/06/23 Пнд 22:45:54 #440 №2745507 
Аноны смотрите, чел написал тут >>2745284 что ему рандомные ответы приходят, это значит что while True там ебейше крутит циклы:
Непереставая выполняется строка
response = vk.messages.getConversations(count=1, filter='unread')

Я всё правильно понял? Значит такой скрипт будет очень сильно нагружать сервер на котором выполняется. Ему надо ставить какую-то паузу time.sleep или искать в апи команду слушателя?
Аноним 26/06/23 Пнд 23:15:40 #441 №2745534 
image.png
>>2745507
Аноним 26/06/23 Пнд 23:20:19 #442 №2745537 
>>2745534
Надо проверить.
после while True добавить строку
while True:
....for i in conversations:
........send_message(i, "---test---")
Если после первого сообщения боту он начнет тебе спамить "---test---"

Значит и запросы сообщений он делает каждую секунду, с таким поведением тебя вк забанит или сервер

Самое примитивное и простое в таком случае добавить паузу.
В самом начале скрипта пишешь import time
а после while True пишешь
while True:
....time.sleep(5)
Где число сколько ждать в секундах прежде чем проверить сообщения.
Аноним 26/06/23 Пнд 23:25:14 #443 №2745540 
>>2745537
Спасибо, завтра посмотрю.
Аноним 26/06/23 Пнд 23:33:15 #444 №2745545 
image.png
>>2745486
У меня единственный вопрос остался, как мне отправку сообщения впендюрить, чтобы картинка отправлялась после первого "Привета".
Аноним 26/06/23 Пнд 23:37:57 #445 №2745547 
>>2745545
Не знаю. Я доки этого апи в глаза не видел.
Аноним 27/06/23 Втр 01:44:52 #446 №2745606 
>>2745263
Ты походу тот чел, который свою борду сделал и начал банить всех подряд.
>как банить по ip если не хранишь их в базе данных
Сделать эту базу данных. Очевидно же.
Аноним 27/06/23 Втр 10:11:42 #447 №2745744 
123.png
>>2745606
нет это не я. Он сделал борду, а у меня больше функционала.
Но не хранить IP в базе данных - это вопрос принципа, на этом строится вся социальная сеть. Регистрация только по юзернейму.
Вот и получается диллема, как банить если IP адресов не храню.
Вот модель юзера, тут ничего особенного нет.
Аноним 27/06/23 Втр 10:19:32 #448 №2745751 
image
>>2745744
Тогда не бань, это ж суть твоей социальной сети. Правильно? Или ты не понимаешь, что такое «суть»?

Или тебе придётся делать аналоги уникального идентификатора или хеша и хранить их. Но это всё равно будет привязка человека к идентификатору. Понимаешь суть? Понимаешь, что ты насквозь прогнил и хочешь унижать и контролировать людей?
Аноним 27/06/23 Втр 10:27:38 #449 №2745764 
>>2745751
вовсе я не хочу контролировать людей.
Мне нужна защита от долбоебов постящих гуро, скам и прочее, неугодное мне.
А в целом я его задумываю как платформу для высказывания на политические темы. Поэтому и нельзя хранить IP
Аноним 27/06/23 Втр 10:32:40 #450 №2745777 
>>2745764
ну тогда совершенно очевидно что ты дебил, далекий от пограмирования. храни ипы в хэше, шизик. хэши в обратную сторону не расшифровываются. хотя даже это тоже совершенно не нужно, но мне даже объяснять лень, пиздец просто, абу вводи логарифмическую капчу на этой борде. откудаж вы лезете
Аноним 27/06/23 Втр 10:37:25 #451 №2745785 
>>2745777
Почему даже это не нужно? Объясни, пожалуйста. Я тогда заведу поле для юзера без хеша. Спасибо.
Аноним 27/06/23 Втр 10:40:58 #452 №2745793 
Стикер
>>2745785
>юзера без хеша
Как же меня трясе тот твое тйпости. Ты ведь очевидно даже не знаешь разницу межу кэшем и хэшем. АААА БЛЯ СУКА!!111 Прсото закрой эту вкладку и никогда не заходи сюда, ты же овощь просто. IQ 50
Аноним 27/06/23 Втр 10:42:49 #453 №2745798 
>>2745793
Да это просто школьник.
Ну кто в школе свою ОС, борду или Гугл не пишет...
Аноним 27/06/23 Втр 10:44:23 #454 №2745803 
>>2745777
>>2745785
Их всего 255 ^ 4, на деле ещё меньше, забрутить элементарно при желании.
Эта задача не решаема технически, просто сидишь в другой юрисдикции и шлешь нахуй всех.
Аноним 27/06/23 Втр 10:47:05 #455 №2745813 
>>2745793
да что с тобой не так?
я же написал - заведу поле для класса юзера без хеша - без хеширования, то есть, так как ты и посоветовал, ибо даже это не нужно. Разницу между кешем и хешем я знаю, конечно же.
А теперь ты вдруг начинаешь выпендриваться, вместо объяснения, почему это не нужно.
Мне вот начинает казаться что ты ни хрена не знаешь
Аноним 27/06/23 Втр 10:55:43 #456 №2745823 
>>2745803
вот видите, шарящий человек спокойно объяснил в две строчки, почему можно хранить адреса в базе данных
Аноним 27/06/23 Втр 11:26:15 #457 №2745854 
>>2745813
>Разницу между кешем и хешем я знаю, конечно же.
тогда члму ты не хранишь ипы в хэше?
Аноним 27/06/23 Втр 11:31:24 #458 №2745862 
Стикер
>>2745803
Добавляем к строке с ip адресом строку с хэшем этого адреса и всё вместе хэшируем. Шах и мат.
Аноним 27/06/23 Втр 11:33:52 #459 №2745868 
>>2745862
И что это меняет?
Аноним 27/06/23 Втр 11:37:37 #460 №2745871 
>>2745862
На самом деле, надо делать регистрацию и привязывать телефон + e-mail. Для надёжности — фото и биометрию. Можно сделать модный вход по включённой вебкамере.
Аноним 27/06/23 Втр 11:48:59 #461 №2745876 
ну слушайте, если спецслужбам будет очень интересно, они просто придут к админу и схватят его за жеппу. То, что он захешировал айпишники, думаете это поможет ему или его пользователям? как только покажут швабру, он сразу уберет хеширование и все, конец вашей анонимности. Хотя мб просто заставят его грохнуть сайт
Аноним 27/06/23 Втр 11:50:43 #462 №2745878 
>>2745868
Хм... задачка. Вот смотри берем огромную строку 1к символов. Это будет наш ключ шифрования. Берем каждую цифру в ип адресе и умножаем на следующий порядок в этом ип адресе 273.454.3434.656. тут 2 умножаем на 454, 7 умножаем на 454. И берем из нашего ключа шифрования символ с этим номером. Короче делаю такую тупейшую обфускацию на основе строки. Это и кэшируем. Подобрать брутфорсом 255^4 это уже на 10 порядков сложнее т.е. невозмножно и файл ключ можно удалить\заменить.
А? А? А? А? А? А? А?
Аноним 27/06/23 Втр 11:55:56 #463 №2745881 
>>2745876
Хэширование нельзя убрать, оно в одну сторону работает.
Аноним 27/06/23 Втр 11:57:34 #464 №2745884 
>>2745878
Современные видяшки оперируют сотнями гигахеш(=миллиард) в секунду.
А у тебя конечное количество значений, которые ты приводишь к своей велосипедной форме. Ты можешь и тысячу хеширований завернуть, это ничего не меняет. Нужна теоретическая база, которая сможеть замедлить до неприемлемого уровня, а не оборачивать слоями говна, это не работает.
Аноним 27/06/23 Втр 11:59:21 #465 №2745886 
>>2745884
Ключ 10м символов и формула из нескольких действий деления умножения степени. Пока хватит до квантовых пекарен.
Аноним 27/06/23 Втр 12:00:11 #466 №2745889 
>>2745881
товарищ майор скозал - убрать хэширование айпишников
далее он будет просто сидеть со шваброй наготове и ждать, пока вы не скажете юхню и не засветите айпишники
Аноним 27/06/23 Втр 12:00:30 #467 №2745890 
>>2745886
И поставить у себя серверную стойку под кроватью вместо впски за три копейки, малацца.
Аноним 27/06/23 Втр 12:02:22 #468 №2745892 
>>2745890
обфускировать число таким образом - элементарная операция же.
Аноним 27/06/23 Втр 12:02:53 #469 №2745893 
>>2745892
Но она будет неэлементарной для атакующего, доо.
Я же тебе говорю - слои говна не работают.
Аноним 27/06/23 Втр 12:10:34 #470 №2745899 
>>2745893
Ладно. Сдаюсь.
Аноним 27/06/23 Втр 12:15:25 #471 №2745900 
между прочим, как двач хранит IP? вряд ли абу их хэширует.
Аноним 27/06/23 Втр 12:16:53 #472 №2745903 
>>2745900
>как двач хранит IP?
В распечатанном виде, просто курирующий офицер плохо с этими вашими печатными машинками управляется.
Аноним 27/06/23 Втр 12:19:59 #473 №2745904 
короче, ясно.
анонимность превратилась в тыкву
хочешь реальной анонимности - размещай сайт в даркнете
Аноним 27/06/23 Втр 12:22:31 #474 №2745906 
>>2745904
У анона просто задача тупая. Вот ко мне заходит синий человек, карсный человек и зеленый человек. Я хочу их учитывать по цветам, но при этом не знать какого они цвета. А цветов всего три. тут либо ты на своей стороне делаешь дополнительный костыль вроде шифрования за сохранность которого сам отвечаешь, либо нет.
Аноним 27/06/23 Втр 12:28:08 #475 №2745910 
>>2745906
смысла в шифровке нет если к анону админу могут прийти менты. Хотя как защита данных от случайных хакеров - это имеет смысл.
Аноним 27/06/23 Втр 13:03:09 #476 №2745928 
>>2745785
Ты не понимаешь, сука, у тебя нет абстрактного мыШЛЕНИИИИИИЯЯЯЯЯЯЯЯЯ!!!Я!Я!!Я!Я!!!!!!!!!!!!!
Аноним 27/06/23 Втр 13:57:53 #477 №2745976 
>>2745928
С одной стороны это очень смешно, что ты уже сутки горишь и потухнуть не можешь, а с другой стороны как-то не очень хорошо, что ты своей жопоболью тред засираешь. Ладно, думаю, за неделю всё-таки потухнешь автоматически.
Аноним 27/06/23 Втр 14:14:17 #478 №2745990 
Нафиг этот ваш вкат, бля. На джунов вакансий 0, бля. А на те что есть никто не отвечает, бля. На парсинг за 500 рублей готовых работать охрениллион. Охуенно я блядь вкатился, пиздец. Сижу рыдаю.
Аноним 27/06/23 Втр 14:22:24 #479 №2745996 
>>2745990
Вкат это ловушка джокера.
Аноним 27/06/23 Втр 14:28:08 #480 №2746003 
>>2745122
>>2745263
Могу по приколу посоветовать смотреть в сторону структур типа фильтра Блума, но тогда у тебя иногда будут попадать под бан невинные души.
Аноним 27/06/23 Втр 14:36:39 #481 №2746010 
>>2745990
Катись в чоткий парсинг с миллонами страниц, еблей челленджей, ордами лямбд и впсок на амазоне и прочим.
Обычный сайт любой даун спарсит, это такая же хуйня для детей как телеграм-боты.
Аноним 27/06/23 Втр 14:55:03 #482 №2746029 
>>2746010
О, да, кстати.
А каким проектом можно заинтересовать потенциального работодателя? Чтоб он посмотрел и сказал - вот это круто, вот это наш, берем.
Может хоть кто направление подскажет к чему стремиться?
Аноним 27/06/23 Втр 18:09:51 #483 №2746301 
image.png
>>2745990
А нахуя тебе парсинг и петухон, когда давно мог выучить нормальный язык, нормальный фреймворк и стать белым человеком?
Аноним 27/06/23 Втр 18:16:07 #484 №2746309 
Дарова,пацаны

Есть проект: тг бот,онлайн игрушка
Ищу джуна (сильнее не потяну.) для обсуждения и реализации проекта

Если кому интересно,то пишите в тг @Anivans
Аноним 27/06/23 Втр 21:27:15 #485 №2746601 
>>2746301
Приведи примеры.
Аноним 27/06/23 Втр 23:56:33 #486 №2746686 
>>2746601
Я же картинку намекающую прикрепил.
Аноним 28/06/23 Срд 02:52:14 #487 №2746723 
Аноны, знаете нормальные курсы по питону? Skillbox не предлагать)
Аноним 28/06/23 Срд 07:28:45 #488 №2746768 
>>2746723
Хочешь потом найти работу веб разработчиком - лучше учи PHP
Аноним 28/06/23 Срд 08:07:46 #489 №2746773 
>>2746723
Вообще, сейчас не имеет смысла учить какие-либо ЯП. Чтобы зарабатывать деньги нужно только знание PHP, он легко учится и пользуется большим спросом. А все остальное только для души.
Аноним 28/06/23 Срд 09:54:29 #490 №2746823 
>>2746723
По чему именно? Базовый синтаксис, бэкенд-разработка, питон для работы с данными?

>>2746773
Ну да, все бабки же сейчас именно в проектах на PHP.
Аноним 28/06/23 Срд 11:58:49 #491 №2746930 
2023-06-28x11:55:14.png
анончик какой бы ты вариант выбрал, если бы не был луце-чмоней, а базированным краснопильным питоняшкой?
Аноним 28/06/23 Срд 12:01:06 #492 №2746935 
image.png
>>2743143
>Нужно для сборки некоторых модулей при установке через пип
>>2743387
https://goonlinetools.com/snapshot/code/#2aoj2n4ji1yvpipt6nmunm
Примерно такое. В первом приближении. Быстро не вышло, дела-с типа.
Пример, правда, довольно искусственный, ведь абсолютное большинство пакетов поставляется в вилах и сейчас в докере сразу есть модуль wheel, но если ВДРУГ, ВНЕЗАПНО попадётся такой пакет, который надо собирать, это ещё не значит, что его действительно надо собирать в продовом образе и таскать с собой 100500 пакетов для сборки там же. В моём примере, с fastapi и uvicorn для итоговых пакетов: anyio, click, fastapi, h11, idna, pydantic, sniffio, starlette, typing_extensions и uvicorn в убунту понадобилось отдельно доставить только питоновский модуль билд, плюс при установке питона поставилось много чего, что в проде не понадобится. Результирующий образ без проекта ~62МБ (и ещё, навреное, метров на 10-15 можно сквошнуть при желании), что даже на очень маленьких и дорогих SSD в современных сетях не напрягает прям совсем.
Аноним 28/06/23 Срд 12:51:15 #493 №2746997 
>>2746930
Второй точно не. Между первым и третим скорее первый.
Аноним 28/06/23 Срд 13:07:55 #494 №2747032 
2023-06-28x13:06:31.png
>>2746997
> Второй
скобочку одну забыл опустить, так было бы понятнее

но в любом случае услышал тебя няша, спасибо за отзыв!

оставлю тяк =^-^=
Аноним 28/06/23 Срд 13:11:30 #495 №2747043 
>>2744696
>Ну вот это например написал
LT делал? Сколько RPS держит?
Аноним 28/06/23 Срд 13:12:21 #496 №2747047 
>>2743922
Чистый бек удобнее делать на FastAPI.
Аноним 28/06/23 Срд 13:17:24 #497 №2747065 
>>2744464
> нахуй ты свой пр везде запускаешь?
Чтобы определить, когда точно он запускается. Был бы ты внимательнее, заметил бы, что он ни разу сам не вызывается из кода в явном виде.
Аноним 28/06/23 Срд 13:33:43 #498 №2747093 
IMG20230628172802.jpg
IMG20230628172908.jpg
>>2746930
А что это вообще такое? Типо расстояние между синусом косинусом высчитывать? Я не силен в матане.
Аноним 28/06/23 Срд 14:05:28 #499 №2747135 
>>2746930
Первый, потому что один проход в отличии от третьего
Аноним 28/06/23 Срд 14:09:56 #500 №2747142 
>>2746823
>все бабки же сейчас именно в проектах на PHP.
Не все, но более легкодостижимые - да.
Аноним 28/06/23 Срд 14:11:37 #501 №2747145 
rec-2023-06-2309.30.33.mp4
rec-2023-06-2309.55.11.mp4
rec-2023-06-2309.58.49.mp4
Figure19.png
>>2747093
> матан
...

если не силен, то стань сильным

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


>>2747135
> не знает что лист компы быстрее обоссаных циклов
мы вам перезвоним...
Аноним 28/06/23 Срд 14:11:51 #502 №2747146 
>>2747142
Жопой ещё достижимее торговать, что ж не торгуешь?
Аноним 28/06/23 Срд 14:16:33 #503 №2747156 
>>2747145
>мы вам перезвоним...
У тебя два прохода, пынямаешь? Два прохода будет всегда медленнее чем один, даже если он сделан через компрехеншн
Аноним 28/06/23 Срд 14:17:32 #504 №2747157 
>>2747146
Торговать жопой парицаемо во все обществе, а работа с пыхой только среди парочки шизов
Аноним 28/06/23 Срд 14:30:26 #505 №2747187 
>>2747145
А, графы хуяфы.
>додик с высшим образованием
Да, поварской колледж оканчивал, сейчас уже поднялся до должности собачий депутат.
Аноним 28/06/23 Срд 14:33:36 #506 №2747194 
>>2747043
>Сколько
https://www.youtube.com/watch?v=Boykn0nqM28
Аноним 28/06/23 Срд 14:43:30 #507 №2747217 
>>2745744
>не хранить IP в базе данных
А ты не храни ВСЕ IP. Храни только зойбаненных, сверяйся с ними и не сохраняй адреса тех, кто прошёл через фильтр.
Аноним 28/06/23 Срд 14:44:01 #508 №2747218 
Figure100.png
>>2747156
ты сишная низушная девочка или луцедаун?

>>2747187
модель фронта для вью

> Да, поварской колледж оканчивал, сейчас уже поднялся до должности собачий депутат.
к успеху идешь, крассава👍
Аноним 28/06/23 Срд 14:58:25 #509 №2747244 
Опять шнобель активизировался
Аноним 28/06/23 Срд 14:59:01 #510 №2747247 
>>2747217
Как ты узнаешь кого банить тогда, лол.
Аноним 28/06/23 Срд 15:00:08 #511 №2747249 
>>2745744
>Но не хранить IP в базе данных - это вопрос принципа
Кстати, ты же знаешь, что ещё до того, как начнёт исполняться питонячий код IP будет сохранён в логах proxy/web-сервера (апача, нжинкса и т.п.).
>>2747247
Вот из логов нжинкса и бери.
Аноним 28/06/23 Срд 16:45:17 #512 №2747388 
>>2721548 (OP)
Здравствуйте, я к вам мимо с дельфи и турбопаскаля. Скажите, пожалуйста, могу ли присвоить полю некоторого объекта значение вне методов этого объекта, даже если оно было не определено изначально? Ну то есть obj.field = val всегда будет работать, вне зависимости от того где вызывается и было ли установлено obj.field в некоторое значение до этого?
Извиняюсь за сумбурность, спасибо.
Аноним 28/06/23 Срд 17:39:23 #513 №2747455 
>>2747388
Всё так. Пожалуйста.
Аноним 28/06/23 Срд 17:50:44 #514 №2747471 
image.png
>>2747388
> я к вам мимо с дельфи и турбопаскаля.
Как и я. У этих ЯП есть кое-что общее с питоном: очень сложно случайно выстрелить себе в ногу, если ты всё делаешь по уму.
> Скажите, пожалуйста, могу ли присвоить полю некоторого объекта значение вне методов этого объекта, даже если оно было не определено изначально?
Если я тебя понял, то вопрос занятный. Но непонятно, зачем его задавать, если всё так легко проверить самому.
См. скрин.
Итого: да, ты можешь напихать в объект новые свойства (и даже методу потому, что >>2743378
) даже после его создания.
Непонятно только НАХУЯ. Встроенными методами ты новое свойство всё-равно не обработаешь, так что оно абсолютно ничем не будет отличаться от переменной (кроме, пожалуй, того, что будет передаваться со всем объектом, но я пока не придумал практического применения, это свойство всё-равно должны там ждать).
Аноним 28/06/23 Срд 18:27:16 #515 №2747510 
>>2747142
Пилить вордпресс за 30к? Достижение уровня /pr.
Аноним 28/06/23 Срд 18:28:47 #516 №2747513 
>>2747218
Все джаваскриптизеры такие поехавшие или ты отдельный случай?
Аноним 28/06/23 Срд 18:34:55 #517 №2747523 
>>2747455
>>2747471

Спасибо
>>2747471
>если всё так легко проверить самому

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

>>2747471
>Непонятно только НАХУЯ.
А, ну в моём случае я пытаюсь отметить некоторые сторонние объекты определенным образом, и чтоб без сильной ссылки на них, что-то вроде эфемерона, тут главное имя поля позакоыврестей придумать.
Аноним 28/06/23 Срд 18:36:31 #518 №2747525 
image.png
>>2747471
Возможно для ситуаций, когда ты импортируешь какой-то модуль для какой-то своей функции и тебе надо допилить его напильником, не изменяя сам модуль.
Аноним 28/06/23 Срд 18:46:47 #519 №2747539 
Хотя в таком случае можно просто наследовать класс.
Аноним 28/06/23 Срд 19:12:08 #520 №2747578 
2023-06-25x16:35:56.png
>>2747513
> джаваскриптизеры
нахуй иди отброс
Аноним 28/06/23 Срд 19:23:32 #521 №2747605 
Каждый раз проигрываю с этих скриншотов с вкатунским кодом
Аноним 28/06/23 Срд 19:43:24 #522 №2747625 
>>2747523
>для встроенных классов такое провернуть у меня не вышло.
Это могут быть, например, не питоновские, а сишные класс и тогда оно может работать иначе.
> отметить сторонние объекты ... чтоб без сильной ссылки на них
Ну, ХЗ. Я бы, наверное, добавил их в какой-нибудь лист, то есть как раз ссылкой.
Кстати...
>>2747525
> импортируешь какой-то модуль для какой-то своей функции и тебе надо допилить его напильником
А унаследовать (и опционально что-то перезагрузить) не проще?.. По крайней мере это будет более явно и может помочь в редких, но возможных ситуациях.
Аноним 28/06/23 Срд 21:08:52 #523 №2747682 
>>2747605
Покажи свой невкатнуский код
Аноним 28/06/23 Срд 21:49:12 #524 №2747726 
>>2747249
Из логов нжинкса, благодарю
Аноним 29/06/23 Чтв 09:50:02 #525 №2748004 
>>2721548 (OP)
Ребят, "Хочу в ИТ". Думаю утроится на курсы интенсив питон в скилфактори, привык к организованному обучению и возможность есть. Потом что понадобится буду доучивать сам но хочется организованный старт. До этого опыт программирования так се - незаконченная вышка и переодическое ковыряние в коде модов для того чтобы ту или иную игрушку выправить чуть чуть.

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

Я вижу вы рекомендуете нах ЯП учи PHP, но я хочу потом вышку закрыть и в Data Science податься и из того что я вижу, Python для этого хороший старт. Мне не надо много бабла, человек я скромный, поэтому больше волнуют вообще перспективы найти джун позицию а там дальше разбираться, город Питер если что.
Аноним 29/06/23 Чтв 10:44:13 #526 №2748033 
>>2747578
нахуя ты захардкодил координаты в датаклассе?
Аноним 29/06/23 Чтв 10:49:04 #527 №2748035 
>>2747043
всем похуй сколько
Аноним 29/06/23 Чтв 11:32:29 #528 №2748057 
>>2748004
Я скилфактори прошел и диплом получил. Хуйня полная. Я туда пошел потому что бесплатно была возможность, чому бы и нет. База питона была. Во-первых охуел от того что на курсе 90% тёть срак и бывших поворов, которые из программирования до этого только включение ПК освоили. Экзамен был уровня ответьте на 10 вопросов что такое Питон, что такое класс.
Итоговое задание было лень делать пошел на гитхаб, нашел там вкатуна который год назад то же задание там же делал и копипастнул половину его репы. Вторую часть задания надо было сдавать в гуглдокументах и я просто пустой документ сдал - по логике мне за это оценку бы на половину снизить должны были, но так как у меня до этого все оценки 100% мне уже похуй было. Я очень удивился когда мне в ответ пришла рецензия от экзаменатора какой я молодец и всё у меня отлично. Т.е. они не то что не проверяют, они даже не открывают работы.

Вывод в том, что от самообучения больше пользы чем от курсов.
Аноним 29/06/23 Чтв 11:43:12 #529 №2748068 
>>2748057
Спасибо за ответ. Я уверен что от самообучения больше пользы, моя проблема в том что я давно из всего этого вывалился и хочется конкретная точка старта чтобы влится обратно, и какая никакая бумажка что мол чтото знаешь для поиска работы. Про кучу странных людей тоже не удивляет рекламы много, сам наверное еще долго буду странным выглядть для людуй, кек.


Неколько вопросов, если не сложно:
Давно было?
Как сам материал, как база знаний для "вката", с учетом что дальше сам буду учится, вменяемо?
После того ты закончил, как с трудоустройством - искал, помогали? Не знаешь те кто с тобой проходили как у них прошло?

Еще раз спасибо что уделил время.
Аноним 29/06/23 Чтв 11:57:26 #530 №2748082 
>>2748068

В начале самый базовый материал совершенно дефолтный как будто с pythonworld.ru взяли. Да даже там лучше, потому что у скилфактори всё разбавлено какой-то кринжовой лирикой для самых маленьких дегенатов типа "мы с Алисой шли по дорожке и подумали а что такое тип данных, курлык".
Периодически проводят вебинары, я в начале сидел там но лекторы-менторы, которые их проводят даже не знают как некоторые встроенные функции питона работают и прямо во время трансляции идут их гуглить, я чуть не помер от кринжа и больше не приходил.

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

Работу не искал пока - сижу пержу, думаю ещё репу наполнить, то что за время "обучения" там появилось - скрыл - это детский сад.
Аноним 29/06/23 Чтв 12:10:48 #531 №2748094 
>>2748082
Спасибо, хз что буду делать но инфу к сведению принял.
Аноним 29/06/23 Чтв 13:19:43 #532 №2748144 
2023-06-29x13:16:47.png
>>2748033
потому что это константа долбоеб
Аноним 29/06/23 Чтв 13:27:27 #533 №2748153 
>>2748068
Мимо другой анон, но хочу тоже свои пять копеек внести.

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

По поводу структурированного начала - курсы это не плохо само по себе, просто к ним необходимо относиться как к одному из многих источников знаний которые ты ищешь самостоятельно, т.е. они не всегда верные, и они определенно не исчерпывающие/достаточные для поиска работы сами по себе. Я в свое время частично прошел известный курс на курсере по машинному обучению - ровно до части, которая мне была нужна, как я считал; дальше я упорно грыз разношерстные статьи и блогпосты, всё в том же направлении. Когда собеседовался в свое текущее место работы, показал мой проект на гитхабе, который практически демонстрирует 1) что я умею (само)учиться, и 2) собственно мой набитый скилл в ML, в порядке важности.
Аноним 29/06/23 Чтв 14:05:11 #534 №2748193 
>>2748153
Спасибо что обратил внимание на портфолио вместо бумажки. Я недавно начал всерьёз в этом разбираться, поэтому, нестмотря на то что слышал про проекты на GitHub как показатель скила, как-то в голову не запало что это действительно портфолио которое стоит развивать чтобы продать себя работодателю. Я привык решать проблемы, нежели самому изобретать задачи, поэтому интересует - как думаешь = имеет ли смысл набивать скилл на штуках типо exercism.org и прочих доступных в открытом доступе сборниках задач и потом это вешать в Гите? Т.е. набивать руку всё равно полезно но интересует оценит ли ктото такой труд, или это только для саморазвития подходит а для работодателя нужны на порядок более трудные штуки.

Я понимаю что курсы не исчерпывающие, но без базы знаний сложно метить на какую-то работу, учиться с 0, и надеется что делашь не зря. Но в любом случае да - курсы это только начало. я понимаю. На правах интереса - как ты выбирал проект который готовил для демонстрации - это было что-то с курсов, что-то совсем своё, или что-то по требованиям/из области фирмы? Я понимаю если не хочешь в детали вдаваться просто интересен подход.
Аноним 29/06/23 Чтв 14:33:06 #535 №2748215 
>>2748193
>учиться с 0
Чел, тот анон тебе пытался сказать, что пока ты сам с интересом и искренней страстью не занырнешь в этот чан с говном, забывая про сон и еду не будешь изучать доки, а потом писать программы в стол или для своих каких-то хобби, то далеко ты всё равно не уедешь.
В этом то и обман курсов вката, туда тёти сраки идут с полной уверенность, что сейчас им приоткроют магию СВЯТОГО ПОГРАМИРОВАНИЯ и как по щелчку пальцев у них изменится сознание и они станут тыжпрограммистами.
Ты можешь спокойно вкатываться по урокам с ютуба, а если тебе не хватает мотивации, то курсы твое сознание сильно не переменят. Ты их пройдешь и останешься сидеть без мотивации с этими новыми знаниями, которые МИНИМУМ и не тянут даже на джуна.
Аноним 29/06/23 Чтв 15:00:35 #536 №2748263 
>>2748215
Не зная будущее сложно говорить о том хватит моей мотивации пройти весь путь, но тут какая штука - по ощущениям да, но каждый ходит по своему, и мне привычно организованное обучение, где самообучение идёт как дополнение нежели основной ресурс. В дальнейшем, из всего что я слышу, мне придётся сменить такт, но я не вижу смысла усложнять себе задачу на первом, без того сложном шаге переиначивая себя и то как я подхожу к решению проблем по жизни. С теми проблемами которыми я сталкивался которые я мог бы в теории решить кодом, они либо решались доступными онлайн программами/скриптами, сравнительно незначительным количеством кода, простыми AHK скриптами например, или там сравнением/коррекцией/переиначиванием пары, нежели перепиской их с 0 с детальными изучением языка на котором они написаны. Возможно я просто не вижу проблемы которые можно было бы решить написав маленькия для себя проект, но врятли я их увижу если я просто не торопясь начну на абы как ковырятся в ресурсах.

Пойми меня правильно - я благодарен за фидбек. Может окажется что ты прав а я зря время потратил, особенно учитывая кучу народа которые ломанулись в IT и потом отфудболились, но на данный момент у меня есть время и желание этим заниматся, и хочется это делать оптимальным для меня способом, нежели тем который вымярен для сферического вкатуна в вакууме. Отсюда и вопросы про то как люди в области подходят к решению, чтобы выбрать тот путь который мне наиболее понятен, близок и удобен, в том числе чтобы на больший период времени сохранить мотивацию
Аноним 29/06/23 Чтв 15:43:54 #537 №2748302 
>>2748193
Мне кажется что решения чисто синтетических задач котируются не так хорошо, как какой-то проект который ты разработал самостоятельно для решения более реальной задачи, даже если она очень специфичная и никому кроме тебя не нужна. У самого такие есть, но я слишком трус чтобы их выложить напоказ. Я ставил в свой CV что, мол, решаю Advent of Code (задачи реально прикольные), но не думаю что это отражает что-то кроме того, что я примерно понимаю как решать алгоритмические задачи - это мало или совсем ничего не покажет в плане других граней разработки типа знаний best practices/"know your tools" в твоем языке, поддержка проекта, скилл усваивать/осваивать документацию и либы и т.д. Если сможешь найти себе такой проект, который можно прогрессивно развивать, это было бы идеально.

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

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

Для демонстрации я выбрал самописную сеть из >>2743370; еще во время знакомства с тем челом я задался себе целью "я напишу нейросеть с нуля". В матане сам не силен, но и не боюсь. Прошел тот курс ровно до окончания модуля по классическим нейросетям и остальное не трогал. Не один вечер провел подальше от компа, с тетрадкой и ручкой пока пытался понять как обобщить обратное распространение ошибки на Nный слой, ну не обобщается сцуко. Поучительный для меня момент был: я несколько раз видел упоминание одной херовины матрица Якоби и избегал её, потому что СЛОЖНА. Когда исчерпал все остальные варианты и таки пришел к ней, оказалось что это была та серебряная пуля которой мне не хватало.

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

Работаю соответственно не в яндексе, выполнил только 3 из 6 тестовых заданий в обоих попытках, да и в посте немного слукавил - прогнал заново процесс пару раз и получал ~95.9%, а там требовали 98%.
Аноним 29/06/23 Чтв 15:57:21 #538 №2748319 
>>2748302
Спасибо за детальный, развёрнутый ответ. Буду думать что куда и дальше искать для себя инфу. Удачи с бэкендом.
Аноним 30/06/23 Птн 00:36:42 #539 №2748665 
Какое-то пидорство в треде, вы ещё поебитесь блядь, уёбки ссаные.
Аноним 30/06/23 Птн 01:59:31 #540 №2748707 
image.png
image.png
перекат
>>2748706 (OP)
>>2748706 (OP)
>>2748706 (OP)
>>2748706 (OP)
Аноним 30/06/23 Птн 09:48:26 #541 №2748768 
>>2748004
1) Курсы по питону учат веб-разработке на питону, а не питону для дата сайнс. Хочешь питон для дата сайнс - ищи курсы по дата сайнс.
2) Скиллфактори говно, если так хочешь пройти курсы - выбирай Hexlet или Яндекс Практикум. Но, повторюсь, просто для того чтобы выучить питон лучше ебани какой-нибудь курс с курсеры/юдеми или Поколение Python на степике.
Аноним 30/06/23 Птн 09:51:14 #542 №2748769 
>>2748665
Словно что-то плохое. Это же питон-тред, мы тут все толерантные и открытые к экспериментам.
Аноним 10/07/23 Пнд 22:04:33 #543 №2761490 
menu_level = 1

1. Ебу мамку ОПа
а. Сильно функция f_1a()
б. Слабофункция f_1b()
в. Не стоит совсемфункция f_1v()
q. Выход из режима трахафункция f_1q()

2. ёбу батьку на спине мамки
а. аж возбудилсяфункция f_2a()
б. Слабо, не кончилфункция f_2b()
в. Не стоит писяфункция f_2v()
q. Выход из режима трахафункция f_2q()


inp = input("комманда?").strip().lower()


Как можно реализовать такой трах? В консоли, на чистом пистоне.
Хостинг для телеграм бота на питоне Сав 12/07/23 Срд 23:11:57 #544 №2763687 
подскажите дешевый хостинг для небольшого бота на питоне, бесплатные варианты не предлагайте, так как они всегда имеют какие-то ебанутые ограничения.
Аноним 13/07/23 Чтв 13:40:10 #545 №2764275 
Mojo убьет Python?
Аноним 13/07/23 Чтв 15:24:43 #546 №2764348 
>>2764275
да, но не быстро. потому что на питоне написано пиздец как много софта и переписывать его на каком-то МоЖо никто не собирается
Аноним 13/07/23 Чтв 17:48:37 #547 №2764674 
>>2764275
Мне кажется mojo это хуета маркетинговая, никому нахуй не нужна будет, ровно как и deno или vlang.
Аноним 15/07/23 Суб 02:06:59 #548 №2766615 
>>2764674
ну, правды ради, рано или поздно один язык сменит другой и тут как кому повезет
Аноним 02/08/23 Срд 12:00:27 #549 №2791146 
чёб такого подводного про питонец почитать? узнал про компиляторы интерпритаторы, GIL, чё ещё стоит знать? по прикольчику
comments powered by Disqus

Отзывы и предложения