seniorpy | Unsorted

Telegram-канал seniorpy - Senior Python Developer

44765

Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy

Subscribe to a channel

Senior Python Developer

unit-тесты

Unit-тесты (или unittests) — это метод тестирования ПО, который позволяет проверить, работает ли отдельная единица кода (обычно функция или метод) так, как ожидается. Библиотека unittest входит в стандартную библиотеку Python и предоставляет набор инструментов для написания и выполнения тестовых сценариев.

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

#для_начинающих

Читать полностью…

Senior Python Developer

Для чего нужны линтеры и как они делают код чище? Исследуем эту тему вместе 5 декабря на Python Community🔥

👇Регистрация👇
https://forms.gle/UMJ2Gz7CQJZdz8ny5
(количество мест ограниченно).

⏰05.12.2023 18:30 (CET)
📍Офис Andersen в Варшаве: ул. Рондо Дашиньского, 1, 23 этаж
Язык: Английский

В ходе митапа, мы с вами:

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

Обещаем мега-познавательную встречу с кучей новых знакомств и вкусняшек😉
Ждем вас!

Читать полностью…

Senior Python Developer

Закон Амдала

Закон Амдала — это концептуальное правило, описывающее ограничения ускорения, которое можно достичь при оптимизации только части вычислений в программе. Он был предложен Генри Амдалом в 1967 году и является важным принципом в области параллельных вычислений.

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

#для_продвинутых

Читать полностью…

Senior Python Developer

Что такое линейная сложность сортировки?

Линейная сложность сортировки обозначает алгоритм сортировки, который имеет временную сложность, пропорциональную количеству элементов в сортируемом массиве (или коллекции). В математической нотации линейная сложность обозначается как O(n), где "n" - количество элементов.

Примером линейной сортировки может быть алгоритм «сортировка подсчётом» (counting sort). В этом алгоритме создается дополнительный массив для подсчета количества вхождений каждого элемента. Затем на основе этой информации о количестве вхождений каждого элемента строится отсортированный массив.

#для_начинающих

Читать полностью…

Senior Python Developer

Что такое файлы .pth

Файлы с расширением .pth — это файлы, которые могут быть использованы для добавления директорий в путь поиска модулей Python. Директивы .pth выполняются при запуске интерпретатора Python и добавляют определенные каталоги в переменную sys.path.

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

#для_начинающих

Читать полностью…

Senior Python Developer

⚡️Участвуй в онлайн-хакатоне GO.ALGO с призовым фондом 1 200 000 рублей!

Приглашаем специалистов по Data Sciene, ML-специалистов, Аналитиков, Back-end разработчиков, Front-end разработчиков, Дизайнеров!

Что тебя ждет:
🔹 С головой погрузишься в интересную задачу: Разработаешь торговые сервисы на основе данных MOEX и поможешь инвесторам стать успешнее;
🔹 Познакомишься с людьми со схожими интересами, и сможешь поучаствовать в фановых активностях

Помимо главного денежного приза в 1 200 000 рублей, тебя ждет фирменный мерч и подарки!

Если нет своей команды — поможем ее собрать.
Регистрируйся и вступай в чат участников, получи ответы на волнующие вопросы, найди команду или создай свою.

▶️Регистрация уже идет, успевай подать заявку по ссылке: https://tglink.io/55c4d3822b56?erid=LjN8K43Rv 

Реклама. ООО "ФИЗТЕХ ДЖЕНЕЗИС". ИНН 7735184156.

Читать полностью…

Senior Python Developer

Что такое модуль __init__.py?

Модуль __init__.py является частью организации пакетов (packages) в Python. Этот файл используется для определения директории как пакета и может содержать код и переменные, которые будут доступны при импорте пакета. Важно отметить, что __init__.py не является обязательным для всех директорий, но он необходим, чтобы Python интерпретировал директорию как пакет.

#для_начинающих

Читать полностью…

Senior Python Developer

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

💪 Сможете сдать – получите запись мастер-класса по алгоритмам повышающий ваш уровень.

📌 Еще больше полезных знаний ждет вас на онлайн-курсе «Алгоритмы и структуры данных» в OTUS

🎁 Черная пятница в OTUS! Успейте получить скидку на курс!
Возможна оплата в рассрочку!

👉 Пройти тест: https://otus.pw/xB77/

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Senior Python Developer

