Author: Juraj Petrík

  • 11. a 12. Cvicenie

    Odovzdavanie (prezentovanie) projektov cviciacemu.

  • 10. Cvicenie

    Stiahnite si kod z 9. prednasky.

    Uloha (java.lang.reflect)

    Implementujte (s pouzitim reflexie) do triedy Steve metodu, ktora po zavolani vrati hodnoty vsetkych atributov triedy ako String.

    Vystup bude napr. takyto:

    logger: org.apache.logging.slf4j.Log4jLogger@30c15d8b
    serialVersionUID: 1
    uuid: fa3f655e-231c-44fd-b8d8-469fa18250e9
    hunger: 1
    ...

    Finalizujte projekty, konzultujte ich s Vasim cviciacim.

  • 9. Cvicenie

    Stiahnite si zdrojovy kod z 8. prednasky

    IO

    Vytvorte benchmark na porovnanie rychlosti Bufferovaneho zapisu do suboru vs nebufferovaneho zapisu do suboru. Nezabudnite, ze pre to aby vysledky boli statisticke vysledne, tak tieto testy nestaci spustit iba raz.

    Spriemerujte hodnoty, vypocitajte napr. aj stdev (standardnu odchylku).

    JavaDoc

    Zdokumentujte triedu Steve pomocou JavaDoc. Vygenerujte JavaDoc pre cely projekt.

    Logovanie

    Pridajte logovanie do triedy Steve, pouzite viacero urovni. Pokracujte v pouzivani “stacku” (slf4j + log4j2) z prednasky, prestudujte si dokumentaciu ku konfiguracii log4j2 – https://logging.apache.org/log4j/2.x/manual/configuration.html – experimentujte s konfiguracnym suborom.

    Poznamka: V pripade, ze IDE nestiahne samo potrebne kniznice, tak si pridajte a spustite tento Maven target:

  • 8. Cvicenie

    Stiahnite si kod z poslednej prednasky. Pracujte s triedou Steve, vase riesenia otestuje na netrivialnej vzorke.

    Streamy

    1. Spocitajte vsetkych Stevov, ktori maju menej ako 50% svojho maximalneho healhu.
    2. Vytvorte mapu kde bude kluc ci Steve ma/nema godMode a hodnota bude priemerna hodnota healtu.
    3. Najdite top 3 Stevov s attackPower. Vysledok je Mapa, kluc je meno Steva a hodnota je jeho attackPower.
    4. Najdite vsetkych Stevov, ktori maju viac ako 50% svojho maxHealth a zaroven menej ako 40% svojho maxHunger. Zoradte ich podla mena.

    Serializacia

    1. Ulozte (serializujte) zoznam Stevov.
    2. Nacitajte (deserializujte) zoznam Stevov.

  • 7. Cvicenie

    Stiahnite si zdrojovy kod zo 6. prednasky.

    Uloha 1

    Identifikujte a opravte chyby v nasledujucom kuse kodu (skuste si ho pustit, aj viackrat):

    public class FunWithThreadsLive {
        List<String> listString = new ArrayList<>();
    
        public static void main(String[] params) throws InterruptedException {
            FunWithThreadsLive f = new FunWithThreadsLive();
            Random rand = new Random();
    
            for (int i = 0; i <= 100; i++)
                f.listString.add(String.valueOf(UUID.randomUUID()));
    
            Thread threadOne = new Thread(() -> {
                for (String s : f.listString)
                    System.out.println(s);
            });
    
            Thread threadTwo = new Thread(() -> {
                for (int i = 0; i < 99; i++)
                    f.listString.remove(rand.nextInt(f.listString.size()));
            });
    
            threadTwo.start();
            threadOne.start();
    
            threadTwo.join();
            threadOne.join();
        }
    

    Uloha 2

    Vytvorte novy (dalsi view) pre triedu Steve v baliku mvc.

    Tento view bude view pre CRUD operacie s triedou Steve v konzole (CLI), bude implementovat interface SteveView.

    Bonus: aj v baliku mvp

WordPress Appliance - Powered by TurnKey Linux