№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
Наткнулись на промо новой облачной конференции. Пошли подробнее узнавать, кто её организует — оказалось, это создатель первого в России публичного облака собственной разработки.
У ребят планируется много технических докладов: от обзоров новых типов сетевых дисков до приоритетов бизнеса в области ИТ — звучит интересно.
Подробнее можете посмотреть тут
Перечисления
Перечисление (enumeration) — это набор имён, привязанных к уникальным неизменным значениям. Python поддерживает работу с перечислениями, с их помощью удобно хранить списки констант.
Члены одного перечисления можно сравнивать, а также обходить с помощью циклов. Подробнее о перечислениях можно почитать в документации: https://docs.python.org/3/library/enum.html
Если у вас нет работы программистом, просто найдите её =)
Знаю, звучит как "если вы бездомный, просто купите себе дом", но реальность до скучного проста. Если офферов у вас нет, значит вы что-то делаете не так
Проблема в том, что с безликими отказами вы даже не понимаете, что именно вы делаете не так. Хорошие новости — ваши ошибки не уникальны, и есть человек, который совершил их до вас. Автор поста — тимлид, провёл и прошёл кучу собесов, получил гору офферов для себя и знакомых, а теперь поможет и вам
Я не "скиллбокс", и не обещаю, что будет просто. Я не говорю, что будет приятно. Но я обещаю, что взорву вам мозг и дам чёткий план как найти работу разработчиком за 3-6 месяцев
Вот канал, на котором всё будет происходить. Честно, до применения всего сказанного дойдут единицы. Но если вы готовы идти до конца, вы утрёте нос всем знакомым, что не верили в вас
Вот вам ссылка ещё раз, подписывайтесь, скоро стартуем
Узнаём версию Python
В пакете sys
присутствует переменная version_info
, которая хранит в себе версию Python, с помощью которого запущена программа.
Получение размера изображения
В следующей программе мы будем читать изображение, а затем распечатывать его размер, используя свойство size объекта Image.
Хотите создать устойчивое к нагрузкам масштабируемое приложение?
Ключевой элемент при проектировании микросервисов – правильная интеграция брокеров сообщений с микросервисной архитектурой.
На открытом вебинаре «Как эффективно использовать брокеры сообщений в микросервисной архитектуре?» вы научитесь:
- Повышать производительность системы, настраивать взаимодействие между микросервисами, правильно работать с очередями сообщений
- Связывать различные слои приложений с помощью брокеров сообщений
- Проектировать решения с учётом масштабируемости и отказоустойчивости
- Эффективно управлять инфраструктурой сообщений RabbitMQ и Apache Kafka
А также увидите примеры кода и познакомитесь со случаями использования брокеров сообщений.
Будет интересно: бэкенд и фулстек-разработчикам, системным аналитикам, девопс-инженерам.
Спикер: Сергей Прощаев, Java-разработчик в ПАО «Сургутнефтегаз».
Бонус! Всем участникам – скидка 5% и эксклюзивные материалы от спикера.
6 февраля, 19:00 МСК
Записаться - https://otus.pw/w53K8/?erid=2W5zFHDk1RS
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🛡Как защитить бизнес от утечек? Присоединяйтесь к открытому вебинару и узнайте, как выстроить многоуровневую защиту.
5 февраля в 20:00 мск на открытом вебинаре вы узнаете:
- Предмет защиты и специфику среды. Кратко разберём, какие особенности Docker требуют особого внимания с точки зрения безопасности.
- Практические рекомендации по окружению. Поговорим о том, как правильно настраивать среду выполнения для Docker, чтобы минимизировать риски.
- Безопасную сборку образов. Узнаете, на что смотреть при создании Docker-образов и как не допустить критических уязвимостей на этапе сборки.
Регистрируйтесь на открытый урок в преддверие старта курса «Информационная безопасность. Professional». Все участники получат скидку на обучение!
👉Узнать больше: https://otus.pw/ImPa/?erid=2W5zFHou5eG
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Как реализуется наследование классов в Python?
В приведенном ниже примере класс Audi является наследником Car. И вместе с этим наследуются методы экземпляра родительского класса.
Генерируем произвольный адрес электронной почты
С помощью пакета mimesis мы можем с легкостью получить рандомный адрес электронной почты с определенным доменом(в нашем случае mаil. ru).
Метод truncate()
Метод truncate() модуля os обрезает файл, соответствующий пути path, так, чтобы он имел длину не более length байтов.
Синтаксис:
os.truncate(path, length), где
path - str, путь в файловой системе до файла,
length - int, размер в байтах.
Подробнее можно почитать здесь.
Поймай меня, если сможешь: руководство по обработке исключений в Python
Люди, которые пишут код, часто воспринимают работу с исключениями как необходимое зло. Но освоение системы обработки исключений в Python способно повысить профессиональный уровень программиста, сделать его эффективнее.
Смотреть статью
Propan — Python фреймворк для написания микросервисов с использованием брокеров сообщений
Смотреть статью
Генерируем произвольный адрес электронной почты
С помощью пакета mimesis мы можем с легкостью получить рандомный адрес электронной почты с определенным доменом(в нашем случае mаil. ru).
#вопросы_с_собеседований
Объясните функции help() и dir() в Python.
Функция help() отображает строку документации и справку для ее аргумента. Пример по при вызове с функцией copy на картинке.
Функция dir() отображает все члены объекта (любого типа). Например:
dir(copy.copy)
# ['__annotations__', '__call__', '__class__', '__closure__', ...
Читать полностью…
Офер в Яндекс для опытных бэкендеров за два дня
15–16 февраля приглашаем бэкендеров с опытом работы от пяти лет получить офер в Яндекс через multitrack за 2 дня. Достаточно пройти несколько технических секции 15 февраля, чтобы уже 16-го получить офер и выбрать три команды, к которым вам было бы интересно присоединиться.
Как правило, за несколько собеседований сложно понять, подходит ли вам команда и наоборот. Multitrack позволит вам поработать в трёх разных командах Яндекса и выбрать подходящую. Вы сможете погрузиться в рабочие процессы, познакомиться с будущими коллегами и понять, с какими задачами и технологиями хотите работать.
Узнать подробности и зарегистрироваться.
Узнаем точное время с помощью Python
Все мы в детстве звонили по номеру 100 и узнавали точное время. Python позволяет сэкономить наши деньги и при помощи модуля time
выдает нам текущее время.
#вопросы_с_собеседований
В чем разница между append и extend?
Ответ:
append добавляет значения в список, а extend добавляет в список значения из другого списка.
Метод index()
Метод index - это встроенный метод списка, который позволяет узнать индекс или позицию элемента в последовательности.
Этот метод ищет элемент в списке и возвращает индекс, соответствующий его значению, в противном случае возникает ошибка ValueError.
💚 Авито запускает Weekend Offer для опытных DS-инженеров! Ускоренный отбор за выходные и возможность попасть в одну из пяти команд: автомодерация, монетизация, поисковое ранжирование, AI Lab и вертикальные команды DS.
Вас ждет:
— конкурентная зарплата и удаленка по всей России;
— реальные задачи на большом масштабе — разработка алгоритмов для проверки объявлений, внедрение ML-моделей, оптимизация процессов и DS-поддержка;
— участие в разработке новых продуктов — предлагаем для этого мощное железо и бюджет на обучение;
— сильное IT-комьюнити, которое любит опенсорс.
🚀Регистрируйтесь до 27 февраля и развивайте крупнейший в мире сервис объявлений: https://u.to/mDy6IQ
Разница между двумя массивами
Выше представлена функция, которая возвращает разницу между двумя массивами. Создает set из b и сохраняет только те значения, которые не содержатся в b.
Метод str.endswith()
Метод str.endswith() возвращает True, если строка str заканчивается указанным суффиксом suffix, в противном случае возвращает False.
Параметры:
suffix - объект поддерживающий итерацию (кортеж, символ или подстрока).
start - int, индекс начала поиска, по умолчанию 0, необязательно.
end - int, индекс конца поиска, по умолчанию len(str), необязательно.
Метод str.isalnum()
Метод str.isalnum() возвращает True, если все символы в строке являются буквенно-цифровыми и есть хотя бы один символ, в противном случае False.
Пакет scheduleschedule
позволяет планировать выполнение каких-либо задач на определённый промежуток времени. В примере мы заставляем программу каждую секунду вызывать нашу функцию job
.
Пакет мало весит, имеет ясный и интуитивно понятный функционал. К примеру, можно заставить запущенную программу делать что-то каждый день в определённый час, или каждый вторник.
Документация доступна по ссылке:
https://schedule.readthedocs.io/en/stable/
Вебинар «Как стать облачным экспертом и повысить свою ценность на ИТ-рынке»
Узнайте, как повысить экспертность и увеличить свою ценность для ИТ-рынка.
Дата и время: 14 февраля, 17:00.
Основные темы вебинара
·Российские облачные технологии
·Облако в личных ИТ-проектах
·Программа бесплатного курса Сloud Native DIY Advanced
·Продвижение в карьере
·ИТ-сообщество
Вебинар будет полезен ИТ-специалистам middle- и senior-уровня.
Регистрируйтесь, если хотите разрабатывать стратегии миграции в облако, управлять ИТ-инфраструктурой как кодом, работать с базами данных и кластерами Kubernetes, использовать инструменты кибербезопасности для защиты инфраструктуры.
Бонус для участников
Зарегистрируйтесь на вебинар, пройдите курс и получите сертификат до 25 февраля, и мы выдадим вам мерч и бонусы на работу с VK Cloud, а также пригласим на экскурсию в первый офис VK в Доме Зингера в Санкт-Петербурге.
Зарегистрироваться
Узнаем сколько сейчас человеку лет по дате рождения с помощью Python
Для этого можно использовать модуль datetime.
Пример запуска программы:
Введите дату рождения (дд.мм.гггг): 01.01.1990
Вам сейчас 35 лет
SQLAlchemy
Библиотека SQLAlchemy в Python используется для работы с базами данных. Она предоставляет удобный и гибкий способ взаимодействия с различными типами баз данных, включая SQLite, MySQL, PostgreSQL и многие другие.
Одним из интересных и малоизвестных свойств SQLAlchemy является возможность использования выражений в качестве аргументов функций (например, case()
, or_()
). Это позволяет создавать гибкие запросы к базе данных, которые могут изменяться в зависимости от условий.
В этом примере мы создаем запрос, который возвращает все строки из таблицы users
, у которых либо имя равно "John", либо возраст равен 25.
Pyxel
Игровой движок для Python в стиле ретро. Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт. Имеются инструменты для создания музыки и графики, а также поддержка ввода с джойстика.
Установка:
pip install -U pyxelGithub проекта: https://github.com/kitao/pyxel/blob/main/doc/README.ru.md Читать полностью…
Эффективный трюк, чтобы узнать, является ли число степенью двойки
Обычный метод деления имеет сложность O(logN), но эту задачу можно решить со сложностью O(v), где v — количество цифр числа в двоичной форме.
Подробнее ознакомиться с тем как работает данный трюк можно здесь.
tqdm
Отличный инструмент для подключения диаграммы выполнения вашей программы. Название происходит от арабского слова "taqadum", что означает "прогресс".
Для создания прогресс-бара необходим лишь один вызов функции:from tqdm import tqdm
from tqdm.notebook import tqdm # для использования в Jupyter Notebook
for i in tqdm(range(10000)):
...
На гифке пример прогрессбара. В реальном времени показывается процент выполнения, визуальное представление, сколько итераций завершилось, скорость выполнения и ожидаемое время окончания, а сам модуль не требует никаких внешних библиотек.
Строим точечную диаграмму с помощью Python
Данная диаграмма используется для сравнения переменной по отношению к другим переменным. Она определяется как влияние одной переменной на другую. Данные представлены в виде набора точек.
Результат данного кода представлен в посте на картинке ниже.