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 ...

Tagurpidi Conway manööver

Tagurpidi Conway manööver tähendab seda, et organisatsioon või meeskond ehitatakse üles selliselt, et nende struktuur kajastaks soovitud tarkvara arhitektuuri. See põhineb Conway seadusel, mis ütleb, et infosüsteemide arhitektuur peegeldab organisatsiooni enda ülesehitust ja suhtluskanalei ...

Lõplik ja lõputa mäng

Paljusid tegevusi saab käsitleda kui lõplikke või lõputa mängudena. Lõpliku mängu puhul on teada mängureeglid ja defineeritud olukord, mille saabumisel mäng lõppeb ja üks osalejatest on mängu võitnud. Probleem on aga selles, et inimesed mängivad paljusid mänge lõplike mängudena, mis tegeli ...

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 ...

Märkmete salvestamiseks Obsidian

Aeg-ajalt koguneb teadmisi, mis oleks mõistlik üles märkida. Kasutasin varasemalt paljusid erinevaid tooteid samaaegselt - OneNote, GMail mustandid, Google Docs failid ning juhuslikud tekstifailid arvuti kõvakettal. Kuid probleeme hakkas tekkima märkmete leidmisel. Teadsid, et kusagile sai ...

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 ...

Nutitelefon veebikaameraks

Veebikaamerate pildikvaliteet ei ole väga hea. Samas on nutitelefonid oluliselt võimekamad. Seega kui vedeleb mõni vana seade, millel on näiteks purunenud ekraan või on aku kaotanud mahutavuse, siis saab selle kergelt muuta kvaliteetseks veebikaameraks. Selleks tuleks: Installeerida telef ...

Windowsi kasutajakontode vahetamine

Kui Windowsis on vaja liikuda kiirelt erinevate kontode vahel, siis võib mõnikord olla mõistlik luua scriptid, millega logida automaatselt sisse mõne teise kontoga. Lokaalsed kasutajakontod Esmalt tuleb teada saada teise konto ID. Seda saab teha käsureal Aasendades <...> konto salas ...

Firefoxi vahekaartide grupid

Firefoxi veebilehitsejal on laiendus Tree Style Tab, millega saab vahekaardid kuvada vertikaalselt. Sama laiendus võimaldab luua ka uusi katalooge, millele saab anda ise nime ning kuhu saab kokku koguda kõik sama teemaga seotud vahekaardid. See aitab oluliselt paremini organiseerida oma tö ...

Dockeri reinstalleerimine

Hiljuti tekkis Windowsi Dockeriga probleeme ning see ei käivitunud enam. Dockeri uuesti installeerimisel läks aga olukord veel halvemaks. Deinstalleerimine ei tööta Dockerit ei ole võimalik enam deinstalleerida, kui deinstallatsiooni protsess katkeb ootamatult ja programmifailid on juba ku ...

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 ...