Palvelinten Hallinta
Configuration Management Systems course - 2024 autumn

Control 10, 100, 1000 many computers.

Or control 2071 computers, like Jussi did on a earlier course. Or handle 7 different operating systems and OS versions with a single master, like Matias.

Best instance got 5.0 / 5 feedback - all respondents gave the best grade 5.

Enroll 2024-05-15 w20 Wednesday at 08:00 in MyNet / Peppi.

Looking for the earlier Spring 2024 Palvelinten hallinta?

Course, both instances
Course name and codePalvelinten hallinta ICI001AS3A-3010
Timing2024 period 2, late autumn, w43-w50
Credits5 cr
LanguageFinnish (+reading material in English)
Feedback5.0 / 5 * Excellent feedback Five star experience
ClassesThu 14:00 - 16:45, online video conference, mandatory participation
Max students50
RemoteFully remote
First class2024-10-24 w43 Thu 14:00, Jitsi link will be in Moodle.
ServicesMoodle: Palvelinten hallinta 3010 online, Jitsi, Laksu. Optional: Tero's list.

I've done some research on configuration management systems. I have written my doctoral dissertation on applying malware command and control techniques to benign configuration management systems. I've given an invited speech in IEEE ICIM Chengdu and a plenary speech in IEEE ICIM Oxford; I’ve also been teaching these modern methods to companies. Previous feedback for this course has been from very good 4.3 to excellent 4.9 5.0 out of 5.

As the course is in Finnish, the rest of this page will be in Finnish.

Opintojakson suoritettuaan opiskelija

  • Osaa hallita palvelimia kuvailemalla tavoitetilan (idempotenssi)
  • Osaa tehdä asetukset pelkkänä tekstinä ja versioitavasti (infrastruktuuri koodina)
  • Pystyy tekemään tavalliset ylläpitotoimet valitulla työkalulla Saltilla (yksi totuus)

Esitiedot

Esitiedot, kertaa nämä.

Opettele komennot ja hakemistot ulkoa. Harjoittele niitä kokeilemalla moneen kertaan Linuxissa.

Alustava aikataulu

Kurssi kestää 8 viikkoa. Edellyttää aktiivista osallistumista etäopetukseen videokonfferensissa lukkariin merkittynä aikana. Läksyt palautetaan 24 h ennen seuraavan oppitunnin alkua ja ristiinarvioidaan kahden luokkakaverin työt. Tämä alustava aikataulu elää kurssin aikana.

Tunnit torstaisin online 14:00 - 16:45 videokonfferenssina.

PäiväAihe
Perusteet
2024-10-24 w43 Thu1. Hello Salt. Master-slave, pull -arkkitehtuuri. Komentojen etäsuoritus (cmd.run, pkg.install). Tietojen kerääminen orjista (grains.items). Idempotentti konfiguraatio (foo.sls, top.sls). Esimerkkejä tiloista (file.managed).
2024-10-31 w44 Thu2. Verkkon yli. Herra-orja -arkkitehtuuri verkon yli. Orjan tavoittaminen tuntemattomasta osoitteesta, NAT ja tulimuurin takaa. Harjoitusympäristöjen rakentaminen Vagrantilla. Vianselvitys verkkoyhteydessä.
2024-11-07 w45 Thu(ei oppituntia, ei videokonfferenssia)
2024-11-14 w46 Thu3. Pkg-file-service eli demonien hallinta. Käsin tehdyn konfiguraation automatisointi. Aikajanan käyttö muutosten tunnistamisessa. Omien modulien aloitus.
Erityisaiheet
2024-11-21 w47 Thu4. 14:00 Vierailija: Arttu Uskali, Head of Strategic Development, UpCloud: How to get employed in a cloud?
2024-11-28 w48 Thu5. Versionhallinta. Git: init, clone, add, commit, pull, push, log. GitHub ja muut avustavat palvelut.
Soveltaminen
2024-12-05 w49 Thu6. Omien modulien esittely I.
2024-12-12 w50 Thu7. Omien modulien esittely II.

Arviointi

Osien ohjeelliset painoarvot ovat: kotitehtävät 50% ja oma moduli 50%. Arvosana perustuu kokonaisarvioon suorituksista. Kaikki kotitehtävät pitää tehdä. Etäopetukseen pitää osallistua aktiivisesti.

Anna palautetta

Palaute on todella tärkeä tapa kehittää kurssia – kiitos kommenteista jo etukäteen. Palaute kahteen kanavaan

1) Vapaamuotoinen palaute kommenttina tämän kurssisivun perään

Vapaamuotoinen palaute kommenttina tämän kurssisivun perään

Vapaamuotoiseen palautteeseen saa kirjoittaa mitä vain, eikä kysymyksiä tarvitse toistaa. Mutta tässä vinkiksi:

  • Opitko jotakin – eli osaatko nyt sellaista, mitä et osannut ennen kurssia?
  • Teitkö jotain ensimmäistä kertaa? Käytit modernia hallintatyökalua (Salt tms), kirjoitit idempotentin tilan, kirjoitit infraa koodina...
  • Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim. tulevaisuudessa töissä tai kotona?
  • Mitä mieltä olit läksyistä? Luku/video/podcast -materiaalista? Hands-on tehtävistä?
  • Mitä pidit esityksistä? Itse esittämisestä? Luokkakavereiden esitysten seuraamisesta?
  • Miten voisin parantaa kurssia?
  • Viihdyitkö kurssilla?
  • Suosittelisitko kurssia? Kenelle kurssi sopisi? Koulutoverille tai kollegalle?

2) Numeerinen palaute Haaga-Helian palautejärjestelmään MyNetissa

Numeerinen palaute Haaga-Helian palautejärjestelmään MyNetissa

Numeerisen palautteen avulla mm. verrataan Haaga-Helian kursseja toisiinsa. On tärkeää saada jokaiselta palaute, jotta tulos on tilastollisesti merkitsevä.

Numeeriset: Asteikko 1-välttävä (huonoin) ... 5-kiitettävä (paras)

  • Oma aktiivisuutesi opiskelussa 1-5
  • Osaamistavoitteiden saavuttaminen 1-5
  • Työskentelytavat tukivat oppimista 1-5
  • Opiskeluympäristö tuki oppimista 1-5
  • Hyödyllisyys työelämään 1-5

Avoimet kysymykset (näihin voi myös kopioida samat vastaukset jotka kirjoitit aiemmin)

  • Mitkä asiat edistivät oppimistasi?
  • Miten kehittäisit toteutusta / toteutuskokonaisuutta, jotta osaamistavoitteet saavutettaisiin paremmin?

Kokonaisarviosi toteutuksesta / toteutuskokonaisuudesta 1-5

Suosittelisitko 1 - 10 (1 en varmasti, 10 aion varmasti suositella tai olen jo suositellut)

Kiitos palautteesta ja jännittävästä kurssista! Seuraavilla kursseilla nähdään.

Läksyt

Palautus 24 h ennen seuraavaa lukujärjestykseen merkittyä aikaa. Weppisivulle (HTML), ja palauta linkki Laksuun. Halutessasi voit laittaa linkin myös kommentiksi tämän sivun perään, niin sivusi saa lisää kävijöitä ja nousee PageRankissa.

Nämä läksyt ovat alustavia. Läksyt ovat virallisia vasta, kun ne on annettu tunnilla. Tämä on edistynyt kurssi, joten pystymme tekemään muutoksia kurssin kuluessa ja sovittamaan läksyt aiheen mukaan. Jos et uskalla tai muuten halua julkaista, voit laittaa weppisivun salasanan taakse (sama salasana koko kurssille ja jokaiselle tehtävälle, ei kirjautumista eri tunnuksilla eri henkilöille) ja jakaa salasanan kurssilaisten kanssa - mutta suosittelen julkaisua. Kotisivutilaa saa esim wordpress.com, github.com, gitlab.com ja monista muista paikoista.

Suosittu ja helppo tapa on laittaa raportit Githubiin.

