Программистика
Закрытый канал
Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager
Больше5 579
Подписчики
-324 часа
-427 дней
-12830 день
Архив постов
5 578
🗺 Roadmap.sh Python: Карта развития питониста
Roadmap.sh Python — визуальная карта для изучения Python с разбором по направлениям: backend, data science, DevOps. Показывает последовательность обучения и зависимости между навыками. Помогает не прыгать как сумасшедший.
🌐Ссылка на сервисПрограммистика || #Ресурсы
5 578
Cursor — твой AI-партнёр в разработке ПО
Устали тратить время на поиск ошибок и шаблонный код?
Cursor — это среда разработки нового поколения с искусственным интеллектом, которая помогает писать, анализировать и улучшать код быстрее, чем когда-либо.
Что умеет Cursor:
• Пишет и дополняет код на естественном языке
• Находит и исправляет ошибки
• Предлагает оптимизации и лучшие практики
• Объясняет сложные участки кода
• Работает как полноценная IDE, только умнее
Сосредоточьтесь на архитектуре и логике — рутину возьмёт на себя ИИ.
Поставщик Cursor в России — компания «Системный софт».
Оплата в рублях, закрывающие документы и поддержка при подключении.
Попробуйте Cursor уже сегодня: https://clck.ru/3QJ7Ke
Перейти на сайт
#реклама 16+
syssoft.ru
О рекламодателе
5 578
🖥 Django-Tastypie — это библиотека для создания REST API в Django, которая упрощает процесс работы с данными, сериализацией и аутентификацией!
Она поддерживает различные форматы данных (JSON, XML, YAML), позволяет работать как с SQL, так и NoSQL базами и предоставляет встроенные инструменты для фильтрации, сортировки и пагинации запросов. Tastypie минимизирует необходимость написания повторяющегося кода, позволяя разработчикам быстро создавать мощные API.
🐱 Ссылка на GitHub
Программистика || #Library
5 578
"Ты че, дурак?" – базовая реакция сеньора на тех, кто покупает IT курсы
Дело в том, что онлайн школы создают инкубаторных айтишников, которые в реальных условиях попросту зависнут.
Трушные ребята учатся на жизненных каналах для айтишников. Вот топ-5 от тимлида из Сбера:
⚙️ Технолоджия – для тех, кто хочет быть в курсе новостей в айти
🧠 Ai-чница – способы превратить нейросети в заработок $$$
💻 ИИ тебя заменит! – тенденции айти рынка в связке с нейросетями
4️⃣ Войти в IT – тонны бесплатного обучения для прогеров
😄 IT индус – сборник айти мемов
5 578
Мощный Python: паттерны и стратегии современного программирования
Как стать экспертом в создании сложных и мощных приложений на Python, не тратя время на повторение уже известных основ или перечисление ненужных функций? Аарон Максвелл фокусируется на первопринципах Python, которые действуют подобно катализаторам для всего остального: достаточно получить 5 % знаний в области программирования, чтобы остальные 95 % подтянулись автоматически.Программистика|| #Книги
5 578
Теперь перед каждым коммитом автоматически:
🟢 Форматируется код (Black) 🟢 Проверяется стиль (Flake8) 🟢 Удаляются лишние пробелы 🟢 Проверяются большие файлы8️⃣ GitHub Actions для CI/CD Создай
.github/workflows/test.yml:
name: Run Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests
run: |
pytest tests/
- name: Lint with flake8
run: |
pip install flake8
flake8 src/
👍Теперь при каждом PR автоматически запускаются тесты и проверки.
🧪 Бонус: как откатить ошибки
Отменить последний коммит (не запушен):
git reset --soft HEAD~1 # Сохранить изменения
git reset --hard HEAD~1 # Удалить изменения
Отменить изменения в файле:
git checkout -- filename.py
Вернуться к конкретному коммиту:
git log # Найди хеш коммита
git checkout <commit-hash>
Удалить файл из Git, но оставить локально:
git rm --cached secret.env
💡 Запомни:
⭐️ .gitignore — твоя первая линия защиты ⭐️ Секреты — только в .env, никогда в код ⭐️ Коммиты — осмысленные, не "asdasd" ⭐️ Ветки — для каждой фичи отдельно ⭐️ requirements.txt — с фиксированными версиями ⭐️ Pre-commit hooks — автоматизация спасает ⭐️ GitHub Actions — CI/CD из коробкиПрограммистика || #Статья
5 578
🐱 Git + Python: как не убить проект за 5 коммитов
Работаешь с Python? Используешь Git? Думаешь, что знаешь, как это делать правильно? Скорее всего, ты уже сделал несколько критических ошибок, которые вернутся к тебе через месяц.
🧱 Типичные ошибки питонистов в Git
👍 Коммитят `.pyc` файлы и `__pycache__/`:
git add .
git commit -m "fixed bug"
Результат: репозиторий загажен скомпилированными файлами, которые меняются при каждом запуске.
👍 Забывают `.env` и токены утекают в публичный репо:
API_KEY = "sk-123456789abcdef"
DATABASE_URL = "postgresql://user:pass@localhost/db"
Запушил — всё, твой ключ в руках ботов через 5 минут.
👍 Коммиты без смысла: "fix", "update", "asdasd", "final final FINAL v3"
Через неделю ты сам не помнишь, что там было.
👍 Не используют ветки — весь код в main:
Один баг — весь проект сломан. Откатить? А как?
👍 Гигантские коммиты на 50+ файлов:
git add .
git commit -m "added everything"
Найти, где именно появился баг — удачи.
📌 Как делать правильно
1️⃣ Правильный `.gitignore` для Python
Создай .gitignore в корне проекта:
# Байт-код Python
__pycache__/
*.py[cod]
*$py.class
*.so
# Виртуальные окружения
venv/
env/
ENV/
.venv
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# Переменные окружения и секреты
.env
.env.local
*.pem
*.key
# Логи
*.log
# Тестовые данные
.pytest_cache/
.coverage
htmlcov/
# Зависимости
*.egg-info/
dist/
build/
# Jupyter
.ipynb_checkpoints/
# Базы данных
*.db
*.sqlite3
# OS
.DS_Store
Thumbs.db
📎 Не хочешь писать руками?
➡️Используй
2️⃣ Храни секреты в `.env`, а не в коде
Вместо этого:
API_KEY = "sk-123456789" # НИКОГДА ТАК!
Делай так:
import os
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv("API_KEY")
Файл .env:
API_KEY=sk-123456789
DATABASE_URL=postgresql://user:pass@localhost/db
И ОБЯЗАТЕЛЬНО добавь .env в .gitignore!
3️⃣ Осмысленные коммиты
Плохо:
git commit -m "fix"
git commit -m "update"
git commit -m "aaaaa"
Хорошо:
git commit -m "fix: исправлена ошибка деления на ноль в calc.py"
git commit -m "feat: добавлена функция отправки email"
git commit -m "refactor: переписан парсер JSON для улучшения производительности"
Используй Conventional Commits:
- feat: — новая функция - fix: — исправление бага - refactor: — рефакторинг без изменения логики - docs: — изменение документации - test: — добавление тестов - chore: — рутинные задачи (обновление зависимостей и т.д.)4️⃣ Используй ветки Никогда не пиши в
main напрямую:
# Создаём ветку для новой фичи
git checkout -b feature/user-authentication
# Работаем, коммитим
git add auth.py
git commit -m "feat: добавлена аутентификация пользователей"
# Пушим ветку
git push -u origin feature/user-authentication
# Создаём Pull Request на GitHub
# Мержим только после ревью
5️⃣ Структура Python-проекта в Git
Правильная структура:
my-project/ ├── .git/ ├── .gitignore ├── .env.example # Шаблон для .env (БЕЗ реальных секретов) ├── README.md ├── requirements.txt # Зависимости ├── setup.py # Если пакет ├── src/ # Исходники │ ├── __init__.py │ ├── main.py │ └── utils.py ├── tests/ # Тесты │ ├── __init__.py │ └── test_main.py └── docs/ # Документация6️⃣ `requirements.txt` под контролем Фиксируй точные версии:
# Плохо (версии плавают)
requests
flask
# Хорошо (фиксированные версии)
pip freeze > requirements.txt
Результат requirements.txt:
requests==2.31.0 flask==3.0.0 python-dotenv==1.0.07️⃣ Pre-commit hooks — автоматизация проверок Установи
pre-commit:
pip install pre-commit
Создай .pre-commit-config.yaml:
repos:
- repo: https://github.com/psf/black
rev: 23.11.0
hooks:
- id: black
language_version: python3.11
- repo: https://github.com/pycqa/flake8
rev: 6.1.0
hooks:
- id: flake8
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
Активируй:
pre-commit install
Продолжение снизу⤵️
Программистика || #Статья5 578
30-летний я, который наконец-то нашёл работу джуном.
😎 Мой 19-летний тимлид узнаёт все мемы из канала «Программист». ⭐️
5 578
СИМВОЛ. Новогодние скидки до 12% в готовом квартале
Выбирайте квартиру с праздничной выгодой в квартале СИМВОЛ. Чтобы использовать все преимущества центра Москвы. И всюду успевать без спешки. И любоваться столицей из панорамных окон.
- Историчекий район Лефортово
- 2 км от Садового кольца
- Дома внутри ТТК
- 100+ открытых объектов инфраструктуры, в том числе Бауманский лицей
- В домах - фитнес, детские, переговорные, коворкинги
- Собственный парк "Зеленая река" площадью 10 га
- 3 станции метро в пешей доступности
Не пропустите новогодние скидки в готовом квартале. Спешите с покупкой, количество квартир ограничено!
Узнать больше
#реклама
simvol-kvartal.ru
О рекламодателе
5 578
🐈 Python для собеседования
Python востребован в разных отраслях. Это машинное обучение, искусственный интеллект, аналитика данных, создание программных продуктов и внутренних утилит. Очень часто Python идёт как дополнительный навык при требованиях в вакансии. Данный курс может дать быстрое представление о языке, что позволит проявить осведомлённость на собеседовании.
🌐 СсылкаПрограммистика || #Course
5 578
👩💻 bpytop — это современный инструмент мониторинга ресурсов, который работает на Linux, macOS и FreeBSD! Он отображает данные об использовании процессора, памяти, дисков, сети и запущенных процессов в удобном и визуально привлекательном интерфейсе. Написанный на Python, bpytop предлагает гибкие возможности настройки и легкость использования, включая полную поддержку управления с помощью мыши.🐱 Ссылка на GitHub Программистика || #Library
5 578
Кулинарные тренды начинаются здесь!
Food.ru — это медиа, где тренды в еде и стиле жизни создаете вы
Мы объединяем гурманов и тех, кто только начинает свой путь в кулинарии. Наша платформа поможет вам:
• Удивить близких вкусными блюдами
• Позаботиться о здоровье семьи
• Следить за КБЖУ легко и удобно
• Открывать новые рецепты каждый день
Присоединяйтесь к сообществу, где:
✨ Вы можете делиться своими кулинарными находками
✨ Находите единомышленников и друзей по вкусу
✨ Открываете новые идеи — от полезных рецептов до стильных решений для дома
Создавайте тренды вместе с Food.ru!❤️
Узнать больше
#реклама
food.ru
О рекламодателе
5 578
🔥 Логируй как профи: что не так с `print()` и как писать логи правильно
Логирование — это как чёрный ящик самолёта: пока всё работает, про него не думаешь. Но когда что-то ломается, без него — катастрофа.
И да,
print() — это не логирование, даже если вы очень его любите.
🧱 Почему не print()?
🟢 print() не умеет разделять уровни сообщений (ошибка или просто инфо) 🟢 Его нельзя легко перенаправить в файл или на удалённый сервер 🟢 В продакшене вы не сможете отследить проблему, если логи разбросаны по консоли📌 Базовое логирование
import logging
logging.basicConfig(level=logging.INFO)
logging.info("Приложение запущено")
📎 basicConfig быстро включит логирование, но на продакшене лучше задавать формат и место хранения.
🎯 Уровни логов
🟢 DEBUG — детальная отладка 🟢INFO — обычная информация 🟢 WARNING — что-то подозрительное 🟢ERROR — ошибка, но система ещё жива 🟢CRITICAL — всё очень плохо📦 Логи в файл
logging.basicConfig(
filename='app.log',
level=logging.INFO,
format='%(asctime)s — %(levelname)s — %(message)s'
)
Теперь логи сохраняются в app.log с временем и уровнем.
🔄 Ротация логов
Чтобы файл логов не вырос до гигабайтов:
from logging.handlers import RotatingFileHandler
handler = RotatingFileHandler('app.log', maxBytes=2_000_000, backupCount=5)
logging.basicConfig(
handlers=[handler],
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
📎 При достижении 2MB файл заменяется, и хранится 5 последних копий.
🧪 Логируем ошибки с трассировкой
try:
1 / 0
except ZeroDivisionError:
logging.exception("Ошибка деления на ноль")
➡️logging.exception() автоматически добавляет traceback в лог.
💡 Запомни:
🟢 Не логируй пароли и токены 🟢 Разделяй уровни — не пиши error там, где warning 🟢 Настрой логи под продакшен заранее, а не когда уже горит🗣 Если хотите пост про цветные логи, логирование в JSON или интеграцию с Sentry — пишите темы, мы с радостью сделаем! Программистика || #Статья
5 578
То, что доктор прописал!
9 самых необходимых IT-каналов, которые должен читать каждый айтишник:
Доктор Python — коды, хаки и фичи.
Доктор Techlogy — свежие технологии и их применение.
Доктор Cyber — информационная безопасность без скуки.
Доктор GitHub — лучшие репозитории от врача.
Доктор IT — всё о цифровом мире и его инсайтах.
Доктор GameDev — рецепты создания игр и гайды.
Доктор GPT — лучшие промпты и сервисы ИИ.
Доктор Memes — смех лечит лучше любых апдейтов.
Доктор C++ — фичи, советы и код без боли.
Подпишись, чтобы стать профессором, а не пациентом.
5 578
Repost from N/a
ЧТО ЖЕ ДЕЛАТЬ НА PYTHON? Проекты на Python за 11 минут
🎥 ПервоисточникПрограммистика|| #video
5 578
🖥 Flask-Moment — расширение для Flask, которое интегрирует Moment.js для форматирования дат и времени в шаблонах Jinja2! С помощью этого инструмента можно легко отображать даты и время в удобном формате, включая поддержку локализации, временных зон и обновлений времени в реальном времени. Основное применение — улучшение отображения временных данных в веб-приложениях Flask. Flask-Moment позволяет использовать Moment.js прямо в шаблонах, избавляя разработчиков от необходимости самостоятельно писать сложный код JavaScript для обработки времени.🐱 Ссылка на GitHub Программистика || #Library
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
