Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό — Σεπτέμβριος 2020¶
Η μεταγραφή προέρχεται από τα στιγμιότυπα οθόνης της εξέτασης, με ημερομηνία δημοσίευσης στο Discord 23/9/2020.
Screenshot_from_2020-09-23_21-27-07.png¶
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
[Λείπει από τη φωτογραφία: επικεφαλίδα της ερώτησης 1]
Η τεχνική της «διάφανης δυναμικής αντιγραφής» επιτρέπει στο διαχειριστή ενός δικτύου διανομής περιεχομένου να φιλοξενεί πολλαπλούς ιστότοπους, υπερβαίνοντας τα προβλήματα υπερ-δέσμευσης πόρων.
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 2 (Σωστό / Λάθος — 1 βαθμός)
Η τεχνική των μισθώσεων για την διαχείριση της συνέπειας σε ένα δίκτυο περιεχομένου, διασφαλίζει το σύστημα από τις καθυστερήσεις που προκύπτουν λόγω ύπαρξης μη έγκυρων εγγραφών στις λίστες πελατών.
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 3 (Σωστό / Λάθος — 1 βαθμός)
ο Javascript κώδικας: document.getElementById("demo").innerHTML = "Hello World!"; θα θέσει το περιεχόμενο του στοιχείου <p id="demo"/> σε "Hello World!"
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 4 (Σωστό / Λάθος — 1 βαθμός)
Σε περιπτώσεις που ο διαχειριστής ενός ιστοτόπου επιθυμεί να διασφαλίσει κατά το δυνατό την εγκυρότητα του περιεχομένου που ανακτούν οι χρήστες, τότε είναι προτιμότερο να επιλέξει τη διανομή του περιεχομένου μέσω αντιπροσώπων (web proxies).
- [ ] Σωστό
- [ ] Λάθος
Screenshot_from_2020-09-23_21-27-17.png¶
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
Ερώτηση 5 (Σωστό / Λάθος — 1 βαθμός)
Ο παρακάτω JavaScript κώδικας θα τυπώσει "
This is dynamic
"var text = document.createTextNode('this is dynamic');
var p = document.createElement('p');
p.appendChild(text);
console.log(p);
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 6 (Σωστό / Λάθος — 1 βαθμός)
Θεωρείστε ότι γίνεται submit η φόρμα της εικόνας. Στο PHP αρχείο που στέλνονται τα δεδομένα της φόρμας, μπορούμε να έχουμε πρόσβαση στην τιμή του πεδίου username με το $username = $_POST['username'];
<form name="form1.php" method="post" action="form2.php">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Login">
</form>
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 7 (Σωστό / Λάθος — 1 βαθμός)
Στην τεχνική Responsive Web Design δημιουργείται ξεχωριστή έκδοση του website για κινητές συσκευές.
- [ ] Σωστό
- [ ] Λάθος
Screenshot_from_2020-09-23_21-27-26.png¶
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
Ερώτηση 8 (Σωστό / Λάθος — 1 βαθμός)
Ο php κώδικας της εικόνας, θα εκτελεστεί κανονικά, παρότι έχουμε ζητήσει να γίνει συνένωση μιας μεταβλητής τύπου int με μία τύπου string
<?php
$var1 = 2020;
$var2 = "The current year is ";
$var3 = $var2.$var1;
echo $var3;
?>
- [ ] Σωστό
- [ ] Λάθος
[Λείπει από τη φωτογραφία: ερώτηση 9]
Screenshot_from_2020-09-23_21-26-46.png¶
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
Ερώτηση 10 (Σωστό / Λάθος — 1 βαθμός)
Κατά την ασφαλή επικοινωνία πελάτη-πηγής με το πρωτόκολλο HTTPS, κρυπτογραφούνται το path, searchpart, δεδομένα φορμών, cookies και headers, αλλά όχι το domain name.
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 11 (Σωστό / Λάθος — 1 βαθμός)
Για να ανακτήσουμε μια ιστοσελίδα που απαρτίζεται από πολλαπλά ιστοαντικείμενα, μπορούμε για κάθε ένα από αυτά να ανοίγουμε και να κλείνουμε τη σύνδεση προς την πηγή, ή να διατηρούμε τη σύνδεση ανοικτή. Η διαφορά μεταξύ των δύο τρόπων στην αντιλαμβανόμενη καθυστέρηση από το χρήστη είναι αμελητέα.
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 12 (Σωστό / Λάθος — 1 βαθμός)
Αν γράψουμε στη μπάρα διευθύνσεων του Google Chrome το URL που δείχνει η εικόνα, θα εκτελεστεί το PHP αρχείο test.php
[Σχήμα: Tab Google Chrome με URL στη μπάρα: C:\wamp\www\test.php]
- [ ] Σωστό
- [ ] Λάθος
[Λείπει από τη φωτογραφία: ερωτήσεις 13–15]
Screenshot_from_2020-09-23_21-26-38.png¶
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
Ερώτηση 16 (Σωστό / Λάθος — 1 βαθμός)
Ο PHP κώδικας της εικόνας θα εκτελεστεί χωρίς να προκαλέσει σφάλμα, καθώς στην PHP οι θέσεις ενός πίνακα δεν είναι απαραίτητο ούτε να έχουν συνεχόμενη αρίθμηση, ούτε να είναι υποχρεωτικά ακέραιοι αριθμοί.
<?php
$students[0]="Vasilis";
$students['friend']="Andreas";
?>
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 17 (Σωστό / Λάθος — 1 βαθμός)
Ο παρακάτω κώδικας σε ένα HTML αρχείο, θα εμφανίσει έναν σύνδεσμο (hyperlink) που όταν τον επιλέξουμε θα μας οδηγήσει στην αρχική σελίδα του Πανεπιστημίου Πατρών
<a href = "www.upatras.gr">Παν.Πατρών</a>
- [ ] Σωστό
- [ ] Λάθος
Screenshot_from_2020-09-23_21-26-29.png¶
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
Ερώτηση 18 (Σωστό / Λάθος — 1 βαθμός)
Στην JavaScript, μια εντολή στην ουρά εργασιών (task queue) εκτελείται μόνο όταν η στοίβα κλήσης (call stack) είναι άδεια.
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 19 (Σωστό / Λάθος — 1 βαθμός)
Σαν δημιουργοί / διαχειριστές περιεχομένου σε κάποιο εξυπηρετητή-πηγή, είναι προτιμότερο να μην ορίζουμε TTLs για τα ιστοαντικείμενα που φιλοξενούμε, καθώς αυτά ορίζονται αυτόματα από τους αντιπροσώπους που τα διατηρούν, ανάλογα και με τα στατιστικά πρόσβασης σε αυτά.
- [ ] Σωστό
- [ ] Λάθος
Ερώτηση 20 (Σωστό / Λάθος — 1 βαθμός)
Θεωρείστε ότι έχω μία απλή PHP web εφαρμογή στην οποία ο μηχανισμός του user control (login/logout κλπ) έχει υλοποιηθεί με χρήση sessions. Αν κάνω login μέσω του browser και στη συνέχεια κάνω restart τον υπολογιστή μου, στην επόμενη επίσκεψη στη web εφαρμογή δε θα χρειαστεί να πραγματοποιήσω νέο login, το session θα είναι ακόμη ενεργό καθώς δε θα έχουν παρέλθει πάνω από 20 λεπτά (default χρόνος ζωής session)
- [ ] Σωστό
- [ ] Λάθος
Screenshot_from_2020-09-23_21-23-54.png¶
[Λείπει από τη φωτογραφία: επικεφαλίδα και επιλογές απάντησης της ερώτησης 21]
- Ο προεπιλεγμένος χρόνος ζωής των SESSION μεταβλητών είναι 20 λεπτά. Επομένως ακόμα και αν ο υπολογιστής του χρήστη κάνει κάποια επανεκκίνηση υπάρχει αρκετός χρόνος να συνδεθεί ξανά στο site μας χωρίς να χάσει τα δεδομένα του
Λύσεις (🟡 community)
Κατάσταση: 🟡 community Πηγή: φωτογραφία λύσης από το αρχείο της συνεδρίας (Screenshot_from_2020-09-23_21-23-54.png), προέλευση άγνωστη
Προσοχή
Η φωτογραφία καλύπτει μόνο την ερώτηση 21· δεν υπάρχουν λύσεις για τις υπόλοιπες ερωτήσεις της συνεδρίας.
Λύσεις — Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό — Σεπτέμβριος 2020¶
Screenshot_from_2020-09-23_21-23-54.png¶
- Ο προεπιλεγμένος χρόνος ζωής των SESSION μεταβλητών είναι 20 λεπτά. Επομένως ακόμα και αν ο υπολογιστής του χρήστη κάνει κάποια επανεκκίνηση υπάρχει αρκετός χρόνος να συνδεθεί ξανά στο site μας χωρίς να χάσει τα δεδομένα του
Απάντηση
Λάθος. Υπάρχει όντως ένας προεπιλεγμένος χρόνος ζωής των SESSION μεταβλητών αλλά αυτός δεν είναι 20 λεπτά αλλά εξαρτάται από τη ρύθμιση που έχουμε κάνει. Στη διάρκεια αυτού του χρόνου ακόμα και αν ο υπολογιστής του χρήστη κάνει κάποια επανεκκίνηση υπάρχει αρκετός χρόνος να συνδεθεί ξανά στο site μας χωρίς να χάσει τα δεδομένα του