data-analyst.pdf
106.1 KB
Коллекция питонических роадмапов
Вашему вниманию дорожные карты из Py-мира с небезызвестного сайта roadmap.sh.
По технологиям:
— Python;
— SQL;
По специальностям:
— Data Engineer (потребуется VPN);
— Data Analyst;
— Data Scientist;
И даже Prompt Engineer, если вы хотите позабавиться или ужаснуться.
#основы
@zen_of_python
Вашему вниманию дорожные карты из Py-мира с небезызвестного сайта roadmap.sh.
По технологиям:
— Python;
— SQL;
По специальностям:
— Data Engineer (потребуется VPN);
— Data Analyst;
— Data Scientist;
И даже Prompt Engineer, если вы хотите позабавиться или ужаснуться.
#основы
@zen_of_python
This media is not supported in your browser
VIEW IN TELEGRAM
django-action-triggers | Вебхуки для всего отовсюду на Django
Библиотека позволяет инициировать всевозможные события на вашем Django-сайте по триггеру — апдейту базы данных. В отличие от т.н. сигналов, могут управляться динамически, без редеплоя.
Репозиторий проекта
@zen_of_python
Библиотека позволяет инициировать всевозможные события на вашем Django-сайте по триггеру — апдейту базы данных. В отличие от т.н. сигналов, могут управляться динамически, без редеплоя.
Репозиторий проекта
@zen_of_python
👍1
Forwarded from Типичный программист
Делитесь своим опытом в опросе про облака
Мы готовим большое исследование по облачным технологиям и хотим узнать ваше мнение.
Расскажите, как вы работаете с облаками, какие у вас возникают вопросы или трудности. Фидбэк можно оставить в этой гугл-форме
Спасибо🙏
Мы готовим большое исследование по облачным технологиям и хотим узнать ваше мнение.
Расскажите, как вы работаете с облаками, какие у вас возникают вопросы или трудности. Фидбэк можно оставить в этой гугл-форме
Спасибо
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍4🔥2
В чем сила аннотаций типов
Type Hints — годный инструмент, ибо помогают находить ошибки типов ещё до запуска кода, но настоящая их сила в другом. С ними вы думаете о структуре данных, делая код менее ломким. Появились в Python 3.5 в 2015 году и прижились так хорошо. что даже IDE напоминают вам о них ворнингами.
Взгляните на функцию, что вычисляет скидку для списка товаров:
Всё работает, но не совсем понятно:
— Что именно items? Список? Кортеж? Генератор?
— Какой тип у
— Что возвращает функция?
Код «самопроясняется», если добавить
Мы можем пойти дальше. Зачем ограничивать функцию только
Теперь
Это и есть главное преимущество Type Hints: они заставляют задуматься — а не слишком ли жёсткие ограничения я накладываю на входные данные? А не стоит ли сделать интерфейс функции более абстрактным?
Допустим, вы проектируете класс заказа. Если сначала использовали List для хранения товаров, то подумав о типах, вы можете заменить это на Set, чтобы избежать повторений. Или вместо хранения всех элементов в памяти начать использовать генератор для ленивой загрузки данных из базы.
Аннотации типов подталкивают вас к обобщённому проектированию, где функции и классы не зависят от конкретных реализаций.
#основы
@zen_of_python
Type Hints — годный инструмент, ибо помогают находить ошибки типов ещё до запуска кода, но настоящая их сила в другом. С ними вы думаете о структуре данных, делая код менее ломким. Появились в Python 3.5 в 2015 году и прижились так хорошо. что даже IDE напоминают вам о них ворнингами.
Взгляните на функцию, что вычисляет скидку для списка товаров:
def calculate_discount(items, discount):
return [item * (1 - discount) for item in items]
Всё работает, но не совсем понятно:
— Что именно items? Список? Кортеж? Генератор?
— Какой тип у
discount
?— Что возвращает функция?
Код «самопроясняется», если добавить
typing
.List:
from typing import List
def calculate_discount(items: List[float], discount: float) -> List[float]:
return [item * (1 - discount) for item in items]
Мы можем пойти дальше. Зачем ограничивать функцию только
List[float]
, если она также могла бы принять кортеж, множество или генератор?
from collections.abc import Iterable
def calculate_discount(items: Iterable[float], discount: float) -> List[float]:
return [item * (1 - discount) for item in items]
Теперь
items
— любая итерируемая структура: список, кортеж, генератор. Такой подход делает функцию более универсальной.Это и есть главное преимущество Type Hints: они заставляют задуматься — а не слишком ли жёсткие ограничения я накладываю на входные данные? А не стоит ли сделать интерфейс функции более абстрактным?
Допустим, вы проектируете класс заказа. Если сначала использовали List для хранения товаров, то подумав о типах, вы можете заменить это на Set, чтобы избежать повторений. Или вместо хранения всех элементов в памяти начать использовать генератор для ленивой загрузки данных из базы.
Аннотации типов подталкивают вас к обобщённому проектированию, где функции и классы не зависят от конкретных реализаций.
Входы — как можно шире, выходы — как можно конкретнее.
#основы
@zen_of_python
Telegram
Zen of Python
Полный Дзен Пайтона в одном канале
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
👍1
Tail Calls в Python: грокаем
Внезапно банк Точка пояснил за «хвостовые вызовы» — механизме из подкапотного C, который значительно ускорил Python в релизах конца 2024 года. Статья не для новичков, но если прорветесь, сможете щеголять на собеседованиях.
#основы
@zen_of_python
Внезапно банк Точка пояснил за «хвостовые вызовы» — механизме из подкапотного C, который значительно ускорил Python в релизах конца 2024 года. Статья не для новичков, но если прорветесь, сможете щеголять на собеседованиях.
#основы
@zen_of_python
👍1👨💻1
Microsoft отказалась от поддержки Faster CPython — команда проекта уволена
Вот так просто: собрал команду, распустил команду... Если ты в Microsoft, конечно. IT-гигант поставил не на ту лошадь и запланировал ускорить язык за счет его основной реализации, но PSF опередили со своими Tail Calls.
👀 — я думал(-а), питонисты неуязвимые
🎃 — ожидаемое поведение корпораций
#факт
@zen_of_python
Вот так просто: собрал команду, распустил команду... Если ты в Microsoft, конечно. IT-гигант поставил не на ту лошадь и запланировал ускорить язык за счет его основной реализации, но PSF опередили со своими Tail Calls.
👀 — я думал(-а), питонисты неуязвимые
🎃 — ожидаемое поведение корпораций
#факт
@zen_of_python
🎃41👀8🌚2😭2
Ошибки, которые можно избежать в SQL: грабли начинающего аналитика
Если вы только начинаете работать с SQL, статья поможет избежать типичных ошибок (пропуски, доступы, производительность).
Там вы узнаете, почему важно проверять данные после объединения таблиц и как избежать потери строк при использовании
#основы #sql
@zen_of_python
Если вы только начинаете работать с SQL, статья поможет избежать типичных ошибок (пропуски, доступы, производительность).
Там вы узнаете, почему важно проверять данные после объединения таблиц и как избежать потери строк при использовании
JOIN
.#основы #sql
@zen_of_python
👍5🔥2❤1
Вопросы подписчиков
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросы_новичков
@zen_of_python
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросы_новичков
@zen_of_python
👍1
Пет-проект в квадрате
С помощью Raspberry Pi + самописного проекта Xenolab один любитель флоры поддерживает дома крохотный садик хищных цветов, и это выглядит суперумилительно.
#кек
@zen_of_python
С помощью Raspberry Pi + самописного проекта Xenolab один любитель флоры поддерживает дома крохотный садик хищных цветов, и это выглядит суперумилительно.
#кек
@zen_of_python
🔥5👍2
Питон-хвостоед
Есть такое устойчивое выражение в английском:
Lather, rinse, repeat («Вспенить, смыть, повторить»)
Забугорские айтишники «забрали» эту надпись с шампуней в свой мир, и теперь этим выражением описывают любые малоосмысленные повторения чего угодно. Например, затянувшиеся правки.
#кек
@zen_of_python
Есть такое устойчивое выражение в английском:
Lather, rinse, repeat («Вспенить, смыть, повторить»)
Забугорские айтишники «забрали» эту надпись с шампуней в свой мир, и теперь этим выражением описывают любые малоосмысленные повторения чего угодно. Например, затянувшиеся правки.
#кек
@zen_of_python
❤3🌭1
radon | Метрики вашего кода
Этот инструмент вычисляет цикломатическую сложность, метрики Хэлстеда и индекс поддерживаемости и другие «метапоказатели» вашего проекта прямо в командной строке. Так вы быстрее выявите проблемные участки кода. Инструмент легко интегрируется с CI/CD. Дружит даже с Jupyter Notebook.
Проект на PyPi
#инструмент
@zen_of_python
Этот инструмент вычисляет цикломатическую сложность, метрики Хэлстеда и индекс поддерживаемости и другие «метапоказатели» вашего проекта прямо в командной строке. Так вы быстрее выявите проблемные участки кода. Инструмент легко интегрируется с CI/CD. Дружит даже с Jupyter Notebook.
Проект на PyPi
#инструмент
@zen_of_python
👍3❤1
Posit Connect | Деплой сервис для Python / R
Этот условно-бесплатный сервис позволяет быстро задеплоить ваш Proof of Concept. В Freemium-тарифе дают 4 Гб памяти, 2 ядра CPU, 20 часов серверного времени. Поддерживает закрытый список фреймворков, среди которых Streamlit, Dash, Shiny.
Цена: есть условно-бесплатный тариф
Сайт проекта
@prog_tools
Этот условно-бесплатный сервис позволяет быстро задеплоить ваш Proof of Concept. В Freemium-тарифе дают 4 Гб памяти, 2 ядра CPU, 20 часов серверного времени. Поддерживает закрытый список фреймворков, среди которых Streamlit, Dash, Shiny.
Цена: есть условно-бесплатный тариф
Сайт проекта
@prog_tools
❤🔥2🌭1
sql-tstring | t-строки
В Python инфобезное нововведение — t-строки (грокнуто здесь). Они автоматически экранируют вставляемые значения, предотвращая инъекции команд или SQL.
Библиотека sql-tstring создает безопасные SQL-запросы, предотвращая SQL-инъекции. Позволяет также фильтровать имена таблиц и столбцов, обработает отсутствующие значения.
#инструмент
@zen_of_python
В Python инфобезное нововведение — t-строки (грокнуто здесь). Они автоматически экранируют вставляемые значения, предотвращая инъекции команд или SQL.
Библиотека sql-tstring создает безопасные SQL-запросы, предотвращая SQL-инъекции. Позволяет также фильтровать имена таблиц и столбцов, обработает отсутствующие значения.
#инструмент
@zen_of_python
🆒3✍1
Знакомьтесь — OTP Tech
Канал про IT в ОТП Банке. Если хочешь быть в теме и знать, как современные технологии и решения работают в международном финтехе, то подписывайся на OTP Tech.
Ребята активно развиваются, внедряют современные решения вроде ИИшек, заблаговременно думают о рисках и, например, первыми в России перешли на процессинг Solar, а еще активно формируют культуру работы с данными. И это только верхушка того, чем эксперты начали делиться у себя в ТГ. Подписывайтесь и добавляйте канал в папку «Полезное».
Подписаться
Это #партнёрский пост
Канал про IT в ОТП Банке. Если хочешь быть в теме и знать, как современные технологии и решения работают в международном финтехе, то подписывайся на OTP Tech.
Ребята активно развиваются, внедряют современные решения вроде ИИшек, заблаговременно думают о рисках и, например, первыми в России перешли на процессинг Solar, а еще активно формируют культуру работы с данными. И это только верхушка того, чем эксперты начали делиться у себя в ТГ. Подписывайтесь и добавляйте канал в папку «Полезное».
Подписаться
Это #партнёрский пост
👎1🌭1
Forwarded from Сохранёнки программиста
Курс по знакомству с Python
Разобраться с программированием — это как научиться читать: сначала кажется сложно, но потом открывается целый новый мир. Особенно если начать с понятного языка вроде Python.
В этом курсе шаг за шагом объясняют основы: переменные, условия, функции, работа с логикой и даже немного графики. Всё через простые проекты — от секундомера до мини-игры.
Если давно хотелось «въехать» в программирование, но ждали какого-то знака — это он 🕊️
#курс #начинающим #python #ru
Разобраться с программированием — это как научиться читать: сначала кажется сложно, но потом открывается целый новый мир. Особенно если начать с понятного языка вроде Python.
В этом курсе шаг за шагом объясняют основы: переменные, условия, функции, работа с логикой и даже немного графики. Всё через простые проекты — от секундомера до мини-игры.
Если давно хотелось «въехать» в программирование, но ждали какого-то знака — это он 🕊️
#курс #начинающим #python #ru
Coursera
An Introduction to Interactive Programming in Python (Part 1)
Offered by Rice University. This two-part course is ... Enroll for free.
👍3✍1
qa-engineer-ml.pdf
98.6 KB
Если вы хотите стать QA-инженером на ML-проекте, держите шпаргалку-роадмап, которая подскажет, какие темы стоит подтянуть перед собеседованием.
#роадмап #факт
@zen_of_python
#роадмап #факт
@zen_of_python
👌1🌭1
Что за зверь такой — Последовательная типизация?
Всем нам в первые пару лет, как правило, доносят про:
Природа любит заполнять «дыры» между такими антонимами, поэтому Python умеет и в т.н. Последовательную типизацию — систему типов, в которой некоторым переменным могут быть заранее заданы строгие типы:
Этот ненавязчивый гибрид сочетает достоинства динамической и статической типизаций:
— Улучшает качества кода — аннотации типов позволяют инструментам вроде mypy находить ошибки до запуска программы;
— Облегчает сопровождения больших проектов — типы помогают лучше понять интерфейсы функций и классов;
— Помогает с плавным переходом: можно добавлять типы поэтапно, не переписывая весь код сразу.
#основы
@zen_of_python
Всем нам в первые пару лет, как правило, доносят про:
Динамическую типизацию — способ работы с типами данных, при котором тип переменной определяется во время выполнения программы, а не заранее (как при статической типизации).
Природа любит заполнять «дыры» между такими антонимами, поэтому Python умеет и в т.н. Последовательную типизацию — систему типов, в которой некоторым переменным могут быть заранее заданы строгие типы:
def greet(name: str, greeting) -> str:
return greeting + ", " + name
name: str = "Alice"
print(greet(name, "Hello"))
Этот ненавязчивый гибрид сочетает достоинства динамической и статической типизаций:
— Улучшает качества кода — аннотации типов позволяют инструментам вроде mypy находить ошибки до запуска программы;
— Облегчает сопровождения больших проектов — типы помогают лучше понять интерфейсы функций и классов;
— Помогает с плавным переходом: можно добавлять типы поэтапно, не переписывая весь код сразу.
#основы
@zen_of_python
❤🔥7❤1
Forwarded from IT Юмор
Такая мотивировка отказа в 2025 году, конечно, больше мем и байка 💀
В реальности всё, наверное, по другому. И мы хотим разобраться КАК. Помогите нам пролить свет на рекрутинг в IT с точки зрения н-а-с-т-о-я-щ-и-х разработчиков-соискателей.
@ithumor
В реальности всё, наверное, по другому. И мы хотим разобраться КАК. Помогите нам пролить свет на рекрутинг в IT с точки зрения н-а-с-т-о-я-щ-и-х разработчиков-соискателей.
@ithumor
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2🥱1