About Python [ru]
Відкрити в Telegram
Пишем на Python, создаём нейросети и ИИ-агентов. Алгоритмы, задачи и вайбкодинг. Личный блог автора - @just_genych По вопросам рекламы или разработки: @g_abashkin
Показати більше6 546
Підписники
+1524 години
-27 днів
+3330 день
Архів дописів
6 546
👩💻 Файловая система без фокусов: как hard links и XOR сэкономят ваши гигабайты
Статья объясняет концепцию символьных и жёстких ссылок на файлы, акцентируя внимание на hard links в Windows, малоизвестных многим веб-разработчикам. В простых примерах раскрывается принцип работы ссылок и их отличия от привычных ярлыков.
Читать...
6 546
🧠 Самые интересные статьи за последние дни:
• Пишем Wake-on-LAN сервис на ESP8266 при помощи ChatGPT
• Необычные вкусы покупателей: что такое товарные пары и как их исследовать
• Kafka. Лучшие практики применения. Настройки Producer & Consumer
• Словари в Python: обзор и как пользоваться
• Хотите, покажу вам магию живого кода на p5py?
6 546
👩💻 Задачка по Python
Напишите функцию, которая принимает список email-адресов и возвращает уникальные домены из этого списка. Домен — это часть адреса после символа
@.
➡️ Пример:
["user1@example.com", "user2@test.com", "user3@example.com", "user4@sample.com"]
#{"example.com", "test.com", "sample.com"}
Решение задачи ⬇️
def get_unique_domains(emails): domains = {email.split('@')[1] for email in emails} return domains # Пример использования: emails = ["user1@example.com", "user2@test.com", "user3@example.com", "user4@sample.com"] result = get_unique_domains(emails) print(result) # Ожидаемый результат: {'example.com', 'test.com', 'sample.com'}
6 546
👩💻 Зачем нужны эмбеддинги?
Статья исследует методы нечеткого поиска для больших языковых моделей, включая триграммный и фонетический анализ, косинусное и евклидово сходство. Рассматриваются преимущества и ограничения методов для работы с неструктурированными данными.
Читать...
6 546
🔎 Подборка валютных вакансий
Разработчик операций AI, Python/React
🟢Python, React, PostgreSQL, Aiogram, GPT
🟢от 800 до 1 300 USD (до вычета налогов) | 1–3 года
Senior Software Engineer (Python)
🟢Python, FastAPI, TypeScript, Node.js, React, MongoDB, PostgreSQL, RabbitMQ, Kafka, Redis, Docker, Kubernetes, AWS, Google Cloud
🟢от 2 500 до 3 500 USD (до вычета налогов) | 3–6 лет
Middle Backend Developer (Python)
🟢Python, FastAPI, Tornado, PostgreSQL, SQLAlchemy, Redis, RabbitMQ, Docker, nginx, gitlab-ci
🟢от 2 000 до 3 300 USD (до вычета налогов) | 3–6 лет
Senior Backend Developer - Python
🟢Python, PostgreSQL, Redis, FastAPI, Flask, Pyramid, SQLAlchemy, Celery, pydantic, AWS
🟢от 4 000 USD на руки | 3–6 лет
Python Fullstack Developer
🟢Python 3, FastAPI, Redis, SQL (MySQL, MariaDB), Docker, Grafana, PHP, TypeScript, React
🟢до 3 000 USD на руки | 1–3 года
6 546
💭 Скорость — не главный показатель успеха. Гораздо важнее — чёткое понимание, куда ты идёшь.
Многие тратят кучу энергии, чтобы везде поспеть: освоить новое, прокачать скиллы, закрыть дедлайны. Но часто за спешкой скрывается отсутствие направления. И пока ты гонишься за всем сразу, фокус на том, что действительно важно, ускользает.
🎯 Что делать: раз в месяц выдели время на анализ — какие задачи реально приближают тебя к целям, а какие тянут энергию впустую? Подумай, что можно делегировать, что автоматизировать, а от чего отказаться. Сосредоточься на главном, и почувствуешь, что каждое действие наконец работает на твой рост.
6 546
👩💻 Как сократить время ответа в 2 раза, добавив одну строку кода
В статье рассказывается, как Okko оптимизировал рекомендации: с помощью Jaeger и Grafana выявили узкие места, улучшили работу сборщика мусора и снизили время отклика для 99% запросов.
Читать...
6 546
🔎 Подборка вакансий для лидов
Team Lead backend/Python (remote)
🟢Python (синхронный и асинхронный), Pyramid, AIOHttp, SQLAlchemy, Redis, Docker, Pytest, Alembic, PostgreSQL, Vue.js
🟢Уровень дохода не указан | Опыт от 3 лет
Python Team Lead
🟢Python, Django Rest Framework, SQL, NoSQL, Celery, Docker, RabbitMQ, управление командой
🟢от 250 000 ₽ | Опыт 3–6 лет
Python-разработчик Machine Learning / Computer Vision
🟢Python, TensorFlow, PyTorch, Keras, Scikit-learn, Pandas, AWS, SQL (PostgreSQL), Apache Spark, Apache Kafka, Apache Airflow
🟢от 400 000 ₽ | Опыт 3–6 лет
Senior/Lead Backend Developer (Python)
🟢Python3, Asyncio, SQL, PostgreSQL, FastAPI, Redis, Docker, Temporal, RabbitMQ, Linux, Elasticsearch
🟢до 450 000 ₽ | Опыт 3–6 лет
Tech Lead (python)
🟢Python 3.11, MySQL, Clickhouse, Redis, Aiogram, Aiohttp, Docker-compose, Nginx, GitHub
🟢от 250 000 ₽ | Опыт более 6 лет
6 546
👩💻 Как работает
__name__ == "__main__" в Python?
Конструкция if __name__ == "__main__" определяет, выполняется ли скрипт как основная программа или импортируется в качестве модуля. Это позволяет запускать код только при непосредственном запуске скрипта, исключая его выполнение при импорте.
➡️ Пример:
def greet():
print("Hello from greet!")
if __name__ == "__main__":
greet() # Этот вызов выполнится только при запуске скрипта напрямую
🗣 В этом примере greet() будет вызвана, если файл запускается напрямую. Если скрипт импортируется как модуль, greet() не вызовется, сохраняя модульную структуру кода.🖥 Подробнее тут
6 546
👩💻 ИИ в логистике: отслеживаем транспортные средства на производственной территории с помощью нейросети
В статье описан путь от пет-проекта до системы для трекинга транспорта: нейросети, компьютерное зрение и инструменты, позволяющие «видеть» и анализировать производственные процессы.
Читать...
6 546
🔎 Подборка вакансий для сеньоров
Senior Python Developer (Highload, Crypto)
🟢Python 3.10-3.12, FastAPI, PostgreSQL, Redis, MongoDB, Pydantic, SQLAlchemy, Alembic
🟢до 500 000 ₽ | более 6 лет
Python Developer (Senior)
🟢Python, asyncio, aiohttp, FastAPI, PostgreSQL, Redis, Cassandra, Kafka, RabbitMQ, ElasticSearch, ClickHouse
🟢от 360 000 до 480 000 ₽ | 3–6 лет
Senior Python-разработчик
🟢Python, FastAPI, RabbitMQ, Kubernetes, PostgreSQL, asyncio, Alembic, Docker, SQLAlchemy, Git, CI/CD, S3, Airflow
🟢до 500 000 ₽ | более 6 лет
Senior Machine Learning Engineer (Computer Vision)
🟢Python, PyTorch, OpenCV, Scikit-Image, FFmpeg
🟢от 600 000 ₽ | 3–6 лет
Senior/Middle Data Scientist
🟢Python, SQL, классический ML, anti-fraud системы
🟢Уровень дохода не указан | 3–6 лет
6 546
👩💻 Уделите внимание токенизаторам — и вот почему
Статья рассматривает особенности разработки ИИ-приложений с использованием RAG, особенно для обработки данных интернет-магазинов. Анализируется отличие статистического подхода от традиционного программирования и его влияние на разработку с LLM.
Читать...
6 546
🧠 Самые интересные статьи за последние дни:
• Всё, что вы хотели знать о Django Channels
• Сборка Python проекта с uv и Docker
• DE-1. DIY ассистент на LLM
• Ваши генераторные выражения сломаны: чиним и разбираемся
• Всё, что вы хотели знать о Django Channels
6 546
👩💻 Задачка по Python
Создайте Python-скрипт, который проверяет доступность указанного веб-сервера и отправляет уведомление на почту, если сервер недоступен. Скрипт должен выполнять проверку каждые 5 минут и отправлять уведомление только один раз, если сервер падает, а затем повторно — только когда сервер снова станет доступен.
➡️ Пример:
•
python monitor.py https://example.com — проверяет доступность сервера по адресу https://example.com, отправляет уведомление на почту, если сервер перестаёт отвечать, и повторно уведомляет при восстановлении работы.
Решение задачи ⬇️
import requests import time import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import sys # Настройки для отправки уведомлений SMTP_SERVER = 'smtp.example.com' SMTP_PORT = 587 EMAIL = 'your-email@example.com' PASSWORD = 'your-password' TO_EMAIL = 'recipient@example.com' # Функция для отправки уведомления def send_notification(subject, message): msg = MIMEMultipart() msg['From'] = EMAIL msg['To'] = TO_EMAIL msg['Subject'] = subject msg.attach(MIMEText(message, 'plain')) with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server: server.starttls() server.login(EMAIL, PASSWORD) server.sendmail(EMAIL, TO_EMAIL, msg.as_string()) print(f"Уведомление отправлено: {subject}") # Функция для проверки доступности сервера def check_server(url): try: response = requests.get(url, timeout=5) return response.status_code == 200 except requests.RequestException: return False # Основная функция мониторинга def monitor(url): server_is_down = False while True: is_up = check_server(url) if is_up and server_is_down: send_notification("Сервер восстановлен", f"Сервер {url} снова доступен.") server_is_down = False elif not is_up and not server_is_down: send_notification("Сервер недоступен", f"Сервер {url} перестал отвечать.") server_is_down = True time.sleep(300) # Проверка каждые 5 минут if __name__ == "__main__": if len(sys.argv) < 2: print("Укажите URL сервера для мониторинга.") sys.exit(1) url = sys.argv[1] monitor(url)
6 546
👩💻 Курс Django: Сложная форма с кастомной капчей
Делаем анкету с различными виджетами, защищаем форму с помощью капчи, автоматически отправляем данные и вложенные файлы на email.
Читать...
6 546
🔎 Подборка вакансий для мидлов
Разработчик Python (Middle)
🟢Python, Django, Django Rest Framework, Git, MongoDB, Linux
🟢от 90 000 до 150 000 ₽ | 1–3 года
Middle Python Developer
🟢Python, FastAPI, SQLAlchemy, PostgreSQL, MongoDB, Redis, Docker, GNU/Linux
🟢от 120 000 до 180 000 ₽ | 3–6 лета
Middle Python разработчик
🟢Python, aiohttp, FastAPI, PostgreSQL, MongoDB, RabbitMQ, Kafka, NumPy, OpenCV
🟢от 140 000 до 240 000 ₽ до вычета налогов | 3–6 лет
Data Engineer/Дата инженер (ученик)
🟢Python, SQL, Big Data, MLflow, NoSQL, machine learning, Hadoop, Apache Spark, Scala, Apache Kafka
🟢от 100 000 до 110 000 ₽ | Без опыта
Data Engineer / Дата-инженер
🟢Python, PySpark, SQL, Azure (ADF, SQL DB), Databricks, Power BI, Azure DevOps
🟢от 190 000 ₽ до вычета налогов | 1–3 года
6 546
👩💻 Как работает декоратор
@property в Python и зачем он нужен?
Декоратор @property в Python превращает метод класса в атрибут, позволяя работать с ним, как с обычным свойством. Это упрощает доступ к приватным данным и добавляет контроль за их валидацией и изменением.
С помощью @property можно создавать интерфейс для работы с данными объекта, защищая их от некорректных значений и обеспечивая читаемость кода.
➡️ В этом примере декоратор @property используется для создания свойства age, которое проверяет корректность введенного значения:
class Person:
def __init__(self, age):
self._age = age
@property
def age(self):
return self._age
@age.setter
def age(self, value):
if value < 0:
raise ValueError("Возраст не может быть отрицательным.")
self._age = value
p = Person(30)
p.age = 35 # Работает нормально
print(p.age) # 35
p.age = -5 # ValueError: Возраст не может быть отрицательным.
🗣 Использование @property полезно для создания аккуратного интерфейса доступа к данным с их защитой и валидацией, соблюдая при этом принципы инкапсуляции.🖥 Подробнее тут
6 546
👩💻 Как сделать блог разработчика на GitHub Pages с помощью Django
Расскажем, как превратить Django в генератор статических сайтов и сделать полноценный блог с пагинацией, сортировкой записей по тегам, подсветкой синтаксиса кода, контактной формой, подпиской на рассылку и поддержкой 20 различных тем оформления.
Читать...
6 546
🔎 Подборка вакансий для джунов
Стажер Python Back-end (офис)
🟢Python, Git, PostgreSQL, SQL, Linux, JavaScript
🟢Уровень дохода не указан | Без опыта
Junior Data Engineer
🟢SQL, Big Data, DWH, ETL, Airflow, Python
🟢до 130 000 ₽ | 1–3 года
Junior Python developer
🟢Python, SQL/NoSQL, BeautifulSoup, requests, pandas, Selenium, Playwright, FastAPI, pytest, unittest, Docker
🟢от 70 000 ₽ | 1–3 года
Python-разработчик (Junior - Middle)
🟢Python, Django, MySQL, Django REST Framework, Linux, Git, Vue.js, HTML, CSS
🟢от 70 000 ₽ | 1–3 года
Junior Data Analyst / Data Analyst
🟢SQL, Atlassian Jira, Atlassian Confluence
🟢от 60 000 до 110 000 ₽ | 1–3 года
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
