- Kotlin 97.1%
- Python 2.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| gradle | ||
| scripts | ||
| src/main | ||
| .editorconfig | ||
| .gitignore | ||
| .java-version | ||
| ASSIGNMENT.md | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| HEADER | ||
| LICENSE | ||
| README.md | ||
| settings.gradle.kts | ||
Warning
PASTABA
Šį README failą sugeneravo LLM Claude Opus 5.5, kad būtų lengviau įvertinti projektą. Šis failas NĖRA projekto dalis.
README sugeneruotas remiantis projekto failais (programos kodu, Gradle konfigūracija ir užduoties aprašu).
Jokia kita projekto dalis nebuvo sugeneruota naudojant LLM.
Skambučių bufferio simuliacija (SD2)
Darbalaukio programa, simuliuojanti klientų skambučių aptarnavimą. Skambučių eilės realizuotos deko struktūra (kotlin.collections.ArrayDeque).
Programos kodas: https://git.denaerium.com/Denaerium/ads-sd2
Reikalavimai
Vienintelis privalomas įrankis yra JDK 26 (pvz., Eclipse Temurin). Gradle, Kotlin kompiliatorius ir visos bibliotekos atsisiunčiami automatiškai per gradlew pirmo paleidimo metu, todėl reikia interneto ryšio.
Neprivaloma:
- Git – projektui atsisiųsti (galima ir atsisiųsti ZIP iš repozitorijos puslapio).
- JetBrains IntelliJ IDEA – rekomenduojama aplinka.
Paleidimas
Įeigos taškas: funkcija main() faile src/main/kotlin/com/denaerium/vgtu/algo/Entrypoint.kt (klasė com.denaerium.vgtu.algo.EntrypointKt).
Windows
-
Įdiegti JDK 26 ir Git (PowerShell):
winget install EclipseAdoptium.Temurin.26.JDK winget install Git.GitArba atsisiųsti JDK rankiniu būdu iš https://adoptium.net/temurin/releases/?version=26.
-
Atidaryti naują terminalo langą ir patikrinti, ar
java -versionrodo 26. -
Atsisiųsti ir paleisti projektą:
git clone https://git.denaerium.com/Denaerium/ads-sd2.git cd ads-sd2 .\gradlew.bat run
macOS
-
Įdiegti JDK 26 per SDKMAN! (Git macOS sistemoje pasiūlomas įdiegti automatiškai pirmą kartą paleidus
git):curl -s "https://get.sdkman.io" | bash sdk list java sdk install java 26.0.2+1.1-temTiksli versija (
26.x.x-tem) imama išsdk list javasąrašo. Arba atsisiųsti.pkgiš https://adoptium.net/temurin/releases/?version=26. -
Patikrinti, ar
java -versionrodo 26. -
Atsisiųsti ir paleisti projektą:
git clone https://git.denaerium.com/Denaerium/ads-sd2.git cd ads-sd2 ./gradlew run
Linux
-
Įdiegti Git per sistemos paketų tvarkyklę (pvz.,
sudo apt install git curl zip unzip), o JDK 26 per SDKMAN!:curl -s "https://get.sdkman.io" | bash sdk list java sdk install java 26.0.2+1.1-temTiksli versija (
26.x.x-tem) imama išsdk list javasąrašo. -
Patikrinti, ar
java -versionrodo 26. -
Atsisiųsti ir paleisti projektą:
git clone https://git.denaerium.com/Denaerium/ads-sd2.git cd ads-sd2 ./gradlew run
IntelliJ IDEA
Atidaryti projekto aplanką ir paleisti main() iš Entrypoint.kt arba Gradle užduotį run. Jei JDK 26 neįdiegtas, IntelliJ gali jį atsisiųsti: File → Project Structure → SDK → Download JDK.
Duomenų failai
src/main/resources/clients.json– klientų sąrašas (vipirclientstelefono numeriai).call-reports.json– aptarnautų skambučių sąrašas. Sukuriamas aplanke, iš kurio paleista programa, ir išvalomas kiekvieno paleidimo metu.
Naujas klientų sąrašas generuojamas taip (reikia Python 3.8+):
python3 scripts/generate_call_lists.py