Γεωγραφικά δεδομένα για την ανάπτυξη εφαρμογής για τους χρήστες του κοινωνικού δικτύου

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Γεωγραφικά δεδομένα για την ανάπτυξη εφαρμογής για τους χρήστες του κοινωνικού δικτύου"

Transcript

1 ΑΤΕΙ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ Γεωγραφικά δεδομένα για την ανάπτυξη εφαρμογής για τους χρήστες του κοινωνικού δικτύου ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Haj Husien Maan (ΑΜ: T-1331) Παπαγιάννης Αναστάσιος (ΑΜ: Τ-1953) Επιβλέπων: <Βλάχος Βασίλειος> ΛΑΡΙΣΑ 2014

2

3 «Εμείς οι Haj Husien Maan και Παπαγιάννης Αναστάσιος, δηλώνουμε υπεύθυνα ότι η παρούσα Πτυχιακή Εργασία με τίτλο " Γεωγραφικά δεδομένα για την ανάπτυξη εφαρμογής για τους χρήστες του κοινωνικού δικτύου" είναι δική μας και βεβαιώνουμε ότι: Σε όσες περιπτώσεις έχουμε συμβουλευτεί δημοσιευμένη εργασία τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Σε όσες περιπτώσεις μεταφέρουμε λόγια τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Με εξαίρεση τέτοιες περιπτώσεις, το υπόλοιπο κείμενο της πτυχιακής αποτελεί δική μας δουλειά. Αναφέρουμε ρητά όλες τις πηγές βοήθειας που χρησιμοποιήσαμε. Σε περιπτώσεις που τμήματα της παρούσας πτυχιακής έγιναν από κοινού με τρίτους, α- ναφέρουμε ρητά ποια είναι η δική μας συνεισφορά και ποια των τρίτων. Γνωρίζουμε πως η λογοκλοπή αποτελεί σοβαρότατο παράπτωμα και είμαστε ενήμεροι για την επέλευση των νομίμων συνεπειών» Haj Husien Maan Παπαγιάννης Αναστάσιος

4 Εγκρίθηκε από την τριμελή εξεταστική επιτροπή Τόπος: Ημερομηνία: ΕΠΙΤΡΟΠΗ ΑΞΙΟΛΟΓΗΣΗΣ

5 Περίληψη Καθημερινά οι χρήστες στο facebook καταχωρούν στην προσωπική τους σελίδα πολλές και διάφορες πληροφορίες. Ουσιαστικά οι χρήστες μοιράζουν αυτές τις πληροφορίες χωρίς να αντιληφθούν την αξία ή τον κίνδυνο τους. Ο στόχος της εφαρμογής που αναπτύχθηκε για την ολοκλήρωση αυτής της πτυχιακής είναι να διαβάζει και να χρησιμοποιεί όλα τα δεδομένα που αφορούν τις τοποθεσίες από τις οποίες έγιναν κοινοποιήσεις, ενημερώσεις και μέρη που οι χρήστες έχουν κοινοποιήσει ότι επισκέφτηκαν. Με την χρήση αυτών των πληροφοριών και της εφαρμογής μπορούν οι χρήστες να έχουν μια γενική άποψη για μέρη που οι φίλοι τους επισκέπτονται σε καθημερινή, εβδομαδιαία και μηνιαία βάση. Έτσι μπορούν να προβλέψουν κατά κάποιο τρόπο που θα βρίσκονται οι φίλοι τους. -1-

6

7 Ευχαριστίες Από αυτή τη θέση, θα θέλαμε να ευχαριστήσουμε τον υπεύθυνο καθηγητή της πτυχιακής μας εργασίας Ph.D Βασίλειο Βλάχo, για την εμπιστοσύνη και την άψογη συνεργασία που είχαμε, τον Ιωάννη Τσίνα για την πολύτιμη βοήθεια που μας προσέφερε ως φιλόλογος, για την ορθογραφική και συντακτική διόρθωση και επιμέλεια των κειμένων, την Μαρία Παυλοπούλου για την πολύτιμη συμβολή της στην σύνταξη και την μετάφραση των κειμένων και τους Σοφία Παπαπέτρου, Έλενα Γουναρά και Χρυσοβαλάντη Αραμπατζή για της εποικοδομητικές συζητήσεις και την υπομονή τους. Τέλος θα θέλαμε να ευχαριστήσουμε τους γονείς μας και τα αδέρφια μας, για την υποστήριξη τους καθ' όλη τη φοιτητική μας πορεία. Haj Husien Maan Παπαγιάννης Αναστάσιος Λάρισα 24/05/

8

9 Περιεχόμενα ΠΕΡΙΛΗΨΗ... 1 ΕΥΧΑΡΙΣΤΙΕΣ... 3 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΚΟΙΝΩΝΙΚΑ ΔΙΚΤΥΑ ΗΛΕΚΤΡΟΝΙΚΟΣ ΧΑΡΤΗΣ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ PHP JAVASCRIPT MYSQL ΚΑΙ PHPMYADMIN HTML5 ΚΑΙ CSS ΔΥΝΑΜΙΚΕΣ ΙΣΤΟΣΕΛΙΔΕΣ SSL ΚΑΙ HTTPS CPANEL ΣΧΕΔΙΑΣΜΟΣ ΕΦΑΡΜΟΓΗΣ ΈΡΕΥΝΑ ΓΙΑ ΤΗΝ ΔΗΜΙΟΥΡΓΙΑ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΣΥΝΔΕΣΗ ΚΑΙ ΜΕΤΑΦΟΡΑ ΔΕΔΟΜΕΝΩΝ ΜΕΤΑΞΥ ΕΦΑΡΜΟΓΗΣ, FACEBOOK ΚΑΙ GOOGLE MAPS ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΔΗΜΙΟΥΡΓΙΑ ΚΑΙ ΡΥΘΜΙΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΔΗΜΙΟΥΡΓΙΑ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑ ΚΩΔΙΚΑ Δημιουργία εφαρμογής Κώδικας λειτουργίας ΣΥΜΠΕΡΑΣΜΑ

10 ΒΙΒΛΙΟΓΡΑΦΙΑ ΠΑΡΑΡΤΗΜΑ

11 1 Εισαγωγή Στα μέσα της δεκαετίας του '90 η βιομηχανία του web έγινε μια από τις πιο γρήγορα εξελισσόμενες. Εκείνη την περίοδο στην Αμερική υπήρχαν λιγότερες από χίλιες εταιρείες που ειδικεύονταν στην ανάπτυξη του web. Αργότερα στα μέσα της δεκαετίας του '00 ο αριθμός των ανάλογων εταιρειών έφτασε να είναι πάνω από μόνο στην Αμερική. Το '90 το κόστος δημιουργίας και φιλοξενίας μιας απλής ιστοσελίδας ανέρχονταν σε χιλιάδες δολάρια, ενώ τώρα έχει ελαχιστοποιηθεί. Επιπλέον ένας απλός χρήστης μπορεί να δημιουργήσει δωρεάν μια δικιά του ιστοσελίδα με την χρήση πολλών και απλών εργαλείων σαν αυτά που προσφέρονται από την Google. Η πιο μικρή εταιρεία α- νάπτυξης ιστοσελίδων μπορεί να μπει στην αγορά και να προσφέρει τις υπηρεσίες της σε μικρές εταιρείες και άτομα. Εδώ αντικατοπτρίζεται η ταχύτητα της εξέλιξης της βιομηχανίας του web. Υπάρχει ακόμα κόστος το οποίο επιβαρύνεται ο χρήστης, όμως υπάρχουν και επιλογές δωρεάν εργαλείων και ανοιχτού λογισμικού π.χ. localhost LAMP ( MySQL, PHP, Apache που λειτουργούν σε περιβάλλον Linux). Με αυτόν τον τρόπο και οι πιο απλοί άνθρωποι μπορούν να συμμετέχουν στην ανάπτυξη web. Με την πάροδο του χρόνου αναπτύχθηκαν πολλά λογισμικά για την σχεδίαση ιστοσελίδας, π.χ. Dreamweaver, και με την χρήση τους ο χρήστης έχει την δυνατότητα να δημιουργήσει γρήγορα και με ελάχιστες γνώσεις δική του ιστοσελίδα. Αυτό που απαιτείται είναι να υπάρχουν γνώσεις των βασικών κανονισμών γλωσσών προγραμματισμού, όπως HTML ή οποιαδήποτε άλλης γλώσσας, που σχετίζεται με αυτόν τον τομέα. Οι γνώσεις μπορούν να αποκτηθούν πολύ εύκολα και γρήγορα από tutorials, βιβλία και εξειδικευμένα on line μαθήματα. Η γρήγορη ανάπτυξη του LAMP και διαφόρων άλλων τεχνολογιών εφαρμόζεται ευρέως στην δημιουργία νέων διαδικτυακών εφαρμογών. Η ταχεία εξέλιξη της ψηφιακής αγοράς αποτελεί ένα ισχυρό παράδειγμα της ανάπτυξης των διαδικτυακών εφαρμογών, όπως επίσης και των αλλαγών στην λειτουργία των ιστοσελίδων. Η εξέλιξη του web δεν έμεινε μόνο στην δημιουργία ιστοσελίδων και -7-

12 εφαρμογών για εμπορικούς λόγους αλλά οδήγησε και στην δημιουργία των social media (Facebook, Twitter) που χρησιμοποιούνται από εκατομμύρια χρήστες σ' όλο τον κόσμο δωρεάν. Όσον αφορά, τώρα, στην συγκεκριμένη εργασία, αυτή έχει δομηθεί ως εξής: Στο 2 ο κεφάλαιο αναπτύσσεται το θεωρητικό υπόβαθρο που χρησιμοποιήθηκε για την ολοκλήρωση της εργασίας. Στο 3 ο κεφάλαιο γίνεται μια παρουσίαση της έρευνας που έγινε για την δημιουργία εφαρμογής facebook και η μεταφορά δεδομένων. Στο 4 ο κεφάλαιο παρουσιάζονται αναλυτικά τα βήματα δημιουργίας, προγραμματισμού της εφαρμογής και της λειτουργίας της. Στο 5 ο κεφάλαιο αναφέρονται τα συμπεράσματα της εργασίας. Τέλος, στο παράρτημα παρατίθενται οι κώδικες της εφαρμογής. -8-

13 2 Θεωρητικό Υπόβαθρο Σε αυτό το κεφάλαιο γίνεται αναφορά των εξής εννοιών: κοινωνικά δίκτυα, ηλεκτρονικός χάρτης και διαδικτυακές εφαρμογές. Επίσης αναλύεται η χρήση των εργαλείων που χρησιμοποιήθηκαν για να υλοποιηθεί η εφαρμογή και οι γλώσσες προγραμματισμού. 2.1 Κοινωνικά δίκτυα Με τον όρο κοινωνικό δίκτυο εννοείται μια κοινωνική δομή που αποτελείται από ένα σύνολο παραγόντων όπως άτομα ή οργανισμούς, οπού ο χρήστης μπορεί να έχει μια σειρά από βασικές και δωρεάν υπηρεσίες. Μια από αυτές είναι η διαμόρφωση προφίλ, δηλαδή προσθέτει φίλους (είτε είναι γνωστοί του είτε κοντινοί του άνθρωποι) δημιουργώντας ένα δίκτυο ανθρώπων προκειμένου να επικοινωνεί πιο εύκολα μαζί τους. Επίσης, άλλες βασικές υπηρεσίες που παρέχει είναι το ανέβασμα εικόνων και βίντεο, ο σχολιασμός σε ενέργειες που γίνονται από άλλα μελή του δικτύου ή μιας ομάδας, η ά- μεση ανταλλαγή μηνυμάτων και πολλά άλλα. Η μορφή ενός κοινωνικού δικτύου μπορεί να προσδιορίσει το μέγεθος της ωφέλειας ενός μέλους του. Τα μικρά σε έκταση και κλειστά κοινωνικά δίκτυα θεωρούνται λιγότερο ωφέλιμα για τα μελή τους σε σχέση με τα πιο ανοικτά δίκτυα με χαλαρούς δεσμούς μεταξύ των μελών τους στα οποία είναι πιο εύκολη η διακίνηση ιδεών και η δημιουργία ευκαιριών (π.χ. εργασίας) στα άτομα που τα ακολουθούν. Εν τέλει, όταν σε ένα ευρύ δίκτυο δημιουργούνται μεγάλες ομάδες με έστω χαλαρούς δεσμούς υπάρχει μεγαλύτερη πιθανότητα διακίνησης πλήθους πληροφοριών από ένα μικρό σε εύρος δίκτυο μεταξύ μιας μικρής ομάδας φίλων. -9-

