ClickMedia Joomla! 3 - What's New (Greek)ClickMedia
Θέλετε να μάθετε ποιά είναι τα νέα χαρακτηριστικά της έκδοσης 3 του Joomla; Σε αυτή την παρουσίαση της ClickMedia θα βρείτε ομαδοποιημένες και αξιολογημένες τις νέες δυνατότητες και τις αλλαγές του Joomla! στις εκδόσεις 3.0, 3.1 και 3.2
Ανάλυση διαλόγων προγραμματιστών με το ChatGPTISSEL
Η εμφάνιση των Μεγάλων Γλωσσικών Μοντέλων και του ChatGPT έχει αλλάξει τον τρόπο ανάπτυξης και συντήρησης λογισμικού, προσφέροντας προηγμένες δυνατότητες όπως η αυτοματοποιημένη παραγωγή και τροποποίηση κώδικα. Οι προγραμματιστές υιοθετούν ολοένα και περισσότερο τα μοντέλα αυτά στην εργασία τους, ωστόσο η αλληλεπίδραση μεταξύ τους συχνά δεν είναι μία απλή και αποδοτική διαδικασία και επίσης ο κώδικας που παράγεται ενδέχεται να περιέχει ζητήματα ποιότητας, όπως σφάλματα και παραλείψεις. Με στόχο να διερευνήσει τα ζητήματα αυτά, η παρούσα εργασία αξιοποιεί το σύνολο δεδομένων DevGPT, που αποτελείται από συνομιλίες μεταξύ προγραμματιστών και του ChatGPT. Μετά την επιθεώρηση των δεδομένων και την κατηγοριοποίησή τους με βάση το σενάριο χρήσης του ChatGPT, η ανάλυση καταπιάνεται με δύο κρίσιμα θέματα: (α) την πρακτικότητα της χρήσης του ChatGPT, μέσω υπολογισμού του πλήθους των ερωτημάτων που απαιτούνται έως ότου παραχθεί το επιθυμητό αποτέλεσμα και (β) την ποιότητα του παραγόμενου κώδικα και τον αντίκτυπο της ενσωμάτωσής του στο σύστημα, μέσω εξαγωγής και αξιολόγησης κατάλληλων μετρικών και παραβάσεων ποιότητας. Τα ευρήματα της ανάλυσης αναδεικνύουν ότι το ChatGPT μπορεί πράγματι να αποτελέσει ένα πολύτιμο εργαλείο για τους προγραμματιστές, ωστόσο η χρήση του απαιτεί την προσοχή και την επιμελή αξιολόγηση των αποτελεσμάτων πριν την αξιοποίησή τους.
Καλησπέρα, σήμερα θα αναλύσουμε για την γλώσσα HTML5, θα δούμε λίγο τον κώδικα της & ότι έχει να κάνει με αυτό.
Good evening, today we will analyze for HTML5, we will see a bit of his code & it has to do with it.
TechSaloniki 2017 - Google Tag Manager: Ευελιξία και δύναμη στην ιστοσελίδα σαςPanagiotis Tzamtzis
Το Google tag manager (GTM) είναι ένα Tag Management System (TMS) που δίνει την δυνατότητα να κάνουμε εύκολα και γρήγορα αλλαγές στον πηγαίο κώδικα ενός website. Συνήθως χρησιμοποιείται από ομάδες marketing με σκοπό την ανάλυση της κίνησης του website (analytics) και την βελτιστοποίηση των εργαλείων προώθησης της ιστοσελίδας. To GTM, όπως και πολλά άλλα TMS, χρησιμοποιείται από εκατομμύρια website, αφού είναι μια από τις τεχνολογίες που έχουν εξελίξει το web marketing και τα web analytics τα τελευταία χρόνια.
Στο συγκεκριμένο workshop θα ανακαλύψουμε μαζί πως λειτουργεί ένα TMS και τους λόγους που θεωρείται απαραίτητο σήμερα. Όπως επίσης θα δούμε πρακτικές εφαρμογές που μπορεί να ξεφεύγουν από αυτές που φαντάζεται ένα αρχάριος χρήστης.
Το περιεχόμενο ενδείκνυται για όσους έχουν χρησιμοποιήσει κάποιο εργαλείο web marketing ή web analytics (π.χ. Google analytics, Floodlight κτλ) και θέλουν να δουν πως μπορούν να δώσουν ακόμα περισσότερο νόημα στα δεδομένα που συλλέγουν. Και για αυτούς που έχουν γνώσεις web development και θέλουν να κάνουν την διαδικασία ανανέωσης ενός website πιο εύκολη και γρήγορη.
Ανάλυση διαλόγων προγραμματιστών με το ChatGPTISSEL
Η εμφάνιση των Μεγάλων Γλωσσικών Μοντέλων και του ChatGPT έχει αλλάξει τον τρόπο ανάπτυξης και συντήρησης λογισμικού, προσφέροντας προηγμένες δυνατότητες όπως η αυτοματοποιημένη παραγωγή και τροποποίηση κώδικα. Οι προγραμματιστές υιοθετούν ολοένα και περισσότερο τα μοντέλα αυτά στην εργασία τους, ωστόσο η αλληλεπίδραση μεταξύ τους συχνά δεν είναι μία απλή και αποδοτική διαδικασία και επίσης ο κώδικας που παράγεται ενδέχεται να περιέχει ζητήματα ποιότητας, όπως σφάλματα και παραλείψεις. Με στόχο να διερευνήσει τα ζητήματα αυτά, η παρούσα εργασία αξιοποιεί το σύνολο δεδομένων DevGPT, που αποτελείται από συνομιλίες μεταξύ προγραμματιστών και του ChatGPT. Μετά την επιθεώρηση των δεδομένων και την κατηγοριοποίησή τους με βάση το σενάριο χρήσης του ChatGPT, η ανάλυση καταπιάνεται με δύο κρίσιμα θέματα: (α) την πρακτικότητα της χρήσης του ChatGPT, μέσω υπολογισμού του πλήθους των ερωτημάτων που απαιτούνται έως ότου παραχθεί το επιθυμητό αποτέλεσμα και (β) την ποιότητα του παραγόμενου κώδικα και τον αντίκτυπο της ενσωμάτωσής του στο σύστημα, μέσω εξαγωγής και αξιολόγησης κατάλληλων μετρικών και παραβάσεων ποιότητας. Τα ευρήματα της ανάλυσης αναδεικνύουν ότι το ChatGPT μπορεί πράγματι να αποτελέσει ένα πολύτιμο εργαλείο για τους προγραμματιστές, ωστόσο η χρήση του απαιτεί την προσοχή και την επιμελή αξιολόγηση των αποτελεσμάτων πριν την αξιοποίησή τους.
Καλησπέρα, σήμερα θα αναλύσουμε για την γλώσσα HTML5, θα δούμε λίγο τον κώδικα της & ότι έχει να κάνει με αυτό.
Good evening, today we will analyze for HTML5, we will see a bit of his code & it has to do with it.
TechSaloniki 2017 - Google Tag Manager: Ευελιξία και δύναμη στην ιστοσελίδα σαςPanagiotis Tzamtzis
Το Google tag manager (GTM) είναι ένα Tag Management System (TMS) που δίνει την δυνατότητα να κάνουμε εύκολα και γρήγορα αλλαγές στον πηγαίο κώδικα ενός website. Συνήθως χρησιμοποιείται από ομάδες marketing με σκοπό την ανάλυση της κίνησης του website (analytics) και την βελτιστοποίηση των εργαλείων προώθησης της ιστοσελίδας. To GTM, όπως και πολλά άλλα TMS, χρησιμοποιείται από εκατομμύρια website, αφού είναι μια από τις τεχνολογίες που έχουν εξελίξει το web marketing και τα web analytics τα τελευταία χρόνια.
Στο συγκεκριμένο workshop θα ανακαλύψουμε μαζί πως λειτουργεί ένα TMS και τους λόγους που θεωρείται απαραίτητο σήμερα. Όπως επίσης θα δούμε πρακτικές εφαρμογές που μπορεί να ξεφεύγουν από αυτές που φαντάζεται ένα αρχάριος χρήστης.
Το περιεχόμενο ενδείκνυται για όσους έχουν χρησιμοποιήσει κάποιο εργαλείο web marketing ή web analytics (π.χ. Google analytics, Floodlight κτλ) και θέλουν να δουν πως μπορούν να δώσουν ακόμα περισσότερο νόημα στα δεδομένα που συλλέγουν. Και για αυτούς που έχουν γνώσεις web development και θέλουν να κάνουν την διαδικασία ανανέωσης ενός website πιο εύκολη και γρήγορη.
Μία περιεκτική εισαγωγή στo Rails framework γραμμένη εξ'ολοκλήρου στα ελληνικά.
Έκδοση 1.0,
12 Ιαν 2007
Δημητρακόπουλος Νικόλαος,
Άδεια Χρήσης Ελεύθερης Τεκμηρίωσης GNU
Στα πλαίσια του ACM Student Chapter του Πανεπιστημίου Πελοποννήσου και του Ruby Hellenic Users Group
Ανάπτυξη αυτοματοποιημένης διαδικασίας 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.
Nowadays, the concept of software has prevailed in all aspects of human daily life, offering
significant solutions to a wide variety of issues. The need for producing reliable and functional
software within short timeframes that can adapt to possible changes is constantly increasing.
In recent years, there has been significant research activity in the field of software
development process optimization, while the vast availability of open-source software projects
in repositories such as GitHub makes accessing large volumes of code data easy. Leveraging
this information can serve as a catalyst for creating useful tools that can greatly accelerate the
software development process while improving communication and collaboration among
development teams.
This thesis presents an integrated system for automated source code formatting using
machine learning techniques. The primary goal of the system is to detect and correct
formatting errors that deviate from the standards set by the development team, ensuring its
readability and thus facilitating easier maintenance. The system utilizes LSTM deep neural
network models in combination with N-gram statistical language models for detecting
formatting errors, while a specific mechanism for correcting these errors is proposed.
Additionally, an evaluation mechanism for code formatting is proposed, aiming to quantify this
abstract concept.
The system designed within the scope of this thesis is evaluated on 8000 Java code files
obtained from the CodRep 2019 competition. Through the observation of the final results, we
conclude that the system performs effectively in both detecting and correcting formatting
errors.