Demotehtävien tekeminen ja suora palauttaminen IDEstä
1. Kokeilu: Palauttaminen suoraan IDE:stä
TIDE = TIM IDE
Kevään 2024 sovellusprojektissa on kehitetty palvelua, jossa tehtäviä voisi palauttaa suoraan IDE:tä. Mielelläni toivoisin että kokeilisitte tätä. Jatkossa esim Ohj1 ja Ohj2 tehtäviäkin tultanee palauttamaan osin tällä tavalla. Siksi testausapua ja palaute ryhmälle olisi tervetullutta.
Intel-pohjaisilla Macillä hieman hidas.
Jos asennuksessa/käytössä ongelmia, pistä postia: tide24@tim.jyu.fi.
TIDE:n tarkoituksena ei ole korvata TIMiä, vaan kannustaa käyttämään enemmän Eclipseä/IntelliJ Ideaa. Tehtävä pitää lukea joka tapauksessa TIMistä ja sitten katsoa tulokset lopulta TIMistä.
2. Asennus
Hae
tide
-sovellus omalle käyttöjärjestelmällesi ja pura paketissa oleva ohjelma johonkin paikkaan, joka sinulla on polussa. (Windowsia varten katso miten laitoit hakemeiston polkuun JavaFX:n asennuksessa)
Tarvittaessa katso TIDEn tarkemmat ohjeetpolut näet kirjoittamalla komentoriviltä (Widowsissa Git Bash):
echo $PATH
tai rivitettynä:
echo $PATH | tr : "\n"
Esimerkiksi
/usr/local/bin
on hyvä paikka. Windowsiin suosittelisin tekemäänC:\bin
joka näkyy GitBashissa/c/bin
ja laittamaan sen polkuun.
Kirjaudu Tidellä TIMiin antamalla komentorivillä (Windowsissa Git Bash):
tide login
Tämän voit joutua toistamaan 10 päivän välein tai jos kirjaudut itse ulos.
Jos myöhemmin tulee virheilmoitus:
Error: Could not complete API call /ide/ideCourses invalid_token The access token provided is expired, revoked, malformed, or invalid for other reasons.
niin silloin
tide login
pitää tehdä uudelleen.Avaa käytämästä IDE ja konfiguroi se käyttämään TIDEä valitun IDEn ohjeiden mukaisesti
Tehdään pikanäppäin tehtävän palautukselle valitun IDEn ohjeiden mukaisesti:
- TIDE extrenal toolsiin
- Avaa Settings (Ctrl+Alt+S) tai
File/Settings
. - Siirry kohtaan
Tools/External Tools
. - Lisää uusi työkalu painamalla
+
:- Name:
TIDE Submit
- Group:
Tide
- Description:
Lähettää nykyisin tiedoston TIMiin
- Program:
tide
- Arguments:
submit $FileName$
# huomaa piste! - Working directory:
$FileDir$
# tämä käyttää nykyisen tiedoston hakemistoa OK
- Name:
- Avaa Settings (Ctrl+Alt+S) tai
- TIDElle pikanäpäin
File/Settings/Keymap
- Kirjoita oikealla olevaan hakuun
tide
- tuplaklikkaa
TIDE submit
Add Keyboard Shorcut
- Paina
Ctrl-W
(tai mille näppäimelle haluatkaan) Save
- Tee itsellesi module demot (ks IntelliJ asennusohje) ja hae demoja aina sen alle
- TIDE extrenal toolsiin
Run/Extrenal Tools/External Tools Configurations...
- Valitse aukeavan ikkunan vasemman yläreunan vasemmanpuolisin ikoni jossa pieni keltainen +
Name:
TIDE submit
Location:
etsi asentamasitide.exe
ja sen polku tähän (itselläni esim:C:\bin\tide.exe
)Working Directory:
${container_loc}
Arguments:
submit ${resource_loc}
- Ota ikkunan
Build
-välilehti ja ota ruksi poisBuild before launch
- Ota
Common
välilehti ja ruksiExtrenal Tools
- Ruksi
Terminate child-processes if terminationg the launched process
Close
ja hyväksy tallentaminen
- Tee itsellesi projekti demot (ks Eclipse asennusohje) ja hae demoja aina sen alle
- TIDElle pikanäppäin
- Eclipsessä ei nähtävästi saa pikanäppäintä suoraan tietylle External Toolsille
- Tehdään pikanäppäin viimeksi käytetylle:
Window/Preferences/Keys
- kirjoita filtteriin:
extrenal
- valitse:
Run Last Launched Extrenal Tool
- mene
Binding
-kohtaan ja paina haluamaasi yhdistelmää, esimCtrl+W
Apply and Close
- Aja kerran jollekin demovastaukselle kohdasta
Run/External Tools/TIDE submit
- Jatkossa saat tuon saman toistettu valitsemallasi näppäinyhdistelmällä (esim
Ctrl+W
) - Videolla unohtui Eclipsessä lisätä ohj2-kirjasto jolloin virheitä ei olisi tullut.
3. Käyttö
Siirry komentorivillä hakemistoon, jossa haluat tehdä demoja (esim
kurssit/ohj2/demot
). Myös demo 2 jne. voit aikanaan siirtyä samaan hakemistoon.Hae tehtävät (vastaavasti aikanaan
2
jne) (huomaa että alempana on ohje skriptistä, joka hoitaa useamman vaiheen kerralla):tide task create kurssit/tie/ohj2/2024syksy/demot/Demo1 -a
Nyt on syntynyt
src/demo/d1
-hakemisto, jossa on kunkin tehtävän Java-kooditAvaa valitsemasi IDE, esim Eclipse tai IDEA
Kommentoi mahdolliset virhekohdat pois tehtävistä jota et vielä ole tekemässä.
- tai Eclipsessä valitse ne Java-tiedostot, joita ET ole tekemässä ja sitten hiiren oikealla
Build Path/Exclude
Build Path/Include
- tai IntelliJ:ssä valitse ne Java-tiedosto joita et ole vielä tekemässä ja sitten hiiren oikealla
Override File Type
- rupea kirjoittamaan
Plain text
kunnes tuo tulee valittavaksi ja valitse
Revert File Type Override
- tai Eclipsessä valitse ne Java-tiedostot, joita ET ole tekemässä ja sitten hiiren oikealla
Tee tehtäviä ja palauta niitä yksi kerrallaan:
- avaa ensin haluamasi tehtävän tiedosto
- koodaaile tehtävää normaalisti
- jätä
--- Write your code below this line. ---
ja vastaava lopetusrivi ehjäksi. Jos nuo löytyvät koodista, niin oma koodi niiden väliin. - muista kuitenkin lukea tehtävien vinkit yms huolella TIMistä tehtävän kohdalta.
Palauta tehtävä:
- tiedoston ollessa auki, paina
Ctrl-W
(tai minkä pikanäppäinen valitsitkaan)
tai hiirellä sieltä mistä External Tools käynnistetään käyttämässäsi IDEssä
- tiedoston ollessa auki, paina
Jos et saa IDE-palautusta toimimaan, voit palauttaa myös suoraan komentoriviltä, siirry ensin palautettavan tiedoston hakemistoon ja anna komento
tide submit [tiedoston nimi] # siis ilman hakasulkuja sen tiedoston nimi, jonka haluat palauttaa
Vaikka IDE-palautus toimisi, ohjelmasta syntyvä dokumentointi pitää käydä katsomassa TIMissä, jotta saa täydet pisteet. Lisäksi monissa tehtävissä pitää itse antaa pisteet TIMissä.
Kun menet TIMiin katsomaan vastauksia tai ajamaan testejä, kannattaa virkistää tehtäväsivu (
F5
), jotta TIDEssä palautetut vastaukset tulevat näkyviin. Yksittäisen tehtävän kohdalle on myös virkistyspainike, jolla sen tehtävän voi virkistää, jos TIDEn kautta palauttaa lisää tehtäviä.Kun haet TIDE-tehtäviä niihin tulee pohjaksi mahdollinen TIMissä aloittamasi vastaus. Jos teet tehtäviä välillä TIMissä ja haet tehtävät uudelleen, ei niillä oletuksena enää korvata IDEssä olevia tehtäviäsi. Jos haluat pakottaa korvaamana jonkin tehtävä Riderissä, voi tehdä sen komennolla tyyliin
tide task create kurssit/tie/ohj2/2024syksy/demot/Demo1 -a -f
-f
(force) pakottaa ylikirjoittamaan mahdollisen aikaisemman tehtävän.
MUISTA että tehtävien selostukset pitää aina lukea TIMistä ja palautusten jälkeen TIMistä pitää tarkistaa, että pisteet ovat kunnossa ja mahdollisesti pitää ajaa dokumentit ja tutkia ne TIMissä.
Tehtävien nimiä on yritetty tehdä tehtävien numeroa vastaaviksi tyyliin:
Tauno1a
T6KertomaDoWhile
TB1Etusuku
Aina tuon nimen laittaminen ei kuitenkaan ole järkevää, esim tulevissa Pvm
-luokissa se tehtävän numeron laittaminen luokkaan sotkisi luokin nimiä. Siksi monesti pitää tunnistaa tehtävää vastaava tiedosto sen nimen perusteella, mistä tehtävässä puhutaan.
FX-pohjaisissa ohjelmissa palauta kaikki tiedostot yksitellen, viimeisenä Main
-tiedosto.
4. Valmis komento hoitamaan edeltä vaiheet 2-4
Seuraava ohje toimii GitBash, Mac ja Linux:
Kirjoita seuraava koodi johonkin polussasi olevaan hakemistoon nimelle
haedemo2
(vaihda allacd ~/...
tilalle oma hakemistosi windowsissa, esimcd /c/...
Anna
haedemo2
hakemistossa komentorivillä komento, jolla annetaan suoritusoikeus tiedostollechmod +x haedemo
Kun haluat hakea tehtäviä esimerkiksi demoon 1, kirjoita missä vaan:
haedemo2 1
Tee tehtäviä kuten edellä kohdassa 7 eteenpäin.
Jos haluat pakottaa korvaamaan tekemästi tehtävät TIMIssä olevilla pohjilla (mahdollisesti jo palauttamillasi), niin anna komennon perään vielä välilyönnillä erotettu
-f
5. Ajatuksia TIDE-palauttamisesta
Kirjoita alle mielipiteitä, ajatuksia ja kehitysehdotuksia TIDE-palauttamisesta.
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.