OrthCal

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: OrthCal

Δημοσίευσηαπό evolgen » 14 Ιούλ 2012, 21:02

konnn έγραψε:Ήρθε αναβάθμιση....

Ναι, έκανα κάποιες αλλαγές που μου πρότειναν για το διαγωνισμό, αλλά τίποτα άξιο αναφοράς.

pc_magas έγραψε:Η απλά να κάνεις μια βάση δεδομένων όπου μέσω της βάσης αυτής να αντλεί τις πληροφορίες. Ήδη έχεις κάνει την μισή δουλεία με να τους εμφανίζει σε ένα παράθυρο....

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

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: OrthCal

Δημοσίευσηαπό simosx » 15 Ιούλ 2012, 16:15

evolgen έγραψε:Φαντάζομαι πως θα μπορούσα αλλά είμαι τελείως άσχετος, όσον αφορά βάσεις δεδομένων. :geek:


Μπορεί να γίνει με SQLite σχετικά εύκολα. Θα είναι μια νέα εξάρτηση στο λογισμικό. Αν χρειαστεί, το κάνεις.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: OrthCal

Δημοσίευσηαπό Qdata » 15 Ιούλ 2012, 20:03

simosx έγραψε:
evolgen έγραψε:Φαντάζομαι πως θα μπορούσα αλλά είμαι τελείως άσχετος, όσον αφορά βάσεις δεδομένων. :geek:


Μπορεί να γίνει με SQLite σχετικά εύκολα. Θα είναι μια νέα εξάρτηση στο λογισμικό. Αν χρειαστεί, το κάνεις.


Και εγώ σου προτείνω την SQLite που είναι διαθέσιμη στην standar library της python. Αυτό σημαίνει πως δεν θα χρειαστεί το πρόγραμμά σου να εγκαταστήσει modules στην βιβλιοθήκη του χρήστη ώστε να τρέξει. Είναι εύκολη στην χρήση και χρησιμοποιεί εντολές SQL. Επίσης αν χρειαστείς οδηγούς ή ακόμα και βοήθεια πες μου. :)
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: OrthCal

Δημοσίευσηαπό evolgen » 15 Ιούλ 2012, 20:24

Ευχαριστώ πολύ για τις προτάσεις και τους δύο! Επειδή είμαι άσχετος όπως ξαναείπα, τι θα μου προσφέρει μια βάση συγκριτικά με αυτό που έχω τώρα; Αυτή τη στιγμή έχω αρχεία απλού κειμένου, καθένα από τα οποία περιλαμβάνει τους Αγίους ενός μήνα, χωρισμένους σε μέρες. Παίρνω το αποτέλεσμα διαβάζοντας τον τρέχοντα μήνα με regular expressions της Perl. Αν ήθελα να προσθέσω πηγές από άλλα site, θα πρόσθετα μερικά αρχεία απλού κειμένου ακόμα.

Τι θα μπορούσε να κάνει καλύτερα η βάση; Ειλικρινά ρωτάω λόγω άγνοιας. :)

EDIT: Το κύριο κομμάτι του κώδικα που διαβάζει τους αγίους είναι γραμμένο σε Perl, οπότε θα είχα μια ακόμα εξάρτηση για το sqlite module της Perl. Μικρό το κακό.
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: OrthCal

Δημοσίευσηαπό Qdata » 15 Ιούλ 2012, 22:26

