Количество компаний, переходящих с монолитов на микросервисы растет, и конечно, таким компаниям требуются инженеры знающие паттерны работы с микросервисами и имеющие опыт.
Хотите работать в крупных командах над сложными и интересными проектами? Тогда самое время погрузиться в микросервисную архитектуру 🗓 31 июля в 20:00 на открытом уроке «Топ ошибок при переходе с монолита на микросервисную архитектуру» от OTUS.
На занятии вместе со 👨💻 Станиславом Щетинниковым, директором по развитию в Сбербанке, разберем главные ошибки при переходе, плюсы и минусы микросервисной архитектуры.
👉 Регистрируйтесь на занятие — https://otus.pw/N7RP/
Открытый урок приурочен к старту онлайн-курса «Microservice Architecture» в OTUS. После урока полный курс вы сможете приобрести удобным для вас способом.
Нативная интеграция. Информация о продукте www.otus.ru
Вращаем и сохраняем изображение
Для вращения можно использовать функцию rotate, принимающую кол-во градусов.
🤔 Что круче: аналитика данных или бизнес-аналитика?
Хотите перейти в аналитику? Первый шаг к успешной карьере — правильно выбрать направление внутри профессии и узнать, какие навыки освоить на старте. Разобраться поможет открытый диалог «Бизнес-аналитик vs дата-аналитик: кто круче? Сравним зарплатную вилку, задачи и спрос на рынке труда» 25 июля в 19:00 Мск.
Спикеры:
— Василий Ключарев, продуктовый аналитик, банк Точка;
— Максим Третьяков, предприниматель, ранее бизнес-аналитик в «Росатом», SBS Consulting, Strategy Partners;
— Ольга Дремова, эксперт по разработке и развитию продуктов в стартапах.
На трансляции вы узнаете:
🔹 кому подойдет бизнес-аналитика, кому — консалтинг, а кому — аналитика данных;
🔹 какие специалисты наиболее востребованы на рынке труда;
🔹 какие навыки нужны разным аналитикам и какие задачи они решают;
🔹 сколько получают специалисты на разных этапах карьеры и на каких условиях работают.
🗣 Трансляция пройдет в формате открытого диалога — спикеры ответят на все ваши вопросы, которые вы сможете задать как перед, так и во время встречи. Лучше отправить вопросы заранее при регистрации, чтобы эксперты успели подготовиться и дали еще больше ценной информации!
💬 Переходите по ссылке, чтобы зарегистрироваться: https://u.to/6PHSHw
Шифрование и расшифровка паролей
Приведенный ниже скрипт выполняет шифрование и дешифрование текста с использованием пакета cryptography.
В приведенной выше реализации ключ шифрования генерируется с помощью метода Fernet.generate_key() и сохраняется в файле для дальнейшего использования.
Шифрование и дешифрование текста выполняются с использованием класса Fernet из пакета cryptography , где текст шифруется с помощью метода encrypt() и расшифровывается с помощью метода decrypt().
Владение индексами в PostgreSQL является критическим навыком для разработчиков, работающих с высокими нагрузками. Он позволяет значительно улучшить производительность базы данных, снизить задержки при выполнении запросов и обеспечить более плавное функционирование приложения даже при большом количестве одновременных запросов.
Чтобы погрузиться в эту тему и получить лучшие практики для работы с высокими нагрузками приходите 🗓 2 августа в 20:00 на открытый урок «Индексы в PostgreSQL» онлайн курса «Highload Architect» от OTUS. 👨💻 Занятие проведет преподаватель Андрей Поляков, старший разработчик в Unlimint.
На открытом уроке обсудим:
- устройство структуры данных B-tree, в которой хранятся индексы
- устройство индексов в PostgreSQL: B-дерево, хеш, GiST, SP-GiST, GIN и BRIN
- принципы построения планов запросов в PostgreSQL.
И научимся:
- пользоваться командой explain в PostgreSQL;
- строить индексы, позволяющие оптимизировать запросы;
- составлять запросы, позволяющие переиспользовать существующие индексы.
👉 Регистрируйтесь на занятие — https://otus.pw/11zB/
Открытый урок приурочен к старту онлайн-курса «Highload Architect» в OTUS. После урока полный курс вы сможете приобрести удобным для вас способом.
Реклама. Информация о рекламодателе на сайте www.otus.ru
Собираем строку из массива
Метод join позволяет быстро соединить строки из массива в единую строку. Вызвать его надо у строки, которая будет разделителем, а в качестве аргумента передать список.
unittest
unittest - это модуль встроенной библиотеки Python, который предоставляет набор инструментов для написания и выполнения модульных тестов. Модуль unittest обеспечивает различные методы для создания тестовых случаев, проверки результатов и обработки исключений.
В этом примере мы определяем класс TestAddFunction
, унаследованный от unittest.TestCase
. Внутри класса мы определяем различные методы, начинающиеся с префикса test_
, которые содержат код для проверки различных случаев использования функции add()
.
В каждом тестовом методе мы вызываем функцию add()
с определенными аргументами и сравниваем полученный результат с ожидаемым результатом, используя метод assertEqual()
из unittest.TestCase
. Если результат не соответствует ожидаемому, тест будет неудачным, и unittest выдаст соответствующее сообщение об ошибке.
Наконец, в блоке if __name__ == '__main__':
мы вызываем unittest.main()
, чтобы запустить все тесты в классе. Выполнение этого файла выводит отчет о пройденных и не пройденных тестах.
Разбиваем видео на n кол-во изображений
Для разбиения видео на n количество изображений вам понадобится использовать библиотеку OpenCV в Python.
В этом примере функция video_to_images
принимает путь к видео (`video_path`) и количество желаемых изображений (`frames_count`). Она открывает видеофайл, читает каждый кадр и сохраняет каждый "шаг" кадров как отдельное изображение. Затем функция прекращает обработку, когда необходимое количество изображений сохранено.
Обратите внимание, что код использует целочисленное деление //
и целочисленное преобразование int()
для обеспечения, чтобы каждое изображение было сохранено через примерно одинаковое количество кадров, чтобы равномерно распределить их по времени видео.
Пишете код? А бесплатный помощник не нужен?
Речь не о студенте-матфака, а о нейросети TinyCodeImprover. Она нехило ускоряет кодинг.
С этим справляется и GPT-4, но… в него надо каждый раз загружать код. А TinyCodeImprover один раз подгружает файлы проекта и работает с ними сколько угодно.
Автор проекта, LOVESYUK, схитрил и заставил нейросеть писать код для самой же себя по ТЗ — и это сработало. Потом CodeImprover делала ревью на свой код — и даже нашла ошибку.
Подписывайтесь на @lovesyuk, чтобы узнать о свежих проектах, сильно упрощающих работу IT-спецов
+1 в копилку годных каналов про Python
С @python_practics освоишь Python гораздо проще:
📌 полезные сниппеты кода для твоих задач
📌 теория Python понятным языком с примерами
📌 вопросы из собеседований
📌 бесплатные книги и курсы по Python
📌 тесты и опросы для тех, кто не запоминает сухую инфу
Полезные материалы и инструменты для погружения в Flask: выбор сотрудников Selectel
Часто Python-разработчики выбирают Flask в качестве «быстрого старта» для создания веб-приложений.
Смотреть статью
Dateparser
Dateparser - это библиотека, которая позволяет получать информацию о дате и времени из строковых значений в автоматическом режиме. Она может распознавать множество различных форматов дат и времени, включая относительные даты и даты на разных языках.
В данном примере мы имеем строку, описывающую относительную дату - "5 минут назад". С помощью функции parse
библиотеки Dateparser
мы парсим эту дату в объект Python datetime
. Затем мы выводим дату и время в нужном нам формате с помощью метода strftime
.
📣 Знакомьтесь, Артём Чернов — не скучный чиновник Минцифры, а действующий цифровой предприниматель, урбанист, который всерьез занимается публичной политикой.
📌Новости IT-сферы: личный опыт и экспертиза, новейшие технологии, менторство и лайфхаки для развития ;
📌 Урбанистика: тренды и инициативы по развитию городов, пространств и людей в них.
📌 Политика “здорового человека”: эффективное взаимодействие с властью, получение бонусов и преференций для ИТ-специалистов и не только для них.
📌Общественная деятельность: цифровые социальные проекты и волонтерство, участие в жизни города, посильное каждому;
✔️ Подписаться: Лица Чернова
PyFlux
PyFlux - это библиотека для прогнозирования временных рядов. Она предоставляет удобный интерфейс для работы с моделями временных рядов, такими как анализ авторегрессии (AR), интегрированной скользящей средней (ARIMA), авторегрессии скользящего среднего (ARMA) и др.
В этом примере создается искусственный временной ряд и на его основе модель ARMA
обучается для прогнозирования следующих 10 значений этого ряда.
❗️Как развиваться Python-разработчику?
Наращивать объем знаний и навыков. За этим приходите на вебинары, приуроченные к старту онлайн-курса «Python Developer. Professional» в OTUS.
✅ 25 июля — «Аннотации типов»
Обсудим различные виды типизации, заглянем в
теорию типов, рассмотрим примеры и best practice
✅ 15 августа — «Code review»
Обсудим основы разработки API с помощью фреймворка FastAPI, рассмотрим пример небольшого приложения и осветим особенности развертывания эксплуатации.
🧑💻 Спикером выступит Станислав Ступников, руководитель разработки в VK. Эксперт с 10+ лет опыта промышленной разработки.
👉 РЕГИСТРАЦИЯ
https://otus.pw/066L/
Нативная интеграция. Информация о продукте www.otus.ru
#Вопросы_с_собеседования
Напишите функцию на Python, которая принимает на вход список чисел и возвращает наибольшую возрастающую подпоследовательность (непоследовательные числа, идущие в порядке возрастания) из исходного списка
Для решения этой задачи используется динамическое программирование. Мы создаем массив dp
, где dp[i]
представляет собой длину наибольшей возрастающей подпоследовательности, заканчивающейся в nums[i]
. Затем мы выполняем двойной цикл, чтобы найти наибольшую длину для каждого элемента. После этого мы определяем саму подпоследовательность, начиная с наибольшей длины и двигаясь обратно по массиву dp
.
Пример использования:
python
nums = [3, 12, 5, 8, 10, 2, 1]
result = longest_increasing_subsequence(nums)
print(result) # Output: [3, 5, 8, 10]
[3, 12, 5, 8, 10, 2, 1]
, которой будет [3, 5, 8, 10]
, и выведет ее в консоль.
Читать полностью…
Вы еще не слышали про телеграм-канал LEFT JOIN?
Это медиа о технологиях и данных, в котором собрана самая главная информация про:
☑️ применение AI-моделей почти во всех сферах работы и жизни,
☑️ всемогущий язык SQL и работу с базами данных,
☑️ стартапы на основе нейросетей, которые заслуживают не меньшее внимание чем ChatGPT,
☑️ то, как нейросети могут облегчить работу аналитика данных.
А еще у авторов сейчас выходит третий сезон подкаста Data Heroes — честные разговоры с настоящими супергероями, чья сила в данных. Если вы еще не слушали первые два — наверстывайте упущенное и...
💬 Подписывайтесь на @leftjoin!
Как стать востребованным разработчиком? Изучите Go! После изучения вы сможете создавать надежные и масштабируемые серверные приложения, отвечающие потребностям крупных компаний.
Начните погружение в Go c пробного урока курса от OTUS, на котором 👨💻 Владимир Балун, ведущий разработчик в Ozon расскажет об актуальности и перспективах этого языка. Курс подходит разработчиком с опытом от 2-3х лет работы на других языках.
Какие темы затронем на встрече:
— что происходит в IT-бизнесе
— в какие проекты может сейчас попасть Golang-разработчик
— чем хорош этот язык программирования
— какие продукты создаются ТОЛЬКО на Go
— почему Go имеет отличные перспективы в индустрии.
👉 Чтобы получить урок, переходите на наш сайт, регистрируйтесь на курс и вам автоматически откроется доступ и вы получите спец цену на основной курс до конца недели — https://otus.pw/kaCCB/
Реклама. Информация о рекламодателе на сайте www.otus.ru.
Узнаем разницу в днях между датами представленными в виде строк
В данном коде мы используем функцию strptime
из модуля datetime
, чтобы преобразовать строки в объекты datetime
. Затем мы вычисляем разницу между датами с помощью оператора -
и получаем абсолютное значение разницы с помощью функции abs
. Наконец, мы получаем разницу в днях, используя атрибут days
разницы объекта.
Нашли лучшие курсы по Python-разработке!
Tutortop — образовательный маркетплейс №1, где представлено более 5000 курсов от более чем 300 школ. Вы можете сравнить курсы по рейтингу, цене и отзывам, а еще купить дешевле, чем напрямую 🔥
Подборка лучших курсов для разработчиков от tutortop:
— Курс «Стань Python-разработчиком и получи работу за рубежом» от Mathshub. Рейтинг 4.7 из 5.
— Курс «Python-разработчик с гарантией трудоустройства» от Eduson. Рейтинг 4.8 из 5.
— Профессия «Python-разработчик с гарантией трудоустройства» от ProductStar. Рейтинг 4.8 из 5.
Все эти курсы и десятки других можно купить на 10% дешевле на tutortop⚡️
Мужчинам без радости в жизни
Проблема: неправильно выстроенные отношения с девушками, как итог - зависимость, слабая позиция и непроработанные внутренние опоры. Исправить это может каждый, достаточно читать «НеНастоящий» мужчина
Ваня по шагам рассказывает, как выстроить свободные и яркие отношения с девушками. Без манипуляций, без криков и психологов
Это должен знать каждый мужчина — @unreal_man
hYPerSonic
hYPerSonic – это фреймворк на языках Python и C. Используется для разработки и эксплуатации конвейеров обработки звука, предназначенных для управления в реальном времени. Эта структура является низкоуровневой, в которой подсчитывается каждый байт, и это также включает объекты для звуковой карты, фильтрует операции с памятью, file – io и осцилляторы. Эта структура работает в операционных системах Linux и OSX.
https://github.com/lwcook/hypersonic-simulation
Усыпляем программу
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
pdfplumber
pdfplumber - это библиотека Python для извлечения информации из PDF-документов. Она предоставляет простой в использовании интерфейс для извлечения текста, таблиц и изображений из PDF-файлов. Также вы можете извлекать таблицы из PDF в виде объектов pandas DataFrame
, извлекать изображения из PDF и извлекать метаданные о PDF-документе.
В этом примере мы используем функцию pdfplumber.open()
для открытия PDF-файла example.pdf
.
Внутри оператора with
мы перебираем все страницы PDF-файла с помощью цикла for
. Для каждой страницы мы вызываем метод extract_text()
для извлечения текстового содержимого. Извлеченный текст сохраняется в переменной text
.
Выполнив этот код, вы сможете извлечь и распечатать текстовое содержимое каждой страницы PDF-файла.
Стоит отметить, что pdfplumber является мощным инструментом, но точность извлеченного текста сильно зависит от качества и форматирования самого PDF.
Узнаем сколько всего опредленных букв в строке
Один из способов узнать количество определенных букв в строке максимально быстрым методом – использовать метод count
для строки. Этот метод принимает символ или подстроку и возвращает количество их вхождений в строку.
Этот метод является достаточно быстрым, так как использует внутренние оптимизации CPython, которые работают на низком уровне. Он также не требует дополнительной памяти, за исключением простой переменной, используемой для хранения результата.