№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
Как связать микросервисы так, чтобы они работали идеально?
Синхронное взаимодействие или асинхронное? REST или Kafka? На открытом уроке разберём, какой подход нужен именно вашему проекту.
Узнайте, как правильно проектировать связи между микросервисами, чтобы повысить производительность и масштабируемость системы. Разберём реальные кейсы и сравним инструменты.
Спикер Евгений Непомнящий — опытный разработчик и преподаватель.
🔴 Записывайтесь на открытый вебинар 16 декабря в 20:00 мск и получите скидку на большое обучение «Microservice Architecture»: https://otus.pw/EFmk/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Внимание, Java- и Kotlin-разработчики Минска! Приглашаем вас на технический митап с барбекю. Будем слушать и обсуждать топовые доклады от команды МТС Web Services, а после — общаться в неформальной обстановке.
Когда: 6 декабря, 18:00
Где: площадка «Бетон», Кальварийская ул., 17, г. Минск
В программе:
— Расскажем, как строим новое облако с нуля в 2024-м
— Поговорим о разработке IAM в облаке
— Обсудим, как создать Development Platform
— Разберёмся, что такое реконсиляция и почему она важна для облачной инфраструктуры
После докладов вас ждёт: барбекю-пати и нетворкинг.
Регистрируйтесь по ссылке.
💼 Декабрьский челлендж для алготрейдеров!
Используешь роботов в торговле на бирже? Тогда заходи в Терминал или приложение Т-Банка, нажимай на кнопку «Участвовать», подключай брокерский счет и готовься к конкурсу от Т-Инвестиций.
С 2 по 13 декабря твой робот должен совершить минимум 1000 сделок. По итогам конкурса выберем трейдеров с самой высокой доходностью в двух категориях: портфели до 1 млн руб. и от 1 млн руб.
Лидеры категорий разделят между собой призовой фонд в размере 550 000 рублей.
Узнать больше про конкурс можно тут.
P.S.📚 А если не торгуешь, но эта тема интересна - то изучи статью, как это делается, изучи Invest API для подключения торговых роботов, готовый sdk и примеры роботов других участников.
Сроки акции с 2.12.2024 по 13.12.2024. Подробнее об организаторе акции, порядке её проведения, призах, сроках, месте и порядке их получения на tbank.ru. АО «ТБанк». Реклама.
Тестовое собеседование на Middle Python-разработчика в четверг
5 декабря(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
1. Карим, Team lead в Чойс, ex-Kaspersky будет задавать реальные вопросы и задачи разработчику-добровольцу
2. Карим будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
3. В конце можно будет задать любой вопрос Кариму
Что узнаешь на прямом эфире от ШОРТКАТ:
• Чего ждут от кандидатов на Middle позиции в Python-разработке
• Какие вопросы задают на интервью и зачем
• Как подготовиться к собесу, чтобы получить оффер
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_python_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqucPo68
Перевод текста с помощью Python
Перевод текстов с одного языка на другой становится все более распространенным явлением для различных веб-сайтов, поскольку они ориентированы на международную аудиторию. Пакет python, который помогает нам сделать это, называется translate. В примере на картинке мы переводим английскую фразу на испанский язык.
◀️Django с нуля. Часть 1: пишем многопользовательский блог для клуба любителей задач Python
Собираетесь изучать Django, но не знаете, с чего начать? Расскажем, как быстро создать функциональное приложение, которое продемонстрирует базовые возможности фреймворка. Приятного чтения
Смотреть статью
Визуализация 5 алгоритмов сортировки на Python
В статье вы посмотрите на реализацию и визуализацию пяти популярных алгоритмов сортировки.
Смотреть статью
#вопросы_с_собеседований
Как в классе сослаться на родительский класс?
Ответ на картинке (Функция super принимает класс и экземпляр).
Разбиение на фрагменты
Этот пример покажет, как разбить список на фрагменты и разделить его на меньшие части.
Генерируем пароли и токены
Модуль secrets используется для генерации криптографически сильных случайных чисел, подходящих для управления такими данными, как пароли, аутентификация учетной записи, токены безопасности и связанные секреты.
В частности, secrets следует использовать по умолчанию вместо генератора псевдослучайных чисел модуля random, который в свою очередь предназначен для моделирования и симуляции, а не для защиты или криптографии.
В нашем примере мы генерируем пароль из 20 символов, который будет состоять из цифр и букв английского алфавита.
Подробнее про модуль secrets можно почитать здесь.
Хвостовая рекурсия
Это особый вид рекурсии, когда функция заканчивается вызовом самой себя без дополнительных операторов. Когда это условие выполняется, компилятор разворачивает рекурсию в цикл с одним стек-фреймом, просто меняя локальные переменные от итерации к итерации.
Так, классическое определение рекурсивного факториала return N * fact(N - 1) не поддерживает хвостовую рекурсию, потому что для каждого стек-фрейма придется хранить текущее значение N.
Чтобы сделать рекурсии хвостовой, добавляют параметры-аккумуляторы. Благодаря им функция знает о своем текущем состоянии. Пусть параметр acc по умолчанию равен 1. Тогда запись с хвостовой рекурсией будет выглядеть так(см картинку).
Встроенные функции all и any
Функция all возвращает True, если переданный ей список пустой или все его элементы истинны.
Функция any возвращает True, если хотя бы один из элементов переданного списка истинный.
Функционал довольно простой и примитивный, но в некоторых ситуациях может уберечь от написания костылей. Вместе с циклами и другими конструкциями может помочь сократить громоздкие функции.
⚙️ reversed()
В Python встроенная функция reversed()
возвращает итератор, который перебирает элементы последовательности в обратном порядке. Это удобно для работы с последовательностями, когда нужен обратный порядок.
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Статические методы вызываются напрямую через имя класса, без необходимости создавать экземпляр. Метод static_method возвращает строку "Static Method". Метод class_method получает ссылку на класс cls и использует её для возвращения строки "Class Method from MyClass".Читать полностью…
Разработай прорывное решение для автоматического Code Review с помощью ИИ на хакатоне ЕВРАЗа 3.0🔥
🦾 Создай будущее Code Review с ИИ!
Участвуйте в нашем уникальном хакатоне по созданию ИИ-чатбота, который станет незаменимым помощником для разработчиков ЕВРАЗа! Выберите одно из направлений — Python, TypeScript или C#, и разработайте решение для анализа кода на соответствие нашим стандартам.
Дата: 29 ноября – 1 декабря 2024.
Формат: гибридный (онлайн и офлайн).
Призовой фонд: 500.000 рублей.
🧑💻 Присоединяйся к хакатону, если ты:
– AI-специалист;
– Frontend / Backend-разработчик;
– Студент или выпускник технического вуза.
⚡️ Зачем участвовать?
– Прокачаешь скиллы и получишь обратную связь от ведущих экспертов отрасли.
– Прикоснешься к ИТ в ЕВРАЗе.
– Получишь возможность стать частью масштабной и амбициозной команды ЕВРАЗа.
🔸 Регистрация уже открыта! Подай заявку до 25 ноября 23:59 МСК по ссылке.
Узнаем информацию о номере телефона
phonenumbers - один из модулей, который предоставляет множество функций, таких как предоставление базовой информации о номере телефона, проверка номера телефона и т.д.
Установка модуля - pip install phonenumbers
.
В нашем примере мы узнаем что «+91987654З210» является Индийским номером телефона.
Больше информации вы можете найти здесь.
Разница между генераторными выражениями и генераторами коллекций
Записи в первой и второй строчке в коде выше очень похожи, но различаются видами скобок. В генераторе списка они квадратные, а в генераторном выражении – круглые.
Распечатав переменные, можно заметить, что значением переменной a
является список, а переменная x
хранит в себе объект генератора. И здесь возникает вопрос: что же использовать?
Если вам нужен результат, например, в виде списка, прямо сейчас для дальнейшего выполнения программы, то используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или неизвестно, понадобятся ли вообще, то предпочтительнее использовать генераторы, чтобы не занимать лишнюю память и не нагружать систему.
Размер в байтах
Функция на картинке возвращает длину строки в байтах, что пригодится, когда нужно будет узнать размер строковой переменной в памяти.
Метод dt.weekday()
Метод dt.weekday() возвращает день недели в виде целого числа, где понедельник = 0, а воскресенье = 6.
Как менялась разработка на Python и что нас ждёт дальше
📆 19 декабря собираем предновогодний митап от Яндекса, чтобы подвести итоги 2024 года.
Вспомним об интересных новостях, связанных с языком:
🔸 Обсудим Python 3.12, о котором говорили в прошлом году, и подумаем, какие ожидания оправдались, а какие нет
🔸 Посмотрим на версию 3.13, Faster CPython, jit и nogil
А ещё поговорим о трендах в архитектуре и развитии бэкенд-разработчика на круглом столе с экспертами:
🔸 Николаем Хитровым, тимлидом в Точке
🔸 Евгением Афонасьевым, тимлидом из Авито
🔸 Никитой Соболевым, опенсорс-разработчиком
🔸 Сергеем Яхницким, техлидом в Техплатформе
🔸 Александром Букиным, основателем Pytup
⏭️ Регистрируйтесь на встречу в Москве или подключайтесь к трансляции, где бы вы ни были.
Работа с регистрами
Форматирование текста — это боль каждого data scientist’а. Слова и предложения в разных форматах создают много проблем при очистке данных. Однако и для этих задач в Python есть нужные функции.
⬇️Как переименовать файл с помощью Python
С помощью метода rename модуля os мы можем с легкостью изменить имя файла.
Прожарка резюме для Python-разработчиков завтра
Ребята из менторской программы ШОРТКАТ разберут на эфире реальные резюме и подскажут, что улучшить, чтобы точно дойти до собеса.
Когда: завтра, 28 ноября в 19:00 по мск
Ревьюит резюме рекрутер с опытом работы в Яндексе и Т-Банке.
☑️ Если хотите закинуть своё резюме, подпишитесь на бота @shortcut_python_bot — резюме будут собирать там
☑️ Если закидывать нечего, но хочется посмотреть со стороны — тоже подписывайтесь на бота @shortcut_python_bot. Там будет ссылка на трансляцию и запись после
После эфира все получат памятку, как использовать ChatGPT для резюме. Ссылку пришлют, не поверите, тоже в боте @shortcut_python_bot
Короче, подпишитесь на бот, чтобы ничего не пропустить @shortcut_python_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqvN5ns9
Рекурсия и Фибоначчи
Python, как и большинство других языков, даёт возможность вызова функции в теле самой этой функции. Такой принцип работы называется рекурсией.
В примере вы можете наблюдать функцию, которая использует рекурсию для вычисления чисел из ряда Фибоначчи — это ряд чисел, в котором первые два числа являются 0 и 1, а каждое последующее число — сумма двух предыдущих.
Программа годится как учебный пример, однако на больших числах начинает зависать и медленно работать — требуется оптимизация.
Устроиться аналитиком в Яндекс за выходные
7–8 декабря проводим Weekend Offer Analytics. До 4 декабря оставьте заявку на участие, 7 декабря пройдите технические собеседования, а 8 декабря познакомьтесь с командами и получите офер.
В мероприятии участвует 7 команд: Crowd, Карты, Поиск, YaGPT 2, Автономный транспорт, Реклама и Ecom-сценарии. Вы сможете пообщаться с менеджерами и выбрать проект, который покажется самым интересным.
Нанимаем в офисы России и Республики Беларусь.
Узнать подробности и зарегистрироваться можно здесь.
Создаем случайную строку в Python
Чтобы сгенерировать случайную строку в Python, используйте модуль строки и метод random.choices().
Строковый модуль в Python содержит различные строковые константы, включая символы ASCII для всех случаев. Он также включает отдельные константы для прописных и строчных букв, цифр и специальных символов.
Модуль random в Python выполняет случайные генерации.
⚙️str.startswith() и str.endswith()
В Python методы str.startswith()
и str.endswith()
проверяют, начинается или заканчивается строка на указанную подстроку. Это удобно для работы с текстом, например, валидации данных.
Короче, ищем менторов — Middle и Senior Python-разработчиков
Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков из бигтеха. Мы помогаем найти крутую работу, апнуть грейд или сменить стек.
Что надо будет делать: проводить тестовые собесы → оценивать грейд → помогать разбираться в сложных темах.
Что взамен:
• От 40К за 5-7 часов работы в неделю
• Доступ к обучению и комьюнити сильных менторов из Booking, Сбер, Oracle, Tinkoff
• Возможность выступать на эфирах, куда уже приходят 500+ джавистов, и стать заметнее на рынке
Заполняй форму — свяжемся и расскажем подробности ➡️https://forms.gle/rFY9z9GKggqfgSS76
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2Vtzqwcf5ZH
👩💻 Задача по Python: Объединение и сортировка двух списков
Напишите функцию, которая принимает два списка чисел, объединяет их, удаляет дубликаты и возвращает отсортированный список.
Пример:
list1 = [3, 1, 4, 1, 5]
list2 = [9, 2, 6, 5, 3, 5]
result = merge_and_sort(list1, list2)
print(result)
# Ожидаемый результат: [1, 2, 3, 4, 5, 6, 9]
⚙️ string.Template
В Python класс string.Template
из модуля string
позволяет подставлять значения в строки с использованием плейсхолдеров. Это удобный способ работы с шаблонами текста.