Τοπική εγκατάσταση της Pharo

Μάθε πώς να εγκαταστήσεις τη Pharo τοπικά για να λύνεις τις ασκήσεις του Exercism στον δικό σου υπολογιστή


Εγκατάσταση

Ο απλούστερος τρόπος για να εγκαταστήσεις το Pharo είναι να χρησιμοποιήσεις μια λήψη zero conf από τη γραμμή εντολών του τερματικού.
Σημείωση: Αν προσπαθείς να αναβαθμίσεις μια υπάρχουσα εγκατάσταση, δες τις οδηγίες αναβάθμισης.

Οι χρήστες Windows που δεν έχουν εγκαταστήσει ένα κέλυφος τύπου UNIX θα πρέπει να μεταβούν στις οδηγίες εγκατάστασης για Windows (παρακάτω).
Οι πιο προχωρημένοι χρήστες Linux μπορεί να θέλουν να ανατρέξουν στην εγκατάσταση για Linux Hackers.

Εγκατάσταση σε Linux/OSX

Για Linux/OSX (υποθέτοντας ότι έχεις εγκαταστήσει το Exercism και έχεις γραφτεί στο track Pharo), μετάβα στον κατάλογο /Exercism/pharo-smalltalk και πληκτρολόγησε:

curl https://get.pharo.org/64/ | bash

και ξεκίνα το Pharo με τα εργαλεία του Exercism επικολλώντας το παρακάτω "script φόρτωσης":

./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.
"

Αν αντιμετωπίσεις προβλήματα TIMEOUT κατά τη φόρτωση των εργαλείων, θα πρέπει να κλείσεις το Pharo και να καθαρίσεις την προσωρινή μνήμη (cache) του git πληκτρολογώντας:

rm -rf pharo-local/iceberg/

Και μετά επανάλαβε το παραπάνω παράδειγμα ./pharo-ui ....

Αν συνεχίσεις να έχεις προβλήματα, επισκέψου το κανάλι Discord του Pharo που περιγράφεται στη σελίδα Pharo Community.

Αν όλα λειτουργούν σωστά, θα δεις μπάρες προόδου φόρτωσης να αναβοσβήνουν στην οθόνη και μετά θα εμφανιστεί ένα παράθυρο System Browser.

ΣΥΜΒΟΥΛΗ: Όταν έρθει η ώρα να κλείσεις το Pharo, αποθήκευσε τις αλλαγές σου (διάλεξε το μενού του Pharo και επίλεξε "Save and Quit"). Τώρα μπορείς να ξεκινήσεις το Pharo με το Exercism ήδη φορτωμένο, γράφοντας απλώς:

./pharo-ui Pharo.image

Εγκατάσταση σε Windows (παράλειψέ το για OSX/Linux)

Επεξεργαζόμαστε ακόμα τις καλύτερες προϋποθέσεις για τα εργαλεία γραμμής εντολών στα Windows, ωστόσο μπορείς επίσης να εγκαταστήσεις το Pharo γραφικά χρησιμοποιώντας τον Windows Pharo Launcher (ένα εύχρηστο εργαλείο για τη διαχείριση πολλαπλών εικόνων Pharo). Αυτός ο launcher είναι επίσης διαθέσιμος για OSX και Linux, αν προτιμάς τα γραφικά.

  1. Εκτέλεσε το αρχείο .msi που κατέβασες για να εγκαταστήσεις τον Pharo Launcher.

  2. Εκτέλεσε τον Pharo Launcher.

  3. Στην πάνω αριστερή γωνία, κάνε κλικ στο "New".

  4. Στο παράθυρο, επίλεξε "Official distributions" από τις κατηγορίες προτύπων.

  5. Για τις ασκήσεις του Exercism, διάλεξε από τη λίστα προτύπων εικόνων Pharo την τελευταία σταθερή έκδοση (αυτή τη στιγμή προτείνεται η "Pharo 10.0 64-bit (stable)").

  6. Κάνε κλικ για να επιλέξεις ένα πρότυπο εικόνας, δώσε του ένα όνομα και μετά κάνε κλικ στο κουμπί δημιουργίας εικόνας στο κάτω μέρος (ένα πορτοκαλί σχήμα γραναζιού).
    Δημιουργία εικόνας από τον launcher

  7. Μόλις κατέβει το πρότυπο, θα εμφανιστεί στα δεξιά στον πίνακα Existing Images. Κάνε κλικ πάνω του και μετά κάνε κλικ στο κουμπί εκκίνησης στο πάνω μέρος (ένα πράσινο βέλος play).
    Εκκίνηση εικόνας

  8. Μόλις ξεκινήσει η εικόνα Pharo, άνοιξε ένα Playground διαλέγοντας το μενού Browse και επιλέγοντας Playground, ή χρησιμοποίησε ctrl + o + w.
    Άνοιγμα playground

  9. Τέλος, αντίγραψε και επικόλλησε το παρακάτω απόσπασμα στο playground:

Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.

Μετά εκτέλεσε τον κώδικα που επικόλλησες επισημαίνοντάς τον όλο, κάνοντας δεξί κλικ και επιλέγοντας Do it από το μενού (ή χρησιμοποίησε ctrl + d).

Αν όλα λειτουργούν σωστά, θα δεις μπάρες προόδου φόρτωσης να αναβοσβήνουν στην οθόνη και μετά θα εμφανιστεί ένα παράθυρο System Browser.

Ξεκινώντας (ΓΙΑ ΟΛΟΥΣ)

Όταν ξεκινάς το Pharo, θα δεις ένα project Welcome, μέσα σε έναν System Browser (συμβουλή: αν ποτέ χάσεις αυτό το παράθυρο, μπορείς να ανοίξεις ένα νέο από το μενού Tools|System Browser).

Οθόνη υποδοχής του Pharo

Το πάνω αριστερό πλαίσιο του System Browser δείχνει τα packages του περιβάλλοντός σου, και θα παρατηρήσεις ότι το script εγκατάστασης έχει ήδη ρυθμίσει ένα package με όνομα Exercism, το οποίο περιέχει μια ετικέτα υπο-project με όνομα Welcome. Το δεύτερο πλαίσιο δείχνει κλάσεις, και έχει επίσης μια κλάση με όνομα Welcome. Κάτω από το πλαίσιο των κλάσεων υπάρχουν 4 κουμπιά επιλογής, "Flat" (δείχνει τις κλάσεις του package), "Hier." (δείχνει μια ιεραρχία κλάσεων), "Inst. side" (δείχνει μεθόδους στιγμιοτύπων), "Class side" (δείχνει μεθόδους/κατασκευαστές κλάσης).

Αν κάνεις κλικ στην καρτέλα Comment, μπορείς να δεις τις πιο πρόσφατες οδηγίες για τη χρήση του Pharo Exercism. Διάβασε τα σχόλια και δοκίμασε να τρέξεις το πρώτο σου test.

Σε άλλες γλώσσες που βασίζονται σε αρχεία, κανονικά θα πήγαινες σε ένα τερματικό σε αυτό το σημείο, και θα χρησιμοποιούσες το exercism cli για να κατεβάσεις την επόμενη άσκηση. Αν και το Pharo μπορεί να δουλέψει με αρχεία με παρόμοιο τρόπο, το περιβάλλον είναι στην πραγματικότητα φτιαγμένο να δουλεύει με ζωντανά αντικείμενα. Οι κλάσεις, οι μέθοδοι και ο πηγαίος κώδικας είναι, κατά έναν ενδιαφέροντα τρόπο, όλα αντικείμενα όπως όλα τα άλλα στο Pharo. Θα μάθεις περισσότερα για αυτό στην πορεία αυτού του track.

Φόρτωση ασκήσεων

Για το Exercism, έχουμε συμπεριλάβει ένα plugin που σου επιτρέπει να κατεβάζεις και να υποβάλλεις ασκήσεις Pharo μέσα από το IDE. Το μόνο που χρειάζεται να κάνεις είναι να κάνεις δεξί κλικ σε ένα package άσκησης (στην περίπτωση αυτή, στο package Welcome στο πάνω αριστερό πλαίσιο) και να επιλέξεις το στοιχείο μενού Exercism | Fetch Exercise. Αυτό θα σου ζητήσει ένα όνομα άσκησης (π.χ. hello-world) και, μόλις το δώσεις, θα την κατεβάσει αυτόματα για σένα.

Τα ονόματα των ασκήσεων βρίσκονται σε κάθε περιγραφή άσκησης στη σελίδα του track Pharo σου (προς τα δεξιά). Υπάρχει μια οδηγία Download με ένα string cli που περιέχει το κλειδί κάθε άσκησης. Μπορείς επίσης να χρησιμοποιήσεις το κουμπί αντιγραφής δίπλα στις οδηγίες cli και να επικολλήσεις ολόκληρο το string στο πλαίσιο του fetch (και θα εξαγάγουμε το κλειδί αυτόματα).

Όταν δώσεις μια έγκυρη άσκηση, το plugin θα ανακτήσει τον σχετικό κώδικα και θα τον εμφανίσει στον System Browser, έτοιμο για να ξεκινήσεις τον προγραμματισμό με tests.

Όταν περνούν όλα τα tests σου, μπορείς να υποβάλεις τη λύση σου χρησιμοποιώντας το ίδιο μενού περιβάλλοντος για το package της άσκησής σου (κάνε δεξί κλικ στην ετικέτα του package και επίλεξε Exercism | Submit Exercise...)

Μενού υποβολής του Exercism

Τέλος, χρησιμοποίησε το μενού Exercism | View Track Progress για να επισκεφτείς την ιστοσελίδα του exercism και να δεις ποιες άλλες ασκήσεις έχουν ξεκλειδωθεί για σένα, καθώς και για να δημοσιεύσεις ερωτήσεις σχετικά με την υποβολή σου, ώστε να τις διαβάσουν οι μέντορες.


Το ήξερες; Όταν ξεκινάς το Pharo, στην πραγματικότητα επαναφέρεις ένα στιγμιότυπο εικόνας εκτέλεσης, παρόμοιο με μια εικόνα λειτουργικού συστήματος VMWare. Πρόκειται για μια ισχυρή ιδέα που σου επιτρέπει να διακόψεις την εργασία στη μέση μιας λειτουργίας, ακόμη και όταν κάνεις debugging σε κάτι. Την επόμενη φορά που θα ξεκινήσεις το Pharo, μπορείς να συνεχίσεις να περνάς βήμα προς βήμα τον κώδικα στον αποκατεστημένο debugger, ή να συνεχίσεις ένα βήμα αναδιαμόρφωσης.

Πώς να επαναφέρεις το CLI token σου

Αν ποτέ χρειαστεί να επαναφέρεις το CLI token σου λόγω κάποιου ζητήματος ασφάλειας, θα πρέπει να επισκεφτείς τη σελίδα Exercism Settings Page και να χρησιμοποιήσεις το κουμπί επαναφοράς token. Όταν το κάνεις αυτό, πρέπει να καθαρίσεις το παλιό σου token στο Pharo Exercism εκτελώντας τον παρακάτω κώδικα σε ένα Playground:

ExercismHttpClient
    reset;
    promptForToken.

Πώς να αναβαθμίσεις το Pharo Exercism

Από καιρό σε καιρό μπορεί να χρειαστεί να ενημερώσεις τις βιβλιοθήκες στην εικόνα Pharo Exercism σου. Ακολούθησε αυτές τις οδηγίες