Python Developer
21.5K subscribers
1.81K photos
135 videos
13 files
1.96K links
Авторский канал действующего Python-разработчика

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GA6KW

Реклама на бирже:
https://telega.in/c/python_tg
Download Telegram
Вопрос с собеседования

Что такое Grafana и как организуется сбор метрик?

Ответ: Grafana — это система визуализации и анализа метрик. Она сама не собирает данные, а подключается к источникам (Prometheus, InfluxDB, Elasticsearch и другим) и строит дашборды на основе уже собранных показателей. Через Grafana настраивают графики, алерты и панели мониторинга.

Сбор метрик обычно происходит отдельно. Приложение публикует метрики через специальный эндпоинт, чаще всего /metrics. Система мониторинга (например, Prometheus) регулярно опрашивает этот эндпоинт по pull-модели, забирает числовые показатели и сохраняет их во временную базу данных. Затем Grafana подключается к этой базе и отображает данные в виде графиков и панелей.

Итого: приложение отдаёт метрики, система мониторинга их собирает и хранит, Grafana — визуализирует и помогает анализировать.


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥2
SQL.pdf
1.9 MB
💻 Руководство по SQL с примерами

Подборка на 150 страниц для тех, кто хочет разобраться в SQL. Здесь есть всё: от базовых запросов до функций и сложных приёмов.

Полезный материал, чтобы быстро освежить или подтянуть знания.

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Вопрос с собеседования

Что понимается под пространством имён в Python и как работает поиск переменных?

Ответ: Пространство имён — это механизм, который связывает имена с объектами. Фактически это отображение (mapping), где каждому имени соответствует определённый объект в памяти. Внутри Python такое хранилище реализовано как словарь.

В программе существует несколько пространств имён: локальное (создаётся при вызове функции), объёмлющее — для внешних функций при вложенности, глобальное — на уровне модуля, и встроенное — содержащее стандартные функции и типы вроде len и print.

Когда интерпретатор встречает имя, он ищет его по порядку LEGB: сначала в локальной области, затем во внешней, потом в глобальной и, наконец, во встроенной. Если имя не найдено ни на одном уровне, возникает исключение NameError.


Подробнее про LEGB можно прочитать — в этом посте.

tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍2
SQL Basics.pdf
102.8 KB
💻 Подборка шпаргалок по SQL

Собрали для вас короткие и понятные шпаргалки по основным темам:
Основы языка SQL;
JOIN’ы с наглядными примерами;
Оконные функции;
SQL для анализа данных.


Отличный комплект, чтобы освежить знания перед собесом или быстро вспомнить синтаксис.

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
Нынче это повод для гордости

Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
💯41😁104
💻 Основы технологий баз данных

Делимся книгой для тех, кто хочет глубоко разобраться в реляционной модели, SQL, архитектуре СУБД и внутренних механизмах PostgreSQL — от теории до оптимизации запросов, репликации и распределённых систем.

Подойдёт разработчикам, студентам и инженерам, которым важно понимать принципы проектирования, хранения данных и выполнения запросов на уровне архитектуры.

Скачать в PDF

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
Вопрос с собеседования

Для чего нужны globals() и locals()?

Ответ:
Функции globals() и locals() возвращают словарь с переменными текущей области видимости.

▶️ globals() — это доступ ко всем глобальным именам в текущем модуле (то есть переменным, функциям и классам, определённым на верхнем уровне)

▶️ locals() — возвращает локальные переменные в текущем контексте: внутри функции, класса или блока

Они полезны для динамического анализа, отладки, метапрограммирования и при работе с eval() / exec().


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5🔥1
🖥 Тренажёр для практики администрирования Linux-серверов

SadServers — это симулятор сисадмина и DevOps, где вы подключаетесь к реальному виртуальному серверу по SSH и чините настоящие проблемы, а не решаете тесты.

Как это выглядит:
— Выдают сломанный сервер с конкретной задачей
— Заходите по SSH и разбираетесь, что пошло не так
— Есть таймер, не успели — сервер отключается


Отличный способ прокачать практику и проверить себя в условиях, близких к реальным — залипаем тут.

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥75👍1
🐍 Пишем микросервисы на FastAPI с RabbitMQ

На примере небольшого проекта автор показывает, как построить микросервисную архитектуру с FastAPI и RabbitMQ: один сервис получает заказы, второй — отправляет уведомления в Telegram.

