1/29
Datamatiker
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Static
bruges, når noget skal deles af alle objekter i en klasse, eller når en metode ikke afhænger af data fra et bestemt objekt.
Jeg bruger static til ting, der er fælles for alle objekter, eller til hjælpefunktioner, der ikke har brug for data fra et bestemt objekt.
static valgtKunstværk eller static ObservableList<Kunstværk> alleKunstværker
Når brugeren klikker på et kunstværk på én side, kan PopupController
hente det samme kunstværk uden først at skulle oprette et objekt eller sende det gennem konstruktører. Og det samme med listen, så der kan navigeres mellem værkerne.
static i datadeling
Listerne er lavet som static, så både admin-siden og bruger-siden kan se og ændre de samme data. Hvis de ikke var static, skulle man først oprette et DataDeling-objekt, og så ville hver instans have sine egne lister.
Klasse
Objekterne dannes ud fra klasser. Hver klasse har forskellige egenskaber (fakta) og metoder (ting de kan gøre). En klasse definere hvad objekt er, og hvad den kan sættes til at kan gøre. En klasse er en skabelon for objekter. Den beskriver hvilke data og metoder objekterne har
Parameter
En mekanisme til at give ekstra data videre til en metode
Objekt
En instans, der er oprettet ud fra en klasse. Hver kasse kan lave et objekt via. kontruktøren.
Imports
Import bruges til at hente kode ind, som andre allerede har lavet, så man ikke selv behøver at skrive det hele fra bunden.
MongoDB vs. SQL-database
Det minder mere om JavaScript-objekter end om Excel-ark.
API
Et API er en mellemmand, der gør det muligt for forskellige systemer at snakke sammen. Det er et sæt regler og metoder, som gør det muligt for programmer at kommunikere med hinanden.
Det er software, som kører på en server.
Hvad er en Server kontra en Database
Server = håndterer forespørgsler og sender svar.
Database = opbevarer dataene. Et organiseret system, som bruges til at gemme og tilgå data.
Hvad er en controller?
En controller håndterer logikken mellem brugergrænsefladen (FXML) og programmets data. Den reagerer på brugerens klik og opdaterer visningen
Hvad er forskellen på en klasse og et objekt?
Klassen er tegningen, objektet er det færdige hus.
Hvad betyder @FXML?
"Det fortæller JavaFX, at variablen eller metoden er forbundet med et element i FXML-filen."
Hvad er initialize()-metoden?
"Den bliver automatisk kørt, når FXML-siden indlæses. Her bruges den til at vise det valgte kunstværk."
Hvad er en Scene?
En Scene er det indhold, der vises i vinduet. Når vi skifter side, skifter vi typisk Scene.
Hvad er en ObservableList?
Det er en liste, som JavaFX kan holde øje med. Hvis listen ændres, kan brugergrænsefladen automatisk opdateres.
Hvorfor bruger I ObservableList i stedet for ArrayList?
Fordi JavaFX kan observere ændringer i ObservableList og opdatere visningen automatisk
Hvad er DAO?
DAO står for Data Access Object. Det er et designmønster, der samler al kommunikation med databasen ét sted.
Hvorfor bruger I DAO?
For at adskille databasekoden fra controlleren. Controlleren skal ikke vide, hvordan data hentes eller gemmes.
Hvad er fordelen ved interface og implementation?
Controlleren afhænger af interfacet og ikke den konkrete implementering. Det gør koden mere fleksibel.
Hvorfor bruger I try-catch?
For at håndtere fejl uden at programmet crasher.
Hvad er en Exception?
En Exception er en fejl, der opstår under kørsel af programmet.
Hvad gør FileChooser?
Den giver brugeren mulighed for at vælge, hvor en fil skal gemmes
Hvad er FileOutputStream?
Den bruges til at skrive data til en fil
Hvorfor skal man lukke FileOutputStream?
For at frigive ressourcer og sikre, at alle data bliver skrevet til filen.
Hvorfor bruger I ByteArrayInputStream?
Billederne ligger som byte-data i databasen. ByteArrayInputStream gør det muligt at omdanne dem til et JavaFX Image
Hvorfor har I opdelt projektet i pakker?
For at skabe struktur og gøre projektet lettere at vedligeholde
Hvorfor har I en SceneManager
For at samle al logik til sceneskift ét sted og undgå gentaget kode
Hvis du skulle forbedre løsningen, hvad ville du så gøre?
Så ville jeg kigge på hvordan vi kan gøre programmet hurtigere - det kører meget langsomt lige nu, når der skal hentes mange billeder fra databasen f.eks. Jeg ville også kigge på noget CSS-style fordi det nåede vi ikke og det fylder meget hos kunden at siden visuelt ser flot ud. Og jeg vil også lave login systemet.
Database
En database er et sted, hvor data bliver gemt på en struktureret måde, så programmet kan finde, oprette, ændre og slette information