Iga lahendus tekitab uusi probleeme ehk alati võib leida veel ühe bugi.

Eesti blogid

Lingid, mida külastan

Rahvusvahelised blogid

Muud

Hetkel lugemisel:

Külastajate kaardid:

Lehe külastajate asukohad

Lugejad:

Hetkel lehel:

hit counters

Toetaja:

veebruar 2008 - Posts

.Net -i Mind Mappingu vahend nimega Cayra
cayra_logo

Ma olen pikemat aega otsinud sobivat tasuta mind mappingu (eesti keeles mõtete kaardistus, aga jätkan inglise keelse termini kasutamist, kuna see on harjumuspärasem) vahendit, mis oleks lihtne, intuitiivne ja .Net -s (et ei peaks oma arvuti muud platvormi installeerima). Otsinguid olen teinud lainetena - siis kui meelde on tulnud, kui abistav tegevus on mind mapping oma mõtete välja joonistamisel ja kirja panemisel. Teisipäeval jõudis kätte jälle hetk, kus vajasin oma mõtteid selgendada ning kirja panna niisuguselt, et hea ülevaade/pilt tekkiks hetke olukorrast projektidega. Millegipärast lihtsalt ühe suure struktureeritud jorana kirjapanek ei aita nii palju.

Igatahes, sattusin Brad Abramsi blogi postituse otsa, kus ta mainis lahedat mind mappimis vahendit, mis on ehitatud WPF -i peale ja otsustasin seda proovida. Olen seda järjepidevalt kasutanud nüüd juba neljandat päeva (ok, see pole just eriti pikk aeg, aga olen vaimustuses) ja mitte ei saa oma ajust välja - mind mappin kõikke, mis aitab oma mõtted kirja panna ning selgust luua ... mind mappida saab enamus asju.

All on pilt Cayra Hello world näidis mind mappist.

cayra_hello_mindmap

Rääkides minu varajasemast kogemusest mind mappimis vahenditega, siis olen proovinud FreeMind -i, mis on java peale ehitatud vahend, aga ei tundnud, et see oleks piisavalt intuitiivne, kodune, mugav kasutada ning peale paari mind mapi loomist ununes vahend ära.

Lisaks proovisin ka Bookvar -i, mis on ka WPF -i peale ehitatud tasuta tööriist (viide oli Brad Abramis postituse kommentaarides). Kuigi liides oli tunduvalt muljetavaldavam, kui cayra oma, siis rakenduse kasutamise mõttes oli tee kohe algusest peale konarlik. Probleemid, mis esinesid on loetletud alla ja neid oli veel:

  • Rakenduse käima pannes ja "Create new mindmap" valides saan veaolukorra. Seda ei tule, kui jooksutan Admin alt antud rakendust, aga seda ma teha ei kavatse.
  • Tagasiside andmise aken pärast mõnda avamist, enam ei avanenud.
  • Ilus ribboni menüü hakka nupper topelt näitama mõne aja mõõdudes.
  • Options manager lahti ei tulnud.

Kui rääkida tasulistest vahenditest, siis on tuntuim ja enim kasutatud Mindjeti MindManager, mis integreerub väga hästi Offce -i vahenditega (siit leiate quicktour -i).

Rohkem infot mind mappingu kohta leiate järgmistel veebiaadressidelt:

Soovite teada, kuidas Patterns & Practices meeskond töötab Microsoftis?

Patterns & Practices on meeskond Microsoftis, mis tegeleb erinevate juhendite, mustrite, näidislahenduste, abivahendite jm. väljatöötamisega Microsofti klientidele, partneritele ja teistele, kes kasutavad Microsofti vahendeid või platvormi. Patterns & Practices meeskond kasutab oma töös agiilset lähenemist ning nüüd on ka nende töökeskkond Microsoftis ümber kujundatud sobivaks kasutama agiilseid meetodeid ja praktikaid.

Channel 9 -s on üleval 15 minuti pikkune video, kus Peter Provost ja Ed (Arhitekt P&P -s, kahjuks perekonnanimi oli keeruline kuulates).

The Microsoft Patterns and Practices team recently renovated their development lab in order to better support their Agile development methodologies. Movable walls you can write on and “escape pods” are just a couple of the featured additions.

Minu soovitus kõigile, kes on huvitatud agiilsest arendusest ja sellest missugune töökeskkond võiks olla selle jaoks tööjuures, kulutada see 15 minutit ning vaadata antud videot. Minu jaoks oli see väga huvitav vaatamine :) Kui Redmondi saan viskan ka ise pilgu peale ;)

Kust leida lisainfot nende tegemiste kohta:

TFS 2008 seminar järgmine nädal

Update: Kalendrite lingid said parandatud (26.02.2008 15:28)

Veebruari alguses sai mainitud, et mõttes on organiseerida Team Foundation Server 2008 teemaline seminar ja täna on mul hea meel teatada, et see on teoks saamas. 6 -ndal märtsil (ehk järgmise nädala neljapäev) toimub Microsofti kontoris seminar, mis plaanib ringi peale teha TFS2008 komponentidele ning seda võimalikult demo rikkalt. Rääkijaks olen mina.

Kutsun kõikki kuulama, kellel on huvi TFS2008 vastu ning soovib paremat ülevaadet omada antud tootest.

Alt leiate koopia ametlikust kutsest ja linkidest, mis aitavad ürituse kalendrisse paigutada ning registreerida (ja muidugi ei soovi, et ilma jääksite koomilisest pildist minu peaga).

_______________________________________________________________________________

clip_image002

clip_image004Kutsume Sind arendusseminarile, kus teeme ringi peale Visual Studio tooteperekonna südames tuksuvale Visual Studio Team System 2008 Team Foundation Serverile (TFS).
Microsofti arenduskonsultant Taavi Kõosaar teeb demoderikka ülevaate TFS 2008 komponentidest läbi erinevate arendusmeeskonna liikmete vaatenurkade. Keskmise tehnilise tasemega seminarile (level 200) on teretulnud arendajad, arhitektid, projektijuhid, testijad ja teised arendusprojektis osalejad, kes soovivad head ülevaadet TFS võimalustest.
TFS on koostööplatvorm, mis koondab meeskonnaportaali, versioonikontrolli, tööüksuste jälgimise, pideva integratsiooni, protsessijuhtimise ja äriteabe funktsioonid ühtsesse serverisse. TFS paneb nii .NET kui ka Java tiimid efektiivsemalt tööle ja suudab oluliselt kärpida arendusmeeskonna kulutusi.

Üritus toimub 6. märtsil kell 16:00 – 17:45 Microsoft Estonia kontoris Rävala pst. 5 (Rävala Ärikeskuse uksest sisse, 2. korrus). Palun teata oma osavõtusoovist e-mailiga eesti@microsoft.com hiljemalt 3. märtsiks.

REGISTREERI!

Kohtumiseni ja ilusat nädala algust,

Microsofti Eesti esindus

_______________________________________________________________________________

Lisage seminar oma kalendrisse:

Värske SQL Server 2008 ehk Katmai CTP 6

Eelmisest nädalast alates on kättesaadav on SQL Server 2008 CTP6 ehk veebruari CTP.

Leiate selle all olevalt aadressilt:

Lisainfot:

Silevrlight 2 uudised

Scott Guthrie postitas eelmise nädala lõpu poole Silverlight 2 kohta kerge ülevaate ja näidirakenduse info koos kaheksa tutorialiga. Näidisrakendus on täitsa huvitav Digg.com saidi otsingu lahendus, milles kasutatakse Silverlight 2.0 -i uusi omadusi ja kontrolle ning LINQ to XML. Eriti meeldis üks tutorial, kus Silverlight 2.0 -i rakendusest tehakse WPF -i desktop rakendus sisuliselt koodi muutmata.

Visake pilk peale!

Lisaks Scott Guthriele on lubaduse andnud postitada, tutoriale kirjutada ja webcaste luua Silverlight 2.0 teemal Jesse Liberty :)

Soovitan nende kahe inimese blogi aadressid Silverlighti teemal endale kirja panna.

Silverligt 2.0 Beta 1 peaks tulema varsti!

Partial ehk osalised meetodid C# 3.0 -s

Kuigi C# 3.0 on väljas juba mõnda aega ja antud teemat on kajastatud ka erinevates blogides, avastasin mina enda jaoks partial ehk osalised meetodid alles mõned päevad tagasi.

C# 2.0 tõi endaga kaasa partial klassid, mis tähendas et ühe klassi kirjeldus võis paikneda mitmes erinevas failis. Kasulik näiteks koodigeneraatorite juures. Genereeritud koodi ei soovi keegi muuta (see võidakse ju uuesti genereerida) aga laiendada ikka tahaks oma meetodeid lisades.

C# 3.0 tõi nüüd juures partial meetodid. EHk partial klassis, mis on genereeritud on võimalik omada järgmist meetodi deklaratsiooni:

partial void Meetod(int sisend);

Ja teises failis, kus täiendatakse olemasolevat klassi, on võimalik implementeerida antud meetod.

/// <summary>
/// Genereeritud
/// </summary>
public partial class User
{
    public string Name { get; set; }

    partial void Meetod(int sisend);
}

/// <summary>
/// T?iendav klass eraldi failid esimesest
/// </summary>
public partial class User
{
    
    partial void Meetod(int sisend)
    {
        //Implemntatsioon
    }
}

Jah see on imelik lähenemine. Mulle tekitab see siiamaani veidikene kõhedust, aga lohutada võin sellega, et antud läheneminel on väga kindlad ja ranged reeglid:

  • Sul saab olla ainult üks partial meetodi implementatsioon
  • Meetod peab olema privaat (private). Kui täpsem olla siis meetodil ei tohi olla ees modifierit.
  • Meetod peab olema void tüüpi ehk ei tagasta väärtust.
  • Meetodil ei saa olla out parameetrit
  • Meetodit saab deklareerida ainult partial klassi või partial structi sees.

Niisuguste reeglite üheks põhjuseks on kompilaatori huvitav käitumine (optimeerimine) antud deklaratsiooniga. Nimelt, MSIL -s on meetodi välja kutsumine ja deklaratsioon koos implementatsiooniga ainult siis, kui implementatsioon eksisteeib. Muul juhul MSIL -i koodi ei genereerita.

Antud lähenemist võib võtta kui kergeid sündmusi (lightweight events - koodinäide all). Ja tegu on jõudluse mõttes parema lahendusega kui sündmusega, kuna tegu on siiski meetodiga. Sündmuste puhul on taga kaadervärk, saab olla palju kuulajaid jne.

partial meetodeid kasutatakse näiteks LINQ to SQL -i genereeritud failides. Vaataks näitena ühte LINQ to SQL -i disaineri poolt genereeritud klassi propetit ProductName:

[Column(Storage="_ProductName", DbType="NVarChar(40) NOT NULL", CanBeNull=false)]
public string ProductName
{
    get
    {
        return this._ProductName;
    }
    set
    {
        if ((this._ProductName != value))
        {
            this.OnProductNameChanging(value);
            this.SendPropertyChanging();
            this._ProductName = value;
            this.SendPropertyChanged("ProductName");
            this.OnProductNameChanged();
        }
    }
}

Antud propety set -imisel kutsutakse välja meetod OnProductNameChanging(value) ja lõppedes OnProductNameChanged() meetod. Need pole midagi muud kui partial meetodid, mida on soovi korral võimalik implementeerida.

partial void OnProductNameChanging(string value);
partial void OnProductNameChanged();

Näiteks võib OnProductNameChanging(value) implementatsioonis valideerida sisendi korrektsust. Niisugust loogikat ei saaks paigutada genereeritud faili, kuna järgmisel genereerimsiel kirjutataks see üle. Aga erladi partial klassi, mis on teises failis - sinna saaks.

Posted: veebr 20 2008, 02:40 EL by melborp | with no comments
Filed under: , , ,
Lahe vahend aitamaks hajus töötamist - SharedView

Vinge, Beta -s on niisugune vahend nagu SharedView, mis oma olemuselt sarnane väga palju Microsofti Live Meetingute keskkonnaga. Kahjuks küll see on Microsofti sisemine teenus, ehk välised kasutajaid sessioone sinna luua ei saa.