Kaikki käytetyt lähteet tulee merkitä raporttiin: kurssin tehtäväsivu, kurssikavereiden raportit, man-sivut, kirjat. Mikäli tekoälyltä kysyy neuvoa, se on merkittävä lähteeksi. Tekoälyt hallusinoivat, tiedot on suositeltavaa tarkistaa. Tiivistelmiä tai esseitä ei saa generoida tekoälyllä eikä muilla vastaavilla tekniikoilla, vaan ne on kirjoitettava itse.

Tekoälyn käyttö: Tällä kurssilla on samat AI säännöt kuin YAMK:n kurssillani: "AI and large language models (LLM): You can ask AI or LLM a question and use the answer as facts for your own answer, written in your own words. AI must be marked as a reference, with details such as prompt (and for advanced users system prompts, temperature, jailbreaks...). LLMs tend to hallucinate, so you should check answers from more reliable sources. It's not allowed to generate text with AI or similar technologies. For example, it's not allowed to generate essay answers or summaries with AI, LLM or similar technologies."

h0 Hei weppi

a) Julkaise oma sivu weppiin. Palauta Laksuun ja ristiinarvioi vähintään kaksi.

Vinkit

h1 Viisikko

  • x) Lue ja tiivistä. (Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen tai kuunteleminen ja tiivistelmä riittää. Tiivistämiseen riittää muutama ranskalainen viiva. Ei siis vaadita pitkää eikä essee-muotoista tiivistelmää.)
  • a) Asenna Debian 12-Bookworm virtuaalikoneeseen. (Poikkeuksellisesti tätä alakohtaa ei tarvitse raportoida, jos siinä ei ole mitään ongelmia. Mutta jos on ongelmia, sitten täsmällinen raportti, jotta voidaan ratkoa niitä yhdessä.)
  • b) Asenna Salt (salt-minion) Linuxille (uuteen virtuaalikoneeseesi).
  • c) Viisi tärkeintä. Näytä Linuxissa esimerkit viidestä tärkeimmästä Saltin tilafunktiosta: pkg, file, service, user, cmd. Analysoi ja selitä tulokset.
  • d) Idempotentti. Anna esimerkki idempotenssista. Aja 'salt-call --local' komentoja, analysoi tulokset, selitä miten idempotenssi ilmenee.
  • e) Herra-orja. Kokeile herra-orja arkkitehtuuria niin, että herra ja orja ovat samalla koneella.

Vinkit

  • Tehtävissä tulee tehdä testit tietokoneella ja raportoida tulokset. Pelkkä kuvittelu ei siis riitä. Raporttia tulee kirjoittaa koko ajan samalla kun työskentelee.
  • Linuxin asentaminen virtuaalikoneeseen: Karvinen 2024: Install Debian on Virtualbox - Updated 2024
  • Masterin osoitteeksi voi laittaa tässä localhost. Eli "/etc/salt/minion", "master: localhost".
  • Tarkista, että olet viitannut kaikkiin lähteisiin. Viitteet tulee löytyä jokaisesta raportista. Jokaiseen lähteeseen tulee viitata, esimerkiksi tehtäväsivuun, ohjeisiin, toisten raportteihin, man-sivuihin... Eli jokaiseen käytettyyn lähteeseen.
  • Tarkistaessa on hyvä katsoa, että vastauksessa on viite ainakin kurssiin ja tehtäväsivuun.
  • Kirjoita rinnakkaisarvioinnissa kurssikavereille palautetta, vinkkejä ja kommentteja
  • Vaikeita kohtia?
    • Ratko kaikki mitä osaat, raportoi ja palauta ajoissa.
    • Vaikeasta tai kesken jääneestä kohdasta erityisen tarkka raportti
      • mitä teit, mitä tapahtui.
      • Ota ruutukaappaukset ja sanatarkat virheilmoitukset talteen.
      • Mistä arvelet ongelman johtuvan?
      • Mitä ratkaisuvaihtoehtoja vielä voisi kokeilla?
      • Löydätkö (esim virheilmoituksella hakemalla) lähteitä, joissa ehdotetaan ratkaisuja?
      • Ja katsotaan yhdessä tunnilla loput.

