Mes naudojame slapukus – jie padeda suteikti geresnį potyrį.
Naudodamiesi mūsų tinklapiu, Jūs sutinkate, kad mes galime saugoti ir gauti informaciją iš slapukų, esančių Jūsų prietaise.

Naujienos

2-21-2008 Vedamasis straipsnis: Projektas „Dotnetifikavimas“

Šiais metais didžiausias mūsų projektas yra perrašyti visus tinklapius. Senasis Hattrick kodas priėjo liepto galą: jis nebėra efektyvus, o pridedant naujas funkcijas, jis tampa vis nesuprantamesnis, su juo dirbti darosi vis sunkiau. Galutinis šio kodo perrašymo rezultatas yra geresnis tinklapio pagrindas, kuris leis mums greičiau ir lengviau kurti naujas žaidimo funkcijas.

Vis dėlto yra mažytė problemėlė: per projekto įgyvendinimo laikotarpį neišvengsime dažnesnių trikdžių. Kadangi projektą jau pradėjome praeitais metais, tai tie trikdžiai jau dabar matomi. Kai kurie iš jų iš esmės net nėra trikdžiai, atvirkščiai - padeda sužinoti kitų problemų priežastis. O ką gero Jums Hattrick duos per šį periodą, tai, neabejotinai, pridės kantrybės. Žinau iš patirties. Pats esu ne technikas, todėl ir pasidalinsiu išgyvenimais, kuriuos patyriau.
Visi mano kolegos darbe yra mieli ir malonūs žmonės, tačiau kartais tarp jų pasijaučiu kaip pašalietis. Taip yra todėl, kad jie yra „kompiuterastai“ (mano pasaulyje visi, kurie dirba programuotojais, vadinami „kompiuterastais“), o aš nesu (toks) „kompiuterastas“. Jie kalba man nesuprantama „kompiuterių fanatikų“ kalba. Tačiau vistiek kartais išmokstu kažką naujo. Ne per seniausiai per juos papildžiau savo žodyną žodžiu „dotnetifikuoti“. Abejoju, ar jis yra vartotinas (nuoširdžiai manau, kad ne), tačiau mano gerai apie kompiuterius nusimanantys kolegos vartoja šį žodį visą laiką, ir galima susidaryti įspūdį, kad tuo metu jie šneka apie tai lyg apie kažkokį mesiją.

Žiūrėdamas į vieną iš jų knygų, pastebėjau, kad tai turbūt .NET (ir iš to kyla „.NETifikuoti“; angl. „dot“ - taškas). Jie mano, jog šis dalykas yra kažkas fantastiško, bet aš dėl pastarųjų su tuo fantastišku dalyku susijusių pertvarkymų susiduriu su erzinančiomis problemomis. Ir žinau, kad dėl tų trikdžių nesu vienintelis toks susierzinęs ir pasipiktinęs Hattrick vartotojas. Be to, žinodamas, kad mano kolegos nėra silpnapročiai, aš supratau, kad tikriausiai jie yra teisūs - .NET yra kažkoks geras dalykas. Tačiau visiškai nesupratau, kodėl jis toks geras ir kodėl mums jo reikia. Kai jie pasakė, kad viskas bus perrašyta į .NET, ilgainiui supratau šio dalyko esmę.

ASP ir .NET
Kai Hattrick 2000-ųjų pabaigoje buvo perdarytas, visi puslapiai buvo perrašyti į ASP. Vertimas iš „kompiuterastų“ kalbos: ASP (active server pages) yra pagrindas tinklapių kūrimui. „Karkasu“ jie savo kalba vadina „.NET“, o karkasas, anot mano žodyno, reiškia „struktūrą, sukurtą kažkam paremti arba kažką apriboti“. Tačiau jų karkaso dalis yra ASP.NET - naujesnė ir „karštesnė“ ASP versija. ASP sistemoje visi puslapiai yra atskiri vienetai. O štai .NET puslapiai yra sujungti ir dirba kartu.

„Dotnetifikacijos“ priežastys
Mano kolegos pasakė, jog priėjome tokį tašką, kai mūsų puslapiai turi būti perrašyti. Tam tikra kodo dalis buvo parašyta prieš kelis metus ir gali būti padaryta daug efektyvesnė. Be viso to, sulig kiekviena nauja pasirodžiusia funkcija, turi būti parašytas naujas kodas, o kiekvienas toks papildymas apsunkina puslapio suvokimą bei darbą su juo. Perrašydami juos į ASP.NET (arba, kitaip „kompiuterastų“ kalba tariant, „dotnetifikuodami“) pagerinsime savo darbą. Svarbiausia, jog turėsime standartizuotą pagrindą greitesniam naujų ypatybių kūrimui ir gražesniam jų apipavidalinimui, o tam prireiks mažiau pastangų.