14 Το πιο δημοφιλές κοινωνικό δίκτυο παγκοσμίως σήμερα είναι το Facebook, το οποίο κατάφερε να προσελκύσει εκατομμύρια χρήστες. Δημιούργησε μια μεγάλη ψηφιακή αγορά που τράβηξε το ενδιαφέρον πολλών προγραμματιστών και εταιρειών προγραμματισμού για τη δημιουργία εφαρμογών οι οποίες χρησιμοποιούν κάποιες από τις λειτουργίες του, π.χ. τη λειτουργία σύνδεση χρήστη ( login Facebook ), για την προσθήκη καινούργιων μελών στη βάση δεδομένων της ιστοσελίδας τους ή της εφαρμογής τους, παίρνοντας τα στοιχεία του χρήστη (όνομα, ηλεκτρονικό ταχυδρομείο, ηλικία... κλπ ) από την βάση δεδομένων του Facebook ή για την ταυτοποίηση ήδη υπαρχόντων χρηστών. Έτσι το Facebook άρχισε να προσφέρει δωρεάν εργαλεία για ανάπτυξη εφαρμογών στους προγραμματιστές και στις εταιρίες πληροφορικής τα οποία υποστηρίζουν διάφορες πλατφόρμες και γλώσσες προγραμματισμού. Από την στιγμή που οι προγραμματιστές έχουν την δυνατότητα να αντλούν δεδομένα από τους χρήστες του Facebook άρχισε να τίθεται το θέμα ασφάλειας και προστασίας των χρηστών από τα διάφορα κακόβουλα λογισμικά. Με αφορμή αυτό το γεγονός το Facebook κατά κάποιο τρόπο ανάγκασε τους προγραμματιστές να αναφέρουν ποιά δεδομένα θα παίρνουν, με ποιον τρόπο θα τα χρησιμοποιούν, πρωταρχικά όμως να παίρνουν έγκριση από τον κάθε χρήστη. Στις 30 Απριλίου του 2014 το Facebook για να προσφέρει περισσότερη ασφάλεια και προστασία στα προσωπικά δεδομένα του κάθε χρήστη μείωσε ή κατάργησε κάποιες λειτουργίες που επέτρεπαν την πρόσβαση σε αυτά τα δεδομένα π.χ. οι καινούργιες ε- φαρμογές που δημιουργήθηκαν μετά τις 30\04\2014 δεν μπορούν να διαβάσουν προσωπικά δεδομένα των ''φίλων'' του χρήστη της εφαρμογής. Όσον αφορά τις παλιές ε- φαρμογές που είναι σε λειτουργία (πριν τις 30/04) δόθηκε διορία ενός έτους στους προγραμματιστές ώστε να αναβαθμίσουν τον κώδικα των εφαρμογών τους σύμφωνα με την νέα πολιτική, επιτρέποντάς τους έτσι να λειτουργούν γι αυτό το χρονικό διάστημα με την προηγούμενη. -10-

15 2.2 Ηλεκτρονικός χάρτης Με την εξέλιξη της τεχνολογίας και με την εισαγωγή της πληροφορικής σε διάφορες επιστήμες γεννήθηκε η ανάγκη να γίνει η ψηφιοποίηση των γεωγραφικών χαρτών. Πολλές μεγάλες εταιρίες ξεκίνησαν να δημιουργούν εφαρμογές με ηλεκτρονικούς χάρτες όπως π.χ. η Google δημιούργησε το ευρέως γνωστό πρόγραμμα google maps. Ό- ταν πρωτοδημιουργήθηκαν οι ηλεκτρονικοί χάρτες διατέθηκαν κυρίως σε επιστημονικές εφαρμογές και σε εφαρμογές για τον στρατό, όμως με την πάροδο του χρόνου άρχισε η χρήση τους να εξαπλώνεται διευκολύνοντας την καθημερινότητα των ανθρώπων π.χ. οι οδηγοί οχημάτων με τη χρήση GPS μπορούν να βρουν τον προορισμό τους πολύ γρήγορα και εύκολα. Με την αναβάθμιση του διαδικτύου οι ιστοσελίδες των εταιρειών άρχισαν να χρησιμοποιούν ηλεκτρονικούς χάρτες για να δείξουν την τοποθεσία της ε- κάστοτε εταιρίας. Με αυτόν τον τρόπο τα κοινωνικά δίκτυα παρουσίασαν μεγάλο ενδιαφέρον για την χρησιμοποίηση των ηλεκτρονικών χαρτών ώστε να δώσουν στους χρήστες τους την δυνατότητα να μοιραστούν με τους φίλους τους το μέρος όπου βρίσκονται ή να προβάλουν τοποθεσίες και μέρη στα οποία θέλουν να πάνε ή απλά τους αρέσουν και θέλουν να τα διαφημίσουν. Σε αυτόν τον τομέα οι καλύτεροι ηλεκτρονικοί χάρτες που χρησιμοποιούνται από τα κοινωνικά δίκτυα είναι οι google maps και bing. Για να υλοποιηθεί η συγκεκριμένη εργασία έγινε η χρήση της υπηρεσίας google maps που προσφέρεται δωρεάν από την εταιρία Google. -11-

16 2.3 Διαδικτυακές Εφαρμογές Η διαδικτυακή εφαρμογή είναι λογισμικό που εκτελείται από προγράμματα περιήγησης χρησιμοποιώντας γλώσσες προγραμματισμού, όπως JavaScript, HTML, CSS. Σε παλαιότερα μοντέλα υπολογιστών π.χ. σε client-server, το φορτίο για την εφαρμογή μοιραζόταν μεταξύ του κώδικα που προερχόταν από τον διακομιστή και τον κώδικα που ήταν εγκατεστημένος σε κάθε πελάτη σε τοπικό επίπεδο. Μια αναβάθμιση στον κώδικα του διακομιστή τυπικά απαιτεί επίσης μια αναβάθμιση του κώδικα του πελάτη και εγκατάσταση σε κάθε σταθμό εργασίας του χρήστη. Έτσι όμως υπάρχει μεγάλο κόστος τεχνικής υποστήριξης. Σε αντίθεση με τα παλαιά μοντέλα οι διαδικτυακές εφαρμογές είναι γραμμένες σε γλώσσες όπως HTML και JavaScript, οι οποίες υποστηρίζονται από μια ποικιλία προγραμμάτων περιήγησης. Κάθε φορά που ο πελάτης επισκέπτεται ιστοσελίδες χρησιμοποιώντας τυποποιημένες διαδικασίες όπως το HTTP γίνονται αυτόματα ενημερώσεις. Στόχος των περισσότερων προγραμματιστών έχουν γίνει σήμερα οι διαδικτυακές εφαρμογές οι οποίες βοηθούν τόσο τους αρχάριους όσο και τους επαγγελματίες χρήστες, παρέχοντάς τους interface αντίστοιχα των δυνατοτήτων τους. Επίσης είναι διαθέσιμες με τεχνικά ανώτερη και γρήγορη σύνδεση στο διαδίκτυο και μπορούν όλοι να έ- χουν πρόσβαση ανά πάσα στιγμή και από οποιοδήποτε μέρος. Με αυτόν τον τρόπο λοιπόν, οι επιδόσεις των περισσότερων διαδικτυακών εφαρμογών άρχισαν να βελτιώνονται ώστε παρέχουν άριστες υπηρεσίες. Ενώ οι περισσότερες διαδικτυακές εφαρμογές είναι δωρεάν και χρειάζεται μόνο η σύνδεση σ' αυτές, ορισμένες εταιρίες προσφέρουν πιο εξεζητημένες διαδικτυακές εφαρμογές, με μηνιαία συνήθως συνδρομή, οι οποίες έχουν την δυνατότητα να τρέξουν από οποιαδήποτε συσκευή. Ορισμένες από αυτές είναι εφαρμογές λογισμικού για επαγγελματίες και ορισμένες για επεξεργασία εικόνας. -12-

17 Διαδικτυακές εφαρμογές Κυρίως δωρεάν. Ένας μικρός αριθμός από αυτές είναι επί πληρωμή. Συνήθως μπορεί να είναι προσβάσιμη εύκολα από οποιαδήποτε συσκευή. Δεν χρειάζεται να ενημερωθούν τα εργαλεία, όλες οι ενημερώσεις των διαδικτυακών εφαρμογών είναι διαθέσιμες στον ίδιο σύνδεσμο. Η ανάπτυξη τέτοιων εφαρμογών δεν χρειάζεται μεγάλη εμπειρία, δεδομένου ότι δεν απαιτεί τεράστια χρηματικά ποσά Λογισμικά ηλεκτρονικών υπολογιστών Οι περισσότεροι δεν είναι δωρεάν και οι δωρεάν εφαρμογές συχνά έχουν προβλήματα ή δεν καταλήγουν να ικανοποιούν αρκετά τον χρήστη σε σύγκριση με εκείνους που πλήρωσαν το τίμημα. Συνήθως πρέπει να εγκατασταθεί στη συσκευή που χρησιμοποιείται για να είναι σε θέση να υπάρχει πρόσβαση. Θα πρέπει να γίνει εγκατάσταση των ενημερώσεων και στις περισσότερες περιπτώσεις οι ενημερώσεις δεν είναι δωρεάν. Απαιτούν από τις εταιρείες να αναπτύξουν ισχυρά προγράμματα και θα πρέπει να πληρώσουν τεράστια ποσά, έτσι ώστε να γίνει η διάδοση των προγραμμάτων. -13-

18 2.4 PHP Η PHP είναι μια γλώσσα προγραμματισμού που αναπτύχθηκε από μια ομάδα εθελοντών υπό την άδεια PHP και σχεδιάστηκε για την δημιουργία διαδικτυακών εφαρμογών με δυναμικό περιεχόμενο και για την παραγωγή αυτόνομων προγραμμάτων. Υποστηρίζει αντικειμενοστραφή προγραμματισμό και οι εντολές που χρησιμοποιούνται για την ανάπτυξη κώδικα είναι παρόμοιες με αυτές της γλώσσας C. Επίσης λειτουργεί σε πολλαπλά λειτουργικά συστήματα όπως το Linux και τα Windows. Ο κώδικας PHP εκτελείται από τον διακομιστή σε πραγματικό χρόνο και το τελικό περιεχόμενο στέλνεται στον χρήστη σε μορφή κώδικα HTML. 2.5 JavaScript Η JavaScript είναι διερμηνευμένη γλώσσα προγραμματισμού για ηλεκτρονικούς υπολογιστές. Αναπτύχθηκε από την Netscape και από την Sun Microsystems και αρχικά αποτέλεσε μέρος της υλοποίησης των φυλλομετρητών ιστού, ώστε τα σενάρια από την πλευρά του πελάτη να μπορούν να επικοινωνούν με του χρήστη, να ανταλλάσσουν δεδομένα και να αλλάζουν το περιεχόμενο του εγγράφου που εμφανίζεται. Η JavaScript διαφέρει από την γλώσσα Java της εταιρίας Sun Microsystems και η ομοιότητα στο ό- νομα δεν συνεπάγεται σε καμία περίπτωση ομοιότητα των δύο γλωσσών. Χρησιμοποιείται για την δημιουργία δυναμικών ιστοσελίδων και σε εφαρμογές εκτός ιστοσελίδων για παράδειγμα στα έγγραφα PDF στους εξειδικευμένους φυλλομετρητές και στις μικρές εφαρμογές της επιφάνειας εργασίας. Η εκτέλεση των κωδικών JavaScript γίνεται με δύο τρόπους: Στον χρήστη φορτώνεται ο JavaScript κώδικας μέσω HTML ιστοσελίδας στο πρόγραμμα πλοήγησης και ύστερα γίνεται η εκτέλεση των εντολών. Το μειονέκτημα αυτού του τρόπου είναι η αργή φόρτωση της ιστοσελίδας για πρώτη φορά. Το πλεονέκτημα είναι ότι στην συνέχεια η ταχύτητα της εκτέλεσης εντολών είναι γρήγορη. Στο διακομιστή αναγκάζει το πρόγραμμα πλοήγησης να συνδεθεί με αυτόν για να εκτελεσθούν οι εργασίες και έπειτα η αποστολή των αποτελεσμάτων -14-

