Αν και το λογισμικό Μ.Α.Θ.Η.Μ.Α. είναι ευκολόχρηστο, σε κάποια σημεία του παρουσιάζει δυσκολίες για τον πρωτόπειρο χρήστη- μαθητή. Στο παρόν αρχείο παρουσιάζονται ορισμένες επισημάνσεις ανά εικονικό εργαστήριο προς διευκόλυνση των χρηστών, στο πλαίσιο της επιμόρφωσης των εκπαιδευτικών στη χρήση και αξιοποίηση των ΤΠΕ στην τάξη (β΄ επίπεδο).
Αν και το λογισμικό Μ.Α.Θ.Η.Μ.Α. είναι ευκολόχρηστο, σε κάποια σημεία του παρουσιάζει δυσκολίες για τον πρωτόπειρο χρήστη- μαθητή. Στο παρόν αρχείο παρουσιάζονται ορισμένες επισημάνσεις ανά εικονικό εργαστήριο προς διευκόλυνση των χρηστών, στο πλαίσιο της επιμόρφωσης των εκπαιδευτικών στη χρήση και αξιοποίηση των ΤΠΕ στην τάξη (β΄ επίπεδο).
ΙΣΤΟΡΙΟΓΡΑΜΜΗ (STORYLINE)- ΤΟ ΠΑΡΚΟ ΤΗΣ ΓΕΙΤΟΝΙΑΣ ΜΑΣAlexandra Tsigkou
Ένα θέμα περιβαλλοντικής εκπαίδευσης "Το Πάρκο της γειτονιάς μας" με τη μέθοδο της Ιστοριογραμμής (Storyline) από την Περσεφόνη Τσιμάκη, τ. μέλος ΠΟ ΚΠΕ Δραπετσώνας
Καλησπέρα, σήμερα θα αναλύσουμε για την γλώσσα HTML5, θα δούμε λίγο τον κώδικα της & ότι έχει να κάνει με αυτό.
Good evening, today we will analyze for HTML5, we will see a bit of his code & it has to do with it.
ΙΣΤΟΡΙΟΓΡΑΜΜΗ (STORYLINE)- ΤΟ ΠΑΡΚΟ ΤΗΣ ΓΕΙΤΟΝΙΑΣ ΜΑΣAlexandra Tsigkou
Ένα θέμα περιβαλλοντικής εκπαίδευσης "Το Πάρκο της γειτονιάς μας" με τη μέθοδο της Ιστοριογραμμής (Storyline) από την Περσεφόνη Τσιμάκη, τ. μέλος ΠΟ ΚΠΕ Δραπετσώνας
Καλησπέρα, σήμερα θα αναλύσουμε για την γλώσσα HTML5, θα δούμε λίγο τον κώδικα της & ότι έχει να κάνει με αυτό.
Good evening, today we will analyze for HTML5, we will see a bit of his code & it has to do with it.
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...ISSEL
Η ανάπτυξη της Τεχνητής Νοημοσύνης τα τελευταία χρόνια έχει επιτρέψει τις τεχνολογίες ψηφιακών βοηθών να αναδειχθούν. Από κέντρα εξυπηρέτησης πελα τών εώς και ιατρικές διαγνώσεις, οι ψηφιακοί βοηθοί βρίσκουν εφαρμογή σε πολ λούς τομείς και χρησιμοποιούνται καθημερινά από χρήστες. Όλο και περισσότερες εταιρείες προσπαθούν να τους ενσωματώσουν στο πλαίσιό τους και οι τεχνολογίες πίσω από αυτούς συνεχώς εξελίσσονται. Επιπλέον, οι τεχνολογίες Ανοιχτού Κώδικα φέρνουν τα εργαλεία δημιουργίας ψηφιακών βοηθών πιο κοντά στους προγραμμα τιστές επιτρέποντας τους να πειραματιστούν με αυτά. Ένα τέτοιο εργαλείο είναι και το Rasa, μια τεχνολογία Ανοιχτού Κώδικα για τη δημιουργία ψηφιακών βοηθών βιομηχανικού επιπέδου που χρησιμοποιούν την Τεχνητή Νοημοσύνη. Η χρήση του Rasa απαιτεί ένα υψηλό επίπεδο προγραμματιστικών γνώσεων πράγμα που περιορίζει την ανάπτυξη τέτοιων συστημάτων αποκλειστικά σε προ γραμματιστές. Ενώ οι ψηφιακοί βοηθοί γίνονται όλο και πιο απαραίτητοι σε καθη μερινές εφαρμογές, το εμπόδιο της τεχνογνωσίας περιορίζει τον αριθμό των ατόμων που ασχολούνται με αυτές. Η παρούσα διπλωματική εργασία εστιάζει στην ανάπτυξη ενός εύχρηστου ερ γαλείου δημιουργίας σεναρίων-δεδομένων για το Rasa με στόχο την γρήγορη δη μιουργία ψηφιακών βοηθών. Με τη χρήση Python και συγκεκριμένα του framework Django παρουσιάζεται η υλοποίηση μιας full-stack εφαρμογής, από τις όψεις και τις διευθύνσεις των πόρων εώς τα μοντέλα και τις back-end διεργασίες. Η εφαρμογή αυτή κάνει εύκολη την δημιουργία και επεξεργασία ψηφιακών βοηθών αυτοματο ποιώντας τις περισσότερες λειτουργίες του Rasa. Επιπρόσθετα, γίνεται η χρήση της εφαρμογής με τη δημιουργία ψηφιακών βοη θών, απλών και σύνθετων. Αρχικά παρουσιάζεται η σχεδίαση των σεναρίων και των ιστοριών που θα ακολουθήσει η συζήτηση και στη συνέχεια αυτά υλοποιούνται στο σύστημα. Τέλος, δοκιμάζονται οι βοηθοί και αξιολογείται το αποτέλεσμα από τα παραδείγματα συζητήσεων. Σύμφωνα με τα αποτελέσματα, η εφαρμογή μπορεί να δημιουργήσει επιτυχη μένα ψηφιακούς βοηθούς που περιέχουν τα βασικά συστατικά του Rasa. Όσο όμως οι ψηφιακοί βοηθοί γίνονται πιο σύνθετοι, καθίστανται αναγκαία κάποια ανθρώπινη παρέμβαση ώστε η επιθυμητή λειτουργία να υλοποιηθεί. Έτσι παρότι η εφαρμογή λειτουργεί όπως θέλουμε σε απλά και σύνθετα σενάρια, όταν ο χειριστής χρειά ζεται κάτι αρκετά απαιτητικό σε πολυπλοκότητα, απαραίτητη είναι και πάλι η τεχνογνωσία προγραμματιστικών ικανοτήτων.
Development of a system for designing remote digital image processing pipelin...ISSEL
Nowadays, Digital Image Processing and Computer Vision have significantly evolved and have found their applications in almost every sector. Autonomous cars perceive the world around them through their optical sensors, medical imaging data are processed to extract conclusions about pathological conditions, the production line is monitored to detect abnormalities, and these are only a few examples of Computer Vision penetration in our everyday reality. At the same time, the distributed sensor networks in the concept of Internet of Things have an increasing presence in everyday life. However these devices usually don’t have sufficient computing power to execute complex and resource-demanding algorithms, such as Computer Vision ones. The classical approach for IoT systems is to create code flows and execute them on a remote host, but an automated approach would be even more interesting, using graphical building blocks, that will allow people of all specialties to create Machine Vision pipelines. In this diploma thesis, a system for developing digital image processing pipelines on a low code environment is created, that allows the pipelines to be executed remotely with the use of IoT protocols. For the graphical user interface of the application the Node-RED framework is selected, and a package is developed for it, in which each node requests the remote computation of a digital image processing algorithm. Furthermore, an image processing server is created, that executes the corresponding algorithms based on OpenCV and skimage libraries, and is also responsible for encoding and decoding the data between one form to be transmitted through the network and one form that is understood by the algorithms. The two entities communicate with each other through MQTT brokers, and can also be accessed externally. Finally, the system was tested through a number of pipelines of increasing size, that processed a single image, as well as a sequence of images. Also, a time analysis of the various processing stages was performed.
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...ISSEL
Σήμερα η Ψηφιακή Επεξεργασία Εικόνας και η Μηχανική Όραση βρίσκουν περισσότερες εφαρμογές από ποτέ. Τα αυτόνομα αυτοκίνητα για την κατανόηση του κόσμου γύρω τους μέσω των οπτικών αισθητηρίων τους, η επεξεργασία ιατρικών τομογραφιών για την εξαγωγή συμπερασμάτων για την ύπαρξη η όχι διαφόρων παθήσεων, η παρακολούθηση των γραμμών παραγωγής και ο εντοπισμός ανωμαλιών είναι μόλις μερικές από αυτές. Ταυτόχρονα, τα κατανεμημένα συστήματα αισθητήρων στο πλαίσιο του Internet of Things έχουν αυξανόμενη παρουσία στην καθημερινότητα των ανθρώπων. Πρόκειται για συστήματα ωστόσο με επεξεργαστική ισχύ που συνήθως δεν επαρκεί για την εκτέλεση πολύπλοκων και απαιτητικών σε πόρους αλγορίθμων, όπως αυτοί της Μηχανικής Όρασης. Η κλασσική προσέγγιση είναι ο συνδυασμός εντολών κώδικα και η εκτέλεσή του σε απομακρυσμένο κεντρικό υπολογιστή, όμως περισσότερο ενδιαφέρον παρουσιάζεται σε μία αυτοματοποιημένη προσέγγισή του, με χρήση γραφικών δομικών στοιχείων, που θα επιτρέψει σε άτομα κάθε ειδικότητας να μπορούν να ασχοληθούν με την δημιουργία ροών Μηχανικής Όρασης. Η συγκεκριμένη διπλωματική εστιάζει ακριβώς στην ανάπτυξη ενός τέτοιου συστήματος, για την ανάπτυξη ροών επεξεργασίας εικόνας σε περιβάλλον χαμηλού κώδικα, που θα εκτελούνται σε απομακρυσμένη τοποθεσία. Συγκεκριμένα, επιλέχθηκε το εργαλείο Node-RED ως η γραφική διεπαφή χρήστη και δημιουργήθηκε ένα πακέτο κόμβων για αυτό, στο οποίο κάθε κόμβος ζητά την εκτέλεση ενός αλγορίθμου επεξεργασίας εικόνας από έναν απομακρυσμένο διακομιστή. Επιπλέον, δημιουργήθηκε ο διακομιστής επεξεργασίας εικόνας, ο οποίος εκτελεί τους αντίστοιχους αλγορίθμους βασισμένος στις βιβλιοθήκες OpenCV και skimage, και είναι υπεύθυνος να κωδικοποιεί τα δεδομένα σε μορφές κατάλληλες τόσο για αποστολή στο δίκτυο όσο και για κατανόηση από τους αλγορίθμους. Οι δύο οντότητες επικοινωνούν μεταξύ τους μέσω μεσιτών (brokers) και μπορούν να προσπελαστούν και εξωτερικά. Τέλος, δημιουργήθηκαν τρία σενάρια χρήσης του συστήματος για την επεξεργασία μίας εικόνας, αλλά και χρονικής ακολουθίας εικόνων από ροές διαφόρων μεγεθών, και πραγματοποιήθηκαν πειράματα σχετικά με την απόδοση του συστήματος.
Μία περιεκτική εισαγωγή στo Rails framework γραμμένη εξ'ολοκλήρου στα ελληνικά.
Έκδοση 1.0,
12 Ιαν 2007
Δημητρακόπουλος Νικόλαος,
Άδεια Χρήσης Ελεύθερης Τεκμηρίωσης GNU
Στα πλαίσια του ACM Student Chapter του Πανεπιστημίου Πελοποννήσου και του Ruby Hellenic Users Group
Micro Front-ends and Microservices Architecture in Web Application DevelopmentISSEL
Today, Web Development has left the static structure of monolithic code far behind and has adopted new architectures that allow interaction, more efficient and easy data management, tolerance of potential errors, easier code upgrade, etc. Two of these architectures are those of micro front-ends and microservices which aim to separate a page or application into smaller services for more efficient management of client requests and data. In this thesis, the advantages of these two architectures are studied and analyzed, as well as their patterns, which offer different advantages depending on the developer’s goal. The bibliography used to extract the information mostly consists of scientific research from the last decade (between 2011 and 2022), concerning different aspects and uses of microservices and micro front-ends. In addition, examples are provided from the implementation of two e-commerce applications that were created in the context of the diploma thesis in order to highlight the use of micro front-ends using JavaScript and REACT framework. Finally, disadvantages of the architectures are presented as well as conclusions for their implementation.
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...ISSEL
Σήµερα, το Web Development έχει αφήσει κατά πολύ πίσω του την στατική δοµή του µονολιθικού κώδικα και έχει υιοθετήσει νέες αρχιτεκτονικές που επιτρέπουν την διάδραση, την πιο αποτελεσµατική και εύκολη διαχείριση δεδοµένων, την ανοχή σε δυνητικά σφάλµατα, την ευκολότερη αναβάθµιση του κώδικα, κ.α. ∆ύο από αυτές τις αρχιτεκτονικές είναι και αυτές των micro front-ends και microservices οι οποίες αποσκοπούν στον διαχωρισµό µίας σελίδας ή εφαρµογής σε µικρότερες υπηρεσίες για την αποτελεσµατικότερη διαχείριση των αιτηµάτων του client και την καλύτερη διαχείριση των δεδοµένων. Στην παρούσα διπλωµατική εργασία, µελετώνται και αναλύονται τα πλεονεκτήµατα των δύο αυτών αρχιτεκτονικών, καθώς επίσης και τα patterns αυτών, τα οποία προσφέρουν ξεχωριστά πλεονεκτήµατα ανάλογα µε τον στόχο του developer. Η ϐιβλιογραφία που χρησιµοποιήθηκε για την άντληση των πληροφοριών, απαρτίζεται ως επί το πλείστον από επιστηµονικές έρευνες της τελευταίας δεκαετίας (µεταξύ 2011 και 2022), που αφορούν διαφορετικές πτυχές και χρήσεις των microservices και micro front-ends. Επιπροσθέτως, παράθετονται παραδείγµατα από την υλοποίηση δύο e-commerce εφαρµογών που δηµιουργήθηκαν στα πλαίσια της διπλωµατικής εργασίας µε σκοπό την ανάδειξη της εϕαρµογής των micro front-ends µε τη χρήση JavaScript και REACT framework. Τέλος, παρουσιάζονται µειονεκτήµατα των αρχιτεκτονικών καθώς και συµπεράσµατα για την εϕαρµογή τους.
KnowCrunch - SEO Report - Case Study: cookshop.grKnowcrunch
Our KnowCrunch students of the Professional Diploma in Digital & Social Media in Athens (Oct. ’19) worked for a few hours and presented a SEO Report for a brand. Learn more about this awesome course: knowcrunch.com
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...ISSEL
Σήμερα, η ανάπτυξη της τεχνολογίας και η αξιοποίηση της σε όλους τους τομείς της ζωής του ανθρώπου, δημιουργεί την ανάγκη για λογισμικό που είναι έυκολα προσαρμόσιμο, ευπαρουσίαστο, επιλύει πολλούς τύπους προβλημάτων, είναι οικονομικό και αξιόπιστο. Η Μοντελοστραφής Μηχανική (MDE), δηλαδή η ανάπτυξη λογισμικού που στηρίζεται σε μοντέλα, η αυτόματη παραγωγή κώδικα με βάση αυτά τα μοντέλα, η δυνατότητα γραφικής απεικόνισης του λογισμικού σε συνδυασμό με τις τεχνικές του Αυτοματοποιημένου Ελέγχου Συμπερασμών (Automated Reasoning) καλύπτουν ανά περίπτωση τις παραπάνω ανάγκες. Στην παρούσα διπλωματική εργασία, έγινε αξιοποίηση όλων των παραπάνω τεχνικών για την κατασκευή ενός ολοκληρωμένου εργαλείου, στην πλατφόρμα του Eclipse, με στόχο την κάλυψη των προαναφερθέντων αναγκών. Πιο συγκεκριμένα στα πλαίσια της Μοντελοστραφούς Μηχανικής (MDE) κατασκευάστηκε ένα μέτα-μοντέλο που αποτελεί τον πηρύνα του συστήματος και ενσωματώνει όρους από το πεδίο του Λογισμού. Στη συνέχεια, πάνω σε αυτό δημιουργήθηκε μια γραφική διεπαφή, στο περιβάλλον του Sirius, που δίνει την δυνατότητα στον ενδιαφερόμενο να καταγράψει, με γραφικό τρόπο, το μοντέλο που επιθυμεί. Η καταγραφή του μοντέλου γίνεται με την μορφή εξισώσεων σωστά διατυπωμένων στα πρότυπα της Κατηγορηματικής Λογικής Πρώτης Τάξης (FOL). Από αυτό το μοντέλο ύστερα, παράγεται αυτόματα κώδικας Java, ο οποίος αξιοποιώντας συναρτήσεις και αντικείμενα της βιβλιοθήκης TweetyProject, διαμορφώνεται κατάλληλα ώστε να αποτελεί έγκυρη είσοδο για τον built-in prover της ίδιας βιβλιοθήκης που μπορεί να πραγματοποιεί λογικούς ελέγχους στα πρότυπα του Αυτοματοποιημένου Ελέγχου Συμπερασμών. Μερικές ακόμα βοηθητικές συναρτήσεις σε Java, ολοκληρώνουν το εργαλείο της διπλωματικής. Όλα τα παραπάνω καθιστούν, το σύστημα που αναπτύχθηκε σε αυτή την διπλωματική, ικανό να χρησιμοποιηθεί από διάφορους υπάρχοντες μηχανισμούς αυτόματης παραγωγής συστημάτων, προκειμένου να ελέγξουν την εγκυρότητα των υπό σχεδίαση συστημάτων, δίχως κάποιος να απαιτείται να υλοποιήσει λογισμικό που κάνει λογικούς συμπερασμούς.
Design and Implementation of a Mechanism that automates the generation of Sof...ISSEL
Today, the development of technology and its utilization in all areas of human life, creates the need for software that is easily customizable, presentable, solves many types of problems, is economical and reliable. Model-Driven Engineering (MDE), ie software development based on models, the automatic production of code based on these models, the ability to graphically display the software, in combination with the techniques of Automated Reasoning meet the above needs. In the current diploma thesis, in order to meet the aforementioned needs, all the above techniques were utilized for the construction of a complete software tool, on the Eclipse platform. More specifically, in the framework of Model-Driven Engineering (MDE), a meta model was constructed which constitutes the core of the system and incorporates terms from the field of Logic. Expanding on this, a graphical interface was created, in the Sirius environment, which allows the interested party to construct, in a graphic way, the model he wants. The construction of the model is done in the form of equations, correctly formulated in the standards of First Order Logic (FOL). From this model, Java code is automatically generated, which utilizing functions and objects of the TweetyProject library, is properly configured to be a valid input for the built-in prover of the same library, that can perform logical tests in the standards of Automated Logic. Some more functions written in Java, complete the software tool of this diploma thesis. All of the above, constitute the software tool developed in this diploma, capable of being used by various mechanisms that automatically produce systems, in order to check the validity of the systems under design, without the need to implement additional software that draws logical conclusions.
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούISSEL
Τα τελευταία χρόνια παρατηρείται μια ραγδαία ανάπτυξη στο τομέα των υπηρεσιών νέφους(cloud computing) η οποία προκάλεσε το ενδιαφέρον πολλών επιχειρήσεων, με τη ζήτησή τους να αυξάνεται συνεχώς όπως επίσης και ο αριθμός των παρόχων που προσφέρουν αυτές τις υπηρεσίες. Όμως, παρά το ότι έχει εδραιωθεί η χρήση του cloud computing προσφέροντας πολλά πλεονεκτήματα, ανακύπτουν και διάφορες προκλήσεις, όπως η ασφάλεια των δεδομένων. Βασικό στοιχείο της διαδικασίας ανάπτυξης λογισμικού αποτελεί η συχνή πραγματοποίηση ελέγχων (tests) στην εφαρμογή, που αποσκοπεί στην διασφάλιση της ποιότητας, και την ελαχιστοποίηση των σφαλμάτων (bugs) , κάτι που επιτυγχάνεται μέσω των συστημάτων συνεχούς ενσωμάτωσης (Continuous Integration, CI). Μετά την επιτυχημένη εκτέλεση των αυτοματοποιημένων ελέγχων, το CI αποστέλλει και εκτελεί την τελευταία έκδοση του κώδικα στο δοκιμαστικό (staging) ή στο τελικό (production) περιβάλλον αυτόματα μέσω των συστημάτων Continuous Deployment (CD) και Continuous Delivery (CDE). Ο σκοπός της παρούσας εργασίας είναι η σύγκριση των παρόχων cloud, και ακολούθως η ανάπτυξη μιας μεθοδολογίας, μέσω της οποίας να απλοποιείται η χρήση ενός συστήματος CI + CD/CDE. Η προσέγγισή μας ενσωματώνει επίσης στατική ανάλυση και αξιολόγηση ποιότητας κώδικα. Η υλοποίηση του CI καθώς και των διαδικασιών CD/CDE γίνονται μέσω του διαδικτυακού εργαλείου ανοιχτού κώδικα Gitlab, όπου γίνεται χρήση έτοιμων pipelines με υποστήριξη εφαρμογών Node.js και Django, ενώ η στατική ανάλυση πραγματοποιείται μέσω του Code Quality που υπάρχει ενσωματωμένο στο Gitlab και βασίζεται στο εργαλείο Code Climate. Η αυτοματοποίηση της εγκατάστασης των προαπαιτούμενων για το deployment της εφαρμογής,δηλαδή η προετοιμασία του server, και το πρώτο deployment , πραγματοποιoύνται μέσω του εργαλείου διαχείρισης διαμόρφωσης λογισμικού Ansible. Ακόμη, δίνεται η δυνατότητα στο χρήστη για deployment της εφαρμογής στη cloud πλατφόρμα Heroku χωρίς να χρειάζεται η χρήση του Ansible. Το προϊόν της εργασίας απευθύνεται κυρίως σε φοιτητές ή προγραμματιστές με μικρή εμπειρία οι οποίοι θέλουν να ασχοληθούν και να κάνουν τα πρώτα τους βήματα με το CI του Gitlab.
Development of an automatic procedure for Continuous IntegrationISSEL
In recent years there has been a rapid growth in the field of cloud computing which has aroused the interest of many companies, with their demand constantly growing as well as the number of providers offering these services. However, despite the fact that the use of cloud computing has been established, offering many advantages, various challenges arise, such as data security. A key element of the software development process is the frequent testing of the application, in order to ensure quality and minimize bugs, which is achieved through Continuous Integration (CI) systems. Upon successful execution of the automated tests, CI deploys the latest version of the code in a pre-production (staging) or production environment automatically through Continuous Deployment (CD) and Continuous Delivery (CDE). The purpose of this thesis is comparing cloud providers, and then developing a method that simpifies the usage of a CI + CD/CDE system. Our approach also integrates static code analysis and evaluation. CI and CD/CDE processes are implemented through Gitlab, an open source software, with ready-to-use pipelines(Templates) supporting Node.js and Django web applications, while static analysis is performed through Code Quality which is embedded in Gitlab and is based on the Code Climate tool. The automatic installation of the prerequisites for the application deployment, in other words the server setup, and the first deployment , are performed through the Ansible software configuration management tool. Moreover, is given the capability to the user to deploy the app on the cloud platform Heroku without the need of using Ansible. The outcome of the thesis is aimed primarily at students or software developers with little experience who want to get involved and take their first steps with Gitlab CI.
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
Το διευρυµένο τοπίο του λογισµικού ανοιχτού κώδικα OSS αποδεικνύει την αυξανόµενη παραγωγική δραστηριότητα των µηχανικών λογισµικού που συνεισφέρουν σε πολλαπλές πλατφόρµες και διάφορα έργα λογισµικού. Η συµµετοχή τους σε αυτά τα έργα αναδεικνύει το ευρύ ϕάσµα των δεξιοτήτων τους, από τη συγγραφή κώδικα έως τη συνεργασία τους µε άλλους µηχανικούς λογισµικού. Καθώς στο οικοσύστηµα του λογισµικού ανοιχτού κώδικα υπάρχει µια διαρκής και συνεχώς αυξανόµενη δραστηριότητα, είναι πολύ σηµαντική µια πιο ολοκληρωµένη κατανόηση των συνεισφορών και των δεξιοτήτων των µηχανικών λογισµικού. Σκοπός της παρούσας διπλωµατικής είναι να αξιοποιήσει δεδοµένα από την υποδοµή World of Code (WoC) που περιέχει συγκεντρωµένα δεδοµένα από τα περισσότερα δη µόσια συστήµατα ελέγχου εκδόσεων για να παρέχει µια πιο ολοκληρωµένη εικόνα του προφίλ ενός µηχανικού λογισµικού. Εξάγοντας, αναλύοντας και οπτικοποιώντας αυτά τα δεδοµένα, αναπτύχθηκε µια εφαρµογή που παρουσιάζει µια περιεκτική επισκόπηση των δραστηριοτήτων ενός µηχανικού στα έργα λογισµικού ανοικτού κώδικα. Η οπτική αναπαράσταση των δεδοµένων, µετατρέπει πολύπλοκα σύνολα δεδοµένων σε εύκολα κατανοητές γραφικές µορφές. Η αξιολόγηση της εφαρµογής σε ένα σύνολο µηχανικών λογισµικού δείχνει ότι πετυχαίνει τους στόχους της. Προσφέρει µια εικόνα της δραστηριότητας, του ϱόλου και των τεχνικών δεξιοτήτων ενός µηχανικού, ενισχύοντας τη διαφάνεια και την κατανόηση της συνεισφοράς του στο οικοσύστηµα του OSS.
2. Προγραμματιςτικά Περιβάλλοντα
Για web developing
1. HTML 5
2. CSS 3
3. JAVASCRIPT
4. JQUERY
Client-Side: Server-Side:
1. PHP
2. MYSQL
3. PYTHON - DJANGO
4. JEE
5. RUBY – RUBY ON RAILS
3. ΜέθοδοιΑνάπτυξησ
web εφαρμογών
1. Απόλυτος έλεγχος του κώδικα
2. Εύκολα Επεκτάσιμα
3. Εύκολα στη Διόρθωση
4. Βέλτιστο μέγεθος κώδικα
Μέθοδος 0: Αυτόνομη Ανάπτυξη του Λογιςμικού
Θετικά: Αρνητικά:
1. Απαιτείται μεγάλη εμπειρία
2. Κίνδυνος για μέτριας αισθητικής
αποτέλεσμα
3. Πολύ καλή γνώση των προγραμματιστικών
περιβαλλόντων.
4. 1. Εγγύηση για την αισθητική
2. Εγγύηση καλής λειτουργίας
Μέθοδος 1: Χρήςη ΈτοιμουTemplate
Θετικά: Αρνητικά:
1. Δεν υπάρχει έλεγχος του κώδικα
2. Δύσκολα επεκτάσιμος
3. Δύσκολα τροποποιήσιμος
ΜέθοδοιΑνάπτυξησ
web εφαρμογών
5. 1. Εγγύηση για την αισθητική
2. Εγγύηση καλής λειτουργίας
3. Δεν απαιτείται γνώση
προγραμματισμού.
Μέθοδος 2: Χρήςη Γεννήτριασ Κώδικα
WYSIWYG
Θετικά: Αρνητικά:
1. Δεν υπάρχει έλεγχος του κώδικα
2. Μεγάλος όγκος αυτόματου κώδικα
3. Συγκεκριμένης αισθητικής
ΜέθοδοιΑνάπτυξησ
web εφαρμογών
Αυτόματη παραγωγή κώδικα μέςω ενόσ
γραφικού περιβάλλοντοσ
6. 1. Εγγύηση για την αισθητική
2. Καλός έλεγχος του κώδικα
3. Επεκτασιμότητα
4. Έυκολη διόρθωση
Θετικά: Αρνητικά:
1. Συγκεκριμένης αισθητικής αποτέλεσμα
2. Καλή γνώση τουλάχιστον HTML
Χρήςη ςτατικών βιβλιοθηκών έτοιμου Κώδικα
Μέθοδος 3: Χρήςη ενόσ front-end Framework
ΜέθοδοιΑνάπτυξησ
web εφαρμογών
7. «Bootstrap is a framework you give a Web developer who is not an
expert in CSS so he can do something that a CSS developer won't
kill him for.»
Twitter Bootstrap 3 Front-end
framework
8. Twitter Bootstrap 3 Front-end
framework
Τι είναι το Bootstrap
Καλαίςθητο, ιςχυρό front-end framework για ταχύτερη και ευκολότερη ανάπτυξη
ιςτοςελίδων.
Βαςίζεται ςτισ HTML, CSS, JavaScript.
Υποςτηρίζει όλουσ τουσ γνωςτούσ browsers και όλεσ ςχεδόν τισ εκδόςεισ τουσ.
9. Twitter Bootstrap 3 Front-end
framework
Λίγα ιςτορικά…
Το Bootstrap αναπτύχθηκε από τουσ Mark Otto και Jacob
Thornton για λογαριαςμό τουTwitter ωσ ένα framework για
την εξαςφάλιςη μιασ ενιαίασ αιςθητικήσ ςτισ διάφορεσ
λειτουργίεσ του .
ΤονΑύγουςτο του 2011 εκδόθηκε ςαν project ανοιχτού
κώδικα και το Φεβρουάριο του 2011 έγινε το ποιο
δημομοφιλέσ του GitHub.
Μέχρι τον Μαρτιο του 2014 έχει λάβει 65.000 stars και έχουν
γίνει 23.800 forks ςτο GitHub.
10. Twitter Bootstrap 3 Front-end
framework
Γιατί χρηςιμοποιούμε το Bootstrap
Εύκολο ςτην εγκατάςταςη και ςτη χρήςη. Άρα κατάλληλο για νέουσ web developer.
Σταθερό και ευέλικτο ςύςτημα διάταξησ (Grid).
Με αποκρίςιμη διάταξη ςε όλεσ διαςτάςεισ του browser.
Πλήθοσ από web-ςυςτατικά (web components).
Πλήθοσ από εικονίδια ςε μορφή ςυμβολοςειρών. (Glyph Icons).
Επεκτάςιμη με τη βοήθεια των JavaScript plugins που διαθέτει.
Πολύ καλό documentation και δυναμική κοινότητα που το αναπτύςςει.