Jie taip pat tvirtina, jog dirbti su .NET daug smagiau: „Darbą su ASP galima prilyginti nesibaigiančiai diskusijai apie spekuliavimą, o darbą su .NET - diskusijai apie naujas idėjas žaidimo varikliukui“. Nesiginčijau.

.NET Hattrick žaidimui
2006-ųjų pabaigoje buvo parašytas pirmasis puslapis .NET programavimo technologija. Nuo tada visi nauji puslapiai buvo rašomi .NET, taip pat perrašėme kai kuriuos senesniuosius. Jaunių akademijos, rungtynių sąrašas ir žymekliai yra .NET tinklapio pavyzdžiai. Jūs galite lengvai atskirti, kurie puslapiai parašyti .NET, o kurie ASP technologijos pagrindu: adresai, kurie baigiasi galūne -asp parašyti ASP, o -aspx - .NET.

.NET, atrodo, susižavėjo startiniu puslapiu
Kol kas „kompiuterastų“ kalboje nėra žodžio meilei apibūdinti. O štai .NET įsimylėjo mūsų startinį puslapį. Nė nepamenu, kiek kartų užuot pamatęs savo rungtynių sąrašą ar jaunių komandą, būnu perkeltas į startinį puslapį. Nustebau, kai kolegos pasakė, jog tam yra logiškai paaiškinama priežastis: kai prisijungiate prie Hattrick, būnate ASP. Tuo pat metu įvyksta „apsimestinis“ prisijungimas prie .NET. Tačiau jis tėra apsimestinis arba netikras, ir ateina metas, kai nutrūksta .NET ryšys su Jūsų kompiuteriu. Paprastai, jei būtų nutrauktas ASP ryšys, tai turėtumėte prisijungti iš naujo. Tačiau, šiuo atveju, būnate grąžintas į startinį puslapį, nes ASP ryšys nedingsta (dingsta tiktai .NET).

Kol viso šito nežinojau, tai erzino net labiau nei įprasti atjungimai. O dabar nelabai. Suprantama, mes pasistengsime sumažinti panašias problemas iki minimumo ir, laikui bėgant, viskas gerės. Deja, ši konkreti problema negalės būti išspręsta, kol neperrašysime visų žaidimo puslapių į .NET (tai greičiausiai užtruks visus metus, o intensyviausias darbas laukia pavasarį).

Ar vien .NET toks jau problematiškas?
Lengva dėl visų problemų kaltinti „dotnetifikaciją“, tačiau net ir nekalbančiam kompiuterių asų kalba asmeniui (kaip man) nesunku suprasti, kad tai nebūtų teisinga ir pateisinama. Tokioje dinamiškoje ir besikeičiančioje aplinkoje kaip Hattrick negalima išvengti sutrikimų dėl prasto techninės arba programinės įrangos (arba abiejų) veikimo. Dabar manau, kad Hattrick vartotojai susitaiko su tokiomis problemomis, tačiau „startinio puslapio“ problema, apibūdinta anksčiau, ir kitos panašaus pobūdžio problemos gali varyti į neviltį. Bet jei esate toks kaip aš, tikėtina, jog mažiau nervinsitės, nes nuo šiol žinosite priežastį.

„Kažkas sugedo“
Tai yra žinutė, kurios mes, kaip ir Jūs, nenorime sulaukti ir tikrai darysime viską, jog jos išvengtume. Yra padaryti keli sistemos struktūros pakeitimai, kurie leis atlaikyti didesnes žaidimo apkrovas ir palaikys aukštą tinklapio veikimo kokybę. Vienas iš struktūrinio pakeitimo pavyzdžių: atskiras serveris „dotnetifikuotų“ puslapių testams. Iš pradžių, kai puslapis bus perrašytas į .NET, duosime jį išbandyti mūsų savanoriams. Ir tik tada visiems kitiems.

Bandymai nuo klaidų neapsaugos
Norėčiau pasakyti, kad bandymai leis išvengti klaidų, bet taip nebus. Kartais klaida praslysta pro bandytojų akis. Dažna to priežastis - naudojamos skirtingos naršyklės (ir naršyklių pratęsimai). Taip pat būna problemų, kurios „išlenda“ tik konkrečiu laiko momentu arba būna nenumatyti visi galimi sistemos veikimo scenarijai.

Pažadėtasis mėlynas dangus
Nesišvaistysiu tuščiais pažadais, kurių, žinau, paskui negalėsiu laikytis. Su tuo sutiks ir mano kolegos. Faktas tas, kad „bedotnetifikuojant“ atsiras dar kelios klaidos. Mes stengsimės jų nedaryti, o kai jos bus surastos, iš karto ištaisyti. Manau, kad Jūs labiau pakęsite klaidas, kai jau žinote, kas vyksta. Galų gale, viskas veda į viena - geresnis ir greitesnis Hattrick tinklapis.
 
Server 070