Τετάρτη 3 Νοεμβρίου 2021

Art Gallery Database

Και φτάνω στην 150ή και τελευταία άσκηση, του εκπληκτικού βιβλίου "Python by Example" της Nichola Lacey. Εκεί ζητείται να φτιαχτεί μια πλήρως λειτουργική βάση δεδομένων, μιας υποθετικής γκαλερί, όπου από ένα γραφικό περιβάλλον θα μπορείς να κάνεις αναζήτηση με βάση 4 διαφορετικά κριτήρια (καλλιτέχνης, μέσο ζωγραφικής, τιμή μεγαλύτερη ή μικρότερη) και θα μπορείς να προσθαφαιρείς έργα τέχνης ή στοιχεία επικοινωνίας καλλιτεχνών.

Χρησιμοποιήθηκε η Tkinter για το γραφικό περιβάλλον, η SQLite για την βάση δεδομένων και 297 γραμμές κώδικα στην Python 3. Είναι το πρώτο project που φτιάχνεται κατά παραγγελία, έστω και μιας συγγραφέως ενός βιβλίου στην Python.

Το πρώτο πρόβλημα που έπρεπε να ξεπεράσω σαν νέος προγραμματιστής είναι το πως γίνεται ένα κουμπί αναζήτησης να καταλήγει σε 4 διαφορετικά functions. Όι γνωρίζοντας από Tkinter ξέρουν πως με ένα κουμπί συνδέεις μόνο 1 function. Μετά ήταν και το γραφικό περιβάλλον, που θα μπουν τα κουμπιά, που η αναζήτηση κλπ.

Το τελικό αποτέλεσμα δεν είναι τελείως αποκρουστικό για 2 ημερών δουλειά. Σημασία έχει η δημιουργία μιας πλήρους database που μπορεί να διαχειριστεί εκατομμύρια εγγραφές με πλήρη αναζήτηση και βάλε-βγάλε πρακτικά όλων των στοιχείων, ανάλογα με τις ανάγκες του καθενός.

Το αρχείο είναι ελεύθερο για όποιον θέλει να το κατεβάσει εδώ. Το password είναι πάντα το 1234 και στάλθηκε false positive σε όσα antivirus το έβγαλαν σαν ιό. Σε μερικές μέρες θα μπει σε white list.


Υπόψιν ότι για να γίνει κανονική χρήση του προγράμματος, θα πρέπει τα αρχεία να αποσυμπιεστούν και να παραμείνουν και τα 4 στον ίδιο φάκελο, σε διαφορετική περίπτωση το db αρχείο δεν μπορεί να κάνει save όταν είναι συμπιεσμένο και οι αλλαγές θα χάνονται με την έξοδο.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου