Konzultációs és gyakorló óra¶
Szerkesztés alatt!
Az oldal további része szerkesztés alatt áll, a tartalma minden további értesítés nélkül többször, gyakran, jelentősen megváltozhat!
Ezen az órán nincs új anyag. Az óra az esetleges hallgatói kérdések megválaszolására való.
Akinek nincs kérdése, úgy érzi, hogy minden eddig, a gyakorlaton elhangzott dolog a kisujjában van, az gyakorlás (és magabiztosság-ellenőrzés) céljából megoldhatja a következő feladatsort.
0. gyakorló feladat: Tavaszi nagytakarítás
Ha a Hallgatói Demonstrációs GitLab Szerveren a gyakorlati csoporthoz tartozó közös folyamatok nevű projektben van hozzád rendelt vagy általad létrehozott nyitott issue, azt zárd le!
Jótanács
Először olvasd el, majd gondold végig a feladatsor további részének feladatait! Az egyes feladatok, tevékenységek szándékosan vannak olyan sorrendben leírva, megfogalmazva, ahogy. Ha ügyes vagy, akkor a feladatok, egyes tevékenységeik más sorrendben elvégzésével sokkal egyszerűbbé teheted a saját munkádat! Ez persze nem azt jelenti, hogy a feladatok tetszőleges sorrendben elvégezése is értelmes! Annak például semmi értelme, hogy merge-eled majd törlöd a branch-ed, és utána lefejleszted azt a feature-t, amiért létrehoztad.
1. gyakorló feladat: Projekt előkészítése
A Hallgatói Demonstrációs GitLab Szerveren a gyakorlati csoporthoz tartozó közös folyamatok nevű projektben vegyél fel egy "Gyakorlás (hxxxxxx)" című issue-t és rendeld is magadhoz és az MS00 - Gyakorlás mérföldkőhöz! Állítsd be határidőnek a mai dátumot!
2. gyakorló feladat: Fejlesztés előkészítése
Klónozd le a Hallgatói Demonstrációs GitLab Szerveren a gyakorlati csoporthoz tartozó közös folyamatok nevű projektet a gépedre!
Hozz létre egy branch-et az 1. feladatban létrehozott issue-hoz, ebben kell majd fejlesztened!
Ha még nincs, akkor a projekt gyökerében hozz létre egy könyvtárat, melynek neve a saját hxxxxxx
azonosítód!
Ha már van ilyen könyvtár, akkor első lépésként ebből törölj minden tartalmat!
Töltsd le a main.py és geometry.py fájlokat, és tedd őket az előbb létrehozott hxxxxxx
könyvtár source
nevű almappájába.
Készíts egy commit-ot az előbb létrehozott branch-edre a fenti változásokkal.
source/main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
source/geometry.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
|
3. gyakorló feladat: Virtuális környezet
Hozz létre egy virtuális környezetet a Python venv
modulja segítségével a hxxxxxx/virtenv
mappába.
A környezetet ne legyen verziókövetve; érd el, hogy a git ne is foglalkozzon vele akkor se, ha esetleg máshol majd újra klónozod a repository-t!
Érd el, hogy a main.py
futtatásához szükséges elemek meglegyenek a virtuális környezetben (vagyis a main.py
lefusson)!
A környezet beállításait mentsd el egy requirements.txt
fájlba, ez legyen verziókövetve.
Ezekből készíts egy commit-ot!
4. gyakorló feladat: Tesztelés
Ágaztass le a saját branch-edből egy hxxxxxx-testing
nevű branch-et!
Készíts teszteket a hxxxxxx/test
mappába, amik a geometry.py
függvényeit tesztelik.
Minden függvényhez készíts legalább két pytest tesztesetet a függvény valamely két funkciójára.
A teszteknek a hxxxxxx
könyvtárból a python3 -m pytest
parancs hatására futniuk kell.
A modulban vannak hibák, így elképzelhető, hogy a tesztek buknak, de ez természetes.
Amikor készen vagy, készíts a projekt gyökerébe egy timestamp
nevű fájlt, melynek tartalma az aktuális időpont másodperc pontosan, ezt add hozzá a következő commit-hoz!
A szükséges fájlokat add hozzá az új branch-edhez egy commit-ban.
5. gyakorló feladat: Hibajavítás
Még mindig az új hxxxxxx-testing
branch-ben a tesztek alapján javítsd ki a programot!
Ne a teszteket alakítsd úgy, hogy átmenjenek (hacsak nem maga a teszt hibás), hanem a programot javítsd ki!
A javításokat egy (vagy több) commit segítségével add hozzá az új teszt branch-edhez.
6. gyakorló feladat: Konfliktusgenerálás
Az eredeti branch-ben a projekt gyökerébe készíts egy timestamp
nevű fájlt, melynek tartalma az aktuális időpont másodperc pontosan!
Add hozzá ezt a fájlt az eredeti branch-edhez!
7. gyakorló feladat: Merge
Készíts egy merge request-et az új hxxxxxx-testing
branch-ednek az eredeti branch-edbe mergeléséhez!
Az új hxxxxxx-testing
branch-edet merge-eld be az eredeti branch-edbe!
Figyelj rá, hogy a merge egy merge commit-tal történjen, és semmiképpen ne fast forward módon!
8. gyakorló feladat: Merge request
Készíts egy merge request-et az eredeti branch-edhez, annak a main-be mergeléséhez! A merge-elést nem tudod megtenni, de a merge request legyen merge-elhető állapotban (ne legyen conflict), és érd el, hogy a GitLab-on történő merge-elés hatására az 1. feladatban létrehozott issue automatikusan záródjon le!