🥶 Забудь о Web2 Программировании: Переходи на Web3 и Зарабатывай От $60,000!

Если ты разработчик, но до сих пор не в теме Web3, то упустил множество возможностей. Middle Web3 разработчики уже зарабатывают от $5,000 до $8,000 в месяц!

🔎 Что такое Web3 в двух словах, и как стать мастером блокчейн-разработки?
🔎 Какие перспективы ждут именно тебя на рынке Web3, учитывая твой текущий стек?
🔎 Вакансии, зарплаты и требования к блокчейн-разработчикам: разберем на реальных примерах с рынка.
🔎 Как за 2 года увеличить доход до $5,000+ и стать Middle в Web3?
🔎 Апгрейд: как стать более востребованным, не меняя текущий стек?

✈️ И даже поделимся секретами релокации и работы в международной компании!

🗺 Построим личный роадмеп и разберем все это на 30-минутной бесплатной консультации:

Как действующему программисту расширить стек до Web3 и стать блокчейн-разработчиком на Solidity, увеличив доход в $ за несколько месяцев!

👨‍💼 Кто проводит?

Рекрутеры Crypton Studio — крупнейшей студии блокчейн-разработки в Европе (6 лет на рынке, более 160+ сотрудников, в числе которых 63% разработчиков, огромное портфолио из более чем 100 успешно реализованных проектов для клиентов из 20 стран). Они запустили новый проект MarniD и телеграм-канал, где можно учиться на их опыте!

Места на консультацию ограничены

Если ты действующий разраб, то переходи на сайт и оставляй заявку
ссылка

Команда свяжется с тобой и забронирует слот на Zoom! Узнай о своих возможностях на рынке будущего!

Читать полностью…

Senior Python Developer

Глобальные переменные

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

#для_начинающих

Читать полностью…

Senior Python Developer

Python meetup - Online

✔️ Экономия железа для МЛ-моделей в продакшен — Олег Бугримов, Тимлид, Авито
У нас десятки сервисов с применением МЛ. Вопрос оптимального использования железа стоит очень остро, мы успешно решаем эту проблему с помощью нашей библиотеки aqueduct. В этом докладе расскажу как мы решаем проблему в общем и что появилось нового за последний год разработки.

✔️ INSTLD: когда управление зависимостями проще быть уже не может — Евгений Блинов, Руководитель команды, VK
Краткий рассказ о возможностях библиотеки / cli-инструмента INSTLD. 

✔️ How to build dating application with python — Константин Березин, Backend developer, Emet
Как создать backend для приложения для знакомств посредством python

Регистрация на мероприятие

Телеграмм канал с анонсами митапов

Реклама. ООО "ЭВРОНЕ.РУ". ИНН 3663057399.

Читать полностью…

Senior Python Developer

Слайс

Слайс (или срез, англ. slice) — это способ выбрать часть последовательности (например, строки, списка, кортежа) путем указания начального и конечного индексов, а также шага. Слайсы используются для извлечения подстрок, подсписков или подкортежей из исходной последовательности.

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

#для_начинающих

Читать полностью…

Senior Python Developer

Я бывший банкир и у меня 22 банковские карты. Но не торопитесь смеяться. Потому что за 6 лет работы я научился комбинировать карты разных банков так, чтобы они пассивно приносили мне по 20-25 тысяч каждый месяц. Знаете, как?

Например, вы можете выпустить себе несколько бесплатных кредиток со съёмными лимитами, без процентов снимать с них деньги, и в наглую класть их на накопительные счета под 15-17% — за счёт чего с пачки бесплатных карт вам будет прилетать по 20-25 тысяч каждый месяц.

Таких схем на самом деле десятки — просто о них почти никто не знает. И если вы не хотите в буквальном смысле терять свою вторую зарплату — подпишитесь на Беспощадный Банкстер. Там я даю все наводки, учу собирать по 10 тысяч в месяц на тестировании карт, зарабатывать по 25к на пачке бесплатных кредиток, да и в конце концов — навсегда отключать комиссии по картам, убирать плату за обслуживание, и даже проценты по кредитам. Поверьте, у вас буквально появится вторая зарплата — и вы её уже никогда не потеряете.

Читать полностью…

Senior Python Developer

Удаляем фон с изображения

rembg - это полезная библиотека, которая легко удаляет фон с любой фотографии.

Установка - !pip install rembg.

Документацию можно посмотреть здесь.

