<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iTuts</title>
	<atom:link href="http://www.ituts.gr/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ituts.gr</link>
	<description>Ελληνικά εξειδικευμένα βοηθήματα</description>
	<lastBuildDate>Tue, 07 Feb 2012 14:14:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Συνέντευξη με τον Χρήστο Χατζαρά</title>
		<link>http://www.ituts.gr/christos-chatzaras</link>
		<comments>http://www.ituts.gr/christos-chatzaras#comments</comments>
		<pubDate>Sat, 04 Feb 2012 15:50:53 +0000</pubDate>
		<dc:creator>Δημήτρης Α.</dc:creator>
				<category><![CDATA[Companies]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[cretaforce]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[Χρήστος Χατζαράς]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=3550</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/02/interview-195x165.png" class="attachment-thumbnail wp-post-image" alt="interview" title="interview" style="margin-bottom: 15px;" /></div>Ένα interview με τον Χρήστο Χατζαρά της διάσημης ελληνικής Hosting εταιρίας CretaForce αποκλειστικά στο iTuts.gr]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/02/interview-195x165.png" class="attachment-thumbnail wp-post-image" alt="interview" title="interview" style="margin-bottom: 15px;" /></div><p><strong>Γεια σου Χρήστο, και ευχαριστώ για τον χρόνο σου. Μπορείς να μας πεις λίγα λόγια για το ποιος είσαι και τον ρόλο σου στην CretaForce;</strong></p>
<p>Δημήτρη γεια σου και σε ευχαριστώ για αυτή τη συνέντευξη. Ονομάζομαι Χρήστος Χατζαράς και είμαι ο ιδιοκτήτης της CretaForce.</p>
<p><strong>Η εταιρεία ιδρύθηκε το 2003, έχουν περάσει 9 χρόνια από τότε. Πες μας πως ξεκίνησε όλο αυτό, πως άρχισες; Τι δυσκολίες αντιμετώπισες; Όλοι θα ήθελαν  να μάθουν την ιστορία πίσω από μια διάσημη Ελληνική εταιρεία.</strong></p>
<p>Από το γυμνάσιο είχα αρχίσει να ασχολούμαι με υπολογιστές. Στο λύκειο είχα την ιδέα να φτιάξω μια ιστοσελίδα για να μαζέψουμε υλικό σχετικό με τον προγραμματισμό, τα δίκτυα και τα λειτουργικά συστήματα. Έτσι το 2000 προχώρησα στην καταχώρηση του domain coderz.gr όπου και έπρεπε να βρεθεί μια λύση για την φιλοξενία του. Τότε ένας φίλος διέθεσε τον παλιό του υπολογιστή και τον εγκαταστήσαμε αρχικά στο datacenter της HOL, στη συνέχεια μεταφέρθηκε ο υπολογιστής στο πανεπιστήμιο Αθηνών, στη συνέχεια σε άλλον υπολογιστή η ιστοσελίδα μεταφέρθηκε στο ΤΕΙ Κοζάνης.</p>
<p>Επειδή οι λύσεις αυτές ήταν προσωρινές και για να αποφύγω τις συνεχείς μεταφορές του site, αποφάσισα το 2002 που είχα κατέβει για σπουδές στο Ηράκλειο Κρήτης να νοικιάσω έναν dedicated server για να λυθεί το πρόβλημα φιλοξενίας της ιστοσελίδας. Για να καλυφτούν τα έξοδα του μηχανήματος αρχίσαμε να φιλοξενούμε στο ίδιο μηχάνημα μερικές ιστοσελίδες φίλων και έτσι μοιραζόμασταν τα έξοδα. Το 2003 πλέον ήμουν σίγουρος ότι με ενδιέφερε η δουλειά του διαχειριστή συστημάτων και έτσι παράλληλα με τις σπουδές μου ξεκίνησε η CretaForce.</p>
<p>Το σημαντικότερο πρόβλημα τότε ήταν ότι δεν είχα λεφτά για διαφήμιση των υπηρεσιών οπότε επένδυσα στο μοναδικό πλεονέκτημα που έχουν οι φοιτητές: Αρκετό ελεύθερο χρόνο για να παρέχω όσο το δυνατόν καλύτερες υπηρεσίες και να έχω όλους τους πελάτες ευχαριστημένους. Έτσι σιγά σιγά οι ελάχιστοι τότε πελάτες, άρχισαν να προτείνουν τις υπηρεσίες μας σε φίλους και γνωστούς τους.</p>
<p><strong>Σκοπεύετε να βγείτε στο International τοπίο κάποια στιγμή; Ή θα έχετε αποκλειστικά ελληνικό κοινό. Ποια είναι τα σχέδια για το μέλλον;</strong></p>
<p>Αυτή τη στιγμή ο αριθμός που αναπτυσόμαστε στην ελληνική αγορά είναι πολύ καλός και το να ασχοληθούμε με πελάτες του εξωτερικού θα χρειαζόταν πολλές εργατοώρες για να ρυθμίσουμε την ιστοσελίδα μας να είναι συμβατή με πελάτες του εξωτερικού. Επίσης το να παρέχουμε υπηρεσίες στο εξωτερικό είναι σαν να ξεκινάμε πάλι από την αρχή και το να ξεχωρίσεις από τον ανταγωνισμό δεν είναι και ότι πιο εύκολο όταν υπάρχουν εταιρίες που δίνουν δεκάδες χιλιάδες ευρώ κάθε μήνα για την διαφήμισή τους. Πάντως, μια σκέψη που υπάρχει εδώ και καιρό είναι στο εξωτερικό να παρέχουμε μόνο πακέτα semi-dedicated που αφορούν ιστοσελίδες που χρειάζονται πολλούς πόρους από έναν server, που εξαιτίας του τρόπου που ρυθμίζουμε τους servers μπορούμε να το παρέχουμε σε πολύ χαμηλή τιμή.</p>
<p><strong>Ποιους τρόπους προώθησης/διαφήμισης προτιμάς και γιατί;</strong></p>
<p>Η αλήθεια είναι ότι από το 2003 μέχρι και σήμερα δεν έχουμε ξοδέψει πάνω από 300-400 ευρώ για διαφήμιση. Αυτή τη στιγμή η μόνη διαφήμιση που κάνουμε είναι μέσω του Facebook μιας και γίνεται πολύ στοχευμένα και με ελάχιστο κόστος.</p>
<p>Ο πιο καλός τρόπος διαφήμισης είναι όταν σε συστήνουν οι πελάτες σου, γιατί κανείς δεν σε συστήνει εάν δεν είναι υπερευχαριστημένος από τις υπηρεσίες και την τεχνική υποστήριξη, ώστε να μην εκτεθεί και ο ίδιος εάν ο φίλος ή ο γνωστός τους δεν τύχει καλής μεταχείρισης. Οπότε στην ουσία κοιτάμε να κάνουμε τη δουλειά μας όσο καλύτερα γίνεται και η διαφήμιση γίνεται από μόνη της. Από αυτό βέβαια οφελούνται όλοι οι πελάτες μας μιας και από τη στιγμή που δεν χρειάζεται να πληρώσουμε για τη διαφήμιση, έχουμε μειωμένο κόστος λειτουργίας οπότε και χαμηλότερες τιμές.</p>
<p><strong>Τι σε έκανε να φτιάξεις το δικό σου Control Panel; Γιατί επέλεξες cli interface αντί ενός Web Gui; Πόσο καιρό πήρε η ανάπτυξη; Πες μας τα τεχνικά χαρακτηριστικά του CretaPanel.</strong></p>
<p>Πριν φτιάξω τo δικό μας control panel έκανα μια έρευνα στα περισσότερα εμπορικά και μη control panels. Ανακάλυψα ότι κανένα δεν δούλευε όπως ακριβώς ήθελα. Για παράδειγμα σε κάποια control panel δεν μου άρεσε ότι οι κατάλογοι του κάθε domain μπλέκονταν μέσα σε κατάλογο του κεντρικού domain, σε άλλο δεν μου άρεσε ο τρόπος που δημιουργούνταν τα backups, σε άλλο δεν με κάλυπτε ο τρόπος χρέωσης στις άδειες χρήσεις, κλπ. Έτσι έβαλα κάτω τα θετικά του κάθε control panel και έφτιαξα το CretaPanel. Η ανάπτυξη μέχρι να είναι λειτουργικό το control panel δεν πήρε πάνω από 3 μήνες (ήταν όμως πολλά τα ξενύχτια), αλλά γίνονται ακόμα και σήμερα μικρές ή και μεγάλες βελτιώσεις, οπότε στην ουσία η ανάπτυξη δεν έχει τελειώσει.</p>
<p>Η επιλογή για cli interface έγινε διότι στηρίζεται σε αρκετά εργαλεία που υπάρχουν εδώ και δεκαετίες και είναι αξιόπιστα σε βάθος χρόνου. Ένας άλλος σημαντικός λόγος είναι ότι δεν χρησιμοποιεί καθόλου πόρους από τον server, επομένως μπορούμε να επικεντρωθούμε στο πώς να αξιοποιήσουμε αυτούς τους πόρους προς όφελος των ιστοσελίδων που φιλοξενούνται. Εάν κάποιος μάθει λίγο να το δουλεύει μπορεί να κάνει τις δουλειές του πολύ πιο γρήγορα σε σχέση με κάποιο control panel με web gui.</p>
<p><strong>Βλέπω πως είσαι πολύ social  και κάνεις τα πάντα μόνος σου, posting σε forums, support, server setup. Γιατί; Στις περισσότερες ελληνικές εταιρίες κανείς δεν έχει ιδέα για το ποιος είναι ο ιδιοκτήτης. Είναι μέρος της στρατηγικής σου;</strong></p>
<p>Όχι δεν έχω κάποια στρατηγική όσο αφορά τα forum. Συμμετέχω σε forum επειδή μου αρέσει να βοηθάω σε θέματα που γνωρίζω και όχι τόσο για να βρεθούν πελάτες μέσα από αυτό. Σίγουρα πάντως είναι και ένας τρόπος μέσα από τις απαντήσεις και τη συμμετοχή να γνωρίσει περισσότερος κόσμος τη δουλειά σου. Δεν ξέρω εάν το έχεις παρατηρήσει, αλλά στα forum και σε απαντήσεις σε blog χρησιμοποιώ το προσωπικό μου ψευδώνυμο ώστε οι απαντήσεις να αντιπροσωπεύουν εμένα και όχι την CretaForce.</p>
<p><strong>Πόσα άτομα δουλεύουν στην εταιρεία σου; Τι εκπαίδευση και γνώσεις έχουν οι τεχνικοί σας;</strong></p>
<p>Αυτή τη στιγμή δουλεύουμε τρία άτομα, αριθμός μικρός σε σχέση με άλλες εταιρίες που έχουν αντίστοιχο αριθμό πελατών με εμάς. Σε αυτό βοηθάει ότι το μεγάλο μέρος της δουλειάς είναι αυτοματοποιημένο (για παράδειγμα η εγκατάσταση ενός νέου server πλήρως λειτουργικού δεν παίρνει πάνω από 30 λεπτά) και στο ότι πολλοί από τους πελάτες μας έρχονται αφού μας έχουν συστήσει εταιρίες που κατασκευάζουν ιστοσελίδες και freelancers που τους βοηθούν και οι ίδιοι με τις βασικές ρυθμίσεις των ιστοσελίδων τους. Ο σημαντικότερος πάντως λόγος που θεωρώ ότι μπορούμε να εξυπηρετούμε τους πελάτες μας με λίγο προσωπικό είναι ότι δεν υπερφορτώνουμε τους servers, κάνουμε τακτική συντήρηση και αναβαθμίσεις στα προγράμματα που χρησιμοποιούμε και έτσι σπάνια υπάρχει κάποιο πρόβλημα, που θα είχε ως αποτέλεσμα να γεμίσει με μηνύματα το helpdesk μας.</p>
<p>Όλοι μας έχουμε γνώσεις πέρα από τα τεχνικά θέματα για να επιλύσουμε κάποιο πρόβλημα και σε θέματα πωλήσεων ώστε να μπορούμε να δούμε τι υπηρεσία καλύπτει συγκεκριμένες ιστοσελίδες και να μην δώσουμε κάποια ακριβότερη υπηρεσία χωρίς πράγματι να χρειάζεται. Έχουμε επίσης δουλέψει αρκετά τα περισσότερα γνωστά CMS και προγράμματα για forum όπως Joomla, WordPress, Drupal, phpBB, SMF, vBulletin και έτσι μπορούμε να βοηθήσουμε και σε θέματα που δεν αφορούν άμεσα τις υπηρεσίες που παρέχουμε. Το σημαντικότερο πάντως ρόλο για να δουλέψει κάποιος μαζί μας είναι να του αρέσει αυτό που κάνει ώστε να μην βαριέται και να μπορεί να δώσει τον καλύτερο του εαυτό.</p>
<p><strong>Η κάθε εταιρεία έχει την δική της καθημερινή ρουτίνα. Ποια είναι η δική σας;</strong></p>
<p>Το μεγαλύτερο μέρος της δουλειάς είναι να απαντάμε στους πελάτες για να τους λύσουμε κάποιο πρόβλημα που αντιμετωπίζουν ή σε ερωτήσεις που κάνουν πριν την αγορά κάποιας υπηρεσίας. Αρκετό χρόνο παίρνει και η διαχείριση των servers,  να κοιτάξουμε τα logs, να περάσουμε patches και νεότερες εκδόσεις στα προγράμματα που χρησιμοποιούμε. Επίσης σχεδόν καθημερινά έρχονται νέοι πελάτες που έχουν ιστοσελίδες σε άλλους webhosts και ζητούν να τις μεταφέρουμε στο νέο πακέτο hosting που πήραν από εμάς.</p>
<p><strong>Τι έχεις να πεις για το Hosting Industry στην Ελλάδα; Σε τι επίπεδο είναι αυτή τη στιγμή η ποιότητα παροχής υπηρεσιών των ελληνικών εταιρειών hosting στον τομέα της εξυπηρέτησης/λύσης καθημερινών προβλημάτων σε μία ιστοσελίδα; Ποιο νομίζεις είναι το μέλλον;</strong></p>
<p>Αυτή τη στιγμή εκτιμώ ότι δεν υπάρχουν περισσότερες από δέκα εταιρίες hosting στην Ελλάδα που να μπορούν να παρέχουν αξιόπιστες υπηρεσίες. Πέρα από αυτό οι περισσότεροι webhosts ασχολούνται μόνο με την επίλυση προβλημάτων που αφορά τις υπηρεσίες τους και ελάχιστοι θα βοηθήσουν σε επίπεδο εφαρμογών που χρησιμοποιούν οι πελάτες τους, ακόμα και εάν κάτι τέτοιο απαιτεί ελάχιστο χρόνο. Για παράδειγμα για μια ιστοσελίδα που χρησιμοποιεί πολλούς πόρους από τον server οι περισσότεροι θα προτείνουν αναβάθμιση σε VPS ή σε dedicated server, αντί να κοιτάξουν εάν με κάποιες ρυθμίσεις/αλλαγές στην εφαρμογή μπορεί να λυθεί το πρόβλημα.</p>
<p><strong>Ποιες είναι ποιο συχνές ερωτήσεις που σου κάνουν οι πελάτες;</strong></p>
<p>Συνήθως ο καθένας ρωτάει και κάτι διαφορετικό, οπότε δεν μπορώ αυτή τη στιγμή να σκεφτώ τι ρωτάνε πιο συχνά. Αρκετοί είναι και αυτοί που ρωτάνε την γνώμη μας πριν υλοποιήσουν κάποια ιδέα τους μιας και μετά από τόσα χρόνια έχουμε εμπειρία και σε θέματα πέρα από το hosting.</p>
<p><strong>Ποιες είναι οι αγαπημένες σου ελληνικές ιστοσελίδες;</strong></p>
<p>Οι αγαπημένες μου ιστοσελίδες είναι αυτές που επισκέπτομαι και καθημερινά. Γενικά ξεχωρίζω τα forum freestuff.gr, insomnia.gr, adslgr.com, joomla.gr και webhostingtalk.com</p>
<p><strong>Τα τελευταία χρόνια έχει παρατηρηθεί το φαινόμενο της εξάπλωσης των blogs και έχει επικρατήσει η άποψη: &#8220;κάνε ένα blog, βάλε διαφημίσεις και θα βγάλεις χρήματα εύκολα και γρήγορα&#8221;. Που πιστεύεις ότι οφείλεται αυτό και πόσο δύσκολο πλέον είναι να διαχωρίσεις μία ποιοτική δουλειά στο διαδίκτυο?</strong></p>
<p>Εάν κάνει κάποιος ένα blog με μόνο σκοπό να βγάλει χρήματα εύκολα και γρήγορα το έχει χάσει το παιχνίδι. Για να βγάλεις χρήματα με νόμιμο τρόπο πρέπει να κάτσεις να δουλέψεις. Κανείς δεν βγάζει λεφτά έχοντας κάτι μη αξιόλογο.  Για αυτό το λόγο ξεκινάς να φτιάξεις κάτι που σου αρέσει, ώστε να μπορείς και να το υποστηρίξεις, και στη συνέχεια η επιτυχία και η ηθική και η χρηματική ανταμοιβή θα έρθουν ως φυσικό επακόλουθο.</p>
<p><strong>Τι γνώμη έχεις για τις Cloud τεχνολογίες. Σκοπεύεις να τις χρησιμοποιήσεις;</strong></p>
<p>Παρακολουθώ εδώ και καιρό τις cloud τεχνολογίες αλλά δεν με έχουν πείσει ακόμα για να τις χρησιμοποιήσουμε. Συνήθως όταν αναφερόμαστε σε cloud για hosting πρόκειται για VPS που χρησιμοποιούν κάποιο κεντρικό χώρο για την αποθήκευση των δεδομένων. Αυτό έχει ένα πλεονέκτημα στο ότι εάν χαλάσει κάποιος servers να μπορεί να μεταφερθεί το VPS σε άλλο server. Όταν υπάρχει όμως ένα σοβαρότερο πρόβλημα τότε επηρρεάζονται σχεδόν όλοι οι πελάτες και είναι δύσκολο και χρονοβόρο να επιλυθεί. Για παράδειγμα εάν χαθεί η σύνδεση του server με τον κεντρικό αποθηκευτικό χώρο, τότε όλα τα VPS θα κολλήσουν. Επίσης για βάσεις δεδομένων δεν ενδύκνειται η αποθήκευση σε κεντρικό αποθηκευτικό χώρο. Γενικά είμαι της άποψης να χρησιμοποιούμε δοκιμασμένες τεχνολογίες και να μην πειραματιζόμαστε σε production περιβάλλον.</p>
<p><strong>Τι software είναι εγκαταστημένο σε κάθε server; Πως κάνεις optimization τους servers για να κρατάνε μεγάλο load. Υπαρχουν tips ή συμβουλές που θα ήθελες να μοιραστείς μαζί μας;</strong></p>
<p>Για λειτουργικό σύστημα χρησιμοποιούμε το FreeBSD, το οποίο βοηθάει στο να αναβαθμίζουμε το λειτουργικό σύστημα χωρίς να επηρεάζει η λειτουργία των προγραμμάτων που χρησιμοποιούμε μιας και στο FreeBSD γίνεται διαχωρισμός του λειτουργικού από τα υπόλοιπα εγκατεστημένα προγράμματα. Όλοι οι servers τρέχουν τις τελευταίες εκδόσεις των προγραμμάτων μιας και το σύστημα των ports ανανεώνεται καθημερινά με τις νέες εκδόσεις.</p>
<p>Η PHP τρέχει ως FastCGI, ξεχωριστά για τον κάθε χρήστη, που έχει το πλεονέκτημα ότι κενά ασφαλείας σε εφαρμογή κάποιου χρήστη να μην επηρρεάζει την ασφάλεια των εφαρμογών άλλων χρηστών. Επίσης αυτό βοηθάει και στο ότι ένας χρήστης να μην μπορεί εύκολα να υπερφορτώσει τον server. Για την MySQL έχουμε ρυθμίσει τα temporary tables να δημιουργούνται σε partition που είναι φορτωμένο στην RAM ώστε να μην δημιουργείται πρόβλημα στο I/O των δίσκων. Για web-server χρησιμοποιούμε τον Lighttpd που είναι πολύ γρήγορος για στατικά αρχεία, επομένως με ένα σύστημα για cache όπως το Supercache για το WordPress και το Jotcache για το Joomla μειώνεται ο χρόνος που φορτώνουν οι ιστοσελίδες που φιλοξενούμε. Στα πακέτα semi-dedicated χρησιμοποιούμε και το X-cache (opcode optimizer) που βελτιώνει την ταχύτητα της PHP. Αυτοί είναι κάποιοι από τους λόγους που μπορούμε να φιλοξενούμε ιστοσελίδες με μεγάλη επισκεψιμότητα με μικρό κόστος, αφού σε άλλη περίπτωση θα χρειάζονταν τουλάχιστον ένας dedicated server για να καλύψει τις απαιτήσεις τους.</p>
<p><strong>Θέλεις να μοιραστείς κάτι άλλο μαζί μας;</strong></p>
<p>Αυτό που θέλω να πω είναι ότι όσοι ξεκινάνε τώρα μια νέα επιχείρηση να μην φοβούνται να το διακινδυνέψουν, ειδικά όταν είναι νέοι και έχουν χρόνο μπροστά τους και να κάνουν λάθη και να μάθουν μέσα από αυτό. Αρκεί να τους αρέσει αυτό που κάνουν και να δώσουν τον καλύτερό τους εαυτό.</p>
<p><em>Όσοι θέλετε μπορείτε να κάνετε ερωτήσεις στον Χρήστο στα σχόλια παρακάτω. </p>
<p>Ευχαριστώ </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/christos-chatzaras/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Η ιστορία ενός Data-center</title>
		<link>http://www.ituts.gr/story-of-a-data-center</link>
		<comments>http://www.ituts.gr/story-of-a-data-center#comments</comments>
		<pubDate>Sun, 29 Jan 2012 21:01:50 +0000</pubDate>
		<dc:creator>Δημήτρης Α.</dc:creator>
				<category><![CDATA[Companies]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[data-center]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[tour]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=3486</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/6-195x165.jpg" class="attachment-thumbnail wp-post-image" alt="6" title="6" style="margin-bottom: 15px;" /></div>Λίγες inside πληροφορίες και πολλές ζουμερές φωτογραφίες από το εσωτερικό ενός σύγχρονου datacenter στην Μόσχα της Ρωσίας. ]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/6-195x165.jpg" class="attachment-thumbnail wp-post-image" alt="6" title="6" style="margin-bottom: 15px;" /></div><p>Πριν λίγες μέρες ήμουν στο άνοιγμα ενός νέου data-center &#8211; Oversun.<br />
Το Oversun είναι ένα commercial project που πρόσφατα άνοιξε και βρίσκετε στην Μόσχα διπλά από 2 πολύ γνωστά πανεπιστήμια της πόλης.</p>
<p><a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/23.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/23-605x399.jpg" alt="" title="Data-center entrance" width="605" height="399" class="aligncenter size-large wp-image-3509 colorbox-3486" /></a></p>
<p>Γύρω από το κτήριο δεν υπάρχουν εργοστάσια ή βενζινάδικα που θα μπορούσαν να φέρουν σε κίνδυνο το data center.<br />
Όπως επίσης δεν υπάρχουν σπίτια για να μην ενοχλούνται οι πολίτες.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/3.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/3-605x339.jpg" alt="" title="3" width="605" height="339" class="aligncenter size-large wp-image-3489 colorbox-3486" /></a><br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/31.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/31-605x399.jpg" alt="" title="31" width="605" height="399" class="aligncenter size-large wp-image-3517 colorbox-3486" /></a><br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/4.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/4-605x400.jpg" alt="" title="4" width="605" height="400" class="aligncenter size-large wp-image-3490 colorbox-3486" /></a><br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/5.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/5-605x377.jpg" alt="" title="5" width="605" height="377" class="aligncenter size-large wp-image-3491 colorbox-3486" /></a><br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/6.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/6-605x331.jpg" alt="" title="6" width="605" height="331" class="aligncenter size-large wp-image-3492 colorbox-3486" /></a></p>
<p>Σύμφωνα με τους δημιουργούς, το data-center ειναι ένα από τα πιο σύγχρονα στη Ρωσία και πληροί όλα τα διεθνή πρότυπα, κατά πρώτο λόγο υπάρχει ως υποδομή για τα πιο μεγάλα και απαιτητικά τεχνολογικά projects αλλά και για colocation hosting.</p>
<p><a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/7.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/7-605x389.jpg" alt="" title="7" width="605" height="389" class="aligncenter size-large wp-image-3493 colorbox-3486" /></a><br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/15.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/15-605x347.jpg" alt="" title="15" width="605" height="347" class="aligncenter size-large wp-image-3501 colorbox-3486" /></a><br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/32.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/32-605x785.jpg" alt="" title="32" width="605" height="785" class="aligncenter size-large wp-image-3518 colorbox-3486" /></a></p>
<p>Η καρδιά του data-center δουλεύει χάρη σε δυο μετασχηματιστές από τους οποίους έρχεται συνολικά  4.5MVt ηλεκτρικής ενέργειας.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/1.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/1-605x397.jpg" alt="" title="1" width="605" height="397" class="aligncenter size-large wp-image-3487 colorbox-3486" /></a></p>
<p>Η σταθερότητα του ρεύματος διασφαλίζεται από πολλαπλά UPS και ηλεκτροπαραγωγών ζευγών ντίζελ.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/27.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/27-605x465.jpg" alt="" title="27" width="605" height="465" class="aligncenter size-large wp-image-3513 colorbox-3486" /></a></p>
<p>Σύμφωνα με τους εργαζόμενους, σε περίπτωση διακοπής ρεύματος &#8220;από έξω&#8221;, οι γεννήτριες θα είναι σε θέση να παρέχουν ενέργεια για όλο το DC για δέκα ώρες (χωρίς να φέρουν επιπλέον καύσιμα). Και ναι, η διαθεσιμότητα της ηλεκτρικής ισχύος είναι 99,982%.</p>
<p><a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/12.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/12-605x395.jpg" alt="" title="12" width="605" height="395" class="aligncenter size-large wp-image-3498 colorbox-3486" /></a></p>
<p>Το δίκτυο βασίζετε πάνω σε κορυφαίο διαδικτυακό εξοπλισμό από την εταιρεία CISCO.<br />
Ο resilient πυρήνας του δικτύου αποτελείτε από Catalyst 6509NEB switches και routers της σειράς GSR 12406.<br />
Τα συστήματα ασφαλείας υλοποιούνται με τη χρήση υψηλών επιδόσεων firewall Cisco ASA5580 με εύρος ζώνης 20GB/s  και του συστήματος πρόληψης επιθέσεων IPS 4270 που ανιχνεύει όλους τους γνωστούς τύπους επιθέσεων<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/17.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/17-605x283.jpg" alt="" title="17" width="605" height="283" class="aligncenter size-large wp-image-3503 colorbox-3486" /></a></p>
<p>Ανεξάρτητοι οπτικοί κορμοί που οδηγούν στα μεγάλα ρωσικά κέντρα επικοινωνίας MMTS #9 και MMTS #10 έχουν συνολική χωρητικότητα 70Gbit/s και έχουν την δυνατότητα να κλιμακώσουν μέχρι και 400Gbit/s εξασφαλίζοντας αξιόπιστη συνδεσιμότητα με το διαδίκτυο.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/30.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/30-605x413.jpg" alt="" title="30" width="605" height="413" class="aligncenter size-large wp-image-3516 colorbox-3486" /></a></p>
<p>Το εύρος καναλιού για το κάθε rack φτάνει και τα 10Gbit/s. Η διαχείριση του συστήματος μετάδοσης δεδομένων πραγματοποιείται από προσωπικό με πιστοποιητικά της Cisco Systems. Το ποσοστό επιτυχούς παράδοσης πακέτων &#8211; 99%, η καθυστέρηση της μετάδοσης πακέτων από την θύρα του εξοπλισμού του χρήστη μέχρι τον ISP δεν υπερβαίνει τα 30ms.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/29.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/29-605x396.jpg" alt="" title="29" width="605" height="396" class="aligncenter size-large wp-image-3515 colorbox-3486" /></a></p>
<p>Όλοι οι χώροι του DC είναι χωρισμένοι σε 2 μεγάλες ζώνες που σε κάθε μια συνολικά μπορούν να χωρέσουν περίπου 200racks.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/13.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/13-605x369.jpg" alt="" title="13" width="605" height="369" class="aligncenter size-large wp-image-3499 colorbox-3486" /></a></p>
<p>Επιπλέον σε 50 από αυτά έχει συνδεθεί υδρόψυξη. Ταυτόχρονα η αερόψυξης γίνεται με μονάδες ψύξης ακριβείας με ροή εξόδου του κρύου αέρα κάτω από το υπερυψωμένο δάπεδο (που βρίσκεται σε ύψος 70 εκατοστών και μπορεί να κρατήσει βάρος 1200kg/m2).<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/35.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/35-605x373.jpg" alt="" title="35" width="605" height="373" class="aligncenter size-large wp-image-3521 colorbox-3486" /></a></p>
<p>Από κάτω περνάνε και τα περισσότερα καλώδια.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/34.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/34-605x407.jpg" alt="" title="34" width="605" height="407" class="aligncenter size-large wp-image-3520 colorbox-3486" /></a></p>
<p>Όσον αφορά την ασφάλεια, το κτίριο είναι κάτω υπό παρακολούθηση 24/7, εφαρμόζετε σύστημα πυλών στο πέρασμα μεταξύ δωματίων, που με την σειρά τους είναι εξοπλισμένα με σύγχρονα συστήματα ασφαλείας και ελέγχου πρόσβασης (TAC και I/NET SEVEN) με χρήση proximity καρτών.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/2.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/2-605x365.jpg" alt="" title="2" width="605" height="365" class="aligncenter size-large wp-image-3488 colorbox-3486" /></a></p>
<p>Και αν μιλάμε για την ίδια τη δομή του δικτύου, εκτός από hardware firewalls γίνετε επίσης ο διαχωρισμός της ροής των δεδομένων σε εικονικά δίκτυα (VLAN σε Cisco swicthes), κεντρικό σύστημα ανίχνευσης ιών, επικυρωμένα πιστοποιητικά SSL και κάτι ακόμα.<br />
Όλες οι διαδικασίες με κωδικούς πρόσβασης είναι αυστηρά ρυθμισμένες, το λογισμικό ενημερώνεται με αξιοζήλευτη σταθερότητα, και υπάρχουν σχέδια περιοδικού ελέγχου των συστημάτων ασφαλείας με προσομοίωση των διαφόρων τύπων επιθέσεων.</p>
<p>Ξεχωριστά αξίζει προσοχή το αέριο σύστημα πυρόσβεσης.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/33.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/33-605x900.jpg" alt="" title="33" width="605" height="900" class="aligncenter size-large wp-image-3519 colorbox-3486" /></a></p>
<p>Με πολλαπλούς αισθητήρες, το σύστημα μπορεί να λειτουργήσει εντελώς αυτόματα.<br />
Σε έναν από τους διαδρόμους βρίσκεται ένα ειδικό σετ με δύο ανεξάρτητες αντλίες, οι οποίες επιτρέπουν το συντομότερο δυνατόν μέσω του αέριου να σβήσουν ακόμη και την επανεμφάνιση της φωτιάς (πολύ απίθανο).<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/37.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/37-605x350.jpg" alt="" title="37" width="605" height="350" class="aligncenter size-large wp-image-3523 colorbox-3486" /></a><br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/36.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/36-605x444.jpg" alt="" title="36" width="605" height="444" class="aligncenter size-large wp-image-3522 colorbox-3486" /></a></p>
<p>Όλα τα συστήματα πυρόσβεσης είναι συνδεμένα σε αδιάκοπη παροχή ρεύματος.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/16.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/16-605x378.jpg" alt="" title="16" width="605" height="378" class="aligncenter size-large wp-image-3502 colorbox-3486" /></a></p>
<p>Ήταν πραγματικά διασκεδαστικό να περιπλανηθείς στο κτήριο, δεν βλέπεις κάτι τέτοιο κάθε μέρα. Συνεχώς έχεις την αίσθηση πως βρίσκεσαι σε μια στρατιωτική βάση ή κάποιο κτήριο με υπερ-υπολογιστές του εξωτερικού. Όλα καθαρά και τακτοποιημένα &#8211; σούπερ!<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/11.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/11-605x419.jpg" alt="" title="11" width="605" height="419" class="aligncenter size-large wp-image-3497 colorbox-3486" /></a></p>
<p>Ο διάδρομος του κτιρίου είναι διακοσμημένος με προτομές διάσημων ανθρώπων<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/22.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/22-605x371.jpg" alt="" title="22" width="605" height="371" class="aligncenter size-large wp-image-3508 colorbox-3486" /></a><br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/38.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/38-605x882.jpg" alt="" title="38" width="605" height="882" class="aligncenter size-large wp-image-3524 colorbox-3486" /></a><br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/39.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/39-605x395.jpg" alt="" title="39" width="605" height="395" class="aligncenter size-large wp-image-3525 colorbox-3486" /></a></p>
<p>Και όλη η gallery με περισσότερες φωτογραφίες<br />

<a href='http://www.ituts.gr/story-of-a-data-center/1-3' title='1'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/1-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="1" title="1" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/2' title='2'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/2-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="2" title="2" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/3' title='3'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/3-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="3" title="3" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/4' title='4'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/4-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="4" title="4" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/5' title='5'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/5-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="5" title="5" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/6' title='6'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/6-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="6" title="6" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/7' title='7'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/7-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="7" title="7" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/8' title='8'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/8-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="8" title="8" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/9' title='9'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/9-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="9" title="9" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/10' title='10'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/10-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="10" title="10" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/11' title='11'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/11-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="11" title="11" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/12' title='12'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/12-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="12" title="12" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/13' title='13'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/13-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="13" title="13" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/14' title='14'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/14-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="14" title="14" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/15' title='15'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/15-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="15" title="15" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/16' title='16'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/16-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="16" title="16" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/17' title='17'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/17-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="17" title="17" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/18' title='18'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/18-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="18" title="18" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/19' title='19'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/19-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="19" title="19" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/20' title='20'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/20-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="20" title="20" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/21' title='21'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/21-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="21" title="21" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/22' title='22'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/22-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="22" title="22" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/23' title='Data-center entrance'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/23-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="Data-center entrance" title="Data-center entrance" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/24' title='24'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/24-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="24" title="24" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/25' title='25'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/25-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="25" title="25" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/26' title='26'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/26-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="26" title="26" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/27' title='27'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/27-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="27" title="27" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/28' title='28'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/28-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="28" title="28" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/29' title='29'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/29-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="29" title="29" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/30' title='30'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/30-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="30" title="30" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/31' title='31'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/31-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="31" title="31" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/32' title='32'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/32-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="32" title="32" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/33' title='33'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/33-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="33" title="33" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/34' title='34'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/34-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="34" title="34" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/35' title='35'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/35-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="35" title="35" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/36' title='36'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/36-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="36" title="36" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/37' title='37'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/37-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="37" title="37" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/38' title='38'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/38-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="38" title="38" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/39' title='39'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/39-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="39" title="39" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/40' title='40'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/40-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="40" title="40" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/attachment/41' title='41'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/41-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="41" title="41" /></a>
<a href='http://www.ituts.gr/story-of-a-data-center/a' title='a'><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/a-195x165.jpg" class="attachment-thumbnail colorbox-3486" alt="a" title="a" /></a>
</p>
<p>Ευχαριστώ για την ανάγνωση.<br />
Αφήστε τις εντυπώσεις σας στα σχόλια από κάτω</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/story-of-a-data-center/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Φτιάξτε τη δική σας social bar</title>
		<link>http://www.ituts.gr/%cf%86%cf%84%ce%b9%ce%ac%ce%be%cf%84%ce%b5-%cf%84%ce%b7-%ce%b4%ce%b9%ce%ba%ce%ae-%cf%83%ce%b1%cf%82-social-bar</link>
		<comments>http://www.ituts.gr/%cf%86%cf%84%ce%b9%ce%ac%ce%be%cf%84%ce%b5-%cf%84%ce%b7-%ce%b4%ce%b9%ce%ba%ce%ae-%cf%83%ce%b1%cf%82-social-bar#comments</comments>
		<pubDate>Fri, 27 Jan 2012 23:54:01 +0000</pubDate>
		<dc:creator>_tasos</dc:creator>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Addthis]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=2944</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/sharethis.png" class="attachment-thumbnail wp-post-image" alt="sharethis" title="sharethis" style="margin-bottom: 15px;" /></div>Ένα απλό παράδειγμα για τη δημιουργία μιας social bar για το site μας και πως μπορούμε να χρησιμοποιήσουμε τη λειτουργικότητα της δημοφιλούς υπηρεσίας addthis. ]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/sharethis.png" class="attachment-thumbnail wp-post-image" alt="sharethis" title="sharethis" style="margin-bottom: 15px;" /></div><p>Αν θέλετε να φτιάξετε μία social bar για το site σας μπορείτε να χρησιμοποιήσετε το sharing εργαλείο <a href="http://www.addthis.com/" target="_blank">addthis</a>. Είναι πολύ απλό στη χρήση του και έχει πολλές επιλογές για τη παραμετροποιήση του. Συνήθως όμως θέλουμε 2 ή 3 κουμπία για το share (π.χ. facebook, twitter), και δύο κουμπιά για εκτύπωση και αποστολή σε φίλο με email.<br />
<span id="more-2944"></span><br />
Έστω ότι η social bar μας θα έχει κουμπιά για </p>
<ul>
<li>facebook</li>
<li>twitter</li>
<li>αποστολή σε φίλο</li>
<li>εκτύπωση</li>
</ul>
<p>Έχουμε τη δυνατόητα να χρησιμοποιήσουμε τα εικονίδια του addthis ή να βάλουμε δικά μας. Καλούμε πρώτα το js σκριπτάκι του addthis και μετά σε κάθε &lt;a&gt; δίνουμε μία κλάση. Για κάθε λειτουργία ή υπηρεσία που προσφέρει το addthis υπάρχει και η αντίστοιχη κλάση. Οπότε, γράφουμε τα εξής:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
    //Προαιρετικά, ορίζουμε το locale
    var addthis_config = {ui_language: &quot;el&quot;} 
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">&lt;!-- Το script για την αρχικοποίηση της υπηρεσίας μπορείς να αλλάξει --&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://s7.addthis.com/js/250/addthis_widget.js?pub=xa-4ac064027fe2664b&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
...
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;addthis_button_facebook&quot;</span>&gt;</span>
    <span style="color: #808080; font-style: italic;">&lt;!-- Αν δεν βάλω κάποιο &lt;img /&gt; μέσα στο &lt;a&gt; το addthis θα εμφανίσει τα δικά του εικονίδια --&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/images/social_media/fb.png&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Send to Facebook&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;addthis_button_twitter&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/images/social_media/twitter.png&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Tweet about this!&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;addthis_button_email&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/images/social_media/email.png&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Email to a friend&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;addthis_button_print&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/images/social_media/print.png&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Print this page&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span></pre></div></div>

<p>Το API που προσφέρει το addthis στους προγραμματιστές είναι αρκετά πλούσιο. Υπάρχει μπορείς να έχεις στατιστικά για το ποιες σελίδες έχουν γίνει share μέσα από το site σου.</p>
<p>Αφού έχουμε δημιουργήσει τη social bar μας θέλουμε να κάνουμε κάποιες αλλαγές στη σελίδα ώστε να μπορεί να συνεργάζεται καλύτερα με τις υπηρεσίες αυτές. Ειδικά για το facebook, πρέπει να υπάρχουν συγκεκριμένες meta ετικέτες όπου εκεί ορίζεται ένας τίτλος, περιγραφή και εικόνα για κάθε σελίδα που γίνεται share. Για περισσότερες λεπτομέρειες διαβάστε <a href="http://developers.facebook.com/docs/share" target="_blank">εδώ</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> property<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;og:title&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;iTuts.gr - Ελληνικά εξειδικευμένα βοηθήματα&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> property<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;og:description&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Το ituts.gr είναι ένα site με tutorials που στοχεύει να συνδυάσει την μάθηση με τον επαγγελματισμό.&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> property<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;og:image&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.ituts.gr/fb_share.jpg&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p>Ένα πράγμα που είναι σημαντικό για τις παραπάνω ιδιότητες είναι ότι το facebook έχει βάλει κάποιους περιορισμούς για το μέγεθος της εικόνας. Οι διαστάσεις της εικόνες πρέπει να είναι τουλάχιστον 50px αλλά να μην ξεπερνά τα 130x110px. Επίσης η αναλογία πλάτους και ύψους δεν πρέπει να ξεπερνάει το 3.0 (w/h, h/w).  Από ότι έχω δει μέχρι τώρα αυτός ο κανόνας δεν τηρείται πάντα αλλά καλό είναι να τον σεβόμαστε.</p>
<p>Επίσης το facebook όταν κάνει share μία σελίδα, τα αποτελέσματα της αποθηκεύτονται προσωρινά έτσι ώστε το facebook να μην διαβάζει κάθε φορά τη σελίδα. Αυτό όμως δημιουργεί κάποιες δυσκολίες στον προγραμματιστή αφού δεν μπορεί να κάνει εκεί δοκιμές. Μια σελίδα μπορεί να μείνει αποθηκευμένη στο facebook μέχρι και μία εβδομάδα. Υπάρχει ο <a href="http://developers.facebook.com/tools/debug" target="_blank">Debugger</a> του facebook, και κάνει ανάλυση των meta της σελίδας χωρίς να κάνει καμία αποθήκευση. Έτσι εκεί μπορούμε να βλέπουμε αν τα meta μας είναι σωστά τοποθετημένα και το facebook μπορεί να το διαβάσει. Επίσης σβήνεται και η cache του facebook για αυτό το URL.</p>
<p>Τέλος, για κάποιον που δεν θέλει να χρησιμοποιήσει την υπηρεσία του addthis αλλά να βάλει απευθείας buttons για τις πιο δημοφιλείς social πλατφόρμες μπορεί να κάνει χρήση του embed κώδικα που δίνει η κάθε υπηρεσία. </p>
<ul>
<li><strong>Facebook</strong>: <a href="http://developers.facebook.com/docs/reference/plugins/like/" target="_blank">http://developers.facebook.com/docs/reference/plugins/like/</a></li>
<li><strong>Google+</strong>: <a href="http://www.google.com/webmasters/+1/button/" target="_blank">http://www.google.com/webmasters/+1/button/</a></li>
<li><strong>Twitter</strong>: <a href="https://twitter.com/about/resources/buttons" target="_blank">https://twitter.com/about/resources/buttons</a></li>
</ul>
<p>Πηγή Άρθρου: <a href="http://codingstill.com/2010/12/tips-for-sharing-your-site/" target="_blank">Tips for sharing your site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/%cf%86%cf%84%ce%b9%ce%ac%ce%be%cf%84%ce%b5-%cf%84%ce%b7-%ce%b4%ce%b9%ce%ba%ce%ae-%cf%83%ce%b1%cf%82-social-bar/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Εγκατάσταση Joomla 1.7 Online Βήμα Προς Βήμα</title>
		<link>http://www.ituts.gr/%ce%b5%ce%b3%ce%ba%ce%b1%cf%84%ce%ac%cf%83%cf%84%ce%b1%cf%83%ce%b7-joomla-1-7-online-%ce%b2%ce%ae%ce%bc%ce%b1-%cf%80%cf%81%ce%bf%cf%82-%ce%b2%ce%ae%ce%bc%ce%b1</link>
		<comments>http://www.ituts.gr/%ce%b5%ce%b3%ce%ba%ce%b1%cf%84%ce%ac%cf%83%cf%84%ce%b1%cf%83%ce%b7-joomla-1-7-online-%ce%b2%ce%ae%ce%bc%ce%b1-%cf%80%cf%81%ce%bf%cf%82-%ce%b2%ce%ae%ce%bc%ce%b1#comments</comments>
		<pubDate>Thu, 26 Jan 2012 08:10:42 +0000</pubDate>
		<dc:creator>George Brountzas</dc:creator>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=3403</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/joomla17-195x165.png" class="attachment-thumbnail wp-post-image" alt="joomla17" title="joomla17" style="margin-bottom: 15px;" /></div>Σε αυτό το βίντεο βοήθημα θα δούμε τα πλεονεκτήματα του δημοφιλούς CMS, πως λειτουργεί και γιατί το προτείνουμε. Ακολουθεί online εγκατάσταση σε πραγματικές συνθήκες, βήμα προς βήμα. Από την δημιουργία της βάσης δεδομένων μέχρι τις τελευταίες λεπτομέρειες. Χρήσιμα tips για πιο γρήγορο upload των αρχείων κ.α.]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/joomla17-195x165.png" class="attachment-thumbnail wp-post-image" alt="joomla17" title="joomla17" style="margin-bottom: 15px;" /></div><p>Το Joomla! είναι μία εφαρμογή ανοιχτού κώδικα. Δηλαδή, μπορεί ο κάθε χρήστης να το χρησιμοποιήσει δωρεάν, να το τροποποιήσει στις ανάγκες του αλλά και να συμβάλλει στην βελτιστοποίηση του σε συνεργασία με την κοινότητα. Πρόκειται για ένα δημοφιλές Σύστημα Διαχείρισης Περιεχομένου, το οποίο είναι γραμμένο σε γλώσσα Php και τα δεδομένα αποθηκεύονται σε βάση δεδομένων mysql. To Joomla έχει χαρακτηριστικά όπως η cache των σελίδων για τη βελτίωση των επιδόσεων, ευρετήριο web (indexing), RSS feeds, πολυγλωσσικότητα, καλάθι αγορών κ.α.</p>
<h4>Ιστορικά Στοιχεία</h4>
<p>Το όνομα &#8220;Joomla&#8221; είναι μια φωνητική γραφή της γλώσσας Σουαχίλι (Swahili) στην οποία η λέξη &#8220;jumla&#8221; σημαίνει &#8220;όλοι μαζί&#8221; ή &#8220;ως σύνολο&#8221;. Επέλεξαν αυτο το όνομα για να αντικατοπτρίζει τη δέσμευση της Κοινότητας και την ομάδα ανάπτυξης του έργου. Η πρώτη έκδοση του Joomla 1.0.0 ξεκίνησε στις 16 Σεπτεμβρίου του 2005. Ουσιαστικά ήταν η εξέλιξη του Mambo 4.5.2.3 με σημαντικές αλλαγές στην ασφάλεια και την διαχείριση των δεδομένων. Τώρα, βρισκόμαστε στην έκδοση 1.7.3 και σύντομα αναμένεται η έκδοση 2.0 η οποία θα είναι πλήρως συμβατή με την νέα έκδοση php 5.0.</p>
<h4>Το Joomla! στην Ελλάδα</h4>
<p>Στην Ελλάδα η κοινότητα είναι αρκετά οργανωμένη, ενδεικτικά θα αναφέρουμε το <a href="http://www.joomla.gr">www.joomla.gr</a> και το <a href="http://www.joomlafans.gr">www.joomlafans.gr</a>, τα οποία μέσω του φόρουμ, βοηθάνε στην επίλυση προβλημάτων των χρηστών, είτε απλών είτε σύνθετων.</p>
<p>Σε αυτό το βίντεο βοήθημα θα δούμε τα πλεονεκτήματα του δημοφιλούς CMS, πως λειτουργεί και γιατί το προτείνουμε. Ακολουθεί online εγκατάσταση σε πραγματικές συνθήκες, βήμα προς βήμα. Από την δημιουργία της βάσης δεδομένων μέχρι τις τελευταίες λεπτομέρειες, χρήσιμα tips για πιο γρήγορο upload των αρχείων κ.α.</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/6KSgEUKjuXc" frameborder="0" allowfullscreen></iframe></p>
<h4>Χρήσιμα Links</h4>
<p><a href="http://www.joomla.org">Επίσημο Site</a><br />
<a href="http://el.wikipedia.org/wiki/Joomla">Wiki Joomla</a><br />
<a href="http://extensions.joomla.org">Επεκτάσεις Joomla</a></p>
<p>Για οποιαδήποτε απορία αφήστε τα σχόλια σας ή επικοινωνήστε μαζί μας.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/%ce%b5%ce%b3%ce%ba%ce%b1%cf%84%ce%ac%cf%83%cf%84%ce%b1%cf%83%ce%b7-joomla-1-7-online-%ce%b2%ce%ae%ce%bc%ce%b1-%cf%80%cf%81%ce%bf%cf%82-%ce%b2%ce%ae%ce%bc%ce%b1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ρύθμιση Frame Relay με χρήση subinterfaces σε δρομολογητές Cisco</title>
		<link>http://www.ituts.gr/configure-frame-relay-using-subinterfaces-cisco-routers</link>
		<comments>http://www.ituts.gr/configure-frame-relay-using-subinterfaces-cisco-routers#comments</comments>
		<pubDate>Tue, 24 Jan 2012 10:51:57 +0000</pubDate>
		<dc:creator>Δημήτρης Α.</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Routing]]></category>
		<category><![CDATA[ccna]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[routers]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=3379</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/network-195x165.jpg" class="attachment-thumbnail wp-post-image" alt="network hub" title="network hub" style="margin-bottom: 15px;" /></div>Ένα απλό παράδειγμα ρύθμισης ενός Frame-Relay δικτύου σε CISCO routers και με όλες τις εντολές που θα χρειαστούν. Μέρος της ύλης για όσους δίνουν για CISCO CCNA]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/network-195x165.jpg" class="attachment-thumbnail wp-post-image" alt="network hub" title="network hub" style="margin-bottom: 15px;" /></div><p>Ένα απλό παράδειγμα ρύθμισης ενός Frame-Relay δικτύου σε CISCO routers και με όλες τις εντολές που θα χρειαστούν.<br />
Μέρος της ύλης για όσους δίνουν για CCNA</p>
<p>Αρχίζουμε, στο σχέδιο βλέπουμε 3 routers και ένα Frame Relay cloud. Οι routers R2 Και R3 δεν αλληλεπιδρούν απευθείας μεταξύ τους, ο R1 με την σειρά του επιτρέπει την ανταλλαγή της κίνησης μεταξύ R2 και R3.</p>
<p><a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/frame-relay.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/frame-relay.jpg" alt="" title="frame-relay" width="464" height="275" class="aligncenter size-full wp-image-3380 colorbox-3379" /></a></p>
<p><strong>Ρυθμίζοντας το Frame Relay</strong><br />
R1:<br />
Στον router που θα συνδέει τους R2 και R3 δηλώνουμε το είδους του sub-interface ως multipoint.<br />
Ρυθμίζουμε το mapping αντίστοιχα με την τοπολογία μας χρησιμοποιώντας την εντολή<br />
<code>frame-relay ip map 10.0.0.2 100</code>, όπου ο αριθμός μετά την διεύθυνση<br />
του remote router &#8211; ο αριθμός του εικονικού καναλιού.<br />
Λάβετε υπόψη πως στην φυσική διασύνδεση δεν χρειάζεται να αποδώσουμε IP address αρκεί να την ενεργοποιήσουμε με την εντολή <code>no shutdown</code>.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">R1(config)#interface serial 0/0
R1(config-if)#encapsulation frame-relay
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown
R1(config)#interface serial 0/0.1 multipoint
R1(config-subif)#ip address 10.0.0.1 255.255.255.0
R1(config-subif)#frame-relay map ip 10.0.0.2 100
R1(config-subif)#frame-relay map ip 10.0.0.4 400</pre></div></div>

<p>R2:<br />
Στους υπόλοιπους routers ενεργοποιούμε την φυσική διασύνδεση, δηλώνουμε το είδος του sub-interface ως point-to-point και το νούμερο dlci.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">R2(config)#interface serial 0/0
R2r(config-if)#encapsulation frame-relay
R2(config-if)#clock rate 64000
R2r(config-if)#no shutdown
R2r(config)#interface serial 0/0.1 point-to-point
R2r(config-subif)#ip address 10.0.0.2 255.255.255.0
R2(config-subif)#frame-relay interface-dlci 200</pre></div></div>

<p>R3:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">R3(config)#interface serial 0/0
R3(config-if)#encapsulation frame-relay
R3(config-if)#clock rate 64000
R3(config-if)#no shutdown
R3(config)#interface serial 0/0.1 point-to-point
R3(config-subif)#ip address 10.0.0.4 255.255.255.0
R3(config-subif)#frame-relay interface-dlci 300</pre></div></div>

<p>Τώρα ας ρυθμίσουμε το Frame Relay cloud.<br />
Στα interfaces συνδεμένα στους routers ρυθμίζουμε τα dlci παρόμοια με αυτά που δώσαμε όταν ρυθμίζαμε τα sub-interfaces.<br />
Στην επόμενη εικόνα προστίθενται δυο dlci, μιας στον κάθε router έρχονται 2 tunnel, και το κάθε tunnel πρέπει να έχει το δικό του dlci.<br />
R1:<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/s1.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/s1.jpg" alt="" title="s1" width="600" height="475" class="aligncenter size-full wp-image-3385 colorbox-3379" /></a></p>
<p>R2:<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/s2.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/s2.jpg" alt="" title="s2" width="600" height="475" class="aligncenter size-full wp-image-3386 colorbox-3379" /></a></p>
<p>R3:<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/s3.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/s3.jpg" alt="" title="s3" width="600" height="475" class="aligncenter size-full wp-image-3387 colorbox-3379" /></a></p>
<p>Στο tab Frame-Relay θα ρυθμίσουμε την διασύνδεση μεταξύ των εικονικών καναλιών(tunnels) ώστε οι ακραίοι routers να συνδέονται με τον R1.<br />
<a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/map.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/map.jpg" alt="" title="map" width="600" height="475" class="aligncenter size-full wp-image-3388 colorbox-3379" /></a></p>
<p>Χρησιμοποιώντας την εντολή <code>show frame-relay map</code> μπορούμε να μάθουμε το mapping που χρησιμοποιείτε στα interfaces του router.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">R1#show frame-relay map
Serial10/0.1 (up): ip 10.0.0.2 dlci 100, static, CISCO, status defined, active
Serial10/0.1 (up): ip 10.0.0.4 dlci 400, static, CISCO, status defined, active</pre></div></div>

<p>Ελέγχουμε την διασύνδεση ανάμεσα σε R2 και R3</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">R3&gt;en
R3#ping 10.0.0.2
&nbsp;
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 10/13/19 ms
&nbsp;
R3#</pre></div></div>

<p>Αυτό ήταν, τελειώσαμε.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/configure-frame-relay-using-subinterfaces-cisco-routers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 Παραδείγματα χρήσης της JQuery</title>
		<link>http://www.ituts.gr/5-%cf%80%ce%b1%cf%81%ce%b1%ce%b4%ce%b5%ce%af%ce%b3%ce%bc%ce%b1%cf%84%ce%b1-%cf%87%cf%81%ce%ae%cf%83%ce%b7%cf%82-%cf%84%ce%b7%cf%82-jquery</link>
		<comments>http://www.ituts.gr/5-%cf%80%ce%b1%cf%81%ce%b1%ce%b4%ce%b5%ce%af%ce%b3%ce%bc%ce%b1%cf%84%ce%b1-%cf%87%cf%81%ce%ae%cf%83%ce%b7%cf%82-%cf%84%ce%b7%cf%82-jquery#comments</comments>
		<pubDate>Sun, 08 Jan 2012 14:20:43 +0000</pubDate>
		<dc:creator>George Brountzas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[examples]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=3295</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/jquery-tut21-195x165.jpg" class="attachment-thumbnail wp-post-image" alt="jquery-tut2" title="jquery-tut2" style="margin-bottom: 15px;" /></div>Σαν συνέχεια των βασικών αρχών της δημοφιλούς βιβλιοθήκης, μετά από αίτημα αναγνώστη, στο παρών βοήθημα θα δούμε χειροπιαστά κάποια παραδείγματα χρήσης της JQuery.]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2012/01/jquery-tut21-195x165.jpg" class="attachment-thumbnail wp-post-image" alt="jquery-tut2" title="jquery-tut2" style="margin-bottom: 15px;" /></div><p>Στο προηγούμενο άρθρο είδαμε κάποια εισαγωγικά στοιχεία για την JQuery, Πως την εισάγουμε στην σελίδα μας καθώς και 2 – 3 παραδείγματα κώδικα. Πάμε να δούμε πιο χειροπιαστά παραδείγματα.</p>
<h3>1. Αναδυόμενο παράθυρο (slide panel)</h3>
<p>Ας ξεκινήσουμε φτιάχνοντας ένα απλό αναδυόμενο παράθυρο. Θα έχετε δει πολλά σε σελίδες όπου πατάμε το κουμπί και ένα panel εμφανίζεται ή κρύβεται. (Δείτε το <a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/simple-slide-panel1.html">demo</a>).</p>
<p> <a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/ss1.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/ss1.jpg" alt="" title="ss1" width="674" height="286" class="alignnone size-full wp-image-3325 colorbox-3295" /></a>
<p>Όταν το κουμπί με κλάση <em>btn-slide</em> πατηθεί, τότε το div με id=&#8221;panel&#8221; θα εμφανιστεί / κρυφτεί ανάλογα. Η κλάση <em>active</em> θα προστεθεί στο κουμπί. Με αυτόν τον τρόπο θα αλλάξει θέση η εικόνα του βέλους στο css.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"> $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.btn-slide&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#panel&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideToggle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;active&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>2. Εφέ απόκρυψης παραθύρου</h3>
<p>Το επόμενο απλό παράδειγμα μας δείχνει πως κρύβουμε ένα div με το πάτημα ενός κουμπιού. (Δείτε το <a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/simple-disappear1.html">demo</a>)</p>
<p> <a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/ss2.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/ss2.jpg" alt="" title="ss2" width="500" height="196" class="alignnone size-full wp-image-3328 colorbox-3295" /></a>
<p>Πώς λειτουργεί; Όταν πατηθεί η εικόνα με κλάση <em>delete</em> θα ψάξει ο κώδικας το πατρικό στοιχείο (parent element) με κλάση pane και θα αλλάξει με αργή ταχύτητα την διαφάνεια (opacity).</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"> $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.pane .delete&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">parents</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.pane&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> opacity<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;hide&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>3.Μενού τύπου ακορντεόν</h3>
<p>Ένα παράδειγμα κύλισης μορφής ακορντεόν. (Δείτε το <a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/accordion11.html">demo</a>)</p>
<p>Η πρώτη γραμμή κώδικα θα προσθέσει την κλάση active στο πρώτο h3 τίτλο. Η δεύτερη γραμμή κώδικα θα αποκρύψει όλα τα < p> στοιχεία που δεν είναι στο div με κλάση accordion. Όταν το στοιχείο τίτλου h3 πατηθεί, θα προκαλέσει την κλήση της slideToggle για το επόμενο < p>.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"> $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.accordion h3:first&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;active&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.accordion p:not(:first)&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.accordion h3&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">next</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;p&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideToggle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span> .<span style="color: #660066;">siblings</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;p:visible&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;active&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">siblings</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;h3&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;active&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>4. Δημιουργία ενεργού δεσμού σε όλο το block.</h3>
<p>Κι αν θέλουμε όλο το κουτί να μπορεί να πατηθεί από τον χρήστη; (Δείτε το <a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/block-clickable1.html">demo</a>).</p>
<p> <a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/ss3.jpg"><img src="http://cdn.ituts.gr/wp-content/uploads/2012/01/ss3.jpg" alt="" title="ss3" width="484" height="241" class="alignnone size-full wp-image-3329 colorbox-3295" /></a>
<p>Ας υποθέσουμε ότι έχουμε μία λίστα με κλάση <em>pane-list</em> και θέλουμε το κάθε στοιχείο της λίστας να είναι ενεργό σημείο συνδέσμου (clickable). Πολύ απλά ορίζουμε στο στοιχείο <em>.pane-list li</em> την συνάρτηση click. Μόλις πατηθεί το < li> η συνάρτηση θα βρεί το στοιχείο < a> και θα κατευθύνει τον browser όπου έχει δηλωθεί στο href στοιχείο.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"> $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.pane-list li&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> window.<span style="color: #660066;">location</span><span style="color: #339933;">=</span>$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;href&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>5. Drag and Drop.</h3>
<p>Πολύ απλό παράδειγμα για drag and drop. Ας δούμε ένα απλό παράδειγμα. (Δείτε το <a href="http://cdn.ituts.gr/wp-content/uploads/2012/01/drag-drop.html">demo</a>).</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"> <span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span> $<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">&quot;#draggable&quot;</span> <span style="color: #009900;">&#41;</span>.<span style="color: #660066;">draggable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p><em>Προσοχή!:</em> Στο παρών παράδειγμα είναι απαραίτητο να φορτωθεί επιπλέον η βιβλιοθήκη UI της JQuery</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"> <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span> <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p>Για περισσότερες πληροφορίες για το drag&#038;drop : <a href="http://jqueryui.com/demos/draggable/">http://jqueryui.com/demos/draggable/</a>
<p>Μην διστάσετε να αφήσετε σχόλια και ερωτήσεις. Μας παροτρύνετε να συνεχίσουμε!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/5-%cf%80%ce%b1%cf%81%ce%b1%ce%b4%ce%b5%ce%af%ce%b3%ce%bc%ce%b1%cf%84%ce%b1-%cf%87%cf%81%ce%ae%cf%83%ce%b7%cf%82-%cf%84%ce%b7%cf%82-jquery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Βασικές αλήθειες</title>
		<link>http://www.ituts.gr/%ce%b2%ce%b1%cf%83%ce%b9%ce%ba%ce%ad%cf%82-%ce%b1%ce%bb%ce%ae%ce%b8%ce%b5%ce%b9%ce%b5%cf%82</link>
		<comments>http://www.ituts.gr/%ce%b2%ce%b1%cf%83%ce%b9%ce%ba%ce%ad%cf%82-%ce%b1%ce%bb%ce%ae%ce%b8%ce%b5%ce%b9%ce%b5%cf%82#comments</comments>
		<pubDate>Sat, 31 Dec 2011 12:11:47 +0000</pubDate>
		<dc:creator>iTuts</dc:creator>
				<category><![CDATA[Cartoon]]></category>
		<category><![CDATA[cartoon]]></category>
		<category><![CDATA[comic]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[greek]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=3222</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2011/12/geek-comic-195x165.png" class="attachment-thumbnail wp-post-image" alt="geek-comic" title="geek-comic" style="margin-bottom: 15px;" /></div>]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2011/12/geek-comic-195x165.png" class="attachment-thumbnail wp-post-image" alt="geek-comic" title="geek-comic" style="margin-bottom: 15px;" /></div><p><a href="http://cdn.ituts.gr/wp-content/uploads/2011/12/geek-comic.png"><img src="http://cdn.ituts.gr/wp-content/uploads/2011/12/geek-comic.png" alt="" title="geek-comic" width="930" height="300" class="aligncenter size-full wp-image-3224 colorbox-3222" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/%ce%b2%ce%b1%cf%83%ce%b9%ce%ba%ce%ad%cf%82-%ce%b1%ce%bb%ce%ae%ce%b8%ce%b5%ce%b9%ce%b5%cf%82/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ξεκινώντας με την jQuery</title>
		<link>http://www.ituts.gr/%ce%be%ce%b5%ce%ba%ce%b9%ce%bd%cf%8e%ce%bd%cf%84%ce%b1%cf%82-%ce%bc%ce%b5-%cf%84%ce%b7%ce%bd-jquery</link>
		<comments>http://www.ituts.gr/%ce%be%ce%b5%ce%ba%ce%b9%ce%bd%cf%8e%ce%bd%cf%84%ce%b1%cf%82-%ce%bc%ce%b5-%cf%84%ce%b7%ce%bd-jquery#comments</comments>
		<pubDate>Fri, 30 Dec 2011 12:08:28 +0000</pubDate>
		<dc:creator>George Brountzas</dc:creator>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[basics]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=3197</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2011/12/jquery-logo1-195x165.png" class="attachment-thumbnail wp-post-image" alt="jquery-logo1" title="jquery-logo1" style="margin-bottom: 15px;" /></div>Η εργαλειοθήκη ενός έμπειρου προγραμματιστή πρέπει να έχει πολλά εργαλεία. Ένα από αυτά είναι και η πλέον διάσημη βιβλιοθήκη της Javascript, η JQuery. Ας δούμε κάποιες βασικές αρχές για το πως μπορούμε να την χρησιμοποιήσουμε.]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2011/12/jquery-logo1-195x165.png" class="attachment-thumbnail wp-post-image" alt="jquery-logo1" title="jquery-logo1" style="margin-bottom: 15px;" /></div><h3>Τι είναι η jquery; Ας δούμε κάποιες βασικές αρχές και πως χρησιμοποιείται.</h3>
<p>Ο οδηγός αυτός είναι μία εισαγωγή στην βιβλιοθήκη της JQuery. Ουσιαστικά πρόκειται για γραμμές κώδικα, στοιχειοθετημένες και ταξινομημένες, οι οποίες εμπλουτίζουν και κάνουν πιο απλή την χρήση της γνωστής Javascript. Για να παρακολουθήσετε αυτό το βοήθημα, καλό θα ήταν να έχετε μία ιδέα για την Javascript </p>
<p><a href="http://www.w3schools.com/js/">Δείτε εδώ</a>.<span id="more-3197"></span></p>
<h4>Έτοιμοι; Πάμε!</h4>
<p>Για να ξεκινήσουμε, πρέπει να κατεβάσουμε το αρχείο .js από την διεύθυνση <a href="http://www.jquery.com">www.jquery.com</a> το οποίο περιέχει την βιβλιοθήκη της JQuery. Μετά, αρκεί να το κατεβάσουμε στον υπολογιστή μας. Στο html έγγραφο μας, θα αναφέρουμε την προέλευση του αρχείου. </p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;PATH/jquery.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p>Υπάρχει κι ο online τρόπος, με έμμεση αναφορά, δηλ:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p>Ο παραπάνω κώδικας, δηλώνεται στο <head> τομέα του html εγγράφου μας.</p>
<h4>Το γνωστό Hello</h4>
<p>Δημιουργήστε ένα κενό έγγραφο με τον εξής html κώδικα:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span>&gt;</span>                                                                  
 <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>                                                                  
   <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;PATH/jquery.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>          
   <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>                                         
   // κώδικας Javascript                                     
   <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>                                                               
   <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>                                                                 
 <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>                                                                  
   <span style="color: #009900;">&lt;!— το περιεχόμενο της σελίδας μας --&gt;</span>                                        
 <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>                                                                 
 <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p><em>Σημείωση:</em> Όταν λέμε PATH εννοούμε την αναφορά σε σχέση με το html έγγραφο. Αν το αρχείο jquery.js  είναι στο ίδιο επίπεδο / φάκελο, τότε μπορούμε να το παραλείψουμε. Αν είναι στο φάκελο {js} τότε γράφουμε …src=&#8221;js/jquery.js&#8221; </p>
<p>Η JQuery διαβάζει και χειρίζεται το DOM model (Document Object Model). Προϋπόθεση πριν αρχίσουμε να γράφουμε κώδικα είναι να αρχικοποιήσουμε ένα event για το έγγραφο (document) ως εξής:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #006600; font-style: italic;">// κώδικας</span>
 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Προσθέστε έναν υπερσύνδεσμο στο <body>:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;</span>Link<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span></pre></div></div>

<p>Και ενημερώστε τον κώδικα μας:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Hello world!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Όταν ο χρήστης πατήσει τον υπερσύνδεσμο, θα εμφανιστεί ένα παραθυράκι που θα λέει Hello World! </p>
<h4>Επεξήγηση</h4>
<p>Το $(&#8220;a&#8221;) είναι επιλογέας της JQuery και επιλέγει όλα τα a στοιχεία, δηλ. όλους τους υπερσυνδέσμους. Το σύμβολο $ είναι συντόμευση για την κλάση JQuery, οπότε η δήλωση $( ) φτιάχνει ένα νέο JQuery αντικείμενο. Η <em>click()</em> συνάρτηση είναι μέθοδος του JQuery object και αυτό που κάνει είναι να εκτελεί τον κώδικα όταν ο χρήστης κλικάρει στο δηλωθέν στοιχείο (στην περίπτωση μας τον σύνδεσμο)</p>
<p>Θα μπορούσαμε βέβαια να πετύχουμε το ίδιο αποτέλεσμα ως εξής:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;alert('Hello world')&quot;</span>&gt;</span>Link<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span></pre></div></div>

<p>Η διαφορά είναι προφανής: Δεν χρειάζετε να γράφουμε τον ίδιο κώδικα για κάθε ξεχωριστό στοιχείο. Εξάλλου, έχουμε έναν σαφή διαχωρισμό μεταξύ Δομής (html) και Συμπεριφοράς (JS), όπως ακριβώς ξεχωρίζουμε την Δομή με την μορφοποίηση, με τη χρήση CSS.</p>
<h4>selectors και events</h4>
<p>Τα στοιχεία της σελίδας μας (html elements) όπως οι παράγραφοι ή οι σύνδεσμοι μπορούν να επιλεχθούν από την JQuery και να κάνουμε αλλαγές πάνω τους.</p>
<p>Ας δημιουργήσουμε μία λίστα με id &#8220;months&#8221;.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;months&quot;</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Ιανουάριος<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Φεβρουάριος<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Μάρτιος<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></div></div>

<p>Για να επιλέξουμε την λίστα, στην Javascript είχαμε: document.getElementById(&#8220;months&#8221;). Με την JQuery γίνεται ως εξής: </p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#months&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;red&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Έτσι προσθέσαμε την κλάση red στην λίστα μας. Και μπορούμε να την μορφοποιήσουμε.<br />
Τώρα, ας προσθέσουμε την κλάση blue σε ένα παιδί (li) της λίστας.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#months &gt; li&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;blue&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Αυτός ο κώδικας επιλέγει όλα τα παιδιά δηλ. τους μήνες ουσιαστικά και προσθέτει την κλάση blue.<br />
Ένα λίγο πιο δύσκολο παράδειγμα. Θέλουμε όταν ο χρήστης περάσει το ποντίκι πάνων από το τελευταίο στοιχείο, να αφαιρείτε η κλάση green.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#months li:last&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hover</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;green&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;green&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Και ένα ακόμη παράδειγμα. Ο παρακάτω κώδικας, προσθέτει χρώμα παρασκηνίου (background) κίτρινο σε όλες τις επικεφαλίδες επιπέδου 5 (h5).</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;h5&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;background&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;yellow&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Φυσικά, οι δυνατότητες της JQuery είναι απεριόριστες, στο παρών βοήθημα θέλαμε να δούμε κάποια πράγματα εισαγωγικά. Για απορίες μη διστάσετε να αφήσετε σχόλιο ή να <a href="http://ituts.gr/contact">επικοινωνήσετε</a> μαζί μας.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/%ce%be%ce%b5%ce%ba%ce%b9%ce%bd%cf%8e%ce%bd%cf%84%ce%b1%cf%82-%ce%bc%ce%b5-%cf%84%ce%b7%ce%bd-jquery/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Παράδειγμα login με έλεγχο σε βάση δεδομένων (vb.net)</title>
		<link>http://www.ituts.gr/%cf%80%ce%b1%cf%81%ce%ac%ce%b4%ce%b5%ce%b9%ce%b3%ce%bc%ce%b1-login-%ce%bc%ce%b5-%ce%ad%ce%bb%ce%b5%ce%b3%cf%87%ce%bf-%cf%83%ce%b5-%ce%b2%ce%ac%cf%83%ce%b7-%ce%b4%ce%b5%ce%b4%ce%bf%ce%bc%ce%ad%ce%bd</link>
		<comments>http://www.ituts.gr/%cf%80%ce%b1%cf%81%ce%ac%ce%b4%ce%b5%ce%b9%ce%b3%ce%bc%ce%b1-login-%ce%bc%ce%b5-%ce%ad%ce%bb%ce%b5%ce%b3%cf%87%ce%bf-%cf%83%ce%b5-%ce%b2%ce%ac%cf%83%ce%b7-%ce%b4%ce%b5%ce%b4%ce%bf%ce%bc%ce%ad%ce%bd#comments</comments>
		<pubDate>Sat, 24 Dec 2011 11:01:47 +0000</pubDate>
		<dc:creator>Τάσος</dc:creator>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[vb]]></category>
		<category><![CDATA[vb.net]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=3161</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2011/12/Logo_VB-195x165.png" class="attachment-thumbnail wp-post-image" alt="Logo_VB" title="Logo_VB" style="margin-bottom: 15px;" /></div>Se αυτό το tutorial θα δείξουμε πώς μπορούμε να φτιάξουμε πρόγραμμα  για login χρησιμοποιώντας βάση δεδομένων σαν πηγή για τα στοιχεία...]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2011/12/Logo_VB-195x165.png" class="attachment-thumbnail wp-post-image" alt="Logo_VB" title="Logo_VB" style="margin-bottom: 15px;" /></div><p>Kαλησπέρα σας , </p>
<p>το παράδειγμα αυτό έχει σκοπό να σας δείξει τη λογική με την οποία θα μπορούσε να δουλέψει ένα απλό login σύστημα , το οποίο βέβαια ο καθένας μπορεί να τροποποιήσει και βελτιώσει όσο έχει την όρεξη να ασχοληθεί&#8230;(πχ με κρυπτογράφηση των στοιχείων στη βάση και αποκρυπτογράφηση για χρήση στην εφαρμογή κτλπ)</p>
<p>Για το παράδειγμα αυτό έχω δημιουργήσει μια βάση δεδομένων της Μicrosoft Αccess με όνομα USERS ,ένα πίνακα μέσα με όνομα Login και με τα εξής πεδία μέσα στο πίνακα:<br />
<code><br />
ID       (string,primary key)<br />
S_NAME   (string,no duplicates allowed)<br />
S_PASS   (string)</code></p>
<p>Tη παραπάνω βάση την εισάγουμε πχ στο visual studio σαν νέο data source και αυτόματα η εφαρμογή δημιουργεί ένα dataset(με το πίνακα login μέσα) και ένα table adapter με ονόματα<br />
&#8220;USERSDataSet&#8221;<br />
&#8220;LoginTableAdapter&#8221;</p>
<p>κατόπιν αυτού δημιουργούμε ένα query στο USERSDataSet με όνομα πχ. fillBy και κώδικα SQL<br />
<code>SELECT S_NAME,S_PASS,ID FROM login where S_Name=?</code><br />
σημειώνεται οτι όπου ? = παράμετρος που τη δίνουμε κατά την εκτέλεση του query.</p>
<p>Ας πάμε τώρα και στη δημιουργία του function.<br />
Δηλώνουμε νέο function που θα επιστρέφει ακέραιο<br />
με τιμές 0,1,2 αντίστοιχα για λάθος user,λάθος pass , σωστά όλα.</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"> <span style="color: #E56717; font-weight: bold;">Private</span> <span style="color: #E56717; font-weight: bold;">Function</span> login(<span style="color: #151B8D; font-weight: bold;">ByVal</span> user <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>, <span style="color: #151B8D; font-weight: bold;">ByVal</span> pass <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>) <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">Integer</span>
&nbsp;
....κώδικας για το login....
&nbsp;
<span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Function</span></pre></div></div>

<p>κώδικας login:<br />
γράφουμε κώδικα μέσα σε try πάντα για να πιάνουμε τυχόν σφάλματα.</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;">   Try
            <span style="color: #151B8D; font-weight: bold;">Dim</span> temp <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span> = <span style="color: #800000;">&quot;&quot;</span>
&nbsp;
            <span style="color: #008000;">'νέο dataset , αντίγραφο του ενός που δημιουργείται αυτόματα 
</span>            <span style="color: #008000;">'απο το visual studio κατα την εισαγωγή της βάσης 
</span>            <span style="color: #008000;">'ή αυτού που δημιουργήσαμε μόνοι μας (αν τυχόν)
</span>            <span style="color: #151B8D; font-weight: bold;">Dim</span> dr <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #E56717; font-weight: bold;">New</span> USERSDataSet.LoginDataTable
&nbsp;
            <span style="color: #008000;">'Δημιουργούμε ένα αντίγραφο για το logintableadapter μας
</span>            <span style="color: #151B8D; font-weight: bold;">Dim</span> logTable <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #E56717; font-weight: bold;">New</span> USERSDataSetTableAdapters.LoginTableAdapter
&nbsp;
            <span style="color: #008000;">''τρέχουμε' το ακόλουθο SQL query με σκοπό να μας επιστρέψει τις εγγραφές με το username που δώσαμε
</span>            <span style="color: #008000;">' και με αυτό γεμίζουμε το dr dataset.,η τιμή user είναι η τιμή που δίνουμε σαν argument.
</span>            <span style="color: #008000;">'      SELECT S_NAME,S_PASS,ID FROM T_USERS where S_Name=?
</span>
            logTable.FillBy(dr, user)
&nbsp;
            <span style="color: #008000;">'αν δε μας επιστρέψει εγγραφές τότε το user name είναι λάθος και θέλουμε το function να επιστρέψει τη τιμή 0.
</span>            <span style="color: #8D38C9; font-weight: bold;">If</span> dr.Rows.Count = 0 <span style="color: #8D38C9; font-weight: bold;">Then</span>
                Return 0 <span style="color: #008000;">' επιστροφή αποτελέσματος
</span>            <span style="color: #8D38C9; font-weight: bold;">Else</span>
                <span style="color: #008000;">'εφόσον username σωστό ελέγχουμε αν η πρώτη εγγραφή, στο column με όνομα S_PASS
</span>                <span style="color: #008000;">' ταιριάζει με το δεδομένο pass που δώσαμε σαν argument.
</span>
                <span style="color: #8D38C9; font-weight: bold;">If</span> pass = dr(0).s_Pass.ToString() <span style="color: #8D38C9; font-weight: bold;">Then</span> <span style="color: #008000;">'έλέγχουμε την ισότητα
</span>                    Return 2 <span style="color: #008000;">'αν σωστό επιστρέφουμε τη τιμή 2 (όλα σωστά)
</span>                <span style="color: #8D38C9; font-weight: bold;">Else</span>
                    Return 1 <span style="color: #008000;">' αλλιώς επιστρέφουμε τη τιμή 1 (λάθος pass)
</span>
                <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #8D38C9; font-weight: bold;">If</span>
            <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #8D38C9; font-weight: bold;">If</span>
        Catch ex <span style="color: #151B8D; font-weight: bold;">As</span> Exception
            MsgBox(ex.Message) <span style="color: #008000;">'αν έχουμε πρόβλημα επιστρέφουμε το σφάλμα σε μήνυμα
</span>
        <span style="color: #8D38C9; font-weight: bold;">End</span> Try</pre></div></div>

<p>Ο παραπάνω κώδικας ουσιαστικά αναζητεί στη βάση μας εγγραφές με το καθορισμένο username.Αν ταιριάζει κάποια εγγραφή τότε ελέγχει το password και εάν και αυτό ταιριάζει τότε μας επιστρέφει το &#8216;οκ&#8217; για το login.</p>
<p>Ένα απλό παράδειγμα για τη χρήση του είναι παρακάτω όπου μας εμφανίζει το αντίστοιχο message box ανάλογα με τη τιμή που θα επιστρέψει το παραπάνω Function.</p>
<p>(Για τη φόρμα έχω χρησιμοποιήσει 2 textbox (txt_user,txt_pass)</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"><span style="color: #E56717; font-weight: bold;">Private</span> <span style="color: #E56717; font-weight: bold;">Sub</span> Button1_Click(<span style="color: #151B8D; font-weight: bold;">ByVal</span> sender <span style="color: #151B8D; font-weight: bold;">As</span> System.<span style="color: #F660AB; font-weight: bold;">Object</span>, <span style="color: #151B8D; font-weight: bold;">ByVal</span> e <span style="color: #151B8D; font-weight: bold;">As</span> System.EventArgs) Handles Button1.Click
&nbsp;
        <span style="color: #8D38C9; font-weight: bold;">Select</span> <span style="color: #8D38C9; font-weight: bold;">Case</span> login(txt_username.Text, txt_pass.Text)
            <span style="color: #8D38C9; font-weight: bold;">Case</span> 0
                MsgBox(<span style="color: #800000;">&quot;Λάθος username&quot;</span>)
            <span style="color: #8D38C9; font-weight: bold;">Case</span> 1
                MsgBox(<span style="color: #800000;">&quot;Σωστό username,λάθος κωδικός&quot;</span>)
            <span style="color: #8D38C9; font-weight: bold;">Case</span> 2
                MsgBox(<span style="color: #800000;">&quot;Περάστε κύριε!&quot;</span>)
        <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #8D38C9; font-weight: bold;">Select</span>
&nbsp;
    <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Sub</span></pre></div></div>

<p>Υ.Γ.: Σίγουρα είναι πολύ &#8216;απλός&#8217; και πρόχειρος τρόπος ,χωρίς πολλά πολλά απο θέμα ασφάλειας και σίγουρα βελτιώνεται ΠΑΡΑ πολύ αλλα δεν είναι εκεί το νόημα!<br />
Παραδείγματα βελτίωσης για όποιον έχει όρεξη είναι</p>
<p>1) Αποθήκευση και άλλων στοιχείων στη βάση όπως παρατηρήσεις,δικαιώματα,ημ/νια γέννησης,συνολικά login κτλπ<br />
τα οποία θα περνάμε στην εφαρμογή κατά τη διάρκεια του login και θα χρησιμοποιούμαι ανάλογα(πχ &#8216;Καλώς ορίσατε κ. Τάσο!&#8221; , όπου &#8216;Τάσο&#8217; όνομα που θα μπορούσε να βρίσκεται στη βάση σαν έξτρα πεδίο)</p>
<p>2)Κρυπτογράφηση των στοιχείων που θα εισάγουμε στη βάση πχ με rot13 , ceasar cephers κai λοιπούς αλγόριθμους ή και κάτι πολύ απλό όπως το παρακάτω που αλλάζει πχ το ΤΑΣΟΣ σε WDÖÒÖ και αποκρυπτογραφείται αντιστρέφοντας το πρόσημο στο &#8221; + 3&#8243;</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"> <span style="color: #E56717; font-weight: bold;">Private</span> <span style="color: #E56717; font-weight: bold;">Function</span> TasosCrypto(<span style="color: #151B8D; font-weight: bold;">ByVal</span> origText <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>) <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>
 <span style="color: #151B8D; font-weight: bold;">Dim</span> temp <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>
        <span style="color: #8D38C9; font-weight: bold;">For</span> i = 0 <span style="color: #8D38C9; font-weight: bold;">To</span> origText.Length - 1
temp = temp &amp; ChrW(Asc(origText(i)) + 3).ToString
 <span style="color: #8D38C9; font-weight: bold;">Next</span>
        Return temp
 <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Function</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/%cf%80%ce%b1%cf%81%ce%ac%ce%b4%ce%b5%ce%b9%ce%b3%ce%bc%ce%b1-login-%ce%bc%ce%b5-%ce%ad%ce%bb%ce%b5%ce%b3%cf%87%ce%bf-%cf%83%ce%b5-%ce%b2%ce%ac%cf%83%ce%b7-%ce%b4%ce%b5%ce%b4%ce%bf%ce%bc%ce%ad%ce%bd/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Εγγραφή και ανάγνωση σε/απο .txt αρχεία (vb.net)</title>
		<link>http://www.ituts.gr/write-read-to-and-from-txt-files-vb-net</link>
		<comments>http://www.ituts.gr/write-read-to-and-from-txt-files-vb-net#comments</comments>
		<pubDate>Wed, 21 Dec 2011 18:46:41 +0000</pubDate>
		<dc:creator>Τάσος</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[streamreader]]></category>
		<category><![CDATA[streamwriter]]></category>
		<category><![CDATA[txt]]></category>
		<category><![CDATA[vb.net]]></category>
		<category><![CDATA[write]]></category>

		<guid isPermaLink="false">http://www.ituts.gr/?p=3131</guid>
		<description><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2011/12/dot-net-195x165.jpg" class="attachment-thumbnail wp-post-image" alt="dot-net" title="dot-net" style="margin-bottom: 15px;" /></div>Σε αυτό το turorial θα μάθουμε πώς μπορούμε να διαβάσουμε/ γράψουμε απο/σε αρχείο .txt χρησιμοποιώντας τη vb.net]]></description>
			<content:encoded><![CDATA[<div><img width="195" height="165" src="http://cdn.ituts.gr/wp-content/uploads/2011/12/dot-net-195x165.jpg" class="attachment-thumbnail wp-post-image" alt="dot-net" title="dot-net" style="margin-bottom: 15px;" /></div><p> Σε αυτό το tutorial θα δείξουμε πώς μπορούμε να χρησιμοποιήσουμε κώδικα για την εγγραφή και ανάγνωση απο αρχεία .txt</p>
<p>Αρχικά θα πρέπει να δηλώσουμε στην αρχή αρχή , πριν τη κλάση μας, τη παρακάτω γραμμή η οποία ουσιαστικά δηλώνει οτι θα εισάγουμε τις κλάσεις που εμπεριέχονται στο System.IO</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"> Imports System.IO</pre></div></div>

<p>Aς ξεκινήσουμε λοιπόν με τη μέθοδο που θα γράφουμε σε αρχείο text! Ουσιαστικά θα δημιουργήσουμε μέθοδο η οποία θέλουμε να δέχεται ώς ορίσματα το path του αρχείου που θα δημιουργήσουμε και το κείμενο που θα γράψουμε.<br />
<strong>Προσοχή</strong> στο θέμα του path! είναι σημαντικό να προσέξουμε την ορθότητα της διευθυνσης για να αποφύγουμε τυχόν σφάλματα.Επίσης θυμηθείτε οτι πρέπει να δώσουμε ΚΑΙ το όνομα του αρχείου που θα δημιουργήσουμε ή θα αντικαταστήσουμε/συνεχίσουμε.ΠΧ: C:\Files\SomeFolder\NewFile.txt όπου NewFile.txt το αρχείο που θα δημιουργηθεί (ή αν ήδη υπάρχει θα αντικατασταθεί / συνεχιστεί ανάλογα με τις &#8216;ρυθμίσεις&#8217; μας όπως θα δούμε παρακάτω.</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;">  <span style="color: #E56717; font-weight: bold;">Public</span> <span style="color: #E56717; font-weight: bold;">Sub</span> txtWrite(<span style="color: #151B8D; font-weight: bold;">ByVal</span> path <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>, <span style="color: #151B8D; font-weight: bold;">ByVal</span> text <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>)
&nbsp;
        Try <span style="color: #008000;">'Τρέχουμε μέσα σε try για να 'πιάσουμε' τυχόν σφάλματα 
</span>
            <span style="color: #008000;">'Δημιουργούμε fileW σαν νεο STREAMWRITER (ανοίκει στη κλαση System.IO) με file path το αντίστοιχο string που δέχεται byval η μέθοδος
</span>            <span style="color: #008000;">'η StreamWriter μπορεί να δεχτεί σαν 2ο argument ένα boolean οσον αφορά το εάν θέλουμε να αντικαταστήσουμε
</span>            <span style="color: #008000;">' τυχόν ήδη υπάρχον αρχείο ή να συνεχίσουμε απο εκεί που τελειώνει.Στο παράδειγμα μας χρησιμοποιώ τη δευτερη περίπτωση.
</span>            <span style="color: #008000;">'ΠΡΟΣΟΧΗ! στο path θα πρέπει να ορίσουμε και το όνομα &amp; το τύπο του νέου αρχείου πχ: C:\TasosFiles\NewFile.txt
</span>
            <span style="color: #151B8D; font-weight: bold;">Dim</span> fileW <span style="color: #151B8D; font-weight: bold;">As</span> StreamWriter = <span style="color: #E56717; font-weight: bold;">New</span> StreamWriter(path, <span style="color: #00C2FF; font-weight: bold;">True</span>)
&nbsp;
&nbsp;
            <span style="color: #008000;">'Γράφουμε το κείμενο που θέλουμε στο αρχείο σαν νέα γραμμή (το οποίο 'περνάμε' στην εντολή μέσω της μεταβλητής 'text' που ζητάμε σαν
</span>            <span style="color: #008000;">' argument στη μέθοδο. Μπορούμε να χρησιμοποιήσουμε και το fileW.Write(text) εάν δε θέλουμε να γράψουμε σε νέα γραμμή
</span>            fileW.WriteLine(text)
&nbsp;
            <span style="color: #008000;">'Κλείνουμε το αρχείο που δημιουργήσαμε
</span>            fileW.<span style="color: #8D38C9; font-weight: bold;">Close</span>()
&nbsp;
        Catch ex <span style="color: #151B8D; font-weight: bold;">As</span> Exception <span style="color: #008000;">'σε περίπτωση σφάλματος θέλουμε να μας εμφανίσει το μήνυμα του σφάλματος σε msgbox
</span>
            MsgBox(ex.Message)
&nbsp;
        <span style="color: #8D38C9; font-weight: bold;">End</span> Try
&nbsp;
 <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Sub</span></pre></div></div>

<p>Τη παραπάνω μέθοδο μπορούμε να τη καλέσουμε συντάσοντας την όπως τα παρακάτω παραδείγματα:</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;">  txtWrite(<span style="color: #800000;">&quot;C:\TasosFiles\NewFile.txt&quot;</span> , <span style="color: #800000;">&quot;Ήταν ενα μικρό καράβιιιι , ήταν ενά μικρό καράβιιιιι&quot;</span>)</pre></div></div>

<p>ή</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"> try 
SomeCode
catch ex <span style="color: #151B8D; font-weight: bold;">as</span> exception
txtWrite(<span style="color: #800000;">&quot;C:\TasosFiles\ErrorLog.txt&quot;</span> , ex.message)
<span style="color: #8D38C9; font-weight: bold;">end</span> try</pre></div></div>

<p>Aς πάμε τώρα και στη μέθοδο με την οποία θα διαβάζουμε απο ένα αρχείο!<br />
Ουσιαστικά θα δημιουργήσουμε ενα function που θα μας επιστρέφει το κείμενο του αρχείου που θα διαβάσουμε &#8230;<br />
Θέλουμε να δέχεται ώς όρισμα path σαν string για να του περνάμε τη διευθυνση του αρχείου μας.<br />
Οπότε θα μοιάζει κάπως έτσι:</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;">   <span style="color: #E56717; font-weight: bold;">Public</span> <span style="color: #E56717; font-weight: bold;">Function</span> txtRead(<span style="color: #151B8D; font-weight: bold;">ByVal</span> path <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>) <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span> <span style="color: #008000;">'Function που επιστρέφει το κείμενο που θα διαβάσουμε απο το αρχείο.Ζητάμε σαν argument το path του αρχείου που θα διαβάσουμε.
</span>
        Try <span style="color: #008000;">'Τρέχουμε μέσα σε try για να 'πιάσουμε' τυχόν σφάλματα 
</span>
            <span style="color: #151B8D; font-weight: bold;">Dim</span> returnStr <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span> <span style="color: #008000;">' Δημιουργούμε μεταβλητή ,τυπου string , που θα 'κρατήσει' το κείμενο που θα διαβάσουμε ώστε να το επιστρέψουμε
</span>
            <span style="color: #151B8D; font-weight: bold;">Dim</span> fileR <span style="color: #151B8D; font-weight: bold;">As</span> StreamReader = <span style="color: #E56717; font-weight: bold;">New</span> StreamReader(path) <span style="color: #008000;">'Δημιουργούμε fileR σαν streamReader (ανοίκει στη κλάση System.IO) με argument το path το οποίο ζητάμε επίσης σαν argument στο function
</span>
            returnStr = fileR.ReadToEnd() <span style="color: #008000;">'Εκτός της μεθόδου ReadToEnd() η οποία διαβάζει ολόκληρο το κείμενο μπορούμε ναχρησιμοποιήσουμε επίσης την Read και την ReadLine αντίστοιχα.
</span>
            fileR.<span style="color: #8D38C9; font-weight: bold;">Close</span>()
&nbsp;
            Return returnStr
&nbsp;
&nbsp;
        Catch ex <span style="color: #151B8D; font-weight: bold;">As</span> Exception <span style="color: #008000;">'σε περίπτωση σφάλματος θέλουμε να μας εμφανίσει το μήνυμα του σφάλματος σε msgbox
</span>
            MsgBox(ex.Message)
&nbsp;
        <span style="color: #8D38C9; font-weight: bold;">End</span> Try
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Function</span></pre></div></div>

<p>αφού τελειώσαμε και με το παραπάνω μπορούμε να το καλέσουμε συντάσσοντας το όπως τo παραδείγμα παρακάτω ή και οπουδήποτε θέλουμε να μας επιστρέψει το κείμενο του αρχείου.</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;">  TextBox1.Text = txtRead(<span style="color: #800000;">&quot;C:\SomeFolder\SomeFile.txt&quot;</span>)</pre></div></div>

<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>παρακάτω ο ολοκληρωμένος κώδικας μιας Demo εφαρμογής που χρησιμοποιεί τις παραπάνω μεθόδους.Θα πρέπει να δημιουργήσετε 2 textbox και 2 buttons.<br />
<strong>-Τextbox1= το &#8216;path&#8217; textbox μας<br />
-Textbox2= το &#8216;text&#8217; textbox μας<br />
-button1 = εγγραφή σε αρχείο<br />
-button2 = ανάγνωση απο αρχείο</strong></p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;">Imports System.IO
&nbsp;
&nbsp;
<span style="color: #E56717; font-weight: bold;">Public</span> Class Form1
&nbsp;
&nbsp;
    <span style="color: #E56717; font-weight: bold;">Private</span> <span style="color: #E56717; font-weight: bold;">Sub</span> Form1_Load(<span style="color: #151B8D; font-weight: bold;">ByVal</span> sender <span style="color: #151B8D; font-weight: bold;">As</span> System.<span style="color: #F660AB; font-weight: bold;">Object</span>, <span style="color: #151B8D; font-weight: bold;">ByVal</span> e <span style="color: #151B8D; font-weight: bold;">As</span> System.EventArgs) Handles MyBase.Load
        TextBox1.Text = My.Application.Info.DirectoryPath &amp; <span style="color: #800000;">&quot;\newFile.txt&quot;</span> <span style="color: #008000;">'Arcικοποίηση του path στο τρέχον path της εφαρμογής μας...
</span>
&nbsp;
&nbsp;
    <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Sub</span>
    <span style="color: #E56717; font-weight: bold;">Public</span> <span style="color: #E56717; font-weight: bold;">Function</span> txtRead(<span style="color: #151B8D; font-weight: bold;">ByVal</span> path <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>) <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span> <span style="color: #008000;">'Function που επιστρέφει το κείμενο που θα διαβάσουμε απο το αρχείο.Ζητάμε σαν argument το path του αρχείου που θα διαβάσουμε.
</span>
        Try <span style="color: #008000;">'Τρέχουμε μέσα σε try για να 'πιάσουμε' τυχόν σφάλματα 
</span>
            <span style="color: #151B8D; font-weight: bold;">Dim</span> returnStr <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span> <span style="color: #008000;">' Δημιουργούμε μεταβλητή ,τυπου string , που θα 'κρατήσει' το κείμενο που θα διαβάσουμε ώστε να το επιστρέψουμε
</span>
            <span style="color: #151B8D; font-weight: bold;">Dim</span> fileR <span style="color: #151B8D; font-weight: bold;">As</span> StreamReader = <span style="color: #E56717; font-weight: bold;">New</span> StreamReader(path) <span style="color: #008000;">'Δημιουργούμε fileR σαν streamReader (ανοίκει στη κλάση System.IO) με argument το path το οποίο ζητάμε επίσης σαν argument στο function
</span>
            returnStr = fileR.ReadToEnd() <span style="color: #008000;">'Εκτός της μεθόδου ReadToEnd() η οποία διαβάζει ολόκληρο το κείμενο μπορούμε ναχρησιμοποιήσουμε επίσης την Read και την ReadLine αντίστοιχα.
</span>
            fileR.<span style="color: #8D38C9; font-weight: bold;">Close</span>()
&nbsp;
            Return returnStr
&nbsp;
&nbsp;
        Catch ex <span style="color: #151B8D; font-weight: bold;">As</span> Exception <span style="color: #008000;">'σε περίπτωση σφάλματος θέλουμε να μας εμφανίσει το μήνυμα του σφάλματος σε msgbox
</span>
            MsgBox(ex.Message)
&nbsp;
        <span style="color: #8D38C9; font-weight: bold;">End</span> Try
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Function</span>
&nbsp;
&nbsp;
    <span style="color: #E56717; font-weight: bold;">Public</span> <span style="color: #E56717; font-weight: bold;">Sub</span> txtWrite(<span style="color: #151B8D; font-weight: bold;">ByVal</span> path <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>, <span style="color: #151B8D; font-weight: bold;">ByVal</span> text <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">String</span>)
&nbsp;
        Try <span style="color: #008000;">'Τρέχουμε μέσα σε try για να 'πιάσουμε' τυχόν σφάλματα 
</span>
            <span style="color: #008000;">'Δημιουργούμε fileW σαν νεο STREAMWRITER (ανοίκει στη κλαση System.IO) με file path το αντίστοιχο string που δέχεται byval η μέθοδος
</span>            <span style="color: #008000;">'η StreamWriter μπορεί να δεχτεί σαν 2ο argument ένα boolean οσον αφορά το εάν θέλουμε να αντικαταστήσουμε
</span>            <span style="color: #008000;">' τυχόν ήδη υπάρχον αρχείο ή να συνεχίσουμε απο εκεί που τελειώνει.Στο παράδειγμα μας χρησιμοποιώ τη δευτερη περίπτωση.
</span>            <span style="color: #008000;">'ΠΡΟΣΟΧΗ! στο path θα πρέπει να ορίσουμε και το όνομα &amp; το τύπο του νέου αρχείου πχ: C:\TasosFiles\NewFile.txt
</span>
            <span style="color: #151B8D; font-weight: bold;">Dim</span> fileW <span style="color: #151B8D; font-weight: bold;">As</span> StreamWriter = <span style="color: #E56717; font-weight: bold;">New</span> StreamWriter(path, <span style="color: #00C2FF; font-weight: bold;">True</span>)
&nbsp;
&nbsp;
            <span style="color: #008000;">'Γράφουμε το κείμενο που θέλουμε στο αρχείο σαν νέα γραμμή (το οποίο 'περνάμε' στην εντολή μέσω της μεταβλητής 'text' που ζητάμε σαν
</span>            <span style="color: #008000;">' argument στη μέθοδο. Μπορούμε να χρησιμοποιήσουμε και το fileW.Write(text) εάν δε θέλουμε να γράψουμε σε νέα γραμμή
</span>            fileW.WriteLine(text)
&nbsp;
            <span style="color: #008000;">'Κλείνουμε το αρχείο που δημιουργήσαμε
</span>            fileW.<span style="color: #8D38C9; font-weight: bold;">Close</span>()
&nbsp;
        Catch ex <span style="color: #151B8D; font-weight: bold;">As</span> Exception <span style="color: #008000;">'σε περίπτωση σφάλματος θέλουμε να μας εμφανίσει το μήνυμα του σφάλματος σε msgbox
</span>
            MsgBox(ex.Message)
&nbsp;
        <span style="color: #8D38C9; font-weight: bold;">End</span> Try
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Sub</span>
    <span style="color: #E56717; font-weight: bold;">Private</span> <span style="color: #E56717; font-weight: bold;">Sub</span> Button1_Click(<span style="color: #151B8D; font-weight: bold;">ByVal</span> sender <span style="color: #151B8D; font-weight: bold;">As</span> System.<span style="color: #F660AB; font-weight: bold;">Object</span>, <span style="color: #151B8D; font-weight: bold;">ByVal</span> e <span style="color: #151B8D; font-weight: bold;">As</span> System.EventArgs) Handles Button1.Click
&nbsp;
        txtWrite(TextBox1.Text, TextBox2.Text)
&nbsp;
&nbsp;
    <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Sub</span>
&nbsp;
    <span style="color: #E56717; font-weight: bold;">Private</span> <span style="color: #E56717; font-weight: bold;">Sub</span> Button2_Click(<span style="color: #151B8D; font-weight: bold;">ByVal</span> sender <span style="color: #151B8D; font-weight: bold;">As</span> System.<span style="color: #F660AB; font-weight: bold;">Object</span>, <span style="color: #151B8D; font-weight: bold;">ByVal</span> e <span style="color: #151B8D; font-weight: bold;">As</span> System.EventArgs) Handles Button2.Click
&nbsp;
        TextBox2.Text = txtRead(TextBox1.Text)
&nbsp;
    <span style="color: #8D38C9; font-weight: bold;">End</span> <span style="color: #E56717; font-weight: bold;">Sub</span>
<span style="color: #8D38C9; font-weight: bold;">End</span> Class</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.ituts.gr/write-read-to-and-from-txt-files-vb-net/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using apc
Database Caching 5/132 queries in 0.016 seconds using apc
Object Caching 5213/5590 objects using apc
Content Delivery Network via cdn.ituts.gr

Served from: 127.0.0.1 @ 2012-02-08 02:15:35 -->
