I253 Informatika eelkursus: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Lvosandi (talk | contribs)
Lvosandi (talk | contribs)
Line 227: Line 227:


Vii ennast kurssi kuidas Gitiga toimetada, manuaal väga ei aita kuna terminoloogia on võõras, seepärast proovi järgida mõnda [http://rogerdudler.github.io/git-guide/ Git for newbies] juhendit.
Vii ennast kurssi kuidas Gitiga toimetada, manuaal väga ei aita kuna terminoloogia on võõras, seepärast proovi järgida mõnda [http://rogerdudler.github.io/git-guide/ 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 <code>ssh-keygen -t ecdsa -P ""</code>, kuva avaliku võtme sisu <code>cat ~/.ssh/id_ecdsa.pub</code> abil ning kopeeri see GitHubi veebilehele (Settings -> SSH and GPG keys)
* Klooni varamu oma arvutisse <code>git clone git@github.com:kasutaja/repo.git</code>, <code>cd repo</code>
* Lisa failid äsja tekkinud kataloogi, nt index.html ja mõni pilt
* Ütle Gitile et ta silma peal hoiaks nendel failidel <code>git add index.html</code>
* Tee sissekanne (''commit'') <code>git commit</code> abil, Git küsib sissekande jaoks kirjeldust, see peaks vastama küsimusele mida tehti/lisati/muudeti
* Avalikusta oma muudatused <code>git push</code> abil
See järel säti üles enoses oma koduleht 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: <code>mv ~/public_html ~/kodulehe_backup</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

Revision as of 09:36, 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


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 ja lsusb -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õi ip 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 sisu cat ~/.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

See järel säti üles enoses oma koduleht 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