|
dotNETZone.gr Weblogs
-
ΤΟ ΤΡΑΓΟΥΔΙ ΤΟΥ PROJECT MANAGER (τραγουδιέται όπως το "οταν θα πάω κυρά μου στο παζάρι") Οταν θα μπούν οι developers στο meeting θα τους ζητήσω ένα Web Site Το Web Site κλικι κλικι κλι ως τη Δευτέεερα θα έεεχει βγει. Οταν θα μπούν οι developers στο meeting Θα τους ζητήσω ένα CRM Το Web Site τη Δευτέρα τo CRM κλικι κλικι κλι μεχρι την Τρίιιτη θα έεεχει βγει. Οταν θα μπούν οι developers στο meeting θα τους ζητήσω ένα ERP Το Web Site τη Δευτέρα το CRM μεχρι την Τρίτη το ERPιιι κλικι κλικι κλι ως την Τετάααρτη θα έεεχει βγει Οταν θα μπούν οι developers στο meeting θα τους ζητήσω και ενα E-learning Το Web Site τη Δευτέρα το CRM μεχρι την Τρίτη το ERP ως την Τετάρτη το Ε-learning κλικι κλικι κλι μέχρι την Πέμπτη θα έχει βγει Οταν θα μπούν οι developers στο meeting θα μου ζητήσουν λεφτά για υπερωρίες Το Web Site τη Δευτέρα το CRM μεχρι την Τρίτη το ERP ως την Τετάρτη το Ε-learning την Πέμπτη σημερα είναι Παρασκευή ΚΑΙ ΔΕΝ ΜΟΥ ΚΑΙΓΕΤΑΙ ΚΑΡΦΙ! Δείτε τον κατάλογο των δημοσιεύσεων This work is licensed under a Creative Commons...
|
-
Σε συζήτηση για το Επεισόδιο 11, η φίλη viv μας έγραψε: Βύσμα και ξερό ψωμί...Ειδικά στον ιδιωτικό τομέα... Και τελικά εφόσον δεν ξέρει και αυτός που έχει το master ποιος ξέρει; Και πως ειδικεύεται; Αν θέλει να μάθει πως μαθαίνει; Απορίες μιας μικρής... Διαβιβάσαμε πάραυτα τις απορίες της στο Ζαχαρία, ο οποίος και απάντησε: Αγαπητή, μικρή και απονήρευτη κοπέλα, η έννοια του Master στα Ελληνικά δεδομένα είναι παραπλήσια με την έννοια "Θεός του Καράτε". Ητοι, μπορείς να το παίζεις θεός του καράτε μέχρι να φας ξύλο από κάποιον που ΠΡΑΓΜΑΤΙΚΑ ξέρει καράτε. Τώρα, θα μου πείς, τόσοι Master-holders, άχρηστοι είναι όλοι; Η απάντηση είναι, φυσικά, οχι. Υπάρχουν αξιόλογοι επαγγελματίες, τόσο με master όσο και χωρίς master. Και σε έναν αξιόλογο επαγγελματία, ένα master προσδίδει πραγματική αξία. Ορισμένοι όμως έχουν ανακαλύψει οτι μπορείς να το παίζεις θεός του καράτε χωρίς να ξέρεις καράτε. Και επειδή στην Ελληνική πραγματικότητα, οι "θεοί του καράτε" ζουν και αναπαράγονται σε όλα τα επίπεδα της ιεραρχίας, ο καθένας φοβάται...
|
-
Από μια κουβεντούλα που έγινε σχετικά με το Επεισόδιο 3: Η δημοσίευση του χρήστη Cgeo: Βρε μήπως είμαστε εμείς λάθος; Αφού είναι τόσο συνηθισμένο, μήπως η εφαρμογή θα έπρεπε να τσεκάρει την ανάλυση της οθόνης και να εμφανίζει warning ή να μην ξεκινάει; Μήπως το logout και το licencing θα έπρεπε να δουλεύει λίγο διαφορετικά; Από την άλλη, αν όντως κάναμε και αυτά, υπήρχε ποτέ περίπτωση να χτυπάγαμε δουλιά με το κόστος που θα είχαμε; Τελικά μήπως απλά κάνουμε αρπαχτές; Ποιος είμαι; που πάω; από την πόλη έρχομαι και στην κορφή το UI... Η απάντηση του Ζαχαρία: Αγαπητέ cgeo, Ας υποθέσουμε οτι είσαι καφετζής. Ωραία; Ωραία. Εστω λοιπόν οτι έχεις το δικό σου μαγαζί. Ερχεται ένας celebrito-πελάτης (η Παπαρίζου, ας πούμε, που είναι και επίκαιρη) και σου παραγγέλνει ένα γαλλικό choc-de-crem με αφρόγαλα και κρέμα μαγαδασκάρης (στην άκρη). Δεν το έχεις. Δεν θέλεις να φύγει ο πελάτης. Τι κάνεις; Σαν να σε ακούω....ΑΑΑΑΡΠΑΧΤΗ! Πετάγεσαι μέχρι το διπλανό delicatessen και παίρνεις 2-3 τέτοια για ώρα ανάγκης...ή θα μου έλεγες οτι...
|
-
Σε απάντηση κάποιου επεισοδίου, κάποιος ρώτησε πώς μπορούμε να εκδικηθούμε έναν αντιπαθητικό συνάδελφο ή προϊστάμενο. Ιδού: Μπορώ να σου δώσω πολλούς δημιουργικούς τρόπους ακόμα με τους οποίους μπορείς να εκδικηθείς έναν τέτοιον τύπο. Π.χ. χρησιμοποιείς το original CD των Windows και βάζεις σαν μοναδική γλώσσα τα Αραβικά με πληκτρολόγιο στα κινέζικα (mandarin) ως default. Επειτα, βάζεις το theme για όσους έχουν προβλήματα όρασης (ξερεις, αυτό που τα κάνει όλα τεράστια). Τελος, αμολάς μερικά μηρμύγκια που έχεις μαζέψει από τους αγρούς (τωρα με τις διακοπές και τις εξοχές) μέσα στο κουτί και απολαμβάνεις τον συναρπαστικό ήχο "φαπ" που κανουν τα ανεμιστηράκια και τα λοιπα κινουμενα μερη καθε φορα που συναντουν ενα τετοιο ζωάκι (no animals were harmed during this post - don't try it at home, all rights reserved κλπ κλπ). Εναλλακτικά γίνεται και με χρυσόμυγες. Απολαυστικότατα θορυβώδες. Δείτε τον κατάλογο των δημοσιεύσεων This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License...
|
-
Ενα από τα μεγαλύτερα "αγκάθια" στη σημερινή Ελληνική πραγματικότητα, και ιδιαίτερα για τους software developers, ειναι το κάπνισμα. Ναι, μπορεί οι χώρες της ΕΕ η μία μετά την άλλη να ακολουθούν το Αμερικανικό μοντέλο απαγορεύοντας το κάπνισμα σχεδόν παντού σε κοινόχρηστους χώρους και ενθαρρύνοντας τις ιδιωτικές εταιρίες να ακολουθήσουν παρόμοια μέτρα, όμως στην Ελλάδα τα πράγματα ακόμα είναι μοιρασμένα. Αρκετοί software developers (και όχι μόνο) είναι καπνιστές. Λογω της φύσης της εργασίας του developer, είναι δύσκολο ένας ενεργός καπνιστής που ασκεί αυτό το επάγγελμα να είναι αποδοτικός σε ένα αντικαπνιστικό περιβάλλον, δεδομένου οτι απαιτείται ιδιαίτερη προσήλωση στη δουλειά του η οποία "αδυνατιζει" από τις συνεχείς διακοπές προκειμένου να βγει κάπου έξω για να καπνίσει. Οσο για την αντίστροφη περίπτωση, δηλ. το να είναι κάποιος αντικαπνιστής σε ένα περιβάλλον καπνιστών, γνωρίζουμε όλοι πόσο ενοχλητικό μπορεί να αποδειχθεί αυτό για τον εργαζόμενο. Δεν θα ασχοληθούμε εδώ με το κατά πόσον το κάπνισμα είναι βλαβερό...
|
-
Σε αυτό το επεισόδιο θα ζήσουμε μια συνηθισμένη μέρα στη ζωή του Ζαχαρία μέσα στην Τρια Κιλά Κώδικα Α.Ε. Ετοιμαστείτε για να αναθεωρήσετε την έννοια "ηχορρύπανση"....
|
-
Δεν ξέρω για σας, αλλά για μένα ισχύει : Αν θέλω να πάρω μια γρήγορη πρώτη εικόνα μιας τεχνολογίας χωρίς να διαβάσω τόνους πληροφορίας και να σπαταλήσω άπειρο χρόνο πριν καταλήξω ότι με ενδιαφέρει ή όχι, ψάχνω να παρακολουθήσω κάποια εισαγωγικά video. Αν λοιπόν θέλετε να πάρετε μια καλή γεύση της τεχνολογίας ATLAS , του νέου framework για την υλοποίηση πλούσιων cross-browser εφαρμογών που εκμεταλλεύονται τεχνικές AJAX παρέχοντας ευκολίες για client-side λειτουργικότητα με τρόπο παρόμοιο των server-side controls της ASP.NET, ρίξτε μια ματιά σ' αυτή την σελίδα όπου θα βρείτε εισαγωγικά αλλά και προχωρημένα video για ASP.NEΤ αλλά και ATLAS τεχνικές....
|
-
Σωστή διάταξη των στοιχείων στην φόρμα και σχεδιασμός Η διάταξη των στοιχείων στην φόρμα, ήταν πάντα ενα πολύ σημαντικό κομμάτι κατα την διάρκεια της σχεδίασης του GUI . Φανταστείτε ότι έχουμε μια εφαρμογή πελατών, όπου στην φόρμα θέλουμε να φαίνεται το ονοματεπώνυμο του χρήστη και κάποιες παραγγελίες που μπορεί να έχει κάνει. Ο χρήστης περιμένει το ονοματεπώνυμο του πελάτη να είναι σε κάποιο εμφανές σημείο ώστε να μπορεί με μιά ματιά να ξέρει ποιον επεξεργάζεται εκείνη τη στιγμή. Το συνηθισμένο λάθος είναι να τοποθετούμε τα στοιχεία του πελάτη μόνο στο TitleBar της φόρμας ή μέσα σε ένα GroupBox το οποίο έχει πολύ έντονα χρώματα νομίζοντας ότι έτσι θα βοηθήσουμε τον χρήστη να θυμάτε ευκολότερα τον πελάτη ή οτι έτσι θα μπορεί να τον βρει εύκολα. Συνιθισμένη πρακτική επίσης είναι να τοποθετούμε τα στοιχεία του πελάτη το πάνω μέρος της φόρμας και απο κάτω τα άλλα στοιχεία, όπως παραγγελίες, τιμολόγια κλπ. Αυτός ο τρόπος όμως δεν είναι και ο καλύτερος. Σας παραθέτω παρακάτω δύο εικόνες απο δύο διαφορετικά προγράμματα,...
|
-
Όσους τους εκνευρίζει το διαρκές Ο/R mapping και θέλουν κάτι πιο "natural" για τα CLR objects τους, τότε ας κοιτάξουν την db4ο (DataBase for Objects). Επαγγελματικά την χρησιμοποιώ εδώ και ένα χρόνο και έχω πιστεί για την αποτελεσματικοτητα της. Αυτό που ανακάλυψα είναι ότι με την db4o μπορώ να είμαι όσο Agile επιθυμώ. Συγκεκριμένα στο project που δουλεύω το refactoring στο Object Model μου έχει γίνει απόλαυση. Βεβαια σε καμια περίπτωση δεν πρόκειται να αντικαταστήσει ένα enterprise strength RDBMS. Απλά σε μερικά projects(real time systems, mobile apps και μερικά αλλα...) η db4o μπορεί να κάνει την διαφορα σε performance και το σημαντικότερο σε productivity. Και κάτι τελευταίο... μέχρι να έχουμε επίσημα στα χερια μας το LINQ η db4o μας προσφέρει κάτι αντίστοιχο(στο περίπου) και το λέει Native Queries. Ένα πολύ πολύ απλό παράδειγμα για μια πρώτη γεύση. public class Person { private string name; private int age; public Person( string name, int age) { this .name = name; this .age = age; } public string Name { set...
|
-
Σχεδιάζοντας Friendly GUI (Graphical User Interface) Πριν λίγο καιρό, είχα μια συζήτηση με μερικά μέλη του DNZ περι GUI και κατα πόσο είναι εφικτό να σχεδιάσουμε όμορφα και λειτουργικά GUI . Τα τελευταία χρόνια ασχολήθηκα πάρα πολύ με το κομμάτι αυτό, ψάχνοτας απο εδώ, ψάχνοντας απο εκεί, τελικά κατέληξα σε ορισμένα συμπεράσματα, τα οποία θα τα μοιραστώ μαζί σας. Δυστυχώς, όχι μόνο στην Ελλάδα, αλλά περισσότερο σ’ αυτήν, θεωρούμε το GUI ως ενα κομμάτι το οποίο πρέπει να απλά να "γίνει" για να μπορέσουμε να παραδώσουμε την εφαρμογή μας στον πελάτη, κάτι δηλαδή σαν μια αγγαρεία. Εδώ ακριβώς βρίσκεται και το λάθος, μια και οδηγούμαστε έτσι στον σχεδιασμό πολύ πρόχειρων GUI , δύσκολων στην χρήση, με πάρα πολλά στοιχεία ( elements) μαζεμένα και σε κακές διατάξεις, λανθασμένες χρωματικές κωδικοποιήσεις ( color codes) και μπάρες εργασίας που αντι να βοηθούν τον χρήστη τον μπερδεύουν ακόμα περισσότερο. Το GUI είναι αυτό που βλέπει ο πελάτης, είναι αυτό το οποίο θα κάνει τον πελάτη να εντυπωσιαστεί, είτε ευχάριστα , είτε...
|
-
Windows® Presentation Foundation (formerly code named "Avalon") is Microsoft's® unified presentation subsystem for Windows and is exposed through WinFX®, Windows Vista's™ managed-code programming model that extends the Microsoft .NET Framework. Windows Presentation Foundation (WPF) consists of a display engine that takes full advantage of modern graphics hardware and an extensible set of managed classes that development teams can use to create rich, visually stunning applications. WPF also introduces Extensible Application Markup Language (XAML), which enables developers and designers to use an XML-based model to declaratively specify the desired user interface (UI) behavior. More and more people are interested in exploiting WPF application development as Windows Vista get closer to their final release date. This post will try to be one page stop for up-to-date information related with WPF application development. Links, blogs, news, source examples and demos will be hosted and you are more than welcome to point...
|
-
Recently, I had the chance to view a demo of Photosynth and its really amazing ! Fortunately the team has launched a new site inder Microsoft Live Labs so you can have a first look at this new technology which changes the way you think about digital photos forever. Photosynth takes a large collection of photos of a place or object, analyzes them for similarities, and displays them in a reconstructed 3-dimensional space where you can walk or fly through a scene to see photos from any angle. Imagine that technology applied to flickr repository ?...
|
-
ο αλγόριθμός του cgeo για τον έλεγχο εγκυρότητας ΑΦΜ γραμμένος σε T-SQL. Τον αρχικό σε VB μπορείτε να τον βρείτε εδώ -- returns 1 if valid, 0 if not valid create function checkAFM(@vatId nchar (9)) returns bit as begin declare @i int declare @ sum int declare @residual int declare @lastdigit int declare @isValid bit set @ sum = 0 set @i = 0 while @i < 8 begin set @ sum = @ sum + power (2,(8 - @i))* cast ( substring (@vatId,@i+1,1) as int ) set @i = @i + 1 end set @residual = @ sum % 11 if @residual = 10 set @lastdigit = 0 else set @lastdigit = @residual if @lastdigit = cast ( substring (@vatId,9,1) as int ) set @isValid = 1 else set @isValid = 0 return @isValid end...
|
-
Watching Michael Platt's weblog always gives you food for very interesting thoughts, since he follows up most of the current trends out there. His latest posts deals with all buzz technologies round Web (2.0 or not) trying to setup conceptual maps under various perspectives. In most of his maps, common point of view is Software and Services for Consumers or Enterprises. It gets more and more clear to me that the answer in the famous question : Rich Client or Web based applications, is AND not OR. Rich client AND Web based applications, in order to get the best of both worlds Mutiple PCs AND Devices, because we should not be limited only in our desktop Software AND Services, because each one has its own usage and SLAs Hosted AND On Premise, depending on complexity, costs, availability, security requirements Clients AND Cloud AND P2P, because topology should work for us not limit us Transactions AND Advertising AND Subscriptions, should all be our business models. We need a platform of ANDs not ORs...
|
-
Βρίσκεστε όλοι μαζί μέσα σε ένα δωμάτιο; Περνάνε πάνω από το κεφάλι σας συνεχώς Project Managers ή ανώτερα στελέχη κρυφοκοιτώντας την οθόνη σας ή διακόπτοντάς σας για να σας ρωτήσουν πώς τα πάτε ή για να σας δώσουν οδηγίες; Το τηλέφωνό σας χτυπάει συχνά για να σας ρωτήσουν διάφοροι διάφορα; Δεχεστε συχνά διακοπές από συναδέλφους σας για ερωτήσεις τις οποίες μπορούν να απαντήσουν και μόνοι τους; Σας καλούν ξαφνικά σε meetings για τα οποία κάποιος αμέλησε να σας ενημερώσει; Για την εταιρία: Όλα αυτά συμβάλλουν στην ελλάτωση της παραγωγικότητας των προγραμματιστών. Η ανάπτυξη λογισμικού είναι μια πνευματική εργασία. Χρειάζεται την αντίστοιχη συγκέντρωση. Οι υστερικοί Project Managers που ρωτάνε κάθε πέντε λεπτά «πως πάει» δεν συμβάλλουν σε αυτό. Οργανώστε το χρονο που θα απασχολειτε τους προγραμματιστές καθορίζοντας γνωστά σε ολους εκ των προτέρων χρονικά διαστήματα σε συγκεκριμένες ημέρες. Δώστε οδηγίες σε όσους έχουν αλληλεπίδραση με τους developers για τα παραπάνω και οργανώστε τα meetings σας δημιουργώντας όσο...
|
-
Ειτε δουλεύει μια ολόκληρη ομάδα είτε ένα άτομο πάνω σε ένα project, αν δεν έχετε καταρτίσει προδιαγραφές το project είναι, στην καλύτερη περίπτωση, καταδικασμένο σε φριχτές καθυστερήσεις και δεν πρόκειται να «βγάλει» τα λεφτά του. Οι προγραμματιστές δεν θα ξέρουν τι ακριβώς πρέπει να φτιάξουν, οι πελάτες θα φωνάζουν «μα αυτό το ΕΝΝΟΟΥΣΑΜΕ όταν σας είπαμε αυτό κι εκείνο», και πολλές φορές θα χρειαστεί να γκρεμίσετε το μισό κώδικα της εφαρμογής και να τον ξαναγράψετε από την αρχή για χάρη κάποιας ασάφειας που δεν ξεκαθαρίστηκε παρά μόνο όταν ο πελάτης είδε την εφαρμογή να τρέχει. Υπόψη, κανείς δεν πρόκειται να αποζημιώσει την εταιρία σας γι’αυτό. Για τον προγραμματιστή: Αν συμπεριλαμβάνεται στα καθήκοντά σας, τότε εντάξτε στην εκτίμηση χρόνου που θα κάνετε για το έργο και τη συλλογή προδιαγραφών. Εξασφαλίστε, μέσω της εταιρίας σας, έναν ανοιχτό δίαυλο επικοινωνίας με τον πελάτη και φροντίστε στο να προσδιορίσετε επακριβώς όσο το δυνατόν μεγαλύτερο μέρος του έργου που θα αναλάβετε. Αν το έργο είναι μεγάλο και υπάρχει...
|
-
Η μήπως σημειώνετε τα bugs σε κάποιο χαρτί; Ξερετε πόσα bugs έχει το λογισμικό σας κάθε στιγμή και πόσα μπορούν να φτιαχτούν ως την επόμενη εγκατάσταση; Τα έχετε ταξινομήσει σύμφωνα με το βαθμό σημαντικότητάς τους; Εχετε αναθέσει συγκεκριμένα bugs σε συγκεκριμένους ανθρώπους; Τι; Ειστε μικρή ομάδα; Δεν το χρειάζεστε; Τα έχετε όλα ΣΤΟ ΜΥΑΛΟ σας; Συγχαρητήρια. Κερδίσατε αμέτρητα Σαββατοκύριακα εργασίας χωρίς λόγο και απίστευτη γκρίνια από τους πελάτες σας, και πάλι χωρίς λόγο. Καλή σας διασκέδαση. Για την εταιρία: Η υιοθέτηση ενός bug tracking software δεν κοστίζει πολλά, μια και υπάρχουν αρκετά freeware ή open source προγράμματα που διατίθενται ελεύθερα. Ακόμα και το Excel μπορεί να κάνει αυτή τη δουλειά, ελλείψει ύπαρξης εξειδικευμένης εφαρμογής. Υιοθετώντας έστω και μια απλή διαδικασία διαχείρισης bugs θα έχετε πληρέστερο έλεγχο της διαδικασίας παραγωγής. Τι θα λέγαμε έξω από τα δόντια: Τα bugs είναι αναμενόμενα στην κατασκευή λογισμικού. Αντιμετωπίστε τα οργανωμένα, ως μέρος της όλης διαδικασίας, και όχι ως...
|
-
Για τα Ελληνικά δεδομένα, η κύρια ερώτηση θα έπρεπε να είναι «ξέρετε ΤΙ είναι το λογισμικο Source Control» ; Πολλές Ελληνικές εταιρίες των οποίων οι ομάδες ανάπτυξης αποτελούνται από μονοψήφιο αριθμό ατόμων δείχνουν να αγνοούν την ύπαρξη του Source Control, ιδιαίτερα μάλιστα όταν ένας προγραμματιστής έχει κάθε φορά την ευθύνη ενός ολόκληρου project. Αλλοίμονο, όμως, αν παρουσιαστεί η ανάγκη να δουλέψουν δύο άνθρωποι μαζί! Η καταστροφή έρχεται με τη μορφή χιονοστιβάδας: Ο ένας δεν ξέρει τι άλλαξε ο άλλος, ο κώδικας δεν αποθηκεύεται σε κεντρικό σημείο (η αν αποθηκεύεται, διαγράφεται και καταστρέφεται το ίδιο εύκολα), οι προγραμματιστές γίνονται ειδικοί στο copy/paste αρχείων κώδικα και το προϊόν σας βγαίνει στα ράφια περίπου 1000 ημέρες μετά το deadline. Ένα προϊον Source Control ενθαρρύνει τη συλλογική εργασία. Οποιαδήποτε εταιρία διαθέτει πανω από έναν προγραμματιστή πρέπει να το έχει υπόψη της. Ακόμα και αν φαίνεται άχρηστο σε ομάδες του ενός ή των δύο ατόμων, η χρησιμοτητά του θα φανεί όταν η δουλειά θα αρχίσει...
|
-
Οσοι από εσάς υπήρξαν φανατικοί των BBS στην προ- internet Ελληνική εποχή, με τα modem κάθε βράδυ να παίρνουν φωτιά και τις συζητήσεις να δίνουν και να παίρνουν, ενδεχομένως να θυμάστε την Acrobase BBS , μια από τις δημοφιλέστερες υπηρεσίες Bulletin Board System με τον εκπληκτικό αριθμό (τότε!) των 2000 ενεργών μελών. Η Acrobase , με 18 χρόνια ενεργής παρουσίας, έζησε τις μεγαλύτερες στιγμές της το διάστημα από το 1990 ως το 1996 οπου και με την άνοδο της χρήσης του Internet τα συστήματα αυτά άρχισαν σιγά σιγά να χάνουν το κοινό τους. Σημερα η τεχνολογία έχει επιτρέψει πολύ αμεσότερες μορφές επικοινωνίας. Forums , newsgroups , email , sms … στην εποχή όμως εκείνη οπου το internet το αντιμετώπιζε η πλειοψηφία του κόσμου με τη φράση «τιντουτ’» J , και που κινητά, SMS και e - mail ήταν στα σπάργανα και αντε να τα ξέρανε μονο λίγοι και εκλεκτοί, αρκετοί από εμάς είχαν την ευκαιρία να ζήσουν την πραγματική δικτυακή επικοινωνία μέσα από την μεγάλη και πολύ δεμένη παρέα της Acrobase . Ανθρωποι γνωρίστηκαν και παντρεύτηκαν...
|
-
Ανάμικτα συναισθήματα γύρω από την χρήση του Internet με τροφοδότησε κι αυτή η εβδομάδα. Ξεκινώντας από τα καλά νέα, το BBC ανακοίνωσε ότι ενώ ο συνολικός "τηλεοπτικός πληθυσμός" του παρουσίασε μια ελαφρά μείωση, ο αντίστοιχος αριθμός επισκεπτών στο web site του αυξάνει ραγδαία: 24.3 εκατομμύρια χρήστες από όλο το κόσμο επισκέπτονται το web site του κάθε εβδομάδα , σχεδόν διπλάσιοι (40%) από τους αντίστοιχους περσινούς. Ετσι εξηγείται άλλωστε και η επένδυση που κάνει ο συγκεκριμένος οργανισμός σε τεχνολογίες αιχμής γύρω από το Internet. Αξίζει να επισκεφτείτε το site της Mix06 και να δείτε το video από την παρουσίαση ενός πραγματικά εντυπωσιακού νέου τρόπου διαδραστικότητας που διερευνά το BBC βασισμένο εξ ολοκλήρου στο Windows Presentation Framework και τα Windows Vista. (Πηγαίνετε στη διεύθυνση http://sessions.mix06.com/view.asp?pid=KYN001 και από το combo box στο κάτω μέρος του video επιλέξτε BBC-Demo αν δε θέλετε να δείτε ολόκληρη την ομιλία) Επίσης επισκεφτείτε τη επόμενη διεύθυνση για να ρίξετε μια ματιά...
|
-
Ένα από τα αγαπημένα μου βιβλία είναι το Hackers & Painters του Paul Graham. Σε ένα από τα κεφαλαια του βιβλίου πορουσιάζει την υλοποιηση μιας συνάρτησης που δημιουργεί accumulators ( θέλοντας να δείξει την δύναμη τ ω ν closures ). Ο κώδικας που παραθέτει είναι σε διαφορες γλώσσες(Lisp, Python, SmallTalk, JavaScript και Java) ( συγκρίνοντας τα παραδείγματα φαίνεται ξεκάθαρα η εκφραστική δύναμη και η μινιμαλιστική σχεδίαση της Lisp (O Paul Graham είναι γνωστός Lisp hacker)). Στο Appendix: Power θα βρείτε τον κώδικα http://www.paulgraham.com/icad.html Με την C# 2.0 μπορούμε να δημιουργήσουμε closures χρησιμοποιώντας anonymous delegates. Converter< int , int > MakeAccumulator( int n) { return delegate ( int y) { return n += y; }; } Converter< int , int > accumulator = MakeAccumulator(0); Console.WriteLine( accumulator(1) ); // 1 Console.WriteLine( accumulator(1) ); // 2 Console.WriteLine( accumulator(1) ); // 3...
|
-
Μια λειτουργία που υπήρχε αρκετά χρόνια σε άλλες γλώσσες και έλειπε από την VB ήταν η operator oveloading. Η δυνατότητα δηλαδή να ορίσουμε operators (τελεστές) πάνω στις κλάσεις μας. Ας δανειστούμε από τα μαθηματικά ένα κλασσικό και σχετικά απλό παράδειγμα, τους μιγαδικούς αριθμούς. Αυτοί αποτελούνται από ένα πραγματικό μέρος και ένα φανταστικό μέρος. Αρχικά λοιπόν η κλάση μας είναι: Public Class complexNumber Public real As Double Public imaginary As Double Public Sub New ( ByVal r As Double , ByVal i As Double ) Me .real = r Me .imaginary = i End Sub Public Overloads Function ToString() As String Return ( Me .real.ToString & " + " & Me .imaginary.ToString & "j" ) End Function End Class για να προσθέταμε 2 μιγαδικούς αριθμούς θα έπρεπε να φτιάξουμε μια συνάρτηση: function addComplex(c1 as complexNumber, c2 as complexNumber) as complexNumber return new complexNumber(c1.real + c2.real, c1.imaginary + c2.imaginary) end function στην τελευταία έκδοση όμως της vb μπορούμε να ορίσουμε πώς προσθέτουμε, αφαιρούμε...
|
-
Πριν από καιρό είχα δει το RSpec(for Ruby) και ήταν η πρώτη μου επαφή με το concept Behaviour Driven Development. Αρχικά δεν είχα εντυπωσιαστεί καθώς μου θύμιζε αρκετά γνωστές TDD πρακτικές. Σήμερα κατέβασα το Nspec και έπαιξα λίγο μαζί του... Προς το παρόν αυτό που μου αρέσει αρκετά είναι η αναγνωσιμότητα του κώδικα (specification). http://nspec.tigris.org/ code examples [Context] public class Example { [Specification] public void ShouldBeAbleToAddTwoNumbers() { Specify.That(2 + 2).Equals(4); } } [TestFixture] public class Example { [Test] public void ShouldBeAbleToAddTwoNumbers() { Assert.Equals(4, 2 + 2); } }...
|
-
Φαντάζομαι ότι οι περισσότεροι από σας θα έχετε διαβάσει μέχρι τώρα για την απόφαση του B.Gates να αποσυρθεί τον Ιούλιο του 2008 από την ενεργό δράση στη Microsoft και να αφοσιωθεί στις φιλανθρωπικές του δραστηριότητες. Τη θέση του σαν Chief Software Architect θα πάρει ο Ray Ozzie, ο οποίος ξεκίνησε την συμμετοχή του στην εταιρεία μετά την εξαγορά της Groove Networks τον Απρίλιο του 2005 και θεωρείται από πολλούς ο άνθρωπος που οραματίστηκε και υλοποιεί για την Microsoft την πλατφόρμα Windows Live, . Θεώρησα φυσικό λοιπόν να σπεύσω για να ακούσω (αλλά και να διαβάσω ) την εναρκτήρια ομιλία που έδωσε στην Βοστώνη στα πλαίσια της TechEd '06 για να πάρω μια ιδέα των πραγμάτων που έρχονται. Και ήταν πιστεύω αρκετά ζουμερή. Ανάμεσα στα άλλα που είπε, ήταν ότι η προσέγγιση της Microsoft όσον αφορά το Software as a Service δεν είναι σε καμμία περίπτωση άσπρο-μαύρο, όλα ή τίποτα : "... At times of disruption like this there are always extremists. Twenty-five years ago, at the beginning of the PC revolution, some predicted...
|
-
Πρόσφατα εντόπισα ένα πολύ ενδιαφέρον άρθρο για ένα bug που ήταν κρυμμένο για 9 χρονια (στην περίπτωση του JDK). Το βρήκα αρκετά διδακτικό και μας θυμίζει ότι το software είναι φτιαγμένο από αέρα αλλα δεν κατοικεί στον αέρα (και μάλλον το άπειρο κατοικεί μονο στο μυαλό μας και πουθενά αλλου). Plus ότι τα bugs θα είναι πάντα μαζί μας, όσα χρονια και αν έχουν περάσει, όσες φορες και αν έχουμε εξετάσει ένα κομμάτι κώδικα... Ενημερώστε τα Unit Tests παρακαλώ... http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html...
|
|
|
|