IntelliJ jooksutuskonfigratsooni vaikeväärtused

IntelliJ on võimalik seadistada vaikeväärtused erinevatele jooksutus- ja silumiskonfigratsioonidele (Run/Debug Configurations). See võimaldab näiteks määrata kõigile testidele keskkonna muutujad või mingid sammud mis on vaja enne või peale käivitamist rakendada. Windows operatsioonisüsteem ...

Osaline degradeerumine

Olukordades, kus süsteemi koormus kasvab suuremaks, kui süsteem on suuteline teenendama, siis sisuliselt lõpetab kogu süsteem töötamise. Uute lisanduvate päringute osaline töötlemine muudab töötlemise nii aeglaseks, et enne kogu vajaliku töö tegemist katkestatakse päring (timeout). Sellise ...

gRPC

gRPC (gRPC Remote Procedure Calls) on Google poolt välja töötatud kaasaegne kaugprotseduurikutse(RPC) protokoll. Selle abil saavad arvutisüsteemid omavahel efektiivselt suhelda. Mingis mõttes võib seda vaadata kui alternatiivi REST ja JSON suhtlusele. gRPC aga pakub lisafunktsioone nagu au ...

Protobuff

Protobuff (Protocol buffers) on Google poolt välja töötatud andmete serialiseerimise formaat. Selle eesmärk on sarnaselt JSONile pakkuda välja formaat, millega rakendused saavad omavahel andmeid vahetada. Aga erinevus on selles, et Protobuff saadab andmeid binaarsel kujul - ei ole tavalise ...

Arvutuslik viisaksus

Arvutuslik viisakus on mõte, et sotsiaalsetes olukordades võiks ka mõleda teiste peale ka arvutusliku keerukuse kontekstis. Ehk siis mitte anda teistele lahenda probleeme, mida on tõestatult väga keeruline lahendada. Sellised probleemid on küll raskesti lahendatavad, kuid nende lahenduste ...

Hõbekuuli otsingute metafoori taust

Hõbekuul ning selle olemasolu otsingud tarkvaramaastikul tulenevad analoogiast tarkvara ning libahuntide vahel. Nimelt libahundi konseptsioon tundub inimestele õudne, kuna see olend muudab ootamatult oma vormi. Miski väga tuttav (inimene) muutub teatud olukordades hirmutavaks olendiks (hun ...

12 astmeline rakendus (2/2)

7. Unikaalne kättesaavus (port) rakendus peaks olema sõltumatu teistest rakendustest ja täielikus isolatsioonis. Teenus on kättesaadav üle unikaalse pordi. Seda põhimõtet rikuvad näiteks veebiserverid, mis sisaldavad rohkem kui 1 teenust (rakenduse installatsiooni, näiteks WAR faili). 8. ...

12 astmeline rakendus (1/2)

1. Koodibaas Ühes koodi repositoorimis asub üks rakendus, millest saab teha palju versioone - tootmine, testmine jne. Muutatused koodibaasis saavad alati mõjutada ainult 1 rakendust. Kui muudatusi on vaja tagasi võtta on lihtne ajaloost aru saada. 2. Sõltuvused ei tohiks sõltuda väliste ...

NPX

NodeJs kaasa tulev npx lubab käivitada lokaalseid mooduleid otse lokaalsest node_modules/.bin kataloogist, installeerides kõik puuduvad teegid, mis käsu käivitamiseks võib vaja olla. See võimalidab kiirelt proovida käsurea tööriistu ilma neid globaalselt installeerimata. Mis omakorda lub ...

Teistkordse tegemise efekt

Millegi esmakordselt tegemisel pööravad inimesed reeglina tähelepanu igale detailile. Igat probleemi ja lahendust tuleb eraldi vaadelda ja analüüsida. Tuleb õppida uusi lähenemisi ning lahendusi, mis sobivad käesoleva projekti lahendamiseks. Kui aga sarnast tegevust teha juba teist korda, ...

Liiga suure eelarvega projektid

Projekti eelarve ja ressursid peaksid sobituma projektile, et seada sellele piirid. Ilma piirideta kulub liiga palju energiat visiooni või mõtteliste piiride seadmisele, mille raames loovtöö teha. Projektid, kus piirid on liiga suured (näiteks liiga palju aega või raha) kipuvad pigem ebaõn ...

IntelliJ stack trace analüüs

Suvalise logis leiduva stacktrace on võimalik importida IntelliJ IDEAsse selliselt, et logis leiduvad viited failidele muutuvad koodiviideteks. Menüüst: Analyze -> Stack Trace or Thread Dump Sisuliselt on lõpptulemus sama, nagu viga oleks juhtunud tarkvara otse läbi IntelliJ jooksutades ...

Tarkvara arhitektuur vs kirikute ehitamine

Vanasti kulus kirikute ehitamisele sajandeid. Aja jooksul arenes aga tehnoloogia ja muutusid inimeste eelistused. Pidevalt muutuvad arhitektid tahtsid väljendada oma isikupära ning seetõttu muutus aja jooksul ka kiriku arhitektuuriline suund. Kahjuks tekitavad sellised muudatused olukorra, ...

Lomboki @FieldNameConstants

Kasutades Lomboki @FieldNameConstants on võimalik genereerida automaatselt väljakonstandid, mille nimi ja väärtus on klassis olemasolevate väljade nimed. Millal sellist asja oleks vaja? Näiteks siis, kui on soov reflectioniga välja väärtusi muuta. Sellisel juhul ei pea enam kasutama välja ...

IntelliJ andmebaaside värvid

IntelliJ IDEA lubab värvida andmebaasi ühendused erinevate värvidega. Kasutades erinevaid värve tootmis- ja arenduskeskkonna andmebaaside jaoks on võimalik kergemini märgata millise andmebaasiga parasajagu tööd teed. See omakorda aitab vältida eksimusi, kus tootmiskeskkonna andmebaasis kä ...