seniorpy | Unsorted

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

43333

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

Subscribe to a channel

Senior Python Developer

Функция sample

Функция sample() позволяет выбрать случайным образом элементы из последовательности или коллекции.

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

Функция принимает два основных аргумента:
population — последовательность, из которой надо выбрать элементы (list, tuple, string и т. д.)
k — количество элементов для выборки.

Дополнительные аргументы:

counts — список весов элементов (по умолчанию равновероятный выбор).
rng — генератор случайных чисел (по умолчанию берется из модуля random).

В примере из списка букв берется случайная выборка размером 3 элемента. Результат при каждом запуске будет разный.

#это_база

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

Senior Python Developer

💸 Постоянная прокачка знаний — это +100 к успеху стартапа!

Подпишитесь на СберСтартап, примите участие в крутых активностях SberUnity и получите возможность попасть на мероприятия Сбера! 💚

Реклама. Публичное акционерное общество «Сбербанк России», ПАО Сбербанк ИНН 7707083893

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

Senior Python Developer

Бэкенд-команды Яндекса отправляются в тур по городам России

С 13 по 17 ноября ребята из наших команд проведут встречи в Москве, Нижнем Новгороде, Екатеринбурге, Новосибирске и Санкт-Петербурге. Мы хотим рассказать местным разработчикам о себе: как устроены наши сервисы, что за технологии мы используем, почему гордимся тем, что делаем. Участвуют представители 14 разных сервисов Яндекса. После официальной части вместе отдохнём: послушаем стендап Севы Ловкачева и поболтаем о жизни в неофициальной обстановке.

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

Вот расписание встреч:

🔸 13 ноября онлайн-трансляция

🔸 13 ноября офлайн-встреча в Москве

🔸 14 ноября офлайн-встреча в Нижнем Новгороде

🔸 15 ноября офлайн-встреча в Екатеринбурге

🔸 16 ноября офлайн-встреча в Новосибирске

🔸 17 ноября офлайн-встреча в Санкт-Петербурге

А с 20 по 26 ноября мы проведём Week Offer Backend: предложим всего за одну неделю получить офер в одну из 14 участвующих команд. Приглашаем кандидатов с опытом разработки от трёх лет на одном из этих языков программирования: С++, С#, Python, Java, Go и Scala. Принимаем заявки до 19 ноября.

Узнать подробности и зарегистрироваться можно здесь.

Реклама. ООО "Яндекс". erid: 2VtzqwfRiE2

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

Senior Python Developer

27 и 28 ноября в Москве пройдёт юбилейный, 20-й, HighLoad++. Мы собрали самую масштабную конференцию за последние 15 лет!

✅3000 участников
✅150+ докладов
✅11 залов
✅5 мастер-классов
✅Конференция в конференции — GolangConf 2023
✅Премия HighLoad++ 2023

👉Подробнее: https://clck.ru/36EUDK

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

Вместе с нашими партнёрами из Яндекса мы собрали целый опенсорс-трек, а на конференции проведём опенсорс трибуну, где вы сможете узнать о решениях с открытым кодом, которые создаются прямо сейчас. Для golang-разработчиков собрали конференцию. И после трёхлетнего перерыва, при поддержке VK, проведём церемонию награждения лауреатов Премии HighLoad++. 

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

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

Senior Python Developer

#вопросы_с_собеседований
Что такое RPC?

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

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

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

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

Senior Python Developer

Функция isalnum

Функция isalnum() используется для проверки, состоит ли строка из буквенно-цифровых символов.

Функция принимает в качестве аргумента строку и возвращает True, если строка состоит только из буквенных символов (a-z, A-Z) и цифр (0-9), или False, если в строке есть другие символы, пробелы, знаки пунктуации и т. д.

*Регистр символов не имеет значения.
*Пустая строка возвращает False.

#это_база

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

Senior Python Developer

Фреймворк nose2

Фреймворк nose2 предназначен для модульного тестирования. Он позволяет писать, организовывать и запускать юнит-тесты для кода на Python.

Основные возможности nose2:

— Автоматическое обнаружение и запуск тестовых методов и функций.
— Поддержка разных стилей написания тестов (unittest, doctest и др.).
— Плагинная архитектура для расширения функциональности.
— Генерация отчетов в разных форматах (JSON, XML).
— Интеграция с Continuous Integration системами.

В этом примере класс TestSum использует декоратор tools.params от nose2 для параметризации. Функция sum тестируется на разных значениях x.

При запуске кода nose2 автоматически найдет и выполнит этот тест, проверив работу функции sum с аргументами 1, 2 и 3.

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

Senior Python Developer

#вопросы_с_собеседований
Что такое code coupling?

Code coupling — это степень зависимости различных частей кода друг от друга.

Сильная связанность (tight coupling) означает, что изменение в одной части кода потребует изменений во многих других частях. Это делает код трудным для изменения и поддержки.

Слабая связанность (loose coupling) позволяет вносить изменения в один модуль кода, не затрагивая другие. Это даёт большую гибкость и упрощает поддержку кода.

Идеальный код должен иметь высокую связанность внутри модуля (cohesion) и слабую связанность между модулями (coupling). Это позволяет легко вносить изменения и масштабировать код по мере необходимости.

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

Senior Python Developer

Хэширование

Хэширование — это создание хэшей (хеш-сумм) из данных с помощью хэш-функций.

Хэши используются для проверки целостности данных, хранения паролей, поиска дубликатов и т. д.

В Python есть несколько встроенных хэш-функций:

hash(): возвращает хэш для объекта.
md5(): возвращает хэш MD5.
sha1(): возвращает хэш SHA1.
sha256(): возвращает хэш SHA256.

В примере из строки "Hello world" созданы хэши MD5 и SHA1, которые можно использовать для проверки целостности данных.

#это_база

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

Senior Python Developer

Константы пакета string

В Python есть несколько полезных констант в пакете string, которые нужно знать начинающему программисту:

string.ascii_letters: строка со всеми буквами английского алфавита (строчными и прописными).
string.digits: строка со всеми цифрами.
string.hexdigits: строка со всеми шестнадцатеричными цифрами.
string.octdigits: строка со всеми восьмеричными цифрами.
string.punctuation: строка со всеми знаками пунктуации.
string.whitespace: строка со всеми пробельными символами.

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

#это_база

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

Senior Python Developer

Асинхронный фреймворк Robyn

Robyn — это фреймворк, предназначенный для упрощения написания асинхронного кода.

Основные возможности Robyn:
— Удобные декораторы и функции для создания асинхронных задач и работы с ними (например, rob, task, run).

— Инструменты для организации параллельного выполнения задач (decorators like parallel, chunks).

— Интеграция с asyncio для использования асинхронных библиотек.

— Удобные классы и функции для работы с очередями задач (Queue, run_every).

— Встроенные инструменты логирования и отладки.

— Поддержка типизации с помощью typing.

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

Senior Python Developer

#вопросы_с_собеседований
Что такое SOLID?

SOLID — это акроним принципов объектно-ориентированного программирования, которые помогают писать гибкий, поддерживаемый и расширяемый код:

S — Single-responsibility principle (Принцип единственной ответственности).
O — Open-closed principle (Принцип открытости/закрытости).
L — Liskov substitution principle (Принцип подстановки Лисков).
I — Interface segregation principle (Принцип разделения интерфейса).
D — Dependency Inversion Principle (Принцип инверсии зависимостей).

Основные идеи SOLID:
— Каждый класс должен нести единственную ответственность.
— Классы должны быть открыты для расширения, но закрыты для модификации.
— Подклассы должны быть взаимозаменяемы со своими базовыми классами.
— Множество узких интерфейсов лучше, чем один широкий.
— Зависимости должны строиться на абстракциях, а не конкретных классах.

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

Senior Python Developer

#вопросы_с_собеседований
Что такое SLAP?

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

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

Пример нарушения SLAP:
— Использование в цикле сырых индексов вместо итераторов.
— Работа с базой данных через SQL-запросы в бизнес-логике вместо ORM.
— Прямой вызов системных функций вместо высокоуровневых интерфейсов.

