Sobes.tech
Junior — Middle

Μοιραστείτε τις λεπτομέρειες του τελευταίου επαγγελματικού έργου ή εργασίας που λύσατε πρόσφατα.

sobes.tech AI

Απάντηση από 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, "Μη έγκυρη εισαγωγή", http.StatusBadRequest)
        return
    }
    if err := db.Create(&task).Error; err != nil {
        http.Error(w, "Αποτυχία δημιουργίας εργασίας", http.StatusInternalServerError)
        return
    }
    w.WriteHeader(http.StatusCreated)
    json.NewEncoder(w).Encode(task)
}

Επίσης, υλοποίησα middleware για την καταγραφή των αιτημάτων και τη διαχείριση σφαλμάτων, κάτι που βελτίωσε την υποστήριξη και την αποσφαλμάτωση της υπηρεσίας.