Видели, как у человека буквально подгорает из-за дедлайнов? Тогда посмотрите: сегодня заметили такого перед офисами банков, у метро «Технопарк»
Оказывается, так МТС Банк приглашал на «АЙТИ ПРОЖАРКУ» — свою неформальную барбекю-вечеринку с разбором антикейсов от разработчиков.
Вот топ-3 аргумента её посетить:
1. Офлайн, почти лето, мясо — а ещё печеные яблоки и призы на десерт.
2. Спикеры из Тинькофф, МТС Банка и Сибур Диджитал — и море багов.
3. Приятный нетворкинг — истории провалов забудутся, а хорошие контакты сохранятся.
Мероприятие бесплатное, но мест мало, успевайте зарегистрироваться: /channel/mtsfintechjobs/863
Реклама ПАО МТС-Банк LdtCKQNHb
10 фишек Python, которые поднимут ваш скилл на новый уровень
Работаете с Python и стремитесь улучшить свои навыки? Тогда эта статья для вас!
Мы разберем тонкости Enumeration, лямбда-функций, множественных присвоений, нарезки и других уникальных функций Python. Вы увидите, как словари, «моржовый» оператор :=
, F-строки
, any()
и all()
, zip()
могут полностью изменить ваш подход к программированию.
https://tproger.ru/articles/tryuki-python-kotorye-podnimut-tvoj-skill-na-novyj-uroven
#советы
Как получить отрицательную длину len()≤0 на Python?
Встроенная функция len()
возвращает длину (количество элементов) объекта. Количество элементов в коллекции не может быть отрицательным. Оно должно быть равно 0 или больше.
Но возможно ли получить негативное значение из встроенной функции len()
в Python? Но тут скорее правильный вопрос, а зачем?
Вот интересная заметка, в которой автор задался таким вопросом. И пришёл к очень необычному выводу, почему иногда всё-таки нужно задавать себе такие глупые вопросы.
#начинающим #лучшиепрактики
Pandas AI — ИИ-библиотека для работы с Big Data
Большинство разработчиков на Python представляют, что такое pandas. Это главная библиотека в Python для работы с данными. Её активно используют аналитики данных и дата-сайентисты
А теперь представьте, что у вас есть огромная база данных на миллиарды строк, из которой нужно вытянуть одно нужное значение. Скорее всего, на это вы потратите много времени, не говоря уже об обработке данных.
Отличная новость, теперь можно «поговорить» со своей БД и просто задать нужный вопрос. А в ответ получить нужное вам значение. Звучит странно, но именно так и работает Pandas AI!
Рассказываем подробнее, что такое Pandas AI и как его использовать
#нейросети #инструменты
Дайджест Python #9: PandasAI, телеграм-бот на Django и языковые модели на Python
Собрали дайджест из лучших материалов. Там есть полезные статьи, гайды и видео на русском и английском языках.
Узнайте, что такое PandasAI и почему он изменит Data Science, как написать Telegram-бота на Django и как сделать языковую модель на Python:
https://tproger.ru/articles/dajdzhest-python-9/
#дайджест
Ozon в поисках Go-разработчиков в команду Доставки
Чем занимается команда: полным циклом взаимодействия покупателя с Ozon, начиная с добавления товаров в корзину, заканчивая выдачей или возвратом, чтобы миллионы пользователей могли совершать сотни тысяч заказов в день и получать их вовремя. Есть разные отделы: чекаут, корзина, логистика, личный кабинет продавца, путь поставок и другие.
Что предлагают:
— Ресурсы, чтобы делать лучшие продукты на рынке e-com
— Бенефиты и льготы
— Удаленку, гибрид или офис (Россия, Казахстан) — выбирать только тебе
— Профессиональную команду
Ознакомиться с подробностями вакансии и откликнуться можно по ссылке ниже
Откликнуться
#вакансия
Особенности работы с русской кодировкой при загрузке файлов через aiohttp
Если работали с aiohttp, вы наверняка натыкались на баги с битой кодировкой. Если да, то вот небольшая статья на несколько минут чтения, в которой разработчики рассказывают о своём опыте столкновения с этой ошибкой и её фиксом.
#лучшиепрактики #безопасность #библиотека
Компания Modular выпустила Mojo — Python-совместимый язык с производительностью Си
2 мая 2023 года компания Modular, одна из компаний-лидеров в сфере AI, анонсировала новый язык программирования Mojo.
Язык обещает полную совместимость с Python и (внимание!) сверх-высокую производительность. В компании утверждают, что автоматическое низкоуровневое распараллеливание, возможности строгой типизации и статической компиляции уже на самых ранних этапах развития языка позволяют достичь скорости, превосходящей Python в 35 000 раз.
В теории, как всегда, всё хорошо, но как на деле — давайте разбираться: https://habr.com/ru/articles/734318/
#новости
Как работает функция filter?
Вроде бы всё просто, функция делает буквально то, о чём говорит её название, — фильтрует элементы в последовательности. Но давайте разбираться, как именно она это делает.
Основная фишка функции filter
в том, что каждый элемент передается функции, которая включает его в последовательность, если по условию получает True
, и отбрасывает в случае False
.
Например:def add_three(x):
if x % 2 == 0:
return True
else:
return False
li = [1,2,3,4,5,6,7,8]
[i for i in filter(add_three, li)]
Мы получим:#=> [2, 4, 6, 8}
Для базового использования этого понимания должно хватить. Но у filter
также есть несколько особенностей использования, которые важно учитывать при продвинутой разработке. О них подробнее можно почитать в статье.
#собеседование
Как улучшить дизайн ООП в Python: Принципы SOLID
Когда вы пишете на Python, используя ООП, сложно сразу правильно запланировать то, как классы и объекты будут взаимодействовать друг с другом. Тут могут здорово помочь принципы SOLID.
Статья на английском, которая поможет разобраться, что за принципы и как их лучше применять.
Серия коротких видео на русском, которая объясняет то же самое. И хотя примеры на JS, всё равно объяснено очень доступно и применимо для Python.
#лучшиепрактики
В AWS Lambda наконец-то добавили рантайм Python 3.10
Как-то пропустил эту новость, но фишка в том, что ребята в AWS почему-то добавляют новые рантаймы с задержкой в 1,5 года. Так что это вполне себе важная новость.
Конечно, это не всегда критично, да и для serverless-приложений можно завести контейнер с нужной версией Python. Но такое отставание для такой крупной компании просто странно. Да и у таких контейнеров cold start медленнее.
Анонс и инструкцию можно почитать здесь: https://aws.amazon.com/ru/blogs/compute/python-3-10-runtime-now-available-in-aws-lambda/
#новости
Как ускорить Python в 100 раз при помощи менее чем ста строк на Rust
В статье рассказали:
— Как Rust (при помощи pyo3) раскрывает истинную нативную производительность повседневного кода на Python с минимальными компромиссами.
— Почему Python — превосходный API для исследователей, а создание быстрых строительных блоков на Rust — это чрезвычайно мощное сочетание.
— Из-за чего профилирование крайне интересно и почему оно мотивирует по-настоящему разобраться со всем, что происходит в вашем коде.
#лучшиепрактики
В Python, как и в других языках, есть логический тип переменных bool, у которого есть 2 значения: True и False
А ещё в Python существует механизм, с помощью которого значение любого типа можно привести к True
или False
. По-английски это называется truthy и falsy, что можно перевести как «истинноватые» значения.
Как это работает и зачем это вообще нужно
Как использовать оператор match
по полной?
match case — собрат if-else, но одна из фишек оператора заключается в том, что он поддерживает деконструкцию (destructuring). То есть он может использовать шаблон, чтобы извлекать значения из сложных объектов, таких как кортежи или словари.
Например:def make_point(point):
match point:
case(x, y):
return Point3D(x, y, 0)
case (x, y, z):
return Point3D(x, y, z)
case _:
raise TypeError("Нет координат")
>>> make_point((1, 2))
Point3D(x=1, x=2, z=0)
>>> make_point((1, 2, 3))
Point3D(x=1, x=2, z=3)
>>> make_point((1, 2, 3, 4))
TypeError: Нет координат
Теперь make_point()
способна справиться с неполными данными. Если первый раз она приняла все три параметра, то в последующие уже справлялась с недостатком и переизбытком.
С такой функцией вы значительно понизите шансы на падение программы и не потратите на обработку всех ситуаций много времени.
#лучшиепрактики
Когда ушел в отпуск, отрубил всё каналы связи, но коллеги знают, что ты читаешь логи сервера:
Читать полностью…Инвариантность, ковариантность и контравариантность на примере Python
До сих пор не понимаете, что такое ковариантность и контравариантность? Чувствуете, как они дышат вам в спину, но когда оборачиваетесь ничего не находите? Давайте попробую объяснить.
Всё просто:
1. Вариантность — перенос наследования исходных типов на производные от них типы.
2. Ковариантность — перенос наследования исходных типов на производные от них типы в прямом порядке.
3. Контравариантность — перенос наследования исходных типов на производные от них типы в обратном порядке.
4. Инвариантность — ситуация, когда наследование исходных типов не переносится на производные.
Всё равно не понятно? Тогда вот вам отличное видео, в котором объясняют инвариантность, ковариантность и контравариантность на примере Python.
Как бесплатно хостить Telegram-ботов?
На днях делился инструкцией по созданию бота для мониторинга погоды. Внимательный читатель поинтересовался, можно ли хостить бота бесплатно — в статье предлагают покупать хостинг.
Я пообещал найти и поделиться гайдом. Собственно, вот гайд, который я использую, когда нужно завести небольшого личного бота на Replit. Чтобы он работал без остановки и его не сбрасывало каждые 20-30 минут.
Но по личному опыту скажу, что больше согласен со вторым комментарием — рано или поздно всё равно придётся задуматься о переезде и потратить 100-300 рублей на нормальный хостинг.
Далеко за примером ходить не буду, однажды Replit внезапно как-то странно перезапустил моего бота, и тот запросил код из сообщения. Я этого не делал, не подумал про Replit и сбросил все активные сеансы.
И теперь каждый раз, когда я запускаю бота на Replit, Telegram выкидывает все активные сеансы в моём аккаунте и исправить это нельзя. Видимо, Telegram счёл подозрительным IP/сервер Replit. Благо, ботом уже активно пользовались и другие люди, поэтому Replit только поторопил с переносом.
Надо ли говорить, что на нормальном платном хостинге такие вопросы всегда можно решить с поддержкой. Или, как минимум, взять сервер с другим IP/гео. Но тут, как говорится, на вкус и цвет.
#туториал #бот #telegram
«Карманный синоптик за час»: пишем Telegram-бота для мониторинга погоды на Python
Небольшой гайд о том, как написать своего Telegram-бота для получения данных о погоде в любом городе.
В статье подробно рассмотрели работу с API, парсинг JSON и написали бота на асинхронной библиотеке aiogram. А после — загрузили на виртуальный сервер и запустили бота.
#туториал #бот #telegram
25 мини-проектов для практики Python
Пет-проекты обычно делают для себя в свободное время. Но основная проблема — это найти такие пет-проекты, чтобы научиться чему-нибудь полезному, не забить на них в процессе и сделать их так, чтобы в портфолио не стыдно было приложить.
Вот подборка из 25 идей мини-проектов для практики с готовым кодом
Там есть и генератор паролей, и добавление водяного знака на фото, и уведомление о низком заряде батареи и много других интересных идей. Для основы хватит, а если допилить интерфейс и добавить фич, получится вполне себе пет-проект.
#подборка #гайд #начинающим
Что почитать на выходных: «Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура» Гарри Персиваля и Боба Грегори
Неплохая книга, в которой авторы познакомят вас с проверенными паттернами, чтобы вы могли управлять сложностью приложений и получать максимальную отдачу от тестов.
Отдельно хорошо то, что теория подкреплена примерами на чистом Python без синтаксической избыточности Java и C#.
#книги #паттерны
Основатель «Типичного программиста» в авторском канале рассказывает с чего начинался Tproger (спойлер: с мемов): @nostoppers
Кроме предпринимательства Алексей занимается менторингом, консультирует фаундеров стартапов, помогает бизнесам расти, а людям экономить время на достижение своих целей. В своём канале даёт советы по личной эффективности, рассуждает про бизнес, программирование, медиа и другие темы.
Несколько примеров постов:
— Есть идея по стартапу. Что дальше?
— Как быть с задачами, которые не делаются?
— Неочевидные правила Daily standup
— Пробежки как способ развития бизнеса
— Правила проведения демо разработки
Как использовать инструменты статического анализа в Python
Cтатические анализаторы кода здорово оптимизировали разработку приложений. Они избавляют от необходимости искать ошибки и уязвимости в системе продакшн или среде развертывания, указывая участок предполагаемого сбоя на основе типизации и других подсказок кода.
В статье подробно разобрали несколько инструментов статического анализа с открытым ПО для Python, включая Bandit и Radon. Bandit находит уязвимости в коде, а Radon генерирует метрики о сложности и удобстве сопровождения кода: https://nuancesprog.ru/p/17267/
#лучшиепрактики #безопасность
Оптимизируем использование памяти в приложениях Python
Когда дело доходит до оптимизации производительности, чаще всего особое внимание уделяется скорости и активности использования ЦП. Гораздо реже кто-либо задумывается о потреблении памяти, а зря.
В этой статье будет исследовано, как находить в ваших приложениях на Python такие участки с перерасходом памяти. Проанализировано, по каким причинам это происходит и как снижать использование памяти, пользуясь простыми приёмами и эффективными структурами данных.
#лучшиепрактики
И ещё одна отличная новость: Docker Init теперь поддерживает Python
На днях вышел Docker Desktop 4.19. Коллеги уже сделали обзор новых фишек в Docker Desktop, среди которых повышение производительности, поддержка новых языков для Docker Init и обновление Moby.
#docker
А вот и свежая подборка лучших материалов по Python!
Узнайте, как подключить AutoGPT к своему проекту, какие обновления затронули Django и как обучить GPT-4 новым данным. Бонусом — огромная подборка полезных статей, гайдов и видео:
https://tproger.ru/articles/python-digest-8/
#дайджест #веб #django #нейросети #gamedev
Курс по python-разработке для тех, кто хочет сменить профессию
Неважно, сколько вам лет и есть ли у вас опыт в IT — за 9 месяцев учёбы освоить разработку сможет каждый. Это возможно, если правильно выстроить программу и усердно заниматься.
Упорство зависит от вас, а о качестве материалов позаботилась команда Яндекс Практикума:
— их программа основана на реальных требованиях работодателей к младшим специалистам;
— интерактивный тренажёр помогает освоить теорию и закрепить её в тестах;
— практика идёт на учебных проектах для портфолио: от чат-бота и сайта-отзовика до соцсети и многофункционального сервиса.
Пройдите первый бесплатный урок с 1 по 14 мая и получите скидку 7% на оплату курса.
Реклама АНО ДПО «Образовательные технологии Яндекса»
Создаём интерфейс для приложений Python
Небольшой, но достаточно подробный гайд по всему, что нужно знать о пользовательских интерфейсах в Python.
Там рассматривают весь Tkinter, графический фреймворк Python по умолчанию, и для примера создают приложение BMI, калькулятор и графический редактор в стиле Photoshop.
Сохраните себе, чтобы «давайте уже после майских» действительно состоялось, а видео не потерялось в тоннах другого контента.