|
dotNETZone.gr Weblogs
-
Αρκετές φορές θέλω να δοκιμάσω πράγματα στο SQL Server που είναι σε cluster environment αλλά δεν έχω τα απαραίτητα resources και το σημαντικότερο δεν ξέρω να στήνω cluster!!!. Ευτυχώς στο παρακάτω Link βρήκα όλα όσα χρειάζομαι για να στήσω το lab μου χωρίς να ξοδέψω χρόνο...
|
-
Visual Studio 2008 Web Deployment Projects provide additional functionality to build and deploy Web sites and Web applications in Visual Studio 2008. This add-in provides a comprehensive UI to manage build configurations, merging, and using pre-build and post-build tasks with MSBuild. http://www.microsoft.com/downloads/details.aspx?FamilyId=0AA30AE8-C73B-4BDD-BB1B-FE697256C459&displaylang=en...
|
-
Έγινε χθες η περίφημη ομιλία του Bill Gates στο Μέγαρο Μουσικής. Λίγο πολύ ήταν η παρουσίαση που είχαμε δει σε web-casts από το CES 2008 στο Las Vegas με τη διαφορά ότι στην πρώτη σειρά καθόντουσαν celebrities από την Ελλάδα. Ανάμεσα στα άλλα, είδαμε μια άποψη για το πως θα αλλάξει το μελλοντικό λογισμικό τη καθημερινότητα μας και τι εξελίξεις περιμένουμε από αυτό. Τα δυο video το πρώτο με το παράδειγμα του super market που η νοικοκυρά χρησιμοποιεί το PDA και το δεύτερο με το manufacturing chain για τη σχεδίαση ενός καθίσματος αυτοκινήτου, ήταν εντυπωσιακά ωστόσο προσωπικά κατάφεραν να μου αφήσουν πικρή γεύση και να μου υπενθυμίσουν το πόσο πίσω είναι η Ελληνική πραγματικότητα. Αν αυτά που ανέφερε ο Bill είναι το τι θα συμβεί στα επόμενα δέκα χρόνια, υποθέτω θα τα δούμε εδώ στην Ελλάδα στα επόμενα είκοσι χρόνια. Κατά τ' άλλα, το demo του Surface αν και το έχουμε δει κι αυτό σε casts, είχε αρκετό ενδιαφέρον, κυρίως επειδή ήταν live. Στο δεύτερο μέρος, είχαμε τον Ray Ozzie (λάθος εκ παραδρομής) Ron Jacobs ο οποίος...
|
-
Αν είχατε σκοπό να συμμετάσχετε στον διαγωνισμό « European Silverlight Challenge », αλλά η διάρκεια του διαγωνισμού σας είχε φανεί μικρή, θα χαρείτε να μάθετε ότι ο διαγωνισμός παρατείνεται και η τελευταία ημέρα αποστολής συμμετοχών είναι πλέον η 11 η Φεβρουαρίου. Για περισσότερες πληροφορίες, τα δώρα και τους κανονισμούς του διαγωνισμού , μπορείτε να επισκέπτεστε το site του Ελληνικού διαγωνισμού . Επίσης από τον site μπορείτε να ενημερώνεστε τις τελευταίες εξελίξεις για τον διαγωνισμό καθώς και τις καινούργιες συμμετοχές ....
|
-
Το LINQPad είναι ένα database query tool που όμως αντί να χρησιμοποιεί SQL, χρησιμοποιεί LINQ! Μπορεί κανείς να γράψει SQL statements, C# expressions ή statements και VB expressions ή statements, να εκτελέσει τον κώδικα και κατόπιν να δει τα αποτελέσματα ή το αντίστοιχο lambda expression ή το SQL statement. Αυτό το χαρακτηριστικό, όπως επίσης ότι έρχεται μαζί με 200 παραδείγματα, το καθιστά ένα πολύ δυνατό εργαλείο για εκμάθηση. Επιπρόσθετα η υποστήριξη VB και C# σύνταξης προσφέρεται για να ελέγξει κανείς τις περιπτώσεις όπου ένα query δεν μεταφέρεται πλήρως ανάμεσα στις δύο γλώσσες (ναι, υπάρχουν τέτοιες περιπτώσεις, περισσότερα σε προσεχές post). Μπορείτε να το βρείτε στο http://www.linqpad.net/...
|
-
Διάβαζα πριν λίγο το post του Γιώργου Χατζημανώλη και θυμήθηκα τις προάλλες που πάλευα με τα config αρχεία καθώς προσπαθούσα να σετάρω ένα WCF Service και τον αντίστοιχο client. H όλη διαδικασία μου έσπασε τα νεύρα! Και αυτό γιατί όταν χρησιμοποιείς τo out-of-box configuration όλα είναι ωραία και καλά. Όταν όμως θέλεις να υλοποιήσεις σενάριο όπως "SQL role & membership provider over HTTPS" πρέπει να πάρεις ανάσα και να βουτήξεις στα βαθειά νερά των config αρχείων. Μετά από αρκετή προσπάθεια και εν τέλει με τη πολύτιμη βοήθεια του "Windows Communication Foundation Step by Step" τα κατάφερα. Κατόπιν σκέφτηκα ότι όλα αυτά δεν θα έπρεπε να είναι καθόλου έτσι! Θα έπρεπε να υπήρχε ένας wizard-style scenario-driven config editor: – Παρακαλώ, τι θα θέλατε; – Θα ήθελα ένα secure public WCF service, hosted σε IIS με CardSpace authentication – Φυσικά κύριε, ορίστε το web.config, το client app.config και αυτό το generated code sample για να τα δοκιμάσετε. – Αχ, υπέροχα, ευχαριστώ πολύ. Αυτό λέγεται "productivity". Αν...
|
-
Είστε έτοιμοι για το πρώτο event της νέας χρονιάς; Έχετε 10 μέρες από σήμερα να ετοιμαστείτε! Το 11ο dotNETZone Community Event θα πραγματοποιηθεί στις 29 Ιανουαρίου στις 7.15μμ , όπως πάντα στις εγκαταστάσεις της Microsoft Hellas (Κηφισίας 221, Μαρούσι ). Την παρουσίαση θα...
|
-
Σήμερα ανακάλυψα ότι το A Mathematician ’s Apology του G. Η. Hardy είναι available on-line ...ένα από τα πιο όμορφα και γοητευτικά κείμενα που έχουν γραφτεί για τα μαθηματικά και τη φιλοσοφία τους....
|
-
To Visual Studio 2008 διαθέτει ένα νέο component που έρχεται να βοηθήσει στη χρήση των DataSets. Μέχρι σήμερα, αν είχαμε ένα DataSet που είχε δύο ή παραπάνω πίνακες με σχέσεις PK-FK και θέλαμε να κάνουμε update στα περιεχόμενα όλων των πινάκων θα έπρεπε να κάνουμε ένα ιεραρχικό update, δηλαδή να γίνει το update με σειρά όπως: Insert στο master Insert στο detail Update στα details Update στο master Delete στα details Delete στο master Το παραπάνω γίνεται με λίγες γραμμές κώδικα, χρησιμοποιώντας την GetChanges. Για παράδειγμα, αν θέλουμε να πάρουμε μόνο τις εγγραφές για inserts, θα πρέπει να πούμε κάτι σαν το παρακάτω: Dim newOrders As NorthwindDataSet.OrdersDataTable = _ CType (NorthwindDataSet.Orders.GetChanges( _ Data.DataRowState.Added), _ NorthwindDataSet.OrdersDataTable) OrdersTableAdapter.Update(newOrders) Βέβαια, όταν υπάρχουν πιο περίπλοκες σχέσεις με περισσότερους πίνακες, τότε χρειάζεται να γραφτεί περισσότερος κώδικας και είναι ακόμα πιο δύσκολο να διατηρηθεί η σωστή σειρά στο ιεραρχικό update. Επιπρόσθετα,...
|
-
Τα Relaxed Delegates είναι ένα νέο feature της VB 9 και αν αρέσουν τόσο πολύ στον Don Box , τότε μάλλον αξίζει να τα δούμε λίγο παραπάνω. Ας αρχίσουμε από ένα VB 8 σενάριο ώστε να φανεί καλύτερα που χρησιμεύουν. Στο .NET Framework 2.0 εμφανίστηκαν τα generics που μας έδωσαν τη δυνατότητα να κάνουμε κάτι σαν το παρακάτω: Dim count As Integer Dim process As New Action( Of Customer)( AddressOf ProcessElement) Sub ProcessElement( ByVal element As Customer) count = count + 1 Console.WriteLine(" {0}: {1} ", count, element) End Sub Sub Main() Dim list() As Customer = Customer.CreateCustomers count = 0 Array.ForEach( Of Customer)(list, process) Console.ReadLine() End Sub Το Array.ForEach method παίρνει ως όρισμα ένα array (duh!) και ένα delegate τύπου Action(Of T). Αυτό που κάνει είναι να περνάει ένα προς ένα κάθε item του Array στο delegate (ουσιαστικά στη μέθοδο ProcessElement), δηλαδή χρησιμοποιούμε αυτό αντί να γράφουμε loops. Αυτό που πρέπει να παρατηρήσετε είναι ότι παντού (στο delegate function, στο delegate declaration...
|
-
Πρώτο blog-post της χρονιάς, ας πούμε κάτι λιγότερο programming και περισσότερο geek-fun. Στο τελευταίο Consumer Electronics Show (CES), ο Bill έδωσε (όπως είπε) το τελευταίο keynote του καθώς το καλοκαίρι αποσύρεται από τη Microsoft. Στο keynote λοιπόν μίλησε για το όραμά του για τους μελλοντικούς υπολογιστές (επικοινωνία σε φυσική γλώσσα, κλπ) αλλά το καλύτερο σημείο ήταν ένα video με το οποίο ξεκίνησε που δείχνει πως θα είναι η τελευταία μέρα του στη δουλειά... Bill Gates’ last day at Microsoft (video)...
|
-
Πολύ ενδιαφέρον posting για Singleton Patterns σε C# (και με κάποιες αναφορές στην αντίστοιχη υλοποίηση σε Java). http://www.yoda.arachsys.com/csharp/singleton.html ... το πέμπτο pattern είναι και το πιο ενδιαφέρον (κατά την άποψή μου), χρησιμοποιεί μια nested κλάσση (για τους Java developers inner κλάσση) χωρίς να χρειάζεται lock....
|
-
Ενδιαφέρουσα άποψη. Αλλά άμα το άτομο έχει όραμα ( The Internet Tidal Wave ) δεν φταίει αυτό για το τι κάνουν οι άλλοι. Netscape: AOL Buries the Dead by Joe Wilcox Perhaps the Web era's saddest story is Netscape's demise. May the browser rest in peace. If there is a smoking gun, Microsoft holds it. AOL will end support for the Netscape browser on Feb. 1. AOL will no longer offer Netscape security patches or other updates. Gone will be: The browser that literally popularized the World Wide Web The progenitor of AJAX, JavaScript, plug-ins and RSS, among many, many other Web technologies The catalyst for one of the biggest antitrust losses in the history of American business Read the article at Netscape: AOL Buries the Dead...
|
-
Αν πιστεύετε στο ταλέντο σας, δηλώστε συμμετοχή στο Διαγωνισμό « European Silverlight Challenge » - Τολμήστε να διαγωνιστείτε στον Ευρωπαϊκό διαγωνισμό προγραμματιστών για το Silverlight και κερδίστε πλούσια δώρα, κα ασφαλώς διεκδικήστε την πρώτη θέση μαζί με την αναγνώριση ;) H INETA Europe σε συνεργασία με την Microsoft, έχει προετοιμάσει ένα διαγωνισμό για προγραμματιστές με το όνομα « European Silverlight Challenge », που ξεκίνησε τον Νοέμβριο και θα ολοκληρωθεί στα τέλη του Ιανουαρίου. Σκοπός του διαγωνισμού είναι η ανάπτυξη μιας εφαρμογής Web ή εναλλακτικά ενός component, που το interface του θα είναι σε βασισμένο στην τεχνολογία Silverlight. Ο μόνος περιορισμός είναι ότι η εφαρμογή πρέπει να διατεθεί σαν Open Source ( άδεια MS-PL ) και να είναι διαθέσιμη ελεύθερα στις on-line κοινότητες χρηστών. Ο διαγωνισμός διοργανώνεται ανά χώρα από την τοπική αντιπροσωπία του INETA, για την χώρα μας από τη INETA Hellas . Ο διαγωνισμός ξεκίνησε! Μην χρονοτριβείτε! Δηλώστε συμμετοχή σήμερα. Για περισσότερες πληροφορίες,...
|
-
Good Sample Matt Berseth: Creating an Outlook Navigation Bar using the ListView and Accordion Controls...
|
-
Μια από τις πιο χρήσιμες υπηρεσίες του CLR είναι το Garbage Collection. Δηλαδή ο περιοδικός καθαρισμός του Heap από objects που πλέον δεν χρησιμοποιούνται. Θαυμάσια, τώρα πια μπορούμε να δημιουργούμε όποιο αντικείμενο θέλουμε να το χρησιμοποιούμε για όσο θέλουμε και μετά.... να μή μας ενδιαφέρει ούτε να το "κλείσουμε" ούτε να το "καθαρίσουμε" ούτε τίποτα. Μετά από λίγη ώρα ο Garbage Collector θα καθαρίσει το Heap από τα αχρησιμοποίητα αντικείμενα. Αυτό ισχύει για τις περισσότερες των περιπτώσεων, όταν όμως ένας τύπος μας διαχειρίζεται unmanaged resources (για παράδειγμα database connections, queue ή file handlers), τότε πρέπει να "κλείνουμε" μόνοι μας αυτά τα resources. Στις ακόλουθες παραγράφους παραθέτω ένα πολύ γνωστό pattern για finalization και disposing τύπων που διαχειρίζονται unmanaged resources. Πρώτα όμως λίγη θεωρία. Finalizers Πρόκειται για μεθόδους που το όνομά τους ξεκινά με το "~" και έχουν το ίδιο όνομα με τον τύπο. Αν για παράδειγμα ο τύπος μας λέγεται MyClass ο finalizer του τύπου έχει το ακόλουθο...
|
-
'Ενα αρκετά καλό άρθρο σχετικά με το hard disk partitioning on Windows XP. Δεν είναι απαραίτητο να συμφωνήσουμε σε όλα όσα λέει ο Mitch Tulloch, αλλά ίσως να μας δώσει κάποιες παραμέτρους που μας βάλουν σε σκέψεις.... Καλή Χρονιά σε όλους Best practices for partitioning a hard disk...
|
-
Κοντεύουν 4 χρόνια από τη στιγμή που ξεκίνησα να εργάζομαι στο ελληνικό υποκατάστημα της Microsoft. Αυτό ξεπερνά κατά ένα ολόκληρο χρόνο το μέσο όρο παραμονής που είχα μέχρι σήμερα στις διάφορες εταιρείες που έχω εργαστεί και σίγουρα...
|
-
Αν και όλοι το γνωρίζουμε ότι η VB είναι μια γλώσσα γενικής χρήσης, μέσα στο Χριστουγεννιάτικο πνεύμα, ο Chris Anderson, ο Don Box και η Amanda Silver την χρησιμοποιούν για να μας τραγουδίσουν ένα Χριστουγεννιάτικο τραγούδι. http://channel9.msdn.com/ShowPost.aspx?PostID=367997%20%20 Τώρα που το σκέφτομαι, μάλλον ο Don Box δεν πρέπει να είναι ο ίδιος. Μάλλον έχει αντικατασταθεί από εξωγήινο. Τόσες αναφορές στη VB στο blog του... Όπως και να έχει, ευχές για καλές γιορτές σε όλους!...
|
-
Πρόσφατα, χρειάστηκε να βρω τo Inheritance Chain κάποιου type, απλό και βαρετό... αλλα (για να το κάνω πιο ενδιαφέρον) σκέφτηκα ότι είναι μια κλασική περίπτωση " αναμορφισμου ", και ότι αυτό που χρειάζομαι είναι την κλασική συνάρτηση Unfold. Με τα extension methods μπορώ να προσθέσω την ανάλογη δυνατότητα, και ο τελικός κώδικας να γίνει small and readable (I love C#) static class Program { static IEnumerable<T> Unfold<T>( this T value, Func<T, T> func) { while ( true ) { yield return value; value = func(value); } } static IEnumerable<T> WhileIsNotNull<T>( this IEnumerable<T> values) { return values.TakeWhile(n => n ! = null ); } static void Main( string [] args) { foreach (var value in typeof ( int ).Unfold(type => type.BaseType).WhileIsNotNull()) Console.WriteLine(value); } }...
|
-
INETA Europe Home | Speakers Bureau INETA Europe | Find a UG Near You | Become an INETA Member In This Issue New INETA Offerings European Silverlight Challenge News from the Speakers Bureau INETA volunteers needed [C2C] .NET conference - Poland Sponsors New INETA Offerings Coming Your Way I NETA Europe currently serves 289 user groups, representing more than 75000 developers in Europe! One of the cool things about being an INETA volunteer is being involved in all kinds of community activities. Everything from helping out in a smaller user group to helping plan TechEd Developers, which was really giving us an opportunity to put everybody together – board members, volunteers, the speakers, users who would actually go to meetings, user group leaders – and to relate with Microsoft and vendors as well. Our TechEd booth was based next to the MVP and RD booths completing the "TechEd Community Lounge" and allowing us to network with a majority of MVP and RD representatives and program members. In this year ALL members...
|
-
Όπως γνωρίζεται τα Windows Vista όταν τα βάζεις μέσα σε Windows Virtual PC δεν υποστηρίζουν το AERO επειδή η κάρτα που το vpc έχει είναι S3. Επίσης όπως γνωρίζεται το vpc δεν μπορεί να υποστηρίξει ανάλυση μεγαλύτερη από 1600χ1200. Με ένα απλό τρικ όμως όλα αυτά λύνονται Πως; Απλά ανοίξετε το vpc και όταν φορτώσει χρησιμοποιήστε το Remote Desktop Connection αφού πρώτα πάτε στο Option>Experience και τα κάνετε όλα check όπως στην εικόνα που ακολουθεί Έτσι και AERO και μεγαλύτερη ανάλυση οθόνης θα έχεις...
|
-
Ο ...Ζαχαρίας junior γεννήθηκε στις 20/12/2007. Ενα υγιέστατο Χριστουγεννιάτικο μωράκι στα 3400 γραμμάρια (ωωωχ, η μέση μου!) που μπορεί με το κλάμα του να ακουστεί ακόμα και μέσα σε συναυλία των Manowar. Εδώ τον βλέπετε σε "ηλικία" περίπου 3 ωρών. Οπως μπορεί να παρατηρήσει ο προσεκτικός αναγνώστης, μια και ακόμα δεν έχει ακουμπήσει πληκτρολόγιο, προσπαθεί να κάνει Ctrl-Alt-Del στη μύτη του. Θα διαποτιστεί και αυτός, φυσικά, με τις αρχές της Ζαχαριοκοσμοθεωρίας. Φροντίστε ωστε τα δικά σας μωρά να μην γίνουν project managers (του τύπου που σατιριζουμε εδώ, τελος πάντων) γιατί σε μερικά χρονάκια θα την έχουν άσχημα....
|
-
Στο χθεσινό event είχαμε μια ενδιαφέρουσα συζήτηση σχετικά με τα Insert/Update/Delete commands που παράγονται κατά το configuration ενός TableAdapter και απ’ ότι είδα, ενώ τα ORMs μπαίνουν όλο και περισσότερο στην καθημερινότητά μας, υπάρχει ακόμα ανάγκη κατανόηση στον τρόπο που δουλεύουν τα DataSets, οπότε back to basics… Λοιπόν, όταν κατασκευάζουμε ένα DataSet μπορούμε να ακολουθήσουμε την τεχνική drag / drop του πίνακα από το Server Explorer παράθυρο ή να κάνουμε δεξί κλικ στο designer και να επιλέξουμε το wizard “Add Table Adapter”. Ας πάμε με τον δεύτερο τρόπο. Επιλέγουμε ένα Northwind connection και κατόπιν “Use SQL Statements” και στο query γράφουμε: SELECT ShipperID, CompanyName, Phone FROM Shippers Πατάμε “Advanced Options” και βγάζουμε το check από τα “Use optimistic concurrency” και “Refresh the data table”. Πατάμε Next και Finish κι έχουμε φτιάξει το πρώτο DataTable που ονομάζεται “Shippers”. Ξανακάνουμε την ίδια διαδικασία χωρίς να πειράξουμε το πρώτο DataTable ώστε να φτιάξουμε ένα δεύτερο Shippers...
|
-
Το Πρόβλημα Δεν ξέρω αν κάποιος από εσάς χρησιμοποιεί τον Outlook Business Contact Manager (BCM) 2007 για να διαχειρίζεται τα επαγγελματικά του Contacts. Εγώ τουλάχιστον τον χρησιμοποιώ και με εξυπηρετεί αρκετά. Μάλιστα τώρα η Microsoft έχει δώσει και το εργαλείο με το οποίο κάνεις synchronize τα BCM Contacts με το το PDA ή το Smartphone σου και τα έχεις πάντα μαζί σου. Μέχρι εδώ όλα καλά. Όμως για κάποιο χαζό - κατά την ταπεινή μου γνώμη - λόγο η ομάδα ανάπτυξης του προϊόντος έχει κάνει μια "πατατιά". Κατά την στιγμή που κάνεις εγκατάσταση τον BCM στήνει ένα νέο instance του SQL Server Express με το όνομα MSSMLBIZ στο οποίο φτιάχνει την database στην οποία μπαίνουν τα δεδομένα του. Δυστυχώς δεν υπάρχει η δυνατότητα κατά την στιγμή της εγκατάστασης να επιλέξεις κάποιον άλλο SQL Server που πιθανώς έχεις εγκατεστημένο στο pc σου. Αυτό σημαίνει ότι αν ας πούμε έχεις στο Pc σου ήδη SQL Server 2005 Express αποκτάς χωρίς να το θέλεις ακόμα ένα instance άρα περισσότερα resources χαμένα!!!!!!!! ( Αχ Αχ Αχ ). Εάν τώρα...
|
|
|
|