44 postitust kokku

Programmeerimine

Sildid

Vananenud lahenduste märkimine Kotlinis

Vahepeal selgub uus ja parem viis kuidas, mingeid probleeme lahendada. Peale uue lahenduse realiseerimist saab selle küll kohe kasutsuel võta, aga tekkib küsimus, et mida teha kohe kõigi teiste kohtadega, mis kasutavad eelmist ja nüüdseks aegunud lahendust. Üks variant on võtta aega ja uue ...

Probleemide tükeldamine

Tarkvaaraarenduses on vana ja levinud arusaam, et suured probleemid või ülesanded on vaja lahutada väiksemateks ja hoomatavateks tükkideks. Enamasti on kõik sellega nõus, kuid selle põhimõtte rakendamine igapäevases töös on oluliselt raskem kui teoorias. Väljamõeldud näidisolukorras on lih ...

Paralleelsete muudatuste muster

Paralleelsete muudatuste muster aitab liidestes (interface) teha muudatusi selliselt, et need on alati tagasiühilduvad. Selleks jagatakse muudatusete tegemine 3 faasi: laienda, migreeri, koonda. Vahel kutsutaksegi seda ka "laienda ja koonda" mustriks. See on alternatiiv näiteks liideste ve ...

Kotlini tühjad tüübid

Kui Java's on meetodi tagastustüübiks, mis mitte midagi ei tagasta, tühitüüp void, siis Kotlinis on tühje tagastustüüpe kaks - Unit ja Nothing. Unit - Sisaldab ainult 1 väärtust, mis indikeerib, et meetod lõpetas oma töö edukalt. Seega mingit muud lisainfot tagastada ei ole võimalik Nothin ...

Kotlini platvormitüüp

Javas võivad kõik muutujad lisaks defineeritud tüübile ka viidata null ehk tühjale väärtusele. Kuna aga Kotlinis käsitletakse null'itavad tüübidefinitsioone eraldi (need märgistatakse ? sümboliga), siis oleks Kotlinist Java objektide kasutamine väga tüütu - alati tuleks koodis kasutada kas ...

Kotlini järjendid

Javas on väga selge, et kollektsioonid (collection) ja vood (stream) erinevad, kuna erinevad ka operatsioonid, mida nendega on võimalik teha. Kotlinis on levinud laiendusfunktsioonid ja standardteek pakub ise nii kollektsioonide (collection) kui ka järjendite (sequence) jaoks võrdlemisi sa ...

Kotlini pitseeritud klass

Kotlini pitseeritud klass (sealed class) võimaldab täpselt kontrollida millised alamklassid tohivad sellest pärineda. Juba koodi kompileerimisel on teada kõik lubatud alamklassid, ning neid ei ole võimalik hiljem juurde luua. Mingis mõttes on nad sarnased konstantide loenditele (enum klass ...

Kotlini infix funktsioonid

Kotlini infix funktsioonid lubavad defineerida funktsioone, mida saab kasutada ilma punktita meetodi nime ees ning ilma sulgudeta argumendi ümber. Infix funktsioonidel saab olla ainult 1 argument ja nad peavad olema defineeritud kui laiendusfunktsionid (extension function) või olema define ...

Küpsised või LocalStorage

Nii küpsised (cookies) kui ka LocalStorage võimaldavad salvestada veebilehitsejas andmeid, mida saab hiljem kasutada kasutajaliideses või päringute tegemisel serverisse. Küpsised on pigem mõeldud andmete kasutamiseks serveri poolel ja LocalStorage pigem andmete kasutamiseks kliendi (veebil ...

Elliptilise kõvera krüptograafia

RSA kõrval on teine oluline avaliku võtmega krüptosüsteem elliptilise kõvera krüptogaaria (EKK). Kui RSA kasutab privaatse võtmena algarve ning avaliku võtmena nende arvude korrutist, siis EKK kasutab avaliku võtmena funktsioonil alustamise- ja lõpetamisepuntke ning privaatse võtmena opera ...