Sobes.tech
Back to questions
Junior — Middle
102

Поделитесь деталями вашего последнего профессионального проекта или задачи, которую вы решали недавно.

Companies where asked
VK CloudVK Cloud

Answer from AI

sobes.tech AI

В моём последнем проекте на Go я разрабатывал REST API для системы управления задачами. Основная задача заключалась в создании надёжного и масштабируемого сервиса, который позволял бы создавать, обновлять и удалять задачи, а также фильтровать их по статусу и приоритету.

Для этого я использовал стандартный пакет net/http для обработки запросов, а также библиотеку gorilla/mux для маршрутизации. В качестве хранилища данных применял PostgreSQL с использованием ORM GORM.

Пример обработчика создания задачи:

func createTaskHandler(w http.ResponseWriter, r *http.Request) {
    var task Task
    err := json.NewDecoder(r.Body).Decode(&task)
    if err != nil {
        http.Error(w, "Invalid input", http.StatusBadRequest)
        return
    }
    if err := db.Create(&task).Error; err != nil {
        http.Error(w, "Failed to create task", http.StatusInternalServerError)
        return
    }
    w.WriteHeader(http.StatusCreated)
    json.NewEncoder(w).Encode(task)
}

Также я реализовал middleware для логирования запросов и обработки ошибок, что улучшило поддержку и отладку сервиса.