https://github.com/mapio/codebox4im
Ambiente virtuale di supporto all'insegnamento "Programmazione" del corso di studi in "Informatica musicale" @ UniMI
https://github.com/mapio/codebox4im
Last synced: 3 months ago
JSON representation
Ambiente virtuale di supporto all'insegnamento "Programmazione" del corso di studi in "Informatica musicale" @ UniMI
- Host: GitHub
- URL: https://github.com/mapio/codebox4im
- Owner: mapio
- License: gpl-3.0
- Created: 2014-10-05T13:45:04.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-12-22T16:11:38.000Z (over 11 years ago)
- Last Synced: 2024-05-01T14:14:19.314Z (about 2 years ago)
- Language: Shell
- Size: 336 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Codebox per il Laboratorio di Programmazione

Questo repository contiene (le configurazioni necessarie a predisporre) una
immagine di una *macchina virtuale* contenente l'ambiente di sviluppo
[Codebox](https://www.codebox.io/), utile allo svolgimento degli esercizi
relativi al corso di [Programmazione](http://boldi.di.unimi.it/Corsi/Mus2014/)
del corso di studi in [Informatica
musicale](http://www.ccdinf.unimi.it/it/corsiDiStudio/2015/F3Xof2/)
dell'[Università degli Studi di Milano](http://www.unimi.it/).
## Istruzioni d'uso
Di seguito sono riportate le istruzioni d'uso che sono differenti nel caso del
*primo uso* (che richiede un lungo processo di *preparazione* della macchina
vituale) e degli utilizzi successivi (che possono, al più, richiedere il
*riavvio* della macchina medesima.)
### Primo uso (installazione)
Per approntare tale macchina virtuale è necessario predisporre, secondo le
seguenti istruzioni, l'ambiente *ospite* (ossia il sistema che usa
correntemente e che conterrà la macchina virtuale). Lo studente dovrà:
* scaricare [VirtualBox](https://www.virtualbox.org/), ed installarlo seguendo le [istruzioni](https://www.virtualbox.org/manual/ch02.html) (non è necessario installare l'*extension pack*);
* scaricare ed installare [Vagrant](http://www.vagrantup.com/), seguendo le [instruzioni](http://docs.vagrantup.com/v2/installation/index.html);
* scaricare ed installare [Chrome](https://www.google.com/chrome/).
Una volta installato il software di cui sopra, è necessario scaricare il file
all'indirizzo [http://git.io/CJ-rWA](http://git.io/CJ-rWA) e salvarlo col nome
`Vagrantfile` (senza estensione `.txt`) in una directory vuota (il cui nome **non contenga accenti o lettere speciali**), portarsi in
tale directory ed impartire il comando
vagrant up
e predisporsi ad attendere il tempo necessario alla *preparazione* ed *avvio*
della macchina virtuale; la fase di preparazione può richiedere anche un'ora
(a seconda della velocità di rete), ma viene effettuata esclusivamente al
primo avvio.
Terminata l'esecuzione del precedente comando, è possibile accedere alla
macchina virtuale aprendo (con Chrome) l'indirizzo
[http://127.0.0.1:8000/start/](http://127.0.0.1:8000/start/).
**Nota bene**: se il processo sembra *arrestarsi troppo a lungo*, oppure
riporta dei *messaggi d'errore*, o al termine del medesimo l'indirizzo sopra
indicato *non è accessibile*, è possibile costruire da capo la macchina
virtuale *eliminando* il file `provision.sh` eventualmente presente e dando i
comandi
vagrant destroy -f
vagrant up
nella cartella dove è presente il file`Vagrantfile`.
### Usi successivi
Se il sistema operativo **ospite** viene *spento* (o per qualche altra ragione
si arresta la macchina virtuale approntata al passo precedente) è possibile
*metterla di nuovo in esecuzione* posizionandosi nella cartella dove è
presente il file`Vagrantfile` e dando i comandi
vagrant up
o, nel caso il comando risponda che la macchina è già in funzione (ossia nello
stato `running`), è possibile *riavviarla* in caso di necessità con il comando
vagrant reload
In fine, qualora venga **aggiornata** la configurazione della macchina, è
possibile aggiornare la macchina virtuale con il comando
vagrant halt
vagrant up --provision
che potrebbe richiedere, a seconda dei casi, una lunga attesa; in caso siano
da **aggiornare solo le librerie Java** è possibile usare il comando
curl -sL http://git.io/xYrFRQ | sudo bash
che va impartito **nel terminale di codebox** (e *non* della *macchina
ospite*).
### In SiLab
Per poter utilizzare in SiLab un ambiente simile a quello qui descritto è
sufficiente invocare il comando
/users/ms000123/dbin/runcodebox
oppure, generando (una sola volta) il *link simbolico* seguente
ln -s /users/ms000123/dbin/runcodebox $HOME
ed invocare successivamente il comando
./runcodebox
nella propria *home directory*.
## Note tecniche
L'ambiente di sviluppo presente nella macchina virtuale comprende:
- [Ubuntu 14.04.1](http://releases.ubuntu.com/14.04/)
- [Java SE Development Kit 7](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)
- [Java Platform SE 7 Documentation](http://docs.oracle.com/javase/7/docs/)
- [Codebox](https://www.codebox.io/)
- [prog](http://pighizzini.di.unimi.it/jb/librerie/)
- [j4im](https://github.com/mapio/j4im)
È ovviamente possibile installare tale software direttamente sul sistema
ospite.