Соблюдение SLAP делает код:
— Понятным: уровень абстракции соответствует контексту.
— Переносимым: можно заменить низкоуровневую реализацию.
— Тестируемым: легче имитировать высокоуровневые интерфейсы.
— Гибким: проще расширять высокоуровневую абстракцию.

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

Senior Python Developer

У вас есть готовый ИТ-продукт? Сделайте пилот с ВТБ!

Акселератор ВТБ приглашает технологические стартапы и компании протестировать свои решения на бизнес-процессах и клиентах банка. А в случае успешного пилота – стать поставщиком услуги/лицензии/продукта.

Подайте заявку на сайте, пройдите экспертизу и сделайте быстрый пилот с Акселератором ВТБ.

Преимущества банка:
- коммерческие пилоты
- fast track по запуску пилотов
- экспертиза по развитию вашего продукта

Действуем вместе!

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

Senior Python Developer

Хотели бы вы в будущем работать в большой известной IT-компании? Например, в Кинопоиске?

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

→ Бесплатно, 24 октября в 19:00 Мск

На вебинаре поделятся кейсами бэкендер, фронтендеры, мобильный разработчик и руководитель тестировщиков. А вы сможете задать им свои вопросы.

→ Зарегистрируйтесь на вебинар

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

Senior Python Developer

Метод str.expandtabs()

Метод str.expandtabs() используется для замены символов табуляции (\t) в строке на заданное количество пробелов.

Он позволяет контролировать ширину табуляции при выводе строки.

#это_база

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

Senior Python Developer

Атрибут __context__

Атрибут context используется в менеджерах контекста (context managers) и представляет контекст, в котором находится блок кода.

Он позволяет передавать произвольные данные между блоком with и методами enter/exit менеджера контекста.

В примере при входе в блок with создается объект MyContext и его атрибут value передается в переменную context с помощью метода enter.

При выходе из блока метод exit имеет доступ к атрибуту value через self.context и используется для "чистых" операций.

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

Senior Python Developer

Метод __subclasshook__

Метод subclasshook используется для определения, является ли один класс подклассом другого. Он вызывается при проверке isinstance() и issubclass() для определения отношения наследования между классами.

Этот метод позволяет настроить поведение этих функций для пользовательских классов.

В примере метод subclasshook класса B проверяет, есть ли у подкласса метод print_value. Если да, то возвращает True, что позволяет считать его подклассом B.

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

Senior Python Developer

#вопросы_с_собеседований
Что такое MQ?

MQ (Message Queue) — очередь сообщений, это паттерн asynchronous messaging, который позволяет обмениваться сообщениями между распределенными компонентами приложения.

Основные преимущества использования MQ:

Асинхронность — отправитель и получатель не зависят друг от друга.
Отказоустойчивость — сообщения не теряются при сбоях.
Масштабируемость — легко добавлять новых производителей и потребителей.
Сглаживание пиковой нагрузки — очередь позволяет буферизовать сообщения.

MQ широко используется для интеграции распределенных систем, построения микросервисных архитектур.
Популярные реализации MQ: RabbitMQ, Kafka, ActiveMQ.

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

Senior Python Developer

Метод math.perm()

Метод math.perm() вычисляет перестановки — число способов расположения n элементов по m. Он находится в модуле math.

Метод принимает два обязательных аргумента: n — общее количество элементов и m — количество элементов в подмножестве. Возвращает целое число — количество перестановок.
Если n < m, вернет 0.

В примере вычисляются перестановки из 5 элементов по 3.
То есть сколько способов выбрать подмножество из 3 элементов из множества размером 5.

#это_база

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

Senior Python Developer

urllib3

urllib3 — это библиотека для отправки HTTP-запросов, она позволяет легко и удобно делать запросы к веб-сервисам и API.

Основные возможности urllib3:

— Поддержка HTTP и HTTPS протоколов.
— Кэширование соединений для повышения производительности.
— Автоматическое развертывание соединения по SSL.
— Поддержка куки, прокси, редиректов.
— Встроенная поддержка gzip и deflate.
— Пулинг соединений и многопоточность.

В примере создается экземпляр PoolManager из urllib3, который управляет пулом соединений.

Делается GET запрос к httpbin.org/ip, который возвращает IP адрес клиента.

Ответ записывается в переменную r, из которой берется тело ответа r.data и выводится на печать.

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

Senior Python Developer

⚡️В 2023 году уже не найти работу с большим доходом, для обычных людей.

Всё потому что, необходимо разбираться в IT и искусственном интеллекте.

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

❗️Также для наших подписчиков полностью бесплатный ChatGPT бот, который:

→ Даст ответ на любой вопрос
→ Сделает за вас 90 % работы
→ Переведёт текст, как настоящий человек


Если хотите быть в тренде, то этот канал для вас: @techno_hype_official

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

Senior Python Developer

#вопросы_с_собеседований
Что такое code cohesion?

Code cohesion — это степень связанности различных частей кода друг с другом. Чем она выше, тем лучше код структурирован и организован.

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

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

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

Senior Python Developer

🧐Устали от ошибок? Позаботьтесь о чистоте архитектуры!

👉Узнайте как на бесплатном вебинаре онлайн-курса  «Clojure Developer» —  «Duct и Clean Architecture в Clojure»: регистрация

На уроке мы:
— попрактикуемся применять принципы чистой архитектуры с использованием языка программирования Clojure и фреймворка Duct. 

— познакомимся с его модульной системой, реализуем DI контейнер, подключим адаптеры во все порты и вообще сделаем все, как дедушка Боб нам завещал))

Экспертизой поделится руководитель программы и практик Сергей Ткаченко (Clojure Software developer / Team Lead).

🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.

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

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

Senior Python Developer

SQLAlchemy 2.0

SQLAlchemy — это ORM и SQL toolkit для Python, позволяющий удобно работать с базами данных.

Возможности SQLAlchemy 2.0:

— Поддержка asyncio для асинхронной работы с БД.

— Улучшенная поддержка типизации с использованием аннотаций.

— Улучшения производительности запросов.

— Поддержка новых СУБД, таких как MongoDB, ClickHouse, Snowflake.

— Расширенные возможности для работы с метаданными и отражением.

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

Senior Python Developer

🚂 Залетай к нам в DataWagon от Первой грузовой компании!

🔝С нами ты:
- Прокачаешься в решении практических задач на основе реальных данных
- Зеберешь крутой кейс себе в резюме
- Поборешься за солидный призовой фонд 900 000 рублей
- Погрузишься в атмосферу кодинга и фана

Если нет своей команды — поможем ее собрать!

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

▶️Регистрация уже идет, успевай подать заявку по ссылке

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

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

Senior Python Developer

🔥 Хардовый тест для разработчиков🔥

📕 Ответьте на 9 вопросов за 20 мин и проверьте, насколько вы готовы к обучению на курсе - «Архитектура и шаблоны проектирования»

💻 Научитесь применять шаблоны проектирования в разработках! Благодаря этому навыку вы сможете писать чистый код, экономить время на разработке и быстро «пересаживаться» на любой язык программирования. 

🏵 Ждем всех, кто хочет вырасти до Middle+ разработчика или архитектора ПО! 

👉 ПРОЙТИ ТЕСТ https://otus.pw/igAf/

💣 Пройдете тест, получите демо-ролик о занятиях на курсе и Welcome-скидку. 

Также вам откроется доступ к открытым урокам курса.

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

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

Senior Python Developer

Класс Template

Класс Template позволяет создавать шаблоны текста с подстановкой переменных.

Это удобно для генерации текста на основе шаблона.

#это_база

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

Senior Python Developer

Функция partial

Функция partial позволяет частично применить аргументы к функции и вернуть новую функцию с уже примененными аргументами.

Это удобно, когда нужно зафиксировать некоторые аргументы функции.

#это_база

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

Senior Python Developer

Библиотека setuptools

Библиотека setuptools предназначена для создания и распространения пакетов Python.

Она позволяет:
— Упростить установку пакетов с помощью команды pip install.
— Описывать зависимости между пакетами.
— Автоматически собирать пакеты при установке.
— Загружать пакеты на PyPI для широкого распространения.

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