Реализовывали ли вы собственный проект на Python?

«Реализовывали ли вы собственный проект на Python?» — вопрос из категории Other, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да. Например, разрабатывал REST API на Flask для управления задачами (To-Do).

Ключевые технологии:

  • Flask — веб-фреймворк.
  • SQLAlchemy — ORM для работы с базой данных.
  • Flask-JWT-Extended — для аутентификации по JWT-токенам.

Пример реализации эндпоинта для создания задачи:

from flask import request, jsonify
from flask_jwt_extended import jwt_required, get_jwt_identity

@app.route('/api/tasks', methods=['POST'])
@jwt_required()
def create_task():
    """Создает новую задачу для аутентифицированного пользователя."""
    current_user_id = get_jwt_identity()
    data = request.get_json()

    # Валидация входных данных
    if not data or 'title' not in data:
        return jsonify({'error': 'Title is required'}), 400

    # Создание и сохранение задачи
    new_task = Task(
        title=data['title'],
        description=data.get('description', ''),
        user_id=current_user_id
    )
    db.session.add(new_task)
    db.session.commit()

    return jsonify({'id': new_task.id, 'title': new_task.title}), 201

Также использовал Python для:

  • Скриптов автоматизации (парсинг веб-страниц, обработка CSV/Excel файлов).
  • Анализа данных и ML-экспериментов с использованием библиотек pandas, numpy и scikit-learn.