BLOGas.lt
Sukurk savo BLOGą Kitas atsitiktinis BLOGas

Išleista Windows 7 RC (atnaujinta)

Parašė Sergejus | 2009-04-30 20:47

Dar vienas mano straipsnis ne iš .NET :)


Prieš kelias valandas MSDN ir TechNet naudotojams tapo prieinama parsisiuntimui Windows 7 RC. Jau suinstaliavau savo kompiuteryje ir viskas (kol kas) veikia tiesiog puikiai!


Viešai Windows 7 RC turi būti pasiekiamas po kelių dienų. Kai tik sužinosiu - atnaujinsiu straipsnį.


Šiandien tapo prieinamos viešos Windows 7 RC nuorodos.

Rodyk draugams

Nauji DotNetGroup.lt forumai

Parašė Sergejus | 2009-04-29 19:51

Prieš kelias dienas rašiau apie naujus programavimo klausimams skirtus DotNetGroup.lt forumus. Pagal jūsų pageidavimus pridedu dar kelis ne techniniams klausimams skirtus forumus:


Rodyk draugams

Microsoft Office 2007 SP2: pagrindinis akcentas - greitaveika

Parašė Sergejus | 2009-04-29 19:24

Atrodo Microsoft su Windows 7 tik pradeda ilgai lauktą “greitaveikos gerinimo akciją”. Šiandien pasirodė Microsoft Office 2007 paketo antrasis pataisų paketas. Pagrindinis dėmesis - greitaveika! Kiek teko girdėti, Outlook ženkliai pagreitėjo. Manau pats laikas išbandyti ir pačiam…

Rodyk draugams

Internet Explorer 8 - lietuviškai

Parašė Sergejus | 2009-04-26 15:38

Nors asmeniškai aš nesinaudoju lokalizuotomis programų versijomis, bet didžiajai daliai kompiuterių vartotojų tai yra labai patogu (ypač nežinantiems anglų kalbos). Šaunu tai, kad iš karto po oficialaus Internet Explorer 8 pasirodymo, tapo prieinami ir lokalizacijos paketai, tame tarpe, ir lietuviškas. Lokalizavimo paketą galite parsisiųsti čia.

Rodyk draugams

Programavimo klausimams skirti forumai DotNetGroup.lt

Parašė Sergejus | 2009-04-24 23:50

Pagal jūsų išsakytus pasiūlymus, naujajame DotNetGroup.lt puslapyje sukūriau programavimo klausimas skirtus forumus:



Ką manote apie tokią forumų aibę? Jeigu turite klausimų / minčių / pageidavimų - drąsiai rašykite!

Rodyk draugams

Kaip aš atstatinėjau magistro darbui skirtą kodą…

Parašė Sergejus | 2009-04-23 00:47

Asmeniniame kompiuteryje aš saugau pakankamai nemažai kodo: pristatymų demo, asmeniniai projektai, pabandymai blogo straipsniams ir pan. Iki šiol versijuojamas buvo tik vienas mano projektas – SBToolkit. Šiandien savo nuostabai pamačiau, kad iš mano Development katalogo dingo visi failai, įskaitant ir magistro darbui skirtas kodas! Kaip tai įvyko – neįsivaizduoju, bet svarbiausia rezultatas. Atrodytų, atsarginis kopijavimas galėtų išgelbėti, bet kartą į mėnesį aš jau darau atsarginį viso kompiuterio kopijavimą į išorinį diską. Problema tame, kad pagrindinis magistro darbo kodas buvo parašytas būtent per paskutinį mėnesį. Ilgai negalvojęs, suradau vieną nemokamą ir tikrai labai gerą duomenų atstatymų įrankį - Recuva.



Jo pagalba atstačiau absoliučiai visus savo projektus! Pasirodo, nuo nevilties iki euforijos vienas žingsnis… Pats laikas pasidaryti atsarginę kopiją.

Rodyk draugams

Naujojo DotNetGroup.lt puslapio beta versija (su forumais ir blogais)!

Parašė Sergejus | 2009-04-20 21:32

Jau metus iš jūsų girdžiu pastabas, kad DotNetGroup.lt trūksta forumų bei blogų. Per paskutinį Lietuvos .NET vartotojų grupės susitikimą aš jau sakiau, kad darbai ta linkme juda ir artimiausiu metu turėtume paleisti pradinį variantą.

Su džiaugsmu ir euforija noriu paskelbti apie naujojo DotNetGroup.lt puslapio beta versijos paleidimą! Puslapis yra tikrai dar NEIŠBAIGTAS, bet aš pagalvojau geriau jums duoti išbandyti jau dabar ir ištestuoti jį visiems kartu! Pagrindiniai naujojo puslapio akcentai – forumai bei blogai. Tuo pačiu noriu pasakyti didelį ačiū Domantui – už dizaino adaptavimą bei Pauliui – už sulietuvinimą.

Pirma norėčiau daugiau dėmesio skirti forumams, kadangi tai buvo labiausiai prašomas funkcionalumas. Šiuo metu egzistuoja keli forumai: Klaidos; Pasiūlymai, pageidavimai; Ačiū ir Apklausos. Prie pasiūlymų pageidavimų laukiu minčių, kokių forumų jums reikia labiausiai (ASP.NET, C# ir pan.).

Dar vienas dalykas – puslapio sulietuvinimas. Šiuo metu egzistuoja tam tikri neatitikimai (dėl vertimo pagal resursus), todėl pastebėsite kažką blogo – rašykite prie klaidų.

Ir paskutinis, bet be galo svarbus, dalykas. Jus prašėte forumų, bet juos reikia moderuoti, todėl prašau visų norinčių (ir galinčių) tapti moderatoriais – rašyti man. Taip pat reikia žmonių, kurie galėtų užsiimti puslapio dizaino tobulinimu, tolesniu lietuvinimu bei papildomo funkcionalumo kūrimu. Jeigu per ateinančius du mėnesius aš nesurasiu pakankamai žmonių – tiesiog teks uždaryti šį puslapį…

Ir dar kartą – visi pirmyn į naują DotNetGroup.lt beta puslapį! (OpenID registracija kol kas neveikia)

Rodyk draugams

Refleksijos pagalbiniai metodai

Parašė Sergejus | 2009-04-15 22:41

Refleksija yra labai galingas ir patogus būdas sužinoti objekto metaduomenis, bet viena didžiausių jos problemų (apart greitaveikos) – eilučių naudojimas. Tarkime, mes turime klasę Demo:



Norėdami refleksijos pagalba gauti priėjimą prie klasės savybės Text ir metodo Print, tai atrodytų taip:



Kaip matote, tam kad gauti PropertyInfo ar MethodInfo, reikia nurodyti objekto savybės ar metodo pavadinimą. Problema tame, kad pavadinimai yra tekstinės eilutės, todėl pasikeitus objekto savybės ar metodo pavadinimui, kodas ir toliau kompiliuosis, o apie klaidą sužinosime tik programos vykdymo metu.


Šiai problemai išspręsti galima pasirašyti pagalbinius metodus, kurie kaip argumentus priimtų Lamda išraiškas. Tai leis tipizuotai nurodyti pageidaujamą savybę ar metodą:



Žemiau yra pateiktas Reflector klasės kodas:



Reflector klasę jus rasite ir mano SBToolkite. Tikiuosi jūsų darbas su refleksija dar labiau pagerės!

Rodyk draugams

Automatinis susiejimų registravimas Unity konteineryje

Parašė Sergejus | 2009-04-10 20:14

Pastaruoju metu aš pakankamai daug laiko dirbu su Unity - Microsoft priklausomybės injekcijos konteineriu. Tarkime, mes turime aprašytus kelis interfeisus ir juos atitinkančias realizacijas:



Labai dažnai, servisų interfeisus aš talpinu į kitą vardų sritį negu realizacijas (tai bus svarbu vėliau). Norėdamas aprašyti aukščiau aprašytų tipų susiejimus, standartiškai tai atrodytų taip:



Kaip matyti, po registracijos aš gaunu IPrintService interfeisą atitinkančią realizaciją ir iškviečiu jos metodą Print. Problema yra tame, kad tokių susiejimų su laiku gali būti labai daug. Kai mano projekte jų atsirado 40 – teko apgalvoti galimą problemos sprendimą. Galiausiai nusprendžiau pasirašyti klasę, kuri iš tam tikros vardų srities paimtų visus interfeisus ir pabandytų jiems rasti konkrečias klases su tuo pačiu pavadinimu, tik be „I“ priekyje. Taip interfeisui IPrintService būtų ieškoma klasė PrintService. Pati klasė atrodo taip:



Pirmasis argumentas reikalingas tam, kad sužinoti kokiame rinkinyje (angl. assembly) ieškoti interfeisų bei klasių. Šios klasės dėka galima taip perrašyti pradinį kodą:



Štai ir viskas! Vietoje to, kad rankiniu būdu rašyti akivaizdžius susiejimus, tai dabar daroma automatiškai. DITypeMapper klasę rasite mano SBToolkit projekte.

Rodyk draugams

Mano SBToolkit biblioteka CodePlex

Parašė Sergejus | 2009-04-08 20:26

Daugeliui iš mūsų projektuose tenka naudoti tam tikras pagalbines klases, kurios laikui bėgant pasimeta. Prieš metus nusprendžiau sukurti SBToolkit projektą, skirtą asmeniniam naudojimui, kur aš talpinčiau įvairiausias pagalbines klases bei metodus. Nors prie bibliotekos dirbau tik aš, po tam tikro laiko atsirado poreikis versijuoti kodą. Natūralus sprendimas buvo patalpinti biblioteką į CodePlex ir taip gimė sbtoolkit.codeplex.com.


Prieš kelias dienas nusprendžiau viešai pristatyti biblioteką jums ir šiandien su džiaugsmu noriu pranešti, kad jus galite parsisiųsti SBToolkit v0.1. Aš nuoširdžiai tikiuosi, kad jums ji pasirodys naudinga ir pagelbės jūsų projektuose.


Šiuo metu svarstau apie galimybę prijungti ir jus prie bibliotekos plėtojimo, tad jeigu turite noro ir naudingo kodo - rašykite projekto puslapyje! Labai laukiu jūsų komentarų, pasiūlymų bei paraginimų :), nes tai mano pirmi atviro kodo žingsniai.


Žemiau pateikiu klasių sąrašą su trumpu aprašymu (anglų kalba):



  • SBToolkit.Core


    • Cloner - helper class for cloning

    • Converter - helper class for converting any type to nearly any other

    • Hashing - helper class for hashing

    • Reflector - helper class to make reflection easier

    • Validation, ValidationConditions - helper classes for the fluent validation

  • SBToolkit.Utility


    • DITypeMapper - helper dependency injection type mapping class

    • EnumerableHelper - helper class with various IEnumerable<> extension methods

    • FileHelper - helper class to work with files

    • Predicate - helper class for building Lambda predicate expressions

    • QueryableHelper - helper class with various IQueryable<> extension methods

    • SystemDateTime - testable version of DateTime class

    • StringCasing - helper class to make string casing easier

    • StringHelper - helper class with various String extension methods

    • StringNameFormat - helper class provides similar experience to String.Format(), but takes object instance instead of array of arguments

  • SBToolkit.Web


    • ControlHelper - helper class with various Control extension methods

    • FormBinding - helper class provides basic two-way binding functionality for the ASP.NET Web Forms

    • HttpStatusCode - enumeration for different HTTP error codes

    • PageHelper - helper class with various Page extension methods

    • WebControlHelper - helper class with various WebControl extension methods

Rodyk draugams