hdonoblepsias Δημοσ. 13 Νοεμβρίου 2018 Δημοσ. 13 Νοεμβρίου 2018 Καλησπέρα. Ασχολούμε αρκετά με php και MySQL και θέλω να προσπαθήσω κάτι σε προγράμμα windows με python. Ας πούμε κάτι σαν addressbook. Τι βάσεις χρησιμοποιούνται συνήθως σε τέτοια προγράμματα? Συνδέεται το προγραμμα με κάποια βάση(και ποια)? Ή τα δεδομένα αποθηκεύονται σε κάποιο αρχείο μέσα στο φάκελο της εφαρμογής?
pmav99 Δημοσ. 13 Νοεμβρίου 2018 Δημοσ. 13 Νοεμβρίου 2018 H απλούστερη relational βάση είναι η sqlite η οποία μάλιστα περιέχεται στην standard library της python οπότε δεν χρειάζεται να εγκαταστήσεις τίποτα. Tα προτεινόμενα use cases της sqlite μπορείς να τα βρεις εδώ. Αν τα δεδομένα σου είναι σχετικά relational νομίζω ότι είναι σίγουρα καλύτερο να χρησιμοποιήσεις sqlite παρά flat files. Συνήθως αποφεύγεις την sqlite: αν έχεις πάρα πολλά δεδομένα(αυθαίρετο νούμερο αλλά θα έλεγα 1GB+) αν χρειάζεσαι heavy concurrent writes (πχ ένα μεγάλο website). ΙΜΗΟ για αυτό που θες να κάνεις η sqlite είναι μια χαρά, και σου γλυτώνει το setup και το administration της Mysql. Με αυτό τον τρόπο θα εστιάσεις σε αυτά που θες να μάθεις και όχι στη Mysql.
hdonoblepsias Δημοσ. 13 Νοεμβρίου 2018 Μέλος Δημοσ. 13 Νοεμβρίου 2018 Οκ παίδες σας ευχαριστώ πολύ, θα διαβάσω τώρα αυτά που στείλατε. Δεν ήξερα ότι έχει η python βδ. Εννοείται ότι η βάση θα περιέχει πολύ λίγα πράγματα που ούτε κάν θα πλησιάσει τα 100mb, ποσό μάλλον το 1gb. Επειδή όμως ποτέ δεν ξέρεις τι γίνεται, αν χρειαστεί αργότερα υπάρχει τρόπος μετάβασης σε άλλη βάση που θα μπορεί να διαχειριστεί μεγάλο όγκο? υ.γ. Με αφορμή την υπογραφή σου @pmav99, να κάνω και άλλη μια ερώτηση για να μην ανοίγω νέο νήμα. Ένας προγραμματιστής που φτιάχνει ιστοσελίδες με php,MySQL,js,html,css κλπ ή εφαρμογές για υπολογιστή με python και σε πρώτη φάση ΔΕΝ τον ενδιαφέρουν δικτυακές εγκαταστάσεις, σέρβερ κλπ, όπως εγώ, θα μου προσφέρει κάτι παραπάνω το Linux? Ξέρω τα προτερήματα του σε δίκτυα, σταθερότητα κλπ, αλλά σε αυτό που εξήγησα ότι θέλω εγώ, είναι αναγκαίο να αφήσω το macOS (σε αυτό δουλεύω), να πάω σε Linux?
pmav99 Δημοσ. 14 Νοεμβρίου 2018 Δημοσ. 14 Νοεμβρίου 2018 (επεξεργασμένο) Προσωπικά θα σου πρότεινα να ξεκινήσεις απευθείας με τη βάση δεδομένων που πιστεύεις ότι θα καταλήξεις. Αλλαγή βάσης δεδομένων μπορεί να γίνει μεν, αλλά εκτός και αν το schema της βάσης είναι πολύ απλό, η διαδικασία δεν θα είναι κατά ανάγκη εύκολη και δεν αποκλείεται να χρειαστείς και αλλαγές στον κώδικα. Όπως και αν έχει, αν σκοπεύεις να κάνεις κάτι τέτοιο, τότε, για να ελαχιστοποιήσεις τις αλλαγές στον κώδικα συνήθως προτείνεται να χρησιμοποιήσεις κάποιο ORM (η υποστήριξη για διαφορετικές βάσεςι δεδομένων είναι ένα από τα textbook usecases των ORMs). To, με διαφορά, καλύτερο/ισχυρότερο ORM στην Python (ίσως και όχι μόνο σε Python...) είναι η SQLAlchemy αλλά να ξέρεις ότι θέλει διάβασμα... BTW, σε γενικές γραμμές, η χρήση ORM προτείνεται ανεξάρτητα από το αν θα αλλάξεις βάση δεδομένων στην πορεία. Αλλά έχει learning curve... Anyway, αν αποφασίσεις να παίξεις με raw SQL, τότε records is your friend. 32 λεπτά πριν, hdonoblepsias είπε να κάνω και άλλη μια ερώτηση για να μην ανοίγω νέο νήμα. Ένας προγραμματιστής που φτιάχνει ιστοσελίδες με php,MySQL,js,html,css κλπ ή εφαρμογές για υπολογιστή με python και σε πρώτη φάση ΔΕΝ τον ενδιαφέρουν δικτυακές εγκαταστάσεις, σέρβερ κλπ, όπως εγώ, θα μου προσφέρει κάτι παραπάνω το Linux? Ξέρω τα προτερήματα του σε δίκτυα, σταθερότητα κλπ, αλλά σε αυτό που εξήγησα ότι θέλω εγώ, είναι αναγκαίο να αφήσω το macOS (σε αυτό δουλεύω), να πάω σε Linux? Όχι δεν είναι αναγκαίο, αλλά να ξέρεις ότι αν θες να αναπτύξεις windows εφαρμογές με python, θα χρειαστείς κατ' ελάχιστον ένα windows virtual machine. Καμιά φορά, ανάλογα με το τι κάνεις, μπορεί να χρειάζεται και κανονική εγκατάσταση. Ερώτηση: Αν σε ενδιαφέρουν οι desktop εφαρμογές σε windows γιατί Python και όχι C#; Επεξ/σία 14 Νοεμβρίου 2018 από pmav99 1
Επισκέπτης Δημοσ. 14 Νοεμβρίου 2018 Δημοσ. 14 Νοεμβρίου 2018 Μπορείς να χρησιμοποιήσεις και binary files ώστε να μην έχεις καθόλου databases.
masteripper Δημοσ. 14 Νοεμβρίου 2018 Δημοσ. 14 Νοεμβρίου 2018 Δεν μπορώ να καταλάβω το concept της ερώτησης....άλλο πράγμα η γλώσσα προγραμματισμού άλλο πράγμα η βάση δεδομένων....απο την στιγμή που έχεις κάποιας γνώση σε MySQL συνεχίζεις κατα τας γραφάς...δεν υπάρχει η έννοια "ΒΔ Υ για γλώσσα Χ"....βέβαια κάποιος θα πεταχτεί και θα αναφέρει LAMP,MEAN...αλλά αυτό δεν σημαίνει απολύτως τίποτα...όπως μια χαρά δουλεύει η PHP με όλες τις βάσεις (οπότε θα μπορούσαμε κάλιστα να είχαμε LAPP, LASP,LAFP (PostGre,Sqlite,FireBird))....το ίδιο ισχύει και για την Python και όλες τις υπόλοιπες γλώσσες...απλώς επιλέγεις μια βάση δεδομένων της οποίας οι δυνατότητες και τα χαρακτηριστικά σε εξυπηρετούν...ειδικά αν έχεις και κάποια γνώση ακόμα καλύτερα...και απλώς κάνεις την διασύνδεση.... 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα