Skip to content

Commit

Permalink
Merge pull request courses-ionio#1784 from Drexion/2018118
Browse files Browse the repository at this point in the history
Π2018118 Τελική Αναφορά
  • Loading branch information
epidrome authored Oct 4, 2022
2 parents 7f0ded3 + 6e7c997 commit 7768d73
Showing 1 changed file with 174 additions and 0 deletions.
174 changes: 174 additions & 0 deletions projects/2018118/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# Μάθημα: Επικοινωνία Ανθρώπου Υπολογιστή

### Ονοματεπώνυμο: ΒΑΡΟΤΣΗΣ ΑΓΓΕΛΟΣ
### Αριθμός Μητρώου: Π2018118
### GitHub Profile: https://github.com/Drexion

| Εβδομάδα* | Παραδοτέο |
| --- | --- |
| 1 | [Φορκ του αποθετηρίου και δημιουργία της σελίδας της αναφοράς με τα προσωπικά στοιχεία σας, της σύνοψης με αυτόν τον πίνακα περιεχομένων, και συγγραφή της εισαγωγής με περιγραφή των αναγκών και των στόχων σας για το μάθημα](#παραδοτέο-1) |
| 2 | [Άσκηση γραμμής εντολών](#παραδοτέο-2)|
| 3 | [Άσκηση γραμμής εντολών](#παραδοτέο-3)|
| 4 | [συμμετοχικό περιεχόμενο 1A](#παραδοτέο-4)|
| 5 | [Άσκηση γραμμής εντολών](#παραδοτέο-5)|
| 6 | [συμμετοχικό περιεχόμενο 2A](#παραδοτέο-6)|
| 7 | [Άσκηση γραμμής εντολών](#παραδοτέο-7)|
| 8 | [συμμετοχικό περιεχόμενο 1B](#παραδοτέο-8)|
| 9 | [Άσκηση γραμμής εντολών](#παραδοτέο-9)|
| 10 | [συμμετοχικό περιεχόμενο 2B](#παραδοτέο-10)|
| 11 | [Άσκηση γραμμής εντολών](#παραδοτέο-11)|
| 12 | [Τελική αναφορά και αίτημα ενσωμάτωσης για βαθμολόγηση](#παραδοτέο-12)|

# Παραδοτέο 1

Κατά την επιτυχημένη ολοκλήρωση του συγκεκριμένου μαθήματος θέλω να έχω κάνει κτήμα μου το gituhb ώστε να μπορέσω να το χρησιμοποιήσω και μελλοντικά σε προσωπικές μου δημιουργίες ή/και σε επαγγλεματικό περιβάλλον. Επιπλέον, θέλω να έχω την δυνατότητα να διαχειρίζομαι το terminal όσο δυνατόν καλύτερα γίνεται. Τέλος, θα ήθελα να έχω κατανοήσει πλήρως την φύση του μαθήματος καθώς και όλες τις δυνατότητες που προσφέρει η αλληλεπίδρασης ανθρώπου-υπολογιστή στις μέρες μας.

# Παραδοτέο 2


Αρχικά αποφάσισα να χρησιμοποιήσω Kali-Linux για την εκπόνηση των εργασιών εφόσον είναι ενα περιβάλλον με το οποίο έχω ασχοληθεί στο παρελθόν και προσφέρει πολλές λειτουργίες που θα μου φανούν χρήσιμες στην επαγγελματική μου σταδιοδρομία.

Για την πρώτη άσκηση γραμμής εντολών ασχολήθηκα με το assignment "set-up the main dependencies and demonstrate your base system":

|Deliverables|
|---|
|Αλλαγή του command promt με το student ID|
|List of dot files (hidden files)|
|Display shell configuration file|
|Display system infromation (neofetch)|

Μπορώ να πω ότι η διαδικασία ήταν αρκετά ενδιαφέρον, εφόσον η αλλαγή του cmd με το student ID ήταν πρόκληση διότι κάθε φορα που το άλλαζα με κάθε restart άλλαζε πάλι. Έπειτα από πολύ ψάξιμο, κατάφερα βέβαια να διευθετίσω το πρόβλημα αλλάζοντας το PS1 μέσα στο bashrc αρχείο ώστε να γίνεται με κάθε άνοιγμα του cmd!

[Asciinema link](https://asciinema.org/a/Kue2LvhWU4qxy1tLoqHoRMHs2)

# Παραδοτέο 3
Για το 3ο Παραδοτέο επέλεξα να ασχοληθώ με το assignment "get familiar with basic commands, reading documentation and editing files".

Πιο συγκεκριμένα έγιναν τα παρακάτω:

|Deliverables|
|---|
|Έλεγχος του username|
|Έλεγχος του manual για vim|
|Δημιουργία απλού bash script|
|Browse στο bashrc και αλλαγή του cmd name|

Σε αυτό το Παραδοτέο λοιπόν, έχω να κάνω τις εξής παρατηρήσεις. Αρχικά, έψαξα αρκετά online σε διάφορα βίντεο για να καταλάβω τον τρόπο λειτουργίας του vim καθώς και το bash ώστε να μπορέσω να κάνω όσα φάινονται στο παρακάτω βίντεο. Ένα από τα μεγαλύτερα προβλήματα που συνάντισα ήταν η δυσκολία διαχείρισης του vim ταυτόχρονα με την άνεση βέβαια που προσφέρει αφού εξοικιωθείς μαζί του! Τέλος, άργησα να καταλάβω ότι τα αρχεία bash πρέπει να ξεκινούν με #!/bin/bash, με το οποίο ασχολήθηκα αρκετά!

Σας παραθέτω μερικές από τις online πηγές που χρησιμοποίησα για να μάθω τα παραπάνω:

[Vim Guide](https://www.youtube.com/watch?v=ggSyF1SVFr4)

[Bash Guide](https://www.youtube.com/watch?v=Zl7npywCB84)

Παρακάτω θα βρείτε το link για το asciinema με τα Deliverables:

[Asciinema Link](https://asciinema.org/a/FVYNiTMcZPy0ntIvW4YKY8Zr2)

# Παραδοτέο 4

Στο συγκεκριμένο παραδοτέο για το συμμετοχικό υλικό Α1 ασχολήθηκα με τις γλώσσες προγραματισμού C και Java οι οποίες όσο κοινές είναι λόγω των γενικών προγραμματιστικών ιδιοτήτων τους, τόσο διαφορετικές είναι στην μορφή τους, στον τρόπο λειτουργίας τους και στον προγραμματιστικό στόχο της κάθε μιας. Διαδικαστικά για την ολοκλήρωση του παραδοτέου λοιπόν, ξεκίνησα κάνοντας fork τα απαραίτητα αποθετήρια ενώ στην συνέχεια δυσκολεύτηκα αρκετά κατά την διαδικασία για τα submodules. Το πρόβλημα ήταν ότι προσπαθώντας να κάνω add το forked repository ήταν ήδη ως submodule το original του master, επομένως δεν με άφηνε. Προχώρησα τελικά στην αφαίρεση του submodule και στην επαναπρόσθεση του από το forked repository. Τέλος βρήκα, έφτιαξα και πρόσθεσα τα απαραίτητα αρχεία για την ολοκλήρωση τοου παραδοτέου.

| Περιγραφή | Repository Link | Netlify Link |
| --- | --- | --- |
| Gallery C Programming Language | [c-programming-language.md](https://github.com/Drexion/_gallery/blob/master/c-programming-language.md) | [C Programming Language Summary](https://p2018118-pibook.netlify.app/gallery/c-programming-language/) |
| Images C Programming Language | [Full Quality](https://github.com/Drexion/images/blob/master/c-programming-language.png) + [Thumbnail](https://github.com/Drexion/images/blob/master/c-programming-language-thumb.png) |
| Gallery Java | [java.md](https://github.com/Drexion/_gallery/blob/master/java.md) | [Java Summary](https://p2018118-pibook.netlify.app/gallery/java/) |
| Images Java | [Full Quality](https://github.com/Drexion/images/blob/master/java.png) + [Thumbnail](https://github.com/Drexion/images/blob/master/java-thumb.png) |

# Παραδοτέο 5

Για το 5ο παραδοτέο ασχολήθηκα με την λήψη αρχείου mp3, μέσω του εργαλείου "youtube-dl". Ήταν μία διαδικασία που δεν ήξερα ότι γινόταν μέσω cmd και μου φάνηκε πολύ ενδιαφέρον. Χρησιμοποίησα επίσης μερικά options για την δημιουργία του mp3 καθώς και για την καλύτερη κατανόηση του αρχείου.

Πιο συγκεκριμένα χρησιμοποιήθηκαν τα παρκαάτω τα παρακάτω:

|Deliverables|
|---|
|--audio-format mp3, με το οποίο επέλεξα το αρχείο να είναι mp3|
|--extract-audio για μετατροπή του βίντεο σε αρχείο ήχου|
|--limit-rate 3M, το οποίο χρησιμοποιείται για περιορισμό των download byte που καταναλώνει. Χρησιμοποιήθηκε για λόγους κατανόησης του εργαλείου|

Παρακάτω θα βρείτε το link για το asciinema:

[Asciinema Link](https://asciinema.org/a/cbZexrkng4MGY0KxnLgoBkErS)

# Παραδοτέο 6

Στο συγκεκριμένο παραδοτέο για το συμμετοχικό υλικό Α2 προχώρησα στην υλοποίηση των slides και του timeline, όπου η γενικότερη θεματολογία είναι η εξέλιξη της γλώσσας προγραμματισμού. Aναφέρομαι σε παλαιότερες προγραμματιστικές γλώσσες καθώς και στην δημουργία των πρώτων υπολογιστών. Ως διαδικασία ήταν πιο εύκολη από το Α1 εφόσον πλέον έχω κατανοήσει τον τρόπο λειτουργίας του gituhb και αλληλεπίδρασης του με το Netlify, κάτι που έκανε την διαδικασία αρκετά πιο ομαλή και εύκολη.


| Deliverables | Netlify Link | Αποθετήριο |
| --- | --- | --- |
| Διαφάνειες | [Netlify](https://p2018118-pibook.netlify.app/slides/programming-evolution/) | [Repository](https://github.com/Drexion/site/blob/master/_slides/programming-evolution.md) |
| Χρονολόγιο | [Netlify](https://p2018118-pibook.netlify.app/timeline/programming-evolution/) | [Repository](https://github.com/Drexion/site/blob/master/_timeline/programming-evolution.md) |

# Παραδοτέο 7

Για το 7ο παραδοτέο ασχολήθηκα με την λήψη πληροφοριών καιρού, μέσω του "wttr". Ήταν μία πολύ γρήγορη διαδικασία μέσα από την οποία παίρνεις πολύ αναλυτικές πληροφορίες σχετικά με τον καιρό του τόπου σου. Ο τρόπος λειτουργίας του εργαλείου είναι πολύ απλός, έχοντας ως μονο απαραίτητο argument το όνομα της πόλης σου. Όπως φαίνεται παρακάτω το εξέτασα στον τόπο διαμονής μου καθώς και στον τόπο που έχω προγραμματισμένες διακοπές στο κοντινό μέλλον.

Πιο συγκεκριμένα, έλεγξα τον καιρό με τα παρακάτω απλά commands

|Deliverables|
|---|
|curl wttr.in/Kerkyra, με το οποίο παίρνουμε αναλυτικές πληροφορίες για την Κέρκυρα|
|curl wttr.in/Rome, αναλυτικές πληροφορίες για την Ρώμη όπου θα ταξιδέψω, αποδεικνύοντας ότι μας δίνει παγκοσμίως πληροφορίες για τον καιρό.|


Παρακάτω θα βρείτε το link για το asciinema:

[Asciinema Link](https://asciinema.org/a/P1OfjVfSHWWDzfHjky97UtC2N)

# Παραδοτέο 8

Στο συγκεκριμένο παραδοτέο για το συμμετοχικό υλικό Β1 αποφάσισα να ασχοληθώ με την δημιιουργία ενός case-study για το προγραμματιστικό περιβάλλον Microsoft Visual Studio. Θεωρώ ότι αποτελεί πολύ ενδιαφέρουσα προσθήκη σχετικά με το υλικό του Α1 και Α2 εφόσον οι γλώσσες προγραμματισμού συνδυάζονται άμεσα με τα IDE. Διάλεξα συγκεκριμένα το Visual Studio λόγω των μεγάλο αριθμών γλωσσών που υποστηρίζει καθώς και το extensibility που προσφέρει.

| Netlify | Case Study | Case Text |
| --- | --- | --- |
| [Netlify](https://p2018118-pibook.netlify.app/case-study/visual-studio/) | [Case Study Repository](https://github.com/Drexion/site/blob/master/_case-study/visual-studio.md) | [Case Text Repository](https://github.com/Drexion/site/blob/master/_case-study/cs-visual-studio.md) |

Πηγές
[Microsoft Visual Studio](https://en.wikipedia.org/wiki/Visual_Studio)

# Παραδοτέο 9

Για το 9ο παραδοτέο ασχολήθηκα με την χρήση του epr για την ανάγνωση βιβλίων μέσω του cmd. Κάτι που φάνηκε ιδιαίτερα ενδιαφέρον και πολύ βολικό. Στο συγκεκριμένο παράδειγμα, άνοιξα το αγαπημένο μου βιβλίο The Art of War, όπου χρησιμοποίησα το option "T" για να ανοίξω το menu με όλα τα διαθέσιμα κεφάλαια του βιβλίου, κάνοντας scroll δείχνοντας την ευκολία χρήσης του κατά την ανάγνωσου του, όπου στο τέλος βγήκα από το βιβλίο με το πλήκτρο "Q".

Σας παραθέτω παρακάτω τα προαναφερόμενα χωρισμένα ανά option:

|Deliverables|
|---|
|epr *Book name*, το οποίο ανοίγει την πρώτη σελίδα του βιβλίου|
|Χρήση του πλήκτρου "Τ", το οποίο ανοίγει το menu με όλα τα κεφάλαια του βιβλίου για να επιλέξεις|
|Χρήση του πλήκτρου "Q", το οποίο τερματίζει την διαδικασία και "κλείνει" το βιβλίο|


Παρακάτω θα βρείτε το link για το asciinema:

[Asciinema Link](https://asciinema.org/a/S02TvVKIJkhI6LbmB2sk2bSRf)

# Παραδοτέο 10

Στο συγκεκριμένο παραδοτέο για το συμμετοχικό υλικό Β2 αποφάσισα να κάνω την βιογραφία του Dennis Ritchie. Ένα πολύ σημαντικό πρόσωπο στην ιστοριά της πληροφορικής. Δημιουργός του unix και της γλώσσας προγραμματισμού C, η οποία αποτελέι και κομμάτι της εργασίας μου στο Α μέρος.

| Netlify | Case Study | Case Text |
| --- | --- | --- |
| [Netlify](https://p2018118-pibook.netlify.app/biography/dennis-ritchie/) | [Biography Repository](https://github.com/Drexion/site/blob/master/_biography/dennis-ritchie.md) | [Biography Text](https://github.com/Drexion/site/blob/master/_biography/bio-ritchie.md) |

Πηγές
[Βιογραφία Dennis Ritchie](https://handwiki.org/wiki/Biography:Dennis_Ritchie)

# Παραδοτέο 11

Για το παραδοτέο 11 αποφάσισα να χρησιμοποιήσω το tmux για να κάνω split το cmd, όπως φαίνεται και στο βίντεο έτρεξα το top command για να φανούν τα ενεργά processes με τις ανάλογες πληροφορίες και δημιούργησα ένα απλό python script για να αναδείξω την χρησιμότητα της λειτουργίας, όπου βλέπουμε το python3 να ανεβεί πρώτο στα processes στο δεύτερο tab.

|Deliverables|
|---|
|Χρήση tmux γα split screen του cmd|
|Δημιουργία ενος loop με python ώστε να αναδείξουμε την λειτουργία του command top με το split screen|
|Κλείσιμο των παραθήρων με ctrl + d|

[Asciinema Link](https://asciinema.org/a/HMw3rym15GrfoxAkULvoY3OGj)

# Παραδοτέο 12

Συμπερασματικά, με την ολοκλήρωση όλων των παραδοτέων μπορώ να πω χωρίς υπερβολές ότι έχω επιτύχει τους αρχικούς στόχους που αναφέρονται στο αρχικό παραδοτέο και ακόμη περισσότερα. Αρχικά, έχω αποκτήσει πάρα πολλές γνώσεις για τον τρόπο λειτουργίας του git και github, έπειτα από επανειλλημένες αποτυχίες με τα submodules, commits και forks. Εξοικειώθηκα με το Netlify ως περιβάλλον και κατανόησα τις πολλές δυνατότητες που προσφέρει μέσω του gituhb. Απέκτησα τρομερή άνεση με το terminal όπου πλέον μπορώ να κάνω άνετα περιήγηση στα directories, αλλαγές σε αρχεία. Τέλος φυσικά έπειτα από περιήγηση στο pibook κατανόησα την σημαντικότητα και ιδιαιτερότητα του μαθήματος. Προσωπικά παρά την παράδοση της εργασίας μου στην εξεταστική του Σεπτεμβρίου όπου η διαδικασία και λύση των αποριών μου ήταν ιδιαίτερα περίπλοκη, θεωρώ ότι ο χρόνος που αφιέρωσα στην λύση τον προβλημάτων μου μόνος μου, μου έδωσαν πάρα πολλές χρήσιμες γνώσεις και η συμπλήρωση των παραδοτέων ήταν μία πολύ ευχάριστη διαδικασία με νέα challenges κάθε φορά.

0 comments on commit 7768d73

Please sign in to comment.