19 στον χρήστη. Το πλεονέκτημα αυτού του τρόπου είναι η γρήγορη φόρτωση της σελίδας από την πρώτη επίσκεψη. Το μειονέκτημα είναι ότι η εκτέλεση των εντολών είναι αργή εξαιτίας της σύνδεσης πολλών χρηστών με το διακομιστή. Η γλώσσα JavaScript έχει καθιερωθεί να λειτουργεί εξ ολοκλήρου μέσω του προγράμματος περιήγησης, έτσι ώστε να μην μπορεί να χρησιμοποιηθεί για την παραγωγή προγραμμάτων που τρέχουν μόνα τους όπως το δίκτυο των άλλων γλωσσών π.χ. HTML. Με την πρόσφατη κυκλοφορία των Windows 8 οι προγραμματιστές μπορούν να φτιάχνουν εφαρμογές Metro Style Apps με JavaScript και HTML5 και εκτελούνται μέσω WinRT interface όχι μέσω προγράμματος πλοήγησης. Αυτές οι εφαρμογές λειτουργούν σαν Standalone εφαρμογές στο λειτουργικό σύστημα Windows MySQL και phpmyadmin Η MySQL είναι ένα σύστημα διαχείρισης βάσης δεδομένων και αποτελεί προϊόν ανοιχτού λογισμικού. Συνήθως χρησιμοποιείται από έργα ανοιχτού λογισμικού που α- παιτούν σύστημα διαχείρισης βάσεων δεδομένων. Παράδειγμα τέτοιων έργων αποτελεί η WorldPress, PHP όπως και πολλές ιστοσελίδες π.χ. η Wikipedia, η Google search και το Facebook. Λειτουργεί σε διάφορες πλατφόρμες όπως το IBM ALL X, FreeDSD, Linux και Mac OS. Επιπλέον πολλές γλώσσες προγραμματισμού προσφέρουν βιβλιοθήκες για δημιουργία και διαχείριση των βάσεων δεδομένων MySQL. Η phpmyadmin είναι ένα εργαλείο ανοιχτού λογισμικού που επιτρέπει στους διαχειριστές του συστήματος να έχουν ελεύθερη πρόσβαση για την δημιουργία και διαχείριση των βάσεων δεδομένων MySQL στο διαδίκτυο. 2.7 HTML5 και CSS3 Η HTML5 είναι τρέχουσα έκδοση ης γλώσσας HTML. Σε αυτήν την έκδοση προσφέρεται μια σειρά από νέα στοιχεία που διευκολύνουν την ιδέα της δημιουργίας σελίδων. Κάνει πιο εύκολο για τις μηχανές αναζήτησης να διαβάζουν τον κώδικα ιστοσελίδων και να ξεχωρίζουν τα τμήματα του κώδικα (header, menu...κλπ). Η HTML5 παρέ- -15-

20 χει επίσης μια σειρά νέων εντολών που βοηθούν στο σχηματισμό των γραφικών, βίντεο και πολλών άλλων χαρακτηριστικών. Η Cascading Style Sheets (CSS) είναι γλώσσα που αφορά την διαμόρφωση και εμφάνιση των ιστοσελίδων (χρώμα, γραμματοσειρά... κλπ) που είναι γραμμένες με γλώσσες όπως η HTML. Η τελευταία έκδοση της CSS είναι η CSS3. Η CSS3 σχεδιάστηκε για να διαμορφώσει ιστοσελίδες που είναι γραμμένες σε HTML5. Υπάρχουν προγράμματα που διευκολύνουν την διαδικασία της γραφής αυτής, όπως το DreamWeaver, τα οποία δίνουν επιλογές για αυτόματη δημιουργία CSS. Οι περισσότεροι προγραμματιστές ιστοσελίδων προτιμούν να γράφουν το δικό τους CSS παρά να χρησιμοποιούν προγράμματα που δίνουν την επιλογή για αυτόματη δημιουργία CSS. 2.8 Δυναμικές ιστοσελίδες Οι ιστοσελίδες του διαδικτύου χωρίζονται σε δύο κατηγορίες, στις στατικές ιστοσελίδες που αποτελούνται από στατικές σελίδες που αποθηκεύονται σε τελική μορφή στον διακομιστή, και στις δυναμικές ιστοσελίδες που αποτελούνται από δυναμικές σελίδες. Κάποιο μέρος του κώδικα των δυναμικών σελίδων είναι γραμμένο όπως στις στατικές σελίδες, ενώ το υπόλοιπο είναι γραμμένο με γλώσσες προγραμματισμού για δημιουργία της τελικής εμφάνισης σελίδων με βάση τον χρήστη. Η έννοια της δυναμικής ιστοσελίδας ξεκίνησε με την ανάπτυξη του παγκόσμιου ιστού γνωστού ως Web2.0. Μετά το Web2.0 υπάρχει περισσότερο ενδιαφέρον για ανάπτυξη διαδικτυακών εφαρμογών με την τεχνολογία AJAX που άλλαξε την έννοια της αλληλεπίδρασης με το πρόγραμμα πλοήγησης. Για την δημιουργία δυναμικών ιστοσελίδων πρώτα κατασκευάζεται πρότυπη ιστοσελίδα και ύστερα διαχωρίζονται τα στατικά μέρη της ιστοσελίδας από τα μέρη που επιθυμείται να είναι δυναμικά. Για τα δυναμικά μέρη χρησιμοποιούνται γλώσσες προγραμματισμού όπως PHP. 2.9 SSL και HTTPS Το Secure Socket Layer (SSL) είναι πρωτόκολλο ασφαλείας. Προσφέρει ασφάλεια κατά την χρήση χωρίς να το αντιληφθεί ο χρήστης. Η λειτουργία του SSL ξεκινάει όταν -16-

21 ο υπολογιστής του χρήστη ζητάει ασφαλή σύνδεση από τον διακομιστή και τότε το SSL δημιουργεί ένα ασφαλές κανάλι με χρήση αλγορίθμων κρυπτογράφησης. Έτσι όλα τα δεδομένα που ανταλλάσσονται μεταξύ του ηλεκτρονικού υπολογιστή του χρήστη και τον διακομιστή κρυπτογραφούνται όλα από το SSL. Το Hypertext Transfer Protocol Secure είναι ένας συνδυασμός των πρωτόκολλων Hypertext Transfer Protocol με SSL/TLS για να παρέχεται κρυπτογραφημένη και ασφαλή επικοινωνία. Συχνά χρησιμοποιείται για συναλλαγές πληρωμών για το Παγκόσμιο Ιστό (World Wide Web) και για τα ευαίσθητα συστήματα πληροφοριών των επιχειρήσεων. Η κύρια ιδέα είναι η δημιουργία ενός ασφαλούς καναλιού σε ένα μη ασφαλές δίκτυο. Αυτό εξασφαλίζει επαρκή προστασία από υποκλοπές και επιθέσεις hacker. Σε περίπτωση που η σύνδεση γίνει με ιστοσελίδα που έχει ελεγμένη πιστοποίηση τα προγράμματα πλοήγησης προειδοποιούν τον χρήστη δίνοντας πληροφορίες για τον κίνδυνο και τον συμβουλεύουν να μην συνεχίσει την χρήση της ιστοσελίδας ούτε και να δώσει σημαντικές προσωπικές πληροφορίες cpanel Το cpanel είναι ένας πίνακας ελέγχου και χρησιμεύει στη διαχείριση ιστοσελίδων που φιλοξενούνται από διακομιστές που λειτουργούν με λογισμικό Linux. Δεν αποτελεί εργαλείο ανοιχτού λογισμικού και έτσι απαιτείται εμπορική άδεια χρήσης η οποία δίνεται μόνο σε εταιρίες για φιλοξενία ιστοσελίδων. Παρ' όλα αυτά, οι μη κερδοσκοπικοί οργανισμοί, όπως εκπαιδευτικοί και φιλανθρωπικοί οργανισμοί, μπορούν να ζητήσουν δωρεάν άδεια χρήσης ή άδεια με μειωμένο κόστος. -17-

22 3 Σχεδιασμός Εφαρμογής Στο μέρος 3.1 του κεφαλαίου αυτού αναπτύσσεται η ιδέα της εφαρμογής, ο τρόπος υλοποίησης, τα εργαλεία που χρειάστηκαν και ο τρόπος που χρησιμοποιήθηκαν για την ολοκλήρωση της. Στο μέρος 3.2 αναλύεται το πως συνδέεται η εφαρμογή με το facebook και πως μεταφέρονται τα δεδομένα από το facebook στην βάση δεδομένων της εφαρμογή μας, όπως επίσης και η εμφάνιση των αποτελεσμάτων στο google maps. 3.1 Έρευνα για την δημιουργία της εφαρμογής Για πετύχει η εργασία τον στόχο της έπρεπε να διερευνηθεί το κατά πόσο είναι δυνατή η υλοποίηση της εργασίας αναφορικά με το θέμα άδειας ανάπτυξης εφαρμογών facebook, την πολιτική που ακολουθείται στο facebook, την απόκτηση δεδομένων από χρήστες του facebook και ποιές γλώσσες προγραμματισμού υποστηρίζει επίσημα το facebook και ποιες μη επίσημα. Η έρευνα είχε τα εξής αποτελέσματα: Πολιτική του Facebook: το facebook προσφέρει δωρεάν άδεια για ανάπτυξη εφαρμογών σε διάφορες πλατφόρμες (διαδικτυακές εφαρμογές, κινητές... κ.λ.π) Πρόσβαση στα δεδομένα: όσον αφορά τα δημόσια δεδομένα δεν απαιτείται ζήτηση άδειας μέσω του κώδικα της εφαρμογής, ενώ όσον αφορά τα ιδιωτικά δεδομένα θα χρειαστεί η ζήτηση άδειας μέσω του κώδικα με ένα ειδικό τρόπο που αναφέρεται αναλυτικά στα εγχειρίδια των γλωσσών προγραμματισμού που υποστηρίζει το facebook (επίσημα και μη επίσημα). Επίσης απαιτείται να αναφέρεται αναλυτικά γραπτά ο λόγος για τον οποίο η εφαρμογή χρειάζεται την πρόσβαση σε αυτά τα δεδομένα από τον χρήστη του facebook ώστε ο χρήστης να αναγνωρίσει τον λόγο και τον στόχο της εφαρμογής και να έχει το δικαίωμα αποδοχής ή απόρριψης. Φιλοξενία εφαρμογής: το facebook δεν προσφέρει χώρο φιλοξενίας στις εφαρμογές όμως δίνει το δικαίωμα να εκτελούνται μέσω του facebook's canvas εφόσον το επιθυμεί ο προγραμματιστής. Έτσι έγινε επέκταση της έ- ρευνας στο πεδίο εύρεσης χώρου φιλοξενίας. Αποτέλεσμα είναι ότι, για να έχουν οι διαδικτυακές εφαρμογές την καλύτερη λειτουργία μέσω του face- -18-

23 book's canvas, ο διακομιστής πρέπει να λειτουργεί σε περιβάλλον Linux. Η σύνδεση για την μεταφορά δεδομένων από το διακομιστή του facebook προς το διακοσμιστή της εφαρμογής γίνεται μέσω HTTPS. Γλώσσα προγραμματισμού: η εργασία ήταν δυνατό να γίνει με γλώσσα Python ή PHP.Η γλώσσα Python δεν υποστηρίζεται επισήμως από το facebook. Μια από τις γλώσσες που υποστηρίζει επίσημα το facebook είναι η γλώσσα PHP και προσφέρει δωρεάν εργαλεία ανάπτυξης κώδικα και πολλά παραδείγματα από αντιστοίχους κώδικες, επίσης υποστηρίζει την γλώσσα JavaScript που έχει την δυνατότητα να εκτελείται μέσω του κώδικα του PHP. Ηλεκτρονικός χάρτης: η εμφάνιση των δεδομένων της εφαρμογής έπρεπε να γίνεται και σε ηλεκτρονικό χάρτη. Δεν βρέθηκε τίποτα για χρήση σε η- λεκτρονικό χάρτη στα εργαλεία που προσφέρει το facebook για ανάπτυξη εφαρμογών, γι' αυτό τον λόγο έγινε δεύτερη έρευνα για να βρεθεί εταιρεία που προσφέρει δωρεάν ηλεκτρονικούς χάρτες στους προγραμματιστές. Η εφαρμογή θα χρησιμοποιήσει την υπηρεσία Google maps της Google όπου οι προγραμματιστές έχουν δωρεάν πρόσβαση και δωρεάν λογαριασμό για ανάπτυξη εφαρμογής της Google. 3.2 Σύνδεση και μεταφορά δεδομένων μεταξύ εφαρμογής, Facebook και Google maps Η σύνδεση μεταξύ της εφαρμογής μας, του facebook και του Google maps γίνεται με την χρήση του πρωτοκόλλου SSL & HTTPS ώστε να επιτευχθεί η ασφαλής σύνδεση μεταξύ του διακομιστή στον οποίο φιλοξενείται η εφαρμογή και τον διακομιστή του facebook. 'Έτσι δημιουργείται ασφαλές κανάλι για την μεταφορά των προσωπικών δεδομένων των χρηστών του facebook χωρίς να υπάρχει κίνδυνος κλοπής από hackers. Με τον ίδιο τρόπο έγινε και η σύνδεση μεταξύ του διακομιστή της εφαρμογής και του διακομιστή του Google maps για να επιτευχτεί ασφαλής σύνδεση και μεταφορά των δεδομένων τοποθεσίας των φίλων του χρήστη της εφαρμογής μας και η εμφάνιση -19-

24 του χάρτη μέσω του canvas του facebook, ώστε να έχει ότι δεδομένο χρειάζεται για την λειτουργία της. Έπειτα στέλνονται ορισμένα δεδομένα που αφορούν τις τοποθεσίες ενός φίλου του χρήστη από τον διακομιστή της εφαρμογής στον διακομιστή του Google maps ώστε να εμφανιστούν σωστά στον ηλεκτρονικό χάρτη. Εν τέλει, στέλνεται ο χάρτης με τις σωστές τοποθεσίες στην εφαρμογή και μετά όλα τα δεδομένα στο canvas της εφαρμογής στο facebook. -20-

