ch
Feedback
Программистика

Программистика

关闭频道

Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager

显示更多
5 578
订阅者
-324 小时
-427
-12830
帖子存档
🗺 Roadmap.sh Python: Карта развития питониста Roadmap.sh Python — визуальная карта для изучения Python с разбором по направлениям: backend, data science, DevOps. Показывает последовательность обучения и зависимости между навыками. Помогает не прыгать как сумасшедший.
🌐Ссылка на сервис
Программистика || #Ресурсы

Cursor — твой AI-партнёр в разработке ПО Устали тратить время на поиск ошибок и шаблонный код? Cursor — это среда разработки
Cursor — твой AI-партнёр в разработке ПО Устали тратить время на поиск ошибок и шаблонный код? Cursor — это среда разработки нового поколения с искусственным интеллектом, которая помогает писать, анализировать и улучшать код быстрее, чем когда-либо. Что умеет Cursor: • Пишет и дополняет код на естественном языке • Находит и исправляет ошибки • Предлагает оптимизации и лучшие практики • Объясняет сложные участки кода • Работает как полноценная IDE, только умнее Сосредоточьтесь на архитектуре и логике — рутину возьмёт на себя ИИ. Поставщик Cursor в России — компания «Системный софт». Оплата в рублях, закрывающие документы и поддержка при подключении. Попробуйте Cursor уже сегодня: https://clck.ru/3QJ7Ke Перейти на сайт #реклама 16+ syssoft.ru О рекламодателе

🖥 Django-Tastypie — это библиотека для создания REST API в Django, которая упрощает процесс работы с данными, сериализацией
🖥 Django-Tastypie — это библиотека для создания REST API в Django, которая упрощает процесс работы с данными, сериализацией и аутентификацией! Она поддерживает различные форматы данных (JSON, XML, YAML), позволяет работать как с SQL, так и NoSQL базами и предоставляет встроенные инструменты для фильтрации, сортировки и пагинации запросов. Tastypie минимизирует необходимость написания повторяющегося кода, позволяя разработчикам быстро создавать мощные API. 🐱 Ссылка на GitHub Программистика || #Library

"Ты че, дурак?" – базовая реакция сеньора на тех, кто покупает IT курсы Дело в том, что онлайн школы создают инкубаторных айт
"Ты че, дурак?" – базовая реакция сеньора на тех, кто покупает IT курсы Дело в том, что онлайн школы создают инкубаторных айтишников, которые в реальных условиях попросту зависнут. Трушные ребята учатся на жизненных каналах для айтишников. Вот топ-5 от тимлида из Сбера: ⚙️ Технолоджия – для тех, кто хочет быть в курсе новостей в айти 🧠 Ai-чница – способы превратить нейросети в заработок $$$ 💻 ИИ тебя заменит! – тенденции айти рынка в связке с нейросетями 4️⃣ Войти в IT – тонны бесплатного обучения для прогеров 😄 IT индус – сборник айти мемов

Мощный Python: паттерны и стратегии современного программирования Как стать экспертом в создании сложных и мощных приложений
Мощный Python: паттерны и стратегии современного программирования
Как стать экспертом в создании сложных и мощных приложений на Python, не тратя время на повторение уже известных основ или перечисление ненужных функций? Аарон Максвелл фокусируется на первопринципах Python, которые действуют подобно катализаторам для всего остального: достаточно получить 5 % знаний в области программирования, чтобы остальные 95 % подтянулись автоматически.
Программистика|| #Книги

Где безопаснее всего хранить API_KEY и DATABASE_URL?
Anonymous voting

