Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό — Ιούνιος 2024¶
Screenshot_2024-06-10_at_7.04.51_PM.png¶
[Λείπει από τη φωτογραφία: το επάνω μέρος της σελίδας (η γραμμή με τον κώδικα HTML πάνω από την εκφώνηση)]
Η εκτέλεση της παρακάτω συνάρτησης JavaScript θα δημιουργήσει σφάλμα:
function printMessage(message, times) {
for (let i = 0; i < times; i++) {
console.log(message);
}
console.log('Value of i is ' + i);
}
20240611_195228.jpg¶
[Λείπει από τη φωτογραφία: αρχικά γράμματα των γραμμών στο αριστερό άκρο και τελικά γράμματα των γραμμών στο δεξί άκρο· όπου φαίνεται μόνο μέρος της λέξης, σημειώνεται με «…»]
…TML αρχεία πρέπει να γίνουν compile πριν να είναι δυνατή η εμφάνισή τους στον Mozilla Firefox
…σε μία μη διατεταγμένη λίστα (unordered list), που δημιουργούμε με χρήση των HTML tags <ul> και <li>, τα …εία της λίστας θα εμφανίζονται με τυχαία σειρά εμφάνισης σε κάθε φόρτωση του HTML αρχείου στον browser
…ακάτω κώδικας σε ένα HTML αρχείο, θα εμφανίσει μία εικόνα που όταν την επιλέξουμε θα εμφανίσει ένα παράθυρο διαλόγου (pop up) με τίτλο «Test picture»:
…<a href = "mypage.html">
…mg src = "images/myimage.png" alt = "Test picture">
…με την HTML δε είναι δυνατό να δημιουργήσουμε ένα πολύπλοκο πίνακα όπως ο παρακάτω:
| …κας 1 | ||
|---|---|---|
| 1 | Κελί 2 | Κελί 3 |
[Σχήμα: πολύπλοκος πίνακας· στην επικεφαλίδα «…κας 1», στην πρώτη γραμμή κελιά «1», «Κελί 2», «Κελί 3», και κάτω από το «1» ένα κενό κελί. Το αριστερό άκρο του πίνακα λείπει.]
…η διατεταγμένη λίστα (unordered list), που δημιουργούμε με χρήση των HTML tags <ul> και <li>, τα …α της λίστας θα εμφανίζονται με τυχαία σειρά εμφάνισης σε κάθε φόρτωση του HTML αρχείου στον [δυσανάγνωστο]
…ript είναι μια γλώσσα ασθενών τύπων, όπου οι μεταβλητές δεν συνδέονται με ένα συγκεκριμένο […] δεδομένων.
[Λείπει από τη φωτογραφία: η λέξη στο δεξί άκρο της γραμμής (μεταξύ «συγκεκριμένο» και «δεδομένων»)]
…ση της παρακάτω συνάρτησης JavaScript θα δημιουργήσει σφάλμα:
…n printMessage(message, times) {
…const i = 0; i < times; i++) {
…sole.log(message);
}
…le.log('Value of i is ' + i);
}
…τω κώδικας JavaScript θα επιστρέψει το πρώτο στοιχείο με id = 'button':
…ent = document.querySelector('#button');
…ληψη ενός script στην αρχή της σελίδας ως:
<script src="script.js"></script>
…δικας για node server που τρέχει στο localhost:
…press = require ('express');
… = express ();
…n(3000);
…'/', (req, res) => {
…d('POST request to the homepage')
…στο http://localhost:3000/ θα επιστρέψει 'POST request to the homepage'
…send() του αντικειμένου XMLHttpRequest δίνουμε πάντα σαν παράμετρο τα δεδομένα τη[…] θέλουμε να στείλουμε στον server.
…στη JavaScript θα εκτελεστεί πριν από οποιαδήποτε εντολή στη στοίβα κλήσης.
…ωση εξωτερικών πόρων σε JSON μορφή μπορεί να χρησιμοποιηθεί το XMLHTTPRequest
…ot, αν το list είναι ένα array, η προσπέλαση των στοιχείων του μπορεί να γίνει ως:
…tem in list) {
20240611_195556.jpg¶
[Λείπει από τη φωτογραφία: αρχικά γράμματα των γραμμών στο αριστερό άκρο και τελικά γράμματα όπου κόβονται στο δεξί άκρο· το επάνω μέρος της σελίδας δεν φαίνεται]
…Script μπορούμε να χειριστούμε ένα response που επιστρέφει η fetch() ως κείμενο με τη μέθοδο .text()
…τελέσουμε PHP αρχεία στον υπολογιστή μας είναι απαραίτητο να έχουμε εγκατεστημένη τη MySQL
…ένας χρήστης, από τον υπολογιστή του σπιτιού του πληκτρολογήσει την παρακάτω web διεύθυνση …www.ceid.upatras.gr/testfile.php …ποιώντας την επιλογή προβολής πηγαίου κώδικα του browser, έχει τη δυνατότητα να δει τον πλήρη …κώδικα του αρχείου testfile.php
…ακάτω php κώδικας είναι σωστός καθώς στην PHP είναι δυνατόν να γίνει συνένωση μιας μεταβλητής με μία τύπου string χωρίς να χρειάζεται κάτι επιπλέον από τον προγραμματιστή. Η PHP θα μετατρέψει αυτόματα τη $var1 σε string.
$var1 = 2024;
$var2 = "The current year is ";
$var3 = $var2.$var1;
[Λείπει από τη φωτογραφία: η αρχή της παραπάνω πρότασης (η λέξη «συνένωση» και τα προηγούμενα στο αριστερό άκρο)]
Ο παρακάτω PHP κώδικας δε θα εκτελεστεί κανονικά και θα επιστρέψει PHP error καθώς δεν επιτρέπεται σε ένα πίνακα να μένουν θέσεις κενές
$students[0]="Nikos";
$students[3]="Maria";
…ουλέψει σωστά μία web εφαρμογή που έχει υλοποιηθεί σε PHP αλλά συνδέεται και σε βάση δεδομένων MySQL, ο web server και ο database server θα πρέπει υποχρεωτικά να έχουν εγκατασταθεί στο …άνημα
[Λείπει από τη φωτογραφία: το τέλος της λέξης «μηχάνημα» στο δεξί άκρο της σελίδας και η αρχή της γραμμής «ίδιο»]
Θεωρείστε ότι έχουμε ένα PHP script το οποίο κάνει ένα INSERT σε ένα MySQL table. Το MySQL table έχει ένα πεδίο με όνομα id το οποίο είναι auto increment. Ο καλύτερος τρόπος ανάκτησης της τιμής του id αμέσως μετά την εκτέλεση του INSERT είναι να εκτελέσουμε αμέσως ένα SELECT και να διαβάζουμε τη μέγιστη τιμή της στήλης id
…ένας χρήστης, από τον υπολογιστή του σπιτιού του πληκτρολογήσει την παρακάτω web διεύθυνση …www.ceid.upatras.gr/testfile.php …ποιώντας την επιλογή προβολής πηγαίου κώδικα του browser, έχει τη δυνατότητα να δει τον πλήρη …κώδικα του αρχείου testfile.php
…νακτήσουμε μια ιστοσελίδα που απαρτίζεται από πολλαπλά ιστοαντικείμενα, μπορούμε για κάθε αυτά να ανοίγουμε και να κλείνουμε τη σύνδεση προς την πηγή, ή να διατηρούμε τη σύνδεση. Η διαφορά μεταξύ των δύο τρόπων στην αντιλαμβανόμενη καθυστέρηση από το χρήστη είναι …έα.
…ολλα συνέπειας που βασίζονται στην ακύρωση απαιτούν έξτρα μνήμη στον εξυπηρετητή σε σχέση με πρωτόκολλα που βασίζονται στην επικύρωση.
…τόκολλο HTTPS κρυπτογραφεί το domain, το path και το searchpart ενός URL
…καλύτερη διαχείριση αιτήσεων και την αποφυγή αποστολής αιτήματος προς κάποια πηγή, ένας ISP να χρησιμοποιεί ιεραρχίες συνεργαζόμενων κρυφών μνημών
…τεχνική του URL hashing, κάθε κρυφή μνήμη σε μια συστάδα συνεργαζόμενων ΚΜ αναλαμβάνει την …γράφηση των URL στα οποία απευθύνεται ο χρήστης.
…URL http://\<host>:\<port>/\<path>?\<searchpart>, το τελευταίο συστατικό παίζει ρόλο στη δημιουργία …κού περιεχομένου.
…ανομή αιτήσεων με Anycast, υπάρχει επιπλέον κόστος για την προώθηση μιας αίτησης σε κάθε εξυπηρετητή-αντίγραφο, καθώς πρέπει να αποφασιστεί ο προορισμός από τον δρομολογητή βάσει κριτηρίων
…τυα διανομής μπορούν να βασίζονται σε κεντρικοποιημένες αρχιτεκτονικές (εξυπηρετητές που ελέγχονται πλήρως από το διαχειριστή του δικτύου) ή και σε αποκεντρωμένες αρχιτεκτονικές (peer-to-peer) όπου τα μηχανήματα που συμμετέχουν δεν ανήκουν στο διαχειριστή του δικτύου.
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
Επιπλέον πηγές χωρίς μεταγραφή εδώ (λύσεις →
2024-06.solutions.md, ή διπλότυπες φωτογραφίες της ίδιας σελίδας):rn_image_picker_lib_temp_a8cfb681-aa0c-4a27-930e-ef3ec053c4bd.jpg
Λύσεις (🟡 community)
Κατάσταση: 🟡 community Πηγή: χειρόγραφες απαντήσεις φοιτητή (rn_image_picker_lib_temp_a8cfb681-aa0c-4a27-930e-ef3ec053c4bd.jpg)
Προσοχή
Χειρόγραφες απαντήσεις φοιτητή, όχι επίσημη λύση· η φωτογραφία είναι κομμένη και δεν φαίνονται όλες οι απαντήσεις. Η φωτογραφία δεν έχει κεφαλίδα εξέτασης· η αντιστοίχιση με τη συνεδρία 2024-06 στηρίζεται στα υπόλοιπα αρχεία της συνεδρίας.
Λύσεις — Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό — Ιούνιος 2024¶
rn_image_picker_lib_temp_a8cfb681-aa0c-4a27-930e-ef3ec053c4bd.jpg¶
Χειρόγραφη Καταγραφή Θεμάτων & Απαντήσεων¶
[...]σεων δεδομένων (π.χ. PostgreSQL)
Σωστό
- Θεωρήστε ένα Javascript script, σε απομακρυσμένο server, το οποίο τυπώνει απλά την τρέχουσα ώρα. Ένας χρήστης που καλεί το script από τον browser του υπολογιστή του, έχει τη δυνατότητα να επηρεάσει την ώρα που εμφανίζεται στον browser (π.χ. αλλάζοντας την ώρα στο ρολόι του υπολογιστή του).
Λάθος
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.