Με μία βάση δεδομένων θα μπορείς να αποθηκεύσεις οτιδήποτε χρειάζεσαι για την λειτουργία του προγράμματός σου σε ένα αρχείο βάσης(και όχι σε πολλά αρχεία κειμένου κτλ). Πχ Φαντάσου ένα αρχείο agioi.db το οποίο θα είναι και η βάση δεδομένων. Σε αυτή την βάση θα υπάρχουν 12 tables, 1 για κάθε μήνα. Μέσα στο table του Ιανουαρίου θα είναι καταχωρημένοι οι άγιοι και διάφορα στοιχεία που μπορεί να χρησιμοποιείς για τον καθένα ξεχωριστά. Αυτό είναι μία λύση. Μια άλλη εκδοχή θα ήταν να είχες μόνο ένα table και μέσα σε αυτό να υπήρχαν όλοι οι άγιοι. Η κάθε καταχώρηση ενός αγίου θα είχε και ένα πεδίο στο οποίο θα αντιστοιχεί ο μήνας του αγίου. Έτσι θα μπορείς να "πάρεις" τους αγίους με ένα συγκεκριμένο μήνα, όνομα, μέρα κτλ(δες το 1ο και 2ο παράδειγμα παρακάτω). Γενικώς φαντάσου τα tables ως πίνακες στους οποίους κάνεις καταχωρήσεις. Κάθε καταχώρηση μπορεί να έχει και επιπλέον αντικείμενα. Δηλαδή:
Κώδικας: Επιλογή όλων
agioi.db
|-table με όνομα "agioi"
| `- "όνομα", "μήνας", "μέρα"
| |- "άγιος χ", "1", "12",
| |- "άγιος y", "5", "20",
| `- "άγιος z", "8", "15"
`-table για ανάγκες του προγράμματος με όνομα "config"
`- "name", "value"
|- "site", "πχ εδώ η επιλογή του χρήστη για το ποιο site θα χρησιμοποιηθεί",
|- "μια επιλογή του χρήστη", "τιμή της επιλογής"
`- "άλλη μία", "..."

Σε περίπτωση που θέλεις πχ όλους τους αγίους του Ιανουαρίου:
Κώδικας: Επιλογή όλων
Από το table "agioi" επέλεξε όπου μήνας == 1;

Ή αν αποφασίσεις να αποθηκεύσεις στην βάση την επιλογή του χρήστη για το ποιο site θα χρησιμοποιηθεί, τότε:
Κώδικας: Επιλογή όλων
Από το table "config" επέλεξε την τιμή του πεδίου "site";


(Πιστεύω να κατάλαβες κάτι. Το έγραψα λίγο βιαστικά το παραπάνω.)
Όσο για την Perl που λες, δεν χρειάζεται. Αν απλώς θέλεις να παίρνεις τα δεδομένα από την βάση τότε μπορώ να σου γράψω μερικές συναρτήσεις σε python ώστε να κάνεις αυτό που θέλεις με python μόνο. ;)
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: OrthCal

Δημοσίευσηαπό evolgen » 16 Ιούλ 2012, 00:05

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

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: OrthCal

Δημοσίευσηαπό evolgen » 20 Ιούλ 2012, 22:38

Ενημέρωση!

Το saint.gr λέει κάπου "πάρτε ό,τι θέλετε, αν θέλετε αναφέρετε την πηγή", οπότε μπορώ να τα πάρω και θα αναφέρω την πηγή. Σήμερα έκανα την εξαγωγή των δεδομένων με ένα Perl script, σιγά σιγά θα βάλω τα <b></b> (γκρρρρρ! :P) και μετά θα τα εισάγω με Perl στη βάση που έφτιαξα. Οι αγγλικές γιορτές περάστηκαν ήδη. Μια ερώτηση που μου ήρθε είναι το πώς θα αναφερθώ στα δεδομένα του saint.gr. Δηλαδή πώς θα αναφέρω την "άδεια" υπό την οποία τα πήρα. Αν έχει κάποιος καμιά ιδέα, ας την πει.

Επίσης, αποφάσισα να μην περάσω Αγίους από το el.orthodoxwiki, μιας και θα μπουν αυτοί του saint.gr. Είναι και διπλός κόπος -που πιστέψτε με, δεν είναι γρήγορη διαδικασία να βάλω τα <b> tags- και νομίζω ότι είναι αρκετή η μία πηγή ανά γλώσσα. Τώρα βέβαια, αν είναι να προστεθούν πηγές από άλλες γλώσσες, θα πρέπει αυτός που θα μου προτείνει τα sites να κάνει και όλη τη δουλειά του <b>, μιας και εγώ δεν θα γνωρίζω τη γλώσσα. :P :P ((Εκτός από γαλλικά, αλλά ελπίζω να μην ενδιαφερθούν άμεσα οι Γάλλοι.))

Για να το κλείσω, πιστεύω ότι το πολύ σε 3 εβδομάδες θα έχει βγει νέα έκδοση. Καλά, μη με σταυρώσετε αν καθυστερήσει παραπάνω. :P
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: OrthCal

Δημοσίευσηαπό pmav99 » 21 Ιούλ 2012, 00:00

Σε vim και emacs (και πιθανά και σε sublime text) υπάρχουν plugin που σου επιτρέπουν να διαλέγεις το κείμενο και να μπαίνουν τα tags με το πάτημα ενός πλήκτρου. Αν ο όγκος δουλειάς είναι πολύς, σίγουρα αξίζει τον κόπο.

Σε vim υπάρχει το vim-surround, Πιθανά να υπάρχουν και άλλες επιλογές. Emacs δεν ξέρω, αλλά αποκλείεται να μην υπάρχει.

Για vim, αν θες μπορώ να σου πω πως ακριβώς να το στήσεις. Θα σου ανεβάσω έτοιμο αρχείο vimrc και το μόνο που θα έχεις να κάνεις είναι να τρέξεις μια εντολή για να γίνει η εγκατάσταση του plugin. Μετά θα διαλέγεις με το mouse, θα πατάς ένα πλήκτρο (πχ F5) και θα πηγαίνεις στο επόμενο.

EDIT
Εδώ μπορείς να το δεις σε δράση. Εσύ δε χρειάζεσαι φυσικά όλα αυτά. Ένα key-mapping θες μόνο για τα <b></b>
https://www.youtube.com/watch?v=5HF4jSyPpvsv
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: OrthCal

Δημοσίευσηαπό evolgen » 21 Ιούλ 2012, 00:22

Σε ευχαριστώ πολύ για το link! Εγκατέστησα το vim-surround και αυτό που χρειάζομαι είναι ένα shortcut για το ysiwt<b>, ώστε να μην το γράφω κάθε φορά. Οποιαδήποτε βοήθεια είναι ευπρόσδεκτη! :)
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: OrthCal

Δημοσίευσηαπό pmav99 » 21 Ιούλ 2012, 00:48

Η τελεία είναι η επανάληψη της τελευταίας εντολής.

Από εκεί και πέρα, βάλε στο .vimrc τις ακόλουθες γραμμές (παίζει να χρειάζεσαι μόνο το vnoremap αλλά οκ)
Κώδικας: Επιλογή όλων

inoremap <F5> ysiwt<b>
nnoremap <F5> ysiwt<b>
vnoremap <F5> ysiwt<b>

Κλείσε το vim (μπορείς να κάνεις και "source .vimrc") και μετά άνοιξε το αρχείο με τα ονόματα. Με το F5 πρέπει να γίνεται η αλλαγή.

Αν θες άλλο κουμπί, απλά το αλλάζεις στο vimrc

Edit.
Αν αποφασίσεις να ασχοληθείς με vim, για την διαχείριση των plugin να χρησιμοποιείς μόνο το Vundle. Στο net υπάρχει πολύ outdated σαβούρα σχετικά με το θέμα αυτό.
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι