Page 5 of 7

Re: Daily Programming Thread

Posted: Thu May 22, 2014 5:44 am
by necrofear_13
Jami wrote:Πριν λιγο καιρο που ειχα παει στο Java Day ειχε μια ομιλια περι ενος διαφορετικου τροπου οργανωσης των πακετων σε ενα project.

Αυτο που μας ειχαν δειξει στη σχολη και εκανα και εγω ειναι να οργανωνω τα πακετα by layer, δηλαδη να εχω σε ενα φακελο μαζεμενα ολο το domain, σε εναν αλλο το gui, σε εναν αλλο τα dao, ολους τους controllers κοκ (+ με subfolders εντος αυτων για ιεραρχια).

Αυτος ομως ο τροπος εχει ενα προβλημα. Αν χρειαστει να αλλαξω κατι πχ στο billing θα πρεπει να πηγαινω σε καθε φακελο απο αυτους και να βρισκω αυτους που αφορουν το billing και να κανω αλλαγες. Και ολα αυτα αντε να γινουν και γρηγορα αν το project ειναι δικο μου, φανταστειτε σε project χιλιαδων γραμμων τι γινεται.

Αυτο που προτεινε ο ομιλητης εκει ηταν η οργανωση των πακετων by feature και νομιζω οτι με κερδισε.

Η ιδεα ειναι να μαζευεις σε καθε φακελο ολα τα αρχεια που σχετιζονται με καθε ξεχωριστη λειτουργια/υπηρεσια/χαρακτηριστικο της εφαρμογης. Δηλαδη αν το project εχει μια λειτουργια billing, να εχεις εναν φακελο ονοματι billing και μεσα του οτιδηποτε σχετιζεται με αυτη την λειτουργια. Και μιλωντας πρακτικα για Java μπορεις να κανεις τις κλασεις σου να εχουν scope μονο εντος φακελου (default scope οταν δεν βαζεις εναν εκ των public, private, protected), οποτε εχεις μια σιγουρια οτι δεν μπορεις να κανεις ζημια με τις αλλαγες σου καπου αλλου στο project. Επισης αν θες να αλλαξεις κατι σε αυτη την λειτουργια ξερεις οτι, ο,τι χρειαστεις θα το βρεις εκει περα.

Και απαξ και ενσωματωσεις αυτο το μοντελο, μπορεις μετα απο κατω να εχεις κανονικα το by layer σου ιεραρχια, εχοντας ουσιαστικα μια hybrid προσεγγιση. Αλλα το κερδος ειναι οτι βρισκεις σε γραμμικο χρονο τα αρχεια που πρεπει να κανεις αλλαγες, που σιγουρα θα χρειαστει πολλες φορες να κανεις.

Εγω για δοκιμη, ενσωματωσα αυτη την λογικη στο project μας στην ΑΕΠΣ του Κωτιδη και εχω να πω οτι βοηθαει απιστευτα, ειδικα για project που ξεφευγουν σε γραμμες κωδικα. Τι λετε εσεις, θα το δοκιμαζατε?

Το pdf της παρουσιασης
Νομίζω πως το πιο ενδιαφέρον και το πιο άμεσα εφαρμόσιμο είναι το hybrid approach που αναφέρει στο τέλος. Γιατί συνδυάζει τα καλά και των δύο τεχνικών.
Δηλαδή εγώ θέλω να έχω ένα package GUI/VIEW αλλά να το έχω έτσι χύμα δεν πολυβοηθάει αλλα είναι καλύτερα να χωρίσεις ξεχωριστά τα views ανάλογα με λειτουργία, τους handlers κλπκλπ.

Re: Daily Programming Thread

Posted: Thu May 22, 2014 2:42 pm
by ja_the_invincible
Jami wrote:Πριν λιγο καιρο που ειχα παει στο Java Day ειχε μια ομιλια περι ενος διαφορετικου τροπου οργανωσης των πακετων σε ενα project.

Αυτο που μας ειχαν δειξει στη σχολη και εκανα και εγω ειναι να οργανωνω τα πακετα by layer, δηλαδη να εχω σε ενα φακελο μαζεμενα ολο το domain, σε εναν αλλο το gui, σε εναν αλλο τα dao, ολους τους controllers κοκ (+ με subfolders εντος αυτων για ιεραρχια).

Αυτος ομως ο τροπος εχει ενα προβλημα. Αν χρειαστει να αλλαξω κατι πχ στο billing θα πρεπει να πηγαινω σε καθε φακελο απο αυτους και να βρισκω αυτους που αφορουν το billing και να κανω αλλαγες. Και ολα αυτα αντε να γινουν και γρηγορα αν το project ειναι δικο μου, φανταστειτε σε project χιλιαδων γραμμων τι γινεται.

Αυτο που προτεινε ο ομιλητης εκει ηταν η οργανωση των πακετων by feature και νομιζω οτι με κερδισε.

Η ιδεα ειναι να μαζευεις σε καθε φακελο ολα τα αρχεια που σχετιζονται με καθε ξεχωριστη λειτουργια/υπηρεσια/χαρακτηριστικο της εφαρμογης. Δηλαδη αν το project εχει μια λειτουργια billing, να εχεις εναν φακελο ονοματι billing και μεσα του οτιδηποτε σχετιζεται με αυτη την λειτουργια. Και μιλωντας πρακτικα για Java μπορεις να κανεις τις κλασεις σου να εχουν scope μονο εντος φακελου (default scope οταν δεν βαζεις εναν εκ των public, private, protected), οποτε εχεις μια σιγουρια οτι δεν μπορεις να κανεις ζημια με τις αλλαγες σου καπου αλλου στο project. Επισης αν θες να αλλαξεις κατι σε αυτη την λειτουργια ξερεις οτι, ο,τι χρειαστεις θα το βρεις εκει περα.

Και απαξ και ενσωματωσεις αυτο το μοντελο, μπορεις μετα απο κατω να εχεις κανονικα το by layer σου ιεραρχια, εχοντας ουσιαστικα μια hybrid προσεγγιση. Αλλα το κερδος ειναι οτι βρισκεις σε γραμμικο χρονο τα αρχεια που πρεπει να κανεις αλλαγες, που σιγουρα θα χρειαστει πολλες φορες να κανεις.

Εγω για δοκιμη, ενσωματωσα αυτη την λογικη στο project μας στην ΑΕΠΣ του Κωτιδη και εχω να πω οτι βοηθαει απιστευτα, ειδικα για project που ξεφευγουν σε γραμμες κωδικα. Τι λετε εσεις, θα το δοκιμαζατε?

Το pdf της παρουσιασης
Στο project που δουλεύω ακολουθούμε και τα 2. Δηλαδή υπάρχει ο διαχωρισμός front end-back end, π.χ έχεις φακέλους db, web, κλπ αλλά υπάρχει και καθαρός διαχωρισμός με βάση την λειτουργικότητα π.χ util, tasks, tests τα οποία είναι πράγματα που χρησιμοποιούνται σε διάφορα layers. Σίγουρα καλύτερη οργάνωση από αυτό που μαθαίνουμε στην σχολή, ωραίος που το παρατήρησες :smt023

Re: Daily Programming Thread

Posted: Mon Jun 09, 2014 2:27 pm
by nikosk
Έχει κάνεις να προτείνει βιβλία και online πηγές για την εκμάθηση της γλώσσας haskell??

Re: Daily Programming Thread

Posted: Mon Jun 09, 2014 5:24 pm
by Spongebobu
nikosk wrote:Έχει κάνεις να προτείνει βιβλία και online πηγές για την εκμάθηση της γλώσσας haskell??
http://programming-***.com/become.html#Haskell

Re: Daily Programming Thread

Posted: Tue Jun 10, 2014 5:27 pm
by michalis
Jami wrote:Πριν λιγο καιρο που ειχα παει στο Java Day ειχε μια ομιλια περι ενος διαφορετικου τροπου οργανωσης των πακετων σε ενα project.

Αυτο που μας ειχαν δειξει στη σχολη και εκανα και εγω ειναι να οργανωνω τα πακετα by layer, δηλαδη να εχω σε ενα φακελο μαζεμενα ολο το domain, σε εναν αλλο το gui, σε εναν αλλο τα dao, ολους τους controllers κοκ (+ με subfolders εντος αυτων για ιεραρχια).

Αυτος ομως ο τροπος εχει ενα προβλημα. Αν χρειαστει να αλλαξω κατι πχ στο billing θα πρεπει να πηγαινω σε καθε φακελο απο αυτους και να βρισκω αυτους που αφορουν το billing και να κανω αλλαγες. Και ολα αυτα αντε να γινουν και γρηγορα αν το project ειναι δικο μου, φανταστειτε σε project χιλιαδων γραμμων τι γινεται.

Αυτο που προτεινε ο ομιλητης εκει ηταν η οργανωση των πακετων by feature και νομιζω οτι με κερδισε.

Η ιδεα ειναι να μαζευεις σε καθε φακελο ολα τα αρχεια που σχετιζονται με καθε ξεχωριστη λειτουργια/υπηρεσια/χαρακτηριστικο της εφαρμογης. Δηλαδη αν το project εχει μια λειτουργια billing, να εχεις εναν φακελο ονοματι billing και μεσα του οτιδηποτε σχετιζεται με αυτη την λειτουργια. Και μιλωντας πρακτικα για Java μπορεις να κανεις τις κλασεις σου να εχουν scope μονο εντος φακελου (default scope οταν δεν βαζεις εναν εκ των public, private, protected), οποτε εχεις μια σιγουρια οτι δεν μπορεις να κανεις ζημια με τις αλλαγες σου καπου αλλου στο project. Επισης αν θες να αλλαξεις κατι σε αυτη την λειτουργια ξερεις οτι, ο,τι χρειαστεις θα το βρεις εκει περα.

Και απαξ και ενσωματωσεις αυτο το μοντελο, μπορεις μετα απο κατω να εχεις κανονικα το by layer σου ιεραρχια, εχοντας ουσιαστικα μια hybrid προσεγγιση. Αλλα το κερδος ειναι οτι βρισκεις σε γραμμικο χρονο τα αρχεια που πρεπει να κανεις αλλαγες, που σιγουρα θα χρειαστει πολλες φορες να κανεις.

Εγω για δοκιμη, ενσωματωσα αυτη την λογικη στο project μας στην ΑΕΠΣ του Κωτιδη και εχω να πω οτι βοηθαει απιστευτα, ειδικα για project που ξεφευγουν σε γραμμες κωδικα. Τι λετε εσεις, θα το δοκιμαζατε?

Το pdf της παρουσιασης

Ήταν απ'τις καλύτερες ομιλίες της ημέρας και άκρως ενδιαφέρουσα. Κι εγώ θα το δοκιμάσω μάλλον σε επόμενο project. Συσχετίζει πολύ καλά τη λογική της εφαρμογής με τη λογική του κώδικα.

Re: Daily Programming Thread

Posted: Thu Nov 13, 2014 11:58 am
by stoupeace
Ψάχνω κάποιο όμορφο template για να μπει κάτι σαν automated customer support σε ένα σάητ.

H λειτουργία που θέλω να έχει, είναι να γράφει κάτι ο επισκέπτης (π.χ. υπόλοιπο πιστωτικής κάρτας) και η μηχανή που υπάρχει έτοιμη από πίσω να του δίνει την απάντηση. Ολο αυτό το φαντάζομαι με τη μορφή ενός chat παραθύρου. Σα να μιλάς στο facebook ξέρω γω.

Εξήγησα το τι θα κάνει, για να σας βάλω κάπως στο κλίμα από θέμα εμφάνισης. Θέλω να'ναι clean και business-like.

Ξέρετε πώς μπορώ να βρω ή να φτιάξω κάτι τέτοιο; Σε φάση, πείτε μου τεχνολογίες ή που να ψάξω, δεν ξέρω χριστό από φροντ-εντ.

Re: Daily Programming Thread

Posted: Thu Nov 13, 2014 1:36 pm
by Spongebobu
Τσέκαρε το bootstrap αν δουλεύεις με javascript. Έχει πολλά έτοιμα templates και τα χρησιμοποιεί σχεδόν κάθε startup. Υπάρχουν δυνατότητες customization αλλά και με τα default κάνεις δουλειά.

Re: Daily Programming Thread

Posted: Sat Nov 22, 2014 1:08 am
by Luke
Bootstrap και από εμένα. :smt023

Re: Daily Programming Thread

Posted: Sat Nov 22, 2014 4:46 pm
by stoupeace
Ευχαριστώ για τις προτάσεις γκάηζ. Btw το έκανα με jquery. Δεν ήξερα ότι έχει και UI. Εχει και UI. Ωραίο είναι.

Re: Daily Programming Thread

Posted: Tue Nov 25, 2014 9:35 pm
by Zifnab
jquery should just die!!

Re: Daily Programming Thread

Posted: Tue Dec 02, 2014 2:50 pm
by stoupeace
Zifnab wrote:jquery should just die!!
Γιατί ψηλέ μου, τι έπαθες;

=========================================

Ε γεια. Προσπαθάω να λινκάρω όλα τα libraries του ffmpeg σε ένα δικό μου C προγραμματίδιον.

Το πρόβλημα είναι ότι αναγκαστικά παίζω σε windows, οπότε και δουλεύω με mingw. Επειδή λεπόν δεν τα ήξερα εγώ αυτά τα του σατανά, λέω γιόλο, θα τις λινκάρω όλες στατικά, κι ας βγει το εκτελέσιμο 60mb.
Αλλά κάτι δεν παίζει στο τελικό κομπάηλ, στο θέμα της σύνδεσης.

Εδώθε η εντολή:

Code: Select all

gcc myprog.c -o myprog $(pkg-config --libs --cflags ΕΔΩΤΑLIBS)
Είτε μπορώ να λινκάρω μόνο ένα library (στην καλύτερη) είτε παίρνω έρρορ. Θέλω να τα βάλω όλα. Και θέλουνε λέει να μπούνε και με τη σωστή σειρά.

Βλαμμένοι C coders.

Re: Daily Programming Thread

Posted: Tue Dec 02, 2014 5:05 pm
by nikosk
Ποσταρε το error που σου βγάζει αν μπορείς..
Επίσης νομίζω ότι το mingw βλέπει συγκεκριμένους φακέλους για τα libs .Οπότε δές αυτό:
http://www.mingw.org/wiki/LibraryPathHOWTO

Re: Daily Programming Thread

Posted: Tue Dec 02, 2014 6:12 pm
by stoupeace
nikosk wrote:Ποσταρε το error που σου βγάζει αν μπορείς..
Επίσης νομίζω ότι το mingw βλέπει συγκεκριμένους φακέλους για τα libs .Οπότε δές αυτό:
http://www.mingw.org/wiki/LibraryPathHOWTO
undefined references πετάει. Και έχω βάλει ένα pkg-config να βλέπει στο σωστό ντιρέκτορι οπότε από αυτό είμαστε κομπλέ.

Απ'ό,τι καταλαβαίνω πρέπει να δώσω με τη σωστή σειρά τα αρχεία .pc που έχουν δημιουργηθεί. Διάβασα ότι μετράει η σειρά στο static linking.

Re: Daily Programming Thread

Posted: Tue Dec 02, 2014 9:11 pm
by nikosk
stoupeace wrote:
nikosk wrote:Ποσταρε το error που σου βγάζει αν μπορείς..
Επίσης νομίζω ότι το mingw βλέπει συγκεκριμένους φακέλους για τα libs .Οπότε δές αυτό:
http://www.mingw.org/wiki/LibraryPathHOWTO
undefined references πετάει. Και έχω βάλει ένα pkg-config να βλέπει στο σωστό ντιρέκτορι οπότε από αυτό είμαστε κομπλέ.

Απ'ό,τι καταλαβαίνω πρέπει να δώσω με τη σωστή σειρά τα αρχεία .pc που έχουν δημιουργηθεί. Διάβασα ότι μετράει η σειρά στο static linking.
Οκ για δοκίμασε με --static:
gcc myprog.c -o myprog $(pkg-config -- static --libs --cflags ΕΔΩΤΑLIBS)

Re: Daily Programming Thread

Posted: Wed Dec 03, 2014 11:34 am
by stoupeace
nikosk wrote: Οκ για δοκίμασε με --static:
gcc myprog.c -o myprog $(pkg-config -- static --libs --cflags ΕΔΩΤΑLIBS)
Eπαιξε η αηδία, έπαιξε. Θενξ!

Re: Daily Programming Thread

Posted: Sun Dec 07, 2014 3:21 am
by Zifnab
stoupeace wrote:
Zifnab wrote:jquery should just die!!
Γιατί ψηλέ μου, τι έπαθες;
Έκανε τον κόσμο να γράφει αρχεία δεκάδων χιλιάδων γραμμών """javascript""" που είναι πραγματικά δύσκολη γλώσσα να την κάνεις master, χωρίς καμία αρχιτεκτονική .. και τα πληρώνω εγώ τώρα...jquery legacy code is the worst! Ζήτω angularJS 2.0 που δεν θα έχει ούτε jqlite!!

Re: Daily Programming Thread

Posted: Mon Dec 22, 2014 11:39 am
by stoupeace
Κανα καλό eclipse plugin που δεν έχετε κάνει ανινστόλ μετά από 2 δευτερόλεπτα;

Re: Daily Programming Thread

Posted: Mon Dec 22, 2014 2:44 pm
by Alive
stoupeace wrote:Κανα καλό eclipse plugin που δεν έχετε κάνει ανινστόλ μετά από 2 δευτερόλεπτα;
StartExplorer

Re: Daily Programming Thread

Posted: Mon Dec 22, 2014 5:11 pm
by cypher
Για λιγότερα distractions http://marketplace.eclipse.org/content/fullscreen-mode
http://marketplace.eclipse.org/content/ ... pse-plugin για να βρίσκεις χαζά λαθάκια
http://marketplace.eclipse.org/content/checkstyle-plug για να ελέγχει το coding style σε όλα τα αρχεία και να σε πιέζει να γράφεις καθαρό/όμορφο κώδικα

Re: Daily Programming Thread

Posted: Mon Dec 22, 2014 5:23 pm
by stoupeace
cypher wrote:Για λιγότερα distractions http://marketplace.eclipse.org/content/fullscreen-mode
http://marketplace.eclipse.org/content/ ... pse-plugin για να βρίσκεις χαζά λαθάκια
http://marketplace.eclipse.org/content/checkstyle-plug για να ελέγχει το coding style σε όλα τα αρχεία και να σε πιέζει να γράφεις καθαρό/όμορφο κώδικα
Το τσεκστάηλ έφυγε στα πρώτα δύο δευτερόλεπτα, όταν προσπαθούσε να μου εξηγήσει ότι τα tab identations είναι "bad practice".

Δεν υπάρχει πιο όμορφο πράγμα από το tab σε nested σκηνικά. Τίποτα.

Re: Daily Programming Thread

Posted: Mon Dec 22, 2014 5:27 pm
by cypher
Τα ρυθμίζεις αυτά απο τα settings αν σε ενοχλεί τόσο. :-p Επίσης η κάθε γλώσσα εχει δικά της coding conventions που υπάρχουν οχι μονο για να διαβάζεις εσύ πιο άνετα τον κώδικα αλλα για να τον διαβάζουν και άλλοι με ευκολία ξέρωντας τι να περιμένουν.
Τέσπα. :-p

Re: Daily Programming Thread

Posted: Tue Dec 23, 2014 4:00 pm
by stoupeace
Tip που θα ήθελα να ξέρω πριν αρχίσω να ανεβάζω proprietary κώδικα στο github:

Τσεκάρετε το https://bitbucket.org/
Μπορείς να φέρεις τα πάντα από το git σου, plus σου δίνει ένα private repo τσάμπα.

Αν δεν έχετε κάποιο svn στη δουλειά, μετράει πολύ. Αυτά.