четверг, 29 сентября 2016 г.

Praktika 15.07.2016 - 17.08.2016

    Minu praktika viimaste viie nädala jooksul ma tegelesin väga palju erinevate taskidega.
    Esimene task oli optimiseerida ja lisada funktsionaalsust klientide mõningate väljade täitmisel. Sinna ma lisasin Regex loogikat, kus olid kirjeldatud kõik olukorrad mille puhul vorm aktsepteeritakse.




    Vahepeal olid väiksemad taskid seoses C# klasside optimiseerimisega ja uue funktsionaalsuse lisamisega.
    Sel ajal oli ka üks natuke suurem ja huvitavam task mis oli seotud Web Service-tega, millel suurema osa ajast võttis probleemi uurimine ja arusaamine, kuna mul puudus otsene liigipääs Service-tele, oli aga ainult dokumentatsioon. Ülesanne oli edukalt lahendatud!
    Veel üks task oli uue lehekülge loomine (võib vaadata siit) ja olemasolevasse keskkonda integrerimine.
    Oli ülesanne kus ma pidin uuendama/lisama loogikat sorteerimisele. Siin ma edukalt kasutasin IT Kolledžist omandatud LINQ teadmisi.

 
 

    Sel ajal ma õppisin kasutada Fiddleri debuggimiseks, see annab väga palju võimalusi mida raske asendada millegi teisega, näiteks: Response/Request käsitsi tegemine/mutmine, kliendi requesti puhul tagastada enda fail testimiseks, simuleerida GET,PUT,POST jne päringud.
    Samuti sel ajal mul tekkisin esimesed konfliktid Gitis mida mina ka edukalt tegin korda meie Scrum Master abiga.
    Üks suurematest kogemustest tiimi töö organisatsioonis sain just sel ajal: me implementeerisime Scrum raamistiku sisse. Alustasime teha Stand-up meeting-uid hommikuti, teha Retrospective, andma taskidele hinnanguid (kasutades Pocker meetodit), arvan et meie tiimi kasutegur suurenes väga palju, nüüd igajuks on kurssis mis tööd taustal käivad ja kes neid teeb. Super kogemus!
    Tulevikus tuleb teha palju arendamist, projekt läheb edasi, nõuded suurenevad, uued tehhnooloogiad arenevad...

вторник, 27 сентября 2016 г.

Praktika 09.06.2016 - 14.07.2016

Sel ajal mina juba alustasin ise kasutada Jira, vaadata ticketeid, lahendada tööülesanded jne. Mind õpetati kasutada BitBucket - SourceTree et jälgida kogu tiimi loogikat. Esialgu tekkisid probleemid Git-iga ja arusaamisega kuidas normaalne flow peab minema, aga kollegid aitasid ja kõik küsimused ja arusaamatused olid vastatud. Minu üks esimestest ja suurematest ülesannetest oli sisse ehitada ja testida alternatiivse loogika kasutades "kaugserverit" Redis cache-mise jaoks. "Redis is a software project that implements data structure servers. It is open-source, networked, in-memory, and stores keys with optional durability."[Wikipedia].

 Kohe ütlen et kogu selle ülesande arusaamine ja lahendus võttis umbes 3 nädalat. Mul oli vaja enda arvutisse panna ja häälestada lokaalse Redise serverit, projekti sisse panna vajalikud packid jä teha valmis klassid. Väga palju aega oli kulutatud selleks et saada aru loogikast mis, kus, ja kuna cahe peab olema Redise sisse kirjutatud ja välja loetud. Lõpuks ma jõudsin sellele et võtsin kasutusele ERD-mudeli, kus nähtavalt panin kirja kogu loogikat, ja igaüks võis kergelt aru saada mis seal toimub ja pakkuda oma variandid. Minu jaoks see oli ülitähtis projekt, kus ma väga sügavalt sain aru cache loogikast, mida ennast kujutab InProc memory, mis on selle plussid ja miinused, kas Redis võib täielikult asendada seda mälu või mitte, võtsin kasutusele ka lokaalse muutuja, mis hoidis endas cache lehe laadimise ajal. Samal ajal mul olid ka väiksemad taskid/pugid mida ma pidid lahendama: näiteks dekodeerimise probleem, mille tõttu spetsiaalsed sümbolid lehel olid valesti nähtavad, või hindade formaat mõningatel maadel oli vale selle maa jaoks, need kaks väikest ülesanned ma lehendasin back-endis. Iga probleemi korral mind hea meelega aitasid meie vanemad programmeerijad, suur tänu nendele!


Praktika 04.05.2016 - 08.06.2016

    4-ndal mail mind võeti praktikale firmasse ADM Interactive back end arendajaks. Praktika eelduseks oli testülesanne ASP.NET, kus ma pidin tegema väikese lehekülge, kus pidin rakendama oma teadmised .NETs, HTMLs, JavaScriptis, CSS ja Bootstrapis. Esimesed kolm nädalat ma tegelesin oma testülesande muutmisega ja optimiseerimisega.




    Õppisin kasutada JavaScripti Ajax requeste, töötlem DOMi kasutades JQuery. Palju konsulteerisin front end ja back end vanemate arendajatega. Kõige raskemad osad olidki Javascript ja JQuery, kuna kolledžis neid anti hästi vähe. Tekkisid ka raskused Razor mootoriga ja andmete edastamisega, ja kuna meie programmeerijad ei kasuta Razorit siis õpitud oli suureks kogemuseks kõikidele.






    Samuti oma edasi arenevas testtöös ma kasutasin kõige uuemad tehnoloogiad mida meile õpetati: DI, TDD, interface-id jne. Minu testtöö oli ümber tehtud umbes 3 korda kasutades erinevad lähenemised. Front end vanem arendaja näitas mulle kuidas Chrome DevTools kasutada ja teha debuggimist sealt. See oli väga suur kogemus minu jaoks. Kolledžis kajuks seda osa puudutatakse väga vähe, aga tööl neid teadmisi tahetakse väga. Samal ajal ma vaatasin projekti millega mul tuleb tegu (HP Store - store.hp.com/UKStore/Merch/List.aspx?sel=NTB). Kohe ütlen et see projekt palju rohkem ja keerulisem kui tavaline online shop, see on kirjutatud kasutades WebForms custom builti. Süsteem on tehtud nii keeruliseks selleks et tagada turvalisust, ja toetuse osakondadeks jagamiseks (süsteem on jagatud paljudeks osadeks ja meie tiimil on oma osa back-endist, meise enda CMS-ist ja kogu front endist). Sel ajal mulle näidati Jira agiilse erenemis ja juhtimis keskkonda. Õpetati kuidas seda kasutada ja näidati selle võimalused väga lihtsa ülesande näidel(ennem koolis kasutati TFS-i .NET arendamisel). Esimesed 3 nädalat ma pole saanud reaalsed ülesanded mida võiks kliendile müüa, mind hinnati ja vaadati minu arenemis võimalust. Ma arvan, et näitasin ennast heast küljest selleks et jätkata oma praktikaga tehes reaalsed ülesanded.