Daily Programming Thread

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
User avatar
LexTalionis
bit level
bit level
Posts: 30
Joined: Tue Dec 03, 2013 9:03 pm

Re: Daily Programming Thread

Post by LexTalionis » Thu Dec 12, 2013 11:53 am

Σε τι είναι χρήσιμο το συγκεκριμένο api ? Υποθέτω όταν έχεις κανονική λειτουργία ,και γυρνάς σε air flight mode,και καλά χαρακτηρίζεσαι ως διαφορετικός χρήστης επειδή δεν μπορείς να χρησιμοποιήσεις συγκεκριμένα πράγματα ; Ή μήπως έχει να κάνει με μια βλακεία που χει το android και καλά για να αποθηκεύει δεδομένα και "στιγμιότυπα" της εφαρμογής ;

Εξήγησε μου,από τη μία καίγομαι να μάθω,από την άλλη δεν θέλω να μπλεχτώ στο googlάρισμα περι android :-p
No luv ?
User avatar
rexes
Kilobyte level
Kilobyte level
Posts: 397
Joined: Wed Sep 21, 2011 8:22 pm
Academic status: 3rd year
Gender:
Location: SomeWhere

Re: Daily Programming Thread

Post by rexes » Thu Dec 12, 2013 12:57 pm

LexTalionis wrote:Σε τι είναι χρήσιμο το συγκεκριμένο api ? Υποθέτω όταν έχεις κανονική λειτουργία ,και γυρνάς σε air flight mode,και καλά χαρακτηρίζεσαι ως διαφορετικός χρήστης επειδή δεν μπορείς να χρησιμοποιήσεις συγκεκριμένα πράγματα ; Ή μήπως έχει να κάνει με μια βλακεία που χει το android και καλά για να αποθηκεύει δεδομένα και "στιγμιότυπα" της εφαρμογής ;

Εξήγησε μου,από τη μία καίγομαι να μάθω,από την άλλη δεν θέλω να μπλεχτώ στο googlάρισμα περι android :-p
Είναι εσωτερικό Joke στην Google, αν δεις και στο Chrome Task manager εχει το "Goats Teleported" !

Απλα ηθελαν να γελασουν και φτιξαν αυτες τις αχρηστες μεθοδους!

Σε περιπτωση που κοιταξεις το Source Code θα δεις ότι επιστρεφουν κατι στανταρ παντοτε, όπως η isUserMonkey() που επιστρέφει πάντα false!
Εφαρμογή για το Πρόγραμμα του Οικονομικού Πανεπιστημίου Αθηνών
Image
Δείτε περισσότερα για την εφαρμογή και πείτε την άποψή σας!
User avatar
LexTalionis
bit level
bit level
Posts: 30
Joined: Tue Dec 03, 2013 9:03 pm

Re: Daily Programming Thread

Post by LexTalionis » Thu Dec 12, 2013 1:12 pm

Λες και δεν ήταν αρκετά αστείο το documentation που χαν(έχουν ακόμα ; ) τόσα χρόνια :-p
No luv ?
User avatar
cypher
Venus Former Team Member
Posts: 6207
Joined: Mon Sep 29, 2008 9:12 pm
Academic status: Alumnus/a
Gender:

Re: Daily Programming Thread

Post by cypher » Thu Dec 12, 2013 1:14 pm

Ποιο documentation; :smt005 :construction:
ImageImageImageImageImageImageImage
User avatar
rexes
Kilobyte level
Kilobyte level
Posts: 397
Joined: Wed Sep 21, 2011 8:22 pm
Academic status: 3rd year
Gender:
Location: SomeWhere

Re: Daily Programming Thread

Post by rexes » Thu Dec 12, 2013 1:24 pm

LexTalionis wrote:Λες και δεν ήταν αρκετά αστείο το documentation που χαν(έχουν ακόμα ; ) τόσα χρόνια :-p
Γιατι ρε παιδια τι εχει το documentation του Android;;;;
Εφαρμογή για το Πρόγραμμα του Οικονομικού Πανεπιστημίου Αθηνών
Image
Δείτε περισσότερα για την εφαρμογή και πείτε την άποψή σας!
User avatar
pgetsos
Venus Former Team Member
Posts: 1192
Joined: Sun Oct 13, 2013 1:29 am
Academic status: MSc
Gender:

Re: Daily Programming Thread

Post by pgetsos » Wed Feb 26, 2014 1:01 am

1) Ευτυχως εχει μεινει alive :-p
2) Μια ερωτηση...

Μια εφαρμογη τυπου Foursquare, που θα μπορουν χρηστες να δημιουργουν ενα μερος για παραδειγμα, με βαθμολογιες κτλ, καποιος αλλος να δηλωσει οτι θα βρεθει εκει και ολα αυτα, ποσο δυσκολη ειναι στην υλοποιηση της;

Εννοω στη δημιουργια της σαν εφαρμογη σε 1η φαση, και να τρεχει μεσω ενος σερβερ μετεπειτα, τι δυσκολια εχει απο θεμα γνωσεων Java και μονο; Θα ειναι δυνατη με γνωσεις Java2 και μπολικο διαβασματακι στο ιντερνετς; :-p
Όταν μια μαύρη γάτα περάσει από μπροστά σου, σημαίνει ότι το ζώο πάει κάπου.

Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
User avatar
rexes
Kilobyte level
Kilobyte level
Posts: 397
Joined: Wed Sep 21, 2011 8:22 pm
Academic status: 3rd year
Gender:
Location: SomeWhere

Re: Daily Programming Thread

Post by rexes » Wed Feb 26, 2014 5:03 am

pgetsos wrote:1) Ευτυχως εχει μεινει alive :-p
2) Μια ερωτηση...

Μια εφαρμογη τυπου Foursquare, που θα μπορουν χρηστες να δημιουργουν ενα μερος για παραδειγμα, με βαθμολογιες κτλ, καποιος αλλος να δηλωσει οτι θα βρεθει εκει και ολα αυτα, ποσο δυσκολη ειναι στην υλοποιηση της;

Εννοω στη δημιουργια της σαν εφαρμογη σε 1η φαση, και να τρεχει μεσω ενος σερβερ μετεπειτα, τι δυσκολια εχει απο θεμα γνωσεων Java και μονο; Θα ειναι δυνατη με γνωσεις Java2 και μπολικο διαβασματακι στο ιντερνετς; :-p

Θες ΜΠΟΛΙΚΟ διαβασματάκι και μετά θα χρειαστείς και βασικές γνώσεις κατασκευής API προφανώς για να κάνεις κάτι τέτοιο (σε απλή μορφή έστω στην αρχή), το οποιο απαιτεί γνώσεις σε κάποια από τις γλώσσες (PHP-Python-Java για Servlets) και από εκεί και πέρα αν επιλέξεις να παίξεις με AppEngine έχεις και την Go σαν επιλογή!

Αλλά θες αρκετό διάβασμα από Java2 μέχρι να φτιάξεις ένα τέτοιο Application! Better start...yesterday, αν έχεις μια καλή ιδέα και χρόνο να την υλοποιήσεις :P
Εφαρμογή για το Πρόγραμμα του Οικονομικού Πανεπιστημίου Αθηνών
Image
Δείτε περισσότερα για την εφαρμογή και πείτε την άποψή σας!
User avatar
pgetsos
Venus Former Team Member
Posts: 1192
Joined: Sun Oct 13, 2013 1:29 am
Academic status: MSc
Gender:

Re: Daily Programming Thread

Post by pgetsos » Wed Feb 26, 2014 10:49 pm

Με λιγα λογια "Που πας ρε χαμενε που θες και σοβαρο App με γνωσεις Java2" :-p Αρα βλεπουμε απο καλοκαιρι...
Όταν μια μαύρη γάτα περάσει από μπροστά σου, σημαίνει ότι το ζώο πάει κάπου.

Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
User avatar
rexes
Kilobyte level
Kilobyte level
Posts: 397
Joined: Wed Sep 21, 2011 8:22 pm
Academic status: 3rd year
Gender:
Location: SomeWhere

Re: Daily Programming Thread