25 4 Υλοποίηση και λειτουργία της εφαρμογής Στην ανάλυση της υλοποίησης της εφαρμογής θα γίνει παρουσίαση των βημάτων: δημιουργίας και ρύθμισης της εφαρμογής δημιουργίας κώδικα και λειτουργίας της εφαρμογής βήμα - βήμα. 4.1 Δημιουργία και ρύθμιση της εφαρμογής Για να γίνει η απόκτηση λογαριασμού ανάπτυξης εφαρμογής facebook (facebook developer) χρειάστηκε η εγγραφή στο την εγγραφή έγινε η δημιουργία και ρύθμιση νέας εφαρμογής. Δημιουργία εφαρμογής -21-

26 Η ρύθμιση της εφαρμογής έγινε ως εξής: δόθηκε όνομα εφαρμογής όνομα χώρου (μοναδικό) ώστε να χρησιμοποιηθεί για την απευθείας δημιουργία link για την εφαρμογή στο facebook App domains και επικοινωνίας επιλογή πλατφόρμας λειτουργίας της εφαρμογής. Εδώ έγινε επιλογή "εφαρμογή στο facebook". Facebook Platform Για τον λογαριασμό Google developers δεν χρειάστηκε ειδικός τρόπος εγγραφής επειδή υπήρχαν ήδη Google accounts αλλά έπρεπε να γίνει ενεργοποίηση της υ- πηρεσίας google maps. -22-

27 Google maps Με βάση την έρευνα που έγινε στο προηγούμενο κεφάλαιο δημιουργήθηκε ένας λογαριασμός για φιλοξενία ιστοσελίδας που προσέφερε: διακομιστή που λειτουργεί σε περιβάλλον Linux βάση δεδομένων MySQL πιστοποίηση SSL Εν συνεχεία πραγματοποιήθηκαν τα βήματα για την ρύθμιση πιστοποίησης SSL και ενεργοποίησης HTTPS και μετά δόθηκαν τα canvas URL και secure canvas URL. πιστοποίησης SSL -23-