Теперь перед каждым коммитом автоматически:
🟢 Форматируется код (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 из коробки
Программистика || #Статья

🐱 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.0
7️⃣ 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
Продолжение снизу⤵️ Программистика || #Статья

30-летний я, который наконец-то нашёл работу джуном. 😎 Мой 19-летний тимлид узнаёт все мемы из канала «Программист». ⭐️
30-летний я, который наконец-то нашёл работу джуном. 😎 Мой 19-летний тимлид узнаёт все мемы из канала «Программист». ⭐️

СИМВОЛ. Новогодние скидки до 12% в готовом квартале Выбирайте квартиру с праздничной выгодой в квартале СИМВОЛ. Чтобы использовать все преимущества центра Москвы. И всюду успевать без спешки. И любоваться столицей из панорамных окон. - Историчекий район Лефортово - 2 км от Садового кольца - Дома внутри ТТК - 100+ открытых объектов инфраструктуры, в том числе Бауманский лицей - В домах - фитнес, детские, переговорные, коворкинги - Собственный парк "Зеленая река" площадью 10 га - 3 станции метро в пешей доступности Не пропустите новогодние скидки в готовом квартале. Спешите с покупкой, количество квартир ограничено! Узнать больше #реклама simvol-kvartal.ru О рекламодателе

🐈 Python для собеседования Python востребован в разных отраслях. Это машинное обучение, искусственный интеллект, аналитика д
🐈 Python для собеседования Python востребован в разных отраслях. Это машинное обучение, искусственный интеллект, аналитика данных, создание программных продуктов и внутренних утилит. Очень часто Python идёт как дополнительный навык при требованиях в вакансии. Данный курс может дать быстрое представление о языке, что позволит проявить осведомлённость на собеседовании.
🌐 Ссылка
Программистика || #Course

👩‍💻 bpytop — это современный инструмент мониторинга ресурсов, который работает на Linux, macOS и FreeBSD! Он отображает дан
👩‍💻 bpytop — это современный инструмент мониторинга ресурсов, который работает на Linux, macOS и FreeBSD! Он отображает данные об использовании процессора, памяти, дисков, сети и запущенных процессов в удобном и визуально привлекательном интерфейсе. Написанный на Python, bpytop предлагает гибкие возможности настройки и легкость использования, включая полную поддержку управления с помощью мыши.
🐱 Ссылка на GitHub Программистика || #Library

Кулинарные тренды начинаются здесь! Food.ru — это медиа, где тренды в еде и стиле жизни создаете вы Мы объединяем гурманов и тех, кто только начинает свой путь в кулинарии. Наша платформа поможет вам: • Удивить близких вкусными блюдами • Позаботиться о здоровье семьи • Следить за КБЖУ легко и удобно • Открывать новые рецепты каждый день Присоединяйтесь к сообществу, где: ✨ Вы можете делиться своими кулинарными находками ✨ Находите единомышленников и друзей по вкусу ✨ Открываете новые идеи — от полезных рецептов до стильных решений для дома Создавайте тренды вместе с Food.ru!❤️ Узнать больше #реклама food.ru О рекламодателе

🔥 Логируй как профи: что не так с `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 — пишите темы, мы с радостью сделаем! Программистика || #Статья

То, что доктор прописал! 9 самых необходимых IT-каналов, которые должен читать каждый айтишник: Доктор Python — коды, хаки и
То, что доктор прописал! 9 самых необходимых IT-каналов, которые должен читать каждый айтишник: Доктор Python — коды, хаки и фичи. Доктор Techlogy — свежие технологии и их применение. Доктор Cyber — информационная безопасность без скуки. Доктор GitHub — лучшие репозитории от врача. Доктор IT — всё о цифровом мире и его инсайтах. Доктор GameDev — рецепты создания игр и гайды. Доктор GPT — лучшие промпты и сервисы ИИ. Доктор Memes — смех лечит лучше любых апдейтов. Доктор C++ — фичи, советы и код без боли. Подпишись, чтобы стать профессором, а не пациентом.

ЧТО ЖЕ ДЕЛАТЬ НА PYTHON? Проекты на Python за 11 минут
🎥 Первоисточник
Программистика|| #video

Repost from N/a
ЧТО ЖЕ ДЕЛАТЬ НА PYTHON? Проекты на Python за 11 минут
🎥 Первоисточник
Программистика|| #video

🖥 Flask-Moment — расширение для Flask, которое интегрирует Moment.js для форматирования дат и времени в шаблонах Jinja2! С п
🖥 Flask-Moment — расширение для Flask, которое интегрирует Moment.js для форматирования дат и времени в шаблонах Jinja2! С помощью этого инструмента можно легко отображать даты и время в удобном формате, включая поддержку локализации, временных зон и обновлений времени в реальном времени. Основное применение — улучшение отображения временных данных в веб-приложениях Flask. Flask-Moment позволяет использовать Moment.js прямо в шаблонах, избавляя разработчиков от необходимости самостоятельно писать сложный код JavaScript для обработки времени.
🐱 Ссылка на GitHub Программистика || #Library