Saltin asennus

Saltin asennus Debian 12-Bookworm:

$ sudo mkdir -p /etc/apt/keyrings
$ sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg https://repo.saltproject.io/salt/py3/debian/12/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
$ echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/12/amd64/latest bookworm main" | sudo tee /etc/apt/sources.list.d/salt.list

[Korjasin hakemiston luovan komennon yllä]

h2 Infra-as-code

Tässä läksy ja vähän viihdettä ensi viikoksi. Viikolla w45 ei ole tunteja, joten laitoin reilusti askarreltavaa.

Infra koodina on se, mitä tuotannossa kirjoitetaan. Ja kun koneita on paljon, tietysti ohjaamme niitä verkon yli.

Läksyt pitää palauttaa 24 h ennen seuraavan oppitunnin alkua, eli vasta w47w46. Kannattaa aloittaa ajoissa, sillä tässä voi olla enemmän tehtävääkin.

Ensi kerralla w46 torstaina opimme hallitsemaan demoneja, kuten Apache tai SSHd.

  • x) Lue ja tiivistä. (Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen tai kuunteleminen ja tiivistelmä riittää. Tiivistämiseen riittää muutama ranskalainen viiva. Ei siis vaadita pitkää eikä essee-muotoista tiivistelmää.)
  • a) Hello Vagrant! Osoita jollain komennolla, että Vagrant on asennettu (esim tulostaa vagrantin versionumeron). Jos et ole vielä asentanut niitä, raportoi myös Vagrant ja VirtualBox asennukset. (Jos Vagrant ja VirtualBox on jo asennettu, niiden asennusta ei tarvitse tehdä eikä raportoida uudelleen.)
  • b) Linux Vagrant. Tee Vagrantilla uusi Linux-virtuaalikone.
  • c) Kaksin kaunihimpi. Tee kahden Linux-tietokoneen verkko Vagrantilla. Osoita, että koneet voivat pingata toisiaan.
  • d) Herra-orja verkossa. Demonstroi Salt herra-orja arkkitehtuurin toimintaa kahden Linux-koneen verkossa, jonka teit Vagrantilla. Asenna toiselle koneelle salt-master, toiselle salt-minion. Laita orjan /etc/salt/minion -tiedostoon masterin osoite. Hyväksy avain ja osoita, että herra voi komentaa orjakonetta.
  • e) Hei infrakoodi! Kokeile paikallisesti (esim 'sudo salt-call --local') infraa koodina. Kirjota sls-tiedosto, joka tekee esimerkkitiedoston /tmp/ -kansioon.
  • f) Aja esimerkki sls-tiedostosi verkon yli orjalla.
  • g) Tee sls-tiedosto, joka käyttää vähintään kahta eri tilafunktiota näistä: package, file, service, user. Tarkista eri ohjelmalla, että lopputulos on oikea. Osoita useammalla ajolla, että sls-tiedostosi on idempotentti.
  • h) Top file. Automatisoi vähintään kahden tilan / modulin ajaminen. Esim. komento 'sudo salt "*" state.apply' tai 'sudo salt-call --local state.apply' ajaa modulit "hello" ja "apache".
  • i) Vapaaehtoinen, haastavahko tässä vaiheessa: Asenna ja konfiguroi Apache. Sen tulee näyttää palvelimen etusivulla weppisivua. Weppisivun tulee olla muokattavissa käyttäjän oikeuksin, ilman sudoa.

