Seda nimetatakse KISS-printsiibiks (inglise keelest 'Keep It Simple, Stupid'). 2) Kasutage iseennast selgitavaid identifikaatoreid. 3) Struktrueerige oma programmi, kasutades tühje ridu, taandeid ja tabulaatoreid. 4) Kasutage mõistlikult kommentaare. Igal programmeerijal kujuneb aja jooksul välja oma 'käekiri', millest suur osa kajastub programmi vormistamise harjumustes - programmeerija STIILIS. Hea vormistus on hea stiili tunnuseks. 2. Identifikaatorite süstematiseerimine. Iga identifikaatori kohustuslikuks osaks peaks olema string, mis viitab identifikaatori SISULISELE tähendusele - see on ennastselgitavuse aluseks. Kui meil on vaja valida nimi muutujale, milles hoitakse väärtust pikkuse kohta, siis peaks valima mõne järgmistest nimedest: Pikkus, Length, Pikk, Len, P, L. Esimesed on paremad, viimaseid võib kasutada mõningate mööndustega. Võib kasutada ka võõrkeelseid nimetusi ja nendest tuletatud lühendeid
lehe puhul iga päringu algusesse lisama ,,authorization:"-rea. Kui seda rida ei ole, siis nõutakse kasutajanime ja parooli uuestisisestamist. 6 HTTP olekuta olemust püütakse korvata küpsiste abil. Küpsistesse salvestatakse info, mida järgnevatel päringutel vaja võib minna. Küpsiseid eristab nende identifikaator, mis on serveri poolt genereeritud ja salvestatud. Klient peab iga päringu alguses selle identifikaatori serverile edastama. Kiiruse suurendamiseks (andmemahtude vähendamiseks) kasutatakse nn. tingimuslikku GET-i. Sel juhul ei saadeta objekti brauserile, kui viimasel on juba olemas piisavalt värske koopia sellest. Vahemälu kasutamine. Kõik külastatud leheküljed salvestatakse vähemaIlu (cache), et nende hilisemal vaatamisel oleksid leheküljed kättesaadavad kohalikust arvutist. Proxy serveri kasutamisel tõmmatakse kõik leheküljed proxy serverist. Kui proxys
2) Tüübiväli määrab sõnumiliigi. 3) Kood täpsustab sõnumi sisu ehk määrab alamtüübi. Maksimaalne alamtüüpide arv, mis on võimalik ühele sõnumi tüübile määrata, on 256. 4) Kontrollsumma on 16-bitine andmeväli, mis aitab kindlaks teha, kas andmevahetuse käigus esines kadusid. Arvutamisel teisendatakse ICMP päis ja andmed kahendarvudeks, ja liidetakse need kokku. Andmepaketi vastuvõtja kordab tehet. Pakett kustutatakse, kui tulemus erineb kontrollsummast. 5) Identifikaatori abil määratakse kindlaks vastussõnum. Näiteks kajataotluse sõnumile vastuseks saadetud sõnum. 6) Järjekorranumber aitab eristada järjestikku saabuvaid sama tüüpi sõnumeid. 7) Valikulised andmed kirjeldavad, kuidas sõnumis määratletud tegevusi täide viia. 4 2.1 Piirangud ICMP veateateid ei saadeta vastuseks: 1) Teisele ICMP veateatele
päringu algusesse lisama „authorization:“-rea. Kui seda rida ei ole, siis nõutakse kasutajanime ja parooli uuestisisestamist. 5 HTTP olekuta olemust püütakse korvata küpsiste abil. Küpsistesse salvestatakse info, mida järgnevatel päringutel vaja võib minna. Küpsiseid eristab nende identifikaator, mis on serveri poolt genereeritud ja salvestatud. Klient peab iga päringu alguses selle identifikaatori serverile edastama. Kiiruse suurendamiseks (andmemahtude vähendamiseks) kasutatakse nn. tingimuslikku GET-i. Sel juhul ei saadeta objekti brauserile, kui viimasel on juba olemas piisavalt värske koopia sellest. Vahemälu kasutamine. Kõik külastatud leheküljed salvestatakse vahemällu (cache), et nende hilisemal vaatamisel oleksid leheküljed kättesaadavad kohalikust arvutist. Proxy serveri kasutamisel tõmmatakse kõik leheküljed proxy serverist. Kui proxys lehekülge ei ole,
duplekskanalit. Tähtsaks võimaluseks on kasutada erinevaid ajapilusid kiirema ühenduse loomiseks (ISDN ühendus). Edastuskiirus saab maksimaalselt olla 552 Kb/s. DECT standard võimaldab kasutada 10 kanalit, sammuga 1,728 MHz sagedusvahemikus 1880 kuni 1900 MHz. DECT tugijaam saadab pidevalt vähemalt ühel kanalil täites selliselt majaka rolli, millega kantavad seadmed saavad vajaduse korral ühendust võtta. Saadetav signaal sisaldab tugijaama identifikaatori ja andmeid ühendus võimaluste kohta süsteemiga. Vastuvõetud andmete põhjal saab kantav seade otsustada, kas tal on volitused tugijaamaga ühenduseks 20.DECT kaader ja raadioühendus 10 21.DECT edasiarendus DECT edasiarenduseks on Traadita perspektiivne tehnoloogia internet ja kvaliteet (Cordless Advanced Technology internet and quality CATiq)
duplekskanalit. Tähtsaks võimaluseks on kasutada erinevaid ajapilusid kiirema ühenduse loomiseks (ISDN ühendus). Edastuskiirus saab maksimaalselt olla 552 Kb/s. DECT standard võimaldab kasutada 10 kanalit, sammuga 1,728 MHz sagedusvahemikus 1880 kuni 1900 MHz. DECT tugijaam saadab pidevalt vähemalt ühel kanalil täites selliselt majaka rolli, millega kantavad seadmed saavad vajaduse korral ühendust võtta. Saadetav signaal sisaldab tugijaama identifikaatori ja andmeid ühendus võimaluste kohta süsteemiga. Vastuvõetud andmete põhjal saab kantav seade otsustada, kas tal on volitused tugijaamaga ühenduseks 20.DECT kaader ja raadioühendus 10 21.DECT edasiarendus DECT edasiarenduseks on Traadita perspektiivne tehnoloogia internet ja kvaliteet (Cordless Advanced Technology internet and quality CATiq)
Kuna veebiserver ei mäleta eelmisi päringuid, peab näiteks alati autentimist nõudva lehe puhul iga päringu algusesse lisama ,,authorization:"-rea. Kui seda rida ei ole, siis nõutakse kasutajanime ja parooli uuestisisestamist. HTTP olekuta olemust püütakse korvata küpsiste abil. Küpsistesse salvestatakse info, mida järgnevatel päringutel vaja võib minna. Küpsiseid eristab nende identifikaator, mis on serveri poolt genereeritud ja salvestatud. Klient peab iga päringu alguses selle identifikaatori serverile edastama. Kiiruse suurendamiseks (andmemahtude vähendamiseks) kasutatakse nn. tingimuslikku GET- i. Sel juhul ei saadeta objekti brauserile, kui viimasel on juba olemas piisavalt värske koopia sellest. Vahemälu kasutamine. Kõik külastatud leheküljed salvestatakse vahemällu (cache), et nende hilisemal vaatamisel oleksid leheküljed kättesaadavad kohalikust arvutist. Proxy serveri kasutamisel tõmmatakse kõik leheküljed proxy serverist. Kui proxys lehekülge
kuvamine'), valib tegevuse 'Kirje muutmine'. Kuvatakse kirje andmed. Kasutaja redigeerib talle sobivaid andmeid ning valib tegevuse 'Salvestamine'. Kirje kustutatakse failisüsteemist (kasutusjuht 'Kirje kustutamine') ning luuakse sinna uuesti (kasutusjuht 'Kirje lisamine'). Nimi: Kirje kuvamine Tegutsejad: Telefoni kasutaja Kirjeldus: Kasutaja, olles navigeerinud telefoniraamatu kirjete nimekirjas vastavale kirjele, teostanud kirje otsingu kirje identifikaatori vms järgi, soovib näha kirje detailseis andmeid. Need otsitakse failisüsteemist ning kuvatakse. Nimi: Nimekirja kuvamine Tegutsejad: Telefoni kasutaja Kirjeldus: Kasutaja valib tegevuse 'Telefoniraamatu kuvamine'. Süsteemis teostatakse otsing kõigi kirjete kuvamiseks. Kirjed sorteeritakse etteantud kriteeriumi järgi ning kuvatakse. Lisaks kuvatakse võimalus valitud kirjet kustutada/muuta või uut kirjet lisada. Nimi: Otsingu teostamine Tegutsejad: Telefoni kasutaja Kirjeldus:
saatmine ei õnnestunud, minnakse tagasi n-paketi võrra ja tegemine ühes kihis ei nõua tingimata teiste kihtide muutmist. 12. Ajalised viited võrkudes.Seotud andmete töötlemise ja korratakse kõike, mis juba saadetud. Paketi päises on ette Iga kiht kasutab vahetult enda all olevat kihti ja teenindab järjekordadega. Ruuter ei saa paketti enne töötlema hakata kuni nähtud vali identifikaatori jaoks. Kui väli saab täis, alustatakse vahetult endast ülalpool olevat kihti. OSI seitse kihti on terve pakett on kohal. Marsruuteritel on selleks puhvrid, kuhu otsast peale. Vastuvõtja jälgib saabunud pakettide järgmised (alustades kõige alumisest ehk füüsilisest kihist): 1. kogunevad paketid, mis ootavad oma järjekorda, et ruuterid järjekorranumbreid. Kui saabunud paketi järjekorranumber
igal pakil on küljes aadress kuhu see saata tuleb. Paketi pikkus selleks, et saata andmeid kiiremini edasi on otstarbekas need tükeldada Kui paketi saatmine ei õnnestunud, minnakse tagasi n paketi võrra ja korratakse kõike, mis juba saadetud. Paketi päises on ette nähtud väli identifikaatori jaoks. Kui väli saab täis, alustatakse otsast peale. Aken mitu paketti võib saata enne esimese kinnituse saabumist. kasutatakse ühte IP aadressi; saab muuta seadmete aadresse ilma ,,välismaailma" teatamata; on võimalik muuta ISP-d ilma lokaalvõrgu
järjekorranumber, mis välistab duplikaadid. Rdt 3.0 raiskab ressurssi, sest ooteajad on liiga pikad. JOONIS 5 JOONIS 1 JOONIS 2 JOONIS 3 JOONIS 4 JOONIS 5 18. GO-BACK-N ==> Vigaste pakettide korrigeerimisviis. Ehk kui paketi saatmine ei õnnestunud, minnakse tagasi n paketi võrra ja korratakse kõike, mis juba saadetud. Paketi päises on ette nähtud väli identifikaatori jaoks. Kui väli saab täis, alustatakse otsast peale. ==> Aken mitu paketti võib saata enne esimese kinnituse saabumist. Aken võib olla muutuva suurusega, mis sõltub saatja, vastuvõtja ja võrgu parameetritest. ==> Voo juhtimine määratakse kindlaks kui palju saatja võib saata ja kui palju vastuvõtja suudab vastu võtta. ==> Vastuvõtja jälgib saabunud pakettide järjekorranumbreid. Kui saabunud paketi
kaasa panna paketi järjekorranumber, mis välistab duplikaadid. Rdt 3.0 raiskab ressurssi, sest ooteajad on liiga pikad. JOONIS 5 JOONIS 1 JOONIS 2 JOONIS 3 JOONIS 4 JOONIS 5 18. GO-BACK-N ==> Vigaste pakettide korrigeerimisviis. Ehk kui paketi saatmine ei õnnestunud, minnakse tagasi n paketi võrra ja korratakse kõike, mis juba saadetud. Paketi päises on ette nähtud väli identifikaatori jaoks. Kui väli saab täis, alustatakse otsast peale. ==> Aken – mitu paketti võib saata enne esimese kinnituse saabumist. Aken võib olla muutuva suurusega, mis sõltub saatja, vastuvõtja ja võrgu parameetritest. ==> Voo juhtimine – määratakse kindlaks kui palju saatja võib saata ja kui palju vastuvõtja suudab vastu võtta. ==> Vastuvõtja jälgib saabunud pakettide järjekorranumbreid. Kui saabunud paketi järjekorranumber näitab, et eelnev pakett pole kohale jõudnud, ei saada
seda suuremat kahju selle riski realiseerumine nii tellija (klient) kui ka teostaja (teenuse osutaja) jaoks see endast kujutab. Antud rakenduse puhul peetakse suurimateks riskideks neid riske, mis mõjutavad kliendi rahulolu. Allpool (vt tabel 1) on defineeritud 21 riski koos riski identifikaatori, kirjelduse ning riski prioriteediga. Riski ID Riski nimetus Prioriteet Vastuvõtutesti ID R01 Klient ei saa rakendusega ühendust IE, Chrome, madal VT05 Firefox, Opera või Safari veebilehitsejaga.
järgnevatel päringutel võib vaja minna. HTTP response ja request on cookie header täitsa olemas. Cookie fail hoitakse kliendi juures, browser manageerib sellega ise. Pm funktsioneerib ID’dega, mis on serveri poolt genereeritud ja salvestatud. Uue päringu alustades esitab klient serverile enda ID, serveril on Cookie enda andmebaasis olemas. Kui uuesti läheme sinna lehele, siis server juba selle ID vm identifikaatori järgi tunneb ära kasutaja. Kõik külastatud leheküljed jäävad vahemällu, et hiljem vaadates saaks neid arvuti enda mälust korjata - vähendab ajakulu. Tänage neid küpsiseid - nüüd on teil olemas online shopping cart. Cookie jätab jälje selle kohta, kus oled käinud. Enda arvutist saab selle eemaldada kui cookie ära kustutad. Cookied on nõrk autoriseerimine - pole sama hea kui parool ja see pole kaitstud, nende
3) Struktrueerige oma programmi, kasutades tühje ridu, taandeid ja tabu- laatoreid. 4) Kasutage mõistlikult kommentaare. Igal programmeerijal kujuneb aja jooksul välja oma 'käekiri', millest suur osa kajastub programmi vormistamise harjumustes - programmeerija STIILIS. Hea vormistus on hea stiili tunnuseks. Kommentaaride kasutamisest teen ma juttu järgmises teemas, seekord vaat- leme lähemalt identifikaatoreid ja taanete kasutamist. 2. Identifikaatorite süstematiseerimine. Iga identifikaatori kohustuslikuks osaks peaks olema string, mis viitab identifikaatori SISULISELE tähendusele - see on ennastselgitavuse alu- seks. Kui meil on vaja valida nimi muutujale, milles hoitakse väärtust pikkuse kohta, siis peaks valima mõne järgmistest nimedest: Pikkus, Length, Pikk, Len, P, L. Esimesed on paremad, viimaseid võib kasutada mõningate mööndustega. Võib kasutada ka võõrkeelseid nimetusi ja nendest tuletatud lühendeid. On hea, kui sisuliselt erinevate muutujate nimed ei
3) Struktrueerige oma programmi, kasutades tühje ridu, taandeid ja tabu- laatoreid. 4) Kasutage mõistlikult kommentaare. Igal programmeerijal kujuneb aja jooksul välja oma 'käekiri', millest suur osa kajastub programmi vormistamise harjumustes - programmeerija STIILIS. Hea vormistus on hea stiili tunnuseks. Kommentaaride kasutamisest teen ma juttu järgmises teemas, seekord vaat- leme lähemalt identifikaatoreid ja taanete kasutamist. 2. Identifikaatorite süstematiseerimine. Iga identifikaatori kohustuslikuks osaks peaks olema string, mis viitab identifikaatori SISULISELE tähendusele - see on ennastselgitavuse alu- seks. Kui meil on vaja valida nimi muutujale, milles hoitakse väärtust pikkuse kohta, siis peaks valima mõne järgmistest nimedest: Pikkus, Length, Pikk, Len, P, L. Esimesed on paremad, viimaseid võib kasutada mõningate mööndustega. Võib kasutada ka võõrkeelseid nimetusi ja nendest tuletatud lühendeid. On hea, kui sisuliselt erinevate muutujate nimed ei
27. Marsuutimine Meil peab olema mingi algoritmi järgi tabel ja tabelis on väljad, mille järgi tehakse otsus, kuhu pakett edasi saata. Marsruutimisprotokollide informatsiooni järgi tehakse valmis tabel. Algoritmi ei täideta iga paketi jaoks. Iga paketi jaoks võetakse informatsiooni tabelist ja kui tekib vajadus siis see tabel arvutatakse uuesti ümber ja siis edasine marsruutimine toimub läbi tabeli. Kui pakett saabub, siis vaadatakse aadressi välja või siis virtuaalkanali identifikaatori välja. Marsruutimisotsus tähendab seda, et vaadatakse marsruutimistabelist, mida paketiga edasi teha. See otsus tehakse tavaliselt üpris kiiresti, aga neid tabeleid tuleb teatud aja järel uuendada, kui need ei vasta enam võrgu tingimustele. Kui on adaptiivse marsruutimisega tegemist, siis marsruutimine üritab ennast kohandada võrgu olukordadele. Kui kusagil võrgus on ülekoormus, siis see tabel arvutatakse uuesti ja üritatakse seda ülekoormatud kohta vältida ja suunata
JÄRJEKINDLALT kinni pidada. Nimi on maksimaalselt 128 märki pikk. Nimi ei tohi alata numbriga, sisaldada tühikut ja olla reserveeritud sõna (nt. "table", "select" jne.), kui tegu pole just piiritletud identifikaatoriga. Mis asi on "piiritletud identifikaator"? Identifikaator on jutumärkide vahel. Võib ilma ümbritsevate jutumärkideta olla kuni 128 märki pikk. Kaks järjestikust jutumäki "" identifikaatori sees loetakse kokku üheks märgiks. Võib kasutada mistahes märke, sh. tühikuid ja ka reserveeritud sõnu. Eristatakse suur- ja väiketähti. Näide: "&%%!", "TABLE", "3VIEw". 14 Millised on SQL standardis nimetatud andmetüübid? (nt CURRENCY, MONEY, AUTONUMBER, SERIAL ei kuulu SQL standardisse)
Saaja ütleb jälle palju pakette võib saatja parasjagu teele panna. Igal paketil on oma järjekorra nr. ACK’i sisse paneme ka järjekorra nr (nr mille viimasena kätte saime VÕI nr mida järgmisena ootame, oleneb arvutist). 18. Go-Back-N Vigaste pakettide korrigeerimisviis. Ehk kui paketi saatmine ei õnnestunud, minnakse tagasi N paketi võrra ja korratakse kõike, mis juba saadetud. Paketi päises on ette nähtud väli identifikaatori jaoks. Kui väli saab täis, alustatakse otsast peale. Aken – mitu paketti võib saata enne esimese kinnituse (ACK-i) saabumist. Aken võib olla muutuva suurusega, mis sõltub saatja, vastuvõtja ja võrgu parameetritest. Kasutatakse kumulatiivset kviitungit, ehk 1 kviitung kinnitab ära kõik eelmiste pakettide kätte saamise. sest kviitungit ei panda enne teele, kui kõik eelnevad on ka teele pandu.
Teeme eraldi tabelid isikute, raamatute ja laenutamiste ajade jaoks: Selleks, et teha kindlaks kes mida ja millal laenutas tuleb kuidagi seada need 3 tabelit omavahel. Selleks tehakse iga tabeli kirje jaoks unikaalset identifikaatorit. Sellist identifikaatorit nimetakse primaarseks võtmeks (primary key) - tavaliselt see on INT tüüpi väärtus. Tihti seadistakse tabeli primaarse võtme atribuuti nii, et iga lisatava kirje jaoks pannakse identifikaatoriks eelmise identifikaatori väärtust + 1 (sellist seadistust nimetakse auto_increment'iks). Mõnede tabelite puhul primaarne võti ei ole kohustuslik, aga selle lisamine on alati soovitatav. On olemas ka üks teine identifikaator, mis seob teise tabeli rea antud tabeliga - seda nimetakse välisvõtmeks (foreign key). Lisame tabelitesse vajalikud võtmed: Nüüd on seosed paigas ja saame aru, et Andres laenutas raamatu "Kalevipoeg" 12.04.2009, Reet - raamatu "Karupoeg Puhh" 17.03.2009 ning Ilmaril on "Harry Potter" 23
tõendava dokumendi, mille järel kassapidaja registreerib piletile allahindluse. See tehtud, maksab klient pileti(te) hinna, kassapidaja türikib pileti(d) ning annab need kliendile. Broneeritud piletite väljaostmine: Kassasse ilmub õigeaegselt (firmal on tavaks broneeritud piletite väljaostmist nõuda teatud ajaks enne seansi algust) klient sooviga osta välja eelnevalt broneeritud piletid. Kassapidaja sisestab kliendi poolt esitatud broneeringu identifikaatori (näiteks unikaalne number, mille klient on internetis broneerides välja printinud ning mis on 43 esitatud automaatse lugemise hõlbustamiseks ka vöötkoodis). Istekohtade leidmise korral järkub protsess eelmise lõiguga sarnaselt alates punktist (1). Eeltingimused: Olemas on aktiivne mängukava, mille seanssidele on loodud müüdavad piletid
assembleerimise juhtimiseks. ASSM-keele käsuvormingu eripära on, et ühe käsu või direktiivi mitme nimega märgendamisel peavad märgendid olema eri ridades näiteks: LABELA: ;ESIMENE NIMI LABELB: MOV B,M ;TEINE NIMI Käsule MOV B,M võib osutada nii märgendiga LABELA kui märgendiga LABELB. ASSM-keele identifikaatorid koosnevad tähtedest ja numbritest, kusjuures esikohal peab olema täht. Identifikaatori pikkus pole piiratud, kuid assembler arvestab unikaalsuse määramisel vaid esimest viit sümbolit. Transleerimisel võib assembler omistada identifikaatorile väärtuseks mingi mäluaadressi. Sellist väärtustatud identifikaatorit nimetatakse defineeritud nimeks. Identifikaatorit, mis jääb transleerimisel väärtustamata, nimetatakse mittedefineeritud nimeks. Nii käskudes kui ka direktiivides kasutatakse avaldisi. Avaldis moodustatakse termidest + ja − operaatorite abil.