Sunday, December 18, 2011

Εντυπώσεις από το JHUG Meet-up Δεκεμβρίου 2011


Η χρονιά έκλεισε με τον καλύτερο τρόπο για τις συναντήσεις - micro - ημερίδες του Java Hellenic User Group. Καταφέραμε να έχουμε 3 ομιλίες που κάλυψαν αρκετές διαφορετικές πλευρές και θέματα. Από διαδικασίες και μια πινελιά μεθοδολογιών, σε καθαρά business development με την ομιλία περί REST και σε μια καθαρά τεχνική με την ομιλία περί του Framework Disruptor. 

Ομιλίες

1.Services, tools & practices for a software house - (pdf,google doc,slideshare)- Π.Αποστολόπουλος (μουά!)


Μετά από αρκετό καιρό βρέθηκα στην θέση ξανά του ομιλητή - τελευταία φορά μίλησα για επαγγελματική πορεία, βιογραφικά και κίνηση μέσα στην αγορά εργασίας. Η παρουσίαση μου ήταν βασισμένη σε μια σειρά άρθρων  που έγραψα πριν μήνες και θα τα βρείς εδώ (1,2,3) . Ένα από τα τέσσερα άρθρα είναι γραμμένο από τον Δημήτρη Στεργίου (@dstergiou,linkedin) και έχει να κάνει με security. Δεν ξέρω πως τα πήγα, ελπίζω καλά. Αυτό που ήθελα να κάνω ήταν να μεταδώσω τον προβληματισμό μου σε μια ομάδα προγραμματιστών που ξεχωρίζουν. Οι τακτικοί των JHUG event  είναι για μένα άνθρωποι που ακόμα η φλόγα και το πάθος θα δουλειά καίει αρκετά δυνατά και δεν διστάζουν να δώσουν μερικές ώρες από τον πολύτιμο τους χρόνο για να συνεχίσουν να μαθαίνουν.  Αυτοί οι άνθρωποι σε λίγο καιρό (από τώρα) θα είμαι υπεύθυνοι ομάδων, τμημάτων και θα πάρουν ηγετικές θέσεις σε τεχνικές θέσεις. Ήθελα να προβληματιστούν αλλά και να δούμε τι μπορεί να γίνει έτσι ώστε να μεταδώσουμε κάποιες βασικές αρχές - τακτοποιημένης και οργανωμένης δουλειάς που χρειάζεται να γίνει - σε πολλούς οργανισμούς εκεί έξω. 

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

2.Thinking..RESTfully, (pdf), Σ. Γκορίλας.
Είχαμε ακούσει τον 'συνάδελφο' Στέλιο πριν μερικούς μήνες σε μια μεγάλη και αρκετά περιεκτική ομιλία περί Lucene.  Επανήλθε με ένα ακόμα ενδιαφέρον θέμα, την ιδέα γύρω από τα REST web services και την γενικότερη νόηση των πραγμάτων - μέσα από την ματιά των σχετικών REST-ιδεών. Μου άρεσε πάρα πολύ αυτή η εισαγωγή, γιατί προσπάθησε να εξηγήσει την πραγματική δύναμη της ιδέας του REST σε αντίθεση με τις υπάρχουσες web services τεχνολογίες (έχει τύχει να ασχοληθώ αρκετά με τα παραδοσιακά web services και να δοκιμάσω πολλές υλοποιήσεις αλλά και specification). Τα REST based web sevices έχουν απλή υλοποίηση, απλό μηχανισμό consumption είτε από προγράμματα είτε ανθρώπους και φαίνεται να κερδίζουν όλο και μεγαλύτερο έδαφος στην αγορά. Κρατήστε λοιπόν την παρουσίαση σαν μια πολύ ωραία εισαγωγή και φυσικά κατεβάστε την υλοποίηση που σας αρέσει και παίξτε μαζί τους. 

3.Introducing, LMAX - Disruptor, (ppt), Γ. Φουκαράκης
Το καλοκαίρι όταν τα πρώτα link έδειχνα στην ερευνητική δουλειά των ανθρώπων της LMAΧ για το νέο framework - μηχανισμό που δημιούργησαν έτσι ώστε να διαχειριστούν με ασφάλεια και ταχύτητα τα εκατομμύρια μηνύματα μετοχών στο trading σύστημα που φτιάχνουν, το κατέβασα και ξεκίνησα να διαβάζω. Βέβαια εξαιτίας υποχρεώσεων το διάβασμα σταμάτησε κάπου στην μέση και τα test με το jar που κατέβασα σταμάτησαν λίγο με τα παιχνίδια μου και απλά test στην υλοποίηση του  RignBuffer. Χθες ο Γιάννης έδωσε μια πολύ δύσκολη παρουσίαση - προσπαθώντας να απλοποίηση για χάρη μας τις τεχνικές λεπτομέρειες και ιδέες από τον μηχανισμό του Disruptor. Ένα δύσκολο θέμα, νομίζω τα κατάφερε πολύ καλά μιας και ολοκλήρωσα την αρχική μου γνώση για το θέμα μετά από το ημιτελές διάβασμα μου.  Τα συμπεράσματα μου για τον Disruptor είναι τα εξής.
  • Όταν πρέπει να βελτιστοποιήσεις κάτι που γενικά είναι βελτιστοποιημένο για να πάρεις τα πρωτεία πρέπει να ασχοληθείς ακόμα και με την πιο μικρή λεπτομέρεια σε πράγματα κρυμμένα ή προβλήματα που νόμιζες μέχρι τώρα κάποιοι άλλοι τα είχαν λύσει για σένα (βλέπε ταχύτητα διαμεταγωγής μνήμης, διαφορετικότητα σε αρχιτεκτονικές επεξεργαστών, παράλληλη επεξεργασία σε επίπεδο cpu κτλ).
  • Ο disruptor είναι για την ώρα ένας μηχανισμός για να λύνει ένα πολύ συγκεκριμένο πρόβλημα- fast messaging σε παράλληλο επεξεργαστικό περιβάλλον.
  • Ενώ οι μηχανικοί της LMAX δέχονταν όλα τα καλά και τους αυτοματισμούς του Java Virtual Machine και την διαχείριση μνήμης που κάνουν, έφτιαξαν έναν μηχανισμό που σε μερικά σημείο το καταστρατηγεί. Ουσιαστικά λένε, 'θέλουμε να κρατήσουμε τα χαρακτηριστικά του JVM που μας αρέσουν και τα άλλα όπως πχ το gargage collector τον καταργούμε ουσιαστικά με το να κάνουμε restart !! 
  • Ο  disruptor δεν ξέρουμε πως μπορεί να παίξει σωστά μέσα σε ένα managed περιβάλλον όπως  application server μιας και έχει ιδιαιτερότητες αλλά και προαπαιτούμενα για το thread allocation και διαχείριση μνήμης
  • Θα είχε ενδιαφέρον  να φτιαχτεί ένας wrapper ή message broker μηχανισμός με core τον disruptor και να χρησιμοποιεί standalone σε κάποια project! Ωραία ιδέα για project - ένα τέτοιο πείραμα θα μπορούσε να έβγαζε εκτός αγοράς πολλές εταιρίες οι οποίες λένε ότι τώρα έχουν λύσεις για διαχείρηση μηνυμάτων (messaging εφαρμογές). Πιστεύω ότι θα γίνει αρκετά γρήγορα.
Αυτά, ήταν πραγματικά ένα πολύ καλό JHUG event. Ευχαριστώ ξανά τους ανθρώπους του Colab που μας φιλοξενούν. Να σημειώσω ότι από τώρα έχουμε συμφωνήσει για την επόμενη ημερομηνία - 21/01/2011 οπότε όσοι απ΄εσάς θέλετε να βρεθείτε στην θέση του ομιλητή - αφήστε ένα μήνυμα σε αυτό το thread της λίστα μας.

No comments:

Post a Comment