Vinkkejä

  • Vagrant ohjaa VirtualBoxia. Se kannattaa asentaa isäntäjärjestelmään, koska virtualisointi toimii heikosti sisäkkäin. Jos et ole vielä täysin Linux-käyttäjä, niin Vagrantin saa myös Windowsille.
    • Lähes kaikki koneet ovat amd64-arkkitehtuurilla. Koskee lähes kaikkia Windows- ja Linux-koneita sekä osaa Maciesta.
    • Harvoja poikkeuksia: Apple Mac M1, M2 ja M3 sekä Raspberry Pi ovat muistaakseni arm64.
  • Vanhoja raportteja Vagrantin ja VirtualBoxin käytöstä löytää Googlella ja Duckilla, esim Salminen 2020.
  • Vinkkejä myös Vagrantin virallisista asennusohjeista
  • Eikö toimi?
    • Tee tarkemmat muistiinpanot, kun kohtaat ongelmia
    • Katso masterin osoite ('hostname -I', 'ip a')
    • Onko orjilla sama osoite /etc/salt/minion, "master: 192.168.88.12"
    • Muistitko käynnistää demonit asetusten muutkosen jälkeen 'sudo systemctl restart salt-minion'
    • Pystytkö testeillä eristämään ongelman?
    • Kehittämään lisää lähestymistapoja?
    • Saatko virheilmoituksia, joilla tehdä hakuja?
    • Voitko ratkaista vastaavan, mutta helpomman ongelman?

Vianselvitystä (ulkomuistista):

$ nc -vz master.example.com 4505 # onko portti ylipäänsä auki
$ nc -vz master.example.com 4506
$ hostname -I

Yhden koneen vagrant-asennus (ulkomuistista):

$ vagrant init debian/bookworm64
$ vagrant up

$ vagrant ssh
vm$ exit

$ vagrant destroy # tuhoaa myös kaikki virtuaalikoneen tiedostot

h3 Demoni

  • x) Lue ja tiivistä. (Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen tai kuunteleminen ja tiivistelmä riittää. Tiivistämiseen riittää muutama ranskalainen viiva.)
    • Karvinen 2018: Pkg-File-Service – Control Daemons with Salt – Change SSH Server Port
      • Artikkelissa on jonkun toisen Linux-version tiedosto. Jos tekisit samanlaisen, niin käyttäisit tietysti oman järjestelmäsi asetustiedostoa pohjana.
    • Silmäile Saltin ohjeet tilafunktioille pkg, file ja service. Nämä artikkelit ovat pitkiä, riittää kun luet vain johdannon ja silmäilet maintut komennot. Ei kannata yrittää opetella satoja itselle tarpeettomia parametreja ulkoa. (Less-vinkit alla)
      • $ sudo salt-call --local sys.state_doc pkg # johdanto + silmäile pkg.installed, pkg.purged, pkgs
      • $ sudo salt-call --local sys.state_doc file # johdanto + silmäile file.managed, file.absent, file.symlink
      • $ sudo salt-call --local sys.state_doc service # johdanto + silmäile service.running, service.dead, enable
  • a) Apache easy mode. Asenna Apache, korvaa sen testisivu ja varmista, että demoni käynnistyy.
    • Ensin käsin, vasta sitten automaattisesti.
    • Kirjoita tila sls-tiedostoon.
    • pkg-file-service
    • Tässä ei tarvita service:ssä watch, koska index.html ei ole asetustiedosto
  • b) SSHouto. Lisää uusi portti, jossa SSHd kuuntelee.
    • Jos käytät Vagrantia, muista jättää portti 22/tcp auki - se on oma yhteytesi koneeseen. SSHd:n asetustiedostoon voi tehdä yksinkertaisesti kaksi "Port" riviä, molemmat portit avataan.
    • Löydät oikean asetuksen katsomalla SSH:n asetustiedostoa
    • Nyt tarvitaan service-watch, jotta demoni käynnistetään uudelleen, jos asetustiedosto muuttuu masterilla
  • c) Oma moduli. Valitse aihe omalle modulille. Varaa se myös kommentilla tämän kurssisivun perään. Kuvaile aihetta niin, että se yksilöi, mitä aiot tehdä. Aihesiin voi toki tulla muutoksia, kun rakennellessa oppii lisää ja paljastuu uusia yllätyksiä. (Tämä kohta ei edellytä testejä tietokoneella. Suosittelen omaa nimeä, mutta jos uskalla tai muuten halua, voit käyttää varauskommentissa etunimeä tai samaa nimimerkkiä, jota käytät läksyissä. ps. Käytä luovuutta, yleisönä ovat omat luokkakaverit. Voit vaikka viritellä jotain, mitä teet muutenkin. On nähty pelipalvelimia, Windows-työpöytiä, taiteilijan työasemaa, harjoitusmaaleja ja vaikka mitä.)
  • d) VirtualHost. Asenna Apache tarjoilemaan weppisivua. Weppisivun tulee näkyä palvelimen etusivulla (localhost). HTML:n tulee olla jonkun käyttäjän kotihakemistossa, ja olla muokattavissa normaalin käyttäjän oikeuksin, ilman sudoa.
  • e) Vapaaehtoinen, hieman haastava: Caddy. Asenna Caddy tarjoilemaan weppisivua. Weppisivun tulee näkyä palvelimen etusivulla (localhost). HTML:n tulee olla jonkun käyttäjän kotihakemistossa, ja olla muokattavissa normaalin käyttäjän oikeuksin, ilman sudoa.
  • f) Vapaaehtoinen, hieman haastava: Nginx. Asenna Nginx (lausutaan engine-X) tarjoilemaan weppisivua. Weppisivun tulee näkyä palvelimen etusivulla (localhost). HTML:n tulee olla jonkun käyttäjän kotihakemistossa, ja olla muokattavissa normaalin käyttäjän oikeuksin, ilman sudoa.
  • g) Vapaaehtoinen, haastava: PostgreSQL. Asenna PostgreSQL-tietokannanhallintajärjestelmä. Anna jollekin käyttäjälle oma tietokanta. Osoita testillä, että se toimii.

