I253 Informatika eelkursus: Difference between revisions
Line 239: | Line 239: | ||
* Avalikusta oma muudatused <code>git push</code> abil | * Avalikusta oma muudatused <code>git push</code> abil | ||
Seejärel tee administraatori osa (''deployment'') enos.itcollege.ee serveris sättides üles oma kodulehe nii et see on seostatud GitHubis oleva koodiga: | |||
* Säti üles SSH võtmetega autentimise oma kontoga enoses ning GitHubi serveri vahel, samamoodi nagu oma arvutigi puhul | * Säti üles SSH võtmetega autentimise oma kontoga enoses ning GitHubi serveri vahel, samamoodi nagu oma arvutigi puhul | ||
Line 245: | Line 245: | ||
* Klooni varamu enosesse: <code>git clone git@github.com:kasutaja/repo.git ~/public_html</code> | * Klooni varamu enosesse: <code>git clone git@github.com:kasutaja/repo.git ~/public_html</code> | ||
* Kontrolli et su koduleht oleks töökorras minnes veebilehitsejaga aadressile http://enos.itcollege.ee/~kooli-kasutajanimi | * Kontrolli et su koduleht oleks töökorras minnes veebilehitsejaga aadressile http://enos.itcollege.ee/~kooli-kasutajanimi | ||
Igapäevane arendusprotsess edaspidi näeb välja järgnev: | |||
* Oma arendusmasinas redigeerid faile, märgid muudatused Gitile meelde jätmiseks <code>git add failinimi</code> abil, teed sissekande <code>git commit abil</code> ning lükkad muudatused GitHubi serverisse <code>git push</code> | |||
* Oma serveris raknedad muudatused lihtsalt <code>git pull</code> abil |
Revision as of 09:38, 8 September 2016
Üldinfo
Kübersõjardid võivad seda kursust läbida ka inglise keeles.
Ainepunkte: 2 ECTS
Hindamisviis: Test + kodutööd
Õppejõud: Lauri Võsandi koos tuutoritega Arti Zirk, Marvin Martinson, Kristjan Peterson
Eeldused ja sihtgrupp
Kursus on mõeldud esmakursuslastele, et neid ette valmistada sügissemestril õpetatavate ainete jaoks ning kurssi viia IT Kolledži taristuga. Power userid ilmselt on võimelised jooksvalt selgeks tegema vajalikud asjad ning võivad oma valikainete punktid täis saada muudest ainetest.
Eesmärk ja sisu
Teemad pole ilmtingimata õiges järjekorras aga selleks et ainepunktid kätte saada peaks olema selgeks tehtud:
- ITK tehnilised juhendid [1], et saaks hakkama printimisega, e-posti edasi suunamisega ning kooli veebiserveri kasutamisega
- Arvuti riistvara põhitõed, et tudeng oskaks töö jaoks sobivat arvutit hankida
- Kiirklahvid Windowsis, Ubuntus - kui Alt-Tab puusalt ei tule ja klikitakse hiirega nagu metslane on päris piinlik ikka küll
- Failidega majandamine Windowsis, Ubuntus. Oskab kopeerida, liigutada, kustutada faile. Eristab kataloogi failist. Oskab sisse lülitada faililaiendite ning peidetud failide näitamise.
- Tekstiredaktori Notepad++ Windowsis, Gedit Ubuntu kasutamine. Oskab seadistaada treppimist, reavahetusi ning kooditabelit (UTF-8)
- SSH kaudu serveritega majandamine, käsureale ligi pääsemiseks PuTTY ning failidega majandamiseks WinSCP
- Versioonihaldusega tutvumine, saab aru mis vahe on tarkvaral Git ning teenusel GitHub. Oskab faile lisada versioonihaldusesse ning avaldada oma koodi GitHubis.
- Virtualiseerimisega tutvumine, on praktikumis paigaldanud virtuaalmasinasse Windowsi ja Ubuntu ning saab hakkama paigaldusega oma arvutil. On aimu palju ressursse jagada virtuaalmasinatele.
- Siia tuleb veel juurde ...
Hindamine
Aine läbimiseks on vaja:
- Sättida üles koduleht kooli veebiserveris
- Panna oma kodulehe failid Git lähtekoodivaramusse Githubis
- Sättida üles SSH võtmetega autentimine GitHubi
- Sooritada test veebis, tunniplaanis ettenähtud ajal (ilmselt oktoobri keskpaik)
- Siia tuleb ilmselt mõni asi veel juurde ...
Kodused ülesanded
- Läbi teha CodeAcademys käsurea track
Loengud/praktikumid
Esimene päev: Windowsiga tutvumine ja kodulehe personaliseerimine
Windowsis saad sisse logida kasutajaga 'kylaline' ja parooliga 'kylaline'. Logi sisse kasutades ID-kaarti Internet Exploreri, Chrome või Firefoxiga ja lähtesta oma kasutaja parool ÕIS-is. ID-kaart ei tööta veebilehitsejas Edge! Märgi üles oma IT Kolledži kasutajanimi mille leiad 'Minu andmed' alt. Seejärel logi välja külalise kontost ning püüa sisse logida arvutisse oma kontoga. Kontrolli üle et saad ka vikis sisse logida. Seejärel kontrolli ka et saad sisse e-posti serverisse. E-posti serveris kasutajanimi on kasutajanimi@itcollege.ee kujul. Kõik vajalikud lingid leiad IT Kolledži kodulehe ülevalt nurgast.
Windowsi 'This PC' all peaks olema neli ketast:
- C: - See on SSD peal olev Windows paigaldus, seal on vähe ruumi aga see-eest kiire
- D: - See on tavaline kõvaketas, palju ruumi aga aeglasem, sinna pane virtuaalmasinad tulevikus
- H: - See on kodukataloog enos.itcollege.ee serveris, seal on public_html kataloog mis paistab ka veebis välja aadressil http://enos.itcollege.ee/~kasutajanimi/
- W: - See on Avalik kataloog mille kaudu saate omavahel faile vahetada
Tekita H: kettal oleva public_html kausta fail nimega index.html mis tutvustaks kes sa oled ja kust sa tuled. Lisa ka pilt. Näite leiab siit. Faili index.html loomiseks sikuta omale mõni pädev tekstiredaktor a'la Notepad++, valige veebilehelt portable versioon .zip failis kuna teil pole õigust süsteemselt paigaldada tarkvara. MS Word on tekstitöötluseks (word processing), MS Word EI OLE tekstiredaktor (text editor). Notepad++ saab arvutitesse vast paigaldatud järgmise nädala jooksul. Kui HTML-i veel ei tunne siis ära muretse, sellest räägitakse kevadsemestril pikalt ja laialt. Praegu võte piirduda lihtsa tutvustava lehega:
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<p>Tere mina olen Lauri metsast</p>
<!-- Need kaks on cloudfront serverist -->
<img src="https://d1qb2nb5cznatu.cloudfront.net/users/18344-large?1405448591"/>
<img src="//d1qb2nb5cznatu.cloudfront.net/users/18344-large?1405448591"/>
<!-- Need neli on enose serverist -->
<img src="http://enos.itcollege.ee/~lvosandi/pics/lauri.jpeg"/>
<img src="//enos.itcollege.ee/~lvosandi/pics/lauri.jpeg"/>
<img src="/~lvosandi/pics/lauri.jpeg"/>
<img src="pics/lauri.jpeg"/>
<!-- Variandid mis kindlasti ei tööta -->
<img src="/home/lvosandi/public_html/pics/lauri.jpeg"/>
<img src="H:\public_html\pics\lauri.jpeg"/>
<img src="pics\lauri.jpeg"/>
</body>
</html>
Kui kõik tehtud on proovi FileZillaga ligi saada oma kodukataloogile, FileZilla on juba paigaldatud Windowsisse. Isiklikku arvutisse võid ka selle paigaldada või siis hoopis WinSCP-d kasutada. FileZillaga ühendudes hostname on enos.itcollege.ee, kasutajanimi/parool sama mis ÕIS-is ning port on 22, ehk SSH protokoll. Veendu et saad ligi kataloogile ning proovi faile üles/alla laadida.
Teine päev: Ubuntuga tutvumine ja virtuaalmasinate loomine
Käivita arvutis Ubuntu, kui arvuti on juba Windowsis vali peamenüüst restart/taaskäivitus. Ubuntus peaksid saama sisse logida sama kasutajanime ning parooliga, häda korral võid kasutada kasutajanime student ning parooli student. Sellisel juhul muidugi võrguketast külge ei haagita.
Ubuntus on sinu kohalik kodukataloog /home/kasutajanimi. Ubuntus ei ole kettaid C:, D: või H: vaid need ressursid on haagitud kataloogidesse. Windowsist tuttav H: ketas on Ubuntus kättesaadav /home/kasutajanimi/Dokumendid kataloogis ning W: ketas /home/kasutajanimi/Avalik kataloogis ja D: ketas on haagitud /shared alla.
Terminali avamiseks vajuta Ctrl-Alt-T Nopped eelmise aasta I600 kursusest mida terminalis proovida peale eile enoses kasutatud käskude:
- Kasuta
lsb_release -a
käsku, et kuvada operatsioonisüsteemi täpne nimi ja versioon - Kasuta
uname -sr
käsku et uurida välja mis tuuma (kernel) versiooni hetkel käitatakse - Kasuta
cat /proc/cpuinfo
käsku protsessori info kuvamiseks. Mis mudeliga tegu on ja mitu tuuma sellel on? - Kasuta
arch
käsku et kuvada hetkel kasutatav protsessori arhitektuur, kas see on 32-biitne või 64-bitine? - Kasuta
cat /proc/meminfo
käsku mälu info kuvamiseks. Palju selles arvutis mälu on? - Kasuta
lspci -t -v -nn
käsku ühendatud PCI ja PCI Express seadmete nimekirja kuvamiseks. Püüa tuvastada mis on mis. - Kasuta
lsusb
jalsusb -t
käske et kuvada USB seadmete nimekiri, jällegi püüa tuvastada mis on mis. - Kasuta
lsblk
käsku et kuvada plokkseadmete nimekiri, kui suured kõvakettad/SSD-d on selles arvutis? - Kasuta
xrandr
käsku et kuvada videoväljundid. Mis resolutsioonid on saadaval ning milline neist on hetkel kasutusel? - Kasuta
cat /proc/asound/cards
käsku et kuvada heliseadmete nimekiri. - Kasuta
dmidecode
et saada veel rohkem informatisiooni arvuti kohta, näiteks mis taktsagedusega mälud arvutis on ning mis tüüpi pesa nad kasutavad? Selleks et teada missuguseid mälumooduleid minna poest ostma. - Kasuta
ifconfig -a
võiip addr list
käske et kuvada võrguseadmete seaded. - Kasuta
htop
käsku protsessitabeli kuvamiseks
Laadi alla Windows 10 ISO ning paigalda see VirtualBox abil loodud virtuaalmasinasse. Eralda virtuaalmasina jaoks 8GB mälu ning 100GB kettapinda mis on paigutatud /shared alla, vastasel korral võib SSD kõristsaadik täis saada. Laadi alla Ubuntu MATE 16.04 ISO ning paigalda samasse virtuaalmasinasse ka Ubuntu, paigaldusel vali "Install alongside Windows". Kui seda valikut ei kuvatud siis pole virtuaalmasinas Windows korrektselt kinni pandud. Kui Ubuntu peaks alglaadimisel hanguda proovi lisada virtuaalmasinale protsessori tuumasid juurde, seda protsessorimudelit lihtsalt ei eksisteeri ühetuumalisena.
Kolmas päev: Tere maailm erinevates programmeerimiskeeltes
Proovi läbi teha tere maailm erinevates programmeerimiskeeltes Ubuntu all. Proovi täiendada programme, lisa nime küsimine ning lase programmil tervitada kasutajat nimepidi. Miks on programmi käivitamine niivõrd erinev erinevates keeltes? Mis on iga keele tugevused/nõrkused/omapärad? Tee taaskäivitus Windowsisse ning proovi sama asja teha Visual Studio abil C# keeles.
Python
Ava gedit
tekstiredaktor, ning salvesta järgnev sisu faili hello.py
.
#!/usr/bin/env python
print "Tere maailm"
Ava käsurida Ctrl-Alt-T abil ning käivita äsja salvestatud fail:
python hello.py # Käivita Python interpreedi abil hello.py
Ruby
Loo fail nimega hello.rb
:
#!/usr/bin/env ruby
puts "Tere maailm"
Käivita programm käsureal:
ruby hello.rb # Käivita Ruby interpreedi abil hello.rb
Bash
Loo fail nimega hello.sh
:
#!/bin/bash
echo "Tere maailm"
Käivita programm käsureal:
bash hello.sh
C
Loo fail nimega hello.c
:
#include <stdio.h>
void main() {
printf("Tere maailm\n");
}
Kompileeri programm käsureal:
gcc hello.c -o hello
Käivita programm failis hello
./hello # Käivita hello nimeline binaar praeguses kataloogis
Java
Loo fail nimega HelloWorld.java
:
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Kompileeri programm käsureal:
javac HelloWorld.java
Käivita Java baitkood failis HelloWorld.class
java HelloWorld
Neljas päev: Git ja SSH võtmed
Seekord vaatame kuidas toimib Git versioonihaldussüsteem ning kuidas sättida üles mugav autentimine oma isikliku arvuti, GitHubi ning enose vahel. SSH võtmete tegemine puust ja punaseks. Siin ka video kuidas Eclipse's Giti kasutada, selleks et Java kodutöö üles laadida.
Vii ennast kurssi kuidas Gitiga toimetada, manuaal väga ei aita kuna terminoloogia on võõras, seepärast proovi järgida mõnda Git for newbies juhendit.
Tee oma arvutis läbi arenduse osa (development) kodulehest:
- Registreeri GitHubis konto
- Loo GitHubi lähtekoodivaramu (repository) oma kodulehe jaoks
- Säti üles SSH võtmetega autentimine oma arvuti ja GitHubi serveri vahel
ssh-keygen -t ecdsa -P ""
, kuva avaliku võtme sisucat ~/.ssh/id_ecdsa.pub
abil ning kopeeri see GitHubi veebilehele (Settings -> SSH and GPG keys) - Klooni varamu oma arvutisse
git clone git@github.com:kasutaja/repo.git
,cd repo
- Lisa failid äsja tekkinud kataloogi, nt index.html ja mõni pilt
- Ütle Gitile et ta silma peal hoiaks nendel failidel
git add index.html
- Tee sissekanne (commit)
git commit
abil, Git küsib sissekande jaoks kirjeldust, see peaks vastama küsimusele mida tehti/lisati/muudeti - Avalikusta oma muudatused
git push
abil
Seejärel tee administraatori osa (deployment) enos.itcollege.ee serveris sättides üles oma kodulehe nii et see on seostatud GitHubis oleva koodiga:
- Säti üles SSH võtmetega autentimise oma kontoga enoses ning GitHubi serveri vahel, samamoodi nagu oma arvutigi puhul
- Liiguta olemasolev veebileht eest ära:
mv ~/public_html ~/kodulehe_backup
- Klooni varamu enosesse:
git clone git@github.com:kasutaja/repo.git ~/public_html
- Kontrolli et su koduleht oleks töökorras minnes veebilehitsejaga aadressile http://enos.itcollege.ee/~kooli-kasutajanimi
Igapäevane arendusprotsess edaspidi näeb välja järgnev:
- Oma arendusmasinas redigeerid faile, märgid muudatused Gitile meelde jätmiseks
git add failinimi
abil, teed sissekandegit commit abil
ning lükkad muudatused GitHubi serverissegit push
- Oma serveris raknedad muudatused lihtsalt
git pull
abil