28 4.2 Δημιουργία και λειτουργία κώδικα Οι γλώσσες προγραμματισμού που χρησιμοποιήθηκαν για την δημιουργία της ε- φαρμογής είναι : HTML5/CSS για σχεδίαση interface. PHP κώδικας λειτουργίας της εφαρμογής σε ότι έχει να κάνει με τα δεδομένα που παίρνει η εφαρμογή από το facebook μέχρι να εμφανίσει το τελικό αποτέλεσμα. JavaScript κώδικας ηλεκτρονικού χάρτη. Η βάση δεδομένων δημιουργήθηκε με την χρήση phpmyadmin όμως λόγο ανάγκης σωστής λειτουργίας της εφαρμογής χρησιμοποιήθηκε PHP κώδικας για δημιουργία του πίνακα στην βάση δεδομένων. Η ιστοσελίδα της εφαρμογής είναι τύπου dynamic Δημιουργία εφαρμογής <?php Για την δημιουργία δυναμικής ιστοσελίδας χρησιμοποιήθηκε PHP κώδικας. include("includes/header.html"); if($_get['page']=="friends"){ include("includes/friends.html"); else if($_get['page']=="find_location"){ include("includes/find_location.html"); else{ include("includes/home.html"); include("includes/footer.html");?> <κωδικας δημιουργιας δυναμικης ιστοσελιδας> Για το interface χρησιμοποιήθηκαν δύο κώδικες CSS3 ο ένας αφορά: background εφαρμογής μέγεθος, χρώμα και τύπος γραμματοσειράς -24-

29 θέση μηνυμάτων και εκτύπωση δεδομένων (welcome messages, φωτογραφία προφίλ facebook..κλπ) ρύθμιση διαστάσεων και θέσης του ηλεκτρονικού χάρτη. Το δεύτερο CSS3 αφορά τα κουμπιά του μενού (θέση, μέγεθος, γραμματοσειρά κειμένου..κλπ). body{ background : url("img/wall_background.jpg") repeat; #navbar{ position: absolute; padding-top: 20px; padding-left: 50px; padding-right: 50px; padding-bottom: 50px; margin: 0 5px; left: 20%; right: 25%; width: 800px; height: 20px; #App{ position: absolute; padding-top: 50px; padding-left: 50px; padding-right: 50px; padding-bottom: 50px; margin: 25px 50px; top: 10%; left: 20%; right: 25%; width: 800px; height: 450px; color:white; background: url("img/board_wallpaper.jpg"); background-repeat: no-repeat; background-size: 100% 100%; #map{ position: absolute; top: 45%; left: 65%; width: 300px; -25-

30 height: 250px; <Application CSS3>.cbdb-menu li { display: block; float: left; line-height: 35px; list-style:none; margin: 25px 5px; top: 5%; left: 20%; right: 25%;.cbdb-menu li a { background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.5)), color-stop(1, rgba(0,0,0,.1)) ); background-image: -moz-linear-gradient( center top, rgba(255,255,255,.5) 0%, rgba(0,0,0,.1) 100% ); color: #f4f4f4; /* IE */ color: rgba(255, 255, 255, 0.8); display: block; font: bold 18px "Myriad Pro","Lucida Grande",Helvetica,Arial,sans-serif; outline:none; padding: 5px 15px; text-decoration: none; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4); border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.65); -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.65); -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.65);.cbdb-menu li a:active { background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0,rgba(255,255,255,.5)), color-stop(.1,rgba(255,255,255,.2)), color-stop(.85, rgba(0,0,0,.2)), color-stop(100, rgba(0,0,0,.4)) ); background-image: -moz-linear-gradient( center bottom, rgba(255,255,255,.5) 0%, rgba(255,255,255,.2) 10%, rgba(0,0,0,.2) 85%, -26-

31 rgba(0,0,0,.4) 100% ); /* Dark Text */.cbdb-menu li a.dark { color: #333; /* IE */ color: rgba(0, 0, 0, 0.8); text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.4);.red { background: #B80202; border: #B px solid.red:hover,.red:focus{ background-color:#e30606.green { background: #46c431; border: #46c431 1px solid.green:hover,.green:focus { background-color:#44e329.yellow { background: #D9CE1C; border: #D9CE1C 1px solid.yellow:hover,.yellow:focus { background-color:#eee117 <Menu buttons CSS3> Όπως προαναφέρθηκε οι δυναμικές ιστοσελίδες περιέχουν και κώδικα στατικών σελίδων. Οι στατιστικές σελίδες που υπάρχουν στην εφαρμογή είναι: <!doctype html> <html> <head> 1. header.html <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/app_stylesheet.css" type="text/css" /> <link rel="stylesheet" href="css/cbdb-btn.css" /> <script src="https://maps.google.com/maps/api/js?key=aizasydvrgavzqb2inecs5tm9_wkci3yini5y2y &sensor=true"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery min.js"></script> </head> <body> <div id=navbar> <ul class="cbdb-menu"> <li><a href="index.php" class="red">home</a> </li> -27-

32 <li><a href="index.php?page=friends" class="green">friends</a></li> <li><a href="index.php?page=find_location" class="yellow">find location</a></li> </ul> <br clear="left" /> </div> <header.html> 2. home.html, friends.html & find_location.html. Αποτελούν το δυναμικό μέρος της ιστοσελίδας 3. footer HTML Κώδικας λειτουργίας Πριν από τη δημιουργία κώδικα PHP για την εφαρμογή χρειάζεται το PHP SDK που μας δίνεται από το facebook. Το PHP SDK έχει δύο σημαντικoύς PHP κώδικες για σωστή λειτουργία και απόκτηση δεδομένων από το facebook και πρέπει να περιέχονται στον PHP κώδικα της εφαρμογής. <sample from base_facebook.php> -28-

33 <Sample from facebook.php> Πρώτο βήμα μετά την εισαγωγή των δύο πρώτων αυτών αρχείων είναι η δημιουργία σύνδεσης μεταξύ του διακομιστή της εφαρμογής και του διακομιστή facebook με τα στοιχεία της εφαρμογής που δόθηκαν από το facebook. $facebook = new Facebook(array( 'appid' => FACEBOOK_APP_ID, 'secret' => FACEBOOK_SECRET, )); <connect code with facebook application> Μετά την σύνδεση πρέπει να γίνει έλεγχος αν υπάρχει ήδη συνδεδεμένος χρήστης από το facebook και η εκτέλεση κατάλληλων εντολών. $user = $facebook->getuser(); if ($user) { try { $user_profile = $facebook->api('/v1.0/me'); catch (FacebookApiException $e) { error_log($e); $user = null; <check code> -29-

34 Αν ο έλεγχος έχει θετικό αποτέλεσμα και υπάρχει χρήστης που είναι ταυτοποιημένος από το facebook, τότε γίνεται η ζήτηση και η μεταφορά δεδομένων που αφορούν τον χρήστη (όνομα χρήστη, facebook id... κλπ). $user_profile = $facebook->api('/v1.0/me'); $friendslists = $facebook->api('v1.0/me/friends'); <code for getting User info and friend list> Πρέπει να επισημαίνεται ότι οι παραπάνω κώδικες απαιτείται να είναι στο αρχείο index.php που είναι static. Αυτό γίνεται για να μην χαθεί η σύνδεση με το facebook λόγο φόρτωσης των δυναμικών σελίδων (home.html, friend.html... κλπ). Ο σκοπός του αρχείου home.html της εφαρμογής είναι να καλωσορίζει τον χρήστη, να εμφανίζει την φωτογραφία προφίλ και να προσθέτει τους καινούργιους χρήστες στον πίνακα App_Users της βάσης δεδομένων της εφαρμογής. $link= mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name", $link)or die("cannot select DB"); $name=$user_profile['name']; $facebook_id= $user; $sql="insert INTO $tbl_name(name, facebook_id)values('$name', '$facebook_id')"; $result=mysql_query($sql); echo'welcome '.$name; <connect and insert data to database with welcome message> <Home page> -30-

35 Friend.html Σε αυτό το μέρος του κώδικα της εφαρμογής γίνεται ζήτηση της λίστας φίλων του χρήστη, η δημιουργία καινούργιου πίνακα στον μη υπάρχον χρήστη και η πρόσθεση των φίλων στον αντίστοιχο πίνακα. Στον υπάρχοντα χρήστη γίνεται απλά πρόσθεση των καινούργιων φίλων που δεν ήταν στον πίνακα από την τελευταία φορά που χρησιμοποιήθηκε η εφαρμογή. $sql = "CREATE TABLE IF NOT EXISTS ".$name."( ". "id INT NOT NULL AUTO_INCREMENT, ". "name VARCHAR(100) NOT NULL, ". "facebook_id BIGINT(64) NOT NULL UNIQUE, ". "PRIMARY KEY ( id ))ENGINE=InnoDB DEFAULT CHARACTER SET=utf8; "; $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('could not create table: '. mysql_error()); foreach ($friendslists as $friends) { foreach ($friends as $friend) { $id = $friend['id']; $f_name = $friend['name']; $sql="insert INTO $name(name, facebook_id)values('$f_name', '$id')"; $result=mysql_query($sql); < δημιουργία πίνακα και πρόσθεση φίλων > Μετά τον έλεγχο δίνεται στον χρήστη η δυνατότητα να κάνει αναζήτηση στον πίνακα που έχει τους φίλους του με χρήση απλού κώδικα PHP για αναζήτηση με MySQL. if (strlen($search_name)>=4){ $query = "SELECT `name`,`facebook_id` FROM ".$name." WHERE `name` LIKE '%".$search_name."%' "; $query_run = mysql_query($query); if (mysql_num_rows($query_run)>=1){ echo "<table >"; while($query_row = mysql_fetch_array($query_run)){ $friend_name = $query_row['name']; $friend_id = $query_row['facebook_id']; echo "<tr>"; echo "<img src=\"https://graph.facebook.com/".$friend_id."/picture\" />"; echo " ". $friend_name. " "; echo "</tr>"; -31-

36 echo "</table>"; else { echo 'No Friends found.'; <αναζήτησης φίλων> Στην περίπτωση που η αναζήτηση δεν βρίσκει κανένα φίλο στην λίστα εμφανίζει ανάλογο μήνυμα προειδοποίησης. Η επιτυχής αναζήτηση επιστρέφει όλους τους φίλους που έχουν το όνομα που εισήγαγε ο χρήστης, εμφανίζεται η φωτογραφία προφίλ του κάθε φίλου και δίπλα το όνομα. <επιτυχημένη ή μη αναζήτηση> Με την επιτυχή ολοκλήρωση της αναζήτησης φίλου προσθέτονται τα στοιχεία του στην ανάλογη θέση της βάσης δεδομένων ώστε να έχει στο τελευταίο βήμα η εφαρμογή εύκολη πρόσβαση στα στοιχεία. -32-

37 Find_location.html Είναι το τελευταίο βήμα λειτουργίας της εφαρμογής. Δουλεύει ζητώντας αρχικά από το facebook όλα τα δεδομένα που αφορούν κοινοποιήσεις που έγιναν από τον φίλο. $check_in = $facebook->api('/v1.0/'.$friend_id.'/checkins'); $f_status = $facebook->api('/v1.0/'.$friend_id.'/statuses'); <κωδικας ζήτησης κοινοποιήσεων> Παίρνοντας αυτά τα δεδομένα η εφαρμογή δίνει στον χρήστη να διαλέξει με βάση τα κριτήρια που επιθυμεί να δει το αποτέλεσμα. Τα κριτήρια είναι με βάση ημέρας ή ώρας κοινοποίησης ή ημέρας και ώρας κοινοποίησης ταυτόχρονα. <form action="index.php?page=find_location" method="post"> Choose day: <select name="day"> <option value="">select...</option> <option value="monday">monday</option> <option value="tuesday">tuesday</option> <option value="wednesday">wednesday</option> <option value="thursday">thursday</option> <option value="friday">friday</option> <option value="saturday">saturday</option> <option value="sunday">sunday</option> </select> <input type="submit" value="submit Day" /> <code εισαγωγής κριτηρίων με βάση ημέρας> if($day == $p_day ){ echo $day." "; echo $time." "; Λαμβάνοντας τα επιθυμητά κριτήρια που διάλεξε ο χρήστης γίνεται η αναζήτηση για όλες τις κοινοποιήσεις που έγιναν με βάση αυτά αλλά ταυτόχρονα ελέγχονται αν υπάρχουν στοιχεία τοποθεσίας στις κοινοποιήσεις. echo $places['name']." "; echo "</br>"; echo $location['city']." "; echo $location['country']." "; $mark_name = $places['name']; $map_lat = $location['latitude']; $map_lon = $location['longitude']; -33-

38 $locations[$i] = array($mark_name,$map_lat,$map_lon); ++$i; echo "</br>"; echo "</br>"; <έλεγχος με βάση τα κριτήρια> Αποθηκεύοντας τα στοιχεία που αφορούν την τοποθεσία (όνομα τοποθεσίας, συντεταγμένες) σε ένα πίνακα με τον κατάλληλο τρόπο ώστε να γίνει η χρήση αυτών των δεδομένων στον ηλεκτρονικό χάρτη. Όταν ο έλεγχος ολοκληρώνεται με επιτυχία παίρνοντας όλες τις τοποθεσίες, ο πίνακας που έχει τα δεδομένα στέλνεται στο JavaScript κώδικα του ηλεκτρονικού χάρτη μαρκάροντας πάνω του την θέση κάθε τοποθεσίας. <div id="map"></div> <script type="text/javascript"> // Define your locations: HTML content for the info window, latitude, longitude <?php $js_array = json_encode($locations); echo "var locations = ".$js_array.";";?> // Setup the different icons and shadows var iconurlprefix = 'http://maps.google.com/mapfiles/ms/icons/'; var icons = [ iconurlprefix + 'red-dot.png', iconurlprefix + 'green-dot.png', iconurlprefix + 'blue-dot.png', iconurlprefix + 'orange-dot.png', iconurlprefix + 'purple-dot.png', iconurlprefix + 'pink-dot.png', iconurlprefix + 'yellow-dot.png' ] var icons_length = icons.length; var shadow = { anchor: new google.maps.point(22,39), url: iconurlprefix + 'msmarker.shadow.png' ; var map = new google.maps.map(document.getelementbyid('map'), { zoom: 1, center: new google.maps.latlng(39.75, 22.85), maptypeid: google.maps.maptypeid.roadmap, maptypecontrol: false, streetviewcontrol: false, pancontrol: false, zoomcontroloptions: { position: google.maps.controlposition.left_bottom -34-

39 ); var infowindow = new google.maps.infowindow({ maxwidth: 160 ); var marker; var markers = new Array(); var iconcounter = 0; // Add the markers and infowindows to the map for (var i = 0; i < locations.length; i++) { marker = new google.maps.marker({ position: new google.maps.latlng(locations[i][1], locations[i][2]), map: map, icon : icons[iconcounter], shadow: shadow ); markers.push(marker); google.maps.event.addlistener(marker, 'click', (function(marker, i) { return function() { infowindow.setcontent(locations[i][0]); infowindow.open(map, marker); )(marker, i)); iconcounter++; // We only have a limited number of possible icon colors, so we may have to restart the counter if(iconcounter >= icons_length){ iconcounter = 0; function AutoCenter() { // Create a new viewpoint bound var bounds = new google.maps.latlngbounds(); // Go through each... $.each(markers, function (index, marker) { bounds.extend(marker.position); ); // Fit these bounds to the map map.fitbounds(bounds); AutoCenter(); </script> <code Google maps> Στο τέλος εμφανίζονται οι τοποθεσίες με τα εξής στοιχεία: ημέρα, ώρα, όνομα τοποθεσίας, πόλη, χώρα και στο πλάι εμφανίζεται ο ηλεκτρονικός χάρτης με τις αντίστοιχες τοποθεσίες (). -35-

40 Τελικό αποτέλεσμα Το Facebook προσφέρει για κάθε εφαρμογή δωρεάν διαγράμματα που δείχνουν πόσοι χρήστες χρησιμοποιούν την εφαρμογή με βάση την ημέρα, εβδομάδα και μήνα. Επίσης δίνει και ένα άλλο διάγραμμα που δείχνει πόσες κλήσεις γίνονται από την εφαρμογή στο Facebook, πόσα λάθη δεδομένων γίνονται στην μεταφορά και τον μέσο όρο χρόνου ολοκλήρωσης διαδικασίας μεταφοράς δεδομένων. Application Users -36-

41 <API calls> <API Errors> -37-

42 -38- <Average Reuest Time>

43 5 Συμπέρασμα Όπως προκύπτει από όσα αναφέρθηκαν παραπάνω, οι χρήστες των κοινωνικών δικτύων κοινοποιούν πολλές προσωπικές και σημαντικές λεπτομέρειες χωρίς να αντιλαμβάνονται την αξία που μπορεί να έχουν για κάποιον άλλο. Με την αλλαγή της πολιτικής του facebook, για την οποία έγινε λόγος προηγουμένως, αυτές οι πληροφορίες απέκτησαν ένα "πλέγμα προστασίας" από την 30η Απριλίου και μετά. Η εργασία μας όμως κατέδειξε ότι μια υπό ανάπτυξη εφαρμογή, μπορεί να δουλεύει με την παλιά πολιτική για έναν χρόνο, χωρίς να γίνεται αντιληπτή από τους χρήστες, παρόλο που δεν έχει πάρει έγκριση από το facebook πριν τις 30 Απριλίου. Εφόσον υπάρξει η επιθυμία η εφαρμογή αυτή να λειτουργήσει μέσα στα πλαίσια της νέας πολιτικής του facebook, θα πρέπει να γίνουν ορισμένες αλλαγές. Πιο συγκεκριμένα: Δημιουργία πίνακα στη βάση δεδομένων της εφαρμογής, για κάθε έναν από τους χρήστες της, όπου θα αποθηκεύονται τα δεδομένα με τις τοποθεσίες του καθενός από αυτούς. Έλεγχος κάθε φορά αν οι εκάστοτε χρήστες της εφαρμογής είναι μεταξύ τους φίλοι στο facebook. Τέλος, εφόσον ο παραπάνω έλεγχος είναι επιτυχής, τότε θα δίνεται η άδεια στον χρήστη της εφαρμογής να κάνει αναζήτηση δεδομένων τοποθεσίας στον αντίστοιχο πίνακα του φίλου του. -39-

44 Βιβλιογραφία [1] https://developers.facebook.com/docs/ [2] https://developers.facebook.com/docs/reference/php/3.2.3 [3] PHP και HTML5/CSS3 tutorials [4] [5] [6] https://developers.google.com/maps/documentation/javascript/tutorial [7] -40-

45 Παράρτημα <?php require 'src/facebook.php'; define('facebook_app_id',' '); define('facebook_secret','65393c843afcc9e08a6ba9c c9'); $facebook = new Facebook(array( 'appid' => FACEBOOK_APP_ID, 'secret' => FACEBOOK_SECRET, )); $user = $facebook->getuser(); if ($user) { try { $user_profile = $facebook->api('/v1.0/me'); catch (FacebookApiException $e) { error_log($e); $user = null; if ($user) { $logouturl = $facebook->getlogouturl(); else { $loginurl = $facebook->getloginurl(); $friendslists = $facebook->api('v1.0/me/friends');?> <?php include("includes/header.html"); if($_get['page']=="friends"){ include("includes/friends.html"); else if($_get['page']=="find_location"){ include("includes/find_location.html"); else{ include("includes/home.html"); include("includes/footer.html");?> index.php -41-

46

47 <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="css/app_stylesheet.css" type="text/css" /> <link rel="stylesheet" href="css/cbdb-btn.css" /> <script src="https://maps.google.com/maps/api/js?key=aizasydvrgavzqb2inecs5tm9_wkci3yini5y2y &sensor=true"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery min.js"></script> </head> <body> <div id=navbar> <ul class="cbdb-menu"> <li><a href="index.php" class="red">home</a> </li> <li><a href="index.php?page=friends" class="green">friends</a></li> <li><a href="index.php?page=find_location" class="yellow">find location</a></li> </ul> <br clear="left" /> </div> header.html <div id="app"><h1> <?php if ($user):?> <?php $host="localhost"; $username="facebook"; $password="xttx!ox,tii"; $db_name="application"; $tbl_name="app_users"; $link= mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name", $link)or die("cannot select DB"); $name=$user_profile['name']; $facebook_id= $user; $sql="insert INTO $tbl_name(name, facebook_id)values('$name', '$facebook_id')"; $result=mysql_query($sql); echo'welcome '.$name;?> <?php else:?> You are not Connected. </h1> <?php endif?> <h2><?php if ($user):?><img src="https://graph.facebook.com/<?php echo $user;?>/picture?type=large" height="250" /><?php endif?></h2> -43-

48 <h4><?php if ($user):?><?php else:?><a href="<?php echo $loginurl;?>">login with Facebook</a><?php endif?></h4> </div> home.html <?php if ($user):?> <?php $name='n_'.$user_profile['id']; $namef='s_'.$user_profile['id']; $host="localhost"; $username="facebook"; $password="xttx!ox,tii"; $db_name="application"; $conn = mysql_connect($host, $username, $password); if(! $conn ) { die('could not connect: '. mysql_error()); mysql_select_db("$db_name", $conn)or die("cannot select DB"); $sql = "CREATE TABLE IF NOT EXISTS ".$name."( ". "id INT NOT NULL AUTO_INCREMENT, ". "name VARCHAR(100) NOT NULL, ". "facebook_id BIGINT(64) NOT NULL UNIQUE, ". "PRIMARY KEY ( id ))ENGINE=InnoDB DEFAULT CHARACTER SET=utf8; "; $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('could not create table: '. mysql_error()); foreach ($friendslists as $friends) { foreach ($friends as $friend) { $id = $friend['id']; $f_name = $friend['name']; $sql="insert INTO $name(name, facebook_id)values('$f_name', '$id')"; $result=mysql_query($sql);?> <div id="app"> <form action="index.php?page=friends" method="post"> Friends name: <input type="text" name="search_name"><input type="submit" value="find"> </form> <br> <?php $i=0; if(isset($_post['search_name'])){ $search_name = $_POST['search_name']; if(!empty($search_name)){ -44-

49 if (strlen($search_name)>=4){ $query = "SELECT `name`,`facebook_id` FROM ".$name." WHERE `name` LIKE '%".$search_name."%' "; $query_run = mysql_query($query); if (mysql_num_rows($query_run)>=1){ echo "<table >"; while($query_row = mysql_fetch_array($query_run)){ $friend_name = $query_row['name']; $friend_id = $query_row['facebook_id']; echo "<tr>"; echo "<img src=\"https://graph.facebook.com/".$friend_id."/picture\" />"; echo " ". $friend_name. " "; echo "</tr>"; echo "</table>"; else { echo 'No Friends found.'; $sql1 = "CREATE TABLE IF NOT EXISTS ".$namef."( ". "id INT NOT NULL AUTO_INCREMENT, ". "name VARCHAR(100) NOT NULL, ". "facebook_id BIGINT(64) NOT NULL, ". "PRIMARY KEY ( id ))ENGINE=InnoDB DEFAULT CHARACTER SET=utf8; "; $retval1 = mysql_query( $sql1, $conn ); if(! $retval1 ) { die('could not create table: '. mysql_error()); $sql1="insert INTO $namef(name, facebook_id)values('$friend_name', '$friend_id')"; $result1=mysql_query($sql1);?> <?php else:?> You are not Connected. <?php endif?> </div> friends.html -45-

50 <?php if ($user):?> <?php $namef='s_'.$user_profile['id']; $host="localhost"; $username="facebook"; $password="xttx!ox,tii"; $db_name="application"; $link = mysql_connect($host, $username, $password); if(! $link ) { die('could not connect: '. mysql_error()); mysql_select_db("$db_name", $link)or die("cannot select DB"); $query = "SELECT * FROM ".$namef.""; $query_run = mysql_query($query); if (mysql_num_rows($query_run)>=1){ while($query_row = mysql_fetch_array($query_run)){ $friend_id = $query_row['facebook_id']; $friend_name = $query_row['name']; $check_in = $facebook->api('/v1.0/'.$friend_id.'/checkins'); $f_status = $facebook->api('/v1.0/'.$friend_id.'/statuses');?> <div id="app"> <p>find your Friend location by choosing day or Hour</p> <p><form action="index.php?page=find_location" method="post"> Choose day: <select name="day"> <option value="">select...</option> <option value="monday">monday</option> <option value="tuesday">tuesday</option> <option value="wednesday">wednesday</option> <option value="thursday">thursday</option> <option value="friday">friday</option> <option value="saturday">saturday</option> <option value="sunday">sunday</option> </select> <input type="submit" value="submit Day" /> <u>or</u> -46-

51 <form action="index.php?page=find_location" method="post"> Choose Hour: <select name="hour"> <option value="">select...</option> <option value="0">00</option> <option value="1">01</option> <option value="2">02</option> <option value="3">03</option> <option value="4">04</option> <option value="5">05</option> <option value="6">06</option> <option value="7">07</option> <option value="8">08</option> <option value="9">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> </select> <input type="submit" value="submit Time" /> </form> </p> <?php $i=0; if($_post['day']){ $p_day = $_POST['Day']; $friend = $p_day.'_'.$friend_id; echo "<b>your friend:<u>".$friend_name."'s</u> location based on ".$p_day." is:</b>"; echo "</br>"; foreach ($f_status as $statuses){ foreach ($statuses as $status){ $places = $status['place']; $location = $places['location']; if($places['name']){ $day = date('l',strtotime($status['updated_time'])); $time = date('h:i:s',strtotime($status['updated_time'])); if($day == $p_day ){ -47-

52 echo $day." "; echo $time." "; echo $places['name']." "; echo "</br>"; echo $location['city']." "; echo $location['country']." "; $mark_name = $places['name']; $map_lat = $location['latitude']; $map_lon = $location['longitude']; $locations[$i] = array($mark_name,$map_lat,$map_lon); ++$i; echo "</br>"; echo "</br>"; foreach ($check_in as $checkins){ foreach ($checkins as $checkin){ $places = $checkin['place']; $location = $places['location']; $day = date('l',strtotime($checkin['created_time'])); $time = date('h:i:s',strtotime($checkin['created_time'])); if($day==$p_day){ echo $day." "; echo $time." "; echo $places['name']." "; -48-

53 echo "</br>"; echo $location['city']." "; echo $location['country']." "; $mark_name = $places['name']; $map_lat = $location['latitude']; $map_lon = $location['longitude']; $locations[$i] = array($mark_name,$map_lat,$map_lon); ++$i; echo "</br>"; echo "</br>"; if($_post['hour']){ $p_hour = $_POST['Hour']; $friend = 'H_'.$p_Hour.'_'.$friend_id; echo "<b>your friend:<u>".$friend_name."'s</u> location based on ".$p_hour." is:</b>"; echo "</br>"; foreach ($f_status as $statuses){ foreach ($statuses as $status){ $places = $status['place']; $location = $places['location']; if($places['name']){ $day = date('l',strtotime($status['updated_time'])); $time = date('h:i:s',strtotime($status['updated_time'])); $H_time = date('h',strtotime($status['updated_time'])); if($h_time == $p_hour){ echo $day." "; echo $time." "; echo $places['name']." "; -49-

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html Χρ. Ηλιούδης Παγκόσμιος Ιστός (WWW) Ο Παγκόσμιος Ιστός (World Wide Web WWW), ή απλώς Ιστός, βασίζεται στην ιδέα των κατανεμημένων πληροφοριών. Αντί όλες

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 ELab Π Τ Υ Χ Ι Α

Διαβάστε περισσότερα

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

Διαβάστε περισσότερα

Εργαστήριο #10 (Ε10) 1

Εργαστήριο #10 (Ε10) 1 Εργαστήριο #10 Από τα προηγούμενα εργαστήρια......θα χρειαστείτε ορισμένες από τις οδηγίες μορφοποίησης CSS (ανατρέξτε στις εκφωνήσεις του 8 ου και 9 ου εργαστηρίου).! Οδηγίες Στη δυναμική δημιουργία ιστοσελίδων

Διαβάστε περισσότερα

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών, Τμήμα Πληροφορικής και Επικοινωνιών Προγραμματιστικές Εφαρμογές στο Διαδίκτυο (Θ) Τελική Εξέταση Διδάσκων: Δ. Κοτζίνος Όνοµα: Α.Μ. : Εξάµηνο : Αίθουσα Έδωσα Project

Διαβάστε περισσότερα

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP Τεχνολογίες Διαδικτύου Server Side Scripting I PHP Εισαγωγή PHP PHP:Hypertext Preprocessor Mηχανή που συνοδεύει web servers όπως ο IIS και ο Apache Η PHP είναι γλώσσα προγραμματισμού για web εφαρμογές

Διαβάστε περισσότερα

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί

Διαβάστε περισσότερα

Ετικέτες HTML. : Τα σχόλια χρησιμοποιούνται για να γράφουμε σημειώσεις μέσα στον

Ετικέτες HTML. <!-->: Τα σχόλια χρησιμοποιούνται για να γράφουμε σημειώσεις μέσα στον Ετικέτες HTML : Τα σχόλια χρησιμοποιούνται για να γράφουμε σημειώσεις μέσα στον πηγαίο κώδικα για να διευκολύνουμε την επεξεργασία και την συντήρηση του αρχείου. Τα σχόλια δεν εμφανίζονται στην οθόνη

Διαβάστε περισσότερα

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

Διαβάστε περισσότερα

6 Εισαγωγή στο Wordpress 3.x

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

Διαβάστε περισσότερα

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης Μικρομεσαίες Επιχειρήσεις και Καινοτομία Ηλεκτρονικό Εμπόριο H δυνατότητα των καταναλωτών και των εμπορικών καταστημάτων να κάνουν

Διαβάστε περισσότερα

Εισαγωγή στην Ανάπτυξη Εφαρμογών Web με Χρήση της Python, του Apache και του mod_python

Εισαγωγή στην Ανάπτυξη Εφαρμογών Web με Χρήση της Python, του Apache και του mod_python Web Development με Python Εισαγωγή στην Ανάπτυξη Εφαρμογών Web με Χρήση της Python, του Apache και του mod_python Βασίλης Παπαβασιλείου , Κοινότητα Ελεύθερου Λογισμικού ΕΜΠ Python

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης-Οδηγός Εκπαίδευσης Χρηστών. - Δήμος Δέλτα - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

Εγχειρίδιο Χρήσης-Οδηγός Εκπαίδευσης Χρηστών. - Δήμος Δέλτα - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Ανάπτυξη διαδικτυακής εφαρμογής υποστήριξης των δράσεων περιβαλλοντικής διαχείρισης της παράκτιας ζώνης του Θερμαϊκού Κόλπου και διαδραστικής εφαρμογής αναφοράς περιβαλλοντικών προβλημάτων Εγχειρίδιο Χρήσης-Οδηγός

Διαβάστε περισσότερα

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα NetBeans και σχετικά προγράμματα Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα Ατζέντα Εγκατάσταση προγραμμάτων Java NetBeans MySQL Δημιουργία απλής εφαρμογής διαδικτύου

Διαβάστε περισσότερα

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές στο χώρο της

Διαβάστε περισσότερα

Η HTML χρησιμοποιεί εντολές που ονομάζονται HTML tags δίνοντας εντολές στους Web browsers για το πώς να εμφανίζουν την κάθε ιστοσελίδα.

Η HTML χρησιμοποιεί εντολές που ονομάζονται HTML tags δίνοντας εντολές στους Web browsers για το πώς να εμφανίζουν την κάθε ιστοσελίδα. ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP Τι θα μάθουμε; Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts Τι χρειάζεται για να ξεκινήσουμε με την PHP Να δημιουργήσουμε και να τρέξουμε ένα απλό script HTML PHP Η

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΘΕΟΔΟΣΙΟΥ ΝΙΚΗ Α.Μ. 103/04 ΠΑΠΑΠΕΤΡΟΥ ΦΩΤΕΙΝΗ Α.Μ. 134/04 Εξεταστική Επιτροπή Επιβλέπουσα Καθηγήτρια : Σατρατζέμη Μαρία, Καθηγήτρια Μέλη : Ευαγγελίδης

Διαβάστε περισσότερα

3. ΕΙΣΑΓΩΓΗ ΣΤΟ CSS ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ

3. ΕΙΣΑΓΩΓΗ ΣΤΟ CSS ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ 2014 3. ΕΙΣΑΓΩΓΗ ΣΤΟ CSS ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ Εισαγωγή Το CSS (Cascading Style Sheets) είναι αρχεία με κατάληξη.css τα οποία καθορίζουν την μορφοποίηση των ιστοσελίδων. Μέσω αυτών επιτυγχάνεται

Διαβάστε περισσότερα

Γραπτή εξέταση. Γαβαλάς Δαμιανός dgavalas@aegean.gr. Δικτυακά Πολυμέσα ΙΙ Διάλεξη #12 η : Επανάληψη, προετοιμασία για τις γραπτές εξετάσεις

Γραπτή εξέταση. Γαβαλάς Δαμιανός dgavalas@aegean.gr. Δικτυακά Πολυμέσα ΙΙ Διάλεξη #12 η : Επανάληψη, προετοιμασία για τις γραπτές εξετάσεις Δικτυακά Πολυμέσα ΙΙ Διάλεξη #12 η : Επανάληψη, προετοιμασία για τις γραπτές εξετάσεις Γαβαλάς Δαμιανός dgavalas@aegean.gr Γραπτή εξέταση H διάρκεια της εξέτασης θα είναι 2 ώρες και 15 Θα απαντήσετε σε

Διαβάστε περισσότερα

XAMPP Apache MySQL PHP javascript xampp

XAMPP Apache MySQL PHP javascript xampp XAMPP Το xampp είναι ένα δωρεάν πρόγραμμα με το οποίο μπορούμε να κάνουμε εγκατάσταση τον Apache, τη MySQL και την PHP. Apache. Ο Apache είναι ένας Web Server. Είναι δηλαδή πρόγραμμα το οποίο τρέχει μόνιμα

Διαβάστε περισσότερα

ΔΟΜΗ. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΔΟΜΗ. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΔΟΜΗ Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Κεφάλαιο 11: Εισαγωγή στην HTML. Εφαρμογές Πληροφορικής Κεφ. 11 Καραμαούνας Πολύκαρπος

Κεφάλαιο 11: Εισαγωγή στην HTML. Εφαρμογές Πληροφορικής Κεφ. 11 Καραμαούνας Πολύκαρπος Κεφάλαιο 11: Εισαγωγή στην HTML 1 11.1 Γενική εισαγωγή στην HTML Τι είναι η HTML HyperText Markup Language - Γλώσσα Χαρακτηρισμού Υπερ-Κειμένου είναι η βασική γλώσσα με την οποία πραγματοποιείται η δόμηση

Διαβάστε περισσότερα

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

Διαβάστε περισσότερα

CSS 3. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

CSS 3. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών CSS 3 Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ Επιβλέπων καθηγητής Δημήτρης Αχιλ. Δέρβος Πτυχιακή εργασία του Πετράκη-Πυρετζίδη Στέφανου Σκοπός Δημιουργία βάσης δεδομένων Ανάπτυξη διαδικτυακής

Διαβάστε περισσότερα

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

Διαβάστε περισσότερα

Ref.: SLWS 1 5Copyright 2005 The European Computer Driving Licence Foundation Ltd Σελίδα 1 από 7

Ref.: SLWS 1 5Copyright 2005 The European Computer Driving Licence Foundation Ltd Σελίδα 1 από 7 The European Computer Driving Licence Foundation Ltd Σελίδα 1 από 7 ΣΤΟΧΟΙ ΕΞΕΤΑΣΗΣ Η ενότητα ECDL WebStarter απαιτεί από τον Υποψήφιο να κατανοεί τις κύριες έννοιες της σχεδίασης και δημοσίευσης δικτυακών

Διαβάστε περισσότερα

Δομή παρουσίασης. Σχεδιασμός και υλοποίηση συστήματος παρακολούθησης και ελέγχου πωλητών και δημιουργία εφαρμογής σε έξυπνο κινητό

Δομή παρουσίασης. Σχεδιασμός και υλοποίηση συστήματος παρακολούθησης και ελέγχου πωλητών και δημιουργία εφαρμογής σε έξυπνο κινητό ΣχεδιασμοΣ και υλοποιηση συστηματοσ παρακολουθησησ και ελεγχου πωλητων και δημιουργια εφαρμογησ σε εξυπνο κινητο Επιβλέπων: Δρ. Μηνάς Δασυγένης Καψάλης Αθανάσιος 16 Οκτωβρίου 2013 Δομή παρουσίασης 1. Εισαγωγή

Διαβάστε περισσότερα

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP) ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP) Γιάννης Σαμωνάκης 1 Περιεχόμενα Τι είναι η PHP Που μπορεί να χρησιμοποιηθεί

Διαβάστε περισσότερα

Άσκηση. Εξοικείωση με την πλατφόρμα Moodle

Άσκηση. Εξοικείωση με την πλατφόρμα Moodle ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Μηχανικών Πληροφορικής ΤΕ Συστήματα Τηλεκπαίδευσης Άσκηση Εξοικείωση με την πλατφόρμα Moodle Με την άσκηση αυτή θα ενημερωθείτε και θα αρχίσετε να εξοικειώνεστε με το Σύστημα Διαχείρισης

Διαβάστε περισσότερα

Πολιτική για τα cookie

Πολιτική για τα cookie Πολιτική για τα cookie Η BSEU χρησιµοποιεί cookie για να βελτιώνει συνεχώς την εµπειρία των επισκεπτών της διαδικτυακής τοποθεσίας της. Πρώτα από όλα, τα cookie µπορούν να βελτιώσουν άµεσα αυτή την εµπειρία,

Διαβάστε περισσότερα

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά

Διαβάστε περισσότερα

Στοιχεία παρουσίασης. Εισαγωγή Θεωρητικό υπόβαθρο Υλοποίηση λογισμικού μέρους συστήματος Συμπεράσματα Μελλοντικές Επεκτάσεις

Στοιχεία παρουσίασης. Εισαγωγή Θεωρητικό υπόβαθρο Υλοποίηση λογισμικού μέρους συστήματος Συμπεράσματα Μελλοντικές Επεκτάσεις ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Σχεδιασμός Πληροφοριακού Συστήματος Καταγραφής μετρήσεων κοινής ωφελείας Υποβοηθούμενο από οπτική αναγνώριση μέσω Κινητού τηλεφώνου Μπούντας Δημήτρης Επιβλέπων Καθηγητής : Δασυγένης

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

Θέμα πτυχιακής εργασίας: ΑΝΑΠΤΥΞΗ ΕΜΠΟΡΙΚΟΥ ΠΑΚΕΤΟΥ ΓΙΑ ΕΠΙΧΕΙΡΙΣΗ ΧΟΝΔΡΙΚΗΣ ΜΕ ΧΡΗΣΗ CMS. Επιμέλεια: Κασσαβέτη Ευγενία, Παρχαρίδου Μαρία

Θέμα πτυχιακής εργασίας: ΑΝΑΠΤΥΞΗ ΕΜΠΟΡΙΚΟΥ ΠΑΚΕΤΟΥ ΓΙΑ ΕΠΙΧΕΙΡΙΣΗ ΧΟΝΔΡΙΚΗΣ ΜΕ ΧΡΗΣΗ CMS. Επιμέλεια: Κασσαβέτη Ευγενία, Παρχαρίδου Μαρία Θέμα πτυχιακής εργασίας: ΑΝΑΠΤΥΞΗ ΕΜΠΟΡΙΚΟΥ ΠΑΚΕΤΟΥ ΓΙΑ ΕΠΙΧΕΙΡΙΣΗ ΧΟΝΔΡΙΚΗΣ ΜΕ ΧΡΗΣΗ CMS Επιμέλεια: Κασσαβέτη Ευγενία, Παρχαρίδου Μαρία ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή Παγκόσμιος Ιστός Πρωτόκολλα Γλώσσες Ηλεκτρονικό

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δυναμική προσωποποιημένη ενημέρωση προσφορών Super Markets στη Θεσσαλονίκη

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δυναμική προσωποποιημένη ενημέρωση προσφορών Super Markets στη Θεσσαλονίκη ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δυναμική προσωποποιημένη ενημέρωση προσφορών Super Markets στη Θεσσαλονίκη Παπαδόπουλου Κυριάκου Αρ. Μητρώου: 093507 Επιβλέπων καθηγητής: Ηλιούδης Χρήστος Εισαγωγή - Σκοπός Εργασίας Καινοτόμες

Διαβάστε περισσότερα

Οικονομική Προσφορά Κατασκευή Ιστοσελίδας

Οικονομική Προσφορά Κατασκευή Ιστοσελίδας Οικονομική Προσφορά Κατασκευή Ιστοσελίδας 2015 Η εταιρία μας Η Moving up είναι μια εταιρία που δραστηριοποιείται στον τομέα των ολοκληρωμένων μορφών επικοινωνίας και διαφήμισης.όποιο και αν είναι το διαφημιστικό

Διαβάστε περισσότερα

Άσκηση 6 Επαναληπτική Άσκηση HTML

Άσκηση 6 Επαναληπτική Άσκηση HTML Άσκηση 6 Επαναληπτική Άσκηση HTML ΕΤΙΚΕΤΕΣ HTML ΕΤΙΚΕΤΑ ΠΕΡΙΓΡΑΦΗ ΙΔΙΟΤΗΤΕΣ ΙΔΙΟΤΗΤΑ ΤΙΜΗ ΠΕΡΙΓΡΑΦΗ Βασικές Ορίζει τον τύπο του αρχείου Ορίζει ένα αρχείο HTML Ορίζει ένα τίτλο

Διαβάστε περισσότερα

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

Διαβάστε περισσότερα

databases linux - terminal (linux / windows terminal)

databases linux - terminal (linux / windows terminal) databases linux - terminal (linux / windows terminal) 1) ανοίγουμε την mysql -> $ mysql -u root -p (enter) password (enter) TIP: αν κατά την εντολή αυτή μας γράψει, ERROR 2002 (HY000): Can't connect to

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

Διαβάστε περισσότερα

Java & Java EE 3o Μέρος: Διασφάλιση ασφάλειας σε εφαρμογές Java Enterprise Edition. Κακαρόντζας Γεώργιος

Java & Java EE 3o Μέρος: Διασφάλιση ασφάλειας σε εφαρμογές Java Enterprise Edition. Κακαρόντζας Γεώργιος Java & Java EE 3o Μέρος: Διασφάλιση ασφάλειας σε εφαρμογές Java Enterprise Edition Κακαρόντζας Γεώργιος Μεθοδολογία Θα υλοποιήσουμε την λεγόμενη πιστοποίηση μέσω φόρμας στοιχείων εισόδου (form-based authentication)

Διαβάστε περισσότερα

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA Καλωσορίσατε στην πλατφόρμα ηλεκτρονικής μάθησης E-Agiografia, Η Media Suite έχει αναπτύξει το Ολοκληρωμένο Σύστημα Τηλεκατάρτισης (e-learning) με την επωνυμία

Διαβάστε περισσότερα

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5.1 Εισαγωγή Το πρακτικό κομμάτι της πτυχιακής μας εργασίας αφορά την δημιουργία μιας λειτουργικής ιστοσελίδας με την χρήση της πλατφόρμας του Weebly, που αποτελεί μια σύγχρονη

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΙΚΟ ΕΠΙΜΟΡΦΩΤΙΚΟ ΣΕΜΙΝΑΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΙΣΑΓΩΓΙΚΟ ΕΠΙΜΟΡΦΩΤΙΚΟ ΣΕΜΙΝΑΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΙΚΟ ΕΠΙΜΟΡΦΩΤΙΚΟ ΣΕΜΙΝΑΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗΣ Web 2.0 ΕΦΑΡΜΟΓΕΣ & ΕΚΠΑΙΔΕΥΤΙΚΑ ΕΡΓΑΛΕΙΑ Α' Μέρος Εισαγωγικό Σεμινάριο Πληροφορικής. Ιούνιος 2014. ΚΕ.ΠΛΗ.ΝΕ.Τ. Ξάνθης 1 Α) ΔΗΜΙΟΥΡΓΊΑ ΛΟΓΑΡΙΑΣΜΟΥ Google

Διαβάστε περισσότερα

περιβάλλον joomla µε έµφαση στην υποστήριξη πολυµέσων

περιβάλλον joomla µε έµφαση στην υποστήριξη πολυµέσων ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΤΕΧΝΩΝ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ: ΓΡΑΦΙΚΕΣ ΤΕΧΝΕΣ ΠΟΛΥΜΕΣΑ Θεµατική ενότητα: ΓΤΠ61 Πληροφορική Πολυµέσα ΓΑΡ ΙΚΙΩΤΗΣ ΓΕΩΡΓΙΟΣ περιβάλλον joomla µε έµφαση στην υποστήριξη

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. Για το κείμενο των προδιαγραφών της

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL Ευαγγελία Πιτουρά 1 Τι έχουμε δει Μοντελοποίηση Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές Εργαστήριο Βάσεων Δεδομένων Δικαιώματα Χρηστών Προβολές Επικοινωνία με MySQL mysql host DB server queries results Client host Β Δ Η χρήση της mysql βασίζεται στο μοντέλο client server Remote access to

Διαβάστε περισσότερα

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο. Εργαστήριο #12 Από τα προηγούμενα εργαστήρια: Το εργαστήριο αυτό είναι ανεξάρτητο από τα προηγούμενα επειδή όμως ασχολείται με τη γλώσσα JavaScript, βεβαιωθείτε ότι έχετε διαβάσει το εισαγωγικό Παράρτημα

Διαβάστε περισσότερα

Βασικά στοιχεία του CSS

Βασικά στοιχεία του CSS Βασικά στοιχεία του CSS Περιεχόμενα Τι είναι CSS Πλεονεκτήματα CSS μορφοποίησης Συντακτικό του CSS Ιδιότητες CSS Εφαρμογή CSS κανόνων Επικάλυψη CSS κανόνων 2 Μορφοποίηση με HTML Η HTML είναι σχεδιασμένη

Διαβάστε περισσότερα

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA Καλωσορίσατε στην πλατφόρμα ηλεκτρονικής μάθησης E-Agiografia, Η Media Suite έχει αναπτύξει το Ολοκληρωμένο Σύστημα Τηλεκατάρτισης (e-learning) με την επωνυμία

Διαβάστε περισσότερα

Διάλεξη 2η Εισαγωγή στο CSS

Διάλεξη 2η Εισαγωγή στο CSS Διάλεξη 2η Εισαγωγή στο CSS Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης Αντώνης Χρυσόπουλος I S S E L D e c o d e (Intelligent Systems & Software Engineering Lab) Στόχος της ώρας Τι είναι το CSS? Γιατί να χρησιμοποιήσω

Διαβάστε περισσότερα

Υπηρεσίες Πανελληνίου Σχολικού Δικτύου 16 - Φιλοξενία Ιστοσελίδων

Υπηρεσίες Πανελληνίου Σχολικού Δικτύου 16 - Φιλοξενία Ιστοσελίδων Υπηρεσίες Πανελληνίου Σχολικού Δικτύου 16 - Φιλοξενία Ιστοσελίδων Προεπισκόπηση Παρουσίασης Φιλοξενία Ιστοσελίδων 1. Εισαγωγή 2. Ορισμοί 3. Όροι χρήσης 4. Κανόνες ονοματολογίας 5. Πίνακας Ελέγχου 6. Δημοσίευση

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. 3. Η υλοποίηση απλών ερωτημάτων mysql

Διαβάστε περισσότερα

Cascading Style Sheets (CSS)

Cascading Style Sheets (CSS) Cascading Style Sheets (CSS) Τα Cascading Style Sheets προσφέρουν έναν εύκολο τρόπο για να ορίσουμε τη μορφοποίηση που επιθυμούμε να έχουν οι σελίδες μία τοποθεσίας του Παγκόσμιου Ιστού που δημιουργούμε.

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

Διαβάστε περισσότερα

Γλώσσα περιγραφής οδηγιών εµφάνισης-στοιχειοθέτησης

Γλώσσα περιγραφής οδηγιών εµφάνισης-στοιχειοθέτησης CASCADING STYLE-SHEETS CASCADING STYLE-SHEETS Γλώσσα περιγραφής οδηγιών εµφάνισης-στοιχειοθέτησης εφαρµογών HTML. Τα CSS ορίζονται σε δύο συστάσεις του W3C: CSS1, εκ. 1996 περιλαµβάνει περίπου 50 ιδιότητες

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα3 Επικοινωνία και Διαδίκτυο 11.1 Γενική Εισαγωγή στην HTML Τι είναι η HTML (HyperText Markup Language); Είναι μια γλώσσα σήμανσης (Markup) με την οποία πραγματοποιείται η δόμηση σελίδων του Παγκόσμιου

Διαβάστε περισσότερα

Στην τεχνολογία των CSS, οι κανόνες στυλ (style

Στην τεχνολογία των CSS, οι κανόνες στυλ (style Δικτυακά Πολυμέσα ΙΙ Εργαστήριο #4 0 : CSS: Βασικές και προχωρημένες τεχνικές επιλογής, τα στοιχεία και , ψευδο κλάσεις και ψευδο επιλογείς Γαβαλάς Δαμιανός dgavalas@aegean.gr CSS κανόνες στυλ

Διαβάστε περισσότερα

Τεχνικός Εφαρμογών Πληροφορικής

Τεχνικός Εφαρμογών Πληροφορικής Τεχνικός Εφαρμογών Πληροφορικής ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ Εξάμηνο: 2014Β Διδάσκουσα: Ηλεκτρονική Τάξη: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Περιεχόμενα 1.Τι είναι η Php; 2.Πως γίνετε η γραφή

Διαβάστε περισσότερα

Η βασική εργαλειοθήκη του διαδικτύου

Η βασική εργαλειοθήκη του διαδικτύου Η βασική εργαλειοθήκη του διαδικτύου Ματθαίος Πατρινόπουλος 1 2 HTML Hyper Text Markup Language Σήμερα στην έκδοση 5 --> HTML5 Δεν είναι γλώσσα προγραμματισμού αλλά γλώσσα που καθορίζει η δομή και τις

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Πτυχιακή Εργασία Θέμα Διαδικτυακή Μουσική Εγκυκλοπαίδεια με PHP & MySQL Πιστόλας Κωνσταντίνος, Α.Μ : 119/03 Κάκαρης Παντελής, Α.Μ : 88/03 Εξεταστική

Διαβάστε περισσότερα

2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ

2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ 2014 2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ H HTML είναι μία γλώσσα σήμανσης και αποτελεί την κύρια γλώσσα δημιουργίας ιστοσελίδων του διαδικτύου. Είναι το ακρωνύμιο των λέξεων HyperText

Διαβάστε περισσότερα

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη

Διαβάστε περισσότερα

Social Network : Programming on FACEBOOK

Social Network : Programming on FACEBOOK Social Network : Programming on FACEBOOK Συντελεστές: Παύλος Τούλουπος Ευθυμία Παπαδοπούλου Ξάνθη Μάρκου Κοινωνικά Δίκτυα Κοινωνικό δίκτυο προέρχεται από την ψυχολογία αφορά μια κοινωνική δομή ατόμων τα

Διαβάστε περισσότερα

Χαρακτηριστικά ιστοσελίδας

Χαρακτηριστικά ιστοσελίδας Χαρακτηριστικά ιστοσελίδας COSMOS4U Web Site Pro Χαρακτηριστικά Επιπλέον Δυνατότητες Προφίλ Εταιρίας Παρουσίαση της εταιρίας σας με φωτογραφικό υλικό και κείμενα. Τήρηση προδιαγραφών και χρήση λέξεων κλειδιά

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

Διαβάστε περισσότερα

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε! Θέλετε να μάθετε πως μπορείτε να έχετε πρόσβαση στις 5250 οθόνες μέσω browser, χωρίς αλλαγή στις υπάρχουσες εφαρμογές και χωρίς εγκατάσταση στον client? Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Διαβάστε περισσότερα

Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Οδηγίες κατάθεσης εργασίας στο σύστημα διαχείρισης αποθετηρίου DSpace 2 Κατάθεση εργασίας στο σύστημα Ιδρυματικού Αποθετηρίου 1. Είσοδος στο σύστημα 1. Ανοίγουμε

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου Α Γενικού Λυκείου 87 Διδακτικές ενότητες 10.1 Υπηρεσίες Διαδικτύου 10.2 Ο παγκόσμιος ιστός, υπηρεσίες και εφαρμογές Διαδικτύου Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να μπορούν να διακρίνουν

Διαβάστε περισσότερα

Η HTML 5 θα αλλάξει το Web?

Η HTML 5 θα αλλάξει το Web? Η HTML 5 θα αλλάξει το Web? (ή αλλιώς, έρχεται το τέλος των plugins?) Αλέξανδρος Καράκος Εργαστήριο Προγραµµατισµού και Επεξεργασίας Πληροφοριών Internet 2... Είναι ένα ξεχωριστό µέσο δηµοσίευσης πληροφοριών

Διαβάστε περισσότερα

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών Φορολογική Βιβλιοθήκη Θανάσης Φώτης Προγραμματιστής Εφαρμογών Το έργο Η φορολογική βιβλιοθήκη πρόκειται για ένα έργο που φιλοδοξεί να αποτελέσει σημαντικό βοήθημα για τον επαγγελματία λογιστή και όχι μόνο.

Διαβάστε περισσότερα

Εφαρµογές διαδικτύου µε PHP

Εφαρµογές διαδικτύου µε PHP Εφαρµογές διαδικτύου µε PHP Σταύρος Πολυβίου Αρχιτεκτονική τριών επιπέδων (three-tier architecture) SQL HTTP request Αποτελέσµατα (πίνακες) PHP HTML Σύστηµα διαχείρισης δεδοµένων (Database Management System)

Διαβάστε περισσότερα

2. Επιλέξτε την σωστή ετικέτα HTML που προσφέρει το μεγαλύτερο φόντο κειμένου.

2. Επιλέξτε την σωστή ετικέτα HTML που προσφέρει το μεγαλύτερο φόντο κειμένου. <head> <heading> <h6> <h1> ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Τομέας Υπολογιστικών Συστημάτων και Ελέγχου Τεχνολογίες Πολυμέσων - Εφαρμογές Δρ. Β. ΒΑΛΑΜΟΝΤΕΣ Ε-mail: vala@teiath.gr Να απαντήσετε στις παρακάτω ερωτήσεις. 1. Τι σημαίνουν τα αρχικά

Διαβάστε περισσότερα

Injection Attacks. Protocol Host FilePath. field1=valuex&field2=valuey. Query String. Web server HTTP GET.

Injection Attacks. Protocol Host FilePath.  field1=valuex&field2=valuey. Query String. Web server HTTP GET. Πως γίνεται η πρόσβαση σήμερα; Το user input περνάει από ένα server-side script μέσω HTTP methods όπως POST/GET Το αίτημα επεξεργάζεται Ανάλογα ανοίγει πρόσβαση στη βάση Query database και ανάκτηση results

Διαβάστε περισσότερα

Εγχειρίδιο εγκατάστασης και χρήσης περιοδικών etwinning

Εγχειρίδιο εγκατάστασης και χρήσης περιοδικών etwinning Εγχειρίδιο εγκατάστασης και χρήσης περιοδικών etwinning Εισαγωγή Η εφαρμογή των περιοδικών etwinning δίνει τη δυνατότητα σε εκπαιδευτικούς που έχουν λογαριασμό στο Πανελλήνιο Σχολικό Δίκτυο και που έχουν

Διαβάστε περισσότερα

ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών. Επώνυμο Όνομα: Α.Μ. : Εξάμηνο : Αίθουσα

ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών. Επώνυμο Όνομα: Α.Μ. : Εξάμηνο : Αίθουσα ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών, Τμήμα Πληροφορικής και Επικοινωνιών Προγραμματιστικές Εφαρμογές στο Διαδίκτυο (Θ) Τελική Εξέταση - Διδάσκων: Δ. Κοτζίνος Επώνυμο Όνομα: Α.Μ. : Εξάμηνο : Αίθουσα

Διαβάστε περισσότερα

PHP/MySQL και Project

PHP/MySQL και Project PHP/MySQL και Project Μια απλή διαδικτυακή εφαρμογή Γεώργιος Ευαγγελίδης Τμήμα Εφαρμοσμένης Πληροφορικής Σχολή Επιστημών Πληροφορίας Πανεπιστήμιο Μακεδονίας Περιεχόμενα PHP (Middle tier) Διαδικτυακές εφαρμογές

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

Διαβάστε περισσότερα

1 ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ - ΤΜΗΜΑ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ

1 ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ - ΤΜΗΜΑ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ 1 2 Περιεχόμενα 1. Εισαγωγή... 5 2. Επεξήγηση των εργαλείων που χρησιμοποιήθηκαν για την δημιουργία της ιστοσελίδας... 6 2.1 Γλώσσα προγραμματισμού ΗΤML για την δημιουργία της Ιστοσελίδας... 6 2.2 Γλώσσα

Διαβάστε περισσότερα

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 1) Σταύρος Καουκάκης Ευτύχιος Βαβουράκης 1 Λίγα Λόγια για το Σχολείο Μονάδες

Διαβάστε περισσότερα

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : /www.wik id ot.com /

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : /www.wik id ot.com / ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : /www.wik id ot.com / 1. Τι είναι το wikidot Το wikidot είναι ένας δικτυακός τόπος στον οποίο κάθε χρήστης έχει το δικαίωμα να δημιουργήσει

Διαβάστε περισσότερα

Απαντήστε στις παρακάτω ερωτήσεις πολλαπλής επιλογής (μόνο μία ερώτηση είναι σωστή):

Απαντήστε στις παρακάτω ερωτήσεις πολλαπλής επιλογής (μόνο μία ερώτηση είναι σωστή): Απαντήστε στις παρακάτω ερωτήσεις πολλαπλής επιλογής (μόνο μία ερώτηση είναι σωστή): 1. Ο Παγκόσμιος Ιστός (world wide web): a. Ταυτίζεται με το Internet b. Είναι υπηρεσία διαχείρισης και πρόσβασης σε

Διαβάστε περισσότερα

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών PHP 1 Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη 1 3 η ενότητα: Εισαγωγή στις Βάσεις Δεδομένων και στην MySQL

Διαβάστε περισσότερα

ICOP - ΥΠΗΡΕΣΙΕΣ INTERNET-WEBSOLUTIONS ΠΡΟΤΑΣΗ-ΑΝΑΘΕΣΗ ΕΡΓΟΥ(760) Εταιρεία:.. Προς:. Tηλ.:.. Πωλητής:

ICOP - ΥΠΗΡΕΣΙΕΣ INTERNET-WEBSOLUTIONS ΠΡΟΤΑΣΗ-ΑΝΑΘΕΣΗ ΕΡΓΟΥ(760) Εταιρεία:.. Προς:. Tηλ.:.. Πωλητής: Θρασυμάχου 14, Αθήνα - 6ος όροφος Τηλέφωνο: 210 2139880 Fax: 210 2139916 E-mail: sales@icop.gr www.icop.gr ICOP - ΥΠΗΡΕΣΙΕΣ INTERNET-WEBSOLUTIONS ΠΡΟΤΑΣΗ-ΑΝΑΘΕΣΗ ΕΡΓΟΥ(760) Ημερομηνία:.. E-mail: Εταιρεία:..

Διαβάστε περισσότερα

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Moodle

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Moodle Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Moodle Κάργα Σουλτάνα MSc Πληροφορικός skarga@uom.gr Κατσάνα Αικατερίνη MSc Πληροφορικός akatsana@uom.gr «18 ο Συνάντηση Εκπαιδευτικών για θέματα Τ.Π.Ε. στη Δυτική Μακεδονία»,

Διαβάστε περισσότερα

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που 1 Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που μπορούμε να χρησιμοποιήσουμε σε μία JDBC εφαρμογή. Υπάρχει

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δρ. Χρήστος Όροβας Τεχνικός Υπεύθυνος 1 Διαδικασία «Φόρτωσης» μιας Ιστοσελίδας Internet Explorer, Mozilla, Chrome, κτλ HTTP Server ΠΣΔ Αίτημα για επικοινωνία

Διαβάστε περισσότερα

Διάλεξη 6η CSS Advanced

Διάλεξη 6η CSS Advanced Διάλεξη 6η CSS Advanced Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης Αντώνης Χρυσόπουλος I S S E L D e. c o. d e. (Intelligent Systems & Software Engineering Lab) Στόχος της ώρας Block & Inline elements Advanced

Διαβάστε περισσότερα

Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΔΟΜΗΣΗ ΚΩΔΙΚΑ. Μαθαίνω παίζοντας

Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΔΟΜΗΣΗ ΚΩΔΙΚΑ. Μαθαίνω παίζοντας Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΔΟΜΗΣΗ ΚΩΔΙΚΑ Μαθαίνω παίζοντας Σήμερα παιδάκια μου θα μάθουμε... 1. Δόμηση Κώδικα 2. Στυλ Κώδικα 3. Συνεργασία Σε Ομάδες - Διαχωρισμός Σε Αρχεία

Διαβάστε περισσότερα

Η Βίβλος των CSS. Εισαγωγή στα CSS

Η Βίβλος των CSS. Εισαγωγή στα CSS Η Βίβλος των CSS Εισαγωγή στα CSS Τα Διαδοχικά Φύλλα Στυλ (CSS, Cascading Style Sheets) αποτελούν ένα πολύ καλό εργαλείο για να μπορούμε να αλλάζουμε την εμφάνιση και τη διάταξη (layout) των ιστοσελίδων

Διαβάστε περισσότερα

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013

Διαβάστε περισσότερα

ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ

ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ Πολυτεχνειούπολη Ακρωτηρίου, Χανιά, 73100 Τηλ.: 28210 37400 (κεντρικό), 28210 37766 (κτίριο ΜΗΠΕΡ), Fax: 28210 37571 e-mail:

Διαβάστε περισσότερα