Forwarded from Азбука айтишника
🎓 Как выбрать свою роль в Data Science и не потеряться в терминах
Если вы только начинаете разбираться в Data Science — перед вами лабиринт из названий: data scientist, аналитик, ML-инженер, BI, архитектор... Кто чем занимается? Что нужно учить?
➡️ Что внутри статьи
— Кто такие Data Engineer
— Чем отличается Data Architect от инженера и зачем он нужен в big data проектах
— Чем занимаются Data Analyst и почему это отличная точка входа в карьеру
— Что делает настоящий Data Scientist
В статье разобрано всё: от задач до технологий, которые реально спрашивают на собеседованиях.
📎 Ссылка
Азбука айтишника #ликбез
Если вы только начинаете разбираться в Data Science — перед вами лабиринт из названий: data scientist, аналитик, ML-инженер, BI, архитектор... Кто чем занимается? Что нужно учить?
— Кто такие Data Engineer
— Чем отличается Data Architect от инженера и зачем он нужен в big data проектах
— Чем занимаются Data Analyst и почему это отличная точка входа в карьеру
— Что делает настоящий Data Scientist
В статье разобрано всё: от задач до технологий, которые реально спрашивают на собеседованиях.
📎 Ссылка
Азбука айтишника #ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
🔎 Wordsearch: узнаем, кто самый внимательный
Готовы проверить свои знания в Python? В этой головоломке спрятаны термины из мира программирования.
Правила просты:
— Найдите все слова в сетке (слова идут по горизонтали)
— Напишите в комментариях, какие слова вы нашли
— Объясните один из терминов так, чтобы даже джун понял
🏆 Первый, кто найдёт все слова и объяснит хотя бы один термин, получит почётный статус Python Guru на неделю!
Прячем ответы под спойлер, чтобы не спалить остальным.
Погнали 👇
Библиотека питониста #междусобойчик
Готовы проверить свои знания в Python? В этой головоломке спрятаны термины из мира программирования.
Правила просты:
— Найдите все слова в сетке (слова идут по горизонтали)
— Напишите в комментариях, какие слова вы нашли
— Объясните один из терминов так, чтобы даже джун понял
🏆 Первый, кто найдёт все слова и объяснит хотя бы один термин, получит почётный статус Python Guru на неделю!
Прячем ответы под спойлер, чтобы не спалить остальным.
Погнали 👇
Библиотека питониста #междусобойчик
❤4
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
❤12👍8
🚀 Релизы и инструменты:
— pip 25.1— поддержка групп зависимостей и вывод lock-файлов
— Python 3.15: расписание релиза (PEP 790) — важные даты и этапы разработки
— PyCharm стал единым продуктом — что изменилось для разработчиков
— AutoKitteh — гибкая альтернатива Zapier и n8n для автоматизации
— Django Action Triggers — триггеры действий прямо в Django
— IT-календарь: релизы и события мая — чтобы ничего не пропустить
👍 Советы:
— Как запускать Python в проде — практики деплоя и окружения
— Как я строю инфраструктуру вокруг Python-проектов — линтеры, Poetry, CI/CD и Docker
— Управление памятью в Python — когда и зачем вмешиваться вручную
— 14 интересных фич Python — полезные, хоть и не всегда pythonic
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3❤🔥1
Forwarded from Библиотека задач по Python | тесты, код, задания
Что представляют собой генераторы в Python, как функционирует метод send() в этих генераторах и каким образом его можно применять для управления их поведением?
Генераторы в Python представляют собой функции, которые применяют оператор yield для возврата значений и временной приостановки выполнения. С помощью метода send() можно отправлять данные обратно в генератор, которые затем могут быть использованы при следующем возобновлении его работы. Это делает генераторы двусторонними, позволяя не только получать значения, но и передавать данные внутрь.
Генераторы в Python представляют собой функции, которые применяют оператор yield для возврата значений и временной приостановки выполнения. С помощью метода send() можно отправлять данные обратно в генератор, которые затем могут быть использованы при следующем возобновлении его работы. Это делает генераторы двусторонними, позволяя не только получать значения, но и передавать данные внутрь.
❤7👍2
🔥 Конкурс: 30 000 ₽ за самую смешную IT-новость
Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.
📅 Сроки: прием новостей до 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Осталась неделя — ждем ваших новостей!
Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.
📅 Сроки: прием новостей до 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Осталась неделя — ждем ваших новостей!
Google Docs
Конкурс на самую смешную IT-новость
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переворачиваете её с ног на голову, чтобы смеялись…
Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переворачиваете её с ног на голову, чтобы смеялись…
👍4
Junior Python Developer (Data) — до 200 000, удалёнка
Team Lead (Python) команды разработки — от 350 000 до 450 000 ₽, удалёнка (Москва)
Junior Python developer — от 100 000 до 130 000 ₽, офис (Москва)
Python разработчик, гибрид (Москва, Санкт-Петербург)
Программист Python junior — от 100 000 ₽, гибрид (Москва)
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Длинные логические выражения — бич читаемости. Вот простой пример:
if user["verified"] and event["date"] > datetime.now() and not event["full"]:
print("Here's the event signup form...")
Выглядит компактно, но читается не очень. Есть несколько способов сделать лучше.
if (user["verified"]
and event["date"] > datetime.now()
and not event["full"]):
print("Here's the event signup form...")
PEP8 рекомендует именно такой стиль — с операторами (
and, or) в начале строки.user_is_verified = user["verified"]
event_in_future = event["date"] > datetime.now()
event_not_full = not event["full"]
if user_is_verified and event_in_future and event_not_full:
print("Here's the event signup form...")
Такой подход улучшает понимание выражения до того, как вы вчитываетесь в детали.
def is_verified(user): return user["verified"]
def in_future(event): return event["date"] > datetime.now()
def not_full(event): return not event["full"]
if is_verified(user) and in_future(event) and not_full(event):
print("Here's the event signup form...")
Функции полезны, если важно сохранить short-circuit поведение (когда выражения дальше не выполняются, если результат уже ясен).
Если видите выражение вида
not (a or b) — можно применить трансформацию:# Было:
not (a or b)
# Стало:
not a and not b
Пример:
def can_only_read(user):
return not (
user["role"] == "admin"
or "edit" in user["permissions"]
)
Упростим по де Моргану:
def can_only_read(user):
return user["role"] != "admin" and "edit" not in user["permissions"]
Теперь читается проще и интуитивнее.
✅ Вывод: не бойтесь разбивать выражения, давать им имена и упрощать через логические законы. Код должен быть понятным не только компьютеру, но и людям.
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27❤6🔥3👏1
🏗 7 архитектурных паттернов, которые должен знать каждый программист
Хочешь писать код, который не разваливается через полгода? Понимание архитектурных паттернов — ключ к стабильным и масштабируемым приложениям.
📌 Мы собрали 7 базовых подходов, которые должен знать каждый разработчик. Подходит для тех, кто хочет прокачать архитектурное мышление, уверенно проходить собеседования и строить проекты «на вырост».
👉 Ссылка на статью: https://clc.to/tgproglibacademy6
Библиотека питониста
Хочешь писать код, который не разваливается через полгода? Понимание архитектурных паттернов — ключ к стабильным и масштабируемым приложениям.
📌 Мы собрали 7 базовых подходов, которые должен знать каждый разработчик. Подходит для тех, кто хочет прокачать архитектурное мышление, уверенно проходить собеседования и строить проекты «на вырост».
👉 Ссылка на статью: https://clc.to/tgproglibacademy6
Библиотека питониста
👍9❤1🔥1
👍 Команда дня: contextlib.suppress
Сегодня разберём полезную команду для работы с contextlib.suppress — удобный способ игнорировать определённые исключения без громоздкого try-except.
Зачем это нужно:
✅ Упрощает код, когда вы хотите молча пропустить определённые ошибки.
✅ Например, удаление файла, который может не существовать, или обработка данных, где некоторые ключи могут отсутствовать.
Пример из реальной жизни:
Библиотека питониста #буст
Сегодня разберём полезную команду для работы с contextlib.suppress — удобный способ игнорировать определённые исключения без громоздкого try-except.
from contextlib import suppress
# Игнорируем FileNotFoundError при удалении файла
with suppress(FileNotFoundError):
import os
os.remove("non_existent_file.txt")
Зачем это нужно:
Пример из реальной жизни:
data = {"name": "Alice"}
with suppress(KeyError):
print(data["age"]) # Не сломается, даже если ключа "age" нетБиблиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍5❤🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17❤13💯6
Использование старых модулей может привести к неожиданным ошибкам в проектах.
Вот 11 устаревших Python-модулей и их современные аналоги:
Модуль
pipes был удален, так как был заменен более мощным и кросс-платформенным модулем subprocess.import subprocess
result = subprocess.run("echo Hello | tr a-z A-Z", shell=True, capture_output=True, text=True)
print(result.stdout) # HELLO
Тип
Text был предназначен для совместимости с Python 2, и теперь его можно заменить на str.def greet(name: str) -> str:
return f"Hello, {name}!"
Модуль
urllib устарел для работы с HTTP-запросами. Вместо него лучше использовать requests или urllib3.import requests
response = requests.post('https://httpbin.org/post', json={'name': 'Yang'})
print(response.json())
Модуль
crypt устарел и его заменил более безопасный модуль bcrypt для хеширования паролей.import bcrypt
password = b"strongpassword"
hashed = bcrypt.hashpw(password, bcrypt.gensalt())
С Python 3.9 можно использовать встроенные типы без импорта из модуля
typing.def func(x: list[int]) -> dict[str, int]:
return {}
Использование
% или .format() устарело. Современный способ — это f-строки.name = "Yang"
print(f"My name is {name}.")
Модуль
cgi устарел и заменен современными фреймворками для веб-разработки, такими как Flask или FastAPI.Модуль
ossaudiodev устарел, и для работы с аудио рекомендуется использовать такие модули, как pyaudio или sounddevice.Модуль
pickle может быть опасным для использования, так как есть риски выполнения вредоносного кода. Для безопасной сериализации лучше использовать json.import json
data = {"name": "Yang"}
with open('data.json', 'w') as f:
json.dump(data, f)
Эти модули устарели, и теперь лучше использовать
asyncio для асинхронного программирования.Модуль
random использует предсказуемый алгоритм, который небезопасен для генерации паролей. Используйте secrets для криптографически стойких случайных чисел.import secrets
password = secrets.token_hex(16)
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥6❤3
Сегодня делимся вопросом от подписчика, который интересуется, какие инструменты для Python наиболее актуальны в 2025 году.
💬 Вот что он пишет:
«Я использую VSCode и ChatGPT/Sonnet3.5, когда занимаюсь разработкой ML-решений или оптимизацией в ассемблере/CUDA. Однако ограничивающим фактором является то, что в большинстве случаев ИИ работает на уровне младшего разработчика. Поэтому мне часто приходится проверять информацию в документации и на Google.
Какие IDE и инструменты для ноутбуков вы используете в 2025 году? Например, VS Code, Jupyter, PyCharm — что лучше подходит для работы с данными и ML?
Используете ли вы ИИ-инструменты, такие как Cursor, Copilot или Cline? Если да, то какие задачи они помогают решать в вашем рабочем процессе?»
P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.
Библиотека Python-разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍1
🎙 Что послушать: Developer Trends 2025
Новый выпуск подкаста Talk Python to Me посвящён главным трендам 2025 года:
➡️ какие технологии на подъёме,
➡️ что показывает последний опрос Stack Overflow,
➡️ и куда движется Python-сообщество.
📌 Темы:
— Стоит ли изучать новые базы данных или это хайп?
— Что теряет актуальность?
— Как поменялись роли разработчиков и ожидания в индустрии?
▶️ Слушать: https://clc.to/4neIiA
Библиотека питониста #буст
Новый выпуск подкаста Talk Python to Me посвящён главным трендам 2025 года:
📌 Темы:
— Стоит ли изучать новые базы данных или это хайп?
— Что теряет актуальность?
— Как поменялись роли разработчиков и ожидания в индустрии?
▶️ Слушать: https://clc.to/4neIiA
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥1
Разработчики представили ty — новый инструмент для проверки типов и language server для Python, написанный на Rust. Обещают высокую скорость и удобство интеграции с редакторами.
⚠️ Пока что это pre-release:
— баги,
— отсутствующие фичи,
— возможны критические ошибки.
ty ещё не готов к продакшну, но активно развивается. Инструмент уже вызывает интерес у сообщества — особенно за счёт скорости и амбиций.
👀 Следим за развитием: https://clc.to/1jvRfg
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥2
Python известен своей простотой, но за лаконичным синтаксисом скрываются мощные и недооценённые возможности.
В этой подборке — 14 нестандартных приёмов: от «непитоничных» конструкций до малоизвестных трюков, которые помогают писать код гибче, чище и умнее.
🔍 Внутри:
— неожиданные фичи
— примеры и объяснения
— ссылки на ресурсы для углубления
📄 Читайте статью и удивляйтесь, на что способен Python: https://clc.to/YzUlOA
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤6🔥5
🖥 Холивар: Linux — для гибкости, macOS — для эстетики, Windows — для универсальности
Программисты, делитесь: на чём предпочитаете писать код?
🐧 Linux: терминал и свобода
📝 Максимальный контроль — можно настроить всё: от ядра до оконного менеджера. Arch, Manjaro, Kali? Полный выбор.
📝 Open Source: свободное ПО без необходимости платить за лицензии.
📝 Терминал — главный инструмент.
Минусы:
— Настройка драйверов и оборудования может занять время.
— Работа с проприетарным ПО (например, Photoshop) — отдельный квест.
— Интерфейс не всегда дружелюбен для новичков.
🍎 macOS: стиль и стабильность
📝 Экосистема Apple: Xcode, iOS-разработка, отличная интеграция между устройствами.
📝 Стабильность и надёжность — система работает как часы.
📝 Приятный интерфейс и дизайн, который вдохновляет.
Минусы:
— Высокая цена на устройства.
— Ограниченные возможности апгрейда.
— Закрытая система с меньшей гибкостью.
🪟 Windows: универсальный солдат
📝 Работает «из коробки»: Visual Studio, Unity, .NET — всё готово для разработки.
📝 Поддержка большинства игр и софта.
📝 Огромный выбор устройств: от бюджетных до топовых игровых машин.
Минусы:
— Автоматические обновления могут прервать работу.
— Требуется внимание к безопасности: антивирус — must-have.
— Подсистема WSL — шаг вперёд, но до полноценного Linux ещё есть путь.
А вы на какой стороне?
❤️ Linux — свобода и гибкость
👍 macOS — красота и стабильность
🔥 Windows — универсальность и удобство
Пишите в комментариях, почему ваша ОС — лучший выбор для разработчика. Без ссор — только аргументы и опыт.
P.S. Инструкция, как оставить коммент
Библиотека питониста #междусобойчик
Программисты, делитесь: на чём предпочитаете писать код?
🐧 Linux: терминал и свобода
sudo apt-get install — и всё под контролем.Минусы:
— Настройка драйверов и оборудования может занять время.
— Работа с проприетарным ПО (например, Photoshop) — отдельный квест.
— Интерфейс не всегда дружелюбен для новичков.
🍎 macOS: стиль и стабильность
Минусы:
— Высокая цена на устройства.
— Ограниченные возможности апгрейда.
— Закрытая система с меньшей гибкостью.
🪟 Windows: универсальный солдат
Минусы:
— Автоматические обновления могут прервать работу.
— Требуется внимание к безопасности: антивирус — must-have.
— Подсистема WSL — шаг вперёд, но до полноценного Linux ещё есть путь.
А вы на какой стороне?
❤️ Linux — свобода и гибкость
👍 macOS — красота и стабильность
🔥 Windows — универсальность и удобство
Пишите в комментариях, почему ваша ОС — лучший выбор для разработчика. Без ссор — только аргументы и опыт.
P.S. Инструкция, как оставить коммент
Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤86👍45🔥44🥱2
🚨 JetBrains перестанет выпускать бинарные сборки PyCharm Community Edition
Начиная с версии 2025.3, бесплатная версия PyCharm Community Edition больше не будет доступна как готовая программа. JetBrains оставит только исходный код — пользователям придётся собирать IDE самостоятельно.
Что это значит:
📝 Код PyCharm CE останется открытым (Open Source).
📝 Готовые установщики (бинарные сборки) больше публиковаться не будут.
📝 Альтернатива — перейти на PyCharm Unified Edition (новая объединённая IDE с платными и бесплатными функциями).
💬 Это решение уже вызывает волну критики среди пользователей. Установка из исходников — не для всех, а Unified Edition может потребовать платную подписку.
🔗 Подробнее: что такое Unified PyCharm и как это работает
Библиотека питониста #свежак
Начиная с версии 2025.3, бесплатная версия PyCharm Community Edition больше не будет доступна как готовая программа. JetBrains оставит только исходный код — пользователям придётся собирать IDE самостоятельно.
Что это значит:
💬 Это решение уже вызывает волну критики среди пользователей. Установка из исходников — не для всех, а Unified Edition может потребовать платную подписку.
🔗 Подробнее: что такое Unified PyCharm и как это работает
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😢7💯7⚡4❤3👾3