Читать полностью…

Senior Python Developer

🔥Открытая трансляция главного зала  HighLoad++ 2023!

Самая крутая новость ноября: 27 и 28 ноября пройдет открытая трансляция Главного зала HighLoad++ 2023. Это стало возможным благодаря поддержке нашего генерального партнёра, компании Яндекс.

👉Просто зарегистрируйтесь и смотрите: https://clck.ru/36eNj5

В программе доклады лучших спикеров:

Павел Капля (Яндекс) - Алиса 6 лет спустя.

Александр Кирсанов (VK, ВКонтакте) - Математический хайлоад: большие, очень большие и немыслимо большие числа.

Евгений Россинский (ИВИ) - Как из Python и палок собрать детектор аномалий для highload.

Вы сможете не только посмотреть интересные доклады ТОПовых разработчиков, но и задать им вопросы. Полная программа трека здесьРегистрируйтесь и присоединяйтесь к просмотру! 

Реклама. ООО "КОНФЕРЕНЦИИ ОЛЕГА БУНИНА". ИНН 7733863233.

Читать полностью…

Senior Python Developer

Паттерн проектирования «Стратегия»

«Стратегия» (Strategy) является одним из шаблонов поведения, определенных в книге «Банды четырёх» (Gang of Four, GoF). Этот паттерн относится к категории поведенческих паттернов и решает задачу определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет клиентскому коду выбирать нужный алгоритм независимо от его использования.

Основная идея паттерна «Стратегия» заключается в выделении алгоритмов в отдельные классы (стратегии) и предоставлении клиентскому коду возможности выбирать и подменять эти стратегии без изменения самого клиентского кода. Таким образом, паттерн способствует легкости поддержки, расширения и внесения изменений в систему.

#для_продвинутых

Читать полностью…

Senior Python Developer

memory_profiler

memory_profiler — это сторонний модуль для языка программирования Python, который предоставляет инструменты для профилирования использования памяти в ваших программах. Этот модуль позволяет отслеживать изменения объема памяти во время выполнения кода, выявлять утечки памяти и оптимизировать использование памяти.

Для использования memory_profiler вы должны установить его сначала. Это можно сделать с помощью инструмента установки пакетов Python, такого как pip.

#для_начинающих

Читать полностью…

Senior Python Developer

🔥 ПОЛУЧИ НОВУЮ ПРОФЕССИЮ. ОПЛАТА ОБУЧЕНИЯ ПОСЛЕ ТРУДОУСТРОЙСТВА

ПРОГРАММЫ ОБУЧЕНИЯ:
✅ Интернет-маркетинг 
✅ Веб-разработка
✅ Дизайн
✅ Геймдизайн
✅ Управление
✅ E-commerce 

ПРОЦЕСС ОБУЧЕНИЯ И ПОИСКА РАБОТЫ:
🔹 Вы осваиваете профессию на курсе
🔹 Мы помогаем вам найти работу
🔹 После трудоустройства вы оплачиваете обучение

Для получения подробной информации переходите по ссылке

Реклама. Университет «Синергия» ИНН 7729152149

Читать полностью…

Senior Python Developer

✌️ Привет! На связи организатор онлайн-конференций Podlodka Crew.

Проект на Python вырос и стал плохо сопровождаться? Всё время уходит на поиск багов, а фичи выпускаются раз в месяц? Нагрузка растёт, а что делать не понятно?

🐍 Приходите на Podlodka Python Crew — обсудите свои боли и проблемы с экспертами из КРОК, Точка, Контур, X5 Tech, Skillbox, а также в компании единомышленников.

Стартуем 4 декабря. Свежие подробности сессий:

🔸Обсудим, а нужны ли практики из Java в коммерческой Python-разработке. В формате круглого стола проговорим основные вопросы проектирования enterprise-приложений на python. Вас ждёт дискуссия про выбор архитектуры, соблюдение слоёв, связи и контексты, абстрактные классы.
🔸Узнаем, как переезжать на pyproject и tox. Разберёмся с bash-скриптами, настроим лаконичный CI/CD с помощью простых инструментов.
🔸Послушаем про внедрение feature flags на тернистом пути к TBD.

Поспешите забрать свой билет на сайте: https://podlodka.io/pythoncrew

Читать полностью…

Senior Python Developer

Что такое wheels и eggs?

