Praktikablogi - 4. osa

 Ahoi!

Viimasest postitusest on juba üle tüki aja möödas, kui viimati möllasime NFC teegi tööle saamisega. Sellest ajast edasi on toimunud mõned suuremad muudatused:

Lõpetasime teegiga mässamisga, ning panime selle lihtsalt enda lähtekoodi sisse. Alguses mõtlesime, et see on ainuke viis kuidas seda tööle saada, kuid lõpuks selgus, et see on tegelikult ka parim lahendus - seda sellepärast, et koodi sisse on vaja olnud teha mitmeid-mitmeid muudatusi, seal hulgas mõned originaalsed juurdekirjutused ja meetodid. Kuna kirjutame esialgu MVP-d, siis teegi sisse osaliselt kirjutatud ka meie rakenduse äriloogika. Seega on NFC teegi sisu mõttekas lähtekoodi sees hoida.

Samuti tuli arutluse alla andmete kirjutamine ja lugemine TAGi pealt. Kirjutasin valmis testandmete klassi, seejärel lasime klassi serialiseerida JSON-iks. Siis aga ilmnes uus probleem - testandmete JSON on nii suur, et ei mahu hästi TAGi peale ära. Lahenduseks valisin kasutada lihtsat GZIP kompressorit/dekompressorit, mis pakkis kokku 542 baidise jsoni 340ks baidiks.

Viimase asjana saimegi hiljuti ilusti tööle selle kokku pakitud JSONi kirjutamise TAGi peale, ning selle sealt maha lugemise. Viimane osutus eriti keeruliseks, kuna raske oli määratleda, millal kirjutatud osa läbi on saanud - kokku pakitud JSON on bytearray, mis sisaldab enda sees 00 baite, aga samas tühi osa TAGi peal on samuti 00 baidid. Lahendus tuli minu varasemast kogemusest videomängude arhiivide pöördkonstrueerimisest - enne loetavat sisu kirjutasin selle ette 2 baiti, mis ütlevad, kui pikk loetav sisu on. Niimoodi ma selle lahenduse tegin, ning praegu töötab. Tõenäoliselt tuleb see hiljem ümber kirjutada, kui rakendus saab kirjutamiseks ja lugemiseks oma standardi.

Sellega on seekord kõik, tänan lugemast ja järgmise korrani!

Arne




Kommentaarid

Populaarsed postitused sellest blogist

Kaks tuntud IT-juhti (9. nädal)

Positiivne ja negatiivne kasutatavus internetis (12. nädal)

Mis teeb "proffist" professionaali? (8. nädal)