Это копия, сохраненная 23 мая 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий: >>2616755 (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: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Я в ваших джангах не ебу, но скорее всего это файлнейм, который будет в заголовках респонса. А дальше срать в вывод ты можешь откуда угодно, хоть из файла, хоть из объекта какого-то.
Это да. Не могу выгуглить, как впихнуть в request этот атрибут. Ошибка происходит при попытке присвоить response = views.download(request)
Пиздец. 3 часа кипел над очевидной хуетой в виде неправильного вызова функции. Ну как так то...
Вот пример:
project_folder
- folder_1
-- code.py
- config.py
Я в code.py хочу взять импортировать config. В JS импортируется "../config", а в Питоне как?
Хочу поменьше мокрописек, тупо подсветочку, нетормозной автокомплит и лечение детских болезней стандартного REPL, без йоба-наворотов, без вим/емакс режимов, без серверов для jupyter. bpython брать? Питон 3.10
Спроси у chatgpt как заработать миллиард и нихуя при этом не делать. Вместо этого ходишь, как долбоёб, на никому не нужную борду, в никому не нужный раздел, чтобы взорвать полтора пукана непуганым школьникам.
Охуеть, сижу на первом, про остальные вообще не слышал, надо будет посмотреть.
Так дегенераты и не пользовались chatgpt. Я себе сайт с фронтендом и бекендом написал. Тупо задавал вопросы, а потом объединил и заставил искать ошибки. На питоне знаю только про всякие сложения/вычитания в консольке. Вот думаю начать фрилансить с chatgpt.
Занимаюсь скрабингом через селениум. Появилась задача записать именные коллекции. По порядку.
Есть сайт, структурой которого является таблица:
><table>
><tbody>
>...<tr><th>Subtablename1</th></td>
>...<tr>
>......<td>data1</td>
>......<td>data2>
>...</tr>
>...<tr></tr> <!-- десятки <tr> -->
>..<tr><th>Subteblename2</th></td>
>...<tr><td>...</td></tr> <!-- десятки <tr> -->
>...
Смысл в том, что каждой коллекции я хочу присвоить имя SubtableN с данными, которые содержатся в тегах под SubmanameN.
Я поставил якорь, который забирает всё содержимое под определённым тегом.
XPATH, '//th/[contains(text(), 'Subtable'] - получил список заголовков [Subtablename1, Subtablename2, ..., n]
XPATH, //th/[contains(text(), 'Subtable')]/following:td[contains(@class, 'classname')] - получил список содержимого под заголовками [data1, data2, ..., n]
Каким образом мне теперь связать заголовки с data?
{'Subtablename1': {col1: data1, col2: data2, ...}}
Выполни первый и получи ноды с заголовками, потом итерируйся по ним и ищи их сиблингов, а не по всему документу.
Есть несколько расширений для code snippets жы. Одним кликом вставляешь.
Или я что-то не так понял?
Никто не запрещает, просто это разные символы U+0009 и U+0020, что при запуске кода может обернуться ошибкой, особенно, если над кодом трудятся много специалистов.
Разные редакторы и IDE интерпретируют табы по-своему, кому-то нужна надстройка конвертации табуляции в четыре пробела, кому-то нет.
Короче - посоны обкашляли и порешали, что четыре пробела - это заебись.
Табы не имеют определенной ширины, она может быть произвольной, спейсы всегда одинаковые.
В целом, это вечный говноспор, тем более, что сейчас есть автоиндент и можно настроить таб на нужное количество спейсов.
Неплохо, спасибо.
Мне осталось понять, как вернуться на уровень вверх для того, чтобы выбрать сиблингов.
>...
><tr>
>....<th>Subtab1</th>
></tr>
><tr>
>...<td>data1</td>
>...
><tr>
>....<th>Subtab2</th>
></tr>
Ерунда получается.
//tr/[contains(text(), 'Subtab')]/parent:tr/following-sibling::
Following-sibling выделяет абсолютно всё, что располагается ниже Subtab1, включая Subtab2 (что логично).
Направление вроде бы правильно, но технически не могу додумать, как указать интервал, применив following-sibling и preceding-sibling.
Я пытался органи
> Короче - посоны обкашляли и порешали, что четыре пробела - это заебись.
То есть база - это в ИДЕ настраивать таб на 4 пробела?
Крч питон оказывается просто хайп среди зумеров студентов. А для реальной работы в компании требуется ЖС, ЖАВА, си всякие пхп, а питон оказывается нужен многим не разработчикам для всякой малейшей автоматизации...да я пересмотрел немчинского
В треде ваще есть питон-разработчики? Или это фейк?
>>34538
Анончик, спасибо, заставил мозг напрячься.
XPATH, tr[[contains(text(), 'Subtablename1')]]/following-sibling::tr[[contains(text(), 'Subtablename2']]::preceding-sibling::tr[td[preceding-sibling[contains(text(), 'Subtable')]]]
Теперь вместо явных Subtablename можно указывать заголовки, которые получаю через первый запрос, проходясь по циклу, как ты и говорил.
Он не покажет, потому что он зумер-пиздулька. Даже не пиздобол. Пиздулька.
В вебе фейк. В нейросетках и дата анализе не фейк. Ты посмотрел бы хоть на время существования джанги к количеству звёзд на жидхабе. Весь вэб сейчас на жс вместе с бэком. Для особенно тяжёлых случаев жабу пердолят. Ну девопсам ещё питон заходит. В остальном существует только для курсов по добыче бабла с вкатунов. Серьёзный код не пишут на скриптовом языке, который может в использование только 1 ядра процессора.
Сколько они там, 8 или 10 методов используют в работе? Ну пиздец сирьёзна.
Как будто ты пишешь серьезный код на своем ебовейше серьезном языке, аж приходится прибегать спускать свой жопный пар.
Чел, за жс будущее на десятилетия. Веб полностью под нами. Сейчас начали уже в софт залезать. А что будет завтра? Напердолим какую-нибудь надстройку и начнём драйвера писать.
Вот когда жс заменит пхп, которого до сих пор процентов 80 в вебе, тогда и приходи. Только за это время твой жс уже сдохнет.
https://colorlib.com/wp/wordpress-statistics/
> 810 million websites use WordPress, which is 43% of all the websites on the internet
> WordPress has a 64.2% share of the CMS market, which is more than 10x greater than its closest competitor
Это другое. Там своя атмосфера.
1920x1080, 0:02
Я просто несколько приохуел от несерьезного языка питон и серьезного жс, лол.
Так питончик то реально не серьезный, нейросети и дата саенс это ваще чо такое? Это для ученых и инженеров-математиков, не для разработчиков
К слову, DS/ML на питухоне реализованы на языке C/C++. Из тормозного медленного интерпретируемого питухона вызываются быстрые скомпилированные модули на C. Потому что инженегру и разметчику мусорных баков некогда учить С, им простой язык для тупых вкрации обеснили и они пользуются.
Почему не серьёзный? Можно парсить фап треды на дваче, заливая весь контент автоматически.
Покажешь свою недальновидность, поскольку для скачивания фап тредов есть Кукла, которая написана на JS.
1920x1080, 0:05
Почему так орирую с наплыва ЖСеров и ПХПеров в питон треде
Вкатуны, чат гопота убила ойти, перекатывайтесь в петросяны.
тоже человека в зеркале увидел?
Шизоюмор
Ну так пиздуй писать на своём элитаро-басурманском языке. Чо ты в питоновском треде забыл то.
Нейросеть попыталась скаламбурить, но неудачно (смешала змею и "выпустить кота из мешка").
Scrapy/aiohttp, там горы примеров. Селениумы разве что пачкой запускать. Скрейпинг — это днищенское днище
Глупая грязная дешёвая работа, почти всегда нарушающая правила пользования сервисами.
Тот кто придумал pandas.Dataframe.to_sql в том виде в котором он сейчас - просто нелюдь. Животное. Вызов с replace полностью перекраивает нафик схему с ALTER, дропает все колонки что ты не указал и выпиливает констрейнты. За использование подобного надо сразу стрелять нахуй
Переопредели assertEqual в классе.
а то что? ты мне угрожаешь?
Просто сложно. Самое неприятное, что я в архитектуре не смыслю (аналитик данных).
Ты что-то накостылял, там нечему тормозить.
Ну что тут раскидывать. Старый, годный, wsgi-микрофреймворк. Нельзя сваггер получить из коробки, нельзя асинхронность, запрос должен отработать максимально быстро. Если хочется модно-молодёжно, надо всякие фастапи. Если хочется модно-молодёжно 5-летнего разлива, aiohttp. Фласк тоже был модным-молодёжным, но лет 10 назад.
Насколько он актуален решать тебе. Документация хорошая, качество пригодно для продакшена. Кто-то там в гитхабе постоянно зависимости обновляет, минимально штаны поддерживает без активной разработки. С другой стороны фреймворк уже очень зрелый и детские болезни давно все пофикшены. То есть, если твоя задача это стандартное wsgi приложение без асинка, то вполне сойдёт.
Что бы посоветовал для освоения вкатуну в веб в качестве первого фреймворка? Flask? FastAPI? Или сразу Django?
Выучись фаст апи, а потом брокеры сообщений, бд, способы распаралеливать приложения на питоне и облака. Иначе останешься в пыхапе нише вместе с джангой.
мимо
Джанго уж почти 20 лет существует и будет существовать. На нём и апишки можно делать и что угодно.
Проверенная временем махина. И активно поддерживается и будет дальше.
Именно такое и нужно рассматривать в первую очередь, а не че-то там новомодное популярное интересное
На нем делают только две вещи, жирные апишки когда не хочется ебаться с бд и юзается местная ОРМ и новостники, потому что только ебанутый станет юзать джанговский шаблонизатор. А монолит на питоне это мем и максимально проигрывает по производительности и тулзам даже современной пыхе. И это ещё не говоря про то, что ты сам ограничиваешь дальшейший карьерный рост с таким стеком.
Мне вообще кажется что слово карьера и питон, в одном предложении нельзя писать.
В оп посте следующих тредов надо об этом указывать, что питон это школозумерский хайп, и популярность его как раз не изза того что на нем ведется какая-то разработка(лол), а потому что он популярен изза банальной пропаганды СТАНЬ ПРОГЕРОМ из всех щелей.
Вылезь уже из своего жс-пузырька и посмотри на реальный мир.
Алсо
>школозумерский хайп
>самый старый из активно используемых в 2к23 году языков, не считая си и плюсов
Продавец курсов стань питон программистом за 2 месяца
Разраб в красно-белом телекоме, пилю бэк для сервиса внутри мобиоьного приложения.
Я на С со школы кодю. От нехуй делать за два месяца выучил сначала R, потом Питон. Параллельно вспомнил вузовский курс матана, линейки, тервера, графов, дискретки, алгебры топологий и прочие страшные слова.
Посмотрите на этого ИНЖЕНЕРА.
Пока одноклассники курили за гаражами, он кодил на си.
И вот теперь, на пике своего могущества, он срёт в питон треде на дваче. Так кто смеется последним?
Суббота жы, дурачок. Не бухать же как тебе подобные приматы. Сижу, читаю интересные мне вещи. Немношк сикаю сверху на насекомых.
Лол.
Ясно, типичный задрот-омежич которому в школе харкали в портфель, а он мечтал как он ВСЕМ ИМ ПОКАЖЕТ, и вот он ВКОТИЛСЯ В АЙТИ и теперь "срёт на всё это быдло", ухх доказал всем кто крутой на самом деле. Пошёл нахуй отсюда, чушкарь, пока пендалями под парту не запинали.
Поебать. Любой бери. Наверное проще джангу, научит слой данных заваривать.
Фласк, фаст апи, грпс, редис, постгря.
python знаю на уровне создания абстрактных итераторов с масс наследованием из миксинов
R конечно. Этот язык везде востребован: от науки до промышленности, да и гибкости для работы с данными у него больше, чем у питухона. Алсо питухон умрёт через года два, а R еще n-дцать лет проживёт.
ChatGPT забыли спросить
Перетолстил. Уж лучше julia учить.
Нахуй R. Язык не существует вне своего R Studio. По сути, это тупо «нотебучный» скрипт для учёных/статистиков. Всё то же самое + 100500 фишек и удобств делает Питон.
И чё теперь? Всю жизнь только на питоне сидеть потому что ты так скозал? Чё случится, если чел выучит два языка? Финансовые расчёты с R - просто песня.
мимо-r-программист
> Начать R или продолжать Python?
Если чисто для себя, для души - то R.
Если для работы, как основной язык - то Python.
Если для вката - то Swift, Kotlin, Java.
Я просто сам выучил R, а потом подумал, плюнул и выучил питон. R не пригодился, на Питоне ваяю постоянно что-то. И финрасчёты на нём тоже можно спокойно делать.
Ты сказал?
Да а нахуй тогда вообще нужны языки программирования? Давай удолим все остальные, ты всё равно говоришь "всё то же самое". В пизду тогда.
Так тут изначально другая постановка вопроса - челик учил питон, потом видимо кто-то ему сказал что питон НИНУЖИН, и он хочет свитчнуться на R. Это хуевый план, некоторые вечные студенты так по 5 лет кочуют с языка на язык, пытаясь найти тот самый единственный, на котором ПОПРЁТ.
>Всю жизнь только на питоне сидеть потому что ты так скозал?
С питона соскакивать в легаси язык - тоже не шибко умно. Соскакивать есть смысл ради расширения компетенции, а Р, если ты юзал пандус, тебе не даст ровным счётом ничего нового. Он незначительно уменьшит количество костылей и значительно уменьшит число возможностей.
Можно соскочить в юлю если надо пердолить данные.
Можно соскочить в жаву/сишарп/жс/го, если хочется крепче держаться за рыночек.
Можно соскочить в кложуру/эликсир/эфшарп/ним/кристал чисто для души, чтобы посмотреть каким ещё способом можно писать программы.
>Можно соскочить в жаву/сишарп/жс/го, если хочется крепче держаться за рыночек.
А ты уверен, что с жс в бэкенде ты крепче держишься за рыночек?
>Какие подводные камни?
Питон знает каждая подзаборная собака. Будешь драться с миллионом индусов за чашку риса.
>если ты юзал пандус
>значительно уменьшит число возможностей
Чево блеать? Пандус - это dplyr на минималках.
>Можно соскочить в кложуру/эликсир/эфшарп/ним/кристал чисто для души
А чем R не устроил? Я его использую для души и мне нравится.
Питон на уровне школьной программы знает каждый, досконально знает джангу/фастапи ненамного больше людей, чем условный спринг.
Вкатуны, что выучили питон на школьном уровне и побежали искать работу это головная боль для HR, но никакие не конкуренты
Нахуя было изъебываться и делать свою schema поверх пайдантиковской, если есть нормальная пайдентиковская, блядь, чем она тебя сука ебаная не устраивает?
БТВ, вы можете подумать что в условие не попадаю, но он даже вот так вот не выводит ничего в консоль.
https://www.codewars.com/kata/521c2db8ddc89b9b7a0000c1/train/python
Думал фор 2 цикла сделать или с одним вайлом и счетчиками какими нибудь но че-то вообще мыслей нету.
Считаю что польза мне все-таки будет какая то хоть и с подсказкой какой-нибудь нежели вообще забить на это задание.
до завтра
Очевидно, надо определить границы left-right-top-bottom, по размеру списков, а потом их сдвигать.
Ну и сделать stepx-stepy, и манипулировать их значениями по достижению границ, -1, 0 или 1. Ну и циклы, да.
Подсказка: сделать конечный автомат из четырех состояний.
Легче всего делается через numpy.
Там можно массив врашать и по сути просто поп0, повернул, поп0, повернул и так пока он не пустой. В целом ради этого задания стоит numpy освоить как раз таки. А то работать с массивами стандартными методами питона просто дикий костыль всё равно.
Но без него можно написать примерно такой же алгоритм. Берёшь длину и через pop удаляешь всё на первой линии, потом так же вниз, назад, вверх и опять направо.
Ну вот без каких либо библиотек. Решение не до конца, но всё работает с любой формой массива.
>>38530
Получилось остальное дописать.
Посмотрел решение с numpy, прикольно там массив вращается и просто очень)
Насколько понимаю способ обойти это - вручную приводить к int аргументы в коде, но что-то это выглядит всрато (как на скрине) т.к. таких ошибок в проекте куча. Есть ли какой-то способ в python приводить поля класса к определенному типу автоматом, то что я на скрине вижу в качестве далеко не единственного в будущем багфикса меня удручает
def my_view(request):
request.session['test'] = 111111
print(request.session['test']) # 11111
Я не понимаю, куда эти ключи сохраняются? В куках их нет, в бд не вижу.
Есть знатоки?
https://docs.djangoproject.com/en/4.1/topics/http/sessions/
Смотря как настроишь. Он может и в файлы срать на сервере, и в редисы, и в бд.
Да суть в том, что в бд нет ничего, кроме строки "session_data".
Мой ключ туда в эту строку зашифровывается? Или как?
Нифига не написано про это в доках.
Где в этой ключ ['test'] = 11111 находится?
пасиба
>Расскажешь это сайентистам?
Саентист ML инженер, но соя воспринимает только знакомые баззворды в треде. Каждый день проклинаю отцов-основателей за то что они выбрали язык на котором можно писать по английски вместо нормального, и теперь вся индустрия вынуждена поддерживать легаси-кал на питоне и плодить новый.
Никакого нормального ML на пистоне не пишется, всё что есть - дёрганье кода написанного на крестах и дрочка жсонов с апишки чатгпт для самых маленьких.
Как будто ты бы сам писал на крестах что-то, а не дергал те же готовые либы. Саентист, блять.
Вообще-то я именно писал на крестах, но порватышу вроде тебя со стороны виднее что я делал и что не делал, правда?
Да, потому что никто не пишет такие проекты на коленке, имея выбор из обкатанных промышленных.
Тогда бы ОС сначала писал, тебе же делать нехуй.
>такие проекты на коленке
Какие "такие", шизло, будто ты знаешь что я писал и есть ли для этого пистоновые биндинги к уже готовому.
Хуею с манямирка дегенератов в жизни ничего кроме import tensorplow as tp не писавших.
Я тебе говорю про либы для мл, ты сами либы писал или дёргал их?
Если не писал, то это ничем от импорта не отличается.
А писать ты их нихуя не мог, не того полёта птица, которая тут выебывается.
>А писать ты их нихуя не мог, не того полёта птица, которая тут выебывается.
О, превентивное ВРЁТИ. О чём с тобой вообще говорить, собственно? Ну скажу я что писал плюсовый инференс сеток, бустингов и эвалюешены горы метрик - ты же сразу включишь отрицание потому что ЭТОВА НИ МОЖИД БЫТ.
Ведь если ты перекладываешь жсоны - все перекладывают жсоны.
я пока не финализировал идею, но послушай, тут есть паттерн! есть паттерн для обычного одинарного цикла for / while!
допустим у нас матрица 6х6 (36 элементов, если таблицу умножения забыл)
считаем сколько НОВЫХ клеток мы
→6 ↓5 ←5 ↑4 →4 ↓3 ←3 ↑2 →2 ↓1 ←1
6+5+5+4+4+3+3+2+2+1+1 в сумме будет 36!
видишь эти пары после первой?
→6 (↓5 ←5) (↑4 →4) (↓3 ←3) (↑2 →2) (↓1 ←1) (↑0 →0)
это высота и ширина матрицы! она декрементируется каждые 2 вжуха не считая первого!
возьмем неровную матрицу 5х6 (30 элементов)
→5 (↓5 ←4) (↑4 →3) (↓3 ←2) (↑2 →1) (↓1 ←0)
всё то же самое, только последний вжух уже нулевой. как только вжух нулевой, сумма всех вжухов достигает размера матрицы
короче паттерн такой
→(в-0)
↓(в-0) ←(ш-0)
↑(в-1) →(ш-1)
↓(в-2) ←(ш-2)
↑(в-3) →(ш-3)
...
давай, делай. потом код запости только
я пока не финализировал идею, но послушай, тут есть паттерн! есть паттерн для обычного одинарного цикла for / while!
допустим у нас матрица 6х6 (36 элементов, если таблицу умножения забыл)
считаем сколько НОВЫХ клеток мы
→6 ↓5 ←5 ↑4 →4 ↓3 ←3 ↑2 →2 ↓1 ←1
6+5+5+4+4+3+3+2+2+1+1 в сумме будет 36!
видишь эти пары после первой?
→6 (↓5 ←5) (↑4 →4) (↓3 ←3) (↑2 →2) (↓1 ←1) (↑0 →0)
это высота и ширина матрицы! она декрементируется каждые 2 вжуха не считая первого!
возьмем неровную матрицу 5х6 (30 элементов)
→5 (↓5 ←4) (↑4 →3) (↓3 ←2) (↑2 →1) (↓1 ←0)
всё то же самое, только последний вжух уже нулевой. как только вжух нулевой, сумма всех вжухов достигает размера матрицы
короче паттерн такой
→(в-0)
↓(в-0) ←(ш-0)
↑(в-1) →(ш-1)
↓(в-2) ←(ш-2)
↑(в-3) →(ш-3)
...
давай, делай. потом код запости только
Бамп, интересно что скажут знатоки django ninja если они мимопройдут.
А ещё ты писал хуйню в питон треде на дваче.
Это более достоверная история. Теперь иди куда-то ещё пиши, набивай опыт.
>короче паттерн такой
упс, разум сыграл злую шутку. я буквы перепутал
паттерн такой:
→(ш-0)
↓(ш-0) ←(в-0)
↑(ш-1) →(в-1)
↓(ш-2) ←(в-2)
↑(ш-3) →(в-3)
...
блядь, гений сегодня не в ударе
паттерн такой:
→(ш-0)
↓(в-0) ←(ш-0)
↑(в-1) →(ш-1)
↓(в-2) ←(ш-2)
↑(в-3) →(ш-3)
...
Если не съебешь, то вся МЛ индустрия развалится нахуя без такого саентиста, все твои миллиардные акции проебутся, будешь бомжевать и писать на питоне хелловорлды.
Так что съебуй, там уже паника в индустрии, пока ты тут застрял.
сделай ещё раз. теперь уже через генератор индексов
Как это пофиксить если вообще можно?
Пожалуй откажусь - говно можешь оставить у себя в штанах.
Задачи уровня "простейший табличный файл csv", но хочется начать работать с БД уже.
Redis?
Или Mongo?
Или что-то другое?
Реляционные пока вообще не понимаю, и откровенно боюсь. Буду благодарен совету!
И что почитать чтобы разобраться в кишках ООП?
> Реляционные пока вообще не понимаю, и откровенно боюсь.
Чо там не понимать-то? Там литерали объекты хранятся. Не умеешь в реляционку = не умеешь в объекты
С Postgresql начни, если сложно то MariaDB (Mysql). Посмотри на две первые нормальные формы, третью пока не смотри будет сложно сразу. Научись аналитические запросы писать, а потом начнет получаться.
Тогда похуй, ревьюеры пропускают и на том спасибо.
Тоже думал об этом, но там деления происходят прямо при вызове функций и их слишком много, в любом случае куча ручных изменений что int() что // писать. Кажется код проекта слишком всратый, а жаль, пригодилось бы
>За мову респект, надо всем беларусам на неё переходить понемногу.
Когда я лезу, например, в англоязычную часть реддита или ещё куда - я пишу на английском. А в данном случае это максимально неуместное использование.
Вот этого двачую.
Бонусом: не придётся сразу связываться с СУБД, а когда наткнёшься на ограничения скулайта, уже будешь понимать достаточно.
Сам я вообще с Access первые проги делал, ещё в универе, потом уже ввязался в вещи сложнее: через MysQL, ко всему что есть в мире реляционных баз.
У похапешника бомболейо.
>>39056
Типичный код в ML, который я видел, ограничен сотнями строк прям МАКСИМУМ, на этих масштабах запутаться сложно. Тем более на таком лаконичном и красивом языке, как Python.
Можешь эту статью, например, почитать: https://habr.com/ru/post/454290/ Про декомпозицию. Там много про классы, но на самом деле применимо ко всему.
Ну и PEP 8 (коде-стайл-гайдлайны) и прочие пепы по-возможсти, начиная с pep 257 (документирование кода).
Это не избавит от говнокода, но по крайней мере глаза не будут вытекать. Тут, правда, стоит оговориться, что от питона опять же в силу ненапряжности глаза вытекут только в терминальныхъ случаях, в отличии от, скажем, ЖСа, на котором даже средний код вызывает мигрень.
От говнокода же, как явления, избавят только и исключительно практика и опыт. Этому по книгам не научиться.
Да, всрато. Хотя, скорее, просто непредусмотрительно. Не ожидал человек бага, вот и оставил по логике.
Баг повторён много раз. В любом случае, чтобы его исправить нужно будет залезть в каждое место.
Ну или накостылить свои либы, подсунуть их как кьют и в них вызывать кьютовские либы правя параметры... Или сделать в кьют пулл-реквест, чтобы они обрабатывали флоат (приводили к инту как надо)...
Но это всё такой бред, что проще разрулить деление.
Благодарю, просто еще добавилась обязанность по поддержки пары микросервисов и там тоже питонячий код flask. Иногда с нуля надо классы продумывать. Из личного опыта и книжек пока по таким критериям пишу:
- меньше аргументов у методов
- меньше функций больше методов
- метод не слишком длинный по количеству строчек, лучше разбить на n-методов
- наименования переменных и методов отражают смысл самое сложное
- комменты почти на каждую строчку
- названия переменных - длинные и никаких a, b, c, x, y, i
- меньше всякого вложенного говна типа сложных диктов или json
И вроде стало получаться менее колхозно.
Ты сейчас практически PEP8.
Ну, что могу сказать... Ты на верном пути. Время от времени, во время практики будут случаться инсайты, на тему как это можно сделать ещё красивее и понятнее.
Главное не переборщить, а то я видел спагетти, в котором минимум 90% методов выглядит как три строки, из которых одна - вызов другого метода и ещё одна с ретурном.
В целом опирайся на PEP 20: Дзен Питона
https://peps.python.org/pep-0020/
> Красивое лучше уродливого.
> Явное лучше неявного.
> Простое лучше сложного.
> Сложное лучше запутанного.
> Развернутое лучше вложенного.
> Разреженное лучше плотного.
> Читаемость имеет значение.
> Особые случаи не настолько особые, чтобы нарушать правила.
> При этом практичность важнее безупречности.
> Ошибки не должны замалчиваться.
> Если не замалчиваются явно.
> Встретив двусмысленность, отбрось искушение угадать.
> Должен существовать один - и, желательно, только один – очевидный способ сделать что-то.
> Хотя этот способ поначалу может быть и не очевиден, если вы не голландец.
> Сейчас лучше, чем никогда.
> Хотя никогда часто лучше, чем прямо сейчас.
> Если реализацию сложно объяснить – идея точно плоха.
> Если реализацию легко объяснить – возможно, идея хороша.
> Пространства имен – отличная штука! Будем использовать их чаще!
Зен читал, еще препод в универе показывал это в 2012, но только потом понимаешь как писать по нему. Просто писать - сложно!
И вот тут начинаем подбираться к тому, чем джун отличается от мидла и почему вообще программисты (в широком смысле) столько зарабатывают. Потому, что это пиздецки сложно и хорошо могут делать не только лишь все, мало кто может это делать.
А главное, как перестать быть вкатышем и добиться успеха хотя бы в разработке.
Бонусом сразу повторю: чтобы развиваться дальше нужно в той или иной степени знать всё, от архитектуры процессоров, до высокоуровневых абстракций всяких кубернетисов и понимать, какие ограничения накладывает каждый слой.
Был свидетелем большого дебага стайки мидлов. Сервис работал медленно, хотя система не была нагружена от слова совсем. Как оказалось он упирался в какие-то лимиты по иопсам, хотя казалось бы пишет не слишком много. Меня успели привлечь как спеца по Линуксам незадолго до появления сеньора, который диагностировал проблему за 3 минуты у компа и потом не прошло и часа, как нашёл проблемный говнокод (деталей уже не помню, но там что-то в духе "для чтения каждой строки большой файл перечитывался целиком", у кодера на локальном NVME не возникало вопросов, а когда сервис в проде стал писать по сети в Ceph...). Кстати, если что, сервис был написан на сях, как показывает моя практика, говнокодить на сях проще. Это я к тому, что Сеньор, хотя и кодер, но настолько знал кучу всего за пределами написания кода, что почти мгновенно порешал вопрос. А те, кто живёт как в том анекдоте так и останутся там, где сидят.
Собственно анекдот:
> В: Сколько нужно программистов, чтобы вкрутить лампочку?
> О: Нисколько, это аппаратная проблема.
Что-то я распизделся. Извините, я так отдыхаю. Вылил в колу остатки Barrister и пишу на двощ. А ещё считаю, с какой высоты нужно сбросить гирю, чтобы она пробила канализационный люк. Пока застрял за вычислением Δt остановки гири от набранной скорости до 0 при контакте с люком. Кажется, действительно без эксперимента не выяснить, пробьёт люк или нет. Получается так: h = (7812,5 × Δt)^2/19,6 (м) для абсолютно неупругого удара в вакууме.
И вот тут начинаем подбираться к тому, чем джун отличается от мидла и почему вообще программисты (в широком смысле) столько зарабатывают. Потому, что это пиздецки сложно и хорошо могут делать не только лишь все, мало кто может это делать.
А главное, как перестать быть вкатышем и добиться успеха хотя бы в разработке.
Бонусом сразу повторю: чтобы развиваться дальше нужно в той или иной степени знать всё, от архитектуры процессоров, до высокоуровневых абстракций всяких кубернетисов и понимать, какие ограничения накладывает каждый слой.
Был свидетелем большого дебага стайки мидлов. Сервис работал медленно, хотя система не была нагружена от слова совсем. Как оказалось он упирался в какие-то лимиты по иопсам, хотя казалось бы пишет не слишком много. Меня успели привлечь как спеца по Линуксам незадолго до появления сеньора, который диагностировал проблему за 3 минуты у компа и потом не прошло и часа, как нашёл проблемный говнокод (деталей уже не помню, но там что-то в духе "для чтения каждой строки большой файл перечитывался целиком", у кодера на локальном NVME не возникало вопросов, а когда сервис в проде стал писать по сети в Ceph...). Кстати, если что, сервис был написан на сях, как показывает моя практика, говнокодить на сях проще. Это я к тому, что Сеньор, хотя и кодер, но настолько знал кучу всего за пределами написания кода, что почти мгновенно порешал вопрос. А те, кто живёт как в том анекдоте так и останутся там, где сидят.
Собственно анекдот:
> В: Сколько нужно программистов, чтобы вкрутить лампочку?
> О: Нисколько, это аппаратная проблема.
Что-то я распизделся. Извините, я так отдыхаю. Вылил в колу остатки Barrister и пишу на двощ. А ещё считаю, с какой высоты нужно сбросить гирю, чтобы она пробила канализационный люк. Пока застрял за вычислением Δt остановки гири от набранной скорости до 0 при контакте с люком. Кажется, действительно без эксперимента не выяснить, пробьёт люк или нет. Получается так: h = (7812,5 × Δt)^2/19,6 (м) для абсолютно неупругого удара в вакууме.
С марией не работал, но MySQL был несколько примитивнее постгреса, когда я ковырял этот вопрос в прошлый раз. Не радикально, но чувствовалось, что Постгря переросла опенсурс-конкурентов и вплотную подходит к самым крутым фишкавм тыртырпрайза (например, в Oracle и MS SQL давно нет никаких ограниений на размеры блобов, длинны строк и прочее).
Но тут такое. Мы же не в SQL-треде, а у питонистов. Для питониста, работающего с СУБД через абстракцию в коде типа SQL Alchemy, между реляционными СУБД разницы нет вообще.
Если, конечно, ограничиться стандартными строковыми реляционными СУБД. А вот когда в дело вступают Key-Value (Redis, etcd), noSQL (Mongo) или хотя бы столбчатые СУБД (ClickHouse), там начинается всякое.
mysql стартовала простой базой для селюков, на противовес энетерпрайзным орацле и прочей хуйне.
Взлетела она на связочке пхп + мускл - это набор вкатыша нулевых и времен взлёта веба в целом.
Потом то самое орацле купило мускл где-то на исходе пика его
популярности и начало там вводить свои порядки. Оригинальный автор форкнулся и запустил марию, которая суть современный мускл, а сам мускл там тоже что-то копошится, но всем уже похуй.
А постгрес это что-то среднее между рсубд для норота и рсубд для энетрпрайза.
>Они там ебанутые или мазохисты?
Я код не видел, в задачу, которую оно решает не вникал, для меня это был тупо бинарь, который запускается как сервис, а что он делает меня не ебало. Когда пришёл Сеньор и нашёл ботлнек, я с чистой совестью ушёл работать по основному профилю, а потом со слов коллег примерно запомнил этапы расследования, помню, что там даже при небольшом потоке данных в небо летели именно IOPS. Это всё тупо было рассказано, чтобы подчеркнуть, что разница между хорошим спецом и так себе - в том, сколько он всего знает за пределами ЯП и предметной области. Сами ЯП мидлы могут знать даже лучше.
>>39355
Эт, да. Сам застал тот период. И некогда поднимал на виндах Denwer ( http://www.denwer.ru/ ).
Но уже тогда попадалась эта новость:
https://habr.com/ru/post/26289/
Чтобы понимать, с "серьёзным решением" тогда ассоциировалась только OracleDB, да где-то около болтался M$.
С тех пор... Собственно про мускуль я с тех пор считай и не слышал, когда говорят про опенсурсную РСУБД теперь почти всегда имеют в виду постгрю.
Даже интересно, в каких направлениях они сейчас развиваются, вроде, все несколько лет назад грозились чуть ли не ИИ для составления оптимальных планов запросов, догадывающихся, что хотел юзверь.
>Они там ебанутые или мазохисты?
Я код не видел, в задачу, которую оно решает не вникал, для меня это был тупо бинарь, который запускается как сервис, а что он делает меня не ебало. Когда пришёл Сеньор и нашёл ботлнек, я с чистой совестью ушёл работать по основному профилю, а потом со слов коллег примерно запомнил этапы расследования, помню, что там даже при небольшом потоке данных в небо летели именно IOPS. Это всё тупо было рассказано, чтобы подчеркнуть, что разница между хорошим спецом и так себе - в том, сколько он всего знает за пределами ЯП и предметной области. Сами ЯП мидлы могут знать даже лучше.
>>39355
Эт, да. Сам застал тот период. И некогда поднимал на виндах Denwer ( http://www.denwer.ru/ ).
Но уже тогда попадалась эта новость:
https://habr.com/ru/post/26289/
Чтобы понимать, с "серьёзным решением" тогда ассоциировалась только OracleDB, да где-то около болтался M$.
С тех пор... Собственно про мускуль я с тех пор считай и не слышал, когда говорят про опенсурсную РСУБД теперь почти всегда имеют в виду постгрю.
Даже интересно стало, в каких направлениях они сейчас развиваются, вроде, все несколько лет назад грозились чуть ли не ИИ для составления оптимальных планов запросов, догадывающихся, что хотел юзверь.
Надо будет почитать.
Редис — это не совсем БД, она не записывает каждый чих на диск. В случае отключения питания несохранённые изменения проёбываются.
Монга норм, особенно нубу будет понятно. Но когда понадобится хоть что-то сложнее крудов, монга будет заметно посасывать у реляционных БД.
Из реляционных бери постгрес или sqlite. Первый помощнее и в виде сервера, с многопоточными транзакциями. Второй попроще в виде библиотеки, встраиваемой в приложение, больше подходит для клиентских приложений, чем для серверов. В реляционных БД будет самая мякотка в виде джойнов, с помощью которых можно сделать почти всё.
Есть два типа языков: на которые все жалуются, и которые никто не использует.
Почему же? Ученые с++, matlab, сейчас пытается лезть Julia, ещё можешь говна на Фортране поесть, на нем куча вученых работало и работает
Да, ещё. С Базами сейчас уйма всякого, но есть одна максима. Изучение реяционных баз следует начинать и заканчивать одной книгой (она, правда, дохуя огромная).
Это книга Кристофера Дейта "Введение в системы баз данных".
Крайне исчерпывающий труд.
Потом только по NOSQL подтянуться и всё.
Во-первых работать с питоном в линуксах. Минимум в WSL, но лучше на настоящем лине, чтобы и Докер был и прочие шняги. Это снимает прям дохуя проблем сразу. Касется не только питона.
Во-вторых приучайся работать в venv'ах, благо настраиваются они за две команды и любые косяки потом устраняются влёт, просто пересозданием виэнва.
Ты просто узколобый уебан и у тебя просто нет гибкости мышления.
Надо cython поставить, и тулчейн с сишным компилятором.
Зачем работать в venv'ах, если можно работать в контейнерах? Энвы это дикий костыль как по мне
Сейм, как же у меня горит жопа от того что математики выбрали пистон исключительно потому что им было лень потратить 1-2 дня на освоение нормального языка.
Что-нибудь мазохистское, дрочильня типа ЦЭПЭПЭ, где даже хеллоуворд написать непросто.
Затем, что виенвы создаются и настраиваются за секунды и сохраняют состояние, пока нужны, а контейнеры требуют постоянного обновления кода и перезапуска.
Конечно, можно быстро накидать CI/CD и вот это вот всё, но это отдельный вопрос.
(Вангую, (что (LISP))). Или Хаскель...
Я бы ещё Perl добавил.
ИЧСХ, при желании их можно использовать вместо пистона, но они страшные, как моя жизнь, а на фоне простого и явного Пайтона - вообще хуйня полная.
Venv, как по мне, слишком кардинальные. Для большинства задач хватает piploc, где как в жс, локально pypackages, как node_modules ставятся. Так-то уже надо и poetry пробовать.
>>39792
Для одного человека 1-2 дня. Для миллиона человек это 1-2 миллиона дней. Всё правильно сделали я считаю. И всё это взамен пары мимокроков, которые повозмущались в треде на дваче.
>Для одного человека 1-2 дня. Для миллиона человек это 1-2 миллиона дней. Всё правильно сделали я считаю. И всё это взамен пары мимокроков, которые повозмущались в треде на дваче.
Ты не понимаешь! Как можно писать код без швитых фигурных скобочек? Это же бездуховно.
"Объявите вещественные тензор x размера (3, 4, 5) и тензор y размера (2, 6, 3), иницилизируйте их равномерным распределением."
x = torch.FloatTensor(3, 4, 5).uniform_()
y = torch.FloatTensor(2, 6, 3).uniform_()
"Создайте их копии на GPU,"
x_cuda = x.cuda()
y_cuda = y.cuda()
"выведите их сумму и разность"
Как их можно сложить/вычесть?
В x лежит 60 значений, в y лежит 36 , а в ответе тензор размера (4,4,5) на 80 значений.
Я думал что возможно x можно решейпнуть и 12 значений перекинуть в y ( y тоже решейпнуть перед этим)
Но все равно получится в x и y по 48 значений , а в ответе 80 значений
Уже много лет использую алхимию вместе с FastAPI, на разных коммерческих проектах, и нигде ни разу в коде не видел и не могу найти ни намёка на эти ключевые слова?
Нахуя они? Почему без них всё работает?
Просто создаётся сессии, и используется в рамках всего запроса. Всё.
НО во всех примерах обязательно у всех with, open, close, commit. Почему так?
Ты объект не передаёшь ему. Посмотри внимательнее на сигнатуры, которые у тебя в документации
Так они всегда сохраняются, а commit во всём проекте в жизни не вызывается
Да я и sqlalchemy не использую, и заебись.
Ещё как сохраняются. Autocommit тоже нигде не настраивался
Типичная алхимия, миллион разных инструментов для одного и того же, а на стаковерфлоу всегда ответы по легаси версии.
Привет всем в этом уютненьком тредике.
Нужна помощь джангистов, которые запускали свои небольшие проекты в большой мир.
Вот у вас есть, к примеру, репозиторий на гитхабе с вашим проектом. Как вы запускаете этот проект на боевом сервере?
Есть какой-то простой способ? Просто самый короткий видос идет 20+ минут, и там колдовать много нужно. А если я выкачу какой-то багфикс, получается, все это колдунство заново делать?
В треде девопсов почитай про докер, который даст возможность паковать любой багфикс в одну кнопку. "Милости прошу к нашему шалашу".
1) вернуть и записать insert в БД
2) вернуть полученный результат и отправить в следующую функцию
3) вернуть счетчик количества выполнения данной функции
Как сделать, чтобы 3 разных вида данных были возвращены одним return?
Счётчик делаешь аргументом на входе.
Запись в БД внутри функции перед return.
Возвращаешь лист с результатом и счётчиком += 1.
Колдовство идёт вокруг инфраструктуры. Тебе же надо настроить веб-сервер, всякие гуникорны, базы данных и т.п. вещи.
Их можно поместить в докер, чтобы проще было разворачивать инфраструктуру на новых серверах, и другие варианты есть.
А когда ты делаешь апдейт кода на существующем сервере, если нет серьёзных изменений, то надо просто одной командой будет перезапустить твой сервис.
Сам сервис можешь запаковать в докер и перезапускать докер-сервис, можешь через какой-нибудь supervisord или аналог, если красноглазый, то можешь оформить SystemD юнит для него и перезапускать через systemctl
По факту больше возни с миграцией данных будет
MySQL и MariaDB очень много разных движков содержат
Исходно MySQL была под веб, MyISAM движок, без поддержки транзакций, но зато жутко быстрый и с каким-то нужным для веба функционалом, быстрым. Ну вроде автоинкрементов, count(*) и т.п.
Не было поддержки триггеров, хранимых процедур, ничего.
В общем это была совсем другая сфера применения, чем то, где настоящие БД использовались. Потом MySQL стали развивать, добавили новые движки, вроде InnoDB, где уже транзакции и всё такое, но нет той скорости, что в MyISAM. Ещё какие-то движки есть, но основные вот эти два.
Плюс исходно ещё у MySQL лицензия была такая, что там бесплатно только для веб-применений можно было её использовать.
На InnoDB это уже полноценная БД.
Свои плюсы-минусы по сравнению с Postgres есть, но как полноценная БД постгрес старше. И вроде бы всё-таки покрытие серьёзными фичами шире.
MariaDB тоже активно используется. Если у тебя настольное приложение, то эта база удобнее, проще данные переносить, там для каждой базы отдельный каталог, можно тупо на флешке копровать, с посгрёй сложнее намного.
>Редис — это не совсем БД, она не записывает каждый чих на диск. В случае отключения питания несохранённые изменения проёбываются.
Вообще записывает, там разные режимы есть, смотри на AOF (
(append only file), это когда каждая команда, которую редис получает, логируется и по этому файлу восстанавливается состояние.
Современный редис очень-очень серьёзная штука с кучей фукнционала, объединяет и документ-дб в себе, и очереди, что-то вроде кафки.
>>38982
Редис обязательно нужно изучать. Монго не нужн совсем. Из SQL баз, полезно sqlite, такой ущербный sql, и какой-нибудь полноценный SQL тоже надо.
А начать проще всего с sqlite
Уже в коробке, ничего ставить не надо, работает под любыми ОС, тебе не надо возиться с инфраструктурой, чтобы поставить базу, настраивать доступ и т.п.
Куча примеров, хорошо документировано.
Но это ограниченный SQL, там не всё есть. Но как вводная часть достаточно, плюс практичная штука в любом случае.
По классике ты перезаливаешь код и дёргаешь серверу сигнал, он перезагружает приложение без даунтайма. Если есть миграции, их нужно провести до раскатки, и нужно чтобы они были совместимы со старой версией. Деплой это на самом деле пиздец как сложно.
Далеко не факт что проще. Лучше всего не выёбываться и использовать ту же самую БД, что будет в боевом сервере. Там не ограниченный SQL, он там просто другой, колонкам даже типы не обязательно указывать, так как они динамические и могут отличаться от строки к строке.
ДружокТоксичное хуепутало, тебе пора перестать долбиться в глаза и прочитать что он несколько лет так делает. Хотя фастапи может быть и синхронным.
А чё они не сделали fsync по коммиту сразу нескольких команд из разных потоков как у всех? Разве что everysec ставить, что почти как снепшоты. Баловство, а не редис. Хуёвый документдб, хуёвая кафка в одном флаконе.
Привет, питончики.
Вползаю вот потихоньку и немного охереваю.
Пикрел, сегодняшний литкод. Так как надо на самом деле? Почему я обсираюсь? Зачем вообще селф указывать и нельзя ли объявить функции без него и не пердолиться?
Змея третья, к слову. В студии 3.7, в литкоде 3.10, но вряд ли разница из-за этого.
Так нафига ты там self указываешь? Оно уже подставило автоматически, получилось 5 аргументов, а надо 4. Посмотри как меняются типы методов.
class A:
..def method(self, a):
....print(a)
print(type(A.method)) # здесь 2 аргумента
o = A()
print(type(o.method)) # здесь уже 1, это частично применённая A.method
A.method(o, 3)
o.method(4)
>Есть какой-то простой способ? Просто самый короткий видос идет 20+ минут, и там колдовать много нужно. А если я выкачу какой-то багфикс, получается, все это колдунство заново делать?
Прям ПРОСТОГО способа нет. Есть олдскул и ньюскул.
Олдскул: ты берёшь хостинг, платишь за аренду сервера, на нём стоит какой-то апач, который работает с питоновским модулем или нжинкс, который ты заруливаешь в Gunicorn (настройки зависят от хостера, насколько я понимаю), после чего сайт работает, а обновление кода делается копированием изменившейся папки проекта (например, git pull можно попробовать), я с такими вещами общался мало, только со стоатикой и пыхой, так что подробнее не расскажу.
Ньюскул же даёт возможность работать прям ну очень удобно, всё будет делаться само... НО перед этим придётся изучить обвязку. Согласно ньюскулу ты идёшь к ОБЛАЧНОМУ провайдеру, настраиваешь там Serverless (или лдегаси какое-нибудь, например, K8s), в репозитории создаёшь CI/CD, которое будет на каждый коммит упаковывать твой продукт в контейнер, выкладывать в реджистри и каким-нибудь хуком пинать обновление на дев/тест/стейдж/проде. Там можно сделать дохуя всего, например, автотесты, чтобы сервис не упал из-за ошибки в коде. Про это я могу рассказать немало.
Тут момент в том, что именно настраивать в первый раз - заебёшься, зато потом работать станет намного проще и удобнее. На галерах поэтому выделяють отдельных людей.
E501 line too long (82 > 79 characters)
ворнингом вместо ошибки? Что надо настроить в flake8? Мне поебать что в паре мест превышена длина строки, пусть жёлтым подсветит, а не красным.
num = "00123"
l = len(num) # длина строки, ага понял
b = int(num)+1 # конвертируем в инт удаляем ведущие нули
r = ("%0"+"%dd" % l) % b
объясните плиз подробно что в r происходит, вот эти "%0", "%dd", "%" что это всё значит?
Это устаревший оператор форматирования строк.
Сначала в скобках создаётся строка с форматом, "%05d", затем применяется к числу.
Современный способ: f'{b:>0{l}}'
Конкретика со старым форматированием:
%s - вставить строку
%d - вставить число
%05d - то же самое что %d, но с параметром заполнения на 5 нулей слева
Это очень похоже на сишный printf.
Не вопрос.
Пик. В каррент фолдере (например, в папке проекта). Это если Flake8, естественно. Но есть и другие линтеры с другим синтаксисом.
Да мне не надо избавиться полностью, надо чтобы E стало W и светилось жёлтым. Я не согласен с форматоёбами что это критический косяк.
576x918, 1:15
Спустя три месяца поисков работы, немного опускаются руки. Что имеем сейчас, есть 4 года опыта работы в 1С, пишу свой сайт, есть на гитхабе, писал скрипты на python, оформил резюме на англ. Что в итоге, все рекрутерши задают один и тот же вопрос "какой коммерческий опыт на python", после чего все сливаются. Пытаешься объяснить, что за 4 года, пускай и работая в другой сфере, но все же знаешь что такое коммерческая разработка, проекты, дедлайны, работа в команде, работа с клиентами и что язык это всего лишь инструмент. Короче вообще не ясно, как можно джуну набить опыта, свой проект им не интересен, другой опыт не интересен, думал насчет фриланса, но говорят фрилансеров тоже не особо любят. Поделитесь своим опытом, кто как искал работу?
нихуя она софтскилльная. я бы этой мымре в ебало харкнул и ушел
>Пытаешься объяснить, что за 4 года,
А она такая сидит, смотрит на тебя и думает, что конечно ты верные вещи говоришь, но как только она покажет твое резюме заказчику, первое, что она услышит, будет "Ты что ебанутая? Мы рассматриваем кандидатов ТОЛЬКО с несколькими годами коммерческого опыта и только на PYTHON".
На питон разве есть разработка? Это же фейк язык для продажи платных курсов зумерам
Сейчас делаю так. В первом скрипте, который в перовом venv вызываю такую комманду "bash -c 'env; cd /tests/ && source /opt/rh/rh-python36/enable; python3 -m venv .venv3; source .venv3/bin/activate; env; deactivate'". Надежда была на то, что новый процес баша унаследует старый venv, создаст новый и при активации перепишет свои переменные окружения новым venv. Но что-то пошло не так. Обе env комманды, и до активации и после пишут одинаковый результат. С переменными из первого окружения. Хотя когда пишу этот скрипт прямо в консоли, то всё работает и я не выходя из своего окружения создаю новое. В чём может быть проблема и как такое правильно делать?
Может ты не к тем стучишься? На стажировку за миску риса вообще нихуя не нужно, только базовый опыт использования языка, какой ещё блядь коммерческий опыт. Как будто на позицию мидла претендуешь. Попроси рекрутёршу провести с тобой техническое интервью, чтобы тебя кодер посмотрел, если точно уверен в скиллах.
Никак. Там довольно простой скрипт https://github.com/python/cpython/blob/3.11/Lib/venv/scripts/common/activate и он явно не поддерживает вложенность. Правильно такое не делать, хотя если изъебнуться, то можно форкать шелл, делать deactivate, затем activate свежего venv. Но всё равно остаётся вопрос зачем.
Пытался. Если в начале скорипта вписать deactivate, то он пишет, что комманда не найдена. Специально из своего скрипта вызываю баш стобы новый процесс создался и мог сменить venv. Почему-то не может. Подскажи как изъебнуться чтобы мог?
Ну так само собой, переменные окружения наследуются, а функции нет. Deactivate это функция, существует только в том процессе где её определили, её нельзя наследовать/экспортировать.
Не надо в скриптах использовать activate/deactivate. Это больше для консоли.
Используй просто глобальные пути к интерптетатору, так проще и надёжнее.
А принцип работы activate/deactivate в том, что присваиваются нужные переменные окружения, ты в принципе можешь их сам руками присваивать.
>а функции не
И как быть? А если вместо деактивейты я вручную верну в новом процессе переменные как было, то потом активейт второго venv заработает? Или может можно как-то создать процесс, который забёдет все недэфолтные переменные родителя?
>>42703
Так мне не только путь к интерпретатору надо. Я одну зависимость через pip установить, которое в первое нельзя и положить маленький скрипт, который импортирует эту зависимость и вызывают одну нужную мне функцию. Тут 100% нужен pip и venv
Кстати а если вместо второго venv докер контейнер собрать, то это же явно попроще будет?
Нужно в свежем (суб-)шелле делать activate + всё что ты хотел там выполнить. Почитай как форкается шелл. И да, можно не наследовать переменные окружения. Алсо, activate по сути сбрасывает предыдущий venv, почитай исходник.
ну вызовешь
/opt/venv/py-311/bin/python -m venv /opt/venv/py-311-alt
а потом
/opt/venv/py-311-alt/bin/python -m pip install something
а потом
/opt/venv/py-311-alt/bin/python some-script.py
>>42706
Короче, смысл в том, что питон, когда ты запускаешь его по глобальному пути из каталога с venv, работает так, как будто ты его запускаешь из активированного виртуального окружения.
Ты таким способом можешь использовать pip для этого виртуального окружения и т.п. Всё работает очень надёжно и прозрачно.
Я вот никогда activate/deactivate не пользуюсь. Даже просто в консоли, не говоря уже про скрипты.
Он всё равно нихера не объяснил зачем это всё. Делает какую-то дичь. Создание venv не требует никакого venv, оно в стдлибу блин вшито.
>>42710
Спасибо. Получилосб. Только прищлось ещё сделать unset PYTHONPATH т.к. этё переменую venv не обновляет почему-то
>>42715
Легаси. На втором питоне с помощью virtualenv создаётся окружение для запуска теста. Конфиги теста и тест-ранер уже на третьем питоне. Годами тесту ничего не нужно было знать про его конфиги. Но вот внезапно понадобилось чтобы тест свой конфиг брал, чуть-чуть менял, конвертировал в новый формат и посылал снова ранеру чтобы тест ещё раз снова запустился с теми же данными (бесконечный тест, который будет месяцами работать в поисках редких рэйс кондишенов и утечек памяти). А для конвертации из старого формата конфигов в новый нужен один из пакетов ранера написаный на третьем питоне. Установить его в виртуальное окружение теста и импортнуть нельзя т.к. там второй питон. Поэтому нужно рядом ещё одно venv с этим пакетом и маленький скрипт, который просто импортнёт одну либу из этого пакета и вызовет функцию конвертации конфига (тест передаст в параметрах коммандной строки старый конфиг). Всё. Легаси жудткое, но так надо.
там какие-то зеленые бумажки, скорее всего тоже фейк
Очевидно, ты откликаешься на вакансии не для джунов. Но с вакансиями для джунов сейчас бида, да.
Тогда сюда: https://github.com/PyCQA/flake8/issues
Но вряд ли что-то изменится, пока не поправят PEP8.
На мой вкус "79 символов" это отголосок очень специфичного старого лимита, который сегодня остался только в виде размера терминала по-умолчанию 80 × 24. А повышение длины строки до 100-120 избавляет почти ото всех ограничений по длине.
>как можно джуну
А ты не джун. И потому же и вопросы такие к подобному контингенту.
Вы все — пре-пре-пре-кандидат на джуны. Благодаря дичайшей маркетинговой кампании и двухнедельным-двухчасовым курсам по питону с криками «стране не хватает миллиона программистов, а планете требуется сто миллионов питонистов». И обучают вас, по сути, БЕЙСИКУ — скриптовому языку для нехитрой автоматизации под разными сойсами.
И как школьники в начале 90-х, знающие БЕЙСИК, считали, что они программисты, так же и вот эта огроменная толпа двухчасовых курсовиков считает, что они выучив синтаксис Питона стали программистами-разработчиками.
Весь этот подход сильно нивелировал «джуна по Питону». Чтобы им стать, надо будет ещё год-два работать под присмотром.
> за 4 года, пускай и работая в другой сфере, но все же знаешь что такое коммерческая разработка, проекты, дедлайны, работа в команде, работа с клиентами и что язык это всего лишь инструмент.
Чел... КР — это не дедлайны, а паттерны программирования. Вот, просто глазом глянуть для осознания: https://habr.com/ru/post/210288/
Да понятно что это трейдофф. Или у тебя читабельный столб, с обычными текстами точно так же делают, читать колонку легче, чем строки на всю ширину экрана. Или ты меньше тратишь времени на переформатирование пока пишешь, меньше глупых разложений на много строк. Некоторым ещё diff/несколько файлов нравится смотреть в 2-3 колонки.
Нейросети на Питоне не делаются. Все нейромодули программируются на C/С++ и других быстрых языках, затем компилируются.
Из медленного питона осуществляется вызов модуля, не более.
А сделано так потому, что тупорылых разметчиков, да и всяких м.н.с., не обучить сложному языку. Им дали простой скриптовый понятный язык, чтобы они автоматизировали свои действия, а в сложные дебри не лезли. Сложные дебри им пишут программисты-математики на сложных быстрых языках.
>Из медленного питона осуществляется вызов модуля, не более.
Программы на питоне не пишутся на питоне, потому что из медленного питона вызывается библиотека на C
>Поделитесь своим опытом, кто как искал работу?
Никто не поделился. Потому что работы на питоне нет, сайтов на питоне нет. Или ты на серьезных щах думаешь что вася с нижних верхушек сможет как гугл создать ютуб? Для сайтов есть пхп и жс....
Питон это как тут уже выше сказали бэйсик для экселя. Всё. Если твой эксель не статистика и всякая сложная математика, то не стоило браться за питон. Вроде 1с программист с реальным опытом, а повелся на лох-язык для лохов. Питон не плох, для всякой фигни наподобие батников, или как язык для тех кто вообще представления о кодинге не имеет. Но ты-то ты-то профессиональный программист с 4 годами опыта зачем-то выбрал питончик
Я знаю, сидит настоящий математик и делает свои модели на питоне, потому что в рот ебал еблю с памятью и прочие undefined behavior. Когда он заканчивает, то смотрит в сторону параши и орет "ПАЦАН ПЕРНУТЬ ХОЧЕТ". Из под параши вылезает прикладной "математик"-плюсовик, подбегает к настоящему математику и занюхивает его пердеж, потом бежит к форточке попутно решая очередную проблему с переполнением стека и отсутствием указателя на указетель и в конце концов выдает выдыхает это на улицу.
Хорошее сравнение, но настоящий пацан это не петухончик
Чел, библиотеки нейронных сетей на C++ написаны. А что ты там нюхаешь на своём питоне или питоне дружка — вообще похуй.
В чём отличие выражений пикрил, анон?
Реально не вдупляю.
Насколько хватает моей логики
1. в первом случае явно указан относительный путь до вхождения блоков с тегом /tbody, а далее раскрываем так же относительно любой из первых тегов который следует за тегом /tbody - любой, содержащий указанный текст.
2. во-втором случае же указано, что от тега //tbody мы спускаемся по дереву в самый низ до последнего тега, в котором может содержаться указаться текст.
В чём я не прав и почему именно квадратные скобки?
В чём отличие path/path от path[path]?
В первом случае у тебя результатом будут сами теги с текстом sometext.
Во втором результат — это тег tbody, внутри которого где-то есть sometext.
Я очень удивлён, но я всё понял. Не зря ты погромировываешь, ведь помимо понимания ты умеешь в объяснение. Спасибо тебе, анон.
Во-втором варианте удобнее обращаться к сиблинкам.
То, что на Питоне ты не программируешь нейросети, а просто подбираешь к ним коэффициенты и параметры, к готовым моделям и бибилиотекам. Программируют нейросети на С++.
Никогда не говори «программирую нейросеть на Питоне», чтобы не позориться. Это всё уровень обслуги и разметчиков данных.
Настоящее программирование происходит в другом месте.
Как будто выученный питон — это невозможность выучить C++/JS/etc.
Как будто к нейросеточным модулям никто не делает апи на питоне.
Как будто нужно обязательно знать C++ чтобы обучать нейросети.
Как будто нельзя на питоне делать сайты или серьёзные проекты, яндексы инстаграмы гуглы дропбоксы — это так, шутка.
Как будто нельзя на питоне делать эффективные вычисления с numpy/etc.
Как будто на C++/JS есть удобные интерактивные ноутбуки для проверки гипотез и построения графиков/диаграмм.
Я конечно понимаю вашу фрустрацию после курсов и последующего поиска работы, но таки да, одного питона мало, учиться нужно постоянно.
О как раскудахтался C++ петушок. Никто не ценит твои 10 лет опыта на C++? Школьник пришёл и сделал на питоне за неделю то, что ты делал целый год? Сочувствую.
>Как будто нужно обязательно знать C++ чтобы обучать нейросети.
Так это сервисная работа. Для обслуги.
Разработка — это гораздо выше. Там и интеллект нужен.
>Как будто нельзя на питоне делать сайты
Зачем? Он медленный для этого. Особенно, для высоконагрузочных проектов.
>яндексы инстаграмы гуглы дропбоксы — это так, шутка.
Питон там, где труд яндекс-макак, на высоконагрузочных местах никакого питона и близко нет.
>Как будто нельзя на питоне делать эффективные вычисления с numpy/etc.
Можно-можно. Это и есть работа макаки или младшего научного сотрудника, которому не нужны ЯВУ, а нужна статистика и обсчёт данных для научной работы старшего руководителя.
>построения графиков/диаграмм.
Сугубо прикладная хуйня.
Это всё ДЛЯ МАРТЫШЕК. Не для настоящей разработки. Если ты рутинный сервисный говнотруд назвал «разработка», он от этого разработкой не стал.
Двачую этого.
Новички, пожалуйста, ни в коем случае не лезьте в питон, это всё обман. Идите в джаву, джаваскрипт, пхп и прочие живые развивающиеся языки, на питоне нет работы и нет проектов, он нигде не используется, это всё наеб гоев на деньги.
Так это охуенно, занимаешься работой, с который справится тупая мартышка, а получаешь столько же бабосиков, сколько потный задрот-гейткипер, 5 лет протиравший жопу в универе, а сейчас пыхтит над байтиками в своих плюсах.
>получаешь столько же бабосиков, сколько потный задрот-гейткипер
Это просто тебе так говорят, чтобы поддерживать твой положительный эмоциональный фон. Кабанчики плохо толстеют. и плохо работают, если грустят. ИТ — одна из областей с жесточайшей иерархией. Это я ещё в 1997 году уяснил, тебя тогда проектировали только.
На пике графики из линуксовой программы "Baobab" aka "Анализатор использования диска".
https://wiki.gnome.org/action/show/Apps/DiskUsageAnalyzer
http://www.marzocca.net/linux/baobab/baobab-ringschart.html
Я тут проектирую приложеньку гуёвую и мне в ней очень хочется иметь максимально такой же график, чтобы отображать иерархически вложенные кольцевые диаграммы. Подскажите. пожалуйста, как эту хуйню можно реализовать на пайтоне?
Вопрос со звёздочкой: при наведении на папку на графике в баобабе появляется список вложенных папок с лолипоп-указателями и возможность по клику сделать эту папочку центром графика, это я бы тоже хотел видеть у себя, то есть график должен быть не просто рисунком, а понимать, что над ним возюкают мышем.
В общем хотел бы максимально повторить функционал, но пока не нашёл, как на пистоне такое рисовать. Даже не нашёл, как это правильно называется, только ringchart, но по этому слову не нахожу ничего.
https://habr.com/ru/post/502958/
https://habr.com/ru/company/otus/blog/540526/
И, сразу: Tkinter/Qt/etc? Надо будет кроссплатформерно. А потом ещё и веб.
Пока вспоминается институтский опыт и лаба по дискретной математике с рисованием графов на TCanvas... Но уж больно дохуя писать самому придётся.
Сам Баобаб написан на какой-то хуйне под названием Vala и является она куском ГЛиб для написания ГТК-софта. Его код не особо помог с пониманием, как это делается.
https://habr.com/ru/post/99885/
Не дописал, сори.
Вопсчем, читал всякое, но другие графики мне не особо подходят. Разве что https://www.python-graph-gallery.com/sankey-diagram/ для моих задач зайдёт, но он будет менее информативен.
1280x720, 0:14
>Как будто выученный питон — это невозможность выучить C++/JS/etc.
Прост можно было сразу учить жс и с++, а то потратят время и силы на питон, а потом сукзащооо и обидно становится, что просрал полимеры свои практически в пустоту
Особенно в стране, зарубежом проектов почему-то намного больше хз почему так.
С радостью бы перешел с питона на го на текущем проекте, но мне за это не платят. А платят за рефакторинг хуевого питоновского проекта на новый хуевый питоновский проект.
>>43267
Потому что хуёво ищут, либо большинству не хочется на старте получать 60-80к, сразу 150к подавай, как на курсах учат. Ещё и ТВИТТЕРСКИЕ ВОЛКИ учат пиздеть про опыт, из-за чего рынок заполнен этими олигофренами.
А реально такая, что если хочешь в ит, но не знаешь чем заниматься, то попробуй питон/жиес, и если это твоё, то и дальше этим занимайся. А сразу лезть в плюсы/раст/жаву/шарп нужна цель и причина для этого, т.к. времени и сил на вкат будет затрачено больше.
Шнобель опять шизит
На хх по фильтру Python / Масква / опыт от 1 до 3 лет / без указания зп находится 570 вкакансий.
Топ 5 с первой страницы что приглянулось и где явно не требуют опыт:
https://nn.hh.ru/vacancy/77056034
https://nn.hh.ru/vacancy/77234310
https://nn.hh.ru/vacancy/72687478
https://nn.hh.ru/vacancy/73828825
https://nn.hh.ru/vacancy/77641897
Если не на отъебись искать, думаю можно найти то, что тебе подходит.
1920x800, 0:08
>фласт апи
>джанга
>архитектура компа
>микросервисная арихтекрута
>сети протоколы и т.п.
>базы даных скл пострскл мууубдб
>паттерны
>хадуп
>жира конфлюенс
>докер
>етл апачи
>коммерческая разработка на питоне только на питоне от 2 года
норм так для стажера знать надо
Начинающему жиесеру реакт/экспресс "знать" не надо?
Начинающему жависту спринг/гибернейт "знать" не надо?
Начинающему шарписту асп.нет/энтити "знать" не надо?
Работа с жирой в опыте это ЖИРНА, как и архитектура компа, сетей и т.п.
Проблема может быть разве что только с теорией, если там у работодателя ооп и паттерны головного мозга, либо если ты на собесе после ретурна брейк пишешь. В остальном это всё нарабатывается в процессе обучения.
Зачем работодатель толстит?
Я вот не прогер пока что, но в моей области это секретная информациятребования часто тоже перетолщены и многое из того что там пишут на те должности что я занимал типа владение тайнами окульта и карманной катапультой, чтобы был дворянских кровей и элитой, чтобы была утка и липа, чтобы прошел катсинг на вестерн, примерный семьянин стопроцентный натурал и т.п., я за свои годы тяжелой работы ни разу не встречал эти инструменты и программы и не использовал ничего такого прям часто. Большая часть работы в 1,2 программах и всё. А коллеги тож особо не подходят под выдвигаемые требования.
https://www.online-python.com/Dpzmw7AM2b
Что-то пытается DataFrame сконвертировать в bool. И он говорит что не будет так делать.
Звучит как что-то что бы питонист сказал чтобы уменьшить количество конкурентов на перенасыщенном рынке.
Всё потому же: вкатышков слишком дохуя, предложение кратно превышает спрос, вот и вакансий не видно.
Я девопсил контору, где половина кода (и, соответственно, бОльшая часть функционала) была на пистоне.
>Зачем работодатель толстит?
Потому что опыт работы с <багтрекер_нейм> это как опыт серфинга твоих любимых досок и тредов в <твоя_любимая_соксетачка>. Это приходит в процессе работы с этим.
Ну вот я работал и в битрикс24 и в редмайне и в жире. Пойду в условный яндекс, где свой яндекс.трекер. И типа если я с ним не работал, то меня не возьмут?
Вобще часто так пишут, чтобы отсеять мимолётных / боящихся многабуков / боящихся чего-то ещё, кроме питона.
Также часто так пишут, потому что помидоры или лиды или продакты формируют список требований к соискателю вот такой формалистикой, а хрюши это бездумно копируют, сами не разбираясь на что людей ищут.
Сидит с умным ебальником надменного знатока, дженкинс заворачивает в докер, а докер в кубер, иногда кубер в кубер и называет это CI/CD.
Выглядит как
>кумер
>кокер
>сакер
почему-то, будто пост из /b/ но с небольшой подменой терминов, чтобы оставались узнаваемыми но обходили спум-фильтор.
Спок, скоро они у всех подъездов будут новые контейнеры конфигурировать.
Этот прав: >>43412
Сам хотел эту картинку поискать.
Основное - автомагизация пайплайна сборки и деплоя. Шоб кодер мог взять таску из жиры, сделать гит пулл, написать код, потом гит пуш и переходить сразу к следующей таске, а всё остальное, включая тестирование и вываливание на прод - делают всякие специальные системы.
Ну и немного соц. инженерии на уровне объяснить за гит[хаб/лаб]-флоу или, скажем, 12-факторные приложения и почему теперь. когда всё в облаках говнокодерам придётся оптимизировать свои поделия, иначе начальство охуеет от переплат за облако.
>Основное - автомагизация пайплайна сборки и деплоя.
А, ну это так-то полезное дело. Особенно если еще и тестируется сразу.
Да нигде никакого питона нет, вы что не поняли? Питон никто не использует для настоящей разработки! Ни в России, ни на западе, Н И Г Д Е. Питон - ненастоящий язык.
> >>>list_seq = [1, 2, 3, 4, 5]
Дана переменная, равная рандомному элементу из списка + 1.
> >>>conflict_foo = random.randrange(len(list_seq[-1] + 2))
> >>># 1 | 2 | 3 | 4 | 5 | 6
Задача поменять последовательность изначального списка в соответствии с данной переменной.
Т.о. первый элемент списка должен стать значением переменной + 1.
> >>>list_seq = [1, 2, 3, 4, 5]
> >>>conflict_foo = 3
> >>>output = [4, 5, 6, 7, 8]
> >>>list_seq == output -> True
Есть решение, но кмк оно ебанутое.
list_seq = list(map(lambda elem: elem + conflict_foo, list_seq))
Ваши предложения.
Чел собрал в один пост из всех вакансий все требования, а не одной. При этом в 3 из 5 ваклух зп указана от 100к, какие 30к не понимаю. Зато прекрасно понимаю, что из-за высокой относительно средней в рф зряплаты на старте люди пиздят в резюме из-за требования первой строчкой "только от N лет опыта разработки на <фреймворк_нейм>". Правда потом половина жидко пердит на собесах, а половина от тех, кому удалось наебать процесс найма, вылетают после испытательного срока из-за проёбанных задач.
Дык ёпта.
Современная разработка так и построена: кодер сделал пуш/мердж в нужную ветку, на билд-серверах запустилась компиляция, потом продукт упаковали в контейнер, развернули в дев-контуре, запустили автотесты (написаны QA-специалистами), потом развернули в стейдж/препрод контуре и пульнули сообщение в отдел QA, там уже люди захотят и нажимают всякие кнопочки, если решат, что всё гут - жмут ок и контейнер выкладывается на прод, без остановки сервиса.
Это основная схема и там вообще много всяких приколюх и нюансов (ИЧСХ, даже в сериоус бизнесе далеко не всегда всё так подробно разложено).
Считается, что девопс призван связать процесс воедино, но в жизни... В общем, по разному. Я обычно вижу практику работы девопса как работу админа, пользователи у которого сидят в IDE вместо 1С.
>Зато прекрасно понимаю, что из-за высокой относительно средней в рф зряплаты на старте люди пиздят в резюме из-за требования первой строчкой "только от N лет опыта разработки на <фреймворк_нейм>".
Да многие готовые работать хоть за 100к, хоть за 10к - лишь бы взяли. Только нет блядь таких вакансий, вообще нет. А когда появляются - на нее налетает стая готовых работать за еду коршунов.
Так что пиздеж со стороны вкатунов в такой ситуации - не от жадности, а от безысходности.
Ебать ты инфузория я хуею.
>хоть за 10к - лишь бы взяли.
Это какие-то совсем неуверенные в себе, либо которые не хотят работать, но хотят вайтишнуться любой ценой, либо просто глупые в плане поиска работы. И вот в оставшуюся меньшую часть, кому действительно не везёт продолжительное время найти работу, могу поверить, что от безысходности они начинают пиздеть.
Правда и тут есть вопрос про время, которое они потратили на поиски. У меня после 24 февраля пошли сокращения и в середине марта уже я сидел без работы, но с 3 окладами. При моём хуёвеньком, но коммерческом опыте на тот момент в 6 лет, искал работу 4 месяца, при этом до 24 февраля мне прилетали КП каждую неделю, а после 24 февраля пара КП и последующих собесов за месяц. И на мидл-сеньор позицию меня много куда не взяли, потому что где-то я не готовился, где-то опыта и знаний не хватило, где-то не понравился собеседующий и я просто на 2 этап не пошел. И уже подумывал учить другой язык, или вообще забить хуй и проедать бабло, и стал унывать и беситься и много бухать, но не стал врать про опыт или знания, который от меня требовали на прошлых собесах и не стал из себя строить ниебаца синьора.
А эти твиттерские пиздуны и их говножуи-последователи с рисованным опытом у меня лишь только презрение вызывают. И оправдания про тяжелый рынок это хуйня. Он блять для всех тяжелый, и для мидлов средней руки и для хуёвеньких сеньеров, которые со своих мест также как я повылетали, а потом пердели на собесах.
>контейнер выкладывается на прод, без остановки сервиса
Не люблю такое. Нравится хуячить фичи до релиза, а потом уже изредка методично обновлять. Наверное какая-то связанная причина и отторжение к онлаен-игорам вызывает.
Ну вот сам и подумай, если ты с таким опытом столкнулся с проблемами, какой пиздец сейчас происходит у джунов?
>Он блять для всех тяжелый, и для мидлов средней руки и для хуёвеньких сеньеров, которые со своих мест также как я повылетали, а потом пердели на собесах.
Да, только вот джуны сейчас даже до собеса не доходят. Негде пердеть. Ты просто не представляешь, какая сейчас жопа началась, потому что до тебя эта жопа не добралась.
850x366, 0:09
>мидл-сеньеор помидор не может найти работу
>джуны не могут найти собеседование
куда катится мир
Два чаю. Знакомого тоже сократили после известных событий, и тот буквально полгода не мог работу найти. Опыт у него 4 года на питоне. "Вот и думайте"©
А вообще искренне жаль всех вкатунов за то, что тратят время и деньги на бесполезные курсы, надеясь найти потом работу. Поезд с лёгкими деньгами, попёрживая за компутером, уехал, господа. Не то время, не то место
>Не люблю такое. Нравится хуячить фичи до релиза
Кто мешает?
Ответвился в бранч, пилишь, собираешь у себя по необходимости, довёл до релизного состояния, смерджился в мастера, там его тестируют.
А бесшовное обновление вообще реализуется специальной стратегией, см. пик. Правда, есть нюансы с применениями миграций в БД... Но это всё тоже решаемо.
Да-да, мы поняли, уже уходим из питона, чтобы не составлять тебе конкуренции.
>for (auto& num : list_seq)
>{
> num += conflict_foo;
>}
так, это вышло совсем не по-питонически. Вот так вроде по-змеиному будет:
output = [num + conflict_foo for num in list_seq]
>Правда потом половина жидко пердит на собесах, а половина от тех, кому удалось наебать процесс найма, вылетают после испытательного срока из-за проёбанных задач.
Понимая это ни разу не пиздел. Ни в резюме, ни на собесах. Правда, у меня есть опыт вката в новую область после устройства с нуля. Так что теперь мне вообще легко. Было бы. Я в последний раз искал работу в 2013-м, с тех пор перебирался на новое место - по приглашению. Репутация делает своё дело.
Выебнулся типа. Правда, я зарабатываю не кодингом, а админством, а теперь - девопсом, но код тоже писал всегда, настоящий админ всегда кодит.
>>43495
>Да, только вот джуны сейчас даже до собеса не доходят.
Те, кто повёлся на маркетингвый булшит и недостаточно серьёзно подошёл к вопросу - вряд ли стоит большего. Те же, кто что-то из себя представляет, найдут, как заработать. Да хоть на фрилансе.
Всё утыкается в интерес. Есть огонёк в глазах? Желание творить? Жажда создать что-то?
Или это тупо про галеры и зарабатывание денег?..
Если про галеры, то лучше к станку, благо заводы и цеха открываются чуть не ежедневно. Кстати, там тоже можно зарабатывать дохуя, но придётся потрудиться.
Где ты там срез видишь? Там берётся один элемент. Потом к нему прибавляется число, а потом от инта берётся длина, на этом всё падает не доходя до рандома потому что у инта нет длины!
Но даже если бы прошло, то у randrange два обязательных параметра: start и stop, а ты, чудик, передаёшь ему ОДИН параметр, на чём оно упадёт второй раз.
При этом текстом ты описываешь совершенно что-то иное.
>Те, кто повёлся на маркетингвый булшит и недостаточно серьёзно подошёл к вопросу - вряд ли стоит большего. Те же, кто что-то из себя представляет, найдут, как заработать. Да хоть на фрилансе.
Только вот у эйчара, который фильтрует сотни резюме, нет встроенного определятеля серьезности кандидата и удаленного определения блеска в глазах. Это всё выявляется на собесе, а до собеса не доходят как случайные вкатуны, так и те самые творцы с огоньком.
А знаешь кто туда доходит? Пиздоболы, которые не считают зазорным подкрутить опыт. И вот ты тот самый творец с огоньком в глазах, и у тебя две альтернативы - либо ты сосешь хуй вместе с вкатунами, либо пиздишь и занимаешь место, которого ты достоин.
>randrange два обязательных параметра: start и stop, а ты, чудик
Напиши завтра заявление по собственному, идиот. Школьник узнал, что ренджи умеют в один параметр.
https://www.online-python.com/T1Jir27Nb0
Можно ли в нем посмотреть подключен гугл диск к окружению или нет? Подсоединяется он drive.mount(%путь%), а вот как посмотреть какой это %путь%, всю документацию облазил и не нашел метода для этого.
разобрался
у меня есть класс, у которого метод должен работать через потоки, но эти потоки должны работать последовательно, ожидая друг друга и не завершаясь через join. вы спросите: нахуя мне потоки, которые работают друг за другом? я вам отвечу, что это необходимость tkinter. потоки обязаны присутствовать в моей ситуации.
стоит уточнить что я имею ввиду. у меня через класс создается объект task и у него метод run, который работает через поток. соответственно, если у меня много тасков, то нужно выполнять их по очереди с задержкой 3 секунды, и выполнять до тех пор, пока я не завершу таск методом delete. основная проблема, что потоки работают одновременно, что логично, но мне необходимо, чтобы они ждали выполнение одного потока и выполнялся следущий
Не имею возможности писать сейчас с компа, поэтому установил себе Pydroid3 на телефон и не могу в нем импортировать модули из нужных мне директорий. Ни sys.path.append, ни PYTHONPATH не помогли - пути в них добавляются, не не сохраняются. Т.е. пока у тебя есть в модуле этот кусок кода (пик), то все ок, но стоит завершить сессию и путь исчезает.
Убил четыре дня на поиск ответа, от меня от души если поможете.
Ты бы лучше код сюда кидал, я бы глянул
Так и должно быть. Чтобы эти пути/PYTHONPATH всегда добавлялись, обычно нужно менять конфиги системы, либо делать алиасы. В твоём случае всё зависит от pydroid, если он такое не умеет, то придётся всегда этот сниппет добавлять.
Почему бы не запихнуть это всё в один поток, завести очередь и набрасывать туда раз в 3 секунды задание?
Ясно, спасибо большое. В Пидройде нет такой функции, придется дефолтными путями граничится
К дополнению сказанного. Брат, ты мне вообще охуенно помог! Без тебя бы не догадался.
Короче, я взял этот код, переименовал в al и кинул в директ путей в которых он ищет - после чего я импортирую этот модуль, а уже следом импортирую из той папки что мне надо.
Да, небольшой костыль, но ничего лучше судя по всему не сделаешь.
Во у тебя умная голова, ещё раз ей спасибо
кстати, хорошая идея, я подумаю, спасибо
Можно на pidora гонять?
Проект такой:
main.py ( в нем import run() from run )
run.py ( в нем import file1 file2
file1.py
file2.py ( в нем import file3)
file3.py
Пытаюсь скомпилить run.py file1.py file2.py file3.py в одну единственную красивую либу .so и .pyd с помощью cython, но нихуя не выходит. При попытке перечислить их в аргументах build_ext = cythonize(['run.py', 'file1.py', 'file2.py', 'file3.py']) как в примере на сайте cythonа написано, оно просто делает по одному .c и по одной либе на каждый файл, красиво в одну либу не компилит.
На сайте написано что-то про эмбеддинг через что-то ещё но там нет подробностей, не могу разобраться.
Задача: обеспечить запуск модуля через эмулятор терминала после его установки через pip.
Допустим, пакетирую модуль fooscrypt.py
На testpypi модуль заливается легко.
После его установки через pip модуль становится доступен для импорта, но отсутствует в $HOME/.local/bin.
Как исправить?
Хочу запускать скрипт так:
$ fooscrypt
Что можно исправить на этапе пакетирования?
from setuptools import setup, find_packages
def readme():
with open('README.md', 'r') as f:
return f.read()
setup(
name='fooscrypt',
version='0.1.0',
license='CC0',
description='Monitor and log user/system CPU times of the selected process',
long_description=readme(),
long_description_content_type='text/markdown',
packages=['fooscrypt''],
install_requires=[],
classifiers=[
'Programming Language :: Python :: 3',
'License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication',
'Operating System :: POSIX :: Linux',
'Topic :: System :: Monitoring'
],
keywords='linux',
python_requires='>=3.3'
)
Задача: обеспечить запуск модуля через эмулятор терминала после его установки через pip.
Допустим, пакетирую модуль fooscrypt.py
На testpypi модуль заливается легко.
После его установки через pip модуль становится доступен для импорта, но отсутствует в $HOME/.local/bin.
Как исправить?
Хочу запускать скрипт так:
$ fooscrypt
Что можно исправить на этапе пакетирования?
from setuptools import setup, find_packages
def readme():
with open('README.md', 'r') as f:
return f.read()
setup(
name='fooscrypt',
version='0.1.0',
license='CC0',
description='Monitor and log user/system CPU times of the selected process',
long_description=readme(),
long_description_content_type='text/markdown',
packages=['fooscrypt''],
install_requires=[],
classifiers=[
'Programming Language :: Python :: 3',
'License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication',
'Operating System :: POSIX :: Linux',
'Topic :: System :: Monitoring'
],
keywords='linux',
python_requires='>=3.3'
)
t. Пися Васечкин, питонист едва нашедший работу из-за огромного спроса
Питон не для работы, а тем, кто уже имеет работу, связанную с найкой или нейросетями, для удобства работы. Это не язык, а интерпретируемый примитивный скрипт, понятный любому малограмотному. Типа VuisualBasic или Lua.
>Это не язык, а интерпретируемый примитивный скрипт, понятный любому малограмотному. Типа VuisualBasic или Lua.
Или JavaScript.
Ты либо жирный и зеленый, либо сам пиздец какой неграмотный.
да, еще хтмл цсс скл жанго
Нихуя ты знаток.
>На жаваскрипте работают сайты
Жабаскрипт - ненужная хуйня. Сайты и без него прекрасно работают.
База пиздец.
Ты хотел сказать Java? На с++ сейчас надо быть либо дидом с 35 лет стажа либо аутистом со справкой.
>кодомакака не может себе представить каково это писать код не обсираясь в память чтоб машине приходилось за ним прибирать
Классика.
Я про память ничего не писал. Я писал про работу на кабана. С плюсами ты не сможешь 8 часов в сутки если ты не дед с 35 годами стажа в с++.
>С плюсами ты не сможешь 8 часов в сутки
Не проецируй свои примативные разумные способности на собеседника.
Собеседника нет, но его мамку — да.
И кстате ты писал код на кабана или только вкатываешься и манясоветы раздаешь?
инпут, принт = input, print
Русски язык программирования! Где там мой миллион за импортозамещение?
Но питонист будет ждать, пока сишник напишет для него очередную библиотеку на си++ для оберток массивов.
опред привет(имя):
возвращать ф'Привет, {имя}'
имя = ввод('Введите имя: ')
печатать(привет(имя))
Жирный, ты палишься незнанием матчасти. Подучись немного, а потом приходи троллить.
try:
__read_file
__return("OK")
excet KeyError:
__return("Ошибка")
По задумке, мне нужно только проверить читается файл, а как уже не важно. Если он не читается или не найдет, то вернуть ошибку. Как сделать, чтобы файл прочитался и вернуть ОК?
Вопрос привычки, не более. А вот если ты не можешь перестроиться, у тебя пизда с абстрактным мышлением и вероятно ограничение по карьере. Дорога в пиздологи креслопросиживательные.
так же как у нейтивов англюсика когда они прогромирывают
им же таким же кринжем кажется вся эта писанина
бамп вопросу
Ну я это и имел в виду под нейтивами.
Чушь. Когда тимлиду или пму, чтобы пояснить чем занимаюсь, объясняю алгоритм русским языком, то кринжа не возникает. Вообще не вижу трудности объяснить алгоритм на естественном языке. Если ты не можешь это сделать, то одно из двух
1) ты непонимаешь проблемы и просто скопипастил код со стаковерфлоу
2) у тебя проблемы с абстрактным мышлением и ты не в состоянии отделить идею от кода
Nope.
Так тыж не с нейтивами общаешься, я вот имею опыт общения с ними, и спрашивал прямо, не кажется ли это им кринжем вот это все программирование словами на их языке, они прямо отвечали, что да, пиздец кринж, типа приказываешь железяке что-то и оно работает. Не кринжуют только кодомокаки из других стран, типа европки, индусов и прочих, т.к. для них это каргокульт и крута.
Ну нахуй, спасибо за совет.
То то в линуксах и важном софте постоянно утечки находили и до сих пор находят, что аж раст сделали, что бы всего этого избежать. Мне кажется, что ты даже на плюсах не особо пишешь, а просто жирный или шиз.
Для вкатуна сейчас всё говно без задач. Слишком много вкатунов низкого качества, индустрии нужны более толковые.
Да хуле там, пусть лучше с ассемблера сразу начинает
походу никто не знает...
Шелл учи линупсовый, лол.
Пилю онлайн магазин, нужно добавить дополнительные характеристики для продуктов, да так чтобы пользователи сами могли их создавать и устанавливать, например на категорию продуктов.
Пока сделал модели как пике. Не нравится, что для каждого типа нужно добавлять отдельное поле. А ведь еще как-то нужно будет реализовать всякие единицы изменения и т.д.
Есть варианты как сделать лучше?
Тонко.
Захоўвай дадзеныя як радок (str), калі хочаш спрасьціць тыпы.
То ли дело софт на жабе, который совсем не течет, всего лишь сжирает гигабайты и микрофризит на секунды вытирая жопку говнокодера, вот это хорошо, лучше на жабе говнокодить чем раз в хуй знает сколько утечки чистить, ага.
Я именно на плюсах и кожу, поэтому презираю недокодеров которые кодят на говноязыках которые за этими скриптомакаками сопельки подтирают.
Похоже, от питона тоже стоит отказаться.
Я раньше на си, плюсах, луа, жс кодил, и в принципе мне было плюс минус все равно, но тут решил попробовать проект на питоне сделать, чтобы освоить и его, и честно говоря, в языке разочаровываюсь. Пока общение, что он слишком он какой то хаотичный, если на жс или луа, например, плюс минус все однотипно, например, с любой таблицы или объекта можно рассчитывать получить общие методы, типа .legth, то в питоне же все у всех по разному, к тому же, добавляет хаоса ещё и различные иде под него, например, предлагают подставить к str.split(sep).len , а потом интерпретатор говорит, что нет такого поля. А накой тогда оно предложило его? Ну и всякие приколюхи типа можно сделать так
def fun(something)
...something.whatever=12345
main
...val = 10
...fun(val)
...print(val) -> 10
...print(val.whatever) -> 12345
Вот это меня очень сильно напрягает.
Ну и конечно проблемы с распространением, внятного решения для компиляции в одну жирную бинарную либу многофайлового проекта так и не нашел.
> добавляет хаоса ещё и различные иде под него, например, предлагают подставить к str.split(sep).len
Какой же ты пиздабол
Всё верно. В крайнем случае на питоне пишут прототипы, а потом переписывают на нормальном языке. Либо это язык чётко под статистику и всяким разметчикам данным в тупейшей многомесячной работе по подбору коэффициентов для нейросетки, которую на С++ написали старшие товарищи.
Просто на Питон хайп. Кто-то подумал, что обучив миллион макак простому языку (как в 90-е пытались всех обучать Бэйсик'у) он получит миллион хотя бы кодеров (даже не программистов).
Но с полным абсолютным в ноль аннигилированием и нивелированием ступени «джун» можно точно сказать — затея не выгорела.
> просто изучить что-нибудь до любительского уровня.
Если нехитро автоматизировать свои какие-то действия, то Питон — самое оно.
Если тебе не нужен какой-то ебический хайлоад, то для апи, микросервисов и сайтов без динамики хватает. А дальше уже только нырять в глубь и смотреть, в каких хотелках он будет бутылочным горлышком.
Чел, зачем ты пишешь на несуществующем фреймворке для несуществующего языка? Пиши магазин на С++, какой нахуй питон?
Зачем нужен C++ если все равно потом с него на Python или Java придется переучиваться?
https://www.ixbt.com/news/2022/11/14/it-c-c.html
А как потом три года улучшения производительности продавать?
>на Python или Java придется переучиваться
>переучиваться
С пуфона на плюсы переучиваться столько же сколько плюсы с нуля учить.
С плюсов на пуфон "переучиваться" час времени.
>С плюсов на пуфон "переучиваться" час времени.
Ага, вон чуть выше уникум после плюсов не осилил.
Он утверждает, что да. "Я именно на плюсах и кожу, поэтому презираю недокодеров". Ну и выучить синтаксис != освоить язык. Научиться писать на нем хорошо, а не переписывать код с плюсов на питон, за час не получится.
Вообще я заметил, что питон чаще всего не могут осилить джависты.
>Научиться писать на нем хорошо, а не переписывать код с плюсов на питон, за час не получится.
Получится, если ты всегда пишешь методом StackOverflow-Driven Development.
Важно следить за тенденциями и за тем что происходит в мире?
Можете имаджинировать ебало сисюшников если их знания и весь написанный код отправится в помойку? С питоном такое точно не произойдет как минимум в ближайшие лет 10.
>Я именно на плюсах и кожу, поэтому презираю недокодеров которые кодят на говноязыках которые за этими скриптомакаками сопельки подтирают.
>которые кодят на говноязыках которые за этими скриптомакаками сопельки подтирают
>сам пишет на джс и луа
Джава, шарп - заебешься искать работу для ждуна.
Го - никто сейчас не рассматривает кандидатов без коммерческого опыта в других языках или в самом го.
Жс - всем нужны сеньоры-помидоры.
По остальным языкам количество вакансий на уровне статистической погрешности.
Но с пыхой ты гораздо быстрее упрешься в потолок и замкнешься в микромирке, если выбирать его, то надо быстро выныривать из этого болота в другой язык.
Питон в этом плане гораздо перспективнее - конечно же, при условии, что ты планируешь релокацию. В России с питухоном ловить нечего.
В чем в принципе отличается вкатунство на питоне от остальных? Как там нахуй никому не всрался, так и тут. Вывод: вкатываются в айти в 2к23 только дебичи и маняфантазеры
Он еще в 2004 должен был умирать, все пророчили его смерть, а еще трепыхается почему-то.
Айти в 2к23 не существует, твёрдо и чётко. Поняли, вкатунцы? Заводы простаивают, в доставках курьеров не хватает, а на районе кофеен и пекарен недостаточно. Можете и в нацгвардию идти, туда вроде как армия не нужна и хватает среднеспециального, зато можете потом смузихлёбов из /pr/ пиздить за их жирные зряплаты.
А во что вкатываться тогда? Мне с вуза документы забирать уже, ибо по профессии никогда не устроюсь?
Буду сидеть в кабинетике на заводе, пить чай и смотреть как работяги хуярят в жаре. И получать 80к или сколько там в последний раз получал системный аналитик. Я ж не долбаёб, скачущий по головам ради хуй пойми чего.
Шанс вкатиться на питоне/пыхе ждуном с зарплатой 30к - 1%. Шанс вкатиться на джаве ждуном с какой угодно зарплатой - 0,001%. Проценты приблизительны и приведены для наглядности.
>>46424
Обязательно сдохнет, но ты успеешь перепрыгнуть с пхп на голанг что-то более перспективное.
>>46441
Да не трясись ты так, гейткипер.
>>46447
Всё нормально будет, главное - начинай заранее заводить трактор.
Шанс того, что тут будут какие-то нормальные перспективы в ближайшие десятилетия прямопропорционален тому, что заместо смещенного Пупкинса не придет новый Ленин-Сралин, ещё страшнее. Т.е. маловероятно.
Если отсюда работать на Великий Запад, то удачи тебе с еблей над всем что связано с оплатой и товарами.
Это каминг-аут?
На заводах нечего делать, нет иностранной комплектухи. Разве что в оборонку идти, но там вроде бы в избытке народу.
Курьеров жопой жуй, их уже агрегаторы прессуют и лишают прав.
Кофеен и пекарен пиздец сколько, постоянно закрываются от недостатка клиентов.
Не хватает как раз зажиточных айтишников, всяческих потребителей, чтобы всю эту рабочую пиздобратию кормить заказами.
Ти довен? Мир распадается на изолированные зоны, в которых своих погромистов с избытком. Глобализм закончен, как и надобность в каких-то говнокодерах с плохим английским из далёких пердяевок — своих выше крыши. Уровень жизни едет по пизде везде и любой самый умный пидор-тракторист будет получать не выше 3–5 местных прожиточных минимумов. Попробуй, блядь тупая, снять хату в Мюнхене за половину зарплаты (и ещё треть отдать за зубы), потом кукарекай.
>нет иностранной комплектухи.
75% бизнеса решили проблемы с комплектухой. 12% решили кое-как. Остальные не решили. Если про импорт чипов, он возрос в два раза, включая интел и амд. Через Китай и Турцию.
>зажиточных айтишников
В мире экономический кризис, алё, даун, пшшшш-пшшш. Его будут решать за счёт среднего класса, который уничтожат везде. Будут только нищуки и сверхбогатые (настоящие власти).
Я работал сначало в простом цехе, потом на оборону. В итоге спустя год оттуда и оттуда сбежал, потому что там ебашинь надо как Карло. В 6:00 просыпаешься, в 7:30 на работке и до обеда, пол часа похавал и до 20:00, а зачастую и до 21:00. И так пятидневочку, каждый день в грязи и насквозь в поту за 30кек нормально поработать.
Когда так живёшь, то ни о чем кроме сна не думаешь и так до самой старости как зомби. Ну и пенсия в 15 тыщ конечно же, как у моего деда с бабкой у которых по 40 лет стажа.
Просто мотивационное напоминание вкатунам что их ждёт если будут плохо учиться.
Береги свой коричневый бублик, слюнькин.
Лол, и жс/луа в этом всём принципиально лучше? Я б понял там ещё доебаться к сендбоксингу, которого в питоне нет, а в луа/жс есть. Понял бы ещё про наличие jit, но вроде как в pypy это есть. Но предъявлять за историческую хаотичность стандартных методов, ставя в пример луа, и, прости господи, жс, что?.. Если что, во всех этих языках всё объект-хэшмап, и то что тебя напрягает, изи аналогично делается и в луа/жс. И компиляция в бинарь оказывается есть и в луа, и в жс. Удивительный пост, 100% лжи, послушай и сделай наоборот.
Слюнями набрызгал, а что сказать хотел хуй знает. Единственное что я понял, тебе нравится прогибаться, лебезить и сраки лизать, расклад нищуки и бояре тебя более чем устраивает.
>>46620
Краем уха слышал, что особенно ловкие и рукастые на изи зарабатывают покруче айтишников. Не берутся за потогонки в родной деревне, а ездят по стране и срывают норм контракты.
Я точно знаю, что фрезеровщики и сварщики отлично получают, около 100-150тыщ, но это и правда зависит только от прямоты рук, опыта, количества пальцев и региона. Те же техники, которые настраивают и чинят аппаратуру, вообще никому не всрались и получают чуть выше среднего рабочего.
Кстати, про оборонку дополню. Ничего лишнего не скажу, скажу только - пиздец. Я вот совсем не удивлен что эту войну мы проиграли.
Ещё не проиграли впрочем я тоже не удивлюсь если. В оборонке астрономическое распиздяйство компенсируется таким же астрономическим баблом сверху.
>проф. болячки потом полезут весьма хуевые.
Зато учить ничаво нинада. Переменные, значения, методы... Синапс спинной мозг-руки натренировал и знай вари себе.
>>46664
>сменились технологии?
У меня есть одна поучительная история на эту тему, но расскажу я ее чуть попозже.
>>46665
>компенсируется таким же астрономическим баблом сверху.
Я клянусь тебе, готов жопу поставить, что почти вся ее часть уходит не в производство. Ну, если судит по тому что я видел.
Оборонка это самый жирный кусок на который слетается самое большое количество стервятников и даже перед лицом смерти или тюрьмы они скорее купят себе новую виллу, чем хоть что-то вложат на благо войны. И слава богу.
Но мне надо кое-что в петоне: как реализовать проверку обновления страницы? То есть не парсить ее целиком(это я осилил), а именно новое мне пересылать.
То есть кто-то коверкал Си зачем-то похоже на шарпы чтобы они были похожи на питон до существования этих двух языков?
>мне нравится прогибаться, лебезить и сраки лизать
А в /pr/ зачем об этом пишешь? Хотя, наверное, если ты ищещшь друзей по увлечениям, то в питон-треде кого-то найдёшь.
Из забавного. Современные кресты настолько "охуенны", что на них не пишут софт для крестов. Вот, например, угадаете, на чём написан пакетный менеджер для C/C++ Conan?..
>Я именно на плюсах и кожу, а главное - хочу по всем доступным тредам и рассказываю всем, насколько они неправы, если пишут не на крестах.
Как же королям местной палаты печёт жопку с с++, пиздец просто... Никто изначально вообще о нём не заикался, но все местные подумали, что их травят сишники)))
Пока ты доберешься до изучения ИИ к нему уже в монашеских балахонах будут ходить и петь песни. Следующие десятилетие ИИ будет озабочен обретением физического тела, чтобы сесть на трон, как царь Земли.
Понятно, значит, тупо тролль. При чём троллит ссишников...
Так я помочь хочу.
Все что полезного может дать философия это логика. Все остальное даст математика.
Математика даст лишь аппарат. А вот как аппарат прикалывать к естественным процессам скажет эпистемология.
Хоть в глаза ссы — всё божья роса.
Ну, тут крыть мне нечем. В США у профессоров философии даже зарплатки больше чем у математиков
Наоборот. Математика даст логику.
Философия — склонность к педерастии. А там и до Питона недалеко.
Нет. Изучать лучше в порядке важности: линейную алгебру, теорию вероятностей, математическую статистику, математический анализ (оптимизация, ряды, да и вообще весь), теорию графов и комбинаторику (да и всю дискретную математику). Первые три в обязательном порядке.
Почему теория вероятностей до мат анализа? А статистика до матана это вообще. Даже для комбинаторной вероятности нужны производящие функции, асимптотика. Ты точно в теме7
Ну, если ты вкатун с 8 «Б», то основы матана можешь первыми учить. В любом вузе (нормальном, а не для педерастов) их с первого семестра дают.
А если я хочу сделать киборга, робота чтобы у него в руках пулеметы были и чтобы он из глаз лазером стрелял мне нужно изучать математику или питона будет достаточно?
Не виляй жопой, зачем мне учить матан после статистики, если я его уже изучил в вузе, как ты сказал ряды и все остальное, что изучается на первом курсе? У меня матан был несколько семестров, так как физмат.
Да он сам походу ниче не знает. Сказал что выдало первым в Гугле, чтобы типо умным казаться и пошел в стайку комбикорм коровам разводить.
Поясните что значит точка в этом синтаксе.
Типа по "объекту" в виде возвращаемого инпутом значения применяется функция сплит?
В ООП не шарю практически.
input - имя функции
input() - объект полученный в результате выполнения функции
input().split - имя функции, содержащийся внутри объекта, ака метод объекта
input().split() - результат выполнения метода
Тут важно понимать, что это не функция split() натягивается на произвольный объект, а то что объект должен заранее содержать эту функцию внутри себя.
Спасибо, интересно.
Я со временем хочу научиться спокойно читать (пока для меня тяжеловатую) документацию типа пик2.
Вдогонку вопрос, как проитерировать список "по-сишному"? У меня при попытке сразу выскочил out of bounds, а потом быстро выяснилось, что итератор имеет не значение порядкового номера (т.е. не индекса), а значение ячейки списка... Пик1.
Нубы делают for i in range(len(a))
Просветлённые не итерируют по-сишному, либо используют for i, item in enumerate(a) когда нужен индекс
> когда нужен индекс
Почти всегда он не нужен. Лишние телодвижения. По крайней мере просветлённые его берут не для того чтобы взять элемент из итерируемого массива.
Ещё предположения будут?
И тем что ты не можешь взять len(x) от итератора, а enumerate работает именно с итераблами.
Ты, наверное, даун, раз лезешь в ненужный тебе вопрос о том, учить ли питон, если интересен ИИ. Почисть зубы, санитар Коля приведёт сегодня своих друзей после отбоя.
Тебе нужно сракой торговать. Мы как раз в треде по этим делам.
У меня b += a прекрасно отработало во втором случае.
Пруфлинк https://www.online-python.com/vf4jT1RsVt
Пруфпик
>>47244
> И тем что ты не можешь взять len(x) от итератора, а enumerate работает именно с итераблами.
Ты хотел сказать от итерабл?
Но почему я не могу взять len от итерабл списка а[], от которого я этот лен только что взял?
Мне нужно делать экземпляры изнутри самого класса. Очевидно для этого нужно вызывать конструктор.
type(self)(args) это полный полнейший 1 к 1 эквивалент ClassName(args) ? Или есть подводные камни? На стаковерфлоу читал что что-то такое есть и надо через __new__ что-то там делать, но теперь не найдешь да и не знаю толком что искать, просто чую жопой что что-то может пойти не так?
Как быть?
>У меня b += a прекрасно отработало во втором случае.
Но зачем? У тебя уже есть нужное значение в item, а ты тратишь время, чтобы ещё раз обратиться к списку.
>Ты хотел сказать от итерабл?
enumerate может работать как с итерируемыми элементами типа списка, так и с итераторами, у которых нет ни возможности обратиться к элементу по номеру, ни длины как таковой (зато они не занимают места в памяти).
Возможно, этот: >>47404 прав, конечно...
Да, это полный 1 к 1 эквивалент. Могут быть отдельные исключения, к примеру ClassName это один из классов-предков. new нужен крайне редко, когда ты хочешь кастомизировать создание объекта с нуля, когда ещё self не существует.
Ясно спасибо питон.
>кастомизировать создание объекта с нуля, когда ещё self не существует
Слишком сложно для меня пока. Даже не могу представить для чего это может понадобиться на практике, а если даже пойму и представлю, то скорее всего буду избегать применять - выебоны какие-то наверное, чтобы джуны код читали и охали.
> --new--() is intended mainly to allow subclasses of immutable types (like int, str, or tuple) to customize instance creation. It is also commonly overridden in custom metaclasses in order to customize class creation.
Да просто изредка нужно. Метаклассы многим мозг ломают конечно, но это всего лишь о кастомизации того что происходит до --init--. Можешь модели джанги вспомнить, где поля в классе это декларация, реальные поля в объекте совсем другого типа.
enumerate предполагает, что тебе нужны индексы.
range(len) предполагает, что ты даун или перекатыш.
Помогите пж, в чем я проебался, я ньюфаг.
>Ты хотел сказать от итерабл
Даун, итерабл и итератор разные вещи.
Итерабл это объект от которого можно взять итератор, вызвав его __iter__()
Итератор - тоже итерабл, потому что возвращает сам себя.
Как вопроизвести? Прям интересно.
Я пока получаю только это:
>>> import pygame
pygame 2.3.0 (SDL 2.24.2, Python 3.10.6)
Hello from the pygame community. https://www.pygame.org/contribute.html
На сайте пик... Интересно, а они делали чёрные экраны по случаю, например, вторжения в Ливию? Я ХЗ вообще, что не так этими новозеландцами...
Общая информация:
https://ria.ru/20121213/914432954.html
Я возможно тебя не правильно понял, но рискну предположить, что ты имел ввиду возврат значения после открытия файла. Примени блок try-except-finally. С возвратом в последнюю секцию блока.
В чем твоя проблема, ни хуя не понял. Нажми одну кнопочку с впн и получи свой доступ на сайт. Пип же любые модули и библиотеки устанавливает без ограничений.
>Ливию
Вменяя им эту претензию ты срешь себе на голову, потому что расписываешься в своей бинарности, точно так же как и они, высирая "поддержку" вещам на которым им похуй. Все люди везде одинаковые - тупые NPC блеющие хором принимай это как данность и не будет у тебя баттхертов.
Джанго + питон + постгря. Для рабочего варианта избыточная достаточность.
Бери arcade. Pygame говно. Arcade тоже не без припезди, но хотя бы ускоряется на gpu из коробки, не требуя изучения opengl.
Если не найду решение, придется реально на Arcade переходить.
Я 1000 раз устанавливал через pip, если бы оно работало, то я бы сюда не писал. Я даже отдельно пакет выкачивал отсюда https://mirrors.aliyun.com/pypi/simple/pygame/
Ты там документацию запускаешь что ли по туториалу?
https://github.com/pygame/pygame/blob/1df5642197610a602d1b82b2c38b8fc2d2cdaec3/docs/__main__.py#L33
Нет. Я пытаюсь готовый код из другого туториала запустить, уже на гитхабе залитый и проверенный, но он просто нахуй меня посылает.
https://github.com/StanislavPetrovV/ASCII-art-PIXEL-art/blob/main/ascii_art.py
У меня подозрение что ты малварь себе установил откуда-то, и она пропатчила тебе все пайгеймы. Там импортируются вполне известные пакеты, которые в протестваре не засветились, разве что на сайтах себе понаписали. Разбираться тебе придётся самому. Запиши хотя бы видос как у тебя там всё по пизде идёт.
Ну cv2 предустановленного у него точно быть не может.
Блин колобок прилип из другого треда.
Бля, чтобы он работал у тебя ещё должен numba и cv2 установленные быть. Он их для запуска импортирует. Проверь, есть ли они у тебя.
Если бы проблема была в другом модуле, то у меня бы высветился не pygame.
>>47651
https://www.youtube.com/watch?v=ww55ublLFq8 Конкретный этого туториал вот, там еще много чего полезного для ньюяага как я.
>>47647
>У меня подозрение что ты малварь
Вряд ли, учитывая, что я впервые 2 раза через pip делал, а потом уже полез в интернет искать проблему.
>Разбираться тебе придётся самому.
Я снова щас попытаюсь через pip все установить, если не получится, придется уж переходить на другой пакет.
>Запиши хотя бы видос как у тебя там всё по пизде идёт.
Ну там динамики нет, могу кинуть пару скринов разных версии pygame в консоли как он выводит. pic1,2
>>47666
pic3
>Ну и?
Ну да, когда я запускаю программу, вместо того чтобы запускаться, она будет отправлять на pygame-форуум и вылетать.
Ну показывай где ты программу запускаешь, как запускаешь и как она тебя отправляет.
Я тебе и так это показал выше. Там написанно где я запускаю программу, там написанно как я запускаю, и то что оно мне отправляет. Вот тебе для наглядности.
Вылетает с этой надписью.
>Это они просто донатов просят.
Разве? Если это так, то там возможно в коде ошибка. Щас попробую другой код.
В начале файла добавь import inspect
В начале каждоый функции добавь строку
print('puk and srenk: ', inspect.stack()[0][3])
Потом запусти и скрины сюда.
2 вечера из-за маленькой ошибки просрал... пздц
Жизненно. Поначалу такие затупы быстро разруливаются, потом наловчишься вообще все перепроверять, но то и дело будешь натыкаться на что-то что тебя так же застопорит и тем больнее твой опыт ударит когда это будет настолько же тупая фигня.
они же оффлайн давно уже. Я думал pygame мёртвая библиотека уже
Не со всеми типами данных.
Сейчас делаю это все в визуальных программах, где просто вставляю кубики с действиями. На эмуляции довольно успешно, с запросами проблема.
Сколько времени нужно изучать питон, что бы выйти на уровень, где я могу делать такие же действия, что и сейчас?
Это копия, сохраненная 23 мая 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.