Vinkit

  • Ensin käsin, sitten automaattisesti
  • Testaa
    • Alkutilanne (taikurin hihat tyhjät)
    • Käsin tehty ja toimii
    • Poistettu käsin tehty ennen automaatiota
    • Yksi tilafunktio (esim. file) sls-tiedostossa
    • Lopputilanne, osat
    • Lopputesti - mitä käyttäjä tekisi
  • /etc/ssh/sshd_config
  • Port: 1234
  • nc -vz localhost 1234
  • ssh -p 1234 foo@localhost
  • echo "Hei"|sudo tee /var/www/html/index.html # ainoa tilanne sudotella html-sivua
  • Omat asetustiedostot
    • Kun teet käsin, saat siitä mallin asetustiedostolle (masterin /srv/salt/foo/bar.cfg)
    • Esimerkkidokumenteissa olevat demonien asetustiedostot tuskin toimivat juuri omassa järjestelmässä
  • Less haku /, seuraava n, edellinen N, alku g, loppu G, q quit.

h4 Puolikas

a) Puolikas. Tee ensimmäinen vedos omasta modulista. Tätä jatketaan vielä, eli valmista ei tarvitse tulla. Keskeneräisen modulin pohjalta saat vinkkejä haastaviin kohtiin ja oikeaan kehityssuuntaan. Lopullisen modulin tulee olla modernia keskitettyä hallintaa, eli idempotentti ja infraa koodina.

h5 Loppuhuipennus

Loppuhuipennus: projektit esitellään w49 ja w50. Saat soveltaa uusia taitojasi!

Pääset harjoittelemaan teknistä esittämistä huolettomassa ympäristössä omien luokkakavereiden kanssa. Saat myös esittää kysymyksiä, ideoita ja kommentteja kavereiden töihin. Ja samalla näet, mitä muut ovat rakentaneet.

