Dev Ascent
7 subscribers
8 photos
2 links
Строю карьеру в IT с 15 лет, транслирую свой путь

Backend-разработчик: Go | Python | Микросервисы
Цель — Senior к 18 годам и финансовая независимость.
Про жизнь: путь, ошибки, личный опыт

Делюсь кодом, архитектурой и реальным опытом.

Связь: @CodesForge
Download Telegram
Channel created
🚀 Запускаю Dev Ascent — канал о профессиональном росте в разработке

Меня зовут Влад, мне 15 лет. Я backend-разработчик, и сегодня начинаю этот технический дневник.

Что здесь будет?
- Реальные проекты на Go и Python с полным разбором архитектуры
- Глубокая работа с базами данных: индексы, оптимизация запросов, EXPLAIN ANALYZE
- System design и микросервисные паттерны
- Еженедельные отчеты о прогрессе

Мой стек:
- Python: FastAPI, SQLAlchemy, Pytest
- Go: Gin, RabbitMQ, WebSockets
- Базы: PostgreSQL, Redis, SQLite3
- Инфраструктура: Docker
Изучаю: GORM, индексы, транзакции, мониторинг

Моя цель — выйти на уровень Senior к 18 годам.
Не как громкое заявление, а как измеримый план развития. Буду делиться:
- Какими темами занимаюсь каждый месяц
- Какие проекты создаю для роста
- Какие ошибки совершаю и как их исправляю

Мои проекты на GitHub:
https://github.com/CodesForge

Здесь не будет "как установить Python". Только технический контент от практикующего разработчика.

Присоединяйтесь к обсуждению! Какие темы хотели бы увидеть в первую очередь?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
📊 ИНДЕКСЫ В БАЗАХ ДАННЫХ: от теории к практике

Сегодня разбираем индексы на примере моего проекта с RabbitMQ:

🔍 ПРОБЛЕМА:
Один из запросов в микросервисе работал 500ms
EXPLAIN показывал "Seq Scan" - полное сканирование таблицы

🎯 РЕШЕНИЕ:
Добавил составной индекс:
CREATE INDEX idx_user_covering ON users
(username, email) INCLUDE (created_at);

📈 РЕЗУЛЬТАТ:
- Время запроса: 500ms → 15ms
- Тип сканирования: Seq Scan → Index Scan
- Нагрузка на БД: -80%

💡 ВЫВОДЫ:
1. Составные индексы > несколько одиночных
2. Covering indexes избегают обращений к таблице
3. ORDER BY и WHERE должны использовать одни поля индекса

📚 ЧТО ИЗУЧИЛ:
- B-tree vs Hash индексы
- Partial indexes (WHERE condition)
- Как читать EXPLAIN ANALYZE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚡️ RabbitMQ vs HTTP: когда что использовать

HTTP — для мгновенного ответа:
• Логин пользователя
• Оплата заказа
• Проверка баланса

RabbitMQ — для фоновых задач:
• Отправка email
• Обработка изображений
• Сбор аналитики
• Нотификации

💡 Правило:
Нужен ответ сейчас → HTTP
Можно подождать → RabbitMQ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🚀 BACKGROUND TASKS В FASTAPI: МГНОВЕННЫЕ ОТВЕТЫ API

Сегодня о том как делать API в 100 раз быстрее с Background Tasks.

🎯 СУТЬ:
Клиент получает ответ мгновенно, а тяжелые операции выполняются в фоне после отправки ответа.

⚡️ РЕЗУЛЬТАТ:
Было: 3+ секунды ожидания
Стало: 100ms мгновенный ответ
Производительность: +3000%

💡 КОГДА ИСПОЛЬЗОВАТЬ:
Отправка email
Обработка файлов
Сложные вычисления
Логирование действий

🚨 ВАЖНО:
Не для критичных операций! Для гарантий используйте очереди (Celery, RabbitMQ).

Background Tasks — это суперсила для быстрых API! 🚀

А вы используете фоновые задачи? Делитесь в комментах! 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🚀 Вышла моя библиотека secure-python-utils для FastAPI/Python!

Всем привет!
Выпустил свой первый production-ready toolkit для backend: secure-python-utils.

Внутри:

• Argon2-хэширование паролей (безопасность)
• Rate Limiting на Redis (анти-спам, ограничение запросов)
• Logger для дебага и аудита

Почему стоит попробовать?

• Простая интеграция — пара строк, и сервис защищён
• Идеально для pet-проектов, стажировок и ваших стартапов
• Только рабочие паттерны, чистый readable код, как у профи

GitHub:
https://github.com/CodesForge/secure-python-utils

Установка:
pip install secure-python-utils

Если нужны примеры — глянь картинки: покажу, как за минуту добавить защиту и логи!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔥 Уровни изоляции транзакций в PostgreSQL
- Когда несколько пользователей работают с базой одновременно, без контроля начинается хаос.

Чтобы этого избежать, в SQL есть 4 уровня изоляции.

1️⃣ Read Uncommitted
— Технически можно читать незакоммиченные данные (грязное чтение).
— В PostgreSQL не поддерживается — автоматом повышается до Read Committed.

2️⃣ Read Committed (по умолчанию)
— Видишь только то, что уже закоммитили другие.
❗️ Проблема: неповторяющееся чтение — данные могут измениться за время транзакции.

3️⃣ Repeatable Read
— Данные фиксируются на момент первого чтения.
— Защита от неповторяющегося чтения.
— В PostgreSQL — ещё и от фантомов, но могут быть ошибки сериализации.

4️⃣ Serializable
— Транзакции выполняются так, будто идут одна за другой.
— Полная изоляция, но выше шанс конфликта и повторного запуска.

🎯 Итог
Чем выше уровень изоляции — тем меньше аномалий,
⚠️ но больше блокировок и вероятность ошибок.

👉 Для большинства проектов хватает дефолтного Read Committed.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2👍1