Post by rexes » Thu Feb 27, 2014 10:06 pm

pgetsos wrote:Με λιγα λογια "Που πας ρε χαμενε που θες και σοβαρο App με γνωσεις Java2" :-p Αρα βλεπουμε απο καλοκαιρι...
Oχι μην το λες αυτο! Προσωπικα ξεκίνησα το καλοκαίρι μετά την Java 2 για πλάκα και με τον καιρό έβγαλα κάτι! Ε μετά σε πιάνει το κόλλημα και συνεχίζεις να μαθαίνεις διαρκώς γιατί απλά είναι πόρωση :P !! Οπότε θα φτάσεις στο σημείο να βγάλεις το App αυτό αν καταφέρεις να αφιερώσεις 1-1,5 χρόνο από τα βράδια σου και τον ελεύθερό σου χρόνο!
Εφαρμογή για το Πρόγραμμα του Οικονομικού Πανεπιστημίου Αθηνών
Image
Δείτε περισσότερα για την εφαρμογή και πείτε την άποψή σας!
User avatar
pgetsos
Venus Former Team Member
Posts: 1192
Joined: Sun Oct 13, 2013 1:29 am
Academic status: MSc
Gender:

Re: Daily Programming Thread

Post by pgetsos » Sat Mar 01, 2014 4:24 am

Κοιτα, ειμαστε και 2-3 παιδια οποτε κανω μια γενναια προβλεψη για κανα χρονο απο τωρα :-p thanks :)
Όταν μια μαύρη γάτα περάσει από μπροστά σου, σημαίνει ότι το ζώο πάει κάπου.

Μην αφήνεις τα μικρά μυαλά να σε πείσουν ότι τα όνειρα σου είναι πολύ μεγάλα.
User avatar
rexes
Kilobyte level
Kilobyte level
Posts: 397
Joined: Wed Sep 21, 2011 8:22 pm
Academic status: 3rd year
Gender:
Location: SomeWhere

Re: Daily Programming Thread

Post by rexes » Sat Mar 01, 2014 1:47 pm

pgetsos wrote:Κοιτα, ειμαστε και 2-3 παιδια οποτε κανω μια γενναια προβλεψη για κανα χρονο απο τωρα :-p thanks :)
Το γεγονος οτι είστε 2-3 δεν σημαίνει κάτι!! Σου εύχομαι να μη καταλάβεις το γιατί :P!!
Εφαρμογή για το Πρόγραμμα του Οικονομικού Πανεπιστημίου Αθηνών
Image
Δείτε περισσότερα για την εφαρμογή και πείτε την άποψή σας!
User avatar
bstrds
Kilobyte level
Kilobyte level
Posts: 247
Joined: Sat Dec 11, 2010 1:48 pm
Academic status: 4th year

Re: Daily Programming Thread

Post by bstrds » Sat Mar 01, 2014 1:55 pm

rexes wrote:
pgetsos wrote:Κοιτα, ειμαστε και 2-3 παιδια οποτε κανω μια γενναια προβλεψη για κανα χρονο απο τωρα :-p thanks :)
Το γεγονος οτι είστε 2-3 δεν σημαίνει κάτι!! Σου εύχομαι να μη καταλάβεις το γιατί :P!!
αμαν ρε φιλε ασε τον ανθρωπο να προσπαθησει και κοψε λιγο τα ξερολακιστικα
Spoiler: εμφάνιση/απόκρυψη
[code] _____________________________________ / You're a card which will have to be \ \ dealt with. / ------------------------------------- \ ,-^-. \ !oYo! \ /./=\.\______ ## )\/\ ||-----w|| || || Cowth Vader [/code]
User avatar
stoupeace
Wow! Terabyte level
Wow! Terabyte level
Posts: 5372
Joined: Tue Aug 26, 2008 4:08 pm
Academic status: High school
Gender:

Re: Daily Programming Thread

Post by stoupeace » Sat Mar 01, 2014 6:52 pm

Spoiler: εμφάνιση/απόκρυψη
[youtube]https://www.youtube.com/watch?v=No8kKiZ8ZkU[/youtube]
Γενικά practice makes perfect :)
Η καλύτερη μπάντα όλου του κόσμου: Sonata Antartika
Mpomp is building an army army. And I got my head back.
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂ ____☻/︻╦╤─
Il███████████████████]. /▌
_◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤.. . / \
User avatar
rexes
Kilobyte level
Kilobyte level
Posts: 397
Joined: Wed Sep 21, 2011 8:22 pm
Academic status: 3rd year
Gender:
Location: SomeWhere

Re: Daily Programming Thread

Post by rexes » Sat Mar 01, 2014 7:01 pm

bstrds wrote:
rexes wrote:
pgetsos wrote:Κοιτα, ειμαστε και 2-3 παιδια οποτε κανω μια γενναια προβλεψη για κανα χρονο απο τωρα :-p thanks :)
Το γεγονος οτι είστε 2-3 δεν σημαίνει κάτι!! Σου εύχομαι να μη καταλάβεις το γιατί :P!!
αμαν ρε φιλε ασε τον ανθρωπο να προσπαθησει και κοψε λιγο τα ξερολακιστικα
Ακριβώς το αντίθετο λέω!

Τα ξερολακιστικα πού τα είδες;
Εφαρμογή για το Πρόγραμμα του Οικονομικού Πανεπιστημίου Αθηνών
Image
Δείτε περισσότερα για την εφαρμογή και πείτε την άποψή σας!
User avatar
stoupeace
Wow! Terabyte level
Wow! Terabyte level
Posts: 5372
Joined: Tue Aug 26, 2008 4:08 pm
Academic status: High school
Gender:

Re: Daily Programming Thread

Post by stoupeace » Tue Mar 04, 2014 10:10 pm

Κάνω serialize κάποια αντικείμενα τύπου Resource σε xml αρχείο. Ενα resource έχει την εξής μορφή:

Code: Select all

<resource>
<name>Radiohead</name>
<type>music</type>
<wTeaser>Radiohead are an English rock band from Abingdon, Oxfordshire, formed in 1985. The band consists of Thom Yorke (lead vocals, guitar, piano), Jonny Greenwood (lead guitar, keyboards, other instruments), Colin Greenwood (bass), Phil Selway (drums, percussion) and Ed O'Brien (guitar, backing vocals).Radiohead released their debut single "Creep" in 1992. The song was initially unsuccessful, but it became a worldwide hit several months after the release of their debut album, Pablo Honey (1993). Radiohead's popularity rose in the United Kingdom with the release of their second album, The Bends (1995). Radiohead's third album, OK Computer (1997), propelled them to greater international fame. Featuring an expansive sound and themes of modern alienation, OK Computer is often acclaimed as one of the landmark records of the 1990s.</wTeaser>
<wUrl>http://en.wikipedia.org/wiki/Radiohead</wUrl>
<yTitle>The Best Of - Radiohead (Full Album)</yTitle>
<yUrl>http://www.youtube.com/embed/om8invGWkeo</yUrl>
<yID>om8invGWkeo</yID>
</resource>
Σε ένα αρχείο με πολλές τέτοιες καταχωρήσεις θέλω έχοντας το συνδυασμό των name και type να μπορώ να ανιχνεύσω και να διαγράψω όλη την ενότητα <resource></resource>.

Σκέφτεστε κανέναν efficient τρόπο να το κάνω αυτό; Εχω σκαλώσει. Σκέφτομαι ότι θα πρέπει μία φορά να διαβάσω το αρχείο να βρω το name/type συνδυασμό και μια δεύτερη φορά να διαγράψω την ενότητα resource στην οποία ανήκουν. Αλλά πως; Αρχίζω να διαγράφω γραμμές χύμα ή κάνω κάτι άλλο πιο έξυπνο σαν κι αυτά που περιμένω να μου πείτε;
Η καλύτερη μπάντα όλου του κόσμου: Sonata Antartika
Mpomp is building an army army. And I got my head back.
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂ ____☻/︻╦╤─
Il███████████████████]. /▌
_◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤.. . / \
User avatar
rexes
Kilobyte level
Kilobyte level
Posts: 397
Joined: Wed Sep 21, 2011 8:22 pm
Academic status: 3rd year
Gender:
Location: SomeWhere

Re: Daily Programming Thread

Post by rexes » Tue Mar 04, 2014 10:27 pm

stoupeace wrote:Κάνω serialize κάποια αντικείμενα τύπου Resource σε xml αρχείο.
Σε ένα αρχείο με πολλές τέτοιες καταχωρήσεις θέλω έχοντας το συνδυασμό των name και type να μπορώ να ανιχνεύσω και να διαγράψω όλη την ενότητα <resource></resource>.

Σκέφτεστε κανέναν efficient τρόπο να το κάνω αυτό; Εχω σκαλώσει. Σκέφτομαι ότι θα πρέπει μία φορά να διαβάσω το αρχείο να βρω το name/type συνδυασμό και μια δεύτερη φορά να διαγράψω την ενότητα resource στην οποία ανήκουν. Αλλά πως; Αρχίζω να διαγράφω γραμμές χύμα ή κάνω κάτι άλλο πιο έξυπνο σαν κι αυτά που περιμένω να μου πείτε;
Αυτο το έχεις κοιτάξει; https://stackoverflow.com/questions/702 ... emove-item
Επίσης, τον συνδυασμό των name/type που λες αν τον έχεις και τσεκάρεις αν είναι ίδια λογικά θα σου δουλέψει αυτό που υπάρχει σαν απαντηση στο λινκ!
Εφαρμογή για το Πρόγραμμα του Οικονομικού Πανεπιστημίου Αθηνών
Image
Δείτε περισσότερα για την εφαρμογή και πείτε την άποψή σας!
User avatar
stoupeace
Wow! Terabyte level
Wow! Terabyte level
Posts: 5372
Joined: Tue Aug 26, 2008 4:08 pm
Academic status: High school
Gender:

Re: Daily Programming Thread

Post by stoupeace » Wed Mar 05, 2014 12:36 am

Θενξ για το λινκ. Δεν το είχα δει γιατι δεν πολυηθελα να μπλέξω με τις XML classes της c#, αφου έχουν πολύ συγκεκριμένο τρόπο λειτουργίας και παίζει να χρειαστεί να αλλαξω πολλά πράγματα.

Θα τσεκάρω αν υπάρχει κάτι αντίστοιχο πάντως, θενκς ρεξες.
Η καλύτερη μπάντα όλου του κόσμου: Sonata Antartika
Mpomp is building an army army. And I got my head back.
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂ ____☻/︻╦╤─
Il███████████████████]. /▌
_◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤.. . / \
User avatar
nachos
Gbyte level
Gbyte level
Posts: 1252
Joined: Mon Aug 21, 2006 4:28 pm
Academic status: Alumnus/a
Gender:
Location: Brachamee City

Re: Daily Programming Thread

Post by nachos » Wed Mar 05, 2014 9:29 am

Πως σώζεις το αρχείο; Χρησιμοποιείς τον XmlSerializer πάνω σε κάποια δομή σου, η έχεις κάνει τελείως custom την αποθήκευση; Επίσης, ποιο είναι ακριβώς το σενάριο σου; Θέλεις κάθε φορά να σβήνεις ένα στοιχείο από το αρχείο, ή έχεις τα δεδομένα στη μνήμη, και σβήνεις από εκει;
Nothing is impossible for the man who doesn't have to do it himself
User avatar
stoupeace
Wow! Terabyte level
Wow! Terabyte level
Posts: 5372
Joined: Tue Aug 26, 2008 4:08 pm
Academic status: High school
Gender:

Re: Daily Programming Thread

Post by stoupeace » Wed Mar 05, 2014 11:19 am

nachos wrote:Πως σώζεις το αρχείο; Χρησιμοποιείς τον XmlSerializer πάνω σε κάποια δομή σου, η έχεις κάνει τελείως custom την αποθήκευση; Επίσης, ποιο είναι ακριβώς το σενάριο σου; Θέλεις κάθε φορά να σβήνεις ένα στοιχείο από το αρχείο, ή έχεις τα δεδομένα στη μνήμη, και σβήνεις από εκει;
Ναι χρησιμοποιώ την xmlserializer πάνω σε μια class μου που αναπαριστά αντικείμενα τύπου Resource.

Αυτο το κάνω για να έχω μια λίστα favorites που περιέχει resources. Θέλω να προσθέτω αντικείμενα και να τα παρουσιάζω σε λίστα αφου διαβασω το αρχείο. Θέλω επίσης να αφαιρώ αντικείμενα που θα επιλέξει ο χρήστης απο αυτη τη λίστα. Remove from favorites δηλαδής.

Προς το παρόν επίσης όποτε προσθέτω στα φαβς, γραφω επί τόπου στο αρχείο.

Το αρχείο είναι txt.
Η καλύτερη μπάντα όλου του κόσμου: Sonata Antartika
Mpomp is building an army army. And I got my head back.
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂ ____☻/︻╦╤─
Il███████████████████]. /▌
_◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤.. . / \
User avatar
nachos
Gbyte level
Gbyte level
Posts: 1252
Joined: Mon Aug 21, 2006 4:28 pm
Academic status: Alumnus/a
Gender:
Location: Brachamee City

Re: Daily Programming Thread

Post by nachos » Wed Mar 05, 2014 12:43 pm

Ok. Αυτό σημαίνει ότι όταν ο χρήστης κάνει add/remove, άσχετα από το αρχείο, εσύ έχεις on memory τη λίστα με τα favorites (π.χ. στο ViewModel σου πάνω στο οποίο π.χ. κάνεις bind από το View σου). Άρα, πρώτα απ' όλα δουλεύεις on memory, και μετά από κάθε πράξη (add/remove) κάνεις commit τις αλλαγές στο αρχείο (κοινώς απλά serialize τη δομή σου και save). Άρα δεν απαιτείται κάτι extra από εσένα, ό,τι κάνεις στην περίπτωση του add, κάνεις και στο remove (object serialize & overwrite destination file). Κοινώς δεν υπάρχει ανάγκη να κάνεις κάποιου έιδους diff, είναι παντελώς ανούσιο.

Εδώ ουσιαστικά το overhead είναι τα διαρκή writes στο αρχείο. Χρειάζεσαι όντως να το κάνεις τόσο συχνά; Αν π.χ. ο χρήστης επεξεργάζεται τα favorites μέσα από ένα διάλογο, καλύτερη προσέγγιση θα ήταν να κάνεις commit τις αλλαγές στο κλείσιμό του. Βέβαια, αυτό εξαρτάται και από την κρισιμότητα των δεδομένων που διαχειρίζεσαι.
Nothing is impossible for the man who doesn't have to do it himself
User avatar
stoupeace
Wow! Terabyte level
Wow! Terabyte level
Posts: 5372
Joined: Tue Aug 26, 2008 4:08 pm
Academic status: High school
Gender:

Re: Daily Programming Thread

Post by stoupeace » Wed Mar 05, 2014 12:54 pm

nachos wrote:Ok. Αυτό σημαίνει ότι όταν ο χρήστης κάνει add/remove, άσχετα από το αρχείο, εσύ έχεις on memory τη λίστα με τα favorites (π.χ. στο ViewModel σου πάνω στο οποίο π.χ. κάνεις bind από το View σου). Άρα, πρώτα απ' όλα δουλεύεις on memory, και μετά από κάθε πράξη (add/remove) κάνεις commit τις αλλαγές στο αρχείο (κοινώς απλά serialize τη δομή σου και save). Άρα δεν απαιτείται κάτι extra από εσένα, ό,τι κάνεις στην περίπτωση του add, κάνεις και στο remove (object serialize & overwrite destination file). Κοινώς δεν υπάρχει ανάγκη να κάνεις κάποιου έιδους diff, είναι παντελώς ανούσιο.

Εδώ ουσιαστικά το overhead είναι τα διαρκή writes στο αρχείο. Χρειάζεσαι όντως να το κάνεις τόσο συχνά; Αν π.χ. ο χρήστης επεξεργάζεται τα favorites μέσα από ένα διάλογο, καλύτερη προσέγγιση θα ήταν να κάνεις commit τις αλλαγές στο κλείσιμό του. Βέβαια, αυτό εξαρτάται και από την κρισιμότητα των δεδομένων που διαχειρίζεσαι.
To bold μου άνοιξε καινούριους κόσμους. Θενξ!
Μέχρι τώρα κάνω serialize τα αντικείμενα της λίστας και τα γράφω με append ένα ένα στο αρχείο. Γι'αυτό το remove function μοιάζει να θέλει τρελή δουλειά.

Επειδή είναι app και δεν ξέρεις πότε θα αποφασίσει να φύγει ο χρήστης ή πόσο θα μείνει στο background, θέλω για κάθε προσθαφαίρεση που παίζει να κάνω κατευθείαν τη δουλειά. Αν καταφέρω να κάνω σωστά serialize τη λίστα, δε νομίζω να έχω θέμα κάθε φορά που θα επεξεργάζεται τα favorites μια που πρακτικά μιλάμε για <= 100 entries.
Η καλύτερη μπάντα όλου του κόσμου: Sonata Antartika
Mpomp is building an army army. And I got my head back.
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂ ____☻/︻╦╤─
Il███████████████████]. /▌
_◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤.. . / \
User avatar
rexes
Kilobyte level
Kilobyte level
Posts: 397
Joined: Wed Sep 21, 2011 8:22 pm
Academic status: 3rd year
Gender:
Location: SomeWhere

Re: Daily Programming Thread

Post by rexes » Wed Mar 05, 2014 1:16 pm

stoupeace wrote:
nachos wrote:Ok. Αυτό σημαίνει ότι όταν ο χρήστης κάνει add/remove, άσχετα από το αρχείο, εσύ έχεις on memory τη λίστα με τα favorites (π.χ. στο ViewModel σου πάνω στο οποίο π.χ. κάνεις bind από το View σου). Άρα, πρώτα απ' όλα δουλεύεις on memory, και μετά από κάθε πράξη (add/remove) κάνεις commit τις αλλαγές στο αρχείο (κοινώς απλά serialize τη δομή σου και save). Άρα δεν απαιτείται κάτι extra από εσένα, ό,τι κάνεις στην περίπτωση του add, κάνεις και στο remove (object serialize & overwrite destination file). Κοινώς δεν υπάρχει ανάγκη να κάνεις κάποιου έιδους diff, είναι παντελώς ανούσιο.

Εδώ ουσιαστικά το overhead είναι τα διαρκή writes στο αρχείο. Χρειάζεσαι όντως να το κάνεις τόσο συχνά; Αν π.χ. ο χρήστης επεξεργάζεται τα favorites μέσα από ένα διάλογο, καλύτερη προσέγγιση θα ήταν να κάνεις commit τις αλλαγές στο κλείσιμό του. Βέβαια, αυτό εξαρτάται και από την κρισιμότητα των δεδομένων που διαχειρίζεσαι.
To bold μου άνοιξε καινούριους κόσμους. Θενξ!
Μέχρι τώρα κάνω serialize τα αντικείμενα της λίστας και τα γράφω με append ένα ένα στο αρχείο. Γι'αυτό το remove function μοιάζει να θέλει τρελή δουλειά.

Επειδή είναι app και δεν ξέρεις πότε θα αποφασίσει να φύγει ο χρήστης ή πόσο θα μείνει στο background, θέλω για κάθε προσθαφαίρεση που παίζει να κάνω κατευθείαν τη δουλειά. Αν καταφέρω να κάνω σωστά serialize τη λίστα, δε νομίζω να έχω θέμα κάθε φορά που θα επεξεργάζεται τα favorites μια που πρακτικά μιλάμε για <= 100 entries.
Αν ειναι για app γιατί δεν κρατας το state των favs σε ενα table και να τα κάνεις εγγραφή στο αρχείο μόλις το app περάσει στο background;;
Εφαρμογή για το Πρόγραμμα του Οικονομικού Πανεπιστημίου Αθηνών
Image
Δείτε περισσότερα για την εφαρμογή και πείτε την άποψή σας!
Post Reply

Return to “Προγραμματισμός”