|
dotNETZone.gr Weblogs
-
Αγαπητά μέλη του StudentGuru και λοιποί αναγνώστες, Οι εξεταστικές τελείωσαν, οι σχολές δεν έχουν ξεκινήσει ακόμα για τα καλά και εμείς εδώ στο StudentGuru βρήκαμε λίγο χρόνο και ετοιμάσαμε ένα ακόμα event πάνω στην τεχνολογία ASP.net που τόσο αγαπάμε (δεν ξέρουμε για εσάς, αλλά εμείς την αγαπάμε). Ας ξεκινήσουμε πρώτα από τα βασικά... Που θα γίνει ... Ο χώρος είναι πλέον γνωστός : Microsoft Hellas, Κηφισίας 221, Μαρούσι. Αναλυτικές πληροφορίες για το πως να έρθετε... Πότε θα γίνει ... Το Σάββατο, 15 Μαρτίου στις 11.00 το πρωί (καλά δεν είναι και πολύ πρωί...) στην αίθουσα Ιριδανός, μόλις μπαίνετε αριστερά. Από ποιούς θα γίνει... Δύο θα είναι οι ομιλητές. Με σειρά εμφάνισης αναφέρονται παρακάτω : 1ος : Κατσιώτης Ιωάννης (aka djsolid ή ο γραφών αυτού του post). Πολύτιμο μέλος Development Team του StudentGuru που προσπαθεί εδώ και 5 μήνες να κάνει μια αναβάθμιση στο StudentGuru. 2oς Γκανάτσιος Δημήτρης (aka dt008 ή και σε κάποιους κύκλους γνωστός και ως Ηλίας) MVP στην C#, ξεχωρίζει για τα post του σχετικά με την...
|
-
Πριν από χρονια διάβασα το Code του Charles Petzold... ένα εκπληκτικό βιβλίο που πραγματικά σε διδάσκει και σε γεμίζει με χαρά και θαυμασμό, ίσως το μοναδικό του είδους από τα βιβλία της Microsoft Press. Αφήνοτας για λίγο στην άκρη τα βιβλία για .Net-WPF, επανέρχεται με ένα νεο βιβλίο με τίτλο " Τhe annotated Τuring ", και από ότι διαβάζω θα είναι στο πνεύμα του Cοde... Ο Petzold είναι ένας χαρισματικός συγγραφέας (programmer) και είμαι ιδιαιτερα χαρούμενος που θα μας μιλήσει για τον Turing και το έργο του. Σε αναμονή λοιπόν, για ένα βιβλίο που νομίζω ότι θα γίνει classic....
|
-
Το http://www.chios-echo.gr/ δημιουργήθηκε φέτος σε συνεργασία με την εταιρία Tool , και φιλοξενείται με τη συνεργασία της εταιρίας Xelixis . Αποσκοπώ και πάλι στο να δώσω μια περιγραφή του από τεχνική σκοπιά. Το portal τρέχει στην έκδοση 4.8.0 του DotNetNuke και για τη δημιουργία του χρησιμοποιήθηκε προδιαμορφωμένο περιβάλλον ("κομμένα" γραφικά σε HTML) το οποίο μετεξελίχθηκε σε skin. Απαραίτητες ήταν όμως και κάποιες "βαθύτερες" αλλαγές (εκτός του φακέλου /portals), όπως το customization του search box και της σελίδας αποτελεσμάτων αναζήτησης καθώς και κάποια άλλα customizations που αφορούσαν κυρίως τη λειτουργία του navigation side menu ως skin object (βλ. παρακάτω). Για την πρώτη σελίδα χρησιμοποιείται διαφορετικό ascx αρχείο (διπλό content pane) από ο,τι για τις εσωτερικές. Το top-level navigation είναι "καρφωτό" με τα γνωστά javascripts για το onMouseOver image roll, δεδομένου οτι τα top-level links δεν μεταβάλλονται. Αν και θα μπορούσε να χρησιμοποιηθεί κάποιο module, δεν υπήρχε ουσιαστικά κάποιο μεγαλύτερο...
|
-
Και η κουτσή Μαρία έχει broadband, η Τρια Κιλά Κώδικα θα έμενε πίσω; Ομως, όπως πιθανώς έχετε αντιληφθεί, ο Ζαχαρίας έχει το κοκκαλάκι της νυχτερίδας σε κάτι τέτοια θέματα και ...του έλαχε να διεκπεραιώσει τη διαδικασια μετάβασης στις μεγάλες ταχύτητες. Αν πιστεύετε οτι όλα θα πάνε καλά με την Τρια Κιλά Κώδικα ή αν πιστεύετε οτι το να αποκτήσει κανείς broadband σήμερα ειναι εύκολη υπόθεση, τότε δεν έχουμε τίποτα άλλο να πούμε. Μόνο πείτε στον παππού να σας αγοράσει καινούριο βιβλίο με παραμύθια, μια και μάλλον έχετε ήδη διαβάσει όσα είχατε....
|
-
Σήμερα, κατά το επίσημο launch των Windows Server 2008, SQL Server 2008 και Visual Studio 2008 ανακοινώθηκε από τo SQL Server Performance team ότι κατάφεραν σε συνεργασία με τη Unisys να τρέξουν διαδικασία ETL που μετέφερε 1TB δεδομένων σε λιγότερο από 30 λεπτά! Κάποιες πρόχειρες πληροφορίες βρίσκονται εδώ και είμαστε σε αναμονή για white paper. Επιπρόσθετα, εδώ μπορείτε να βρείτε κάποιες απίθανες πληροφορίες σχετικά με το γενικότερο performance του SQL Server 2008. To συμπέρασμα που προκύπτει από όλα αυτά είναι ότι ο νέος SQL Server δεν είναι απλά ο 2005 με κάποια νέα χαρακτηριστικά αλλά ένα προϊόν που έχει αλλάξει και εσωτερικά, αφού υπάρχει υπολογίσιμη διαφορά στις επιδόσεις σε σχέση με την προηγούμενη έκδοση. Προς το παρόν έγινε διαθέσιμη η CTP Φεβρουαρίου με την οποία μπορείτε να παίξετε και να ανακαλύψετε όλα τα νέα χαρακτηριστικά. Technorati Profile...
|
-
Μήπως ψάχνετε για ένα event όπου θα ακούσετε για όλες τις εξελίξεις στις γλώσσες προγραμματισμού, το managed execution περιβάλλον, τους compilers και τα περιβάλλοντα ανάπτυξης της Microsoft; Στο Lang.NET συζητήθηκαν όλα αυτά! Πραγματοποιήθηκε στα τέλη Ιανουαρίου, στο Redmond με κορυφαίους ομιλητές και πλέον είναι διαθέσιμα τα videos στο http://langnetsymposium.com . Enjoy! Hint: Τα videos είναι σε Silverlight, ωστόσο μπορείτε να κατεβάσετε και για off-line χρήση με μια μικρή αλλαγή στο url. Για παράδειγμα: Silrverlight: http://langnetsymposium.com/talks/2-00%20-%20Democratizing%20the%20Cloud%20with%20Volta%20-%20Erik%20Meijer.html WMV download: http://langnetsymposium.com/talks/videos/2-00%20-%20Democratizing%20the%20Cloud%20with%20Volta%20-%20Erik%20Meijer.wmv Credits: Download hint από τον Bill McCarthy , heads up από τον Paul Vick...
|
-
Το Windows Presentation Foundation ως markup μηχανισμός μας δίνει νέες δυνατότητες στη δημιουργία rich client εφαρμογών με στοιχεία που μέχρι σήμερα είχαμε διαθέσιμα μόνο στις ASP.NET εφαρμογές. Ένα κλασικό θέμα είναι η δημιουργία του UI on-the-fly, κατά το runtime, βάσει meta-data που μπορεί να έρχονται από οποιαδήποτε πηγή. Ήδη μου έλεγε ο Παναγιώτης Καναβός τις προάλλες για το ASP.NET Dynamic Data Support που επιτρέπει τη δημιουργία data-driven web εφαρμογών μέσω templates χωρίς να χρειάζεται να γίνει βάλει χέρι ο προγραμματιστής. Κατόπιν, σκέφτηκα κάλλιστα αυτά τα templates θα μπορούσαν να είναι σε XAML οπότε τελικά να καταλήγει κανείς σε WPF αντί ASP.NET εφαρμογή. Μάλιστα, παίζοντας τις προάλλες με το Linq To XML και τα XML Literals της VB, είπα να σκαρώσω κάτι ανάλογο. Έχουμε και λέμε λοιπόν: Ξεκινάμε με ένα XAML window που έχει ένα button και ένα frame: < Window x : Class = "Window1" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns : x = "http://schemas.microsoft.com/winfx/2006/xaml"...
|
-
Well I might be silly, but I had not run-up to this one yet. Until just now: You cannot change the accessibility level of a class member by means of hiding when inheriting from a generic type. Consider this example. A simple console application using two classes: MyList inherits from List<int> and My2ndList inherits from MyList . Generic type List<T> has a public method named Add that is not declared as virtual. My intention was to completely hide the base implementation of the Add method in my derived class. In other words, let's assume that I want MyList class to not expose an Add method. What one would normally do in this case, would be to hide the method by using the new modifier and changing its access modifier from public to private like I tried to do in line 32 of the code snippet that follows. Well. Guess what. This does not work if you are inheriting from a Generic Type. Try the code bellow then try to play around with the access modifiers in lines 32 and 47 . Although I would normally assume...
|
-
Hi all, The '1st European Silverlight Challenge' has ended and all of the participants did a pretty good job. However there can only be one winner who will become Europe's Best Silverlight Developer 2008. The Winner and the first and second runner-ups will be awarded with a trip to Mix 08 as well as additional prizes from our sponsors. 20 Countries from all across Europe have been involved in this 1st Challenge developing the best Rich Internet Application with Microsoft Silverlight. With unlimited creativity, the entries demonstrated the true potential of this amazing technology. The entries varied from games to multimedia tools and even real business applications, each one a unique piece. The announcement of the challenge was received with excitement among European bloggers and the news spread very fast among the user groups via the effort of our wonderful .NET User Group Leaders, whom mobilized their members to participate in the event. Thanks everybody for your efforts and support as this is what makes this...
|
-
Σε παλιότερο post μου, είχα αναφερθεί στα Anonymous Types, τα οποία μαζί με το Type Inference και τους Object Initializers αποτελούν στοιχεία απαραίτητα για το LINQ. Σε αντίθεση με το Type Inference (που είναι απλό ως concept και παρόμοιο στις δύο γλώσσες) και τους Object Initializers (κι αυτό παρόμοιο στις δύο γλώσσες) τα Anonymous Types κρύβουν μια σημαντική διαφορά (λέγε με breaking change) στην υλοποίησή τους! Πιστεύω ότι αυτή η διαφορά είναι απαραίτητο να τη γνωρίζει κανείς, είτε γράφει τακτικά και στις δύο γλώσσες, είτε πετύχει κάποιο code sample και πρέπει να το μετατρέψει από VB.NET σε C# ή το αντίστοφο. Στη C#, όταν δύο anonymous types δημιουργούνται με properties που έχουν ίδιο όνομα, ίδια σειρά και ίδιο τύπο, τότε και τα anonymous types έχουν ίδιο τύπο. Αν αντίστοιχα objects έχουν properties με ίδιες τιμές, τότε τα δύο instances έχουν ίδιο τύπο και είναι equal. Δηλαδή στο var w = new { FirstName = " Manos ", LastName = " Kelaiditis " }; var x = new { FirstName = " Manos ", LastName = " Kelaiditis "...
|
-
Λοιπόν αυτό είναι κάτι που δεν το είχα παρατηρήσει, μέχρι που πιάσαμε την κουβέντα περί FxCop και Globalization rules. Αν χρησιμοποιήσετε το String.ToLower ή String.ToUpper και κάνετε ανάλυση του κώδικα μέσα από το Visual Studio θα χτυπήσει το CA1304 warning Warning 9 CA1304 : Microsoft.Globalization : Because the behavior of 'String.ToUpper()' could vary based on the current user's locale settings, replace this call in 'Module1.Main()' with a call to 'String.ToUpper(CultureInfo)'. If the result of 'String.ToUpper(CultureInfo)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'CultureInfo' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'. C:\Users\Manos\AppData\Local\Temporary Projects\ConsoleApplication1\Module1.vb 21 ConsoleApplication1 Αυτό είναι ένα unicode πρόβλημα που οφείλεται στο ότι σε πολλά cultures η μετατροπή από Lower σε Upper και ξανά σε Lower δεν είναι...
|
-
Την Δευτέρα που πέρασε ολοκληρώθηκε ο Ελληνικός διαγωνισμός European Silverlight Challenge, και έχουμε την χαρά να ανακοινώσουμε τους νικητές: 1η Θέση Alter bubble bubble Ανδρέας Μπότσικας Δείτε τη συμμετοχή , λήψη της συμμετοχής 2η Θέση BubbleBreak Clone Δημήτρης-Ηλίας Γκανάτσιος Δείτε τη συμμετοχή , λήψη της συμμετοχής 3η Θέση n-Shirt Φωτινή Βαλεοντή Δείτε τη συμμετοχή , λήψη της συμμετοχής Καλή τύχη στον νικητή στην δεύτερη φάση του διαγωνισμού!...
|
-
Το τρίτο φετινό μας event, και 13ο dotNETZone Community Event θα πραγματοποιηθεί στις 26 Φεβρουαρίου στις 7.15μμ , στις εγκαταστάσεις της Microsoft Hellas (Κηφισίας 221, Μαρούσι ). Την παρουσίαση θα κάνει ο Άγγελος Καράντζαλης με θέμα "Agile Development (Agility for survival)" . To Agility for survival είναι μια συζήτηση σχετικά με τις ανερχόμενες Agile μεθοδολογίες ανάπτυξης. Σκοπός του event δεν είναι να "παπαγαλίσουμε" κάποιο βιβλίο για Scrum ή XP, αλλά μια εισαγωγή / συζήτηση σχετικά με τη νοοτροπία του agile development και το πως οι περισσότερες αρχές του είναι πράγματα που κάνουμε καθημερινά οι περισσότεροι στη δουλειά μας. Το event θα έχει 2 σκέλη: Εισαγωγή / θεωρία Τι είναι μια μεθοδολογία, γιατί τη χρειάζομαι; Οι 7 αρχές του agile development σε απλή γλώσσα Η τυπική agile διαδικασία και πως μεταφράζεται σε πράγματα που κάνουμε όλοι καθημερινά. Agile development Design is NOT dead Πέντε βασικές αρχές όταν γράφουμε κώδικα Concepts: dependency injection, AOP, O/R mapping κ.α. Τα dotNETZone Community Events...
|
-
Following the example of the Portuguese Architecture Councils and the advice of several Architecture MVPs, some foolhardy folks decided to start a Greek Architecture User Group. Membership and attendance to the meetings will be open to anyone interested, although we may try to keep the design lab meetings small. The first meeting will be a design lab on Internet TV applications. The second meeting will probably cover Executable Models and Model Driven Development. It seems that there are some of us working on Internet TV right now, while others have developed executable model platforms as far back as 1995. Quoting from Wikipedia, "Internet television (or Internet TV) is television distributed via the Internet. Internet television allows viewers to choose the show they want to watch from a library of shows. The primary models for Internet television are streaming Internet TV or selectable video on an Internet location, typically a website. It differs from IPTV in that IPTV offerings are typically offered on discrete...
|
-
Στο 12o Dotnetzone event, παρουσίασα μια βιβλιοθήκη για pattern matching με regular expressions... To διαφορετικό είναι ότι δεν περιορίζεται μονο σε character streams, αλλα κάνει match <T> streams, όπου το <T> οτιδήποτε (polymorphic type value). Ένα κλασικό παράδειγμα είναι να κάνω pattern matching σε ένα bitstream που μου έρχεται από διαφορα files... Stream: 1110101111110000111111000111 pattern: 1110(0|1)0111 Result: 111010111 1110000111 111000111 ή να βρω κάποιο συγκεκριμένο pattern στα δεκαδικά ψηφία του π (3.14159265358979323846264338327950288419716939937510...) Κάποια παραδείγματα χρήσης var pattern = true .Seq( true ).Seq( false ); var matchPattern = pattern.Match( new [] { true , true , true , false }); var pattern = 1.Seq(2).Seq(3.Alt(4)); var matchPattern = pattern.Match( new [] { 1, 2, 3, 5}); var pattern = '1'.Seq('2').Seq('3'.Plus()).Seq('4'); var matchPattern = pattern.Match( "12333345" ); Κάποιες βασικές ιδέες που χρησιμοποίησα στην υλοποίηση 1. Internal DSL for patterns 2. parser combinators...
|
-
Σε συνέχεια του post περί late binding , ας δούμε πως μπορούμε να πετύχουμε σωστό late binding, χωρίς να καταφύγουμε στο quick-and-dirty Option Strict Off. H μαγική λέξη είναι "Reflection". Τι είναι το Reflection μέσα σε 10'': Είναι ένας μηχανισμός που επιτρέπει την αναζήτηση πληροφοριών σχετικές με μια κλάση κατά το runtime. Δηλαδή, μπορούμε κατά το runtime να βρούμε τι members έχει μια κλάση, τι παραμέτρους δέχονται και τι τιμές επιστρέφουν. Αυτό είναι εξαιρετικά χρήσιμο! Είναι ο μηχανισμός πάνω στον οποίο βασίζεται τo Intellisence και τώρα θα τον χρησιμοποιήσουμε για late binding. Ας ορίσουμε μια κλάση: Class TestClass Public Function DoSomething( ByVal value As Integer ) As Integer Return value * 2 End Function End Class Και τώρα ας δούμε πώς θα τη χρησιμοποιήσουμε: Dim objTest As New TestClass Dim myType As Type Dim param(0) As Object Dim rslt As Integer Dim parameter As String = 5 Dim functionName As String = " DoSomething " param(0) = CType (parameter, Integer ) myType = objTest. GetType rslt = CType (myType.InvokeMember(functionName,...
|
-
Ο γολγοθάς μου με τον ΟΤΕ Όλα ξεκίνησαν σήμερα, στην προσπάθεια μου να ενεργοποιήσω ξανά την γραμμή 801 που έχουμε στο γραφείο. Η ενεργοποίηση ξανά γίνεται, λόγω της μεταφοράς μας απο παλαιό σε νέο κτίριο. Η μεταφορά του αριθμού 231 έγινε κανονικά (αν και πήρε 3 μέρες) αλλά της 801 που παίζει επάνω στο ίδιο κύκλωμα, όχι. Ρωτάω λοιπόν το συνεργείο που ήρθε να κάνει την μεταφορά και μου λέει ότι "Εμείς δεν ξέρουμε, πάρτε τηλέφωνο στο 121 να το δηλώσετε βλάβη". Παρακαλουθήστε λοιπόν την διαδρομή που έκανα εγώ: 121 -- "Χαίρετε, θέλω να δηλώσω βλάβη για αριθμό 801." Η απάντηση ήταν ότι "Εμείς δεν έχουμε αριθμούς 801, τι αριθμός είναι αυτός;". Εξηγώ στην κοπέλα που απάντησε τι είναι ο αριθμός 801, μιλάει με τον επόπτη της και μου απαντάει ότι δεν είναι δυνατόν να δηλώσω την βλάβη εκεί, καθώς δεν χειρίζονται εκείνοι τους αριθμούς 801. Μου λέει να καλέσω τον αριθμό 134 για να με κατευθύνουν απο εκεί που να πάρω τηλέφωνο. 134 -- Μου απαντάει και μου λέει (επειδή έχω ISDN) να πάρω στο 8001126000 που είναι και ο αριθμός...
|
-
Στο νέο report της Gartner "Magic Quadrant for Business Intelligence Platforms" που αξιολογεί BI λύσεις, η πλατφόρμα της Microsoft που βασίζεται στον SQL Server ξεπέρασε τις λύσεις της Business Objects και της Cognos που θεωρούνται leaders στην αγορά. Δεν θεωρώ τόσο σημαντικό το ποιός είναι πρώτος και ποιός δεύτερος, όσο τα επιμέρους συμπεράσματα της έρευνας: Ενώ πέρισυ η λύση ήταν στην κατηγορία "challenger", φέτος πέρασε στην κατηγορία "leader" To ΒΙ από εξειδικευμένο και ακριβό γίνεται commodity Η πελάτες έδειξαν ότι η πλατφόρμα έχει το ποιό ποιοτικό s/w σε σχέση με τις υπόλοιπες σε ασύγκριτα πιο ανταγωνιστική τιμή Θεωρώ πραγματικά κρίμα το γεγονός ότι το BI είναι από τα πιο παραγνωρισμένα features που προσφέρει ο SQL Server και είναι κρίμα από τη στιγμή που όποιος έχει αγοράσει τον SQL Server έχει αγοράσει και αυτό το ισχυρότατο εργαλείο που του επιτρέπει να αναλύσει τα data που αποθηκεύει σε αυτόν ώστε να εξάγει χρήσιμα επιχειρηματικά συμπεράσματα. Το BI μπορεί να βρει εκατοντάδες εφαρμογές, από ανάλυση των...
|
-
http://projects.nikhilk.net/Projects/ScriptSharp.aspx Πρόσφατα έκανα ένα σεμινάριο εισαγωγικό για Ajax και είχα την ευκαιρία με τους μαθητές μου να δούμε αρκετα πράγματα σχετικά με το background του Ajax. Έτσι μιλήσαμε και για JavaScript Classes. Το να γράψεις μια τέτοια class δεν είναι δύσκολο αλλά και ούτε και εύκολο. Μέσα από το Visual Studio σου δίνονται αρκετές δυνατότητες αλλά θα πρέπει να είσαι ενας αρκετά έμπειρος developer σε JavaScript. Τι γίνεται όμως άμα δεν είσαι; Θα πρέπει να μάθεις!!! Αλλά για να δούμε τα πράγματα κάπως διαφορετικά. Μήπως είσαι δυνατός στην C#; Αν ναι τότε έχεις λύσει το πρόβλημα σου. Στο παραπάνω link ο αξιόλογος συνάδελφος Nikhil Kothari έχει φτιάξει ένα project το οποίο σου βάζει μέσα στο VS IDE (2005 & 2008) κάποια project templates ( C# only ) με τα όποια εσυ γράφεις C# (εννοείται ότι γνωρίζεις DOM) και όταν κάνεις compilation παράγει τις JavaScript classes Είναι αρκετά ενδιαφέρον για δείτε το....
|
-
Με αφορμή αυτό το post σκέφτηκα να γράψω δύο πράγματα σχετικά με το late binding και το Option Strict, αυτά που συνήθως αγνοούν οι νέοι προγραμματιστές VB.NET. Το late binding προέρχεται από τον κόσμο του COM, είναι κάτι που υπήρχε και στη VB, ωστόσο ας μην μπλέξουμε το COM και ας το δούμε λίγο πιο απλά το πράγμα. Στον παρακάτω κώδικα φαίνεται ένα παράδειγμα late binding. Private Sub Form1_Load( ByVal sender As Object , ByVal e As System.EventArgs) _ Handles Me .Load AddHandler Button1.Click, AddressOf Button1_Click End Sub Private Sub Button1_Click( ByVal sender As System. Object , _ ByVal e As System.EventArgs) Debug.WriteLine(sender.text) End Sub Στο Button1_Click χρησιμοποιούμε το text property στο sender object και με μια πρώτη ματιά φαίνεται να τρέχει σωστά. Σε υποψίες ότι κάτι δεν πάει καλά με αυτή τη γραμμή κώδικα θα πρέπει να μας βάλει το intellisense το οποίο μόλις γράψουμε "sender" και πατήσουμε "." δεν μας εμφανίζει στη λίστα το text property. Ουσιαστικά, εκείνη τη στιγμή λέμε στον compiler "Μην ανησυχείς...
|
-
Αν με αγαπας δεν ξερω βαραει η καρδια μου τρελλα runtime error...
|
-
Το δεύτερο event για την νέα χρονιά είναι κοντά! Το 12ο dotNETZone Community Event θα πραγματοποιηθεί στις 12 Φεβρουαρίου στις 7.15μμ , όπως πάντα στις εγκαταστάσεις της Microsoft Hellas (Κηφισίας 221, Μαρούσι ). Την παρουσίαση θα κάνει ο Νίκος Παλλαδινός με θέμα "Great Ideas (The C# version)" . Great Ideas (The C# version) Ένα από τα αρχικά programming paradigms, το functional programming, χτυπάει την πόρτα της mainstream καθημερινότητάς μας!!! Βαρύγδουπο θα σκεφτείτε.... αλλά πιστέψτε με, έρχεται με ταχύτατους ρυθμούς! Σε αυτή την ομιλία θα δούμε: Τι είναι το functional Programming και γιατί πρέπει να μας ενδιαφέρει Πως μπορούμε να αλλάξουμε το programming style μας, με την C# και πάνω από όλα πως αλλάζει ο τρόπος σκέψης μας Τα dotNETZone Community Events διοργανώνονται με σκοπό την ενημέρωση των φίλων του dotNETZone.gr γύρω από διάφορα θέματα σχετικά με το .NET. Σας δίνουν τη δυνατότητα να παρακολουθήσετε ένα σεμινάριο τεχνικού χαρακτήρα, ενώ ταυτόχρονα έχετε και την ευκαιρία να συνομιλήσετε με άλλους συναδέρφους...
|
-
Το Project Euler , είναι ένα πολύ ενδιαφέρον site για τους φίλους των μαθηματικών, που όμως διαθέτουν μια κλίση προς το coding. Όπως διαβάζω στο site "Project Euler exists το encourage, challenge, and develop the skills and enjoyment of anyone with an interest in the fascinating world of mathematics." Τα προβλήματα ποικίλλουν σε δυσκολία, κάποια είναι brute force oriented, ενώ άλλα χρειάζονται την μαθηματική κομψότητα για να μειώσουν το search space. Τα πιο εύκολα είναι τα κλασικά brute force (είναι η αδυναμία μου...elegant brute force προγράμματα) Ένα κλασικό παράδειγμα είναι να βρούμε Πυθαγόρειες τριάδες Σε Haskell [ (a, b, c) | a <- [ 1 .. n ], b <- [ a + 1 .. n ], c <- [ b + 1 .. n ], (a * a) + (b * b) == (c * c) ] και για τους φίλους της C# var triples = from a in Enumerable.Range(1, n) from b in Enumerable.Range(a + 1, n) from c in Enumerable.Range(b + 1, n) where (a * a) + (b * b) == c * c select new { a, b, c }; Παρατηρώντας τις δυο υλοποιήσεις, συνειδητοποιώ την εντυπωσιακή ομοιότητα... πως φαίνεται...
|
-
As 2008 begins, InnerWorkings would like to give all our INETA supporters a big 'Thank You' for their help in making 2007 our best year ever. Build your .NET skills - for free! Through February 25 th , InnerWorkings is giving away 10 hours of hands-on .NET learning to any INETA member, no strings attached. This is your chance to sharpen your current skills or learn some new technologies at no cost, using InnerWorkings Developer. All the following are included: Object Oriented Programming AJAX Extensions Silverlight 1.0 New Features in C# 3.0 New Features in VB 9.0 LINQ to SQL To take advantage of this learning offer, members should register with InnerWorkings and download the free samplers before February 25 th , 2008. Learn by doing At InnerWorkings, we believe in hands-on learning – check out our quick product tour for more information. Our practice environment is integrated with Visual Studio and our patented code-judging engine provides instant feedback on your solutions. Take us up on our offer and we're...
|
-
Ένα καλό άρθρο που δείχνει πως μπορείς να κάνεις τα SSIS να τρέχουν καλύτερα http://www.microsoft.com/technet/prodtechnol/sql/2005/ssisperf.mspx...
|
|
|
|