В Python wheels и eggs — это форматы пакетов для установки и дистрибуции пакетов с помощью утилиты управления пакетами pip.

Egg был первоначально разработан как формат дистрибуции пакетов для Python, но был заменен wheels. В отличие от wheels, eggs могут содержать .pyc файлы, что может привести к проблемам при установке на другой платформе или версии Python.

Wheels — это новый формат дистрибуции пакетов, который был введен в Python 2.7. Он поддерживается большинством пакетов на PyPI и имеет множество преимуществ.

#для_продвинутых

Читать полностью…

Senior Python Developer

Хвостовая рекурсия

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

Для создания хвостовой рекурсии в Python, вы можете использовать декоратор @functools.lru_cache в сочетании с аргументами, которые передаются функции.

#для_продвинутых

Читать полностью…

Senior Python Developer

__next__

__next__ — это метод, который используется в Python для реализации протокола итератора в пользовательских классах. Протокол итератора позволяет объекту перебирать элементы один за другим. Этот метод должен быть определен в классе, чтобы он мог быть итерируемым с помощью цикла for.

#для_начинающих

Читать полностью…

Senior Python Developer

Зачем нужен pdb

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

Модуль pdb предоставляет интерфейс командной строки, который можно использовать для взаимодействия с кодом Python во время его выполнения. Вы можете войти в режим pdb в своей программе Python, вставив следующую строку кода там, где вы хотите остановить отладчик: импортировать PDB.

#для_продвинутых

Читать полностью…

Senior Python Developer

Как сделать копию и глубокую копию объекта?

Метод copy() создает поверхностную копию объекта, то есть создает новый объект, который содержит ссылки на те же объекты, что и исходный объект. Если вы измените какой-либо из этих объектов, изменения отразятся и на копии, и на исходном объекте.

Метод deepcopy() создает глубокую копию объекта, то есть создает новый объект, который содержит копии всех объектов, на которые ссылаются элементы исходного объекта. Если вы измените какой-либо из этих объектов, изменения не отразятся на копии или на исходном объекте.

#для_начинающих

Читать полностью…

Senior Python Developer

Чем отличаются iter и next?

iter и next являются методами специальных методов в Python, которые обеспечивают поддержку итерации для объектов.

Метод iter возвращает объект, который может быть использован для итерации по элементам контейнера. Объект, возвращаемый iter, должен содержать метод next.

Метод next должен вернуть следующий элемент в итерации или вызвать исключение StopIteration, если элементов больше нет.

Таким образом, метод iter используется для создания итератора, а метод next используется для перехода к следующему элементу в итерации.

#для_начинающих

Читать полностью…

Senior Python Developer

Асинхронный код

Асинхронный код — это подход к написанию кода, который позволяет выполнять несколько задач одновременно в рамках одного процесса. Это достигается за счет использования асинхронных функций и корутин. В отличие от синхронного кода, который выполняет каждую задачу последовательно, асинхронный код может запустить несколько задач «параллельно» и организовать их выполнение с помощью итераций и вызовов коллбеков.

#для_продвинутых

Читать полностью…

Senior Python Developer

Что такое синхронный код?

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

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

#для_начинающих

Читать полностью…

Senior Python Developer

Почему пустой список нельзя использовать как аргумент по умолчанию?

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

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

#для_начинающих

Читать полностью…

Senior Python Developer

namedtuple

namedtuple — это класс из модуля collections в Python, который позволяет создавать именованные кортежи. Именованные кортежи подобны обычным кортежам, но в них элементы доступны по именам, а не только по индексам. Это делает код более читаемым и понятным, особенно когда кортеж содержит много элементов.

Чтобы использовать namedtuple, вы должны импортировать его из модуля collections и определить свой собственный класс именованного кортежа, указав имена полей.

#для_начинающих

Читать полностью…

Senior Python Developer

Как проверить файл .py на синтаксические ошибки, не запуская его?

Утилита py_compile, позволит проверить файл .py на наличие синтаксических ошибок без его запуска.

Вы можете использовать командную строку или терминал для проверки файла .py на наличие синтаксических ошибок, не запуская его, используя флаг -m с модулем py_compile.

Откройте командную строку или терминал. Перейдите в каталог, содержащий файл .py, который вы хотите проверить, где yourfile.py — это имя файла, который вы хотите проверить.

#для_начинающих

Читать полностью…
Subscribe to a channel