Arvon esitysjärjestyksen ja ilmoitan sen seuraavan kerran alussa. Kaikkien projektien tulee olla esitysvalmiina 2024-12-04 w49 ke 14:00.

  • a) Oma miniprojekti. Tee oma miniprojektisi valmiiksi.
    • Modernia keskitettyä hallintaa: idempotentti, infra koodina, yksi totuus
    • Idempotentti
      • Pelkkä skritpi ei kelpaa, ei myöskään skripti jaettuna kymmeneen peräkkäiseen cmd.run-tilaan
    • Kannattaa testata lopputulos tyhjällä koneella
      • Vapaaehtoista: Jos videoit ruudulta samalla, sinulla on räjähtävien demojen tai tulevien kurssin ulkopuolisten esitysten varalta aina toimiva esitys. Jos laitat videon Youtubeen tai kotisivullesi, sinulla on valmis esitys käytettäväksi myös kurssin jälkeen. Vaikka live-demo on parempi kuin video, parasta on live-demo ja varalla video.
    • Ensin valmista, sitten hienoa.
      • Tee ensin pieni, toimiva kokonaisuus, jonka voisit hätätilassa esittää.
      • Tallenna pieni kokonaisuutesi toimivana esim. kopioimalla kansio
      • Tee sitten tämän toimivan päälle hienot jutut, seuraavat vaiheet ja kurottelumaalit.
      • Kannattaa aloittaa ajoissa ja tehdä joka päivä
      • Kaikki tai ei mitään jotain
  • b) Etusivu. Laita projektisi etusivulle tärkeimmät tiedot
    • Etusivu voi olla esimerkiksi Github-varasto ja tiedot README.md:ssä
    • Yritä laittaa keskeisimmät kohdat "taitoksen yläpuolelle", eli näkymään jo ennen skrollausta
    • Tavoitteena on, että lukija ymmärtää välittömästi ja yhdellä silmäyksellä projektin tarkoituksen (ruutukaappaus + kuvaus)
    • Tiedot
      • Projektin tarkoitus, mieluiten yhdellä lyhyellä virkkeellä. Eli mitä tämä tekee / mihin tätä käytetään / mitä hyötyä tästä on / business purpose.
      • Lisenssi. Saat valita, suosittelen GNU General Public License, version 3.
      • Ruutukaappaus lopputuloksesta
      • Oma nimesi ja mahdollinen kotisivun osoite (Saa toki käyttää myös nimimerkkiä)
      • Latauslinkki (Githubissa asennusohje voi toki olla myös 'git clone ...')
      • Käyttöönotto. Miten kuka tahansa sivulle tulija voi ilman muita ohjeita ajaa projektisi.
      • Voit kirjoittaa suomeksi tai englanniksi; usein ohjelmat dokumentoidaan englanniksi
  • c) Showtime! Valmistaudu pitämään max 7 min esitys projektistasi.
    • Yleisö: kurssin muut opiskelijat
      • Kuulija yleensä miettii aluksi, mitä hyötyä tähän esitykseen keskittymisestä on minulle.
      • Ymmärtääkö kuulija, mitä lopputulos tekee?
      • Kun hyöty on selvillä, kuulija halunnee oppia tekemään saman
    • Tarkoitus ja lopputulos ensin
      • Hovimestari on syyllinen.
      • Yleisö kuuntelee, kun tietää, mitä hyötyä tästä on
    • Esittele itsesi
      • Monissa esityksessi oman nimen ja organisaation esittely on tärkein oma hyöty
    • Demo ois kiva
      • Kannattaa laittaa demo pyörimään heti, kun projektin tarkoitus ja oma nimi on selvillä
      • Salt-ajot vievät usein aikaa, jota ei kannata käyttää odotteluun vaan puhumiseen
      • Kerro kaikki kerrottava sillä aikaa kun salt raksuttaa
    • Kokeile välineet
      • Jitsi-kanavalle pääsee milloin vain
      • Ruudunjako, kamera, mikki
      • Jos haluat kaksi asiakasta, niin 2 tietokonetta tai tietokone ja kännykkä
    • Tästä c-alakohdasta ei tarvitse tehdä raporttia.

Tervetuloa esiintymään!

h8 Bonus

Vapaaehtoinen bonus: luettele ja linkitä tähän tekemäsi

  • a) Vapaaehtoiset tehtävät
  • b) Ristiinarvioinnin jälkeen olennaisesti parannetut tehtävät

Tehtävän määräaika on kurssin viimeisen oppitunnin alku. Tämä bonustehtävä on kokonaan vapaaehtoinen.