Märkmeid rakendusarhitektuuride ainest

  • See võtab rohkem aega, kui sa arvad, sest pärast seda, kui põhimõtted on kohale jõudnud, tuleb kogu nõutud funktsionaalsuse realiseerimiseks palju väga sarnaseid klasse kirjutada. Osa jäidki kirjutamata.
  • Google Code on koodi haldamiseks väga mugav koht, imelik, et TTÜ ise sarnast asja ei võimalda (parandage, kui peaksin eksima)
  • Tomcat’i vaikimisi paigaldus Kubuntus on algajavaenulik, log4java ja hibernate tööle saamiseks tuli mitmeid kordi logidest stacktrace lugeda. Lõpuks läks vaja järgnevat /etc/tomcat6/policy.d/04webapps.policy failis:

    permission java.net.SocketPermission "127.0.0.1:5432", "connect,resolve";
    permission java.io.FilePermission "/var/lib/tomcat6/webapps/-", "write";
    permission java.lang.RuntimePermission "getProtectionDomain";
    permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    permission java.util.PropertyPermission "ANTLR_DO_NOT_EXIT", "read";
    permission java.util.PropertyPermission "ANTLR_USE_DIRECT_CLASS_LOADING", "read";

  • Sellist faili nagu Catalina.out Kubuntus ei teki, samaväärne on /var/log/tomcat6/localhost.aaa-kk-pp.log fail, kuhu ilmuvad System.out’i abil logitud asjad vaid siis, kui context.xml-i täiendada nii, et seal seisab:

    <Context swallowOutput="true">

  • Aine näiteid on tüütu lugeda, treppimine on väga mööda ja üsna kiiresti saab selgeks, miks Eclipse automaatset taanete parandamisvõimalust pakub, seda läheb tõesti vaja.
  • Suur osa näiteid erineb eelnevatest üsna vähe, mugav on lugeda mõne failivõrdlusprogrammi abil ainult muudatusi, ise kasutasin Kompare’t
  • Lohisevate linkide vältimiseks on võimalik kasutada url rewrite filtrit
  • Loengutes käimine pole väga ratsionaalne tegevus, kogu vajalik info on aine veebilehel olemas.

Siis, kui matemaatilisi teadmisi vaja läheb, on need ununenud

Otsisin java koodist viga taga, sest visuaalselt oli näha, et miskit on valesti. Ja mis selgus: arkustangensi võtmisel tuleb veeranditega tähelepanelik olla. Sest see, mis näib nagu I veerandi nurk, võib olla ka III oma, ehk siis arkustangensi argument on sama, aga tulemus ei tohiks olla. Javas realiseeritud atan(x) väljastab tulemust vahemikus -pii/2 kuni pii/2 ja kuidas teisiti saakski, ega see pole kohvipaksult lugemine, et see arctan(1) on 45 kraadi, aga näed järgmine 135 kraadi. Aga loll tunne tuli küll peale, kolme aasta eest poleks küll sellise asjaga alt läinud.

Miks suvalise javascripti lubamine on halb mõte

Sõltub sellest, kui privaatseks keegi oma külastatud veebilehtede nimekirja peab muidugi, aga javascriptiga on võimalik edukalt tuvastada, millistel veebilehtedel sa eelnevalt käinud oled. Hea näide sellest on Start Panicking! lehekülg. See ei tuvasta küll kõiki lehti, vaid kontrollib külastusi konkreetse nimekirja vastu. Küllalt pika nimekirja korral saab aga üsna palju teada, näiteks on nimekirjas 41 .ee lehekülge.

Nipp on iseenesest lihtne. Veebilehe css’is määratakse ära, mis värviga kuvatakse külastatud lehtedele suunavaid linke ja javascripti abil siis tuvastatakse, mis värviga linki kuvatakse. Selle konkreetse augu vältimiseks saab Firefoxis sättida layout.css.visited_links_enabled väärtuseks false, misjärel külastatud linke enam ei eristata või siis keelata ära javascript mõne mugava lisa abil. Vaikimisi on selle väärtus aga true ning javascriptki on lubatud.

See on muidugi vaid üks näide sellest, mida javascriptil teha on võimalik ja juba üsna ammu teada.