SharedView on vahend, mis võimaldab Windows Live ID omanikel jagada oma arvutis jooksvat rakendust teiste SharedView ja Windows Live ID omanikega. Näiteks saab nii hajustööd teha ja koos dokumentatsiooni kirjutada või presentatsiooni luua või koolitööd teha, ilma et reaalselt koos peaks olema.

SharedViewMainMenu

Vasakul näete SharedView peamenüüd, kust saab alustada uut jagatud vaate sessiooni või siis ühineda mõne olemasolevaga.

SharedView lubab sessiooni luua kuni 15 inimesega. Ühinemiseks on vajalik teada n-ö toa nime (selleks on Windows Live ID) ja parooli. Organiseerija saab anda ka  kontrolli üle mõnele sessioonis osalejale.

Igatahes väga võimekas vahend.

Mõeldud on see kasutamaks koostöös Office Live Worspace -dega ja luua online keskkonnas dokumente koos ühes vaates, aga miski ei takista kasutamast laiemalt :)

  • Antud vahendi saate endale tõmmata siit ja tegu on Beta -ga hetkel.

All järgnevad mõned pildid minu esimesest jagatud sessioonist antud vahendiga:

SharedViewSessionCreated Sessioon loodud. Menüü avades näeb lisainfot sessiooni kohta.

 

 

 

 SharedViewShareApp

Otsin rakendus, mida jagada. Onenote on sobiv.

 

 

SharedViewInviteParticipant

Otsin õige inimese, kellega soovin Onenotes arutada tõsiseid teemasid.

 

 

 

 

 

 

 

 

SharedViewOneNoteShared

Rakendus on jagatud ja inimene on kuulamas. Aeg hakata kirjutama. Pange tähele ka lillat hiire kursorit (see on teise osaleja oma).

 

 

 

 

 

 

SharedViewTulemus

Siin on meie tõsise arutelu tulemus, kuhu ka osaleja oma sisendid kirjutas.

 

 

 

Cobra keel tõusu teel?

Pead on tõstmas uus Cobra programmeerimiskeel, mis töötab ilusti .Net -i kui Mono platvormil. Keel on huvitav selle poolest, et proovib paljude erinevate eellaste (C#, python, ruby, Spec#, Objective-C, ...) häid külgi sisaldada (nagu ka teised varajasemad keeledki on proovinud teha). NullReferenceExceptionite träkkimine, staatilised ja dünaamilised tüübid, design by contract ... Näiteks saab meetodil olla osa test, kus ühik testitakse; osa ensure ja require, kus esitatakse nõudeid või tagatakse teatud parameetrite õigsust (Design By Contract tugi). Keele süntaks on väga pythonlik.
Esimene asi, mis mulle aga ei meeldi (ja ei meeldi ka pyhtoni puhul) on see, et  puuduvad "{" ja "}" ehk koodi struktuuri loomine (tab -d???) ja loetavus ei ole minu meelest nii hea. Mulle meeldib, et C# -s on ikkagi meetodi või mingi tingimuse skoop määratud "{" ja "}" abil. See teeb asja väga konkreetseks ja eristatavaks. Samas see võib ka kinni olla puhtalt minu harjumustes.

Autori Chuck Esterbrook, kirjeldus:

One way to characterize Cobra is with these high level points:

  1. Quick, expressive coding
  2. Fast execution
  3. Static and dynamic binding
  4. Language level support for quality

Cobra achieves 1 by following Python and Ruby (but not religiously). It achieves 2 by favoring static typing ("i = 5" means "i" is an integer and always will be) and leveraging .NET|Mono for machine code generation. It does 3 by using the .NET typing system at compile-time for static types, and using the .NET reflection system at run-time for dynamic binding. It gets 4 from multiple sources including Eiffel, Python and its own compile-time nil tracking.

Lugemist:

Igatahes ootan huviga edasisi arenguid - on ju antud keel oma arengu alguses ning idee on hea. 

Posted: veebr 12 2008, 10:15 EL by melborp | with no comments
Filed under: ,
More Posts Next page »