Пошагово объясняется, как на практике устроена событийная модель, зачем нужен RabbitMQ и как выстроить асинхронное взаимодействие между сервисами.

📱 Смотреть на YouTube

tags: #полезное

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Под какой буквой правильный ответ?
Anonymous Quiz
27%
A
15%
B
17%
C
41%
D
1👍1
📱 Репозиторий с готовыми решениями для LLM-проектов

awesome-llm-apps — это коллекция production-готовых AI-приложений, которые можно запустить уже сегодня.

Внутри репозитория:
• AI-агенты с примерами
• Multimodal-приложения
• AI-Saas с базовой архитектурой


Отлично подойдёт тем, кто: не знает, что собрать на LLM в 2026, хочет быстрее собрать MVP или ищет референсы production-подходов.

Репозиторий на GitHub — здесь.

tags: #полезное #llm

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
📱 Что такое GIL в Python?

Global Interpreter Lock — механизм в CPython, который не даёт нескольким потокам одновременно выполнять байткод. Поэтому CPU-задачи не ускоряются даже на многоядерных процессорах.

В статье объясняют, зачем нужен GIL и как обходить ограничения — через «multiprocessing» и другие подходы.

Читать статью

tags: #статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥1
Вопрос с собеседования

Почему list.sort() быстрее, чем sorted(list), если сортируется один и тот же список?

Ответ: Метод list.sort() выполняет сортировку на месте (in-place), изменяя исходный список без создания новой копии. Это делает его более эффективным по памяти и производительности.

Функция sorted(list) создает новый отсортированный список, что требует дополнительного выделения памяти и копирования элементов перед сортировкой, что может увеличить затраты по времени и памяти.


tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124
📱 Продвинутые алгоритмы на Python

Курс посвящён ключевым алгоритмам на графах и их практической реализации на Python.

Вы научитесь находить кратчайшие пути, строить минимальное остовное дерево и вычислять максимальный поток, применяя эти алгоритмы на практике.

Ссылка на курс

tags: #курс #полезное

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
📱 Шпаргалка по Beautiful Soup 4

Beautiful Soup — библиотека для извлечения данных из HTML- и XML-файлов, которая отлично подходит для веб-скрапинга.

1. Установка
pip install beautifulsoup4


2. Импорт
from bs4 import BeautifulSoup
import requests


3. Базовый парсинг
html_doc = "<html><body><p class='text'>Привет, мир!</p></body></html>"
soup = BeautifulSoup(html_doc, 'html.parser') # или 'lxml', 'html5lib'
print(soup.p.text) # Привет, мир!


4. Поиск элементов
# Первый найденный элемент
first_p = soup.find('p')

# Поиск по классу или атрибуту
text_elem = soup.find('p', class_='text')
text_elem = soup.find('p', {'class': 'text'})

# Все элементы
all_p = soup.find_all('p')
all_text_class = soup.find_all(class_='text')


5. Работа с атрибутами и текстом
a_tag = soup.find('a')
print(a_tag['href']) # значение атрибута href
print(a_tag.get_text()) # текст внутри тега
print(a_tag.text) # альтернатива


6. Навигация по дереву
# Переход к родителю, детям, соседям
parent = soup.p.parent
children = soup.ul.children
next_sibling = soup.p.next_sibling

# Поиск предыдущего/следующего элемента
prev_elem = soup.find_previous('p')
next_elem = soup.find_next('div')


7. Парсинг реальной страницы
response = requests.get('https://example.com')
soup = BeautifulSoup(response.text, 'html.parser')
title = soup.title.text
links = [a['href'] for a in soup.find_all('a', href=True)]


8. CSS-селекторы
# Более мощный и лаконичный поиск
items = soup.select('div.content > p.text')
first_item = soup.select_one('a.button')


tags: #шпаргалка #полезное

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5🔥1
📱 Aiogram 3: Деплой телеграм бота на сервер

В данном уроке автор показывает как задеплоить телеграм-бота на сервер: вы узнаете как арендовать сервер, настроить его, а затем запустить на нем бота, чтобы он работал без остановок.

Ссылка на видео

tags: #полезное

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁53👍3🔥2
Блог владельца «Python Developer»

Жизнь в Telegram и за его пределами, бизнес на каналах и много программирования:

https://t.me/+6LFfq_FDocc4MTg6
1